Imagen de Morató Osés Daniel
Problema 2 de repaso del primer cuatrimestre
de Morató Osés Daniel - jueves, 7 de mayo de 2009, 16:02
 
Hola

Nadie contestó al problema anterior. Bien, por mí que no sea, así que os propongo otro. De nuevo, si colocais en el mismo foro vuestra solución al problema podremos corregirlo entre todos.

Teneis una semana para hacerlo. Es completamente voluntario y no puntuable.



Supongamos que una LAN está construida siguiendo el esquema de la figura donde se alternan conmutadores y hubs Ethernet. Cada hub tiene 24 puertos 10Base-T a los que se conectan 20 hosts (PCs comunes de oficina) y cada conmutador tiene 12 puertos 100Base-TX a los que se conectan 5 servidores (ordenadores de mayor capacidad). Supongamos que el administrador comete un error de configuración y asigna la misma dirección IP a los servidores S1 y S2. S1 posee un servidor web y otro de FTP mientras que S2 mantiene otro servidor web y los servidores de correo electrónico.
  1. Explique qué sucederá cuando el usuario de PCA solicite en su navegador web una página web del servidor de dirección IPS1=IPS2. Describa los paquetes que circulen
  2. ¿Cómo quedarán las tablas de asignación MAC-puerto de todos los conmutadores de la red tras el suceso de la pregunta anterior?
Figura del problema
Imagen de Martinez Yésica
Re: Problema 2 de repaso del primer cuatrimestre
de Martinez Yésica - miércoles, 13 de mayo de 2009, 20:54
 

1

 

Para obtener una página web de un servidor hay que establecer una conexión TCP.

El primer paso para establecer una conexión TCP es enviar un paquete sin datos con el flag SYN activado. Supuesto que todos los elementos de la red se acaban de conectar todas las tablas ARP están vacías. Debido a esto cuando este paquete llegue a la capa de enlace se iniciará el protocolo ARP.

PCA enviará un ARP request, es decir, enviará una trama ARP a la dirección MAC de broadcast, esta trama contiene la IP destino, IPS1 = IPS2.

Como el servidor S1 tiene esta IP, contestará con un ARP reply, cuando esta trama llegue a PCA, este apuntara la pareja MACS1-IP en su tabla ARP y podrá enviar el paquete SYN.

Este paquete SYN llegara a S1, quien contestara con otro paquete sin datos con ACK y SYN.

El problema es que el ARP request generado por PCA también llega a S2 y como IPS2=IPS1=IP S2 también enviara una ARP reply.

Este ARP reply llegará a PCA antes de que llegue el paquete SYN con ACK, por lo que para cuando este paquete llegue a PCA en la tabla ARP de PCA IPS2=IPS1=IP se corresponderá con la MAC de S2.

Al llegar el paquete SYN con ACK PCA enviará un ACK, este paquete lo leerá S2 no S1 ya que ahora la IP se corresponde con la MAC de S2.

 

Lo que pasará es que se establecerá la conexión TCP entre PCA y S1 pero S1 no se enterara de que esta conexión se ha establecido por lo que supongo que al cabo de un tiempo se cerrará la conexión.

 

El servidor S2 recibirá un ACK sin estar esperándolo por que supongo que enviara a PCA algún paquete de error.

 

2

Switch 1

Interfaz MAC
1 PCA
2 S1
3 S2

Switch 2

Interfaz MAC
1 PCA
2 S1
3 S2

Switch 3

 

Interfaz MAC
1 PCA
2 S2

 

Imagen de Morató Osés Daniel
Re: Problema 2 de repaso del primer cuatrimestre
de Morató Osés Daniel - jueves, 21 de mayo de 2009, 22:22
 
Planteas que:
1) El SYN inicial va de PCA a S1
2) S1 contesta con SYN+ACK
3) PCA envía el ACK final a S2 porque recibe un cambio de la relación IP-MAC

El razonamiento es bastante bueno. Este es un problema para pensar y practicar si se han entendido los conceptos y el funcionamiento de los protocolos (que en tu caso diría que sí) del que no me atrevería a decir que tengo una solución general sino que depende de la secuencia de acontecimientos y de cómo se hayan hecho las implementaciones antes ciertos aspectos. Por ejemplo:
a) Cuando PCA recibe un nuevo mapeo IP-MAC probablemente no tiene mucho sentido que las conexiones que tiene establecidas o a medio establecer sigan como están.
b) En tu línea de acontecimientos, tras el ARP, lo que recibe S2 es un ACK perteneciente a una conexión de la que él no sabe nada. Esto lo que va a generar es un Reset. Las conexiones no pueden empezar así, un paquete de ese estilo hace pensar que es de una conexión anterior de la que probablemente ha borrado registro de su existencia por darla por terminada así que contesta con un reset.
c) S1 no ha recibido el ACK final así que enviará de nuevo su SYN+ACK del paso 2)