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 AS spojený s více než 1 dalším AS Stub 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 Routing protocol používaný uvnitř AS Distance Vector, Link State algoritmy IGRP, RIP, OSPF Exterior Gateway Protocol 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) Minimalizace zdrojů pro průchozí dopravu Cold Potato Routing (Best Exit) Použití nejkratší cesty přes náš AS Cheapest Exit Neprocházení určitých sítí 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 Reliable transport Zjednodušení protokolu Když zahájí komunikaci naráz -> kolize 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 1 router v AS bude reflector, ostatní k němu budou jako peers Změna pravidel posílání zpráv v AS 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 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 Well-Known Discretionary Musí je umět každý Nemusí být v každém UPDATU Optional Transitive 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 Nepropaguj route k EGBP peers (Ostatní AS) No-Advertise Nepropaguj k nikomu No-Advertise-Confend 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 Router je uvnitř AS EGP Incomplete 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 Není potřeba BGP 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 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 Při zjištění napadení se vytvoří pravidlo které zahazuje nebezpečné pakety Under development Whitelist 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 Popisuje AS a jeho veřejný klíč PolicyCert AS policy AuthCert K prefixům autoritativní AS
sobgp Každý AS si vytvoří public/private key Public si nechá podepsat členem sítě Přenos klíčů a certifikátů nezávislý na přenosu routovacích informací 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 př. pro přenos sobgp certifikatů Dohoda při startu session Obnova a rušení certifikátů 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