EBGP vs IBGP
Parehong EBGP at IBGP ay mga terminong ginamit sa routing protocol BGP. Sa teoretikal na termino, ang pangunahing pagkakaiba sa pagitan ng dalawa ay ang EBGP ay tumatakbo sa pagitan ng dalawang BGP router sa magkaibang Autonomous System (AS), gayunpaman, ang IBGP ay tumatakbo sa pagitan ng dalawang BGP router sa parehong AS. Bago natin talakayin ang mga pagkakaiba sa pagitan ng EBGP at IBGP, magkaroon tayo ng pangunahing pag-unawa sa EBGP at IBGP.
Ano ang EBGP?
BGP ay tumatakbo sa pagitan ng mga router sa iba't ibang autonomous system. Bilang default, sa EBGP (peering sa dalawang magkaibang AS), ang IP TTL ay nakatakda sa 1, na nangangahulugang ang mga peer ay ipinapalagay na direktang konektado.
Sa kasong ito, kapag ang packet ay tumawid sa isang router, ang TTL ay magiging 0 at pagkatapos ay ang packet ay ibababa nang higit pa doon. Sa mga kaso kung saan ang dalawang magkapitbahay ay hindi direktang konektado, halimbawa, pag-peering gamit ang mga loopback na interface o pag-peering kapag ang mga device ay maraming hops ang layo, kailangan naming magdagdag ng command na “neghbor x.x.x.x ebgp-multihop”
Kung hindi, hindi maitatatag ang kapitbahayan ng BGP. Bilang karagdagan, ia-advertise ng EBGP peer ang lahat ng pinakamahusay na ruta na alam o natutunan nito mula sa mga kapantay nito (EBGP peer man o IBGP peer), na hindi, sa kaso ng IBGP.
Ano ang IBGP?
Sa IBGP, walang paghihigpit na kailangang direktang konektado ang mga kapitbahay; gayunpaman, hindi ia-advertise ng isang IBGP peer ang prefix na natutunan nito mula sa isang IBGP peer patungo sa isa pang IBGP peer. Ang paghihigpit na ito ay naroroon upang maiwasan ang mga loop sa loob ng parehong AS. Upang linawin ito, kapag ang isang ruta ay naipasa sa isang EBGP peer, ang lokal na numero ng AS ay madadagdag sa prefix sa as-path, kaya kung matatanggap namin ang parehong packet pabalik na nagsasaad ng aming AS sa as-path, alam namin na ito ay isang loop, at ang packet na iyon ay nahuhulog. Gayunpaman, kapag ang isang ruta ay na-advertise sa isang IBGP peer, ang lokal na AS number ay hindi idinaragdag sa as-path, dahil ang mga peer ay nasa parehong AS.
Upang maiwasan ang mga loop sa parehong AS, mayroong dalawang paraan na ginagamit.
1. Full Meshed Topology: Dito, ang lahat ng mga router sa parehong AS ay kailangang konektado sa isa't isa. Halimbawa, kung mayroon tayong N router, dapat mayroon tayong N (N-1)/2 IBGP session. Maiiwasan natin ito sa pamamagitan ng pagpapakilala ng Route Reflectors.
2. Paggamit ng Ruta-Reflectors: Ito ay isang alternatibong paraan upang malampasan ang buong senaryo ng mata. Sa kasong ito, ang mga session ng IBGP ay itinatag na may gitnang punto. Ang gitnang puntong ito ay tinatawag na Route Reflector at ang iba pang IBGP router ay tinatawag na route reflector client.
Ano ang pagkakaiba ng eBGP at iBGP?
1. Ang EBGP ay tumitingin sa pagitan ng dalawang magkaibang AS, samantalang ang IBGP ay nasa pagitan ng parehong AS (Autonomous System).
2. Ang mga rutang natutunan mula sa eBGP peer ay ia-advertise sa ibang mga peer (BGP o IBGP); gayunpaman, ang mga rutang natutunan mula sa IBGP peer ay hindi ia-advertise sa ibang mga IBGP peer.
3. Bilang default, ang mga kapantay ng EBGP ay nakatakda sa TTL=1, na nangangahulugang ang mga kapitbahay ay ipinapalagay na direktang konektado, na wala sa kaso ng IBGP. Mababago natin ang gawi na ito para sa EBGP sa pamamagitan ng paggamit ng command na “kapitbahay x.x.x.x ebgp-multihop”. Ang Multihop ay ang terminong ginamit sa EBGP lamang.
4. Ang mga ruta ng EBGP ay may administratibong distansya na 20, samantalang ang IBGP ay may 200.
5. Ang susunod na hop ay nananatiling hindi nagbabago kapag ang ruta ay na-advertise sa IBGP peer; gayunpaman, binago ito kapag na-advertise ito sa EBGP peer bilang default.
Ang default na gawi na ito ng IBGP ay maaaring baguhin ng command na “kapitbahay x.x.x.x next-hop-self”; binabago nito ang susunod na paglukso, habang nag-a-advertise, bilang isang lokal na ruta.