M14 Border Gateway Protocol
Takaisin opintojakson aikatauluun
Opetusvideot
Video: Tietoverkot, Border Gateway Protocol
Microsoft Stream (sharepoint) test
BGP
Quote
RFC 4271 says: ” The Border Gateway Protocol (BGP) is an inter-Autonomous System routing protocol.”
BGP toimii TCP portissa 179. Toimiakseen BGP tarvitsee TCP:ltä muodostetun yhteyden: Jos haluamme vaihtaa koko Internet:n reititystaulun, haluamme varman tavan siirtää se sovellukselta toiselle. BGP:ssä voi olla hyvin paljon reittejä reititystaulussa. BGP:ssä on menetelmiä lähettää pelkästään tiettyjen reittien päivityksiä reititystaulustaan.
Koko reititystaulua ei siis siirretä jokaisella päivityksellä. Tämän vuoksi BGP on HIDAS protokolla. Tämä on olennainen suunnittelu, koska Internet olisi .... mukava olla vakaa. Vaikutukset:
- Muutokset joita teet saattaa kestää hetken että päivittyvät reititysnaapureille
- Huonosti mainostetuissa aliverkoissa kestää hetki poistua reititystaulusta
BGP:n perusperiaatteita on Autonomiset Alueet (eng. Autonomous Systems). Suomennosta ei käytetä.
Autonomous System - AS
Mikä siis on Autonomous System?
Quote
”An AS is a connected group of one or more IP prefixes run by one or more network operators which has a SINGLE and CLEARLY DEFINED routing policy. ”
Autonomous System:t rekisteröidään ja numeroidaan Internet:ssä IANA:n toimesta. RIPE allokoi numeroita Euroopassa.
Joitain esimerkkejä AS numeroista:
- AS719 – Elisa Oyj
- AS1741 – FUNET AS
- AS12582 – TeliaSoneraFinland – Datanet (TSF MPLS VPN Services)
- AS16086 – DNA Oy
- AS15496 – Aalto University
- AS16273 – F-Secure Oyj
Opintojaksollamme
Kuvittele itsesi
- olemaan tietoverkon ylläpitäjä, jolla on kokonainen oma tietoverkko... kuten olet tehnyt harjoitteessa E16:sta.
- Ajattele että jokainen vertaisopiskelijasi halusi liittää oman verkkonsa sinun verkkoon
- Näiden verkkojen välinen "liima" on BGP
Etäisyysvektoriprotokolla
BGP on etäisyysvektoriprotokolla.
- Tämä
etäisyys
mitataan eri metriikoilla vektori
on (hieman yksinkertaistaen)NEXT_HOP
metriikka
Valitakseen parhaan reitin annettuun aliverkkoon, BGP käyttää NLRI:tä.
Network Layer Reachability Information - NLRI
Etuliite (eng. Prefix
) on hieno termi aliverkon osoitteelle
.
2.0.0.0/24
onprefixi
256 tietokoneen IPv4 aliverkolle2001:dead:beef:5::/64
onprefixi
2^64 tietokoneen IPv6 aliverkolle
Täten NLRI
on metriikat
liitettynä prefixiin
.
- Samalla tavalla kuin
ihmisellä
voi olla useampia metriikoita kutenpaino
japituus
attribuutteina - tai
auto
:lla on useampia metriikoita kutenmalli
jamoottori
Metriikka: AS_PATH
AS_PATH on Autonomisten Alueiden määrä paketin matkalla.
Metriikka: ORIGIN
ORIGIN merkkaa prefixin
lähteen: Mistä prefix
on opittu?
- se on tuotu BGP protokollaan
network
-komennollaset protocol bgp 343 address-family ipv4-unicast network 2.0.0.0/24
prefix
:n ORIGIN attribuuttiin merkataanI
-Internal
- Se on opittu toisesta BGP prosessista (hieman harvinaisempi tapaus)
set protocols bgp 343 address-family ipv4-unicast redistribute bgp 500
prefix
:n ORIGIN attribuuttiin merkataanE
-External
- Se on opittu jostain muusta reititysprotokollasta kuin BGP
set protocols bgp 343 address-family ipv4-unicast redistribute ospf
prefix
:n ORIGIN attribuuttiin merkataan?
-Incomplete
Metriikka: NEXT_HOP
NEXT_HOP
on polkuattribuutti joka sisältää seuraavan BGP reitittimen IP -osoitteen.
Muita Metriikoita
- Local Preference - Mikä on ulosmeno reititin kyseiseen aliverkkoon (vaatii useampia BGP reitittimiä AS alueen reunalle sallimaan liikennettä ulos)
- Multi Exit Discriminator - MED - Mistä haluat liikenteen sisään AS alueelleni (vaatii useampia BGP reitittimiä AS alueelle reunalle sallimaan liikennettä sisään)
- Atomic Aggregate - "Superverkko" aliverkkoja BGP:ssä
- Aggregator - Reititin joka summasi/superverkotti aliverkot yhteen
- Community - Arvo joka liitetään useampaan eri aliverkkoon (voi merkata useamman prefixin kuulumaan samalle asiakkaalle [esim. MPLS-VPN instanssi])
- ... ja paljon muita
Address families (suom. osoiteperheet)
BGP suunniteltiin kantamaan IPv4 NLRI –tietoja, mutta se voi silti tukea useita eri protokollia joita kutsutaan osoiteperheiksi (eng. address families) BGP:Ssä.
Eli BGP tukee IPv4 ja IPv6.
Looking Glass -palvelut Internetissä
Looking Glass -palvelut on operaattoreiden pyörittämiä sivustoja joilla voi kurkistaa heidän näkymään Internet:stä.
Olettaen että sinulla on yhteydellisyys Internettiin, voit tarkastaa miten sinun prefix
on reititetty/mainostettu BGP:ssä.
Ongelmia BGP:ssä
-
Internet coughed a little bit: because 512K limit of routing table on some devices, autumn of 2014
-
Google Internet Traffic wasn’t Hijacked, but it was out of control, November 2018
-
How Verizon and a BGP Optimizer Knocked Large Parts of the Internet Offline, June 2019
Konfiguroidaan BGP
BGP pitäisi konfiguroida loopback -rajapintojen välille, mutta se lisää monimutkaisuutta.
Tehdään BGP tällä opintojaksolla hieman yksinkertaisemmin, eli BGP naapuruus ethX rajapintojen IP-osoitteiden välille.
Konfiguroidaan BGP - IPv4
set protocols bgp <my_as_number> neighbor <ipv4 of neighbor> remote-as <neighbor_as_number>
esim.
Julistaa kaksi naapuroivaa reititintä joiden välille pyritään muodostamaan TCP yhteys BGP naapuruutta varten.
Molemmilla reitittimillä pitää olla toisiaan heijastavat asetukset!
Esimerkki Reititin AS 111
set protocols bgp 111 neighbor 2.2.2.2 remote-as 222
Esimerkki Reititin AS 222
set protocols bgp 222 neighbor 1.1.1.1 remote-as 111
set protocols bgp <my_as_number> address-family ipv4-unicast network <ipv4 subnet>
Samanlainen komento kuin OSPF:ssä, mutta tämä ei lähetä "BGP HELLO" -viestiä.
Pelkästään mainostaa verkkoa BGP:n ylitse naapureille.
set protocols bgp 111 address-family ipv4-unicast network 1.1.1.0/24
set protocols bgp address-family ipv4-unicast redistribute <ospf/static/connected>
Jakaa reititysprotokollan reitit toiseen reititysprotokollaan, joka rupeaa lähettämään niitä edelleen naapureilleen.
set protocols bgp 111 address-family ipv4-unicast redistribute ospf
Ottaa OSPF reitit show ip route ospf
-komennosta ja alkaa mainostamaan niitä BGP naapureille.
set protocols ospf redistribute bgp metric-type 2
Jakaa reititysprotokollan reitit toiseen reititysprotokollaan, joka rupeaa lähettämään niitä edelleen naapureilleen.
set protocols ospf redistribute bgp metric-type 2
Ottaa BGP reitit show ip route bgp
-komennosta ja alkaa mainostamaan niitä OSPF naapureille.
Konfiguroidaan BGP - IPv6
set protocols bgp <my_as_number> address-family ipv6-unicast network <ipv6 subnet>
IPv6 address-family pitää laittaa päälle erikseen, mutta tämä komento alkaa mainostamaan IPv6 aliverkkoa/prefixiä naapuroiville BGP reitittimille.
set protocols bgp 111 address-family ipv6-unicast network 2001:dead:beef:5::/64
set protocols bgp <my_as_number> neighbor <ip> address-family ipv6-unicast
Laittaa IPv6 address-familyn päälle tietylle naapuruudelle. Vaaditaan myös vastaanottaakseen IPv6 reittejä BGP naapurilta.
set protocols bgp 222 neighbor 1.1.1.1 address-family ipv6-unicast
Konfiguroidaan BGP - show komennot
Jatka harjoituksiin!
Takaisin opintojakson aikatauluun?
Takaisin opintojakson aikatauluun
Lisenssi
Tämän opintojakson materiaalin on kirjoittanut Karo Saharinen ja se on lisensoitu Creative Commons Nimeä-EiKaupallinen-EiMuutoksia 4.0 Kansainvälinen -lisenssillä.