Рубрика «tcp» - 8

TCP (Transmission Control Protocol) — основной протокол интернета. Одна из его главных задач — бороться с перегрузками в сети (network congestion), когда возникают заторы из пакетов. Регулирование осуществляется путём подстройки скорости отправки данных, причём для этого существует множество хитрых методов. Например, в Linux используется алгоритм под названием TCP Cubic, а под Windows — Compound TCP. Кроме них, существуют ещё TCP Tahoe, Reno, NewReno, Vegas, FAST, BIC и др.

Специалисты из Массачусетского технологического института разработали программу Remy, которая методом проб и ошибок пыталась улучшить существующие алгоритмы подавления заторов TCP. Результат оказался успешным. Эффективность алгоритмов Remy превысила и TCP Cubic, и Compound TCP, и всех остальных «конкурентов» в различных сетевых условиях. Проблема только в том, что учёные не совсем понимают, за счёт чего именно Remy удалось показать такой феноменальный результат.

Компьютер сгенерировал эффективные, но непонятные человеку алгоритмы ускорения TCP
Читать полностью »

Давеча был свидетелем одного интересного спора о том как же действительно нужно определять IP адрес конечного пользователя из скриптов PHP.
Собственно, каждое слово сабжа отображает действительную ситуацию. Это был религиозный спор обострённый весенней замечательной погодой, в котором, я считаю, не оказалось правых и не правых, но который побудил меня к мини-исследованию и к моему счастью поставил точку в понимании этого конфессионального но по факту очень простого вопроса.
Для тех, кто как и я сомневался был уверен, что во всём разобрался, но боялся спросить лень было разбираться в мелочах — под кат.
Читать полностью »

Многопутевая (multipath) модификация для протокола TCP: первый эксперимент

В TCP/IP мы устанавливаем соединение с определённым IP-адресом, после чего обмениваемся пакетами только с этим адресом. Разработчики нового расширения для протокола Multipath TCP (RFC 6824) предлагают снять это историческое ограничение. По их мнению, использование многопутевой (multipath) модификации TCP упростит использование этого протокола во многих прикладных задачах, таких как прозрачное перенаправление трафика с одного устройства на другое и балансировка нагрузки.

Многопутевая модификация Multipath TCP или MPTCP позволяет легко подключать сервер сразу к нескольким каналам Ethernet, а на смартфоне использовать одновременно WiFi и 3G, да и вообще появляется много других интересных возможностей.
Читать полностью »

Корректное отключение

Для корректного завершения сетевого подключения обе стороны должны послать пакеты с сигналом о завершении (FIN), которые указывают что стороны не будут больше отсылать данные, также каждая сторона должна подтвердить (ACK) получение сигнала о завершении сетевого обмена данными. FIN инициируется когда приложение вызывает метод close(), shutdown() или exit(). После завершения работы метода close() ядро переходит в режим ожидания подтверждения от второй стороны приема сигнала о завершении. Это делает возможной ситуацию когда процесс инициировавший отключение будет завершен прежде чем ядро освободит рессурсы связанные с подключением, и снова разрешит использовать порт для связывания с другим процесоом (в этом случае, при попытке использования порта мы получим исключение AddressAlreadyInUse).

«Address Already in Use» или как избежать проблем при завершении TCP соединения
Читать полностью »

Протокол Railgun для сжатия трафика

CDN-провайдер CloudFlare в прошлом году разработал протокол Railgun для сжатия сетевого трафика. Бинарный протокол, написанный на языке программирования Google Go, передаёт хэши веб-страниц и diff’ы между ними, с поддержкой версионности. После внедрения этой технологии степень сжатия в некоторых случаях достигает 99.6%, что недостижимо с помощью gzip. Сайты 4Chan и Imgur после внедрения Railgun сократили некэшируемый трафик примерно на 50%.

Сейчас компания CloudFlare объявила, что поддержка протокола реализована также у Amazon Web Services и около 30 крупнейших хостинговых компаний. Поставить Railgun теперь как никогда просто: есть плагины для WordPress, Joomla, Drupal и прочих CMS, выпущены пакеты для большинства популярных дистрибутивов Linux и BSD.
Читать полностью »

Приветствую,

Juniper опубликовал PR839412, который описывает уязвимость, существующую во всех версиях JunOS начиная с 7.6R1. Cпециально сформированный TCP-пакет направленный на RE (Routing Engine) маршрутизатора может привести к краху ядра. Деталей о том каким именно должен быть TCP-пакет — не предоставляется. На данный момент известных публичных эксплоитов нет.
Читать полностью »

Здравствуйте, разрешите поделиться своим опытом.

Есть приложения критичные к разрывам связи, переподключение происходит мучительно и вообще не всегда. Поставил перед собой цель, сделать прыжки маршрутов и физических подключений прозрачными, что бы связь была постоянной и TCP коннект не рвался.
Читать полностью »

Ping flooding атака с использованием WinPcap
Читать полностью »

Испытания протокола TCP с линейным сетевым кодированием (TCP/NC)

Инженеры из Массачусетского технологического института под руководством Муриель Медард (Muriel Médard) уже много лет ведут разработку расширения TCP/NC для протокола TCP, с помощью которого можно сохранить максимальную скорость передачи данных в сетях с потерями пакетов. В первую очередь, TCP/NC планируют применять в беспроводных сетях WiFi, где потери пакетов обычно составляют 2-5%, а временами до 10%. Наконец-то дошло дело до реальных экспериментов.

Во время первых полевых испытаний TCP/NC в локальной WiFi-сети общежития МТИ (потеря пакетов 2%) средняя скорость передачи данных по WiFi выросла с 1 Мбит/с до 16 Мбит/с. Тест в поезде на большой скорости (потеря пакетов 5%) показал увеличение скорости WiFi с 0,5 Мбит/с до 13,5 Мбит/с. Это вполне совпадает с теоретическими расчётами.
Читать полностью »

Новое ядро предлагает гибридную резервную функцию, может отрезать питания для «PCI» микросхем и включает в себя новую платформу для пользовательских драйверов. Другие новые функции включают в себя усовершенствования системы безопасности для временного каталога, а также квоты и резервное копирование для «Btrfs».

Линусу Торвальдсу и его товарищам разработчикам потребовалось десять недель, чтобы завершить теперь уже выпущенную версию «Linux 3.6». Новая версия, названная «Terrified Chipmunk», предлагает целый ряд новых возможностей, как для домашних пользователей, так и для профессиональных системных администраторов.

Управление энергопотреблением

Новая функция «Suspend to Both» снабжает «Linux 3,6» гибридным резервным потенциалом. «Mac OS X» и «Windows», предлагали такую функцию в течение некоторого времени. Данная функция позволяет компьютеру во время спящего режима хранить данные, как в оперативной памяти, так и на системном диске. Таким образом, система, которая находится в спящем режиме, как правило, просыпается в течение нескольких секунд, как будто пробуждается от «Suspend-To-RAM» (ACPI S3), однако, если во время спящего режима пропало питание (села батарея), то система восстановит данные оперативной памяти с жёсткого диска, как и после «Suspend-to-Disk» (Hibernate). В нашем коротком тесте с более старенькой системой и жёстким диском ёмкостью в 250 ГБ, «Suspend-to-Both» работал как и предполагалось. Он требовал около 16-ти секунд, чтобы уйти в спящий режим — в четыре раза дольше, чем с «Suspend-To-RAM» и также долго, как это требуется для «Suspend-To-Disk».

Ядро «Linux» версии 3.6 может отправлять Читать полностью »


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