The OpenNET Project / Index page

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



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

"Выпуск сетевого стека F-Stack 1.24, выполняемого в пространстве пользователя"  +/
Сообщение от opennews (?), 19-Окт-24, 22:22 
Опубликован сетевой стек F-Stack 1.24, представляющий собой  редакцию сетевого стека FreeBSD, работающую в пространстве пользователя и использующую фреймворк DPDK для достижения максимальной производительности. Проект создан крупнейшей в Китае  телекоммуникационной  компанией Tencent и используется в её продуктах и сервисах. Код написан на языке Си и распространяется под лицензией BSD. Поддерживается работа в Linux и FreeBSD...

Подробнее: https://www.opennet.ru/opennews/art.shtml?num=62076

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

Оглавление

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


4. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +4 +/
Сообщение от Аноним (4), 19-Окт-24, 22:56 
Т.е. они сп-ли сетевой стек freebsd, скомпилив его под dpdk'шную ebpf (или что там еще) фигню? И оно в юзерленде через две прослойки и три прокладки оказалось быстрее чем оригинальный стек линукса?

Ну ооок...

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

6. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +4 +/
Сообщение от 1 (??), 19-Окт-24, 23:08 
ну я так понимаю что переключений контекста не происходит, так как все в userland
Ответить | Правка | Наверх | Cообщить модератору

30. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +/
Сообщение от нах. (?), 20-Окт-24, 10:23 
Угу, доступ к прямому управлению сетевой картой - в userland. Ага, дайте две.

(FreeBSD 20 лет назад - accf_http, accf_data. Чтобы отдавать в юзерленд готовые структуры данных конкретного приложения, а не по одному пакету с неизвестным содержимым (который может вообще придется выбросить и захлопнуть сокет - и это уж точно можно сделать прямо в ядре). Л@п4@тые сегодня: отдадим raw ethernet frames и управление регистрами сетевухи. Так - тооочно быстрее!

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

35. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +1 +/
Сообщение от Аноним (-), 20-Окт-24, 11:50 
> (FreeBSD 20 лет назад - accf_http, accf_data. Чтобы отдавать в юзерленд
> готовые структуры данных конкретного приложения

С тех пор http немного поубавил популярности.

>  raw ethernet frames и управление регистрами сетевухи. Так - тооочно быстрее!

Китайцам то? С GFW? Зачем им твой хттп, вот проксю или впн зобанить - это да, тема. Приложеньки у них специфичные.

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

44. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +/
Сообщение от нах. (?), 20-Окт-24, 20:44 
> С тех пор http немного поубавил популярности.

с тех пор и ktls завезли. А у больших у многих все по прежнему, кстати - шифрование выполняется специальными ящиками на границе периметра (где, кстати, уже можно плевать на переключения контекстов, все равно все пожрет - само шифрование). Внутри сплошь http - по многим причинам. У самых альтернативно-пряморуких там даже http2 (не спрашивай зачем).

> Китайцам то? С GFW?

зачем бы gfw nginx и redis?

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

А эти либо хостят, либо массовый клауд либо еще что подобное. Вполне себе белое и пушистое.

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

58. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +/
Сообщение от Аноним (-), 21-Окт-24, 22:30 
> (где, кстати, уже можно плевать на переключения контекстов, все равно все
> пожрет - само шифрование). Внутри сплошь http - по многим причинам.
> У самых альтернативно-пряморуких там даже http2 (не спрашивай зачем).

Ну вот кстати процы сейчас довольно резвые - и шифрование в общем то тоже. И да, гугол возлюбил всякие 25519 и ChaCha как раз поэтому, даже в TLS прожал вроде на этой почве.

>> Китайцам то? С GFW?
> зачем бы gfw nginx и redis?

Эти то наверное низачем. А вот отдать пакеты переростку в юзермоде на пожевать - вполне. И он вполне может быть 1 задачей на всю железку - цель его существования это пакости по сети, больше оно ничего и не умеет. Зато, вот, крупным оптом.

> gfw скорее уж как раз целиком в пространстве ведра реализован будет -
> чего ему там обрабатывать, сверяй по табличке с новыми указаниями партии,

Он немного не так работает. Подозрительные хосты - могут подвергать допустим активному пробингу. Вот тут цербер заподозрил - что это серв впн. А правда - такой впн, или просто пакеты так сложились? Ответил на хендшейк того впна? Добро пожаловать в баню! Не ответил? Ложняк, вычеркивается.

> и блочь. Не будет успевать сверять - ну сделают на асиках,
> у плохой дороги такого есть.

Асик тебе хендшейк впн не смогет активным пробингом прочекать. Особенно васянского какого-нибудь. Ты будешь асик под каждого васяна с новым впн перепекать? :)

> А эти либо хостят, либо массовый клауд либо еще что подобное. Вполне
> себе белое и пушистое.

Или, вот, массовая анализировалка и пакостилка трафика. С этих станется.

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

52. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +/
Сообщение от Аноним (52), 21-Окт-24, 13:08 
Причем, если вы думаете, что это только в Linux все так печально, то ошибаетесь!

Windows тоже годами переходит на сетевой стек FreeBSD. Microsoft выкинул все старые наработки по сетям и начал этот переход активно с Server 2016/Windows 10. Результаты там были еще хуже чем с Linux...

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

55. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +/
Сообщение от randomize (?), 21-Окт-24, 16:30 
Из *BSD невозможно ничего сп-ть - читай лицензию.
Ответить | Правка | К родителю #4 | Наверх | Cообщить модератору

7. Скрыто модератором  +4 +/
Сообщение от Аноним (7), 19-Окт-24, 23:08 
Ответить | Правка | Наверх | Cообщить модератору

11. Скрыто модератором  +/
Сообщение от Аноним (11), 20-Окт-24, 02:40 
Ответить | Правка | Наверх | Cообщить модератору

31. Скрыто модератором  +/
Сообщение от Аноним (7), 20-Окт-24, 10:41 
Ответить | Правка | Наверх | Cообщить модератору

8. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  –1 +/
Сообщение от Ivan_83 (ok), 19-Окт-24, 23:26 
Интересно они осилили RACK или оно только с дефолтной TCP реализацией работает?
Ответить | Правка | Наверх | Cообщить модератору

53. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +/
Сообщение от Аноним (52), 21-Окт-24, 14:12 
Вроде смогли еще в версии 1.22, но я не могут точно сказать насколько этот функционал FreeBSD Only.

Вообще, на уровне ядра RACK работает только во FreeBSD и Windows, остальные ОС CUBIC-и мнут себе.

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

9. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +/
Сообщение от Аноним (-), 20-Окт-24, 00:07 
Файрвол в нём можно настроить?
Ответить | Правка | Наверх | Cообщить модератору

15. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +/
Сообщение от Аноним (15), 20-Окт-24, 04:44 
На полянке HFT станет ещё теснее?
Ответить | Правка | Наверх | Cообщить модератору

19. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +3 +/
Сообщение от Ember (?), 20-Окт-24, 08:12 
Это же какой bullshit из себя представляет Linux, что проще портировать сетевой стек(!) из другой ОС, чем исправить нативный.

Я теперь не вижу ничего удивительного в том, что никто не в состоянии починить tty. Видимо, там такая помойка, что всё попросту развалится, если пошевелить.

Серверная система без без консоли и сетевого стека... Позорище, что тут ещё сказать.

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

20. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +5 +/
Сообщение от Аноним (20), 20-Окт-24, 08:30 
F-Stack быстрее и при работе во FreeBSD. Переключение контекста очень затратная операция. С тем же успехом можно было бы вынести в userspace библиотеку сетевой стек Linux, но стек Linux раздут и притянут к куче разных подсистем, а TCP/IP стек FreeBSD и ядро FreeBSD заметно проще, предсказуемее и меняются не так интенсивно.

Сравните https://github.com/freebsd/freebsd-src/tree/main/sys/net и https://github.com/torvalds/linux/tree/master/net

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

28. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +1 +/
Сообщение от Аноним (28), 20-Окт-24, 09:32 
по факту этот ваш комментарий как монолог Тони "Пуля в зубах" из снетча. "Только ты попутал, и никакой демонстрации годности бсд систем здесь нет."
Ответить | Правка | Наверх | Cообщить модератору

38. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +1 +/
Сообщение от Ember (?), 20-Окт-24, 11:57 
Само существование F-Stack является прямой демонстрацией годности *BSD. Ну или негодности Linux, как тебе больше нравится.
Ответить | Правка | Наверх | Cообщить модератору

36. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +/
Сообщение от Аноним (-), 20-Окт-24, 11:52 
> сетевой стек Linux, но стек Linux раздут и притянут к куче
> разных подсистем,

Тем не менее в линухе уже есть варианты без переключения контекста... и сисколы куда как эффективнее стали, там батчинг, чтоли, под нагрузкой делается и проч. И zerocopy во все поля :)

А сравнить - достаточно фаер в линухе и фаеры в бсд. Сразу видно где просто позор какой-то.

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

39. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +/
Сообщение от Ember (?), 20-Окт-24, 12:01 
Бла, бла, бла и бла. Сколько маркетингового порожняка. На деле же линуксовый сетевой стек вместо с его убогим nftables без шансов сливают фряшным аналогам.
Ответить | Правка | Наверх | Cообщить модератору

42. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +/
Сообщение от Аноним (-), 20-Окт-24, 19:48 
> Бла, бла, бла и бла. Сколько маркетингового порожняка. На деле же линуксовый
> сетевой стек вместо с его убогим nftables без шансов сливают фряшным аналогам.

И чему именно nftables сливает? И кому из? Он так то довольно шустрый, фичастый, с неких пор умеет офлоад flow в fast path, скипая большую часть процесинга, умеет всякие забавные вещицы... вон там борцы за ютуб из него аж контр-DPI вылепили.

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

54. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +/
Сообщение от Мне хватает (?), 21-Окт-24, 14:34 
Такой обширный список железа умеет hw offload, красота
Ответить | Правка | Наверх | Cообщить модератору

60. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +/
Сообщение от Аноним (-), 21-Окт-24, 22:35 
> Такой обширный список железа умеет hw offload, красота

Он и SW офлоад умеет - примерно так же по смыслу: после того как flow посчитан подлежащим пропуску, можно заскипать большую часть процессинга и отпуливать пакеты в софтварный вариант fast path. Это имеет свои особенности - но в целом работает.

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

46. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +/
Сообщение от Anonimous (?), 21-Окт-24, 07:35 
Где? По новостям и по вакансиям линукс везде побеждает. У вас какой-то свой мир где у линукса нет шансов?
Ответить | Правка | К родителю #39 | Наверх | Cообщить модератору

48. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +/
Сообщение от Аноним (48), 21-Окт-24, 09:19 
afair, во фре нет даже аналога
-m string
Ответить | Правка | К родителю #39 | Наверх | Cообщить модератору

45. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  –1 +/
Сообщение от нах. (?), 20-Окт-24, 20:46 
> Я теперь не вижу ничего удивительного в том, что никто не в
> состоянии починить tty.

а раньше типа не догадывался?
> Видимо, там такая помойка, что всё попросту развалится,
> если пошевелить.

в том который kms'ный псевдотекстовый - именно так все и есть. (а другого в новых модных линуксах и не положоно иметь)

> Серверная система без без консоли и сетевого стека... Позорище, что тут ещё

ну не то чтобы уж совсем, но да, с замысловатыми...

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

62. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +/
Сообщение от Аноним (-), 21-Окт-24, 22:42 
> в том который kms'ный псевдотекстовый - именно так все и есть. (а
> другого в новых модных линуксах и не положоно иметь)

Вообще то там основной факапище - подсистема VT. И таки - ее - вот - пришлось таки малость отрефакторить. Невзирая на боль и ужас. PREEMPT_RT вон тем хотелось. Да, умение в гарантии RTOS это достаточно сильная замануха чтобы поднапрячься. И это хотят довольно толстые коты, типа автомотивщиков всяких, индустриалов и прочие (около)эмбедовочные.

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

47. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  –1 +/
Сообщение от microcoder (ok), 21-Окт-24, 08:10 
> Это же какой bullshit из себя представляет Linux, что проще портировать сетевой стек(!

С чего ты взял? Быстрее не значит секьюрней. Как только начнут докручивать этот F-Stack для реальных задач он станет в несколько раз тормознее. Это обычная практика.

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

21. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +1 +/
Сообщение от YetAnotherOnanym (ok), 20-Окт-24, 08:38 
А откуда ядро знает, кому отдавать фрейм, если оно его не обрабатывает?
Ответить | Правка | Наверх | Cообщить модератору

24. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +/
Сообщение от Аноним (20), 20-Окт-24, 09:07 
А оно и не знает, отдаёт отдельный TCP/IP стек в userspace, обращающийся напрямую с сетевой картой.


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

34. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +/
Сообщение от нах. (?), 20-Окт-24, 11:47 
никак, сетевуха монопольно занята ЭТИМ вот. Если тебе нужно к примеру управление - подключай рядом вторую.

Т.е. ВСЕ вообще фреймы отдаются вот туда, без разбора и обработки. (там вроде бы как-то можно потом вернуть необработанное обратно ведру, но это неточно, да и эффективность понятно какая)

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

37. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +/
Сообщение от Аноним (-), 20-Окт-24, 11:54 
> никак, сетевуха монопольно занята ЭТИМ вот. Если тебе нужно к примеру управление
> - подключай рядом вторую.

А in-band послать данные управления своей приложухе религия в принципе не прзволяет? Или ты даже и близко не надеешься уметь это секурно? :)

> Т.е. ВСЕ вообще фреймы отдаются вот туда, без разбора и обработки. (там
> вроде бы как-то можно потом вернуть необработанное обратно ведру, но это
> неточно, да и эффективность понятно какая)

А зачем тебе какая-то убер эффективность в управлении, которого by design мизер?

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

56. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +/
Сообщение от Аноним (56), 21-Окт-24, 17:22 
Почитай как работает DPDK, VPP, DMA
Ответить | Правка | К родителю #21 | Наверх | Cообщить модератору

57. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +/
Сообщение от YetAnotherOnanym (ok), 21-Окт-24, 18:30 
Этот совет я и сам кому угодно дать могу.
Ответить | Правка | Наверх | Cообщить модератору

22. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +5 +/
Сообщение от username (??), 20-Окт-24, 08:54 
Забавная получается ситуация: во фряху тащат фреймворки для облегчения портирования доайверов из линукса, а в линукс тащат целые подсистемы из фряхи, ибо фряха отличная ОС без драйверов, а линукс отстойный, но с дровами.
Ответить | Правка | Наверх | Cообщить модератору

27. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +/
Сообщение от Аноним (27), 20-Окт-24, 09:17 
Не, просто лицензия пермессивная.
Ответить | Правка | Наверх | Cообщить модератору

25. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +1 +/
Сообщение от Аноним (27), 20-Окт-24, 09:15 
А что не сразу PF_RING?
Ответить | Правка | Наверх | Cообщить модератору

26. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +3 +/
Сообщение от Аноним (27), 20-Окт-24, 09:16 
>Проект создан крупнейшей в Китае телекоммуникационной компанией Tencent и используется в её продуктах и сервисах

В "файрволе" что ли?

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

33. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +1 +/
Сообщение от Аноним (-), 20-Окт-24, 11:47 
> за счёт исключения таких операций, как копирования сетевых пакетов,
> планирование потоков, обработка прерываний и применение системных вызовов

Поздравляю, применительно к Linux половина этой копипасты на данный момент уже не актуальна. Букмарки надо апдейтить иногда, дорогой автор.

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

40. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +1 +/
Сообщение от Аноним (40), 20-Окт-24, 12:20 
На сайте F-Stack  написано, что актуально: Therefore, kernel bypass can avoid performance bottlenecks caused by kernel packet copy, thread scheduling, system calls and interrupt.
Ответить | Правка | Наверх | Cообщить модератору

43. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +1 +/
Сообщение от Аноним (-), 20-Окт-24, 19:49 
> На сайте F-Stack  написано, что актуально: Therefore, kernel bypass can avoid
> performance bottlenecks caused by kernel packet copy, thread scheduling, system calls
> and interrupt.

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

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

41. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  –3 +/
Сообщение от Аноним (41), 20-Окт-24, 16:57 
Чтобы это работало быстро, по идее надо вместо preemptive multitasking делать cooperative multitasking.

Тогда никаких тебе неожиданных прерываний посередине дорогой операции. "Отдам управление, когда закончу."

Вообще не знаю на счёт стека Фряхи, но я смотрел своими глазами на стек Опёнка и Линукса, и, ну, типа, Опёнок сильно пахнет девяностыми, а А Линукс в целом, вполне ничего, хотя и малость заумно.

Хотя мне тоже непонятно, зачем сетевая подсистема в ядре. Ядро, по хорошему, должно только давать гипотетическому networkd облать памяти, mmap'нутую на сетевую карту, и всё. Можно даже просто mmap на /dev/networkcard0.

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

50. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +/
Сообщение от Соль земли (?), 21-Окт-24, 10:19 
Пили. Прогонишь потом тесты, если будет быстрее/удобнее.
Ответить | Правка | Наверх | Cообщить модератору

49. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +/
Сообщение от Соль земли (?), 21-Окт-24, 10:03 
Хм, кто бы мог подумать, что отказ от прерываний и системных вызовов увеличить производительность.
Ответить | Правка | Наверх | Cообщить модератору

63. "Выпуск сетевого стека F-Stack 1.24, выполняемого в пространс..."  +/
Сообщение от Аноним (-), 21-Окт-24, 22:47 
> Хм, кто бы мог подумать, что отказ от прерываний и системных вызовов
> увеличить производительность.

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

К сожалению подстава в том что система становится по сути однозадачной, а работа в стиле MSDOS в XXI веке впечатляет не всех. Хотя в случае многоядерных процов возможны варианты. Ну вот выделить ядро под окучивание сети. И хрен с ним что оно в полку занято, других навалом же есть. Рассматривайте его как очень жирный и программируемый DMA-автомат :)

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

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

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




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

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