Wie Router mit eingeschränkten und gerichteten Sendungen umgehen
Das erste, was Sie zur Beantwortung Ihrer Fragen verstehen müssen, ist, dass begrenzte Broadcast-Frames nicht weitergeleitet werden. Wenn ein Router einen Frame mit einer Zieladresse empfängt, die auf Layer 2 oder Layer 3 gesendet wird, lässt der Router den Frame standardmäßig einfach fallen. Deshalb werden Router als Grenze von Broadcast-Domänen bezeichnet.
Einige Beispiele hierfür wären:
ff-ff-ff-ff-ff-ff
(Schicht 2 Broadcast)
255.255.255.255
(Layer 3 Limited Broadcast)
Wenn man darüber nachdenkt, macht das Sinn. Wenn Router Broadcasts weiterleiten würden, würde eine einzelne Arp-Anfrage jeden einzelnen erreichbaren Host im Internet erreichen, was schrecklich ineffizient und ziemlich albern wäre.
Directed Broadcasts hingegen werden manchmal geroutet. (IE 192.168.1.255/24
) Normalerweise ist diese Funktion standardmäßig deaktiviert, kann jedoch durch Ausgeben des ip directed-broadcast
Befehls auf dem Router aktiviert werden . Dies ermöglicht es ihm, gerichtete Broadcasts gemäß seiner Routing-Tabelle weiterzuleiten, als wären es normale Pakete. Dies erlaubt dem Router jedoch nicht , begrenzte Broadcasts weiterzuleiten, da diese standardmäßig weiterhin blockiert sind. Dies ist auch in Bezug auf Ihre ursprüngliche Frage ein wenig unangebracht. Weitere Informationen hierzu finden Sie auf dieser Seite mit Cisco-Formularen .
Layer 3 Broadcast aber nicht Layer 2?
Zur Beantwortung Ihrer zweiten Frage wäre es nicht sinnvoll, einen Frame mit einer Layer-3-Broadcast-Adresse ohne eine Layer-2-Broadcast-Adresse zu haben. Dies würde den gesamten Zweck des Sende-Frames zunichte machen und einfach nicht funktionieren. Eine Unicast-Zieladresse der Schicht 2 würde das Verhalten des Routers überhaupt nicht ändern, da der Router seine Entscheidungen auf Schicht 3 trifft. Der Router kümmert sich nur um diese 255.255.255.255
Zieladresse und verwirft das Paket.
Dies ist bei Switches wichtig, die sich überhaupt nicht um die Layer-3-Adresse kümmern. Die Switches würden nur die Unicast-Layer-2-Adresse sehen. Anstatt das Paket über alle Schnittstellen auf demselben VLAN zu senden, wird die Quelladressentabelle (SAT) wie bei jeder anderen Unicast-Zieladresse verwendet. Tatsächlich ist der Frame durch Zuweisen einer Unicast-Layer-2-Adresse überhaupt kein Broadcast-Frame mehr, obwohl er die 255.255.255.255
Adresse auf Layer 3 hat.
Funktionsweise von DHCP-Relay in der Praxis
Wie bei Ihrer letzten Frage handelt es sich bei DHCP-Relay um eine Methode des Routers, mit der die Regel "betrogen" wird, Broadcast-Pakete nicht weiterzuleiten. Schauen wir uns ein DHCP Discover-Paket an:
- Quell-MAC: [Unicast-Mac der Quelle]
- Ziel-MAC:
ff-ff-ff-ff-ff-ff
- Quell-IP:
0.0.0.0
- Ziel-IP:
255.255.255.255
- Quellport: UDP 68
- Zielport: UDP 67
Wenn der Router sieht, dass ein Paket mit dem ip helper-address
konfigurierten Befehl auf einer Schnittstelle ankommt , prüft er, ob es mit einem der Protokolle übereinstimmt, denen standardmäßig "geholfen" wird oder die mit dem globalen ip forward-protocol
Befehl konfiguriert wurden . In diesem Fall erkennt der Router, weil es sich um DHCP handelt, dass der Zielport mit UDP 67 übereinstimmt, und lässt zu, dass dem Paket "geholfen" wird. Der Router ändert dann die Ziel-IP-Adresse von 255.255.255.255
in die durch den ip helper-address
Befehl konfigurierte IP-Adresse sowie die Quelladresse in die Adresse der Router-Schnittstelle, an der das Paket angekommen ist, und leitet das Paket an den Rest der Routing-Logik weiter.
Nachdem das Paket eine Unicast-Zieladresse hat, behandelt der Router es wie jedes andere Paket. Es sucht nach der Ziel-IP-Adresse (die jetzt die Helfer-Adresse ist) und ersetzt dann die Layer-2-Adressen, bevor das Paket über die entsprechende Schnittstelle gesendet wird.
Wieder zurück
Der Router verwendet im Wesentlichen denselben umgekehrten Prozess für das DHCP-Angebot, das an den Client zurückgesendet wird. Der DHCP-Server sendet das Angebot an die IP-Adresse, die als Quelladresse im DHCP-Erkennungspaket angegeben wurde. Das Paket, das den DHCP-Server verlässt, sieht also folgendermaßen aus:
- Quell-MAC: Unicast-Mac des DHCP-Servers
- Ziel-MAC: MAC-Adresse des Routers oder des Standard-Gateways des DHCP-Servers
- Quell-IP: Unicast-IP-Adresse des DHCP-Servers
- Ziel-IP: IP-Adresse der ersten Router-Schnittstelle, die das DHCP-Erkennungspaket erreicht hat
- Quellport: UDP 67
- Zielport: UDP 68
Da dieses Paket eine Unicast-Layer-3-Zieladresse hat, leiten Router das Paket normal weiter, bis es den Router mit einer Schnittstelle erreicht, deren IP-Adresse mit der Ziel-IP des Pakets übereinstimmt. Denken Sie daran, dass dieser Router die ip helper-address
Konfiguration auf dieser Schnittstelle noch hat. Der Router überprüft, ob es sich bei dem Paket um ein DHCP-Angebot handelt, schreibt das Paket dann in ein Broadcast-Paket um und sendet es an diese Schnittstelle zurück, wobei er weiß, dass sich der DHCP-Client in diesem Netzwerksegment befindet. Das Paket, das den Router verlässt, sieht nun so aus.
- Quell-MAC: Unicast-Mac der Router-Schnittstelle
- Ziel-MAC:
ff-ff-ff-ff-ff-ff
- Quell-IP: Unicast-IP-Adresse des DHCP-Servers
- Ziel-IP:
255.255.255.255
- Quellport: UDP 67
- Zielport: UDP 68
TL: DR; DHCP-Relay verwendet den ip helper-address
Schnittstellen-Unterbefehl, um die Regel zu umgehen, dass Router begrenzte Broadcasts nicht weiterleiten können, indem die Ziel-IP-Adresse des Pakets vor dem Weiterleiten in die Unicast-IP-Adresse des DHCP-Servers geändert wird. Auf diese Weise können alle Router auf der ganzen Linie das Paket entsprechend an den DHCP-Server weiterleiten. Wenn der DHCP-Server antwortet, sendet er das Paket an die Unicast-IP-Adresse der Router-Schnittstelle zurück, die zuerst das DHCP-Erkennungspaket empfangen hat (das mit dem ip helper-interface
Befehl). Wenn der Router das Angebot zurückerhält, konvertiert er es zurück in ein Broadcast-Paket und sendet es über die Schnittstelle mit dem Client in seiner Broadcast-Domäne.