goletsa Опубликовано 2 июля, 2012 (изменено) · Жалоба Доброго времени суток. Подскажите по выбору BRAS для терминации абонентов. Используем PPPoE, в планах перейти на IPoE+Opt82. Трафик в районе 2Gbps FullDuplex. Вот выбираю между Cisco ASR1002 и Ericsson SE100 Или что оптимальнее по цене\производительность? Щас все построено на FreeBSD+MPD5(PPPoE)+IPFW(шейпер)+PF(NAT) но количество серверов уже зашкаливает, хотелось бы большинство задач(терминирование,шейп(динамический), возможно NAT) свести в одну железку. Или еще может что посоветуете? Изменено 2 июля, 2012 пользователем goletsa Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
JoeDoe Опубликовано 2 июля, 2012 · Жалоба Или еще может что посоветуете? Alcatel-Lucent 7750 SRc4 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
dmvy Опубликовано 2 июля, 2012 · Жалоба алкктель отнимут много времени на обучение. СЕ100 гораздо проще. сам циско-брасы не трогал, но считаю, что у эрикссона самый человечный ценник на 3гбит браса. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Hawk128 Опубликовано 2 июля, 2012 · Жалоба Можно у автора уточнить сколько сессий и сколько серверов? Понятие зашкаливает непонятно. Сам смотрю на свои сервера, трафика пока меньше, но смотрю на будущее. Сейчас стоит 2 сервера, больше для резервирования. Реальная нагрузка при выключении одного сервера - около 1.6к сессий (pptp + pppoe, 70% + 30%), трафик по гигу на вход и выход, нагрузка около 40-50%. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
goletsa Опубликовано 3 июля, 2012 (изменено) · Жалоба 5x(NAT+SHAPER), 3xPPPOE. Средний трафик через 1 сервер NAT 400-600Mbit FDX, 100(in)+100(out)kpps на интерфейс гдето. Машинки - 1U платформы на s775(Q9650) или s1156(Xeon 3480). Сессий на PPPoE (суммарно) порядка 3к Изменено 3 июля, 2012 пользователем goletsa Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
mousus Опубликовано 3 июля, 2012 · Жалоба как показывает печальный личный опыт нат на asr100x из-за кривости софта и прочих неописуемых глюков работает плохо, например тупо падает и не даёт через себя гонять gre трафик, как pppoe и l2tp bras работает нормально, если абонам белые ипешники давать кривость софта частично компенсируется рутрекером если нету смартнета, который стоит негуманно для людей, вынужденных использовать нат если использовать asr100x как вариант выбить себе белых ипешников и на одной железине сделать pppoe брас + bgp border вопрос упирается только в деньги, которые можно найти в кредитной форме в банке Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Hawk128 Опубликовано 3 июля, 2012 (изменено) · Жалоба У меня SR1600UR + 2 x X5560. НАТа нет. Я выдаю белые всем, но на брасе есть шейпер для всех. Тарифы от 512 до 100. 2 интерфейса, в ЧНН примерно по 200к на вход и выход на каждом. Судя по загрузке - думаю на 2-3к сессий должне быть затык, но надо проверять, у меня пока нет столько юзверей. Для надежности два сервака легко прожуют такой траф и сессии. Под бордер отдельный сервак стоит. Там нагрузка заметно меньше, но там же и биллинг приютился. Просто держит 3 фул-вью и простую маршрутизацию + netflow, ну и сам биллинг. Сам много раз смотрел в сторону железок, но никак не получалось по цене хоть какое-то разумное решение. Обычно разница не менее 10 раз в цене. Это перебор. М.б. Вам стоит свои сервера оптимизировать? В свое время пришлось попилить немного, иначе затыки были на ровном месте... Изменено 3 июля, 2012 пользователем Hawk128 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
ktoto Опубликовано 3 июля, 2012 · Жалоба У SE вроде с натом тоже проблемы на GRE трафике. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
goletsa Опубликовано 3 июля, 2012 · Жалоба Насколько смог - оптимизировал. В основном по прерываниям упираюсь и в шейпер(dummynet много проца ест). Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
NiTr0 Опубликовано 3 июля, 2012 · Жалоба 8 машин на 3к активных абонов? Это дофига ИМХО... Линукс брас (пппое + иерархический шейпер) спокойно держит 800+ абонов. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 3 июля, 2012 · Жалоба В основном по прерываниям упираюсь Какие сетевые карты? Если не Интел, то замените на Интел. Если Интел, то http://forum.nag.ru/forum/index.php?showtopic=47174 и http://forum.nag.ru/forum/index.php?showtopic=56150 уже прочли? и в шейпер(dummynet много проца ест). Тоже обсуждалось тут много раз. Наиболее частая причина - прерывания и dummynet находятся на ядрах с раздельными кэшами и/или прыгают с ядра на ядро. Пример шейпера с Freebsd 8.2, процессор Core2 e8500, встроенные карты broadcom. Трафик 380+230mbps, 60+50kpps. Загрузка CPU: PID USERNAME PRI NICE SIZE RES STATE C TIME CPU COMMAND 11 root 171 ki31 0K 32K CPU0 0 4440.6 57.96% {idle: cpu0} 11 root 171 ki31 0K 32K RUN 1 4227.8 49.46% {idle: cpu1} 12 root -68 - 0K 272K WAIT 1 3262.2 44.58% {irq257: bge1} 12 root -68 - 0K 272K WAIT 0 2805.1 41.41% {irq256: bge0} 0 root -68 0 0K 112K - 1 1755.7 2.59% {dummynet} 12 root -32 - 0K 272K WAIT 1 214.2H 1.07% {swi4: clock} 18 root 44 - 0K 16K syncer 0 17.0H 0.00% [syncer] Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
goletsa Опубликовано 3 июля, 2012 · Жалоба Карты Intel, 9402 dualport (em драйвер) или встроенные в платформу SR1630HGPRX (igb). версия FreeBSD - 7.2-7.4 amd64 Вот пример цифр с одного из более новых (SR1630HGPRX+Xeon X3470@2.93GHz) $ top -SP last pid: 12467; load averages: 0.16, 0.18, 0.14 up 18+12:42:56 17:08:48 182 processes: 7 running, 152 sleeping, 23 waiting CPU 0: 1.2% user, 0.0% nice, 1.8% system, 29.2% interrupt, 67.8% idle CPU 1: 6.4% user, 0.0% nice, 29.8% system, 2.9% interrupt, 60.8% idle CPU 2: 0.0% user, 0.0% nice, 7.6% system, 0.0% interrupt, 92.4% idle CPU 3: 0.0% user, 0.0% nice, 4.1% system, 62.6% interrupt, 33.3% idle Mem: 107M Active, 292M Inact, 580M Wired, 456K Cache, 414M Buf, 2901M Free Swap: 4096M Total, 4096M Free PID USERNAME THR PRI NICE SIZE RES STATE C TIME WCPU COMMAND 12 root 1 171 ki31 0K 16K CPU2 2 210.1H 88.38% idle: cpu2 14 root 1 171 ki31 0K 16K CPU0 0 249.9H 69.34% idle: cpu0 13 root 1 171 ki31 0K 16K RUN 1 327.0H 50.10% idle: cpu1 30 root 1 -68 - 0K 16K WAIT 3 219.3H 48.34% irq256: igb0 36 root 1 -68 - 0K 16K CPU0 3 213.0H 45.41% irq260: igb2 1161 root 5 4 -15 30644K 24564K sbwait 3 21.1H 32.81% ipcad 11 root 1 171 ki31 0K 16K CPU3 3 173.0H 30.22% idle: cpu3 56 root 1 -68 - 0K 16K CPU2 2 275.4H 25.78% dummynet 1348 root 1 8 -15 61668K 42788K nanslp 3 31.8H 7.28% perl5.12.3 31 root 1 -68 - 0K 16K - 1 721:56 0.83% igb0 que 37 root 1 -68 - 0K 16K - 1 853:54 0.20% igb2 que 16 root 1 -32 - 0K 16K WAIT 0 118:32 0.00% swi4: clock 1341 root 1 8 -15 24720K 8168K nanslp 1 52:56 0.00% perl5.12.3 [goletsa@nat4 ~]$ netstat -hw1 input (Total) output packets errs bytes packets errs bytes colls 69K 0 53M 65K 0 53M 0 70K 0 56M 66K 0 55M 0 ^C $ cat /boot/loader.conf geom_mirror_load="YES" if_igb_load="YES" hw.igb.rxd=2048 hw.igb.txd=2048 hw.igb.num_queues=1 hw.igb.enable_aim=1 hw.igb.low_latency=1000 hw.igb.ave_latency=2000 hw.igb.bulk_latency=4000 hw.igb.rx_process_limit=100 hw.igb.fc_setting=0 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 3 июля, 2012 · Жалоба Карты Intel, 9402 dualport (em драйвер) или встроенные в платформу SR1630HGPRX (igb). версия FreeBSD - 7.2-7.4 amd64 А версии драйверов какие? hw.igb.num_queues=1 Если карт меньше, чем процессорных ядер, то можно сделать больше. Если гипертрединг на Ксеонах включен, то лучше выключить. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 3 июля, 2012 · Жалоба Наиболее частая причина - прерывания и dummynet находятся на ядрах с раздельными кэшами и/или прыгают с ядра на ядро. Ещё помогает net.inet.ip.dummynet.hash_size=65535 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
goletsa Опубликовано 3 июля, 2012 (изменено) · Жалоба HT естественно выключен. Карты работают 2 из 4 возможных на платформе, по чипам это одно и тоже что ET Dualport(2 чипа на плате). Если я сделаю hw.igb.num_queues=1 >1 то поидее может процесорного времени для шейпера не остаться?Плюс тогда небольшой вопрос по pf nat, насколько безопасно задирать значения количества сессий? $ cat /etc/pf.conf set limit states 1024000 set optimization aggressive scrub in all fragment reassemble scrub out all random-id max-mss 1480 table <peer> const { 10.0.0.0/8} nat pass on igb2 from 10.0.0.0/8 to !<peer> -> 178.236.X.X Ещё помогает net.inet.ip.dummynet.hash_size=65535 1024 стоит. 256 насколько помню дефолт. Не много ли 65535 задирать? И что делать с: net.inet.ip.dummynet.io_fast net.inet.ip.fastforwarding Включение одновременно повышает LA, использую только второе. Изменено 3 июля, 2012 пользователем goletsa Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
goletsa Опубликовано 3 июля, 2012 · Жалоба Intel(R) PRO/1000 Network Connection version - 2.0.7 Для igb. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 3 июля, 2012 · Жалоба Если я сделаю Цитата hw.igb.num_queues=1 >1 то поидее может процесорного времени для шейпера не остаться? При правильной настройке dummynet не должен потреблять процессор в отдельном потоке, всё должно шейпироваться в прерываниях. Плюс тогда небольшой вопрос по pf nat, насколько безопасно задирать значения количества сессий? С этим проблем не возникало. Гораздо хуже, когда их недостаточно. > Ещё помогает net.inet.ip.dummynet.hash_size=65535 1024 стоит. 256 насколько помню дефолт. Не много ли 65535 задирать? Дефолт - это 64. Смотрите ipfw pipe list | grep ' buckets ' Желательно, чтобы значение hash_size было с запасом больше, чем значение активных пайпов в каждой строке. Т.е. это может быть и 1024, и 4096. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Hawk128 Опубликовано 3 июля, 2012 (изменено) · Жалоба dummynet прибит к одному процу? Лучше его на ng_car поменять, он многопроцессорность хорошо кушает. (В MPD5 легко вынести через RADIUS атрибуты). ipcad у Вас нетфлоу гонит? Тогда лучше прицепите на общий интерфейс ng_netflow - нагрузка в разы упадет, и терять ничего не будет. По НАТу - можно попробовать ipfw nat или напрямую ng_nat. В 9-й версии это похоже уже одно и то же... Изменено 3 июля, 2012 пользователем Hawk128 Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
goletsa Опубликовано 3 июля, 2012 · Жалоба не прибит при ng_car возможно ли скорость менять динамически7 ipcad через rsh отдает билингу статистику 9 версия кончено хорошо но на нее еще тогда обновиляться надо. И будет ли какой профит от этого пока непонятно. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
goletsa Опубликовано 3 июля, 2012 · Жалоба Если я сделаю Цитата hw.igb.num_queues=1 >1 то поидее может процесорного времени для шейпера не остаться? При правильной настройке dummynet не должен потреблять процессор в отдельном потоке, всё должно шейпироваться в прерываниях. Плюс тогда небольшой вопрос по pf nat, насколько безопасно задирать значения количества сессий? С этим проблем не возникало. Гораздо хуже, когда их недостаточно. > Ещё помогает net.inet.ip.dummynet.hash_size=65535 1024 стоит. 256 насколько помню дефолт. Не много ли 65535 задирать? Дефолт - это 64. Смотрите ipfw pipe list | grep ' buckets ' Желательно, чтобы значение hash_size было с запасом больше, чем значение активных пайпов в каждой строке. Т.е. это может быть и 1024, и 4096. ipfw pipe list | grep 'buckets' | wc -l 8329 Много строк вида: 17789: 90.000 Mbit/s 0 ms 50 sl. 0 queues (1 buckets) droptail 17569: 90.000 Mbit/s 0 ms 50 sl. 0 queues (1 buckets) droptail 16009: 90.000 Mbit/s 0 ms 50 sl. 0 queues (1 buckets) droptail 09752: 90.000 Mbit/s 0 ms 50 sl. 0 queues (1 buckets) droptail 14388: 90.000 Mbit/s 0 ms 50 sl. 0 queues (1 buckets) droptail 13248: 90.000 Mbit/s 0 ms 50 sl. 1 queues (1 buckets) droptail 12708: 2.200 Mbit/s 0 ms 50 sl. 0 queues (1 buckets) droptail 06872: 90.000 Mbit/s 0 ms 50 sl. 0 queues (1 buckets) droptail 17637: 90.000 Mbit/s 0 ms 50 sl. 0 queues (1 buckets) droptail 07609: 90.000 Mbit/s 0 ms 50 sl. 0 queues (1 buckets) droptail 08897: 90.000 Mbit/s 0 ms 50 sl. 1 queues (1 buckets) droptail 06513: 21.427 Mbit/s 0 ms 50 sl. 0 queues (1 buckets) droptail 03428: 90.000 Mbit/s 0 ms 50 sl. 1 queues (1 buckets) droptail 15888: 90.000 Mbit/s 0 ms 50 sl. 0 queues (1 buckets) droptail ipfw выглядит както так(почти дефолтовый для nodeny): 00110 4171358 296712175 allow ip from any to any via lo0 00120 7448400 554055491 skipto 1000 ip from me to any 00130 1956986 109813919 deny icmp from any to any in icmptypes 5,9,13,14,15,16,17 00160 1965396487 128688361979 skipto 2000 ip from any to me 00200 75480823456 63083568395706 skipto 500 ip from any to any via igb2 00280 225644 38669136 fwd 127.0.0.1,81 tcp from table(35) to not me dst-port 80 in 00290 3355481 503176061 fwd 127.0.0.1,8080 tcp from not table(0) to not me dst-port 80 in 00300 35412529890 20170914882992 skipto 4500 ip from any to any in 00400 40209132225 42945737401775 skipto 450 ip from any to any recv igb2 00420 380168255 382581090805 tee 1 ip from any to any 00450 40583451430 43321445999613 tee 2 ip from any to any 00490 40566257719 43302207316645 allow ip from any to any 00500 40528358469 43346711412431 skipto 32500 ip from any to any in 00510 35003141734 19775986151944 tee 1 ip from any to any 00540 34982222026 19764419183541 allow ip from any to any 01000 0 0 allow udp from any 53,7723 to any 01010 639 513085 allow tcp from any to any setup keep-state 01020 14 1244 allow udp from any to any keep-state 01100 7448312 554049417 allow ip from any to any 02000 0 0 check-state 02010 3461405 1228284384 allow icmp from any to any 02020 342104 17429675 allow tcp from any to any dst-port 80,443 02050 1948129114 126695436844 deny ip from any to any via igb2 02060 0 0 allow udp from any to any dst-port 53,7723 02100 13463829 746747859 deny ip from any to any 05000 5562336 416155474 deny ip from not table(0) to any 05001 0 0 skipto 5010 ip from table(127) to table(126) 05002 35050196742 19792779040750 skipto 5030 ip from any to not table(2) 05003 364748 18922397 deny ip from any to not table(1) 05004 356404768 377700687792 pipe tablearg ip from table(21) to any 05005 1 40 deny ip from any to any 05010 0 0 pipe tablearg ip from table(127) to any 05030 2188891 105616676 deny tcp from table(15) to any dst-port 25 05130 376047758 267436273428 allow ip from table(31) to table(30) 05400 34671959801 19525237016335 pipe tablearg ip from table(11) to any 32000 292 134311 deny ip from any to any 32490 1295 76539 deny ip from any to any 33000 0 0 pipe tablearg ip from table(126) to table(127) 33001 40528358423 43346711409023 skipto 33010 ip from not table(2) to any 33002 47 4888 pipe tablearg ip from any to table(20) 33003 0 0 deny ip from any to any 33130 747781 47590172 allow ip from table(30) to table(31) 33400 40527326318 43346631542133 pipe tablearg ip from any to table(10) 65535 284355 32280468 allow ip from any to any Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Ilya Evseev Опубликовано 3 июля, 2012 · Жалоба ipfw pipe list | grep 'buckets' | wc -l Причём здесь это??? Ещё раз: Смотрите ipfw pipe list | grep ' buckets ' Желательно, чтобы значение hash_size было с запасом больше, чем значение активных пайпов в каждой строке. Обратите внимание на кавычки с пробелами. Чтобы вывести только превышающие значения: ipfw pipe list | perl -ne '/ (\d+) buckets (\d+) / and ($1 < $2) and print' Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
goletsa Опубликовано 3 июля, 2012 · Жалоба ipfw pipe list | grep 'buckets' | wc -l Причём здесь это??? Ещё раз: Смотрите ipfw pipe list | grep ' buckets ' Желательно, чтобы значение hash_size было с запасом больше, чем значение активных пайпов в каждой строке. Обратите внимание на кавычки с пробелами. ничего не показывает вообще Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Hawk128 Опубликовано 3 июля, 2012 · Жалоба dummynet обязательно прибить (cpuset) да, в ng_car скорость менять на лету можно, сам меняю ночью. Скрипт чуть сложнее чем для dummynet. неужели все успевает отдавать? при большом трафике лучше уходить на netflow. Что за биллинг? Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
goletsa Опубликовано 4 июля, 2012 (изменено) · Жалоба Чтобы вывести только превышающие значения: ipfw pipe list | perl -ne '/ (\d+) buckets (\d+) / and ($1 < $2) and print' Пусто. Может быть связано что у меня 7.4-RELEASE стоит? Другой формат вывода, итд... dummynet обязательно прибить (cpuset) попробую да, в ng_car скорость менять на лету можно, сам меняю ночью. Скрипт чуть сложнее чем для dummynet. у меня шейпер отделен от NAS(PPPOE). ng_car я так понял по интерфейсам работает или по IP адресам тоже умеет? неужели все успевает отдавать? да вроде как при большом трафике лучше уходить на netflow думал о ng_netflow но в билинге нетфлоу немного странно настраивается Что за биллинг? Nodeny Изменено 4 июля, 2012 пользователем goletsa Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...
Hawk128 Опубликовано 4 июля, 2012 · Жалоба Схемы ng_car разные, но лучше всего на интерфейс, MPD5 умеет его сам прикручивать более менее нормально. Так что можно вынести на НАСы шейпинг. За одно и НАТ разгрузите. Следом и НАТ можно попробовать бросить на НАСы и посмотреть как отреагирует. Вставить ник Цитата Ответить с цитированием Поделиться сообщением Ссылка на сообщение Поделиться на других сайтах More sharing options...