nixp.ru v3.0

5 ноября 2024,
вторник,
08:02:28 MSK

25 марта 2015, 15:05

LibOS для Linux — набор патчей для работы сетевого стека ядра в форме пользовательской библиотеки

2
Слайд из презентации LibOS, иллюстрирующий работу сетевого стека в пользовательском пространстве
Слайд из презентации LibOS, иллюстрирующий работу сетевого стека в пользовательском пространстве
Иллюстрация с сайта Slideshare.Net

Разработчики технологии LibOS, позволяющей выносить штатный сетевой стек ядра во внешнюю библиотеку, выполняемую в пространстве пользователя, представили реализацию этой технологии для ядра Linux.

Основная идея LibOS состоит в использовании персонализированных вариантов сетевого стека различными приложениями из пользовательского окружения, что должно упростить тестирование подобного ПО, а также симуляцию сетей со сложной топологией под Linux (так как LibOS позволяет использовать несколько различных вариантов сетевого стека в одном приложении). Разумеется, эта модель допускает и отладку самого сетевого стека в виде пользовательского приложения. В LibOS доступны такие технологии, как TCP, UDP, SCTP, DCCP (IPv4 и IPv6), Mobile IPv6, Multipath TCP (IPv4 и IPv6) и netlink.

Для инициализация LibOS в API для пользовательских приложений предусмотрен вызов lib_init(). На данный момент LibOS используется в двух проектах — в Network Stack in Userspace (NUSE) и в сетевом симуляторе ns-3. Хотя теоретически архитектура LibOS позволяет виртуализировать разные подсистемы ядра, текущая реализация сосредоточена только на сетевом стеке. Исходный код всего проекта libos-nuse доступен на GitHub.

Постоянная ссылка к новости: http://www.nixp.ru/news/13305.html. Aлександр по материалам lkml.org.

fb twitter vk
rgo

Не очень знаю зачем это надо, но круто. :)