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

NAT, который мы потеряли

Данная статья является, в каком-то роде, продолжением изысканий о трансляции сетевых адресов на дешевых (и не очень) платформах, от PC-маршрутизаторов, до аппаратных платформ типа Juniper MS-DPC или SRX, Cisco ACE, и других.

 

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

Share this post


Link to post
Share on other sites
Guest andrew

"Так, при использовании HP DL160G5 на Xeon QC 5430 2.66/1333MHz FSB/12M L2 cache загрузка CPU на NAT 100 Кппс FD (100 вход + 100 выход, 200 c точки зрения Cisco Systems) составляет 40%."

 

Автор знает о существовании "умных" сетевых карт Intel и таких штуках, как polling и napi?

 

Полностью аналогичный сервер с PRO/1000PT PCI-E4x под FreeBSD 7.0 с polling и определёнными опциями ядра выдаёт до 1 mpps (1 на вход и 1 на выход) c NAT и netflow(ipcad).

Share this post


Link to post
Share on other sites

А это почему пропустили? netfpga.org

Выглядит многообещающе. Но NAT там не реализован пока.

Share this post


Link to post
Share on other sites
Guest v75

может кто подскажет про Foundry VM-1 NetIron Velocity Management module ???

Share this post


Link to post
Share on other sites

да в принципе в статье есть одна мысль --- всё упирается в шину! ну и собсно сколько раз одни и теже данные по ней протекут и определяет производительность, а этим управляет ОС и её ПО вот собсно и всё то есть как всегда всё упирается в основном в софт, и отчасти в железо, разумеется если под железом не понимать антиквариат

Share this post


Link to post
Share on other sites

Гость_andrew_*:

А можно поподробнее про настройки polling и определённые опции ядра?

1 mpps (1 на вход и 1 на выход) c NAT - как то многообещающе

мы пока смогли добиться в районе 200-250 kbps и то со скрипом

Share this post


Link to post
Share on other sites

Всё проще: NAT уже не нужен, - все дают "белые" адреса :-)

Share this post


Link to post
Share on other sites

Ну не факт что проще. Есть масса причин по которым это не всегда удобно.

Share this post


Link to post
Share on other sites

98% юзеров довольны прямыми "белыми" адресами. Экзоты могут делать себе NAT сами. С чего вдруг оператор должен сам инвестировать в железо, которое не требуется ему для оказания услуги?

Share this post


Link to post
Share on other sites

http://www.nag.ru/articles/reviews/16710/l...hrutizacii.html кстати - 2004 год

 

Замечания по конфигурации ядра.

 

Что нам необходимо в маршрутизаторе?

 

device_polling, netgraph, pppoe, ipfw, dummynet, ipnat, bridge, vlan, tun, bpf, gif

 

Для того чтобы все это работало, желательно чтобы в конфигурации ядра присутствовали следующие строки:

 

options DEVICE_POLLING

options HZ=2000

options NETGRAPH

options NETGRAPH_ETHER

options NETGRAPH_PPPOE

options NETGRAPH_TEE

options NETGRAPH_PPTPGRE

options NETGRAPH_PPP

options NETGRAPH_SOCKET

options NETGRAPH_KSOCKET

options ICMP_BANDLIM

options IPFIREWALL

options IPDIVERT

options DUMMYNET

options BRIDGE

device random

device bpf

device tun

device vlan

device gif

device fxp

device em

device rtl

device vr

 

Кроме того в файле /etc/sysctl.conf необходимо прописать:

 

kern.polling.enable=1

net.inet.ip.fastforwarding=1

 

Тут же можно прописать интерфейсы в режим бриджа. Например:

 

net.link.ether.bridge.config=fxp1:0,fxp2:0,fxp3:0

net.link.ether.bridge.ipfw=1

net.link.ether.bridge.enable=1

 

В результате мы получили disk-on module с установленной на нем minibsd 5.x. (в моем случае это была 5.2.1-RELEASE).

Share this post


Link to post
Share on other sites
98% юзеров довольны прямыми "белыми" адресами. Экзоты могут делать себе NAT сами. С чего вдруг оператор должен сам инвестировать в железо, которое не требуется ему для оказания услуги?
Ну во первых вирусы и DDOS

Во вторых при использовании белых адресов существенно вырастет трафик нежели при использовании NAT -а это доп. оборудование, канал в конце концов.

юзерский торрент начнет больше раздавать.

В третьих мы лишаемся желающих приобрести белые адреса за денюжку -обычно это 100 руб с желающего.

В четвертых адреса сейчас получить непросто -они заканчиваются. Чем черт не шутит -станут платными для провайдеров.

Для начала достаточно.

Есть конечно и куча плюсов, причем я лично считаю что их больше. Но однозначно говорить о том что NAT не нужен еще рано.

 

 

Share this post


Link to post
Share on other sites

Нат всем нам очень пригодиться в момент перехода от v4 к v6, когда v4 просто кончатся.

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

Но вот про 100 Kpps на FreeBSD (или на ком?) я не согласен, Mpps там можно, таки.

Share this post


Link to post
Share on other sites
А это почему пропустили? netfpga.org

Выглядит многообещающе. Но NAT там не реализован пока.

Выглядит возможно много обещающе :) Но цены на стартексы вас не обрадуют(от 20К ), на мальнкой не замесиш ни чего стоящего всё упрется в скорость работы внешней памяти.

Share this post


Link to post
Share on other sites

Я же говорю что там стоит не жирная PLD мальнькие буферы как следствие, и не большой функционал.

Share this post


Link to post
Share on other sites
"Так, при использовании HP DL160G5 на Xeon QC 5430 2.66/1333MHz FSB/12M L2 cache загрузка CPU на NAT 100 Кппс FD (100 вход + 100 выход, 200 c точки зрения Cisco Systems) составляет 40%."

 

Автор знает о существовании "умных" сетевых карт Intel и таких штуках, как polling и napi?

 

Полностью аналогичный сервер с PRO/1000PT PCI-E4x под FreeBSD 7.0 с polling и определёнными опциями ядра выдаёт до 1 mpps (1 на вход и 1 на выход) c NAT и netflow(ipcad).

Знаю, да. Поставили в закупку, но вот про опции ядра, пожалуйста, подробнее - ибо даже dmarck на НАТе пару лет назад получал 100 кппс.

 

 

 

Всё проще: NAT уже не нужен, - все дают "белые" адреса :-)
Скоро все на нате сидеть будем =) ип6-ип4, адреса кончились и т.п.

Share this post


Link to post
Share on other sites
Guest andrew

Negator:

 

в sysctl.conf:

kern.ipc.somaxconn=4069

kern.polling.enable=1

kern.ipc.maxsockets=204800

kern.ipc.shmall=128000000

kern.ipc.shmmax=128000000

kern.ipc.nmbclusters=262144

kern.maxfiles=204800

kern.maxfilesperproc=200000

net.inet.tcp.maxtcptw=40960

net.inet.tcp.msl=30000

net.inet.tcp.nolocaltimewait=1

net.inet.tcp.fast_finwait2_recycle=1

 

в rc.conf в описание интерфейса дописать "polling"

Share this post


Link to post
Share on other sites

ASR1002-ESP5 при NAT 400К сессий, 500Mbit, 100Кpps потока уходит в ребут в произвольные моменты времени...

Может двое суток простоять, а может и перезапускать карты раз в 10-15 минут на протяжении нескольких часов.

Share this post


Link to post
Share on other sites

О, как интересно, на меня уже ссылаются :) "теория заговора" очень даже интересна, но тут есть моменты:

а) каков в мировом масштабе рынок заточенных под NAT устройств?

б) сколько времени и денег надо на разработку и стабилизацию софта для любого сетевого процессора?

Делим б на а и получаем те самые деньги, которые совершенно не бьются со стоимостью запаянных чипов. То есть можно разработать, потратить, к примеру, лимон зелени. А продашь за три года сто штук, и 10К разработки лягут в кост, помимо маркетинга и прочих "орграсходов", которые в составе цены у большинства некитайских вендоров доминируют уже давно.

 

Кстати, очень интересной и перспективной может быть коробка для ната один в один между четверкой и шестеркой. Но и опять же, много их не продать...

 

Так что проблема в основном в востребованности этого девайса, ибо "востребовано тобой - не значит востребовано массово" (с), увы!

 

P.S. Чуть не забыл, Кириллу - респект и уважуха, отличная статья, получал массу удовольствия :)

Share this post


Link to post
Share on other sites

Кстати, очень интересной и перспективной может быть коробка для ната один в один между четверкой и шестеркой. Но и опять же, много их не продать...

вот только все rfc по трансляции уже имеют исторический статус и не рекомендованы к использованию, см. rfc4966

Share this post


Link to post
Share on other sites

да кстати да, нат это прерагатива уже похоже истории и очень специфичных клиентов, везде проще и дешевле уже на белые перейти

Share this post


Link to post
Share on other sites
Guest Sergey Cheban

Про пользу NAT:

Про вирусы и DDOS.

1. Из-за NAT'а DDoS'ить можно ничуть не хуже, чем с белых адресов.

2. Вирусы к пользователям прекрасно проникают через NAT по протоколу HTTP.

3. NAT мешает идентификации DOS'ящего.

 

Про рост трафика и торренты.

Сейчас пользователи так или иначе скачивают всё, что хотят скачать. Если все перейдут на белые адреса, пользователи от этого не станут смотреть (и, соответственно, качать) больше видео. Ну, может быть, чуть снизится эффект от использования retracker.local, но мне кажется, что для оптимизации потоков трафика всё равно давно пора использовать что-то более эффективное. А NAT'ы, вообще говоря, мешают использованию ICMP для поиска оптимального маршрута.

 

Про то, что за белые адреса можно брать деньги.

А не больше ли денег теряется на том, что трафик торрентов из-за NAT'а ходит не оптимальными путями?

 

Про нехватку IP-адресов.

Давно пора внедрять IPv6.

Share this post


Link to post
Share on other sites

Скоро все на нате сидеть будем =) ип6-ип4, адреса кончились и т.п.

У вас таки кончились адреса и это вас таки волнует? Вот только-что ставил SUSE - еле отпинался от IPv6. А что делать хоямячкам с "семёркой"? Их же никто не спрашивает. Оператоы тупо получат полосу с США. Прощай мультиплексирование, если не настроил IPv6

Share this post


Link to post
Share on other sites
Скоро все на нате сидеть будем =) ип6-ип4, адреса кончились и т.п.
У вас таки кончились адреса и это вас таки волнует? Вот только-что ставил SUSE - еле отпинался от IPv6. А что делать хоямячкам с "семёркой"? Их же никто не спрашивает. Оператору тупо получат полосу с США. Прощай мультиплексирование, если не настроил IPv6

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

 

У хомячка рутер типа дир-100, он про ип6 вроде как и не знает, что это такое. Следовательно, 4-то-6 надо городить для рутера, если коннективити давать.

Share this post


Link to post
Share on other sites
в sysctl.conf:

kern.ipc.somaxconn=4069

kern.polling.enable=1

kern.ipc.maxsockets=204800

kern.ipc.shmall=128000000

kern.ipc.shmmax=128000000

kern.ipc.nmbclusters=262144

kern.maxfiles=204800

kern.maxfilesperproc=200000

net.inet.tcp.maxtcptw=40960

net.inet.tcp.msl=30000

net.inet.tcp.nolocaltimewait=1

net.inet.tcp.fast_finwait2_recycle=1

Опять конфиг от веб сервера пихают на роутер.

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