사용자 공간 네트워킹 스택인 F-Stack 2.0이 출시되었습니다.

Состоялся релиз проекта F-Stack 2.0, развивающего редакцию сетевого стека FreeBSD, адаптированную для обособленной работы в пользовательском пространстве в форме библиотеки. Проект создан крупнейшей в Китае телекоммуникационной компанией Tencent и используется в её продуктах и сервисах. Код написан на языке Си и распространяется под лицензией BSD. Поддерживается работа в Linux и FreeBSD. Проектом также поддерживаются переведённые на использование F-Stack редакции Nginx 1.28 и СУБД Redis 6.2.6, демонстрирующие производительность выше обычных сборок, работающих поверх системного сетевого стека.

F-Stack позволяет задействовать в приложениях собственный локальный сетевой стек, не зависящий от сетевого стека операционной системы, функционирующий в пользовательском пространстве и напрямую работающий с сетевым оборудованием. F-Stack позиционируется как решение, позволяющее повысить производительность обработчиков сетевых запросов в условиях, когда штатный TCP/IP 커널 스택 Linux становится узким местом и ограничивает масштабирование. Теоретически F-Stack позволяет достигнуть потолка сетевой производительности, возможного для используемой сетевой карты, и в некоторых ситуациях даёт возможность в разы увеличить число обрабатываемых мелких сетевых запросов.

Повышение производительности достигается за счёт исключения таких операций, как копирования сетевых пакетов, планирование потоков, обработка прерываний и обращение к системным вызовам. Для взаимодействия с сетевой картой, минуя интерфейсы ядра операционной системы, применяется фреймворк DPDK (Data Plane Development Kit), развивающий набор библиотек для низкоуровневой работы с сетевыми адаптерами. DPDK даёт возможность снизить накладные расходы и уложиться в минимальное число циклов CPU при приёме или отправке сетевых пакетов.

Функциональность стека TCP/IP соответствует сетевому стеку FreeBSD 15 и выделена из данной операционной системы в независимую библиотеку. Для разработки приложений можно использовать стандартный API POSIX (socket, epoll, kqueue) или собственный программный интерфейс на основе микропотоков, упрощающий создание сетевых приложений и позволяющий обойтись без сложной логики асинхронной обработки запросов. Возможно использование с немодифицированными приложениями с загрузкой через LD_PRELOAD.

새 릴리스에서 가장 눈에 띄는 변경 사항은 다음과 같습니다.

  • Компоненты сетевого стека обновлены до состояния FreeBSD 15 (ранее использовался FreeBSD 13).
  • Реализован режим многопоточной работы (thread_mode=1) в одном процессе, дополняющий ранее доступный многопроцессный режим.
  • Добавлен легковесный режим работы (primary_slim), при котором основной процесс выполняет только базовые задачи инициализации и координации работы, а приём пакетов и обработка очередей приёма/передачи (rx/tx) производится только на стороне дочерних процессов.
  • Добавлена поддержка механизма аппаратного ускорения
    TSO (TCP Segmentation Offload) для выноса на сторону сетевой карты операций объединения пакетов, с возможностью отката на программную реализацию. Улучшена поддержка TSO (TCP Segmentation Offload, вынос на сетевую карту обработки сегментов пакетов) для IPv6.
  • Добавлена возможность изменения размера MTU (Maximum transmission unit) и реализована поддержка jumbo-кадров.
  • Расширены возможности управления аппаратным ускорением вычисления контрольных сумм отправляемых пакетов
  • Добавлена функция ff_zc_recv() для получения данных в без промежуточной буферизации (zero-copy). Переработана аналогичная функция ff_zc_send() для отправки. Оптимизирована и дополнена IPv6 지원 функция ff_rss_check().
  • Добавлен опция FF_KERNEL_COEXIST для работы совместно с сетевым стеком ядра.
  • Предоставлена возможность сохранения информации о трафике в pcap-дампах с наносекундной точностью.
  • В config.ini добавлены новые параметры idle_loop_interval, extra_eal_args, drain_ring_size, reload_heartbeat_timeout_ms и reload_udp_idle_ms.
  • В специализированной сборке nginx реализована поддержка перезагрузки конфигурации и обновления бинарного файла без разрыва соединений (graceful_reload=1).

출처 : opennet.ru

DDoS 보호, VPS VDS 서버가 있는 사이트를 위한 안정적인 호스팅 구입 🔥 DDoS 공격 방지 기능이 탑재된 안정적인 웹사이트 호스팅, VPS 및 VDS 서버를 구매하세요 | ProHoster