BGP - kike
Transkrypt
BGP - kike
BGP Piotr Marciniak (TPnets.com/KIKE) Ożarów Mazowiecki, 26 marca 2010 r. 1 BGP BGP (ang. Border Gateway Protocol) protokół bramy brzegowej – zewnętrzny protokół trasowania. Jego aktualna definicja (BGPv4) zawarta jest w dokumentach RFC1771 i RFC1772. 2 BGP • Wewnętrzne protokoły trasowania (IGP, ang. Interior Gateway Protocol) – używane do wymiany informacji o trasach w pojedynczym systemie autonomicznym (ang. AS). Przykłady: RIP, EIGRP, OSPF, IS-IS • Zewnętrzne protokoły trasowania (EGP, ang. Exterior Gateway Protocol) – używane do wymiany informacji o trasach pomiędzy różnymi AS'ami. Przykłady: BGP 3 BGP Schemat połączeo między ASn AS 2222 BGP AS 1111 BGP BGP BGP AS 4444 AS 3333 BGP 4 BGP Internet tworzą połączone ze sobą sieci IP. Na najwyższym poziomie sied Internet podzielona jest na niezależnie zarządzane, numerowane obszary, z których każdy obejmuje wiele sieci IP. Każdy obszar pozostaje pod administracją jednej instytucji i nazywa się je systemami autonomicznymi (ang. Autonomous System, w skrócie AS). Własne ASy posiadają zazwyczaj ISP i instytucje. 5 BGP ISP 1 Firma AS 2222 AS 1111 Portal AS 4444 ISP 2 AS 3333 6 BGP Internet działa więc w oparciu o protokół BGP, który definiuje routing między sieciami z wykorzystaniem numerów systemów autonomicznych, tzw. numery AS (ang. ASn). Każdy operator chcący zestawiad dowolnie i niezależnie łącza z innymi operatorami, musi posiadad numer AS, by rozgłosid w Internecie swoje publiczne klasy adresowe PI. Adresacja PA nie może otrzymad odrębnego AS'a. 7 BGP Internet tworzą połączone ze sobą sieci IP. AS 2222 AS 1111 AS 4444 AS 3333 8 BGP 9 ASn ASn – pierwotnie były to 16-bitowe numery pozwalające na wyodrębnienie 2^16 numerów, czyli 65536 systemów autonomicznych. Ostatnie 1024 adresy zarezerwowane są dla niepublicznych systemów BGP. Wraz z rozwojem Internetu, pula 16-bitowa zaczęła się więc wyczerpywad. Nastąpiła więc koniecznośd jej poszerzenia. 10 ASn 4B ASn to inaczej 32-bitowe numery AS. Nowy rejestr pozwala na wyodrębnienie 2^32 numerów AS, czyli 4.294.967.296 systemów autonomicznych (4 mld z hakiem ;-). Dlatego od 2008 r. przyznawane są już nowe 4B ASn. 11 Mini FAQ Mini FAQ: P: Jeśli ktoś ma ASn 16-bitowy – czy musi dokonad zmiany na 32-bitowy? O: Nie, nie musi. Z punktu widzenia rejestrów 32bitowych przed 16-bitami starego systemu widnieją po prostu zera. 12 Mini FAQ P: Jakie znaczenie wdrożenie systemu 32-bitowego ma dla istniejących systemów 16-bitowych? O: Jeśli stare oprogramowanie na routerach BGP nie wspiera rejestrów 32-bitowych, niemożliwa będzie realizacja inżynierii ruchu. Problem będzie narastał wraz ze wzrostem liczby przyznanych 4B ASn. Nie każdy router będzie można przystosowad do 32-bitowych ASn! 13 Mini FAQ P: Jak więc stary router BGP nawiąże sesję z 4B ASn? O: Wykorzystywany jest specjalny AS23456 (AS_TRANS), który maskuje wszystkie 32-bitowe ASn'y na routerach nie wspierających 4B ASn. P: Jakie są wymogi wdrożenia 4B ASn w dowolnej sieci? O: Wystąpienie o 32-bitowy AS, posiadanie routera BGP wspierającego 4B ASn, odpowiednia konfiguracja (reg. exp., nowe atrybuty). 14 Schemat 1 1 uplink = BGP nie jest potrzebne AS 1111 BGP = static AS 3333 15 Schemat 1 Mając jeden uplink wystarczy zdefiniowad default gateway, nie jest potrzebny protokół routingu dynamicznego. Można jednak wykorzystad BGP do automatyzacji rozgłaszania swoich adresów PI do Internetu. 16 Schemat 1 Podstawowa konfiguracja (Cisco): router bgp 3333 bgp router-id 133.133.133.133 network 133.133.132.0 mask 255.255.252.0 aggregate-address 133.133.132.0 255.255.252.0 summary-only redistribute connected redistribute static neighbor 91.212.9.11 remote-as 48850 neighbor 91.212.9.11 description KIX neighbor 91.212.9.11 version 4 17 Schemat 1 Zanim jednak zestawisz sesję, zdefiniuj co chcesz wysyład w świat dodając do powyższego: ! usuwa ew. prywatne ASn z wysyłanych prefixów neighbor 91.212.9.11 remove-private-as ! pozwala uniknąd wysyłania przypadkowych prefixów neighbor 91.212.9.11 distribute-list bgp_dist out ! pozwala powiązad wysyłane prefixy z AS'ami ich pochodzenia neighbor 91.212.9.11 filter-list 10 out 18 Schemat 1 ! Przykład listy prefixów, jakie chcemy wysyład – można definiowad różne dla różnych peerów. ip access-list extended bgp_dist permit ip 133.133.132.0 0.0.3.255 any ! Określa, że tylko prefixy pochodzące z naszego AS'a zostaną wysłane. ip as-path access-list 10 permit ^$ Teraz bezpiecznie sesję możemy podnieśd. 19 Schemat 2 2 uplinki = BGP jest potrzebne AS 2222 AS 1111 BGP BGP AS 3333 20 Schemat 2 Podstawowa konfiguracja jest identyczna, tylko definiujemy 2 sąsiadów. Router pobierze od nich prefixy i stworzy tablicę routingu: R1#sh ip bgp summ BGP router identifier 133.133.133.133, local AS number 3333 312728 network entries using 35650992 bytes of memory 942501 path entries using 45240048 bytes of memory Neighbor V AS MsgRcvd MsgSent TblVer InQ OutQ Up/Down State/PfxRcd 11.22.33.44 4 1111 2422732 42659 9123662 0 0 1:46:08 310564 55.66.77.88 4 2222 1759207 42651 9123662 0 0 1w6d 312256 91.212.9.11 4 48850 78673 21328 9123662 0 0 4w0d 8654 21 Schemat 2 Zawsze sprawdź co i jak wysyłasz sąsiadowi: R1#sh ip bgp nei 91.212.9.11 adv BGP table version is 34064398, local router ID is 193.151.113.20 Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network *> 95.0.0.0/20 *> 96.0.0.0 *> 96.0.1.0 *>i97.0.0.0/23 Next Hop 0.0.0.0 95.0.0.2 95.0.0.3 95.0.0.4 Metric LocPrf Weight Path 0 32768 i 0 32768 ? 0 32768 ? 0 100 0i 22 Schemat 3 2 uplinki, 2 routery = BGP + iBGP AS 2222 AS 1111 BGP BGP R1 iBGP R2 23 Schemat 3 Konfigurujemy 2 routery do sesji zewnętrznych jak w przykładzie 1 oraz konfigurujemy sąsiedztwo na obu naszych routerach nawzajem, co pozwoli zestawid sesję iBGP, np. na R1 sesję do R2: neighbor 133.133.133.134 remote-as 3333 neighbor 133.133.133.134 description BGP1 neighbor 133.133.133.134 version 4 neighbor 133.133.133.134 next-hop-self 24 Podstawy inżynierii W Internecie odległośd do punktu docelowego określa AS-hop, nie ilośd routerów "po drodze". AS 333 R1 AS 111 AS 222 25 Podstawy inżynierii 1. Wybór trasy o najkrótszym AS-hopie AS 333 AS 444 AS 222 AS 111 AS 555 26 Podstawy inżynierii 2. Wybór trasy preferowanej AS 333 AS 444 AS 222 10G 10G 10G AS 111 AS 555 27 Podstawy inżynierii Domyślnie ruch kierowany będzie do peera, przez którego jest trasa krótsza do celu i wróci do nas trasą najkrótszą dla nadawcy AS 2222 AS 1111 BGP BGP AS 3333 28 Podstawy inżynierii Istnieje wiele mechanizmów preferowania jednego styku względem innego. Częśd z nich jest uniwersalna dla różnych platform, częśd zaś dostępna wyłącznie na danym urządzeniu. Istnieją też różnice w konfiguracji, opcjach i składni. 29 Podstawy inżynierii Dla ruchu wychodzącego od nas zawsze możemy wskazad preferowany styk, bo pakiety wychodzą od nas. neighbor 91.212.9.11 route-map KIX_in in access-list 92 permit any route-map KIX_in permit 10 match ip address 92 set local-preference <0-4294967295> ! def 100 – wyższy pref. ! Tylko na Cisco: set weight <0-65535> ! def 32768 – wyższa pref. 30 Podstawy inżynierii Trudniej sprowokowad świat, by przysyłał nam dane preferowanym stykiem, a nie innym. neighbor 91.212.9.11 route-map KIX_out out access-list 92 permit any route-map KIX_out permit 10 match ip address 92 set metric <0-4294967295> ! Im niższa, tym atrakcyjniejszy set community 8545:50 31 Podstawy inżynierii Zasada: trasa bardziej szczegółowa jest dla BGP lepsza od ogólniejszej. Innymi słowy jeśli wolimy byd chętniej osiągalni przez dane łącze – możemy tam wysład np. 2 x /22, zamiast 1 x /21 wykorzystując różne listy dla różnych sąsiadów: neighbor 91.212.9.11 distribute-list bgp_dist1 out neighbor 11.22.33.44 distribute-list bgp_dist2 out 32 Wsparcie 4B ASn Niektóre implementacje 4B AS: http://as4.cluepon.net/index.php/Software_Support Sprawdź możliwośd aktualizacji swojego oprogramowania u dystrybutora. Pamiętaj, że jeden wpis 32-bitowy zajmuje więcej pamięci, niż 16-bitowy. 33 Dziękuję za uwagę Piotr Marciniak [email protected] Krajowa Izba Komunikacji Ethernetowej www.kike.pl 34