Freebsd или Linux? как маршрутизатор BGP более 100 Мбит / с

10

Я создаю сервер, который будет выполнять роль граничного маршрутизатора BGP для моего канала 100 Мбит / с в ISP.

Мне нужны эти функции:

1) пиринг / маршрутизация BGP с двумя стеками (не менее 100 Мбит / с, а может и больше). 2) Потенциальная полная интернет-подача BGP. 3) Некоторые основные функции ACL.

Аппаратное обеспечение - оперативная память L3426 / 8G. NIC будет встроенным двухпортовым Broadcom 5716.

Раньше я много работал с Linux, и, похоже, он способен обрабатывать 100 Мбит / с, но я слышал, что FreeBSD быстрее работает с сетью. Какой я должен использовать? И есть ли у нас какие-то показатели производительности?

Приветствия.

Петрус
источник
1
Любая причина, почему вы не используете маршрутизатор Cisco BGP? К сожалению, большинство провайдеров, которые позволяют клиентам запускать bgp, определяют это требование для «совместимости»
The Unix Janitor
9
Эм, я впервые услышал об этом ограничении, и теперь я работаю в сети, которая началась с Quagga / Debian на Dell PowerEdge, вплоть до Juniper и Cisco kit. Также имеет дело с большим количеством различных транзитных провайдеров и бирж. Если интернет-провайдер устанавливает такие ограничения, замените их кем-то компетентным.
Найл Донеган
1
Примечание: поскольку это маршрутизатор, я бы настоятельно рекомендовал поместить туда карту NIC в качестве резервной копии. Если встроенная плата выходит из строя, вы заменяете mobo вместо замены быстрой карты PCIe.
Крис С
1
Ты тратишь деньги. Дешевая коробка от Mikrotik (например, RougerBoard 1100AH) может справиться с этим по более низкой цене и основана на Linux.
TomTom
Несколько человек предложили использовать специальный ник, а не встроенные Broadcom. В блоге Serverfault есть пара интересных постов на эту тему.
ollybee

Ответы:

11

Мы сделали именно это для критически важной инфраструктуры на протяжении многих лет. Мы принимаем три полноценных восходящих потока BGP через Quagga, bgpdи он использует колоссальные 658 МБ ОЗУ для работы всей системы. Для этой цели Debian является более надежным, чем другие ОС, по нашему опыту (и ему также требуется меньше обновлений безопасности при минимальной установке, что приводит к гораздо меньшему количеству перезагрузок, чем у двух других ОС, которые мы пробовали). Мы используем Ksplice, поэтому мы загружаемся только для критических обновлений пакетов. Совсем не беспокойтесь о совместимости с другими поставщиками у вашего интернет-провайдера ... РАЗРУШИТЕ RIR, используйте Quagga!

Удивительно, но аппаратное обеспечение не так важно, все дело в сетевых картах. Быстрые процессоры в основном означают, что префиксы загружаются быстрее, если вы обновляете сеансы (при условии, что у вас есть ГБ ОЗУ и они загружаются в память), поэтому Quad Core начального уровня сильно перегружен. Мы потратили много времени, пытаясь использовать разные сетевые адаптеры, и, по нашему опыту, лучшими являются карты Intel, в которых используется igbдрайвер (примерно за 100 фунтов стерлингов / сетевой адаптер мы используем: 82576, двухпортовый серверный адаптер ET) сe1000идет вторым Есть несколько соображений, например, как ваши входные и исходящие сетевые карты взаимодействуют с материнской платой, но для скорости менее 250 Мбит / с вы, вероятно, не заметите, если будете использовать эти сетевые карты. Мы отразили изощренную UDP-DDoS-атаку, используя эту архитектуру (она использовала мельчайшие UDP-пакеты, с которыми роутеры пытаются справиться). Имейте в виду, что возможность обрабатывать наибольшее количество пакетов - это то, что вас больше всего беспокоит, а не обязательно пропускная способность, измеряемая в Мбит / с. За очень небольшие деньги мы указали гигабитный многосетевой маршрутизатор, который может обрабатывать пакеты стандартного размера Интернета, то есть при нормальной работе, до 850 Мбит / с!

Я начал с Cisco ( bgpdконфигурация почти идентична, поэтому, если у вас есть опыт работы с комплектом Cisco, это действительно быстрый переход), но потому, что Linux очень податлив (например, возможность добавить несколько сценариев с низким ресурсом к вашим маршрутизаторам) чтобы помочь с отчетами и администратором) ИМХО делает его невероятно мощным (и недооцененным) для этого типа установки. Вы не ошибетесь, прочитав некоторые архивы списка рассылки Nanog, если у вас все еще есть сомнения или вам нужна дополнительная помощь.

Это должно помочь вам довольно быстро начать работу с Debian: Easy Quagga Tutorial

Джонатан Росс
источник
Другое преимущество работы с Linux заключается в том, что вы можете легко формировать свой трафик tcпосле начальной кривой обучения tc. Однако следует предупредить, что использование IPtables на вашем блоке пересылки значительно снижает производительность ядра во время атак по сравнению с тем, что мы видели.
Джонатан Росс
Я бы хотел услышать больше о проблеме с материнской платой. Кроме того, сколько pps вы можете успешно обработать?
Йорис
При среднем размере пакета (в основном HTTP, SMTP, DNS) мы должны управлять дуплексными 850 Мбит / с. DDoS был 120000 pps 64-байтовых пакетов UDP. Эффект был пренебрежимо мал для производительности, но мы не давили так много трафика, когда он достигал цели.
Джонатан Росс
Мы выбрали материнскую плату с двумя неподключенными быстрыми слотами PCIe, чтобы буферы не были узким местом. Я забыл терминологию, потому что прошло некоторое время с тех пор, как мы купили оборудование. Один для выхода, один для входа. Довольно стандартно в эти дни.
Джонатан Росс
5

Они обе способны платформы. Запустите что-нибудь надежное, например, Debian или Centos, на хорошем оборудовании серверного уровня. Убедитесь, что вы указали серверы с сетевыми платами Intel, они намного лучше, чем Broadcomm для стабильности.

Что касается BSD против Linux, то это легко. Выберите тот, который вам наиболее компетентен.

Том О'Коннор
источник
5
+1, FreeBSD обычно может вытеснить Linux в тестах, но разница (если она есть) настолько мала, что вам просто нужно выбрать платформу, наиболее удобную для вас.
Крис С
3

Я видел, как старые Celeron обрабатывали 80-90 Мбит / с обычного трафика на установке Debian / Quagga с 3 полными потоками, даже не потревожив. Однако в классификаторе присутствует «нормальный» трафик, в основном HTTP / SMTP и DNS. Те же самые машины потерпели неудачу во время DDOS-ситуаций, когда количество пакетов в секунду доходило до смешного числа, в основном пакетов UDP.

Обычно вам нужна не пропускная способность, а PPS, с которым вы будете работать.

К сожалению, я не могу помочь вам в Linux VS BSD для части производительности маршрутизации, но это не должно иметь никакого значения на текущем стандартном оборудовании для нескольких соединений по 100 МБ.

Найл Донеган
источник
2
«производительности маршрутизации» нет. На самом деле это «экспедиторская работа».
Пой
Честный полицейский! :)
Найл Донеган
0

Quagga (Zebra) работает как на Linux, так и на BSD. Сетевая производительность Linux не хуже, чем у BSD. Итак, вам остается рассмотреть дополнительные критерии для выбора платформы.

poige
источник
0

Точка данных:

Я использую пару серверов Dell R200 на Fedora, один из которых видел пиковую скорость 500 Мбит / с с NAT, iptables, LVS, quagga, bgpd по каналу 1GigE. На скорости 100 Мбит / с любое современное оборудование должно работать хорошо. Для обработки полных таблиц вы должны иметь возможность ознакомиться с соответствующими требованиями к оперативной памяти от Cisco или Juniper и перейти оттуда. 1 ГБ ОЗУ должно быть достаточно даже без фильтрации. Мои маршрутизаторы работают с настроенными 2 ГБ, но я использую только маршруты по умолчанию.

dmourati
источник