Кратко

  • В статусном разделе RFC 1105 от июня 1989 года сказано, что реализации Border Gateway Protocol уже существовали для маршрутизаторов Cisco и узловых систем коммутации NSFNET. Общедоступная версия для gated ещё разрабатывалась. Документ не сообщает, сколько систем использовали протокол и каков был масштаб обмена маршрутами.
  • В июне 1990 года RFC 1163 и RFC 1164 совместно определили BGP как предлагаемый стандарт и прямо указали, что опыт эксплуатации может изменить протокол до получения статуса полного интернет-стандарта. Таким образом, сведения о реализациях появились до этого этапа стандартизации.

Историю протокола часто излагают как последовательность: организация публикует спецификацию, поставщики её реализуют, затем операторы внедряют. RFC 1105 показывает менее прямой порядок. Его статусный раздел уже называет две среды реализации в июне 1989 года, тогда как третья, общедоступная версия для gated, ещё создавалась. Этот RFC не является переписью внедрений: в нём нет номеров версий, объёмов трафика, перечня площадок или результатов испытаний. Но это прямое свидетельство современника о том, что BGP реализовывался одновременно с подготовкой первой спецификации.

Речь шла о маршрутизации между автономными системами. RFC 1105 описывает BGP как способ обмена сведениями о доступных сетях и автономных системах, через которые пройдёт трафик. Данные о пути могли помогать обнаруживать петли маршрутизации и принимать решения о политике на уровне AS. В документе сказано, что проект опирался на опыт EGP и магистрали NSFNET. Спецификация формировалась рядом с уже действующей практикой, а не на пустом месте.

Механизмы первой версии тоже показывают, что проект оставался предварительным. В сообщении OPEN было поле типа связи: оно классифицировало отношение между соседями как внутреннее, восходящее, нисходящее или горизонтальное в иерархии AS. В сообщениях UPDATE вместе с номерами AS передавались коды направления. Протокол мог просматривать список AS для обнаружения петель, а сама иерархия предполагала определённый способ описания отношений между сетями. Это черты первой спецификации, а не полное описание современного BGP.

В июне 1990 года RFC 1163 заменил RFC 1105, а RFC 1164 описал применение протокола в Интернете. Вместе они определяли предлагаемый стандарт. Их статусная формулировка особенно важна: опыт эксплуатации мог привести к изменениям, а разработчиков реализаций призывали сообщать о своих результатах. RFC 1163 ввёл обязательный атрибут AS_PATH, перечисляющий автономные системы, через которые нужно пройти к объявленным сетям. Изменились и представление пути, и место протокола в процессе стандартизации.

Эти документы не доказывают, что конкретная реализация Cisco или NSFNET вызвала определённое изменение. Они не связывают каждую редакцию с отзывом конкретного разработчика. Они подтверждают более узкую последовательность: реализации существовали в 1989 году; спецификацию пересмотрели в 1990-м; тексты стандартизации признавали, что эксплуатационный опыт может повлиять на дальнейшую работу. Позднее RFC 1266 изучал эксплуатацию BGP, но его отчёт о внедрениях 1991 года относится к отдельной теме, уже освещённой отдельно.

Записка Хэн Лу № 65 «Running-Code Primacy» задаёт редакционный вопрос: что работающая реализация может показать такого, чего не видно в бумажном предложении? Это оптика для чтения, а не исторический источник о BGP или IETF. Первичные документы позволяют ответить лишь в ограниченных пределах: к июню 1989 года работа над реализацией стала достаточно конкретной, чтобы попасть в RFC; в июне 1990 года проект всё ещё считался изменяемым. Источники не доказывают всеобщего внедрения, надёжности, коммерческого успеха или прямой линии от BGP-1 к современному BGP. Они фиксируют период, когда код и спецификация могли развиваться параллельно.

Источники