TCP/IP-pino | |
---|---|
sovelluskerros |
BGP · DHCP · DNS · ESMTP · FTP · HTTP · IMAP · IRC · LDAP · MGCP · NNTP · NTP · POP3 · RPC · RTP · RTSP · SIP · SMTP · SNMP · SOCKS · SSH · Telnet · TLS/SSL · XMPP · (..lisää..) |
kuljetuskerros |
TCP · UDP · QUIC · DCCP · SCTP · RSVP · RIP · ECN |
verkkokerros |
IP (IPv4 ja IPv6) · ICMP (ICMPv6) · IGMP · IPsec |
siirtoyhteyskerros | ARP · IS-IS · NDP · OSPF · L2TP · PPP |
fyysinen kerros |
BGP (lyhenne sanoista Border Gateway Protocol) on standardisoitu ulkoinen reititysprotokolla, jonka avulla vaihdetaan Internetin reititys- ja saavutettavuustietoja autonomisten järjestelmien välillä.[1] BGP on etäisyysvektoriprotokolla[2], ja se reitittää pyynnöt erilaisten teknisten metriikoiden ja autonomisen järjestelmän ylläpitäjän asettamien sääntöjen perusteella.[3][4] Se käyttää TCP-siirtoprotokollaa ja sille on varattu portti on 179. Se on Internetin tärkein reititysprotokolla.
BGP on suunniteltu erityisesti ulkoista reititystä varten autonomisten järjestelmien välillä (eBGP, Exterior Border Gateway Protocol), mutta sen käyttö on myös mahdollista autonomisten järjestelmien sisällä. Tällöin protokollaa kutsutaan lyhenteellä iBGP (Interior Border Gateway Protocol).[5][6]
Autonomisten järjestelmien reunareitittimet muodostavat BGP:n avulla yhteyden naapurijärjestelmiin. BGP pohjautuu polkuvektoreiden käyttöön, missä järjestelmät etsivät BGP:n avulla yleensä lyhimmän polun lähdeosoitteesta kohdeosoitteeseen eri autonomisten järjestelmien läpi. Normaalisti BGP-reitittimet ylläpitävät muistissaan taulukkoa kaikista IP-verkoista ja autonomisten järjestelmien muodostamasta polusta, jolla ne voidaan tavoittaa. IPv4:n taulukossa on nykyään yli 950 tuhatta ja IPv6:n taulukossa yli 200 tuhatta verkkoa.[7]
Vuonna 1989 insinöörit yrittivät keksiä ratkaisua ongelmille, jotka johtuivat Internetin laajentumisesta. BGP-protokollan perusperiaatteet piirettiin kolmelle "ketsuppitahraiselle servetille", jonka vuoksi BGP tunnetaan vielä nykyäänkin lempinimellä kolmen servetin protokolla (engl. three-napkins protocol).[8][9] Protokolla standardisoitiin ensimmäistä kertaa vuonna 1989 dokumentissa RFC 1105, ja sitä on käytetty Internetissä vuodesta 1994.
BGP:n nykyinen käytössä oleva versio on BGP4, joka standardisoitiin vuonna 1994 dokumentissa RFC 1654. Versio lisäsi muun muassa tuen IPv6-protokollalle. Vuoden 1994 jälkeen protokollaa on päivitetty vuonna 1995 dokumentissa RFC 1771, vuonna 1995 dokumentissa RFC 1771, vuonna 1998 dokumentissa RFC 2283 ja vuonna 2006 dokumentissa RFC 4271. Näistä muutoksista uusin, RFC 4271, korjasi virheitä, tarkensi epäselvyyksiä ja päivitti protokollaa vastaamaan yleisiä alan standardeja.
Suuri parannus BGP4:ssä edeltäjiinsä nähden oli tuki luokattomalle CIDR-reititykselle (Classless Inter-Domain Routing) ja reititystaulujen koon pienentäminen tukemalla reittien yhdistämistä. RFC 4271 mahdollistaa useiden IPv4- ja IPv6-osoiteperheiden kuljettamisen.
Eräitä keskeisiä dokumentteja: