From c7641be189d325a80e5b710252a506af3e7aaab1 Mon Sep 17 00:00:00 2001 From: Sergey Matveev Date: Sun, 16 Oct 2022 13:00:06 +0300 Subject: [PATCH] =?utf8?q?=D0=A1=D1=82=D0=B0=D1=82=D1=8C=D1=8F=20=D0=BF?= =?utf8?q?=D1=80=D0=BE=20WebRTC?= MIME-Version: 1.0 Content-Type: text/plain; charset=utf8 Content-Transfer-Encoding: 8bit https://habr.com/ru/company/oleg-bunin/blog/660693/ Эх, количество абсолютно безграмотных и неверных утверждений зашкаливает настолько, что рекомендовать статью невозможно. * "Именно поэтому высокоскоростные транспорты часто реализуют поверх UDP протокола". Как же часто я стал, после стандартизации QUIC и HTTP/3 видеть подобные бредни. Люди видят что UDP более лёгкий и поэтому передавать данные по нему можно эффективнее и типа именно поэтому появился HTTP/3 который так лучше работает на смартфонах в условиях WiFi и сотовой связи. Хочется и написать чем оно не верно, но понимаю что смысла нет, ибо любые базовые прочтения даже Wikipedia на тему UDP и TCP у вменяемого человека должны всё поставить на свои места. А RTC, как и весь VoIP, использует UDP только по причине низкой задержки и ненужности гарантированной доставки, что вроде бы очевидно должно быть * "Вообще, NAT еще обеспечивает приватность и делает всякие хорошие штуки." Ну как мне после этого хоть что-то положительное можно сказать про автора? * "При установке WebRTC-соединения вы сначала пробуете TURN, потом STUN." -- наверное зависит от конкретного WebRTC, но вообще-то официальный от Google делает как-раз наоборот. Делать TURN изначально -- даже нелогично, ибо это очень ресурсоёмкая операция, да и TURN сервер в общем случае не обязан присутствовать * "Чтобы решить эту проблему, используют лайтовую версию TLS" -- это вот в каком месте DTLS "лайтовее" чем TLS??? Я больше осведомлён только про DTLS 1.3, но это вообще то самый пресамый обычный TLS, к которому наоборот добавлены дополнительные поля и более сложная машина состояний, плюс с дополнительными ACK-пакетами. Что что, но DTLS это более усложнённая версия TLS со всех точек зрения * Ничего не сказано про то, что SRTP/SRTCP трафик отправляется ВНЕ DTLS соединения. Точнее всё сказано так, что RTP/RTCP как-будто работают аналогично SCTP внутри DTLS * "Напомню, что WebRTC data channels работают поверх UDP. Это более легковесный протокол, чем TCP, и скорее всего используя его, вы получите выигрыш по скорости." -- рехнуться можно от такого заявления. Data channels это SCTP поверх DTLS UDP датаграм. SCTP существенно более громоздкий, сложный и навороченный протокол чем TCP. И это я закрываю глаза на то, что оно поверх DTLS ещё. * "Возникает вопрос, а чем это лучше Websocket? Ответ: WebSockets работает поверх TCP, поэтому может быть медленнее" -- окончательное понимание того, что автор абсолютно не сведущ в причинах использования UDP. Просто ужас * Про работу с кодеками уже почти ничего не читал -- 2.50.0