Freebsd или Linux? в качестве маршрутизатора BGP более 100 Мбит / с
Я создаю сервер, который будет действовать как граничный маршрутизатор BGP для моего канала 100 Мбит / с в ISP.
Мне нужны эти функции:
1) пиринг / маршрутизация BGP с двумя стеками (не менее 100 Мбит / с, а может и больше). 2) Потенциальная полная интернет-подача BGP. 3) Некоторые основные функции ACL.
Аппаратное обеспечение - оперативная память L3426/8G. NIC будет встроенным двухпортовым Broadcom 5716.
Раньше я много работал с Linux, и, похоже, он способен обрабатывать 100 Мбит / с, но я слышал, что FreeBSD быстрее работает с сетью. Какой я должен использовать? И есть ли у нас какие-то показатели производительности?
Приветствия.
5 ответов
Мы сделали именно это для критически важной инфраструктуры на протяжении многих лет. Мы принимаем три полных восходящих потока BGP через Quagga bgpd
и он использует колоссальные 658 МБ оперативной памяти для запуска всей системы. Для этой цели Debian является более надежным, чем другие ОС, по нашему опыту (и ему также нужно меньше обновлений безопасности с минимальным объемом установки, что приводит к гораздо меньшему количеству перезагрузок, чем у двух других ОС, которые мы пробовали). Мы используем Ksplice, поэтому мы загружаемся только для критических обновлений пакетов. Не беспокойтесь о совместимости с другими поставщиками у вашего интернет-провайдера... РАЗРЕШИТЕ RIR, используйте Quagga!
Удивительно, но аппаратное обеспечение не так важно, все дело в сетевых картах. Быстрые процессоры в основном означают, что префиксы загружаются быстрее, если вы обновляете сеансы (при условии, что у вас есть ГБ ОЗУ и они загружаются в память), поэтому Quad Core начального уровня сильно перегружен. Мы долго пробовали разные сетевые карты, и, как показывает наш опыт, лучшими являются карты Intel, использующие igb
драйвера (около 100 фунтов стерлингов /NIC мы используем: 82576, двухпортовый серверный адаптер ET) с e1000
идет вторым Есть несколько соображений, например, как ваши входящие и исходящие сетевые карты взаимодействуют с материнской платой, но для скорости менее 250 Мбит / с вы, вероятно, не заметите, если будете использовать эти сетевые карты. Мы отразили изощренную DDoS-атаку UDP, используя эту архитектуру (она использовала мельчайшие UDP-пакеты, с которыми роутеры пытаются справиться). Имейте в виду, что возможность обрабатывать наибольшее количество пакетов - это то, что вас больше всего беспокоит, а не обязательно пропускная способность, измеряемая в Мбит / с. За очень небольшие деньги мы указали гигабитный многосетевой маршрутизатор, который может обрабатывать пакеты стандартного размера, то есть при нормальной работе, до 850 Мбит / с!
Я начал с Cisco (bgpd
Конфигурация почти идентична, поэтому, если у вас есть опыт работы с комплектом Cisco, это действительно быстрый переход), но потому, что Linux настолько податлив (например, возможность добавить несколько сценариев с низким уровнем ресурсов на маршрутизаторы, чтобы помочь с отчетностью и admin) ИМХО делает его невероятно мощным (и недооцененным) для такого типа настройки. Вы не ошибетесь, прочитав некоторые из архивов списка рассылки Nanog, если у вас все еще есть сомнения или вам нужна дополнительная помощь.
Это должно помочь вам довольно быстро начать работу с Debian: Easy Quagga Tutorial
Они обе способны платформы. Запустите что-нибудь надежное, например, 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 ГБ, но я использую только маршруты по умолчанию.