parâmetro de escopo do endereço IP

16

No Linux, o comando

ip address add [...]

tem um argumento scope . A página man diz que o escopo é "o escopo da área onde esse endereço é válido". Segue a lista de escopos legais:

  • global
  • site
  • link
  • host

A que essa "área" de "validade" se refere?

    
por rolaf 07.09.2009 / 14:18

3 respostas

17

do link :

Scope | Description

global | valid everywhere

site | valid only within this site (IPv6)

link | valid only on this device

host | valid only inside this host (machine)

O escopo é normalmente determinado pelo utilitário ip sem uso explícito na linha de comando. (...)

As seguintes citações são do livro Understanding Linux internals network por Christian Benvenuti, O'Reilly:

"O escopo de uma rota no Linux é um indicador da distância até a rede de destino. O escopo de um endereço IP é um indicador de quão longe do host local o endereço é conhecido, o que, em certa medida, também informa até onde o dono daquele endereço é do host local (...).

Host: um endereço tem um escopo de host quando é usado apenas para se comunicar dentro do próprio host. Fora do host este endereço não é conhecido e não pode ser usado. Um exemplo é o endereço de loopback, 127.0.0.1

Link: um endereço tem um escopo de link quando é significativo e pode ser usado somente dentro de uma LAN. Um exemplo é o endereço de transmissão de uma sub-rede.

Global: um endereço tem escopo global quando pode ser usado em qualquer lugar. Este é o escopo padrão para a maioria dos endereços. (...) "

A principal razão para usar escopos parece ser que um host com várias interfaces e endereços deve decidir quando usar o endereço. Para comunicação consigo mesmo, um endereço de loopback (host de escopo) pode ser usado. Com a comunicação, um endereço diferente deve ser selecionado.

    
por 07.09.2009 / 14:41
13

Para começar a entender a definição de escopo, você deve começar sabendo quais são os endereços de link local e de site local. Uma vez que esses são esclarecidos, os outros irão se encaixar. Citando alguns trechos de documentos do IPv6.

Link

Link-local address are supposed to be used for addressing nodes on a single link. Packets originating from or destined to a link-local address will not be forwarded by a router.

Um exemplo disso é o intervalo 169.254 / 16. O que você pode ter visto antes, quando os dispositivos não conseguem obter um endereço válido do DHCP.

Site

Site-local address are supposed to be used within a site. Routers will not forward any packet with site-local source or destination address outside the site.

Isso se aplica apenas ao IPv6. Não há noção de endereços locais no IPv4.

Anfitrião

Um endereço de host é algo que só existirá na própria máquina do host. Por exemplo, 127.0.0.1 é um endereço de host comumente atribuído à interface de loopback. A interface de loopback não tem conectividade externa e, portanto, seu escopo está confinado ao da máquina host.

Global

Um endereço global é o que você considera atualmente um endereço "normal". Ou seja, um endereço de unicast, visível e roteado em uma rede externa.

    
por 07.09.2009 / 15:20
0

Encontre esses comentários em 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  */
    
por 06.01.2017 / 14:33