Сетевые технологии
Сети, адреса и маршруты
Адреса IPv4

Адрес IPv4 состоит из 32 бит и записывается, как правило, в т.н. десятично-дотовой нотации — в виде 4 чисел от 0 до 255, разделённых точками. Адрес разделяется на две части: адрес сети и адрес хоста внутри сети; граница между ними — подвижная и устанавливается маской. Маска также содержит 32 бита, причём сколько-то начальных бит подряд могут быть единицами, все остальные — только нулями. Часто вместо самой маски пишется, для краткости, только её длина (число единиц), поскольку по существу это единственная значимая величина в ней. Пример:

адрес
192 . 168 . 12 . 34
11000000   10101000   00001100   00100010
маска (/24)
255 . 255 . 255 . 0
11111111   11111111   11111111   00000000
адрес сети
192 . 168 . 12 . 0
11000000   10101000   00001100   00000000
локальный адрес хоста в сети    
  .   .   . 34
            00100010
широковещательный адрес
192 . 168 . 12 . 255
11000000   10101000   00001100   11111111

Адрес сети является общим для всех хостов, входящих в данную сеть. Предположим, для определённости, что длина маски n бит. При наложении маски на адрес получается часть адреса, в которой последние 32–n бит заменены нулями. Это и есть адрес сети.

Оставшаяся часть адреса — это локальный адрес компьютера в сети. В чистом виде он практически никогда не используется, поскольку IP-адреса, по определению, предназначены для межсетевого взаимодействия.

Адрес, в котором все свободные биты, т.е. 32–n последних, заменены единицами, имеет особое назначение — это широковещательный адрес. Широковещательный адрес и адрес сети не могут назначаться никаким реальным хостам в сети.

Всего при длине маски n бит сеть может содержать 232–n адресов, из которых первый всегда является адресом сети, последний — широковещательным. Остальные адреса могут назначаться отдельным хостам в сети.

Использовать маски исключительно длиной /8, /16 или /24, т.е. по границам целых байт в адресе, в общем случае необязательно. Это было задумано когда-то на заре Интернета исключительно ради удобочитаемости. Ныне, в связи с дефицитом IPv4 адресов, широко используются дробные маски.

Особыми случаями являются самые длинные маски. Маска длиной /30 (255.255.255.252) широко используется для соединений "точка-точка", в которых задействованы ровно 2 хоста. Она содержит всего 4 адреса: сетевой, широковещательный, и два адреса для одного и для другого хоста. Создать реально значимую подсеть меньшего размера, с учётом вышеизложенных правил, уже невозможно.

Маска /32 (255.255.255.255) однозначно определяет ровно 1 IP-адрес. В настройках IP-интерфейса она означает, что данный интерфейс является ненумерованным. В других местах (например, в маршрутизации) такая запись обычно означает, что в некотором контексте, где по смыслу должна быть указана некоторая сеть, речь в данном случае идёт строго о единственном хосте.

Маска /31 (255.255.255.254) формально не запрещена, но по существу она практически равнозначна /32. Отличие состоит в том, что интерфейс имеет свой уникальный IP-адрес, а не "одолженный" у другого. Другой адрес в этой подсети фактически не используется никак.

Каждый хост в сети должен иметь уникальный адрес, не совпадающий с адресом никакого другого хоста. Более подробно, это означает, что:

Специальными являются следующие пространства адресов:

10.0.0.0/8 (сеть из 16777216 адресов)
172.16.0.0/12 (или 16 подсетей 172.16.0.0/16 ... 172.31.0.0/16 по 65536 адресов каждая)
192.168.0.0/16 (или 256 подсетей 192.168.0.0/24 ... 192.168.255.0/24 по 256 адресов)

Эти адреса зарезервированы для применения в приватных сетях, не имеющих прямого выхода в сети общего пользования. На жаргоне сетевых администраторов они называются "серыми". Пакеты с такими адресами не должны циркулировать в Интернете. На выходе из приватных сетей в Интернет производится процедура NAT (преобразование сетевых адресов), при которой эти адреса заменяются на корректные (реальные, глобальные, на жаргоне — "белые"). Зато использовать эти адреса можно многократно, в каждой корпоративной сети, не задумываясь о том, что эти же адреса используются и в других таких же сетях: напрямую эти сети никогда не взаимодействуют. В пределах одной корпоративной сети администратор может использовать их по своему усмотрению, следя только за тем, чтобы они не конфликтовали друг с другом. Сегодня, в связи с дефицитом IPv4 адресов, а также по соображениям безопасности, это общепринятая практика построения корпоративных сетей и сетей поставщиков услуг.

169.254.0.0./16

Это диапазон адресов для автоматической конфигурации интерфейса в широковещательных сетях. Если интерфейсу не назначен другой адрес явным образом, и попытка получить адрес по DHCP также заканчивается неудачей, тогда в качестве самого крайнего варианта он может сам назначить себе случайный адрес из этого диапазона. (Предварительно попытавшись прощупать этот адрес по ARP, и если получен ответ от кого-то — то, следовательно, адрес занят и надо пробовать какой-нибудь другой.) Адреса этого типа предназначены не для межсетевого взаимодействия; область их применения ограничена пределами одной физической сети (scope local).

В сетях IPv4 категорически не рекомендуется использовать на одном интерфейсе локальные и глобально маршрутизируемые адреса. На практике локальные адреса используются крайне редко и, как правило, исключительно на оконечных пользовательских хостах, а не на сетевом оборудовании. В данной версии NSG Linux автоматическая конфигурация локальных адресов IPv4 не предумотрена. (В IPv6, наоборот, локальные адреса являются обязательными и генерируются всегда.)

127.0.0.0/8

Эти адреса используются в качестве локальных, т.е. для обозначения самого хоста, на котором работает IP-стек, и не должны циркулировать между разными хостами вообще. На практике из этого пространства используется почти исключительно единственный адрес 127.0.0.1, а остальные 16777215 адресов — это про запас.

Обратно в узел ifAddress...

© Network Systems Group 2015–2024 Отдел документации