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

Аппаратная акселирация NAT

Существуют ли в природе платы для аппаратной акселирации NAT для обычных pc router ? Аналогичные как платы криптографической акселирации для vpn.

Share this post


Link to post
Share on other sites

Существуют ли в природе платы для аппаратной акселирации NAT для обычных pc router ?

а зачем ?

Share this post


Link to post
Share on other sites

Иногда кто-то делает сетевые платы с TCAM и даже с сетевыми процессорами. Как пример Intel IXP2400.

Какие из них могут NAT и есть ли отлаженный софт для этого и под какие ОС - надо копать.

Как то это все из "экспериментального" не вышло... Я не знаю кто это применяет...

Share this post


Link to post
Share on other sites

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

Но лично не щупал ни разу.

 

Ой, посмотрел на цену. Берите лучше Cisco сразу. Некоторое ускорение обработки пакетов внутри той хрени таких денег не стоит.

Edited by KT315

Share this post


Link to post
Share on other sites

В NAT часто проблема не в скорости, т.к. писюки лопатят много мегапакетов, а в софте. К примеру линукс после 400 тысяч трансляций загибается. Это относится и к mikrotik cloudrouter на специализированном процессоре. Все из-за того, что там линукс. Со стороны данного ограничения интересно посмотреть на А10.

Share this post


Link to post
Share on other sites

Вряд ли.

Решение слишком нишевое: с одной стороны дешевле взять ещё один писюк, с другой чисто "аппаратные" хреновины.

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

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

Share this post


Link to post
Share on other sites

Just FYI - в A10 тоже линукс.

На сайте A10 сделайте поиск по слову ASIC :) - боюсь в них не линукс заливают.

с таким успехом все девайсы с Cisco XE тоже liunx, а junper это freebsd :)))))

Share this post


Link to post
Share on other sites

Существуют ли в природе платы для аппаратной акселирации NAT для обычных pc router ? Аналогичные как платы криптографической акселирации для vpn.

Любая так называемая аппаратная акселерация не что иное как System-on-a-Chip с небольшой системой ( программой ) для выполнения конкретной задачи. Но комплекс задач под названием NAT трансляция достаточно сложен чтобы описать его на одном asic - поэтому это всегда комплекс из нескольких аsic которые все равно не избегают общения с control plane. Одна из главных проблем

при реализации такого решения для pc router-a как уже говорил Ivan_83 это драйвера для такого железа и их интеграция в ядра linux, freebsd... etc....

Share this post


Link to post
Share on other sites

Платы существуют и софт под них нормальный, только все это в сборе называется Cisco ASR :)

Share this post


Link to post
Share on other sites

snark думаю можно сформулировать иначе - если в PC всунуть всё, что нужно для аппаратного ускорения NAT, то на выходе получится Cisco ASR.

Share this post


Link to post
Share on other sites

snark думаю можно сформулировать иначе - если в PC всунуть всё, что нужно для аппаратного ускорения NAT, то на выходе получится Cisco ASR.

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

Share this post


Link to post
Share on other sites

Just FYI - в A10 тоже линукс.

На сайте A10 сделайте поиск по слову ASIC :) - боюсь в них не линукс заливают.

с таким успехом все девайсы с Cisco XE тоже liunx, а junper это freebsd :)))))

Вы мне рассказываете? :) У меня 3 штуки A10. Почитайте, что такое SoftAX. Возможно у них ASIC и выполняет какие-то задачи для L7 балансинга, но для NAT ASIC нафиг не нужен. Более того, с ASIC очень сложно реализовать правильно helper-ы, если гонять из ASIC в память, это будет еще хуже чем страдать от латентности памяти. ASIC имеет смысл с устройством полностью разработанным под него (плотная интеграция потоком данных), когда требования зашкаливают за пределы писюковых решений, но это совсем не A10, который сделан на базе обычного сервера, и в более старших моделях просто использует ASIC карту. В плане роутинга самый яркий пример подобной архитектуры - C3560/C3750/C4948, где траффик гонится по специализированным шинам из ASIC-а в ASIC, а control plane просто дает команды ASIC. а не e1000e/igb в память, потом из памяти в ASIC, потом из ASIC в память снова, потом проц что-то делает и загоняет в сеть, и все это с традиционными недетерминируемыми задержками и пропускной способностью.

 

У меня вообще чесались руки написать в тему про A10, - более редкостного говнища и дебильного саппорта я больше не встречал.

В моем случае он работает как балансер каналов, и глюков с ним я огреб - по самое нехочу.

После двух месяцев войны с тупым как пробка технарем из Вьетнама и еще кучей народа, что через A10 не открывается dhgate.com, он от меня месяц требовал чтобы я поменял настройки на dhgate.com. Хотя я ему уже всякими способами обьяснял, что я пров, этот сайт не имеет ко мне отношения, я не могу на нем ничего поменять. Пока не дошли до руководства - похер, тупые отписки об одном и том же. Потом он начал требовать дампы траффика и т.п., хотя в принципе сам мог сделать простенькую лабу, и сделать все эти тесты. Из-за этого кретина мне пришлось укладывать весь пров на 15 минут, чтобы снять ему сраный дамп.

После этого это недоразумение сказало - пишите это как заказ на feature request, типа это не баг, чтоб он открывался - надо сделать фичу. А у меня таких сайтов - далеко не один.

 

Сейчас я делаю свой балансер на haproxy, который вышел в несколько раз дешевле и не имеет море глюков как A10. NAT у меня тоже свой. И имел я ставить это убогое поделие как CGNAT, если мне вместо решения проблемы будут тянуть резину месяцами, и потом скажут оформляйте feature request.

Причем это не единственный баг, лень тут все расписывать. Проблема dhgate был простейшей и чрезвычайно легко воспроизводимой, которая могла быть решена в течении 1-2 дней (сделать возможность отключения tcp piggyback). Но в данном случае клиент говно, после того как заплатил деньги, и такой подход я очень не люблю.

Как минимум три других девайса они уже не продали, где я обслуживаю сети. И как только вернусь и дотестирую haproxy, получат возврат и существующих железок.

Share this post


Link to post
Share on other sites

Just FYI - в A10 тоже линукс.

На сайте A10 сделайте поиск по слову ASIC :) - боюсь в них не линукс заливают.

с таким успехом все девайсы с Cisco XE тоже liunx, а junper это freebsd :)))))

Вы мне рассказываете? :) У меня 3 штуки A10.

 

Про A10 весьма познавательно, спасибо :)

О том что NAT чисто софтовая вещь я в курсе - касательно проблем реализации NAT средствами комплекса из нескольких asic + control plane писал выше. Просто отличная от PC архитектура.

Share this post


Link to post
Share on other sites

ну что ж, плохое мнение, да и ещё и ядрокота, тоже мнение, по моему опыту "тупые вьетнамцы" везде есть, которые просят положить сеть на полчаса чтобы снять дамп :)

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

 

по поводу архитектуры А10 для выполнения NAT могу сказать следующее, и вправду там применяется два типа микросхем, одна из них это ASIC от Broadcom - это чип который выполняет функции коммутации и маршрутизации трафика, второй тип микросхем это FPGA с микрокодом основная функция которого заключается в равномерном распределении пакетного трафика по ядрам процессоров, при этом отслеживая загрузку ядер, при этом достигается предсказуемое поведение и задержка, именно при использовании FPGA достигаются те цифры, которые указаны в datasheet, именно при использовании FPGA устройство становится равнодушным к длине пакета.

 

К слову самая топовая модель Thunder 6430 ( http://www.a10networks.com/resources/files/DS-A10_Thunder_6430_and_6430S.pdf ) может обработать 150Gbps трафика и 256М трансляций с использованием четырёх FPGA в одном юните

 

 

По поводу реального опыта могу рассказать про историю одного украинского оператора который просто перекинул для теста весь трафик своих 1,5М абонентов на одно устройство AX3530 с включенным CG-NAT и оставил под нагрузкой, сейчас уже два устройства находятся в коммерческой эксплуатации, ТТ при этом внедрении не возникло.

Share this post


Link to post
Share on other sites

По опыту - самый хороший акселератор NAT - это ASR1000. Он там действительно аппаратный, судя по паттернам нагрузки - вынесен в QFP, CPU общего назначения на RP занимается только очисткой таблиц.

Share this post


Link to post
Share on other sites

Только циферок по нему я не нашел.... есть у меня безхозный ESP5, сколько потянет?

Share this post


Link to post
Share on other sites

ESP5? 5Gbps сквозняком, 250000 трансляций, до 50000 трансляций в секунду. До 500000 трансляций с Carrier Grade NAT.

http://www.cisco.com/en/US/prod/collateral/routers/ps9343/data_sheet_c78-450070.html

Firewall or NAT: 250,000 sessions and 50,000 sessions-per-sec setup rate

Carrier-Grade NAT: 500,000 sessions

 

Для NAT лучше всего ESP10 и выше - на ESP10 1M трансляций, до 10 гиг сквозняком. ESP20/40 - 2M (4M CGN) трансляций, до 20/40 гиг.

Share this post


Link to post
Share on other sites

Для NAT лучше всего ESP10 и выше - на ESP10 1M трансляций, до 10 гиг сквозняком.

Это реальный опыт эксплуатации или просто из документации ?

А то производители любят заявлять одно, а на практике получается совсем иначе.

Share this post


Link to post
Share on other sites
Это реальный опыт эксплуатации или просто из документации ?

А то производители любят заявлять одно, а на практике получается совсем иначе.

Реальный опыт. Экстраполируя текущие паттерны нагрузки - ESP40 действительно способен протянуть 40G сквозняком/2M трансляций при условии наличия достаточного числа интерфейсов.

Из опыта коллег - ESP10/20 - аналогично в пределах своего лимита (10G/20G). Нагрузка на RP растет с ростом трафика / числа сеансов очень слабо - на 200K+ трансляций всего около 4%.

Там фокус в том, что форвардер (QFP) похоже действительно "честный железный" - вне зависимости от задействованных фич (кроме IPSec) его нагрузка всегда растет строго пропорционально трафику.

Еще у ASR1K всё очень плохо с маленькими шейпами - сказывается массированная параллельная обработка - шейпы реально могут колебаться в пределах +-5Mbps, а иногда и выше, в зависимости от характера трафика. Плохо совмещаются ISG+NAT в пределах одной железки - возможны всякие сюрпризы. А так - в целом - железка порадовала производительностью. По фичсету - почти 72xx, только аппаратная.

Share this post


Link to post
Share on other sites

а на практике через нат на asr не ходит gre, большие косяки с работой ftp и другими сервисами, критичными к работе через нат. всех физиологических жидкостей не хватит описать то, как криво он в ios xe работает на asr. в макулатуре цискофлудеры черта лысого рисуют, а вот суровая практика обламывает напроч все. у кого есть позитивный практический опыт использования ната на пул адресов на asr?

Share this post


Link to post
Share on other sites

а на практике через нат на asr не ходит gre, большие косяки с работой ftp и другими сервисами, критичными к работе через нат. всех физиологических жидкостей не хватит описать то, как криво он в ios xe работает на asr. в макулатуре цискофлудеры черта лысого рисуют, а вот суровая практика обламывает напроч все. у кого есть позитивный практический опыт использования ната на пул адресов на asr?

С указанными проблемами не столкнулись. PPTP и FTP/SIP на стандартных портах - точно работают.

Share this post


Link to post
Share on other sites

ну что ж, плохое мнение, да и ещё и ядрокота, тоже мнение, по моему опыту "тупые вьетнамцы" везде есть, которые просят положить сеть на полчаса чтобы снять дамп :)

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

 

по поводу архитектуры А10 для выполнения NAT могу сказать следующее, и вправду там применяется два типа микросхем, одна из них это ASIC от Broadcom - это чип который выполняет функции коммутации и маршрутизации трафика, второй тип микросхем это FPGA с микрокодом основная функция которого заключается в равномерном распределении пакетного трафика по ядрам процессоров, при этом отслеживая загрузку ядер, при этом достигается предсказуемое поведение и задержка, именно при использовании FPGA достигаются те цифры, которые указаны в datasheet, именно при использовании FPGA устройство становится равнодушным к длине пакета.

 

К слову самая топовая модель Thunder 6430 ( http://www.a10networks.com/resources/files/DS-A10_Thunder_6430_and_6430S.pdf ) может обработать 150Gbps трафика и 256М трансляций с использованием четырёх FPGA в одном юните

 

 

По поводу реального опыта могу рассказать про историю одного украинского оператора который просто перекинул для теста весь трафик своих 1,5М абонентов на одно устройство AX3530 с включенным CG-NAT и оставил под нагрузкой, сейчас уже два устройства находятся в коммерческой эксплуатации, ТТ при этом внедрении не возникло.

 

Давай подробности в студию очень интересно и ценник на девайс

PS делать NAT на ASR1k дорого, абсолютно конский ценник на 10ге порты

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