Redes de Datos 2do parcial – 2007 Solución

Anuncio
26 de noviembre de 2007
Redes de Datos
2do parcial – 2007
Solución
Pregunta 1
(9 puntos)
a) En la red de la figura 1, los equipos
A, B, R1 y R2 tienen configuradas
las tablas de rutas que se indican.
Un ping hecho en A a la dirección
de B funciona correctamente pero
un ping desde R2 hacia A no es
exitoso.
Indique
las
modificaciones
necesarias a las tablas de rutas
indicadas
para
que
puedan
comunicarse R2 y A.
b) Para una trama ethernet vista en la
lan de A que transporta un paquete
IP desde A hacia B, indique:
§ Dirección IP de origen
§ Dirección IP de destino
§ Dirección MAC de origen
§ Dirección MAC de destino
c) En la figura 2, indique las tablas de
ruteo de A, B, C, R1, R2 y R3 de
modo que se cumplan todas las
siguientes condiciones:
• Todas las subredes de la red
son alcanzables desde todos los
equipos
• Cuando se envía un paquete a
una dirección que no está incluida
en ninguno de los rangos
indicados, el paquete se descarta
en el siguiente salto.
• Se utiliza la cantidad mínima
de entradas en las tablas de rutas
de todos los equipos.
• Los paquetes llegan a todas las
subredes por el camino con menos
saltos.
Respuesta pregunta 1
a) Para que funcione un ping desde R2 a A, es necesario que el mensaje ICMP “ECHO Request” originado
por R2 hacia A llegue a destino y que además el paquete ICMP “ECHO Reply” de respuesta generado por
A llegue a R2. El mensaje originado por R2, al salir por la interfaz eth1 como lo indica su tabla de rutas,
utilizará la IP 10.0.2.76 como dirección de origen, por lo que la respuesta de A estará dirigida a esa IP.
El problema es que en la tabla de A no hay ninguna entrada que incluya a la dirección 10.0.2.76, por lo que
si A genera un mensaje a esa IP, el mismo será descartado en el propio nodo A.
La solución es agregar una entrada a la tabla de rutas de A que le indique que a la dirección 10.0.2.76 se
llega a través de R1 (10.0.0.254). Algunas formas posibles serían:
1/6
26 de noviembre de 2007
Destino
10.0.2.76/32
Próximo salto
10.0.0.254
Destino
10.0.2.0/24
Próximo salto
10.0.0.254
Destino
0.0.0.0/0
(ruta por defecto)
Próximo salto
10.0.0.254
b) La dirección IP de origen es la IP de A, la dirección IP de destino es la IP de B, la MAC de origen es la
MAC de A y la MAC de destino es la MAC del router R1 asociada a la interfaz eth0.
En la tabla de rutas de A dice que para llegar a B (al rango de direcciones que contiene la IP de B) se
deben enviar los paquetes al próximo salto 10.0.0.254. Como por el contenido de la tabla de rutas de A, se
sabe que el rango 10.0.0.0/24 (que incluye la IP de R1 en esa LAN) está directamente conectado a A,
entonces A sabrá que para encaminar el paquete a R1 deberá ponerlo en una trama ethernet. Para que
esa trama llegue a R1 deberá tener por destino la dirección MAC de R1.
c) La menor cantidad de entradas que cumple todas las condiciones indicadas es:
Tabla de A
Destino
Próximo salto
10.0.0.0/24
eth0 de A
0.0.0.0/0
10.0.0.254
Tabla de B
Destino
Próximo salto
10.0.1.0/25 eth0 de B
0.0.0.0/0
10.0.1.126
Tabla de C
Destino
Próximo salto
10.0.1.128/25
eth0 de C
0.0.0.0/0
10.0.1.254
Tabla de R1
Destino
Próximo salto
10.0.0.0/24
eth0 de R1
10.0.2.0/24
eth1 de R1
10.0.3.4/30
ppp0 de R1
10.0.3.0/30
10.0.3.6 o
10.0.2.76
10.0.1.128/25
10.0.2.76
10.0.1.0/25
10.0.3.6
Tabla de R2
Destino
Próximo salto
10.0.2.0/24
eth1 de R2
10.0.1.128/25
eth0 de R2
10.0.3.0/30
ppp0 de R2
10.0.0.0/24
10.0.2.33
10.0.3.4/30
10.0.3.1 o
10.0.2.33
10.0.1.0/25
10.0.3.1
Tabla de R3
Destino
Próximo salto
10.0.3.0/30
ppp0 de R3
10.0.3.4/30
ppp1 de R3
10.0.1.0/25
eth0 de R3
10.0.1.128/25
10.0.3.2
10.0.0.0/24
10.0.3.5
10.0.2.0/24
10.0.3.5 o
10.0.3.2
No pueden ponerse rutas por defecto o rutas más generales (con máscaras /22 o /23) en los routers R1, R2
y R3 ya que cualquier dirección no perteneciente a los rangos mencionados no se descartaría en el primer
salto en algún caso.
No hay posibilidades de sumarizar redes porque a algún segmento no se llegaría por el camino más corto.
En los equipos A, B y C alcanza con poner una ruta por defecto porque al llegar al “backbone” se descartan
las que no existan.
Pregunta 2
(9 puntos)
a) ¿Cuál es la principal diferencia entre los algoritmos de clave pública y los algoritmos de clave secreta o
clave compartida?
b) ¿Qué propiedades debe cumplir un algoritmo de clave pública?
c) En una comunicación entre A y B, utilizando algoritmos de clave pública, ¿qué clave debe utilizar A para
encriptar los mensajes si quiere obtener secreto (que solamente B pueda leerlos)?. Justifique
Respuesta pregunta 2
a) La principal diferencia entre los algoritmos de clave pública y los de clave compartida es que los de clave
pública se encriptan los datos con una clave y el receptor los desencripta con otra distinta (algoritmo
asimétrico). Mientras que en los de clave compartida ambos transmisor y receptor tienen la misma clave
para encriptar y desencriptar (algoritmo simetrico).
b) El algoritmo de clave pública debe poder encriptar con una clave y desencriptar con otra. También debe
garantizar que conociendo la clave pública no sea posible descubrir la clave privada. Como el algoritmo es
público se debe asegurar que aunque una persona conozca el mensaje, la clave pública y el mensaje
encriptado tampoco pueda encontrar la clave privada.
2/6
26 de noviembre de 2007
c) A debe encriptar su mensaje con la clave pública de B, así B siendo el único que conoce su clave privada
será el único capaz de desencriptar el mensaje.
Pregunta 3
(8 puntos)
Se denomina Unidad Máxima de Transmisión o MTU (por su sigla en inglés) al tamaño máximo en bytes
(incluyendo sus encabezados) de un paquete de capa de red (en nuestro caso IP), que es posible transportar
sobre cierta infraestructura de Capa de Enlace.
a) En ethernet (802.3) a 10 Mbps, el valor de MTU es de 1500 Bytes. Protocolos como 1 Gigabit Ethernet
(802.3z) y 10 Gigabit Ethernet (802.3ae) permiten la configuración de un tamaño de MTU mayor al que se
utiliza para 10Mbps. ¿cuáles son los beneficios de un mayor tamaño de MTU?.
b) Suponga que un router interconecta dos segmentos de red, donde uno es un segmento Ethernet a 10Mbps
y el otro un segmento a 1Gbps con MTU de 9000 bytes.
Un computador en el segmento de 1Gbps envía un paquete IP de 9000 bytes (incluyendo encabezados) a
otro computador en el segmento Ethernet de 10Mbps.
Si el paquete llega al destino, explique cómo es el mecanismo que lo permite.
Si el paquete no llega, explique qué habría que hacer para que llegue.
Respuesta pregunta 3
a) La utilización de un mayor tamaño de MTU trae como principal beneficio un mejor aprovechamiento del
canal para la transmisión de datos. Los encabezados utilizados en la capa de enlace son de largo fijo,
mientras que un mayor tamaño de MTU nos permitirá transportar más carga útil en cada trama, lo que
redunda en mejor ratio carga útil/total de bytes transmitidos.
A su vez se pueden citar otros beneficios para el host, en el caso de estar trabajando con un medio
compartido, que vienen por el hecho que una vez que el host obtiene el canal para transmitir podrá hacerlo
por más tiempo. Además el hecho de enviar los mismos datos en menos tramas (ya que cada una de ellas
tendrá más carga útil) significará un ahorro en el tiempo de procesamiento para el host transmisor.
b) En el caso que el host envíe el paquete con la bandera DF=0 (Don’t Fragment), el paquete llegará
correctamente a destino ya que el router fragmentará el mismo. El mecanismo de fragmentación consiste
en que el router divida el paquete original recibido desde el segmento de 1Gbps en paquetes de menor
tamaño, de manera que pueda ser soportado por la capa de enlace de la interfaz de salida (el segmento
de 10Mbps).
El proceso de fragmentación deberá ser tal que el host destino sea capaz de reconstruir el paquete
original. Para esto el router deberá agregar identificadores de secuencia a los distintos fragmentos, así
como banderas para indicar si existen o no más fragmentos.
Pregunta 4
(9 puntos)
Para una transferencia de datos a nivel de capa de enlace entre A y B se supone:
• tramas de tamaño 1000 bytes
• canal de 10 Mbps de capacidad
• canal libre de errores
• tiempo de ida y vuelta entre transmisor y receptor es fijo en 200 ms
• el tiempo de procesamiento de las tramas en el receptor y transmisor es despreciable
• las tramas de reconocimiento tienen tamaño despreciable
• la transferencia deseada está compuesta por 1000 tramas que se envían de A a B
a) Calcule el tiempo necesario para completar la transferencia cuando se utiliza un protocolo de parada y
espera (stop & wait).
b) Calcule la eficiencia del uso del canal entre A y B, considerada como el tiempo en que el canal está
ocupado sobre el tiempo total de la transferencia.
c) Si se usa un algoritmo de ventanas deslizantes, calcule el tamaño en bytes de la ventana de transmisión
para lograr un uso óptimo del canal.
3/6
26 de noviembre de 2007
d) Calcule el tiempo necesario para completar la transferencia cuando se usa el valor de ventana calculado
en c)
Respuesta pregunta 4
a) Para toda la transferencia: tiempo_transferencia = numero_de_tramas * (tiempo_serialización + RTT)
TT = 200 ms
6
Tiempo_serialización = 1000 bytes * 8 bits / 10x10 bps = 0.8 ms à despreciable respecto al RTT.
Numero_de_tramas = 1000
(Observación: El tiempo de serialización es el tiempo necesario para poner los bits en el canal)
El tiempo total de la transferencia considerando las 1000 tramas es entonces:
1000 * (200 ms + 0.8 ms) = 200.8 s
b) Eficiencia = (0.8/200) x 100 = 0.4%
c) Para el uso óptimo del canal, lo que necesitamos es que la ventana alcance para transmitir durante un
RTT.
Serialización un bit= 1bit /(10x106 bps) = 1x10-7 s.
Para mantener el canal ocupado por un RTT, necesito una ventana de tamaño:
Tamaño = 0.2/(1x10 -7) = 2 Mb = 250 Kbytes.
d) El canal esta siempre ocupado, por lo que el tiempo total de la transferencia es el tiempo de señalización
de todos los bits más el retardo para el ACK de la última trama:
Tiempo total de transmisión = 1000 bytes * 8 bits * 1000 tramas * 1x10 -7 s + 0.2 s = 1 s
Pregunta 5
(8 puntos)
a) ¿Cuáles son las posibles funciones de un puente (bridge) en capa MAC?
b) En un puente (o switch) transparente, ¿cómo sabe el switch por qué boca o bocas debe reenviar una
trama recibida? ¿Cómo aprende dicha información?
Respuesta pregunta 5
a) Las funciones que realiza un puente en capa MAC son las siguientes:
•
Interconectar diferentes capas MAC de la familia IEEE 802. Al momento de compartir recursos, surge
la necesidad de interconectar estas diferentes tecnologías, para lo cual hay que convertir entre
diferentes formatos de trama y mecanismos de acceso al medio.
•
Incrementar la distancia entre los equipos más distantes, el puente oficia de regenerador de tramas a
nivel digital, flexibilizando así las restricciones existentes por degradación de la señal analógica.
•
Reducir la cantidad de colisiones dividiendo la cantidad de equipos que pueden colisionar (dominio de
colisión), aumentando de esta manera la cantidad de tráfico, en promedio, que pueden intercambiar el
conjunto de estaciones.
•
Incrementar la seguridad, permiten filtrar tramas, en particular una vez que se aprenden donde se
encuentran los equipos, solo se dirige la trama al puerto donde esta ubicado el mismo.
b) Un puente transparente es un dispositivo que trabaja a nivel de capa MAC observando las tramas que
llegan a cada uno de sus puertos (tramas en cada uno de los dominios de colisión). Permite interconectar
diferentes equipos sin necesidad de configuración previa en los puentes. Para las estaciones el puente es
un elemento transparente, por lo cual el mismo continúa haciendo creer a las estaciones que existe un
“bus” que las interconecta. Este “bus lógico” tiene inteligencia adicional que permite analizar el contenido
de las tramas e ir construyendo una tabla de donde se encuentran los equipos (direcciones MAC en capa
2), “recortando” el funcionamiento del “bus” cuando conoce donde esta el equipo destinatario de una
trama.
El mecanismo por el cual un puente aprende donde se encuentran los diferentes equipos se llama
“backward learning”, un puente transparente aprende cuando ingresa una trama por un puerto que el
4/6
26 de noviembre de 2007
originador de la trama (MAC de origen en Ethernet) es alcanzable por este puerto. Esta información es
guardada en una tabla (tabla de forwarding o mac-address-table) que asocia dirección MAC con puerto de
salida.
Nota: Cada entrada posee un valor de tiempo de vigencia. Si se continúan recibiendo tramas con la misma
MAC de origen en el mismo puerto, se refresca el valor del temporizador a su valor máximo. Existe otro
proceso periódico que decrementa los valores de tiempo en esta tabla y si el temporizador de una entrada
llega a cero se elimina de la tabla. Es posible que me lleguen tramas destinadas a una dirección de capa
MAC que aún no conozco. En este caso lo mejor que podemos hacer es inundar la información con la
esperanza que llegue al destino, o sea “copiar” la trama en cada uno de los puertos salvo por el cual
ingreso la trama (se asume que como es un medio compartido el destino debería de haber visto la trama y
que inundando se llega a todos los destinos). Cada vez que se recibe una trama en un puerto, se aprende
que la MAC de origen es alcanzable por el puerto. Una vez que se aprende donde se encuentran los
destinatarios (MAC destinos), solo se realiza una copia de la trama en el puerto donde se encuentra el
equipo destino, esta información se consulta a la tabla de forwarding de MACs que se construye todo el
tiempo.
Los temporizadores en las entradas permiten que se pueda mover un equipo de lugar (puerto) a otro, y
hacer que así como se aprendió dinámicamente donde se encontraba el equipo y se creó una entrada en
la tabla de forwarding, se dé de baja también de forma dinámica al no refrescarse la entrada
Pregunta 6
(7 puntos)
¿Cuáles son los problemas que se presentan en las redes de área local inalámbricas que no se presentan en
las redes cableadas que se vieron en el curso? ¿Cómo se resuelven?
Respuesta pregunta 6
Los problemas típicos que se dan en las redes inalámbricas son los conocidos con el nombre de estación
oculta y estación expuesta. Se suponen las 4 estaciones de la figura, con los alcances indicados en la
siguiente figura por las circunferencias centradas en cada estación.
A
B
C
D
Estación oculta
A transmite a B, C escuchando el canal no puede detectar que A está transmitiendo por lo que puede decidir
transmitir a B, produciéndose una colisión en B.
Estación expuesta
B transmitiendo a A, C quiere transmitir a D, pero al escuchar el canal nota que está ocupado por lo que decide
no transmitir. En realidad el abstenerse de transmitir es innecesario porque en D no se producirá interferencia
con lo que envía B (ídem en A con lo que envía C), por lo que se hace un uso ineficiente del canal.
Para resolver los problemas:
Se estimula al receptor a enviar una trama corta, mediante el envío de una trama de solicitud de envío por
parte del transmisor.
Ejemplos: protocolos MACA y MACAW
MACA
Supongamos A desea enviar datos a B. Entonces se realiza el siguiente intercambio de tramas:
A-->RTS-->B solicitud de envío, contiene la longitud de datos a transmitir
5/6
26 de noviembre de 2007
B-->CTS-->A avisa que está libre para recibir, contiene la longitud de datos a transmitir por A
A--> datos --> B
*Cualquier estación que escucha la trama RTS permanece en silencio el tiempo suficiente para que B pueda
enviar correctamente el CTS
*Cualquier estación que escuche el CTS debe permanecer en silencio durante la siguiente transmisión de
datos (los datos a enviar por A) cuyo tiempo estima de la longitud de los datos que está indicada en la CTS.
Igualmente puede haber colisiones si dos estaciones intentan transmitir un RTS al mismo tiempo. Se darán
cuenta de la colisión porque no reciben el CTS en el tiempo estimado. Entonces reintentarán luego de esperar
un tiempo aleatorio. Se utiliza para esto el algoritmo de retroceso exponencial binario.
MACAW
Para mejorar la performance:
*se introducen ACKs a nivel de la capa de enlace, tras cada trama exitosa.
*se introduce detección de portadora, para evitar la transmisión simultánea de RTS de estaciones cercanas.
6/6
Descargar