BGP Peers Opbygning af BGP Peers/Neighbors
BGP transport BGP anvender TCP som transport medie Derfor skal netværket være i konvergens Derfor anvendes en IGP. (IS-IS) TCP er forbindelses orienteret BGP får overførsels garanti.
Loop fri Routes BGP laver et træ af kendte AS er med sig selv som roden Kaldes for AS_PATH AS_PATH=200,300,400 AS 400 AS 300 AS 1300 AS 1200 AS 200 AS 1100 Route fra AS 100 til AS 400 er 200,300,400 BGP AS 100
AS_PATH Attribute AS100 kan se sig selv i updaten, og ved derfor at den anoncerede Route er en loop
Peers eller Neighbor opbygning Anvender TCP port 179 Udveksler FIB database når de lærer hinanden at kende. Herefter kun hændelses styret opdatering.
Grundlæggende konfiguration P1 101 102 P2 172.18/16 1 1 172.19/16 192.168.1.4/30 R1 5 6 R2 R1(config)# router bgp 65010 R1(config-router)# neighbor 192.168.1.6 remote-as 65020 R1(config-router)# network 172.18.0.0 R2(config)# router bgp 65020 R2(config-router)# neighbor 192.168.1.5 remote-as 65010 R2(config-router)# network 172.19.0.0 Anvendes der ibgp eller ebgp?
Peers eller Neighbor opbygning AS nummer Afsenderens AS nummer skal passe med modtagerens neighbor udsagn. P1 101 102 P2 172.18/16 1 1 172.19/16 192.168.1.4/30 R1 5 6 R2 R1(config)# router bgp 65010 R1(config-router)# neighbor 192.168.1.6 remote-as 65020 R1(config-router)# network 172.18.0.0 R2(config)# router bgp 65020 R2(config-router)# neighbor 192.168.1.5 remote-as 65010 R2(config-router)# network 172.19.0.0
Peers eller Neighbor opbygning Keepalive timer Antal sekunder mellem keepalive pakker mellem naboer Hold time Den maksimale tid uden en keepalive pakke Den laveste tid vælges. neighbor ip-address timers keepalive holdtime Default keepalive = 60 og holdtime = 180 sekunder R1(config)# router bgp 65010 R1(config-router)# neighbor 192.168.1.6 remote-as 65020 R1(config-router)# neighbor 192.168.1.6 timers 60 180 R1(config-router)# network 172.18.0.0 R2(config)# router bgp 65020 R2(config-router)# neighbor 192.168.1.5 remote-as 65010 R2(config-router)# neighbor 192.168.1.5 timers 20 60 R2(config-router)# network 172.19.0.0
Peers eller Neighbor opbygning BGP Router ID Skal passe med Peers neighbor udsagn. ibgp Som OSPF højeste IP adresse på loopback. ebgp Peer Routerens IP adresse på interface P1 101 102 P2 172.18/16 1 1 172.19/16 192.168.1.4/30 R1 5 6 R2 R1(config)# router bgp 65010 R1(config-router)# neighbor 192.168.1.6 remote-as 65020 R1(config-router)# network 172.18.0.0 R2(config)# router bgp 65020 R2(config-router)# neighbor 192.168.1.5 remote-as 65010 R2(config-router)# network 172.19.0.0
Meddelses typer OPEN Bruges til at etablere et Peer fællesskab. UPDATE Efter den oprindelige store opdatering, sendes der kun små UPDATE s ved link-state ændringer. KEEPALIVE Bruges til at opretholde Peer fællesskabet. NOTIFICATION Anvendes ved fejlsituationer.
Opbygning af Peer fællesskab Der er seks faser i opbygningen 1. Idle 2. Connect 3. Active 4. Open Sent 5. Open Confirm 6. Established
BGP Finite State Machine
Fase 1 - Idle Der ventes på at interface hvor Peers sidder bliver aktive og det er muligt at oprette en TCP forbindelse Connect Retry Timer (default 30 sekunder) Når TCP forbindelsen er under opbygning skiftes til fase 2 - Connect
Fase 2 - Connect Her afventes opbygningen af TCP forbindelsen med en Peer Hvis TCP forbindelse OK sendes en OPEN meddelelse og der skiftes til fase 4 Open sent. Hvis TCP forbindelse fejler nulstilles Connect Retry Timeren og der skiftes til Fase 3 - Active
Fase 3 - Active I Active state forsøges på at opbygge Peer forbindelsen og sende en OPEN meddelse Hvis det lykkes skiftes til fase 4 Open Sent Hvis det ikke lykkes inden Connect Retry timeren udløbet skiftes til fase 2 - Connect
Fase 4 Open Sent Der ventes på en OPEN meddelelse fra en Peer Hvis der er fejl i OPEN meddelsen for eksempel forkert AS nummer skiftes til fase 1 Idle mode. Hvis OPEN meddelsen er OK forhandles Keepalive og Hold Time på plads. Herefter sendes Keepalive pakker. Der skiftes til fase 5
Fase 5 Open Confirm Der afventes en Keepalive eller Notification pakke fra en Peer. Hvis der modtages en Keepalive skiftes til fase 6 Established Hvis der modtages en Notification er der sket en fejl og der skiftes til fase 1 Idle Hvis Hold timeren udløber sendes en Notification og der skiftes til fase 1 - Idle
Fase 6 - Established BGP Peer kører nu for fuld musik og der kan Udveksles Updates Løbende Keepalives Hvis der modtages en Notification skiftes til fase 1 Idle Hvis Hold timeren udløber sendes en Notification og der skiftes til fase 1 - Idle
BGP Header Alle meddelelser overføres i samme header type 16 Byte marker felt Anvendes til Authentication hvis dette benyttes. 2 Byte længde felt Angiver længden af hele pakken Min. 19 Byte maks 4.096 Bytes Type felt Angiver pakketype der er fire pakketyper Type 1 Open Type 2 Update Type 3 Notification Type 4 Keepalive
Type 1 - Open Alle parametre skal være aftalt før der kan oprettes et Peer par Bit 0 8 16 31 Version = 4 AS nummer Router tilhører Hold time. (Default 180 sekunder) Open header BGP Identifier (IP adresse også kaldet Router ID på afsender) Option length Optional parameters - længde angivet af Option Length...
Type 2 - Update Indeholder opdateringer Ruter til nye netværk Opdaterede ruter til netværk Tilbagetrækninger af ruter til netværk
Type 2 - Update Unfeasible Route længde i bytes Tilbagetrukne Router til netværk. (Længde angive i Unfeasible Routes) Total Path Attributes Length Path Attributes (Længde angives i Total Path Attributes Length) 2 bytes Variabel 2 bytes Variabel Network Layer Reachability Information (NLRI) (Længde beregnes) Variabel
Tilbagetrukne Router Længde af felt angives af unfeasible length Fjerner nævnte Route fra Peer forholdet For eksempel 80.0.0.0/17, 201.1.0.0/22
Path Attributes Længde angives af Total Path Attributes Length Anvendes til at overføre Attributer For eksempel AS_PATH til en Route Mere om attributer senere
NLRI Network Layer Reachability Information Netværk som kan nås fra Routeren som sender Update 220.9.0.0/21..
Type 3 - notification Der sendes en Notification når der opstår en fejl BGP Peering afbrydes For at undgå loops og ikke tilgængelige net Der medsendes Error Code og sub code som giver informationer om fejlen Vis status over Peers/Neighbors show ip bgp neighbors
Type 3 notification errors Der er seks Error Code grupper 1. Message Header Error 2. Open Message Error 3. Update Message Error 4. Hold Time Error 5. FSM Error (Finite State Machine) 6. Cease Error Svar fra Peer der modtager Hold Time Error
Type 3 notification Sub-Errors Error Code 1 Message Header 1. Connection Not Synchronized 2. Bad Message Length 3. Bad Message Type
Type 3 notification Sub-Errors Error Code 2 Open Message Error 1. Unsupported Version Number 2. Bad Peer AS 3. Bad Peer Identifier 4. Unsupported Optional Parameter 5. Authentication Failure 6. Unacceptable Hold Time
Type 3 notification Sub-Errors Error Code 3 Update Message Error 1. Malformed Attribute List 2. Unrecognized Well-Known attribute 3. Missing Well-Known Attribute 4. Attribute Flag Error 5. Attribute Length Error 6. Invalid Origin Attribute 7. AS Routing Loop 8. Invalid NEXT_HOP attribute 9. Optional Attribute Error 10. Invalid Network Field 11. Malformed AS_PATH
Notification gruppe 4, 5 og 6 4 Hold Time Error Ingen Sub Codes 5 FSM Error Ingen Sub Codes 6 Cease Error Ingen Subcode
Type 4 - Keepalive Den simpleste af alle Tom header Fylder 19 Byte Sendes default hvert 60. sekund Cisco IOS Hold Time = 3 * Keepalive
Resume 1 af 4 Der opbygges et Peer forhold. State Established
Resume 2 af 4 Route tabeller udveksles
Resume 3 af 4 Herefter sendes kun triggede opdateringer Der anvendes et versions nummer på opdateringer så Routerne kan se de ikke er gået glip af en Update
Resume 4 af 4 AS100 kan se sig selv i updaten, og ved derfor at den anoncerede Route er en loop