parâmetro do escopo do endereço IP

18

No Linux, o comando

ip address add [...]

tem uma scopediscussão. A página de manual diz que o escopo é "o escopo da área em que este endereço é válido". Segue a lista de escopos legais:

  • global
  • local
  • ligação
  • hospedeiro

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

rolaf
fonte

Respostas:

22

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

Escopo | Descrição

global | válido em qualquer lugar

site | válido somente dentro deste site (IPv6)

link | válido apenas neste dispositivo

host | válido somente dentro deste host (máquina)

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 de Christian Benvenuti, O'Reilly:

"O escopo de uma rota no Linux é um indicador da distância da rede de destino. O escopo de um endereço IP é um indicador de quão distante do host local o endereço é conhecido, o que, em certa medida, também indica a que distância o proprietário desse 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 apenas dentro de uma LAN. Um exemplo é o endereço de broadcast de uma sub-rede.

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

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

brengo
fonte
2
Obrigado pela sua resposta. Eu já tinha lido isso. O que realmente não entendo é o que 'válido' significa aqui. Em outras palavras: como o argumento do escopo afetará o comportamento do dispositivo de rede?
Rolf 7/09/09
Os endereços e rotas de IP têm um escopo para indicar ao kernel a distância para outras redes / endereços. Veja books.google.de/… :)
brengo
Eu deveria ter adicionado: "escopo" é para decisões de roteamento e verificações de sanidade da configuração de roteamento. Isso ajuda o kernel a decidir (mais rápido) para onde os pacotes devem ir. Espero que ajude?
brengo 07/09/09
11
Desculpe brengo, seu link não está consultável no momento. Mas o metricargumento não é usado para especificar a distância?
rolaf 7/09/09
Ah, desculpe, o link do google que funciona bem no meu final :( tem um esforço exatamente do tópico necessário (Noções básicas sobre redes internas da rede, por Christian Benvenuti, O'Reilly), difícil de pressionar em 600 caracteres de comentário, mas eu
editarei
14

Para começar a entender a definição de escopo, você deve começar por saber o que são endereços de link-local e site-local. Uma vez esclarecidos, os outros se encaixam. Citando alguns trechos de documentos do IPv6.

Ligação

O endereço local do link deve ser usado para endereçar nós em um único link. Pacotes originados ou destinados a um endereço local de link não serão encaminhados por um roteador.

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

Local

O endereço local do site deve ser usado em um site. Os roteadores não encaminharão nenhum pacote com o endereço de origem ou destino local do site fora do site.

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

Hospedeiro

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

Global

Um endereço global é o que você pode considerar atualmente um endereço "normal". Ou seja, um endereço unicast, visível e roteável em uma rede externa.

Dan Carley
fonte
2
E o bloco 192.168.0.0/16 - não é essencialmente o local do site?
SamB 4/11/11
11
Você nunca deve ver sitesendo usado, pois esses endereços foram descontinuados em 2004 .
Michael Hampton
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  */
Expressão impassível
fonte