Salut,
j'ai lu en diagonale, il y a quelques incompréhensions...
Voyons comment se passe la cinématique des flux d'un 'ping'.
Hypothèses
- hôte 1 sur port1 du switch, il possède la MAC@ Mac1 et son IP est IP1
- hôte 2 sur port2 du switch associé à Mac2, IP2
- IP1 et IP2 sont des adresses appartenant au même sous-réseau
1er cas : hôte 1 connait la MAC adresse de hôte 2, voilà la cinématique
La couche IP de hôte 1 forge l'ICMP correspondant (source IP1, destination IP2). Hôte 1 encapsule le paquet IP dans une trame Ethernet (source Mac1, destination Mac2).
Hôte 2 reçoit la trame Ethernet, extrait le paquet IP encapsulé puis forge l'ICMP Reply (source IP2, destination IP1). Il encapsule l'ICMP dans une trame Ethernet (source Mac2, destination Mac1).
2ème cas : hôte 1 ne connait pas la MAC adresse de hôte 2
Alors Hôte 1 forge un ARP Request pour obtenir Mac2 (source IP1, destination IP2) mais lorsque hôte 1 encapsule le paquet dans une trame Ethernet, il mettra Mac1 en source et le full broadcast en destination (ff:ff:ff:ff:ff:ff) de telle façon que toutes les stations puissent intercepter l'ARP Request.
Hôte 2 reçoit l'ARP Request, voit que c'est son adresse qui est demandée et répond à Hôte 1.
Hôte 1 connait alors la MAC adresse de hôte 2, et on se retrouve dans le 1er cas.
Maintenant, concernant le switch...
Il y a plusieurs choses à savoir...
a) Un switch peuple sa table de MAC adresses (forwarding database, ou FDB) "au fil de l'eau".
b) Lorsqu'une trame Ethernet arrive sur un de ses ports et qu'il ne sait pas où se trouve la MAC adresse destination, il va dupliquer la trame en mémoire et l'envoyer sur tous ses ports (cette opération s'appelle le flooding). Puisque la trame est envoyée partout, la destination va répondre et le switch créera une entrée dans sa FDB.
c) Lorsqu'une entrée MAC est créée dans la FDB, un timer est amorcé (il s'appelle l'ageing time) et si le switch n'a pas entendu causer ladite MAC adress avant l'échéance du timer, l'entrée est effacée.
J'espère que ça clarifie !
-VX
Partager