Transporte
• El nivel de transporte da acceso a la red extremo a extremo
• Puede haber más de un extremo en una máquina: puertos
Puertos
• Los puertos sirven para saber quien se comunica con quien
• Por ejemplo:
• Navegador (12214 en mi ordenador) - Servidor web (80 en el servidor de google)
Puertos
• En TCP/IP hay dos protocolos de tranporte: TCP y UDP
• Cada protocolo tiene sus puertos
• El puerto 8080 de TCP es diferente del puerto 8080 de UDP
Conexiones
• Abstracción que se construye sobre los niveles inferiores
• Similar a una llamada telefónica:
• Establecimiento de conexión
• Me comunico por ella
• Cuelgo
Conexiones
• Hay protocolos que se ocupan de dar esta abstracción: orientados a conexión (TCP)
• Otros no: no orientados a conexión (UDP)
Conexión
• Los niveles inferiores nos dan datagramas, paquetes de datos
• Usando estos mensajes tengo que construir una conexión (establecimiento, uso, desconexión)
Establecimiento
• Necesito saber con quién voy a hablar (el número de teléfono): dirección IP, puerto de destino
• Le mando un mensaje (llamada) y el acepta
• En realidad más complicado porque se pueden perder datagramas (fiabilidad)
Establecimiento
• Necesito saber con quién voy a hablar (el número de teléfono): dirección IP, puerto de destino
• Le mando un mensaje (llamada) y el acepta
• En realidad más complicado porque se pueden perder datagramas (fiabilidad)
Establecimiento
�������� ��������
����� ���� ����� ��
����� ������� ����
�������������������� ���������������
�������������������� ��������������
Fiabilidad
• Se pueden perder paquetes
• La red se cae, o hay colisiones o se caen máquinas intermedias
• Para saber si ha llegado al otro extremo: mensaje de asentimiento, ACK (acknowledgement)
• ¿Qué paquete?: números de secuencia
• Si no hay ACK, timeout, restrasmisión
¿Cuando mando el siguiente?
• Puedo esperar el ACK: parada y espera (stop and wait)
• Ineficiente: mientras espero el ACK puedo transmitir más: ventana deslizante (sliding window)
Ventana deslizante
• Basado en los números de secuencia (cada paquete que se manda va numerado)
• Ventana de transmisión: los que puedo mandar sin que me haya llegado un ACK
• Ventana de recepción: qué paquetes se aceptan posteriores a los no recibidos
0 1 2 3 4 5 6 7 8 9
Ventana de transmisión
t t
0 1 2 3 4 5 6 7 8 9 0123
ACK0
ACK1
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
Ventana de transmisión
• La ventana representa el número de paquetes que estoy dispuesto a mantener en memoria
• Cuando salen de la ventana, los puedo tirar, si no, tengo que guardarlos para retransmitir
0 1 2 3 4 5 6 7 8 9
confirmados no se pueden mandar todavía
mando sin esperar
ack
Ventana de recepción
tt
0 1 2 3 4 5 6 7 8 90123
ACK0
ACK1
0 1 2 3 4 5 6 7 8 9
0 1 2 3 4 5 6 7 8 9
4
ACK3
El 3 se guarda para entregarlo
cuando llegue el 2
4 se tira: fuera de la ventana
Ventana de recepción
• La ventana, de nuevo representa cuantos guardo en memoria
• Posteriores a alguno que no me han llegado todavía
• Cuando salen de la ventana, los he podido entregar
0 1 2 3 4 5 6 7 8 9
entregados se ignoranguardo
hasta que pueda
entregar
Anuncio de ventana
• En los mensajes mando el tamaño de la ventana de recepción (típicamente en los ACKs
• El emisor ajusta su ventana de transmisión
ARQ: ¿Cuándo y cómo retransmito?
• Cuando pierdo uno puedo retransmitir desde ese al final de la ventana: Go-Back-N
• Cuando pierdo uno, puedo retransmitir ese: Selective Repeat
Go Back N
• Ventana de transmisión N, recepción 1
• Si me llega uno posterior a uno que no ha llegado, lo tiro
• Con un timeout, remando desde el último ACK
• ACK significa he recibido “hasta éste”
Selective Repeat
• Ventana tx: N, ventana rx: N
• Si me llega uno en la ventana, indep. del orden, mando un ACK
• Timeout de un paquete, remando sólo ese
Detección de errores
• Checksum: hay en TCP y en UDP
• Número que se calcula a partir del paquete para ver si hay errores
• El checksum incluye parte de la cabecera IP: dirección origen, destino y el protocolo
• Se llama pseudocabecera
Control de flujo
• El transmisor puede ahogar al receptor mandando muy rápido
• El receptor puede querer que le manden mas rápido
• Se juega con el tamaño de las ventanas de transmisión y recepción
Congestión
• Muchos transmisores rápidos pueden ahogar a la red: congestión
• La lentitud provoca timeouts y restransmisiones que empeoran la congestión
• Algunos protocolos lo detectan e intentan evitarla
Congestión
Enlace 10 MbpsEnlace 1Gbps
Enlace 1Gbps
Enlace 1Gbps
Enlace 1Gbps
Transmiten a 20 Mbps cada uno
Congestionado
TCP
• Transmission Control Protocol
• Orientado a conexión
• Fiable
• Control de flujo
• Control de congestión
TCP encapsulado en IP
Cabecera IP Cabecera TCP TCP Datos
Segmento TCP (Datos IP)
Datagrama IP
Campo protocolo de IP es 6
Puertos
• Los puertos por debajo de 1024, servicios bien conocidos
• Ejemplos:
• 80 http (web)
• 23 telnet (shell remota, en claro)
• 22 ssh (shell remota, cifrada)
• 631ipp (impresión)
Puertos
• Se suelen poner en los conocidos para no tener que especificar el puerto
• Pero se puede hacer especificando el puerto, por ej:
• http://miservicio.com:6321
• telnet maquina.com:345
Asentimientos y Numeros de Secuencia• Ambos están en bytes (lo anterior estaba
simplificado), la ventana también
• El número de secuencia: en qué byte empieza este paquete (de la secuencia de bytes total de la conexión)
• El número de ACK: a partir de qué byte no he recibido
TCP handshake
t t
SYN seq=0, ack=0
ACK seq=1, ack=1
SYN|ACK seq=0, ack=1
ESTABLECIDA
seq=1, ack=1, len=100bytes
seq=1, ack=101, len=100bytes
Desconexión
• Dos formas, dos flags
• FIN: cierro la conexión, mándame lo que te queda
• RST: cierro la conexión, olvídate de mí
Conexión: Estados������
������
� ��� ��
� ���� �
� ����
���� ��
������ ����
�������
������� �
�������
������
� ��� ��
���������
�� ��!�"� #$%�����&�$"�#���'�(� #$%�����
�)�*��)�*��)�*� �&�$(�&#*�'�
���������� #$%����+���
#$%�����
#$%���������������
�������� �+��� #$%�����
#$%��� �
�������� � #$%�����
#$%��� �
�����������%��� �
�������� �"� #$%������� ��!�
��*�, �$��*�%��'�%#
������������� �
#$%��� �
������������� �
����������+��� #$%�����
����������+��� #$%�����
�������� � #$%�����
�����������%�����
������
������
� ��� ��
� ���� �
� ����
���� ��
������ ����
�������
������� �
�������
������
� ��� ��
���������
�� ��!�"� #$%�����&�$"�#���'�(� #$%�����
�)�*��)�*��)�*� �&�$(�&#*�'�
���������� #$%����+���
#$%�����
#$%���������������
�������� �+��� #$%�����
#$%��� �
�������� � #$%�����
#$%��� �
�����������%��� �
�������� �"� #$%������� ��!�
��*�, �$��*�%��'�%#
������������� �
#$%��� �
������������� �
����������+��� #$%�����
����������+��� #$%�����
�������� � #$%�����
�����������%�����
Abro conexión
������
������
� ��� ��
� ���� �
� ����
���� ��
������ ����
�������
������� �
�������
������
� ��� ��
���������
�� ��!�"� #$%�����&�$"�#���'�(� #$%�����
�)�*��)�*��)�*� �&�$(�&#*�'�
���������� #$%����+���
#$%�����
#$%���������������
�������� �+��� #$%�����
#$%��� �
�������� � #$%�����
#$%��� �
�����������%��� �
�������� �"� #$%������� ��!�
��*�, �$��*�%��'�%#
������������� �
#$%��� �
������������� �
����������+��� #$%�����
����������+��� #$%�����
�������� � #$%�����
�����������%�����
Se conectan a mí
Establecimiento de ConexiónCLOSED
SYN_SENT
SYN_RCVD
ESTABLISHED
CLOSED
SYN_RCVD
ESTABLISHED
SYN
ACK
SYN|ACK
LISTEN
Establecimiento de Conexión
������
������
� ��� ��
� ���� �
� ����
���� ��
������ ����
�������
������� �
�������
������
� ��� ��
���������
�� ��!�"� #$%�����&�$"�#���'�(� #$%�����
�)�*��)�*��)�*� �&�$(�&#*�'�
���������� #$%����+���
#$%�����
#$%���������������
�������� �+��� #$%�����
#$%��� �
�������� � #$%�����
#$%��� �
�����������%��� �
�������� �"� #$%������� ��!�
��*�, �$��*�%��'�%#
������������� �
#$%��� �
������������� �
����������+��� #$%�����
����������+��� #$%�����
�������� � #$%�����
�����������%�����
������
������
� ��� ��
� ���� �
� ����
���� ��
������ ����
�������
������� �
�������
������
� ��� ��
���������
�� ��!�"� #$%�����&�$"�#���'�(� #$%�����
�)�*��)�*��)�*� �&�$(�&#*�'�
���������� #$%����+���
#$%�����
#$%���������������
�������� �+��� #$%�����
#$%��� �
�������� � #$%�����
#$%��� �
�����������%��� �
�������� �"� #$%������� ��!�
��*�, �$��*�%��'�%#
������������� �
#$%��� �
������������� �
����������+��� #$%�����
����������+��� #$%�����
�������� � #$%�����
�����������%�����
Establecimiento de Conexión
������
������
� ��� ��
� ���� �
� ����
���� ��
������ ����
�������
������� �
�������
������
� ��� ��
���������
�� ��!�"� #$%�����&�$"�#���'�(� #$%�����
�)�*��)�*��)�*� �&�$(�&#*�'�
���������� #$%����+���
#$%�����
#$%���������������
�������� �+��� #$%�����
#$%��� �
�������� � #$%�����
#$%��� �
�����������%��� �
�������� �"� #$%������� ��!�
��*�, �$��*�%��'�%#
������������� �
#$%��� �
������������� �
����������+��� #$%�����
����������+��� #$%�����
�������� � #$%�����
�����������%�����
������
������
� ��� ��
� ���� �
� ����
���� ��
������ ����
�������
������� �
�������
������
� ��� ��
���������
�� ��!�"� #$%�����&�$"�#���'�(� #$%�����
�)�*��)�*��)�*� �&�$(�&#*�'�
���������� #$%����+���
#$%�����
#$%���������������
�������� �+��� #$%�����
#$%��� �
�������� � #$%�����
#$%��� �
�����������%��� �
�������� �"� #$%������� ��!�
��*�, �$��*�%��'�%#
������������� �
#$%��� �
������������� �
����������+��� #$%�����
����������+��� #$%�����
�������� � #$%�����
�����������%�����
Me pongo a escuchar
Establecimiento de Conexión
������
������
� ��� ��
� ���� �
� ����
���� ��
������ ����
�������
������� �
�������
������
� ��� ��
���������
�� ��!�"� #$%�����&�$"�#���'�(� #$%�����
�)�*��)�*��)�*� �&�$(�&#*�'�
���������� #$%����+���
#$%�����
#$%���������������
�������� �+��� #$%�����
#$%��� �
�������� � #$%�����
#$%��� �
�����������%��� �
�������� �"� #$%������� ��!�
��*�, �$��*�%��'�%#
������������� �
#$%��� �
������������� �
����������+��� #$%�����
����������+��� #$%�����
�������� � #$%�����
�����������%�����
������
������
� ��� ��
� ���� �
� ����
���� ��
������ ����
�������
������� �
�������
������
� ��� ��
���������
�� ��!�"� #$%�����&�$"�#���'�(� #$%�����
�)�*��)�*��)�*� �&�$(�&#*�'�
���������� #$%����+���
#$%�����
#$%���������������
�������� �+��� #$%�����
#$%��� �
�������� � #$%�����
#$%��� �
�����������%��� �
�������� �"� #$%������� ��!�
��*�, �$��*�%��'�%#
������������� �
#$%��� �
������������� �
����������+��� #$%�����
����������+��� #$%�����
�������� � #$%�����
�����������%�����
Me pongo a escuchar
Establecimiento de Conexión
������
������
� ��� ��
� ���� �
� ����
���� ��
������ ����
�������
������� �
�������
������
� ��� ��
���������
�� ��!�"� #$%�����&�$"�#���'�(� #$%�����
�)�*��)�*��)�*� �&�$(�&#*�'�
���������� #$%����+���
#$%�����
#$%���������������
�������� �+��� #$%�����
#$%��� �
�������� � #$%�����
#$%��� �
�����������%��� �
�������� �"� #$%������� ��!�
��*�, �$��*�%��'�%#
������������� �
#$%��� �
������������� �
����������+��� #$%�����
����������+��� #$%�����
�������� � #$%�����
�����������%�����
������
������
� ��� ��
� ���� �
� ����
���� ��
������ ����
�������
������� �
�������
������
� ��� ��
���������
�� ��!�"� #$%�����&�$"�#���'�(� #$%�����
�)�*��)�*��)�*� �&�$(�&#*�'�
���������� #$%����+���
#$%�����
#$%���������������
�������� �+��� #$%�����
#$%��� �
�������� � #$%�����
#$%��� �
�����������%��� �
�������� �"� #$%������� ��!�
��*�, �$��*�%��'�%#
������������� �
#$%��� �
������������� �
����������+��� #$%�����
����������+��� #$%�����
�������� � #$%�����
�����������%�����
Establecimiento de Conexión
������
������
� ��� ��
� ���� �
� ����
���� ��
������ ����
�������
������� �
�������
������
� ��� ��
���������
�� ��!�"� #$%�����&�$"�#���'�(� #$%�����
�)�*��)�*��)�*� �&�$(�&#*�'�
���������� #$%����+���
#$%�����
#$%���������������
�������� �+��� #$%�����
#$%��� �
�������� � #$%�����
#$%��� �
�����������%��� �
�������� �"� #$%������� ��!�
��*�, �$��*�%��'�%#
������������� �
#$%��� �
������������� �
����������+��� #$%�����
����������+��� #$%�����
�������� � #$%�����
�����������%�����
������
������
� ��� ��
� ���� �
� ����
���� ��
������ ����
�������
������� �
�������
������
� ��� ��
���������
�� ��!�"� #$%�����&�$"�#���'�(� #$%�����
�)�*��)�*��)�*� �&�$(�&#*�'�
���������� #$%����+���
#$%�����
#$%���������������
�������� �+��� #$%�����
#$%��� �
�������� � #$%�����
#$%��� �
�����������%��� �
�������� �"� #$%������� ��!�
��*�, �$��*�%��'�%#
������������� �
#$%��� �
������������� �
����������+��� #$%�����
����������+��� #$%�����
�������� � #$%�����
�����������%�����
Syn
Establecimiento de Conexión
������
������
� ��� ��
� ���� �
� ����
���� ��
������ ����
�������
������� �
�������
������
� ��� ��
���������
�� ��!�"� #$%�����&�$"�#���'�(� #$%�����
�)�*��)�*��)�*� �&�$(�&#*�'�
���������� #$%����+���
#$%�����
#$%���������������
�������� �+��� #$%�����
#$%��� �
�������� � #$%�����
#$%��� �
�����������%��� �
�������� �"� #$%������� ��!�
��*�, �$��*�%��'�%#
������������� �
#$%��� �
������������� �
����������+��� #$%�����
����������+��� #$%�����
�������� � #$%�����
�����������%�����
������
������
� ��� ��
� ���� �
� ����
���� ��
������ ����
�������
������� �
�������
������
� ��� ��
���������
�� ��!�"� #$%�����&�$"�#���'�(� #$%�����
�)�*��)�*��)�*� �&�$(�&#*�'�
���������� #$%����+���
#$%�����
#$%���������������
�������� �+��� #$%�����
#$%��� �
�������� � #$%�����
#$%��� �
�����������%��� �
�������� �"� #$%������� ��!�
��*�, �$��*�%��'�%#
������������� �
#$%��� �
������������� �
����������+��� #$%�����
����������+��� #$%�����
�������� � #$%�����
�����������%�����
Syn
Establecimiento de Conexión
������
������
� ��� ��
� ���� �
� ����
���� ��
������ ����
�������
������� �
�������
������
� ��� ��
���������
�� ��!�"� #$%�����&�$"�#���'�(� #$%�����
�)�*��)�*��)�*� �&�$(�&#*�'�
���������� #$%����+���
#$%�����
#$%���������������
�������� �+��� #$%�����
#$%��� �
�������� � #$%�����
#$%��� �
�����������%��� �
�������� �"� #$%������� ��!�
��*�, �$��*�%��'�%#
������������� �
#$%��� �
������������� �
����������+��� #$%�����
����������+��� #$%�����
�������� � #$%�����
�����������%�����
������
������
� ��� ��
� ���� �
� ����
���� ��
������ ����
�������
������� �
�������
������
� ��� ��
���������
�� ��!�"� #$%�����&�$"�#���'�(� #$%�����
�)�*��)�*��)�*� �&�$(�&#*�'�
���������� #$%����+���
#$%�����
#$%���������������
�������� �+��� #$%�����
#$%��� �
�������� � #$%�����
#$%��� �
�����������%��� �
�������� �"� #$%������� ��!�
��*�, �$��*�%��'�%#
������������� �
#$%��� �
������������� �
����������+��� #$%�����
����������+��� #$%�����
�������� � #$%�����
�����������%�����
Syn
Establecimiento de Conexión
������
������
� ��� ��
� ���� �
� ����
���� ��
������ ����
�������
������� �
�������
������
� ��� ��
���������
�� ��!�"� #$%�����&�$"�#���'�(� #$%�����
�)�*��)�*��)�*� �&�$(�&#*�'�
���������� #$%����+���
#$%�����
#$%���������������
�������� �+��� #$%�����
#$%��� �
�������� � #$%�����
#$%��� �
�����������%��� �
�������� �"� #$%������� ��!�
��*�, �$��*�%��'�%#
������������� �
#$%��� �
������������� �
����������+��� #$%�����
����������+��� #$%�����
�������� � #$%�����
�����������%�����
������
������
� ��� ��
� ���� �
� ����
���� ��
������ ����
�������
������� �
�������
������
� ��� ��
���������
�� ��!�"� #$%�����&�$"�#���'�(� #$%�����
�)�*��)�*��)�*� �&�$(�&#*�'�
���������� #$%����+���
#$%�����
#$%���������������
�������� �+��� #$%�����
#$%��� �
�������� � #$%�����
#$%��� �
�����������%��� �
�������� �"� #$%������� ��!�
��*�, �$��*�%��'�%#
������������� �
#$%��� �
������������� �
����������+��� #$%�����
����������+��� #$%�����
�������� � #$%�����
�����������%�����
Establecimiento de Conexión
������
������
� ��� ��
� ���� �
� ����
���� ��
������ ����
�������
������� �
�������
������
� ��� ��
���������
�� ��!�"� #$%�����&�$"�#���'�(� #$%�����
�)�*��)�*��)�*� �&�$(�&#*�'�
���������� #$%����+���
#$%�����
#$%���������������
�������� �+��� #$%�����
#$%��� �
�������� � #$%�����
#$%��� �
�����������%��� �
�������� �"� #$%������� ��!�
��*�, �$��*�%��'�%#
������������� �
#$%��� �
������������� �
����������+��� #$%�����
����������+��� #$%�����
�������� � #$%�����
�����������%�����
������
������
� ��� ��
� ���� �
� ����
���� ��
������ ����
�������
������� �
�������
������
� ��� ��
���������
�� ��!�"� #$%�����&�$"�#���'�(� #$%�����
�)�*��)�*��)�*� �&�$(�&#*�'�
���������� #$%����+���
#$%�����
#$%���������������
�������� �+��� #$%�����
#$%��� �
�������� � #$%�����
#$%��� �
�����������%��� �
�������� �"� #$%������� ��!�
��*�, �$��*�%��'�%#
������������� �
#$%��� �
������������� �
����������+��� #$%�����
����������+��� #$%�����
�������� � #$%�����
�����������%�����
ACK
Establecimiento de Conexión
������
������
� ��� ��
� ���� �
� ����
���� ��
������ ����
�������
������� �
�������
������
� ��� ��
���������
�� ��!�"� #$%�����&�$"�#���'�(� #$%�����
�)�*��)�*��)�*� �&�$(�&#*�'�
���������� #$%����+���
#$%�����
#$%���������������
�������� �+��� #$%�����
#$%��� �
�������� � #$%�����
#$%��� �
�����������%��� �
�������� �"� #$%������� ��!�
��*�, �$��*�%��'�%#
������������� �
#$%��� �
������������� �
����������+��� #$%�����
����������+��� #$%�����
�������� � #$%�����
�����������%�����
������
������
� ��� ��
� ���� �
� ����
���� ��
������ ����
�������
������� �
�������
������
� ��� ��
���������
�� ��!�"� #$%�����&�$"�#���'�(� #$%�����
�)�*��)�*��)�*� �&�$(�&#*�'�
���������� #$%����+���
#$%�����
#$%���������������
�������� �+��� #$%�����
#$%��� �
�������� � #$%�����
#$%��� �
�����������%��� �
�������� �"� #$%������� ��!�
��*�, �$��*�%��'�%#
������������� �
#$%��� �
������������� �
����������+��� #$%�����
����������+��� #$%�����
�������� � #$%�����
�����������%�����
Establecimiento de Conexión
������
������
� ��� ��
� ���� �
� ����
���� ��
������ ����
�������
������� �
�������
������
� ��� ��
���������
�� ��!�"� #$%�����&�$"�#���'�(� #$%�����
�)�*��)�*��)�*� �&�$(�&#*�'�
���������� #$%����+���
#$%�����
#$%���������������
�������� �+��� #$%�����
#$%��� �
�������� � #$%�����
#$%��� �
�����������%��� �
�������� �"� #$%������� ��!�
��*�, �$��*�%��'�%#
������������� �
#$%��� �
������������� �
����������+��� #$%�����
����������+��� #$%�����
�������� � #$%�����
�����������%�����
������
������
� ��� ��
� ���� �
� ����
���� ��
������ ����
�������
������� �
�������
������
� ��� ��
���������
�� ��!�"� #$%�����&�$"�#���'�(� #$%�����
�)�*��)�*��)�*� �&�$(�&#*�'�
���������� #$%����+���
#$%�����
#$%���������������
�������� �+��� #$%�����
#$%��� �
�������� � #$%�����
#$%��� �
�����������%��� �
�������� �"� #$%������� ��!�
��*�, �$��*�%��'�%#
������������� �
#$%��� �
������������� �
����������+��� #$%�����
����������+��� #$%�����
�������� � #$%�����
�����������%�����
SYN|ACK
Establecimiento de Conexión
������
������
� ��� ��
� ���� �
� ����
���� ��
������ ����
�������
������� �
�������
������
� ��� ��
���������
�� ��!�"� #$%�����&�$"�#���'�(� #$%�����
�)�*��)�*��)�*� �&�$(�&#*�'�
���������� #$%����+���
#$%�����
#$%���������������
�������� �+��� #$%�����
#$%��� �
�������� � #$%�����
#$%��� �
�����������%��� �
�������� �"� #$%������� ��!�
��*�, �$��*�%��'�%#
������������� �
#$%��� �
������������� �
����������+��� #$%�����
����������+��� #$%�����
�������� � #$%�����
�����������%�����
������
������
� ��� ��
� ���� �
� ����
���� ��
������ ����
�������
������� �
�������
������
� ��� ��
���������
�� ��!�"� #$%�����&�$"�#���'�(� #$%�����
�)�*��)�*��)�*� �&�$(�&#*�'�
���������� #$%����+���
#$%�����
#$%���������������
�������� �+��� #$%�����
#$%��� �
�������� � #$%�����
#$%��� �
�����������%��� �
�������� �"� #$%������� ��!�
��*�, �$��*�%��'�%#
������������� �
#$%��� �
������������� �
����������+��� #$%�����
����������+��� #$%�����
�������� � #$%�����
�����������%�����
RST:Cierro sin esperar������
������
� ��� ��
� ���� �
� ����
���� ��
������ ����
�������
������� �
�������
������
� ��� ��
���������
�� ��!�"� #$%�����&�$"�#���'�(� #$%�����
�)�*��)�*��)�*� �&�$(�&#*�'�
���������� #$%����+���
#$%�����
#$%���������������
�������� �+��� #$%�����
#$%��� �
�������� � #$%�����
#$%��� �
�����������%��� �
�������� �"� #$%������� ��!�
��*�, �$��*�%��'�%#
������������� �
#$%��� �
������������� �
����������+��� #$%�����
����������+��� #$%�����
�������� � #$%�����
�����������%�����
FIN, manda lo que quede������
������
� ��� ��
� ���� �
� ����
���� ��
������ ����
�������
������� �
�������
������
� ��� ��
���������
�� ��!�"� #$%�����&�$"�#���'�(� #$%�����
�)�*��)�*��)�*� �&�$(�&#*�'�
���������� #$%����+���
#$%�����
#$%���������������
�������� �+��� #$%�����
#$%��� �
�������� � #$%�����
#$%��� �
�����������%��� �
�������� �"� #$%������� ��!�
��*�, �$��*�%��'�%#
������������� �
#$%��� �
������������� �
����������+��� #$%�����
����������+��� #$%�����
�������� � #$%�����
�����������%�����
FIN, otro lado������
������
� ��� ��
� ���� �
� ����
���� ��
������ ����
�������
������� �
�������
������
� ��� ��
���������
�� ��!�"� #$%�����&�$"�#���'�(� #$%�����
�)�*��)�*��)�*� �&�$(�&#*�'�
���������� #$%����+���
#$%�����
#$%���������������
�������� �+��� #$%�����
#$%��� �
�������� � #$%�����
#$%��� �
�����������%��� �
�������� �"� #$%������� ��!�
��*�, �$��*�%��'�%#
������������� �
#$%��� �
������������� �
����������+��� #$%�����
����������+��� #$%�����
�������� � #$%�����
�����������%�����
UDP
• Si un paquete se pierde, se pierde (no es fiable), es cosa de la aplicación
• Es un protocolo muy sencillo, poco más que puerto origen, destino y un checksum
UDP fragmentación
• Si un paquete se fragmenta (nivel inferior, IP)
• Y se pierde un trozo, se pierde el paquete entro
• Típicamente se pone un timeout para esperar a ver si llega el resto del paquete
Top Related