Vos hypothèses de départ ne sont pas tout à fait correctes. Ce que vous appelez un "routeur" est deux appareils en un : un routeur à deux ports connecté en interne à un routeur à plusieurs ports, un routeur à deux ports connecté en interne à un routeur à plusieurs ports. Commutateur Ethernet . (Voici un exemple diagramme .)
Cela signifie que les ordinateurs sont directement connectés au niveau 2 et peuvent s'envoyer des paquets les uns aux autres sans passent par le cœur du routeur - ils sont simplement relayés entre les ports par la puce du commutateur. (Le routeur a son propre "port" dans le commutateur).
Ainsi, si vous examinez les paquets à l'aide de Wireshark, vous constaterez qu'ils utilisent directement leurs adresses MAC respectives, alors que les paquets "extérieurs" ont toujours pour destination l'adresse MAC du routeur.
(Je suppose que vous parlez des "routeurs sans fil" que l'on trouve dans la plupart des foyers et qui sont la cause habituelle de ce genre de questions. Un réseau plus important aurait un séparer routeur avec un port par sous-réseau, et quelques commutateurs séparés (peut-être un commutateur principal plus un par étage/pièce), et plusieurs dizaines d'ordinateurs connectés à ces commutateurs).
C'est à peu près la même chose pour les réseaux Wi-Fi, sauf que le terme "commutateur" est remplacé par "pont sans fil" ou "point d'accès". Dans les deux cas, les ordinateurs connectés peuvent s'envoyer des paquets directement les uns aux autres au niveau de la couche 2, sans passant par le routeur.
Commentaires :
Lorsque j'ai parlé de routeur, je voulais en fait dire commutateur. C'est une erreur. Ce que je veux dire, c'est que chaque ordinateur d'un sous-réseau n'est pas connecté à un autre, mais plutôt à un commutateur, qui peut alors transmettre les paquets à la bonne destination. Une trame Ethernet ne contient pas le masque de sous-réseau, car le commutateur le connaît déjà et n'en a donc pas besoin pour effectuer la commutation correcte.
Là encore, c'est faux. Les commutateurs n'ont pas cette connaissance ; leur noyau de commutation travaille à la couche 2 et ne sait pas n'importe quoi sur l'IP - il transmet les trames Ethernet en se basant uniquement sur le champ "adresse MAC de destination".
Par conséquent, les hôtes ont besoin du masque de sous-réseau pour déterminer l'adresse MAC à utiliser comme destination :
-
Si l'homologue se trouve dans le même sous-réseau, il est supposé être en lien par définition - la trame Ethernet aura donc pour destination le MAC de l'homologue.
-
Pour les pairs à l'extérieur le sous-réseau, la trame Ethernet aura le nom de l'utilisateur. passerelle MAC comme destination.
(Ceci s'applique à la configuration par défaut. Certains réseaux spéciaux modifient cette configuration - par exemple, la plupart des systèmes d'exploitation permettent d'ajouter des routes "on-link" pour des sous-réseaux supplémentaires ; inversement, certains commutateurs peuvent être configurés pour usurper les réponses ARP de sorte que même le trafic "on-link" est forcé de passer par la passerelle).