Как стать автором
Обновить

Комментарии 30

всё, что нужно знать про http/3:

TCP, который мы использовали с первых дней интернета, не реализуя потенциал максимальной эффективности, поэтому нам и стал нужен QUIC.

Потенциал максимальной эффективности. Видимо, он определяет ток эффективности. Если бы только не сопротивление эффективности...

Тут абзац два раза повторяется вроде как: TCP, который мы использовали с первых дней интернета, изначально был создан не на максимуме эффективности, поэтому нам и стал нужен QUIC. 

поправили, спасибо!

А как для новых протоколов можно стукнуться в сервер, используя минимальный набор инструментов (и имея максимальный контроль над трафиком, для понимания и отладки)? Что-то в духе echo GET / HTTP/1.1 | nc myserver 80

Никак, клиент должен реализовывать quic

Давно пора уходить от TCP к SCTP, но последний почему-то не торопятся реализовать в железе.

А чем он лучше? Тем что у него служебной информациине не меньше, а больше чем в TCP и не масштабируется как QUIC?

Мне кажется, что реализация в железе, это утопия. Никто не будет менять оборудование по всему миру лишь затем, чтобы внедрить новый протокол. У нас IPv6 до сих пор не внедрен, хотя большинство железок уже лет 20 знают о нём.

С QUIC тоже ситуация не однозначная, как писалось в статье, многим промежуточным узлам интересно мониторить трафик.

Да даже если протокол требует реконфигурации оборудования, это, в масштабах мира, уже серьёзно замедлит внедрение

Так прикол в том, что QUIC не требует реконфигурации оборудования.
для всего старого промежуточного оборудования это будет UDP.

UDP не очень жалуют или просто забывают. Если на провайдерах он открыт, то в компаниях, отелях и прочих последних милях администраторы как правило ставят разрешение на соединение 80/443 TCP.

Верно, но вы же не будете давать ссылку https://somesite.com:53/

Есть ещё запреты на SSL/TLS соединение на нестандартные порты. Я часто такую настройку встречаю

Протокол классный, особенно во времена, когда пропускная способность выше крыши, а с пингом нужно бороться.

Один вопрос: как к нему относится роскомпозор?

Не рассказывйте ему о нём.

Снаружи непонятно, что бегает внутри TLS - HTTP/1.1 или HTTP/2. Системы фильтрации видят IP и доменное имя в SNI (если оно не зашифровано). То есть нет никакой разницы для РКН, поддерживает там сервер этот новый модный протокол или нет.

Вы плохо читали статью. В QUIC доменное имя будет шифроваться.
Шифрованию не будут подвергаться только некоторые служебные заголовки QUIC.

На самом деле при 1-RTT handshake в Initial пакете Client Hello передается так же, как и при TLS over TCP. Можно убедиться в этом в Wireshark. А вот дальше почти все данные в QUIC пакетах будут шифрованными.

Интересно как в QUIC решили подойти к реализации выбора сертификатов при наличии TLS vhosts. Стандартный HTTPS передаёт идентификатор хоста в открытом виде. Здесь по другому?
Также, похоже, что реализации политики (структуры) доверия тоже решили не касаться — QUIC это отдаёт протоколу выше — HTTP/3, который, в свою очередь, наследует HTTPS и его набор legacy заплаток (например зашитые сертификаты гугла в хроме и сбор статистики подмены сертификатов там-же). Значит возможность использования корневых сертификатов для MitM дешифрования протокола остаётся.

На самом деле клиент и сервер договариваются об общем списке рандомно генерируемых CID, которые связаны с одним и тем же соединением.

Полагаю, эти списки еще и хранятся в памяти каждого в интервале сессии.
И если для клиента это копейки по ресурсам, то для сервера на множестве соединений это будет ощутимо?
А простота масштабирования QUIC учитывает передачу этих списков между различными нодами веб-приложения?

Не очень. Ну сколько там? Десяток uint128?

Это всего 16 или 24 байта на значение или 160 или 240 байт на клиента.

На 10к одновременных клиентов это будет 2-3 мегабайта памяти.

Думаю речь скорее о 2-3 идентификаторах. По мере исчерпания этот список всегда можно обновить - в протоколе есть фрейм для передачи списка соединений.

Для HTTP/1.1 все довольно просто, потому что каждый файл получает собственное TCP-соединение

Наверное имелся в виду HTTP/1.0
в 1.1 же можно переиспользовать соединение если запрашивать ресурсы последовательно.

Тут же было сказано именно в контексте одновременной передачи

В множестве организаций так или иначе через различные регуляторные требования обязательная норма - мониторить траффик на предмет выявления вирусного трафика, контроля утечек информации и т.п. (см pcidss и иже с ними). Плюс работа web application firewall/IPS тоже завязана на вскрытие/инспекцию содержимого, возможность обрыва нежелательного потока. Как с этим обстоят дела к QUICK?
Последние инициативы в отрасли часто связаны с интересом независимого пользователя (что правильно), но как правило игнорируют интересы корпоративной безопасности. А без этого оно не поедет. Посоветуйте хорошие материалы на эту тему.

Хмм, а все точно уверены, что лучше пухлые пакеты постоянно, для всех, чем новое соединение для единиц, изредка? CID будет намертво приколочен к каждому пакету? А если я не хочу? Вот, знаю я, что у меня все клиенты сидят за стационарниками и не подключаются к сторонним Wi-Fi, можно как-то оповестить сервер, что в пакетах не нужно использовать CID? Или пакет железно побит на зоны с зарезервированным количеством байт под каждую фичу?

Хмм, а все точно уверены, что лучше пухлые пакеты постоянно, для всех, чем новое соединение для единиц, изредка? 

так пишут же, что наоборот, выкидывают из заголовка ненужную для этого пакета инфу

Текс, надо перечитать вдумчиво...

Миграция соединения - это да, заманчиво и как раз про транспорт. Что до переноса шифрования на транспортный уровень - по-моему, это не хорошо.

Когда продолжение?)

Уже в работе, опубликуем в сентябре-октябре.

Только полноправные пользователи могут оставлять комментарии. Войдите, пожалуйста.