410 likes | 518 Views
10. BGP. Dr. Bilicki Vilmos Szoftverfejlesztés Tanszék. Az Internet forgalomirányító protokollja. Exterior Gateway Protocol Az EGP működése Problémák az EGP-vel Border Gateway protocol BGP alapok BGP üzenet típusok Útvonal attribútumok Adminisztratív súlyok BGP döntési folyamat
E N D
10. BGP Dr. Bilicki Vilmos Szoftverfejlesztés Tanszék
Számítógép Hálózatok Az Internet forgalomirányító protokollja • Exterior Gateway Protocol • Az EGP működése • Problémák az EGP-vel • Border Gateway protocol • BGP alapok • BGP üzenet típusok • Útvonal attribútumok • Adminisztratív súlyok • BGP döntési folyamat • iBGP IGP szinkronizálás • Nagy mennyiségű társ kapcsolat menedzselése
Számítógép Hálózatok Források • Cisco: Routing TCP/IP Volume II. • AS, EGP: RFC 827 (http://www.ietf.org/rfc/rfc827.txt ) • BGPv4: RFC 1771 (http://www.faqs.org/rfcs/rfc1771.html ) • BGP esettanulmányok: • http://www.cisco.com/en/US/tech/tk365/technologies_tech_note09186a00800c95bb.shtml
Számítógép Hálózatok Előzmények • 80-as évek • Az ARPANET forgalomirányítás egy távolságvektor alapú forgalomirányító algoritmuson alapult • Gateway – to – GatewayProtocol (GGP) • Minden átjáró ismert minden elérhető hálózatot és annak a távolságát (ugrásszám) • Nem skálázható megoldás • Eric Rosen RFC 827: • Az olyan átjárókkal amelyek minden útvonalat ismernek a forgalomirányító algoritmus terhelése nagyon nagy lesz. A topológia változás, de még a nyers tábla méret is kezelhetetlen. • A GGP implementációk és platformok egyre heterogénebbek. A hálózatra már nem lehet mint egy integrált egészre tekinteni. • Az átjárók és az őket üzemeltető rendszergazdák nagy száma miatt bármilyen közös változtatás nagyon nehézkes (ha nem lehetetlen) • A megoldás (RFC 827): • A hálózat autonóm körzetekre lett osztva (2 bájtos azonosító, 64512-65536 szabad) • InterriorGatewayProtocol: AS-en belül • ExteriorGatewayProtocol: AS-ek között
Számítógép Hálózatok Exterior Gateway Protocol • Az RFC 827 másik nagy újítása ez volt • Nem valódi forgalomirányító protokoll • Nincs algoritmusa a legjobb útvonal kiválasztására • Egy közös nyelv melyen a forgalomirányítók információt cserélnek • Egy lista az elérhető hálózatokról és az átjárókról • Ma már csak ritkán találkozhatunk vele (régi katonai hálózatok)
Számítógép Hálózatok Az EGP működése • Az EGP üzenetek az EGP társak között közlekednek • Azonos AS-en belül belső szomszédok • Különböző AS-ek között külső szomszédok • A szomszédokat kézzel kell beállítani • EGP szerepek • Mag átjáró (Core), mindent továbbküld • Csonk átjáró (Stub), csak a saját információit küldi tovább (saját AS) • A topológiának hurok mentesnek kell lennie • Két szintű • Core • Stub • Cisco imlementáció: 3 féle távolság • 0 amennyiben saját AS-en belül van • 3 amennyiben más AS-ből való • 255 ha elérhetetlen
Számítógép Hálózatok Példa
Számítógép Hálózatok Problémák az EGP-vel • Nem forgalomirányító protokoll (nincs értelmes távolság) • Nem kezeli a hurkokat (már az NSFNet-nél is gondot okozott) • Lassú (órás nagyságrendű konvergencia) • Osztályfüggő • Megoldás EGP mint protokoll család név maradt és egy teljesen új protokollt fejlesztettek ki: • Border Gateway Protocol - BGP
Számítógép Hálózatok BGP-Border Gateway Protocol • RFC 1771 – BGPv4 • Tartományok közötti forgalomirányító protokoll (EGP) • Távolság vektor alapú (Path Vector – Út Vektor) • AS szintű • A távolság az AS ugrásszám • Adott AS-hez a teljes útvonal megvan, több információja van mint a távolságvektor alapú forgalomirányító protokolloknak (Út Vektor) • AS_PATH, egy a sok út tulajdonság közül • Könnyen elkerülhetőek a hurkok • Megbízható átvitelre épül a kommunikációja TCP (port 179) • A társakat kézzel kell konfigurálni • Szabály alapú (policy based)
Számítógép Hálózatok Hogyan működik a BGP • Két BGP forgalomirányító között • BGP társak/szomszédok • TCP kapcsolatot építenek fel • BGP viszony • A BGP forgalomirányító információt kicserélik • prefix/AS path/…
Számítógép Hálózatok BGP forgalomirányító tábla Status codes: s suppressed, d damped, h history, * valid, > best, i - internal, S Stale Origin codes: i - IGP, e - EGP, ? - incomplete Network Next Hop Metric LocPrf Weight Path * 3.0.0.0 12.123.1.234 0 7018 80 i * 12.123.45.252 0 7018 80 i * 12.123.199.239 0 7018 80 i * 12.123.145.124 0 7018 80 i *> 12.123.1.236 0 7018 80 i * 12.123.133.124 0 7018 80 i * 4.0.0.0 12.123.45.252 0 7018 1 i * 12.123.9.241 0 7018 1 i * 12.123.13.241 0 7018 1 i *> 12.123.5.240 0 7018 1 i * 12.123.142.124 0 7018 1 i
Számítógép Hálózatok eBGP és iBGP • A BGP-nek két típusa lehet • eBGPexternal BGP • Amikor a két kommunikáló forgalomirányító külön AS-hez tartozik • iBGPinternalBGP • Amikor a két kommunikáló forgalomirányító ugyanahhoz az AS-hez tartozik • Miért van erre szükség? • Egy AS-nek több BGP forgalomirányítója van • A forgalomirányító információk elosztására • RIP, … nem tudja átvinni a BGP paramétereket • AS_PATH-ba nem adja hozzá magát • Teljes hálót kell, hogy alkossonak!
Számítógép Hálózatok iBGP és eBGP eBGP AS100 AS300 iBGP AS200
Számítógép Hálózatok BGP Üzenetek • Open • BGP verzió • AS szám • Tartási idő • BGP azonosító • Egyéb paraméterek (biztonság) • Update • Lehetséges útvonalak, visszavont útvonalak • Network LayerReachabilityInformation NLRI – IP prefixek • PathAttributes – útvonal tulajdonságok • Withdrawnroutes – visszavont útvonalak, prefixek • Notification • Ha hibát észlel akkor a hatására le lesz zárva a kapcsolat • Keepalive • 60 másodpercenként az Open után
Számítógép Hálózatok BGP attribútumok • A BGP útvonalak lehetséges vagy kötelező tulajdonságai • Típusai • Jól ismert kötelező • ORIGIN • AS_PATH • NEXT_HOP • Jól ismert tetszés szerinti • LOCAL_PREF • ATOMIC_AGGREGATE • Opcionális tranzitív • AGREGATOR • COMMUNITY • Opcionális nem tranzitív • MULTI_EXIT_DISC • ORIGINATOR_ID • CLUSTER_LIST
Számítógép Hálózatok Origin Attribútum • Kötelező • Az útvonal információ forrását definiálja • Három tipikus érték • “i”: az NLRI egy IGP-től tanulta mely ugyanabban az AS-ben fut (első prioritású) • “e”: EGP-től tanulta (második prioritású) • “?”: ismeretlen pl.: útvonal továbbadással
Számítógép Hálózatok Origin példa ip route 190.10.0.0 255.255.0.0 null 0 190.10.50.1 RtA RtB 150.10.30.1 175.10.40.2 170.10.20.1 AS100 iBGP 170.10.20.2 RtA -> 170.10.0.0: 300 i RtA -> 190.10.50.0: i RtE -> 150.10.0.0: 100 i RtE -> 190.10.0.0: 100 ? RtE AS300 170.10.0.0
Számítógép Hálózatok AS_PATHtulajdonság • Azoknak az AS-számoknak a listája melyeken a csomag keresztülment • Amikor egy forgalomirányító egy frissítést továbbküld akkor hozzácsapja a saját AS-ét (eBGP) • AZ AS számok sorban vannak • Ha egy AS szám már benne van akkor eldobja mert hurok keletkezett • Mégis van amikor többször szerepel egy AS • Így lehet a távolságot manipulálni
Számítógép Hálózatok AS_PATH
Számítógép Hálózatok Nexthop tulajdonság • A következő ugrás IP cím a cél eléréséhez • Az eBGP, mindég a közvetlenül kapcsolódó szomszéd interfésze • Az iBGP • ha az útvonal belső akkor a hirdető IP címe • ha külső akkor a külső szomszéd IP címe (rekurzív keresés, IGP segítségével, netx-hop-self)
Számítógép Hálózatok Nexthop példa, probléma 150.10. 0.0 190.10.50.1 RtA RtB 150.10.30.1 175.10.40.2 170.10.20.1 iBGP AS100 170.10.20.2 RtC advertise 170.10.0.0 to RtA, Nexthop 170.10.20.2 RtA advertise 170.10.0.0 to RtB, Nexthop 170.10.20.2 RtC AS300 170.10.0.0
Számítógép Hálózatok LOCAL_PREFtulajdonság • Csak az azonos AS-ben lévő forgalomirányítók használják • Ezzel lehet megadni egy meghirdetett útvonal preferenciáját • Nagyobb jobb • A kimenő forgalmat szabályozzuk !
Számítógép Hálózatok Local Preference 175.10.0.0 AS4 190.10.0.0 170.10.0.0 AS100 AS200 RtB RtA 175.10.0.0 Set locPref=200 Set locPref=150 RtD RtC AS300
Számítógép Hálózatok MULTI_EXIT_DISC tulajdonság • MED • A bejövő forgalmat próbálja szabályozni • Nem tranzitív • Csak akkor működik, ha a szomszéd AS-nek kell választania (iBGP továbbítja, eBGP nem) • Kisebb jobb.
Számítógép Hálózatok MED Set Metric = 0 AS400 AS100 RtB RtA Set Metric = 200 Set Metric = 120 RtC RtD AS300
Számítógép Hálózatok ATOMIC_AGGREGATE • BGP különböző módon kezelheti az átlapolódó utakat: • Mindet meghirdeti • Aggregálhatja őket • … • Az aggregálással információ veszik el • Aggregálásnál kötelező az ATOMIC_AGGREGATE tulajdonság • Ha egy forgalomirányító ilyet kap az nem teheti specifikusabbá • AGGREGATOR tartalmazza az aggregáló IP címét és AS számát
Számítógép Hálózatok Példa
Számítógép Hálózatok COMMUNITY • A szabályok egyszerűsítésére való • Az adott útvonal csoportra lehet szabályokat mondani • Négy oktet: • AA:NN • Cisco NN:AA • Ismertebbek: • INTERNET (alapértelmezett) • NO_EXPORT (nem hirdeti eBGP-n) • NO_ADVERTISE (nem hirdeti eBGP-n és iBGP-n) • LOCAL_AS
Számítógép Hálózatok Weight • Cisco implementáció • Helyi szinten van hozzárendelve • Nincs továbbadva • Az útvonalak kiválasztásánál ez a legmagasabb prioritású • Kimenő forgalomra • Nagyobb jobb.
Számítógép Hálózatok Weight 175.10.0.0 AS4 190.10.0.0 170.10.0.0 AS100 AS200 RtD RtA 175.10.0.0 175.10.0.0 W=200 W=100 RtA will be chosen RtC AS300
Számítógép Hálózatok AS_SET • AS_PATH • AS_SEQUENCE rendezet lista • AS_SET csak egy halmaz • Aggregálásnál van szerepe • Az aggregát AS-t tartalmazza
Számítógép Hálózatok AS_SET
Számítógép Hálózatok BGP döntési folyamat • Táblák: • Adj_RIB-in • Loc_RIB • Adj_RIB-out • Kritériumok • Súly • LOCAL_PREF • Helyi útvonal • Legrövidebb AS_PATH • IGP forrású • MULTI_EXIT_DISC • eBGP • iBGP
Számítógép Hálózatok BGP szabályok Decide exactly ONE best path BGP router Decision Process Export policy Import policy Receive routes for prefixes from multiple neighbors Filter out unwanted routes, and manipulate the attributes of remaining routes Manipulate attributes of the best route, influence neighbor's choice, or decide whether to advertise the route to neighbors
Számítógép Hálózatok Konvergencia • Útvonal lebegés elnyomás • Hiba, vagy emberi tényező miatt egy hálózat elérhetősége időről időre változik • RFC 2439 • Minden útvonal stabilitási paraméterrel rendelkezik • A lebegő büntetést kap • Half-life (ennyi időközönként felére csökkenti a büntetést) • Ha egy szintet átlép akkor nem hirdetik tovább. • Ha egy szintnél kisebb akkor meghirdetik.
Számítógép Hálózatok IBGP IGP szinkronizáció • Amíg egy tranzitív hálózat IGP-je nem ismer meg egy útvonalat addig az iBGP azt nem teszi bele az IGP táblába és nem hirdeti azt továbbnem hirdeti meg: Szinkronizáció • Miért nem használnak csak iBGP-t egy-egy ISP belső hálózatában? • IBGP • AS_PATH nem változik • Az egymástól tanult útvonalakat nem hirdetik • Teljes hálóra van szükség: • A hurkok elkerülésére • Minden forgalomirányító a BGP útvonal mentén tudja, hogy hogyan továbbítsa • Vagy minden útvonalat meg kell hirdetni az IGP-ben is
Számítógép Hálózatok Példa
Számítógép Hálózatok Nagyszámú társi kapcsolat menedzselése • Társ csoportok • A konfiguráció menedzsmentet elődsegítendő • Közös szabályrendszert lehet adni • Társaságok • COMMUNITY • Egy útvonalnak több ilyen attribútuma lehet • Erre is tudunk szabályokat mondani • Útvonal tükröző • RFC 1966 • RouteReflector RR • Sok iBGP esetén a teljes háló kialakítása, menedzselése macerás • A többiek csak vele építenek és a külső társakkal ki kapcsolatot (Cluster) • Az RR belső és külső kapcsolattal is rendelkezhet • Hasonló a szerepe mint a forgalomirányító szervernek • Konföderáció
Számítógép Hálózatok Klaszter • Egy AS-ben több RR is lehet • ORIGINATOR_ID, CLUSTER_LIST
Számítógép Hálózatok Konföderáció • Egy AS-t al-autonom rendszerekre osztanak • Member Autonomous Systems • AS_CONFED_SEQ, AS_CONFED_SET
Számítógép Hálózatok Az Internet forgalomirányító protokollja • Exterior Gateway Protocol • Az EGP működése • Problémák az EGP-vel • Border Gateway protocol • BGP alapok • BGP üzenet típusok • Útvonal attribútumok • Adminisztratív súlyok • BGP döntési folyamat • iBGP IGP szinkronizálás • Nagy mennyiségű társ kapcsolat menedzselése