Rutarea Interdomeniu In Retelele Ip.protocolul Bgp
Rutarea interdomeniu in retelele IP.
Protocolul BGP.
CUPRINS
Introducere…………………………………………….pag.4
Capitolul 1. Conceptul de domeniu de retea
Sisteme Autonome in cadrul Internetului……………pag. 2- 8
Dirijarea fara clase interdomenii CIDR ………………….pag. 8-11
II. Capitolul 2. Protocoale de rutare interdomeniu
2.1. Protocoale de rutare IGP si EGP ……………………..pag.11-13
2.2. Protocolul de rutare Exterior Gateway Protocol……..pag.13-15
2.3. Functiile Protocolului EGP……………………….. …pag.15-20
2.4. Formatul mesajelor EGP……………………………..pag.20-21
2.5. Comenzi de configurare Cisco IOS pentru EGP………pag.21-26
III. Capitolul 3. Protocolul de rutare Border Gateway Protocol
3.1. Notiuni Introductive Border Gateway Protocol………pag.27-30
3.2. Tipuri de mesaje BGP…………………………………pag.30-32
3.3. Masina de calcul BGP…………………………………pag.32-34
3.4. Path attributes………………………………………….pag.34-39
3.5. Procesul de decizie…………………………………….pag.39-40
3.6. Rute Dampening………………………………………..pag.40-41
3.7. Sincronizarea intre IBGP si IGP………………………..pag.41-42
3.8. Administrarea perechilor BGP…………………………pag.42-46
3.9. Formatul Mesajelor BGP………………………………pag.46-51
IV. Capitolul 4. Configurarea si de depanarea protocolului BGPv4
4.1. Configurarea de baza BGP……………………………………..pag.51-54
4.2. Redistribuirea rutelor in BGP…………………………………………..pag.54-56
4.3. Agregarea legaturilor cu BGP…………………………………..pag.56-57
4.4. Injectarea unei rute conditionate BGP…………………………..pag.57-58
4.5. Monitorizarea si depanarea protocolului de rutare BGP………..pag.58-61
4.6. Debugging BGP………………………………………………….pag.61-62
V. Capitolul 5. Concluzii finale
5. Metodologie
Bibliografie…………………………………………….pag.65
Introducere
Fiecare din ultimile trei secole a fost dominat de o anumita tehnologie. Secolul al XVII-lea a fost secolul marilor sisteme mecanice care au insotit la Revolutia Industriala. Secolul ala XIX- lea a fost epoca masinilor cu aburi. In secolul XX , tehnologia cheie este legata de colectarea , prelucrarea si distribuirea informatiei . Prin alte realizari , secolul trecut ne-a facut martori la instalarea retelelor telefonice mondiale , la inventia radioului si a televiziunii , la nasterea si cresterea spectaculoasa a industriei de calculatoare si lansarea satelitilor de comunicatii. Datorita progresului tehnologic rapid , aceste domenii converg in ritm alert , iar diferentele intre colectarea , transportul , stocarea si pelucrarea informatiei dispar pe zi ce trece. Organizatii cu sute de birouri raspandite pe o arie geografica larga se asteapta sa poata examina in mod curent printr-o simpla apasare de buton chiar si echipamentele lor cele mai indepartate.Retelele de calculatoare s-au dezvoltat spectaculos in ultimii ani , datorita evolutiei tehnologiilor hardware , software si de interconectare.Tehnologii de mare viteza au dus la utilizarea retelelor de calculatoare in toate domeniile vietii socio-economice , cu rezultate deosebite.
Lucrarea de fata isi propune sa prezinte principalele aspecte teoretice si practice in legatura cu rutarea interdomeniu in retelele Ip si implicit a protocolului de rutare BGP , avand rolul de a furniza dispozitivelor , informatii privind activitatea desfasurata la nivelul nucleu al mediului Internet . ”Reteaua de retele Internet” , desemneaza asadar , o colectie de sisteme autonome(domenii de retea) interconectate , folosind o singura tehnologie cu ajutorul careia sunt capabile sa schimbe informatii intre ele.
Continutul lucrarii prezinta elaborarea notiuni de rutare intre sisteme autonome care prin natura sau continutul lor strabat mai multe discipline : conceptul de domeniu de retea , definitia sistemului autonom ,exemple de protocoale de rutare interne si externe , principiu de functionre al protocolului EGP , prezentarea protocolului Border Gateway Protocol .
Capitolul 1. Conceptul de domeniu de retea
1.1 Sisteme Autonome in cadrul Inteternetului
Conceptul de domeniu de retea , in general , reprezinta o zona de control sau o sfera de activitate, o multime de puncte situate pe o treapta ,pe o suprafata , in spatiu , iar pentru fiecare punct exista o vecinatate a lui cuprinsa de valori pentru care poate fi folosit un instrument de masura. In telecomunicatii , domeniul reprezinta o sfera a carei continut este cunoscut si indentificat printr-un nume. Interiorul sferei contine o colectie de date despre protocoalele de retea, numarul retelelor sau despre prefixul adreselor IP.
Reteaua reprezinta asamblul de dispozitive interconectate prin intermediul unor medii de comunicatie ( cablu coaxial , fibra optica , linie telefonica , ghid de unde) in scopul utilizarii in comun de catre un numar foarte mere de utilizatori (chiar la nivel mondial) a tuturor resurselor fizice (hardware) , logice (software de baza si aplicatii ) , informationale ( baze de date ) associate calculatoarelor din retea . Prin astfel de retele se poate asiguara o integrare informatica a unui numar foarte mare de utilizatori la nivel local , regional si mondial.
Internet – o retea foarte mare de calculatoare care conecteaza intre ele milioane de retele mai mici din lumea intreaga. La reteaua Internet pot fi conectate toate tipurile de calculatoare. Toate calculatoarele conectate la Internet pot face schimb de informatii intre ele.
Aceasta retea nu este controlata de nici un guvern sau organizatie si nu exista un administrator sau un supervisor unic al retelei. Informatia circula in reteaua Internet sub forma de pachete. Fiecare pachet are un expeditor si un destinatar.
Pachetul este format din informatia propriu-zisa si informatiile de control care contin adresa destinatarului si adresa expeditorului. Informatia de control este memorata in antetul pachetului. Protocolul de comunicare reprezinta un set de reguli prin care se asigura schimbul de date si de mesaje intre doua calculatoare intre care s-a stabilit o legatura fizica. El stabileste un limbaj comun de dialog si o disciplina a conversatiei. Protocol TCP – Transmission Control Protocol – imparte mesajul in unitati de date, numeroteaza pachetele unui mesaj si reface mesajul, la destinatie, din pachete.
Fig. 1.1: Conectivitatea dispozitivelor de tip diferit in mediul Internet.
Sursa: http://www.networkthis.co/2013_06_01_archive.html
Multitudinea de retele si subretele ce construiesc mediul Internet , trebuiesc conectate , pentru ca un pachet de date sa ajunga , de la sursa , la destinatie . Pentru ca un pachet de date sa ajunga la destinatie , pachetul treuie ghidat (dirijat), prin aceste domenii complexe si numeroase cu ajutorul Protocoalelor de Rutare.
Arhitectura de Rutare a Internetului este structuratata pe doua niveluri ierarhice.
Primul nivel ierarhic este alcatuit din domenii, ce folosesc o tehnologie logica interna de dirijare a informatiei. Aceasta comunitate a domeniilor de retea foloseste in interiorul acestora, protocoale de rutare interne numite Interior Gateway Protocol (IGP), cu scopul de a mentine un set de cartografii complete pentru actuala topologie a domeniului, impreuna cu un set de trasee optime (best paths), aflate intre doua puncte din cadrul aceleiasi retele. Aceasta abordare, de
a avea un protocol de rutare dinamic, care sa mentina imaginea topologiei domeniului , se poate aplica in domenii de rutare destul de mari ,dar nu intr-un mediu atat de vast precum este Internetul. Cele mai cunoscute Protocoale de rutare IGP sunt : Open Short Fast Path ( OSFP) , Intermediate System –to Intermediate-System (IS-IS), Enhaced Interior Gateway Routing Protocol ( EIGRP) Al doilea nivel in ierarhia rutarii Internetului, este alcatuit din interdomenii.
Mediu de rutare interdomeniu, descrie modul prin care, domeniile sunt interconectate fara a mentine caile de tranzit din interiorul fiecarui domeniu.In interiorul ariei dintre doua sisteme autonome (Interdomain) , calea de rutare catre o adresa IP este descrisa ca fiind , o secventa de domeniu care trebuie tranzitata ,pentru a ajunge la domeniul care a generat un prefix al unei adrese particulare. Acest spatiu secvential aflat intre domenii este oraganizat si administrat de catre protocolul de rutare Bordway Gateway Protocol v4 (BGPv4) succesorul protocolului EGP(Exterior Bordway Protocol).
Fiecare domeniu de retea reprezinta un singur domeniu de administrare , care opereaza uniform sub comanda unor politici bine stabilite , acesta functionand independent de celelalte entitati(domenii).Domeniul in sine este un Sistem Autonom in arhitectura globala de rutare.
Sistemul Autonom ( Autonomous System AS)
Sistemul Autonom, constituie o retea mixta guvernata de o intreprindere gigant. Interiorul retelei este alcatuit dintr-o multitudine de subretele diferite , cu logica de rutare combinata si politici de rutare commune . Dirijarea printr-o retea interconectata este similara cu dirijarea din interiorul unei singure subretele, dar cu cateva complicatii in plus. Sistemul Autonom este alcatuit ,dintr-un set de echipamente de ghidare aflate sub administrarea tehnica a unui singur administrator, folosind un protocol de rutare intern (IGP), cu metrice comune pentru a determina rutarea pachetelor in interior si cu protocoale de rutare externe pentru a directiona pachetele catre alt sistem autonom. Dezvoltarea acestei definitii clasice gasita in RFC 4271 propune, atat folosirea mai multor protcoale de rutare interne , cat si folosirea mai multor metrice in interiorul unui singur sistem autonom .
Fiecarei subretele ii este asignata un numar unic de indentificare de catre Internet Assigned Numbers Authority (IANA), format dintr-un camp de numere de 16 biti , cunoscut sub numele de Autonomus System Number (Numarul Sistemului Autonom).
IANA – Institutia responsabila pentru alocarea de adrese IP (Internet Protocol), simboluri , numerotare si administrarea principalelor zone DNS (Domain Name System).
Fig. 1.2 :Conexiunile dintre domenii .
Sursa:https://networklessons.com/bgp/how-to-configure-bgp-as-pathprepending/
Autonomus System Number cuprinde 65,536 de valori unde 0 este rezervat si poate fi utilizat pentru identificarea retelelor nonrutate . Cel mai mare numar care poate fi utilizat este 65,535 si de asemenea este rezervat . 1026 de numere nu pot fi utilizate in Internetul public , acestea fiind alocate organizatiei RIR (Regional Internet Registries).
Fig. 1.3 : Alocarea numerelor de identificare ale sistemelor autonome.
Sursa:http://www.cisco.com/web/about/ac123//autonomous_system_numbers.html
Nu este obligatoriu ca fiecare retea sa aiba propiul ASN , pricipiul de baza al unui sistem autonom este de a exprima politici de rutare distincte interdomeniu , iar orice alt sistem autonom nu are obligatia de a expune propiul set de politici de rutare.
Spatiul de rutare interdomeniu este construit din doua componente: prefixele adreselor IP si din numerele sitemelor autonome , acestea fiind utilizate la identificarea domeniilor. Fiecare prefix are un domeniu de origine, cunoscut sub numele de AS Origine din care accesibilitate pentru prefix este propagat peste spatiul inter-domeniu.Cand procesul de rutare se propaga peste spatial interdomeniu, fiecare prefix acumuleaza si ii este asociata calea sistemului autonum (AS path).Cand un prefix care a fost asociat cu AS path tranziteaza un domeniu , este etichetat(insemnat) de catre domeniul respectiv adaugandui pe langa AS path si propiul sau ASN( Autonomus System Number).Calea AS are ca obiectiv in rutare interdomeniu : lungimea traseului (length path) si la detectare mecanismului de tip bucla de retea (loop detection).
Fig. 1.4 :Prevenirea bulei de retea (Loopback prevention)
Sursa: Sami Halabi with Danny McPherson – Internet Routing Arhitectures
Un pachet tipic interretele porneste din LAN-ul sau adresat catre ruterul multiprotocol local (in antetul nivelului MAC) ,codul de la nivelul retea decide carui ruter multiprotocol sa-i trimita pachetul , folosind propriile tabele de dirijare. Daca la acel ruter se poate ajunge folosind protocolul de retea nativ al pachetului , atunci este trimis direct acelui ruter. Altfel ,este trimis utilizand tunele , incapsulat in protocolul cerut de reteaua intermediara . Acest proces este repetat pana cand pachetul ajunge in reteaua destinatie .Diferenta dintre dirijarea interdomeniu retele si dirijarea intradomeniu este aceea ca dirijarea inter-retele nu poate necesita deseori traversarea granitelor internationale . Intra in joc legi diferite , cum ar fi legile suedeze despre secretul strict care se refera la exportarea din Suedia de date personale referitoare la cetatenii suedezi . Un alt exemplu de politica interna este cel al statului Canadian care spune ca traficul de date care porneste din Canada nu poate depasi granitele acestui stat . Traficul din Windsor , Ontario spre Vancouver nu poate fi dirijat prin apropiatul Detroit, chiar daca aceasta ruta este cea mai rapida si cea mai eficenta .O alta diferenta intre dirijarea interna si cea externa o reprezinta costul . Intr-o singura retea, se aplica un singur algoritm de taxare . Cu toate acestea , multiple retele pot avea administratii diferite, iar un traseu aleatoriu poate fi mai convenabil decat cel initial chiar daca intinderea sa geografica este mult mai mare . Similar , calitatea serviciului oferit de retele diferite poate fi diferita si acesta poate fi un motiv pentru alegerea unei cai in defavoarea alteia.
1.2 Dirijarea fara clase interdomenii CIDR ( Clasless Inter-Domain Routing):
Fig. 1.5 : Clasless Inter-Domain Routing
Sursa: http://www.ciscopress.com/articles/article.asp?p=174107&seqNum=4
IP este folosit intens de cateva decenii. A functionat extrem de bine, asa cum a fost demonstrat de cresterea exponentiala a Internet-ului. Din nefericire, IP devine rapid o victima a propriei popularitati: isi epuizeaza adresele. Acest dezastru fantomatic a generat foarte multe discutii si controverse in cadrul comunitatii Internet referitor la cum sa fie tratat. In aceasta sectiune vom descrie atat problema cat si cateva solutii propuse.
Prin 1987, cativa vizionari au prezis ca intr-o zi Internet-ul poate creste pana la 100.000 de retele. Cei mai multi experti s-au exprimat cu dispret ca aceasta va fi peste decenii, daca va fi vreodata. Cea de-a 100.000-a retea a fost conectata in 1996. Problema, expusa anterior, este ca Internet-ul isi epuizeaza rapid adresele IP. In principiu, exista peste 2 miliarde de adrese, dar practica organizarii spatiului de adrese in clase iroseste milioane din acestea. In particular, adevaratii vinovati sunt de retelele de clasa B. Pentru cele mai multe organizatii, o adresa de clasa A, cu 16 milioane de adrese este prea mare, iar o retea de clasa C, cu 256 de adrese, este prea mica. O retea de clasa B, cu 65.536 adrese.
In realitate, o adresa de clasa B este mult prea mare pentru cele mai multe organizatii. Studiile
au aratat ca mai mult de jumatate din toate retelele de clasa B au mai putin de 50 de gazde. O retea de clasa C ar fi fost suficienta, dar fara indoiala ca fiecare organizatie care a cerut o adresa de clasa B a crezut ca intr-o zi ar putea depasi campul gazda de 8 biti. Privind retrospectiv, ar fi fost mai bine sa fi avut retele de clasa C care sa foloseasca 10 biti in loc de opt pentru numarul de gazda, permitand 1022 gazde pentru o retea. In acest caz, cele mai multe organizatii s-ar fi decis, probabil, pentru o retea de clasa C si ar fi existat jumatate de milion dintre acestea (comparativ cu doar 16.384 retele de clasa B).
Este greu sa fie invinuiti proiectantii Internetului pentru ca nu au pus la dispozitie mai multe
adrese de clasa B (si mai mici). In momentul in care s-a luat decizia sa fie create cele trei clase, Internetul era o retea de cercetare care conecta marile universitati din SUA (plus un numar mic de companii si sit-uri militare care faceau cercetari in domeniul retelelor). Pe atunci nimeni nu a perceput Internetul ca fiind un sistem de comunicatie in masa care va rivaliza cu reteaua telefonica. Fara indoiala ca in acel moment cineva a spus: „SUA are aproximativ 2000 de universitati si colegii. Chiar daca toate se conecteaza la Internet si se mai conecteaza si multe universitati din alte tari, nu o sa ajungem niciodata la 16.000 pentru ca nu exista atatea universitati in intreaga lume. In plus deoarece numarul gazdei este un numar intreg de octeti, mareste viteza de prelucrare a pachetelor.”
Totusi, daca s-ar fi alocat 20 de biti numarului de retea pentru retele de clasa B, ar fi aparut o alta problema: explozia tabelelor de dirijare. Din punctul de vedere al ruterelor, spatiul de adrese IP este o ierarhie pe doua niveluri, cu numere de retea si numere de gazde. Ruterele nu trebuie sa stie despre toate gazdele, dar ele trebuie sa stie despre toate retelele. Daca ar fi fost in folosinta jumatate de milion de retele de clasa C, fiecare ruter din intregul Internet ar fi necesitat o tabela cu o jumatate de milion de intrari, una pentru fiecare retea, spunand care traseu se foloseste pentru a ajunge la respectiva retea, impreuna cu alte informatii.
Memorarea fizica efectiva a tabelelor cu jumatate de milion de intrari este probabil realizabila, desi costisitoare pentru ruterele critice care trebuie sa mentina tabelele in RAM static pe placile I/O. O problema mai serioasa este reprezentata de cresterea complexitatii diferitilor algoritmi referitori la gestiunea tabelelor, care este mai rapida decat liniara. Si mai rau, o mare parte din programele si firmware-ul ruterelor existente a fost proiectat pe vremea cand Internet-ul avea 1000 de retele conectate si 10.000 de retele pareau la departare de decenii. Deciziile de proiectare facute atunci sunt departe de a fi optime acum.
In plus, diferiti algoritmi de dirijare necesita ca fiecare ruter sa-si transmita tabelele periodic (de exemplu protocolul vectorilor distanta). Cu cat tabelele sunt mai mari, cu atat este mai probabil ca anumite parti sa se piarda pe drum, ducand la date incomplete la celalalt capat si, posibil, la instabilitati de dirijare. Problema tabelelor de dirijare ar fi putut fi rezolvata prin adoptarea unei ierarhii mai adanci. De exemplu, ar fi mers daca s-ar fi impus ca fiecare adresa sa contina un camp tara, judet/provincie, oras, retea si gazda. Atunci fiecare ruter ar fi trebuit sa stie doar cum sa ajunga la fiecare tara, la judetele sau provinciile din tara sa, orasele din propriul judet sau provincie si retelele din orasul sau. Din nefericire, aceasta solutie ar necesita mai mult de 32 de biti pentru adrese IP si ar folosi adresele ineficient (Liechtenstein ar fi avut tot atatia biti ca Statele Unite).
Pe scurt, cele mai multe solutii rezolva o problema, dar creeaza o alta. Solutia care a fost implementata acum si care a dat Internet-ului un pic de spatiu de manevra este CIDR (ClasslessInter Domain Routing – Dirijarea fara clase intre domenii). Ideea de la baza CIDR, descrisa in RFC 1519, este de a aloca adresele IP ramase, in blocuri de dimensiune variabila, fara a se tine cont de clase. Daca un sit are nevoie, sa zicem, de 2000 de adrese, ii este dat un bloc de 2048 adrese la o granita de 2048 de octeti.
Renuntarea la clase face rutarea mai complicata. In vechiul sistem cu clase, rutarea se efectua
in felul urmator. Atunci cand un pachet ajungea la un ruter, o copie a adresei IP era deplasata
la dreapta cu 28 de biti pentru a obtine un numar de clasa de 4 biti. O ramificatie cu 16 cai sorta pachetele in A, B, C si D (daca era suportat), cu 8 cazuri pentru clasa A, patru cazuri pentru clasa B, doua cazuri pentru clasa C si cate unul pentru D si E. Programul pentru fiecare clasa masca numarul de retea de 8, 16 sau 24 de biti si il alinia la dreapta intr-un cuvant de 32 de biti. Numarul de retea era apoi cautat in tabela pentru A, B sau C, de obicei indexat pentru retelele A si B si folosind dispersia (hashing) pentru retelele C. Odata intrarea gasita, se putea gasi linia de iesire si pachetul era retransmis.
Cu CIDR, acest algoritm simplu nu mai functioneaza. In loc de aceasta, fiecare intrare din tabela de rutare este extinsa cu o masca de 32 de biti. Din acest motiv, acum exista o singura tabela de rutare pentru toate retelele, constituita dintr-un un vector de triplete (adresa IP, masca subretea, linie de iesire). Cand soseste un pachet IP, mai intai se extrage adresa IP a destinatiei. Apoi (conceptual) tabela de rutare este scanata intrare cu intrare, mascand adresa destinatie si comparand cu intrarea din tabela, in cautarea unei potriviri. Este posibil ca mai multe intrari (cu masti de subretea de lungimi diferite) sa se potriveasca, caz in care este folosita cea mai lunga masca. Astfel, daca exista potrivire pentru o masca /20 si pentru o masca /24, este folosita intrarea cu /24.
Pentru a accelera procesul de gasire a adreselor au fost imaginati algoritmi complect si (RuizSanchez et al., 2001). Ruterele comerciale folosesc chip-uri VLSI proprietare cu acesti algoritmi implementati in hardware.
Concluzie : Inter-rețelele TCP/IP moderne , mari , pot conține mii de rutere . Pentru a gestiona mai bine rutarea într-un astfel de mediu , ruterele sunt grupate în sisteme autonome . Fiecare AS consta dintr-un grup de rutere gestionat independent de o entitate sau o organizație particulara . Modul diferit cum se face rutarea în interiorul unui AS și între AS-uri se vede în primul rând din protocoalele de rutare utilizate: – protocoale de rutare interioare (Interior Routing Protocol) – utilizate pentru schimbul de informații de rutare între ruterele unui sistem autonom – NU sunt utilizate între AS-uri ; – protocoale de rutare exterioare – utilizat pentru schimbul de informații între sistemele autonome . Pot fi utilizate și în interiorul unui AS , dar în principal fac schimb de informații între sistemele autonome.
Capitolul 2 Protocoale de rutare interdomeniu
2.1 Protocolul de rutare intern si protocolul de rutare extern.
Protocoalele de rutare interioare sunt utilizate pentru a partaja informații de rutare în
interiorul unui AS. Fiecare AS poate utiliza protocoale de rutare interioare diferite deoarece sunt autonome . Protocoalele de rutare exterioare partajeaza informații între AS-uri. Fiecare AS trebuie sa utilizeze același protocol de rutare exterior pentru a asigura comunicarea . Deoarece sistemele autonome sunt numai un set de rutere , indica ca AS-urile sunt conectate prin legarea unui ruter dintr-un As cu un ruter din alt AS. Din punct de vedere arhitectural, un AS consta dintr-un set de rutere cu doua tipuri diferite de conectivitate: – rutere interne, care conecteaza alte rutere din același AS, rulând protocoalele de rutare interioare . – rutere de granița (border routers) care conecteaza atât rutere din același AS, cât și rutere din unul sau mai multe AS-uri . Aceste dispozitive raspund de asigurarea traficului între AS-uri și restul inter-rețelei . Ele ruleaza atât protocoale de rutare interioare, cât și exterioare. Datorita avantajelor sale , arhitectura bazata pe sisteme autonome a devenit standard pentru rețelele TCP/IP , în speța Internetul . Împarțirea în protocoale de rutare interioare și exterioare a devenit , de asemeni , standard și astazi prima clasificare a protocoalelor de rutare se face în : interioare și exterioare.
Fig. 2.1: Ilustreaza o reprezentare simplificata a Internetului , organizat în trei sisteme autonome, fiecare gestionat independent. Comunicația în interiorul AS-ului se face prin protocoalele interioare de rutare, alese de administratorul AS-ului. Comunicația dintre AS-uri se face utilizând același protocol exterior de rutare .
2.2 Protocolul de rutare extern EGP (Exterior Gateway Protocol)
In anul 1980 cand ruterele faceau ARPANET (predecesorul Internetului modern) acestea rulau protocol de rutare de tip distance vector cunoscut sub numele de Gateway-to-Gateway Protocol (GGP) . Fiecare ruter cunostea un traseu (ruta) catre o retea accesibila , avand distanta masurata in numarul de porti tranzitate ( gateway hops). Cum ARPANET a luat amploare , administratorii de reatea din vremea respectiva se confrutau cu aceeasi problema cu care se confrunta si arhitectii in prezent scalabilitatea protocolului de rutare.
Problema scalabilitatii RFC 8271 :
Cu toate portile de acces stiind toate rutele , un algoritm de ruatre tinde sa devina excesiv de mare.Topologia poate suferi scimbari in orice moment in conditiile in care reteaua tinde spre crestere , toate ruterele vor fi nevoite sa isi actualizeze tabelele de rutare in urma schimbarilor aparute . Chiar daca reteaua este stabila , marimea tabelelor de rutare si actualizarea lor devine o povara din ce in ce mai mare.Cum numarul de imagini software GGP creste si platformele haware pe care acestea sunt implementate devin mai diverse , Internetul este imposibil de vazut precum un sistem integrat de comunicatii.
Solutia propusa in RFC 827 a fost ca ARPANET sa migreze de la o singura retea (INTERNETWORK) catre un sistem de retele interconectate. Fiecare retea (Internetwok) va fi cunoscuta sub numele de sistem autonom (AS) , fiecare AS este conectat la alt sistem autonom printr-una sau mai multe porti de acces exterioare. Portile exterioare impart informatii de rutare , intre ele cu ajutorul protocolului EGP. Contrar asteptarilor EGP este un protocol distance vector ci nu un protocol de rutare . Acesta nu are un algoritm pentru a alege cea mai optima conectivitate dintre domenii , mai degraba reprezinta o limba comuna intre gurile de acces pentru a obtine informatii despre accesibilitatea altor porti de acces. Informatia de acces consta intr-o lista simpla , populata cu adrese IP ( fara subretele) si cu portile de acces prin care pot fi accesate aceste adrese. Mesajele de tip EGP sunt schimbate intre vecinii de tip EGP sau intre perechile de rutere ce ruleaza protocolul EGP. Daca ruterele invecinate sunt in acelasi AS atunci se numesc vecini interiori , daca sunt in afara domeniul sunt numiti vecini externi.Egp nu poate descoperi vecini in mod dinamic , adresele vecinilor sunt configurate manual pe echipamente, iar mesajele schimbate intre adresele configurate sunt de tip unicast ( transmitrerea unui pachet de date sau a unui mesaj audiovisual catre o singura destinatie).
RFC 888 sugereaza ca TTL ( time-to-live) sa fie setat cat mai mic pentru ca un mesaj de tip EGP sa nu treaca mai departe de un singur vecin. Totusi nimic din functionalitatea EGP nu le cere vecinilor sa participe la o legatura de date comuna.In figura de mai jos vom observa doi vecini EGP separati de un ruter care ruleaza ca protocol de rutare doar RIP (Routing Information ProtocoL).
Fig. 2.2 : Vecini EGP care nu fac parte din aceiasi retea
Sursa: Jeff Doyle, Jennifer DeHaven Carroll – Routing TCP/IP Volume II/Cisco
Deoarece mesajele de tip EGP sunt unicast ,acestea pot trece granitele ruterului RIP. Portile EGP sunt fie porti primare fie porti stacate ( aleatorii). Ambele tipuri de porti pot accesa informatie dinntr-un alt sistem autonom , dar o poarta stub poate trimite informatii despre alte retele in propiul sistem autonom . Doar portile principale (core ) pot trimite informatiile pe care le-au invatat despre alte retele , in afara domeniilor de care apartin.Pentru a intelege de ce EGP a conceput cele doua modele ,trebuie sa intelegem limitarile arhitecturale ale lui EGP. Cum s-a mentionat si in RFC 8271 acesta nu este un protocol de rutare ci este un protocol distance vector , isi salveaza pe scurt informatii despre ruterele vecine si nu previne bucle (loopbacks). In imginea de mai jos se observa un singur sistem autonom de baza la care avem atasat mai multe domenii (sisteme autonome ).
Fig. 2.3 : Doar o iesire de baza poate trimite informatii dintr-un AS catre alt AS vecin.
Sursa: Jeff Doyle, Jennifer DeHaven Carroll – Routing TCP/IP Volume II/Cisco
2.3 Functiile protocolului EGP
EGP contine urmatoarele trei mecanisme :
Neighbor Acuisition Protocol
Neighbor Reachability Protocol
Network Reachability Protocol
Aceste trei mecanisme folosesc 10 tipuri de mesaje pentru a stabilii , mentine relatii de vecinatate , shimb de informatii legate de accesibilitatea vecinului sau mesaje de notificare. Tabelul de mai jos listeaza toate tipurile de mesaje EGP cat si mecanismul care foloseste tipul respectiv de mesaj .
Tabel 1: Modele de mesaje EGP.
Sursa: Jeff Doyle, Jennifer DeHaven Carroll – Routing TCP/IP Volume II/Cisco
2.3.1 Neighbor Acquistion Protocol
Inainte ca doi vecini sa scimbe intre ei informatii , prima oara vor stabilii daca sunt compatibili. Aceasta functie se efectuaza cu o simpla strangere de mana din ambele parti ( simple two-way handshake) ,in care unul dintre vecini trimite o cerere de mesaj Neighgbor Acquistion Protocol iar celalat raspunde cu un mesaj de confirmare de tip Neighbor Aquistion Protocol.Cand cele doua porti EGP devin vecine , una dintre ele devine activa iar cealalta pasiva . Poarta activa intodeauna va initia o relatie de vecinatate trimitand un mesaj cerere. Pasiva nu va trimite niciodata mesaje cerere ea doar va raspunde la acestea , aceeasi afirmatie este adevarata si pentru mesajele Hello/I-Heard-You . Ruterul activ trimite mesaje Hello iar cel pasiv ii raspunde porintr-un mesaj I-Heard-You (te aud). Singurul mesaj pe care nu ruter pasiv il poate genera este de tip Cease la care ruterul activ ii raspunde cu un mesaj Cease Acnowledgement. O poarta principala , care poate fi vecina cu alte porti din alte sisteme autonome, poate fi poarta activa pentru un vecin adiacent si pasiva pentru alt vecin adiacent. In mplementarea celor de la Cisco gasim AS ca pe un factor de determinare , vecinul cu numarul AS cel mai mic va deveni automat vecinul activ.
2.3.2 Neighbor Reachability Protocol
Dupa ce portile au fost declarate vecine , isi vor pastra relatia de vecini trimitand mesaje Hello periodic . Vecinul raspunde unul catre celalat cu un mesaj I-H-U. RFC nu specifica o perioada standard dintre mesajele Hello , Cisco foloseste o perioada initiala de 600 de secunde , aceasta poate fi scimbata cu , comanda timers egp. Dupa un schimb de trei mesaje I-H-U intre perechi , relatia dintre vecini isi schimba statusul de la Down la Up ( de la inchis la deschis) iar vecinii pot schimba informatii de accesibilitate. Daca un vecin trimite o secventa de trei mesaje si nu primeste nici un raspuns , statusul ramane Down. Poarta va trimite inca trei mesaje Hello la un interval normal Hello , daca nici acum nu primeste nici un raspuns statusul se schimba in Cease .Dupa care poarta de acces mai trimite mesaje Cease la interval de 60 de secunde daca vecinul raspunde la unul dintre mesajele Cease Acknowledgement sau nu raspunde la nici unul , isi va schimba sttusul in Idle si va astepta 5 minute pana va relua procedura de mai sus.
Tabel 2 : Statusul tranzitiei EGP.
2.3.3 Network Reachability Protocol
Cand statusul vecin devine Up , vecinii EGP pot schimba informatii de accesibilitate inre ei . Fiecare poarta trimite periodic mesaje Poll catre vecinul cu numar de ordine. Vecinul raspunde cu un mesaj actualizat ce contine acelasi numar de ordine si cu lista de retele accesibile din punctul sau geographic. Fiecare pereche Hello/I-H-U schimbata intre vecini contine acelasi numar de ordine pana cand un mesaj de ti Poll este trimis. Mesajele de actualizare Poll folosesc deasemenea acelasi numar de ordine, dupa ce actualizarea a fost primita de catre vecinul activ aceasta incrementeaza numarul de ordine. Un vecin raspunde la o actualizare , ca la mesajele de tip Poll cu acelasi numar de ordine. Intervalul initial la versiunea software Cisco IOS este de 180 de secunde.
Tabelul 3 : Vecinii EGP schimband periodic actualizari de accesibilitate .
. Sursa: Jeff Doyle, Jennifer DeHaven Carroll – Routing TCP/IP Volume II/Cisco
Ambele mesaje Poll si de actualizare, includ adresele sursa ale retelelor respective.De exemplu Poll si mesajele de actualizare in imaginea de mai sus, au in dreptul campului sursa , adresa IP 192.168.16.0. Reteaua sursa reprezinta, reteaua de la care toata informatia de accesibilitate este masurata . Toate retelele dorite sau averstizate pot fi accesate prin acel ruter care este atasat la sursa retelei.
Ca urmare adresa sursa a retelei reprezinta o lista de unul sau mai multe rutere si de retele care pot fi accesate prin intermediul acestor rutere. Ruterele din lista au o caracteristica comnuna , acestea fiind atasate la o adresa sursa de retea. Daca un ruter din lista nu este o poarta de acces EGP care genereaza actualizari , ruterul este considerat indirect sau a treia parte de vecin . Anuntul vecinilor indirecti salveaza latimea de banda din legatura comuna , dar mult mai important , acestia imbunatatesc traficul eliminand ruterul nedorit . Din perspectiva unei porti EGP , un vecin este situat pe partea interna sau pe partea externa a portii. Un vecin este in interior daca are acelasi numar de sistem autonom (AS), iar daca difera este din exterior. In desenul de mai jos toate portile EGP isi identifica vecinii cu porti externe EGP. Un mesaj Update EGP include doi campi pentru a descrie cand ruterul din lista sa este in interior sau cand se pozitioneaza in exterior.
Fig. 2.4 : Vecini indirecti EGP
Sursa: Jeff Doyle, Jennifer DeHaven Carroll – Routing TCP/IP Volume II/Cisco
Mesajele de actualizare EGP asociaza distanta cu fiecare retea din lista. Campul dedicat distantei este format din 2 biti iar distanta poate fi cuprinsa intre 0 si 255. RFC a definit un algoritm , folosit pentru a calcula cea mai rapida cale dintre AS.
2.4 Formatul mesajelor EGP
EGP folosete cinci formate diferite pentru a codifica cele 10 mesaje :
2.4.1 Campurile din antetul mesajelor EGP sunt definite .
Versiunea – Specifica numarul current al veriunii EGP .Daca numarul din mesajul primit nu coincide cu numarul versiunii atunci mesajul este rejectat.
Tipul – Specifica, care dintre cele cinci structuri ii este atasat antetului.
Codul – Specifica subtipul . De exemplu daca tipul este egal cu cinci , codul specifica daca mesajul este de tip Hello sau I-Heard-You .
Status – Indica cand statusul este Down sau Up.
Checksum – Foloseste acelasi algoritm de verificare a erorilor folosit de IP,TCP si UDP.
Autonomous System Number – Specifica ASN pentru cel care a generat mesajul.
Numarul de ordin – mesaj de sincronizarea.
Tabelul 4 : Tipuri de mesaje EGP
Sursa: Jeff Doyle, Jennifer DeHaven Carroll – Routing TCP/IP Volume II/Cisco
2.4.2 Deficientele protocolului EGP
Problema fundamentala a acestui protocol extern de rutare consta in incapacitateea de a detecta bucle de retea.Avand o valoare initiala a intevalului Poll de 180 de secunde , perechile EGP nu pot decide daca circuitul tinde catre infinit hopuri in mai putin de 13 ore. Sistemele autonome pentru a constitui Internet au nevoie de o structura cat mai simpla , in care mai multe AS vor fi folosite domenii de transit pentru alte sisteme autonome.
O alta problema majora este legata de incapacitatea de a interactiona cu un protocol de rutare intern IGP pentru a determina cel mai scurt traseu dintr-o retea catre un sistem autonom , de exemplu distantele EGP nu au fiabilitatea de a fi traduse in hopuri de tip RIP. Daca EGP contorizeaza un numar de 15 hopuri , atunci RIP declara reteaua neaccesibila(infinita).
Una dintre ultimele probleme ale lui EGP este aceea de a reactiona rapid atunci cand reteaua sufera schimbari. Exista posibilitatea, ca pentru 4 hopuri EGP sa nu anunte in mai putin de o ora ca reteaua a fost avariata .
2.5 Comenzi de configurare Cisco IOS pentru EGP
EGP se configureaza pe un ruter in patru pasi de baza :
Se specifica ruterului AS prin comanda : autonomus-system .
Se porneste procesul EGP pe ruter , dupa care se scrie AS-ul fiecarui vecin prin comanda : router egp .
Se specifica vecinii : neighbor .
Specificam ca reteaua respectiva este avertizata de catre EGP.
Studiu de caz EGP Stub Gateway (pe platforma IOS Cisco ) :
In figura de mai jos observam : EGP stub gateway are AS 65502 , care este conectata la o poarta principala AS-65501, iar protocolul de rutare intern este RIP.
Tabelul 5 : Tabela de rutare .
Sursa: Jeff Doyle, Jennifer DeHaven Carroll – Routing TCP/IP Volume II/Cisco
Fig.2.5 : EGP Stub Gateway Advertises the Interior Networks of AS 65502 to the Core Gateway
Sursa: Jeff Doyle, Jennifer DeHaven Carroll – Routing TCP/IP Volume II/Cisco
Tabela de rutare al lui Buster contine ambele tipuri de rute memorate : de la poarta principala si de la RIP protocolul de rutare intern . Intrarile din tabelul de rutare se verifica prin comanda : show ip route .
Tabelul 6: Tabela de rutare/Configuratia Stub Gateway.
Rutele EGP invatate de Buster sunt redistribuite in RIP avand metrica de 5 hopuri. Tabelul de mai jos ne indica intrarile in tabela de rutare al ruterului Charlie.De retinut ca rutele direct conectate sunt deasemenea si ele redistribuite in RIP . Aceasta configuratie este necesara pentru a avertiza reteaua 192.168.16.0 cu LAS . Split orizont il previne pe Stan sa avertizeze reteaua lui Buster via EGP. O alternativa pentru aceasta configuratie necesita adaugarea subnetului 192.168.16.0 in setarile protocolului RIP , punand inainte comanda passive interface pentru a mentine difuzarea RIP inchisa intre cele doua domeniii .Conform configuratiei lui Buster de pana acum,informatia este primita de la poarta principala , dar nu si din interiorul retelelor catre poarta pricipala asa cum se observa in tabelul de ruatre al lui Stan de mai jos :
Tabelul 7: Tabela de rutare.Rute memorate de la un vecin EGP si un vecin RIP.
Sursa: Jeff Doyle, Jennifer DeHaven Carroll – Routing TCP/IP Volume II/Cisco
Una dintre solutii pentru configuratia EGP de a anunta rute din interior o reprezinta redistribuirea prin comanda redistribute rip .
Fig. 2.6: Configuratie RIP utilizata pentru avertizarea rutelor .
Studiu de caz EGP pe Core Gateway :
Prin definitie , un EGP core gateway poate fi pereche cu mai multi vecini din cadrul unor sisteme autonome indepartate pasand informatia retelei de la un sistem autonom indepartat (Far Autonomous System ) catre alt FAS. Configuratia unui core gateway difera usor de config stub , in imaginea de mai jos este afisata configuartia ruterului core Stan care face pereche cu un ruter FAS (Buster) .Un ruter este LAS (Low Autonomous System ) care este Ollie.
Fig.2.6 : Ruterul Buster face pereche cu ambele rutere din AS-ul 65501.
Configuratia lui core gateway arata in felul urmator, in conformitate cu topologia de mai sus :
Fig.2.7 : Cofiguaratia pentru ruterele din Core Gateway
Sursa: Jeff Doyle, Jennifer DeHaven Carroll – Routing TCP/IP Volume II/Cisco
Low Autonomous System este specificat prin comanda autonomus-system ,Far Autonomous System nu este specificat prin comanda router egp , in schimb numarul 0 pentru AS este setat pentru a specificare orice AS. Ca si cum am configura un ruter prin comanda neighbor any pentru ca acesta sa raspunda la mesaje de tip Acquistion . Nu in ultimul rand, vecinul necesita o configuratie explictita ; doi vecini nu se pot descoperi unul pe celalalt daca nu au setata comanda neighbor any .
Fig. 2.8 : Configuratie AS 65501
Sursa: Jeff Doyle, Jennifer DeHaven Carroll – Routing TCP/IP Volume II/Cisco
Cu ajutorul configuratiei de mai sus ,core gateway va pasa informatia de accesibilitate ale retelelor externe prin propiul AS catre fiecare AS extern. Ce se va intampla daca ruterul core nu va face pereche cu fiecare vecin speaker EGP ? In figura de mai jos cele trei rutere din AS 65506 ruleaza EGP , dar Stan trebuie sa faca pereche doar cu Spanky si Buckwheat. Alpha va face pereche cu Ollie.
Fig. 2.9 : Perechi EGP.
Sursa: Jeff Doyle, Jennifer DeHaven Carroll – Routing TCP/IP Volume II/Cisco
In acest scenariu toate cele trei rutere din AS 65506 au configurata comanda neighbor pentru ambele rutere Ollie si Stan. Pentru a defini perechile vom pune comanda neighbor any .
Fig. 2.10 : Filtrarea perechilor cu liste de acces.
Sursa: Jeff Doyle, Jennifer DeHaven Carroll – Routing TCP/IP Volume II/Cisco
In figura de mai sus expresia neighbor any contine o trimitere la lista de acces 10 care stopeaza acesul lui Alpha (172.20.1.2) si permite accesul celorlalti vecini. Rezultatul acestori comenzi il vom afla prin urmatoarea comanda : show ip egp .
Capitolul 3. Protocolul de rutare Border Gateway Protocol ( BGP )
3.1 Notiuni Introductive Border Gateway Protocol
BGP la fel ca si predecesorul sau EGP formeaza o conexiune unica de tip unicast cu fiecare pereche-speaking . Pentru a creste exactitatea conexiunii , BGP foloseste portul TCP (Transmission Control Protocol ) 179 care sta la baza mecanismmului de livrare . Mecanismul de actualizare al BGP-ului este oarecum simplificat prin alocarea unui numar de sarcini la nivelul TCP , cum ar fi : mesajul de confirmare , retransmisia si numarul de ordine. Deoarece BGP ruleaza pe TCP , o conexiune separata de tip Punct-la-Punct (PPP-Point-to-Point) este necesara . Bgp este un protocol de tip distanta vector in care fiecare nod BGP se bazeaza pe vecinii din aval pentru a parcurge rutele din tabelul sau de rutare ; nodul determina calcularea rutelor bazandu-se pe rutele avertizate de perechi BGP , iar rezultatele le va trimite vecinilor sai din amonte. Totusi difera de alte protocoale de tip distanta vector precum IGRP in care distanta este egala cu suma hopurilor parcurse ,iar in cazul protocolului EIGRP ( Enhaced Interior Gateway Routing Protocol ) distanta este reprezenata de suma dintre intarzierea interfetelor si cea mai mica latime de banda . In contrast BGP foloseste lista de ASN (Autonomous System Number ) pe care un pachet, trebuie sa o tranziteze pentru a ajunge la destinatie. In consecinta aceasta lista per total descrie calea prin care trebuie sa treaca pachetul pana la destinatie, astfel BGP se reprezinta un protocol de rutare de tip cale vector ( path vector routing protocol ) ,fiind in contrast cu traditionalele protocoalele de rutare, distanta vector. Lista de numere AS este asociata cu o ruta BGP , AS_PATH ce reprezinta unul dintre principalele atribute,asociat cu fiecare ruta. In desenul urmator este descris procesul prin care BGP desemneaza cel mai bun traseu catre alt AS , AS-_PATH Atribute.
AS_PATH face din BGP un protocol de rutare complex, nu doar distanta vector.In primul rand calcularea celei mai scurte cai AS intre sisteme autonome este foarte simpla , fiind aleasa calea cu numarul AS cel mai mic.In urmatorul desen AS7 , primeste 2 rute din reteaua 207.126.0.0/16 Una din rute are 4 hopuri , iar cealalta are 3 hopuri . AS7 este aleasa cea mai scurta ruta (4,2,1). Desigur buclele sunt foarte usor de identificat prin caracteristica AS_PATH. Daca ruterul primeste actualizari , iar numarul sau se gaseste in AS_PATH deduce ca o bucla a aparut in retea. In imagine AS7 avertizeaza cu o ruta pe AS8 . AS8 il avertizeaza pe AS9 cu o noua ruta , acesta avertizandu-l pe din nou pe AS7.
Fig. 3.1 : Alegerea celui mai scurt traseu de catre potocolul de rutare BGP
BGP nu arata detaliile din cadrul fiecarui AS . Deoarece nu vede doar un arbore de sisteme autonome , BGP are o viziune mult mai larga asupra Internetului, diferita de IGP ,care vede doar topologia din cadrul unui AS . Aceasta abordare nu este compatibila cu cea a IGP ,ruterele Cisco mentinand separat un tabel de rutare cu caile BGP. .Imaginea de mai joc ilustreaza un tabel de rutare prin comanda show ip bgp .
Tabelul 8 : Comanda show ip bgp afiseasa tabela de rutare BGP.
Sursa: Jeff Doyle, Jennifer DeHaven Carroll – Routing TCP/IP Volume II/Cisco
Desi tabelul de mai sus arata diferit fata de un tabel intern cu numere AS , aceleasi elemente le putem regasi si aici . Tabelul ne indica destinatiile retelelor si urmatoarele rutere de pe traseu, masurand cea mai scurta cale care poate fi selectata. Pentru fiecare retea destinatara, sunt listate urmatoarele noduri ce trebuiesc parcurse spre deosebire de tabelul de rutare intern al unui AS care indica cele mai recente rute folosite , tabelul BGP in schimb listeaza toate rutele pe care le cunoaste . A ”>” urmat de ”*” indica care traseu este foosit de ruter in momentul de fata , aceasta cale avand cel mai mic AS_PATH. Cand mai multe rute au costuri egale precum in tabelul de mai sus , ruterul are nevoi de un criteriu pentru a face cea mai bua alegere.Pentru rute cu costuri egale Cisco a implementat EBGP (External Border Gateway Protocol)cel care initial alege doar o cale in contrast cu alte protocoale IP de rutare , in care prima decizie consta in aceea de a balansa intre 4 rute selectate.Desigur daca dorim ca ruterul sa aleaga numarul maxim de rute cu costuri agale pentru a face balansare ,aplicam comanda maximum-paths care va selecta 6 rute fara traseul initial. Load balacing functioneaza doar cu EBGP nu si cu IBGP (Internal Border Routing Protocol) care poate folosi doar o singura legatura .
Vecinul cu care un ruter BGP face pereche poate face parte din acelasi AS sau din alt AS. Pe cel din exterior il va numi EBGP iar celui din acelasi AS ii va spune IBGP. Cand o pereche BGP stabileste pentru prima data o conexiune acestia isi schimba intregul tabel de rutare unul cu celalat . Dupa care tabelel le vor schimba progresiv , actualizari partiale , vor schimba informatii de rutare doar cand apare o schimbare si doar informatii despre ce s-a schimbat recent. Deoarece BGP nu trimite actualizari de rutare periodic , perechile vor fi nevoite sa faca schimb de mesaje “keepalive” (tine in viata) pentru a se asigura ca legatuara dintre cei doi este mentinuta.Pentru echipamentele Cisco perioada de timp keepalive este de 60 de secunde , iar daca trei mesaje au trecut (180 de sec) si nu a primit nici un mesaj keepalive de la vecin atunci ruta este declarata cazuta. Se poate schimba numarul secundelor keepalive prin comanda timers bgp .
3.2 Tipuri de mesaje BGP
Inainte sa se stabileasca o conexiune BGP intre perechi , cei doi vecini trbuie sa efectueze cele 3 schimburi TCP ,si sa deschida o conexine TCP catre portul 179 . TCP ofera retransmiterea , fragmentarea , confirmarea si numarul de ordine , functii necesare pentru o conexiune fiabila. Toate mesajele sunt unicast , de la un vecin peste o conexiune TCP .
BGP folosete patru tipuri de mesa :
Open.
Keepalive.
Update.
Notification.
3.2.1 Mesajul Open – Dupa ce sesiunea TCP a fost stabilita , ambii vecini ttrimit mesaje Open . Ambii folosesc aceste mesaje pentru a se indentifica unul pe celalat si pentru a isi specifica parametrii operationali BGP. Mesajul Open contine urmatoarea informatie :
Numarul versiunii BGP (2,3 sau 4) care ruleaza pe echipamentul respectiv .
Autonomous Sistem Number – acesta este numarul de origine al ruterului si determina cand sesiunea BGP este EBGP si cand este IBGP.
Hold Time – Acesta reprezinta numarul maxim de secunde acceptat fara sa primeasca un mesaj keepalive sau unul de actualizare.
BGP Identifier – Aceasta este o adresa IP prin care se identifica vecinul .
Optional parameters – Acest camp este folosit pentru capabilitati optionale precum , autentificarea , suport multiprotocol , sau reinprospatarea rutei .
3.2.2 Mesaje keepalive – Daca un ruter accepta parametri enumerati mai sus pentru mesajul Open atunci acesta va raspunde cu mesaje Keepalive.
3.2.3 Mesaje Update – anunta rutele posibile , retrase sau ambele. Mesajele Update contin urmatoarele informatii :
a) Network Layer Reachability Information (NLRI) – (Lungimea prefixului ) Una sau mai multe adrese IP de unde se determina lungimea prefixului .206.193.160.0/19 deducem 206.193.160.0 reprezinta prefixul iar 19 specifica lungimea sa.
b) Path attributes – sunt caracteristici ale NLRI , ofera alternative in detectarea de catre BGP a buclelor de retea , calea cea mai scurta si determinarea politicilor de rutare.
c) Rute Retrase – sunt acele lungimi , prefixe ce dupa o perioada de timp nu pot fi accesate.
3.2.4 Mesajele de notificare – mesajale de notificare sunt trrimise de cate ori in retea apare o eroare care provoaca indodeauna o inchidere de conexiune BGP.
3.3 BGP – Masina Calcul ( The BGP Finite State Machine)
Etapele prin care BGP isi stabileste si isi mentine conexiunea pot fi descrise intr-o masina de calcul (Finite State Machine). In desenul urmator se observa masina de ca lcul BGP completa cat si evenimentele care pot provoca o stare de tranzitie.
Fig. 3.2 : Masina de Calcul si evenimentele adminse (Input Events sau IE) .
Tabelul 9: Tabelul cu eevnimentele admise .
Sursa: Jeff Doyle, Jennifer DeHaven Carroll – Routing TCP/IP Volume II/Cisco
3.3.1 Starea de reapaus (Idle Status)
BGP incepe cu starea de repaus , in care refuza orice conexiune vine inspre el. Cand start evenimet apare (IE) , procesul BGP initializeaza toate resursele BGP , porneste timpul pentru “ConnectRetry” , initializeaza o conexiune TCP catre vecin , asculta de initializarea TCP de la vecin si isi schimba statusul in “Connect” ( Conectare).
3.3.2 Starea de conectare (Connect State)
In acest punct procesul BGP asteapata finalizarea conexiunii TCP. Daca conexxiunea s-a stabilit cu succes , procesul BGP sterge cronometrul ConnectRetry , completeaza initializarea , trimite mesaje Open catre vecin , si transimite un mesaj catre OpenSent. Hold timer este setat la 4 minute. Daca cronometrul ConnectRetry expira in timp ce BGP este in statusul de conectare , cronometrul este resetat , pana cand conexiunea TCP s erestabileste cu un vecin si procesul ramane in statusul de conectare.
3.3.3 Starea Activa(Active State)
In aceasta stare , procesul BGP incearca sa initieze o conexiune TCP cu un vecin. Daca conexiunea s-a stabilit sterge cronometru ConnectRetrysi completeaza initializarea.
Daca timpul expira in timp ce procesul BGP este in starea activa , processul revine la starea de conectare si reseteaza cronometrul ConnectRetry.Desigur initializeaza o conexiune TCP cu perechea sa si continua sa asculte conexiune catre ea .
3.3.4 Starea OpenSent
In aceasta stare , un mesaj deschis trebuia sa fie trimis , iar BGP asteapta sa vina mesajul de la vecin.Cand un mesaj deschis (Open) este primit toate campurile sale sunt verificate , iar daca o eroare este identificata un mesaj de notificare este transmis iar starea de tranzitie ramane in pauza (idle) . Daca nici o eroare nu este identificata in mesajul deschis primit , un mesaj Keepalive este trimis iar cronometrul Keepalive este setat . Un hold time este negociat iar valoarea cea mai mica este aleasa.Daca este primit un mesaj in care anunta conexiune TCP deconecatata , procesul local BGP inchide conexiunea , reseteaza cronometrul ConnetcRetry , asteapta ca o noua conectiune sa fie initializata de vecinul sau , tranzitand starea catre Activa. Va intra in satrea de repauz daoar daca apare un alt eveniment in afara de evenimentul de start acesta fiind ignorat.
3.3.5 OpenConfirm State
In aceasta stare procesul BGP asteapta un mesaj Keepalive sau de notificare.Daca este primit un mesaj Keepalive , starea tranziteaza catre starea Stabilit. Daca un mesaj de notificare este primit , sau deconectare TCP , starea de tranzitie intra in repauz.
3.3.6 Starea Stabilita (Estabilished State)
In aeasta stare , conexiunea perechii BGP este total stabilita iar perechea poate schimba actualizari,Keepalive sau mesaje de notificare.Cronometrul Hold se va restarta daca un mesaj de tip notificare sau actualizare av fi primit (daca timpul hold nu are valoarea 0 ).Daca un mesaj de notificare este primit , starea va tranzita catre repauz.
3.4 Fiabilitatea Traseului (Path Attributes)
Calitatea traseului – Un set de caracteristici ale rutei BGP anuntate. Anumite insusiri ale traseului unt familiare ,cum ar fi : adresa IP destinatie , urmatorul ruter , deoarece acetea indica caracteristicile ,comune ale rutelor.
Fiecare PathAttribute se incadreaza in una dintre cele patru categorii:
Obligatoriu cunoscut (Well-Known Mandatatory).
Discretionar cunoscut (Well-Known Discretinary).
Tranzitiv optional .
Non-tranzitiv optional.
Tabelul 10 : Path Attributes.
3.4.1 Atributul ORIGINE
Cand BGP are multilpe rute , foloseste atributul ORIGINE ca factor de derminare a rutei preferate.Specifica una din urmatoarele origini :
IGP – NLRI a fost invatat de la un ptotocol intern din AS-ul origine.
EGP – NLRI a fost invatat de la EGP.
Incomplet – NLRI a fost invatat din alte surse.
3.4.2 Atributul AS_PATH
Atributul care foloseste un numar de ordine al numerelor AS pentru a descrie calea dintre sinteme autonome , o ruta , catre o ruta destinatie specificata de NRLI. Cand un vorbitor anunta ruta lui de origine , cand avertizeaza NLRI despre O DESTINATIE DIN PROPIU as , el adauga propius numar AS in AS_PATH.
Fig. 3.3 : AS_PATH
3.4.3 Atributul NEXT_HOP
Adresa IP descrie urmatorul hop BGP , nu de fiecare data aceasta reprezinta adresa IP a ruterulu vecin. Urmatoarele reguli se vor aplica :
Daca ruterul care anunta o ruta si cel care primeste informatia sunt in sisteme autonome diferite , atunci NEXT_HOP este adresa IP al interfetei ruterului care anunta ruta
Daca ruterul care anunta o ruta si cel care primeste informatia sunt in acelasi sistem autonom (perechi interne) iar informatia NLRI se refera la o destinatie din cadrul aceluiasi sistemului autonom , atunci NEXT_HOP este adresa IP a celui care avertizeaza ruta.
Daca ruterul care anunta o ruta si cel care primeste informatia sunt in acelasi sistem autonom (perechi interne) ,iar informatia NLRI se refera la o destinatie dintr-un sistem autonom diferit , atunci NEXT_HOP este adresa IP a vecinului extern de unde a fost invatata ruta.
Fig. 3.4 : NEXT_HOP
Sursa: Jeff Doyle, Jennifer DeHaven Carroll – Routing TCP/IP Volume II/Cisco
3.4.4 Atributul LOCAL_PREF
Este o prescurtare pentru preferinta locala , iar acest atribut este folosit doar pentru perechile interne BGP.Daca un reter BGP intern primete multiple rute cu aceeasi destinatie,le compara atributul LOCAL_PREF ,ruta cu valoarea cea mai mare LOCAL_PREF este selectata.
Fig. 3.5: LOCAL_PREF
Sursa: Jeff Doyle, Jennifer DeHaven Carroll – Routing TCP/IP Volume II/Cisco
3.4.5 Atributul MULTI_EXIT_DISC
Cunoscut ca MED este gasit in actualizarile EBGP si permite unui AS sa informeze un alt AS despe intrarile sale preferate din propiul sistem autonom. Daca un ruter BGP este informat cu mai multe rute cu aceiasi destinatie , ruterul va compara MED-urile rutelor.
Fig.3.6:
3.4.6 Atributul ATOMIC_AGGREGATE si AGGREGATOR
Un ruter BGP poate transmite rute care se suprapun catre alt ruter BGP. Rutele suprapuse nu sunt identice din punct de vedere al destinatiei. Prima ruta poate fi inclusa in a doua ruta , deasemenea a treia ruta poate fi inclusa in alte rute cu destinatie specifica.
3.4.7 Atributul COMMUNITY
Atributul COMMUNITY identifica o destinatie ca fiind membra a unei comunitati de destinatii care impart una sau mai multe proprietati aomune. De exemplu un ISP poate asigna o un atribut COMMUNITY particular pentru toate rutele clientilor, apoi ISP isi pot seta propiile atribute LOCAL_PREF si MED bazate pe valorile comunitatii in defavoare oricarei rute.
3.4.8 Atributul ORIGINATOR_ID and CLUSTER_LIST
Ambele atribute sunt folosite pentru a prevenii bucle .ORIGINATOR_ID este creat de ruta reflectoare si are valoarea de 32 de biti. Valoarea o reprezinta ID-ul ruterului care sta la originea rutei din sistemul autonom local . Daca cel de la origine isi descopera RID in atributul ORIGINATOR_ID din ruta primita va sti ca o bucla s-a format , iar ruat va fi ignorata.
CLUSTER_ID este numarul de ordine al reflexiei traseului pe unde ruta a fost pasata.
3.4.9 Valoarea Administrativa (Administrative Weight)
Valoarea administrativa reprezinta un parametru specific Cisco , care se aplica rutelor din cadrul unui ruter individual .Nu comunica cu alte rutere. Valoarea este reprezentata de un numar cuprins intre 0 si 65.535 care poate fi asignat unei rute ; ruta cu valoarea cea mai mare va fi ruta preferata.
3.4.10 AS_SET
Atributul AS_PATH este compus dintr-o succesiune de numere AS , care descriu traseul catre o destinatie particulara.Exista doua tipuri de AS_PATH:
AS_SEQUENCE – reprezinta o lista ordonata cu numere AS
AS_SET – lista dezordonata cu numere AS ce contstruiesc calea catre o destinatie.
3.5 Procesul de decizie BGP
Baza de date cu informatia de rutare BGP ( Routing Information Database sau RIB) este compusa dein trei parti:
Adj-RIB-In – Stocheaza informatii de rutare neprocesate primite de prin mesaje de actualizare de la perechi. Rutele contin Adj-RIB-In ce sunt considerate posibile rute(feasible rutes).
Loc-RIB – Contine rutele BGP care sunt selectate aplicand politicile locale de rutare pentru rutele memorate in Adj-RIB-In.
Adj-RIB-Out – Contine rutele pe care vorbitorul BGP le dezvaluie perechilor.
3.6 Ruta Instabila (Rute Dampening)
Rutele oscilatorii (Up/Down) sunt principalul contribuitor la instabilitatea Internetului si de aceea conteaza fiecare retea. Oscilarea apare atunci cand o ruta valida este declarata invalida iar dupa o perioada scurta de timp revine valida. De fiecare data cand aceste schimbari apar ruterul trebuie asa anunte incidente in intreaga retea, si fiecare ruter are nevoie de recalcularea rutelor, cea ce duce la risipa de CPU si latime de banda.Aceste instabilitati sunt rezultatul unor erori umane sau din cauza dispozitivelor de retea (cablu , interfata etc).
Route Dampening , reprezinta o metoda creata pentru a stopa rutele invalide sa fie anuntate in retea. Aceatsa nu previne un ruter sa invete o ruta invalida ci il previne sa o inainteze in retea.
Cand ruta pica ii este asignata de catre ruter o penalizare , cu cat aceasta va oscileaza penalizarile se vor insuma.
3.7 Sincronizarea intre IBGP si IGP
In foarte putine situatii IBGP este folosit intre perechi din acelasi sistem autonom . IBGP permite rurterelor ce stau la granita dintre ISP si reteaua internA sa imparta NLRI si sa asocieze atribute pentru a forta tot sistemul sa ruleze aceleasi politici de rutare. Cand o ruta este anuntata prin IBGP aceasta prin definitie este avertizata cu acelasi AS ,ca urmare AS_PATH nu se schimba deoarece numarul de sistem autonom nu este inclus in AS_PATH pana cand nu este avertizat de o pereche exterioara.
Pentru a prevenii buclele de retea BGP nu avertizeaza rute invatate de la o pereche IBGP la o alta pereche IBGP. iMaginea de mai jos ilustreaza un scenariu in care perechile sunt conectate partial.
Fig. 3.7 : Sincronizarea intre IBGP si IGP .
Sursa: Jeff Doyle, Jennifer DeHaven Carroll – Routing TCP/IP Volume II/Cisco
Imaginea de mai jos ilustreaza scenariul in care perechile IBGP sunt conectate total.
Fig. 3.8 : Conexiunea Full Mesh.
3.8 Administrarea pechilor BGP intr-un mediu vast perechilor BGP
BGP propune patru instrumete , pentru a face mai simpla administrarea unui numar larg de perechi BGP:
Grupuri egale .
Comunitati.
Rute reflectoare.
Confederatii.
Primele doua instrumente ajuta administrarea politicilor de rutare intre perechi multiple , fie ele interne sau externe. Celelalte doua ajuta la administrarea numeroaselor perechi IBGP.
3.8.1 Grupuri egale
Deseori in marile retele BGP , politicile de pe un ruter sunt aplicate pentru multiple perechi. Sub aceiasi strategie pot fi trimise actualizari catre mai multe perechi
.In majoritatea cazurilor , se poate simplifica configuratia si administrarea prin adaugarea unor perechi ce impart politici comune dintr-un anumit group. Din cand in cand pot fi adaugate politici aditionale catre unul sau mai multi mebrii ai grupului.In asemenea cazuri , se pot aplica politicile pe cele mai apropiate rutere vecine .
3.8.2 Comunitati
In timp ce pentru grupuri egale politicile sunt aplicate pe un grup de rutere, comunitatile aplica politici pe un grup de rute. Ruterul adauga trasee intr-o comunitate preconfigurata,setand atributul de COMMUNITY unor valori ce se indentifica ca membre ale comunitatii. Astfel ruterele vecine isi pot aplica propiile politici de filtrare sau redistribuire catre rutele a caror valoare este bazata pe atributul COMMUNITY.
Atributul COMMUNITY , poate fi stetat cu o valoare situata sau definita de administratorul de retea .Se pot seta mai multe atribute COMMUNITY pe o singura ruta , acestea putand fi agregate(concentrate).
Rute Reflectoare – Rutele reflectoare sun folosite cand un sistem autonom contine un numar mare de perechi iBGP .
Fig. 3.9 : Conexiune full mesh intre perechi IBGP.
In figura de mai sus arata 6 rutere conectate IBGP panza de paianjen , continad un numar mare de rute . Rutele reflectoare ofera o alternativa pentru conectiunedintre perechile IBGP de tip panza de paianjen .Un ruter este configurat ca fiind Ruterul Reflector (RR) iar celelalte rutere vor fi cunoscute ca rutere clienti , astfel incat perechea unui ruter cu un RR va inlocui conectiunea de tip panza de paianjen.
Fig. 3.10 :Avantajul Rutei Reflectoare .
Sursa: Jeff Doyle, Jennifer DeHaven Carroll – Routing TCP/IP Volume II/Cisco
Ruta reflectaoare impiedica perechile IBGP sa avertizeze rute invatate de la alte perechi , in imaginea de mai sus ruta reflectoare invata rute de la fiecare client al ei. RR poate avertiza rute catre alte clientii sai dar si catre perechile care nu sunt de tip client.Rutele invatate de catre RR de la un singur client sunt reflectate catre ceilalti clienti.Pentru a preveni posibilele bucle de retea sau erorile de rutare , ruta reflectaoare nu paote schimba atributele rutelor primite de la clienti. Un ruter client ce apartine unui grup ruta reflectoare paote face pereche cu un vecin extern , dar numai vecinul intern poate face pereche daca este ruta reflectaoare in grup cu alti clienti din grup. Insusi RR poate face pereche si cu un vecin intern dar deasemenea si cu unul extern grupului si poate reflecta rutele sale catre clienti.
Confederatii – reprezinta o alta metoda de a controla un numar mare de perechi interne IBGP. O confederatie este un sistem autonom subdivizat intr-un grup de domenii , cunoscut ca fiind Membru al Sistemului Autonom. Confederatiei ii este asignat un numar de identificare (ID) , care pentru perechile din afara confederatiei reprezinta numarul sistemului autonom al intregii confederatii.Perechiile exterioare confederatiei nu vad structura interna , acestea vad un singur sistem autonom.
Fig. 3.11 : Confederatie .
Sursa: Jeff Doyle, Jennifer DeHaven Carroll – Routing TCP/IP Volume II/Cisco
Conceptul de subdivizare entitatilor duce la o administrare flexibila .Subneturile IP reprezinta subdiviziile IP ale retelelor ,iar VLSM reprezinta subdiviziile subneturilor .Similar , sistemele autonome sunt subdivizii ale retelelor largi (exemplu Internet) . Convederatiile sunt subdivizii ale sistemelor autonome.
Atributele AS_PATH
AS_CONFED_SEQUENCE – o lista ordonata cu numerele AS pana la destinatie.
AS_CONFED – o lista dezorganizata cu numere AS de-a lungul traseului pana la destinatie.
Deoarece atributul AS_PATH este utilizat in actualizari dintre membrii unui sistem autonom prevenirea buclei de retea este conservata.Din perspectiva unui ruter BGP din cadrul unui AS , toate perechile din alt membru sistem autonom sunt considerate perechi vecine externe. Cand o actualizare vine din exterior catre interiorul confederatiei , informatia AS_CONFED_SEQUENCE si AS_CONFED_SET provenita de la AS_PATH este goala , iar numarul de identificare (ID) este pretins din AS . Din aceasta cauza ruterele externe vad confederatia ca pe un singur sistem autonom ci nu ca o colectie de sisteme autonome.
Cand BGP alege o ruta , procesul prin care decide cea mai buna ruta ramane acelasi , cu o singura precizare: rutele EBGP externe ale confederatiei sunt alese in defavoarea rutelor EBGP catre un membru sistem autonom , in locul lor fiind alese rutele IBGP.
Alta diferenta intre confederatia si sistemul autonom standard o reprezinta calea prin care unule atribute sunt manipulate. Atribute precum NEXT_HOP si MED aflate instarea initiala (neschimbate, by default) pot fi publicate catre perechi EBGP din alt membru AS din cadrul unei confederatii .
In sistemele autonome de dimensiuni largi , putem folosi si confederatiile si rutele reflectoare impreuna. Se pot configura unul sau mai multe grupuri RR in cadrul unuia sau mai multor membrii si sistemului autonom pentru un control optimizat al perechilor IBGP.
3.9 Formatul Mesajelor BGP
Mesajele BGP sunt transportate in cadrul segmentelr TCP , folosind portul TDP 179. Marimea maxima a unui mesaj BGP este de 4096 de octeti , iar cea minima este de 19 octeti . Toate mesajele BGP au un antet comun. In functie de tipul de mesaj , o portiune populate cu date poate urma sau nu antetul.
Fig. 3.12 : Antetul Mesajului BGP .
Sursa: Jeff Doyle, Jennifer DeHaven Carroll – Routing TCP/IP Volume II/Cisco
Marimea campului “marker ” este de 16 octecti si este folosit pentru a detecta pierderea sincronizarii dintre perechile BGP si pentru identificarea mesajelor de autentificare cand acest tip de mesje sunt suportate. Daca tipul mesajului este “Open ” sau daca mesajul de tip Open nu contine nici o informatie de autentificare , campul “Marker” este setat la 1.
Campul Lungime este de 0 octeti si indica lungimea totala a mesajului , incluzand si antetul , in octeti.
Campul Tip este de 0 octeti si specifica tipul mesajului .
3.9.1 Mesajul Open
Mesajul Open este primul mesaj trimis dupa ce conexiunea TCP a fost stabilita. Daca un mesaj Open care a fost primit este acceptat , un mesaj de tip Keepalive este trimis pentru a con firma deschiderea (the Open). Dupa ce deschiderea a fost confirmata , conexiunea BGP se afla sub statusul Esablished iar mesaje de tip Update , Keepalive si Notification vor fi trimise.
Fig. 3.13 : Formatul mesajului de tip Open BGP .
Sursa: Jeff Doyle, Jennifer DeHaven Carroll – Routing TCP/IP Volume II/Cisco
Mesajul BGP Open este format din urmatoarele campuri :
Versiune – campul versiune are rezervat un octet in care se specifica versiune BGP care ruleaza pe cel care a generat mesajul .
My Autonomous System – specifica numarul sistemului autonom din care mesajul a fost generat.
Hold Time – indica numarul secundelor propuse de expeditor pentru timpul de mentinere(Hold Time). Cel care primeste mesajul , compara valoarea campului timp de mentinere si valoarea timpului de mentinere cu care el este configurat , alegand cea mai mica valoare altfel conectiunea este respinsa. Valoarea trebuie sa fie cuprinsa intre 0 si 3 secunde .
BGP Identifier – Numarul de indentificare al celui care a generat mesajul .
Optional Parameters Length – campul care indica lungimea totala pentru urmatorul camp din mesaj , Parametrii Optionali . Daca valoarea acestui camp este egala cu 0 atunci nu va fi inclus in mesaj nici un camp al Parametrilor Optionali.
Parametrii Optionali – campul are o lungime variabila ce contine o lista cu parametrii oficiali.
3.9.2 Mesajul de actualizare (Update Message)
Mesajul de actualizare , este folosit sa avertizeze o singura ruta posibila catre pereche , sau pentru a retrage multiple rute nepotrivite , sau ambele .
Fig. 3.14 : Formatul mesajului de actualizare .
Sursa: Jeff Doyle, Jennifer DeHaven Carroll – Routing TCP/IP Volume II/Cisco
Mesajele de actualizare contin urmatoarele campuri :
Lungimea rutei imposibile (nepotrivite) – formata din 2 octeti indica lungimea totala in octeti , a urmatorului camp numit Rute Retrase (Withdrawn Routes). Daca valoarea campului este egala cu 0 atunci nici o ruta nu a fost retrasa si campul Rute Retrase nu este inclus in mesaj.
Rute Retrase – lungimea campului este variabila si contine o lista cu rute ce nu vor mai fi utilizate , excluse.. Fiecare ruta din lista este descrisa de lungime si prefix . Lungimea este reprezentata de lungimea prefixului iar prefixul este prefixul adresei IP al rutei retrase. Daca lungimea este 0 prefixul se potriveste cu toate rutele.
Total Path Attribute Length – campul este format din 2 octeti si indica lungimea totala in octeti a urmatorului camp Path Attribute. Daca valoarea este egala cu 0 atunci atributele si NLRI nu sunt incluse in mesaj.
Path Attributes – campul are lungimea variabila si listeaza atributele asociate cu NLRI din urmatorul camp.
Network Layer Reachability Information – campul are o lungime variabila si contine o lista cu baze de date (lungime , prefix) . Lungimea indica lungimea in biti a urmatorului prefix , iar prefixul este prefixul adresei IP al NLRI. Daca lungimea are valoarea 0 atunci aceasta indica un prefix care se potriveste cu toate adresele IP.
3.9.3 Mesajul Keepalive
Mesajul Keepalive sunt scimbate la o treime de timpul e mentinere , dar nu la mai putin de 1 secunda. Daca timpul de mentinere este negociat la 0 , mesajele Keepalive nu sunt trimise.Mesajele Keepalive BGP sunt formate din 19 octeti fara date aditionale.
3.9.4 Mesajul de Notificare BGP
Mesajul de notificare este trimis cand o stare de eroare este detectata. Conexiunea BGP este inchisa imediat dupa ce mesajul este trimis.
Fig. 3.15 : Format mesaj de Notificare .
Sursa: Jeff Doyle, Jennifer DeHaven Carroll – Routing TCP/IP Volume II/Cisco
Mesajul de Notificare este alcatuit din urmatoarele campuri :
Error Code – indica tiul de eroare .
Error Subcode – campul care ofer mai mulata informatii specifice despre eroare.
Data – Campul are o lungime variabila si eat folosit pentru a diagnostica tipul de eraoare. Campul Data depinde de codul eroerilor si de subcodul acestora .
Tabel 11 : Continutul mesajelor de Notificare.
Capitolul 4. Configurarea si depanarea protocolului de rutare BGPv4
Doar inginerii cu experienta nu au emotii cand vine vorba de configuararea unui echipament BGP. Sursa acestui sentiment consta in implementarea BGP care este mult mai rara decat implementarea unui protocol intern de ruatre IBGP . In afara de cei ce se ocupa de ISP , majoritatea administratorilor de retea se intalnesc de mult mai putine ori cu BGP decat cu un IGP. Optiunile valabile pentru o configuratie BGP sunt numeroase iar pentru depanarea unei erori sunt necesare mai multe studii de caz.
4.1 Configuratie de baza BGP
In acest capitol se vor prezenta mai multi pasi esentiali pentru configuararea unui proces BGP se cele mai comune tehnici folosite pentru a controla BGP. Cisco(IOS)
Perechea de rutere BGP :
Stabilirea procesului BGP si specificarea numarului sistemului autonom local se face prin comanda router bgp .
neighbor remote-as – indica un vecin si numarul sistemului autonom al acestuia, BGP nu detecteaza vecini automat . Ei trebuiesc configurati explicit.
Neighbor ip-address description neighbor description – aceasta comanda asigneaza o descriere vecinului extern.
show ip bgp neighbors – aceasta comanda afiseaza o descriere completa a tuturor campurilor vecinilor stabiliti.
Tabel 12 : Show ip bgp neighbors
Sursa: Wiliam R. Parkhurst – Cisco Commands BGPv4
Prima linie din imiaginea de mai sus ne indica adresa vecinului Taos(192.168.1.2525) numarul sistemului autonom (200) , tipul de conexiune BGP catre ruterul esxtern (external) . A 3 a liniee afiseaza versiune BGP folosita intre Vail si Taos , si numarul de identificare al lui Taos (router ID) .A 4 a linie indica statusul masinii BGP .
debug ip bgp – este folosita pentru a obtine informatii legate de vecinii bgp.
Folosind adrese loopback asociate cu interfete fizice vom obtine 2 avantaje:
In terfata de tip loopback este mult mai stabila decat orice interfata fizica . Este activa atunci cand ruterul este pornit si se va inchide doar atunci cand intregul ruter se va stinge.
Administratorul de retea area are mai multa libertate in asigna adrese IP sau reorganiza adresele numarul de indentificare al ruterului (router ID).
Exemplu de configurarea unei interfete de tip loopback :
configure terminal
interface loopback 0
ip address ………..subnetmask ………
timers bgp keepalive holdtime – schimba valorile timpilor BGP initiali per proces BGP.
neighbor [ip address | peer group name] timers keepalive holdtime – aceasta comanda schimba valorile initiale ale timpilor BGP pentru un vecin specific sau pentru un anumit grup.
4.1.2 Configurarea algoritmului de autentificare MD5
neighbnor ip-address password string – Aceasta comanda activeaza algoritmul de atentificare pentru o sesiune specifica BGP.
Afirmatia password string de pe ambele rutere trebuie sa se potriveasca.
4.1.3 Anuntarea retelelor in protocolul de rutare BGP
Inainte de toate, ca o informatie de rutare locala sa fie injectata de un ruter in propiul tabel pentru a avertiza alte rutere BGP , este necesara o configuratie de baza.
Sunt doua modalitati prin care putem face aceasta configuratie :
Listand numerele retelelor ce sunt candidate pentru a fi avertizate folosind comanda network . Daca toate aceste retele sunt accesibile de catre ruterul local , in accord cu tabela lui de rutare , apoi reteaua este injectata ca fiind o ruta in tabela de rutare .
Redistribuirea informatiei de rutare care a fost invatata si memeorate in tabela de ruatre de catre alte protocoale de rutare . Se poate folosi un protocol IGP care foloseste acelasi AS . Fiecare ruta care este cunoscuta de protocolul de rutare local IGP poate fi injectata I tabela de rutare folosind o ruta redistribuita intre IGP si BGP pe ruterul local.
network major-network number – Permite avertizarea retelelor majore in BGP.
network major-network number route-map route-map-name – adaugarea afirmatiei route-map permite ca parametrii retelei sa fie modificati inainte de a fi introdusi in tabela de rutare BGP.
Optiunea route-map poate fi folosita pentru urmatoarele :
Schimbarea valorii ponderii pentru sursa rutei locale.
Marcand rutele sursa in comunitati BGP .
Setand preferinta locala pentru o retea specifica.
Schimband valorile MED pentru o ruta specifica.
(no) auto-summary – aceasta comanda care este activata initial(by default) activeaza sau nu activeaza sumarizarea retelelor inainte de a le introduce in tabela de rutare BGP :
Rutele locale inserate ( folosind comanda network ) .
Rute redistribuite.
4.2 Redistribuirea rutelor in protocolul de rutare BGP
Exista 2 alternative pentru a injecta rutele locale in tabela de rutare BGP , folosind caomanda network sau reditribuindu-le.Listarea traseelor ofera un control total asupra retelelor care ar putea fi avertizate de BGP. Aceasta comanda este dezirabila pentru clientii locali sau pentru ISP. Pe de alta parte aceasta abordare necesita multe comenzi de configuratie .
Cand un ruter injecteaza rute care sunt listate cu , comanda network in tabelul sau de rutare BGP, codul de origine este setat “IGP”. Daca ruta este injectata intr-un tabel de rutare BGP prin redistribuire codul de origine este stabilit “unknown/incomplete.”
4.2.1 Redistribuirea intre IGP si BGP
Fig. 4.1 : Procesul de redistribuire.
Sursa: Cisco System Learning – Configuring BGPv4 on Cisco Routers Vol. II
Conrfom imaginii de mai sus avem urmatoarele comenzi :
Configuararea redistribuirei in procesul BGP.
Configurarea unui filtru-ruta folosind lista-distributie.
Definirea unei liste de acces pentru o retea particulara.
4.2.3 Redistribuirea folosind maparea rutelor (route-maps) :
Fig.4.2 : Procesul de redistrubuire folosind comanda route-map.
Sursa: Cisco System Learning – Configuring BGPv4 on Cisco Routers Vol. II
Maparea rutelor poate fi configurata pe un ruter sa filtreze actualizari si sa modifice o varietate de atribute . O comanda route-map poate fi aplicata pe un ruter pentru a redistribui rute intrun protocol IGP.Doar rutele permise de route-map vor fi avertizate si vor avea valoarea optima pentru atributele dorite.
Folosind comanda de configuarare globala route-map si comezile route-map match si set vom seta conditiile pentru reditribuirea rutelor. Fiecare repetare a comenzii route-map are o lista cu comenzile asociate match si set . Comanda match reprezinta asocierea cu conditia sub care redistribuirea este permisa pentru comanda actuala route-map . Comanda set specifica activarea , setarea actiunii , actiuni particulare ale redistruirii care se vor efectua in cazul in care criteriile impuse de comenzile meci sunt intalnite.
4.3 Agregarea legaturilor cu BGP
Cand tabela de rutare bgp este suprapopulata cu rute BGP ce trebuiesc sumarizate , ruterule trebuie configurat manual sa le sumarizeze. “Sumarizarea” in portocolul de rutareBGP se numeste agregare . Se foloseste agregarea atunci cand un grup de rute specifice este injectat in tabela de rutare BGP la un moment dat , dar pot fi rezumate intr-o etapa ulterioara.Rutele agregate pot fi rute IGP care au fost redistribuite in tabela de rutare BGP. BGP avertizeaza intreaga retea cu rutele agregate .
Pentru a crea un agregat in tabela de rutare BGP se aplica urmatoarea comanda:
aggregate-address address-prefix mask – aceasta abordare in general nu este folosita deoarece din aceasta sintaxa cuvantul cheie summary-only nu este folosit , insa atat rutele sumarizate cat si alte rute specifice vor fi avertizate.
aggregate-address address-prefix mask summary-only – cand optiunea summary-only este folosita , va fi avertizata in retea doar ruta sumarizata nu si rutele specifice. Unul dintre avantajele acestei abordari este acela ca, ruterele din retea vor fi avertizate cu o singura ruta sumarizata in schimbul mai multor trasee specifice.
Fig. 4.3 : Exemplu de agregare a rutelor BGP .
Tabelul 13 : Tabela de rutare BGP populata cu rute concentrate .
Folosind comanda show ip bgp obtinem .
Sursa: Cisco System Learning – Configuring BGPv4 on Cisco Routers Vol. II
Conform imaginii de mai sus prefixul 192.168.0/20 va fi intodeaua injectat in tabela de rutare deoarece exista cel putin o ruta din cadrul ordinei rezumate . In acest caz 192.168.16.0/24 si 192.168.17.0/24 fac parte din aceiasi gama(rang/ordine).
4.4 Injectarea unei rute conditionate BGP
Rutele avertizate de BGP de obicei sunt agregate deoarece se doreste concentrarea traseelor uzuale cat si diminuarea globala a tabelelor de rutare. Totusi procesul de agregare a rutelor poate ascunde detalii privind informatiile de dirijare in amanunt dar nu indeajuns pentru a inpiedica transmiterea unui pachet de date cadre destinatia sa .
Acuratetea procesului de dirijare este umbrita prin agregarea rutei deoarece prefixul care reprezinta multiple adrese IP sau gazde peste topologia unei retele , fizic nu pot fi reflectate intr-o singura ruta.Softul Cisco IOS propune mai multe metode prin care un prefix poate provenei din BGP. Aceste metode include redistribuirea si folosesc comenzile network sau aggregate-address .
bgp inject-map exist-map – injectarea unei rute specifice in tabela de rutare BGP.
4.5 Monitorizarea si depanarea protocolului de rutare BGP
Comenzile ce ajuta la monitorizarea protocolului BGP sunt importante in a verifica daca configuratia de baza BGP opereaza in mod corect. Daca configuratia de baza nu functioneaza in parametrii optimi , atunci aptitudinile de depanare BGP sunt critice in a rezolva o problema cu succes.
4.5.1 Monitorizarea globala BGP
show ip bgp summary – afiseaza memoria BGP folosita , listeaza vecinii BGP cat si statusul comunicatiei cu ei.
Fig. 4.4 : Exlemplu de show ip bgp summary.
Sursa: Cisco System Learning – Configuring BGPv4 on Cisco Routers Vol. II
Aceasta comanda este des folosita in rezolvarea problemelor BGP. Imaginea de mai sus ofera un rezumat al statusului BGP pe ruterul respectiv. Prima sectiune din imiagine se refera la tabela de rutare BGP , iar aceasta contine :
Versiune tabelei BGP reprezinta numarul versiunii tabelei locale BGP.Acest numar creste de fiecare data cand tabela se modifica.
Versiunea tabelului principal de rutare indica ultima versiune a bazei de date BGP care a fost injectata in tabelul principal de rutare.
Adresa IP a vecinilor configurati pe ruterul local.
Autonomous System(AS) numarul sistemului autonom al vecinului indepartat.
Numarul mesajelor si actualizarile care au fost receptionate de la un vecin in timpul stabilirii conexiunii.
Numarul versiuniii BGP de pe tabela locala care s introdus o actualizare recenta de la un vecin de-al sau.
4.5.2 Monitorizarea vecinilor BGP
show ip bgp neighbors ip-address – afiseaza informatia in detaliu despre un vecin.
Fig. 4.5 : Exemplu de show ip bgp neighbors ip-address .
Sursa: Cisco System Learning – Configuring BGPv4 on Cisco Routers Vol. II
Se poate folosi aceasta comanda in 2 sopuri diferite. Principalul obiectiv este ilustrat in imaginea de mai sus , este de a obtine inoformatia legata de sesiunea TCP si de parametrii sesiunii BGP. Toti paramtrii sesiunii BGP sunt afisati. Aditional sunt afisati si timpii TCP .Cealalta comanda nu se regaseste in acest exemplu fiind folosita atunci cand se repara repara selectarea traseului de catre ruter.
4.5.3 Monitorizarea tabelei de rutare BGP
show ip bgp – afiseaza toate rutele din tabela de rutare BGP in format sumarizat.
Fig. 4.6 : Exemplu show ip bgp .
Sursa: Cisco System Learning – Configuring BGPv4 on Cisco Routers Vol. II
In majoritatea cazurilor , cand folosim comanda show ip bgp obtinem o lista cu informatii despre fiecare ruta , si cate o line pentru fiecare prefix. Rezultatul acestei comenzi ordoneaza numarul fiecarei retele. Prin urmare daca tabela de ruatre contine mailt mult de o ruta din aceiasi retea , rutele sunt afisate pe o linie succesiva . Numarul retelei este afisat in partea stanga a tabelei de rutare. Urmatoarea linie se refera la aceiasi retea avand campul ce indica numarul retelei gol. Atributele care sunt asociate cu o ruta sunt si ele afisate insa nu toate(Next-hop, multi-exit discriminator MED, local preference si weight ).Pe urmatoarea coloana gasim atributul AS-Path . Litera “i” reprezinta IGP iar litera “e” EGP iar “?” semnifica incomplet sau necunoscut.
Procesul BGP ce consta in selectarea traseului indica cea mai buna ruta catre orice retea cunoscuta. Acest traseu este notat in partea stanga a tabelei de rutare BGP cu “>” .
Exemplu de monitorizare in detaliu a tabelei de rutare BGP :
show ip bgp ip-prefix[mask subnet-mask] – daca este necesara o mai buna evaluare a , atributeleor BGP atunci se va folosi comanda aceasta.Aceasta comanda ofera toata informatia relevanta despre o retea specifica.
Fig. 4.7 : Informatia detaliata despre toate traseele unui singur prefix.
Sursa: Cisco System Learning – Configuring BGPv4 on Cisco Routers Vol. II
In acest exemplu , este afisata informatia despre reteaua 11.0.0.0 . Avem 2 rute catre 11.0.0.0 , una este receptionata de la vecinul 1.2.0.1 iar alta este de la 1.1.0.1.
Procesul de selectie BGP a decis ca ruta 1.2.0.1 este cea mai buna iar aceasta va fi instalata in tabela de rutare BGP. Instalarea in tabela de ruatre este bazata pe distanta administarativa (AD).
4.6 Debugging BGP
Daca sesiunea BGP are statusul in modul Active , comanda debug ip tcp transactions poate oferii informatii valoraoase in legatura cu eroarea aparuta.
debug ip tcp transactions – afiseaza toate tranzactiile TCP (inceputul sesiunii, erorile sesiunii etc)
debug ip bgp events – afiseaza evenimentele semnificative(starea tranzitiei vecinului , actalizari etc) . Toate evenimentele BGP vor fi afisate accesand interfata “console” a echipamentului activand comanda debug.
debug ip bgp keepalive – aceasta comanda ajuta la monitorizarea fiecarui pachet keepalive care este trimis sau primit. Schimbarea reusita de pachete keepalive indica functionarea normala si starea stabila a sesiunii.
debug ip bgp updates – afiseaza toate actualizarile BGP care vin si care ies din dispozitiv .
debug ip bgp updates acl – afiseaza toate actualizarile care vin si pleaca asociate cu o lista de acces IP.
debug ip bgp ip-address updates [acl] – analizeaza toate actualizarile receptionate de la sau trimise catre un vecin BGP ( optional se potriveste cu o lista de acces IP) . Pentru a preveni afirarea pentru fiecare actualizare receptionata sau trimisa , se poate crea o lista de accies IP care sa fie asociata comenzii debug .
Capitolul 5.Concluzii finale
5 Metodologie
Pe parcursul acestei lucrarii am analizat difrerite aspecte ce tin de nucleul Internetului, mai exact au fost descrise procese ce decid alegerea celui mai bun traseu , dirijarea rutei si avertizarea acesteia catre dispozitive din acelasi domeniu sau catre sisteme autonome indepartate avand ca scop comun transportul pachetelor de date de la sursa la destinatie. Punctul din care am plecat in elaborarea acestei lucrari consta in efectuarea unui studiu cu privire la structura Internetului . In acest scop am definit conceptul de domeniu de retea , am descris toate functionalitatile , atributiile si scopul interconectivitatii sistemelor autonome. Controlul sistemelor autonome , administrarea , monitorizarea cat si originea acestora au fost descrise in aceasta prima parte. Pentru a face diferenta dintre un protocol de rutare intern IGP(Interior Gateway Protocol) si un protocol de rutare extern EGP (Exterior Gateway Protocol) au fost descrise pricipiile de functionare, stabilirea grupurilor de perechi , politici de rutare, alegerea celor mai rapide trasee cat si dirijarea lor in ambele cazuri . Urmatorul pas l-a reprezentat studiul primului protocol de rutare inter-domeniu Exterior Bordway Protocol infiintat in anul 1980 . In aceasta parte au fost elaborate caracteristicile protocolului de rutare extern , procesul prin care stabileste o sesiune cu un alt dispozitiv , mentinerea conexiunii dintre doua dispozitive invecinate EGP cat si comportamentul sau in mediul de atunci al Internetului. Au fost analizate componente precum : tipuri de mesaje schimbate intre vecini , timpi pentru mentinerea conectivitatii,identificarea erorirlor , tabela de rutare , cat si metode de depanare ale protocolululi.
In urmatoarea sectiune a lucrarii a fost analizat succesorul protocolului de rutare EGP , Border Gateway Protocol singurul protocol de rutare folosit in prezent , pentru a transporta ,avertiza toate rutele in cadrul retelei de amploare Internet . In mod evident BGP este conceput pentru a revolutiona habitaclul Internet , acesta reprezentand o versiune mai evoluata decat cea a
predecesorului sau EGP.Toate aceste diferente dintre cele 2 tehnologii au fost dezbatute in aceastta parte a lucrarii.
In ultima parte a acestei sectiuni au fost enumerate comenzi ce tin de configurareape platforma Cisco IOS a protocolului BGP , Cisco unul din cei mai mari producatori de echipamente de telecomunicatii.
Separat in ultimul capitol al acestei lucrari am creat o aplicatiei in care am simulat rutarea interdomeniu cu ajutorul softului GNS3 v 1.2 .
BIBLIOGRAFIE
Capitolul 1. Conceptul de domeniu de retea
http://www.networkthis.co/2013_06_01_archive.html
http://searchsoa.techtarget.com/definition/domain
https://networklessons.com/bgp/how-to-configure-bgp-as-pathprepending/
http://www.cisco.com/web/about/ac123//autonomous_system_numbers.html
Sami Halabi with Danny McPherson –“ Internet Routing Arhitectures”
http://www.ciscopress.com/articles/article.asp?p=174107&seqNum=4
Andrew S. Tanenbaum –“ Retele de Calculatoare 4”
Capitolul 2. Protocoale de rutare interdomeniu
Jeff Doyle, Jennifer DeHaven Carroll – “Routing TCP/IP Volume II/Cisco”
https://www.ietf.org
Sami Halabi with Danny McPherson –“ Internet Routing Arhitectures ”
Capitolul 3. Protocolul de rutare Border Gateway Protocol(BGP)
Jeff Doyle, Jennifer DeHaven Carroll – “Routing TCP/IP Volume II/Cisco”
Capitolul 4. Configurarea si depanarea protocolului de rutare BGPv4
Wiliam R. Parkhurst – “Cisco Commands BGPv4”.
Cisco System Learning –“ Configuring BGPv4 on Cisco Routers Vol. II ”
Lista figurilor ,graficelor si tabelelor
1. Lista Figurilor
Fig. 1.1: Conectivitatea dispozitivelor de tip diferit in mediul Internet.
Fig. 1.2 :Conexiunile dintre domenii .
Fig. 1.3 : Alocarea numerelor de identificare ale sistemelor autonome.
Fig. 1.4 :Prevenirea bulei de retea (Loopback prevention).
Fig. 1.5 : Clasless Inter-Domain Routing.
Fig. 2.1: Ilustreaza o reprezentare simplificata a Internetului.
Fig. 2.2 : Vecini EGP care nu fac parte din aceiasi retea .
Fig. 2.3 : Doar o iesire de baza poate trimite informatii dintr-un AS catre alt AS vecin.
Fig. 2.4 : Vecini indirecti EGP.
Fig.2.5 : EGP Stub Gateway Advertises the Interior Networks of AS 65502 to the Core Gateway.
Fig. 2.6: Configuratie RIP utilizata pentru avertizarea rutelor.
Fig.2.6 : Ruterul Buster face pereche cu ambele rutere din AS-ul 65501.
Fig.2.7 : Cofiguaratia pentru ruterele din Core Gateway
Fig. 2.8 : Configuratie AS 65501 .
Fig. 2.9 : Perechi EGP.
Fig. 2.10 : Filtrarea perechilor cu liste de acces.
Fig. 3.1 : Alegerea celui mai scurt traseu de catre potocolul de rutare BGP .
Fig. 3.2 : Masina de Calcul si evenimentele adminse (Input Events sau IE) .
Fig. 3.3 : AS_PATH.
Fig. 3.4 : NEXT_HOP.
Fig. 3.5: LOCAL_PREF.
Fig. 3.6: MULTI_EXIT_DISC .
Fig. 3.7 : Sincronizarea intre IBGP si IGP .
Fig. 3.8 : Conexiunea Full Mesh.
Fig. 3.9 : Conexiune full mesh intre perechi IBGP.
Fig. 3.10 :Avantajul Rutei Reflectoare .
Fig. 3.11 : Confederatie .
Fig. 3.12 : Antetul Mesajului BGP .
Fig. 3.13 : Formatul mesajului de tip Open BGP .
Fig. 3.14 : Formatul mesajului de actualizare.
Fig. 3.15 : Format mesaj de Notificare .
Fig. 4.1 : Procesul de redistribuire.
Fig.4.2 : Procesul de redistrubuire folosind comanda route-map .
Fig. 4.3 : Exemplu de agregare a rutelor BGP.
Fig. 4.4 : Exlemplu de show ip bgp summary .
Fig. 4.5 : Exemplu de show ip bgp neighbors ip-address .
Fig. 4.6 : Exemplu show ip bgp .
Fig. 4.7 : Informatia detaliata despre toate traseele unui singur prefix.
2.Lista Tabelelor.
Tabel 1: Modele de mesaje EGP .
Tabel 2 : Statusul tranzitiei EGP
Tabelul 3 : Vecinii EGP schimband periodic actualizari de accesibilitate.
Tabelul 4 : Tipuri de mesaje EGP.
Tabelul 5 : Tabela de rutare .
Tabelul 6: Tabela de rutare/Configuratia Stub Gateway.
Tabelul 7: Tabela de rutare.Rute memorate de la un vecin EGP si un vecin RIP.
Tabelul 8 : Comanda show ip bgp afiseasa tabela de rutare BGP.
Tabelul 9: Tabelul cu eevnimentele admise .
Tabelul 10 : Path Attributes .
Tabel 11 : Continutul mesajelor de Notificare.
Tabel 12 : Show ip bgp neighbors .
Tabelul 13 : Tabela de rutare BGP populata cu rute concentrate .
Copyright Notice
© Licențiada.org respectă drepturile de proprietate intelectuală și așteaptă ca toți utilizatorii să facă același lucru. Dacă consideri că un conținut de pe site încalcă drepturile tale de autor, te rugăm să trimiți o notificare DMCA.
Acest articol: Rutarea Interdomeniu In Retelele Ip.protocolul Bgp (ID: 150395)
Dacă considerați că acest conținut vă încalcă drepturile de autor, vă rugăm să depuneți o cerere pe pagina noastră Copyright Takedown.
