220 likes | 397 Views
Capa de aplicación y transporte de TCP/IP Semestre 1 Capítulo 11. Jorge Vásquez frederichen@yahoo.com. Contenidos. TCP/IP Capa de Transporte. Capa de Aplicación. Preguntas. ¿Conoce las funciones de la capa de transporte TCP/IP?.
E N D
Capa de aplicación y transporte de TCP/IP Semestre 1 Capítulo 11 Jorge Vásquez frederichen@yahoo.com
Contenidos • TCP/IP Capa de Transporte. • Capa de Aplicación.
Preguntas. ¿Conoce las funciones de la capa de transporte TCP/IP? ¿Cuáles son los procesos que se usan para establecer una conexión entre sistemas pares o iguales? ¿Qué es un acuse de recibo? ¿Cuáles son los protocolos de la capa de transporte? ¿Conoce los formatos de encabezado TCP y UDP? ¿Cuáles son los principales protocolos de la capa de aplicación TCP/IP?
Introducción a la capa de transporte Las tareas principales de la capa de transporte (capa 4 del modelo OSI), son transportar y regular el flujo de información desde el origen hasta el destino, de forma confiable y precisa. El control de extremo a extremo y la confiabilidad se suministran a través de ventanas deslizantes, números de secuencia y acuses de recibo. • Los servicios de transporte incluyen los siguientes: • Segmentación de los datos de las aplicaciones de capa superior. • Establecimiento de las operaciones de extremo a extremo. • Transporte de segmentos desde un host a otro host. • Control de flujo, suministrado por las ventanas deslizantes. • Confiabilidad, suministrada por los números de secuencia y los acuses de recibo.
Control de flujo A medida que la capa de transporte envía segmentos de datos, trata de garantizar que los datos no se pierdan. Un host receptor que no puede procesar los datos tan rápidamente como llegan puede provocar una pérdida de datos. El host receptor se ve obligado a descartar los datos. El control de flujo evita el problema que se produce cuando un host que realiza la transmisión inunda los buffers del host destinatario. TCP suministra el mecanismo de control de flujo al permitir que el host emisor y el receptor se comuniquen. Luego los dos hosts establecen velocidades de transferencia de datos que sean aceptables para ambos.
Establecer, mantener y terminar una sesión Para que se inicie la transferencia de datos, tanto las aplicaciones emisoras como receptoras informan a sus respectivos sistemas operativos que se iniciará una conexión. Un nodo inicia la conexión, que debe ser aceptada por el otro. Los módulos de software de protocolo en los dos sistemas operativos se comunican entre sí enviando mensajes a través de la red a fin de verificar que la transferencia esté autorizada y que ambos lados estén preparados. Después de que se haya establecido toda la sincronización, se establece la conexión y comienza la transferencia de datos. Durante la transferencia, los dos dispositivos siguen comunicándose con su software de protocolo para verificar que estén recibiendo los datos correctamente.
Intercambio de señales de tres vías TCP es un protocolo orientado a conexión. TCP requiere que se establezca una conexión antes de que comience la transferencia de datos. Para que se establezca o inicialice una conexión, los dos hosts deben sincronizar sus Números de secuencia iniciales (ISN: Initial Sequence Numbers). La secuencia de intercambio de tres vías es la siguiente: • El origen (A) inicializa una conexión mandando un paquete de SYN hacia el host destino (B) indicando su INS = X: A —>B SYN, seq de A = X La sincronización se lleva a cabo a través de un intercambio de segmentos que establecen la conexión al transportar un bit de control denominado SYN (para la sincronización), y los ISN. Los segmentos que transportan el bit SYN también se denominan "SYN". • B recibe el paquete, graba que el seq de A = X, responde con un ACK de X + 1, e indica que su INS = Y. El ACK de X + 1 significa que el host B recibió todos los octetos incluyendo X y ahora espera X + 1 siguiente:B—>A ACK, seq e A = X, SYN seq de B = Y, ACK = X + 1 La sincronización requiere que ambos lados envíen su propio número de secuencia inicial y que reciban una confirmación del intercambio en un acuse de recibo (ACK) de la otra parte. Cada una de las partes también debe recibir el INS de la otra parte y enviar un ACK de confirmación. • A recibe el paquete de B, y sabe que el seq de B = Y, y • responde con un ACK de Y + 1, el cual termina el proceso de conexión: A —>B ACK, seq de B = Y, ACK = Y + 1
Uso de ventanas La mayoría de los protocolos confiables, orientados a conexión, permiten que haya más de un paquete pendiente en la red a la vez. Como se dispone de tiempo después de que el emisor termina de transmitir el paquete de datos y antes de que el emisor termina de procesar cualquier acuse de recibo, este rango se utiliza para transmitir más datos. El número de paquetes de datos que se permite que un emisor tenga pendientes sin haber recibido un acuse de recibo se denomina "ventana". El número de acuse de recibo se refiere al siguiente paquete esperado. Por "uso de ventanas" se entiende que el tamaño de la ventana se negocia de forma dinámica durante la sesión TCP. El uso de ventanas es un mecanismo de control de flujo. El uso de ventanas requiere que el dispositivo origen reciba un acuse de recibo desde el destino después de transmitir una cantidad determinada de datos
Acuse de recibo El acuse de recibo positivo con retransmisión es una técnica que garantiza la entrega confiable de los datos. Este requiere que el receptor se comunique con el origen, enviando un mensaje de acuse de recibo una vez que recibe los datos. El emisor mantiene un registro de cada paquete de datos (segmento TCP) que envía y del que espera recibir un acuse de recibo. El emisor también inicia un temporizador cada vez que envía un segmento y retransmite el segmento si el temporizador expira antes de que llegue el acuse de recibo. A continuación se muestra un emisor que transmite los paquetes de datos 1, 2 y 3. El receptor acusa recibo de los paquetes solicitando el paquete 4. El emisor, al recibir el acuse de recibo, envía los paquetes 4, 5 y 6. Si el paquete 5 no llega a su destino el receptor acusa recibo con una petición para reenviar el paquete 5. El emisor vuelve a enviar el paquete 5 y luego recibe el acuse de recibo antes de transmitir el paquete 7.
Protocolo para el Control de la Transmisión Número de secuencia: El número que se usa para asegurar la secuencia correcta de los datos entrantes. El Protocolo para el control de la transmisión (TCP) es un protocolo de Capa 4 orientado a conexión que suministra una transmisión de datos full-duplex confiable. Checksum (suma de comprobación): Suma de comprobación calculada a partir de los campos del encabezado y de los datos. Número de acuse de recibo: Siguiente octeto TCP esperado. • Los protocolos que usan TCP son: • FTP (Protocolo de transferencia de archivos) • HTTP (Protocolo de transferencia de hipertexto) • SMTP (Protocolo simple de transferencia de correo) • Telnet Indicador de mensaje urgente: Indica el final de la transmisión de datos urgentes. HLEN: La cantidad de palabras de 32 bits del encabezado. Reservado: Establecido en cero. Las siguientes son las definiciones de los campos de un segmento TCP: Opción: Una opción definida actualmente, tamaño máximo del segmento TCP. Bits de código: Funciones de control, como configuración y terminación de una sesión. Puerto origen: El número del puerto que realiza la llamada. Datos: Datos de protocolo de capa superior. Ventana: La cantidad de octetos que el emisor está dispuesto a aceptar. Puerto destino: El número del puerto al que se realiza la llamada.
Protocolo de Datagrama de Usuario El UDP no usa ventanas ni acuses de recibo de modo que la confiabilidad, de ser necesario, se suministra a través de protocolos de la capa de aplicación. El UDP está diseñado para aplicaciones que no necesitan ensamblar secuencias de segmentos. Puerto destino: Número del puerto al que se realiza la llamada. Longitud: Número de bytes que se incluyen en el encabezado y los datos • Los protocolos que usan UDP son: • TFTP (Protocolo trivial de transferencia de archivos) • (SNMP) Protocolo simple de administración de red • DHCP (Protocolo de configuración dinámica del host) • DNS (Sistema de denominación de dominios) Checksum (suma de comprobación): Suma de comprobación calculada a partir de los campos del encabezado y de los datos. Las siguientes son las definiciones de los campos de un segmento UDP: Datos: Datos de protocolo de capa superior. Puerto origen: Número del puerto que realiza la llamada
Números de puerto TCP y UDP ANIMACION 1 Tanto TCP como UDP utilizan números de puerto (socket) para enviar información a las capas superiores. Los números de puerto se utilizan para mantener un registro de las distintas conversaciones que atraviesan la red al mismo tiempo. • Los números de puerto tienen los siguientes rangos asignados: • Los números inferiores a 1024 corresponden a números de • puerto bien conocidos. • Los números superiores a 1024 son números de puerto • asignados de forma dinámica. • Los números de puerto registrados son aquellos números que están registrados para aplicaciones específicas de proveedores. La mayoría de estos números son superiores a 1024. Los programadores del software de aplicación han aceptado usar los números de puerto conocidos que emite la Agencia de Asignación de Números de Internet (IANA: Internet Assigned Numbers Authority). Cualquier conversación dirigida a la aplicación FTP usa los números de puerto estándar 20 y 21. El puerto 20 se usa para la parte de datos y el puerto 21 se usa para control. Los sistemas finales utilizan números de puerto para seleccionar la aplicación adecuada. El host origen asigna de forma dinámica los números del puerto de origen. Estos números son siempre superiores a 1023.
Introducción a la capa de aplicación Cuando se diseñó el modelo TCP/IP, las capas de sesión y de presentación del modelo OSI se agruparon en la capa de aplicación del modelo TCP. Esto significa que los aspectos de representación, codificación y control de diálogo se administran en la capa de aplicación en lugar de hacerlo en las capas inferiores individuales, como sucede en el modelo OSI. Los protocolos TCP/IP que admiten transferencia de archivos, correo electrónico y conexión remota probablemente sean los más familiares para los usuarios de la Internet. Estos protocolos incluyen las siguientes aplicaciones:
DNS ANIMACION 2 La Internet está basada en un esquema de direccionamiento jerárquico. Este esquema permite que el enrutamiento se base en clases de direcciones en lugar de basarse en direcciones individuales. El problema que esto crea para el usuario es la asociación de la dirección correcta con el sitio de Internet. Existen más de 200 dominios de primer nivel en la Internet, por ejemplo: .us: Estados Unidos de Norteamérica .uk: Reino Unido También existen nombres genéricos, por ejemplo: .edu: sitios educacionales .com: sitios comerciales.gov: sitios gubernamentales.org: sitios sin fines de lucro.net: servicio de red Para superar el problema anterior, se desarrolló un sistema de denominación de dominio para asociar el contenido del sitio con su dirección. El Sistema de denominación de dominios (DNS: Domain Name System) es un sistema utilizado en Internet para convertir los nombres de los dominios y de sus nodos de red publicados abiertamente en direcciones IP. Un dominio es un grupo de computadores asociados, ya sea por su ubicación geográfica o por el tipo de actividad comercial que comparten. Un nombre de dominio es una cadena de caracteres, números o ambos.
FTP TFTP es un servicio no orientado a conexión que usa el Protocolo de datagramas del usuario (UDP). TFTP se usa en el router para transferir archivos de configuración e imágenes de Cisco IOS y para transferir archivos entre sistemas que admiten TFTP. FTP es un servicio confiable orientado a conexión que utiliza TCP para transferir archivos entre sistemas que admiten FTP. El propósito principal de FTP es transferir archivos desde un computador hacia otro copiando y moviendo archivos desde los servidores hacia los clientes, y desde los clientes hacia los servidores. TFTP está diseñado para ser pequeño y fácil de implementar. Por lo tanto, carece de la mayoría de las características de FTP. TFTP puede leer o escribir archivos desde o hacia un servidor remoto pero no puede listar los directorios y no tiene manera de proporcionar autenticación de usuario. Es útil en algunas LAN porque opera más rápidamente que FTP y, en un entorno estable, funciona de forma confiable. Cuando los archivos se copian de un servidor, FTP primero establece una conexión de control entre el cliente y el servidor. Luego se establece una segunda conexión, que es un enlace entre los computadores a través del cual se transfieren los datos. La transferencia de datos se puede realizar en modo ASCII o en modo binario.
HTTP Un navegador de Web generalmente se abre en una página de inicio. El URL de la página de presentación ya se ha almacenado en el área de configuración del navegador de Web y se puede modificar. Al hacer clic en uno de los hipervínculos de la página Web o escribir un URL en la barra de dirección del navegador. Este examina el protocolo para determinar si es necesario abrir otro programa y, a continuación, emplea DNS para determinar la dirección IP del servidor de Web. Un navegador de Web presenta datos en formatos multimediales en las páginas Web que usan texto, gráficos, sonido y vídeo. Las páginas Web se crean con un lenguaje de formato denominado Lenguaje de etiquetas por hipertexto (HTML: Hypertext Markup Language). Un servidor responde a la petición enviando todos los archivos de texto, audio, vídeo y de gráficos, como lo especifican las instrucciones de HTML, al cliente de Web. El navegador del cliente reensambla todos los archivos para crear una vista de la página Web y luego termina la sesión. Si se hace clic en otra página ubicada en el mismo servidor o en un servidor distinto, el proceso vuelve a empezar. Los hipervínculos hacen que la World Wide Web sea fácil de navegar. Un hipervínculo es un objeto, una frase o una imagen en una página Web. Cuando se hace clic en el hipervínculo, transfiere el navegador a otra página Web. La página Web a menudo contiene oculta dentro de su descripción HTML, una ubicación de dirección que se denomina Localizador de Recursos Uniforme (URL: Uniform Resource Locator). Las capas de transporte, de red, enlace de datos y física trabajan de forma conjunta para iniciar la sesión con el servidor Web. Los datos transferidos al servidor HTTP contienen el nombre de la carpeta y de la ubicación de la página Web. Los datos también pueden contener un nombre de archivo específico para una página HTML
SMTP Los servidores de correo electrónico se comunican entre sí usando el Protocolo simple de transferencia de correo (SMTP) para enviar y recibir correo. El protocolo SMTP transporta mensajes de correo electrónico en formato ASCII usando TCP. Hay varias maneras en que los clientes de correo pueden recoger su correo. Pueden usar programas que acceden directamente a los archivos del servidor de correo o pueden recoger el correo usando uno de los diversos protocolos de red. Los protocolos de cliente de correo más populares son POP3 e IMAP4, ambos de los cuales usan TCP para transportar datos. El siguiente formato se usa en la línea de comandos de Windows para probar la capacidad de alcanzar el servicio SMTP en un servidor de correo en la dirección IP 192.168.10.5: C:\>telnet 192.168.10.5 25
SNMP El Protocolo simple de administración de red (SNMP) permite que los administradores de red administren el rendimiento de la red, detecten y solucionen los problemas de red y planifiquen el crecimiento de la red. El SNMP usa UDP como su protocolo de capa de transporte. Dispositivos administrados: Los dispositivos administrados son nodos de red que contienen un agente SNMP y que residen en un red administrada. Los dispositivos administrados recopilan y guardan información de administración y ponen esta información a disposición de los NMS usando SNMP. Los dispositivos administrados, a veces denominados elementos de red, pueden ser routers, servidores de acceso, switches y puentes, hubs, hosts del computador o impresoras. Una red administrada con SNMP está compuesta por los tres componentes clave que se detallan a continuación: Sistema de administración de la red (NMS: Network Management System): El NMS ejecuta aplicaciones que monitorean y controlan los dispositivos administrados. La gran mayoría de los recursos de procesamiento y de memoria que se requieren para la administración de red se suministra a través del NMS. Deben existir uno o más NMS en cualquier red administrada. Agentes: Los agentes son módulos del software de administración de red que residen en los dispositivos administrados. Un agente tiene conocimiento local de la información de administración y convierte esa información a un formato compatible con SNMP.
Telnet La operación Telnet no utiliza la potencia de procesamiento del computador que realiza la transmisión. En lugar de ello, transmite las pulsaciones del teclado hacia el host remoto y dirige los resultados hacia el monitor del host local. El procesamiento y almacenamiento se producen en su totalidad en el computador remoto. El software de cliente Telnet brinda la capacidad de conectarse a un host de Internet remoto que ejecuta una aplicación de servidor Telnet y, a continuación, ejecutar comandos desde la línea de comandos. Un cliente Telnet se denomina host local. El servidor Telnet, que usa un software especial denominado daemon, se denomina host remoto. Telnet funciona en la capa de aplicación del modelo TCP/IP. Por lo tanto, Telnet funciona en las tres capas superiores del modelo OSI. La capa de aplicación se encarga de los comandos. La capa de presentación administra el formateo, generalmente ASCII. La capa de sesión realiza la transmisión. En el modelo TCP/IP, se considera que todas estas funciones forman parte de la capa de aplicación. Para realizar una conexión desde un cliente Telnet, se debe seleccionar la opción de conexión. Generalmente, un cuadro de diálogo indica que se debe colocar un nombre de host y un tipo de terminal. El nombre de host es la dirección IP o el nombre DNS del computador remoto. El tipo de terminal describe el tipo de emulación de terminal que el cliente Telnet debe ejecutar.
Cuestionario final. ANIMACION 3 ¿Qué utilizan TCP y UDP para mantener la pista de las diferentes conversaciones que se llevan acabo en una red? ¿Cuáles son los números de puertos que son asignados con frecuencia al protocolo FTP? ¿Qué protocolo se puede usar para cargar imágenes Cisco IOS en o desde un router? ¿Cuál es la capa del modelo TCP/IP en la que opera Telnet?