The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Эксперимент по реализации http-сервера, взаимодействующего н..., opennews (??), 12-Дек-13, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


25. "Эксперимент по реализации http-сервера, взаимодействующего н..."  +1 +/
Сообщение от annulen (ok), 12-Дек-13, 22:18 
>высокопроизводительного TCP/IP стека, работающей в пространстве пользователя и напрямую взаимодействующей с сетевой картой для отправки пакетов

Эталонная реализация взаимоисключающих параграфов

Ответить | Правка | Наверх | Cообщить модератору

43. "Эксперимент по реализации http-сервера, взаимодействующего н..."  +4 +/
Сообщение от pavlinux (ok), 12-Дек-13, 23:06 
>>высокопроизводительного TCP/IP стека, работающей в пространстве пользователя и напрямую взаимодействующей с сетевой картой для отправки пакетов
> Эталонная реализация взаимоисключающих параграфов

Вот представь, у тя есть колодец с водой. Задача - обеспечить водоснабжение в колхозе!

Варианты:
1. Пущай сами, кому надо, с ведрами бегают.
2. Качать воду в бочки и всем развозить.
3. Организовать насосную станцию, фильтрацию, развести водопровод, всем установить краны.
4. Динамитом, кирками и лопатами распердолить канал и ручейки до каждого дома.

BSD выбрали последний вариант.  


Ответить | Правка | Наверх | Cообщить модератору

56. "Эксперимент по реализации http-сервера, взаимодействующего н..."  +/
Сообщение от анонимус (??), 12-Дек-13, 23:38 
А в чем проблема примапать буфер сетевой карты в память процесса? На лялексе так же можно сделать, просто никто не додумался. Алсо, рут получить через эксплоит хрен получится, эта штука вполне может под обычным юзером работать.
Ответить | Правка | К родителю #25 | Наверх | Cообщить модератору

59. "Эксперимент по реализации http-сервера, взаимодействующего н..."  +1 +/
Сообщение от pavlinux (ok), 12-Дек-13, 23:46 
> А в чем проблема примапать буфер сетевой карты в память процесса?

Прям такой волшебный... Взял и примапил.. :)
  А выравниванием, счётчиками, очередью, само как-нить разрулиться.
Х...ня, что маркеры пакетов превратятся в рандом кашу, главное знать слово примапить.


> На лялексе так же можно сделать, просто никто не додумался.

Google: kernux, khttps, Tux web-server,...

Ответить | Правка | Наверх | Cообщить модератору

74. "Эксперимент по реализации http-сервера, взаимодействующего н..."  +1 +/
Сообщение от metallica (ok), 13-Дек-13, 00:58 
>> А в чем проблема примапать буфер сетевой карты в память процесса?
> Прям такой волшебный... Взял и примапил.. :)
>   А выравниванием, счётчиками, очередью, само как-нить разрулиться.
> Х...ня, что маркеры пакетов превратятся в рандом кашу, главное знать слово примапить.

Вместо формирования sk_buff и передачи его netif_receive_skb() в драйвере,
сами расковыриваем весь трафик, обслуживаем ip, tcp логику.Данные передаём
хендлерам. Возможно придётся фронтендом ставить L4, чтоб упрощать навороты транспортного уровня, для передачи упрощённого варианта доморощенному http/tcp серверу.

Ответить | Правка | Наверх | Cообщить модератору

93. "Эксперимент по реализации http-сервера, взаимодействующего н..."  +/
Сообщение от Хвост (?), 13-Дек-13, 03:07 
То есть пишем свою ОС для этого дела? )
Ответить | Правка | Наверх | Cообщить модератору

107. "Эксперимент по реализации http-сервера, взаимодействующего н..."  +/
Сообщение от Аноним (-), 13-Дек-13, 07:32 
userspace network stack? не?
Ответить | Правка | Наверх | Cообщить модератору

110. "Эксперимент по реализации http-сервера, взаимодействующего н..."  +/
Сообщение от pavel_simple (ok), 13-Дек-13, 09:23 
>>> А в чем проблема примапать буфер сетевой карты в память процесса?
>> Прям такой волшебный... Взял и примапил.. :)
>>   А выравниванием, счётчиками, очередью, само как-нить разрулиться.
>> Х...ня, что маркеры пакетов превратятся в рандом кашу, главное знать слово примапить.
> Вместо формирования sk_buff и передачи его netif_receive_skb() в драйвере,
> сами расковыриваем весь трафик, обслуживаем ip, tcp логику.Данные передаём
> хендлерам. Возможно придётся фронтендом ставить L4, чтоб упрощать навороты транспортного
> уровня, для передачи упрощённого варианта доморощенному http/tcp серверу.

Луиджи же подготовил патчи для linux и даже для ixgbe насколько я ничего не помню -- да там помимо всего мануал -- да и сам патч для сетевых строк в 10.

Ответить | Правка | К родителю #74 | Наверх | Cообщить модератору

84. "Эксперимент по реализации http-сервера, взаимодействующего н..."  +/
Сообщение от Jan Dakinevich (ok), 13-Дек-13, 02:16 
> Прям такой волшебный... Взял и примапил.. :)

Ага, взял и примапил, обычным mmap-ом.

> А выравниванием, счётчиками, очередью, само как-нить разрулиться.

Какие счетчики? Ты мапишь в userspace dma буферы, в которые пишет сетевая карта. Просто бери и разгребай поток ethernet фреймов, по мере поступления. Правда, сделано достаточно дубово, пакеты лежат в буферах по 2К. Но хотелось бы иметь возможность отправлять пакет по кусочкам, например в духе iovec, или вместо фиксированных буферов мапить структуры наподобие ядерных mbuf...

В dpdk пошли еще дальше, мало того, что в userspace замаплены dma буферы, так еще и управление самой картой сделано через uio.

Ответить | Правка | К родителю #59 | Наверх | Cообщить модератору

106. "Эксперимент по реализации http-сервера, взаимодействующего н..."  +/
Сообщение от pavlinux (ok), 13-Дек-13, 05:21 
У меня там другие программы, нафига мне разгребать езернет трафик!
Ты не ломая совместимость запихни свою дату в езернет.
А ты думал, халява чтоль... Хе...
Монопольно забрать посебя девайс и его трахать в буфера ещё в детском саду учат.

Ответить | Правка | Наверх | Cообщить модератору

169. "Эксперимент по реализации http-сервера, взаимодействующего н..."  +/
Сообщение от Jan Dakinevich (ok), 14-Дек-13, 02:34 
> У меня там другие программы, нафига мне разгребать езернет трафик!

Это у тебя, какое мне до тебя дело? Но задача разгребать 40G+ трафик, как несложно заметить, - довольно специфична и не решается влоб штатными средствами, для того и предназначены всякие dpdk и netmap.

Какие там будут другие программы? Похапе с мускулем что ли?

> Ты не ломая совместимость запихни свою дату в езернет.

Совместимость с чем?

> Монопольно забрать посебя девайс и его трахать в буфера ещё в детском
> саду учат.

Ты это intel-у расскажи, а то они, бедолаги, зачем-то понаплодили кода на двести килострок, с lock free буферами, балансировкой нагрузки на ядра... а это, оказывается, детсадовская задача :-D (К слову, большая часть этого код, их же собственные драйвера для FreeBSD)


Ответить | Правка | Наверх | Cообщить модератору

76. "Эксперимент по реализации http-сервера, взаимодействующего н..."  +2 +/
Сообщение от Jan Dakinevich (ok), 13-Дек-13, 01:18 
> На лялексе так же можно сделать, просто никто не додумался.

Ну как, никто не додумался? Intel DPDK, PF_RING... Более того, авторы PF_RING и Netmap знакомы друг с другом.

Ответить | Правка | К родителю #56 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру