Locked History Actions

Border Gateway Protocol

Border Gateway Protocol

BGP

Interneto maršrutizacijos protokolas


Apibrėžimas

BGP - tai protokolas naudojamas paketų maršrutizacijai tarp autonominių sistemų.


Paaiškinimai

BGP (angl. Border Gateway Protocol) maršrutizacijos protokolas sukurtas IBM ir CISCO kompanijomis. Protokolą sąlygiškai galima padalinti į dvi dalys – eBGP (angl. External Border Gateway Protocol) ir iBGP (Internal Border Gateway Protocol).

BGP protokolas pakeitė senesnį EGP (angl. Exterior Gateway Protocol) protokolą. EGP protokolas buvo skirtas laikams, kai Internetas turėjo vienintelę magistralę ir visas tinklas buvo medžio struktūros. Šis protokolas neturėjo jokių priemonių kilpų paieškai ir šalinimui.

BGP šiuo metu yra pagrindinis dinaminės maršrutizacijos protokolas Internete, kuris efektyviai sprendžia atsirandančių kilpų problemas ir geriau tinka šiuolaikinei Interneto struktūrai. Šis protokolas skirtas informacijos apsikeitimui ne tarp maršrutizatorių, bet tarp atskirų autonominių sistemų. Maršrutizatorius sąveikauja su kitu maršrutiztoriumi naudojant BGP protokolą tik tuo atveju, kai administratorius tiesiogiai nurodo, kad šis maršrutizatorius yra jo kaimynas. Tokia maršrutizatoriaus elgsena yra patogi, kai maršrutizatoriai priklauso skirtingiems paslaugų tiekėjams. Tiekėjas pats priima sprendimą su kokiomis autonominėmis sistemomis jo tinklas turi bendrauti.

Informacijos siuntimui tarp maršrutizatorių naudojamas 179 TCP protokolo prievadas. BGP seanso atidarymo metu gali būti naudojami skirtingi autentifikacijos mechanizmai, kurie didina autonominių sistemų saugumą. Pagrindinis BGP protokolo pranešimas – UPDATE. Maršrutizatorius siųnčia šį pranešimą, kai jam priklausančioje autonominėje sistemoje pasikeičia struktūra, pvz. prijungiami ar atjungiami sistema sudarantys tinklai, atsiranda ar dingsta maršrutai į tuos tinklus. Viename UPDATE pranešime galima pranešti apie vieną naują maršrutą arba anuliuoti keletą senų. BGP protokole maršrutu laikomas autonominių sistemų, kurias reikia pereiti, siekiant pasiekti paskirties sistemą, sąrašas. Formaliai BGP maršruto aprašymas atrodo taip: AS_path; NextHop; Network/Mask_length, kur AS_path – autonominių sistemų numerių seka, NextHop – sekančio maršrutizatoriaus adresas, Network/Mask_length – tinklo adresas ir kaukė. Pavyzdžiui jeigu vienas maršrutizatorius nori pranešti kitam, kad AS 1021 sistemoje atsirado tinklas 202.100.5.0/24 kuri galima pasiekti per 194.200.30.1maršrutizatorių, tai jis siunčia pranešimą AS 1021; 194.200.30.1; 202.100.5.0/24.

Bgp_Packet.gif

1 pav. BGPv4 protokolo paketų formatas.

Maršrutizatorius savo lentelėje saugo informacija apie tinklus, jų maršrutizatorius ir informaciją apie tai, iš kurios autonominės sistemos jis gavo pranešimą. 1 pav. parodytas BGPv4 siunčiamų paketų formatas.


Papildymas


Autonominė sistema (AS) – tai maršrutizatorių grupė, kurią valdo vienas fizinis/juridinis asmuo. Autonominė sistema paprastai turi keletą, jos valdžioje esančių potinklių.

Internete naudojami maršrutizacijos protokolai, pagal autonominės sistemos naudojimą, skirstomi į:

  • Vidinius (intra) / RIP, OSPF, IS-IS.
  • Išorinius (inter) / EGP, BGP.

Vidiniai naudojami maršruto autonominės sistemos viduje radimui, o išoriniai maršrutui, tarp mazgų, kurie yra skirtingose AS. Ketvirtoji border gateway protocol versija yra de facto standartas šių dienų internete. Ji apibrėžta RFC 4271 aprašu.

BGP, kiekvienai AS, suteikia galimybę:

  • Rinkti potinklių pasiekiamumo informaciją iš kaimyninių AS.
  • Dalintis turima informacija su vidiniais AS maršrutizatoriais.
  • Nustatyti geriausią maršrutą iki potinklių pagal pasiekiamumo informaciją ir AS vykdomą politiką.

Pagrindinė BGP užduotis yra pranešti visam internetui apie potinklio egzistavimą ir kelią jį pasiekti. Potinklis y informuoja ribinį x AS maršrutizatorių apie save ir jis naudodamas BGP ryšius su kaimyninėmis AS praneša apie potinklio pasiekiamumą. Tokią „reklamą“ gavę AS maršrutizatoriai žinią perduoda savo kaimynams ir po kiek laiko visas internetas žino, kad AS x egzistuoja potinklis y ir per kokias AS galima jį pasiekti.

BGP pagrindas yra maršrutizatoriai tarpusavyje besikeičiantys pasiekiamumo informacija. Du skirtingų AS BGP maršrutizatoriai sujungiami praktiškai nenutrūkstamu TCP ryšiu naudojant 179 prievadą. Jis vadinamas BGP sesija. Vidiniai tos pačios AS maršrutizatoriai taip pat sujungiami tokia sesija.

ASBGP.png

2 Pav. Autoniminės sistemos ir ryšiai jose bei tarp jų.

BGP dėka kiekviena AS gali sužinoti kokie tinklai ir potinkliai gali būti pasiekiami per jos kaimynines AS. BGP protokole pasiekiamumas aprašomas ne mazgų, o tinklų tikslumu. Tinklai gali būti dalinami į potinklius.

Pavyzdžiui: AS 2 egzistuoja potinkliai: 138.16.64.0/24, 138.16.65.0/24, 138.16.66.0/24, 138.16.67.0/24. Tuomet AS 2 gali juos apjungti į vieną didelį potinklį ir informuoti kaimynines AS apie 138.16.64.0/22 pasiekiamumą.

Kitas pavyzdys: AS 2 egzistuoja potinkliai: 138.16.64.0/24, 138.16.65.0/24, 138.16.66.0/24. O 138.16.67.0/24 potinklis priklauso AS 3. Žinant, kad maršrutas parenkamas pagal labiausiai atitinkantį potinklį, galima tokia situacija. Tada AS 3 praneš AS 1 apie tinklo 138.16.67.0/24 pasiekiamumą, o AS 2 vistiek galės informuoti AS 3 apie 138.16.64.0/22 pasiekiamumą, apjungdamas potinklius.

Kartu su pasiekiamumo informacija išsiunčiamos ir kelio savybės. Dvi svarbesnės savybės yra AS kelias (AS-PATH) ir kitas mazgas (NEXT-HOP).

AS-PATH, tai AS numeriai, kurios yra pakeliui iki tikslo. NEXT-HOP, tai kito maršrutizatoriaus adresas.

Gavęs informaciją apie potinklio pasiekiamumą maršrutizatorius vadovaujasi sukonfigūruota politika. Jis gautą informaciją gali panaudoti arba išfiltruoti. Kai maršrutizatorius žino daugiau nei vieną kelią iki tikslo, jis privalo pasirinki „geresnįjį“. BGP maršrutų atrankoje vadovaujamasi tokiais kriterijais, pagal svarbumą:

  • AS vykdoma politika (Pvz. Geriau pigesnis maršrutas, o ne greitesnis).
  • Kelio ilgumas (Skaičiuojant AS maršrute).
  • Trumpiausias kelias iš AS (Karštos bulvės metodas).

Idomūs faktai:

  • Globalioje BGP lentelėje yra apie 510 000 įrašų.
  • 2014m. Rugpjūčio mėn. Pradėjo „lūžti“ senesni maršrutizatoriai, dėl pasiekto maksimalaus lentelės dydžio apie 512 000 įrašų.


Naudota literatūra

1. Prieiga internetu: http://en.wikipedia.org/wiki/Border_Gateway_Protocol [žiūrėta 2014 m. lapkričio 16 d.].

2. В.Г. Олифер, Н.А. Олифер. Компютерные сети. 3-е издание.

3. James F. Kurose, Keith W. Ross. COMPUTER NETWORKING: A Top-Down Approach. 6th edition. 2013. Pearson.

4. Prieiga internetu: https://www.youtube.com/watch?v=z8INzy9E628 [žiūrėta 2014 m. lapkričio 16 d.].

5. Prieiga internetu: https://www.youtube.com/watch?v=WcnNQS1hgqk [žiūrėta 2014 m. lapkričio 16 d.].

6. Prieiga internetu: http://bgp.potaroo.net/ [žiūrėta 2014 m. lapkričio 16 d.].