Рубрика «tcp»

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

Проверка через curl показала, что TLS-соединение устанавливалось и сервер возвращал HTTP 200 OK, но загрузка зависала после первых нескольких килобайт. Причём такое поведение удалось воспроизвести через Билайн, Т2 и МегаФон.

Сначала я подозревал конфигурацию приложения. В итоге дошёл до tcpdumpЧитать полностью »

История о том, как реализовать надежный протокол поверх ненадежного UDP: скользящее окно, SACK, чексумма и почему при потерях сеть внезапно заработала быстрее

Зачем вообще писать свой RDT-протокол? Каждый джун знает, что TCP у нас «надежный, но медленный», а UDP — «быстрый, но ненадежный». Но это очень поверхностные знания, которые не раскрывают всего масштаба происходящего под капотом. И как раз недавно я задался вопросом: а почему бы не попытаться повторить TCP? Амбициозная цель: приблизить своё детище к работе TCP, поработить мир и захватить умы человечества, объединив всех в единый организм… Кхм, ну что-то типа того.

Читать полностью »

Вчера переехал на свой сервер. Сегодня утром обнаружил, что сайт у меня не открывается. Ни из дома, ни с телефона.

Сервер при этом в Москве, у российского хостера. И с ним всё в порядке.

Дальше про то, как я полдня искал причину, какие шесть версий проверил и выбросил, и чем всё кончилось. Если симптомы похожие, в конце готовая методика: что запускать и как читать результат.

Симптомы

Сайт статический, Next.js, отдаётся через nginx. Рядом два Docker‑контейнера: чат‑виджет и API для демок. Сервер 2 CPU, 4 ГБ, Москва.

Что я видел:

Про HTTP/2 и HTTP/3 написано столько, что вопрос кажется закрытым. Включаешь — и всё летает. Так, во всяком случае, рассказывают. Мультиплексирование убирает очередь из запросов, QUIC держится, когда пакеты теряются, рукопожатие укладывается в один круг вместо двух. Звучит складно. И, наверное, где-то так и есть.

Меня эта складность не устраивала. Все графики, на которые я натыкался, были нарисованы на чужих стендах. И почти нигде не говорилось простое: где именно выигрыш исчезает, а он исчезает. Причём в самых обыденных ситуациях — отдаёте один большой файл или сервер с клиентом стоят в одном дата-центре, и всё, новой магии нет.

Читать полностью »

Как интернет ушёл от hosts.txt и почему это было неизбежно - 1

Откройте терминал и выполните cat /etc/hosts. Скорее всего, там лежит пара строк про localhostЧитать полностью »

Это первая (после нулевой) статья из серии Нейро сети для самых маленьких, в которой мы разбираем инфраструктуру для запуска нейронных сетей.

Для обучения и инференса нейросетей и для любых видов High Performance Computing используются специализированные технологии: GPU/TPU, RDMA, Kernel bypass, NVLink, InfiniBand, RoCE и другие. Про некоторые из них большинство только что-то слышали, но сталкиваться с ними не приходилось.

Нельзя просто взять ванильный стек Linux, воткнуть в него 400 Gb Ethernet+IP и получить рабочее решение. Почему?

Читать полностью »

Запустил dpi-checkers на трёх провайдерах, разобрался с методами TCP 16-20 и CIDR-вайтлистами и расскажу, что вообще происходит с вашим трафиком на L4

В последние пару лет любой пользователь рунета научился различать «интернет дома» и «интернет в гостях у бабушки в области». В одном месте YouTube открывается, в другом нет. На одном провайдере Discord работает, на другом висит. Twitter (X) у мобильного оператора на 4G не загружается, а через тот же оператор на проводе идёт нормально. Это ощущается как непредсказуемость, но на самом деле за каждой такой деградацией стоят вполне конкретные технические механизмы — и их можно идентифицировать.

Читать полностью »

Пошаговый разбор того, как ТСПУ анализирует трафик от первого SYN до поведенческого ML. С конкретными числами, реальными алгоритмами и объяснением почему одни протоколы умирают на первом байте, а другие живут месяцами.

Большинство объяснений про DPI звучат так: «система смотрит на пакеты и блокирует плохие». Примерно как объяснить работу компилятора словами «берёт код и делает программу» формально не ложь, но понять из этого что-либо невозможно.

Ниже то, что реально происходит с пакетом от момента выхода с твоего устройства до момента, когда ТСПУ принимает решение. Пошагово, с числами.

Нулевой момент: SYN-пакет

Читать полностью »


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js