La mayoría de nosotros
experimentamos Internet a través de World Wide Web, servicios de e-mail y
programas para compartir archivos. Éstas y muchas otras aplicaciones
proporcionan la interfaz humana a la red subyacente, lo que nos permite enviar
y recibir información con relativa facilidad. Generalmente, las aplicaciones
que utilizamos son intuitivas; es decir, podemos acceder a ellas y usarlas sin
saber cómo funcionan.
Se hace más sencilla si
utilizamos el marco en capas del modelo Interconexión de sistema abierto (OSI).
Enfatizaremos el rol de una capa, la capa de Aplicación, y sus componentes:
aplicaciones, servicios y protocolos. Exploraremos cómo esos tres elementos
hacen posible la comunicación sólida a través de la red de información.
En este capítulo aprenderá a:
-
Describir cómo las funciones de las tres capas
superiores del modelo OSI proporcionan servicios de red a las aplicaciones de
usuario final.
-
Describir cómo los protocolos de la capa de
aplicación TCP/IP proporcionan los servicios especificados por las capas
superiores del modelo OSI.
-
Definir cómo la gente utiliza la capa de
aplicación para comunicarse a través de la red de información.
-
Describir la función de las conocidas
aplicaciones TCP/IP, como la World Wide Web y el correo electrónico, y sus
servicios relacionados (HTTP, DNS, SMB, DHCP, SMTP/POP y Telnet).
-
Describir los procesos para compartir archivos
que utilizan las aplicaciones entre pares y el protocolo Gnutella.
-
Explicar cómo los protocolos garantizan que los
servicios que se ejecutan en una clase de dispositivo puedan enviar y recibir
datos desde y hacia muchos dispositivos de red diferentes.
-
Utilizar herramientas de análisis de red para
examinar y explicar cómo funcionan las aplicaciones comunes de usuarios.
3.1.1 Modelo OSI y modelo TCP/IP
El modelo de referencia de
interconexión de sistemas abiertos es una representación abstracta en capas,
creada como guía para el diseño del protocolo de red. El modelo OSI divide el
proceso de networking en diferentes capas lógicas, cada una de las cuales tiene
una única funcionalidad y a la cual se le asignan protocolos y servicios
específicos.
En este modelo, la información se
pasa de una capa a otra, comenzando en la capa de Aplicación en el host de
transmisión, siguiendo por la jerarquía hacia la capa Física, pasando por el
canal de comunicaciones al host de destino, donde la información vuelve a la
jerarquía y termina en la capa de Aplicación.
La capa de Aplicación, es la capa
superior de los modelos OSI y TCP/IP. Es la capa que proporciona la interfaz
entre las aplicaciones que utilizamos para comunicarnos y la red subyacente en
la cual se transmiten los mensajes. Los protocolos de capa de aplicación se
utilizan para intercambiar los datos entre los programas que se ejecutan en los
hosts de origen y destino. Existen muchos protocolos de capa de aplicación y
siempre se desarrollan protocolos nuevos.
Aunque el grupo de protocolos
TCP/IP se desarrolló antes de la definición del modelo OSI, la funcionalidad de
los protocolos de capa de aplicación de TCP/IP se adaptan aproximadamente a la
estructura de las tres capas superiores del modelo OSI: Capas de Aplicación,
Presentación y Sesión.
Capa de Presentación
La capa de Presentación tiene
tres funciones primarias:
·
Codificación y conversión de datos de la capa de
aplicación para garantizar que los datos del dispositivo de origen puedan ser
interpretados por la aplicación adecuada en el dispositivo de destino.
·
Compresión de los datos de forma que puedan ser
descomprimidos por el dispositivo de destino.
·
Encriptación de los datos para transmisión y
descifre de los datos cuando se reciben en el destino.
Vinculan con una stack de
protocolos determinada. Los estándares para vídeos y gráficos son algunos
ejemplos. Dentro de los estándares más conocidos para vídeo encontramos
QuickTime y el Grupo de expertos en películas (MPEG). QuickTime es una
especificación de Apple Computer para audio y vídeo, y MPEG es un estándar para
la codificación y compresión de vídeos.
Dentro de los formatos de imagen
gráfica más conocidos encontramos Formato de intercambio gráfico (GIF), Grupo
de expertos en fotografía (JPEG) y Formato de archivo de imagen etiquetada
(TIFF). GIF y JPEG son estándares de compresión y codificación para imágenes
gráficas, y TIFF es una formato de codificación estándar para imágenes
gráficas.
Capa de Sesión
Como lo indica el nombre de la
capa de Sesión, las funciones en esta capa crean y mantienen diálogos entre las
aplicaciones de origen y destino. La capa de sesión maneja el intercambio de
información para iniciar los diálogos y mantenerlos activos, y para reiniciar
sesiones que se interrumpieron o desactivaron durante un periodo de tiempo
prolongado.
Algunos de los protocolos TCP/IP son:
·
El protocolo Servicio de nombres de dominio
(DNS, Domain Name Service) se utiliza para resolver nombres de Internet en
direcciones IP.
·
El protocolo de transferencia de hipertexto
(HTTP, Hypertext Transfer Protocol) se utiliza para transferir archivos que
forman las páginas Web de la World Wide Web.
·
El Protocolo simple de transferencia de correo
(SMTP) se utiliza para la transferencia de mensajes de correo y adjuntos.
·
Telnet, un protocolo de emulación de terminal,
se utiliza para proporcionar acceso remoto a servidores y a dispositivos de
red.
·
El Protocolo de transferencia de archivos (FTP,
File Transfer Protocol) se utiliza para la transferencia interactiva de
archivos entre sistemas.
·
Los protocolos de la suite TCP/IP generalmente
son definidos por Solicitudes de comentarios (RFCS). El Grupo de trabajo de
ingeniería de Internet mantiene las RFCS como los estándares para el conjunto
TCP/IP.
3.1.2 Software de la capa de aplicación
Las funciones asociadas con los
protocolos de capa de Aplicación permiten a la red humana comunicarse con la
red de datos subyacente.
Dentro de la
capa de Aplicación, existen dos formas de procesos o programas de software que
proporcionan acceso a la red: aplicaciones y servicios.
Aplicaciones reconocidas por la red
Aplicaciones son los programas de
software que utiliza la gente para comunicarse a través de la red. Algunas
aplicaciones de usuario final son compatibles con la red, lo cual significa que
implementan los protocolos de la capa de aplicación y pueden comunicarse
directamente con las capas inferiores del stack de protocolos. Los clientes de
correo electrónico y los exploradores Web son ejemplos de este tipo de
aplicaciones.
Servicios de la capa de Aplicación
Otros programas pueden necesitar
la ayuda de los servicios de la capa de Aplicación para utilizar los recursos
de la red, como transferencia de archivos o cola de impresión en red. Aunque
son transparentes para el usuario, estos servicios son los programas que se
comunican con la red y preparan los datos para la transferencia.
3.1.3 Aplicaciones del usuario, servicios y protocolos de la capa de
aplicación
La capa de Aplicación utiliza los
protocolos implementados dentro de las aplicaciones y servicios, los protocolos
proporcionan las reglas y los formatos que regulan el tratamiento de los datos.
Un único programa ejecutable debe utilizar los tres componentes e inclusive el
mismo nombre. Por ejemplo: cuando analizamos "Telnet" nos podemos
referir a la aplicación, el servicio o el protocolo.
3.1.4 Funciones del protocolo de capa de aplicación
Los protocolos de la capa de
aplicación son utilizados tanto por los dispositivos de origen como de destino
durante una sesión de comunicación. Para que las comunicaciones sean exitosas,
deben coincidir los protocolos de capa de aplicación implementados en el host
de origen y destino.
Los protocolos establecen reglas
consistentes para intercambiar datos entre las aplicaciones y los servicios
cargados en los dispositivos participantes.
Muchos y diversos tipos de
aplicaciones se comunican a través de las redes de datos. Por lo tanto, los
servicios de la capa de Aplicación deben implementar protocolos múltiples para proporcionar
la variedad deseada de experiencias de comunicación. Cada protocolo tiene un
fin específico y contiene las características requeridas para cumplir con dicho
propósito.
3.2.1 El modelo cliente servidor
Cuando la gente intenta acceder a
información en sus dispositivos, ya sean éstos una computadora personal o
portátil, un PDA, teléfono celular o cualquier otro dispositivo conectado a la
red, los datos pueden no estar físicamente almacenados en sus dispositivos. Si
así fuere, se debe solicitar al dispositivo que contiene los datos, permiso
para acceder a esa información.
Modelo cliente-servidor
En el modelo cliente-servidor, el
dispositivo que solicita información se denomina cliente y el dispositivo que
responde a la solicitud se denomina servidor. Los procesos de cliente y
servidor se consideran una parte de la capa de Aplicación. El cliente comienza
el intercambio solicitando los datos al servidor, que responde enviando uno o
más streams de datos al cliente. Los protocolos de capa de Aplicación describen
el formato de las solicitudes y respuestas entre clientes y servidores.
Un ejemplo de una red
cliente/servidor es un entorno corporativo donde los empleados utilizan un
servidor de e-mail de la empresa para enviar, recibir y almacenar e-mails.
3.2.2 Servidor
En un contexto general de redes,
cualquier dispositivo que responde a una solicitud de aplicaciones de cliente
funciona como un servidor. Un servidor generalmente es una computadora que
contiene información para ser compartida con muchos sistemas de cliente. Por
ejemplo, páginas Web, documentos, bases de datos, imágenes, archivos de audio y
vídeo pueden almacenarse en un servidor y enviarse a los clientes que lo solicitan.
En otros casos, como una impresora de red, el servidor de impresión envía las
solicitudes de impresión del cliente a la impresora específica.
En una red cliente-servidor, el
servidor ejecuta un servicio o proceso, a veces denominado daemon de servidor.
Los daemons se describen como servidores que "escuchan" una solicitud
del cliente, porque están programados para responder cada vez que el servidor
recibe una solicitud para el servicio proporcionado por el daemon.
3.2.3 Protocolos y servicios de la capa de aplicación
Una única aplicación puede
emplear diferentes servicios de la capa de Aplicación, así lo que aparece para
el usuario como una solicitud para una página Web puede, de hecho, ascender a
docenas de solicitudes individuales. Y, para cada solicitud, pueden ejecutarse
múltiples procesos.
Por ejemplo, un cliente puede
necesitar de diversos procesos individuales para formular sólo una solicitud al
servidor. Además, los servidores generalmente tienen múltiples clientes que
solicitan información al mismo tiempo.
3.2.4 Redes y aplicación entre pares (P2P,Peer-to-Peer)
Modelo Punto a Punto
Además del modelo
cliente/servidor para redes, existe también un modelo punto a punto. Las redes
punto a punto tienen dos formas distintivas: diseño de redes punto a punto y
aplicaciones punto a punto (P2P). Ambas formas tienen características similares
pero en la práctica funcionan en forma muy distinta.
Redes entre pares
En una red entre pares, dos o más
computadoras están conectadas a través de una red y pueden compartir recursos
(por ejemplo, impresora y archivos) sin tener un servidor dedicado. Cada
dispositivo final conectado (conocido como punto) puede funcionar como un servidor
o como un cliente.
A diferencia del modelo
cliente/servidor, que utiliza servidores dedicados, las redes punto a punto
descentralizan los recursos en una red. En lugar de ubicar información para
compartir en los servidores dedicados, la información puede colocarse en
cualquier parte de un dispositivo conectado.
Aplicaciones punto a punto
Una aplicación punto a punto
(P2P), a diferencia de una red punto a punto, permite a un dispositivo actuar
como cliente o como servidor dentro de la misma comunicación. Sin embargo, las
aplicaciones punto a punto requieren que cada dispositivo final proporcione una
interfaz de usuario y ejecute un servicio en segundo plano. Cuando inicia una
aplicación punto a punto específico, ésta invoca la interfaz de usuario requerida
y los servicios en segundo plano. Luego, los dispositivos pueden comunicarse
directamente.
Algunas aplicaciones P2P utilizan
un sistema híbrido donde se descentraliza el acceso a los recursos pero los
índices que apuntan a las ubicaciones de los recursos están almacenados en un
directorio centralizado.
3.3.1 Protocolo y servicio DNS
Los números de puerto identifican las
aplicaciones y los servicios de la capa de Aplicación que son los datos de
origen y destino. Los programas del servidor generalmente utilizan números de
puerto predefinidos comúnmente conocidos por los clientes. Mientras examinamos
los diferentes servicios y protocolos de la capa de Aplicación de TCP/IP, nos
referiremos a los números de puerto TCP y UDP normalmente asociados con estos
servicios. Algunos de estos servicios son:
-
Sistema de nombres de dominio (DNS): puerto
TCP/UDP 53.
-
Protocolo de transferencia de hipertexto (HTTP,
Hypertext Transfer Protocol): puerto TCP 80.
-
Protocolo simple de transferencia de correo
(SMTP, Simple Mail Transfer Protocol): puerto TCP 25.
-
Protocolo de oficina de correos (POP): puerto
UDP 110.
-
Telnet: puerto TCP 23.
-
Protocolo de configuración dinámica de host:
puerto UDP 67.
-
Protocolo de transferencia de archivos (FTP,
File Transfer Protocol): puertos TCP 20 y 21.
DNS
En redes de datos, los
dispositivos son rotulados con direcciones IP numéricas para que puedan
participar en el envío y recepción de mensajes a través de la red.
En Internet, esos nombres de
dominio, como www.cisco.com, son mucho más sencillos de recordar que
198.133.219.25, que es la dirección numérica real para este servidor. Además,
si Cisco decide cambiar la dirección numérica, para el usuario es transparente
ya que el nombre de dominio seguirá siendo www.cisco.com. La nueva dirección
simplemente estará enlazada con el nombre de dominio existente y la
conectividad se mantendrá.
El Sistema de nombres de dominio
(DNS) se creó para que el nombre del dominio busque soluciones para estas
redes. DNS utiliza un conjunto distribuido de servidores para resolver los
nombres asociados con estas direcciones numéricas.
El protocolo DNS define un
servicio automatizado que coincide con nombres de recursos que tienen la
dirección de red numérica solicitada. Incluye las consultas sobre formato, las
respuestas y los formatos de datos. Las comunicaciones del protocolo DNS
utilizan un formato simple llamado mensaje.
DNS es un servicio
cliente/servidor; sin embargo, difiere de los otros servicios cliente/servidor.
Mientras otros servicios utilizan un cliente que es una aplicación (como un
explorador Web o un cliente de correo electrnico), el cliente DNS ejecuta un
servicio por sí mismo. El cliente DNS, a veces denominado resolución DNS.
Al configurar un dispositivo de
red, generalmente proporcionamos una o más direcciones del servidor DNS que el
cliente DNS puede utilizar para la resolución de nombres. En general, el
proveedor de servicios de Internet provee las direcciones para utilizar con los
servidores DNS.
Los sistemas operativos
informáticos también tienen una utilidad denominada nslookup que permite al
usuario consultar manualmente los servidores de nombre para resolver un
determinado nombre de host.
Cuando se ejecuta nslookup, se
muestra el servidor DNS por defecto configurado para su host. En este ejemplo,
el servidor DNS es dns-sjk.cisco.com que tiene una dirección de 171.68.226.120.
Luego podemos escribir el nombre
de un host o dominio para el cual deseamos obtener la dirección. En la primera
consulta de la figura, se hace una consulta para www.cisco.com. El servidor de
nombre que responde proporciona la dirección 198.133.219.25.
Un servidor DNS proporciona la
resolución de nombres utilizando el daemon de nombre que generalmente se llama
named (se pronuncia name-dee).
El servidor DNS almacena
diferentes tipos de registros de recursos utilizados para resolver nombres.
Estos registros contienen el nombre, la dirección y el tipo de registro.
Algunos de estos tipos de registro son:
·
A: una dirección de un dispositivo final.
·
NS: un servidor de nombre autoritativo.
·
CNAME: el nombre ideal (o Nombre de dominio
completamente calificado) para un alias, que se utiliza cuando varios servicios
tienen una única dirección de red pero cada servicio tiene su propia entrada en
DNS.
·
MX: registro de intercambio de correos, asigna
un nombre de dominio a una lista de servidores de intercambio de correos para
ese dominio.
Cuando un cliente realiza una
consulta, el proceso "nombrado" del servidor primero observa en sus
propios registros para ver si puede resolver el nombre. Si no puede resolver el
nombre utilizando los registros almacenados, contacta a otros servidores para
hacerlo.
La solicitud puede pasar por un
número de servidores, lo cual lleva tiempo adicional y consume ancho de banda.
Una vez que se encuentra una coincidencia y se devuelve al servidor solicitante
original, el servidor almacena temporalmente en la caché la dirección numerada
que coincide con el nombre.
Si vuelve a solicitarse ese mismo
nombre, el primer servidor puede regresar la dirección utilizando el valor
almacenado en el caché de nombres. El almacenamiento en caché reduce el tráfico
de la red de datos de consultas DNS y las cargas de trabajo de los servidores
más altos de la jerarquía. El servicio del cliente DNS en las PC de Windows
optimiza el rendimiento de la resolución de nombres DNS almacenando previamente
los nombres resueltos en la memoria. El comando ipconfig /displaydns muestra
todas las entradas DNS en caché en un sistema informático con Windows XP o
2000.
El sistema de nombres de dominio
utiliza un sistema jerárquico para crear una base de datos para proporcionar
una resolución de nombres.
Los diferentes dominios de primer
nivel representan el tipo de organización o el país de origen. Algunos ejemplos
de dominios de primer nivel son:
.au: Australia
.co: Colombia
.com: una empresa o industria
.jp: Japón
.org: una organización sin fines de lucro
Después de los dominios de primer
nivel se encuentran los dominios de segundo nivel y, debajo de estos, hay otros
dominios de nivel inferior.
-
-Cada nombre de dominio es una ruta a través de
este árbol invertido que comienza desde la raíz.
-
Después de los dominios de primer nivel se
encuentran los dominios de segundo nivel y, debajo de estos, hay otros dominios
de nivel inferior.
-
Cada nombre de dominio es una ruta a través de
este árbol invertido que comienza desde la raíz.
El sistema de nombres de dominio
depende de esta jerarquía de servidores descentralizados y mantiene estos
registros de recursos. Los registros de recursos enumeran nombres de dominios
que el servidor puede resolver y servidores alternativos que también pueden
procesar solicitudes.
Por ejemplo: un servidor de
nombres en el dominio cisco.netacad.net no sería autoritativo para el registro
mail.cisco.com porque ese registro se mantiene en un servidor de nivel de
dominio superior, específicamente el servidor de nombres en el dominio
cisco.com .
3.3.2 Servicio WWW y HTTP
Cuando se escribe una dirección
Web (o URL) en un explorador de Internet, el explorador establece una conexión
con el servicio Web del servidor que utiliza el proocolo HTTP. URL (o
Localizador uniforme de recursos) y URI (Identificador uniforme de recursos)
son los nombres que la mayoría de las personas asocian con las direcciones Web.
El URL
http://www.cisco.com/index.html es un ejemplo de un URL que se refiere a un
recurso específico: una página Web denominada index.html en un servidor
identificado como cisco.com (haga clic en las fichas de la figura para ver los
pasos utilizados por HTTP).
Como texto sin formato o Lenguaje
de marcado de hipertexto (HTML, el lenguaje que se utiliza para construir una
página Web). Otros tipos de datos, sin embargo, requieren de otro servicio o
programa. Generalmente se los conoce como plug-ins o complementos. Para ayudar
al explorador a determinar qué tipo de archivo está recibiendo, el servidor
especifica qué clase de datos contiene el archivo.
Primero, el explorador interpreta las tres partes de la URL:
1. http (el protocolo o esquema).
2. www.cisco.com (el nombre del servidor), y
3. web-server.htm (el nombre específico del archivo solicitado).
El explorador luego verifica con
un servidor de nombres para convertir a www.cisco.com en una dirección numérica
que utilizará para conectarse con el servidor. Al utilizar los requerimientos
del protocolo HTTP, el explorador envía una solicitud GET al servidor y pide el
archivo web-server.htm. El servidor, a su vez, envía al explorador el código
HTML de esta página Web. Finalmente, el explorador descifra el código HTML y da
formato a la página para la ventana del explorador.
El protocolo de transferencia de
hipertexto (HTTP), uno de los protocolos del grupo TCP/IP, se desarrolló en sus
comienzos para publicar y recuperar las páginas HTML, y en la actualidad se
utiliza para sistemas de información distribuidos y de colaboración. HTTP se
utiliza a través de la World Wide Web para transferencia de datos y es uno de
los protocolos de aplicación más utilizados.
HTTP especifica un protocolo de
solicitud/respuesta. Para responder los tres tipos de mensajes más comunes son
GET, POST y PUT.
GET es una solicitud de datos del
cliente. Un explorador Web envía el mensaje GET para solicitar las páginas
desde un servidor Web, una vez que el servidor recibe la solicitud GET ,
responde con una línea de estado, como HTTP/1.1 200 OK, y un mensaje solo, cuyo
cuerpo puede ser el archivo solicitado, un mensaje de error o alguna otra
información.
POST y PUT se utilizan para
enviar mensajes que cargan los datos al servidor Web. Por ejemplo, cuando el
usuario ingresa datos en un formulario incorporado en una página Web, POST
incluye los datos en el mensaje enviado al servidor.
PUT carga los recursos o el
contenido al servidor Web.
Aunque es muy flexible, HTTP no
es un protocolo seguro. Los mensajes POST cargan información al servidor en un
texto sin formato que puede ser interceptado y leído.
Para una comunicación segura a
través de Internet, se utiliza el protocolo HTTP seguro (HTTPS) para acceder o
subir información al servidor Web.
No hay comentarios:
Publicar un comentario