Кратко

  • RFC 796 поместила местные идентификаторы хостов, терминалов, процессов и логических хостов в локальную часть 32-битного адреса IP; в некоторых схемах лишний октет заполнялся нулём.
  • За общей формой остались разные свойства: радиохост PRNET мог перемещаться с тем же 16-битным номером, одна машина SATNET могла иметь несколько логических адресов, а поле логического хоста ARPANET оставалось нулём из-за тогдашних ограничений IMP.

У адреса IP тридцать два бита, и на схеме это выглядит почти образцово. Затем радиохост уезжает на другую площадку, а спутниковый компьютер получает несколько логических имён. Место в таблице есть, но что именно там записано? Jon Postel в сентябре 1981 года составил RFC 796, чтобы показать местные адреса под общей оболочкой. Она объединяла сети, не превращая терминал, процесс, подвижный хост и логическое имя в одно и то же существо.

Сначала автор показал три классовых формы. Для класса A после начального бита идут семь битов номера сети и двадцать четыре бита местного адреса. Для классов B и C, после их признаков, доли сети и местного адреса составляют соответственно четырнадцать/шестнадцать и двадцать один/восемь битов. Номер сети указывал, чьи правила нужно открыть. Далее Postel перечислил AUTODIN II, ARPANET, распределённые вычислительные сети, LCSNET, радиосети PRNET и спутниковые сети.

В AUTODIN II 16-битный номер абонента относился к хосту или терминалу и мог выдаваться независимо от местоположения. В 24-битной местной части IP класса A перед ним ставили нулевой октет. У PRNET 16-битный номер хоста тоже не зависел от точки, где тот находился: хосты могли двигаться. Документ перечислял шесть сетевых номеров PRNET. Внешний номер выбирал радиосеть; внутренний номер сопровождал конкретный хост. Километры дороги в эти шестнадцать битов не вписывались.

ARPANET раскладывала свои местные 24 бита по полям хоста, логического хоста и IMP. Они помещались в 24 местных бита IP напрямую. Но IMP тогда ещё не поддерживали логическую адресацию хоста, поэтому соответствующее поле в заголовке сети оставалось нулевым. В экспериментальной EDN использовались сходные поля и та же вынужденная пустота. Наличие места на чертеже не означало готовности действующего оборудования.

Распределённые сети COMSAT и UCL разделяли 16-битный адрес поровну между идентификатором хоста HID и идентификатором процесса PID и ставили перед ними ноль. MIT LCSNET располагала несколькими 32-битными форматами; распространённый переносил в IP нижние 24 бита для подсети, резерва и хоста. Секция COMSAT/UCL хранит собственную опечатку или недосмотр: в тексте названы сетевые номера 29 и 30, а на рисунке первый октет равен 18. Несовпадение нельзя исправить выбором понравившейся картинки; обе записи принадлежат оригиналу.

SATNET давала 16-битный адрес независимо от наземной станции и могла присвоить одному физическому хосту несколько логических адресов. В IP перед местным значением шёл нулевой октет. WBCNET тоже допускала несколько логических адресов у машины, но делила свои 16 битов на номер HAP и местный адрес, а нулевой октет в рисунке IP стоял между ними. Одни и те же нули в соседних схемах не делали схемы одинаковыми.

В семи страницах Postel показал цену аккуратного общего адреса. Нули могли дополнять номер до нужной длины или занимать пока бесполезное поле IMP. Последние биты могли называть процесс, терминал, мобильную радиостанцию или один из нескольких логических адресов машины. Универсальный конверт работал именно потому, что его получатель знал, правила какой местной сети лежат внутри.