Border Gateway Protocol

Från Wikipedia
Hoppa till: navigering, sök
Protokollstack för IP-nätverk
IP-skikt
Protokoll
5. Applikation  BitTorrent | DHCP | DNS | FTP | HTTP | IMAP | IRC | NNTP | POP3 | RTP | SIP | SMTP | SNMP | SSH | Telnet | TLS | SSL | TFTP
4. Transport DCCP | SCTP | TCP | UDP | IL | RUDP
3. Nätverk ARP | BGP | ICMP | IGMP | IP (IPv4 | IPv6) | RIP
2. Länk ATM | Ethernet | FDDI | ISDN | MPLS | Token Ring | PPP | SLIP | Wi-Fi
1. Fysiskt IEEE 802 | ISDN | RS-232 | IrDA | Bluetooth | xDSL

Border Gateway Protocol, BGP, är ett routingprotokoll som binder samman internet. Det fungerar genom att bygga en tabell med IP-nätverk, så kallade prefix, vilken sedan anger åtkomst till nätverk mellan autonoma system, AS. Protokollet beskrivs som ett path vector-protokoll. BGP använder inga tekniska mätvärden utan baserar sina routingbeslut på policyer och regler. Nuvarande version av BGP är 4, som är standardiserad i RFC 1771.

BGP stödjer classless interdomain routing, CIDR, och använder sig av route aggregation för att minska storleken på routingtabellen. Version 4 har använts på internet sedan 1994. Alla tidigare versioner anses föråldrade och används inte längre.

BGP skapades för att ersätta routingprotokollet Exterior Gateway Protocol (EGP) för att tillåta fullständigt decentraliserad routing. Detta behövdes för att tillåta stängningen av NSFNET som var Internets ryggrad. Detta resulterade i att Internet kunde bli ett fullständigt decentraliserat system.

Stora privata IP-nätverk kan också använda sig av BGP. Ett exempel kan vara att sammankoppla ett antal stora OSPF-nätverk där OSPF själv inte klarar av storleken. En annan anledning till att använda BGP kan vara för att införa redundans via flera internetleverantörer.

De flesta internetanvändare använder inte BGP direkt men eftersom alla internetleverantörer måste använda BGP för att skapa routing mellan varandra blir BGP ett av de viktigaste protokollen på Internet.

BGPs funktion[redigera | redigera wikitext]

BGP-grannar, eller peers, bestäms via en manuell konfiguration mellan routrar för att skapa en TCP-session över port 179. En BGP-router kommer periodiskt, var 60:e sekund, att skicka ett 19 byte långt keepalive-meddelande för att hålla förbindelsen levande. Bland routingprotokollen är BGP unikt för sitt sätt att använda TCP som transportprotokoll.

När BGP används inom ett autonomt system kallas det för Internal BGP (IBGP, Interior Border Gateway Protocol). När BGP används mellan autonoma system så kallas det för External BGP (EBGP Exterior Border Gateway Protocol). Om en BGP-router skall routa IBGP trafik så kallas den för transitrouter. Routrar som finns i det autonoma systemets utkanter för att byta information med andra internetleverantörer kallas för border- eller edge-routrar.

Alla routrar i samma AS som skall delta i BGP-routningen måste vara konfigurerade i ett fullt anslutet nät. Varje router måste vara konfigurerad för att utbyta information med alla andra routrar. Detta skapar uppenbara skalningsproblem eftersom antalet anslutningar ökar kvadratiskt med antalet routrar. För att lösa detta finns det två lösningar inbyggda i BGP; route reflectors och confederations.

Route reflectors minskar antalet anslutningar som behövs i ett AS. En ensam router (eller två för redundans) kan konfigureras som reflektorer, andra routers i nätverket kan sedan konfigureras att peera med dessa.

Confederations används i mycket stora nätverk där stora AS kan konfigureras som mindre, mer lätthanterliga, interna AS. Confederation kan användas i förening med route reflectors.

BGP problem och åtgärder[redigera | redigera wikitext]

Route flapping[redigera | redigera wikitext]

En funktion som kallas "dampening" är inbyggd i BGP för att lindra effekterna av route flapping. Fladdrande routes kan orsakas av WAN-länkar eller fysiska interface som går sönder, felkonfigureras eller av felhanterade routes. Utan dampening, kan routes läggas till och dras tillbaka ofta från routingtabellen vilket kan leda till hög processorbelastning på routrar samt försämrad stabilitet i routningen.

Med dampening fördröjs en fladdrande route exponentiellt. Första gången när en route blir oåtkomlig men fort återkommer, oavsett orsak, så gör dampeningen ingenting, för att tillåta normal felhantering i BGP. Nästa gång undanhåller BGP prefixet en förutbestämd tid, som ökar exponentiellt. Efter att detta onormala tillstånd slutat och en passande tid har gått för den fladdrande routen så blir den åter insatt i tabellen och dess status återställs. Dampening kan också lindra mot illasinnade Denial of Service-attacker. Tiderna är mycket konfigurerbara.

Då nätverkens ryggradslänkar och routerprocessorerna har blivit kraftfullare så föreslår vissa nätverksarkitekter att flap dampening inte längre är så viktigt som det tidigare har varit eftersom ändringar i routingtabellen absorberas mycket fort av routers. Några arkitekter har till och med föreslagit att dampening kan göra saken värre i dessa miljöer. Detta är ett kontroversiellt ämne och det bedrivs mycket forskning här.

Routingtabellers tillväxt[redigera | redigera wikitext]

Ett av de största problemen för BGP och Internets infrastruktur som helhet kommer från tillväxten av routingtabellen. Om den globala routingtabellen växer till den storleken att vissa äldre och mindre kapabla routrar inte kan klara av de minnes- eller CPU-krav som behövs för att underhålla tabellen så kommer dessa routrar att sluta vara effektiva vägar mellan de delar av internet de sammankopplar. Ett annat problem med detta, och kanske ännu värre, är att stora routingtabeller tar längre tid att stabliseras efter stora anslutningsförändringar vilket gör att nätverksanslutningarna blir osäkra eller till och med otillgängliga.

Fram till 2001 växte den globala routingtabellen exponentiellt, vilket kunde leda till vittspridda anslutningsproblem. Ett försök att förhindra detta är en gemensam ansträngning från internetleverantörer att hålla den globala routingtabellen så liten som möjlig, genom att använda CIDR och route aggregation. Detta har sänkt tillväxthastigheten på routingtabllen till en linjär process, vilket gör att äldre routrar kan användas mycket längre innan de måste ersättas.

Källor[redigera | redigera wikitext]

Den här artikeln är helt eller delvis baserad på material från engelskspråkiga Wikipedia