Выбор конфигурации пограничного роутера

Решение проблем связванных с работой железа. Проблемы программно-аппаратной совместимости.
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Аватара пользователя
allan_sundry
мл. сержант
Сообщения: 98
Зарегистрирован: 2009-02-16 15:30:01

Выбор конфигурации пограничного роутера

Непрочитанное сообщение allan_sundry » 2011-07-06 16:05:41

Доброе время суток!

Помогите выбрать конфигурацию для пограничного роутера (FreeBSD 8.2 + PF Shaping + немного NAT, VLAN, BGP, OSPF) c intel dual head 10G NIC c SFP+.
Сетевая карта должна уметь распаралеливать очреди между ядрами процессора (например Core i7).
У кого-то есть опыт построеня таких роутеров?
Soft like sex, it's better when free

Хостинговая компания Host-Food.ru
Хостинг HostFood.ru
 

Услуги хостинговой компании Host-Food.ru

Хостинг HostFood.ru

Тарифы на хостинг в России, от 12 рублей: https://www.host-food.ru/tariffs/hosting/
Тарифы на виртуальные сервера (VPS/VDS/KVM) в РФ, от 189 руб.: https://www.host-food.ru/tariffs/virtualny-server-vps/
Выделенные сервера, Россия, Москва, от 2000 рублей (HP Proliant G5, Intel Xeon E5430 (2.66GHz, Quad-Core, 12Mb), 8Gb RAM, 2x300Gb SAS HDD, P400i, 512Mb, BBU):
https://www.host-food.ru/tariffs/vydelennyi-server-ds/
Недорогие домены в популярных зонах: https://www.host-food.ru/domains/

homoadminus
рядовой
Сообщения: 41
Зарегистрирован: 2011-06-27 3:45:02

Re: Выбор конфигурации пограничного роутера

Непрочитанное сообщение homoadminus » 2011-07-06 17:10:37

любая 10G карточка умеет несколько аппаратных очередей. Вы лучше скажите, зачем вам оно, если используется pf, который под GIANT LOCK'ом ходит и вся параллельность сводится им на нет? всё равно в один и тот же момент времени сетевым трафиком сможет заниматься только одно ядро.

Вы сколько гигабит хотите прокачивать? сколько kpps? сколько префиксов с бгпшечки? размеры областей ospf и их количество?

Аватара пользователя
allan_sundry
мл. сержант
Сообщения: 98
Зарегистрирован: 2009-02-16 15:30:01

Re: Выбор конфигурации пограничного роутера

Непрочитанное сообщение allan_sundry » 2011-07-06 17:36:21

homoadminus писал(а):любая 10G карточка умеет несколько аппаратных очередей. Вы лучше скажите, зачем вам оно, если используется pf, который под GIANT LOCK'ом ходит и вся параллельность сводится им на нет? всё равно в один и тот же момент времени сетевым трафиком сможет заниматься только одно ядро.

Вы сколько гигабит хотите прокачивать? сколько kpps? сколько префиксов с бгпшечки? размеры областей ospf и их количество?
http://onlamp.com/pub/a/bsd/2005/01/20/smpng.html
The PF filter is the only one that runs without the Giant lock. It is an adoption of the same codebase that OpenBSD developed several years ago and is the one with the most active development in FreeBSD. Being that it does not require the Giant lock, it has the potential to be the fastest of the three.
что-то не сходится :no:

интересно прокачать максисмум что может 10G сетевая карта :smile: .
Soft like sex, it's better when free

homoadminus
рядовой
Сообщения: 41
Зарегистрирован: 2011-06-27 3:45:02

Re: Выбор конфигурации пограничного роутера

Непрочитанное сообщение homoadminus » 2011-07-06 19:12:50

вместо того, чтобы смотреть статьи 6-летней давности, можно просто посмотреть в код и обратить внимание на макросы PF_LOCK()/PF_UNLOCK(), которые лочат целиком весь PF ;)

глядя на коммиты видно, что народ пытается с этим что-то делать, но пока в openbsd с smp не будет всё так же хорошо, как сейчас во фре/нетке затея не имеет смысла. Тем более, что pf никак не интегрируется с netgraph.

А то что описано в статье по ссылке уже давно сделано ;)

Кстати, интел на 10G смогла отроутить 20 гигабит. Но для этого надо ioatdma/dca, которых во фре пока нет(но в мейллистах это обсуждают).

Аватара пользователя
allan_sundry
мл. сержант
Сообщения: 98
Зарегистрирован: 2009-02-16 15:30:01

Re: Выбор конфигурации пограничного роутера

Непрочитанное сообщение allan_sundry » 2011-07-06 21:58:18

homoadminus писал(а):вместо того, чтобы смотреть статьи 6-летней давности, можно просто посмотреть в код и обратить внимание на макросы PF_LOCK()/PF_UNLOCK(), которые лочат целиком весь PF ;)

глядя на коммиты видно, что народ пытается с этим что-то делать, но пока в openbsd с smp не будет всё так же хорошо, как сейчас во фре/нетке затея не имеет смысла. Тем более, что pf никак не интегрируется с netgraph.

А то что описано в статье по ссылке уже давно сделано ;)

Кстати, интел на 10G смогла отроутить 20 гигабит. Но для этого надо ioatdma/dca, которых во фре пока нет(но в мейллистах это обсуждают).
:oops: :( Что лучше тогда использовать в качестве шейпера + NAT?
При какой конфигурации и с какой ОС получилось отроутить 20 гигабит?
Soft like sex, it's better when free

homoadminus
рядовой
Сообщения: 41
Зарегистрирован: 2011-06-27 3:45:02

Re: Выбор конфигурации пограничного роутера

Непрочитанное сообщение homoadminus » 2011-07-06 22:45:03

Ссылки:
http://vger.kernel.org/netconf2009_slid ... _final.pdf
http://download.intel.com/embedded/proc ... 322973.pdf

Ну и нагугливается по "intel nehalem vyatta 10Gbit". Если кратко, то нужен камень с большим кэшем, быстрая DDR3 память и карточка, умеющая несколько аппаратных очередей + более-менее свежее ядро. Я бы еще пропатчил на тему PF_RING, чтобы иметь возможность хватать пакеты wire speed. бгпшечку крутить на квагге/bird, ни в коем случае не использовать xorp(жрёт память нещадно).

Если не сильно надо statefull firewall, то выкинуть conntrack и фильтровать в табличке raw.


homoadminus
рядовой
Сообщения: 41
Зарегистрирован: 2011-06-27 3:45:02

Re: Выбор конфигурации пограничного роутера

Непрочитанное сообщение homoadminus » 2011-07-07 1:40:59

allan_sundry писал(а):что скажете о https://calomel.org/network_performance.html?
по вашей же ссылке то, о чем я говорил изначально:

Код: Выделить всё

Despite the recent development of multiple processors support in the OpenBSD, the kernel still operates as if were running on a single processor system. On a SMP system only one processor is able to run the kernel at any point in time, a semantic which is enforced by a Big Giant Lock. The Big Giant Lock (BGL) works like a token. If the kernel is being run under one CPU then it has the BGL and thus the kernel can _not_ be run on a second CPU. The network stack and thus pf and pfsync run in the kernel and so under the Big Giant Lock.

If you have access to a multi core machine and are expecting to use programs that will take advantage of the cores then the multi core board is a good choice. PF is _not_ a multi core program so it will not benefit from multi core kernel. 
как бы в тестах у них всё красиво, достигли 9Гбит/с в тестах iperf в одно соединение. Только практической пользы в реальном мире от такого нет.
Т.к. в таблице роутинга всего несколько записей и какой-либо обработки трафика не происходит. Гораздо интереснее на всё это смотреть, если по бгп влить full view(а это как бы уже 330k записей, что в ядре freebsd на i386 - где-то чуть меньше 20Мб, а на amd64 - уже в районе 50Мб. В Linux c CONFIG_FIB_RULES(зовётся fib_trie в опциях ядра) цифры процентов на 30 где-то меньше и на i386 большая часть влезет в L3-кеш, что сильно ускорит лукап если маршрута нет route cache.

Опять же, в статье по вашей ссылке написано, что на карточках 10GE не работает ALTQ.
Вообщем, при вашей задаче я бы либо сделал дистриб для себя(на базе, например, убунты или дебиана), либо если лень - взял бы vyatta. Там всё из коробки.

PS: все цифры получены в результате различных экспериментов, когда работал в ISP и мы искали альтернативы j4350.

Аватара пользователя
allan_sundry
мл. сержант
Сообщения: 98
Зарегистрирован: 2009-02-16 15:30:01

Re: Выбор конфигурации пограничного роутера

Непрочитанное сообщение allan_sundry » 2011-07-07 11:33:44

Какой был результат экспериментов? На какой конфигуации остановились?
Soft like sex, it's better when free

homoadminus
рядовой
Сообщения: 41
Зарегистрирован: 2011-06-27 3:45:02

Re: Выбор конфигурации пограничного роутера

Непрочитанное сообщение homoadminus » 2011-07-09 1:35:00

результат - железка с linux + bird(как-то он поприятнее), Но у нас линки были 1GE, а не 10GE.

Аватара пользователя
allan_sundry
мл. сержант
Сообщения: 98
Зарегистрирован: 2009-02-16 15:30:01

Re: Выбор конфигурации пограничного роутера

Непрочитанное сообщение allan_sundry » 2011-07-11 12:29:12

homoadminus писал(а):результат - железка с linux + bird(как-то он поприятнее), Но у нас линки были 1GE, а не 10GE.
Какая версия Linux была использована?
Soft like sex, it's better when free

homoadminus
рядовой
Сообщения: 41
Зарегистрирован: 2011-06-27 3:45:02

Re: Выбор конфигурации пограничного роутера

Непрочитанное сообщение homoadminus » 2011-07-11 12:59:53

тогда я использовал 2.6.36(брал >= 2.6.35 из-за RPS( http://moblog.wiredwings.com/archives/2 ... .6.35.html )

Сейчас бы взял 2.6.39 из-за выпиленного BKL.