Балансировка трафика в BGP

Материал из Xgu.ru

Перейти к: навигация, поиск

< BGP

Содержание

[править] Load sharing vs Load balancing

Распределение нагрузки (Load sharing) – возможность распределять трафик (входящий или исходящий) по нескольким маршрутам.

Балансировка нагрузки (Load balancing) – возможность распределять нагрузку между несколькими маршрутами для трафика передающегося в одну сеть.

[править] BGP multipath

BGP Multipath позволяет использовать в таблице маршрутизации несколько маршрутов BGP к одному и тому же получателю.

BGP всё равно выбирает один путь как лучший и анонсирует соседям только его. Для маршрутов должны выполняться такие критерии:

  • Должны быть одинаковыми атрибутами weight, local preference, AS path (весь атрибут, а не только длина), origin code, MED, метрика IGP.
  • next hop маршрутизатор для каждого маршрута должен быть разным

Так как BGP Multipath требует совпадения AS path, то балансировка нагрузки может выполняться в том случае, если клиент подключен к одному и тому же провайдеру несколькими линками.

router bgp 100
  maximum-paths 2

[править] bgp bestpath as-path multipath-relax

Для того чтобы балансировать нагрузку между различными провайдерами, необходимо использовать скрытую команду IOS:

router bgp 100
bgp bestpath as-path multipath-relax

AS path должен быть одинаковой длины, но не обязательно совпадать по перечню AS.

[править] Пример

Хотя в таблице BGP маршрут выбирается по-прежнему только один, в таблице маршрутизации будут оба:

dyn1#sh ip bgp 192.168.14.0
BGP routing table entry for 192.168.14.0/24, version 43
Paths: (2 available, best #2, table Default-IP-Routing-Table)
Multipath: eBGP
Flag: 0x1820
  Not advertised to any peer
  500 1100
    192.168.1.1 from 192.168.1.1 (192.168.6.5)
      Origin IGP, localpref 100, valid, external, multipath
  600 1200
    192.168.3.1 from 192.168.3.1 (192.168.7.6)
      Origin IGP, localpref 100, valid, external, multipath, best

Таблица маршрутизации:

dyn1# sh ip route
B    192.168.14.0/24 [20/0] via 192.168.3.1, 01:23:19
                      [20/0] via 192.168.1.1, 01:23:19

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

dyn1# sh ip route 192.168.14.0
Routing entry for 192.168.14.0/24
  Known via "bgp 100", distance 20, metric 0
  Tag 600, type external
  Last update from 192.168.1.1 00:02:29 ago
  Routing Descriptor Blocks:
  * 192.168.3.1, from 192.168.3.1, 00:03:25 ago
      Route metric is 0, traffic share count is 1
      AS Hops 2
      Route tag 600
    192.168.1.1, from 192.168.1.1, 00:02:29 ago
      Route metric is 0, traffic share count is 1
      AS Hops 2
      Route tag 600

[править] Балансировка исходящего трафика с учетом пропускной способности каналов

BGP Multipath балансирует нагрузку без учета пропускной способности канала.

Функция BGP Link Bandwidth позволяет балансировать нагрузку в соответствии с пропускной способностью.

Icon-caution.gif

EBGP соседи должны быть непосредственно соединены для того чтобы использовать эту возможность

router bgp 100
 bgp dmzlink-bw
 neighbor 192.168.1.1 dmzlink-bw
 neighbor 192.168.3.1 dmzlink-bw
dyn1#sh ip bgp 0.0.0.0
BGP routing table entry for 0.0.0.0/0, version 123
Paths: (2 available, best #2, table Default-IP-Routing-Table)  
Multipath: eBGP
Flag: 0x800
  Advertised to update-groups:
        1
  600
    192.168.3.1 from 192.168.3.1 (192.168.7.6)
     Origin IGP, metric 0, localpref 100, valid, external, multipath
     DMZ-Link Bw 250 kbytes
  500
    192.168.1.1 from 192.168.1.1 (192.168.6.5)
     Origin IGP, metric 0, localpref 100, valid, external, multipath, best
     DMZ-Link Bw 1000 kbytes


dyn1#sh ip route 0.0.0.0
Routing entry for 0.0.0.0/0, supernet
  Known via "bgp 100", distance 20, metric 0, candidate default path
  Tag 500, type external
  Last update from 192.168.1.1 00:01:02 ago
  Routing Descriptor Blocks:
    192.168.3.1, from 192.168.3.1, 00:01:02 ago
      Route metric is 0, traffic share count is 1
      AS Hops 1
      Route tag 500
  * 192.168.1.1, from 192.168.1.1, 00:01:02 ago
      Route metric is 0, traffic share count is 4
      AS Hops 1
      Route tag 500

[править] Балансировка трафика для iBGP с учетом пропускной способности каналов

router bgp 100
 bgp dmzlink-bw
 neighbor 192.168.1.1 dmzlink-bw
 neighbor 192.168.3.1 dmzlink-bw
 neighbor 192.168.100.2 send-community both
 neighbor 192.168.100.3 send-community both
 neighbor 192.168.100.4 send-community both
 maximum-paths 4