Diferencia entre revisiones de «Práctica 1: Fundamentos, Direct Links y LAN Switching (Teoría de las Comunicaciones)»

De Cuba-Wiki
Línea 360: Línea 360:
==Ejercicio 26==
==Ejercicio 26==
==Ejercicio 27==
==Ejercicio 27==
''¿Por qué es importante para los protocolos configurados sobre Ethernet tener un campo de longitud en su encabezado indicando cuán largo es el mensaje?''
'''Respuesta:'''
Esto es debido a que los mensajes pueden tener longitud variable. Deben tener un mínimo de 46 bytes (así esta definido en el standard de ethernet) para poder detectar colisiones.
==Ejercicio 28==
==Ejercicio 28==
==Ejercicio 29==
==Ejercicio 29==

Revisión del 21:24 26 sep 2007

Volver a la página de la materia

Ejercicio 01

Los Ministros de Relaciones Exteriores frecuentemente intercambian información relativa al desarrollo de las relaciones diplomáticas entre los países que representan. El Canciller de Argentina desea entregarle cierta información a su par de Francia. El Canciller argentino confecciona el mensaje en castellano y lo entrega a la Oficina de Traducciones del Consulado donde el mismo es transcripto a un idioma común de intercambio entre traductores, para el caso, el idioma inglés. Luego de traducido el mensaje es entregado por la OT a la Oficina Criptográfica, la cual se encarga de codificar el mensaje para evitar filtraciones de seguridad. La OC a su turno entrega el mensaje ya encriptado a la Oficina de Comunicaciones la que se encarga de la transmisión del mensaje, que es recibido por una dependencia similar en la Cancillería Francesa. Una vez recibido en Francia por la Oficina de Comunicaciones, el mensaje es entregado a la Oficina Criptográfica la cual luego de descifrarlo lo entrega a la Oficina de Traducciones desde donde, luego de traducido al idioma nativo, es recibido por el Canciller francés.

¿Es este un ejemplo de un protocolo multicapa en el sentido del modelo OSI? En caso afirmativo determinar distintos niveles de comunicación. Para cada nivel indicar el servicio genérico que brinda y los protocolos utilizados.

Si, lo es. La explicación está en un apunte de la cátedra llamado OSIModel.pdf en la página 2.

Ejercicio 02

Para un modelo de software de red organizado en capas (ej. OSI, TCP/IP), indicar si las siguientes afirmaciones son verdaderas o falsas:

  1. Si la capa n ofrece servicio orientado a conexión, entonces la capa n+1 debe ofrecer necesariamente servicio orientado a conexión.
  2. Si la capa n ofrece servicio orientado a conexión, entonces la capa n-1 puede ofrecer servicio sin conexión.
  3. Si la capa n ofrece servicio sin conexión, entonces la capa n+1 no puede ofrecer servicio orientado a conexión.

Respuestas:

  1. Falso, la capa superior puede introducir nuevos problemas que hagan imposible la conexión.
  2. Verdadero, la capa superior puede utilizar a la inferior para generar una conexión, solucionando los problemas que tuviese.
  3. Falso, la capa superior puede generar la conexión.

Las capas son independientes unas de las otras.

Ejercicio 03

El utilitario ping puede ser utilizado para encontrar el Round Trip Time (RTT) a varios hosts de Internet. Lea la página del manual del ping, y úselo para encontrar el RTT a www.w3.org y www.uba.ar

Que ejercicio sin sentido, pero voy a hacerlo porque no hay que pensar:

PING www.uba.ar (157.92.44.2): 56 data bytes
64 bytes from 157.92.44.2: icmp_seq=0 ttl=55 time=30.822 ms
64 bytes from 157.92.44.2: icmp_seq=1 ttl=55 time=23.599 ms
64 bytes from 157.92.44.2: icmp_seq=2 ttl=55 time=22.151 ms
64 bytes from 157.92.44.2: icmp_seq=3 ttl=55 time=14.299 ms
64 bytes from 157.92.44.2: icmp_seq=4 ttl=55 time=21.889 ms
64 bytes from 157.92.44.2: icmp_seq=5 ttl=55 time=55.129 ms
64 bytes from 157.92.44.2: icmp_seq=6 ttl=55 time=36.559 ms
64 bytes from 157.92.44.2: icmp_seq=7 ttl=55 time=11.771 ms
64 bytes from 157.92.44.2: icmp_seq=8 ttl=55 time=16.614 ms
--- www.uba.ar ping statistics ---
9 packets transmitted, 9 packets received, 0% packet loss
round-trip min/avg/max/stddev = 11.771/25.870/55.129/12.684 ms

Ejercicio 04

Suponga que se instala un enlace punto-a-punto de 100Mbps entre la Tierra y una nueva colonia en la Luna. La distancia entre la Luna y la Tierra es de aproximadamente 386243 kilómetros, y los datos atraviesan el enlace a la velocidad de la luz (299338 kilómetros por segundo).

  1. Calcule el mínimo RTT del enlace.
  2. Usando el RTT como delay, calcule el producto delay x bandwith para el enlace.
  3. ¿Cuál es el significado del producto delay x bandwith calculado en el punto anterior?
  4. Una cámara en la base lunar toma fotografías de la Tierra y las guarda en formato digital en un disco. Suponga que el Control de Misión en la Tierra desea descargar la última imagen que es de 25 MB. ¿ Cuál es el tiempo mínimo que puede transcurrir entre el momento en que se inicia el pedido del dato y finaliza la transferencia ?

Respuestas:

Ver pp 40-50 del Peterson

1. El roundtrip time es el tiempo que toma a un único bit ir de un extremo a otro del enlace y volver. Es el doble de la latencia, la cual se calcula como:

Latency = Propagation + Transmit + Queue
Propagation = Distance / c 
Transmit = Size / Bandwidth 

Entonces el RTT vale:

RTT = 2 * Latency =
    = 2 * Distance / c + 2 * Size / Bandwidth + 2 * Queue =
    = 2 * 386243 km / 299338 km/s + 2 * 1bit / 100Mbps + 0 =
    = 2.58s + 2E-8 = 2.58s


2. El producto delay x bandwidth vale

Delay * BW = 2.58s * 100Mbps = 258 000 000 bits

3. El producto delay x bandwidth representa la cantidad de data "en vuelo" que puede haber simultáneamente en el enlace, es decir, cuánta data se necesita para saturar el enlace. Al utilizar el RTT en lugar de la one way latency, indica la data necesaria para llenarlo en ambos sentidos.

4. El tiempo de transferencia se calcula como

TransferTime = RTT + 1 / BW * TransferSize

El RTT resume los tiempos de delay para el envio del pedido y la recepcion del paquete, mientras que el segundo sumando se refiere al ancho de banda y el tamaño del paquete.

TransferTime = 2.58s + 1 / 100Mbps * 200Mb = 4.58s

Otra fórmula útil es la del throughput, que indica la performance de un enlace

Throughput = TransferSize / TransferTime

Ejercicio 05

Identifique al menos tres organizaciones diferentes que definan estándares relacionados con networking y mencione algunos de ellos.

Ejercicio 06

Diversos medios de transmisión pueden ser utilizados para transmitir información entre nodos de red. Por ejemplo, la comunicación puede ser realizada vía láser, microonda, onda de radio, infrarrojo, etc. Seleccione dos o tres de esos medios de transmisión e investigue las ventajas, desventajas y capacidades de cada uno. Indique las situaciones y condiciones donde sea más apropiado el uso de cada uno de los medios que ha estudiado.

Hay información en las páginas 67-72 del Peterson.

Ejercicio 07

Dado el siguiente string 0100110100 dibujar las formas de ondas correspondientes a:

  1. Codificación NRZ
  2. Codificación NRZI
  3. Codificación 4B/5B
  4. Codificación Manchester

Respuestas:

Ver páginas 75-79 del Peterson.

Un cero indica una onda baja, y un uno una alta

Bits       0  1  0  0  1  1  0  1  0  0 
NRZ        0  1  0  0  1  1  0  1  0  0 
Clock      01 01 01 01 01 01 01 01 01 01 
NRZI       00 01 11 11 10 01 11 10 00 00
Manchester 01 10 01 01 10 10 01 10 01 01

Para 4B/5B, la codificacion se hace convirtiendo de a 4 en 5. Luego se codifica usando NRZI.

0100 = 01010
1101 = 11011
0000 = 11110

Bits  0  1  0  1  0  1  1  0  1  1  1  1  1  1  0
NRZI  00 01 11 10 00 01 10 00 01 10 01 10 01 10 00

Resumiendo,

  • El NRZ codifica un 1 como una señal alta y un cero como baja; tiene el problema de que si hay muchos ceros o unos consecutivos es dificil mantener los relojes sincronizados. También hace que se dificulte distinguir las señanles altas de bajas, ya que el receptor usa el promedio de la diferencia entre las recibidas.
  • El NRZI resuelve las tandas de 1s haciendo que el cero mantenga la señal, y el uno provoque un cambio. No resuelve las de ceros.
  • El Manchester hace un XOR entre la codificación NRZ y el reloj, el problema es que la eficiencia es del 50%, ya que necesita dos cambios de señal para codificar un único bit.
  • El 4B/5B convierte 4 bits en 5 tales que nunca sea posible que haya más de tres ceros consecutivos. Luego usa NRZI para resolver los 1s consecutivos. El aprovechamiento es del 80%.

Ejercicio 08

La principal causa de errores en comunicaciones de datos se debe a:

  • ruido impulsivo
  • variaciones de fase
  • ruido blanco

Respuesta:

Variaciones de fase no hay que tenerlo en cuenta. Ruido blanco es un ruido que siempre esta porque se refiere al ruido propio del medio y por lo tanto los modelos de comunicación estan pensados sabiendo que ese ruido existe. Es por eso que el que mas errores de comunicaciones causa es el ruido impulsivo.

¿Qué tipo de ruido es considerado en las formulas de Nyquist y Shannon?

Segun lei de la siguiente pagina: http://www.eveliux.com/mx/index.php?option=content&task=view&id=126 el ruido impulsivo no es tomado en cuenta en las fórmula de Shannon. Por descarte diría que se refieren al ruido blanco.

Ejercicio 09

Se tiene un multiplexor por división de tiempo (TDM) que conecta un canal de salida común de 512 kbps con 4 terminales a 64 kbps y N a 32 kbps. ¿ Cuál es el valor de N ? Dibuje un gráfico representando el uso compartido del canal por todas las terminales.

Leo en http://en.wikipedia.org/wiki/Time-division_multiplexing que:

  • El tamaño de cada slot es fijo.
  • TDM takes frames of the voice signals and multiplexes them into a TDM frame which runs at a higher bandwidth. So if the TDM frame consists of n voice frames, the bandwidth will be n*64 kbit/s.

Con eso supongo que tendria que fijar el slot al tamaño máximo (64kbps) y en total en 512kbps me entrarían 8, como ya puse 4, N sería igual a 4.

En el apunte N1-Fisico hay un poco sobre este tema.

Ejercicio 10

Se tienen 2 cables de 300Km ambos transportando información a una tasa de 1544 Mbps. La velocidad de propagación de uno de ellos es de 2/3 de la velocidad de la luz mientras que en el otro es 1/2 de la velocidad de la luz. ¿Cuántos bits entran en cada cable?

Busquemos el producto Bandwidth x Delay:

Bandwidth = 1544 Mbps
Longitud = 3x10^5 m
c = 3x10^8 m/s

Calculemos el delay (one-way) para cada cable:

Prop1 = 3x10^5 / (3c/2) = 1.5x10^(-3) s
Prop1 = 3x10^5 / (c/2) = 2x10^(-3) s

Ahora hacemos Delay x Bandwidth:

DxB1 = 1.5x10^(-3) s x 1544 Mbps = 2316 Kb
DxB2 = 2x10^(-3) s x 1544 Mbps = 3088 Kb

Ejercicio 11

Ejercicio 12

Ejercicio 13

Si una señal binaria es enviada en un canal de 3kHz. cuya relación señal-ruido es de 20dB; ¿Cuál es la máxima velocidad de transferencia?

Respuesta:

Ver pp 72-74 del Peterson

Se debe aplicar el teorema de Shannon:

C = B log2 (1 + S/N)

Donde C es la capacidad máxima del canal medida en Hz, B es el ancho de banda en Hz, y S/N es la relación señal-ruido medida en decibeles, donde db = 10 log10 (S/N).

Entonces, para calcular primero S/N,

20db = 10 log10(S/N)
2db  = log10 (S/N)
100  = S/N

Luego se calcula C con el teorema

C = 3kHz * log2(101) = 3k * 6.66 = 20Kbps

Ejercicio 14

Un sistema de TV por cable tiene mas de 100 canales alternando programas con propagandas. ¿ Es esto mas parecido a TDM o FDM?

Respuesta:

FDM. Ver pags. 11-13 Peterson

Ejercicio 15

Asumiendo que se utiliza bit stuffing, muestre la secuencia de bits transmitidos sobre el enlace cuando el frame contiene la siguiente secuencia de bits: 0111111011010111110101111110101111111001111110 Indique los bits insertados. Dato: delimitador = 01111110.

Ver Peterson p84

Respuesta:

Bit stuffing se utiliza cuando los mensajes son terminados por un delimitador y es necesario transmitir el delimitador como parte del mensaje. Siendo que el delimitador son seis 1s entre un par de ceros, cuando se quieren transmitir más de cinco 1s consecutivos, se agrega un 0 cada cinco unos. Si el receptor encuentra 6 unos consecutivos, chequea el siguiente bit. Si es cero, es el delimitador. Si es uno, es un error de transmisión.

El delimitador se transmite constantemente mientras el enlace está libre para mantener los relojes sincronizados.

011111101101011111010111110101011111011001111101001111110

Ejercicio 16

Suponga que la siguiente secuencia de bits llegan por un enlace: 01111110110101111101011111001011111011001111110. Muestre el frame resultante luego que todos los bits insertados fueron removidos. Indique cualquier error que haya podido ser introducido dentro del frame. Dato: delimitador = 01111110.

Ver Peterson p84

Respuesta:

Cada cinco 1s consecutivos, se quita el cero subsiguiente. Si hay seis 1s, se chequea el siguiente. Si es cero, es delimitador. Si es uno, es error.

01111110 1101011111010111110010111110110 01111110
01111110 1101011111-1011111-01011111-110 01111110

Ejercicio 17

Ejercicio 18

¿Cuáles son las ventajas del CRC sobre el algoritmo de checksum de IP? ¿Cuáles son las desventajas?

Ver Peterson pp 90-97

Respuesta:

Ventajas de CRC:

  • CRC tiende a detectar más errores que checksum.
  • CRC permite elegir distintos polinomios divisores según el ambiente que detectan distintos tipos de errores.
  • CRC se puede implementar muy fácil por hardware.

Desventajas:

  • Checksum se implementa más fácil por software

Ejercicio 19

Para proveer más confiabilidad que la que puede dar un simple bit de paridad, una técnica de codificación para detección de errores usa un bit de paridad para chequear todos los bits en posiciones impares y un segundo bit de paridad para todos los bits en posiciones pares. ¿Cuál es la distancia de Hamming de este código? ¿Ofrece alguna mejora con respecto al que utiliza un único bit de paridad? Si es así, ¿En qué consisten esas mejoras?

Respuesta:

La distancia de Hamming de un código se define como la cantidad mínima de bits erróneos que debe haber para engañar un código.

Vale que si d = n+1, es posible detectar todos los errores de hasta n bits, y si vale d = 2m+1, es posible corregir todos los de hasta m bits.

En el código propuesto la distancia es de 2, ya que teniendo dos bits cambiados en las posiciones pares, es posible engañar al código.

Sin embargo, es mejor que el código que utiliza un único bit, ya que, aunque tienen la misma distancia de Hamming, un byte con los dos primeros bits cambiados será detectado como erróneo por el nuevo código y no por el original.

Ejercicio 20

Una manera de detectar errores es transmitir datos como bloques de n filas de k bits por fila y adicionar bits de paridad para cada fila y cada columna. ¿Detectará esta política todos los errores simples? ¿Los errores dobles? ¿Los errores triples? ¿Qué hay de las correcciones?

Ver Peterson pp 89-90

Respuesta:

Si se utilizan bits de paridad solamente para las filas y columnas de la data, la distancia de Hamming será de 3. De acuerdo al Peterson, si se agrega un bit de paridad para la columna que contiene la paridad de las filas, la distancia será de 4.

En ambos casos la mejor corrección realizable es de un único bit.

Ejercicio 21

Para corregir todos los errores de orden n, la distancia de Hamming de un código debe ser:

  1. D >= 2n
  2. D >= 2n+1
  3. D = 2n+n
  4. no existe restricción alguna.
  5. D >= n+2
  6. D > 2n+1
  7. D <= 2n

Respuesta:

Debe ser 2), D >= 2n+1

Ejercicio 22

El término piggybacking aplicado a un protocolo se refiere a:

  1. la transmisión de datos en forma full-dúplex.
  2. la incorporación de un reconocimiento o control en el mensaje de datos.
  3. la utilización de un buffer de ventana deslizante.
  4. la habilidad de concatenar múltiples datos en un mensaje.
  5. ninguno de los anteriores.

¿Cuál es la ventaja de utilizar piggybacking?

Respuesta:

Ver p 98 del Peterson

Piggybacking implica enviar un mensaje de ACK en un mensaje de datos que se envía como respuesta.

Ejercicio 23

En un protocolo stop-and-wait al aumentar la velocidad de propagación (espacio/tiempo), el ancho de banda desperdiciado para la transmisión de datos:

  1. aumenta.
  2. disminuye.
  3. permanece constante.
  4. ninguna de las anteriores.

Ver Peterson pp 98-101

Respuesta: (no muy seguro)

El bandwidth desperdiciado disminuye, ya que el aumentar el delay, los mensajes ACK son recibidos antes por el emisor que espera menos tiempo en transmitir el siguiente frame.

Ejercicio 24

Suponga que está diseñando un protocolo con sliding windows para un enlace punto-a-punto de 1Mbps a la Luna con una latencia de 1.25 segundos por tramo. Asumiendo que cada frame lleva 1KB de datos; ¿Cuál es el mínimo numero de bits necesarios para secuenciar los frames?

Ver pp 100-105 Peterson

Primero hay que calcular cual es la cantidad máxima de paquetes que puede haber en vuelo en base al producto Delay x BW del enlace y al tamaño de frame. Para delay hay que usar el RTT, ya que importa el tiempo que demora desde que sale hasta que llega el ACK.

RTT x BW = 2.5Mb
2.5Mb / 1KB = 320

Entonces puede haber hasta 320 paquetes en vuelo. Suponiendo que las ventanas del emisor y el receptor coinciden, entonces en base a la fórmula (ojo: esta fórmula está copiada del Peterson, en clase la dieron con menor o igual en lugar de estricto)

RWS + SWS < Max+1 = 2^n
640 < 2^n
n > 9.32

Se necesitan 10 bits.

Ejercicio 25

En un protocolo de ventana deslizante; ¿Porqué no tiene sentido que la ventana de recepción sea más grande que la ventana de transmisión?

Ver Peterson p104

Respuesta:

La ventana del emisor indica el número máximo de paquetes que pueden estar en vuelo simultáneamente sin esperar un ACK (es decir, pueden llegar desordenados por errores de transimisión), con lo que no tiene sentido tener más buffers que los necesarios.

Ejercicio 26

Ejercicio 27

¿Por qué es importante para los protocolos configurados sobre Ethernet tener un campo de longitud en su encabezado indicando cuán largo es el mensaje?

Respuesta:

Esto es debido a que los mensajes pueden tener longitud variable. Deben tener un mínimo de 46 bytes (así esta definido en el standard de ethernet) para poder detectar colisiones.

Ejercicio 28

Ejercicio 29

Un protocolo de nivel de enlace punto a punto, orientado a conexión y confiable, utiliza ventana deslizante con 3 bits de secuenciamiento para transportar frames sobre un enlace satelital con una tasa de errores relativamente alta. Mencionar cuáles son los valores óptimos de tamaño de ventana de transmisión y recepción si el protocolo utiliza NAKs.

Ver Peterson pp 101-105

Respuesta:

Suponiendo que 2^n >= E + R (en desacuerdo con el Peterson, que indica desigualdad estricta, pero según lo vimos en clase), y tomando E = R, resulta

8 >= 2E
E = 4

Puesto que el protocola soporta NAKs, conviene que la ventana de recepcion sea igual a la de emision, ya que ante un error (que en este caso son frecuentes) se puede retransmitir solamente el paquete fallido, y no es necesario reenviar toda la ventana.

Ejercicio 30

NO HAY QUE HACERLO.

Ejercicio 31

Ejercicio 32

La norma IEEE 802.3 especifica los nivles OSI:

..opciones

Respuesta:

niveles 1 y 2

Ejercicio 33

¿Para qué se utiliza el preámbulo de Ethernet (802.3)?

Respuesta:

Se utiliza para sincronización.

Ejercicio 34

¿Qué pasa si en una red Ethernet las estaciones esperan un tiempo fijo T antes de intentar transmitir un dato en buffer? Asuma que el tiempo fijo T cuenta a partir del momento en que el dato está libre.

Respuesta:

En este caso habrá una alta probabilidad de que se produzcan colisiones. Esto es debido a que si varias estaciones quieren enviar algun dato en el mismo momento (mientras el canal esta ocupado) esperarán ambas un tiempo T. Si el canal se desocupó las 2 estaciones mandarán el dato y producirán colision.

En caso que no se haya desocupado, entonces esperarán nuevamente un tiempo T y se fijarán nuevamente, y esperaran sucesivamente de a T unidades de tiempo hasta que este desocupado y luego cuando se desocupe intentarán de mandar al mismo tiempo y colisionaran.

Y es probable que (aunque de esto no estoy seguro) que sigan colisionando en forma indefinida.

Ejercicio 35

Ejercicio 36

Ejercicio 37

Ejercicio 38

Ejercicio 39

Ejercicio 40

Ejercicio 41

Ejercicio 42

Ejercicio 43

Ejercicio 44

Ejercicio 45

Ejercicio 46

Ejercicio 47

Ejercicio 48

Ejercicio 49

Ejercicio 50

Ejercicio 51

Ejercicio 52

Ejercicio 53

Ejercicio 54

Ejercicio 55

Ejercicio 56

Ejercicio 57

Ejercicio 58

Ejercicio 59

Ejercicio 60

Ejercicio 61

Ejercicio 62

Ejercicio 63

Ejercicio 64

Ejercicio 65

Ejercicio 66

Ejercicio 67

Ejercicio 68

Ejercicio 69

Ejercicio 70

Ejercicio 71

Ejercicio 72

Ejercicio 73

Ejercicio 74

Ejercicio 75

Ejercicio 76

Ejercicio 77

Ejercicio 78

Ejercicio 79

Ejercicio 80

Ejercicio 81

Ejercicio 82

Ejercicio 83

Ejercicio 84

Ejercicio 85

Ejercicio 86

Ejercicio 87

Ejercicio 88

Ejercicio 89

Ejercicio 90

Ejercicio 91

Ejercicio 92

Ejercicio 93

Ejercicio 94

Ejercicio 95

Ejercicio 96

Ejercicio 97

Ejercicio 98

Ejercicio 99

Ejercicio 100