Primer Parcial 2do Cuat 2005 (Teoría de las Comunicaciones)

De Cuba-Wiki

Enunciado

Practicos

1- Sobre la fragmentacion en IP. Completar los datos faltantes indicados con el signo "?". Explicar brevemente. (Flag = MF = More Fragment, datagrama IP sin opciones, offsets expresados en bytes)

Datagrama original:

Tamaño datagrama entrante = 2200 bytes
Identificacion del datagrama entrante = 552
MTU de la red de salida = 900 bytes

Datagrama luego de la fragmentacion:

1er datagrama: Campo datos = ? bytes / Identificacion = 552 / Offset = ? / Flag = ?
2do datagrama: Campo datos = 880 bytes / Identificacion = ? / Offset = 880 / Flag = ?
3er datagrama: Campo datos = 420 bytes / Identificacion = 552 / Offset = ? / Flag = 0

2- Se tiene un etherchannel con 4 enlaces de 1Gbps cada uno, uniendo a los switches A y B. Al switch A se conectan 4 PCs, dos a 100Mbps cada una y dos a 1Gbps cada una. Al switch B se conecta 3 servidores (host) a 1Gbps cada uno. Se podra usar los 4Gbps del etherchannel en algun momento?

3- Se tiene una red implementada con IP. Se utiliza la direccion de red 157.92.40.0/24 para direccionar a los hosts de esta red. Se quiere distribuir estas direcciones entre 8 VLANs conectadas en un unico switch, dos de las cuales presenta 40 hosts como maximo, otras dos presenta 20 hosts como maximo y las restantes 10 hosts como maximo. Tres de estas ultimas no necesitan acceso a Internet. Dibujar un esquema de como distribuir las direcciones de red, indicando una posible numeracion con su correspondiente mascara. Tenga en cuenta que el switch tiene una conexion al router que rutea entre las VLANs y da acceso a Internet.

4- Un protocolo de capa 2 punto a punto (nodos A y B) utiliza la tecnica de ventana deslizante go-back-n (sin NAK), con 3 bits de secuenciamiento. En un momento determinado, A como emisor envio las tramas marcadas como 0, 1, 2 y 3 y se perdio la trama marcada como 1. Explique cuales son los pasos siguientes entre A y B hasta recuperarse del error. Describa cada trama.

Conceptuales

1- Si Ethernet no es un protocolo confiable, entonces por que tiene un codigo detector de errores (CRC)?

2- Describir tres ventajas de un protocolo que implementa Link-State contra Distance-Vector.

3- Decidir si la siguiente frase es verdadera o falsa: Dado un codigo univocamente decodificable, se puede obtener infinitos codigos univocamente decodificables a partir de el.

4- En las redes de hoy en dia empiezan a surgir muchas aplicaciones de naturaleza multicast (video digital, por ejemplo). Cual cree que es mejor para este tipo de trafico, una red basada en circuitos virtuales o una red basada en datagramas?

Resolución

Prácticos

Ejercicio 1

El tamaño del datagrama original son 2200 bytes; como el header son 20 bytes, entonces la parte de datos a dividir son 2180 bytes.

Como la red de salida es de 900 bytes, y se debe incluir el header de 20 bytes, cada fragmento puede contener a lo sumo 880 bytes de datos. Entonces se fragmenta en 880+880+420 = 2180.

Resultado de los datagramas de salida:

  1. 1er datagrama:
    1. Campo datos = 880 bytes (ya explicado)
    2. Identificacion = 552
    3. Offset = 0 (no hay ningun dato anterior
    4. Flag = 1 (quedan mas fragmentos)
  2. 2do datagrama:
    1. Campo datos = 880 bytes
    2. Identificacion = 552 (el ID es el del paquete)
    3. Offset = 880
    4. Flag = 1 (queda un fragmento mas)
  3. 3er datagrama:
    1. Campo datos = 420 bytes
    2. Identificacion = 552
    3. Offset = 1760 (880*2)
    4. Flag = 0
Ejercicio 2

El ancho de banda debe medirse en ambos sentidos. Si se envía de A hacia B, el ancho maximo es de 2*1Gbps + 2*200Mbps = 2200Mbps. Si se hace de B a A, entonces el maximo es de 3*1Gbps = 3Gbps.

El ancho maximo alcanzable es entonces de 3Gbps, sin poder alcanzar nunca los 4Gbps del etherchannel.

Ejercicio 3

Se tienen en total 8 VLANs unidas por un router que les provee acceso a Internet. Se tiene la direccion publica 157.92.40.0/24 para asignar, solamente 5 de las 8 la requieren porque las demas pueden manejarse con privadas, aunque la cantidad es suficiente para asignar públicas a todas.

Para cada VLAN, se necesitan n+3 direcciones, donde n es la cantidad de hosts. Las direcciones adicionales son la dirección de red (máscara + 0s), la de broadcast (máscara + 1s) y la del port del switch que conecta a esa VLAN.

Para obtener la cantidad de bits de la máscara, se busca el menor 2^k tal que la cantidad de direcciones sea menor a 2^k. Como la dir tiene 32 bits, la máscara necesitará 32 - k.

Las columnas de la siguiente tabla son el nro de VLAN, la cantidad de hosts, de direcciones necesarias y la cantidad de bits de la máscara.

VLAN Hosts Direcciones Máscara
VLAN1 40 43 /26
VLAN2 40 43 /26
VLAN3 20 23 /27
VLAN4 20 23 /27
VLAN5 10 13 /28
VLAN6 10 13 /28
VLAN7 10 13 /28
VLAN8 10 13 /28

La asignación se hace comenzando a partir de la mayor VLAN a la menor, para evitar que queden huecos desperdiciados.

La siguiente tabla tiene el nro de red de cada VLAN asignado en orden.

VLAN1 157.92.40.0/26
VLAN2 157.92.40.64/26
VLAN3 157.92.40.128/27
VLAN4 157.92.40.160/27
VLAN5 157.92.40.192/28
VLAN6 157.92.40.208/28
VLAN7 157.92.40.224/28
VLAN8 157.92.40.240/28
Ejercicio 4

Primero B recibe el frame 0, con lo que manda el ACK correspondiente. Al recibir el 2 y 3, no envia nada, quedandose a la espera del 1.

Cuando en A termina el timeout correspondiente para recibir el ACK de 1, reenvia todos los paquetes a partir de 1, es decir, 1, 2 y 3. Notar que B descarta los 2 y 3 originales, pues nunca llego el 1.

Al recibir los paquetes 1, 2 y 3, B envia un ACK por cada uno y se incrementan las ventanas de cada uno para continuar, ya repuestos del error.

Conceptuales

Ejercicio 1

Porque la confiabilidad se refiere al control de flujo, es decir, si el protocolo garantiza o no el envío exitoso de los paquetes. El control de errores es independiente de la confiabilidad.

EDIT: Me parece que no es independiente, es una parte. Confiabilidad = garantiza que lleguen + que lleguen en orden + que lo que llegue es lo que se envió (control de error)

Ejercicio 2

No verificado, todavia no lei Link State ni Distance Vector

  • Link State tiene como ventaja que tiene una vision global de la red en cada router, a diferencia de distance vector que arma el ruteo con la tabla del vecino.
  • Es mas rapido, ya que distance vector actualiza la tabla de delay cada x tiempo, donde x no es demasiado grande. En cambio link state lo hace cuando hay un cambio en la topologia.
  • Al caerse un router no actualiza toda la topologia solo busca un camino mas corto a ese router y a los que llegaba por ese router. Por lo tanto ante estos inconvenientes no actualizo todo. En distance vector deberia chequear toda la tabla cada vez, incluyendo esta por lo cual tardaria mas. Aparte al no esperar un tiempo para actualizar y hacerlo cada vez que cambia algo es mas seguro ya que si distance vector no tiene triggered update solo se actualiza en un tiempo dado, entonces no se dara cuenta del cambio y puedep erder mensajes.
Ejercicio 3

No verificado, todavia no estudie teoria de la informacion. Para mi depende del codigo, la justificacion esta no esta bien.

No, porque en algun momento tendre codigos no univocamente decodificables, ya que no podria asegurar que ninguna palabra sea prefijo de otra, entonces en algun momento tendre una combinacion de orden n que no sea singular. En realidad no seria un no absoluto tambien dependeria mucho del codigo de entrada.

Ejercicio 4

Los circuitos virtuales tienen la ventaja de los paquetes ordenados, pero implica la necesidad de establecer una conexion previo a cada transmision y liberarla al finalizar. Siendo que se trata de aplicaciones multicast, donde deberia ser necesario establecer muchas conexiones (una hacia cada host), este overhead hace que resulte mas conveniente el uso de datagramas.