Почему IETF специально выбрал 192.168 / 16 в качестве класса частных IP-адресов?

90

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

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

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

Cornbeetle
источник
32
RFC 1918 не содержит объяснения, почему именно эти сети были выбраны, Акаш. Отсюда вопрос задающего.
JdeBP
1
Я был неправ, потому что не отвечал. Я смог ответить на ваш вопрос почти полностью, опираясь на RFC. Но 1918 не самый важный ответ на вопрос ...
Майкл Хэмптон

Ответы:

89

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

До середины 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 плохо или несправедливо. Он оказал одно из самых сильных влияний в раннем Интернете, и вы по-прежнему чувствуете это влияние сегодня каждый раз, когда вы получаете представление о закулисном механизме Интернета, но он всегда был обеспокоен тем, как правильно выполнять свою работу. Процитирую из одного воспоминания :

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

Майкл Хэмптон
источник
6
Должно быть, это был тяжелый концерт для Джона. Это где мы получаем выражение "Going Postel"? :-p
Тюдор
5
Джон Постел - один из моих давних героев. Он всегда был на заднем плане, заставляя более известных ученых работать вместе для достижения общей цели. Отец интернет-управления.
Фрэнк Томас
4
«До середины 1990-х годов не было много онлайн-знакомств» - не шучу, match.com не был зарегистрирован до 1998 года. Нет? ... я возьму свое пальто.
Аноним
1
Новый пост NANOG подтверждает, что это были обычные «следующие доступные» распределения.
Гравитация
30

Потому что это имело смысл в то время? :-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) обрабатывает каждый байт данных: он может отправлять / получать только один бит за раз со скоростью управляющих тактовых импульсов и обычно кадрирует данные в дополнительных битах, таких как биты четности и синхронизации. Было бы слишком много времени пытаться вычислить такие вещи, как четность для целого байта за раз, поэтому вместо этого он поддерживает специальный бит, который каждый тактовый цикл. Этот бит модифицируется следующим битом, который сдвигается в / из регистра отправки / получения. Как только весь байт отправлен / получен, значение, оставленное в бите четности, уже является правильным без необходимости его пересчета. Концепция более или менее «выполняет работу одновременно с чем-то другим», в случае последовательного чипа, он вычисляет четность одновременно с отправкой / получением. Для маршрутизатора / коммутатора,

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

СМ
источник
6
Это, кажется, не объясняет выбор 168 в частности. Я не вижу причин, по которым 10101000 будет легче декодировать, чем 10101010 или 10101001 - в любом случае нужно сопоставить все 8 битов, прежде чем кто-то узнает, что адрес принадлежит частной сети. Интуитивно кажется более вероятным, что 192.168 был просто первым блоком соответствующего размера, который был доступен, когда было выполнено выделение, чем конкретная битовая комбинация 10101000, так или иначе легче декодируемая, чем другие шаблоны той же длины.
Хеннинг Махолм
@HenningMakholm, современное сетевое оборудование использует много интегральных схем (ASIC), специализированных прикладных интегральных микросхем, которые выполняют обработку входных данных в аппаратном обеспечении. в аппаратном обеспечении может быть реализован простой регистр для проверки общей битовой комбинации, так что для его анализа необходима только одна инструкция по сборке. Я не говорю, что мысли CM - это то, о чем думали дизайнеры rfc1918 (мы не можем знать, потому что они не включили эту информацию), но это интригующая возможность.
Фрэнк Томас
2
@FrankThomas: Вы говорите, что сопоставление для 168 будет проще для создания схемы ASIC, чем сопоставление для какой-либо другой 8-битной константы? Я не дизайнер аппаратных средств, но мне трудно в это поверить.
Хеннинг Махолм
2
В протоколе нет требования к маршрутизаторам обрабатывать эти сети каким-либо особым образом, поэтому почти весь этот ответ не имеет значения. Помните, что RFC 1918 не определял NAT, и предполагал, что эти адреса будут чисто внутренними, и вообще не будет никакого доступа к Интернету. NAT появился несколько позже и не был определен до RFC 2663.
Майкл Хэмптон
2
@ Честно говоря, я давно ничего не сделал с Verilog или VHDL, но я не думаю, что твоя логика верна. По крайней мере, очевидный (и эффективный) способ реализации равенства в оборудовании не заботится ни о каких шаблонах. Есть некоторые ISA, которые могут генерировать только определенные шаблоны для логических непосредственных объектов (ARMv8, чтобы назвать действительно новый), но это все.
Во
21

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

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

user46971
источник
15

Потому что 192 начинается с 11xxxxxx в двоичном формате, что указывает на сеть класса C. Это самое низкое число, которое начинается с двух последовательных единиц. Класс 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 хорош и округлен.

Фрэнк Томас
источник
1
Хороший вопрос. Особенно в сочетании с фоном из поста Дартса Андроида и, возможно, некоторой дополнительной информацией о первых битах других классов.
Хеннес
9
Но почему 192.168?
user253751
14

Это остаток Классовой сети , где диапазон адресов 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 широко распространена в более «предприимчивом» сетевом оборудовании, а многоадресная рассылка по-прежнему многоадресная.

Дарт Андроид
источник
16
Тем не менее, спрашивающий спрашивает, почему именно эти сети в каждом классе были выбраны, как этот человек сделал на другом WWW-сайте, а этот человек - на другом StackExchange , на который ваш ответ не адресован. user46971 ударил гвоздь по голове.
JdeBP
1
Этот ответ SE настолько хорош, что я думаю, что, возможно, этот вопрос следует перенести, а затем пометить как дубликат. Это на самом деле больше о сети, чем об общем использовании компьютера.
trlkly
3

В 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)

Даниэль Карренберг
источник