Main

Cuestionario 2

1) es el trabajo de un protocolo de transporte? Explique brevemente al menos 3 de ellos.

  • entre procesos: Proporciona los mecanismos necesarios para que los procesos de la capa aplicacion puedan intercambiar .
  • y de los mensajes de los distintos procesos para ser transmitidos por un enlace de red (multiplexaje y demultiplexaje)
  • de errores y : la de errores engloba varios mecanismos para la de errores en la . La de errores engloba tomar una (tal como solicitar que los datos sean retransmitidos) hasta resolver cualquier error que se pueda presentar

2) En el caso del servicio de entrega de correo (ipostel, domesa,etc.). ha de cambiarse en el extremo final (las oficinas destino y origen) para que el servicio de capa transporte funcione radicalmente diferente.

  • Se en anexar una al paquete con la foto del mismo de tal manera que el receptor puede evaluar que el paquete no halla sufrido en el viaje, es decir hacer una especie de cheksum.
  • de seguros contra perdidas o : de que el producto a su destino y en buen estado
  • Automatizar el proceso de y en la oficina postal de manera que se agilice el proceso y sea mas eficiente

3) es la diferencia entre la conectividad ofrecida por la capa de Red y la capa Transporte?

La diferencia en que la capa de red ofrece un canal de comunicacion entre host conectados a una red, mientras que la capa transporte brinda un canal de entre procesos de los distintos hosts conectados a la red, recolectando los mensajes del canal de la capa de red y distibuyendolos a los distintos procesos del host y haciendo el proceso inverso cuando se quiere enviar.

4) Represente las funciones de un protocolo de transporte ( con la pila protocolar).

5) funciona el proceso de multiplexaje y demultiplexaje de la data en la a nivel transporte.

  • Multiplexaje: Consiste en reunir los paquetes de datos de los diferentes sockets en el host origen, encapsularlos en segmentos ( la cabecera de capa transporte) y pasarlos a la capa de red para que los trasmita.
  • Demultiplexaje: Consiste en repartir los segmentos que vienen de la capa de red a los sockets respectivos de los procesos a los que va dirigido. Esto se hace chequeando la cabecera de capa transporte del segmento y viendo el campo (o la de campos) que identifican el puerto del proceso al que va dirigido

6) es un puerto y clasificados los ?

Son el medio de acceso entre procesos de la capa y la capa transporte a del cual se hace el intercambio de la ( y ). Tienen un identificador : Una palabra de 16 bits que proporciona identificadores en el intervalo [0,65535]

clasificados de la siguiente manera:

  • El intervalo [0,1023] Son los llamados que reservados para aplicaciones especificas por ejemplo el 80 para HTTP y el 21 para FTP
  • El intervalo [1024,65535] Son los que disponibles para ser usados por cualquier otra

7) es el IANA?

Internet asigned numbers authority : Se encarga de asignar nombres y que son usados en los protocolos de internet como por ejemplo: IP's, nombres de dominio

8) se identifica un socket? es lo necesario para enviar data a un socket cualquiera?

Un socket UDP se identifica con:

  • IP del host destino
  • de puerto

Un socket TCP se identifica con:

  • IP del host origen
  • IP del host destino
  • de puerto origen
  • de puerto destino

Lo necesario para enviar data a un socket es lo identificado en el socket UDP, ip destino del host al cual me quiero conectar y el numero de puerto del proceso en al que va a llegar la data y la data.

9) en ocasiones se prefiere UDP a TCP como protocolo de transporte?

  • No hay establecimiento de la (handshaking): No introduce retraso para empezar la de data
  • Se pueden tolerar perdidas, para cuando la no es
  • No mantiene el estado de la : Por lo que ocupa menos recursos (memoria, procesador) al no tener buffers ni de adicionales (numero de secuencias, etc)
  • Cabecera es mas : 8 bytes en vez de los 20 bytes de TCP
  • Se quiere dejar mas control a la : Manejo de fiabilidad de datos menos estrictas que TCP por ejemplo
  • Es conveniente cuando se necesita trabajar con datos acumulativos donde importa son los datos mas recientes y no toda la traza de datos

10) hay aplicaciones multimedia que utilizan TCP como protocolo de transporte? (ayuda: piense en skype)

Para no congestionar la red. Porque algunos firewalls no permiten el paso UDP. Porque algunas aplicaciones multimedia no toleran perdidasy usan buferizacion (video, audio)

11) Haga el checksum para las siguientes 2 palabras de 16 bits: 01010111 01010001 01010100 11010110

0101011101010001 + 0101010011010110 = 1010110000100111

complemento 1: 0101001111011000

Checksum: 0101001111011000

12) el algoritmo rdt-‐1.0 introduciendo detalles a la make_pkt(data). (ayuda: piense en la ).

make_pkt(data):

Extraer el segmento de MSS (o menor si es el ultimo) del respectivo.

Colocar la longitud de la cabecera. el de segmento de data ( de serie del paquete).

Calcular valor para ckecksum.

Colocar el valor para el checksum en el paquete.

Colocar de origen y destino de los puertos.

Unir la cabecera del mensaje (los datos anteriormente mencionados) con el mensaje de data para formar el paquete a enviar.

13) es la diferencia entre los algoritmos rdt-‐1.0 y rdt-‐2.0?

En rrt 2.0 se agrega la de errores en los bits mediante el checksum:

  • Si hay errores se reconocimientos negativos para que el emisor retransmita
  • Si no hay errores se reconocimientos positivos para decir que los datos llegaron bien

14) consisten los reconocimientos negativos (NACKs)?

Son tipos de mensajes que usa el receptor para informar al emisor que hubo error en la de un paquete

15) Liste las distintas formas que existen para manejar la con errores.

Si son errores en los paquetes se maneja mediante la al recibir un NACK del receptor

Si son errores en los reconocimientos:

  • Pedir que se repita el ACK: un ciclo infinito de reenvios si se vuelve a corromper el ACK
  • mas bits al ACK para poder auto recuperar la del ACK
  • Reenviar los datos si detecta que corrupto el ACK: el problema de como el receptor detecta que el nueva o un innecesario. Se soluciona con la de los de secuencia a los paquetes

16) hace rdt-‐2.1 para manejar los NACKs desordenados?

Mediante los de secuencia de un bit (0 o 1)

17) hizo falta en rdt-‐2.2 para eliminar los NACKs, es decir, utilizar exclusivamente ACKs?

Mediante el al ACK del de secuencia que reconociendo. Si el paquete llega corrupto, en vez de mandar un NACK, se manda un ACK con el de secuencia anterior. Cuando el emisor detecta que es un ACK duplicado (porque tiene el mismo numero de secuencia que el anterior recibido) los datos.

18) Haga la de estados finitos para el receptor de rdt-‐3.0.

19) Mediante un ejemplo, calcule el rendimiento (en del porcentaje de del canal) de rdt-‐3.0. Proponga una forma (procedimiento o algoritmo) de mejorar protocolo.

  • Tasa de : R
  • del paquete: L
  • Tiempo de ida y vuelta: RTT
  • Delay de : d_trans = L/R
  • del canal: O_canal = (t_ocupado)/(t_) = (d_trans)/(t_total)

En t=0 el paquete y llega al receptor en t=d_(trans)+(RTT/2)

Si consideramos que el delay del ACK es despreciable, tarda en llegar al emisor t=(RTT/2)

Entonces el tiempo total: t_total = d_trans+((RTT)/2)+(RTT/2) = d_trans+RTT

La del canal : O_canal = (L/R)/((L/R)+RTT )

Ejemplo: Si L=5000 Bytes y R=1MBit/sg y RTT=20ms

  • O_canal = ((40000/1000000))/((40000/1000000)+0.02)
  • O_canal = 0.666

El canal ocuapdo el 66\% del tiempo

20) que consiste el algoritmo de de errores Go-‐Back-‐N?

La idea fundamental de este algoritmo es que posee del lado del emisor una ventana de de paquetes que indica el numero de secuencia de los paquetes que pueden estar en transito en un momento dado y se dispone de un temporizador para el paquete que al inicio de esa ventana (el mas antiguamente enviado). Si ese temporizador llega a un tiempo establecido sin haber recibido el ACK correspondiente al paquete, entonces se \emph{todos} los paquetes que estaban dentro de la ventana. Si al contrario el ACK llega antes de que el temporizador expire, se desliza la ventana de , es decir, se habilita un numero de secuencia mas dentro de la ventana para que se puedan enviar mas datos. Del lado del receptor se reciben paquetes en orden, es decir, si no llega el paquete esperado descarto el paquete entrante y el ack del paquete anterior recibido indicando que se sigue esperando por el deseado

21) Dibuje una ventana de y explique sus partes.

  • Los en verde corresponden a los paquetes que han sido enviados y reconocidos
  • Los en amarillo son aquellos que han sido enviados pero aun no han sido reconocidos
  • Los en azul son espacios ( de secuencia) disponibles para enviar paquetes inmediatamente sean enviados desde capa
  • Los en blanco no disponibles aun para enviar pues la ventana no ha deslizado

22) se denomina protocolo de ventana deslizante al protocolo de cuando se usa pipelining (entubamiento)?

Debido a que usan una ventana de la cual al llegar los reconocimientos de los paquetes al inicio de la ventana, habilita mas de secuencia para enviar paquetes, de tal manera que siempre puedan estar en transito cierta cantidad de paquetes que el de la ventana, la cual hace la similitud de deslizarse por los de secuencia pues si llega un ack "por la izquierda" de la ventana, habilita el numero de secuencia de "la derecha" de la ventana.

23) consideraciones deben tenerse con los de secuencia en un protocolo de de datos?

El rango de de secuencia debe ser incrementado, ya que los paquetes en deben tener un de secuencia y haber por lo tanto paquetes no reconocidos. El rango de de secuencia necesario y los requisitos de almacenamiento del modo en que cada protocolo de transferencia de datos responda a la , o excesivo retraso de los paquetes.

24) que consiste el protocolo Selective Repeat?

Es un protocolo de entubamiento, cuya principal es que el receptor reconoce cada paquete que llega correcto y en el emisor cada paquete que envia tiene un temporizador. Si al emisor llegan paquetes desordenados se guardan en un buffer en la capa transporte y cuando llegan los paquetes que llenan los huecos causantes del desorden, es decir, cuando ya la secuencia de paquetes en orden, es que se entregan a la capa . Del lado del emisor si ocurre el timeout del temporizador de algun paquete en la ventana, se ese paquete.

26) un emisor que usa Selective-‐Repeat no puede diferenciar las causas de las de datos?

Porque utiliza un ACK por paquete y la forma de saber que hubo perdida es que al emisor no llegue el ACK del paquete y expire el temporizador, lo cual puede ser causado porque el paquete no al receptor y nunca mando el ACK o porque si al receptor y el ACK fue el que no al emisor. Esto no sucede cuando se usa ACK acumulativos (como en GoBackN) pues el emisor sabe que fue el paquete el que se cuando le llega un ack duplicado y sabe que fue el ACK el que se si llega un ack reconociendo un numero de secuencia superior.

27)En consiste el solapamiento de bordes y mediante un ejemplo muestre resolver este problema. '

Consiste en que el emisor los paquetes con el numero de secuencia respectivo y el receptor los recibe, pero al emisor no le llegan los ACKs y expira el temporizador por lo que los paquetes. Si la secuencia de los de secuencia de los paquetes es limitada y si se tiene un ventana de suficientemente grande, ocurre que el receptor que son datos nuevos los que recibiendo debido a que el ya su ventana de y a comenzar su secuencia y los numeros en los paquetes a nuevos paquetes, incurriendo en un error.

Ejemplo:

Como se observa en la figura si el emisor tiene que volver a enviar el paquete con el de secuencia 0 el receptor lo como un paquete nuevo pues ya en su secuencia de

La a este problema es reducir el de la ventana de / como tope superior la mitad del numero de secuencia:

N = maxSeq/2

28) servicios ofrece TCP a la capa ?

<<<<<<< La meta final de la capa transporte es proporcionar un servicio eficiente, confiable y a sus usuarios, que normalmente son procesos de la capa . Para lograr este objetivo, la capa transporte utiliza los servicios proporcionados por la capa de red. El hardware o software de la capa transporte que se encarga del trabajo se llama entidad de transporte, la cual puede estar en el del sistema operativo, en un proceso independiente, en un paquete de biblioteca o en la tarjeta de red.

Hay dos tipos de servicio en la capa transporte, orientado y no orientado a la . En el servicio orientado a la consta de tres partes: establecimiento, transferencia de datos, y . En el servicio no orientado a la se tratan los paquetes de forma individual.

Es la primera capa que lleva a cabo la extremo a extremo, y esta ya se en las capas superiores.

29) es la estructura del encabezado de un segmento TCP?

  • Puerto fuente (16 bits): Identifica el puerto a del que se los datos.
  • Puerto destino (16 bits): Identifica el puerto del receptor
  • de secuencia (32 bits): Sirve para comprobar que segmento se ha perdido, y que llegan en el orden correcto.
  • de /reconocimiento (32 bits): Si el bit ACK tiene valor 1, este campo contiene el de secuencia del siguiente paquete que el receptor espera recibir.
  • Desplazamiento de datos (4 bits): Especifica el de la cabecera TCP en palabras de 32-bits
  • Reservado (4 bits): Reservados para usar en mejoras del protocolo
  • URG (1 bit): Si en 1 significa que el campo es significativo, si no, el valor de este campo es ignorado.
  • ACK (1 bit): Si en 1 entonces el campo con el de /recoocimiento es (si no, es ignorado).
  • PSH (1 bit): Si en 1 se activa la que hace que los datos de ese segmento y los datos que hayan sido almacenados anteriormente en el buffer del receptor deben ser transferidos a la receptora inmediatamente.
  • RST (1 bit): Si en 1 termina la sin esperar respuesta.
  • SYN (1 bit): Si en 1 activa la de los de secuencia.
  • FIN (1 bit): Si en 1 es porque no hay datos a enviar por parte del emisor, esto es, el paquete que lo lleva activo es el de una .
  • Ventana (16 bits): Es el de la ventana de , que especifica el de bytes que el receptor actualmente dispuesto recibir.
  • Suma de (checksum) (16 bits): Se utiliza para comprobar si hay errores en el paquete
  • Puntero urgente (16 bits): Si el bit URG activado, entonces este campo indica el desplazamiento respecto al de secuencia que indica el byte de datos marcados como "urgentes".

30)Liste al menos dos maneras de manejar los segmentos fuera de orden para TCP. con los RFC 5681 y RFC 2018.

  • Se desechan y se manda el ACK del paquete en orden esperado
  • Se guardan en un buffer y se mandan ACK para que los segmentos ausentes para rellenar los huecos que causan el desorden y al estar completos los paso a capa en orden y el ACK correspondiente al segmento en orden a recibir

31) que consiste la apertura y el cierre de una TCP?

  • Apertura: Es un procedimiento de 3 pasos, en donde el cliente solicita la al servidor un paquete con el bit SYN activado. El servidor recibe el paquete, chequea que el puerto al que va destinado ese paquete abierto, reserva los recursos necesarios para la y responde con un paquete SYN/ACK, en caso de no estar abierto el puerto responde con un paquete con la bandera RST activa y cierra la . El cliente recibe el paquete SYN/ACK y responde con un paquete con la bandera ACK activa.
  • Cierre: El que decida cerrar la (cliente o servidor) un paquete con el bit FIN activado. El otro debe mandar un paquete con el bit ACK activado reconociendo que se quiere cerrar la y se entregan los recursos al sistema operativo.

32) se distingue un paquete de datos de un ACK en el protocolo TCP? un paquete de datos ser un ACK al mismo tiempo? Explique.

Si el bit ACK activo es un ACK. Puede ser ACK puro (tiene longitud de paquete cero) o un ACK que lleva datos, ya que en una full-duplex, en un mismo paquete puede ir la data que se quiere enviar y al mismo tiempo reconocer el paquete anteriormente recibido poniendo el bit ACK activo y en el campo de reconocimiento el numero de secuencia del paquete a reconocer

33)En general, es la forma de de datos de TCP? Cuantos timers se utilizan?

La forma de de TCP es mediante el de los paquetes que no llegan. Se utiliza un solo timer. Dos situaciones pueden causar :

  • El receptor ACK duplicados cuando los paquetes llegan en desorden para solicitar el de los paquetes que llenan los huecos.
  • El emisor es el que tiene el timer para el paquete mas antiguo transmitido. Si el timer expira se retransmite el paquete.

34)Describa mediante un diagrama de flechas opera TELNET.

Como se muestra en la figura TELNET opera en full-duplex. Cuando el host A envia una letra al host B un paquete al host A reconociendo esa letra y diciendo que le la (ACK=43) y al mismo tiempo (en el mismo paquete) devuelve la data, es decir, la letra, para que sea mostrada por pantalla en el host A.

36) siempre es preferible no recuperar los errores de mediante el mecanismo de timeout?

Porque pueden incrementar los tiempos de considerablemente ya que por cada timeout, para no congestionar mas la red con las retransmisiones, se duplica el valor del tiempo del timer en vez de calcularlo por de RTT.

37) es imprescindible el mecanismo de timeout?

Porque se necesita asegurar que el paquete llegue, es decir, que no se vuelva infinito el tiempo de espera del emisor. Con el timeout se el paquete en un tiempo determinado por lo que si no habia llegado, usualmente en la .

38)Liste y describa las reglas para la de un segmento.

Llegada de un segmento en orden: si es el primero esperar hasta 500ms, si es el segundo enviar ACK inmediatamente.

Llegada de un segmento en desorden: enviar un ACK duplicado

Llegada de un segmento que cierra un hueco: enviar un ACK del segmento final del hueco.

39) es una ?Ejemplifique con un diagrama de flechas. Es un mecanismo que permite detectar de manera mas una perdida de un paquete, en al timeout. Se emplean ACKs duplicados: al recibir 3 ACKs con el mismo numero de secuencia, se el paquete correspondiente, sin esperar que se dispare el timeout.

40) es el control de flujo? se implementa en TCP?

Es un mecanismo utilizado para evitar saturar al receptor datos cuando no los puede procesar. En TCP se implementa en el receptor con una ventana de . El receptor le indica al emisor en el elvcabezado TCP de los ACKs, en el campo Ventana, cuantos paquetes puede recibir. Ventana es 0, el emisor no mas paquetes hasta comprobar (mediante el de bytes de prueba) que la ventana es mayor a 0.

41)Describa el cierre de una TCP. es la inmediata a nivel de los recursos administrados por el sistema operativo?

En el cierre de es necesario cerrar cada uno de los dos sentidos de flujo de datos de forma independiente. El proceso es el siguiente:

  1. La que ya no tiene datos que transferir, un segmento con el bit FIN activado y cierra el sentido de de datos. Mientras que el sentido de de la sigue abierto.
  2. La receptora recibe el segmento con el bit FIN activado y devuelve el correspondiente ACK de reconocimiento, pero no cierra inmediatamente el otro sentido de la sino que informa a la de la de cierre. se produce un lapso de tiempo hasta que la decide cerrar el otro sentido de la .
  3. La primera recibe el segmento ACK.
  4. Cuando la receptora toma la de cerrar el otro sentido de la , un segmento con el bit FIN activado y cierra la .
  5. La primera recibe el segmento FIN y el correspondiente ACK.
  6. La receptora recibe el segmento ACK.

42) se producen en una red? Explique un escenario donde existan con TCP.

  • Ruido en la
  • Descarte de paquetes por

Un escenario puede ser un emisor y un receptor conectados por un router cuyo buffer de almacenamiento de paquetes mientras se al medio , es finito. Si el emisor muchos paquetes, tantos como para llenar el buffer del router, cuando los siguietes paquetes estos se descartaran pues no van a lograr entrar al buffer.

43) sirven mayoritariamente los ACKs? Liste los tipos de ACKs.

Para que el receptor avise al emisor que el paquete

45) funciona el algoritmo de control de Additive Increase, Multiplicative Decrease? Describa los casos de uso en una red sin perdidas aleatorias y con perdidas aleatorias.

Se establece un umbral de ventana de . Cuando el ancho de la ventana de es mayor a ese umbral, se incrementa en 1 segmento ese ancho por cada RTT (Incremento aditivo), hasta que suceda una .

  • Si la es porque se detectan ACKs duplicados: Se reduce el umbral y el ancho de la ventana a la mitad del valor del ancho de la ventana en ese momento (Decremento Multiplicativo)
  • Si la es detectada por Timeout: Se reduce el umbral a la mitad del valor del ancho de la ventana en ese momento (Decremento Multiplicativo) y la ventana se reinicia a 1 MSS ( de Segmento)

47)Suponga que se tiene un archivo de 500KB, que la TCP paquetes de 1000 Bytes y que los buffers son infinitos. Suponga , que el ssthresh es fijado en 150000 Bytes. RTTs son necesarios para hacer la transferencia completa:

  • del archivo = 500 KB = 512000 bytes
  • de segmento = 1000 bytes
  • umbral = 150000 bytes
  • Buffers Infinitos: No hay cola de espera y No hay perdidas
a. Si no se consideran los paquetes de control

La tasa de crecimiento por cada RTT en Slow Start viene dada por: cwnd=2^(RTT+1).(1000)bytes

Al septimo RTT se pasa el umbral:

cwnd=2^(7+1).(1000) = 256000 bytes

Por lo que se entra en la fase de Congestion Avoidance.

Se han enviado 256000 bytes por lo que restan 256000.

La ventana en 256000 bytes, por lo que es necesario un RTT para haber enviado todo el archivo.

RTT_necesarios = 8

b. Si se consideran los paquetes de control

Al considerar los paquetes de control agregamos a la respuesta anterior:

  • 1 RTT por el paquete de (SYN y SYN+ACK)
  • 1/2 RTT por el ACK de respuesta a la
  • 2 RTT por lor paquetes de fin de conexion (FIN y ACK cliente y FIN y ACK servidor)

RTT_necesarios = 12

48) que consiste la justicia en el uso del ancho de banda? se interpreta la de Jain para medir justicia? En un escenario con 2 conexiones TCP, muestre los valores del indice de Jain si:

La justicia en el uso de ancho de banda establece que

Si N conexiones TCP comparten un enlace, la capacidad del enlace R repartirse entre todas por igual: R/N

La Jain es: JI=((sumatoria(xi)^2))/(n*sumatoria(xi^2))

Donde:

  • xi : Rendimiento Normalizado de la conexion i => xi = Ti/ Oi ,
  • Ti : Rendimiento medido de la conexion i,
  • Oi : Rendimiento justo teorico de la conexion i
  • n = Numero de conexiones.

Y se interpreta como el indice de equidad en el uso del ancho de banda. Este indice en el rango [0, 1]. Mientras mayor sea el valor del , existe mayor equidad.

a. Ambas conexiones tienen un rendimiento de R/2

T1 = R/2, T2 = R/2 , O1 = R/2 , O2 = R/2 , n = 2

  • x1 = (R/2)/(R/2) = 1
  • x2 = (R/2)/(R/2) = 1
  • JI=((1+1)^2)/(2*(1^2+1^2)) = 1

Lo cual significa equidad perfecta

b. Una rinde R y la otra rinde 0 (cero)
  • T1 = R , T2 = 0 , O1 = R/2 , O2 = R/2 , n = 2
  • x1 = ((R)/(R/2)) = 2
  • x2 = ((0)/(R/2)) = 0
  • JI=((2+0)^2)/(2*(2^2+1^0)) = 0.5

Lo cual significa que la 2 subutlizando el canal.