Я создаю сервер, который будет выполнять роль граничного маршрутизатора BGP для моего канала 100 Мбит / с в ISP.
Мне нужны эти функции:
1) пиринг / маршрутизация BGP с двумя стеками (не менее 100 Мбит / с, а может и больше). 2) Потенциальная полная интернет-подача BGP. 3) Некоторые основные функции ACL.
Аппаратное обеспечение - оперативная память L3426 / 8G. NIC будет встроенным двухпортовым Broadcom 5716.
Раньше я много работал с Linux, и, похоже, он способен обрабатывать 100 Мбит / с, но я слышал, что FreeBSD быстрее работает с сетью. Какой я должен использовать? И есть ли у нас какие-то показатели производительности?
Приветствия.
linux
networking
performance
bgp
Петрус
источник
источник
Ответы:
Мы сделали именно это для критически важной инфраструктуры на протяжении многих лет. Мы принимаем три полноценных восходящих потока 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
источник
tc
после начальной кривой обучения tc. Однако следует предупредить, что использование IPtables на вашем блоке пересылки значительно снижает производительность ядра во время атак по сравнению с тем, что мы видели.Они обе способны платформы. Запустите что-нибудь надежное, например, Debian или Centos, на хорошем оборудовании серверного уровня. Убедитесь, что вы указали серверы с сетевыми платами Intel, они намного лучше, чем Broadcomm для стабильности.
Что касается BSD против Linux, то это легко. Выберите тот, который вам наиболее компетентен.
источник
Я видел, как старые Celeron обрабатывали 80-90 Мбит / с обычного трафика на установке Debian / Quagga с 3 полными потоками, даже не потревожив. Однако в классификаторе присутствует «нормальный» трафик, в основном HTTP / SMTP и DNS. Те же самые машины потерпели неудачу во время DDOS-ситуаций, когда количество пакетов в секунду доходило до смешного числа, в основном пакетов UDP.
Обычно вам нужна не пропускная способность, а PPS, с которым вы будете работать.
К сожалению, я не могу помочь вам в Linux VS BSD для части производительности маршрутизации, но это не должно иметь никакого значения на текущем стандартном оборудовании для нескольких соединений по 100 МБ.
источник
Quagga (Zebra) работает как на Linux, так и на BSD. Сетевая производительность Linux не хуже, чем у BSD. Итак, вам остается рассмотреть дополнительные критерии для выбора платформы.
источник
Точка данных:
Я использую пару серверов Dell R200 на Fedora, один из которых видел пиковую скорость 500 Мбит / с с NAT, iptables, LVS, quagga, bgpd по каналу 1GigE. На скорости 100 Мбит / с любое современное оборудование должно работать хорошо. Для обработки полных таблиц вы должны иметь возможность ознакомиться с соответствующими требованиями к оперативной памяти от Cisco или Juniper и перейти оттуда. 1 ГБ ОЗУ должно быть достаточно даже без фильтрации. Мои маршрутизаторы работают с настроенными 2 ГБ, но я использую только маршруты по умолчанию.
источник