Рубрика «tcp»

Браузерная WebRTC трансляция с RTSP IP-камеры с низкой задержкой - 1

По некоторым данным, на сегодняшний день, в мире установлены сотни миллионов IP-камер для видеонаблюдения. Однако далеко не для всех из них критична задержка в воспроизведении видео. Видеонаблюдение, как правило, происходит «статично» — поток записывается в хранилище и может быть проанализирован на движение. Для видеонаблюдения разработано множество программных и аппаратных решений, которые хорошо делают свою работу.

В данной статье мы рассмотрим немного другое применение IP-камеры, а именно применение в онлайн-трансляциях, где требуется низкая коммуникационная задержка.
Читать полностью »

Введение

В 2017 году большинство популярных веб-игр типа agar.io использует для передачи данных WebSockets через TCP. Если бы в браузерах был встроенный UDP-аналог WebSockets, то это бы сильно улучшило работу с сетями в этих играх.

Вводная информация

Работа веб-браузеров основана на протоколе HTTP (протоколе запросов и ответов без сохранения состояния). Первоначально он был предназначен для обслуживания статичных веб-страниц. HTTP работает поверх TCP, низкоуровневого протокола, гарантирующего надёжную доставку и правильный порядок передаваемых по Интернету данных.

Всё это отлично работало многие годы, но недавно веб-сайты стали более интерактивными и перестали отвечать парадигме «запрос-ответ» протокола HTTP. Для решения этой проблемы изобретены современные веб-протоколы, такие как WebSockets, WebRTC, HTTP 2.0 и QUIC, имеющие потенциал значительного улучшения интерактивности сети.

К сожалению, новый комплект стандартов веб-разработки не отвечает потребностям многопользовательских игр или слишком сложен в реализации.

Это вызывает разочарование у разработчиков игр, ведь они просто хотят иметь возможность отправлять и принимать UDP-пакеты через браузер.
Читать полностью »

Измерение пропускной способности узких мест по времени двойного прохода пакета

По всем параметрам, сегодняшний интернет не может перемещать данные так быстро, как должен. Большинство пользователей сотовой связи в мире испытывают задержки от нескольких секунд до нескольких минут: публичные точки WiFi в аэропортах и на конференциях ещё хуже. Физикам и климатологам нужно обмениваться петабайтами данных с коллегами по всему миру, но они сталкиваются с тем, что их тщательно продуманная многогигабитная инфраструктура часто выдаёт всего несколько мегабит в секунду на трансконтинентальных линиях. [6]

Эти проблемы возникли из-за выбора архитектуры, который был сделан при создании системы регулирования заторов TCP в 80-е годы — тогда потерю пакетов решили интерпретировать как «затор». [13] Эквивалентность этих понятий была справедливой для того времени, но только из-за ограничений технологии, а не по определению. Когда NIC (контроллеры сетевых интерфейсов) модернизировали с мегабитных до гигабитных скоростей, а микросхемы памяти — с килобайт до гигабайт, до связь между потерей пакетов и заторами стала менее очевидной.

В современном TCP регулирование заторов по потере пакетов — даже в наиболее совершенной технологии такого рода CUBIC [11] — основная причина этих проблем. Если буферы узких мест слишком большие, то система регулирования заторов по потере пакетов держит их полными, вызывая излишнюю сетевую буферизацию. Если буферы слишком маленькие, то система регулирования заторов по потере пакетов неверно интерпретирует потерю пакета как сигнал затора, что ведёт к снижению пропускной способности. Решение этих проблем требует альтернативы регулированию заторов по потере пакетов. Для нахождения этой альтернативы следует разобраться, где и как возникают заторы.
Читать полностью »

Работа с Народным Мониторингом на Python с Raspberry Pi - 1 Пытаясь подключить свой датчик температуры DS18B20 к своей умной теплице, я обнаружил, что в интернете нет полной инструкции по подключению этого датчика посредством языка программирования Python. Использую его, так как работаю с платформой Raspberry Pi. Я решил эту проблему устранить. Оказывается работать с TCP не так сложно, но нужно понимать, что и для чего мы делаем. Двухчасовой танец с бубном меня явно выбесил. Так что здесь, помимо самой программной части, я хочу рассказать весь алгоритм от начала до конца. Думаю, что другие датчики работают похоже, поэтому большая статьи будет для всех одинакова. Надеюсь, что если вы захотите подключить свой датчик, Вам уже бубен не понадобится:) И так, давайте приступим, прошу Вас под Хаброкат.Читать полностью »

в 14:46, , рубрики: C, c++, modbus, serial, tcp

Modbus — это протокол, который используют поверх TCP сокетов или в RTU варианте поверх работы с Serial портом, или 485 интерфейса насколько это встречалось в моей практике.

Для протокола существуют открытые спецификации на официальном сайте, где подробно разбирается Modbus по составляющим, правда на английском. Modbus нужен, как правило, чтобы читать регистры с устройств, или записывать в них данные, даже по 1 биту, и еще ряд дополнительных свойств. Это может обеспечить взаимодействие программы и устройства, чтобы считать измеренные устройством данные (заряд батареи, показания вольтметра, температуры) и произвести настройку устройства.

Кратко покажу что такое modbus rtu:

unsigned char* response;
response = new unsigned char[8];
ReadFile(hSer, (char*)response, 8, &size, 0);

Так можно прочитать приходящие на сервер запросы modbus rtu. Структура 8 байт. FF это байт.
Может прийти сообщение вида: 02 03 A0 28 00 04 93 2A
Читать полностью »

Ограничение скорости передачи трафика. Policer или shaper, что использовать в сети? - 1

Когда речь заходит об ограничении полосы пропускания на сетевом оборудовании, в первую очередь в голову приходят две технологи: policer и shaper. Policer ограничивает скорость за счёт отбрасывания «лишних» пакетов, которые приводят к превышению заданной скорости. Shaper пытается сгладить скорость до нужного значения путём буферизации пакетов. Данную статью я решил написать после прочтения заметки в блоге Ивана Пепельняка (Ivan Pepelnjak). В ней в очередной раз поднимался вопрос: что лучше – policer или shaper. И как часто бывает с такими вопросами, ответ на него: всё зависит от ситуации, так как у каждой из технологий есть свои плюсы и минусы. Я решил разобраться с этим чуточку подробнее, путём проведения нехитрых экспериментов. Полученные результаты подкатом.Читать полностью »

image

Сегодня компания «Ростелеком» сообщила об отражении атаки ботнета «интернета вещей» на пять крупнейших российских банков. Атака проводилась 5 декабря с использованием TCP SYN Flood. По информации «Ростелекома» пиковая нагрузка составляла 3,2 миллиона пакетов в секунду.

Каких-либо деталей, кроме того, что часть трафика генерировалась с IoT-устройств, провайдер не предоставил. Также была предоставлена общая информация об опасности DDoS-атак и о том, кто уже пострадал от действия злоумышленников, управляющих ботнетами из «интернета вещей». В целом, пресс-релиз «Ростелекома» вызывает больше вопросов, чем ответов.
Читать полностью »

Головоломки TCP - 1

Говорят, что нельзя полностью понять систему, пока не поймёшь её сбои. Ещё будучи студентом я ради забавы написал реализацию TCP, а потом несколько лет проработал в IT, но до сих пор продолжаю глубже и глубже изучать работу TCP — и его ошибки. Самое удивительное, что некоторые из этих ошибок проявляются в базовых вещах. И они неочевидны. В этой статье я преподнесу их как головоломки, в стиле Car Talk или старых головоломок Java. Как и любые другие хорошие головоломки, их очень просто воспроизвести, но решения обычно удивляют. И вместо того, чтобы фокусировать наше внимание на загадочных подробностях, эти головоломки помогают изучить некоторые глубинные принципы работы TCP.
Читать полностью »

Основы компьютерных сетей. Тема №3. Протоколы нижних уровней (транспортного, сетевого и канального) - 1

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

Security Week 33: отключение Secure Boot, сортировка адресатов в GMail, последствия TCP-бага в Linux - 1На этой неделе по ландшафту угроз бурным потоком разлилась река политики. Тема безопасности и так политизирована донельзя, но если вам вдруг кажется, что уже как-то многовато, то спешу вас расстроить. Все только начинается. 13 августа анонимы, скрывающиеся под псевдонимом ShadowBrokers, выставили на продажу арсенал инструментов, предположительно использовавшихся в кибершпионской кампании The Equation. Напомню, исследование этой атаки опубликовали в феврале прошлого года эксперты «Лаборатории», назвав ее «Звездой смерти из галактики вредоносного ПО». Было за что: впечатляет как длительность кампании (с 2001 года, а может и раньше), так и сложность и широкая функциональность инструментов для взлома и кражи данных. Ну и технический уровень заодно, вплоть до помещения вредоносного кода в прошивку жестких дисков.

Распродажа устроена по лучшим стандартам коммерческого делопроизводства: «шлите деньги, а мы подумаем». Но помимо обещаний, в сеть был выброшен набор файлов, явно вырезанный из чьей-то среды разработки: немножко кода, немножко скриптов, документации и так далее. Если не вестись на поводу у СМИ, которые всю неделю обсуждают версии авторства утечки — то, что априори невозможно подтвердить фактами, про ShadowBrokers можно определенно сказать следующее. Во-первых, имплементация алгоритмов шифрования RC5 и RC6 в утечке совпадает с таковой у The Equation. Это позволяет с определенной долей уверенности говорить, что связь между, строго говоря, кодом, обнаруженным в сети сейчас и пару лет назад, имеется. Подробнее с примерами тут. Во-вторых, в утечке обнаружены реальные уязвимости в устройствах Cisco (очень подробно написано у них в блоге) и Fortinet.
Читать полностью »