С тех пор прошло более 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 решали несколько лет и закончили переписывать код ядра лишь в этом году.
Больше интересных материалов в нашем корпоративном блоге: