Подсеть
Подсеть — это логическое разделение сети 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 бит могут быть использованы для идентификаторов хостов. Это позволяет создать сеть на 62 хоста (26−2).
Значения из одних нулей и значения из одних единиц зарезервированы для адреса сети и широковещательного адреса соответственно. Или другими словами первый и последний адрес подсети. Поэтому при подсчёте числа хостов надо вычитать 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].
См. также
Ссылки
- RFC 950, Internet Standard Subnetting Procedure, J. Mogul, J. Postel (August 1985), page 1, 16
- «Document ID 13711 — Subnet Zero and the All-Ones Subnet».
- RFC 950, Jeffrey Mogul; Jon Postel (August 1985).
- RFC 1878, Troy Pummill; Bill Manning (December 1995).
- RFC 4291, "IP Version 6 Addressing Architecture — section 2.5.1.
- RFC 4862, «IPv6 Stateless Address Autoconfiguration — section 5.5.3.(d) Router Advertisement Processing».
- RFC 2464, «Transmission of IPv6 Packets over Ethernet Networks — section 4 Stateless Autoconfiguration».
- RFC 6164, «Using 127-Bit IPv6 Prefixes on Inter-Router Links».
- RFC 6547, «RFC 3627 to Historic Status».
Дополнительная литература
- RFC 1812 Requirements for IPv4 Routers
- RFC 917 Utility of subnets of Internet networks
- [./Https://tools.ietf.org/html/rfc1101 RFC 1101] DNS Encodings of Network Names and Other Type
- 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.
Ссылки
- Cisco-IP Addressing and Subnetting for New Users
- Subnetworking в каталоге ссылок Curlie (dmoz)
- Netmask Quick Reference Chart