Выбор конфигурации пограничного роутера
Правила форума
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
Убедительная просьба юзать теги [code] при оформлении листингов.
Сообщения не оформленные должным образом имеют все шансы быть незамеченными.
- allan_sundry
- мл. сержант
- Сообщения: 98
- Зарегистрирован: 2009-02-16 15:30:01
Выбор конфигурации пограничного роутера
Доброе время суток!
Помогите выбрать конфигурацию для пограничного роутера (FreeBSD 8.2 + PF Shaping + немного NAT, VLAN, BGP, OSPF) c intel dual head 10G NIC c SFP+.
Сетевая карта должна уметь распаралеливать очреди между ядрами процессора (например Core i7).
У кого-то есть опыт построеня таких роутеров?
Помогите выбрать конфигурацию для пограничного роутера (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
Тарифы на хостинг в России, от 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/
Тарифы на виртуальные сервера (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/
-
- рядовой
- Сообщения: 41
- Зарегистрирован: 2011-06-27 3:45:02
Re: Выбор конфигурации пограничного роутера
любая 10G карточка умеет несколько аппаратных очередей. Вы лучше скажите, зачем вам оно, если используется pf, который под GIANT LOCK'ом ходит и вся параллельность сводится им на нет? всё равно в один и тот же момент времени сетевым трафиком сможет заниматься только одно ядро.
Вы сколько гигабит хотите прокачивать? сколько kpps? сколько префиксов с бгпшечки? размеры областей ospf и их количество?
Вы сколько гигабит хотите прокачивать? сколько kpps? сколько префиксов с бгпшечки? размеры областей ospf и их количество?
- allan_sundry
- мл. сержант
- Сообщения: 98
- Зарегистрирован: 2009-02-16 15:30:01
Re: Выбор конфигурации пограничного роутера
http://onlamp.com/pub/a/bsd/2005/01/20/smpng.htmlhomoadminus писал(а):любая 10G карточка умеет несколько аппаратных очередей. Вы лучше скажите, зачем вам оно, если используется pf, который под GIANT LOCK'ом ходит и вся параллельность сводится им на нет? всё равно в один и тот же момент времени сетевым трафиком сможет заниматься только одно ядро.
Вы сколько гигабит хотите прокачивать? сколько kpps? сколько префиксов с бгпшечки? размеры областей ospf и их количество?
что-то не сходится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.
интересно прокачать максисмум что может 10G сетевая карта .
Soft like sex, it's better when free
-
- рядовой
- Сообщения: 41
- Зарегистрирован: 2011-06-27 3:45:02
Re: Выбор конфигурации пограничного роутера
вместо того, чтобы смотреть статьи 6-летней давности, можно просто посмотреть в код и обратить внимание на макросы PF_LOCK()/PF_UNLOCK(), которые лочат целиком весь PF
глядя на коммиты видно, что народ пытается с этим что-то делать, но пока в openbsd с smp не будет всё так же хорошо, как сейчас во фре/нетке затея не имеет смысла. Тем более, что pf никак не интегрируется с netgraph.
А то что описано в статье по ссылке уже давно сделано
Кстати, интел на 10G смогла отроутить 20 гигабит. Но для этого надо ioatdma/dca, которых во фре пока нет(но в мейллистах это обсуждают).
глядя на коммиты видно, что народ пытается с этим что-то делать, но пока в openbsd с smp не будет всё так же хорошо, как сейчас во фре/нетке затея не имеет смысла. Тем более, что pf никак не интегрируется с netgraph.
А то что описано в статье по ссылке уже давно сделано
Кстати, интел на 10G смогла отроутить 20 гигабит. Но для этого надо ioatdma/dca, которых во фре пока нет(но в мейллистах это обсуждают).
- allan_sundry
- мл. сержант
- Сообщения: 98
- Зарегистрирован: 2009-02-16 15:30:01
Re: Выбор конфигурации пограничного роутера
Что лучше тогда использовать в качестве шейпера + NAT?homoadminus писал(а):вместо того, чтобы смотреть статьи 6-летней давности, можно просто посмотреть в код и обратить внимание на макросы PF_LOCK()/PF_UNLOCK(), которые лочат целиком весь PF
глядя на коммиты видно, что народ пытается с этим что-то делать, но пока в openbsd с smp не будет всё так же хорошо, как сейчас во фре/нетке затея не имеет смысла. Тем более, что pf никак не интегрируется с netgraph.
А то что описано в статье по ссылке уже давно сделано
Кстати, интел на 10G смогла отроутить 20 гигабит. Но для этого надо ioatdma/dca, которых во фре пока нет(но в мейллистах это обсуждают).
При какой конфигурации и с какой ОС получилось отроутить 20 гигабит?
Soft like sex, it's better when free
-
- рядовой
- Сообщения: 41
- Зарегистрирован: 2011-06-27 3:45:02
Re: Выбор конфигурации пограничного роутера
Ссылки:
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.
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.
- allan_sundry
- мл. сержант
- Сообщения: 98
- Зарегистрирован: 2009-02-16 15:30:01
Re: Выбор конфигурации пограничного роутера
что скажете о https://calomel.org/network_performance.html?
Soft like sex, it's better when free
-
- рядовой
- Сообщения: 41
- Зарегистрирован: 2011-06-27 3:45:02
Re: Выбор конфигурации пограничного роутера
по вашей же ссылке то, о чем я говорил изначально: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.
Т.к. в таблице роутинга всего несколько записей и какой-либо обработки трафика не происходит. Гораздо интереснее на всё это смотреть, если по бгп влить 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: Выбор конфигурации пограничного роутера
Какой был результат экспериментов? На какой конфигуации остановились?
Soft like sex, it's better when free
-
- рядовой
- Сообщения: 41
- Зарегистрирован: 2011-06-27 3:45:02
Re: Выбор конфигурации пограничного роутера
результат - железка с linux + bird(как-то он поприятнее), Но у нас линки были 1GE, а не 10GE.
- allan_sundry
- мл. сержант
- Сообщения: 98
- Зарегистрирован: 2009-02-16 15:30:01
Re: Выбор конфигурации пограничного роутера
Какая версия Linux была использована?homoadminus писал(а):результат - железка с linux + bird(как-то он поприятнее), Но у нас линки были 1GE, а не 10GE.
Soft like sex, it's better when free
-
- рядовой
- Сообщения: 41
- Зарегистрирован: 2011-06-27 3:45:02
Re: Выбор конфигурации пограничного роутера
тогда я использовал 2.6.36(брал >= 2.6.35 из-за RPS( http://moblog.wiredwings.com/archives/2 ... .6.35.html )
Сейчас бы взял 2.6.39 из-за выпиленного BKL.
Сейчас бы взял 2.6.39 из-за выпиленного BKL.