Еще один RTP — можно ли [и нужно ли] заменить HTTP
На технологических площадках обсуждается потенциальная [очередная] альтернатива HTTP для передачи крупных файлов. Мы решили обсудить, о чем идет речь и что может предложить новый протокол, который только начинает «обрастать» спецификацией.

Новые эксперименты
Альтернативный протокол называется RITP (Reliable Immutable Transfer Protocol). Его предложил разработчик под ником binarycat. Изначально протокол носил имя RTP, но оно было изменено, чтобы избежать путаницы с другими протоколами с похожими аббревиатурами вроде Real-time Transport Protocol (используется для трафика реального времени) и Reliable Transport Protocol (компонент маршрутизации EIGRP).
По словам автора, новый протокол — это попытка обойти некоторые особенности реализации HTTP. Во-первых, HTTP слишком гибкий: механизмы детекции ошибок и восстановления опираются на опциональные заголовки, из-за чего реализация требует нескольких слоёв fallback-решений. Во-вторых, в работе HTTP возможны коллизии (mid-air collisions). RITP же предлагает альтернативу с более строгими правилами обработки.
Суть предложения
RITP представляет собой протокол с сохранением состояния (stateful). Он напоминает 9P, используемый для организации взаимодействия компонентов операционной системы Plan 9. По мнению автора, выбор в пользу stateful был сделан потому, что stateless-решения расходуют пропускную способность, раз за разом пересылая одни и те же данные.
Запросы и ответы в RITP имеют три обязательных поля: длина сообщения, его тип и токен, указывающий на принадлежность к цепочке сообщений (бэтч). Токены уникальны в рамках соединения. Изначально запросы на установление соединения использовали URN, но их заменили на мультихеш. Стандартные команды и ответы описаны в драфте RITP.
Мнения и критика
Проект привлёк внимание пользователей Hacker News, которые обсудили инициативу в тематическом треде. В целом сообщество назвало идею интересной с концептуальной точки зрения, но усомнилось в необходимости разрабатывать замену HTTP.
Один из участников обсуждения ранее пытался разработать «упрощённую версию HTTP», но пришёл к выводу, что после добавления базовых функций результат всё равно напоминает минимальную реализацию HTTP-запроса. Он отметил, что возможный прирост в производительности не оправдывает сложность разработки. Он также добавил: «Я не вижу, как stateful-протокол может быть проще, чем HTTP/1.1 с range-запросами».
Но даже если предположить, что протокол «приживется» в экосистеме, он рискует остаться нишевой историей — инструментом для узкого круга энтузиастов. И его массовое внедрение под вопросом, поскольку HTTP хорошо справляется с передачей крупных неизменяемых файлов. Кроме того, все серверы и устройства поддерживают HTTP, а высокая производительность достигается оптимизацией клиентских приложений.
При этом помимо критики, были и рациональные предложения с целью улучшить базовую спецификацию. Например, добавить поле length в ответы READ, что позволит клиенту загружать части файла параллельно из нескольких источников.
Больше попыток
Стоит признать, что альтернативные протоколы появляются с некоторой регулярностью. И это, в каком-то смысле, воплощение сюжета комикса xkcd-927 в жизнь.

Так, в 2022-м Джон Аустерхаут, учёный в области информатики и создатель языков Tcl и Tk, опубликовал научную работу под названием «Пришло время заменить TCP в дата-центрах». В ней он утверждает, что проблемы TCP в дата-центрах неразрешимы.
В качестве примера одной из проблем автор приводит балансировку нагрузки и предлагает использовать принципиально новый транспортный протокол — Homa. Аустерхаут также выступает одним из его авторов и даже работал над реализацией Homa в ядре Linux. Однако, как признает сам Аустерхаут, замена TCP маловероятна. Главные препятствия — стандартизация и массовое внедрение. И если кто-то и решит сделать первый шаг, это обязательно должна быть большая компания — интернациональный ИТ-гигант, за которым последуют другие, менее значимые организации.
Что еще почитать
Почему IPv6 быстрее и как его внедрить — рассказываем о преимуществах протокола и темпах его внедрения в СНГ, а также делимся собственным кейсом реализации поддержки IPv6 и DualStack IPv4/IPv6 на уровне оператора связи.
Перспективы 6G и системный подход к мобильным сетям — это подборка открытых материалов (от книг и исследований до аналитических разборов) по Mobile Edge Computing, архитектуре мобильных сетей и принципам беспроводной связи.
Сетевые технологии с нуля — это еще одна подборка книг и материалов, которые помогут разобраться в основах данного направления. В списке — руководства и открытые источники, которые пригодятся начинающим специалистам.
Кто и для чего строит сети IPv6. Ранее мы обсуждали, как идёт миграция на протокол нового поколения. В этой статье рассказываем о проектах по развертке сетей в форматах Mostly-IPv6 и Only-IPv6. А также для каких целей эти сети строят.
Что думают регуляторы по поводу ограничений на загрузку данных из интернета. В мире интерес к этой теме увеличивается — регуляторы расследуют злоупотребления ограничениями на загрузку контента. Обсуждаем мнения телекомов, правозащитных организаций и других участников сообщества.