
Angenommen, es gibt zwei Gateways im selben Netzwerk. Wenn ich das richtig verstehe, entscheidet die IP-Routing-Tabelle auf dem Computer des Absenders, welche Pakete über welches Gateway geroutet werden.
IP-Routingtabellen enthalten die IP-Adresse des Gateways.
Wie wird diese IP-Adresse des Gateways beim Senden von IP-Paketen verwendet?
Antwort1
TL;DR: Die Adresse des Gateways wird nur in einem Ethernet-Frame gespeichert, der dieses TCP/IP-Paket enthält
Im Server->Switch->Router-Verkehr sowie im Server->Switch->Server-Verkehr spielt die IP-Adressierung eigentlich keine bedeutende Rolle. Es ist die Welt des zugrunde liegenden Protokolls, höchstwahrscheinlich Ethernet. Es ist also eine Welt, die auf MAC-Adressierung basiert.
Sie müssen also nur die Verwirrung auflösen, dass ein Standard-Gateway eine IP-Adresse ist. Nun, es ist, irgendwie... das, was dem Menschen angezeigt wird... aber die IP dieses Gateways istnurmusste eines tun, nämlich fragen: Wer hat hier 192.168.1.1? Die Antwort lautet, dass das Gateway MAC 88:99:aa:bb:cc:dd:ee:ff ist. (Das ist ARP-Abfrage/Antwort, der Übersetzer zwischen den beiden Welten.) Die MAC ist das, was tatsächlich verwendet wird. Das Paket geht auf Ethernet-Ebene an diese MAC, obwohl das Paket auf IP-Ebene eine völlig unabhängige Ziel-IP-Adresse eines endgültigen Empfängers angibt.
Das Paket wird also für den Weiterleitung an ein ausgewähltes Gateway markiert, indem das Feld „Ziel-MAC“ des Ethernet-Frames festgelegt wird. Das Feld bestimmt, welches Gateway in diesem Netzwerk es erhält, falls es mehrere Gateways gibt. (Der „Frame“ ist eine zugrunde liegende Kapsel, die das Paket oder einen Teil des Pakets enthält.)
Verallgemeinerung: Routentabellen bilden den Kern von IP, ihre Spalte mit dem Namen „Next Hop“ istniemalsmit IP-Adressierung implementiert, wenn das Paket das Kabel durchquert. Der nächste Hop verwendet eigentlich immer Ethernet, MPLS oder ein anderes zugrunde liegendes Protokoll:
$ ip route show
192.168.98.0/24 via 192.168.99.1 dev eth0
| | |
| <- IP world -> | <- underlying world -> |
| | |
Auch wenn oben in der zugrunde liegenden Welt etwas wie erwähnt wird 192.168.99.1
, wobei es sich um ein Konzept aus der IP-Welt handelt, ist das nicht wirklich wörtlich gemeint.
Antwort2
Der IP-Datagramm-Header enthält nur Adressinformationen der Quelle und des Ziels. Anhand des Ziels sollte der Router wissen, wohin das Paket als nächstes weitergeleitet werden soll. Diese Informationen werden in der Routing-Tabelle gespeichert.
Es könntestatische RouteInformationen zur Adresse bzw. zum Subnetz und zurStandard-Gatewaywird für den Rest verwendet. Dies ist normalerweise im lokalen Netzwerk der Fall: Es kann ein statisches Routing zu anderen lokalen Netzwerken und ein Standardgateway für den Rest, d. h. das Internet, geben. Bei mehrerenStandard-Gatewaysd. h. Routen zu 0.0.0.0
oder ::
, die aktive wird von ihremPräferenzoderMetrischWert.
Komplizierter wird es, wenn zwischen den Zielen mehrere Routen bestehen, wie es auf Internetebene zwischen den ISPs der Fall ist. Es gibt mehrere Methoden, um die Informationen zwischen den Routern auszutauschen:Routing-Informationsprotokoll(RUHE IN FRIEDEN),öffne den kürzesten Weg zuerst(OSPF) undBorder Gateway Protokoll(BGP). Unabhängig davon, wie diese Informationen weitergegeben werden, kennt die Routing-Tabelle den nächsten Hop und das IP-Paket kennt nur sein endgültiges Ziel.
Antwort3
Kurze und einfache Antwort: Es wird nicht im Paket codiert, oder es ist die Ethernet-Zieladresse, je nachdem, wie man es betrachtet. Der IP/Ethernet-Stack prüft, welches Gateway die Ziel-IP-Adresse verarbeitet, sendet eine ARP-Anforderung an die Gateway-IP-Adresse, um ihre MAC-Adresse zu erhalten, und sendet dann das Paket an die MAC-Adresse des Gateways. Das Gateway leitet das Paket dann weiter und macht dasselbe noch einmal. Dies setzt ein Ethernet-Netzwerk voraus.
Ich glaube, ich habe Ihre Frage beantwortet. Ich habe mich das Gleiche auch schon einmal gefragt. Ihre Frage kann auch so interpretiert werden, wie ein Host anhand einer bestimmten Routing-Tabelle entscheidet, an welches Gateway ein ausgehendes Paket gesendet werden soll.
Antwort4
Natürlich wird auch darauf geachtet, ob eine Route passt. Wenn ich an 192.0.2.55/24 sende und eine Route für den Datenverkehr zu 10.55.0.0/16 verfügbar ist, wird diese Route ignoriert, weil sie nicht zutrifft.
Das nächste Kriterium, das normalerweise berücksichtigt wird, ist, dass spezifischere Routen Vorrang vor allgemeineren Routen haben. Mit „spezifischen“ Routen meine ich kleinere Subnetze. Mit anderen Worten: größere Zahlen bei Verwendung der /CIDR-Notation und größere Subnetzmasken bei Verwendung der „Subnetzmaske“-Notation. Mit anderen Worten: Zielnetzwerke mit weniger möglichen Adressen.
Ein „Standard-Gateway“, auch bekannt als „Gateway der letzten Instanz“, gibt normalerweise ein Ziel für den gesamten Datenverkehr zum Netzwerk 0.0.0.0/0 an. Jede Route für ein kleineres Netzwerk ist „spezifischer“ und hat Vorrang. 192.0.2.0/24 hat also eine höhere Priorität.
Drittens haben Routen normalerweise ein weiteres Feld, das als „Metrik“ oder manchmal auch als „Priorität“ bezeichnet wird. Wenn Sie mehrere Netzwerke gleicher Größe haben, kann dies Auswirkungen haben.
Diese „metrischen“ Werte können automatisch generiert werden (z. B. auf diese Weise wird ein schnelleres Netzwerk für einen größeren Teil des Datenverkehrs verwendet), können aber auch manuell angepasst werden.
Wo sind die in den gesendeten IP-Paketen verschlüsselten Informationen zum Gateway, die entnommen werden sollen?
Die IP-Pakete enthalten außer der Angabe der Ziel-IP-Adresse keinerlei Informationen zum Routing. Routing-Details werden von der Ausrüstung bestimmt, die das Routing unterwegs handhabt, und solche Details werden normalerweise nicht in ein IP-Paket eingefügt. (Aus diesem Grund sucht die Ausrüstung nicht nach solchen Details, da sie nicht vorhanden sind. Da die Ausrüstung nicht nach solchen Informationen sucht, wäre es sinnlos, zu versuchen, solche Informationen einzuschließen.)
RFC 791 Seite 11zeigt eine Tabelle im „ASCII ART“-Stil mit den Informationen, die in einem IP-Paket enthalten sind. Nach dieser Tabelle zeigt das Dokument Einzelheiten (z. B. wird der Abschnitt „Optionen“ auf Seite 15 beschrieben).