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

Прочитав очередной пост на хабре на тему самоорганизующихся сетей автор понял, что в этой теме до сих пор нет ясности. В большинстве случаев о самоорганизующихся радиосетях говорят «mesh», «ad hoc», «mobile ad hoc» и т.д., подразумевая, что это одно и тоже. И это касается не только простого хабро-обывателя, пусть даже технически подкованного, но и большинства инженеров с PhD. К тому же, зачастую такие сети преподносятся как универсальное средство на все случаи жизни [1] или даже как чуть-ли не единственный вектор развития и эволюции телеком индустрии [2]. Смею уверить, что без четкого понимания места и роли этих сетей, такие утверждения, по крайней мере, преждевременны, хотя и недалеки от реальности.

Итак, начнем с определения, что же такое сети типа Mesh, Ad Hoc, mobile Ad Hoc и в чем разница между ними.

Mesh сети – радиосети ячеистой структуры, состоящие из беспроводных стационарных маршрутизаторов, которые создают беспроводную магистраль и зону обслуживания абонентов) и мобильных/стационарных абонентов, имеющих доступ (в пределах зоны радиосвязности) к одному из маршрутизаторов. Топология – звезда, со случайным соединением опорных узлов.
Ad hoc сети – радиосети со случайными стационарными абонентами, реализующие полностью децентрализованное управление при отсутствии базовых станций или опорных узлов. Топология – фиксированная со случайным соединением узлов.
MANET (Mobile Ad hoc NETworks) сети – радиосети со случайными мобильными абонентами, реализующие полностью децентрализованное управление при отсутствии базовых станций или опорных узлов. Топология – быстро меняющаяся со случайным соединением узлов.
К этому надо добавить WSN (Wireless Sensor Networks) — беспроводные сенсорные (телеметрические) сети, состоящие из малогабаритных сенсорных узлов с интегрированными функциями мониторинга определенных параметров окружающей среды, обработки и передачи данных по радиоканалам. Они могут, в зависимости от задачи, строиться как топологии mesh, ad hoc так и MANET; автомобильные сети VANET (Vehicle Ad hoc NETworks) – сети связи транспортных средств; и всевозможные гибриды вышеизложенного.

Почему именно MANET?

Сегодня подавляющее большинство наземных мобильных беспроводных сетей связи имеют фиксированную инфраструктуру и соединены между собой с помощью различных, как правило проводных или радиорелейных, каналов передачи данных. В последнее десятилетие большое внимание уделяется созданию мобильных пакетных радиосетей, которые не имеют фиксированной инфраструктуры – сети стационарных (Ad Hoc) и мобильных абонентов (MANET).

Такие сети являются самоорганизующимися, поскольку их узлы являются не только оконечными пользовательскими терминалами, но и являются ретрансляторами-маршрутизаторами, ретранслируя пакеты других абонентов и участвуя в нахождении маршрутов к ним, следовательно, эти сети способны к самоорганизации. Такие сети могут состоять из десятков, сотен и даже тысяч узлов. Сфера применения таких сетей достаточно широка. Так, сети MANET полезны в поисково-спасательных операциях, на театре военных действий тактического уровня, местах большого скопления людей (например, для обслуживания участников конференций), и там, где нет телекоммуникационной инфраструктуры (например, в экспедициях в удаленные от «цивилизации» регионы). Возможно, что эти сети во многих случаях могут стать альтернативой массовым сетям мобильной связи.

В противоположность сетям c иерархической структурой и централизованным управлением, одноранговые сети без инфраструктуры состоят из однотипных узлов, где каждый узел обладает комплексом программно-аппаратных средств, позволяющих организовать передачу данных от источника к получателю напрямую при физическом наличии такого пути и тем самым распределить нагрузку на сеть и повысить суммарную пропускную способность сети. Передача данных от одного абонента к другому может происходить, даже в случае если эти узлы находятся вне зоны прямой радио видимости. В этих случаях пакеты данных этих абонентов ретранслируются другими узлами сети, которые имеют связь с корреспондирующими абонентами. Сети с многократной ретрансляцией называются многопролетными или многоскачковыми (multihop). При разработке таких сетей основными проблемами являются маршрутизация пакетов от узла источника к узлу получателю, масштабируемость сетей, адресация оконечных устройств, поддержание связности в условиях переменной топологии.

Таким образом, практическая польза от реализации таких сетей была бы действительно огромна. Начиная от бесплатных звонков внутри такой сети, до восстановления связи в разрушенных стихией районах.
Читать полностью »

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 Мбит/с. Это вполне совпадает с теоретическими расчётами.
Читать полностью »


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