Border Gateway Protocol (BGP) er en standardisert utvendig gateway-protokoll som brukes til å utveksle informasjon om ruting og tilgjengelighet mellom autonome systemer (AS) på Internett. Det er en bane-vektor-protokoll, som betyr at den annonserer den beste veien til en destinasjon basert på informasjon mottatt fra naboene.
BGP er en kompleks protokoll, men dens grunnleggende operasjon kan oppsummeres som følger:
1. ASer utveksler ruteinformasjon med hverandre ved hjelp av BGP. Denne informasjonen inkluderer listen over nettverk som hvert AS kan nå, samt banen til disse nettverkene.
2. Hvert AS bruker informasjonen mottatt fra sine naboer for å beregne den beste veien til hver destinasjon. Den beste banen er den med lavest kostnad, som vanligvis måles i form av nettverkshopp.
3. ASer annonserer deretter sine beste veier til naboene. Denne informasjonen spres over hele Internett til alle ASer har et konsistent syn på nettverkstopologien.
BGP er en kritisk protokoll for driften av Internett. Det sikrer at trafikk rutes effektivt og at ASer kan nå hverandres nettverk. Uten BGP ville ikke Internett kunne fungere skikkelig.
Her er et forenklet eksempel på hvordan BGP fungerer:
* AS1 har to nettverk, 10.0.0.0/24 og 20.0.0.0/24.
* AS2 har ett nettverk, 30.0.0.0/24.
* AS1 og AS2 er koblet til hverandre gjennom en ruter.
BGP er en avstandsvektorrutingsprotokoll, som betyr at den bruker hopptelling som en beregning for å bestemme den beste veien til en destinasjon. I dette eksemplet er den beste veien fra AS1 til AS2 gjennom ruteren som kobler dem sammen.
AS1 vil annonsere sine nettverk til AS2, og AS2 vil annonsere sitt nettverk til AS1. AS1 vil da legge ruten til AS2s nettverk til rutetabellen, og AS2 vil legge ruten til AS1s nettverk til rutetabellen.
Denne prosessen sikrer at AS1 og AS2 kan nå hverandres nettverk.