BGP – atrybut WEIGHT (waga)

Cele:

Adresy IP routerów:

R1

Interfejs IP
FastEthernet 0/0 10.0.13.1/29
FastEthernet 1/0 10.12.12.1/29
Loopback 0 1.1.1.1/24

R2

Interfejs IP
FastEthernet 0/0 10.12.12.2/29
FastEthernet 1/0 10.0.23.2/29
Loopback 0 2.2.2.2/24

R3

Interfejs IP
FastEthernet 0/0 10.0.13.3/29
FastEthernet 1/0 10.0.23.3/29
Loopback 0 3.3.3.3/24

Schemat sieci:

BGP - atrybut weight (waga)

Router: 3640
IOS: c3640-jk9o3s-mz.124-16a.bin

Rozwiązanie

Skonfiguruj BGP na wszystkich routerach według schematu sieci. Rozgłoś w BGP interfejsy Loopback.

Uruchamiamy proces BGP na wszystkich routerach, definiujemy sąsiadów i rozgłaszamy sieci przypisane do interfejsów Loopback. R1 i R2 należą do systemu autonomicznego 12, a R3 do 3.

R1(config)#router bgp 12
R1(config-router)#neighbor 10.12.12.2 remote-as 12
R1(config-router)#neighbor 10.0.13.3 remote-as 3
R1(config-router)#network 1.1.1.0 mask 255.255.255.0
R2(config)#router bgp 12
R2(config-router)#neighbor 10.12.12.1 remote-as 12
R2(config-router)#neighbor 10.0.23.3 remote-as 3
R2(config-router)#network 2.2.2.0 mask 255.255.255.0
R3(config)#router bgp 3
R3(config-router)#neighbor 10.0.13.1 remote-as 12
R3(config-router)#neighbor 10.0.23.2 remote-as 12
R3(config-router)#network 3.3.3.0 mask 255.255.255.0

Czekamy chwilę, aż routery zestawią ze sobą sesję, następnie sprawdzimy jej status na R2 i R3:

R2#show ip bgp summary               
BGP router identifier 2.2.2.2, local AS number 12
BGP table version is 1, main routing table version 1

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
10.0.23.3       4     3      56      57        1    0    0 00:53:23        0
10.12.12.1      4    12      57      57        1    0    0 00:54:25        0
R3#show ip bgp summary 
BGP router identifier 10.0.23.3, local AS number 3
BGP table version is 1, main routing table version 1

Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
10.0.13.1       4    12      57      57        1    0    0 00:53:44        0
10.0.23.2       4    12      58      57        1    0    0 00:54:47        0

Dobrze, każdy z nich ma po 2 sąsiadów. Tablica routingu na R3:

R3#show ip route bgp 
     1.0.0.0/24 is subnetted, 1 subnets
B       1.1.1.0 [20/0] via 10.0.13.1, 00:00:09
     2.0.0.0/24 is subnetted, 1 subnets
B       2.2.2.0 [20/0] via 10.0.13.1, 00:00:09

Mamy wpisy do sieci 1.1.1.0/24 i 2.2.2.0/24, co ciekawe obydwie trasy prowadzą przez R1.


R3: trasa do 1.1.1.0/24 ma prowadzić przez R1, natomiast do sieci 2.2.2.0/24 przez R2. Zrób to zmieniając atrybut wagi (weight).

Router R3 nauczył się dwóch tras z AS 12 przez protokół BGP. Jednak w naszym przypadku trasa do sieci 2.2.2.0/24 prowadzi przez router R1. Możemy wpłynąć na decyzje algorytmu wyboru najlepszej ścieżki zmieniając atrybuty dla danych prefiksów. Jednym z nich jest waga (WEIGHT), która określa priorytet danej trasy. Domyślna wartość to 0, jest to lokalny parametr routera (nie jest przesyłany dalej) i zaimplementowany tylko w Cisco. Wyższa wartość oznacza lepszą trasę. W algorytmie wyboru ścieżki waga ma najwyższy priorytet spośród innych atrybutów (Local preference, MED, AS_PATH), więc zmiana jej wartości będzie bezwzględnie wyznaczała priorytet ścieżki.
Zacznijmy od polecenia show ip bgp na R3:

R3#show ip bgp         
BGP table version is 8, local router ID is 10.0.23.3
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*  1.1.1.0/24       10.0.23.2                              0 12 i
*>                  10.0.13.1                0             0 12 i
*  2.2.2.0/24       10.0.23.2                0             0 12 i
*>                  10.0.13.1                              0 12 i
*> 3.3.3.0/24       0.0.0.0                  0         32768 i

R3 wie, że do każdej z sieci w AS 12 może dostać się przez R1 (10.0.13.1) lub R2 (10.0.23.2). Skonfigurujemy dwie route-map przy pomocy których zmienimy wagę danych tras, a następnie przypiszemy każdą z nich do sąsiadów w BGP. Pierwsza z nich, przypisana do R1, ustawi wagę do sieci 1.1.1.0/24 na 10, a do sieci 2.2.2.0/24 na 5. Druga natomiast (przypisana do R2), ustawi wagę do sieci 1.1.1.0/24 na 5, a do 2.2.2.0/24 na 10.
Krok pierwszy to konfiguracja dwóch list kontroli dostępu: R1_NETWORK i R2_NETWORK.

R3(config)#ip access-list extended R1_NETWORK 
R3(config-ext-nacl)#permit ip 1.1.1.0 0.0.0.255 any
R3(config)#ip access-list extended R2_NETWORK 
R3(config-ext-nacl)#permit ip 2.2.2.0 0.0.0.255 any

Pierwsza z nich wyłapuje sieć z interfejsu Loopback od R1, a druga od R2. Teraz route-map, która ustawi odpowiednio atrybut wagi dla tras od R1:

R3(config)#route-map FROM_R1 permit 10
R3(config-route-map)#match ip address R1_NETWORK
R3(config-route-map)#set weight 10
R3(config-route-map)#exit
R3(config)#route-map FROM_R1 permit 20
R3(config-route-map)#match ip address R2_NETWORK
R3(config-route-map)#set weight 5

I kolejna, którą później przypiszemy do R2:

R3(config)#route-map FROM_R2 permit 10
R3(config-route-map)#match ip address R1_NETWORK
R3(config-route-map)#set weight 5
R3(config-route-map)#exit
R3(config)#route-map FROM_R2 permit 20
R3(config-route-map)#match ip address R2_NETWORK
R3(config-route-map)#set weight 10

Teraz przechodzimy do trybu konfiguracji BGP:

R3(config)#router bgp 3
R3(config-router)#neighbor 10.0.13.1 route-map FROM_R1 in
R3(config-router)#neighbor 10.0.23.2 route-map FROM_R2 in

Przypisaliśmy odpowiednie route-mapy dla tras przychodzących od naszych sąsiadów. Aby zobaczyć zmiany zresetujemy sesję BGP na R3:

R3#clear ip bgp * soft in

Zobaczmy wyniki korzystając z polecenia show ip bgp:

R3#show ip bgp  | begin Network
   Network          Next Hop            Metric LocPrf Weight Path
*  1.1.1.0/24       10.0.23.2                              5 12 i
*>                  10.0.13.1                0            10 12 i
*> 2.2.2.0/24       10.0.23.2                0            10 12 i
*                   10.0.13.1                              5 12 i

Konfiguracja działa, R3 ustawił teraz odpowiednio wartości dla atrybutu wagi. Trasa do 1.1.1.0/24 prowadzi przez R1, a do 2.2.2.0/24 przez R2. Sprawdzimy jeszcze tablicę routingu:

R3#show ip route bgp 
     1.0.0.0/24 is subnetted, 1 subnets
B       1.1.1.0 [20/0] via 10.0.13.1, 00:03:13
     2.0.0.0/24 is subnetted, 1 subnets
B       2.2.2.0 [20/0] via 10.0.23.2, 00:03:13

Wyłącz interfejs FastEthernet 1/0 na R2. Czy R3 ma wciąż dostęp do sieci 2.2.2.0/24?

Sprawdzimy czy w przypadku awarii łącza pomiędzy R2 i R3 nie stracimy łączności z siecią 2.2.2.0/24.

R2(config)#interface fastEthernet 1/0
R2(config-if)#shutdown 

Sesja BGP nie jest zerwana od razu. Router R3 wysyła jeszcze trzy razy pakiety keepalive co 60 sekund (Last read 00:02:19, last write 00:00:19, hold time is 180, keepalive interval is 60 seconds):

R3#show ip bgp neighbors 10.0.23.2
BGP neighbor is 10.0.23.2,  remote AS 12, external link
  BGP version 4, remote router ID 2.2.2.2
  BGP state = Established, up for 00:45:19
  Last read 00:02:19, last write 00:00:19, hold time is 180, keepalive interval is 60 seconds

Po tym czasie sesja BGP zmienia status na Active:

R3#show ip bgp summary | begin Neighbor
Neighbor        V    AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
10.0.13.1       4    12     217     220       12    0    0 00:50:25        2
10.0.23.2       4    12     211     216        0    0    0 00:04:25 Active

Mamy oczywiście wciąż łączność z R1, więc teoretycznie R3 powinien wysyłać pakiety do interfejsu Loopback od R2 własnie przez niego:

BGP table version is 12, local router ID is 10.0.23.3
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
              r RIB-failure, S Stale
Origin codes: i - IGP, e - EGP, ? - incomplete

   Network          Next Hop            Metric LocPrf Weight Path
*> 1.1.1.0/24       10.0.13.1                0            10 12 i
*> 2.2.2.0/24       10.0.13.1                              5 12 i
*> 3.3.3.0/24       0.0.0.0                  0         32768 i

Zgadza się, R1 to Next Hop dla obydwu sieci, poniżej jeszcze tablica routingu:

R3#show ip route bgp 
     1.0.0.0/24 is subnetted, 1 subnets
B       1.1.1.0 [20/0] via 10.0.13.1, 00:15:02
     2.0.0.0/24 is subnetted, 1 subnets
B       2.2.2.0 [20/0] via 10.0.13.1, 00:06:26

Zostaw komentarz


Podpowiedź - możesz użyć tych HTML tagów i atrybutów:
<a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <s> <strike> <strong>

Obraz CAPTCHY

*