Бесклассовая междоменная маршрутизация ( CIDR / ˈs aɪ d ər , ˈs ɪ - / ) — это метод выделения IP-адресов для IP-маршрутизации . Internet Engineering Task Force представила CIDR в 1993 году, чтобы заменить предыдущую классовую архитектуру сетевой адресации в Интернете . Ее целью было замедлить рост таблиц маршрутизации на маршрутизаторах по всему Интернету и помочь замедлить быстрое исчерпание адресов IPv4 . [1] [2]
IP-адреса описываются как состоящие из двух групп бит в адресе: наиболее значимые биты представляют собой сетевой префикс , который идентифицирует целую сеть или подсеть , а наименее значимый набор образует идентификатор хоста , который указывает конкретный интерфейс хоста в этой сети. Это разделение используется в качестве основы маршрутизации трафика между IP-сетями и для политик распределения адресов.
В то время как классовый сетевой дизайн для IPv4 определяет размер сетевого префикса как одну или несколько 8-битных групп, что приводит к блокам адресов класса A, B или C, в рамках CIDR адресное пространство выделяется интернет-провайдерам и конечным пользователям на любой границе адрес-бит. Однако в IPv6 идентификатор интерфейса имеет фиксированный размер 64 бита по соглашению, и меньшие подсети никогда не выделяются конечным пользователям.
CIDR основан на маскировании подсетей переменной длины ( VLSM ), в котором сетевые префиксы имеют переменную длину (в отличие от префикса фиксированной длины предыдущего дизайна классовой сети). Главное преимущество этого заключается в том, что он обеспечивает более точный контроль над размерами подсетей, выделяемых организациям, тем самым замедляя исчерпание адресов IPv4 из-за выделения более крупных подсетей, чем необходимо. CIDR привел к появлению нового способа записи IP-адресов, известного как нотация CIDR, в котором за IP-адресом следует суффикс, указывающий количество бит префикса. Некоторые примеры нотации CIDR — это адреса 192.0.2.0 / 24 для IPv4 и 2001:db8:: / 32 для IPv6. Блоки адресов, имеющие смежные префиксы, могут быть объединены в суперсети , что сокращает количество записей в глобальной таблице маршрутизации.
Каждый IP-адрес состоит из сетевого префикса, за которым следует идентификатор хоста . В классовой сетевой архитектуре IPv4 три самых значимых бита 32-битного IP-адреса определяют размер сетевого префикса для одноадресной сети и определяют сетевой класс A, B или C. [3]
Сорт | Наиболее значимые биты | Размер сетевого префикса (бит) | Размер идентификатора хоста (бит) | Диапазон адресов |
---|---|---|---|---|
А | 0 | 8 | 24 | 0.0.0.0–127.255.255.255 |
Б | 10 | 16 | 16 | 128.0.0.0–191.255.255.255 |
С | 110 | 24 | 8 | 192.0.0.0–223.255.255.255 |
D (многоадресный) E (зарезервировано) | 1110 1111 | – | – | 224.0.0.0–255.255.255.255 |
Преимущество этой системы в том, что сетевой префикс можно было определить для любого IP-адреса без какой-либо дополнительной информации. Недостатком было то, что сети обычно были слишком большими или слишком маленькими для большинства организаций, поскольку были доступны только три размера. Наименьший блок распределения и маршрутизации содержал 2 8 = 256 адресов, больше, чем необходимо для персональных или ведомственных сетей, но слишком мал для большинства предприятий. Следующий по размеру блок содержал 2 16 = 65 536 адресов, слишком большой для эффективного использования даже крупными организациями. Но для пользователей сети, которым требовалось более 65 536 адресов, единственный другой размер (2 24 ) предоставлял слишком много, более 16 миллионов. Это приводило к неэффективности использования адресов, а также неэффективности маршрутизации, поскольку требовалось большое количество выделенных сетей класса C с индивидуальными объявлениями маршрутов, будучи географически разбросанными с небольшими возможностями для агрегации маршрутов .
В течение десятилетия после изобретения системы доменных имен (DNS) классовый сетевой метод был признан не масштабируемым . [4] Это привело к развитию подсетей и CIDR. Ранее значимые различия классов, основанные на наиболее значимых битах адреса, были отменены, и новая система была описана как бесклассовая , в отличие от старой системы, которая стала известна как классовая . Протоколы маршрутизации были пересмотрены, чтобы переносить не только IP-адреса, но и их маски подсетей. Реализация CIDR потребовала, чтобы каждый хост и маршрутизатор в Интернете были перепрограммированы небольшими способами — немалый подвиг в то время, когда Интернет вступал в период быстрого роста. В 1993 году Инженерная целевая группа Интернета опубликовала новый набор стандартов, RFC 1518 и RFC 1519, чтобы определить этот новый принцип распределения блоков IP-адресов и маршрутизации пакетов IPv4. Обновленная версия, RFC 4632, была опубликована в 2006 году. [5]
После периода экспериментов с различными альтернативами, бесклассовая междоменная маршрутизация была основана на маске подсети переменной длины (VLSM), которая позволяет разделить каждую сеть на подсети различных размеров, равных степени двойки, так что каждая подсеть может быть рассчитана в соответствии с локальными потребностями. Маски подсети переменной длины были упомянуты как одна из альтернатив в RFC 950. [6] Методы группировки адресов для общих операций были основаны на концепции кластерной адресации, впервые предложенной Карлом-Гербертом Рокитански. [7] [8]
Нотация CIDR — это компактное представление IP-адреса и связанной с ним сетевой маски. Нотация была изобретена Филом Карном в 1980-х годах. [9] [10] Нотация CIDR определяет IP-адрес, символ косой черты ('/') и десятичное число. Десятичное число — это количество последовательных ведущих 1 -битов (слева направо) в сетевой маске. Каждый 1-бит обозначает бит диапазона адресов, который должен оставаться идентичным данному IP-адресу. IP-адрес в нотации CIDR всегда представляется в соответствии со стандартами для IPv4 или IPv6.
Адрес может обозначать конкретный адрес интерфейса (включая идентификатор хоста, например, 10.0.0.1 / 8 ), или это может быть начальный адрес всей сети (используя идентификатор хоста 0, например, 10.0.0.0 / 8 или его эквивалент 10 / 8 ). Обозначение CIDR может использоваться даже без IP-адреса вообще, например, при ссылке на / 24 как на общее описание сети IPv4, которая имеет 24-битный префикс и 8-битные номера хостов.
Например:
В IPv4 нотация CIDR стала широко использоваться только после внедрения метода, который был задокументирован с использованием спецификации маски подсети с точками и десятичной дробью после косой черты, например, 192.24.12.0 / 255.255.252.0 . [2] Описание ширины сетевого префикса как одного числа ( 192.24.12.0 / 22 ) было проще для концептуализации и расчета сетевым администраторам. Это постепенно было включено в более поздние документы стандартов [11] [12] и в интерфейсы конфигурации сети.
Количество адресов в сети можно рассчитать как 2 длина адреса − длина префикса , где длина адреса составляет 128 для IPv6 и 32 для IPv4. Например, в IPv4 длина префикса / 29 дает: 2 32−29 = 2 3 = 8 адресов.
Маска подсети — это битовая маска , которая кодирует длину префикса, связанную с адресом IPv4 или сетью, в четырехточечной нотации: 32 бита, начиная с количества 1 -бит, равного длине префикса, заканчивая 0 -битами, и кодируется в четырехчастном десятичном формате с точками: 255.255.255.0 . Маска подсети кодирует ту же информацию, что и длина префикса, но предшествовала появлению CIDR. В нотации CIDR биты префикса всегда являются смежными. RFC 950 [6] разрешал маскам подсети указывать несмежные биты до RFC 4632 [5] : Раздел 5.1 утверждал, что маска должна оставаться смежной. Учитывая это ограничение, маска подсети и нотация CIDR выполняют абсолютно одну и ту же функцию.
CIDR — это, в основном, побитовый, основанный на префиксах стандарт для представления IP-адресов и их свойств маршрутизации. Он упрощает маршрутизацию, позволяя группировать блоки адресов в отдельные записи таблицы маршрутизации. Эти группы, обычно называемые блоками CIDR, разделяют начальную последовательность бит в двоичном представлении своих IP-адресов. Блоки CIDR IPv4 идентифицируются с использованием синтаксиса, похожего на синтаксис адресов IPv4: точечно-десятичный адрес, за которым следует косая черта, затем число от 0 до 32, т. е. abcd / n . Десятичная часть с точками — это адрес IPv4. Число после косой черты — это длина префикса, количество общих начальных бит, отсчитываемое от самого старшего бита адреса. При акцентировании только размера сети адресная часть нотации обычно опускается. Таким образом, блок /20 — это блок CIDR с неопределенным 20-битным префиксом.
IP-адрес является частью блока CIDR и считается соответствующим префиксу CIDR, если начальные n бит адреса и префикс CIDR совпадают. Адрес IPv4 состоит из 32 бит, поэтому n -битный префикс CIDR оставляет 32 − n бит несовпадающими, что означает, что 2 32− n адресов IPv4 соответствуют данному n -битному префиксу CIDR. Более короткие префиксы CIDR соответствуют большему количеству адресов, в то время как более длинные префиксы соответствуют меньшему количеству. В случае наложенных блоков CIDR адрес может соответствовать нескольким префиксам CIDR разной длины.
CIDR также используется для адресов IPv6 , и семантика синтаксиса идентична. Длина префикса может варьироваться от 0 до 128 из-за большего количества бит в адресе. Однако, по соглашению, подсеть в сетях уровня MAC-вещания всегда имеет 64-битные идентификаторы хостов. [13] Более длинные префиксы (/127) используются только в некоторых соединениях точка-точка между маршрутизаторами из соображений безопасности и политики. [14]
Управление по распределению адресов в Интернете (IANA) выдает региональным интернет-регистраторам (RIR) большие блоки CIDR с короткими префиксами. Однако, блок / 8 (с более чем шестнадцатью миллионами адресов) является самым большим блоком, который выделяет IANA. Например, 62.0.0.0 / 8 администрируется RIPE NCC , европейским RIR. RIR, каждый из которых отвечает за отдельную большую географическую область, например, Европу или Северную Америку, подразделяют эти блоки и выделяют подсети локальным интернет-регистраторам (LIR). Подобное подразделение может повторяться несколько раз на более низких уровнях делегирования. Сети конечных пользователей получают подсети, размер которых соответствует их прогнозируемым краткосрочным потребностям. Сети, обслуживаемые одним интернет-провайдером, поощряются рекомендациями IETF получать адресное пространство IP напрямую от своего интернет-провайдера. С другой стороны, сети, обслуживаемые несколькими интернет-провайдерами, могут получать адресное пространство, независимое от провайдера, напрямую от соответствующего RIR.
Например, в конце 1990-х годов IP-адрес 208.130.29.33 (с тех пор переназначенный) использовался www.freesoft.org. Анализ этого адреса выявил три префикса CIDR. 208.128.0.0 / 11 , большой блок CIDR, содержащий более 2 миллионов адресов, был назначен ARIN (североамериканским RIR) для MCI . Automation Research Systems (ARS), Virginia VAR , арендовал интернет-соединение у MCI и получил блок 208.130.28.0 / 22 , способный адресовать чуть более 1000 устройств. ARS использовал блок / 24 для своих общедоступных серверов, одним из которых был 208.130.29.33 . Все эти префиксы CIDR будут использоваться в разных местах сети. За пределами сети MCI префикс 208.128.0.0 / 11 будет использоваться для направления трафика MCI, связанного не только с 208.130.29.33 , но и с любым из примерно двух миллионов IP-адресов с теми же начальными 11 битами. Внутри сети MCI 208.130.28.0 / 22 станет видимым, направляя трафик на выделенную линию, обслуживающую ARS. Только внутри корпоративной сети ARS будет использоваться префикс 208.130.29.0 / 24 .
Формат адреса | Разница с последним адресом | Маска | Адреса | Относительно класса A, B, C | Ограничения на a , b , c и d (0..255, если не указано иное) | Типичное использование | |
---|---|---|---|---|---|---|---|
Десятичная дробь | 2 н | ||||||
abcd / 32 | + 0.0.0.0 | 255.255.255.255 | 1 | 2 0 | 1 ⁄ 256 С | Маршрут хоста | |
абвг / 31 | + 0.0.0.1 | 255.255.255.254 | 2 | 2 1 | 1 ⁄ 128 С | д = 0 ... (2n ) ... 254 | Связи точка-точка ( RFC 3021) |
абвг / 30 | + 0.0.0.3 | 255.255.255.252 | 4 | 2 2 | 1 ⁄ 64 С | д = 0 ... (4 н ) ... 252 | Связи точка-точка (клеевая сеть) |
абвг / 29 | + 0.0.0.7 | 255.255.255.248 | 8 | 2 3 | 1 ⁄ 32 С | д = 0 ... (8 н ) ... 248 | Самая маленькая многохостовая сеть |
абвг / 28 | + 0.0.0.15 | 255.255.255.240 | 16 | 2 4 | 1 ⁄ 16 С | д = 0 ... (16 н ) ... 240 | Малая локальная сеть |
абвг / 27 | + 0.0.0.31 | 255.255.255.224 | 32 | 2 5 | 1 ⁄ 8 С | д = 0 ... (32 н ) ... 224 | |
абвг / 26 | + 0.0.0.63 | 255.255.255.192 | 64 | 2 6 | 1 ⁄ 4 С | д = 0, 64, 128, 192 | |
абвг / 25 | + 0.0.0.127 | 255.255.255.128 | 128 | 2 7 | 1 ⁄ 2 С | д = 0, 128 | Большая локальная сеть |
abc0 / 24 | + 0.0.0.255 | 255.255.255.0 | 256 | 2 8 | 1 С | ||
abc0 / 23 | + 0.0.1.255 | 255.255.254.0 | 512 | 2 9 | 2 С | с = 0 ... (2n ) ... 254 | |
abc0 / 22 | + 0.0.3.255 | 255.255.252.0 | 1,024 | 2 10 | 4 С | с = 0 ... (4n ) ... 252 | Малый бизнес |
abc0 / 21 | + 0.0.7.255 | 255.255.248.0 | 2,048 | 2 11 | 8 С | с = 0 ... (8 н ) ... 248 | Малый интернет-провайдер /крупный бизнес |
abc0 / 20 | + 0.0.15.255 | 255.255.240.0 | 4,096 | 2 12 | 16 С | с = 0 ... (16 н ) ... 240 | |
abc0 / 19 | + 0.0.31.255 | 255.255.224.0 | 8,192 | 2 13 | 32 С | с = 0 ... (32 n ) ... 224 | Интернет-провайдер / крупный бизнес |
abc0 / 18 | + 0.0.63.255 | 255.255.192.0 | 16,384 | 2 14 | 64 С | с = 0, 64, 128, 192 | |
abc0 / 17 | + 0.0.127.255 | 255.255.128.0 | 32,768 | 2 15 | 128 С | с = 0, 128 | |
ab0.0 / 16 | + 0.0.255.255 | 255.255.0.0 | 65,536 | 2 16 | 256 С = В | ||
около 0,0 / 15 | + 0.1.255.255 | 255.254.0.0 | 131,072 | 2 17 | 2 Б | б = 0 ... (2n ) ... 254 | |
ab0.0 / 14 | + 0.3.255.255 | 255.252.0.0 | 262,144 | 2 18 | 4 Б | б = 0 ... (4 н ) ... 252 | |
ab0.0 / 13 | + 0,7,255,255 | 255.248.0.0 | 524,288 | 2 19 | 8 Б | б = 0 ... (8 н ) ... 248 | |
около 0,0 / 12 | + 0,15,255,255 | 255.240.0.0 | 1,048,576 | 2 20 | 16 Б | б = 0 ... (16 н ) ... 240 | |
ab0.0 / 11 | + 0,31,255,255 | 255.224.0.0 | 2,097,152 | 2 21 | 32 Б | б = 0 ... (32 н ) ... 224 | |
около0.0 / 10 | + 0,63,255,255 | 255.192.0.0 | 4,194,304 | 2 22 | 64 Б | б = 0, 64, 128, 192 | |
ab0.0 / 9 | + 0,127,255,255 | 255.128.0.0 | 8,388,608 | 2 23 | 128 Б | б = 0, 128 | |
а.0.0.0 / 8 | + 0.255.255.255 | 255.0.0.0 | 16,777,216 | 2 24 | 256 Б = А | Крупнейшее распределение блоков IANA | |
а.0.0.0 / 7 | + 1.255.255.255 | 254.0.0.0 | 33,554,432 | 2 25 | 2 А | а = 0 ... (2n ) ... 254 | |
а.0.0.0 / 6 | + 3.255.255.255 | 252.0.0.0 | 67,108,864 | 2 26 | 4 А | а = 0 ... (4 n ) ... 252 | |
а.0.0.0 / 5 | + 7.255.255.255 | 248.0.0.0 | 134,217,728 | 2 27 | 8 А | а = 0 ... (8 н ) ... 248 | |
а.0.0.0 / 4 | + 15.255.255.255 | 240.0.0.0 | 268,435,456 | 2 28 | 16 А | а = 0 ... (16 н ) ... 240 | |
а.0.0.0 / 3 | + 31.255.255.255 | 224.0.0.0 | 536,870,912 | 2 29 | 32 А | а = 0 ... (32 n ) ... 224 | |
а.0.0.0 / 2 | + 63.255.255.255 | 192.0.0.0 | 1,073,741,824 | 2 30 | 64 А | а = 0, 64, 128, 192 | |
а.0.0.0 / 1 | + 127.255.255.255 | 128.0.0.0 | 2,147,483,648 | 2 31 | 128 А | а = 0, 128 | |
0.0.0.0 / 0 | + 255.255.255.255 | 0.0.0.0 | 4,294,967,296 | 2 32 | 256 А | Весь Интернет IPv4, маршрут по умолчанию . |
В общем случае первый адрес в подсети, все двоичные нули в идентификаторе хоста, зарезервирован для ссылки на саму сеть, в то время как последний адрес, все двоичные единицы в идентификаторе хоста, используется в качестве широковещательного адреса для сети; это уменьшает количество адресов, доступных для хостов, на 2. В результате сеть / 31 с одной двоичной цифрой в идентификаторе хоста будет непригодна для использования, так как такая подсеть не предоставит доступных адресов хостов после этого сокращения. RFC 3021 создает исключение из правил «хост все единицы» и «хост все нули», чтобы сделать сети / 31 пригодными для использования для соединений точка-точка. Доступ к адресам / 32 (сеть с одним хостом) должен осуществляться с помощью явных правил маршрутизации, так как в такой сети нет места для шлюза.
В маршрутизируемых подсетях, больших, чем / 31 или / 32 , количество доступных адресов хостов обычно уменьшается на два, а именно на наибольший адрес, который зарезервирован как широковещательный адрес, и наименьший адрес, который идентифицирует саму сеть. [15] [16]
Размер префикса | Количество эквивалентных подсетей | Биты идентификатора интерфейса | ||
---|---|---|---|---|
/48 | /56 | /64 | ||
/24 | 16М | 4G | 1Т | 104 |
/25 | 8М | 2G | 512G | 103 |
/26 | 4М | 1G | 256G | 102 |
/27 | 2М | 512М | 128G | 101 |
/28 | 1М | 256М | 64G | 100 |
/29 | 512К | 128М | 32G | 99 |
/30 | 256К | 64М | 16G | 98 |
/31 | 128К | 32М | 8G | 97 |
/32 | 64К | 16М | 4G | 96 |
/33 | 32К | 8М | 2G | 95 |
/34 | 16К | 4М | 1G | 94 |
/35 | 8К | 2М | 512М | 93 |
/36 | 4К | 1М | 256М | 92 |
/37 | 2К | 512К | 128М | 91 |
/38 | 1К | 256К | 64М | 90 |
/39 | 512 | 128К | 32М | 89 |
/40 | 256 | 64К | 16М | 88 |
/41 | 128 | 32К | 8М | 87 |
/42 | 64 | 16К | 4М | 86 |
/43 | 32 | 8К | 2М | 85 |
/44 | 16 | 4К | 1М | 84 |
/45 | 8 | 2К | 512К | 83 |
/46 | 4 | 1К | 256К | 82 |
/47 | 2 | 512 | 128К | 81 |
/48 | 1 | 256 | 64К | 80 |
/49 | 128 | 32К | 79 | |
/50 | 64 | 16К | 78 | |
/51 | 32 | 8К | 77 | |
/52 | 16 | 4К | 76 | |
/53 | 8 | 2К | 75 | |
/54 | 4 | 1К | 74 | |
/55 | 2 | 512 | 73 | |
/56 | 1 | 256 | 72 | |
/57 | 128 | 71 | ||
/58 | 64 | 70 | ||
/59 | 32 | 69 | ||
/60 | 16 | 68 | ||
/61 | 8 | 67 | ||
/62 | 4 | 66 | ||
/63 | 2 | 65 | ||
/64 | 1 | 64 | ||
К = 1,024 | ||||
М = 1,048,576 | ||||
Г = 1,073,741,824 | ||||
Т = 1,099,511,627,776 |
Большой размер адреса IPv6 позволил объединить маршруты по всему миру и гарантировал достаточный пул адресов на каждом сайте. Стандартный размер подсети для сетей IPv6 составляет блок / 64 , который требуется для работы автоконфигурации адресов без сохранения состояния . [17] Сначала IETF рекомендовала в RFC 3177 в качестве наилучшей практики, чтобы все конечные сайты получали распределение адресов / 48 , [18] но критика и переоценка фактических потребностей и практик привели к более гибким рекомендациям по распределению в RFC 6177 [19], предлагающим значительно меньшее распределение для некоторых сайтов, например, блок / 56 для жилых сетей.
В этом справочнике по подсетям IPv6 перечислены размеры подсетей IPv6 . Различные типы сетевых соединений могут требовать различных размеров подсетей. [20] Маска подсети отделяет биты префикса идентификатора сети от битов идентификатора интерфейса. Выбор меньшего размера префикса приводит к меньшему количеству охваченных сетей, но с большим количеством адресов в каждой сети. [21]
2001:0db8:0123:4567:89ab:cdef:1234:5678|||| |||| |||| |||| |||| |||| |||| |||||||| |||| |||| |||| |||| |||| |||| |||128 Одиночные конечные точки и петля|||| |||| |||| |||| |||| |||| |||| |||127 Связи точка-точка (между маршрутизаторами)|||| |||| |||| |||| |||| |||| |||| ||124|||| |||| |||| |||| |||| |||| |||| |120|||| |||| |||| |||| |||| |||| |||| 116|||| |||| |||| |||| |||| |||| |||112|||| |||| |||| |||| |||| |||| ||108|||| |||| |||| |||| |||| |||| |104|||| |||| |||| |||| |||| |||| 100|||| |||| |||| |||| |||| |||96|||| |||| |||| |||| |||| ||92|||| |||| |||| |||| |||| |88|||| |||| |||| |||| |||| 84|||| |||| |||| |||| |||80|||| |||| |||| |||| ||76|||| |||| |||| |||| |72|||| |||| |||| |||| 68|||| |||| |||| |||64 Одиночная локальная сеть; размер префикса по умолчанию для SLAAC |||| |||| |||| ||60 Некоторые (очень ограниченные) 6-е развертывания (/60 = 16 /64 блоков)|||| |||| |||| |56 Минимальное назначение конечных сайтов; [19] например, домашняя сеть (/56 = 256 /64 блоков)|||| |||| |||| 52 /52 блока = 4096 /64 блока|||| |||| |||48 Типичное назначение для более крупных сайтов (/48 = 65536 /64 блоков)|||| |||| ||44|||| |||| |40|||| |||| 36 возможных будущих локальных интернет-регистраторов (LIR) с очень малыми распределениями|||| |||32 минимальных выделений LIR|||| ||28 LIR-среда распределения|||| |24 LIR большие распределения|||| 20 LIR сверхбольшие распределения|||16||12 Региональных Интернет-регистраторов (RIR) распределены IANA [22]|84
Топологически набор подсетей, описываемых CIDR, представляет собой покрытие соответствующего адресного пространства. Интервал, описываемый обозначением, численно соответствует адресам вида (для IPv4) , где имеет младшие биты, установленные в 0. (Для IPv6 замените 128.) Для фиксированного набор всех подсетей составляет раздел , то есть покрытие неперекрывающихся наборов. Увеличение приводит к более мелким подразделам. Таким образом, две подсети и либо не пересекаются, либо одна является подсетью другой.
CIDR обеспечивает мелкозернистую агрегацию префиксов маршрутизации . Например, если первые 20 бит их сетевых префиксов совпадают, шестнадцать смежных сетей / 24 могут быть агрегированы и объявлены в более крупной сети как одна запись таблицы маршрутизации / 20. Это уменьшает количество маршрутов, которые необходимо объявить.
/24, безусловно, чище, чем 255.255.255.0. Кажется, именно Фил Карн в начале 80-х предположил, что выражение масок подсетей в виде количества битов с верхнего конца адресного слова эффективно, поскольку маски подсетей всегда представляют собой последовательность единиц, за которыми следуют нули без вкраплений, что было включено (или независимо изобретено) примерно десятилетие спустя как нотация CIDR abcd/n в RFC1519.
На самом деле, Брайан прав. Фил намного опередил время. Но я не помню, чтобы он говорил об этом до конца 80-х.
IP-сети также являются лексически иерархическими метками, использующими нотацию бесклассовой междоменной маршрутизации (CIDR), но их иерархию нелегко определить с помощью простых текстовых манипуляций; например, 198.41.0.0/22 является частью 198.41.0.0/16, которая является частью 198.40.0.0/15.