Почему Инженерная рабочая группа по Интернету (IETF) выбрала 192.168/16
класс частных IP-адресов, а не что-то другое?
Почему конкретно 192.168/16
и 10/8
и 172.16/12
и не 145.243/16
к примеру?
Есть ли причина, по которой эти IP-адреса были выбраны в качестве стандарта для частных IP-адресов по всем другим возможностям?
networking
ip-address
Cornbeetle
источник
источник
Ответы:
Я знаю, кто выбрал эти диапазоны адресов. К сожалению, он мертв, поэтому я не могу спросить его, почему он выбрал их, но я могу сделать некоторые хорошо обоснованные предположения.
До середины 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 плохо или несправедливо. Он оказал одно из самых сильных влияний в раннем Интернете, и вы по-прежнему чувствуете это влияние сегодня каждый раз, когда вы получаете представление о закулисном механизме Интернета, но он всегда был обеспокоен тем, как правильно выполнять свою работу. Процитирую из одного воспоминания :
источник
Потому что это имело смысл в то время? :-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 / и т.д. когда-либо дать полное обоснование. Самое близкое, что я видел, - это лишь некоторые комментарии, в которых предлагается, чтобы выбранные диапазоны позволили компаниям относительно легко и эффективно использовать их с минимальными усилиями / инвестициями / реинжинирингом.
источник
В изначальном Интернете сеть, обозначенная 10.0.0.0/8, была выделена для ARPANET . К тому времени, когда IETF и IANA занялись назначением диапазонов частных адресов, ARPANET уже не функционировал, и его прежнее адресное пространство было доступно для частного использования.
Два других диапазона сделали сети класса B и класса C доступными для частных IP-адресов, в дополнение к вышеупомянутому классу A.
источник
Потому что 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 хорош и округлен.
источник
Это остаток Классовой сети , где диапазон адресов IPv4 был разделен на классы:
С тех пор мы перешли (в 1993 году) к бесклассовой междоменной маршрутизации , однако классы все еще имеют свое наследие в разных местах (сеть 127 "home / loopback" - 127.0.0.1 кто-нибудь ?, 192.168.X является общим для дома маршрутизаторы, сеть 10 широко распространена в более «предприимчивом» сетевом оборудовании, а многоадресная рассылка по-прежнему многоадресная.
источник
В 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)
источник