Redes de Datos 2do parcial – 2006 Solución

Anuncio
25 de noviembre 2006
Redes de Datos
2do parcial – 2006
Solución
Pregunta 1
(7 puntos)
a) Explique los métodos vistos en clase para realizar el entramado en capa de enlace, describiendo las
ventajas y desventajas de cada uno.
b) En 802.3 muchas veces se utiliza la encapsulación ethernet (a veces llamada Ethernet II), donde el
campo “largo de trama” se utiliza para identificar al protocolo de capa superior a través de un código
siempre mayor a 1500.
Al no contar con un campo con el largo del encabezado, las tramas se detectan por la caída de la
portadora de señal eléctrica. ¿Qué tipo de método de entramado es este? ¿Por qué el código de
protocolo es siempre mayor a 1500?
Respuesta Pregunta 1
a) En clase se vieron los siguientes métodos de entramado:
I.
II.
III.
IV.
Conteo de caracteres.
Banderas de comienzo y fin, orientado a caracteres.
Banderas de comienzo y fin, orientado a bits.
Violación del código de línea de la capa física.
I. Conteo de caracteres
El método consiste en indicar en un campo del encabezado de la trama el número
caracteres en la trama.
total de
Ejemplo:
Presenta como ventaja que es un método simple. La gran desventaja es que si se corrompe la cuenta
se des-sincroniza no pudiendo volver a sincronizarse. Por ejemplo, si se detecta que el código de
redundancia cíclica no es correcto, el receptor sabrá que la trama detectada es incorrecta, pero no
tiene forma de saber donde comienza la siguiente trama.
1/1
25 de noviembre 2006
II. Caracteres de delimitación
Este método consiste en delimitar cada trama por uno o más caracteres particulares a los que se
denomina bandera. La delimitación se logra colocando al final y al comienzo de cada trama dicha
bandera. Las banderas de inicio y fin pueden ser iguales o no.
Presenta la desventaja de que se debe garantizar la transparencia de los datos, ya que podría
suceder que las banderas aparecieran en los datos, introduciendo errores cuando se delimita la
trama en recepción. La solución a este problema consiste en emplear el método conocido como
relleno de caracteres.
Ejemplo:
Se utilizan como banderas de inicio y fin, dos caracteres, uno de escape y otro de control.
Bandera de comienzo: DLE STX Bandera de fin: DLE ETX
Por lo tanto, para garantizar la transparencia de los datos, se debe rellenar si ocurre en los datos un
DLE . En este caso inserta otro byte DLE en los datos. De esta manera, en la capa de enlace
del receptor, se eliminan las banderas, se inspeccionan los datos y al encontrar un carácter
DLE ,
se sabe que lo que viene a continuación no es una bandera, y se quita uno de los
volviéndose a obtener los datos tal cual los pasó la capa de red del transmisor.
DLE ,
Otra desventaja presentada por este método es que está orientado a códigos con 8 bits de largo de
palabra. Como ventaja se puede mencionar que es un método simple y que logra solucionar el
problema de la re sincronización luego de un error, lo cual se logra identificando la siguiente pareja
bandera de fin-bandera de inicio. Incluso es posible pedir una retransmisión porque se puede
identificar la trama que se perdió.
III. Banderas de delimitación
Este método es similar al anterior, pero orientado a bits. Presenta, al igual que el método anterior, el
problema de tener que realizar relleno en los datos para poder garantizar la transparencia de los
mismos. En este caso el relleno se hace insertando bits que interrumpan la secuencia de una
bandera que se encuentre en los datos.
Ejemplo:
Se utiliza como delimitadores de inicio y fin la secuencia de bits 01111110, si aparecen 5 unos
seguidos en los datos se inserta un 0 luego del quinto uno. Luego se agregan las banderas indicadas.
En la capa de enlace del receptor se detectarán las banderas pudiendo así delimitar la trama. Luego
se analizan los datos y al detectar 5 unos seguidos saca el 0 que hay luego del quinto uno.
Este método presenta la ventaja de que es robusto y, en oposición al método anteriormente descrito,
sirve para cualquier flujo de bits. Del mismo modo que el método anterior, presenta la ventaja de
permitir la re-sincronización luego de algún error.
2/2
25 de noviembre 2006
IV. Violación del código de línea de la capa física
Este método de entramado consiste en utilizar una señal con frecuencia, amplitud, o fase distinta a la
utilizada para la codificación de los niveles lógicos 1 y 0. De esta manera el comienzo y fin de trama
son reconocidos por el receptor cuando se detecta una señal de delimitación (no corresponde ni al 0
ni al 1).
Ejemplo:
El código Manchester codifica los bits con una transición alto-bajo o bajo-alto. La utilización de
combinaciones sin transición bajo-bajo o alto-alto permite delimitar claramente las tramas.
La principal desventaja presentada por este método es que viola la independencia de capas, ya que
se mete en la codificación de la capa física. Como ventajas se puede resaltar que no es necesario
hacer ningún agregado ni relleno de datos.
b) Es un método de entramado que utiliza información de la capa física para determinar el fin de la trama,
por lo que puede considerarse dentro del punto 4 de la clasificación anterior.
El campo de protocolo es mayor a 1500 para que puedan coexistir 802.3 con encapsulación Ethernet. Si
el campo es menor a 1500 se considerará como un largo de trama y si es mayor como un tipo de
protocolo. Como el largo máximo de la trama son 1500 bytes no hay posibilidad de error.
Pregunta 2
(6 puntos)
a) Describa las ventajas y desventajas de utilizar fibras ópticas como medio físico para la comunicación de
datos.
b) Dado un transmisor que tiene un láser que transmite a 0 dBm y un receptor que es capaz de detectar
señales de hasta -25 dBm.
Se desea habilitar un enlace de 100 km a través de un par de fibras ópticas dedicadas con una
atenuación de 0.2 dB/km. Para ello se necesitan cinco conexiones con 0,5 dB de pérdidas cada una.
Suponga para este ejercicio que los conectores no ocasionan pérdidas.
i.
Realice un estudio del margen de potencia para el enlace. ¿será posible realizar la
conexión?
ii.
Debido al robo de cables, es necesario realizar una reparación sobre el cable de fibra
óptica que introduce 3 dB de pérdidas adicionales, ¿cuál es el efecto de esta falla sobre el
enlace?
Respuesta Pregunta 2
a) Ventajas:
• Baja atenuación (0.2 dB/km).
• Gran Capacidad (Actualmente equipos de 1Tbps utilizando WDM).
• Aislación ante ruido electromagnético. Esto es ventajoso en ambientes industriales y ambientes de
•
alta seguridad.
Permite amplificación para trasmisiones sin regeneración por varios miles de kilómetros.
Desventajas:
• Cuando se quiere instalar como solución de última milla, el costo es elevado comparado con el
cobre ya instalado o soluciones inalámbricas.
• Para la operación y mantenimiento puede requerir instrumentos y capacitación especializados y
costosos.
• Requiere cuidados especiales cuando es doblada.
b)
I. Transmisor: 0dBm. Receptor: -25dBm.
Margen de Potencia: 25dB.
Atenuaciones: 100x0.2dB/km + 5x0.5dB=22.5dB<25dB. La comunicación es posible.
3/3
25 de noviembre 2006
II. Ahora la atenuaciones son: 100x0.2dB/km + 5x0.5dB + 3dB=25.5dB>25dB.
La comunicación no es posible.
Pregunta 3
(7 puntos)
a) Describa la técnica de acceso a un medio compartido conocida como ALOHA.
b) Indique gráficamente el intervalo de vulnerabilidad de las tramas ALOHA.
c) ¿Qué mejora se conoce a la técnica ALOHA? Justifique cualitativamente por qué se logra dicha mejora.
d) ALOHA no pertenece al grupo de protocolos CSMA. ¿Cómo se resuelve entonces la detección de
colisiones?
Respuesta Pregunta 3
a) Aloha es un método de acceso a un medio compartido de transmisión de datos. Fue pensado
originalmente para accesos inalámbricos, contando con un nodo central que realiza la recepción y la
difusión de las tramas. En este método, cuando un nodo tiene una trama para enviar, la envía sin sensar
el canal. En el caso de producirse una colisión, al ser detectada por el emisor se espera un tiempo
aleatorio y se retransmite la trama. El tiempo de espera es aleatorio para evitar la sincronización de los
contendientes.
b) El intervalo de vulnerabilidad de una trama dada es el intervalo durante el cual el comienzo de una
transmisión vulnera o corrompe la trama en cuestión. En general, en ALOHA se consideran tramas de
largo fijo, cuyo tiempo en el canal es T. Si una trama comienza a transmitir en tiempo t, colisionará con
otra trama si esta comenzó a transmitir luego de t-T, o si comienza antes de que la trama original termine,
es decir en t+T. Por lo tanto, el intervalo de vulnerabilidad es de largo 2T alrededor del comienzo de
transmisión.
c) Una mejora al mecanismo ALOHA es el ALOHA ranurado. En este método se agrega una señal de reloj
que sincroniza a las estaciones. Se permite ahora enviar las tramas solo al comienzo de cada ranura.
Observemos que esto reduce el intervalo de vulnerabilidad de cada trama, ya que si ahora una estación
tiene algo para transmitir en tiempo t+dt con dt < x, deberá esperar a la próxima ranura, por lo que solo
habrá colisión si dos o más emisores intentan acceder al canal durante un intervalo de largo T. Esto
reduce la cantidad de colisiones que ocurren en el sistema.
d) Para implementar ALOHA es necesario un mecanismo que permita detectar cuándo ocurrió una colisión e
informarle al emisor que debe reintentar. En el caso en que el emisor puede escuchar el canal, puede
compararlo con su propio envío. Sin embargo, en medios satelitales o inalámbricos esto no siempre es
posible y es el nodo central el que debe realizar por ejemplo reconocimientos a cada trama. El emisor al
no recibir un reconocimiento luego de cierto tiempo reintenta la transmisión.
Pregunta 4
(8 puntos)
a) Explicar qué significan cada uno de los siguientes objetivos de seguridad:
- Autenticación
- Autorización
- Integridad
- No repudio
4/4
25 de noviembre 2006
b) Explicar brevemente qué es un algoritmo de Hashing. ¿Para cuál de los objetivos de la parte anterior lo
utilizaría? ¿Cómo?
c) ¿Como usaría un algoritmo de encriptado de clave asimétrica y un algoritmo de hashing para firmar
digitalmente un documento? ¿cómo puede alguien verificar la firma?
Respuesta Pregunta 4
a) autenticación = saber quién es el usuario que está accediendo a un determinado servicio
autorización = qué permisos tiene o no tiene un determinado usuario
integridad = asegurar que los datos no se corrompan o modifiquen
no repudio = que quien mandó algo, luego no pueda decir que él no fue
b) El algoritmo de Hashing consiste en una función que a partir de un Mensaje genera un “Message Digest”
(MD) (un “resumen”) de largo fijo, de tal forma que pequeñas variaciones en el mensaje original producen
grandes variaciones en el MD y que a partir del MD no se pueda inferir el mensaje original.
Se puede usar para el objetivo de integridad de la siguiente forma: se realiza un MD del mensaje a
transmitir antes de que sea transmitido, transmitir el mensaje y por un medio seguro transmitir el MD, al
recibir el mensaje vuelvo a calcular el MD si es el mismo que el que recibí es mensaje no fue modificado.
También puede ser utilizado para autenticación, si ambos poseemos un secreto compartido yo puedo
realizar un hash de mi secreto compartido mas otra información pública mía y enviar el resultado del
hash, la otra parte calcula nuevamente el hash y verifica que sean iguales.
c) El procedimiento para firmar digitalmente un documento consiste en realizar un message digest utilizando
el algoritmo de hash. Luego se encripta con el algoritmo asimétrico utilizando la clave privada.
Obteniendo así una firma digital del documento.
Para verificar la firma lo que se debe hacer es realizar el calculo del message digest del documento. Se
des-encripta la firma digital, y se comparan el message digest calculado con el obtenido de la desencripcion. Si ambos son iguales he verificado la firma digital del documento. Sé que nadie más que
quien posee la clave privada pudo generar la firma del documento, ya que nadie puede generar otro
documento que genere el mismo hash, y nadie puede generar la firma conociendo solamente la clave
pública.
Pregunta 5
(8 puntos)
a) Defina la distancia en un código binario.
b) ¿Qué propiedad debe cumplir un código para detectar d bits erróneos? Justifique su respuesta.
c) ¿Qué propiedad debe cumplir un código para corregir d bits erróneos? Justifique su respuesta.
d) El código de Hamming permite corregir errores simples. Se dispone como medio físico una fibra óptica,
que de acuerdo al entorno de utilización se estima que en caso de existir errores múltiples, estos se
5
producen en ráfagas menores a 16 bits. También se estima que entre dos ráfagas habrá al menos 2x10
bits. Existe una forma de utilizar el código Hamming para poder corregir errores en ráfaga.
I. Estime el tamaño máximo de las tramas que se podrían utilizar (el tamaño de trama incluye la
redundancia).
II. ¿Cual seria la desventaja de utilizar esta metodología? Teniendo esto en cuenta, ¿en qué caso la
utilizaría?
Respuesta Pregunta 5
a) Se define la distancia entre dos palabras de un código como la cantidad de bits en que difieren esas dos
palabras.
La distancia de un código es la menor distancia entre cualesquiera dos palabras válidas del código.
Para detectar d errores alcanza con que la distancia entre dos palabras válidas del código sea al menos
d+1. De este modo si se recibe una palabra a la que se le cambiaron d bits, no será una palabra válida
porque no hay palabras válidas a distancia d de la palabra original.
5/5
25 de noviembre 2006
Para corregir d errores necesito un código de distancia 2d+1. Si se cambian d bits de una palabra, estaré
a una distancia d de una palabra válida original y como las palabras válidas están a distancia 2d+1, al
menos estaré a distancia d+1 de cualquier otra palabra válida. Por lo que tomo como palabra original la
palabra válida más cercana.
b) La forma de utilizar hamming para errores en ráfaga es haciendo bloques. Hamming sirve para corregir
errores simples. Si tengo una ráfaga, ya no dará resultados válidos.
I. Si armo un bloque de varias tramas con su respectiva redundancia calculada por hamming y luego
transmito por columnas, entonces si la cantidad de filas es mayor que el largo de la ráfaga, tendré un solo
error por fila, por lo tanto un solo error por trama y Hamming lo detectará.
Trama (m+r)
Tamaño de trama (m+r)
m
r
16 bits (tamaño de la ráfaga)
Al
menos
16 filas
2 x 105 bits (distancia entre ráfagas)
tamaño de ráfaga × tamaño máximo de trama ≤ 2 × 10 5 ⇒ 16 (m + r ) ≤ 2 × 10 5
L = (m + r ) ≤ 12500 bits
II. Los inconvenientes de aplicar esta estrategia esta en el tiempo que insume armar la matriz, para luego
poder enviar por columna, luego se recompone la matriz y recién puedo verificar los errores. Es claro que
no es aconsejable para aplicaciones sensibles al retardo. Por tanto lo utilizaría en aplicaciones que no
sean sensibles al retardo y en que sea costosa (en términos de bits a enviar) la retransmisión.
Pregunta 6
(7 puntos)
El diagrama de la figura representa una red de área local donde los Puentes (bridges) funcionan en modo
transparente.
Asuma que en t=0 se encienden los puentes.
6/6
25 de noviembre 2006
Indique, para las tramas que aparecen en la tabla adjunta, en cual de los segmentos Ethernet aparecen. La
secuencia temporal de las tramas es en el orden en que aparecen en la tabla. Marcar las columnas
correspondientes a cada segmento.
Dir. Ethernet
Origen
PC6
PC1
PC4
PC5
PC1
PC3
Dir. Ethernet
Destino
FF:FF:FF:FF:FF:FF
PC3
PC6
PC1
PC4
PC5
Ethernet Ethernet Ethernet
1
2
3
Ethernet
4
Ethernet
5
Respuesta Pregunta 6
Las reglas a seguir para determinar el comportamiento de los puentes son:
•
•
•
Si el paquete es de difusión (el primer caso) se reenvía a todas las interfaces.
Si se observa una trama de origen PCx proveniente de una interfaz, se asocia la dirección ethernet de
PCx con dicha interfaz. En lo sucesivo, se distribuirán las tramas hacia PCx solo por esa interfaz.
Si la dirección ethernet observada en una trama es desconocida, se reenvía la trama a todas las
interfaces del puente excepto por la interfaz que arribo la trama.
A continuación se muestra como queda la tabla siguiendo las reglas anteriores:
Dir. Ethernet
Origen
PC6
PC1
PC4
PC5
PC1
PC3
Dir. Ethernet
Destino
FF:FF:FF:FF:FF:FF
PC3
PC6
PC1
PC4
PC5
Ethernet Ethernet Ethernet
1
2
3
X
X
X
X
X
X
X
X
X
X
X
X
X
X
X
Ethernet
4
X
X
Ethernet
5
X
X
X
X
X
Pregunta 7
(7 puntos)
a) ¿Para qué se utiliza el protocolo ARP (Address Resolution Protocol) y en qué tipo de redes se aplica?
b) ¿Cuáles son los campos fundamentales utilizados en un mensaje ARP?
c) Explique el problema de seguridad conocido como ARP Spoofing.
Respuesta Pregunta 7
a) El protocolo ARP (Address Resolution Protocol), se utiliza en las redes de difusión. En estas redes debe
existir un control de acceso al medio compartido, del cual se encarga la sub capa MAC (Medium Access
Control).
Un punto importante que abarca esta subcapa es el direccionamiento dentro de la red local a nivel de
capa 2. Esto se realiza a través de las direcciones hardware o direcciones MAC, asignadas en forma
única por los fabricantes a las tarjetas de red.
ARP se utiliza para vincular las direcciones de capa de red (ejemplo: IP) con las direcciones de capa de
enlace de datos, en particular las direcciones MAC (ejemplo: Ethernet).
De esta forma se evita tener tablas estáticas con la correspondencia entre direcciones MAC y de red.
Esto es necesario ya que cuando un host desea enviar un mensaje a otro host, y conoce su dirección de
red, se vuelve necesario encontrar cuál es la dirección hardware asociada a dicha dirección conocida o al
próximo salto dentro de la red para llegar a esa dirección de red.
7/7
25 de noviembre 2006
En el caso de IP sobre Ethernet, vemos el caso de dos máquinas que están en la misma red de difusión y
que se quieren comunicar entre sí. La máquina A le envía una consulta ARP a toda la red, utilizando una
trama con destino la dirección de difusión (FF:FF:FF:FF:FF:FF). En dicho mensaje aparecen la dirección
IP y MAC de la máquina A, la dirección IP de B y se identifica como pregunta ARP. Todas las máquinas
de la red reciben la trama, pero sólo B la contestará, porque su IP es la consultada.
B genera un mensaje de respuesta ARP con dirección IP y MAC origen las de B, dirección IP y MAC
destino las de A; y la trama la dirige exclusivamente a A (MAC de A).
En el caso que las máquinas no estén conectadas al mismo medio de difusión, hecho que se determina a
través de la tabla de ruteo y la dirección IP de destino, la máquina origen debe determinar cuál es el
próximo salto hacia la máquina destino. En base a la IP del próximo salto enviará un mensaje ARP para
obtener su dirección MAC y así poder direccionar la trama hacia él, y que después éste se encargue de
encaminarlo en base a su tabla de ruteo.
b) Los campos fundamentales del mensaje ARP son:
•
•
•
•
•
Tipo de mensaje (pregunta o respuesta, ARP o RARP)
Dirección hardware de origen
Dirección de red de origen
Dirección hardware de destino
Dirección IP de destino
c) Para optimizar el funcionamiento del protocolo ARP, cualquier equipo al recibir una consulta ARP por su
dirección IP agrega en la tabla de ARP una entrada relacionando la IP de quien consulta con su MAC. A
su vez, ante cualquier consulta originada en una dirección de red que posee en su tabla ARP, el host
actualiza el tiempo de vida de dicha entrada, de forma tal que no le será necesario hacer una consulta
ARP al momento de comunicarse con dicho host.
Mediante el uso de consultas ARP, donde se asocia la IP a atacar con la dirección MAC del atacante, se
puede hacer que un equipo X envíe todos los paquetes IP dirigidos al equipo atacado, a la dirección de
capa MAC del atacante, pudiendo observar/modiifcar el contenido, o generando una negación de
servicio. Para hacer menos evidente el ataque, normalmente estas consultas se envían a la MAC de la
máquina X y no a la dirección de Broadcast
8/8
Descargar