Protocolos de transporte y aplicacin Tema 1 SRI

  • Slides: 24
Download presentation
Protocolos de transporte y aplicación Tema 1 SRI Vicente Sánchez Patón I. E. S

Protocolos de transporte y aplicación Tema 1 SRI Vicente Sánchez Patón I. E. S Gregorio Prieto

Funciones protocolos de aplicación Los protocolos de la capa de aplicación los utilizan tanto

Funciones protocolos de aplicación Los protocolos de la capa de aplicación los utilizan tanto los dispositivos de origen como de destino durante una sesión de comunicación. Los protocolos de la capa de aplicación que se implementaron en los hosts de origen y destino deben coincidir para que las comunicaciones tengan éxito. Los protocolos establecen reglas consistentes para el intercambio de datos entre aplicaciones y servicios cargados en los dispositivos participantes. Los protocolos especifican cómo se estructuran los datos dentro de los mensajes y los tipos de mensajes que se envían entre origen y destino. Estos mensajes pueden ser solicitudes de servicios, acuses de recibo, mensajes de datos, mensajes de estado o mensajes de error. Los protocolos también definen los diálogos de mensajes, asegurando que un mensaje enviado encuentre la respuesta esperada y se invoquen los servicios correspondientes cuando se realiza la transferencia de datos.

Funciones protocolos de aplicación Muchos tipos de aplicaciones diferentes se comunican a través de

Funciones protocolos de aplicación Muchos tipos de aplicaciones diferentes 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. Deben seguirse los detalles del protocolo correspondiente a cada capa, así las funciones en una capa se comunican correctamente con los servicios en la capa inferior. Las aplicaciones y los servicios también pueden utilizar protocolos múltiples durante el curso de una comunicación simple. Un protocolo puede especificar cómo se establece la conexión de redes y otro describir el proceso para la transferencia de datos cuando el mensaje se pasa a la siguiente capa inferior.

Funciones protocolos de aplicación

Funciones protocolos de aplicación

Protocolos de aplicación Las aplicaciones proporcionan una interfaz para el usuario y acceso a

Protocolos de aplicación Las aplicaciones proporcionan una interfaz para el usuario y acceso a la red, veremos algunos protocolos específicos utilizados comúnmente. Los números de puerto identifican las aplicaciones y los servicios de la capa de aplicación que son el origen y el destino de los datos. 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.

Protocolos de aplicación Algunos de estos servicios son: -Sistema de nombres de dominios (DNS)

Protocolos de aplicación Algunos de estos servicios son: -Sistema de nombres de dominios (DNS) - TCP/UDP puerto 53 -Protocolo de transferencia de hipertexto (HTTP) - TCP puerto 80 -Protocolo simple de transferencia de correo (SMTP) TCP puerto 25 -Protocolo de oficina de correos (POP) - TCP puerto 110 -Telnet - TCP puerto 23 -Protocolo de configuración dinámica de host - UDP puertos 67 y 68 -Protocolo de transferencia de archivos (FTP) - TCP puertos 20 y 21

Direccionamiento de puerto Los servicios basados en TCP y UDP mantienen un seguimiento de

Direccionamiento de puerto Los servicios basados en TCP y UDP mantienen un seguimiento de las diversas aplicaciones que se comunican. Para diferenciar los segmentos y datagramas para cada aplicación, tanto TCP como UDP cuentan con campos de encabezado que pueden identificar de manera exclusiva estas aplicaciones. Estos identificadores únicos son números de puertos. En el encabezado de cada segmento o datagrama, hay un puerto origen y uno de destino. El número de puerto de origen es el número para esta comunicación asociado con la aplicación que origina la comunicación en el host local. El número de puerto de destino es el número para esta comunicación asociado con la aplicación de destino que origina la comunicación en el host local.

Direccionamiento de puerto Los números de puerto se asignan de distintas maneras, en virtud

Direccionamiento de puerto Los números de puerto se asignan de distintas maneras, en virtud de si el mensaje es una solicitud o una respuesta. Mientras que los procesos del servidor tienen números de puerto estáticos asignados, los clientes eligen de forma dinámica un número de puerto para cada conversación. Cuando una aplicación de cliente envía una solicitud a una aplicación de servidor, el puerto de destino contenido en el encabezado es el número de puerto asignado al demonio de servicio se ejecuta en el host remoto. El software del cliente debe conocer el número de puerto asociado con el proceso del servidor en el host remoto. Este número de puerto de destino se puede configurar, ya sea de forma predeterminada o manual. Por ejemplo, cuando una aplicación de explorador Web realiza una solicitud a un servidor Web, el explorador utiliza TCP y el número de puerto 80 a menos que se especifique otro valor. Esto sucede porque el puerto TCP 80 es el puerto predeterminado asignado a aplicaciones de servidores Web. Muchas aplicaciones comunes tienen asignados puertos predeterminados.

Direccionamiento de puerto El puerto de origen en el encabezado de un segmento o

Direccionamiento de puerto El puerto de origen en el encabezado de un segmento o de un datagrama de la solicitud de un cliente se crea de forma aleatoria desde los números de puerto mayores de 1023. Mientras no haya un conflicto con otros puertos en uso en el sistema, el cliente puede elegir cualquier número de puerto del rango de números predeterminados que utiliza el sistema operativo. El número de puerto actúa como dirección de retorno para la aplicación que realiza la solicitud. La capa de transporte mantiene un seguimiento de este puerto y de la aplicación que generó la solicitud, de manera que cuando se devuelva una respuesta, se pueda ser enviar a la aplicación correcta. El número de puerto de la aplicación que realiza la solicitud se utiliza como número de puerto de destino en la respuesta que vuelve del servidor. La combinación del número de puerto de la capa de transporte y de la dirección IP de la capa de red asignada al host identifica de manera exclusiva un proceso en particular que se ejecuta en un dispositivo host específico. Esta combinación se denomina socket. Eventualmente, los términos número de puerto y socket se utilizan en forma indistinta. En el contexto de este curso, el término socket hace referencia sólo a la combinación exclusiva de dirección IP y número de puerto. Un par de sockets, que consiste en las direcciones IP de origen y destino y los números de puertos, también es exclusivo e identifica la conversación entre los dos hosts.

Direccionamiento de puerto

Direccionamiento de puerto

Direccionamiento de puerto Hay diversos tipos de números de puerto: Puertos bien conocidos (números

Direccionamiento de puerto Hay diversos tipos de números de puerto: Puertos bien conocidos (números del 0 al 1023): estos números se reservan para servicios y aplicaciones. Por lo general, se utilizan para aplicaciones como HTTP (servidor Web), POP 3/SMTP (servidor de correo electrónico) y Telnet. Al definir estos puertos bien conocidos para las aplicaciones de los servidores, las aplicaciones cliente se pueden programar para solicitar una conexión a dicho puerto y su servicio asociado. Puertos registrados (números del 1024 al 49151): estos números de puerto se asignan a procesos o aplicaciones del usuario. Estos procesos son principalmente aplicaciones individuales que el usuario elige instalar en lugar de aplicaciones comunes que recibiría un puerto bien conocido. Cuando no se utilizan para un recurso del servidor, estos puertos se pueden utilizar también seleccionados de forma dinámica por un cliente como su puerto de origen.

Direccionamiento de puerto Puertos dinámicos o privados (números 49152 a 65535): también conocidos como

Direccionamiento de puerto Puertos dinámicos o privados (números 49152 a 65535): también conocidos como puertos efímeros, están usualmente asignados de forma dinámica a las aplicaciones cliente cuando se inicia una conexión. No es muy común que un cliente se conecte a un servicio utilizando un puerto dinámico o privado (aunque algunos programas que comparten archivos punto a punto lo hacen).

Direccionamiento de puerto Uso de TCP y UDP Algunas aplicaciones pueden utilizar ambos. Por

Direccionamiento de puerto Uso de TCP y UDP Algunas aplicaciones pueden utilizar ambos. Por ejemplo, el bajo gasto de UDP permite que DNS atienda rápidamente varias solicitudes de clientes. Sin embargo, a veces el envío de la información solicitada puede requerir la confiabilidad de TCP. En este caso, el número de puerto bien conocido de 53 lo utilizan ambos protocolos con este servicio.

Funciones protocolos de transporte Los dos protocolos más comunes de la capa de transporte

Funciones protocolos de transporte Los dos protocolos más comunes de la capa de transporte del conjunto de protocolos TCP/IP son el Protocolo de control de transmisión (TCP) y el Protocolo de datagramas de usuario (UDP). Ambos protocolos gestionan la comunicación de múltiples aplicaciones. Las diferencias entre ellos son las funciones específicas que cada uno implementa. Protocolo de datagramas de usuario (UDP) UDP es un protocolo simple, sin conexión, descrito en la RFC 768. Cuenta con la ventaja de proveer la entrega de datos sin utilizar muchos recursos. Las porciones de comunicación en UDP se llaman datagramas. Este protocolo de la capa de transporte envía estos datagramas como "mejor intento". Las aplicaciones que utilizan UDP incluyen: -Sistema de nombres de dominio (DNS) -Streaming video -Voz sobre IP (VOIP)

Funciones protocolos de transporte Protocolo de control de transmisión (TCP) TCP es un protocolo

Funciones protocolos de transporte Protocolo de control de transmisión (TCP) TCP es un protocolo orientado a la conexión descrito en RFC 793. El TCP utiliza recursos adicionales para ganar funciones. Las funciones adicionales especificadas por TCP están en el mismo orden de entrega, son de entrega confiable y de control de flujo. Cada segmento de TCP posee 20 bytes de carga en el encabezado que encapsulan los datos de la capa de aplicación, mientras que cada segmento UDP sólo posee 8 bytes de carga. Vea la figura para hacer una comparación. Las aplicaciones que utiliza el TCP son: -Exploradores Web -Correo electrónico -Transferencias de archivos

Funciones protocolos de transporte

Funciones protocolos de transporte

Protocolos de transporte: TCP La diferencia clave entre TCP y UDP es la confiabilidad.

Protocolos de transporte: TCP La diferencia clave entre TCP y UDP es la confiabilidad. La confiabilidad de la comunicación TCP se lleva a cabo utilizando sesiones orientadas a la conexión. Este proceso asegura que cada host tenga conocimiento de la comunicación y se prepare. Una conversación completa de TCP necesita establecer una sesión entre los hosts de ambas direcciones. Después de establecer una sesión, el destino envía un acuse de recibo al origen por los segmentos que recibe. Estos acuses de recibo forman la base de la confiabilidad dentro de la sesión TCP. Cuando el origen recibe un acuse de recibo, reconoce que los datos se han entregado con éxito y puede dejar de rastrearlos. Si el origen no recibe el acuse de recibo dentro de un tiempo predeterminado, retransmite esos datos al destino.

Protocolos de transporte: TCP Cuando dos hosts se comunican mediante TCP, se establece una

Protocolos de transporte: TCP Cuando dos hosts se comunican mediante TCP, se establece una conexión antes de que puedan intercambiarse los datos. Luego de que se completa la comunicación, se cierran las sesiones y la conexión finaliza. Los mecanismos de conexión y sesión habilitan la función de confiabilidad del TCP. El host rastrea cada segmento de datos dentro de una sesión e intercambia información sobre los datos que recibe cada host mediante información en el encabezado del TCP. Cada conexión involucra streams de comunicación de una vía, o sesiones para establecer y terminar el proceso del TCP entre dispositivos finales. Para establecer la conexión los hosts realizan un protocolo de enlace de tres vías. Los bits de control en el encabezado TCP indican el progreso y estado de la conexión.

Protocolos de transporte: TCP El enlace de tres vías: -Establece que el dispositivo de

Protocolos de transporte: TCP El enlace de tres vías: -Establece que el dispositivo de destino se presente en la red -Verifica que el dispositivo de destino tenga un servicio activo y que acepte solicitudes en el número de puerto de destino que el cliente de origen intenta utilizar para la sesión -Informa al dispositivo de destino que el cliente de origen intenta establecer una sesión de comunicación en dicho número

Protocolos de transporte: TCP Los tres pasos en el establecimiento de una conexión TCP

Protocolos de transporte: TCP Los tres pasos en el establecimiento de una conexión TCP son: 1. El cliente de origen envía un segmento que contiene un valor de secuencia inicial, el cual sirve como solicitud para que el servidor comience una sesión de comunicación. 2. El servidor responde con un segmento que contiene un valor de reconocimiento igual al valor de secuencia recibido más 1, más su propio valor de secuencia de sincronización. El valor es uno mayor que el número de secuencia porque el ACK es siempre el próximo Byte u Octeto esperado. Este valor de reconocimiento permite al cliente unir la respuesta al segmento original que fue enviado al servidor. 3. El cliente que inicia la conexión responde con un valor de reconocimiento igual al valor de secuencia que recibió más uno. Esto completa el proceso de establecimiento de la conexión.

Protocolos de transporte: TCP

Protocolos de transporte: TCP

Protocolos de transporte: TCP

Protocolos de transporte: TCP

Protocolos de transporte: UDP es un protocolo simple que provee las funciones básicas de

Protocolos de transporte: UDP es un protocolo simple que provee las funciones básicas de la capa de transporte. Tiene una sobrecarga mucho menor que el TCP, ya que no está orientado a la conexión y no proporciona mecanismos sofisticados de retransmisión, secuenciamiento y flujo de control. Esto no significa que las aplicaciones que utilizan UDP no son siempre poco confiables. Sólo quiere decir que estas funciones no las contempla el protocolo de la capa de transporte y se deben implementar aparte, si fuera necesario. Pese a que es relativamente baja la cantidad total de tráfico UDP que puede encontrarse en una red típica, los protocolos clave de la capa de aplicación que utiliza UDP incluyen: -Sistema de nombres de dominio (DNS) -Protocolo simple de administración de red (SNMP, Simple Network Management Protocol) -Protocolo de configuración dinámica de host (DHCP) -Protocolo de información de enrutamiento (RIP) -Protocolo de transferencia de archivos trivial (TFTP) -Juegos en línea

Protocolos de transporte: UDP Ya que UDP opera sin conexión, las sesiones no se

Protocolos de transporte: UDP Ya que UDP opera sin conexión, las sesiones no se establecen antes de que se lleve a cabo la comunicación, como sucede con TCP. Se dice que UDP es basado en transacciones. En otras palabras, cuando una aplicación tiene datos que enviar, sólo los envía. Muchas aplicaciones que utilizan UDP envían pequeñas cantidades de datos que pueden ajustarse en un segmento. Sin embargo, algunas aplicaciones envían cantidades más grandes que deben dividirse en varios segmentos. La PDU del UDP se conoce como un datagrama, aunque los términos segmento y datagrama se utilizan algunas veces de forma intercambiable para describir una PDU de la capa de transporte. Cuando se envían datagramas múltiples a un destino, pueden tomar diferentes rutas y llegar en el orden equivocado. UDP no mantiene un seguimiento de los números de secuencia de la manera en que lo hace TCP. UDP no puede reordenar los datagramas en el orden de la transmisión. Observe la figura. Por lo tanto, UDP simplemente reensambla los datos en el orden en que se recibieron y los envía a la aplicación. Si la secuencia de los datos es importante para la aplicación, la misma deberá identificar la secuencia adecuada y determinar cómo procesarlos.