BGP eller Border Gateway Protocol er en routnings protocol som bliver brugt af internettet til at rute trafik over. Derfor er det en meget vigtig protokol og det er også en af de sværeste at forstå. I starten var internettet nemt at holde styr på, der var ikke så mange forbindelses punkter og de var alle statiske, men som internettet forsatte sin hurtige vækst blev det mere og mere besværligt at holde styr på alle ruterne fra et netværk til et andet. Løsningen kom i form af en overgang til Autonomouse systems (AS). Et AS kan være en Internet Service Provider (ISP), et universitet eller et helt virksomheds netværk der fx inkluderer flere forskellige lokationer (IP addresser). Hvert AS er repræsenteret med et unikt nummer dette kaldet Atonomouse Systems Number (ASN). I et AS type netværk har hver AS kontrol over en samling af forbundne routing prefixes, som repræsenterer en række af IP addresser. Et AS afgør selv routnings politikken inde i dens netværk.
Du kan tænke på Autonomous systems som en computer verden med mange gader. Et network prefix er det samme som en gade med mange huse, en IP addresse er ligesom en addresse for et hus, og en pakke er det samme som en bil der kører fra et hus til et andet hus via den bedst mulige rute. Med det i mente, så er BGP routenings protokollen det samme som en GPS, som med en GPS er udregningen af den bedste rute bestemt af en masse forskellige faktorer, så som trafik, kø, vejearbejde, uheld, midlertidige lukkede veje osv. Ruten der bliver udregnet bliver hele tiden opdateret dynamisk og kan ændre sig når som helst afhængig af situationen af netværks noderne, lidt ligesom veje og uventede ting på et GPS kort.
BGP er designet til at udveksle routning og tilgængeligheds information mellem autonomous systems (AS) på internettet. Hver BGP speaker, bliver kaldt “peer”, udveksler routnings information med dens nabo peers i form af network prefix announcements. Den samler altså information om dens eget network prefix og sender det til andre, på den måde behøver et AS altså ikke at være forbundet til et andet AS for at kende dens egen network prefix.
BGP beslutnings metoden analyserer alt data og sætter en af dens peers som den næste stop, for at forwarde pakker til en bestemt destination. Hver peer håndterer en tabel med alle ruter den kender for hvert netværk og udbreder den information til den nabo autonomous systems (AS). På den måde kan BGP tillade et AS at inhente alt den routnings information fra dens nabo AS og “udbrede” den information videre. Hver peer sender informationen internet inde i den eget autonomous system.
Så ligesom i virkeligheden findes der ofte mere en en rute til hver destination. BGP er ansvarlig for at bestemme den mest passende rute i forhold til den information der er indsamlet og en organisations rutnings politik, som er baseret på pris, pålidelighed, hastighed osv.