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