Border Gateway Protocol (BGP) er en standardiseret udvendig gateway-protokol, der bruges til at udveksle oplysninger om routing og tilgængelighed mellem autonome systemer (AS) på internettet. Det er en sti-vektor protokol, hvilket betyder, at den annoncerer den bedste sti til en destination baseret på information modtaget fra dens naboer.
BGP er en kompleks protokol, men dens grundlæggende funktion kan opsummeres som følger:
1. AS'er udveksler ruteinformation med hinanden ved hjælp af BGP. Disse oplysninger inkluderer listen over netværk, som hvert AS kan nå, samt stien til disse netværk.
2. Hvert AS bruger informationen modtaget fra sine naboer til at beregne den bedste vej til hver destination. Den bedste vej er den med de laveste omkostninger, som typisk måles i form af netværkshop.
3. AS'er annoncerer derefter deres bedste veje til deres naboer. Denne information spredes over hele internettet, indtil alle AS'er har et ensartet overblik over netværkstopologien.
BGP er en kritisk protokol for driften af internettet. Det sikrer, at trafikken dirigeres effektivt, og at AS'er kan nå hinandens netværk. Uden BGP ville internettet ikke kunne fungere korrekt.
Her er et forenklet eksempel på, hvordan BGP virker:
* AS1 har to netværk, 10.0.0.0/24 og 20.0.0.0/24.
* AS2 har ét netværk, 30.0.0.0/24.
* AS1 og AS2 er forbundet med hinanden via en router.
BGP er en distance vektor routing protokol, hvilket betyder, at den bruger hop count som en metrik til at bestemme den bedste vej til en destination. I dette eksempel er den bedste vej fra AS1 til AS2 gennem den router, der forbinder dem.
AS1 vil annoncere sine netværk til AS2, og AS2 vil annoncere sit netværk til AS1. AS1 vil derefter tilføje ruten til AS2's netværk til sin routingtabel, og AS2 vil tilføje ruten til AS1's netværk til sin routingtabel.
Denne proces sikrer, at AS1 og AS2 kan nå hinandens netværk.