paramètre de portée d'adresse IP


18

Sous Linux, la commande

ip address add [...]

a un scopeargument. La page de manuel indique que la portée est "la portée de la zone où cette adresse est valide". Suit la liste des champs d'application juridiques:

  • global
  • site
  • lien
  • hôte

À quoi se réfère cette «zone» de «validité»?

Réponses:


22

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

Portée | La description

global | valable partout

site | valable uniquement sur ce site (IPv6)

lien | valable uniquement sur cet appareil

hôte | valable uniquement à l'intérieur de cet hôte (machine)

La portée est normalement déterminée par l'utilitaire ip sans utilisation explicite sur la ligne de commande. (...)

Les citations suivantes sont extraites du livre Understanding Linux network internals de Christian Benvenuti, O'Reilly:

"La portée d'une route sous Linux est un indicateur de la distance au réseau de destination. La portée d'une adresse IP est un indicateur de la distance de l'hôte local où l'adresse est connue, ce qui, dans une certaine mesure, vous indique également dans quelle mesure le propriétaire de cette adresse est de l'hôte local (...).

Hôte: une adresse a une portée d'hôte lorsqu'elle est utilisée uniquement pour communiquer au sein de l'hôte lui-même. En dehors de l'hôte, cette adresse n'est pas connue et ne peut pas être utilisée. Un exemple est l'adresse de bouclage, 127.0.0.1

Lien: une adresse a une portée de lien lorsqu'elle est significative et ne peut être utilisée que dans un réseau local. Un exemple est l'adresse de diffusion d'un sous-réseau.

Global: une adresse a une portée globale lorsqu'elle peut être utilisée n'importe où. Il s'agit de la portée par défaut pour la plupart des adresses. (...) "

La principale raison d'utiliser des étendues semble être qu'un hôte avec plusieurs interfaces et adresses doit décider quand utiliser quelle adresse. Pour la communication avec lui-même, une adresse de bouclage (hôte de portée) peut être utilisée. Avec la communication ailleurs, une adresse différente doit être sélectionnée.


2
Merci pour votre réponse. J'avais déjà lu ça. Ce que je ne comprends vraiment pas, c'est ce que «valide» signifie ici. En d'autres termes: quel sera l'impact de l'argument scope sur le comportement du périphérique réseau?
rolaf

Les adresses IP et les routes ont une portée pour indiquer au noyau la distance par rapport aux autres réseaux / adresses. Voir books.google.de/… :)
brengo

J'aurais dû ajouter: "portée" est pour les décisions de routage et les contrôles d'intégrité de la configuration de routage. Il aide le noyau à décider (plus rapidement) où les paquets doivent aller. J'espère que cela pourra aider?
brengo

1
Désolé brengo, votre lien n'est pas consultable pour le moment. Mais l' metricargument n'est-il pas utilisé pour spécifier la distance?
rolaf

Oh, désolé, le lien Google qui fonctionne bien de mon côté :( a un extrait du sujet nécessaire (Comprendre les internes du réseau Linux, par Christian Benvenuti, O'Reilly) qui est difficile à appuyer sur 600 caractères de commentaire, mais je
éditerai

14

Pour commencer à comprendre la définition de la portée, vous devez commencer par connaître les adresses lien-local et site-local. Une fois ceux-ci nettoyés, les autres se mettront en place. Citant quelques extraits de documents IPv6.

Lien

Les adresses de liaison locale sont censées être utilisées pour adresser les nœuds sur une seule liaison. Les paquets provenant de ou destinés à une adresse de liaison locale ne seront pas transmis par un routeur.

Un exemple de ceci est la gamme 169.254 / 16. Ce que vous avez peut-être vu auparavant lorsque les périphériques ne peuvent pas obtenir une adresse valide auprès de DHCP.

Site

Les adresses locales du site sont censées être utilisées dans un site. Les routeurs ne transmettront aucun paquet avec une source locale ou une adresse de destination en dehors du site.

Cela ne s'applique qu'à IPv6. Il n'y a aucune notion d'adresses locales de site dans IPv4.

Hôte

Une adresse d'hôte est quelque chose qui n'existera que sur la machine hôte elle-même. Par exemple, 127.0.0.1 est une adresse d'hôte communément attribuée à l'interface de bouclage. L'interface de bouclage n'a pas de connectivité externe et sa portée est donc limitée à celle de la machine hôte.

Global

Une adresse globale est ce que vous pourriez actuellement considérer comme une adresse "normale". C'est-à-dire, une adresse unicast, qui est visible et routable sur un réseau externe.


2
Qu'en est-il du bloc 192.168.0.0/16 - n'est-ce pas essentiellement du site local?
SamB

1
Vous ne devriez jamais voir siteêtre utilisé, car ces adresses ont été dépréciées en 2004 .
Michael Hampton

0

Retrouvez ces commentaires dans 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  */
En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.