Redes de Datos
1er parcial
Solución: Esto es un esquema de los puntos fundamentales que debería contener la respuesta correcta
Pregunta 1
(6 puntos)
Explique por qué se utiliza un modelo organizado en capas para el análisis y diseño de las redes de datos. Indique ventajas y desventajas de utilizar un modelo de capas
Respuesta Pregunta 1
Un modelo organizado en capas permite atacar un problema complejo mediante la división del mismo en unidades de menor complejidad.
Organizando las funcionalidades en capas asociadas a diferentes niveles de abstracción del problema y definiendo precisamente esas funciones así como los vínculos de una capa con las demás es posible resolver todos los aspectos de la interconexión de equipos heterogéneos.
Para esto son importantes los conceptos introducidos por el modelo: entidades, protocolos, interfaces, servicios.
Como ventajas de la utilización de un modelo de capas se pueden anotar:
• posibilita buscar las mejores soluciones al problema de cada capa independizándose de las restantes capas
• permite la evolución tecnológica ya que se puede modificar la forma como una capa resuelve sus cometidos sin alterar el funcionamiento de las demás capas
• Se posibilita la interconexión de equipos de diferentes fabricantes a través de diferentes tecnologías, lográndose el objetivo principal de interconexión global
Se podrían identificar también algunas desventajas:
• algunas funciones se repiten en varias capas, como por ejemplo control de errores
• en casos concretos, el apego al modelo podría derivar en soluciones sub-optimas. Es decir que para una situación particular, podrían encontrarse soluciones más eficientes o con menos sobrecarga de protocolos sin implementar o cumplir las exigencias del modelo.
Pregunta 2
(10 puntos)
Una empresa desea marcar presencia en Internet para lo que decide levantar un sitio web accesible mediante la dirección www.laempresa.com.uy. Para ello se configura un servidor de nombres al que asigna el nombre ns.laempresa.com.uy.
a) Describa brevemente el árbol de direcciones del Sistema de Nombres de Dominio (DNS) ubicando el lugar que ocuparía el dominio de la empresa y en particular, las etiquetas correspondientes al servidor web y al servidor de nombres.
b) Especifique a quién se debe pedir la autorización del uso de este nombre de dominio.
c) Un potencial cliente desde un proveedor de conectividad en Argentina desea consultar la página de www.laempresa.com.uy. Explique qué consultas DNS se realizan para resolver la dirección si:
i) El servidor de nombres de com.uy. no responde consultas recursivas. ii) El servidor de nombres de com.uy. responde consultas recursivas.
Respuesta Pregunta 2
a) El arbol de direcciones del DNS está compuesto por:
• raíz o “.”.
• dominios genéricos de primer nivel: net, com, edu, gob, mil, intl, ...
• en los siguientes niveles dentro de cada país pueden definirse etiquetas en función de decisiones de la administración de los dominios de primer nivel. Por ejemplo en uy se definen: com.uy, edu.uy, mil.uy, gub.uy, ... En uk (united kindom) se definen ac.uk (académico, equivalente al edu), co.uk (comercial, equivalente al com)
b) En el caso particular de www.laempresa.com.uy y ns.laempresa.com.uy serían etiquetas que dependerían de la administración de .com.uy.. El dominio laempresa.com.uy debe ser autorizado por el administrador del .com.uy que es ANTEL.
c) La secuencia de consultas y respuestas DNS en el caso indicado sería:
# Origen Destino Consulta Comentarios
1 IPCliente NSLocalCliente Cuál es el registro A asociado a
www.laempresa.com.uy? NSLocalCliente es el DNS recursivo que tiene configurado el cliente 2 NSLocalCliente Root Server Cuál es el registro A asociado a
www.laempresa.com.uy? Root Server es alguno de las IP de root servers que el NSLocalCliente tiene preconfiguradas Siempre se consulta por lo que buscamos por las dudas de que alguien lo tenga en su caché o sea autoritativo de ese nombre
3 Root Server NSLocalCliente El registro NS asociado a uy es ns.seciu.edu.uy.
El registro A asociado a ns.seciu.edu.uy es la IP: IPNSuy
Los root servers no responden recursivamente por lo que la respuesta será una indicación para que NSLocalCliente continúe la búsqueda.
La respuesta es el nombre del servidor de nombres de uy y como información adicional la IP.
4 NSLocalCliente IPNSuy Cuál es el registro A asociado a www.laempresa.com.uy?
5 IPNSuy NSLocalCliente El registro NS asociado a com.uy es ns.antel.com.uy.
El registro A asociado a ns.antel.com.uy. es la IP: IPNScomuy
Suponemos acá que IPNSuy no responde consultas recursivas.
La respuesta indica cómo seguir la búsqueda
6 NSLocalCliente IPNScomuy Cuál es el registro A asociado a www.laempresa.com.uy? 7 IPNScomuy NSLocalCliente El registro NS asociado a
laempresa.com.uy es ns.laemrpesa.com.uy. El registro A asociado a ns.laemrpesa.com.uy. es la IP: IPNSlaempresa
Estamos en el caso i) donde com.uy no responde recursivamente, por lo que indicará como continuar la búsqueda
8 NSLocalCliente IPNSlaempresa Cuál es el registro A asociado a www.laempresa.com.uy? 9 IPNSlaempresa NSLocalCliente El registro A asociado a
www.laempresa.com.uy es IPwww
IPNSlaempresa es autoritativo del dominio
laempresa.com.uy por lo que responde con la información solicitada
10 NSLocalCliente IPCliente El registro A asociado a
www.laempresa.com.uy es IPwww
En el caso ii) cuando com.uy responde recursivamente, la secuencia sería igual hasta el paso 6 y luego:
6 NSLocalCliente IPNScomuy Cuál es el registro A asociado a www.laempresa.com.uy? 7 IPNScomuy IPNSlaempresa Cuál es el registro A asociado a
www.laempresa.com.uy? En el caso ii) como com.uy responde recursivamente, realizará la búsqueda de la información solicitada 8 IPNSlaempresa IPNScomuy El registro A asociado a
www.laempresa.com.uy es IPwww IPNSlaempresa es autoritativo del dominio laempresa.com.uy por lo que responde con la información solicitada
9 IPNScomuy NSLocalCliente El registro A asociado a
www.laempresa.com.uy es IPwww 10 NSLocalCliente IPCliente El registro A asociado a
www.laempresa.com.uy es IPwww
Pregunta 3
(8 puntos)
Se quiere implementar un servidor de música online por suscripción a través de Internet. El usuario debe autenticarse (con nombre y contraseña) en el sistema y puede entonces seleccionar la “emisora” deseada, solicitar canciones y votar sus canciones preferidas.
Se plantea un servicio con un canal de control (autenticación, selección de canciones y votaciones) y un canal de datos por el cual el servidor transmite la música hacia el usuario.
a) Indique cuál de los protocolos de transporte disponibles en la arquitectura de red de Internet (TCP/IP) utilizaría para implementar cada uno de los canales mencionados. Justifique la respuesta.
b) En vista de lo exitoso del servicio, se decide ampliar su contenido agregando la funcionalidad de obtener letras de canciones. Indique cuál de los protocolos de transporte disponibles en la arquitectura de red de Internet (TCP/IP) utilizaría para implementar este nuevo servicio. Justifique su respuesta.
Respuesta Pregunta 3
a) Para el canal de control sería necesario disponer de un flujo confiable, por lo que lo mejor sería usar TCP que brinda un canal confiable de origen a destino. Interesa asegurarse que todo llega correctamente a destino.
Para el canal de datos como se trata de una emisora de música en línea, se requeriría un flujo tipo streaming donde no sería útil estar retransmitiendo ante potenciales errores. Por lo tanto, se utilizaría UDP para este canal.
b) El servicio de letras de canciones sería equivalente a descargar un archivo con el contenido de la letra y en este caso también interesaría la confiabilidad de la comunicación por lo que se implementaría también con TCP.
Pregunta 4
(8 puntos)
a) Explique para qué se utilizan los siguientes campos del encabezado TCP i. Puerto de origen
ii. Puerto de destino
iii. Campo de número de secuencia iv. Campo de número de reconocimiento v. Campo de ventana
vi. Banderas: ACK, SYN, FIN
b) Explique en detalle el establecimiento de conexión en TCP, indicando cómo se usan los campos relevantes del encabezado.
Respuesta Pregunta 4
a) Los campos tienen los siguientes significados:
i. Puerto de origen: campo que identifica la aplicación que participa de la conexión TCP en la máquina origen. Es el service access point o SAP en la máquina origen de la comunicación. ii. Puerto de destino: campo que identifica la aplicación que participa de la conexión TCP en la
máquina destino. Es el service access point o SAP en la máquina destino de la comunicación. iii. Campo de número de secuencia: Iniciándose en un valor arbitrario elegido por la máquina
origen de la conexión, se incrementa con cada byte enviado desde el origen al destino. La excepción a esta regla es que el inicio de conexión y el fin de conexión consumen un número de secuencia como se explica en b). La elección del número de secuencia inicial de una conexión se hace a partir del reloj de tiempo real de la máquina (más un componente aleatorio para evitar que pueda ser facilmente predecido y evitar así problemas de seguridad). Se tiene en cuenta también la zona prohibida para evitar que en la red puedan coexistir segmentos con el mismo número de secuencia de diferentes conexiones.
iv. Campo de número de reconocimiento: Es el valor del número del próximo número de secuencia que estoy dispuesto a esperar de mi contraparte. Es una identificación de acuse de recibo de los datos anteriores.
v. Campo de ventana: es la cantidad en bytes de espacio disponible en el buffer para recibir datos. Se utiliza para control de flujo.
vi. La bandera de ACK está en 1 si el campo de número de reconocimiento debe ser considerado válido. ACK está en 1 durante toda la conexión TCP a excepción del primer segmento de la misma donde no hay nada previo para reconocer porque recién se está solicitando una nueva conexión. Ver parte b).
La bandera de SYN está en 1 cuando se solicita una nueva conexión (fase 1 del establecimiento) o cuando se la confirma (fase 2 del establecimiento). Durante el resto de la conexión está en 0. Ver parte b).
La bandera de FIN se usa para cortar una conexión. Un equipo envía FIN=1 cuando desea cortar la conexión. Esto indica que el equipo no va a enviar más datos. Si puede seguir recibiendo datos ya que su contraparte puede no haber enviado su FIN=1 y por tanto puede seguir enviando datos.
b) El establecimiento de conexión de TCP se realiza en tres fases conociéndose como three way handshake.
• En la fase 1 el originador (quién toma la iniciativa de establecer la conexión) envía al destinatario un segmento con:
◦ Número de secuencia: x (elegido por el originador)
◦ Bandera de SYN=1
◦ Bandera de ACK=0
• En la fase 2 el destinatario responde al originador un segmento con:
◦ Número de secuencia: y (elegido por el destinatario)
◦ Bandera de SYN=1
◦ Bandera de ACK=1
◦ Campo de reconocimiento: x+1 (lo próximo que está dispuesto a esperar es x+1)
• En la fase 3 el originador responde al destinatario un segmento con:
◦ Número de secuencia: x+1
◦ Bandera de SYN=0
◦ Bandera de ACK=1
◦ Campo de reconocimiento: y+1
Pregunta 5
(8 puntos)
Compare las familias de protocolos de enrutamiento de vector distancia y estado del enlace en cuanto a las siguientes características:
i. ¿Qué información envían los enrutadores? ii. ¿A qué enrutadores la envían?
iii. Comportamiento frente a topologías con bucles.
Respuesta Pregunta 5
a) Los protocolos de enrutamiento dinámico constituyen una de las formas de llevar adelante la función de ruteo en capa de red. El objetivo de la función de ruteo es construir la tabla de rutas, es decir encontrar los mejores caminos para llegar a los diferentes destinos. Esta función de ruteo puede realizarse también en forma manual.
La familia de protocolos de vector distancia se basa en que cada enrutador envía periódicamente a sus vecinos la tabla de destinos aprendidos con sus distancias. En función de lo que cada enrutador recibe determina qué destinos puede alcanzar a través de sus vecinos. Como distancia utiliza la cantidad de saltos por lo que sumará 1 a la distancia que sus vecinos le anuncian. Si tiene más de un camino para el mismo destino utilizará el de menor distancia para incluir en su tabla de rutas.
En la familia de protocolos de estado del enlace, cada enrutador anuncia a todos los enrutadores de la red cuáles son sus destinos directamente conectados y a qué distancia los tiene. Todos los enrutadores recibirán entonces información que les permitirá hacerse una idea de la topología de la red y por tanto podrán calcular sobre ella los mejores caminos a todos los destinos.
Una comparación de los aspectos más relevantes de las dos familias puede apreciarse en la siguiente tabla:
Vector Distancia Estado del enlace
Qué envía ? Todo lo que aprendió Sólo distancias a sus vecinos
A quién envía ? A sus vecinos A todos los enrutadores
Convergencia Lenta (por problema de conteo a
infinito) Rápida
Carga a la red Mucha (c/router manda toda su
tabla cada x segundos) Poca (c/router envía solo sus vecinos cuando hay cambios)
Necesidad de CPU y memoria Baja Alta
Pregunta 6
(10 puntos)
a) Explique cuál es el cometido de la función de encaminamiento o “forwarding” en la capa de red.
b) Indique detalladamente el algoritmo que implementa la función de “forwarding” en la arquitectura de red de Internet. Indique las tablas que se usan, qué información contienen y cómo se usan.
Respuesta Pregunta 6
a) La función de “forwarding” es la que se encarga de consultar la tabla de rutas para encaminar los paquetes que recibe.
La función de ruteo contruye la tabla de mejores caminos y la función de forwarding actúa para cada paquete que debe encaminarse. Se consulta la tabla y se elige el próximo salto para enviar ese paquete. b) En Internet, se utiliza el algoritmo longest prefix match para hacer la búsqueda en la tabla de rutas.
La tabla de rutas contiene la lista de destinos (especificados como una dirección de red y una máscara) y el próximo salto asociado a ese destino.
Estos destinos se ordenan desde las máscaras más largas (con más unos) que representan redes más específicas hacia aquellos destinos con máscaras más cortas (con menos unos) que representan redes más grandes y por lo tanto más generales. De este modo cuando se busca un destino, se comienza por la primer entrada en la tabla que será la red más específica o más pequeña.
Cuando se recibe un paquete para encaminar, el algoritmo toma la dirección IP de destino del paquete y comienza a recorrer la tabla de rutas para encontrar el próximo salto más apropiado para ese destino. Para saber en cuál de los destinos (rangos de IPs) especificados en cada entrada de la tabla contiene a la dirección IP buscada se realiza un AND bit a bit de la dirección buscada con la máscara del primer destino de la tabla.
Si la dirección de red de esa entrada coincide con el resultado del AND, entonces la IP buscada está en ese rango y el paquete se envía a la IP del próximo salto asociada a esa entrada. No se consulta el resto de la tabla.
Si la dirección buscada no pertenece a ese rango, se sigue con la siguiente entrada de la tabla y se procede del mismo modo.
Si se llega al final de la tabla y no se encuentra un rango apropiado para la IP destino buscada, se descarta el paquete y se envía un mensaje ICMP al originador del mismo (IP de origen del paquete) indicándole que el paquete fue descartado (mensaje nework unreacheable de ICMP).
Puede existir un ruta por defecto especificada como 0.0.0.0/0 que con el algoritmo indicado servirá para cualquier IP destino. En caso de existir la ruta por defecto y no haberse encontrado entradas anteriores que sirvieran para el destino, el paquete se enviará al próximo salto indicado por esta ruta.