Redes de Datos 2do parcial

Anuncio
29 de noviembre de 2013
Redes de Datos
2do parcial - 2013
Solución
Esta es una posible solución a las preguntas planteadas. Por razones didácticas normalmente contiene
bastante más información que la mínima necesaria para responder la pregunta.
Pregunta 1
(9 puntos)
a) Explique el cometido de la función de control de flujo en capa de enlace.
El control de flujo tiene como cometido evitar que un emisor envíe información a un receptor cuando este
no está en condiciones de recibirla. Aún en ausencia de errores o descartes en la transmisión, en
determinado momento el receptor simplemente no puede recibir más información. Si el transmisor
transmite cuando el receptor no está en condiciones de aceptar datos, además de que la información será
descartada, seguramente sea necesario reenviarla. En el control de flujo sólo intervienen los extremos de
la comunicación, no hay que confundirlo con el control de congestión en que se tiene en cuenta lo que
sucede en los equipos intermedios (congestión en la red de intercomunicación).
Lo mas usual que hace el control de flujo es ajustar el envío de información del emisor a una velocidad
que el receptor pueda manejar. Generalmente implica alguna forma de realimentación del receptor hacia
el emisor que le permite a este último conocer la capacidad del receptor y ajustar la cantidad de
información a transmitir. Entre otras cosas, este mecanismo implica que el transmisor no pueda enviar
información hasta que lo permita el receptor.
El control de flujo se suele encontrar en capa de enlace y en capa de transporte. La mayor diferencia
entre ambas capas radica en que en capa de enlace existe un solo buffer para todas las tramas recibidas
por cada interfaz, mientras que en capa de transporte hay un buffer para cada conexión.
Algunos ejemplos que se vieron en clase son HDLC en capa de enlace (donde el receptor puede retrasar
los reconocimientos hasta tener espacio en buffer para recibir el nuevo dato) y TCP en capa de transporte
donde el receptor realimenta explícitamente el valor de buffer libre.
b) ¿El mecanismo de control de flujo se utiliza tanto en redes punto a punto como en redes de difusión?
Justifique su respuesta.
Es posible utilizarlo en ambos tipos de redes. El problema detallado en a) existe en ambos tipos de redes.
Por ejemplo en HDLC, por más que sea un protocolo de capa de enlace punto a punto, el receptor puede
estar procesando información pendiente y no estar en condiciones de recibir nuevos datos. Igualmente, en
una red multiacceso (cableada o inalámbrica), además del problema anterior se suma la posibilidad de
recibir datos de múltiples estaciones y por tanto poderse saturar por la recepción simultánea desde varios
orígenes.
c)
¿Los protocolos de ventana deslizante, resuelven la función de control de flujo? Justifique su respuesta.
Los protocolos de ventanas deslizantes permiten optimizar el uso del canal, permitiendo enviar más de
una trama aún sin tener acuse de recibo de las anteriores. Estrictamente no dicen nada de si el receptor
esta en condiciones de recibirla.
En definitiva la utilización de ventanas deslizantes puede llegar a colaborar en el control de flujo ya que
los reconocimientos del receptor son una realimentación de que los datos están llegando correctamente al
destino, pero no tienen instrumentos específicos para realizar control de flujo.
1/7
29 de noviembre de 2013
Pregunta 2
(8 puntos)
a) En la topología de red de la figura, se configura el protocolo de ruteo dinámico RIP utilizando la métrica
clásica de cantidad de saltos. Para todos los equipos involucrados en el camino que seguirán los paquetes
que se envían desde A hacia B, indique la información completa de la entrada correspondiente a la red
192.168.3.4/30 en las tablas de rutas.
Los caminos posibles son A, R3, R4 y B; o A, R1, R2, R4 y B. No lo aclara la letra pero se supone que el
equipo A habla el protocolo de ruteo, de lo contrario lo que habría en A sería una ruta estática (o bien a R 1
o bien a R3).
Desde A si el camino es por R1 la métrica es 3 y si es por R3 la métrica es 2, por este motivo A elije a R 3, a
su vez la métrica de R3 es 1 (por R4). Para dicho destino, la entrada relevante en las tablas de ruteo de los
equipos A, R3 y R4 son las siguientes:
Equipo A
Dirección de Red
Máscara
Próximo Salto
192.168.3.4
255.255.255.252 o /30
192.168.0.2
Router R3
Dirección de Red
Máscara
Próximo Salto
192.168.3.4
255.255.255.252 o /30
192.168.3.2
Router R4
Dirección de Red
Máscara
Próximo Salto
a)
192.168.3.4
255.255.255.252 o /30
Direct
b)
192.168.3.6
255.255.255.255 o /32
192.168.3.5
En R4, dependerá de cómo muestre la configuración el equipo en cuestión, ambas opciones a) o b) se
consideran válidas.
b) En la misma topología se configura ahora el protocolo de ruteo dinámico OSPF utilizando como métrica
para cada enlace un múltiplo del inverso de su velocidad. Considere que las redes Ethernet son de
100 Mbps y los enlaces Punto a Punto de 64 kbps. Para todos los equipos involucrados en el camino que
seguirán los paquetes que se envían desde A hacia B, indique la información completa de la entrada
correspondiente a la red 192.168.3.4/30 en las tablas de rutas.
Si utilizamos OSPF la métrica o costo del grafo es cte/Bandwith, por simplicidad elijo la constante para
que el costo sea 1 cuando el link es de 100 Mbps, por lo que en el link de 64 kbps el costo es (100000/64
~ 1562). Teniendo esto en cuenta el costo del camino A, R 3, R4 y B es aproximadamente 3126 (1+2x
1562,5); mientras que el costo del camino A, R1, R2, R4 y B es de aproximadamente 1565 (1+1+1+1562,5).
Por lo que el camino de menor métrica es A, R 1, R2, R4 y B. Para dicho destino y protocolo, la entrada en
las tablas de ruteo de los equipos A, R1, R2 y R4 son entonces las siguientes:
Equipo A
Dirección de Red
Máscara
Próximo Salto
192.168.3.4
255.255.255.252 o /30
192.168.0.3
Router R1
Dirección de Red
Máscara
Próximo Salto
192.168.3.4
255.255.255.252 o /30
192.168.1.2
Router R2
Dirección de Red
Máscara
Próximo Salto
192.168.3.4
255.255.255.252 o /30
192.168.2.2
2/7
29 de noviembre de 2013
Router R4
Dirección de Red
Máscara
Próximo Salto
a)
192.168.3.4
255.255.255.252 o /30
Direct
b)
192.168.3.6
255.255.255.255 o /32
192.168.3.5
En R4, dependerá de cómo muestre la configuración el equipo en cuestión, ambas opciones a) o b) se
consideran válidas.
c)
De acuerdo a la topología y a las propiedades de los protocolos de ruteo dinámico RIP y OSPF, ¿qué
protocolo elegiría para configurar esta red? Justifique todas las razones en las que basaría la decisión.
A
R1
R2
.1 192.168.2.0/24
.1
.2
.1
192.168.0.0/24
192.168.1.0/24
.3
Ethernet .2
Ethernet
Ethernet .2
192.168.3.4/30 B
192.168.3.0/30
.6
.2
R4
R3 .1
.5 Punto a Punto
Punto a Punto
Se debería elegir OSPF. Si bien en este caso la velocidad de la comunicación entre A y B quedará limitada
por el link punto a punto de R 4 a B, en general se tiende a utilizar los links de mayor velocidad optimizando
los recursos existentes.
La velocidad de convergencia de RIP es mas lenta que la de OSPF, RIP esta dominado por el intervalo de
intercambio y la cantidad de saltos, mientras que OSPF notifica las modificaciones al instante, y el tiempo
en detectar la pérdida de un vecino, en el peor de los casos, es del orden del intercambio de rutas de RIP
a un salto.
La topología presenta un loop (bucle) y RIP presenta el problema de conteo al infinito que puede aparecer
en estas topologías, aún definiendo el máximo valor de cantidad de saltos en 16, esto no elimina el
problema, solamente ayuda a que la detección de las fallas demore menos. No todas las
implementaciones aplican horizonte dividido (split horizon) y envenenamiento de rutas (route poisoning).
En este caso si lo implementara se solucionaría, pero persisten algunas topologías con problemas, no
siendo así en OSPF. Por la naturaleza del protocolo, OSPF construye una representación topológica de la
red y esto le permite ajustarse frente a los cambios de forma más rápida que RIP.
Si bien la topología es sencilla, no es posible conocer a priori las modificaciones que tendrá, por lo que
salvo que los equipos no puedan soportar el protocolo OSPF (equipos con muchos años desde su
fabricación o con escasos recursos de memoria y capacidad de procesamiento), no debería elegirse RIP.
Pregunta 3
(9 puntos)
a) Explique las características comunes de los mecanismos CSMA de acceso a un medio de transmisión
compartido.
Los protocolos CSMA (Carrier Sense Multiple Access) son protocolos para arbitrar el acceso al medio en
canales compartidos y basan su funcionamiento en la posibilidad de las estaciones de detectar cuándo se
está transmitiendo y actuar acorde a ello, de modo de acotar la probabilidad de colisiones.
Aún cuando se sense el medio antes de intentar transmitir, es posible que ocurran colisiones ya que una
estación puede ver el canal libre más o menos simultáneamente con otra y ambas pueden decidir
comenzar a transmitir en función de los retardos inherentes al canal. Cuando ocurren colisiones, las
señales eléctricas correspondientes a ambas tramas se suman en el canal, corrompíendose los datos
enviados por ambas estaciones.
Luego de ocurrir una colisión las estaciones deben esperar un tiempo aleatorio antes de reintentar
transmitir (para evitar la sincronización de los reintentos, que llevaría indefectiblemente a una nueva
colisión).
3/7
29 de noviembre de 2013
b) Explique las variedades no persistente, 1-persistente y p-persistente indicando como se comportan cuando
deben enviar datos, estando el canal:
i. libre
ii. ocupado
Hay tres modalidades de los protocolos CSMA vistas en clase, que se describen a continuación:
CSMA persistente-1 Este protocolo es el más sencillo de los que implementan detección de portadora.
Cada vez que una estación desea transmitir una trama, sensa el canal (detección de portadora).
Si el canal esta libre comienza la transmisión de la trama.
Si está ocupado, entonces permanece sensando el canal y cuando se desocupa, transmite. Se le llama
persistente-1, ya que con probabilidad 1 transmite cuando se encuentra el canal libre. Esta característica
es la que diferencia las restantes modalidades.
En caso de ocurrir una colisión, la estación espera una cantidad aleatoria de tiempo e intenta nuevamente
el proceso indicado.
CSMA no persistente La modalidad no persistente se diferencia de la persistente-1 solamente cuando una
estación encuentra el canal ocupado. En lugar de escuchar el canal hasta que la estación que estaba
haciendo uso del canal lo libere y comenzar a transmitir de inmediato; espera un tiempo aleatorio y vuelve
a sensar el canal, siguiendo el mismo comportamiento luego. De esta manera se obtiene una mejor
utilización del canal que en el caso anterior ya que se disminuyen las colisiones debidas a múltiples
estaciones que estaban esperando que se liberara el canal y transmiten simultánelamente, pero también
genera mayores retardos.
CSMA persistente-p Esta modalidad se aplica solamente a canales ranurados, es decir, en los que las
estaciones solamente pueden comenzar a transmitir en instantes determinados de tiempo (o ranuras). El
funcionamiento es similar a la modalidad persistente-1, salvo que cuando una estación está lista para
transmitir y observa que el canal esta en reposo, transmite con probabilidad p y espera a la siguiente
ranura con una probabilidad 1-p. En la siguiente ranura vuelve a sensar el canal y repite el proceso. De
esta forma continúa hasta que logra transmitir la trama.
c) Explique cómo se modifica el comportamiento del mecanismo CSMA cuando se agrega la detección de
colisiones (CSMA/CD).
El protocolo CSMA/CD agrega a los anteriores la detección de colisión (Colision detection, CD). Esta
detección se realiza escuchando el canal mientras se transmite y verificando que no se recibe una señal
distinta a la que se está transmitiendo. En caso de detectar una colisión se detiene la transmisión ya que
la trama es irrecuperable, liberando rápidamente el canal y de esta manera haciendo que este protocolo
sea más eficiente (especialmente para tramas largas).
Una limitante es que, para poder realizar esto, es necesario establecer un largo mínimo de trama.
Podría suceder que la estación A vea el canal libre y comience a transmitir pero por los retardos de
propagación del canal, en otro punto del medio compartido, otra estación B aún vea el canal libre y
también comience a transmitir. En este caso habría una colisión y para que A pueda detectarla deberá
permanecer leyendo el canal y comparando con lo que está enviando. Si A parara de transmitir antes, no
sabría si la señal que le llega de B es de una estación lejana que colisionó con su trama o de una estación
cercana que comenzó a transmitir en cuanto A se detuvo. Por lo tanto, se necesita que en el peor caso A
transmita al menos el tiempo necesario para que la señal de A llegue a B más el tiempo en que la señal de
B llegue a A, y este tiempo multiplicado por la velocidad de transmisión en bits/s nos da la longitud mínima
de trama (en bits). Este tiempo depende de la distancia máxima admitida entre cualquier par de
estaciones (peor caso de separación entre A y B) y la velocidad de propagación de la señal
electromagnética por el medio elegido. O sea L (bits)=V (bps) * T (s), siendo V la velocidad en bps y T el
tiempo de ida y vuelta entre las estaciones más lejanas.
Según la norma 802.3, en una LAN a 10 Mbps con una distancia máxima entre estaciones de 2500 metros
y 4 repetidores, el tiempo de ida y vuelta (incluyendo la propagación en el cable y los retardos introducidos
por los repetidores), se considera alrededor de 50 μsec en el peor caso. Por lo tanto el tamaño mínimo de
trama será de 10 x 10 6 x 50 x 10 -6 = 500 bits, por lo que se toma agregando cierto margen de seguridad
512 bits = 64 bytes como tamaño mínimo de trama.
A modo de ejemplo en la norma 802.3 el tiempo de reintento luego de las colisiones se elige utilizando el
algoritmo de retroceso exponencial binario (binary exponential backoff). Luego de la detección de la
colisión, se discretiza el tiempo en ranuras del tamaño de una trama mínima o sea de 51,2 μsec. En la
primer colisión, las estaciones eligen reintentar en el intervalo 0 o en el 1. Solamente si eligen el mismo
4/7
29 de noviembre de 2013
intervalo volverán a colisionar. Para resolver esta segunda colisión eligen entre los intervalos 0,1,2,3 para
reintentar, de modo que disminuya la probabilidad de una nueva colisión. En general se elige entre los
intervalos 0 a 2n-1, siendo n el número de veces que se colisionó.
Pregunta 4
(10 puntos)
Para implementar un servicio de alta disponibilidad se dispone de dos equipos A (“principal”) y B (“respaldo”)
que pueden desarrollar indistintamente las funciones que requiere el servicio. El equipo B asumirá la
prestación del servicio ante una caída del equipo A.
Para cumplir esta funcionalidad, se decide que cada equipo responda por más de una dirección de capa MAC:
su dirección de capa MAC habitual grabada en la placa de red (MAC_A o MAC_B según el equipo) y el equipo
que se encuentre activo en cada momento responderá además por una dirección MAC_V (MAC virtual).
A su vez habrá una dirección IP virtual (IP_V) que se asignará al equipo activo en cada momento.
Ya sea por error o por diseño, las tramas en capa MAC generadas por A o B tienen siempre como dirección
origen MAC_A o MAC_B respectivamente, mientras que las capas superiores utilizan MAC_V e IP_V según
corresponda, para comunicarse con el equipo que presta el servicio.
a) Suponga que una tercera máquina con dirección IP IP_R envía una trama ARP consultando por la
dirección MAC de IP_V, y la respuesta (interpretada) corresponde a la siguiente figura:
C a p a
M A C _ A
M A C
M A C _ R
R e s p u e s ta
IP _ V
A R P
is a t M A C _ V
¿Qué asociación agregaría el equipo con IP_R en su tabla de ARP? Justifique su respuesta.
¿Funcionaría correctamente la comunicación entre IP_R e IP_V?
La capa MAC de la máquina con IP IP_R observa que la trama va destinada a ella (por la dirección de destino
MAC_R), retira el encabezado de capa MAC, y se lo pasa al proceso ARP.
El proceso ARP recibe solamente el contenido de la trama, por lo que agrega una entrada en su tabla
relacionando la IP_V con la dirección MAC MAC_V
b) Suponga que a nivel de capa MAC la red está armada con un switch o puente transparente. ¿Qué
información aprendería el switch a partir de las tramas intercambiadas entre IP_V e IP_R? Justifique su
respuesta.
Como el switch solamente observa los encabezados de capa MAC, y aprende a partir de la dirección MAC
origen de las tramas que observa, el switch relacionará MAC_R con la interfaz o boca donde está el equipo
con IP IP_R, y MAC_A a la interfaz o boca correspondiente a la máquina A (observar que el switch no tiene
forma de aprender dónde se encuentra MAC_V)
c)
¿Qué problema de performance aparecerá en la red al implementarse este mecanismo de alta
disponibilidad? Justifique su respuesta.
Un problema de performance que puede aparecer en la red es debido a que el switch no aprende en qué
puerto se encuentra MAC_V, o sea que todo el tráfico destinado a IP_V (MAC_V) será inundado por el switch
en todos sus interfaces o bocas. Esto hace que un tráfico elevado hacia IP_V genere alto tráfico hacia todos
las interfaces del switch, afectando a todos los equipos de la red.
d) ¿Qué cambios sugiere hacer en el sistema (manteniendo el uso de IP_V y MAC_V) para solucionar el
problema de la parte c)? Justifique su respuesta.
Aquí podían proponer cualquier solución que evite que el tráfico destinado a MAC_V sea inundado por todos
las interfaces o bocas del switch.
Una posibilidad es utilizar vlans para aislar el tráfico de los hosts A y B (e IP_R) de los otros equipos.
Otra posibilidad es tener algún mecanismo que implique que el switch aprenda la ubicación de MAC_V, y que
en caso de falla permita una actualización rápida de la tabla del switch. Por ejemplo tener en el equipo activo
un mecanismo que periódicamente envíe alguna trama (por ejemplo un ARP gratuito) con MAC origen MAC_V,
y que ante la migración del servicio del host A al host B, este mecanismo sea el primero que actúe (para
actualizar rápidamente la tabla del switch).
5/7
29 de noviembre de 2013
Pregunta 5
(9 puntos)
Para brindar secreto en la información se analizaron en el curso dos tipos de algoritmos: los algoritmos de
cifrado simétrico o de clave compartida y los algoritmos asimétricos o de clave pública.
a) Compare ambos tipos de algoritmos. Algunos puntos a considerar en la comparación (sin ser un listado
exhaustivo) son:
La principal diferencia entre los algoritmos de clave compartida y de clave pública radica en el número de
claves utilizadas para cifrar o descifrar la información. En el caso de los algoritmos de cifrado simétrico se
dispone de una clave que es utilizada tanto para el cifrado como para el descifrado. Los algoritmos de clave
pública se basan en tener 2 claves: 1 para cifrado y otra para descifrado. La fortaleza de los algoritmos de
clave pública se basa en que a partir de una clave no se pueda inferir la otra.
i.
Eficiencia
Los algoritmos de clave compartida son más eficientes ya que los problemas matemáticos en que se basan
los algoritmos de clave pública son complejos e implican una cantidad importante de cálculo.
ii.
Distribución de claves
En el caso de los algoritmos de clave compartida dado que la clave es única debe ser distribuida con mucho
cuidado y por otros medios porque con conocer la clave cualquiera puede cifrar y descifrar un mensaje.
Mientras que en los algoritmos de clave pública puedo distribuir la clave de cifrado abiertamente y mantener
de forma segura la clave de descifrado, de esta forma se simplifica la distribución de claves manteniendo la
seguridad, porque sólo el poseedor de la clave de descifrado podrá descifrar el mensaje, permitiendo así
ofrecer secreto.
iii. Posibilidad de realizar firmas
En los algoritmos simétricos, el hecho de que la clave sea única también lleva a que no podamos saber quién
cifro el mensaje. Por otro lado con los algoritmos de clave pública si distribuyo una clave de descifrado y
mantengo de forma segura la clave de cifrado, cuando cifro algo con la clave de cifrado todos los que poseen
la clave de descifrado podrán leerlo y sabrán que el único que pudo haberlo cifrado fui yo, esto garantiza el no
repudio.
Para firmar elementos utilizando algoritmos de clave pública lo que se hace es realizar un hash del mensaje a
firmar y encriptar el hash con la clave de cifrado para luego enviar el mensaje y el hash cifrado. Quien recibe el
mensaje calculará el hash del mensaje, descifra la firma con mi clave de descifrado (obtenida de una manera
confiable), y luego compara ambos hash para validar que el mensaje no ha sido modificado.
b) Explique el funcionamiento del mecanismo de distribución de claves públicas basadas en certificados de
clave pública. ¿Qué información debe contener un certificado? ¿Cómo debe validarlo quien lo recibe?
Los certificados de clave pública se basan en confiar en un elemento central (Certification Authority) que
verifica y valida las identidades. Esta entidad se encarga de firmar los certificados utilizando la clave de cifrado
de la CA utilizando el mecanismo mencionado en la parte anterior, para que el receptor pueda validar que la
información contenida en el certificado es auténtica. Quien recibe un certificado valida el mismo utilizando el
método de validación de firmas explicado en la parte anterior.
El objetivo de un certificado es relacionar una identidad con una clave pública, por lo que los principales
campos son estos:
• Identidad del dueño de la clave pública
• Clave pública
Todo firmado por la autoridad certificadora.
Otros campos importantes del certificado son:
• Información de la autoridad certificadora
• validez temporal
• información de contacto
• Información de la CRL (Certificate Revocation List)
• Usos permitidos del certificado.
6/7
29 de noviembre de 2013
Pregunta 6
(5 puntos)
a) ¿Por qué con el sistema telefónico digital tradicional, las velocidades de transmisión de datos utilizando
módems están restringidas a pocas decenas de kbps (kilobits/s)? ¿Qué parámetros influyen en esta
restricción?
En el sistema telefónico digital tradicional la señal recibida por la central telefónica pasa por un filtro
pasabanda con un ancho de banda de unos 3,3 Khz, y luego es digitalizada en 8000 muestras por
segundo (con una resolución de 8 bits). Obviando los detalles de la codificación es claro que no es posible
enviar más de 64000 bps.
Tomando en cuenta además que tenemos un sistema con ancho de banda acotado sometido a ruido e
interferencia, Shannon nos dice que en un canal de ancho de banda acotado (3,3 Khz) hay un límite a la
velocidad de transmisión posible, dependiente de la relación señal a ruido y dicho ancho de banda (según
vimos en clase, para valores típicos de relación señal a ruido, unos 30000 bps)
b) ¿Qué cambio fue necesario realizar para permitir mejorar estas velocidades con los sistemas ADSL y
similares sin cambiar el par de cobre que llega a la casa del abonado?
Lo que se hizo para lograr velocidades más altas con los sistemas ADSL es evitar la restricción dada por
el filtro a la entrada de la central telefónica. Para esto se utiliza un rango de frecuencias diferente al de la
voz para la transmisión de datos, y en la central telefónica se separa la señal según los rangos de
frecuencia, las frecuencias bajas hacia el sistema telefónico, y las frecuencias altas hacia un terminador
de datos (DSLAM). (en la casa del abonado también se separan mediante splitters o filtros). Al disponer
de un rango de frecuencias mayor se puede transmitir a mayores velocidades.
7/7
Descargar