Любопытная статья, хотя и боковая для этой темы...
habr.com/ru/companies/basis/articles/897224/
Что будет, если не использовать TCP или UDP?
Коммутаторы, маршрутизаторы, брандмауэры — все это устройства, на которых держится интернет. Они перекидывают, фильтруют, дублируют и вырезают трафик такими способами, о которых большинство даже не догадывается. Без них вы бы не смогли прочитать этот текст.
Но сеть — это всего лишь один из уровней. Операционная система тоже играет по своим правилам: классификация, очереди, правила фаервола, NAT — все это влияет на то, что проходит, а что отбрасывается без следа. Каждый слой работает по-своему, и вместе они формируют ответ на вопрос: «А этот пакет вообще можно пропустить?»
Однажды мне стало интересно: а что будет, если отправить пакет с несуществующим транспортным протоколом? Не TCP, не UDP, не ICMP — вообще что-то выдуманное. Пропустит ли его ОС? Дойдет ли он хотя бы до сетевого интерфейса? Не зарежет ли его какой-нибудь промежуточный маршрутизатор? А вдруг он еще и быстрее обычного дойдет, потому что никто не знает, что с ним делать?
Ответа у меня не было. Так что я решил проверить......
И вывод..........
Что я понял
Теоретически — да, можно использовать свой IP-протокол. Но если вы не мазохист — не надо.
Код будет привязан к ОС. Поддерживать это на кросс-платформе — отдельный ад.
NAT, фаерволы, маршрутизаторы — все будет стараться убить ваш пакет. И в большинстве случаев — убьет.
Локально, может, и заработает. В интернете — забудьте.
И главное: никакого выигрыша по задержке за счет использования нестандартного протокола я не увидел.