Назад | Перейти на главную страницу

параметр области IP-адреса

В Linux команда

ip address add [...]

имеет scope аргумент. На странице руководства говорится, что область действия - это «область действия, в которой этот адрес действителен». Соответствует списку юридических сфер:

Что означает эта «область действия»?

из http://linux-ip.net/html/tools-ip-address.html :

Сфера действия | Описание

глобальный | действует везде

сайт | действует только на этом сайте (IPv6)

ссылка | действительно только на этом устройстве

хост | действует только внутри этого хоста (машины)

Область действия обычно определяется утилитой ip без явного использования в командной строке. (...)

Следующие цитаты взяты из книги Кристиана Бенвенути, О'Рейли, «Понимание внутреннего устройства сети Linux»:

«Объем маршрута в Linux - это индикатор расстояния до сети назначения. Объем IP-адреса - это индикатор того, насколько далеко от локального хоста известен адрес, что в некоторой степени также говорит вам, как далеко владелец этого адреса с локального хоста (...).

Хост: адрес имеет область хоста, когда он используется только для связи внутри самого хоста. Вне хоста этот адрес неизвестен и не может быть использован. Примером является адрес обратной связи 127.0.0.1

Ссылка: адрес имеет область связи, когда он имеет смысл и может использоваться только в пределах локальной сети. Примером может служить широковещательный адрес подсети.

Глобальный: адрес имеет глобальную область действия, если его можно использовать где угодно. Это область действия по умолчанию для большинства адресов. (...) "

Основная причина использования областей видимости заключается в том, что хост с несколькими интерфейсами и адресами должен решить, когда использовать какой адрес. Для связи с самим собой может использоваться адрес обратной связи (хост области). Для связи elswhere необходимо выбрать другой адрес.

Чтобы понять определение области действия, вы должны начать с знания того, что такое локальные адреса ссылки и локальные адреса сайта. Как только они будут очищены, остальные встанут на свои места. Цитата из некоторых отрывков из документации IPv6.

Ссылка на сайт

Предполагается, что локальный адрес канала будет использоваться для адресации узлов на одном канале. Пакеты, исходящие из локального адреса канала или предназначенные для него, не будут пересылаться маршрутизатором.

Примером этого является диапазон 169,254 / 16. Что вы, возможно, видели раньше, когда устройства не могут получить действительный адрес от DHCP.

Сайт

Предполагается, что внутри сайта будет использоваться локальный адрес сайта. Маршрутизаторы не будут пересылать пакеты с локальным адресом источника или назначения за пределы сайта.

Это применимо только к IPv6. В IPv4 нет понятия локальных адресов сайта.

Хост

Адрес хоста - это то, что существует только внутри самого хоста. Например, 127.0.0.1 - это адрес хоста, обычно назначаемый интерфейсу обратной связи. Интерфейс обратной связи не имеет внешнего подключения, поэтому его область действия ограничена областью хост-компьютера.

Глобальный

Глобальный адрес - это то, что в настоящее время можно считать «нормальным» адресом. То есть одноадресный адрес, который виден и маршрутизируется во внешней сети.

Найдите эти комментарии в 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  */