おきしみみ (oxij) wrote,
おきしみみ
oxij

Category:

SCTP. горькая правда

просвещение.
не так давно увидел публикацию RFC за номером 3286 для SCTP (Stream Control Transmission Protocol), сегодня погрузившись в сурсы и хаки для ipfilter решил его таки прочитать [1]

краткое содержание:
как всем известно, сегодня почти вся информация в сети передается по стеку протоколов TCP/IP, который на транспортном уровне имеет собственно TCP и UDP, которыми и обеспечивается существование современного интернета. кратко говоря первый обеспечивает "безопастную" передачу данных (без потерь), а второй "быструю" не замечая этих самых потерь.
VoIP, потоковое радио и потоковое видео для своих целей обычно используют UDP, потому как потеря 0.01 секунды звука в потоке не столь страшна, как потеря линии разговора.
а HTTP, SSH, POP3... используют TCP...

*однако у этой пары протоколов есть недостатки, например у пакета TCP или UDP все один адресат и один обратный адрес.
*TCP передача ломается, если "ломается" канал, поскольку пакет идет как бы прямолинейно, т.е. по определенному маршруту, если маршрут сломался во время передачи, то пакет передается заново. это медленно.
*как TCP так и UDP байт-ориентированные потоки, т.е. если мы, например хотим выделять некоторые "сообщения" в этих каналах, то программисту приходится писать еще один уровень уже в разрабатываемом приложении.
*поток TCP или UDP монолитен (ну почти, есть "срочные данные", знаю)

так вот протокол SCTP изначально разработанный для VoIP призван решить эти проблемы.
*пакет SCTP может иметь несколько адресатов и несколько обратных адресов (удобно для организации конференций)
*пакет SCTP может передаваться по принципам p2p, что, несомненно, несколько повысит его прожорливость по трафику, зато сведет почти в 0 потери
*SCTP сообщение-ориентированный и не требует лишних уровней обработки
*канал SCTP способен держать в себе потенциально неограниченное количество каналов-детей (удобно было бы сделать ftp на его базе, чтобы не создавать дополнительных соединений для данных)
*SCTP имеет встроенную защиту от Dos-атак, которым подвержены TCP и особенно UDP

т.е. сейчас этот протокол идеален для потокового медиа, а в будущем он может серьезно потеснить пару TCP+UDP и на поприще передачи данных. я прямо так и вижу реализацию torrent-ов на этой базе.

теперь о грустном. реализация этого протокола сейчас есть только в Unix-подобных ОС. мне достоверно известно, что она есть у меня в Linux 2.6 и во FreeBSD. другие системы я не смотрел.
Как известно Майкрoсoфт не собирается делать очередной апдейт для ВинXP, т.к. есть Виста, на которую нужно всех срочно пересадить. И в Висте реализации SCTP тоже нет, но она хотя бы теоретически возможна (в ХП теоретически невозможна).

Чем это грозит? Костылями.
Прямо так и вижу слоган "Хотите качественное VoIP - пересаживайтесь на Висту.", НО Виста - говно и это все знают, Линукса лемминги ("несознательные пользователи") боятся...
Теперь о производителях портируемого софта. Представьте какие встают костыли делать одно и то же для Линуха по SCTP, а для Вин по UDP! Думать страшно... и все из-за того что некоторые компании выпускают что-то недоделанное и не собираются этого доделывать, а некоторые пользователи их в этом поддерживают.
Tags: ip, linux, windows
Subscribe
  • Post a new comment

    Error

    default userpic

    Your reply will be screened

    Your IP address will be recorded 

    When you submit the form an invisible reCAPTCHA check will be performed.
    You must follow the Privacy Policy and Google Terms of use.
  • 15 comments