|

Protokół BGP

Zagadnieniem jakim dziś się zajmiemy jest routing. W ostatnich artykułach omawiane były protokoły routingu takie jak OSPF, RIP czy EIGRP. W tym artykule skupimy się na kolejnym protokole routingu jakim jest protokół BGP.

Protokół BGP- co to takiego?

Protokół BGP (ang. Border Gateway Protocol) jest to między domenowy protokół routingu, który ma zapewnić komunikację między oddzielnymi domenami routingu, które zawierają własne zasady routingu (tzw. systemy autonomiczne). Głownie używany jest do łączenia sieci lokalnej z siecią zewnętrzną celem uzyskania dostępu do Internetu lub komunikacji z innymi organizacjami. Gdy łączymy się z siecią zewnętrzna to tworzone są zewnętrzne sesje BGP (eBGP). Natomiast sąsiedzi BGP w tej samej organizacji wymieniają informacje routingu za pomocą wewnętrznych sesji BGP (iBGP). Protokół BGP pracuje w oparciu o protokół warstwy 4 modelu OSI. Podstawową funkcja BGP jest system autonomiczny (ang. Autonomus System), czyli sieć lub grupa sieci pod wspólna administracją i polityką trasowania. Numery AS od 2007 roku są długości 4 bajtów (32 bit) dzięki temu dostępna jest większa przestrzeń numeracji.

Podstawowa konfiguracja BGP

Konfigurację tego protokołu przeprowadzimy według poniższego schematu.    

Schemat sieci- opracowanie własne

Najpierw należy wykonać wstępną adresację i podstawową konfigurację dwóch sieci LAN według powyższego schematu. Wykonajmy poniższe kroki:

  • Adresacja interfejsów na routerze R1
R1(config)#interface fastEthernet 0/0
R1(config-if)#ip address 103.0.11.254 255.255.255.0
R1(config-if)#no shutdown
R1(config)#interface serial 3/0
R1(config-if)#ip address 192.168.1.1 255.255.255.252
R1(config-if)#no shutdown
R1(config)#interface lo 1
R1(config-if)#ip address 10.1.1.1 255.255.255.255
R1(config-if)#no shutdown
  • Konfiguracja PC1
PC1> ip 103.0.11.9/24 103.0.11.254
  • Zaadresowanie interfejsów na routerze 2
R2(config)#interface fastEthernet 0/0
R2(config-if)#ip address 105.0.11.254 255.255.255.0
R2(config-if)#no shutdown
R2(config)#interface serial 3/0
R2(config-if)#ip address 192.168.1.2 255.255.255.252
R2(config-if)#no shutdown
 R2(config)#interface lo 1
R2(config-if)#ip address 172.17.1.1 255.255.255.255
R2(config-if)#no shutdown
  • Konfiguracja PC2
PC2> ip 105.0.11.9/24 105.0.11.254

Gdy wykonamy powyższe kroki to można przystąpić do konfiguracji Protokołu BGP. Pierwszym elementem jest ustawienie się na routerze R1 i wydania polecenia router bgp [numer systemu autonomicznego]. Dzięki temu uruchomimy protokół BGP na routerze.

R1(config)#router bgp 40000

Następnie podajemy adresy wszystkich sieci, wewnętrznych które chcemy rozgłaszać.

R1(config-router)network 10.1.1.1 mask 255.255.255.255
R1(config-router)network 103.0.11.0 mask 255.255.255.0

Kolejnym krokiem jaki należy wykonać jest dodanie adresu IP sąsiada w określonym AS do wieloprotokołowej tablicy sąsiadów BGP IPv4 urządzenia lokalnego.

R1(config-router)#neighbor 192.168.1.2 remote-as 45000

Podstawowa konfiguracja BGP na tym routerze została wykonana. Na chwilę obecną możemy z sieci wewnętrznej LAN wyjść na świat poprzez interfejs loopback 1. Aby to sprawdzić to z PC1 wydajmy polecenie ping na ten interfejs.

PC1> ping 10.1.1.1
84 bytes from 10.1.1.1 icmp_seq=1 ttl=255 time=15.542 ms
84 bytes from 10.1.1.1 icmp_seq=2 ttl=255 time=15.404 ms
84 bytes from 10.1.1.1 icmp_seq=3 ttl=255 time=15.392 ms
84 bytes from 10.1.1.1 icmp_seq=4 ttl=255 time=15.809 ms
84 bytes from 10.1.1.1 icmp_seq=5 ttl=255 time=15.264 ms

Jak możemy zauważyć komunikacja jest prawidłowa. Wydajmy także polecenie ping z tego komputera na adres interfejsu wychodzącego w stronę routera R2.

PC1> ping 192.168.1.1
84 bytes from 192.168.1.1 icmp_seq=1 ttl=255 time=15.519 ms
84 bytes from 192.168.1.1 icmp_seq=2 ttl=255 time=15.510 ms
84 bytes from 192.168.1.1 icmp_seq=3 ttl=255 time=15.341 ms
84 bytes from 192.168.1.1 icmp_seq=4 ttl=255 time=15.143 ms
84 bytes from 192.168.1.1 icmp_seq=5 ttl=255 time=14.982 ms

Również w tym kierunku ruch pakietów odbywa się bez żadnych problemów.

Lecz jeszcze nie możemy komunikować się z sieciami wewnętrznymi naszego sąsiada. Aby było to możliwe musimy jeszcze wykonać te same kroki co powyżej na routerze R2 z zachowaniem odpowiedniej adresacji.

R2(config)#router bgp 45000
R2(config-router)network 172.17.1.1 mask 255.255.255.255
R2(config-router)network 105.0.11.0 mask 255.255.255.0
R1(config-router)#neighbor 192.168.1.1 remote-as 40000

Teraz sprawdźmy czy PC1 będzie mógł komunikować się  z PC2. Wydajmy polecanie ping na jego adres.

PC1> ping 105.0.11.9
84 bytes from 105.0.11.9 icmp_seq=1 ttl=62 time=60.454 ms
84 bytes from 105.0.11.9 icmp_seq=2 ttl=62 time=61.024 ms
84 bytes from 105.0.11.9 icmp_seq=3 ttl=62 time=60.116 ms
84 bytes from 105.0.11.9 icmp_seq=4 ttl=62 time=60.729 ms
84 bytes from 105.0.11.9 icmp_seq=5 ttl=62 time=44.547 ms

Jak widać komunikacja jest prawidłowa. Teraz jeszcze dla pewności wydajmy tą samą komendę z PC1 na adres interfejsu loopback 1 sąsiada.

PC1> ping 172.17.1.1
84 bytes from 172.17.1.1 icmp_seq=1 ttl=254 time=45.672 ms
84 bytes from 172.17.1.1 icmp_seq=2 ttl=254 time=29.266 ms
84 bytes from 172.17.1.1 icmp_seq=3 ttl=254 time=45.005 ms
84 bytes from 172.17.1.1 icmp_seq=4 ttl=254 time=45.381 ms
84 bytes from 172.17.1.1 icmp_seq=5 ttl=254 time=45.413 ms

Również ten ruch pakietów jest możliwy. Tak więc podstawowa konfiguracja protokołu BGP została wykonana prawidłowo.

Inne przydatne komendy 

Poniżej zaprezentowane zostały komendy sprawdzające poprawność działania protokołu BGP.

  • Show ip bgp – za pomocą tej komendy możemy sprawdzić tablicę routingu BGP na routerze. Poniżej znajdują się listingi z routera 1 i 2 naszej sieci.
R1#sh ip bgp
BGP table version is 1, local router ID is 10.1.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
           r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *   10.1.1.1/32      0.0.0.0                  0         32768 i
 *   103.0.11.0/24    0.0.0.0                  0         32768 i
 *   192.168.1.0/30   0.0.0.0                  0         32768 i

R2#sh ip bgp
BGP table version is 6, local router ID is 172.17.1.1
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
           r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
              x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found

     Network          Next Hop            Metric LocPrf Weight Path
 *>  10.1.1.1/32      192.168.1.1              0             0 40000 i
 *>  103.0.11.0/24    192.168.1.1              0             0 40000 i
 *>  105.0.11.0/24    0.0.0.0                  0         32768 i
 *>  172.17.1.1/32    0.0.0.0                  0         32768 i
 *   192.168.1.0/30   192.168.1.1              0             0 40000 i
  • Show ip bgp summary – to polecenie służy do wyświetlenia stanu wszystkich połączeń BGP.
R1#sh ip bgp summary
BGP router identifier 10.1.1.1, local AS number 40000
BGP table version is 6, main routing table version 6
5 network entries using 720 bytes of memory
6 path entries using 480 bytes of memory
2/2 BGP path/bestpath attribute entries using 272 bytes of memory
1 BGP AS-PATH entries using 24 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 1496 total bytes of memory
BGP activity 5/0 prefixes, 6/0 paths, scan interval 60 secs

Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
192.168.1.2     4        45000       8       7        6    0    0 00:03:29        3

R2#sh ip bgp summary
BGP router identifier 172.17.1.1, local AS number 45000
BGP table version is 6, main routing table version 6
5 network entries using 720 bytes of memory
6 path entries using 480 bytes of memory
2/2 BGP path/bestpath attribute entries using 272 bytes of memory
1 BGP AS-PATH entries using 24 bytes of memory
0 BGP route-map cache entries using 0 bytes of memory
0 BGP filter-list cache entries using 0 bytes of memory
BGP using 1496 total bytes of memory
BGP activity 5/0 prefixes, 6/0 paths, scan interval 60 secs

Neighbor        V           AS MsgRcvd MsgSent   TblVer  InQ OutQ Up/Down  State/PfxRcd
192.168.1.1     4        40000       9       9        6    0    0 00:05:19  
  • Clear ip bgp – polecenie służące do zrobienia twardego resetu wszystkich bieżących sesji BGP.

Podsumowanie

Powyższa konfiguracja protokołu BGP według naszego schematu sieci została wykonana poprawnie. Urządzenia końcowe w sieciach wewnętrznych LAN w dwóch różnych instancjach mogą się ze sobą komunikować. Ponadto urządzenia końcowe mają dostęp do sieci zewnętrznej poprzez porty loopback.


Podobne wpisy

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *