Comment les routeurs gèrent les diffusions limitées et dirigées
La première chose à comprendre pour répondre à vos questions est que les trames de diffusion limitées ne sont pas acheminées. Par défaut, lorsqu'un routeur reçoit une trame avec une adresse de destination diffusée sur la couche 2 ou la couche 3, le routeur supprime simplement la trame. C'est pourquoi les routeurs seraient la frontière des domaines de diffusion.
En voici quelques exemples:
ff-ff-ff-ff-ff-ff
(diffusion de couche 2)
255.255.255.255
(diffusion limitée de la couche 3)
En y réfléchissant, cela a du sens. Si les routeurs transmettaient des diffusions, une seule demande d'arp atteindrait chaque hôte accessible sur Internet, ce qui serait terriblement inefficace et plutôt idiot.
En revanche, les émissions dirigées sont parfois acheminées. (IE 192.168.1.255/24
) Normalement, par défaut, cette fonctionnalité est désactivée mais peut être activée en émettant la ip directed-broadcast
commande sur le routeur. Cela lui permettra de retransmettre des diffusions dirigées en fonction de sa table de routage comme s'il s'agissait de paquets normaux. Cela ne permet cependant pas au routeur de retransmettre des émissions limitées, celles-ci sont toujours bloquées par défaut. Ceci est également légèrement hors sujet quant à votre question d'origine, consultez cette page de formulaires Cisco pour plus d'informations.
Diffusion de couche 3 Mais pas de couche 2?
Pour répondre à votre deuxième question, cela n'aurait aucun sens d'avoir une trame avec une adresse de diffusion de couche 3 sans adresse de diffusion de couche 2. Cela irait à l'encontre de son objectif d'être une trame de diffusion et ne fonctionnerait tout simplement pas. Avoir une adresse de destination de couche 2 unicast ne changerait pas du tout le comportement du routeur puisque le routeur prend ses décisions au niveau de la couche 3. Tout le routeur se soucie de cette 255.255.255.255
adresse de destination et abandonne le paquet.
Là où cela importerait, c'est avec des commutateurs qui ne se soucient pas du tout de l'adresse de couche 3. Les commutateurs ne verraient que l'adresse de la couche unicast 2. Au lieu d'envoyer le paquet sur toutes les interfaces sur le même vlan, il utiliserait la table d'adresses source (SAT) comme il le ferait avec toute autre adresse de destination unicast. En effet, en attribuant une adresse de couche unicast 2, la trame n'est plus du tout une trame de diffusion même si elle a l' 255.255.255.255
adresse de couche 3.
Fonctionnement pratique du relais DHCP
Quant à votre dernière question, le relais DHCP est un moyen de "tricher" par un routeur autour de la règle de ne pas transmettre de paquets de diffusion. Regardons un paquet DHCP Discover:
- MAC source: [mac unicast de la source]
- Dest MAC:
ff-ff-ff-ff-ff-ff
- IP source:
0.0.0.0
- IP de destination:
255.255.255.255
- Port source: UDP 68
- Port de destination: UDP 67
Lorsque le routeur voit un paquet arriver sur une interface avec la ip helper-address
commande configurée, il vérifie s'il correspond à l'un des protocoles qui sont "aidés" par défaut ou configurés avec la ip forward-protocol
commande globale . Dans ce cas, parce que c'est DHCP, le routeur voit que le port de destination correspond à UDP 67 et permet au paquet d'être "aidé". Le routeur modifie ensuite l'adresse IP de destination de l'adresse 255.255.255.255
IP configurée par la ip helper-address
commande ainsi que la modification de l'adresse source en l'adresse de l'interface du routeur sur laquelle le paquet est arrivé et transmet le paquet au reste de la logique de routage.
Maintenant que le paquet a une adresse de destination unicast, le routeur la traite comme n'importe quel autre paquet. Il arps pour l'adresse IP de destination (qui est maintenant cette adresse d'assistance), puis remplace les adresses de couche 2 avant d'envoyer le paquet via l'interface appropriée.
Pour revenir
Le routeur utilise essentiellement le même processus en sens inverse pour l'offre DHCP renvoyée au client. Les serveurs DHCP envoient l'offre à l'adresse IP qui a été spécifiée comme adresse source sur le paquet DHCP Discover. Ainsi, le paquet quittant le serveur DHCP ressemble à:
- MAC source: unicast mac du serveur DHCP
- Dest MAC: adresse mac du routeur ou de la passerelle par défaut du serveur DHCP
- IP source: adresse IP unicast du serveur DHCP
- IP de destination: adresse IP de la première interface de routeur atteinte par le paquet DHCP Discover
- Port source: UDP 67
- Port de destination: UDP 68
Étant donné que ce paquet a une couche unicast, les routeurs d'adresses de destination transmettront le paquet normalement jusqu'à ce qu'il atteigne le routeur avec une interface dont l'adresse IP correspond à l'adresse IP de destination du paquet. N'oubliez pas que ce routeur a toujours la ip helper-address
configuration sur cette interface. Le routeur vérifie si le paquet est une offre DHCP, puis réécrit le paquet pour devenir un paquet de diffusion et le renvoie sur cette interface en sachant que le client DHCP se trouve quelque part sur ce segment de réseau. Le paquet quittant le routeur ressemble maintenant à ceci.
- MAC source: mac unicast de l'interface du routeur
- Dest MAC:
ff-ff-ff-ff-ff-ff
- IP source: adresse IP unicast du serveur DHCP
- IP de destination:
255.255.255.255
- Port source: UDP 67
- Port de destination: UDP 68
TL: DR; Le relais DHCP utilisant la ip helper-address
sous-commande d'interface "triche" la règle selon laquelle les routeurs ne peuvent pas transmettre des diffusions limitées en changeant l'adresse IP de destination du paquet en l'adresse IP unicast du serveur DHCP avant de l'acheminer. Cela permet à tous les routeurs sur la ligne d'acheminer le paquet de manière appropriée vers le serveur DHCP. Lors de la réponse, le serveur DHCP renvoie le paquet à l'adresse IP de monodiffusion de l'interface du routeur qui a reçu en premier le paquet DHCP Discover (celui avec la ip helper-interface
commande). Lorsque le routeur reçoit l'offre, il la reconvertit en un paquet de diffusion et lui envoie l'interface avec le client dans son domaine de diffusion.