parametr zakresu adresu IP

18

W systemie Linux polecenie

ip address add [...]

ma scopeargument. Strona podręcznika mówi, że zakres jest „zakresem obszaru, w którym ten adres jest poprawny”. Podaje listę legalnych zakresów:

  • światowy
  • teren
  • połączyć
  • gospodarz

Do czego odnosi się ten „obszar” „ważności”?

rolaf
źródło

Odpowiedzi:

22

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

Zakres | Opis

globalny | ważne wszędzie

strona | ważne tylko na tej stronie (IPv6)

link | ważne tylko na tym urządzeniu

host | ważne tylko na tym hoście (maszynie)

Zakres jest zwykle określany przez narzędzie ip bez jawnego użycia w wierszu poleceń. (...)

Poniższe cytaty pochodzą z książki Zrozumienie wewnętrznych elementów sieci Linuksa autorstwa Christiana Benvenuti, O'Reilly:

„Zakres trasy w Linuksie jest wskaźnikiem odległości do sieci docelowej. Zakres adresu IP jest wskaźnikiem tego, jak daleko od lokalnego hosta jest znany adres, co w pewnym stopniu również pokazuje, jak daleko właściciel tego adresu pochodzi z lokalnego hosta (...).

Host: adres ma zasięg hosta, gdy jest używany tylko do komunikacji w obrębie samego hosta. Poza hostem ten adres nie jest znany i nie można go używać. Przykładem jest adres sprzężenia zwrotnego, 127.0.0.1

Łącze: Adres ma zasięg łącza, gdy jest znaczący i można go używać tylko w sieci LAN. Przykładem jest adres rozgłoszeniowy podsieci.

Globalny: adres ma zasięg globalny, gdy można go używać w dowolnym miejscu. Jest to domyślny zakres dla większości adresów. (...) ”

Wydaje się, że głównym powodem używania zakresów jest to, że host z wieloma interfejsami i adresami musi zdecydować, kiedy użyć tego adresu. Do komunikacji z samym sobą można użyć adresu pętli zwrotnej (host zakresu). W przypadku komunikacji w innym miejscu należy wybrać inny adres.

brengo
źródło
2
Dziękuję za odpowiedź. Już to przeczytałem. To, czego tak naprawdę nie rozumiem, to to, co „ważne” oznacza tutaj. Innymi słowy: jak argument zakresu wpłynie na zachowanie urządzenia sieciowego?
rolaf
Adresy i trasy IP mają zasięg wskazujący jądro odległość do innych sieci / adresów. Zobacz books.google.de/… :)
brengo,
Powinienem dodać: „zakres” dotyczy decyzji o routingu i kontroli poprawności konfiguracji routingu. Pomaga jądrze decydować (szybciej), gdzie powinny się znaleźć pakiety. Mam nadzieję, że to pomoże?
brengo,
1
Niestety, brengo, twój link nie jest obecnie dostępny. Ale czy metricargument nie służy do określenia odległości?
rolaf
Och, przepraszam, link google, który działa dobrze na moim końcu :( zawiera ćwiczenie dokładnie potrzebnego tematu (Zrozumienie wewnętrznych elementów sieci Linux, Christian Benvenuti, O'Reilly), które trudno jest wcisnąć 600 znaków komentarza, ale ja
Wyedytuję
14

Aby zacząć rozumieć definicję zakresu, powinieneś zacząć od poznania adresów lokalnych i lokalnych. Gdy zostaną one usunięte, pozostałe zaczną się układać. Cytując niektóre fragmenty z dokumentów IPv6.

Połączyć

Adres lokalny dla łącza powinien być używany do adresowania węzłów na jednym łączu. Pakiety pochodzące z adresu lokalnego do łącza lub do niego nie będą przekazywane przez router.

Przykładem tego jest zakres 169,254 / 16. Które mogłeś zobaczyć wcześniej, gdy urządzenia nie są w stanie uzyskać prawidłowego adresu z DHCP.

Teren

Lokalny adres witryny powinien być używany w witrynie. Routery nie przekażą żadnego pakietu z lokalnym adresem źródłowym lub docelowym poza witryną.

Dotyczy to tylko IPv6. W IPv4 nie ma pojęcia adresów lokalnych dla witryny.

Gospodarz

Adres hosta jest czymś, co będzie istnieć tylko na samym komputerze hosta. Na przykład 127.0.0.1 to adres hosta zwykle przypisywany do interfejsu pętli zwrotnej. Interfejs pętli zwrotnej nie ma łączności zewnętrznej, więc jego zakres ogranicza się do zakresu komputera hosta.

Światowy

Adres globalny to obecnie „normalny” adres. To jest adres emisji pojedynczej, który jest widoczny i możliwy do routingu w sieci zewnętrznej.

Dan Carley
źródło
2
Co z blokiem 192.168.0.0/16 - czy nie jest to w zasadzie lokalny?
SamB
1
Nigdy nie powinno sitebyć używane, ponieważ adresy te były przestarzałe w 2004 r .
Michael Hampton
0

Znajdź te komentarze w pliku 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  */
Pokerowa twarz
źródło