IP-Adressbereichsparameter

18

Unter Linux der Befehl

ip address add [...]

hat ein scopeArgument. Die Manpage besagt, dass der Gültigkeitsbereich "der Gültigkeitsbereich des Bereichs ist, in dem diese Adresse gültig ist". Befolgen Sie die Liste der rechtlichen Bereiche:

  • global
  • Seite? ˅
  • Verknüpfung
  • Wirt

Worauf bezieht sich dieser "Geltungsbereich"?

rolaf
quelle

Antworten:

22

von http://linux-ip.net/html/tools-ip-address.html :

Geltungsbereich | Beschreibung

global | überall gültig

Website | nur innerhalb dieser Site gültig (IPv6)

link | Nur auf diesem Gerät gültig

Host | gültig nur innerhalb dieses Rechners

Der Bereich wird normalerweise vom Dienstprogramm ip ohne explizite Verwendung in der Befehlszeile festgelegt. (...)

Die folgenden Zitate stammen aus dem Buch Understanding Linux network internals von Christian Benvenuti, O'Reilly:

"Der Umfang einer Route in Linux ist ein Indikator für die Entfernung zum Zielnetzwerk. Der Umfang einer IP-Adresse ist ein Indikator dafür, wie weit vom lokalen Host die Adresse bekannt ist, und in gewissem Maße auch, wie weit Sie davon entfernt sind der besitzer dieser adresse ist vom lokalen host (...).

Host: Eine Adresse hat einen Hostbereich, wenn sie nur zur Kommunikation innerhalb des Hosts selbst verwendet wird. Außerhalb des Hosts ist diese Adresse nicht bekannt und kann nicht verwendet werden. Ein Beispiel ist die Loopback-Adresse 127.0.0.1

Link: Eine Adresse hat einen Linkbereich, wenn er sinnvoll ist und nur innerhalb eines LANs verwendet werden kann. Ein Beispiel ist die Broadcast-Adresse eines Subnetzes.

Global: Eine Adresse hat einen globalen Gültigkeitsbereich, wenn sie überall verwendet werden kann. Dies ist der Standardbereich für die meisten Adressen. (...) "

Der Hauptgrund für die Verwendung von Gültigkeitsbereichen scheint darin zu liegen, dass ein Host mit mehreren Schnittstellen und Adressen entscheiden muss, wann welche Adresse verwendet werden soll. Für die Kommunikation mit sich selbst kann eine Loopback-Adresse (Scope Host) verwendet werden. Bei der Kommunikation an anderer Stelle muss eine andere Adresse gewählt werden.

brengo
quelle
2
Danke für deine Antwort. Ich hatte das schon gelesen. Was ich wirklich nicht verstehe, ist, was "gültig" hier bedeutet. Mit anderen Worten: Wie wirkt sich das Argument scope auf das Verhalten der Netzwerkgeräte aus?
Rolaf
IP-Adressen und Routen können dem Kernel die Entfernung zu anderen Netzwerken / Adressen anzeigen. Siehe books.google.de/… :)
brengo
Ich hätte hinzufügen sollen: "scope" ist für Routing-Entscheidungen und Sanity Checks der Routing-Konfiguration. Es hilft dem Kernel (schneller) zu entscheiden, wohin die Pakete gehen sollen. Hoffentlich hilft das?
brengo
1
Entschuldigung brengo, Ihr Link kann momentan nicht angezeigt werden. Aber wird das metricArgument nicht verwendet, um den Abstand anzugeben?
Rolaf
Oh, tut mir leid, der Google-Link, der an meinem Ende gut funktioniert :( hat einen Auszug genau des benötigten Themas (Understanding Linux network internals, von Christian Benvenuti, O'Reilly), das in 600 Kommentarzeichen schwer zu drücken ist, aber ich Ich bearbeite meine Antwort oben
brengo
14

Um die Definition des Geltungsbereichs zu verstehen, sollten Sie zunächst wissen, was linklokale und standortlokale Adressen sind. Sobald diese geklärt sind, werden die anderen an ihren Platz fallen. Zitieren einiger Snippets aus IPv6-Dokumenten.

Verknüpfung

Die verbindungslokale Adresse soll zur Adressierung von Knoten auf einer einzelnen Verbindung verwendet werden. Pakete, die von einer verbindungslokalen Adresse stammen oder an diese gerichtet sind, werden von einem Router nicht weitergeleitet.

Ein Beispiel hierfür ist der Bereich 169.254 / 16. Was Sie vielleicht schon einmal gesehen haben, wenn Geräte keine gültige Adresse von DHCP beziehen können.

Seite? ˅

Standortlokale Adressen sollen innerhalb eines Standorts verwendet werden. Router leiten keine Pakete mit standortlokalen Quell- oder Zieladressen außerhalb des Standorts weiter.

Dies gilt nur für IPv6. In IPv4 gibt es keine Vorstellung von standortlokalen Adressen.

Wirt

Eine Host-Adresse ist etwas, das nur innerhalb des Host-Rechners selbst existiert. Zum Beispiel ist 127.0.0.1 eine Hostadresse, die üblicherweise der Loopback-Schnittstelle zugewiesen wird. Die Loopback-Schnittstelle hat keine externe Konnektivität und ist daher auf den Bereich des Hostcomputers beschränkt.

Global

Eine globale Adresse ist eine "normale" Adresse. Dies ist eine Unicast-Adresse, die in einem externen Netzwerk angezeigt wird und über dieses geroutet werden kann.

Dan Carley
quelle
2
Was ist mit dem Block 192.168.0.0/16 - ist das nicht im Wesentlichen site-lokal?
SamB
1
Sie sollten niemals sehen, sitedass sie verwendet werden, da diese Adressen im Jahr 2004 veraltet waren .
Michael Hampton
0

Finden Sie diese Kommentare in fib_semantics.c

 704  * Every prefix is assigned a "scope" value: "host" is local address,
 705  * "link" is direct route,
 706  * [ ... "site" ... "interior" ... ]
 707  * and "universe" is true gateway route with global meaning.
 708  *
 709  * Every prefix refers to a set of "nexthop"s (gw, oif),
 710  * where gw must have narrower scope. This recursion stops
 711  * when gw has LOCAL scope or if "nexthop" is declared ONLINK,
 712  * which means that gw is forced to be on link.
 ....
 719  * Normally it looks as following.
 720  *
 721  * {universe prefix}  -> (gw, oif) [scope link]
 722  *                |
 723  *                |-> {link prefix} -> (gw, oif) [scope local]
 724  *                                      |
 725  *                                      |-> {local prefix} (terminal node)
 726  */
Pokerface
quelle