«Шутки ради»: пара занимательных RFC

26
Формат RFC существует с 1969 года — его представили во время обсуждения ARPANET. Тогда инженер Стив Крокер написал RFC 1 о работе программного обеспечения хоста.

С тех пор прошло более 50 лет, но Request for Comments все еще в ходу — опубликовано ~9 тыс. документов по сетевым протоколам, моделям хранения данных и алгоритмам шифрования.

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


Фото — Braydon Anderson — Unsplash
 

RFC 8771


Здесь описана интернационализированная сознательно нечитаемая сетевая нотация (I-DUNNO). По словам авторов, документ призван внести баланс в следующую ситуацию:

В начале 80-х была представлена DNS. Она сделала доступ к сетевым ресурсам удобнее, но инженеры «по-прежнему вторгаются» в сферу коммуникаций machine-to-machine: читают и вручную прописывают IP-адреса. Задача I-DUNNO — воспрепятствовать этой деятельности и, наконец, закрепить работу с адресами за вычислительными системами.

I-DUNNO использует кодировку UTF-8, чтобы обфусцировать IP-адреса и усложнить их чтение для человека. Кодовые точки представлены октетами в количестве от одного до четырех, а сама последовательность включает как минимум один символ, запрещенный IDNA2008.

В качестве примера авторы RFC 8771 приводят трансформацию IPv4-адреса 198.51.100.164. Сперва его записывают в виде 32-битной строки:
 
11000110001100110110010010100100

Затем переводят в символьную форму:
 
1100011 -> U+0063 (буква c)
0001100 -> U+000C (символ смены страницы form feed)
1101100 -> U+006C (буква l)
10010100100 -> U+04A4 (кириллическая заглавная лигатура «нг»)
 
Алгоритм обратного преобразования не указан, так как «компьютеры знают, что делать, а люди не должны даже пробовать».
 

RFC 8774


В этом документе описаны особые ошибки, которые возникнут в квантовых сетях будущего. Информация в них передается по оптоволоконным кабелям с помощью кубитов — поляризованных фотонов. Автор RFC 8774 пишет, что после массового внедрения таких сетей, значение времени передачи пакета сможет равняться нулю. Этот факт приведет к сбоям в интернете, так как классическая сетевая инфраструктура и протоколы не рассчитаны на работу с таким таймингом.

К ситуации 0-RTT подготовлены лишь несколько протоколов: TFO, TLS 1.3 и QUIC. Многие другие будут работать с ошибками — квантовыми багами.


Фото — Umberto — Unsplash

В протоколе Multipath TCP для оценки пропускной способности вычисляется значение alpha. На одном из этапов необходимо поделить на RTT, что невозможно при круговой задержке равной нулю. В свою очередь, протокол LEDBAT, используемый Apple и BitTorrent, начнет передавать пакеты максимально быстро и засорять канал, хотя должен ограничивать нагрузку на сеть.

Чтобы решить проблему, автор RFC 8774 предлагает начать с составления полного списка протоколов, подверженных квантовым багам. В качестве референса можно использовать RFC 2626 — о проблеме 2000 года. Затем останется обновить весь ненадежный код. Этот процесс может затянуться, учитывая, что проблему 2038 года для Linux решали несколько лет и закончили переписывать код ядра лишь в этом году.
 

Больше интересных материалов в нашем корпоративном блоге:

«Нашел, увидел, получил»: необычные приглашения на собеседование
Группа разработчиков предлагает перейти на UTF-8
Как развивалась система доменных имен: эра ARPANET
Подборка книг по кибербезопасности