Наилучшая практика для комбинации HSRP и ECMP

Комбинация ECMP (или другие причины асимметричных путей) и HSRP по умолчанию отключен в Cisco IOS; поведение по умолчанию с этим проектом наводняет одноадресный трафик чрезмерно.

Какова наилучшая практика использования HSRP с ECMP для предотвращения неизвестного однонаправленного наводнения?

Подробности /Фон

У нас есть топология HSRP, аналогичная первой диаграмме ниже для многих наших объектов. Наши маршрутизаторы Cisco WAN имеют одинаковые затраты на все другие сайты; таким образом, мы можем видеть асимметричные эффекты маршрутизации все время. Обычно мы назначаем R1 основным HSRP, но ECMP разрешает обратный трафик через R1 или R2.

Проблема заключается в том, что когда PC1 монтирует удаленный диск iSCSI через WAN, трафик покидает сайт через R1, но может вернуться через R2. Пока трафик iSCSI возвращается через R1, проблем нет.

HSRP_Broken_00

Проблема возникает, когда трафик PC1 возвращается через R2. Предположим, что сеанс iSCSI начинается в 8:00:00, и оба маршрутизатора и оба коммутатора одновременно изучают Mac Mac. Между 8:00:00 и 8:00:05 нет проблем с наводнениями, потому что оба коммутатора по-прежнему имеют MAC-адрес PC1 в таблице CAM.

HSRP_Broken_01

Через пять минут после начала сеанса iSCSI запись CAM S2 для MAC-сервера PC1 истекает из таблицы CAM, а S2 наводняет трафик PC1 на все порты (в данном случае - на Po1, Gi0 /3 и Gi0 /4). Если сеанс iSCSI на ПК1 потребляет большую полосу пропускания, это неизвестное однонаправленное наводнение может сосать нетривиальную емкость от ссылок на PC3 и PC4.

Коммутаторы Cisco IOS имеют таймер CAM по умолчанию, равный 300 секундам ...

 S2# show mac address-table aging-time
Vlan Aging Time
---- ----------
1    300
17   300
 

Однако таймер ARP по умолчанию для Cisco IOS по умолчанию составляет 4 часа ...

 R2# show interface gi0/0
GigabitEthernet0/0 is up, line protocol is up 
  Hardware is AmdP2, address is 000a.dead.beef (bia 000a.dead.beef)
  Internet address is 172.17.1.252/24
  MTU 1500 bytes, BW 10000 Kbit, DLY 1000 usec, 
     reliability 255/255, txload 1/255, rxload 1/255
  Encapsulation ARPA, loopback not set
  Keepalive set (10 sec)
  ARP type: ARPA, ARP Timeout 04:00:00       <--------------
 

Следовательно, S2 начинает наводнение трафика iSCSI PC1 через пять минут.

HSRP_Broken_02

16 голосов | спросил Mike Pennington 3 J000000Wednesday13 2013, 14:58:28

6 ответов


12

Простой ответ заключается в том, чтобы сделать таймер CAM равным или немного длиннее, чем соответствующий интерфейс ARP-таймер , но есть по крайней мере три разных параметра для выбора из ...

Вариант 1: Опустить все интерфейсы Таймеры ARP

Эта опция работает лучше всего, если у вас есть сеть с коммутацией уровня 2 с приличным размером, разумное количество записей ARP и несколько маршрутизированных интерфейсов. Этот метод также предпочтительнее, если вам нравится быстро выходить из топологии компьютеров Mac.

  • На всех интерфейсах Ethernet IOS, обращенных к коммутатору ethernet: arp timeout 240
  • На всех интерфейсах Ethernet IOS перед коммутатором ethernet: hold-queue 200 in и hold-queue 200 out, чтобы избежать удаления ARP-пакетов во время периодических ARP-обновлений (эти лимиты могут быть выше или ниже в зависимости от того, сколько обновлений ARP вы считаете, что вам нужно будет обрабатывать сразу). Если вы корректируете значения Selective Packet Discard , вы должны следовать рекомендациям в документе Я связан.

Это заставляет Cisco IOS обновлять таблицу ARP в течение четырех минут, если для данной записи ARP не было иначе. Очевидным недостатком является то, что это не очень хорошо масштабируется, если у вас много записей ARP ... пределы варьируются в зависимости от платформы. Я использовал это с несколькими сотнями ARP на маршрутизатор на Catalyst 4500/6500 (SVI Layer3) без каких-либо проблем.

Вариант 2: Увеличьте таймер CAM переключателя

Этот параметр работает лучше всего, если у вас есть большое количество записей ARP (например, тысячи, например интенсивная среда VMWare).

  • На всех коммутаторах IOS: mac address-table aging-time 14400 или mac address-table aging-time 14400 vlan <vlan-id> для любого Vlan это вызывает озабоченность.

Это изменение регулирует таймеры, которые, по мнению большинства людей, фиксируются на 300 секунд (в Cisco IOS), поэтому обязательно включите это в документы непрерывности. Побочным эффектом этого является то, что записи таблицы CAM задерживаются в течение 4 часов после удаления ПК (что может быть хорошим или плохим, в зависимости от вашего PoV). Если 4 часа слишком длинны, см. Следующий вариант ...

Вариант 3: изменить как таймеры интерфейса ARP, так и таймеры CAM переключателя

Этот параметр позволяет избежать тайных таймеров CAM в варианте 2 за счет большей конфигурации. Вы можете выбрать, нужны ли вам 900 секунд, 1800 секунд или что-то еще ... просто убедитесь, что ваши таймеры CAM и ARP совпадают; таким образом, вам нужно будет настроить как Варианты 1, так и Вариант 2 в своих топологиях.

ответил Mike Pennington 3 J000000Wednesday13 2013, 14:58:28
1

Для меня здесь важна проблема ECMP - поэтому в дополнение к вышеуказанным шагам для ограничения неизвестного однонаправленного наводнения вы также можете настроить метрику маршрута в WAN, чтобы R1 был предпочтительнее R2 для обратного трафика. Одним из способов достижения этого является распространение списка на R2 следующим образом: (EIGRP используется, например, то же самое может быть достигнуто с OSPF или BGP с другими командами)

!
ip prefix-list R1-PREFER seq 5 разрешение 172.17.1.0/24
!
карта маршрута R1-PREFER-MAP разрешает 10
 сопоставить ip-адрес префикс-списка R1-PREFER
 set metric 1 1 1 1 1
... (разрешить все другие маршруты)
!
маршрутизатор eigrp 1
 ....
 карта маршрута распределения-списка R1-PREFER-MAP out Ser1 /0
 ....

Это приведет к тому, что WAN переадресует весь трафик на 172.17.1.0 на R1. Если R1 Se1 /0 не удастся, маршрут будет установлен в сторону R2. Вы можете дополнительно настроить эти показатели, чтобы путь резервного копирования к R2 на самом деле был осуществимым преемником для более быстрого перехода на другой ресурс. HSRP и отслеживание будут следить за исходящим трафиком.

ответил smoothbSE 3 J000000Wednesday13 2013, 20:04:53
1

Резюме: MC-LAG или HSRP GARP

Я никогда не был поклонником таймингов. Таймеры устанавливаются определенным образом, как правило, по многим причинам. Изменение их:

  • потенциально оперативно интенсивен, чтобы поддерживать везде те же самые
  • делает вещи более сложными и трудными для устранения неполадок.
  • , как показал недавний комментарий, может иметь неожиданные побочные эффекты
  • может не «хорошо играть» с будущими улучшениями Cisco.

В качестве альтернативы:

  1. Использовать MC-LAG (он же «MEC» в документации Cisco). Это ваш лучший вариант, хотя вы должны понимать сценарии развертывания, в которых можно использовать MC-LAG (это не универсальное решение, и его следует развертывать только после соответствующих исследований и тестирования). Варианты MC-LAG зависят от оборудования. Примерами являются:

    а. Stacking (Cat 3k)

    б. VSS (Cat4k /6k)

    с. VPC (Nexus)

    д. Pseudo mLACP (ASR1k)

    е. MC-LAG (ASR9k)

    ф. Кластеризация (ASA)

  2. Включить HSRP для периодической отправки Gratuitous ARP-пакетов . Конечно, это похоже на изменение таймеров, но это гораздо более изящное изменение, чем манипулирование таблицей CAM и таймерами ARP. (Обратите внимание, что это зависит от вашей аппаратной и программной комбинации, но не все варианты HSRP предлагают это.)

    По умолчанию HSRP отправляет 3 GARP, через 0, 2 и 4 секунды после того, как маршрутизатор становится шлюзом пересылки. Однако есть параметр конфигурации, который позволяет вам выбирать количество GARP (включая «бесконечный») и интервал.

Я использую MC-LAG довольно широко, особенно VSS, VPC и Clustering (я не поклонник укладки).

Где я не могу использовать MC-LAG или GLBP, это то, что я применяю к граничным маршрутизаторам L2 /L3 на кампусе (у меня есть кампус с 350 зданиями, поэтому я очень сильно использую Cat6k):

 Cat6k-v15(config)#interface vlan 100
Cat6k-v15(config-if)#standby arp ?
  gratuitous  Setup gratuitous ARP interval and count

Cat6k-v15(config-if)#standby arp gratuitous ?
  count     Set HSRP gratuitous ARP count
  interval  Set HSRP gratuitous ARP interval
  <cr>

Cat6k-v15(config-if)#standby arp gratuitous count ?
  <0-60>  Number of gratuitous ARPs to send after group is activated (0 for continuous)

Cat6k-v15(config-if)#standby arp gratuitous count 0 ?
  count     Set HSRP gratuitous ARP count
  interval  Set HSRP gratuitous ARP interval
  <cr>

Cat6k-v15(config-if)#standby arp gratuitous count 0 interval ?
  <3-1800>  Gratuitous ARP Interval (sec)

Cat6k-v15(config-if)#standby arp gratuitous count 0 interval 60 ?
  count     Set HSRP gratuitous ARP count
  interval  Set HSRP gratuitous ARP interval
  <cr>

Cat6k-v15(config-if)#standby arp gratuitous count 0 interval 60 
 

(Я бы опубликовал ссылки на все это, но у меня нет достаточно высокой «репутации» на этом сайте, чтобы разместить более двух URL-адресов.)

ответил Weylin Piegorsch 28 J0000006Europe/Moscow 2017, 20:26:57
0

Идея, если не использовать ECMP, если HSRP используется, может быть в порядке для СЕРВЕРОВ, где трафик входа может быть выше, чем исходящий трафик, в ситуации ПК. В общем случае входной трафик из WAN (ответов) выше, чем исходящий трафик (вход ). Нам нравится, что большинство людей просто устанавливают таймеры ARP. вы можете работать с таймерами CAM, но если вы скажете, что MDF с коммутатором уровня 3 и IDF с 2 переключателями коллекции и говорят 5 переключателей доступа, это LOT easer для настройки на L3 SVI, чем для всех переключателей доступа.

ответил fredpbaker 18 PM000000100000001831 2013, 22:03:18
0

Можно использовать стек коммутаторов для смягчения этой проблемы с истечением срока действия MAC-адреса во втором коммутаторе.

ответил Eugene Smirnov 11 +03002016-10-11T11:38:20+03:00312016bEurope/MoscowTue, 11 Oct 2016 11:38:20 +0300 2016, 11:38:20
0

А, я помню этот. Недели веселья имели дело с этим назад несколько рабочих мест назад. Одна морщина заключается в том, что события STP помещают vlans в режим быстрого старения, поэтому установка таймера MAC дольше, чем таймер ARP, не помогает

Я решил проблему, заставив ECMP вернуться с серверов, создав два плавающих HSRP-шлюза с одним основным на каждом маршрутизаторе. Затем мы настроили оба шлюза на каждом хосте. Таким образом, принудительно передавая хост-трафик как R1, так и R2, мы были бы уверены, что R2 никогда не стареет с MAC-адресами.

В идеале это не будет проблемой, если L2 /3 переключит очищенные записи ARP, связанные с устаревшими MAC-адресами. Следующий пакет для IP затем приведет к новому запросу ARP, заполняя как кеш ARP, так и таблицу MAC. I think Cisco в конце концов реализовала это, но я не могу сказать точно.

ответил caw 27 J0000006Europe/Moscow 2017, 08:29:32

Похожие вопросы

Популярные теги

security × 330linux × 316macos × 2827 × 268performance × 244command-line × 241sql-server × 235joomla-3.x × 222java × 189c++ × 186windows × 180cisco × 168bash × 158c# × 142gmail × 139arduino-uno × 139javascript × 134ssh × 133seo × 132mysql × 132