Clase 5: (Repaso)

CLASE 5 (Repaso) La Capa de Transporte Auxiliar: Boris Vargas Estructura del segmento TCP – N° de secuencia y ACK N°

Views 112 Downloads 0 File size 2MB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

CLASE 5

(Repaso)

La Capa de Transporte Auxiliar: Boris Vargas

Estructura del segmento TCP – N° de secuencia y ACK N° de secuencia • En el numero asignado, dentro del flujo de bytes, al primer byte de los datos del segmento TCP que se envía a la otra entidad par. • El valor inicial de este campo lo decide de manera aleatoria cada entidad par al iniciar la conexión. • Se va incrementando a medida que se envían segmentos que contienen UD. N° de ACK • Sirve para indicar el n° de secuencia del byte que se espera recibir a continuación por parte de la otra entidad par. • Todos los bytes anteriores los da por reconocidos (ACK acumulativo). Buffers: Btx y Brx

Estructura del segmento TCP – N° de secuencia y ACK EJEMPLO



El grafico muestra el intercambio de (segmentos). El buffer de transmisión (Btx) contiene las UD solicitadas por el nivel de aplicación a través del T_SAP. El buffer de recepción (Brx) se vaciara cuando a través del T_SAP lo solicite al nivel de aplicación.

Escenario con retransmisiones (I)

Llegan duplicados pero TCP solo sube uno al nivel de Aplicación.

Escenario con retransmisiones (II)

El temporizador con la duración “recomendada” habría expirado antes de la llegada del ACK=120. El transmisor puede usar en ciertas ocasiones un time_out que dure mas de lo recomendado lo cual hace que sea mas fácil que se produzcan ACKs acumulativos.

Escenario con retransmisión rápida Llega de estos 3 segmentos fuera de orden ha hecho que el receptor envié inmediatamente un ACK duplicado para cada uno de ellos, reconociendo los datos del primer segmento.

El emisor al ver que, por 3 veces, le llega un ACK duplicado de los datos del primer segmento, supone que el segundo segmento se ha perdido y lo reenvía rápido, antes de que expire su temporizador.

Gestión de la conexión en TCP: Establecimiento Recuerde: El cliente y el servidor TCP establecen la conexión antes de intercambiar segmentos que transporten datos de usuario. Durante esta fase de establecimiento de la conexión, ambos deben inicializar las variables de TCP: • Paso1: El host cliente inicializa todas las variables de TCP (buffers, numero de secuencia inicial, etc). • Paso2: El host servidor, al recibir el segmento SYN, inicializa los buffers y variables TCP y responde al cliente enviándole un segmento SYN-ACK. • Paso3: El cliente recibe el segmento SYN-ACK del servidor y le responde enviándole un segmento ACK.

El cliente es el que toma la iniciativa de establecer la conexión a través de un socket y el servidor esta siempre “a la escucha” para recibir el inicio de conexión desde el cliente

Gestión de la conexión en TCP: Establecimiento

NOTA: En el flujo de segmentos si un determinado flag esta activo, se indica en el etiquetado, menos el del ACK que esta implícito cuando el campo ACK tiene valor.

EJEMPLO (ejer12 – Practica 1 Auxiliatura) Un cliente HTTP establece una conexión TCP con un servidor HTTP. El extremo cliente informa de que el tamaño máximo de segmento que está dispuesto a recibir es de 1000 bytes, mientras que el extremo servidor informa que el tamaño máximo de segmento que está dispuesto a recibir es 500 bytes. Escriba el contenido de los campos de la cabecera TCP vacíos en la siguiente secuencia de intercambio de segmentos, suponiendo que no existe pérdida ni desorden en la entrega, salvo cuando sea explícitamente indicado. SOLUCIÓN

𝐏𝐨𝐫𝐢𝐠𝐞𝐧

𝐏𝐝𝐞𝐬𝐭𝐢𝐧𝐨

Numero de secuencia

𝐀𝐂𝐊

𝐎𝐩𝐜𝐢𝐨𝐧𝐞𝐬

Comentarios

5000 21 5000 5000 21 5000 21

21 5000 21 21 5000 21 5000

760 410 761 761 411 961 611

761 411 411 961 611 1061

MSS=1000 MSS=500 -

Petición de inicio de conexión 2º mensaje de inicio de conexión 3º mensaje de inicio de conexión Cliente envía 200 bytes de datos Servidor envía 200 bytes de datos Cliente envía 100 bytes de datos. Servidor envía 100 bytes de datos.

EJERCICIOS

Resolución de la Práctica 5

RESOLUCIÓN (práctica 5 – INF273)

5. Suponga un enlace que conecta dos sistemas terminales tiene una velocidad de transmisión de 1 Gbps y se conoce que el retardo de propagación de ida y vuelta(RTT) a la velocidad de la luz es 30 milisegundos. ¿Qué tan grande debe ser el tamaño de ventana para que la tasa de utilización del enlace sea mayor que 95%? Suponga que el tamaño de un paquete es de 1.500 bytes, incluyendo tanto los campos de cabecera como los datos. SOLUCIÓN

R = 1Gbps RTT = 30 m seg L = 1500 Bytes 95% = 0,95

(Velocidad de transmisión) (Retardo de propagación de ida y vuelta) (Tamaño del paquete) 0,95 = 𝑈𝑒𝑚𝑖𝑠𝑜𝑟 × 𝑁

Vamos a despejar N:

0,95 𝑁= 𝑈𝑒𝑚𝑖𝑠𝑜𝑟 Vamos a hallar la Tasa de utilización del emisor: 𝐿/𝑅

𝑈𝑒𝑚𝑖𝑠𝑜𝑟 = 𝑅𝑇𝑇+𝐿/𝑅 Primeramente vamos a hallar el tiempo de demora de transmisión:

𝑑𝑡𝑟𝑎𝑛𝑠 =

𝐿 1500 𝑏𝑦𝑡𝑒𝑠 𝑏𝑖𝑡𝑠 1𝐺 = ×8 × 9 = 0,012 𝑚 [𝑠𝑒𝑔] 𝑏𝑖𝑡𝑠 𝑅 1 𝑏𝑦𝑡𝑒 10 1𝐺 × 𝑠𝑒𝑔

Vamos a hallar la tasa de utilización: 0,012 𝑚 𝑠𝑒𝑔 𝑈𝑒𝑚𝑖𝑠𝑜𝑟 = = 3,998 × 10−4 30 + 0.012 𝑚 𝑠𝑒𝑔 Finalmente vamos a hallar el numero de paquetes: 0,95 𝑁= = 2375,95 3,998 × 10−4 𝑁 = 2376 paquetes

6. Suponga que existen dos conexiones TCP en un cierto enlace de cuello de botella con una velocidad de R bps. Ambas conexiones tienen que enviar un archivo de gran tamaño (en la misma dirección a través del enlace de cuello de botella). Las transmisiones de los archivos se inician en el mismo instante. ¿Qué velocidad de transmisión podría proporcionar TCP a cada una de las conexiones? SOLUCIÓN

Como las dos conexiones TCP que comparten un mismo enlace, cuya velocidad es R, entonces suponemos que las dos conexiones tienen el mismo MSS y el mismo RTT por lo que tienen el mismo tamaño de ventana, tienen la misma tasa de transferencia.

𝑉𝑒𝑙𝑜𝑐𝑖𝑑𝑎𝑑 𝑑𝑒 𝑡𝑟𝑎𝑛𝑠𝑚𝑖𝑠𝑖ó𝑛 = 𝑉𝑡𝑟𝑎𝑛𝑠

𝑅 𝑅 = 𝑁° 𝐶𝑜𝑛𝑒𝑥𝑖𝑜𝑛𝑒𝑠 2

𝑅 = 2

7. Los hosts A y B están comunicándose a través de una conexión TCP y el host B ya ha recibido de A todos los bytes hasta el byte 126. Suponga que a continuación, el host A envía dos segmentos seguidos al host B. El primer y el segundo segmento contienen, respectivamente, 70 y 50 bytes de datos. El host B envía un paquete de reconocimiento cuando recibe un segmento del host A. Suponga que los dos segmentos enviados por A llegan en orden a B. El primer paquete de reconocimiento se pierde y el segundo llega después de transcurrido el primer intervalo de fin de temporización. Dibuje un diagrama de temporización que muestre estos segmentos y todos los restantes segmentos y paquetes de reconocimiento enviados. Suponga que no se producen pérdidas de paquetes adicionales. Para cada uno de los segmentos que incluya en su diagrama, especifique el número de secuencia y el número de bytes de datos y para cada uno de los paquetes de reconocimiento que añada, proporcione el número de reconocimiento. SOLUCIÓN

Como recibió todos los bytes hasta el byte 126, decimos que el primer segmento tendrá el número de secuencia de 127.

Host A

Host B

Time_out = 127

Seq=127, 70 bytes

Seq=197, 50 bytes Ack=197

Ack=247 Seq=127, 70 bytes

Ack=247

Tiempo

Tiempo

Ejercicios Ejercicio 1 Suponga que el host A envía dos segmentos TCP seguidos al host B a través de una conexión TCP. El primer segmento tiene el número de secuencia 90 y el segundo tiene el número de secuencia 110. a. ¿Cuántos datos hay en el primer segmento? b. Suponga que el primer segmento se pierde pero el segundo llega a B. En el paquete de reconocimiento que el host B envía al host A, ¿cuál será el número de reconocimiento? Respuestas: a) 20 bytes b) Numero de reconocimiento (ACK) = 90

Ejercicio 2 Considere el ejemplo de la conexión Telnet de la Figura. Unos pocos segundos después de que el usuario escriba la letra ‘C’, escribe la letra ‘R’. Después de escribir la letra ‘R’, ¿cuántos segmentos se envían y qué valores se almacenan en los campos número de secuencia y número de reconocimiento de los segmentos?

Respuestas: 3 segmentos Primer segmento: seq = 43, ack = 80; Segundo segmento: seq = 80, ack = 44; Tercer segmento: seq = 44, ack = 81;

• Clases de Auxiliatura https://drive.google.com/open?id=1zR98SHf_3487hX4VXvT6laas51Z6Q_LU • Clases de Auxiliatura Solución https://drive.google.com/open?id=1jD7fW_nuq_RrbaUNxBQIyAiLtraAd90s • Instalación Debian Zug https://medium.com/@borisvargas/instalaci%C3%B3n-debian-zurg-abbe3d608cf3 • INF-273 (I/2018) https://drive.google.com/open?id=1oMK8tEKFPZpZHpMpdP4uITVCYykUH8Cj • LIBROS https://drive.google.com/open?id=12ml6D4QG1kwcwmiXWQnkrxUL6l2Nukj3