Маршрутизация L3 в ExtremeXOS
Материал из Xgu.ru
Здесь описываются основные с практической точки зрения моменты по настройке и взаимодействию с ExtremeXOS на коммутаторах от Extreme Networks. В качестве основного источника информации используется ExtremeXOS Concepts Guide.
Содержание |
[править] Ресурсы устройства обеспечивающие эффективную маршрутизацию
Таблицы маршрутизации заполняются информацией в результате работы протоколов динамической маршрутизации и исходя из настроек статических маршрутов. Чтобы эффективно обрабатывать и форвардить пакеты, устройства снабжены специализированными микросхемами (ASIC's). В своей работе эти микросхемы используют чипы особого вида памяти, которая называется Content Addressable Memory (CAM). Как следует из названия, адресация информации происходит на основе содержащихся данных. Другими словами, по хешу данных (ip-адресу/маске), можно сразу же адресоваться к месту, где содержится MAC-адрес следующего перехода. Это обеспечивает форвардинг пакетов на скоростях wired-speed. Т.к. CAM реализован на специализированном железе, его объём ограничен и может перераспределяться в зависимости от задачи. Если количество маршрутов превышает возможности CAM, то CPU вынужден участвовать в обработке части трафика, что с одной стороны гораздо медленнее, с другой создаёт нагрузку на процессор. На свичах от Extreme Networks CAM представлен следующими таблицами: Internal LPM (Longest Prefix Match), External LPM, L3-Hash Table и Next-Hop Table.
Внешние таблицы LPM (External LPM) доступны только на BlackDiamond 8900xl и Summit-X480 и могут быть использованы для хранения маршрутов IPv4, arp-записей (local-hosts), мультикаст групп и активных ACL. Каким из этих ресурсов отдавать приоритет, зависит от настройки. Соответственно, настройка должна отражать потребности, которые обслуживает устройство.
Кроме внешних таблиц LPM существуют ещё внутренние (Internal LPM). Распределение ресурсов во внутренних почти не поддаётся настройке. На платформах Summit-x480 и BlackDiamond-8900xl в практически-значимых режимах внутренние таблицы могут содержать только IPv6-маршруты.
Ещё существуют таблицы L3-Hash и Next-Hop. Размер этих таблиц фиксирован. На большинстве платформ L3-Hash - единственное место, где могут храниться мультикаст записи IPv4 и локальные хосты IPv6 (аналог ARP-таблицы для IPv6). В Next-Hop содержится информация об адресах следующих переходов и на её значения ссылаются записи в таблицах LPM и L3-Hash.
Пространство записей в таблицах Internal-LPM и External-LPM разделяется на зарезервированное и незарезервированное. Зарезервированное пространство используется исключительно для хранения L3-маршрутов (префиксов). Незарезервированное пространство доступно для local-host записей (arp-таблица). в External-LPM объём зарезервированного пространства может настраиваться.
Internal-LPM | External-LPM | L3-Hash | Next-Hops | |
l2-only, acl-only, none | 16 352 | N/A | 16 384 | 16 384 |
l2-and-l3-and-acl | 8 192 (b) | 131 040 | 16 384 | 16 384 |
l2-and-l3-and-ipmc | 8 192 (b) | 131 040 | 16 384 | 16 384 |
l2-and-l3 | 8 192 (b) | 262 112 | 16 384 | 16 384 |
l3-only | 8 192 (b) | 524 256 | 16 384 | 16 384 |
(b) - записи могут содержать только IPv6 маршруты.
[править] Настройка
configure forwarding external-tables [ l3-only | l2-only | acl-only | l2-and-l3 | l2-and-l3-and-acl | l2-and-l3-and-ipmc | none ]
Эта команда определяет режим распределения памяти CAM. Для применения изменений необходима перезагрузка.
configure iproute reserved-entries [ <num_routes_needed> | maximum | default ]
Определяет количество записей в таблице External LPM, которые зарезервированы для хранения L3-маршрутов. Оставшиеся записи доступны для хранения arp-таблицы.
Анализ задач, которые могут ставится перед объединённым ядром сети показывает, что имеет смысл оставить настройку по-умолчанию.
configure iproute reserved-entries 65000 configure forwarding external-tables l2-and-l3 (после изменения режима нужен reboot)
При этом надо держать в голове, что максимальное количество маршрутов на ядре не должно превышать 65000.
Если в ходе работы видно, что количество arp-записей не превышает значения Max_LPM_Entries - Reserved_L3_Entries, и при этом есть необходимость в увеличении количества L3-маршрутов на устройствах, значение reserved-entries можно повысить. Это возможно сделать без перезагрузки.
Важное замечание: Если свич Summit участвует в работе MSTP и в топологии присутствуют Cisco Catalyst, то необходимо защищать не-STP-шные порты ACL, фильтрующими BPDU типа PVST, которые могут придти от клиентов (см. подробнее разделы об STP). Правила этого ACL основаны на критерии мак-адреса назначения. В режиме форвардинга l2-and-l3-and-acl критерий мак-адреса источника/назначения в ACL недоступен, поэтому настроенные ранее фильтры действовать не будут. В рабочем ядре это рано или поздно приведёт к появлению в STP-топологии BPDU типа PVST, и свичи Cisco Catalyst, работающие в режиме MSTP, переведут ядерные порты, откуда прилетят такие фреймы, в состояние PVST-Inconsistency и заблокируют их. Поэтому на свичах, где используются фильтрующие BPDU ACL, режим l2-and-l3-and-acl устанавливать не стоит.
[править] Диагностика
show iproute reserved-entries [statistics] show forwarding configuration
Эти команды позволяют узнать текущий и настроенный режим распределения CAM, степень заполнения ёмкостей таблиц существующими маршрутами, а так же теоретические максимумы в различных режимах распределения CAM.
[править] Базовая настройка маршрутизации на свичах от Extreme Networks
Порядок настройки:
- Создать и настроить 2 или более вланов.
- Для каждого влана, который участвует в маршрутизации ip, назначить ip-адрес:
configure vlan <name> ipaddress <ip/mask> | ipv6-link-local | eui64 <ipv6_address_mask> configure vlan <name> add secondary-ipaddress <ip/<mask> - добавление дополнительных ip-адресов во влане.
- Настроить дефолт
configure iproute add default <GW> {<metric>} {multicast | multicast-only | unicast | unicast-only} {vr <NAME>}
- Включить маршрутизацию ip на нужных вланах, или на всех.
enable ipforwarding {ipv4 | broadcast | ignore-broadcast | fast-direct-broadcast} vlan <name>
- Если требуется, настроить протокол маршрутизации.
Фичи:
configure iproute add <network/mask> <GW> {bfd} {metric} {multicast|multicast-only|unicast|unicast-only} {vr <NAME>} - настройка статического маршрута. configure iproute {ipv4} priority [источник] <num> {vr <NAME>} - настройка приоритетов источников маршрутной информации (аналог Administrative Distance у Cisco). enable/disable iproute compression {vr <name>} - настройка компрессии маршрутов (см. ExtremeXOS ConceptsGuide). enable/disable icmp ... - настройка параметров работы устройства с ICMP:
[править] Настройка максимального количество шлюзов для Equal Cost MultiPath (ECMP)
configure iproute sharing max-gateways <num> enable iproute sharing
При значении количества маршрутов, приближающихся к максимуму для выбранного режима CAM, злоупотребление высокими значениями (>2) может привести к нехватке пространства в LPM-таблицах. При нехватке возможностей LPM, лучше отключить эту фичу совсем.
[править] Диагностика
show ipconfig show iproute ... show iparp ... show iparp stats ... show configuration rtmgr - показать конфигурация модуля Route Manager (RTMGR).
[править] Дополнительная информация
[править] Примечания
Extreme Networks | ||
---|---|---|
ExtremeXOS | ExtremeXOS | |
Управление платформой | Управление конфигурациями • Файловая система • BootStrap • Управление Image-файлами • Настройка удалённого управления • SNMP • Параметры журналирования • SNTP (периодический опрос серверов NTP) • Настройка слотов расширений • Другие сервисные функции | |
Базовый функционал коммутации (L2) |
Настройка портов • Функции таблицы коммутации • VLAN • STP • Агрегирование каналов • LLDP • Зеркалирование портов | |
Маршрутизация (L3) | IP-интерфейсы (SVI) • Virtural Routers • Маршрутизация L3 • OSPF • BGP | |
Прочее | ACL • QoS • Скриптование • Примеры скриптов |