LINUX.ORG.RU

Что нового в сетевом стэке Freebsd 5.3


0

0

Andre Oppermann создал презентацию, в которой понятным для сетевых администраторов языком описал главные новинки в сравнении с Freebsd 4. Главный сюрприз для линуксоидов: теперь Freebsd способна роутить 1 миллион пакетов в секунду, в то время как Linux не дотягивает и до 100 тысяч. Анонс новости: http://lists.freebsd.org/pipermail/fr...

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

★★★☆

Проверено: Demetrio ()

> Главный сюрприз для линуксоидов: теперь Freebsd способна роутить 1 миллион пакетов в секунду, в то время как Linux не дотягивает и до 100 тысяч.

chucha, ну ты что! Сейчас красноглазые сделают из нас краснояйцых. Чисто так, из ярости.

phicus
()

Бугага, линукс на двойном оптероне делает 1.3 миллиона, старушка фряха отдыхает.

anonymous
()
Ответ на: комментарий от anonymous

phicus    (*) (06.09.2004 16:30:47)
anonymous (*) (06.09.2004 16:30:47)

Здорово. Отправили одновременно, а неанонимный комментарий появился
первым! Максим, у тебя что, приоритеты постов учитываются ? ;)

phicus
()

2 сетевки e100, firewall на ~100 правил, самописный модуль учета трафика с выдачей в формате a la netflow на машинке 1Ггц Celeron роутил 130к пакетов в секунду (предел). Как это не дотягивает до 100к?))

anonymous
()

Новость провакационная. Но то что они свой стэк исправили в конце-концов, это хорошо. Посмотрим, сколько времени понадобится Микрософту чтобы перенести это в новые винды или сервис-пак. :)))

alt-x ★★★★★
()
Ответ на: комментарий от phicus

У тебя фряха тормозит :)

Другой А.

anonymous
()

Когда Ханс запостил первые бенчмарки reiser4 в lkml год с чем то назад, которые били ext3 в разы, Andrew Morton ответил:

"...я ща подкручу в ext3 одну гайку и она будет бить reiser4"

Так оно и было :) Это я к тому что linux не может делать 1млн. :)

Banshee
()
Ответ на: комментарий от chucha

и какие сетевки они юзали и компилили ли их с поддержкой polling'а.

anonymous
()
Ответ на: комментарий от anonymous

А при чем тут reiser3. Я про reiser4 говорил. Он к v3 никакого отношения не имеет. Даже разработчики были другие (кроме двух).

А во время v4 разработки был такой момент.

Banshee
()
Ответ на: комментарий от anonymous

А ты не думаешь что с тех пор reiser4 значительно улучшили? Так же как и reiser3 (почти все патчи от Mason-a вошли), опять таки green делал кое какие улчшения.

Кроме того я же не сказал на каких операциях он сливал. Просто поведал такой забавный факт, а ты прицепился ;)

Banshee
()
Ответ на: комментарий от Banshee

Ничего забавного не вижу в том, что на ext3 плоская распаковка большого количества файлов(около 65 тыс.) занимает в 10 раз больше времени, причём основное время в ядре!

anonymous
()
Ответ на: комментарий от anonymous

А мне всё равно сколько пакетов в секунду передаётся... Главное что мой cel-600 умудряется прокачивать 10 Мбайт (не Мбит) в секунду с загрузкой проца 2-3 процента. Ну пусть тут будет 10000000 / 1500 = 6666 пакетов. Думаю прокачает и ещё кол-во пакетов увеличинное на 20 (запас проца позволяет) только мне этого не надо... А чтоб от всеких червей защищаться, которые генерят немерянное кол-во пакетов есть другие способы. Хотя ладно, кто бы подсказал, с помощью чего мерить нужно сколько максимум прокачает пакетов Linux. Какой прогой можно сгенерить 1000000 тыс пакетов в сек?

anonymous
()
Ответ на: комментарий от phicus

> Максим, у тебя что, приоритеты постов учитываются ?

я за него:) Помниться раньше кроме секунд еще микросекунды писались. Они вряд ли куда-то делись, просто не показываются.

dilmah ★★★★★
()
Ответ на: комментарий от anonymous

>Как это не дотягивает до 100к?))

По ссылке написано, что не позволяет роутить намного больше, чем 100к пакетов, а не то, что не дотягивает до 100к.

Sorcerer ★★★★★
()
Ответ на: комментарий от anonymous

А представь себе что на рутере 4 интерфейса по 100 Мб плюс 5 интерфейс в гигабит... Интерестно как оно потянет... Хотя для рашки это из разряда фантастики

ntimmy
()
Ответ на: комментарий от ntimmy

>А представь себе что на рутере 4 интерфейса по 100 Мб плюс 5 интерфейс >в гигабит... Интерестно как оно потянет... Хотя для рашки это из >разряда фантастики > >

ну почему же у меня хьюлетовский сервак с 3мя 1 гигабит интерфейсами... под линухом... что-то парева не наблюдал....

G_Luck
()
Ответ на: комментарий от Poh

похоже красноглазые появились и в бсдишном комунити.... из серии рекламы мелкософта "гет зе фактс...." /me плакаль...

anonymous
()
Ответ на: комментарий от Banshee

Знаешь, кто такой Jamal Hadi Salim?
Это товарищ, который вместе с Кузнецовым, Миллером и Гарзиком написли(переписали) сетевой стек в 2.4(хотя Гарзик больше по драйверам).
А Роберт Олсон вместе с Джамалом пропихнули netlink в ietf draft.

Цитата из письма Джамала:
Guess didnt take too long for those BSDers to post on slashdot.
It would be nice for someone to install freebsd and verify the claims
on the routing aspect.
Anyone in Ottawa with BSD expertise drop me a note - I have access to
measurement equipment (and really dont wanna touch BSD if i can avoid it).

cheers,
jamal

PS: We can certainly do better than that on Opterons. Robert
reports a 1.3 Mpps rate on a dual opteron 1.6Ghz. Our numbers on Xeons
are less than 1Mpps. But we can let an old OS like BSD beat us, can we 
now ? ;->

On Sun, 2004-09-05 at 05:46, Tomasz Torcz wrote:
>  Hi,
> 
>  reading Slashdot I'm sutmbled upon presentation of FreeBSD new
> features:
> http://people.freebsd.org/~andre/FreeBSD-5.3-Networking.pdf
> 
>  It look pretty interesting (e.g. tcphostcache), especially they claim
> that FreeBSD on 2.8 GHz Xeon can route 1Mpps.
> 
>  Original slashodt story:
> http://bsd.slashdot.org/article.pl?sid=04/09/04/133253

anonymous
()
Ответ на: комментарий от anonymous

P.S. Это я к тому, что Banshee не знает, что говорит(я про сеть, а не про reiser vs ext), и не может доказать, что Linux не может делать 1Mpps :)

anonymous
()
Ответ на: комментарий от ntimmy

> Хотя для рашки это из разряда фантастики
с чего бы? у нас в BGP-рутере стоит 4 GE+ 1G.703, в приницпе одну 2xGE можно поменять на на 4xGE но пока нет необходимости
а 4x100 - это всего лишь 1 D-link за ~100 USD и 4xGE - Intel за ~350 USD.

mumpster ★★★★★
()
Ответ на: комментарий от anonymous

Хм, это я зря на Банши наехал, ты уж извини :)

anonymous
()

Товарищи, PC архитектура просто не в состоянии обработать нормально 1000000 пакетов. Почему ? А все просто, 100 мегабитная сетевая карта способна пропустить до 148800 мелких кадров в секунду, и 8129 больших, с большими проблем не наблюдается до тех пор пока это позволяет PCI (133mb/c) и связка южный-северный мост. Но как только дело доходит до мелких кадров ! тут уже не все так просто ! требуется перелопатить на 1 сетевой интерфейс по 148800*2(фулдуплекс)*20(заголовок IP если есть опции то и поболее) данных, подсчитать контрольную сумму, вписать ее назад. Но это только этапы операций на сетевом уровне ! а канальный ! А обернуть это все в кадр ? вписать макадреса, посчитать контрольную сумму для кадра (в зависимости от БСТ). Теперь прикинте сколько требуется тактов процессора для обработки такого количества операций. Пусть даже операции канального и МАС(Media Access Control) подуровня производятся аппаратно сетевым интерфейсом, но нагрузка на систему всеравно не маленькая. Если они столько могут перелопатить видать они не моджифицируют заголовок при маршрутизации - всмысле не меняют TTL тогда поверю и то с трудом :-)

Уф...

Просто ради интереса перемкните свич чтобы образовалась цепь с зацикленым ARP запросом :-) Относительно слабые машины гордо встанут, только не забывайте что при широковещательной рассылке нагрузка на свич тоже не маленькая задействуйте только 3-4 порта:-)

Barzzzer

anonymous
()
Ответ на: комментарий от anonymous

Полнейший бред.

133*2*64 = 17Гбит (133 mhz, 2 - по спаду и возрастанию фронта, 64 - размерность шины)

17гбит/1500 = 11мегапакетов, т.о. шина справляется.

Берем память - в Linux сетевой буфер никогда не копируется(ну если нет например skb_checksum_help(), которая вызывается из тормозных iptables).

Берем процессор - для PPro/P2 имеем 111 инструкций, из которых в цикле(размер пакета/4) выполняется(в зависимости от размера, точнее его кратности) от 20 до 80 инструкций. Даже при простом неоптимизированном сложении мы получим 1500/4 ~ 400 тактов на пакет. Пусть частота процессора - 1Ггц 1Ггц/400 ~ 2.5 мегапакета.

Очевидно, что все не так радужно, ибо системе нужно еще что-то делать... Поэтому умные люди придумали checksum offloading, что позволяет полностью снять самую продолжительную работу с процессора.

Теперь здесь уже будет выступать ограничивающим фактором сама сеть, т.е. провода.

P.S. Barzer в курсе, что уже есть 10Гбитные интерфейсы, там что получается, тоже нет одного мегапакета? jumbo frame вроде как только до 9кбайт добрался.

anonymous
()
Ответ на: комментарий от anonymous

> Товарищи, PC архитектура просто не в состоянии обработать нормально 1000000 пакетов.

Одна PCI-X шина - 133х64 Мбита/сек в пределе. Это получается 133*8/56 = 19 Mpps. Дальше проблема только в эффективности кода: кто меньше тактов на пакет израсходует, тот и победит.

baka-kun ★★★★★
()
Ответ на: комментарий от anonymous

> 133*2*64 = 17Гбит (133 mhz, 2 - по спаду и возрастанию фронта, 64 - размерность шины)

Класная математика :)

Особенно про

>, 2 - по спаду и возрастанию фронта

:) :) :)

На текущий момент в спецификации PCI есть 4 варианта

1. 33MHz/32bit ~1Gbit/s(max) 2. 33Mhz/64bit ~2Gbit/s(max) 3. 66Mhz/32bit ~2Gbit/s(max) 4. 66Mhz/64bit ~4Gbit/c(max)

При ентом шина PCI является мултиплексируемой (адрес/данные), что создает дополнительные задержки и уменьшает произаодительность на 10-50%

Изучайте спецификации!

Даже если поднять частоту до 133Mhz на 64bit получим не более 8,5Gbit/c.

Теперь 8500/8/64=16.6015625 Kпакета/с (64байта минимальный езернет пакет).

Вот и получается: На платформе PC невозможно получить производительность в 1М пакетов в секунду !!!!

P.S. про PCI Express Слышал но спецификачии не читал. для моих задач и PCI 33/32 вполне достаточно

anonymous
()
Ответ на: комментарий от anonymous

Сори Прошытался 8500/8/64=16.6015625 Mпакета/с ;)

Но нам такое пока не светит Модет через пару лет ;)

Да и то енто при минимальном размере пакета! Нафига оно нужно ?

разве что строить сети ATM over Ethernet :)

А в реале получаем 4000/8/1000=0,5 Mпакета/с в лудшем случае при реальной работе :)

anonymous
()
Ответ на: комментарий от anonymous

>третий райзер до сих пор екст3 уделывает, где твоя подкрутка? data=ordered убери и она станет работать по тому же принципу, что и рейзер. Скорость должна увеличиться.

jackill ★★★★★
()
Ответ на: комментарий от anonymous

> Сори Прошытался 8500/8/64=16.6015625 Mпакета/с ;) Но нам такое пока не светит Модет через пару лет ;)

Кому не светит? У меня даже на раутерах PCI-X есть. Да и машинок с чем-то отличным GbE я уже давно не видел.

В любом случае, кто там говорил, что архитектуре PC даже 1Mpps не светит?

baka-kun ★★★★★
()
Ответ на: комментарий от baka-kun

И Вы хотите сказать шо Ваши рутеры постоянно ( периодически ) работают под нагрузками 1Mppc ?

Если не сикрет ЧЕМ они занимаются ?

Ну хотаб приведите цифры из вашей жизни

Рутер А, X - GbE Загрузка первого XXX Mb/c XX Kppc .....

Кстати если на спидометре у газели написано 120 км/ч ето не значит шо ее можно разогнать до етой скорости

Дахе с горы ;)

Даже с высогой ГОРЫ :)

anonymous
()
Ответ на: комментарий от anonymous

> И Вы хотите сказать шо Ваши рутеры постоянно ( периодически ) работают под нагрузками 1Mppc?

Где я это хочу сказать? Я лишь говорю, что для _архитектуры_ это вполне возможно. А еще я говорю, что уже _давно_ не видел машинок (даже офисных) с чем-то кроме гигабит-езернета на борту.

> Рутер А, X - GbE Загрузка первого XXX Mb/c XX Kppc

100Мбайт/сек через маршрутизатор видел, вот только pps не мерял. Opteron 242, 2xIntel GbE, FreeBSD 5.3-BETA. Обкатываем помаленьку. К новому году большинство FreeBSD машинок на оптероны перейдет, вероятно. Хостинги, почтари, маршрутизаторы... Линуксов у нас нет. Да и киски с джуниперами никто менять не собирается ;)

baka-kun ★★★★★
()
Ответ на: комментарий от anonymous

> Просто ради интереса перемкните свич чтобы образовалась цепь с зацикленым ARP запросом :-)

перемкну. Spanning Tree, один порт остановит. ;)

ivlad ★★★★★
()
Ответ на: комментарий от anonymous

> P.S. про PCI Express Слышал но спецификачии не читал. для моих
> задач и PCI 33/32 вполне достаточно

Ее Intel в свои серверные платформы уже год, как пихает...

AS ★★★★★
()

Прикольно, вообще... Такое впечатление, что работа стека к таймеру привязана... :-) А я вот готов спорить, что линуксовый стек и 20 милионов пакетов сделает... И если кто захочет оспорить - проиграет.

Блин, ну НЕЛЬЗЯ такие о таких вещах без привязки к железке говорить. Какой бы не был хреновый код, если привязки к таймеру не будет, повышение произвоительости достигается просто железкой. Ну и что, что сейчас нет такой, чтобы 20M PPS обеспечить ? Ну будет через год или через десять...


Так что вот. О какой железке речь, но которой BSD дает 1M PPS, а Linux не дает 100K PPS ? И это... А где там про миллион ? Что-то я только про миллион маршрутов в таблице увидел (что, кстати, тоже не плохо вовсе). Вот это уже может без привязки к железке заявляться.


AS ★★★★★
()
Ответ на: комментарий от anonymous

> PCI 33/32
на текущий момент есть 6 варианто - ещё есть pci-x и pce.
плюс pci-x как правило разъёмы - в отдельных сегментах а на гроздьями по 3-4 штуки как в сатром pci.
эта, удобнее мерять в гигабайтах. pci-x - 1066 гбайт/с max на 100мгц.
так что макс. пр-ть - 533 мбайт /с (карточек-то две!).
=>533/64=~8млн пакетов/с. при условии что система ничего дуругого не делает. реально получается 3-4.

mumpster ★★★★★
()
Ответ на: комментарий от mumpster

Ерунда!

Показатель упирается в пропускную способность сети.

anonymous
()
Ответ на: комментарий от anonymous

> И шо Вы будете утверждать что чтение производится по обоим фронтам синхроимпульса ???

Может он сетевухи в разъемы памяти вставлял Ж-)) Пусть раскажет че перепаять надо я тоже хочу попробовать.

x86 ★★
()
Ответ на: комментарий от anonymous

Вот вам скорости PCI и PCIX (кстати, я выше писал про PCIX):

Arbitration            Conventional PCI       PCI-X Mode 1           PCI-X Mode 2
Arbiter Monitoring Bus No                     YES                    YES
                       Conventional PCI       PCI-X Mode 1           PCI-X Mode 2
Transfer Rates
                       32-bit bus, 64-bit bus 32-bit bus, 64-bit bus 16-bit bus, 32-bit bus, 64-bit bus
33 MHz                 133, 266 MB/sec        Not Supported          Not Supported
66 MHz                 266, 533 MB/sec        266, 533 MB/sec        133, 266, 533 MB/sec
100 MHz                Not Supported          400, 800 MB/sec        200, 400, 800 MB/sec
133 MHz                Not Supported          533, 1066 MB/sec       266, 533, 1066 MB/sec
266 MHz                Not Supported          Not Supported          533, 1066, 2133 MB/sec
533 MHz                Not Supported          Not Supported          1066, 2133, 4267 MB/sec
Transaction Types      Conventional PCI       PCI-X Mode 1           PCI-X Mode 2
Memory                 Supported              Supported              Supported
I/O                    Supported              Supported              Supported

anonymous
()

chucha: А где вы по ссылке привёдёной нашли про миллион пакетов в секунду?? Я вижу только про 1.2 миллиона правил. Подскажите страницу.

Viper
()
Ответ на: комментарий от ntimmy

>А представь себе что на рутере 4 интерфейса по 100 Мб плюс 5 интерфейс > в гигабит... Интерестно как оно потянет... Хотя для рашки это из > разряда фантастики

У меня 5 100Mb/s сетевух на серваке.

Используются ОЧЕНЬ активно.

Сервак PIII733/256Mb

load averages: 0,17 0,25 0,19

ОС freebsd 4.9

так что кричать, что freebsd отстой не надо.

могут и побить.

edwin
()
Ответ на: комментарий от anonymous

>>Кстати если на спидометре у газели написано 120 км/ч ето не значит
>>шо ее можно разогнать до етой скорости

Газель газели рознь :) Есть Газели с правильными движками. Я вот и 130 км в час на Газели ездил. Правда в качестве пассажира :)


Eugeny_Balakhonov ★★
()
Ответ на: комментарий от x86

ох, не хочется вас лошить... Но x86 снова промазал.

PCIX(последние ревизии), PCI-express, ATA-133(ata-6 ? ) - все работают по двум фронтам.

И я там писал в расчетах именно про PCI-X, т.к. 1 гбит на обычном PCI получить очень трудно(даже 66/64) - стоимость карт высока.

anonymous
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.