UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 10. BGP Dr. Bilicki Vilmos Szoftverfejlesztés Tanszék
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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ózatok2
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Források Cisco: Routing TCP/IP Volume II. AS, EGP: RFC 827 ( ) BGPv4: RFC 1771 ( ) BGP esettanulmányok: ■ ologies_tech_note09186a00800c95bb.shtmlhttp:// ologies_tech_note09186a00800c95bb.shtml Számítógép Hálózatok3
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Előzmények 80-as évek ■Az ARPANET forgalomirányítás egy távolságvektor alapú forgalomirányító algoritmuson alapult ■Gateway – to – Gateway Protocol (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ó, szabad) ■Interrior Gateway Protocol: AS-en belül ■Exterior Gateway Protocol: AS-ek között Számítógép Hálózatok4
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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ózatok5
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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ózatok6
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Példa Számítógép Hálózatok7
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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ózatok8
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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ózatok9
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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ózatok10
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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 * i * i * i * i *> i * i * i * i * i *> i * i Számítógép Hálózatok11
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS eBGP és iBGP A BGP-nek két típusa lehet eBGP external BGP ■Amikor a két kommunikáló forgalomirányító külön AS-hez tartozik iBGP internalBGP ■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ózatok12
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS iBGP és eBGP AS200 AS100AS300 eBGP iBGP Számítógép Hálózatok13
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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 Layer Reachability Information NLRI – IP prefixek ■Path Attributes – útvonal tulajdonságok ■Withdrawn routes – 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ózatok14
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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ózatok15
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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ózatok16
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Origin példa AS100 iBGP AS RtA -> : 300 i RtA -> : i RtE -> : 100 i RtE -> : 100 ? ip route null 0 RtA RtB RtE Számítógép Hálózatok17
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS AS_PATH tulajdonsá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ózatok18
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS AS_PATH Számítógép Hálózatok19
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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ózatok20
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Nexthop példa, probléma AS100 iBGP AS RtC advertise to RtA, Nexthop RtA advertise to RtB, Nexthop RtA RtB RtC Számítógép Hálózatok21
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS LOCAL_PREF tulajdonsá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ózatok22
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Local Preference AS4 AS100AS200 AS300 Set locPref=150 Set locPref= RtA RtB RtC RtD Számítógép Hálózatok23
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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ózatok24
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS MED Set Metric = 0 AS100 AS400 AS300 Set Metric = 120 Set Metric = 200 RtA RtB RtC RtD Számítógép Hálózatok25
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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ózatok26
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Példa Számítógép Hálózatok27
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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ózatok28
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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ózatok29
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Weight AS4 AS100AS200 AS300 W=200W= RtA will be chosen RtA RtD RtC Számítógép Hálózatok30
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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ózatok31
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS AS_SET Számítógép Hálózatok32
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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ózatok33
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS BGP szabályok Import policy Decision Process Export 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 Decide exactly ONE best path BGP router Számítógép Hálózatok34
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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ózatok35
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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ább nem 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ózatok36
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Példa Számítógép Hálózatok37
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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 ■Route Reflector 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ózatok38
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS Klaszter Egy AS-ben több RR is lehet ORIGINATOR_ID, CLUSTER_LIST Számítógép Hálózatok39
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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ózatok40
UNIVERSITY OF SZEGED D epartment of Software Engineering UNIVERSITAS SCIENTIARUM SZEGEDIENSIS 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ózatok41