Подсеть

Материал из Википедии — свободной энциклопедии
Перейти к навигации Перейти к поиску
Создание подсети путём деления идентификатора хоста

Подсеть — логическое разделение сети IP[1].

IP-адрес разделён маской подсети на префикс сети и адрес хоста. Хостом в данном случае является любое сетевое устройство (а именно сетевой интерфейс этого устройства), обладающее IP-адресом. Компьютеры, входящие в одну подсеть, принадлежат одному диапазону IP-адресов.

Префикс маршрутизации выражается в нотации CIDR. Он записывается как адрес сети, затем слеш (/) и длина префикса в битах. Например, для сети 192.168.1.0/24 — первые 24 бита зарезервированы под адрес сети, а оставшиеся 8 под хосты. Для протокола IPv6 нотация действует тем же образом, например, в адресе 2001:db8::/32 первые 32 бита — это префикс маршрутизации (адрес сети), а оставшиеся 96 зарезервированы под хосты. Для IPv4 сеть также характеризуется маской подсети, которая является битовой маской. При поразрядной операции И между маской подсети и адресом можно получить префикс маршрутизации.

Преимущества подсетей заключается в более эффективном использовании доступных адресов.

Подсети в IPv4

[править | править код]

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

Определение префикса сети

[править | править код]

Маска подсети в IPv4 состоит из 32 битов, непрерывной последовательности единиц (1), за которой следует непрерывная последовательность нулей (0). В маске подсети не может стоять единица после нуля.

Двоичная форма Точечно-десятичная нотация
IP-адрес 11000000.10101000.00000101.10000010 192.168.5.130
Маска подсети 11111111.11111111.11111111.00000000 255.255.255.0
Сетевой префикс 11000000.10101000.00000101.00000000 192.168.5.0
Адрес хоста (часть IP) 00000000.00000000.00000000.10000010 0.0.0.130

Сетевой префикс (адрес сети) вычисляется побитовой операцией AND между IP-адресом и маской. Результат AND равен единице тогда, когда оба операнда равны единице.

Подсчёт количества подсетей

[править | править код]

Создание подсетей предполагает увеличение маски сети на несколько бит.

Двоичной форме Точечно-десятичная нотация
IP-адрес 11000000.10101000.00000101.10000010 192.168.5.130
Маска подсети 11111111.11111111.11111111.11000000 255.255.255.192
Сетевой префикс 11000000.10101000.00000101.10000000 192.168.5.128
Адрес хоста

(без префикса)

00000000.00000000.00000000.00000010 0.0.0.2

В примере выше маска подсети была увеличена на 2 бита, создавая тем самым 4 (22) возможных подсетей:

Сеть Сеть (двоичный) Широковещательный адрес
192.168.5.0/26 11000000.10101000.00000101.00000000 192.168.5.63
192.168.5.64/26 11000000.10101000.00000101.01000000 192.168.5.127
192.168.5.128/26 11000000.10101000.00000101.10000000 192.168.5.191
192.168.5.192/26 11000000.10101000.00000101.11000000 192.168.5.255

Общая формула: , где N — количество подсетей, а n — маска сети в нотации CIDR делённая по модулю 8 (или просто количество добавленных бит к маске).

Подсчёт количества адресов для хостов в подсети

[править | править код]

Количество возможных хостов в сети могут быть легко вычислены по формуле , где n — маска сети в нотации CIDR. Биты маски подсети, равные нулю, отведены под адреса хостов. В приведённом выше примере маска подсети состоит из 26 бит, оставшиеся 6 бит могут быть использованы для идентификаторов хостов. Это позволяет создать сеть на 26 − 2 = 62 хоста.

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

Например, для маски /27 могут использоваться 8 подсетей. Каждый первый IP-адрес в подсети (.0, .32, .64, …, .224), то есть адрес сети, и каждый последний IP-адрес в подсети (.31, .63, .95, … .255), то есть широковещательный адрес, зарезервированы, соответственно для каждой сети доступно только 30 адресов (c .1 по .30, с .33 по .62, с.65 по .94, … с .225 по .254).

/24 сеть может быть разделена на следующие подсети увеличением маски подсети последовательно по одному биту. Длина маски влияет на общее количество хостов, которые могут быть определены в сети (последний столбец).

Размер префикса в битах Маска сети Доступно

подсетей

Доступно адресов для хостов Всего хостов на все подсети
/24 255.255.255.0 1 254 254
/25 255.255.255.128 2 126 252
/26 255.255.255.192 4 62 248
/27 255.255.255.224 8 30 240
/28 255.255.255.240 16 14 224
/29 255.255.255.248 32 6 192
/30 255.255.255.252 64 2 128
/31 255.255.255.254 128 2* 256

* применимо только для соединений точка-точка

Специальные адреса и подсети

[править | править код]

Первая и последняя подсети, полученной путём деления, изначально имели особое назначение и применение[2]. Кроме того, в протоколе IPv4 зарезервировано два адреса в каждой сети: первый, использующийся как адрес сети, и последний, для отправки широковещательных пакетов.

Подсети ноль и «все единицы»

[править | править код]

У первой подсети все биты адреса сети, следующие после префикса маршрутизации, равны нулю (0). Поэтому её ещё называют" нулевой подсетью[2]. Последняя подсеть, соответственно, состояла из единиц и получила название «all-ones», или «все единицы»[2].

IETF изначально отговаривали производителей от использования этих двух подсетей из-за возможной путаницы сети и подсети с тем же адресом[3]. В 1995 году это решение было отменено [rfc:1878 в RFC 1878][4].

Протокол IPv6 подсетей

[править | править код]

Дизайн адресного пространства протокола IPv6 существенно отличается от IPv4. Основной причиной создания подсети в IPv4 является повышение эффективности использования сравнительно небольшого адресного пространства. Но таковой проблемы в IPv6 не стоит.

В документе RFC 4291 для IPv6 на хосты отведено 64 бита[5]. Следовательно, префикс маршрутизации равен /64 (128 − 64 = 64 старших бит). Хотя, технически возможно использовать меньшие подсети[6], они являются непрактичными для локальных сетей на основе технологии Ethernet, потому что 64 бита необходимы автоматической настройки адреса[7]. Инженерный совет Интернета рекомендует использовать /127 подсети для соединений точка-точка (состоящих из двух узлов)[8][9].

Примечания

[править | править код]

Литература

[править | править код]
  • Blank, Andrew G. TCP/IP Foundations Technology Fundamentals for IT Success. San Francisco, London: Sybex, Copyright 2004.
  • Lammle, Todd. CCNA Cisco Certified Network Associate Study Guide 5th Edition. San Francisco, London: Sybex, Copyright 2005.
  • Groth, David and Toby Skandier. Network + Study Guide, 4th Edition. San Francisco, London: Wiley Publishing, Inc., Copyright 2005.