în unele privințe, BGP este frumos și simplu. De exemplu, există un singur BGP: BGP versiunea 4. Mulți profesioniști din rețea au pus întrebarea dacă versiunea BGP 4 va fi înlocuită în curând cu BGP 5. Cu toate acestea, nu este nimic de îngrijorat. Astăzi, vom rula încă BGP versiunea 4 Ca Exterior Gateway Protocol (EGP). Chiar dacă BGP4 de astăzi face tot felul de lucruri pe care BGP4 de acum 20 de ani nu le-ar putea face, cum ar fi rutarea IPv6, multicast și VPN-uri sau utilizarea comunităților. BGP sa dovedit a fi foarte extensibil, dar totul este încă BGP—și un singur proces BGP la asta. Dar BGP se ocupă doar de partea exterioară a rutării—există și rutare interioară.

protocoale de Gateway Interior
și există mult mai multe opțiuni în protocoalele de Gateway Interior (IGP). Un vechi favorit este RIP, Protocolul de informații de rutare. Chiar și RIPv2 îmbunătățit este prea simplu pentru majoritatea rețelelor în aceste zile, la fel ca RIPng (generația următoare) pentru IPv6. Ca atare, Cisco și-a creat propriul protocol de rutare a Gateway-ului Interior (IGRP) și apoi o versiune îmbunătățită numită în mod adecvat IGRP îmbunătățit (EIGRP). Cu toate acestea, cel mai utilizat IGP este OSPF: Deschideți Mai întâi calea cea mai scurtă. OSPF este o implementare” deschisă ” a celei mai scurte căi sau a algoritmului lui Dijkstra. (Numele nu se referă la posibila deschidere a celei mai scurte căi.) OSPF versiunea 2 este utilizat pentru IPv4; OSPF versiunea 3 pentru IPv6. Rețelele care rulează ambele versiuni IP și utilizează OSPF ca IGP, astfel, trebuie să ruleze atât OSPFv2, cât și OSPFv3.

la sfârșitul anilor 1980, când OSPF a fost dezvoltat, familia de protocoale de rețea OSI (Open Systems Interconnect) era încă în dispută și o mulțime de tehnologii au fost împrumutate / furate de OSI de la IP și de IP de la OSI. Ca rezultat, OSI are protocolul de rutare IS-IS pentru rutarea OSI CLNP, care este foarte similar cu OSPF în multe feluri (sau invers). IS-IS înseamnă sistem intermediar la sistem intermediar, unde ” sistem intermediar „înseamnă”router”. IS-IS a fost ulterior extins pentru a suporta mai întâi IPv4 și apoi și IPv6 și este utilizat în principal în rețele IP foarte mari.

cu această introducere din drum, vreau să se concentreze pe cel mai comun caz: o rețea care rulează BGP ca EGP și OSPF ca IGP și uita-te la modul în care taxele de rutare sunt împărțite pe ambele protocoale și modul în care cele două interacționează.

redistribuirea
cu OSPF fiind un IGP și BGP fiind un EGP sugerează o diviziune evidentă a muncii: OSPF gestionează rutarea internă, BGP rutarea către destinații externe. Cu toate acestea, nu este atât de simplu. Da, OSPF se ocupă de rutarea internă. Aceste rute apar ca rute ” O „în ieșirea” show ip route ” pe un router Cisco. Dacă rețeaua este împărțită în mai multe zone OSPF—nu este cu adevărat necesară în aceste zile decât dacă aveți sute de routere—este posibil să vedeți și rute „o IA” între zone.

rutele O și o IA sunt doar blocurile de adrese care sunt utilizate pe interfețele routerului care rulează OSPF. Aceasta nu include interfețele către servere sau PC-uri și alte dispozitive ale utilizatorilor finali sau, în cazul ISP-urilor, clienți. Pentru ca aceste adrese să apară în OSPF, trebuie să redistribuim subrețele conectate și/sau să redistribuim rutele statice:

!router ospf 1 redistribuiți subrețele conectate redistribuiți subrețele statice!

1 în „router ospf 1” este procesul OSPF sau numărul de instanță. Este posibil să rulați mai multe instanțe OSPF pe același router—ceea ce, desigur, necesită o planificare atentă pentru a menține totul drept. Dacă redistribuirea tuturor rutelor conectate și/sau statice în OSPF este mai mare decât aveți nevoie, puteți adăuga „route-map <route-map-name ” și apoi utilizați harta rutei indicată pentru a filtra rutele nedorite pentru a le împiedica să fie redistribuite.

în mod implicit, rutele redistribuite sunt făcute de tip extern 2 și apar ca „O E2”. De asemenea, este posibilă redistribuirea ca tip extern 1 (cu „metric-tip 1”). Diferența este că, cu rutele o E1, costul OSPF al traseului include costul legăturilor pentru a ajunge la ruta externă, în timp ce cu rutele O E2 costul legăturilor interne este ignorat.

iBGP
evident, BGP gestionează rutele către rețele externe care sunt capabile de BGP. Cu toate acestea, ar fi un pic jenant dacă toate routerele BGP din rețea ar spune vecinilor lor externi lucruri complet diferite. Deci, toate routerele BGP din rețea trebuie să vorbească între ele pentru a spune o poveste consistentă rețelelor externe. Pentru aceasta este BGP intern (iBGP). BGP „obișnuit” este astfel BGP extern (eBGP). Când spun toate routerele BGP, chiar mă refer la toate: dacă rețeaua dvs. are routere 100 BGP, fiecare dintre acestea trebuie să mențină sesiuni iBGP cu celelalte 99. Ei bine, dacă nu utilizați reflectoare traseu, dar asta e o poveste pentru o altă zi.

dacă sunteți obișnuiți cu eBGP, iBGP necesită o obișnuință. Spre deosebire de eBGP, iBGP este foarte bine
De lucru pe mai multe hamei. Cu toate acestea, aceasta adaugă o complicație. Luați în considerare următoarea rețea:
interfețe loopback

Să presupunem că sesiunea iBGP de la routerul a la routerul D se configurează spre adresa routerului D pe legătura dintre B și D. Apoi, când legătura dintre routerele B și D scade, adresa lui D de pe interfața care se conectează la acea legătură scade și, odată cu aceasta, sesiunea iBGP configurată către adresa acelei interfețe. Deci, mai degrabă decât să configurați sesiunile iBGP către adresele de interfață, am configurat interfețe loopback pentru aceasta. Spre deosebire de interfața loopback de pe un server sau altă gazdă, care folosește întotdeauna adresa 127.0.0.1, routerele folosesc adrese „reale” pe interfețele lor loopback, care funcționează astfel:

!
interfață loopback0
adresa ip 192.0.2.65 255.255.255.255
!
router BGP 9000
vecin 192.0.2.67 la distanță-ca 9000
vecin 192.0.2.67 actualizare-sursa loopback0
!spre deosebire de alte interfețe, interfețele loopback pot avea o lungime de prefix /32, deci folosesc doar o singură adresă. Telecomanda ca pentru vecinul 192.0.2.67 este aceeași cu cea locală ca (9000), făcând din această sesiune BGP o sesiune iBGP. Linia „update-source loopback0” se asigură că adresa sursă din pachetele BGP de ieșire este adresa IP configurată pe interfața loopback0, deci se potrivește cu adresa pe care o caută routerul de la distanță. Dacă Acum o cale între cele două routere iBGP coboară, pachetele iBGP pot fi redirecționate pe o altă cale și nu există niciun impact asupra BGP. Rețineți că pentru ca aceasta să funcționeze, adresele interfeței loopback need2 să fie prezente în IGP—de obicei, rutele conectate vor fi redistribuite pentru a face acest lucru.
BGP în rețelele mari eBook
De asemenea, spre deosebire de eBGP, iBGP nu actualizează calea AS sau următoarea adresă hop. Aceasta înseamnă că următoarea adresă hop din actualizările iBGP indică în continuare adresa IP a routerului din rețeaua vecină din care a fost învățat ruta. Această adresă se va afla într-o subrețea punct-la-punct între routerul eBGP și routerul BGP al rețelei vecine. EBGP va cunoaște această adresă, deoarece este prezentă pe o interfață conectată direct, dar fără alte acțiuni, restul routerelor dvs. nu vor cunoaște această adresă, astfel încât următoarea adresă hop pentru rutele iBGP nu se va rezolva și rutele iBGP nu pot fi utilizate. Din nou, redistribuirea rețelelor conectate în OSPF (sau IGP la alegere) rezolvă acest lucru. Alternativ, puteți configura „next-hop-self” pe sesiunile iBGP, iar routerul va înlocui următoarea adresă hop din actualizările iBGP cu propria adresă.

redistribuirea BGP
De asemenea, este posibil să redistribuiți rutele în BGP. De exemplu, într-o rețea ISP mare, puteți redistribui rutele conectate și statice în BGP, mai degrabă decât în IS-IS, deoarece acest lucru va menține IS-IS slabă și medie. Rutele suplimentare BGP sunt relativ neimportante, iar un beneficiu frumos este că, dacă sunt redirecționate intern, acest lucru nu declanșează nicio actualizare BGP. Mai degrabă, următoarele adrese hop sunt rezolvate diferit după o schimbare IS-IS, pe care fiecare router o poate face independent. Desigur, acest lucru necesită filtre bune care să se asigure că numărul mare de prefixe mici utilizate de clienți nu se scurg în tabelul BGP global. O modalitate bună de a realiza o astfel de filtrare este prin adăugarea unei comunități la rutele care pot fi propagate în eBGP și apoi filtrate pe baza acelei comunități.

pe vremuri, nu era neobișnuit să redistribui toate rutele BGP în OSPF. Cu o jumătate de milion de prefixe în BGP, această practică a devenit mai puțin obișnuită. Dacă doriți cu adevărat să trăiți pe margine, puteți redistribui BGP în OSPF și OSPF în BGP. Apoi, dacă filtrele dvs. nu sunt perfecte, rutele pot fi dus-întors între BGP și OSPF, astfel încât calea AS este eliminată. Deci, acum sunteți de publicitate peste BGP o grămadă de rute care nu sunt ale tale, dar cu un one-hop ca cale, astfel încât o mulțime de vecinii vor începe să vă trimită trafic pentru aceste rute.

distanța administrativă
Nu în ultimul rând, ce se întâmplă atunci când același traseu este prezent atât în BGP, cât și în OSPF? Evident, este greu să compari o preferință locală BGP cu o metrică OSPF. Deci, ceea ce face un router (Cisco) este să atribuie o „distanță administrativă” fiecărui protocol de rutare. Traseul cu cea mai mică distanță câștigă apoi. OSPF are o distanță de 110. Rutele BGP au o distanță de 20 (mai bună decât OSPF și alte IGP) atunci când sunt învățate peste eBGP și 200 (mai rău decât OSPF și alte IGP) atunci când sunt învățate peste iBGP. Traseele statice au o distanță de 1 în mod implicit, dar puteți modifica acest lucru prin includerea unei valori de distanță la sfârșitul comenzii „IP route…”. O valoare a distanței de 250 îi va ține departe de calea protocoalelor de rutare. Distanța administrativă este primul număr între paranteze pătrate din ieșirea” afișați ruta ip”.