Jump to content
Калькуляторы

Shape-NAT-NetFlow на больших сетях

На форуме все чаще и чаще поднимаются ветки о том, чем натить 1 гбит/с, чем шейпить 30 тыс пользователей, чем отфильтровать разные классы трафика, и особо острый вопрос - как получить netflow с хорошей точностью на потоках интернета от 1 гбит/с.

 

Полный текст новости

Share this post


Link to post
Share on other sites

Отличная статья! Хорошо структурирована, хорошая детализация. Приятно отметить отсутствие лоббирования автором того или иного решения...

Share this post


Link to post
Share on other sites
Guest djonline

Кирилл, поясни пожайлуста, во что упирается NAT в первом тесте при повышении до 100kpps, если загрузка CPU меньше 50% ? Из-за чего происходят потери ?

Share this post


Link to post
Share on other sites
Кирилл, поясни пожайлуста, во что упирается NAT в первом тесте при повышении до 100kpps, если загрузка CPU меньше 50% ? Из-за чего происходят потери ?
На микротике - не видно. Мне кажется, он просто не успевает выбирать пакеты из очереди сетевой карты, пока лукапит пакет по нат-табличке. При переводе ната на stateless - снимаем и по 100кппс на HP DL140, хотя на stateful нате - 60кппс предел.

 

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

 

Гугль, кстати, идет по похожему пути - в стойках не мегаНАСы, мегасервера на 48 ядер - а обычный самосбор, но настраивающийся/меняющийся за 5 минут.

Share this post


Link to post
Share on other sites

С микротиком всё проще - у него все задачи работают на одном ядре.

Share this post


Link to post
Share on other sites

С микротиком всё проще - у него все задачи работают на одном ядре.

не согласен. МТ до определенной версии на HP DL160 осиливал 450мбит, с 3.13, что ли, стал тянуть 800 - и загрузка CPU упала.

Share this post


Link to post
Share on other sites
Guest Serj

Хотелось бы увидеть в продолжение сводные таблицы для каждого раздела и упомянутых в нём железок\решений с описанием их возможностей заявленных и тестовых, и примерной стоимостью.

Share this post


Link to post
Share on other sites
Guest RandallGraves

Хорошо бы в статье отразить различие шейпинга и полисинга. Это разные подходы к ограничению трафика и соответственно ресурсоёмкость у них разная, соответственно и показатели на этих операциях будут заметно различаться.

Share this post


Link to post
Share on other sites
Guest vitek

статья хороша, только всё-таки не ясно относительно PC nat'а, почему же пакеты теряются, может backlog маленький ? у нас сервер 2.00ГГц х 8 ядер упирался в пропускную способность интерфейса 1Gb/s и 160kpps, при загрузке процессоров в 45-50%, потерь пакетов не было. сейчас на нем как раз shaper-nat-netflow 110kpps-35% загрузки, 12000 пользователей. не совсем корректно сравнивать несравнимое :-). конфигурация той же cisco вполне определенная, а вот сервер можно собрать любой. интересней был бы ответ на вопрос: а можно ли сделать решение на сервере равное, например, модулю ACE и сравнить цены.

Share this post


Link to post
Share on other sites
статья хороша, только всё-таки не ясно относительно PC nat'а, почему же пакеты теряются, может backlog маленький ? у нас сервер 2.00ГГц х 8 ядер упирался в пропускную способность интерфейса 1Gb/s и 160kpps, при загрузке процессоров в 45-50%, потерь пакетов не было. сейчас на нем как раз shaper-nat-netflow 110kpps-35% загрузки, 12000 пользователей. не совсем корректно сравнивать несравнимое :-). конфигурация той же cisco вполне определенная, а вот сервер можно собрать любой. интересней был бы ответ на вопрос: а можно ли сделать решение на сервере равное, например, модулю ACE и сравнить цены.
конфигурацию и настройки сервера в студию! =)

сетевые, операционка, настройки операционки (драйвера, HZ, на чем нат-шейпинг, sysctl)

 

 

Хорошо бы в статье отразить различие шейпинга и полисинга. Это разные подходы к ограничению трафика и соответственно ресурсоёмкость у них разная, соответственно и показатели на этих операциях будут заметно различаться.
Вот про то, чем они отличаются - полно документации в сети. Ресурсоемкость - да, возможно разная, но при шейпинге/полисинге не на PC-серверах - на скорость работы девайса это очень мало отражается. Есть в железе очереди - делаем шейпинг. Нет - полисинг/рейт-лимитинг.

Share this post


Link to post
Share on other sites
Guest vitek

>> конфигурацию и настройки сервера в студию! =)

 

Ваш смайл поставлен очень правильно :)

поправлюсь, не правильно написал: не шейпинг,а полисинг. очереди накладно...

Share this post


Link to post
Share on other sites
>> конфигурацию и настройки сервера в студию! =)

 

Ваш смайл поставлен очень правильно :)

поправлюсь, не правильно написал: не шейпинг,а полисинг. очереди накладно...

вот о честном шейпинге на PC я слышал про 800 мбит, на ipfw pipe

но - полоса выделялась неправильно

Share this post


Link to post
Share on other sites

 

даже комментировать нечего... ламеры-с...

Share this post


Link to post
Share on other sites

Статье +1.

Кстати насколько зависимы на цисках (7200 например) параметры трафик/туннели. Т.е. если будет на с7201 около 500 сессий, пропустит ли она 600-700Мбит или всё-равно 400 максимум?

Share this post


Link to post
Share on other sites
Статье +1.

Кстати насколько зависимы на цисках (7200 например) параметры трафик/туннели. Т.е. если будет на с7201 около 500 сессий, пропустит ли она 600-700Мбит или всё-равно 400 максимум?

от PPS зависит очень сильно. И от используемого функционала (нат, шейп/рейтлимит, нетфлоу)

Share this post


Link to post
Share on other sites

Спасибо за отличную статью. А почему обошли вниманием FWSM?

Share this post


Link to post
Share on other sites
Во-вторых, насколько показали тесты, шейпинг на FreeBSD/Linux производится в один поток - а это значит, что об обработке шейпинга на всех ядрах всех процессоров можно забыть.
Если навешать кучу задач на одну машину и делать неоптимальную классификацию (по правилу на каждый IP-адрес), то очевидно, что это приведет к массе проблем. Кроме того, я бы не судил о PC-шном железе по Микротикам с дохлыми CPU и сетевухами VIA и Realtek. Для сетевых задач обычно берутся чипы Intel и, возможно, Broadcom. Кстати, они же применяются и в ряде брендовых роутеров.

 

В случае использования pcq-очередей по адресным спискам в Linux на входе приходится маркировать (mangle) пакеты, а это достаточно процессороемкая операция.
PCQ -- это что вообще такое? В tc этого точно нет. Зачем что-то маркировать, да еще и на входе? Сдается мне, что авторы судят о подсистеме QoS в Linux исключительно по микротиковскому интерфейсу. Для шейпинга в Linux все нормальные люди используют дисциплину HTB и хэширующие фильтры. В плане FreeBSD не раскрыта тема динамических пайпов и pipe tablearg.

 

Статья хороша только как обзор рынка сетевого оборудования. Но серьезного, технически грамотного сравнения PC-based shaping bridge и аналогичных брендовых решений, скажем Cisco SCE, я в ней не увидел. И конечно, сравнивать PC-шники интереснее с SCE 1000 и 2000, а не с монстрами стоимостью по 110K$, вроде SCE 8000.

Edited by photon

Share this post


Link to post
Share on other sites
Спасибо за отличную статью. А почему обошли вниманием FWSM?
1. не удалось полапать

2. 256К сессий на нате - и не рвались лапать

 

Во-вторых, насколько показали тесты, шейпинг на FreeBSD/Linux производится в один поток - а это значит, что об обработке шейпинга на всех ядрах всех процессоров можно забыть.
Если навешать кучу задач на одну машину и делать неоптимальную классификацию (по правилу на каждый IP-адрес), то очевидно, что это приведет к массе проблем. Кроме того, я бы не судил о PC-шном железе по Микротикам с дохлыми CPU и сетевухами VIA и Realtek. Для сетевых задач обычно берутся чипы Intel и, возможно, Broadcom. Кстати, они же применяются и в ряде брендовых роутеров.

HP DL160 G5 - я бы не назвал "дохлым CPU с реалтеком на борту".

 

В случае использования pcq-очередей по адресным спискам в Linux на входе приходится маркировать (mangle) пакеты, а это достаточно процессороемкая операция.
PCQ -- это что вообще такое? В tc этого точно нет. Зачем что-то маркировать, да еще и на входе? Сдается мне, что авторы судят о подсистеме QoS в Linux исключительно по микротиковскому интерфейсу. Для шейпинга в Linux все нормальные люди используют дисциплину HTB и хэширующие фильтры. В плане FreeBSD не раскрыта тема динамических пайпов и pipe tablearg.

Раскрывать детально - смысла особого нет, это требует отдельной статьи. Как TC настраивать, как pipe/tablearg делать... как это менять из биллинга.

Насчет QoS в Linux да, согласен, что это мое "слабое место" - уже 2.5 года не шейпим на PC.

 

Share this post


Link to post
Share on other sites

Мне одному показалось, что netflow выпал из статьи, хотя четко прописан в заголовке?

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

 

Зато нет явной рекламы. Наверно мне эта статья понравилась больше чем предыдущие.

 

Но не думаю, что вы вложили много времени в эту статью. Просто расписали так, как у вас есть сейчас. Что, конечно, не уменьшает ценность данной обзорной статьи.

Share this post


Link to post
Share on other sites
конфигурацию и настройки сервера в студию! =)
Сегодня NAT+шейп+аккаунтинг+нетфлов+фильтр на Supermicro сервере + сетевушке всего за 1200$ в сумме, упирается только в скорость сетевой карты 1G.

 

post-67756-1260549924_thumb.pngpost-67756-1260549932_thumb.pngpost-67756-1260549928_thumb.pngpost-67756-1260549906_thumb.png

 

>uname -rms
Linux 2.6.30.9-96.fc11.2.iva.i686.PAE i686

>lsmod
Module                  Size  Used by
cls_u32                 6192  6
cls_fw                  4220  3
sch_sfq                 5280  4680
sch_htb                13080  6
imq                     4768  772
ipt_ULOG                8892  3
ipt_ACCOUNT             8604  4
xt_connlimit            3700  2
xt_multiport            2552  1
ipt_REDIRECT            2044  3
iptable_nat             5980  1
nf_nat                 17672  2 ipt_REDIRECT,iptable_nat
xt_DSCP                 2736  2
xt_IMQ                  1552  2
xt_comment              1272  4
ipt_set                 1732  16
xt_mark                 1496  14
xt_MARK                 1828  6
iptable_mangle          3344  1
ip_set_iphash           5208  8
ip_set_ipmap            3372  14
ip_set_nethash          5896  1
ip_set                 16028  7 ipt_set,ip_set_iphash,ip_set_ipmap,ip_set_nethash
igb                    75140  0

>cat /etc/sysctl.conf | grep netfilter
net.netfilter.nf_conntrack_max = 262144
net.netfilter.nf_conntrack_generic_timeout = 180
net.netfilter.nf_conntrack_icmp_timeout = 10
net.netfilter.nf_conntrack_tcp_timeout_established = 1800
net.netfilter.nf_conntrack_udp_timeout = 10
net.netfilter.nf_conntrack_udp_timeout_stream = 60
net.netfilter.nf_conntrack_tcp_be_liberal = 1

>cat /sys/module/nf_conntrack/parameters/hashsize
262144

>tc -s qdisc | grep sfq | wc -l
4680

>cat /proc/cpuinfo | grep name | uniq
model name      : Intel® Xeon® CPU           E5520  @ 2.27GHz

>free -o
            total       used       free     shared    buffers     cached
Mem:       2053888     564160    1489728          0     140720     208272
Swap:      2099192          0    2099192

Ограничение в 1G решается поднятием Bonding-интерфейсов. Пример без NATа, но он всё равно практически не влияет на загрузку CPU:

 

post-67756-1260560685_thumb.pngpost-67756-1260560690_thumb.pngpost-67756-1260560695_thumb.png

Share this post


Link to post
Share on other sites

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

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this