BGP (Border Gateway Protocol) er protokollen nettverkene på internett bruker for å fortelle hverandre hvilke adresser de kan levere trafikk til. Uten BGP ville ikke Telenor-kunden din kunne nå en server i Telia sitt nett, eller en tjeneste i Frankfurt.
Prefikser og AS-stier
Hvert autonome system annonserer adresseblokkene (prefiksene) det er opphav til. Sikt annonserer for eksempel 158.36.0.0/14. Naboene sender annonseringen videre og legger til sitt eget AS-nummer i AS-stien. En ruter et annet sted i verden kan da se noe sånt som:
158.36.0.0/14 via AS1299 AS2603 AS224
Altså: gå via Arelion (AS1299) og NORDUnet (AS2603) til Sikt (AS224), som er opphavet.
Hvordan veien velges
En ruter velger blant flere mulige veier etter regler og policy: først den mest spesifikke ruten (en /24 slår en /16), deretter lokale preferanser (kunder før peering før transitt), korteste AS-sti og flere tie-breakere. Det er ingen sentral styring – hvert nettverk bestemmer selv.
Når det går galt
BGP stoler i utgangspunktet på det naboene sier. Det gir to kjente problemer:
- Rutelekkasjer: et nettverk sender videre ruter det ikke skulle, og trafikk tar en omvei.
- Rutekapring: noen annonserer et prefiks som ikke er deres, eller et mer spesifikt prefiks inne i det, og trekker til seg trafikken.
RPKI: validering av ruteopprinnelse
Med RPKI kan innehaveren av en adresseblokk publisere en signert ROA: «AS224 får være opphav til 158.36.0.0/14». Nettverk som validerer, forkaster ruter som strider mot ROA-en. Blant norske nettverk er de aller fleste annonserte rutene dekket av en gyldig ROA – se Norges internett i tall.
Utforsk selv
- BGP-prefiksoppslaget viser hvem som annonserer et prefiks, dekkende ruter og mer spesifikke ruter.
- RPKI-validatoren sjekker om en rute er gyldig.
- ASN-oppslaget viser alt et AS annonserer.