LINUX.ORG.RU

Udp


9

0

Всего сообщений: 5

Простая и лёгкая реализация UDP/IP для микроконтроллеров

Группа Hardware and Drivers

Ориентирована на применение в системах, где микроконтроллер выступает в роли UDP сервера, с которым извне устанавливает «соединение» клиент (да, само по себе UDP соединений не имеет, я знаю):

  • Библиотека полностью событийно-ориентирована.
  • Не надо писать никаких структур состояния приложения.
  • Нет сокетов – только коллбэки на событие прихода пакета.
  • Всего 890 строчек кода.
  • Поддерживается ARP ответ, ICMP ответ, UDP.
  • Имеет ARP таблицу, заполняемую от входящих IP пакетов. При отправке IP пакета, если MAC адрес не найден, то библиотека шлёт IP с широковещательным MAC.

Не поддерживаются:

  • ARP запросы;
  • ICMP запросы;
  • маршрутизация;
  • DHCP;
  • DNS.

>>> Подробности

 , ,

cvs-255
()

curl 7.66.0: параллелизм и HTTP/3

Группа Интернет

11 сентября вышла новая версия curl — простой CLI утилиты и библиотеки для получения и отправки данных по сети. Нововведения:

  • Экспериментальная поддержка HTTP3 (по умолчанию отключена, требует пересборки с quiche или ngtcp2+nghttp3)
  • Доработки авторизации через SASL
  • Параллельная передача данных (ключ -Z)
  • Обработка заголовка Retry-After
  • Замена curl_multi_wait() на curl_multi_poll(), что должно предотвратить подвисание при ожидании.
  • Исправления багов: от утечек памяти и падений, до поддержки Plan 9.

Ранее разработчик curl Дениел Стэнберг (Daniel Stenberg) выложил пояснения в блоге и 2,5-часовой видеообзор, зачем нужен HTTP/3, и как его использовать. Вкратце — вместо протокола TCP используется UDP с шифрованием TLS. Пока по HTTP/3 работают такие вещи, как: доступ по IPv4 и IPv6, все доступные фичи DNS, обработка заголовков, куки. Не сделаны запросы с большим телом, распараллеливание, тесты.

Проекты на GitHub

>>> Чейнджлог

 , , ,

question4
()

Из ядра Linux удалена поддержка UDP Fragmentation Offload

Группа Ядро Linux

Андрей Коновалов (Andrey Konovalov) нашел с помощью фаззера syzkaller последовательность системных вызовов, которая портит память ядра, если в системе есть хотя бы один сетевой интерфейс с MTU < 65535 и включенной опцией UDP Fragmentation Offload. На самом деле требуется еще право менять опции интерфейса, но его легко получить через непривилегированные пользовательские пространства имен. Они же позволяют создать такой интерфейс, если его не было в системе изначально. Итог: на некоторых ядрах, поставляемых Ubuntu, продемонстрировано повышение привилегий от обычного пользователя до root (CVE-2017-1000112). Проблема существует также в ядрах не от Ubuntu.

David S. Miller в качестве решения проблемы предложил удалить поддержку UDP Fragmentation Offload и выслал соответствующий набор патчей в рассылку netdev. Мотивация: «эту операцию поддерживает очень небольшое число устройств, польза от нее в лучшем случае сомнительна, и эта операция добавляет немало сложности в пути обработки данных». На данный момент патчи приняты в ветку net-next.

>>> Подробности

 , , ,

AEP
()

dnsbalancer — демон балансировки UDP-трафика рекурсивного DNS

Группа Open Source

Компания Ланет Нетворк сделала общедоступным код демона для балансировки UDP-трафика рекурсивного DNS — dnsbalancer. Демон используется для распределения клиентских DNS-запросов между многочисленными рекурсивными DNS-серверами с целью балансировки нагрузки и повышения отказоустойчивости кластера рекурсивного DNS.

Возможности dnsbalancer'а:

  • поддержка IPv4 и IPv6;
  • поддержка множества фронтендов и бекендов одновременно;
  • слежение за доступностью бекендов, игнорирование недоступных бекендов;
  • работа в многопоточном режиме;
  • поддержка правил обработки DNS-запросов с использованием регулярных выражений и выполнением различных действий над клиентскими запросами;
  • ведение статистики по фронтендам, бекендам, типам запросов и задержкам ответов.

Демон способен обрабатывать десятки тысяч запросов в секунду на виртуальной машине с несколькими ядрами. Код демона работает только под управлением ядра Linux версии 3.9 и выше.

>>> Исходный код

 , , , ,

post-factum
()

Вышла новая версия Open Source пакета IPTVProbe для мониторинга IPTV

Группа Linux General

Вышла новая версия бесплатного пакета IPTVProbe – системы мониторинга и контроля качества оказываемых услуг интерактивного телевидения. Добавлена обработка IGMP-запросов, реализовано отображение временных параметров работы с IGMP. Внесены исправления в код, введена новая версия протокола обмена данными с зондами. IPTVProbe распространяется по лицензии GPLv2, GPLv3.

>>> Подробности

 aminet, , ip stb, , , ,

setevoy
()