Un utilisateur sur la machine B, entre la commande : " telnet machine D " (telnet étant une connexion à distance).
Que se passe-t-il?
· La machine B (adresse IP 129.88.32.2) traduit le nom " machine D " en adresse IP 129.88.36.3, d'après sa table hosts (liste des correspondances nom de la machine-adresse IP) ou après interrogation d'un serveur de nom (qui fait la correspondance entre le nom de la machine et l'adresse IP. Si elle ne trouve pas, le message suivant s'affiche " host unknown "
· Comment atteindre 129.88.36.3. Ce n'est pas un numéro 129.88.32.X, il faut donc passer par un routeur (voir plus loin rôle du routeur). B regarde sa table de routage pour connaître par quel routeur elle doit passer, il faut passer par le routeur R4 d'adresse IP 129.88.32.3.
· B émet une trame " broadcast " Ethernet après avoir vérifié qu'elle n'a pas déjà l'information dans sa table ARP (qui donne la correspondance entre l'adresse IP et l'adresse Ethernet), cette trame demande qu'elle est l'adresse Ethernet de 129.88.36.3. Le routeur R4 répond à B (RARP): l'adresse Ethernet de 129.88.36.3 est 0:0:c:0:5b:37
· B envoie une trame Ethernet avec l'adresse de destination 0:0:c:0:5b:37, incluant un datagramme IP (adresse origine 129.88.32.2 et adresse destination 129.88.36.3) contenant un segment TCP avec un numéro de port destinataire pour telnet (port 23).
· R4 reçoit la trame Ethernet, extrait le datagramme IP, l'adresse IP du destinataire et cherche où l'envoyer. Il a une interface (129.88.36.1) de la forme 129.88.36.X. Il sait donc que 129.88.36.3 est sur le segment Ethernet de son interface 129.88.36.1.
· R4 recherche alors l'adresse Ethernet de 129.88.36.3. S'il ne le trouve pas dans sa table ARP, il envoie un broadcast ARP. Il peut ensuite envoyer le datagramme IP à la machine D.
· D reçoit le datagramme IP. Il extrait le segment TCP, ouvre une session TCP, avec l'indication du port numéro 23, il appelle le service (l'application) associé ici TELNET.
· TELNET demande le nom de l'utilisateur, la question est transportée par un segment TCP, dans un datagramme IP (adresse origine 129.88.36.3 et adresse destination 129.88.32.2)
· Pour envoyer ce datagramme, la machine D cherche l'itinéraire avec la même méthode que la machine B au départ (table de routage, ARP,...)
· Remarques:
· D ne tient pas compte de la précédente arrivée d'un datagramme IP pour trouver l'itinéraire de la réponse. Il refait le raisonnement, comme s'il n'avait rien reçu.
· Pour tester la connectivité IP, il n'est pas utile de tester un appel de B vers A, si on a déjà testé un appel de A vers B
· Le broadcast ARP n'est utilisé que lors de la première recherche d'adresse Ethernet