BGP

BGP

Техподдержка Фактор-ТС

BGP обеспечивает маршрутизацию без петель между автономными системами (AS), RFC 4271 «A Border Gateway Protocol 4 (BGP-4)». 

Маршрутизаторы используют протоколы внутренней маршрутизации (IGP) внутри AS, а вне AS - протокол BGP.

Когда BGP работает между маршрутизаторами в одной AS, это называется внутренний BGP (IBGP). Когда BGP работает между маршрутизаторами, которые принадлежат к разным AS, это называется внешний BGP (EBGP). BGP использует TCP в качестве транспорта (порт 179). Два BGP-маршрутизатора устанавливают TCP-соединения между собой. Такие маршрутизаторы называются соседними маршрутизаторам (соседями).

В приведенном примере применена типовая схема коммутации № 10

Первое, что требуется для начала настройки BGP, это включить BGP-маршрутизатор. Сделать это можно командой:


NX-1(config)# router bgp <AS>


<AS> - номер AS, в которую входит настраиваемый BGP-маршрутизатор.


После ввода команды система переходит в режим конфигурирования BGP, в котором вводятся остальные команды настройки BGP-маршрутизатора.


Пример включения BGP-маршрутизатора, который входит в AS с номером 65000.

NX-1(config)# router bgp 65000

NX-1(config-bgp-65000)# 


BGP-соединение устанавливается между двумя соседями. Пример настройки IBGP-соединения между NX-1 из AS 65000 с IP-адресом 192.168.10.1 и NX-2 из AS 65000 c IP-адресом 192.168.10.2:

NX-1(config-bgp-65000)# neighbor 192.168.10.2 remote-as 65000


NX-2(config-bgp-65000)# neighbor 192.168.10.1 remote-as 65000


Чтобы указать сети, которые нужно анонсировать соседнему маршрутизатору необходимо добавить следующие параметры:


NX-1(config-bgp-65000)# address-family ipv4 unicast

NX-1(config-bgp-65000-af4-unicast)# network 192.168.1.0/24


NX-2(config-bgp-65000)# address-family ipv4 unicast

NX-2(config-bgp-65000-af4-unicast)# network 192.168.2.0/24


С помощью «address-family» указываем какие сети будут доступны соседнему маршрутизатору.


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


NX-1# show ip route


Codes: K - kernel route, C - connected, S - static, R - RIP,

    O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,

    T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,

    F - PBR,

    > - selected route, * - FIB route


C>* 192.168.1.0/24 is directly connected, ethernet1, 5d05h06m

B>* 192.168.2.0/24 [200/0] via 192.168.10.2, ethernet3, 00:03:57

C>* 192.168.10.0/24 is directly connected, ethernet3, 01:11:53


NX-2# show ip route


Codes: K - kernel route, C - connected, S - static, R - RIP,

    O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,

    T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,

    F - PBR,

    > - selected route, * - FIB route


B>* 192.168.1.0/24 [200/0] via 192.168.10.1, ethernet3, 00:05:30

C>* 192.168.2.0/24 is directly connected, ethernet1, 00:43:35

C>* 192.168.10.0/24 is directly connected, ethernet3, 01:14:05


Согласно таблицам маршрутизации - маршрутизаторы передали друг другу информацию о сетях. Также в таблице маршрутизации указано, что при передаче данных в новую сеть используется протокол BGP.

Для проверки корректной работы протокола BGP в одной AS необходимо запустить ping с NX-1 на ПК-2


NX-1# ping 192.168.2.2


PING 192.168.2.2 (192.168.2.2) 56(84) bytes of data.

64 bytes from 192.168.2.2: icmp_seq=1 ttl=127 time=0.461 ms

64 bytes from 192.168.2.2: icmp_seq=2 ttl=127 time=0.304 ms

64 bytes from 192.168.2.2: icmp_seq=3 ttl=127 time=0.309 ms

64 bytes from 192.168.2.2: icmp_seq=4 ttl=127 time=0.318 ms

64 bytes from 192.168.2.2: icmp_seq=5 ttl=127 time=0.355 ms

--- 192.168.2.2 ping statistics ---

5 packets transmitted, 5 received, 0% packet loss, time 63ms

rtt min/avg/max/mdev = 0.304/0.349/0.461/0.060 ms


В данном случае NX-1 и NX-2 находятся в одной AS – об этом свидетельствует административная дистанция в таблице маршрутизации – «200/0» и данные, которые показывает команда «show router bgp neighbors»:


NX-1# show router bgp neighbors


BGP neighbor is 192.168.10.2, remote AS 65000, local AS 65000, internal link

Hostname: bgpd

 BGP version 4, remote router ID 192.168.10.2, local router ID 192.168.10.1

 BGP state = Established, up for 00:23:56

 Last read 00:00:56, Last write 00:00:56

 Hold time is 180, keepalive interval is 60 seconds

 Neighbor capabilities:

  4 Byte AS: advertised and received

  AddPath:

   IPv4 Unicast: RX advertised IPv4 Unicast and received

  Route refresh: advertised and received(old & new)

  Address Family IPv4 Unicast: advertised and received

  Hostname Capability: advertised (name: bgpd,domain name: n/a) received (name: bgpd,domain name: n/a)

  Graceful Restart Capabilty: advertised and received

   Remote Restart timer is 120 seconds

   Address families by peer:

    None

 Graceful restart informations:

  End-of-RIB send: IPv4 Unicast

  End-of-RIB received: IPv4 Unicast

 Message statistics:

  Inq depth is 0

  Outq depth is 0

             Sent    Rcvd

  Opens:         2     2

  Notifications:     0     2

  Updates:        3     3

  Keepalives:      25     25

  Route Refresh:     0     0

  Capability:       0     0

  Total:         30     32

 Minimum time between advertisement runs is 0 seconds


 For address family: IPv4 Unicast

 Update group 2, subgroup 2

 Packet Queue length 0

 Community attribute sent to this neighbor(all)

 1 accepted prefixes


 Connections established 2; dropped 1

 Last reset 00:23:58, due to NOTIFICATION received (Cease/Peer Unconfigured)

Local host: 192.168.10.1, Local port: 52046

Foreign host: 192.168.10.2, Foreign port: 179

Nexthop: 192.168.10.1

Nexthop global: ::

Nexthop local: ::

BGP connection: shared network

BGP Connect Retry Timer in Seconds: 120

Read thread: on Write thread: on


Чтобы настроить маршрутизацию BGP между NX-1 и NX-2, находящихся в разных AS, необходимо изменить конфигурацию «router bgp» на данных маршрутизаторах:


NX-2(config)# no router bgp 65000

NX-2(config)# router bgp 65001


На NX-2 необходимо создать новый router bgp с новой AS, при этом другие настройки оставить неизменными


NX-2(config-bgp-65001)# neighbor 192.168.10.1 remote-as 65000

NX-2(config-bgp-65001)# address-family ipv4 unicast

NX-2(config-bgp-65001-af4-unicast)# network 192.168.2.0/24


NX-1(config)# router bgp 65000

NX-1(config-bgp-65000)# no neighbor 192.168.10.2


На NX-1 необходимо изменить только настройки соседнего BGP маршрутизатора, изменив номер AS


NX-1(config-bgp-65000)# neighbor 192.168.10.2 remote-as 65001


После проведенных изменений необходимо посмотреть таблицы маршрутизации на NX-1 и NX-2


NX-1# show ip route


Codes: K - kernel route, C - connected, S - static, R - RIP,

    O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,

    T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,

    F - PBR,

    > - selected route, * - FIB route


C>* 192.168.1.0/24 is directly connected, ethernet1, 5d05h29m

B>* 192.168.2.0/24 [20/0] via 192.168.10.2, ethernet3, 00:08:44

C>* 192.168.10.0/24 is directly connected, ethernet3, 01:34:49


NX-2# show ip route


Codes: K - kernel route, C - connected, S - static, R - RIP,

    O - OSPF, I - IS-IS, B - BGP, E - EIGRP, N - NHRP,

    T - Table, v - VNC, V - VNC-Direct, A - Babel, D - SHARP,

    F - PBR,

    > - selected route, * - FIB route


B>* 192.168.1.0/24 [20/0] via 192.168.10.1, ethernet3, 00:10:17

C>* 192.168.2.0/24 is directly connected, ethernet1, 01:05:36

C>* 192.168.10.0/24 is directly connected, ethernet3, 01:36:06


Согласно таблицам маршрутизации, маршрутизаторы передали друг другу информацию о сетях. Также в таблице маршрутизации указано, что при передаче данных в новую сеть используется протокол BGP. 


Для проверки корректной работы протокола BGP между разными AS необходимо запустить ping с NX-1 на ПК-2


@NX-1# ping 192.168.2.2


PING 192.168.2.2 (192.168.2.2) 56(84) bytes of data.

64 bytes from 192.168.2.2: icmp_seq=1 ttl=127 time=0.408 ms

64 bytes from 192.168.2.2: icmp_seq=2 ttl=127 time=0.313 ms

64 bytes from 192.168.2.2: icmp_seq=3 ttl=127 time=0.296 ms

64 bytes from 192.168.2.2: icmp_seq=4 ttl=127 time=0.309 ms

64 bytes from 192.168.2.2: icmp_seq=5 ttl=127 time=0.303 ms


--- 192.168.2.2 ping statistics ---

5 packets transmitted, 5 received, 0% packet loss, time 66ms

rtt min/avg/max/mdev = 0.296/0.325/0.408/0.047 ms


В данном случае NX-1 и NX-2 находятся в разных AS – об этом свидетельствует административная дистанция в таблице маршрутизации – «20/0» и данные, которые показывает команда «show router bgp neighbors»:


NX-1# show router bgp neighbors

BGP neighbor is 192.168.10.2, remote AS 65001, local AS 65000, external link

Hostname: bgpd

 BGP version 4, remote router ID 192.168.10.2, local router ID 192.168.10.1

 BGP state = Established, up for 00:13:12

 Last read 00:00:12, Last write 00:00:12

 Hold time is 180, keepalive interval is 60 seconds

 Neighbor capabilities:

  4 Byte AS: advertised and received

  AddPath:

   IPv4 Unicast: RX advertised IPv4 Unicast and received

  Route refresh: advertised and received(old & new)

  Address Family IPv4 Unicast: advertised and received

  Hostname Capability: advertised (name: bgpd,domain name: n/a) received (name: bgpd,domain name: n/a)

  Graceful Restart Capabilty: advertised and received

   Remote Restart timer is 120 seconds

   Address families by peer:

    none

 Graceful restart informations:

  End-of-RIB send: IPv4 Unicast

  End-of-RIB received: IPv4 Unicast

 Message statistics:

  Inq depth is 0

  Outq depth is 0

             Sent    Rcvd

  Opens:         4     4

  Notifications:     6     0

  Updates:        3     3

  Keepalives:      14     14

  Route Refresh:     0     0

  Capability:       0     0

  Total:         27     21

 Minimum time between advertisement runs is 0 seconds


 For address family: IPv4 Unicast

 Update group 3, subgroup 3

 Packet Queue length 0

 Community attribute sent to this neighbor(all)

 1 accepted prefixes


 Connections established 1; dropped 0

 Last reset 00:14:38, due to NOTIFICATION sent (OPEN Message Error/Bad Peer AS)

Local host: 192.168.10.1, Local port: 179

Foreign host: 192.168.10.2, Foreign port: 34286

Nexthop: 192.168.10.1

Nexthop global: ::

Nexthop local: ::

BGP connection: shared network

BGP Connect Retry Timer in Seconds: 120

Read thread: on Write thread: on


Далее в раздел IGMP

На главную


Report Page