parametro dell'ambito dell'indirizzo IP


18

In Linux, il comando

ip address add [...]

ha una scopediscussione. La pagina man dice che l'ambito è "l'ambito dell'area in cui questo indirizzo è valido". Segue l'elenco degli ambiti legali:

  • globale
  • luogo
  • collegamento
  • ospite

A cosa si riferisce questa "area" di "validità"?

Risposte:


22

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

Scope | Descrizione

globale | valido ovunque

sito | valido solo all'interno di questo sito (IPv6)

link | valido solo su questo dispositivo

host | valido solo all'interno di questo host (macchina)

L'ambito è normalmente determinato dall'utilità ip senza uso esplicito sulla riga di comando. (...)

Le seguenti citazioni sono tratte dal libro Understanding Linux internals di Christian Benvenuti, O'Reilly:

"L'ambito di un percorso in Linux è un indicatore della distanza dalla rete di destinazione. L'ambito di un indirizzo IP è un indicatore di quanto è noto l'host locale, il che, in una certa misura, indica anche quanto lontano il proprietario di quell'indirizzo proviene dall'host locale (...).

Host: un indirizzo ha un ambito host quando viene utilizzato solo per comunicare all'interno dell'host stesso. All'esterno dell'host questo indirizzo non è noto e non può essere utilizzato. Un esempio è l'indirizzo di loopback, 127.0.0.1

Collegamento: un indirizzo ha un ambito di collegamento quando è significativo e può essere utilizzato solo all'interno di una LAN. Un esempio è l'indirizzo di trasmissione di una sottorete.

Globale: un indirizzo ha portata globale quando può essere utilizzato ovunque. Questo è l'ambito predefinito per la maggior parte degli indirizzi. (...)"

Il motivo principale per utilizzare gli ambiti sembra essere che un host con più interfacce e indirizzi deve decidere quando utilizzare quale indirizzo. Per la comunicazione con se stesso è possibile utilizzare un indirizzo di loopback (scope scope). Con la comunicazione altrove, è necessario selezionare un indirizzo diverso.


2
Grazie per la tua risposta. Lo avevo già letto. Quello che davvero non capisco è cosa significa 'valido' qui. In altre parole: in che modo l'argomento scope influirà sul comportamento dei dispositivi di rete?
rolaf,

Gli indirizzi IP e le rotte hanno un ambito per indicare al kernel la distanza da altre reti / indirizzi. Vedi books.google.de/… :)
brengo

Avrei dovuto aggiungere: "scope" è per le decisioni di routing e i controlli di integrità della configurazione del routing. Aiuta il kernel a decidere (più velocemente) dove dovrebbero andare i pacchetti. Spero possa aiutare?
brengo,

1
Siamo spiacenti brengo, il tuo link non è attualmente consultabile. Ma l' metricargomento non è usato per specificare la distanza?
rolaf,

Oh, scusa, il link di Google che funziona bene alla mia fine :( ha un estratto esattamente dell'argomento necessario (Comprensione degli interni della rete Linux, di Christian Benvenuti, O'Reilly) che è difficile da inserire in 600 commenti, ma io
Modificherò la

14

Per iniziare a comprendere la definizione di ambito, è necessario iniziare conoscendo quali sono gli indirizzi link-local e site-local. Una volta chiariti, gli altri andranno a posto. Citando alcuni frammenti dai documenti IPv6.

collegamento

L'indirizzo locale di collegamento dovrebbe essere utilizzato per indirizzare i nodi su un singolo collegamento. I pacchetti originati o destinati a un indirizzo locale di collegamento non verranno inoltrati da un router.

Un esempio di ciò è l'intervallo 169.254 / 16. Che potresti aver visto prima quando i dispositivi non sono in grado di ottenere un indirizzo valido da DHCP.

Luogo

L'indirizzo locale del sito dovrebbe essere utilizzato all'interno di un sito. I router non inoltreranno alcun pacchetto con un indirizzo di origine o destinazione locale al di fuori del sito.

Questo vale solo per IPv6. Non esiste alcuna nozione di indirizzi locali del sito in IPv4.

Ospite

Un indirizzo host è qualcosa che esisterà solo all'interno della macchina host stessa. Ad esempio, 127.0.0.1 è un indirizzo host comunemente assegnato all'interfaccia di loopback. L'interfaccia di loopback non ha connettività esterna e quindi il suo ambito è limitato a quello della macchina host.

Globale

Un indirizzo globale è quello che potresti attualmente considerare un indirizzo "normale". Cioè, un indirizzo unicast, che è visibile e instradabile su una rete esterna.


2
Che dire del blocco 192.168.0.0/16 - non è essenzialmente site-local?
SamB,

1
Non dovresti mai vedere sitein uso, poiché questi indirizzi sono stati deprecati nel 2004 .
Michael Hampton

0

Trova questi commenti 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  */
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.