EBGP vs IBGP
Tiek EBGP, tiek IBGP yra terminai, vartojami su maršruto parinkimo protokolu BGP. Teoriškai pagrindinis skirtumas tarp šių dviejų yra tai, kad EBGP veikia tarp dviejų BGP maršrutizatorių skirtingoje autonominėje sistemoje (AS), tačiau IBGP veikia tarp dviejų BGP maršrutizatorių toje pačioje AS. Prieš aptardami EBGP ir IBGP skirtumus, turėkime pagrindinį supratimą apie EBGP ir IBGP.
Kas yra EBGP?
BGP veikia tarp maršrutizatorių skirtingose autonominėse sistemose. Pagal numatytuosius nustatymus EBGP (sujungimas dviejose skirtingose AS) IP TTL yra nustatytas į 1, o tai reiškia, kad bendraamžiai yra tiesiogiai prijungti.
Šiuo atveju, kai paketas kerta vieną maršrutizatorių, TTL tampa 0, o tada paketas bus atmestas. Tais atvejais, kai du kaimynai nėra tiesiogiai sujungti, pvz., susisiekimas su atgalinio ryšio sąsajomis arba ryšys, kai įrenginiai yra nutolę kelis kartus, turime pridėti komandą „neighbor x.x.x.x ebgp-multihop”
Priešingu atveju BGP kaimynystė nebus nustatyta. Be to, EBGP lygiavertė programa reklamuos visus geriausius maršrutus, kuriuos žino arba išmoko iš savo kolegų (ar EBGP, ar IBGP lygiaverčių), o IBGP atveju to nėra.
Kas yra IBGP?
IBGP nėra jokių apribojimų, kad kaimynai turi būti tiesiogiai prijungti; tačiau IBGP lygiavertis partneris nereklamuos priešdėlio, kurį išmoko iš IBGP lygiavertės programos kitam IBGP lygiui. Šis apribojimas yra skirtas išvengti kilpų toje pačioje AS. Norėdami tai paaiškinti, kai maršrutas perduodamas EBGP partneriui, vietinis AS numeris pridedamas prie priešdėlio as-path, taigi, jei gauname tą patį paketą atgal, nurodantį mūsų AS as-path, žinome, kad tai yra kilpa, ir tas paketas nukrenta. Tačiau kai maršrutas reklamuojamas IBGP partneriui, vietinis AS numeris neįtraukiamas į as-path, nes lygiaverčiai partneriai yra toje pačioje AS.
Norint išvengti kilpų toje pačioje AS, naudojami du metodai.
1. Visiška tinklelio topologija: visi tos pačios AS maršrutizatoriai turi būti sujungti vienas su kitu. Pavyzdžiui, jei turime N maršrutizatorių, turime turėti N (N-1)/2 IBGP seansus. Galime to išvengti pristatę maršruto atšvaitus.
2. Maršruto atšvaitų naudojimas: tai alternatyvus būdas įveikti viso tinklo scenarijų. Šiuo atveju IBGP seansai nustatomi su centriniu tašku. Šis centrinis taškas vadinamas maršruto atspindžiu, o kiti IBGP maršrutizatoriai vadinami maršruto atspindžio klientais.
Kuo skiriasi eBGP ir iBGP?
1. EBGP sąveikauja tarp dviejų skirtingų AS, o IBGP yra tarp tos pačios AS (autonominės sistemos).
2. Maršrutai, išmokti iš eBGP partnerio, bus reklamuojami kitiems lygiaverčiams (BGP arba IBGP); tačiau maršrutai, išmokti iš IBGP lygiaverčių programų, nebus reklamuojami kitiems IBGP partneriams.
3. Pagal numatytuosius nustatymus EBGP partneriai nustatomi su TTL=1, o tai reiškia, kad kaimynai yra tiesiogiai prijungti, o IBGP atveju tai nėra. Šį EBGP elgesį galime pakeisti naudodami komandą „neighbor x.x.x.x ebgp-multihop“. Multihop yra terminas, naudojamas tik EBGP.
4. EBGP maršrutų administracinis atstumas yra 20, o IBGP – 200.
5. Kitas šuolis lieka nepakitęs, kai maršrutas reklamuojamas IBGP lygiaverčiui; tačiau jis pakeičiamas, kai pagal numatytuosius nustatymus reklamuojamas EBGP partneriui.
Šis numatytasis IBGP elgesys gali būti pakeistas komanda „neighbor x.x.x.x next-hop-self“; tai pakeičia kitą šuolį, reklamuojant vietinį maršrutą.