SlideShare una empresa de Scribd logo
1 de 14
Descargar para leer sin conexión
1/14
Examen de Introducción a las Redes de Computadoras
y Comunicación de Datos
(ref: sirc0703.doc)
26 de febrero de 2007
Atención:
• La duración del examen de 3 horas.
• El examen debe realizarse sin material.
• Se debe responder al menos el equivalente a 15 puntos en las preguntas teóricas.
• El puntaje mínimo de aprobación es de 60 puntos.
• para todos los ejercicios, suponga que dispone de los tipos de datos básicos (p.ej. lista, cola,
archivo, string, etc.) y sus funciones asociadas (ej: tail(lista), crear(archivo), concatenar(string,
string).
Preguntas Teóricas
Pregunta 1 (5 puntos)
Describa el modelo de capas TCP/IP.
Respuesta:
El modelo TCP/IP surgió a partir de la red ARPANET, cuyo mayor objetivo de diseño era interconectar
varias redes en forma transparente, dicha arquitectura evoluciono en el modelo TCP/IP.
La capa Host a Red
Especifica cómo se envían físicamente los datos a través de la red, que incluye cómo se realiza la
señalización eléctrica de los bits mediante los dispositivos de hardware que conectan directamente con un
medio de red, como un cable coaxial, un cable de fibra óptica o un cable de cobre de par trenzado. No esta
definido el protocolo y el mismo puede variar en diferentes implementaciones.
La capa Interred
Esta capa es la que mantiene unida toda la arquitectura. Permite a los host enviar paquetes a cualquier red
y que viajen independientemente del destino (potencialmente otra red). Pueden incluso llegar en diferente
orden, en cuyo caso es trabajo de capas superiores, reordenarlos. La capa de interred define un formato de
paquetes llamado IP. El trabajo de la capa de interred es que dichos paquetes lleguen a donde
corresponde, por lo que el ruteo de los paquetes es el mayor problema. La capa de interred es similar en su
funcionamiento a la capa OSI de Red.
2/14
Capa de Transporte
Sobre la capa de interred se define la capa de transporte, la misma está diseñada para conectar dos
entidades y mantener un enlace de datos. Hay dos protocolos definidos: TCP (Transmission Control
Protocol), es un protocol orientado a conexión, confinable, que permite que un flujo de bytes sea enviado de
una maquina a otra sin errores; fragmenta el flujo de bytes y lo pasa a la capa de interred, al llegar a destino
reconstruye el flujo de bytes; TCP también maneja el control de flujo para evitar sobrepasar la capacidad de
un receptor más lento. El segundo protocolo, UDP, (User Datagram Protocol) es un protocolo no confiable
sin conexión, para aplicaciones que no necesitan secuenciamiento de paquetes o control de flujo, o
aplicaciones donde es más importante transmitir rápido que en forma confiable, como voz o video.
Capa de aplicación
El modelo TCP/IP no tiene capas de sesión o presentación, no se pensó que fueran necesarias, por lo que
no fueron incluidas. En la práctica se prueba que son muy poco usadas. Por lo que en el modelo arriba de
la capa de transporte se encuentra la capa de aplicación, que contiene todos los protocolos de alto nivel,
como TELNET, FTP, SMTP, DNS, NNTP, HTTP, etc.
Pregunta 2 (10 puntos)
Un bridge (puente) utiliza la siguiente política:
• si la LAN origen y destino son iguales, descarta el frame
• si la LAN origen y destino son diferentes, reenvía el frame al puerto correspondiente de la LAN
destino
• si la LAN destino es desconocida, utiliza flooding (envía por todos los puertos).
Describa que problema puede ocasionar este protocolo, mencione cómo se soluciona.
Respuesta:
Para incrementar la confiabilidad, se pueden utilizar varios puentes en paralelo entre LANs, como se
muestra en la figura. Sin embargo, esto introduce algunos problemas ya que crea bucles en la topología.
Un ejemplo de este problema se puede ver en la
figura. Cada puente usando las reglas descritas,
usa flooding, que en ejemplo simplemente copian
las tramas a la LAN 2. Luego el puente 1 ve los
paquetes y los vuelve a copiar a la LAN 1. De esta
forma se siguen copiando los paquetes entre las
LAN en forma infinita.
La solución a esto es que los puentes se
comuniquen entre si y descubran la topología con un árbol de cubrimiento o expansión, que cubra todas las
LAN. Cada arista del árbol conecta dos LAN que están conectadas por un puente. El grafo puede ser
reducido a un árbol de cubrimiento quitando las aristas que producen bucles, por lo que queda exactamente
un camino de cada LAN a otra. Una vez que los puentes acordaron el árbol de cubrimiento, todos los
redirecionamientos de tramas entre las LAN deben seguir el árbol de cubrimiento, y como solo hay un
camino entre cada LAN no son posibles los bucles.
3/14
Pregunta 3 (10 puntos)
Describa en que escenario se utiliza el protocolo RARP y su funcionamiento.
Respuesta:
ARP resuelve el problema de encontrar que dirección Ethernet corresponde a una dirección IP dada.
A veces se debe resolver el problema reverso: dada una dirección Ethernet, cual es la dirección IP que le
corresponde. Este problema ocurre por ejemplo en el escenario en que hay estaciones de trabajo tontas,
sin disco y las mismas deben ser reiniciadas. Dicha maquina normalmente obtiene la imagen del sistema
operativo de un archivo remoto, pero antes debe tener una dirección IP.
La primera solución que se encontró fue usar RARP (Reverse Address Resolution Protocol), este protocolo
permitía a las maquinas reiniciadas hacer un broadcast de Ethernet enviando una consulta de IP con su
dirección Ethernet. Un servidor de RARP recibe la solicitud, y realiza una búsqueda en sus archivos de
configuración enviando una respuesta con la dirección IP.
Usar RARP es mejor que grabar la IP en la imagen del sistema operativo ya que permite usar la misma
imagen para todos los equipos. La desventaja de RARP es que los broadcast Ethernet no son reenviados
por los router, por lo que se necesita un servidor RARP en cada subred. Por ello se diseñaron otros
protocolos como BOOTP y DHCP.
Pregunta 4 (10 puntos)
Mencione y explique los campos más importantes de los segmentos TCP y UDP.
Respuesta:
4/14
TCP
1) Puertos Origen/Destino
Identifican los puntos de acceso de la conexión. Hay puertos conocidos para protocolos comunes y
puertos definidos por el usuario. El puerto más la dirección IP forman un único punto de acceso.
Los puntos de acceso origen y destino identifican únicamente a la conexión.
2) Numero de secuencia / confirmación
El número de secuencia identifica cada paquete. El número de confirmación es el siguiente número
esperado no el último recibido. Ambos son de 32 bits porque se numera cada byte de datos.
3) Largo del cabezal
Cuenta cuantas palabras de 32 bits están contenidas en el cabezal. Esta información se usa porque
el campo de opciones es de largo variable. En realidad este campo indica el comienzo de los datos
medido en palabras de 32 bits, pero el número indica el largo del paquete por lo que es lo mismo.
4) URG
El puntero urgente es usado para indicar un desplazamiento del número de secuencia a partir del
cual se encuentran datos urgentes.
5) ACK
Se utiliza para indicar que el paquete es de confirmación, si no es así, el campo de confirmación es
ignorado.
6) PSH
Indica que los datos deben ser enviados a la capa de aplicación inmediatamente luego de ser
recibidos, en lugar de almacenarlos.
7) RST
Se utiliza para reiniciar una conexión caída u por otro problema, o para rechazar un paquete o una
conexión. Solo se utiliza en caso de un problema grave.
8) SYN
Se utiliza para establecer conexiones, se envía un paquete con SYN = 1 y ACK = 0. La respuesta
debe ser SYN = 1 y ACK = 1. Dicho campo es utilizado en definitiva para indicar un CONNECTION
REQUEST o CONNECTION ACCEPTED, y el ACK distingue las dos.
9) FIN
Se utiliza para cerrar una conexión, denota que no se tiene más datos para transmitir. Sin embargo
luego, de cerrar una conexión el proceso puede continuar enviando datos.
10) Tamaño de ventana
El control de flujo se realiza con una ventana deslizante. El tamaño de la ventana indica cuantos
bytes pueden ser enviados a partir del último byte confirmado. Una ventana de largo 0 se permite e
5/14
indica que se el receptor no aceptara más datos. El receptor puede volver a aceptar datos enviando
un paquete con un tamaño de ventana distinto de 0.
11) Checksum
Se utiliza un campo de verificación para proveer más confiabilidad. El campo de verificación incluye
el cabezal, los datos y un seudo cabezal.
12) Opciones
El campo de opciones es una forma de agregar funcionalidades extra no cubiertas por el cabezal
estándar. La opción más importante es la que permite especificar el tamaño de los datos que es
aceptada por un nodo. Otra opción posible es la indicación de utilizar selective repeat en lugar de
go back n.
13) Datos
Finalmente se incluyen los datos a ser enviados en el paquete
UDP
1) Puertos Origen/Destino
Identifican los puntos de acceso de la conexión. Hay puertos conocidos para protocolos comunes y
puertos definidos por el usuario. El puerto más la dirección IP forman un único punto de acceso.
Los puntos de acceso origen y destino identifican únicamente a la conexión.
2) Largo del cabezal
Cuenta cuantas palabras de 32 bits están contenidas en el cabezal y en los datos.
3) Checksum
Es un campo de validación y es opcional, si no es calculado se rellena con 0.
Pregunta 5 (5 puntos)
Describa el mecanismo de acceso al medio CSMA/CA (Carrier Sense Multiple Access With Collission
Avoidance).
Respuesta:
Uno de los primeros protocolos diseñados para LAN inalámbricas fue CSMA/CA o MACA (Carrier Sense)
Multiple Access with Collission Avoidance.
La idea es que el emisor estimula al receptor enviando una trama corta, de forma que las estaciones
cercanas puedan detectar la transmisión y eviten transmitir durante el envío de una trama de datos.
6/14
Consideremos que A quiere enviar una trama a B. Comienza enviando una trama del tipo RTS (Request To
Send) a B, esta trama corta contiene el largo de la trama que sigue. Luego B responde con una trama CTS
(Clear to Send). La trama CTS contiene una copia del largo de la trama siguiente enviada por A.
Luego que A recibe la trama comienza el envío de datos.
Cualquier estación escuchando un RTS está cercana a A y no debe enviar datos para que A reciba el CTS
sin interferencia. Cualquier estación cercana a B no debe enviar datos para que A pueda realizar el envío
de datos sin interferencia.
Se plantea el problema mostrado en el dibujo donde una estación C escucha la trama RTS pero no la CTS
por lo que puede llegar a enviar datos durante el envío de datos de A a B. Por otro lado una estación D
puede escuchar la trama RTS pero no la CTS, por lo que deduce que se van a enviar datos, y debe evitar
mandar en ese periodo.
Por lo tanto pueden ocurrir colisiones, por ejemplo también si B y C envían RTS al mismo tiempo a A.
Cuando ocurre una colisión, el emisor aguarda un periodo aleatorio de tiempo y vuelve a intentar.
7/14
Problemas Prácticos
Problema 1 (30 puntos)
Se cuenta con un protocolo de capa 2 (enlace) que opera sobre un enlace punto a punto, el que utiliza el
siguiente formato de trama:
Los campos que integran la misma son:
• Type (1 octeto) especifica el tipo de la trama.
• SN (1 octeto) especifica el número de secuencia de la trama.
• RN (1 octeto) especifica el número de trama que espera recibir el equipo origen.
• Data (0..MAX_LARGO) contiene los datos (payload) que transmite la trama.
Se desea contar con un protocolo para manejo del enlace que sea orientado a conexión, con un esquema
de ARQ (Automatic Repeat reQuest) de tipo Selective Repeat, que implemente además piggybacking.
Se cuenta con las siguientes primitivas:
• envioTrama(trama:byte[]). Envía la trama pasada por parámetro por el enlace agregando un campo
de verificación de la misma.
• reciboTrama():byte[].Devuelve una trama recibida por el enlace tal que verificó el campo de
verificación de la misma.
• datoAenviar():byte[].Devuelve datos generados en la capa superior. a enviar por el enlace.
• datoRecibido(dato:byte[]).Envía los datos recibidos por el enlace, a la capa superior.
Se pide:
a) Especificar que tipos de tramas requiere para implementar el protocolo (el campo Type de la trama)
b) ¿Que tamaño máximo de ventana le permite implementar con el formato de trama que se cuenta?
c) Especificar en un lenguaje de alto nivel el protocolo, suponiendo que se reciben y entregan datos
de la capa superior con la primitiva datoAenviar() y datoRecibido() respectivamente devolviendo
como máximo MAX_LARGO bytes, y se envían y reciben tramas del enlace con las primitivas
envioTrama() y reciboTrama() respectivamente .
Notas:
• Cada invocación de la función datoAenviar(), devuelve el contenido que será enviado en una sola
trama, debiendo numerarse por trama.
• Considerar que no existirán problemas en la conexión y desconexión del protocolo.
8/14
Solución:
a) Especificar que tipos de tramas requiere para implementar el protocolo (el campo Type de la trama)
Tipo de Trama Utilidad
cnx Para solicitar/aceptar conexión al/del extremo opuesto.
descnx Para solicitar/aceptar desconexión.
info Trama conteniendo datos a transferir por el enlace, que incluye
ack
ack Trama conteniendo información de la última trama recibida. Su
identificador se especifica en el campo RN.
nack Trama conteniendo información sobre trama no recibida. Su
identificador se especifica en el campo RN.
b) ¿Que tamaño máximo de ventana le permite implementar con el formato de trama que se cuenta?
La condición para el manejo de ventana en Selective Repeat requiere que M módulo del valor máximo de la
ventana y N valor de la ventana cumplan:
2N <= M
El valor de M es 256, ya que se cuenta con un octeto (0..255) para enviar su valor, por lo que el valor
máximo de tamaño de ventana será 128.
c) Especificar en un lenguaje de alto nivel el protocolo, suponiendo que se reciben y entregan datos
de la capa superior con la primitiva datoAenviar() y datoRecibido() respectivamente devolviendo
como máximo MAX_LARGO bytes, y se envían y reciben tramas del enlace con las primitivas
envioTrama() y reciboTrama() respectivamente .
Para la solución se utilizan dos estructuras de datos, donde se almacenan las tramas enviadas y las tramas
recibidas. Las mismas se acceden con las siguientes funciones:
Para las tramas enviadas:
getSND(int nroSec)
setSND(int nroSec, string data)
Para las tramas recibidas:
getRCP(int nroSec)
setRCP(int nroSec, string data)
Se utilizan además las siguientes funciones auxiliares:
armoTrama(byte tipo, byte SN, byte RN, string data)
9/14
10/14
11/14
12/14
Problema 2 (30 puntos)
Se desea analizar y mejorar el comportamiento de un algoritmo de enrutamiento link-state en una topología
particular como la de la figura, en la que hay dos grupos de redes interconectadas por un haz de enlaces
paralelos.
Se pide:
a) Describa en términos generales el funcionamiento de un algoritmo de enrutamiento del tipo “link
state” (OSPF).
b) ¿Como estima que el mismo se comportará en una topología como la de la figura? ¿Que
problemas podrían ocurrir en situaciones de alto tráfico y congestión? Estudiar en particular los
casos de tráfico mayor a 2048 kbps y entre 1024 y 2048 kbps.
c) Proponga y especifique en un lenguaje de alto nivel, un mecanismo para estimar el ancho de
banda de los enlaces. Este mecanismo deberá ser lo menos intrusivo posible, por lo que se sugiere
aprovechar el envío de LSAs (Link State Advertisements) para ello. Suponga que puede marcar el
tiempo al momento de salida/entrada del paquete al enlace, y los routers tienen su tiempo
exactamente sincronizado.
d) ¿Cómo puede mejorar la situación de la parte (b) el conocer el ancho de banda de los enlaces,
para la selección del mejor camino?
13/14
Solución:
a) Describa en términos generales el funcionamiento de un algoritmo de enrutamiento del tipo “link
state” (OSPF).
El funcionamiento de los algoritmos de enrutamiento de tipo “link state” se puede describir en
términos generales de la siguiente forma:
1. Descubrimiento de los vecinos
2. Medición de la distancia a los vecinos
3. Construir un paquete con la información recopilada y enviarlo a todos los demás routers de
la red
4. Escuchar la información de topología enviada por otros routers e ir armando con ella el
grafo de la red
5. Calcular el camino más corto a todos los destinos posibles conocidos en función del grafo
de red conocido
Comentarios:
• Para los pasos 1 y 2 se utilizan los paquetes HELLO que solamente tienen significado local
entre vecinos y no deben ser enrutados.
• Para el paso 3 se arma un paquete LSA (link state advertisment) que resume la información
de vecinos y métricas para llegar a c/u de ellos
• El paso 5 se hace corriendo el algoritmo de Dijkstra para el grafo conocido de la red
• Para asegurarnos que los LSA llegan a todos los routers los mismos de inundan (flooding)
con mecanismos para descartar los LSA ya vistos y números de secuencia para garantizar
que todos los routers tienen información consistente de la topología
• La métrica puede ser cualquier cosa que se pueda medir. Desde numero de saltos pasando
por ancho de banda y retardo
b) ¿Como estima que el mismo se comportará en una topología como la de la figura? ¿Que
problemas podrían ocurrir en situaciones de alto tráfico y congestión? Estudiar en particular los
casos de tráfico mayor a 2048 kbps y entre 1024 y 2048 kbps.
El algoritmo tal como fue descripto en el teórico corre el algoritmo de Dijkstra simple, que para cada
destino va a devolver solamente el camino más corto en cada momento de corrida. Por ello la red
en cada momento que se corra el D. va a elegir uno de los enlaces.
Discutimos casos, suponiendo que la métrica es algún valor condicionado por el tráfico (si fueran
saltos no queda muy claro que enlace sería el elegido y la pregunta como está planteada no tendría
sentido)
14/14
• Mientras el tráfico ofrecido es < que 2048 kbps, el enlace elegido es el de 2048 kbps
• A medida de que el tráfico ofrecido se acerca a 2048 la métrica sobre este enlace empeora
mientras que la métrica por el de 1024 se mantiene constante (pensar en que si mando
HELLOs los mismos tienen que esperar cada vez más en cola para ser transmitidos)
• A medida que nos adentramos en congestión más profunda, hay un momento de corte en
el cual la métrica por el enlace de 1024 es mejor que por el saturado enlace de 2048 y el
enlace elegido pasa a ser el de 1024
• ¿PERO qué pasa? El tráfico ofrecido es mucho mayor que 1024 por lo que este nuevo
enlace satura casi inmediatamente y un breve tiempo después el enlace de 2048 vuelve a
ser el mejor
• Este ciclo de oscilaciones se puede repetir varias veces mientras la carga ofrecida no varíe
Esta situación es muy perniciosa para la red y ocasiona importantes pérdidas de paquetes.
c) Proponga y especifique en un lenguaje de alto nivel, un mecanismo para estimar el ancho de
banda de los enlaces. Este mecanismo deberá ser lo menos intrusivo posible, por lo que se sugiere
aprovechar el envío de LSAs (Link State Advertisements) para ello. Suponga que puede marcar el
tiempo al momento de salida/entrada del paquete al enlace, y los routers tienen su tiempo
exactamente sincronizado.
Dadas las hipótesis se puede aplicar un muy simple algoritmo que consiste en los siguientes pasos:
1. Armar los LSAs de un tamaño conocido y fijo, eventualmente con padding (relleno) para
hacerlos de un largo no muy corto ni demasiado largo, por ejemplo, 1024 bytes.
a. Esto es para eliminar efectos de borde de paquetes muy cortos o muy largos
2. Enviar el LSA marcando el timestamp de salida, posiblemente en un campo de opciones
adicionales
3. El router que recibe el LSA con estas características determina el ancho de banda
realizando una simple operación:
Bw = L / (Ts2 – Ts1)
Donde: Ts1 y Ts2 son los timestamps correspondientes (salida y llegada) y L es el
largo del LSA
Observación 1: La hipótesis de sincronización de todos los routers es
fundamental, sin ella este proceso no es posible y hay que recurrir a otro tipo de
técnicas mucho más complejas
Observación 2: La medida debería repetirse en varias oportunidades y promediar,
a los efectos de eliminar efectos interferentes del resto del tráfico. No hay que
olvidar que los LSAs no son los únicos paquetes que están presentes en la red
d) ¿Cómo puede mejorar la situación de la parte (b) el conocer el ancho de banda de los enlaces,
para la selección del mejor camino?
En el caso más elemental, conocer el ancho de banda me permitiría simplemente evitar
oscilaciones porque puedo saber a-priori que el nuevo enlace no va a soportar la carga
Conocido el ancho de banda en este escenario es posible utilizar versiones refinadas del algoritmo
de Dijkstra que no solo determinan el mejor camino sino eventualmente también caminos
alternativos.

Más contenido relacionado

La actualidad más candente

Ul rc_cap3_el nivel de red en internet
 Ul rc_cap3_el nivel de red en internet Ul rc_cap3_el nivel de red en internet
Ul rc_cap3_el nivel de red en internetc09271
 
Enlace de datos Protocolos tcp ip
Enlace de datos Protocolos tcp ipEnlace de datos Protocolos tcp ip
Enlace de datos Protocolos tcp ipSaul Flores
 
PROTOCOLO TCP
PROTOCOLO TCPPROTOCOLO TCP
PROTOCOLO TCPFISGON59
 
Tramas ethernet, ieee.802.3, token ring
Tramas ethernet, ieee.802.3, token ringTramas ethernet, ieee.802.3, token ring
Tramas ethernet, ieee.802.3, token ringCzar Guzmán
 
Tema iv comunicación entre procesos
Tema iv comunicación entre procesosTema iv comunicación entre procesos
Tema iv comunicación entre procesosPablo Hurtado
 
Protocolo
ProtocoloProtocolo
Protocolonice04
 
Protocolos TCP-IP
Protocolos TCP-IPProtocolos TCP-IP
Protocolos TCP-IPpepex123456
 
Modelo T C P Internet Exposicion N U E V A
Modelo  T C P Internet Exposicion  N U E V AModelo  T C P Internet Exposicion  N U E V A
Modelo T C P Internet Exposicion N U E V A00ordnajela00
 
Ejemplo De AplicacióN En El Modelo Tcp
Ejemplo De AplicacióN En El Modelo TcpEjemplo De AplicacióN En El Modelo Tcp
Ejemplo De AplicacióN En El Modelo Tcpkatior
 

La actualidad más candente (20)

Ul rc_cap3_el nivel de red en internet
 Ul rc_cap3_el nivel de red en internet Ul rc_cap3_el nivel de red en internet
Ul rc_cap3_el nivel de red en internet
 
Comunicación tcp ip
Comunicación tcp ipComunicación tcp ip
Comunicación tcp ip
 
Capa 2
Capa 2Capa 2
Capa 2
 
Versiones TCP/IP
Versiones TCP/IPVersiones TCP/IP
Versiones TCP/IP
 
Enlace de datos Protocolos tcp ip
Enlace de datos Protocolos tcp ipEnlace de datos Protocolos tcp ip
Enlace de datos Protocolos tcp ip
 
PROTOCOLO TCP
PROTOCOLO TCPPROTOCOLO TCP
PROTOCOLO TCP
 
Udp
UdpUdp
Udp
 
Modelo TCP/IP
Modelo TCP/IPModelo TCP/IP
Modelo TCP/IP
 
9 modelo tcp-ip
9 modelo tcp-ip9 modelo tcp-ip
9 modelo tcp-ip
 
Tramas ethernet, ieee.802.3, token ring
Tramas ethernet, ieee.802.3, token ringTramas ethernet, ieee.802.3, token ring
Tramas ethernet, ieee.802.3, token ring
 
Tema iv comunicación entre procesos
Tema iv comunicación entre procesosTema iv comunicación entre procesos
Tema iv comunicación entre procesos
 
Ethernet
EthernetEthernet
Ethernet
 
Ethernet
EthernetEthernet
Ethernet
 
Investigación IPv4
Investigación IPv4Investigación IPv4
Investigación IPv4
 
Redes Lan
Redes LanRedes Lan
Redes Lan
 
Protocolo
ProtocoloProtocolo
Protocolo
 
Protocolos TCP-IP
Protocolos TCP-IPProtocolos TCP-IP
Protocolos TCP-IP
 
Modelo T C P Internet Exposicion N U E V A
Modelo  T C P Internet Exposicion  N U E V AModelo  T C P Internet Exposicion  N U E V A
Modelo T C P Internet Exposicion N U E V A
 
Ejemplo De AplicacióN En El Modelo Tcp
Ejemplo De AplicacióN En El Modelo TcpEjemplo De AplicacióN En El Modelo Tcp
Ejemplo De AplicacióN En El Modelo Tcp
 
Redes libro
Redes libroRedes libro
Redes libro
 

Similar a Sirc0703

Resumen redes super polenta
Resumen redes super polentaResumen redes super polenta
Resumen redes super polentaRuben Alvarez
 
Modelo tcp1
Modelo tcp1Modelo tcp1
Modelo tcp1nando85
 
PROTOCOLO CAPA TRANSPORTE - RED
PROTOCOLO CAPA TRANSPORTE - REDPROTOCOLO CAPA TRANSPORTE - RED
PROTOCOLO CAPA TRANSPORTE - REDDiego Merino
 
Alugunos estandares antonio
Alugunos estandares antonioAlugunos estandares antonio
Alugunos estandares antonio2242424
 
Protocolos del modelo osi
Protocolos del modelo osiProtocolos del modelo osi
Protocolos del modelo osijavi_ant16
 
Protocolos del modelo osi de javier peña
Protocolos del modelo osi de javier peñaProtocolos del modelo osi de javier peña
Protocolos del modelo osi de javier peñamichelle_95
 
Algunos estándares lulu
Algunos estándares luluAlgunos estándares lulu
Algunos estándares luluguest96b4d12
 
Presentación redes informáticas
Presentación redes informáticasPresentación redes informáticas
Presentación redes informáticascelialopezgil
 
Capa De Transporte2
Capa De Transporte2Capa De Transporte2
Capa De Transporte2guest5bb75e
 
Informe de redes i
Informe de redes iInforme de redes i
Informe de redes iredes1911
 
Modelo tcp diamico
Modelo tcp diamicoModelo tcp diamico
Modelo tcp diamicoJesii
 
Ud 4 redes_v1_c
Ud 4 redes_v1_cUd 4 redes_v1_c
Ud 4 redes_v1_cvelasquezc
 

Similar a Sirc0703 (20)

Resumen redes super polenta
Resumen redes super polentaResumen redes super polenta
Resumen redes super polenta
 
Modelo tcp1
Modelo tcp1Modelo tcp1
Modelo tcp1
 
PROTOCOLO CAPA TRANSPORTE - RED
PROTOCOLO CAPA TRANSPORTE - REDPROTOCOLO CAPA TRANSPORTE - RED
PROTOCOLO CAPA TRANSPORTE - RED
 
Alugunos estandares antonio
Alugunos estandares antonioAlugunos estandares antonio
Alugunos estandares antonio
 
Protocolos del modelo osi
Protocolos del modelo osiProtocolos del modelo osi
Protocolos del modelo osi
 
Protocolos del modelo osi de javier peña
Protocolos del modelo osi de javier peñaProtocolos del modelo osi de javier peña
Protocolos del modelo osi de javier peña
 
Algunos estándares lulu
Algunos estándares luluAlgunos estándares lulu
Algunos estándares lulu
 
Tcpip
TcpipTcpip
Tcpip
 
Repaso de redes
Repaso de redesRepaso de redes
Repaso de redes
 
Repaso de redes
Repaso de redesRepaso de redes
Repaso de redes
 
Modelo tcp ip
Modelo tcp ipModelo tcp ip
Modelo tcp ip
 
Capa 4
Capa 4Capa 4
Capa 4
 
Presentación redes informáticas
Presentación redes informáticasPresentación redes informáticas
Presentación redes informáticas
 
Osi jhon mora 661399
Osi jhon mora 661399Osi jhon mora 661399
Osi jhon mora 661399
 
Capa De Transporte2
Capa De Transporte2Capa De Transporte2
Capa De Transporte2
 
Capa 2
Capa 2Capa 2
Capa 2
 
Informe de redes i
Informe de redes iInforme de redes i
Informe de redes i
 
Tcp ip aplicaciones
Tcp ip aplicacionesTcp ip aplicaciones
Tcp ip aplicaciones
 
Modelo tcp diamico
Modelo tcp diamicoModelo tcp diamico
Modelo tcp diamico
 
Ud 4 redes_v1_c
Ud 4 redes_v1_cUd 4 redes_v1_c
Ud 4 redes_v1_c
 

Último

La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafiosFundación YOD YOD
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíassuserf18419
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfsoporteupcology
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...silviayucra2
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan JosephBRAYANJOSEPHPEREZGOM
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdfIsabellaMontaomurill
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxJOSEMANUELHERNANDEZH11
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...FacuMeza2
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx241521559
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfSergioMendoza354770
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveFagnerLisboa3
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesFundación YOD YOD
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersIván López Martín
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricKeyla Dolores Méndez
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)GDGSucre
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...AlanCedillo9
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxpabonheidy28
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024GiovanniJavierHidalg
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIAWilbisVega
 

Último (19)

La era de la educación digital y sus desafios
La era de la educación digital y sus desafiosLa era de la educación digital y sus desafios
La era de la educación digital y sus desafios
 
Trabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnologíaTrabajo Mas Completo De Excel en clase tecnología
Trabajo Mas Completo De Excel en clase tecnología
 
Redes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdfRedes direccionamiento y subredes ipv4 2024 .pdf
Redes direccionamiento y subredes ipv4 2024 .pdf
 
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
POWER POINT YUCRAElabore una PRESENTACIÓN CORTA sobre el video película: La C...
 
guía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Josephguía de registro de slideshare por Brayan Joseph
guía de registro de slideshare por Brayan Joseph
 
trabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdftrabajotecologiaisabella-240424003133-8f126965.pdf
trabajotecologiaisabella-240424003133-8f126965.pdf
 
Hernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptxHernandez_Hernandez_Practica web de la sesion 12.pptx
Hernandez_Hernandez_Practica web de la sesion 12.pptx
 
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
ATAJOS DE WINDOWS. Los diferentes atajos para utilizar en windows y ser más e...
 
Proyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptxProyecto integrador. Las TIC en la sociedad S4.pptx
Proyecto integrador. Las TIC en la sociedad S4.pptx
 
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdfPARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
PARTES DE UN OSCILOSCOPIO ANALOGICO .pdf
 
EPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial UninoveEPA-pdf resultado da prova presencial Uninove
EPA-pdf resultado da prova presencial Uninove
 
KELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento ProtégelesKELA Presentacion Costa Rica 2024 - evento Protégeles
KELA Presentacion Costa Rica 2024 - evento Protégeles
 
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 TestcontainersSalmorejoTech 2024 - Spring Boot <3 Testcontainers
SalmorejoTech 2024 - Spring Boot <3 Testcontainers
 
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft FabricGlobal Azure Lima 2024 - Integración de Datos con Microsoft Fabric
Global Azure Lima 2024 - Integración de Datos con Microsoft Fabric
 
International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)International Women's Day Sucre 2024 (IWD)
International Women's Day Sucre 2024 (IWD)
 
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
Instrumentación Hoy_ INTERPRETAR EL DIAGRAMA UNIFILAR GENERAL DE UNA PLANTA I...
 
Plan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docxPlan de aula informatica segundo periodo.docx
Plan de aula informatica segundo periodo.docx
 
Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024Cortes-24-de-abril-Tungurahua-3 año 2024
Cortes-24-de-abril-Tungurahua-3 año 2024
 
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE  DE TECNOLOGIA E INFORMATICA PRIMARIACLASE  DE TECNOLOGIA E INFORMATICA PRIMARIA
CLASE DE TECNOLOGIA E INFORMATICA PRIMARIA
 

Sirc0703

  • 1. 1/14 Examen de Introducción a las Redes de Computadoras y Comunicación de Datos (ref: sirc0703.doc) 26 de febrero de 2007 Atención: • La duración del examen de 3 horas. • El examen debe realizarse sin material. • Se debe responder al menos el equivalente a 15 puntos en las preguntas teóricas. • El puntaje mínimo de aprobación es de 60 puntos. • para todos los ejercicios, suponga que dispone de los tipos de datos básicos (p.ej. lista, cola, archivo, string, etc.) y sus funciones asociadas (ej: tail(lista), crear(archivo), concatenar(string, string). Preguntas Teóricas Pregunta 1 (5 puntos) Describa el modelo de capas TCP/IP. Respuesta: El modelo TCP/IP surgió a partir de la red ARPANET, cuyo mayor objetivo de diseño era interconectar varias redes en forma transparente, dicha arquitectura evoluciono en el modelo TCP/IP. La capa Host a Red Especifica cómo se envían físicamente los datos a través de la red, que incluye cómo se realiza la señalización eléctrica de los bits mediante los dispositivos de hardware que conectan directamente con un medio de red, como un cable coaxial, un cable de fibra óptica o un cable de cobre de par trenzado. No esta definido el protocolo y el mismo puede variar en diferentes implementaciones. La capa Interred Esta capa es la que mantiene unida toda la arquitectura. Permite a los host enviar paquetes a cualquier red y que viajen independientemente del destino (potencialmente otra red). Pueden incluso llegar en diferente orden, en cuyo caso es trabajo de capas superiores, reordenarlos. La capa de interred define un formato de paquetes llamado IP. El trabajo de la capa de interred es que dichos paquetes lleguen a donde corresponde, por lo que el ruteo de los paquetes es el mayor problema. La capa de interred es similar en su funcionamiento a la capa OSI de Red.
  • 2. 2/14 Capa de Transporte Sobre la capa de interred se define la capa de transporte, la misma está diseñada para conectar dos entidades y mantener un enlace de datos. Hay dos protocolos definidos: TCP (Transmission Control Protocol), es un protocol orientado a conexión, confinable, que permite que un flujo de bytes sea enviado de una maquina a otra sin errores; fragmenta el flujo de bytes y lo pasa a la capa de interred, al llegar a destino reconstruye el flujo de bytes; TCP también maneja el control de flujo para evitar sobrepasar la capacidad de un receptor más lento. El segundo protocolo, UDP, (User Datagram Protocol) es un protocolo no confiable sin conexión, para aplicaciones que no necesitan secuenciamiento de paquetes o control de flujo, o aplicaciones donde es más importante transmitir rápido que en forma confiable, como voz o video. Capa de aplicación El modelo TCP/IP no tiene capas de sesión o presentación, no se pensó que fueran necesarias, por lo que no fueron incluidas. En la práctica se prueba que son muy poco usadas. Por lo que en el modelo arriba de la capa de transporte se encuentra la capa de aplicación, que contiene todos los protocolos de alto nivel, como TELNET, FTP, SMTP, DNS, NNTP, HTTP, etc. Pregunta 2 (10 puntos) Un bridge (puente) utiliza la siguiente política: • si la LAN origen y destino son iguales, descarta el frame • si la LAN origen y destino son diferentes, reenvía el frame al puerto correspondiente de la LAN destino • si la LAN destino es desconocida, utiliza flooding (envía por todos los puertos). Describa que problema puede ocasionar este protocolo, mencione cómo se soluciona. Respuesta: Para incrementar la confiabilidad, se pueden utilizar varios puentes en paralelo entre LANs, como se muestra en la figura. Sin embargo, esto introduce algunos problemas ya que crea bucles en la topología. Un ejemplo de este problema se puede ver en la figura. Cada puente usando las reglas descritas, usa flooding, que en ejemplo simplemente copian las tramas a la LAN 2. Luego el puente 1 ve los paquetes y los vuelve a copiar a la LAN 1. De esta forma se siguen copiando los paquetes entre las LAN en forma infinita. La solución a esto es que los puentes se comuniquen entre si y descubran la topología con un árbol de cubrimiento o expansión, que cubra todas las LAN. Cada arista del árbol conecta dos LAN que están conectadas por un puente. El grafo puede ser reducido a un árbol de cubrimiento quitando las aristas que producen bucles, por lo que queda exactamente un camino de cada LAN a otra. Una vez que los puentes acordaron el árbol de cubrimiento, todos los redirecionamientos de tramas entre las LAN deben seguir el árbol de cubrimiento, y como solo hay un camino entre cada LAN no son posibles los bucles.
  • 3. 3/14 Pregunta 3 (10 puntos) Describa en que escenario se utiliza el protocolo RARP y su funcionamiento. Respuesta: ARP resuelve el problema de encontrar que dirección Ethernet corresponde a una dirección IP dada. A veces se debe resolver el problema reverso: dada una dirección Ethernet, cual es la dirección IP que le corresponde. Este problema ocurre por ejemplo en el escenario en que hay estaciones de trabajo tontas, sin disco y las mismas deben ser reiniciadas. Dicha maquina normalmente obtiene la imagen del sistema operativo de un archivo remoto, pero antes debe tener una dirección IP. La primera solución que se encontró fue usar RARP (Reverse Address Resolution Protocol), este protocolo permitía a las maquinas reiniciadas hacer un broadcast de Ethernet enviando una consulta de IP con su dirección Ethernet. Un servidor de RARP recibe la solicitud, y realiza una búsqueda en sus archivos de configuración enviando una respuesta con la dirección IP. Usar RARP es mejor que grabar la IP en la imagen del sistema operativo ya que permite usar la misma imagen para todos los equipos. La desventaja de RARP es que los broadcast Ethernet no son reenviados por los router, por lo que se necesita un servidor RARP en cada subred. Por ello se diseñaron otros protocolos como BOOTP y DHCP. Pregunta 4 (10 puntos) Mencione y explique los campos más importantes de los segmentos TCP y UDP. Respuesta:
  • 4. 4/14 TCP 1) Puertos Origen/Destino Identifican los puntos de acceso de la conexión. Hay puertos conocidos para protocolos comunes y puertos definidos por el usuario. El puerto más la dirección IP forman un único punto de acceso. Los puntos de acceso origen y destino identifican únicamente a la conexión. 2) Numero de secuencia / confirmación El número de secuencia identifica cada paquete. El número de confirmación es el siguiente número esperado no el último recibido. Ambos son de 32 bits porque se numera cada byte de datos. 3) Largo del cabezal Cuenta cuantas palabras de 32 bits están contenidas en el cabezal. Esta información se usa porque el campo de opciones es de largo variable. En realidad este campo indica el comienzo de los datos medido en palabras de 32 bits, pero el número indica el largo del paquete por lo que es lo mismo. 4) URG El puntero urgente es usado para indicar un desplazamiento del número de secuencia a partir del cual se encuentran datos urgentes. 5) ACK Se utiliza para indicar que el paquete es de confirmación, si no es así, el campo de confirmación es ignorado. 6) PSH Indica que los datos deben ser enviados a la capa de aplicación inmediatamente luego de ser recibidos, en lugar de almacenarlos. 7) RST Se utiliza para reiniciar una conexión caída u por otro problema, o para rechazar un paquete o una conexión. Solo se utiliza en caso de un problema grave. 8) SYN Se utiliza para establecer conexiones, se envía un paquete con SYN = 1 y ACK = 0. La respuesta debe ser SYN = 1 y ACK = 1. Dicho campo es utilizado en definitiva para indicar un CONNECTION REQUEST o CONNECTION ACCEPTED, y el ACK distingue las dos. 9) FIN Se utiliza para cerrar una conexión, denota que no se tiene más datos para transmitir. Sin embargo luego, de cerrar una conexión el proceso puede continuar enviando datos. 10) Tamaño de ventana El control de flujo se realiza con una ventana deslizante. El tamaño de la ventana indica cuantos bytes pueden ser enviados a partir del último byte confirmado. Una ventana de largo 0 se permite e
  • 5. 5/14 indica que se el receptor no aceptara más datos. El receptor puede volver a aceptar datos enviando un paquete con un tamaño de ventana distinto de 0. 11) Checksum Se utiliza un campo de verificación para proveer más confiabilidad. El campo de verificación incluye el cabezal, los datos y un seudo cabezal. 12) Opciones El campo de opciones es una forma de agregar funcionalidades extra no cubiertas por el cabezal estándar. La opción más importante es la que permite especificar el tamaño de los datos que es aceptada por un nodo. Otra opción posible es la indicación de utilizar selective repeat en lugar de go back n. 13) Datos Finalmente se incluyen los datos a ser enviados en el paquete UDP 1) Puertos Origen/Destino Identifican los puntos de acceso de la conexión. Hay puertos conocidos para protocolos comunes y puertos definidos por el usuario. El puerto más la dirección IP forman un único punto de acceso. Los puntos de acceso origen y destino identifican únicamente a la conexión. 2) Largo del cabezal Cuenta cuantas palabras de 32 bits están contenidas en el cabezal y en los datos. 3) Checksum Es un campo de validación y es opcional, si no es calculado se rellena con 0. Pregunta 5 (5 puntos) Describa el mecanismo de acceso al medio CSMA/CA (Carrier Sense Multiple Access With Collission Avoidance). Respuesta: Uno de los primeros protocolos diseñados para LAN inalámbricas fue CSMA/CA o MACA (Carrier Sense) Multiple Access with Collission Avoidance. La idea es que el emisor estimula al receptor enviando una trama corta, de forma que las estaciones cercanas puedan detectar la transmisión y eviten transmitir durante el envío de una trama de datos.
  • 6. 6/14 Consideremos que A quiere enviar una trama a B. Comienza enviando una trama del tipo RTS (Request To Send) a B, esta trama corta contiene el largo de la trama que sigue. Luego B responde con una trama CTS (Clear to Send). La trama CTS contiene una copia del largo de la trama siguiente enviada por A. Luego que A recibe la trama comienza el envío de datos. Cualquier estación escuchando un RTS está cercana a A y no debe enviar datos para que A reciba el CTS sin interferencia. Cualquier estación cercana a B no debe enviar datos para que A pueda realizar el envío de datos sin interferencia. Se plantea el problema mostrado en el dibujo donde una estación C escucha la trama RTS pero no la CTS por lo que puede llegar a enviar datos durante el envío de datos de A a B. Por otro lado una estación D puede escuchar la trama RTS pero no la CTS, por lo que deduce que se van a enviar datos, y debe evitar mandar en ese periodo. Por lo tanto pueden ocurrir colisiones, por ejemplo también si B y C envían RTS al mismo tiempo a A. Cuando ocurre una colisión, el emisor aguarda un periodo aleatorio de tiempo y vuelve a intentar.
  • 7. 7/14 Problemas Prácticos Problema 1 (30 puntos) Se cuenta con un protocolo de capa 2 (enlace) que opera sobre un enlace punto a punto, el que utiliza el siguiente formato de trama: Los campos que integran la misma son: • Type (1 octeto) especifica el tipo de la trama. • SN (1 octeto) especifica el número de secuencia de la trama. • RN (1 octeto) especifica el número de trama que espera recibir el equipo origen. • Data (0..MAX_LARGO) contiene los datos (payload) que transmite la trama. Se desea contar con un protocolo para manejo del enlace que sea orientado a conexión, con un esquema de ARQ (Automatic Repeat reQuest) de tipo Selective Repeat, que implemente además piggybacking. Se cuenta con las siguientes primitivas: • envioTrama(trama:byte[]). Envía la trama pasada por parámetro por el enlace agregando un campo de verificación de la misma. • reciboTrama():byte[].Devuelve una trama recibida por el enlace tal que verificó el campo de verificación de la misma. • datoAenviar():byte[].Devuelve datos generados en la capa superior. a enviar por el enlace. • datoRecibido(dato:byte[]).Envía los datos recibidos por el enlace, a la capa superior. Se pide: a) Especificar que tipos de tramas requiere para implementar el protocolo (el campo Type de la trama) b) ¿Que tamaño máximo de ventana le permite implementar con el formato de trama que se cuenta? c) Especificar en un lenguaje de alto nivel el protocolo, suponiendo que se reciben y entregan datos de la capa superior con la primitiva datoAenviar() y datoRecibido() respectivamente devolviendo como máximo MAX_LARGO bytes, y se envían y reciben tramas del enlace con las primitivas envioTrama() y reciboTrama() respectivamente . Notas: • Cada invocación de la función datoAenviar(), devuelve el contenido que será enviado en una sola trama, debiendo numerarse por trama. • Considerar que no existirán problemas en la conexión y desconexión del protocolo.
  • 8. 8/14 Solución: a) Especificar que tipos de tramas requiere para implementar el protocolo (el campo Type de la trama) Tipo de Trama Utilidad cnx Para solicitar/aceptar conexión al/del extremo opuesto. descnx Para solicitar/aceptar desconexión. info Trama conteniendo datos a transferir por el enlace, que incluye ack ack Trama conteniendo información de la última trama recibida. Su identificador se especifica en el campo RN. nack Trama conteniendo información sobre trama no recibida. Su identificador se especifica en el campo RN. b) ¿Que tamaño máximo de ventana le permite implementar con el formato de trama que se cuenta? La condición para el manejo de ventana en Selective Repeat requiere que M módulo del valor máximo de la ventana y N valor de la ventana cumplan: 2N <= M El valor de M es 256, ya que se cuenta con un octeto (0..255) para enviar su valor, por lo que el valor máximo de tamaño de ventana será 128. c) Especificar en un lenguaje de alto nivel el protocolo, suponiendo que se reciben y entregan datos de la capa superior con la primitiva datoAenviar() y datoRecibido() respectivamente devolviendo como máximo MAX_LARGO bytes, y se envían y reciben tramas del enlace con las primitivas envioTrama() y reciboTrama() respectivamente . Para la solución se utilizan dos estructuras de datos, donde se almacenan las tramas enviadas y las tramas recibidas. Las mismas se acceden con las siguientes funciones: Para las tramas enviadas: getSND(int nroSec) setSND(int nroSec, string data) Para las tramas recibidas: getRCP(int nroSec) setRCP(int nroSec, string data) Se utilizan además las siguientes funciones auxiliares: armoTrama(byte tipo, byte SN, byte RN, string data)
  • 10. 10/14
  • 11. 11/14
  • 12. 12/14 Problema 2 (30 puntos) Se desea analizar y mejorar el comportamiento de un algoritmo de enrutamiento link-state en una topología particular como la de la figura, en la que hay dos grupos de redes interconectadas por un haz de enlaces paralelos. Se pide: a) Describa en términos generales el funcionamiento de un algoritmo de enrutamiento del tipo “link state” (OSPF). b) ¿Como estima que el mismo se comportará en una topología como la de la figura? ¿Que problemas podrían ocurrir en situaciones de alto tráfico y congestión? Estudiar en particular los casos de tráfico mayor a 2048 kbps y entre 1024 y 2048 kbps. c) Proponga y especifique en un lenguaje de alto nivel, un mecanismo para estimar el ancho de banda de los enlaces. Este mecanismo deberá ser lo menos intrusivo posible, por lo que se sugiere aprovechar el envío de LSAs (Link State Advertisements) para ello. Suponga que puede marcar el tiempo al momento de salida/entrada del paquete al enlace, y los routers tienen su tiempo exactamente sincronizado. d) ¿Cómo puede mejorar la situación de la parte (b) el conocer el ancho de banda de los enlaces, para la selección del mejor camino?
  • 13. 13/14 Solución: a) Describa en términos generales el funcionamiento de un algoritmo de enrutamiento del tipo “link state” (OSPF). El funcionamiento de los algoritmos de enrutamiento de tipo “link state” se puede describir en términos generales de la siguiente forma: 1. Descubrimiento de los vecinos 2. Medición de la distancia a los vecinos 3. Construir un paquete con la información recopilada y enviarlo a todos los demás routers de la red 4. Escuchar la información de topología enviada por otros routers e ir armando con ella el grafo de la red 5. Calcular el camino más corto a todos los destinos posibles conocidos en función del grafo de red conocido Comentarios: • Para los pasos 1 y 2 se utilizan los paquetes HELLO que solamente tienen significado local entre vecinos y no deben ser enrutados. • Para el paso 3 se arma un paquete LSA (link state advertisment) que resume la información de vecinos y métricas para llegar a c/u de ellos • El paso 5 se hace corriendo el algoritmo de Dijkstra para el grafo conocido de la red • Para asegurarnos que los LSA llegan a todos los routers los mismos de inundan (flooding) con mecanismos para descartar los LSA ya vistos y números de secuencia para garantizar que todos los routers tienen información consistente de la topología • La métrica puede ser cualquier cosa que se pueda medir. Desde numero de saltos pasando por ancho de banda y retardo b) ¿Como estima que el mismo se comportará en una topología como la de la figura? ¿Que problemas podrían ocurrir en situaciones de alto tráfico y congestión? Estudiar en particular los casos de tráfico mayor a 2048 kbps y entre 1024 y 2048 kbps. El algoritmo tal como fue descripto en el teórico corre el algoritmo de Dijkstra simple, que para cada destino va a devolver solamente el camino más corto en cada momento de corrida. Por ello la red en cada momento que se corra el D. va a elegir uno de los enlaces. Discutimos casos, suponiendo que la métrica es algún valor condicionado por el tráfico (si fueran saltos no queda muy claro que enlace sería el elegido y la pregunta como está planteada no tendría sentido)
  • 14. 14/14 • Mientras el tráfico ofrecido es < que 2048 kbps, el enlace elegido es el de 2048 kbps • A medida de que el tráfico ofrecido se acerca a 2048 la métrica sobre este enlace empeora mientras que la métrica por el de 1024 se mantiene constante (pensar en que si mando HELLOs los mismos tienen que esperar cada vez más en cola para ser transmitidos) • A medida que nos adentramos en congestión más profunda, hay un momento de corte en el cual la métrica por el enlace de 1024 es mejor que por el saturado enlace de 2048 y el enlace elegido pasa a ser el de 1024 • ¿PERO qué pasa? El tráfico ofrecido es mucho mayor que 1024 por lo que este nuevo enlace satura casi inmediatamente y un breve tiempo después el enlace de 2048 vuelve a ser el mejor • Este ciclo de oscilaciones se puede repetir varias veces mientras la carga ofrecida no varíe Esta situación es muy perniciosa para la red y ocasiona importantes pérdidas de paquetes. c) Proponga y especifique en un lenguaje de alto nivel, un mecanismo para estimar el ancho de banda de los enlaces. Este mecanismo deberá ser lo menos intrusivo posible, por lo que se sugiere aprovechar el envío de LSAs (Link State Advertisements) para ello. Suponga que puede marcar el tiempo al momento de salida/entrada del paquete al enlace, y los routers tienen su tiempo exactamente sincronizado. Dadas las hipótesis se puede aplicar un muy simple algoritmo que consiste en los siguientes pasos: 1. Armar los LSAs de un tamaño conocido y fijo, eventualmente con padding (relleno) para hacerlos de un largo no muy corto ni demasiado largo, por ejemplo, 1024 bytes. a. Esto es para eliminar efectos de borde de paquetes muy cortos o muy largos 2. Enviar el LSA marcando el timestamp de salida, posiblemente en un campo de opciones adicionales 3. El router que recibe el LSA con estas características determina el ancho de banda realizando una simple operación: Bw = L / (Ts2 – Ts1) Donde: Ts1 y Ts2 son los timestamps correspondientes (salida y llegada) y L es el largo del LSA Observación 1: La hipótesis de sincronización de todos los routers es fundamental, sin ella este proceso no es posible y hay que recurrir a otro tipo de técnicas mucho más complejas Observación 2: La medida debería repetirse en varias oportunidades y promediar, a los efectos de eliminar efectos interferentes del resto del tráfico. No hay que olvidar que los LSAs no son los únicos paquetes que están presentes en la red d) ¿Cómo puede mejorar la situación de la parte (b) el conocer el ancho de banda de los enlaces, para la selección del mejor camino? En el caso más elemental, conocer el ancho de banda me permitiría simplemente evitar oscilaciones porque puedo saber a-priori que el nuevo enlace no va a soportar la carga Conocido el ancho de banda en este escenario es posible utilizar versiones refinadas del algoritmo de Dijkstra que no solo determinan el mejor camino sino eventualmente también caminos alternativos.