Дерево страниц
Перейти к концу метаданных
Переход к началу метаданных

ECMP (англ. Equal-cost multi-path routing) - это метод маршрутизации, при котором пересылка пакетов в один пункт назначения может выполняться по нескольким путям (маршрутам) с равным preference и cost.  Данный метод маршрутизации позволяет сбалансировать нагрузку трафика и увеличить пропускную способность за счет передачи пакетов по нескольким путям с равным preference и cost  до одного и того же места назначения. Балансировка трафика ECMP происходит по сессиям.


ECMP поддержан для протоколов маршрутизации OSPF и BGP.  По умолчанию для OSPF количество multipath маршрутов - 16, для BGP количество multipath маршрутов - 1.

Для изменения количества multipath маршрутов для OSPF необходимо указать maximum-paths при настройке OSPF-процесса. Пример:

ESR# configure
ESR(config)# router ospf 1
ESR(config-ospf)# maximum-paths ?
  1-32  Number of paths

ECMP настраивается глобально для всех IBGP-процессов и EBGP-процессов. Для изменения количества multipath маршрутов необходимо использовать следующую команду:

ESR(config)# router bgp maximum-paths ?
  1-16  Number of paths


Список multipath маршрутов сортируется по адресам nexthop. Если лимит multipath исчерпан, то остальные ECMP маршруты не отображаются в таблице маршрутизации FIB.

Пример отображения multipath маршрутов в таблице маршрутизации для OSPF:

ESR# show ip route
 Codes: C - connected, S - static, R - RIP derived,
        O - OSPF derived, IA - OSPF inter area route,
        E1 - OSPF external type 1 route, E2 - OSPF external type 2 route
        B - BGP derived, D - DHCP derived, K - kernel route, V - VRRP route
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
        * - FIB route
 
O     * 192.0.2.1/32       [150/30]          multipath                         [ospf1 01:10:43]  (1.1.1.1)
                                   via 198.51.100.2 on gi1/0/1.2 weight 1
                                   via 198.51.100.6 on gi1/0/1.3 weight 1
                                   via 198.51.100.10 on gi1/0/1.4 weight 1
                                   via 198.51.100.14 on gi1/0/1.5 weight 1
                                   via 198.51.100.18 on gi1/0/1.6 weight 1
                                   via 198.51.100.22 on gi1/0/1.7 weight 1


Пример ограничения multipath маршрутов для OSPF

Топология:


Задача:

На маршрутизаторе ESR необходимо ограничить количество multipath маршрутов до 2-х.

Исходные данные:

В исходной топологии от маршрутизаторов Router 2, Router 3, Router 4  анонсируется маршрут до подсети 192.0.2.0/24 с одинаковым cost на маршрутизатор ESR. По умолчанию для OSPF включено 16 multipath маршрутов. В результате чего в таблице маршрутизации есть 3 multipath маршрута: 

ESR# show ip route
 Codes: C - connected, S - static, R - RIP derived,
        O - OSPF derived, IA - OSPF inter area route,
        E1 - OSPF external type 1 route, E2 - OSPF external type 2 route
        B - BGP derived, D - DHCP derived, K - kernel route, V - VRRP route
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
        * - FIB route
 
O     * 192.0.2.0/24       [150/30]          multipath                         [ospf1 02:33:15]  (1.1.1.1)
                                   via 203.0.113.14 on gi1/0/1.10 weight 1
                                   via 203.0.113.18 on gi1/0/1.20 weight 1
                                   via 203.0.113.22 on gi1/0/1.30 weight 1

Конфигурация маршрутизатора ESR с выключенным firewall:

ESR# show running-config
router ospf log-adjacency-changes
router ospf 1
  router-id 203.0.113.1
  area 0.0.0.0
    enable
  exit
  enable
exit
 
interface gigabitethernet 1/0/1.10
  ip firewall disable
  ip address 203.0.113.13/30
  ip ospf instance 1
  ip ospf
exit
interface gigabitethernet 1/0/1.20
  ip firewall disable
  ip address 203.0.113.17/30
  ip ospf instance 1
  ip ospf
exit
interface gigabitethernet 1/0/1.30
  ip firewall disable
  ip address 203.0.113.21/30
  ip ospf instance 1
  ip ospf
exit

Решение задачи:

Для решения поставленной задачи необходимо указать maximum-paths, равный 2, при настройке OSPF-процесса. Произведем необходимые изменения в конфигурации:

ESR# configure
ESR(config)# router ospf 1
ESR(config-ospf)# maximum-paths 2
ESR(config-ospf)# do commit
ESR(config-ospf)# do confirm
ESR(config-ospf)# end

В результате в таблице маршрутизации будут 2 multipath маршрута:

ESR# show ip route
 Codes: C - connected, S - static, R - RIP derived,
        O - OSPF derived, IA - OSPF inter area route,
        E1 - OSPF external type 1 route, E2 - OSPF external type 2 route
        B - BGP derived, D - DHCP derived, K - kernel route, V - VRRP route
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
        * - FIB route
 
O     * 192.0.2.0/24       [150/30]          multipath                         [ospf1 02:37:32]  (1.1.1.1)
                                   via 203.0.113.14 on gi1/0/1.10 weight 1
                                   via 203.0.113.18 on gi1/0/1.20 weight 1

Пример настройки ECMP для BGP

Топология:


Задача:

Настроить ECMP с ограничением до 2 multipath маршрутов.

Исходные данные:

В исходной топологии  маршрутизаторы ESR, Router 1 и Router 2 находятся в одной AS 1.  От маршрутизаторов Router 1 и Router 2 анонсируется маршрут до подсети 192.0.2.0/24 с одинаковым cost на маршрутизатор ESR:

ESR# show bgp ipv4 unicast
Status codes: u - unicast, b - broadcast, m - multicast, a - anycast
              * - valid, > - best
Origin codes: i - IGP, e - EGP, ? - incomplete
 
     Network              Next Hop             Metric  LocPrf      Weight Path       
*> u 192.0.2.0/24         198.51.100.2         --      100         0      i
*  u 192.0.2.0/24         203.0.113.2          --      100         0      i

Поскольку multipath для BGP по умолчанию выключен (maximum-paths = 1), то в таблице маршрутизации будет 1 наилучший маршрут до подсети 192.0.2.0/24:

ESR# show ip route
 Codes: C - connected, S - static, R - RIP derived,
        O - OSPF derived, IA - OSPF inter area route,
        E1 - OSPF external type 1 route, E2 - OSPF external type 2 route
        B - BGP derived, D - DHCP derived, K - kernel route, V - VRRP route
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
        * - FIB route
 
B     * 192.0.2.0/24       [170/0]           via 198.51.100.2 on gi1/0/1       [bgp1 04:03:09] (i)
C     * 198.51.100.0/30    [0/0]             dev gi1/0/1                       [direct 02:40:37]
C     * 203.0.113.0/30     [0/0]             dev gi1/0/2                       [direct 04:00:27]

Конфигурация маршрутизатора с выключенным firewall:

ESR# show running-config
router bgp log-neighbor-changes
router bgp 1
  router-id 198.51.100.1
  neighbor 198.51.100.2
    remote-as 1
    address-family ipv4 unicast
      enable
    exit
    enable
  exit
  neighbor 203.0.113.2
    remote-as 1
    address-family ipv4 unicast
      enable
    exit
    enable
  exit
  enable
exit
 
interface gigabitethernet 1/0/1
  ip firewall disable
  ip address 198.51.100.1/30
exit
interface gigabitethernet 1/0/2
  ip firewall disable
  ip address 203.0.113.1/30
exit

Решение задачи:

Для решения поставленной задачи необходимо настроить maximum-paths, равный 2, для всех BGP-процессов. Произведем необходимые изменения в конфигурации:

ESR# configure
ESR(config)# router bgp maximum-paths 2
ESR(config)# do commit
ESR(config)# do confirm
ESR(config)# exit

В результате в таблице маршрутизации будут 2 multipath маршрута:

ESR# show ip route
 Codes: C - connected, S - static, R - RIP derived,
        O - OSPF derived, IA - OSPF inter area route,
        E1 - OSPF external type 1 route, E2 - OSPF external type 2 route
        B - BGP derived, D - DHCP derived, K - kernel route, V - VRRP route
        i - IS-IS, L1 - IS-IS level-1, L2 - IS-IS level-2, ia - IS-IS inter area
        * - FIB route
 
B     * 192.0.2.0/24       [170/0]           multipath                         [bgp1 04:03:09]
                                   via 198.51.100.2 on gi1/0/1 weight 1
                                   via 203.0.113.2 on gi1/0/2 weight 1
C     * 198.51.100.0/30    [0/0]             dev gi1/0/1                       [direct 02:40:37]
C     * 203.0.113.0/30     [0/0]             dev gi1/0/2                       [direct 04:00:27]



  • Нет меток