BGP (engleză Border Gateway Protocol) este protocolul de rutare folosit în nucleul Internetului. El menține o tabelă cu rețele IP (sau "prefixe") care arată calea folosită pentru a ajunge la rețeaua respectivă prin diferitele sisteme autonome (AS). BGP este considerat din acest motiv un protocol de rutare vector-cale (spre deosebire de protocoalele vector-distanță, care nu păstrează toată calea). BGP nu folosește aceleași metrici ca protocoalele de rutare folosite în interiorul AS-urilor, ci ia decizii bazându-se pe cale și pe politicile de rutare ale sistemului autonom din care face parte.
Protocolul a fost creat pentru a înlocui un alt protocol de rutare (EGP) și pentru a permite rutarea descentralizată în Internet, făcând inutilă rețeaua de nucleu a acestuia, NSFNet. Din 1994, versiunea patru a protocolului este folosită în Internet, toate versiunile anterioare fiind considerate depășite. Cel mai important progres al versiunii 4 a fost suportul pentru CIDR și folosirea agregării rutelor pentru a reduce dimensiunea tabelelor de rutare. Din ianuarie 2006, BGPv4 este standardizat prin RFC 4271, care a trecut prin peste 20 de versiuni preliminare, bazate pe versiunea de BGP din RFC 1771. RFC 4271 a corectat unele erori, a clarificat ambiguitățile și a apropiat standardul de practicile curente din industrie.
Cei mai mulți utilizatori de Internet nu folosesc în mod direct acest protocol. Totuși, deoarece majoritatea Internet Service Providerilor îl folosesc pentru a stabili rute între rețelele respective, BGP este unul din cele mai importante protocoale de pe Internet. Importanța sa este comparabilă cu a protocolului SS7 pentru stabilirea apelurilor telefonice între operatorii PSTN. Rețelele IP de mari dimensiuni folosesc BGP inclusiv în interiorul rețelei, de exemplu pentru a lega mai multe subrețele suficient de mari pentru ca protocolul de rutare OSPF să-și atingă limitele. Alt caz de utilizare îl reprezintă conectarea mai multor puncte de prezență ale unui singur furnizor de acces Internet (acest caz este descris în RFC 1998).