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

Podobne dokumenty