Перейти к содержимому
Калькуляторы

кто чем натит/шейпит юзеров?

Сеть всё расчёт и растёт. Нагрузка на внешние каналы тоже.

Сейчас в инет смотрят три freebsd роутера. Построено на Athlon 64 3200+

 

# netstat -w1d

input (Total) output

packets errs bytes packets errs bytes colls

21478 0 11166800 21333 0 11036978 0

21026 0 10990733 20882 0 10950442 0

20308 0 10823056 20172 0 10693047 0

21116 0 10958770 20824 0 10753144 0

20891 0 10785104 20553 0 10482694 0

21618 0 10785343 21482 0 10802148 0

21989 0 11047078 21783 0 10872372 0

21403 0 11476308 21024 0 11219736 0

^C

 

#top

46 processes: 2 running, 44 sleeping

CPU states: 13.1% user, 0.0% nice, 21.7% system, 52.8% interrupt, 12.4% idle

Mem: 398M Active, 402M Inact, 142M Wired, 56K Cache, 207M Buf, 735M Free

Swap: 1024M Total, 1024M Free

 

 

# ipnat -s

mapped in 4808863146 out 4873251405

added 214610693 expired 0

no memory 1668648 bad nat 53852853

inuse 150008

rules 1

wilds 0

 

 

Грядущие проблемы:

1. нехватка прерываний (проблему можно отдалить поставив 4х ядерный сервер на opteron'ах. и 2х-4х головые серверные сетевушки intel.

2. максимальное количество записей в ipnat во freebsd 180000. Стандартно вообще 30000. Получается, что дальше 180 000 не сделаешь. (проблему можно решить размножив freebsd роутеры.

 

 

Вопрос, существуют ли какие-либо железки в природе, которые могут:

1. натить как минимум 400 000 записей ipS.portS--ipD.portD

2. шейпить с шагом в 1 килобит в секунду

3. обслуживать как минимум 10 000 пользователей

4. управление по snmp

5. гигабитные порты желательно, но пока не критично

6. ограничивать количество активных соединений на каждый натируемые ип.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Сеть всё расчёт и растёт. Нагрузка на внешние каналы тоже.

Сейчас в инет смотрят три freebsd роутера. Построено на Athlon 64 3200+

2. максимальное количество записей в ipnat во freebsd 180000. Стандартно вообще 30000. Получается, что дальше 180 000 не сделаешь. (проблему можно решить размножив freebsd роутеры.

Лечится. Правим сорцы ручками, натит сколько скажешь. 1 файл в паре-тройке мест.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Есть ещё одна проблема. Чем больше загрузка, тем чаще скорость шейпированного канала реже достигает своего максимального канала. Пользователи начинают роптать. Что делать ума не приложу. Разве что на самом деле предоставлять канал большей ёмкости.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Для начала следует пристрелить того, кто туда поставил атлоны.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Для начала следует пристрелить того, кто туда поставил атлоны.

гхм. при всём уважении к Вам, не могли бы Вы пояснить в чём проблема?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Это болтология. Не обращай внимания. Манера не говорить по существу и при видимом участии в дискуссии не давать никакой реальной информации.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

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

у меня тоже получилось около 20000 пакетов

есть кто достиг большего ?

 

ну либо 65 каталист с 4мя FW модулями ;) но это слишком дорого...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

гхм. при всём уважении к Вам, не могли бы Вы пояснить в чём проблема?

L2 cache + chipset.

 

 

CPU states: 0.0% user, 0.0% nice, 0.2% system, 9.1% interrupt, 90.7% idle

 

pf nat ( optimization aggressive ) , polling em(4)

 

Pentium D 925, i7230

 

~= 25kpps, ~=120Mbit/s, 100k nat entries

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

можно натить не адресом, а пулом адресов(внешних)

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

CPU states: 0.0% user, 0.0% nice, 0.2% system, 9.1% interrupt, 90.7% idle

pf nat ( optimization aggressive ) , polling em(4)

Pentium D 925, i7230

~= 25kpps, ~=120Mbit/s, 100k nat entries

а немогли бы вы по подробнее описать как вы добились столь выдающихся результатов ?

у меня при подобной производительности получается 30-40% интераптов...

проц такой же или даже чуть быстрее чипсет правда 945/965 может быть дело в нём ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Ну-ка, ну-ка, какой там проц побыстрее ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

не знаю как там у вас в фряхе ну у нас на линухе единственное ограничение с которым я столкнулся и не смог обойти, так это 65535 натов на 1 внешний IP :)

 

и опять же...

какой таймаут стоит на эстабилишед? если РФЦшный 4 дня, то никаких натов не хватит!

ну и к-во сессий на юзера надо ограничивать... 100, 1000, 10000, но ограничивать надо! иначе задосят рано или поздно.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

не знаю как там у вас в фряхе ну у нас на линухе единственное ограничение с которым я столкнулся и не смог обойти, так это 65535 натов на 1 внешний IP :)
я вроде сказал достаточно ясно как обойти проблему:
можно натить не адресом, а пулом адресов(внешних)
этим ты обойдешь ограничение по кол-ву портов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

И на сколько он быстрее на реальных тестах ? nat + pf + forwarding ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

CPU states: 0.0% user, 0.0% nice, 0.2% system, 9.1% interrupt, 90.7% idle

 

pf nat ( optimization aggressive ) , polling em(4)

 

Pentium D 925, i7230

 

~= 25kpps, ~=120Mbit/s, 100k nat entries

мне тоже интересно как добиться такихже результатов... у меня при 15 мегабитах на 1000 пользователеей

CPU states: 68.5% user,  0.0% nice, 10.9% system, 20.6% interrupt,  0.0% idle
Mem: 36M Active, 732M Inact, 115M Wired, 50M Cache, 111M Buf, 59M Free
Swap: 1024M Total, 1024M Free

или вот так если на децл меньше....

CPU states: 52.0% user,  0.0% nice,  9.8% system, 22.7% interrupt, 15.6% idle
Mem: 36M Active, 732M Inact, 115M Wired, 50M Cache, 111M Buf, 59M Free
Swap: 1024M Total, 1024M Free

при этом у всех анлимщиков 16 TCP сессий

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Непонятно, откуда такая загрузка в userspace...

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Правильно ли я понимаю pf - на каждый ип нужно создавать свою очередь, чтобы у него был персональный шейп?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

И на сколько он быстрее на реальных тестах ? nat + pf + forwarding ?
я писал что почти на таком же железе у меня 30-40 % интераптов при 20 000 пакетах.

и просил поделиться опытом по достижению ваших результатов.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

И на сколько он быстрее на реальных тестах ? nat + pf + forwarding ?

я писал что почти на таком же железе у меня 30-40 % интераптов при 20 000 пакетах.

и просил поделиться опытом по достижению ваших результатов.

Core2Duo E6300

 

CPU states: 12.0% user, 0.0% nice, 58.1% system, 9.8% interrupt, 20.1% idle

Mem: 50M Active, 717M Inact, 179M Wired, 44M Cache, 111M Buf, 1652K Free

 

cm@upload:~>netstat -I em0 -w 1

input (em0) output

packets errs bytes packets errs bytes colls

13973 0 5934487 18340 0 27424551 0

14353 0 9384411 14652 0 21841774 0

15712 0 8051636 19157 0 28833962 0

12697 0 4133942 18055 0 27188596 0

 

Но это не НАТ, это фтп-раздатчик.

 

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

у меня тоже получилось около 20000 пакетов

есть кто достиг большего ?

 

ну либо 65 каталист с 4мя FW модулями ;) но это слишком дорого...

Mikrotik/AMD 3500+/NAT

30kpps, 30-50% CPU

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

И на сколько он быстрее на реальных тестах ? nat + pf + forwarding ?

я писал что почти на таком же железе у меня 30-40 % интераптов при 20 000 пакетах.

и просил поделиться опытом по достижению ваших результатов.

polling и smp включать не пробовали ?

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

не знаю как там у вас в фряхе ну у нас на линухе единственное ограничение с которым я столкнулся и не смог обойти, так это 65535 натов на 1 внешний IP :)

я вроде сказал достаточно ясно как обойти проблему:
можно натить не адресом, а пулом адресов(внешних)
этим ты обойдешь ограничение по кол-ву портов.

да это понятно, что можно несколько адресов взять, я говорю, что на _один_ адрес не может быть больше сессий.

 

 

и всё же, кто какой тайм-аут соединений использует? не ужели все на дефолтном сидят? к стати, а какой во фре дефолтный, а то лень лезть смотреть..... ???? или никого не парит что более 90% сессий мёртвые?

Изменено пользователем desperado

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

не знаю как там у вас в фряхе ну у нас на линухе единственное ограничение с которым я столкнулся и не смог обойти, так это 65535 натов на 1 внешний IP :)

я вроде сказал достаточно ясно как обойти проблему:
можно натить не адресом, а пулом адресов(внешних)
этим ты обойдешь ограничение по кол-ву портов.

да это понятно, что можно несколько адресов взять, я говорю, что на _один_ адрес не может быть больше сессий.

 

 

и всё же, кто какой тайм-аут соединений использует? не ужели все на дефолтном сидят? к стати, а какой во фре дефолтный, а то лень лезть смотреть..... ???? или никого не парит что более 90% сессий мёртвые?

ИМХО, утверждение справедливо для PAT и то не во всех случаях (например не в случае балансировки нагрузки средствами трансляции), для динамического NAT достаточно обеспечить условие уникальности ХОСТ_ИП1-протокол[-порт] <-НАТ_ИП2-> ХОСТ_ИП3-протокол[-порт] и с одним "внешним" ИП можно "натить" больше чем 65к "сессий". Зависит от реализации DNAT.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

ИМХО, утверждение справедливо для PAT и то не во всех случаях (например не в случае балансировки нагрузки средствами трансляции), для динамического NAT достаточно обеспечить условие уникальности ХОСТ_ИП1-протокол[-порт] <-НАТ_ИП2-> ХОСТ_ИП3-протокол[-порт] и с одним "внешним" ИП можно "натить" больше чем 65к "сессий". Зависит от реализации DNAT.

оно, конечно, так, но я бы не стал без острой необходимости использовать один src порт для нескольких соединений.

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.