86

Почему Инженерная рабочая группа по Интернету (IETF) выбрала 192.168/16 частных IP-адресов, а не как-то иначе?

Почему именно 192.168/16 и 10/8 и 172.16/12 а не 145.243/16 например?

Есть ли причина, по которой эти IP-адреса были выбраны в качестве стандарта для частных IP-адресов по всем другим возможностям?

6 ответов6

87

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

До середины 1990-х годов онлайн-знакомств практически не было, когда Интернет действительно начал развиваться. История Интернета существует в основном в тех RFC, которые ее определяют, начиная с 1969 года, в начале ARPANET. С их помощью вы можете наблюдать за развитием Интернета из молодой сети примитивных мэйнфреймов, разработанной одними из самых ярких умов того времени, в сеть, без которой мы едва ли можем представить себе жизнь без сегодняшнего дня.

Этот ответ почти полностью основан на этих RFC и, в некоторой степени, на моем личном опыте, который я имел в Интернете в эту эпоху.


Во-первых, IETF не выбрал ни эти диапазоны IP-адресов, ни какие-либо другие. Выделение адресов специального использования в настоящее время и всегда было задачей Управления по присвоению номеров в Интернете.

IANA всегда была ролью, а не конкретной организацией, и эта роль перешла к другому владельцу ровно один раз. В настоящее время он принадлежит ICANN, но с 1972 года до его смерти в 1998 году, когда эта организация была создана для его замены, в IANA был, по сути, один человек, Джон Постел. Конечно, он сначала назвал роль царя номеров сокетов, необходимую задачу, которую он взял на себя, потому что это нужно было сделать. Он создал царя практически для каждого номера, который мог быть назначен: адреса, номера протоколов, порты, вы называете это, в основном потому, что он хотел это сделать, и к тому времени, когда Интернет открылся для публичной торговли, он делал это для более 20 лет. Он присвоил номера, и Интернет-реестр (тогда SRI-NIC, это было расширено до распределенной коллекции реестров по всему миру) опубликовал их.

Последний RFC от SRI, показывающий список назначений интернет-адресов, был RFC 1166 с 1990 года. Это очень длинный список, поэтому не удивительно, что эти данные были перемещены в онлайн-базы данных. Сравнение его с его предшественником RFC 1117 показывает скорость расширения Интернета даже тогда, за годы до того, как он был открыт для публики.

Итак, теперь мы можем немного лучше понять диапазоны адресов в RFC 1918 . Это на самом деле второй пересмотр RFC; первым был RFC 1597, опубликованный почти двумя годами ранее в марте 1994 года. В своем малоизвестном опровержении, RFC 1627, были изложены современные аргументы против частных адресных пространств. RFC 1627 также упоминает, кто назначил три адресных пространства.

Они были назначены IANA, то есть Джоном Постелем, по запросу авторов RFC 1597, и, если верить жалобе в RFC 1627, он сделал это по обратным каналам, а не по обычным открытым процессам. Вы можете видеть, что сам RFC 1597 перешел прямо в статус RFC без обычных предыдущих интернет-проектов, поэтому он также был одобрен по обратным каналам, опять же Постелом, который также был редактором RFC в то время. Поэтому, возможно, никогда не удастся ответить на этот вопрос окончательно.

Теперь о том, почему он выбрал эти три диапазона адресов, позвольте мне обратить ваше внимание на RFC 1166 и 1117 от SRI, которые имели текущие назначения диапазонов IP-адресов. В обоих из них вы заметите, что сеть 10 все еще была выделена для несуществующей ARPANET, которая была закрыта в 1990 году. Постел в роли IANA знал, что этот диапазон больше не используется и может быть переназначен. Я полагаю, что Постел выбрал сеть 10, потому что он знал, что она доступна и не используется.

Точно так же я ожидаю, что Постел выбрал 192.168, потому что, когда он сделал выбор, это была следующая доступная или почти следующая доступная сеть, которая будет назначена из прежнего пространства класса C. Это, вероятно, не может быть доказано так или иначе, но темпы назначения адресов, показанные в RFC, убедительно свидетельствуют о том, что они были бы в этой общей окрестности примерно в 1993-1994 годах, когда были сделаны назначения. (Адреса в 192,159 были назначены в 1992 году. Даты для назначений в 192.160-192.167 недоступны, так как в какой-то момент они были перераспределены в RIPE.)

Ответ на этот вопрос для 172.16-172.31 сложнее. Ничто из того, что я смог найти, не говорит о том, почему был выбран этот диапазон. Насколько я могу судить, назначения в бывшем пространстве класса B еще не достигли такого высокого уровня. Я могу только предположить, что IANA бросила дротик в мишень для дротиков, бросила игральные кости или иным образом вытащила число из его нижних регионов.


Наконец, заметка о Джоне Постеле. Несмотря на очевидный способ, которым этот RFC был полностью сформирован без (первоначального) вклада сообщества, я не хочу подразумевать это, и это не должно быть истолковано, поскольку Джон Постел каким-то образом выполнял роль IANA плохо или несправедливо. Он оказал одно из самых сильных влияний в раннем Интернете, и вы по-прежнему ощущаете это влияние сегодня каждый раз, когда вы получаете представление о закулисном механизме Интернета, но он всегда был обеспокоен правильным выполнением работы. Процитирую из одного воспоминания:

Нет никакой славы в управлении и операциях. Наоборот. Люди замечают, когда это делается плохо, но редко хвалят, когда это делается хорошо. Люди на административных должностях часто становятся мелкими бюрократами. Поскольку в работе так мало вознаграждения, они искусственно делают ее основой власти. Так что это смутило некоторых, кто слышал, как Джон называл интернет-номера "царь". Они не осознавали, что община придала титул Джону из-за привязанности и глубокой признательности за то, что он наведал порядок в основных инфраструктурных услугах. В частности, сообщество использовало этот термин в полном понимании того, что Джон занял свою позицию доверия, а не возможности для личной власти. Мы всегда знали, что его взгляды исходят из законных убеждений, и нам никогда не приходилось беспокоиться о том, что он каким-то образом рассматривает политические или личные преимущества. Мы могли бы не согласиться с ним, но мы всегда знали, что в первую очередь движет заботой о том, что нужно делать правильно.

29

Потому что это имело смысл в то время? :-D

Помните, что когда были назначены диапазоны частных IP-адресов, сетевым инженерам приходилось сталкиваться с рядом проблем: некоторые из самых мощных маршрутизаторов того времени имели примерно столько же ресурсов ЦП и памяти ОЗУ, сколько современные карманные графические калькуляторы - и некоторые из тех, что сегодня по-прежнему вращаются вокруг маршрутизаторов прошлых лет (я помню, когда скорость процессора измерялась в килогерцах, а объем оперативной памяти измерялся в килобайтах, а не в гигабайтах *, как они есть сегодня!). Интернет быстро рос, адресное пространство IPv4 было ограничено, и похоже, что оно будет исчерпано к 2000 году или около того, и так далее. Таким образом, многие диапазоны IP-адресов уже были назначены, и им не нужно было просить компании возвращать диапазоны IP-адресов только для того, чтобы они могли переназначить их на частные диапазоны. Они также хотели попытаться максимально упростить работу компаний с частными диапазонами - лишь немногие компании могли бы сотрудничать, если бы им пришлось вкладывать большие средства в то, чтобы их сети справлялись с одним или двумя десятками диапазонов /IP адреса здесь и там.

Эта часть, по общему признанию, является догадкой с моей стороны, но в значительной степени основана на логике и опыте настройки сетей. Вероятно, они собрали список всех неназначенных номеров сети и искали отличительную схему, которая соответствовала желаемым критериям: один единственный класс A (номера сети, у которых старший двоичный номер 0xxxxxxx в номере сети был классом A), 16 класс B (сетевые номера 10xxxxxx двоичные) и 256 адресов класса C (сетевые номера 110xxxx двоичные). Адреса классов B и C также должны быть последовательными . (Выбор для 16 и 256 был, вероятно, частично произвольным - после того, как вы проделали это какое-то время, вы, как правило, начинаете мыслить в степени 2 - и, вероятно, частично, потому что это было то, что можно было найти, которое было доступно для резервирования.)

Из этого они, вероятно, выбрали окончательные диапазоны из тех доступных адресов, которые позволили бы производителям маршрутизаторов выполнить простой побитовый тест для адреса, чтобы определить, следует ли направить / переслать / отбросить пакет. Есть также некоторые свойства битовых шаблонов, которые, как я вижу, помогают создавать компактные таблицы NAT. Адрес 10.xyz очевиден, поскольку он должен соответствовать только одному номеру сети. От 172.16.yz до 172.32.yz имеет образец, что если вы строите таблицу с четырьмя битами младшего разряда, ссылающимися на четыре бита старшего разряда, весь диапазон заполняет одну строку таблицы, не разбиваясь на две строки - то есть второй октет всегда 0001xxxx (двоичный). В 192.168.yz двоичный код для 168 равен 10101000, то есть младшие три бита всегда равны 0, а старшие 5 бит чередуются 1 и 0.

Хотя это может показаться произвольным, но если вы когда-либо занимались программированием на машинном языке или декодированием микрокодов, шаблоны такого рода позволяют вам тестировать только несколько битов, чтобы сделать частный / публичный выбор без необходимости сначала декодировать весь IP-адрес. Это позволило бы маршрутизаторам быстро обрабатывать такие адреса без необходимости поддерживать обширные таблицы поиска в памяти. Таким образом, маршрутизатор может выдвинуть пакет частной сети обратно в частную сеть, не полностью предварительно расшифровав его, сократив драгоценные такты от скорости маршрутизатора и сети.

Если вам интересно, посмотрите, как последовательная передача данных (например, UART) обрабатывает каждый байт данных: он может отправлять / получать только один бит за раз со скоростью управляющих часов и обычно кадрировать данные в дополнительных битах, таких как биты четности и синхронизации. Было бы слишком много времени пытаться вычислить такие вещи, как четность для целого байта за раз, поэтому вместо этого он поддерживает специальный бит для каждого тактового цикла. Этот бит модифицируется следующим битом, который сдвигается в / из регистра отправки / получения. Как только весь байт отправлен / получен, значение, оставленное в бите четности, уже является правильным без необходимости его пересчета. Концепция более или менее «выполняет работу одновременно с чем-то другим», в случае последовательного чипа он вычисляет четность одновременно с отправкой / получением. Для маршрутизатора / коммутатора вы можете получить более высокую производительность, если он уже декодирует IP-адрес, так как каждый бит адреса поступает из провода, и, возможно, уже знает, куда отправлять пакет, прежде чем он даже будет считан из сети. кабель!

Кроме того, это просто логика / догадки с моей стороны, основанные на 25-летней работе такого рода. Я не знаю, узнаем ли мы когда-нибудь точные причины, по которым выбраны окончательные цифры, так как я не помню никаких документов / RFC / и т.д. когда-либо давать полное обоснование. Самое близкое, что я видел, это лишь некоторые комментарии, в которых предлагается, чтобы выбранные диапазоны позволили компаниям относительно легко и эффективно использовать их с минимальными усилиями / инвестициями / реинжинирингом.

20

В изначальном Интернете сеть, обозначенная 10.0.0.0/8, была выделена для ARPANET. К тому времени, когда IETF и IANA приступили к назначению диапазонов частных адресов, ARPANET уже не функционировал, и его прежнее адресное пространство было доступно для частного использования.

Два других диапазона сделали сети класса B и класса C доступными для частных IP-адресов, в дополнение к вышеупомянутому классу A.

14

Потому что 192 начинается с 11xxxxxx в двоичном формате, что указывает на сеть класса C. Это самое низкое число, которое начинается с двух последовательных 1. Класс A имеет 0 в качестве бита (ов) высшего порядка, а класс B - 10.

RFC 1918, который определяет диапазоны частных IP-адресов, не проясняет этот момент, поэтому нет однозначного ответа на вопрос, почему они выбрали .168 для 16-битного блока, но я полагаю, что это произошло потому, что RFC не был выпущен до 1996 года, после того, как огромное количество регистраций уже состоялось. поскольку 192 является первым 8-битным блоком в распределениях класса C, вполне вероятно, что многие адреса уже заняты. 168, возможно, был первым доступным.

Также имейте в виду, что некоторые из этих выборов являются произвольными. Обратите внимание, что диапазон класса B для rfc1918 составляет 172,16 - 172,31? Я не могу думать о причине 172, но я почти уверен, что они решили использовать 16 классов B, поэтому у них был блок из 1 миллиона смежных адресов (1048576).

Иногда протоколы таковы. кто-то должен был сделать выбор, и они сделали это. какое-то время ядро linux ограничивалось максимум 1024 процессорами на систему, и в конце концов им пришлось выпустить патч, после того как у некоторых суперкомпьютеров возникли проблемы. тот, кто решил использовать 1024, вероятно, не имел для этого веских оснований, кроме того, что ему нужно было значение, а 1024 хорош и округлен.

13

Это остаток Классовой сети, где диапазон адресов IPv4 был разделен на классы:

  • Класс А: 0.0.0.0 - 127.255.255.255 / 255.0.0.0
  • Класс B: 128.0.0.0 - 191.255.255.255 / 255.255.0.0
  • Класс C: 192.0.0.0 - 223.255.255.255 / 255.255.255.0
  • Класс D: 224.0.0.0 - 239.255.255.255 (многоадресная передача)
  • Класс E: 240.0.0.0 - 255.255.255.255 (зарезервировано)

С тех пор мы перешли (в 1993 году) к бесклассовой междоменной маршрутизации, однако классы все еще имеют свое наследие в разных местах (сеть 127 - это «home /loopback» - 127.0.0.1 кто-нибудь ?, 192.168.X является обычным для домашних маршрутизаторов, сеть 10 распространена в более "предприимчивом" сетевом оборудовании, а многоадресная рассылка по-прежнему является многоадресной.

2

В RFC объясняется причина, по которой мы выбрали три диапазона из «Класса A, B и C» соответственно: CIDR был указан, но не получил широкого применения. Там было значительное количество оборудования, которое все еще было "классным".

Насколько я помню, выбор конкретных диапазонов пошел следующим образом:

10/8: ARPANET только что был выключен. Один из нас предложил это, и Джон посчитал это хорошим повторным использованием этого "исторического" адресного блока. Мы также подозревали, что "net 10" в некоторых местах мог быть жестко запрограммирован, поэтому повторное использование его для частного адресного пространства, а не для маршрутизации между AS, может иметь небольшое преимущество, заключающееся в том, что такая глупость остается локальной.

172.16/12: самый низкий нераспределенный /12 в пространстве класса B.

192.168/16: самый низкий нераспределенный /16 в блоке класса C 192/8.

В итоге: IANA распределила это пространство так же, как и для любой другой цели. Будучи IANA, Джон был очень последовательным, если только не было веской причины для творчества.

Даниэль (соавтор RFC1918)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .