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

De Cuba-Wiki
Saltar a: navegación, buscar
Back.png Volver a la página de la materia

Enunciado[editar]

Tc 1p2c05.JPG

Solucion[editar]

Prácticos[editar]

Ejercicio 1[editar]

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
Campo datos Identificacion Offset Flag
1o datagrama 880 bytes (ya explicado) 552 0 (no hay ningun dato anterior) 1 (quedan mas fragmentos)
2o datagrama 880 bytes 552 880 1 (queda un fragmento mas)
3o datagrama 420 552 1760 (880*2) 0

Nota: Según el Peterson el valor de Offset es un múltiplo de 8 bytes. Por lo tanto lo correcto es que los offset sean: 880 / 8 (110) y 1760 / 8 (220). (Desconozco la rta. oficial --estoy escribiendo esto en el 2008 -- calculo que no habrán bajado puntos por esa omisión)

Ejercicio 2[editar]

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[editar]

Se tienen en total 8 VLANs unidas por un router que les provee acceso a Internet. Se tiene la dirección pública 157.92.40.0/24 para asignar, solamente 5 de las 8 la requieren porque las demás pueden manejarse con privadas. Si no tomamos las últimas 3 con direcciones privadas, necesitaríamos un total de 260 direcciones, cuando sólo contamos con 256.

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. Y SwitchToRouter, que es la red formada entre el switch y el router.

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 /24 (*)
VLAN7 10 13 /24 (*)
VLAN8 10 13 /24 (*)
SwitchToRouter 2 4 /30

(*) Estas son asignadas arbitrariamente, ya que se les dará direcciones privadas.

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 número 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 192.168.1.0/24
VLAN7 192.168.2.0/24
VLAN8 192.168.3.0/24
SwitchToRouter 157.92.40.208/30

Para SwitchToRouter se usan /30, porque no son redes que escalan (son enlaces punto a punto).

Ejercicio 4[editar]

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.

Pueden simular este comportamiento utilizando este simpático applet:

Applet que permite interactuar con el algoritmo

Conceptuales[editar]

Ejercicio 1[editar]

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[editar]

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[editar]

Verdadero. Como la codificacion es libre de prefijos, entonces puedo agregar lo que quiera como sufijo y va a seguir siendolo. Por ejemplo, puedo agregar un 1 al final, despues dos, y asi hasta el infinito.

Ejercicio 4[editar]

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.