Tema 4 Redes Español

Descargar como docx, pdf o txt
Descargar como docx, pdf o txt
Está en la página 1de 7

4.

1 Protocolos de la Capa de Transporte de Internet (UDP y TCP)


4.1.1 La capa de transporte

Servicios de Transporte: proporcionar


comunicación lógica entre procesos de aplicación que se ejecutan en diferentes
hosts. Depende de y/o mejora los servicios de control de errores de la capa de red. Ofrece a la capa superior un
servicio de comunicación confiable de extremo a extremo. Hay diferentes servicios que esta capa ofrece:

o Dirección de transporte. Identifica procesos dentro de un dispositivo usando puertos de transporte.


El cliente envía una solicitud utilizando un número de puerto arbitrario mientras el servidor escucha
en un puerto específico.
o Números de puerto para servidores. Los números de puerto bien conocidos son menores de 1024,
los servicios no estándar pueden usar cualquier número de puerto pero los servicios estándar tienen
puertos registrados.
o Números de puerto para clientes. El cliente no necesita un puerto bien conocido, normalmente el
sistema asigna un puerto arbitrario. El proceso se identifica gracias a su dirección IP de protocolo y
número de puerto. Una dirección de proceso se conoce como dirección de socket a nivel de
programación.

 Encapsulación y Desencapsulación. Los clientes y servidores intercambian mensajes a través de


conexiones de transporte. La capa de transporte recibe un mensaje de la capa superior y los datos del usuario
se entregan en varios mensajes o segmentos.

 Multiplexación. 2 tipos:
o Multiplexación (muchos a uno). El protocolo de transporte acepta mensajes de diferentes procesos
diferenciados por sus números de puerto asignados.
o Demultiplexación (uno a muchos). La capa de transporte recibe datagramas de la capa de red y
entrega los datos del usuario al proceso adecuado.

Control de errores. Es manejado tanto por la capa de enlace de datos como por la capa de red o de transporte. Sin
embargo, hay diferencias en cómo realizan estas tareas.

DATA LINK LAYER NETWORK/TRANSPORT LAYER


Ensures frames arrive in the correct order Handles error control for datagrams. They
can arrive in any order
Delivers frames to machines (devices) Ensure datagrams are delivered to the
correct users within devices, requiring
specific addressing and flow control.
Focuses on reliability between two Provides end-to-end reliability, ensuring data
directly connected devices (each link) is correctly transferred from the
source to the final destination

Necesitamos control de flujo y congestión en la capa de transporte por varias razones:


 El ente de transporte receptor no puede seguir el flujo de paquetes que vienen del otro extremo, por lo que el
búfer se desborda en la entidad receptora, por eso necesitamos control de flujo.
 El control de congestión se usa para asegurar que todos tengan una cantidad "justa" de recursos de red. El
protocolo de transporte debería implementar un mecanismo de evitación de congestión.

4.1.2 Protocolo UDP

Servicio

o Protocolo sin conexión, lo que significa que cada datagrama UDP se maneja independientemente de los
demás.
o Servicio de "mejor esfuerzo" sin garantías de confiabilidad. Como resultado, los datagramas UDP pueden
perderse, llegar fuera de orden o incluso duplicarse.
o No proporciona confiabilidad, control de flujo, control de congestión o establecimiento de conexión.

 Service functions:

o Sendto(source port, target port, data)


o Recvfrom(source port, target port, data)

• Cada punto final de comunicación se identifica mediante un triplete que consta de:
o End #1: <udp,localIP,localPort>
o End #2: <udp,remoteIP,remotePort>

UPD datagram

Encapsulation and decapsulation.


La encapsulación implica envolver los datos de la aplicación en un segmento UDP para su transmisión. Tras la recepción, la

decapsulación implica extraer los datos del segmento UDP.

Functionality
 Multiplexing. UDP puede aceptar mensajes de diferentes procesos, que se distinguen por sus números de
puerto. Esto permite que múltiples procesos de aplicaciones compartan la red simultáneamente.

 Queuing.
o Cada puerto puede tener asociada una cola de entrada y de salida.

o Cuando el host recibe un segmento UDP, verifica si hay una cola para este número de puerto. Si existe tal cola,
UDP pone en cola el datagrama entrante al final. De lo contrario, UDP descarta el datagrama e ICMP envía un
mensaje de destino inalcanzable.

o Todos los mensajes enviados por un proceso utilizando un puerto determinado se ponen en cola en la misma cola
de salida, independientemente de su destino. De manera similar, todos los mensajes recibidos por un proceso
utilizando un puerto determinado se colocan en la misma cola entrante, independientemente de su origen.

Ventajas respecto TCP


 Más rápido
 Menos tiempo de procesamiento y transmisión
Uso
 Se utiliza para entregar mensajes pequeños,
 Es muy adecuado para protocolos de aplicación simples como enviar un mensaje y recibir una respuesta.
 Es apropiado para protocolos de aplicación de tolerancia a fallas donde la velocidad es más importante que
la confiabilidad.
 La única opción es enviar mensajes de multidifusión/difusión.

4.1.2 TCP Protocol


Service

o Servicio orientado a la conexión.

o Datos full-duplex (flujo de datos bidireccional en la misma conexión)

o Conexiones punto a punto (Ni radiodifusión, ni multicasting)

o Servicio confiable entre el proceso de envío y recepción.

o Servicio de entrega de transmisiones (sin “límites de mensajes”)

 Buffering: dos buffers, el buffer de envío y el buffer de recepción, uno para cada dirección.

 Encapsulation in the payload of an IP datagram.

TCP segment

Options: Maximum Segment Size (MSS)


• Es la mayor cantidad de datos, especificada en octetos, que se puede enviar en un único segmento TCP. No
cuenta el encabezado TCP
• Restringe el tamaño de los segmentos durante toda la conexión.
• Su valor se negocia durante el establecimiento de la conexión. Por ejemplo, hay 1460 bytes en Ethernet.

Sequence numbers and ACKs

 Sequence numbers: A cada byte en el flujo de datos de un segmento TCP se le asigna un número de secuencia,
que representa la posición del primer byte en el segmento. El número de secuencia inicial no es 0, es un número
aleatorio entre 0 y 232 – 1.

 Acknowledgements: El número de confirmación indica el número de secuencia del siguiente byte


esperado del otro lado. Este es un acuse de recibo acumulativo, que acusa recibo de todos los bytes
anteriores..

Connection

TCP defines a three-way handshake connection establishment.

The segments SYN and SYN+ACK cannot carry data, but do consume one sequence number

Transmision de datos

• Agradecimientos. Ambos extremos pueden enviar/recibir datos y confirmar. Un segmento de confirmación, si no


contiene datos, no consume ningún número de secuencia. De lo contrario, ACK = SEQ + longitud (datos).

• Llevar a cuestas. El reconocimiento va acompañado de los datos.

• Envío de datos (PSH). El TCP emisor no debe esperar a que se llene el búfer para enviar un segmento. El TCP
receptor no debe esperar a que lleguen más datos para entregarlos a la aplicación receptora.

CONNECTION TERMINATION

 Terminación del protocolo de enlace de tres vías. Normalmente el cliente inicia la terminación de la conexión. Solo se
incluye en algunas implementaciones. Los segmentos FIN y FIN + ACK consumen un número de secuencia, aunque no
transportan datos.
 Medio cerrado. Un extremo puede dejar de enviar datos mientras sigue recibiendo datos.

FLOW CONTROL

•Ventana deslizante.
o TCP utiliza dos ventanas (ventana de envío y recepción) para cada dirección de transferencia de datos (4
ventanas para una conexión full-duplex).
o Síndrome de la ventana tonta. Ocurre cuando el programa de aplicación enviado crea datos lentamente.
Cuando la cantidad de datos enviados por el usuario es menor que la longitud del encabezado decimos que la
operación sufre el síndrome de la ventana tonta.

• Algoritmo de Nagle: solución del lado del remitente. Mejora la eficiencia de TCP al reducir la cantidad de segmentos
enviados a través de la red. Si no hay datos para el reconocimiento, no envían nuevos segmentos hasta
o Llega una confirmación de todos los datos pendientes

o El tamaño de la ventana y los datos disponibles para transmitir es mayor que el MSS

TCB
Records and maintains information about the state of a connection.

ERROR CONTROL

TCP incluye mecanismos para detectar y corregir errores en segmentos: corruptos, perdidos, desordenados,
duplicados. Estos son:

• Suma de comprobación de 16 bits se utiliza para detectar segmentos corruptos, que se descartan (como si faltaran).
• Números de secuencia y reconocimiento positivos acumulativos. Se utiliza para confirmar la recepción de
segmentos de datos mediante el mecanismo de transporte a cuestas. Los segmentos SYN y FIN no transportan datos
del usuario, pero deben ser confirmados mediante mensajes ACK. Los mensajes ACK no requieren confirmación.
• Retransmisión (con temporizadores). Se activa por eventos de tiempo de espera y la llegada de 3 ACK duplicados
para el mismo número de secuencia.
• Tiempo de salida de retransmisión (RTO). TCP establece un temporizador para un tiempo RTO por cada segmento
enviado. Cuando caduca, los segmentos correspondientes están listos para ser retransmitidos. No configura un
temporizador para los segmentos ACK. El valor de RTO se ajusta dinámicamente según el tiempo RTT.
• Retransmisión después de tres segmentos ACK duplicados. Cuando el remitente recibe 3 ACK duplicados para el
mismo número de secuencia, retransmite el segmento perdido inmediatamente.

CONGESTION CONTROL

Es un método para garantizar que todos tengan una cantidad justa de recursos de red. Existen algunos mecanismos
TCP que mitigan la congestión de la red, como mecanismos de control de flujo y almacenamiento de segmentos
desordenados.
Hay indicios implícitos de congestión, como cuando TCP observa un aumento significativo del valor RTT de los
segmentos reconocidos, o expiraciones sucesivas de los temporizadores de retransmisión. Estos son algunos
mecanismos para controlarlo.
• Slow start.. Inicialmente el tamaño de la ventana de envío = cwnd, ventana de congestión. Cuando llega un
ACK, entonces cwnd = cwnd + MSS. La ventana crece exponencialmente.

• Congestion avoidance. Intenta suavizar el crecimiento de la ventana debido al lento inicio. Si el temporizador
expira, vuelve al inicio lento. Si el RTT crece demasiado o hay ACK duplicados, la ventana de envío aumenta
de forma aditiva.
Other transport protocols (SCTP)

• Características:

o Combina las mejores características de UDP y TCP. Es especialmente adecuado para telefonía por Internet.
o Orientado a mensajes (como UDP)
o Protocolo confiable y orientado a la conexión (como TCP). Detecta datos perdidos, datos duplicados y datos
desordenados e incluye mecanismos de control de flujo y congestión.
• Ventajas:

o Múltiples flujos. Una conexión puede transportar varios flujos de datos.


o Multihoming. Puede definir asociaciones con muchas IP (para hosts múltiples) para tolerancia a fallas.
• Se ejecuta en Linux, Mac OS X, Microsoft Windows y FreeBSD.

También podría gustarte