AS a BGP V.Čížek MFF UK
Obsah ● ● ● ●
Úvod AS Routovací protokoly BGP – – –
●
Atributy Routování Bezpečnost
Literatura
Routing ● ● ● ●
Výběr cesty po které se mají poslat data Tabulky pro udržování záznamů o cestách Výpočet trasy Statický / Dynamický
Autonomní Systémy
Autonomní Systém ● ●
RFC 1930 Nedává navenek informace o své struktuře –
●
●
Pouze údaje o dostupnosti
Kolekce sítí a routerou zpravidla pod kontrolou jedné entity Každý AS má vlastní unikátní identifikační číslo ASN
Autonomní Systém ● ● ●
Má vlastní routovací politiku AS propojeny přes Network Access Point Nemusí mít stromovou strukturu –
Umožnuje peering (spojení dvou AS bez použití páteřní sítě)
Typy AS ●
Multihomed –
●
Stub – –
●
AS spojený s více než 1 dalším AS AS spojený jen s 1 dalším AS V případě stejné routing politiky zbytečné
Transit – –
Umožňuje spojení s dalšími AS ISPs
ASN ● ● ●
Lokálním RIR přidělovány IANA Dříve 16-bitové, od letošního roku 32-bitové RFC4893 –
● ●
Použití 32-bitových AS v BGP
64512-65535 privátní ASN Příklady: – – –
IBM 2685 PasNET 8854 CesNET 2852
Routovací Protokoly
IGP v. EGP ●
Interior Gateway Protocol – – –
●
Exterior Gateway Protocol – –
●
Routing protocol používaný uvnitř AS Distance Vector, Link State algoritmy IGRP, RIP, OSPF Routing protocol mezi jednotlivými AS EGP3, BGP
Routy se nepředávají mezi IGP a EGP –
Možnost vnesení chyb na cestě
IGP v. EGP ●
EGP – – –
●
Důraz na stabilitu Skrývání informací o topologii uvnitř AS Může přenášet informace o routovací politice
IGP – – –
Nutnost rychlé konvergence Přesné informace o topologii sítě Síť zpravidla pod kontrolou jedné entity ●
Politika nastavena administrátorem
Routovací Politiky ●
Hot Potato Routing (Closest Exit) –
●
Cold Potato Routing (Best Exit) –
● ●
Použití nejkratší cesty přes náš AS
Cheapest Exit Neprocházení určitých sítí –
●
Minimalizace zdrojů pro průchozí dopravu
Nedůvěryhodné sítě
Neakceptování redundantní a nestabilní routovací informace
Routovací Algoritmy ●
IGP – –
●
Vector Distance Algoritmus Link State Algoritmus
EGP –
Path Vector
Vector Distance ●
● ● ● ● ●
Každý uzel spočítá tabulku a tu pošle sousedům Count to infinity problém Velký objem posílaných dat Vhodné jen pro malé sítě Bellman-Ford algoritmus RIP, IGRP
Link State ● ● ●
● ● ●
Posílají se jen informace o lokální síti Flooding Každý uzel sám spočítá topologickou mapu sítě Rychlá konvergence Dijkstra OSPF, IS-IS
RIP ● ● ● ●
Vector Distance algoritmus UDP, port 520 Pomalá konvergence Hop Count jako metrika –
● ●
Nekonečno je 16
Každých 30 vteřin rozesílány updaty Běží na aplikační úrovni
OSPF ● ●
Link State algoritmus Rozdělení AS na oblasti – –
●
●
Vnitřní, Páteřní, Hraniční, Area Border, Lepší škálovatelnost
Každých 10 sekund zasílá HELLO pakety pro kontrolu sousedům V případě změny hned zasílá Link State Advertisement
Path Vector ● ● ●
Používaný pro inter-domain routing Rozhoduje se podle uzlů na cestě Data zasílana pouze sousedním AS
CIDR ● ● ● ● ●
Řeší problém velikosti routovacích tabulek Snižuje úbytek IP adres Slučování sousedních adres Proměnná délka masky podsítě Zápis adresy používající CIDR –
●
192.168.0.0/16.
RFC 4632
Nárůst routovacích tabulek
Border Gateway Protocol
Border Gateway Protocol ● ●
Hlavní routovací algoritmus Internetu Nástupce starého EGP3 –
● ●
● ●
Zrušeno omezení na stromovou topologii
Path Vector algoritmus Ve verzi 4 podpora CIDR a route aggregation RFCs 1771-4, 4271 iBGP/eBGP
BGP ●
Používá TCP port 179 – –
●
Když zahájí komunikaci naráz -> kolize – –
●
Reliable transport Zjednodušení protokolu Router s nižším Local Router ID aktivní Router s vyšším LRI ukončí aktivní spojení
Každých 60 sekund zasílá 19-bytové keepalive pakety
BGP ● ● ●
Posílají se jen změny, ne celé vektory Withdraval messages NLRI – množina IP adres z jednoho prefixu – – –
●
Routovací informace obsahují atributy a alespoň 1 prefix pro který jsou určené Lze více route se stejnými atributy Nelze nastavit nové atributy pro více route
Každý AS představuje 1 uzel v BGP –
BGP neví o jeho vnitřní topologii
BGP Statistiky BGP routing table entries examined: 240334 Prefixes after maximum aggregation: 123524 Deaggregation factor: 1.95 Unique aggregates announced to Internet: 117371 Total ASes present in the Internet Routing Table: 26880 Prefixes per ASN: 8.94 Origin-only ASes present in the Internet Routing Table: 23395 Origin ASes announcing only one prefix: 11397 Transit ASes present in the Internet Routing Table: 3485 Transit-only ASes present in the Internet Routing Table: 72 Average AS path length visible in the Internet Routing Table: 3.6 Max AS path length visible: 25 Max AS path prepend of ASN (13227) 16 Prefixes from unregistered ASNs in the Routing Table: 2 Unregistered ASNs in the Routing Table: 5 Number of 32-bit ASNs allocated by the RIRs: 38 Prefixes from 32-bit ASNs in the Routing Table: 8 Special use prefixes present in the Routing Table: 0 Prefixes being announced from unallocated address space: 856 Number of addresses announced to Internet: 1796301792
IBGP ● ●
Routery vně AS komunikující BGP Routery musí spojeny každý s každým –
●
Kvadratická složitost
Na redukci se používá – – –
Router Confederations Router Reflectors Lze používat obě metody zároveň
Router Confederations ● ● ● ● ●
AS rozdělen na sub-AS Navenek se tváří jako jeden AS „fine-grained policy“ RFC 3065 Nové BGP atributy –
AS Confederation Sequence ●
–
AS v konfederaci na BGP cestě
AS Confederation Set ●
AS v konfederaci kterými prošel UPDATE
Router Reflectors ●
Hierarchická struktura uvnitř AS –
●
Změna pravidel posílání zpráv v AS –
● ●
1 router v AS bude reflector, ostatní k němu budou jako peers Hrozba vytvoření smyček
Performance-only řešení RFC 2796
Problémy Konfederací a Reflektorů ●
Route oscillation –
● ●
Nedeterministické vybírání cesty
Suboptimal routing Increase of BGP convergence time
Problémy BGP ● ● ● ●
Růst routovacích tabulek CIDR Route Aggregation Blackhole – – –
př. síť ze 172.16.0.0/16, která má prefixy 172.16.0.0/18, 172.16.64.0/18, 172.16.192.0/18 AS oznámí blok 172.16.0.0/16 Traffic posílaný do té díry se bude zahazovat
Route Flapping ●
Uzly se připojují a odpojují –
●
Algoritmus se snaží reagovat rychle na změny
Route Flapping – –
Router neustále střídavě oznamuje cestu přes jeden router a pak přes druhý Tyhle vlny se šíří po celé síti
Route Damping ● ● ●
RFC 2439 Ochrana proti Route Flapping Po flapu dostane router „penaltu“ – –
●
●
Exponenciální doba vypršení suppress/reuse limit
V některých případech může zhoršit konvergenci RIPE nedoporučuje používat
BGP Notifications ● ●
Zasílány při ukončení spojení Message Header Error – –
● ● ●
Dochází k nim vzácně (TCP) př. connection not sync, bad length, bad type
Open Message Error Update Message Error Cease –
„graceful“ mechanismus na ukončení spojení
BGP Capabilities ● ● ●
RFC 3392 Dohoda o použití některého rozšíření BGP Zpravidla při otevření spojení –
●
Lze i za běhu
Příklady – – –
32-bitový ASN Graceful restart Dynamic Capability Exchange
BGP Atributy ●
Well-Known Mandatory – – –
●
Well-Known Discretionary – –
●
Musí je umět každý Nemusí být v každém UPDATU
Optional Transitive –
●
Musí je umět každá implementace Musí se posílat v každém UPDATU Většina se týká výběru cesty
Musí být posílány, nemusí být implementovány
Optional Non-Transitive
BGP Atributy ● ● ● ● ● ●
Local Preference Multi Exit Discriminator AS Path Origin Next Hop Community
Community Attribute ● ●
●
Optional transitional Většinou popisuje něco co nelze nastavit ostatními parametry Výběr cesty ovlivňují nepřímo –
●
Ovlivní hodnoty jiných parametrů
RFC 1997, RFC 1998 (Multihoming)
Community Attribute ●
Hodnoty –
No-Export ●
–
No-Advertise ●
–
Nepropaguj k nikomu
No-Advertise-Confend ●
–
Nepropaguj route k EGBP peers (Ostatní AS)
Nepropaguj k nikomu, ani těm se kterými jsi v konfederaci
Internet ●
Všem v Internet komunitě
Next Hop Attribute ● ● ● ●
Well Known Mandatory Next hop je adresa dalšího EGBP uzlu Pro IBGP se Next hop přenese do AS Pokud není dostupná routing informace o Next Hop, route se zahodí –
●
Je nutný IGP, aby propagoval informace o Next Hop
Možnost ručně nastavit při použití IBGP
AS Path Attribute ● ●
●
Well Known Mandatory Setříděný seznam routerů přes které se přešlo AS zahodí ty co obsahují jeho číslo –
loop detection
Local Preference Attribute ● ● ● ● ●
Well-Known Attribute Slouží k výběru optimální trasy skrz AS Preference Exit Pointu Propagován přes lokální AS Větší hodnota vyhrává
Origin Attribute ● ● ● ●
Well-Known Mandatory Říká jak se BGP dozvěděl o route Pro výběr routeru Hodnoty –
IGP ●
– –
EGP Incomplete ●
●
Router je uvnitř AS
Neznámý původ
IGP < EGP < Incomplete
Váha ● ● ● ● ● ●
Není to atribut Na ruční nastavení local best path Implementováno v Cisco routrech Lokální pro router Neposílá se sousedům Neovlivňuje globální routes
IBGP/EBGP ●
●
●
●
Cesty získané přes IBGP se nepředávají dalším IBGP peers AS Path se nemění když propaguju přes IBGP Svůj ASN přidám jen když předávám informace pomocí EBGP Next Hop se mění jen pomocí EBGP
Best Path Algoritmus ● ● ● ● ● ●
1) Cesta s nejvyšší vahou (weight) 2) Cesta s nejvyšší Lokální preferencí 3) „Locally originated“ cesta 4) Cesta s nejkratší AS Path 5) Cesta s nejnižsím Origin 6) Cesta s nejnižším MED –
● ● ● ● ●
Nastává jen pokud sousední AS je ve 2 cestách
7) Preferuj EBGP před IBGP cestami 8) Cesta s nejnižší IGP metrikou k Next Hop 9) Jestli je víc externích cest, vezmi starší 10) Cesta z routeru s nižším BGP ID 11) Cesta z nejnižší sousední adresy
Multihoming ●
Single Homing –
● ●
RFC 1998 Když mám BGP jen s ISP, nepotřebuju ASN – –
●
Stačí vzít privátní (RFC 2270) ISP ho vyřadí z AS Path
Nevýhody Multihomingu – –
●
Není potřeba BGP
Route Filtering Odstranění prefixů dlouhých délek z RT
Bezpečnost
Ochrana BGP ● ● ● ● ● ●
Filtrování paketů MD5 TCP signature IPSec TTL Blacklist & Whitelist Komplexní řešení – –
SBGP soBGP
MD5 a IPSec ●
MD5 TCP signature – – –
●
RFC 2385 BGP peers mají sdílený klíč Podpis připojen k posílanému paketu
IPSec – – – –
Šifrování dat Zajištění integrity Zpravidla transport mode Možnost použití IKE
TTL ●
Generalized TTL Mechanism – – – –
●
RFC 3682 Kdokoli může posílat data BGP routeru Omezení na okruh „known hosts“
Reverse Path Forward –
Kontrola odesílatele pomocí lokálních routovacích informací
Blacklist & Whitelist ●
Blacklist –
Vhodné ve spojení s IDS ●
– ●
Under development
Whitelist – –
●
Při zjištění napadení se vytvoří pravidlo které zahazuje nebezpečné pakety
Seznam povolených zdrojů Použítí Community Attribute
SBGP ● ●
BBN PKI pro autorizované údaje – – –
● ●
Vlastnictví IP adress bloku ASN BGP router identity
IPSec pro zajištění integrity dat Nový optional atribut „BGP Transitive Path“ pro přenos podpisů
SBGP ●
Zlepšení efektivity – – – –
●
Cesta se může začít počítat z dat před ověřením pravosti Ověřují se jen cesty které přibudou do lokální RT a budou rozesílány dále Kešování výsledků předchozích kryptografických operací Použití speciálního kryptografického HW
Implementace v Gated
soBGP ● ●
Cisco a IETF PKI – – –
●
Databáze AS a jejich klíče Databáze prefixů a k nim autoritativním AS Orientovaný graf platných cest
Klíče –
EntityCert ●
–
PolicyCert ●
–
Popisuje AS a jeho veřejný klíč AS policy
AuthCert ●
K prefixům autoritativní AS
soBGP ●
Každý AS si vytvoří public/private key –
●
Přenos klíčů a certifikátů nezávislý na přenosu routovacích informací –
●
Public si nechá podepsat členem sítě
př. Použití http serveru
Security preferences – –
Více důvěryhodnostních úrovní pro routovací informace Nutnost konzistentní security preference v AS
soBGP ●
Security Message type – –
●
Obnova a rušení certifikátů – –
●
př. pro přenos soBGP certifikatů Dohoda při startu session Problém s neplatnými údaji Seriová čísla EntityCert
Výhody – –
Decentralizovaný systém BGP protokol nezměněn
Literatura
Webové zdroje ● ● ● ● ● ●
http://en.wikipedia.org http://www.cisco.com http://joe.lindsay.net/bgp.html http://thyme.apnic.net/current http://bgp.potaroo.net/ http://www.earchiv.cz
Literatura ● ●
BGP Security, Russ White, Cisco, 2004 Practical BGP, Russ White-Danny McPherson-Sangli Srihari, Addison Wesley, 2004