Deux hôtes de sous-réseaux différents connectés pour basculer


10

Deux hôtes de sous-réseaux différents, que ce soit A - 10.1.2.1/24 et B - 10.1.3.1/24 soient connectés au même commutateur S. Peuvent-ils communiquer?

Donc pour autant que je comprends:

  • A envoie un paquet avec IP de B
  • S le reçoit et le compare avec les valeurs de la table d'adresses stockées, sinon il le diffuse.
  • B reçoit les paquets, vérifie l'IP et l'accepte.

Ai-je raison?

Réponses:


17

Malheureusement, non, vous vous trompez.

Ron fait un bon point, vous n'avez pas fourni de masque de sous-réseau, donc si nous supposions le masque de classe, l'adresse 10.xxx aurait un masque 255.0.0.0, qui mettrait en fait les deux hôtes sur le même réseau. Si tel est le cas, ils n'auraient aucun problème à communiquer.

Cependant, étant donné la nature de votre question, j'imagine que vous vouliez que chacun de ces hôtes utilise un masque plus petit - nous allons continuer et utiliser 255.255.255.0, ce qui place les deux hôtes dans deux sous-réseaux différents.

Cela étant dit, le cœur de ce qui vous manque réside dans l'oubli de l' ARP (Address Resolution Protocol) . Plus précisément, pour qui HostA décide d'ARP. Laisse-moi expliquer...


Avant qu'un hôte ne place un paquet sur le câble, la première chose qu'il fait est de déterminer si l'adresse IP de destination se trouve sur son propre réseau ou sur un réseau étranger. Passons en revue du point de vue de l'hôte A.

L'hôte A connaît son adresse IP (10.1.2.1) et son masque de sous-réseau (/ 24 ou 255.255.255.0). Avec un petit sous - réseau , HostA détermine que son réseau s'étend sur toutes les adresses IP dans la plage de 10.1.2.0 à 10.1.2.255. (Nous laisserons de côté les détails du NetID et du BroadcastIP, car pour le moment ils ne sont pas pertinents)

L'hôte A sait également que son IP de destination est 10.1.3.1, ce qui est en dehors de la plage d'adresses IP au sein du propre réseau de l'hôte A. En tant que tel, l'hôte A arriverait à la conclusion que l'adresse IP de destination 10.1.3.1 se trouve sur un réseau étranger, et l'hôte A ne pouvait atteindre un réseau étranger qu'en parlant via un routeur. Ou plus précisément, via la passerelle par défaut de HostA .

Si HostA n'est pas configuré avec une passerelle par défaut à ce stade, le processus se termine ici avec un échec général. HostA ne peut pas parler à HostB.

Si HostA est configuré avec une passerelle par défaut, il enverrait une demande ARP (qui est elle-même une trame de diffusion), demandant l'adresse MAC de sa passerelle par défaut - PAS l'adresse MAC de l'IP de destination finale.

Le commutateur, après avoir reçu la trame de diffusion, inonderait le paquet de toutes les interfaces, y compris celui auquel HostB est connecté. HostB recevrait en effet le paquet, mais comme l'ARP recherche l'adresse MAC de la passerelle par défaut (et non l'adresse MAC de HostB) , HostB abandonnerait et ignorerait simplement la demande ARP, sans jamais envoyer de réponse.

HostA ne recevrait donc jamais d'adresse MAC pour sa passerelle par défaut et ne pourrait donc pas encapsuler le paquet de couche 3 avec un en-tête de couche 2. Le paquet échouerait là-bas.

Vous pouvez voir le processus ARP illustré dans cette vidéo .


Cela dit, bien que quelque peu étranger à votre question, je voulais parler de quelque chose que vous avez dit. Cela peut être une nuance terminologique, mais je veux juste m'assurer qu'elle est communiquée. Un commutateur ne fait que deux choses: transfère la trame pour laquelle il connaît l'adresse MAC de destination, ou inonde les trames pour lesquelles il ne connaît pas l'adresse MAC de destination . Un interrupteur ne diffuse jamais .

Une diffusion est une trame dont l'adresse MAC de destination est ffff.ffff.ffff. Il s'agit d'une adresse MAC spécialement réservée, spécialement conçue pour les trames de diffusion. Lorsqu'un commutateur rencontre une trame destinée à ffff.ffff.ffff , son comportement consiste à toujours inonder cette trame.

Vous pouvez le voir comme ceci, puisque ffff.ffff.ffff est une adresse MAC réservée, elle n'est pas apprenable par le commutateur. Par conséquent, chaque fois qu'un commutateur reçoit quelque chose destiné à ffff.ffff.ffff, il est obligé de l'inonder de tous les ports du VLAN dans lesquels la trame a été initialement reçue.


Il y a des cas limites à cette réponse ... les hôtes peuvent avoir soit aucune passerelle, soit leur propre adresse configurée comme adresse de passerelle. Cela provoque l'hôte à ARP pour toutes les adresses et les routeurs activés par proxy-arp avec une route (même la route par défaut) vers la destination répondront avec leur propre adresse mac.
cpt_fink

3
Il existe des cas marginaux pour à peu près n'importe quelle réponse / situation. Je ne pensais pas qu'entrer dans certains d'entre eux ici serait pertinent pour la question.
Eddie

2

Oui. S'ils sont sous / 16 sous-réseau. Pour le sous-réseau / 24, vous avez besoin d'un routeur.


1
Vous pourriez améliorer votre réponse en l'expliquant davantage. Par exemple, expliquez pourquoi cela fonctionne /16, mais `/ 24 a besoin d'un routeur.
Ron Maupin

0

Si l'hôte A et B se trouvent sur des réseaux ou sous-réseaux différents et connectés au même commutateur, je pense qu'ils peuvent communiquer via la passerelle par défaut.


Une adresse de passerelle doit se trouver sur le même réseau que l'adresse configurée sur un hôte. Étant donné que l'adresse de passerelle est l'adresse utilisée pour envoyer du trafic hors du réseau , elle doit se trouver sur le même réseau que l'hôte d'envoi, sinon l'hôte aurait besoin d'une passerelle pour accéder à la passerelle.
Ron Maupin

0

Uniquement si le commutateur est connecté à un routeur qui sait comment router entre ces 2 sous-réseaux.


Le commutateur de couche 3 ne nécessite pas de routeur séparé
infra
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.