parámetro de alcance de dirección ip

18

En Linux, el comando

ip address add [...]

tiene un scopeargumento La página del manual dice que el alcance es "el alcance del área donde esta dirección es válida". Sigue la lista de ámbitos legales:

  • global
  • sitio
  • enlace
  • anfitrión

¿A qué se refiere esta "área" de "validez"?

rolaf
fuente

Respuestas:

22

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

Alcance | Descripción

global | válido en todas partes

sitio | válido solo dentro de este sitio (IPv6)

enlace | válido solo en este dispositivo

anfitrión | válido solo dentro de este host (máquina)

El alcance normalmente está determinado por la utilidad ip sin uso explícito en la línea de comando. (...)

Las siguientes citas son del libro Comprender los aspectos internos de la red Linux de Christian Benvenuti, O'Reilly:

"El alcance de una ruta en Linux es un indicador de la distancia a la red de destino. El alcance de una dirección IP es un indicador de qué tan lejos del host local se conoce la dirección, que, en cierta medida, también le dice qué tan lejos El propietario de esa dirección es del host local (...).

Host: una dirección tiene un alcance de host cuando se usa solo para comunicarse dentro del host. Fuera del host, esta dirección no se conoce y no se puede utilizar. Un ejemplo es la dirección de bucle invertido, 127.0.0.1

Enlace: una dirección tiene un alcance de enlace cuando es significativa y solo se puede usar dentro de una LAN. Un ejemplo es la dirección de difusión de una subred.

Global: una dirección tiene un alcance global cuando se puede usar en cualquier lugar. Este es el alcance predeterminado para la mayoría de las direcciones. (...) "

La razón principal para usar ámbitos parece ser que un host con múltiples interfaces y direcciones tiene que decidir cuándo usar qué dirección. Para la comunicación consigo mismo, se puede usar una dirección de bucle invertido (host de ámbito). Con la comunicación en otro lugar, se debe seleccionar una dirección diferente.

brengo
fuente
2
Gracias por tu respuesta. Ya lo había leído. Lo que realmente no entiendo es lo que significa "válido" aquí. En otras palabras: ¿cómo afectará el argumento del alcance al comportamiento del dispositivo de red?
rolaf
Las direcciones IP y las rutas tienen un alcance para indicar al núcleo la distancia a otras redes / direcciones. Ver books.google.de/… :)
brengo el
Debería haber agregado: "alcance" es para decisiones de enrutamiento y comprobaciones de la configuración de enrutamiento. Ayuda al núcleo a decidir (más rápido) dónde deben ir los paquetes. ¿Espero que ayude?
brengo
1
Lo siento brengo, tu enlace no es consultable en este momento. ¿Pero no se metricusa el argumento para especificar la distancia?
rolaf
Oh, lo siento, el enlace de Google que funciona bien en mi extremo :( tiene un extracto del tema exactamente necesario (Comprensión de los aspectos internos de la red Linux, por Christian Benvenuti, O'Reilly) que es difícil de presionar en 600 caracteres de comentario, pero yo
editaré
14

Para comenzar a comprender la definición de alcance, debe comenzar sabiendo qué son las direcciones local de enlace y local de sitio. Una vez que se aclaren, los otros se colocarán en su lugar. Citando algunos fragmentos de documentos de IPv6.

Enlace

Se supone que la dirección local de enlace se usa para direccionar nodos en un solo enlace. Los paquetes originados o destinados a una dirección local de enlace no serán reenviados por un enrutador.

Un ejemplo de esto es el rango 169.254 / 16. Lo que puede haber visto antes cuando los dispositivos no pueden obtener una dirección válida de DHCP.

Sitio

Se supone que la dirección local del sitio debe usarse dentro de un sitio. Los enrutadores no reenviarán ningún paquete con la dirección de origen o destino local del sitio fuera del sitio.

Esto solo se aplica a IPv6. No existe una noción de direcciones locales del sitio en IPv4.

Anfitrión

Una dirección de host es algo que solo existirá dentro de la máquina host. Por ejemplo, 127.0.0.1 es una dirección de host comúnmente asignada a la interfaz de bucle invertido. La interfaz de bucle invertido no tiene conectividad externa, por lo que su alcance está limitado al de la máquina host.

Global

Una dirección global es lo que actualmente podría considerar una dirección "normal". Es decir, una dirección de unidifusión, que es visible y enrutable a través de una red externa.

Dan Carley
fuente
2
¿Qué pasa con el bloque 192.168.0.0/16? ¿No es eso esencialmente local?
SamB
1
Nunca debería ver que sitese usa, ya que estas direcciones quedaron en desuso en 2004 .
Michael Hampton
0

Encuentre estos comentarios en 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  */
Cara de póquer
fuente