protocolos de transporte y aplicación

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

Upload: ora-ramirez

Post on 01-Jan-2016

22 views

Category:

Documents


1 download

DESCRIPTION

Protocolos de transporte y aplicación. Tema 1 SRI Vicente Sánchez Patón I.E.S Gregorio Prieto. Funciones protocolos de aplicación. - PowerPoint PPT Presentation

TRANSCRIPT

Page 1: Protocolos de transporte y aplicación

Protocolos de transporte y aplicación

Tema 1 SRI

Vicente Sánchez Patón

I.E.S Gregorio Prieto

Page 2: Protocolos de transporte y aplicación

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.

Page 3: Protocolos de transporte y aplicación

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.

Page 4: Protocolos de transporte y aplicación

Funciones protocolos de aplicación

Page 5: Protocolos de transporte y aplicación

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.

Page 6: Protocolos de transporte y aplicación

Protocolos de aplicaciónAlgunos 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

Page 7: Protocolos de transporte y aplicación

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.

Page 8: Protocolos de transporte y aplicación

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.

Page 9: Protocolos de transporte y aplicación

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.

Page 10: Protocolos de transporte y aplicación

Direccionamiento de puerto

Page 11: Protocolos de transporte y aplicación

Direccionamiento de puertoHay 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), POP3/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.

Page 12: Protocolos de transporte y aplicación

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).

Page 13: Protocolos de transporte y aplicación

Direccionamiento de puertoUso 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.

Page 14: Protocolos de transporte y aplicación

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)

Page 15: Protocolos de transporte y aplicación

Funciones protocolos de transporteProtocolo 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

Page 16: Protocolos de transporte y aplicación

Funciones protocolos de transporte

Page 17: Protocolos de transporte y aplicación

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.

Page 18: Protocolos de transporte y aplicación

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.

Page 19: Protocolos de transporte y aplicación

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 de puerto

Page 20: Protocolos de transporte y aplicación

Protocolos de transporte: TCPLos 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.

Page 21: Protocolos de transporte y aplicación

Protocolos de transporte: TCP

Page 22: Protocolos de transporte y aplicación

Protocolos de transporte: TCP

Page 23: Protocolos de transporte y aplicación

Protocolos de transporte: UDP 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

Page 24: Protocolos de transporte y aplicación

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.