Interconectarea a Doua Retele de Calculatoare Prin Rutare Dinamica Folosind Ospf
LUCRARE DE LICENȚĂ
Interconectarea a două rețele de calculatoare prin rutare dinamică folosind OSPF
CUPRINS
Introducere
I.Rețele de calculatoare
1 . Modele de referință
1.1. Modelul OSI
1.2. Modelul TCP/IP
1.3. Comparație între modelele OSI și TCP
II. Protocoale pentru rutare
1. Introducere
2. Metrici de rutare
3. Distance Vector ( Vectorul Distanta )
4. Link State ( Starea legaturii )
5. Protocoale pentru ruterele aflate in acelasi sistem autonom- IGP
( Interior Gateway Protocols )
5.1 RIP – Routing Information Protocol
5.2. IGRP – Interior Gateway Routing Protocol
5.3. EIGRP – Enhanced Interior Gateway Routing Protocol
5.4. OSPF – Open Shortest Path First
6. Protocoale pentru ruterele care interconecteaza sitemele autonome – EGP
( External Gateway Protocols )
6.1. BGP – Border Gateway Protocol
7. Concluzii
8. Configurarea protocolului OSPF pe un router
III. Interconectarea a două rețele de calculatoare prin rutare dinamică folosind OSPF
1. Proiectarea rețelelor.
2. Securitatea în rețea
3. Mecanisme de protecție.
4. Aplicare folosind simulatorul CISCO Packet Tracer.
IV. Bibliografie
Introducere
Tehnologia a facut posibila aparitia populatiilor umane mari si evolueaza mai repede decat omul.Pe plan mondial este unanim recunoscut faptul ca orice activitate moderna, eficienta are la baza tehnica de calcul. Aceasta afirmatie a devenit de fapt o axioma. In tarile dezvoltate, toate domeniile in care lucreaza omul, incepand cu industria si comertul, ajungand pana la munca de birou si invatamant, cuprinzand medicina, transporturile, chiar si arta, sunt cel putin sprijinite de utilaje si aparate moderne, intre care calculatoarele ocupa un loc de funte. In ceea ce priveste calculatoarele, in ultimul deceniu s-a conturat tot mai clar o tendinta noua: trecerea de la sistemele mari si mini la claculatoare personale (microcalculatoare). Acestea si-au demonstrate din plin eficienta: posibilitatea utilizarii in cele mai variate domenii, viteza mare de lucru, adaptibilitate la cerintele celor mai diversi utilizatori, etc
Internetul asa cum il stim noi astazi a inceput pe taram american, imediat dupa Razboiul Rece, pentru a face posibila comunicarea intre bazele militare si a preveni atacurile nucleare. ARPANET, reteaua Agentiei pentru Proiecte de Cercetare Avansata (DARPA), este considerata precursoarea Internetului. Pe actul sau de nastere figureaza anul 1969, acelasi in care americanii au reusit sa trimita primii oameni pe Luna. Protocolul TCP/IP, creat in acea perioada de Ministerul Apararii al SUA, este folosit si astazi la transferul datelor pe Internet.
Prima conexiune ARPANET a fost realizată în 29 octombrie 1969, ora 22:30 între University of California din Los Angeles și Institutul de Cercetare Stanford și a decurs astfel: cei de la un capat al rețelei au tastat un “L” și apoi, prin telefon, au cerut confirmarea funcționării transferului de date de la cei de la celalalt capat al conexiunii. Dialogul a fost urmatorul:
„ -Vedeți L-ul?
-Da, vedem L-ul!
Apoi au tastat un O și au întrebat din nou:
-Vedeți O-ul?
-Da, vedem O-ul, a venit raspunsul.”
Apoi au tastat un G și conexiunea a picat. Totuși începuse o nouă revoluție în domeniul comunicațiilor.
ARPANET s-a dezvoltat uluitor de repede, la el conectându-se din ce în ce mai multe calculatoare. În 1979 ARPA decide să separe rețeaua în două, una pentru lumea comercială și universitară, și una militară. Cele două rețele puteau comunica în continuare, construindu-se practic o inter-rețea (internet) denumită inițial DARPA Internet și consacrată ulterior sub denumirea Internet. Numeroși cercetători din domeniul academic și militar si-au concentrat eforturile în scopul dezvoltării unor programe de comunicare în rețea. Astfel în 1980 o serie de programe de comunicare (bazate pe protocoale binedefinite), care sunt utilizate și astăzi, erau deja finalizate. În 1983, TCP/IP devine unicul protocol oficial al Internetului, și ca urmare, tot mai multe calculatoare din întreaga lume au fost conectate la ARPANET. Creșterea numărului de calculatoare conectate la Internet a devenit exponențială, astfel încât în 1990 Internetul cuprindea 3.000 de rețele și 300.000 de calculatoare. În 1992 era deja conectat calculatorul cu numărul 1.000.000. Apoi mărimea Internetului s-a dublat cam la fiecare an.Dezvoltarea rapidă a Internetului s-a datorat faptului că accesul la documentația protocoalelor obligatorii a fost și este liber și gratuit
Parintele Internetului este considerat insa Tim Berners-Lee, un programator englez care a inventat World Wide Web-ul. A venit cu propunerea in martie 1989, iar in 1990, de Craciun, a realizat prima comunicatie HTTP intre un client si un server prin Internet. Tim Berners-Lee lucra atunci la CERN (European Organization for Nuclear Research).
In Romania conceptul de Internet a ajuns dupa revolutia din 1989. Pentru multi dintre romanii sunetul dial-up-ului este magic. Internetul era atunci scump si atat de lent incat era nevoie de zeci de minute pentru a descarca o melodie sau a transfera un fisier.A urmat aparitia ” retelelor de cartier ” un fel de mini ISP-uri, cu viteza de transfer la fel de lenta. A fost un inceput insa care a deschis apetitul utilizatorilor pentru universul informatic ce il punea la dispozitie internetul.
A urmat internetul de banda larga in Romania, pe la inceput de secol 21. Inevitabil au aprut si jucatori mari pe aceasta piata , urmand cu trecerea anilor dezvoltarea exploziva a retelelor de comunicatii de date atat in zona urbana cat si in cea rurala.
” Web-ul nu conecteaza doar masini, conecteaza oameni.”
Tim Berners-Lee
Rețele de calculatoare
1 – Modele de referință
Modelele de referinta prezentate in lucrare sint modelul OSI si modelul TCP/IP. Deși protocoalele asociate cu modelul OSI nu sunt folosite aproape deloc, modelul in sine este destul de general si incă valabil, iar caracteristicile puse in discuție la fiecare nivel sunt in continuare foarte importante. Modelul TCP/IP are caracteristici opuse: modelul in sine nu este foarte util, dar protocoalele sunt folosite pe scară largă.
– Modelul OSI
In anii 80 specialistii de la Organizatia Internationala pentru Standardizare (ISO) au cercetat o multime de modele pentru diferite retele pentru a o alege pe cea care oferea cea mai buna interconectare. Astfel, in 1984 au creat un model de retea care sa poata ajuta companiile sa dezvolte retele capabile de a lucra impreuna. Modelul a fost numit modelul de referinta OSI (Open Systems Interconnection Basic Reference Model) si a devenit disponibil imediat.
ISO a decis crearea unui model care utilizeaza nivele, fiecare nivel ocupandu-se cu alta actiune, toate fiind insa in legatura unul cu altul pentru ca este imposibila realizarea comunicarii fara parcurgerea tuturor pasilor necesari. In reprezentarea de mai sus exista numai patru pasi, dar ISO a ales o schema mult mai detaliata. Nivelele OSI au o multime de avantaje; unul dintre acestea fiind faptul ca pot fi invatate usor.Este imposibil sa dezvolti o retea fara sa le cunosti. Aceste nivele constituie baza unei retele. Modelul de referinta OSI va permite sa vedem care sunt functiile retelei la fiecare nivel fiind cadrul care permite intelegerea felului in care datele sunt transmise printr-o retea.
Prin sisteme deschise (Open System (OS)) se înțeleg sisteme care fac publice conceptul și toate detaliile lor de implementare, permițând atașarea de noi entități care îi respectă regulile (deci extinderea sa cu ușurință) dar și participarea specialiștilor la perfecționarea sa.
Numărul de 7 niveluri pentru modelul de referință OSI (ISO) a fost stabilit (prin negocieri al căror rezultat nu a întrunit o adeziune generală) având în vedere următoarele considerente:
un număr prea mic de niveluri implică necesitatea grupării unui număr excesiv de funcții (servicii) într-un același nivel, rolul fiecărui nivel ne mai fiind astfel clar definit;
un număr prea mare de niveluri obligă la existența unui număr mare de interfețe între ele, complicând excesiv circulația informației utile în rețea.
Principiile aplicate pentru a se ajunge la cele șapte niveluri sunt următoarele:
Un nivel trebuie creat atunci cind este nevoie de un nivel de abstractizare diferit;
Fiecare nivel trebuie sa indeplineasca un rol bine definit;
Functia fiecarui nivel trebuie aleasa acordându-se atentie definirii de protocoale standardizate pe plan international;
Delimitarea nivelurilor trebuie facuta astfel incât să se minimizeze fluxul de informatii prin interfete;
Numărul de niveluri trebuie sa fie suficient de mare pentru a nu fi nevoie să se introduca în același nivel functii diferite si suficient de mic pentru ca arhitectura să rămâna functionala;
În continuare vom discuta fiecare nivel al modelului, începând cu nivelul cel mai de jos. Modelul OSI nu reprezinta în sine o arhitectura de retea, pentru ca nu specifica serviciile si protocoalele utilizate la fiecare nivel. Modelul spune numai ceea ce ar trebui să facă fiecare nivel. ISO a produs de asemenea standarde pentru fiecare nivel, însă aceste standarde nu fac parte din modelul de referintă propriu-zis. Fiecare din standardele respective a fost publicat ca un standard international separat.
Nivelul fizic
Nivelul fizic se ocupă de transmiterea biților printr-un canal de comunicatie. Proiectarea trebuie sa garanteze că atunci când unul din capete trimite un bit 1, acesta e receptat in cealalta parte ca un bit 1, nu ca bit 0. Problemele tipice se referă la câți volți trebuie utilizați pentru a reprezenta un bit 1 si câți pentru un bit 0, dacă transmisia poate avea loc simultan în ambele sensuri, cum este stabilită conexiunea initială si cum este întreruptă când au terminat de comunicat ambele părți, câți pini are conectorul de rețea și la ce folosește fiecare pin. Aceste aspecte de proiectare au o legătura strânsa cu interfețele mecanice, electrice, funcționale si procedurale, ca si cu mediul de transmisie situat sub nivelul fizic.
Nivelul legatura de date
Sarcina principală a nivelului legaturii de date este de a transforma un mijloc oarecare de transmisie într-o linie care sa fie disponibila nivelului retea fara erori de transmisie nedetectate. Nivelul legatură de date realizează această sarcina obligând emitatorul sa descompuna datele de intrare in cadre de date (câteva sute sau mii de octeti) si sa transmita cadrele secvential. Daca serviciul este sigur, receptorul confirma fiecare cadru trimițând înapoi un cadru de confirmare pozitiva.
O alta problema care apare la nivelul legaturii de date (și la majoritatea nivelurilor superioare) este evitarea inundării unui receptor lent cu date provenite de la un emitator rapid. În acest scop sunt necesare mecanisme de reglare a traficului care sa permita emitătorului sa afle cât spațiu tampon deține receptorul la momentul curent. Controlul traficului si tratarea erorilor sunt deseori integrate. Retelele cu difuzare determina in nivelul legatura de date o problema suplimentara: cum sa fie controlat accesul la canalul partajat. De această problemă se ocupa un subnivel special al nivelului legătura de date si anume subnivelul de control al accesului la mediu.
Nivelul rețea
Nivelul rețea se ocupa de controlul functionarii subrețelei. O problema cheie în proiectare este determinarea modului în care pachetele sunt dirijate de la sursa la destinație. Dirijarea se poate baza pe tabele statistice care sunt “cablate” intern în rețea și care sunt schimbate rar. Traseele pot fi de asemenea stabilite la începutul fiecarei conversații, de exemplu la inceputul unei sesiuni la terminal. În sfârșit, dirijarea poate fi dinamica, traseele determinându-se pentru fiecare pachet in concordanță cu traficul curent din rețea.
Daca în subrețea exista prea multe pachete simultan, ele vor intra unul pe traseul celuilalt si astfel se vor produce gâtuiri. Contront. Controlul traficului si tratarea erorilor sunt deseori integrate. Retelele cu difuzare determina in nivelul legatura de date o problema suplimentara: cum sa fie controlat accesul la canalul partajat. De această problemă se ocupa un subnivel special al nivelului legătura de date si anume subnivelul de control al accesului la mediu.
Nivelul rețea
Nivelul rețea se ocupa de controlul functionarii subrețelei. O problema cheie în proiectare este determinarea modului în care pachetele sunt dirijate de la sursa la destinație. Dirijarea se poate baza pe tabele statistice care sunt “cablate” intern în rețea și care sunt schimbate rar. Traseele pot fi de asemenea stabilite la începutul fiecarei conversații, de exemplu la inceputul unei sesiuni la terminal. În sfârșit, dirijarea poate fi dinamica, traseele determinându-se pentru fiecare pachet in concordanță cu traficul curent din rețea.
Daca în subrețea exista prea multe pachete simultan, ele vor intra unul pe traseul celuilalt si astfel se vor produce gâtuiri. Controlul unor astfel de congestii îi revine tot nivelului rețea. Mai general, calitatea serviciilor oferite (întârziere, timp de tranzitare, fluctuații, etc.) este tot o responsabilitate a nivelului rețea.
Multe probleme pot sa apară când un pachet trebuie sa călătorească dintr-o rețea în alta ca să ajunga la destinație. Modul de adresare folosit de a doua rețea poate sa difere de cel pentru prima. A doua rețea poate chiar sa nu accepte deloc pachetul pentru ca este prea mare. De asemenea, protocoalele pot fi diferite și așa mai departe. Rezolvarea acestor probleme în vederea interconectarii rețelelor eterogene este sarcina nivelului rețea. În rețelele cu difuzare, problema dirijării este simplă, astfel ca nivelul rețea este deseori subțire sau chiar nu exista deloc.
Nivelul transport
Rolul principal al nivelului transport este să accepte date de la nivelul sesiune, sa le descompună, daca este cazul, în unitați mai mici, să transfere aceste unități nivelului rețea și să se asigure că toate fragmentele sosesc corect la celălalt capăt. În plus, toate acestea trebuie făcute eficient și într-un mod care izoleaza nivelurile de mai sus de inevitabilele modificari în tehnologia echipamentelor.
Nivelul transport determina ce tip de serviciu sa furnizeze nivelului sesiune și, în final, utilizatorilor rețelei. Cel mai obisnuit tip de conexiune transport este un canal punct-la-punct far erori care furnizeaza mesajele sau octetii in ordinea in care au fost trimiși. Alte tipuri posibile de servicii de transport sunt transportul mesajelor individuale – fara nici o garanție in privința ordinii de livrare – și difuzarea mesajelor catre destinații multiple. Tipul serviciului se determina când se stabileste conexiunea. Nivelul transport este un adevărat nivel capăt-la-capăt, de la sursa la destinație. Cu alte cuvinte, un program de pe masina sursa poartă o conversație cu un program similar de pe mașina destinație, folosind în acest scop antetele mesajelor și mesaje de control. În nivelurile inferioare protocoalele au loc între fiecare mașina și vecinii săi imediați (niveluri înlanțuite), și nu direct intre mașinile sursă și destinatie (niveluri capăt-la-capăt), care pot fi separate de numeroase rutere.
Nivelul sesiune
Nivelul sesiune permite utilizatorilor de pe mașini diferite să stabileasca între ei sesiuni. Sesiunile oferă diverse servicii, incluzând controlul dialogului ( respectarea ordinii în raport cu dreptul de a transmite), gestionarea jetonului (prevenirea situației în care doua entități încearcă aceeași operație critica în același timp) și sincronizarea (introducerea de puncte de control pe parcursul transmisiilor lungi, astfel încât, în cazul unui eșec, acestea să poată fi reluate de unde rămăseseră).
Nivelul prezentare
În particular, spre deosebire de nivelurile inferioare, care se ocupă numai de transferul biților dintr-un loc în altul, nivelul prezentare se ocupa de sintaxa si semantica informatiilor transmise. Pentru a face posibila comunicarea între calculatoare cu reprezentări diferite ale datelor, structurile de date care se schimba între ele pot fi definite într-un mod abstract, alaturi de o codificare standardizată ce va fi utilizata. Nivelul prezentare gestioneaza aceste structuri de date abstracte si permite definirea și comunicarea unor structuri de date de nivel mai înalt (de ex. înregistrări bancare).
Nivelul aplicație
Nivelul aplicatie conține o varietate de protocoale frecvent utilizate. Un exemplu de protocol utilizat pe scara larga este HTTP (HyperText Transfer Protocol), care stă la baza WWW (World Wide Web). Atunci când un program de navigare (browser) acceseaza o pagina Web, el trimite serverului numele paginii pe care o doreste folosind HTTP. Serverul va trimite ca răspuns pagina. Alte protocoale de aplicație sunt folosite pentru transferul fisierelor, poșta electronica, știri in rețea.
Figura 1. Modelul OSI
– Modelul TCP/IP
ARPANET a fost o rețea de cercetare sponsorizată de către DoD (Departamentul de Apărare al Statelor Unite). În cele din urma, rețeaua a ajuns să conecteze între ele, utilizând linii telefonice închiriate, sute de rețele universitare și guvernamentale. Atunci când au fost adăugate, mai târziu, rețele prin satelit și radio, interconectarea acestora cu protocoalele existente a pus diferite probleme. Era nevoie de o nouă arhitectură de referință. De aceea, posibilitatea de a interconecta fără probleme mai multe tipuri de rețele a reprezentat de la bun început un obiectiv de proiectare major. Aceasta arhitectură a devenit cunoscută mai târziu sub denumirea de modelul de referință TCP/IP, dată după numele celor doua protocoale fundamentale utilizate. Arhitectura respectiva a fost definita prima data in 1974. Un alt obiectiv major a fost ca rețeaua să poată supraviețui pierderii echipamentelor din subrețea fara a fi întrerupte conversațiile existente. Se dorea ca atâta timp cât funcționau mașina sursă și mașina destinație, conexiunile să rămână intacte, chiar dacă o parte din mașini sau din liniile de transmisie erau brusc scoase din funcțiune. Mai mult, era nevoie de o arhitectura flexibila, deoarece se aveau in vedere aplicații cu cerințe divergente, mergând de la transferul de fișiere pâna la transmiterea vorbirii în timp real. Aceste cerințe au dus la alegerea unei rețele cu comutare de pachete bazată pe un nivel inter-rețea fără conexiuni.
Spre deosebire de modelul Osi, modelul TCP/IP este structurat doar pe 4 nivele, enumerate mai jos:
Nivelul internet
Scopul inițial al nivelului rețea ("Internet Protocol") era să asigure rutarea pachetelor în interiorul unei singure rețele. Odată cu apariția interconexiunii între rețele, acestui nivel i-au fost adăugate funcționalități de comunicare între o rețea sursă și o rețea destinație.
Acest nivel este axul pe care se centrează întreaga arhitectură. Rolul său este de a permite gazdelor să emită pachete în orice rețea și a face ca pachetele să circule independent până la destinație (fiind posibil ca acestea să se găsească pe o altă rețea). Pachetele pot chiar sa sosească într-o ordine diferită față de cea în care au fost trimise, caz în care-daca se dorește livrarea lor ordonată-rearanjarea cade in sarcina nivelurilor superioare. De observat că “internet” este folosit aici într-un sens generic, chiar daca acest nivel este prezent și în Internet.
Analogia este cu sistemul de poștă. O persoana dintr-o anumită țară poate depune într-o cutie poștală mai multe scrisori internaționale și majoritatea scrisorilor vor ajunge la adresa corectă în țara de destinație. Probabil ca scrisorile vor trece pe drum prin mai multe oficii de cartare, dar acest lucru se face transparent pentru utilizatori. Mai mult, faptul ca fiecare țară (adică fiecare rețea) are propriile timbre, propriile mărimi favorite de plicuri și propriile regulide livrare este ascuns beneficiarilor.
Nivelul internet definește oficial un format de pachet si un protocol numit IP (Internet Protocol). Sarcina nivelului internet este să livreze pachete IP către destinație. Problemele majore se refera la dirijarea pachetelor și evitarea congestiei.
Nivelul transport
Este identic cu cel din modelul OSI, ocupându-se cu probleme legate de siguranță, control al fluxului și corecție de erori. El este proiectat astfel încât să permită conversații între entitățile pereche din gazdele sursă, respectiv, destinație. În acest sens au fost definite două protocoale capăt-la-capăt.
Nivelul situat deasupra nivelului internet din modelul TCP/IP este frecvent numit nivelul transport. Acesta este proiectat astfel, încât să permită conversații între entitățile pereche din gazdele sursă și destinație, la fel ca în nivelul transport OSI. În acest sens au fost definite două protocoale capăt-la-capăt. Primul din ele, TCP (Transmission Control Protocol), este un protocol sigur orientat pe conexiuni care permite ca un flux de octeți trimiși de pe o mașina să ajunga fără erori pe orice altă mașina din inter-rețea. Acest protocol fragmentează fluxul de octeți în mesaje discrete și pasează fiecare mesaj nivelului internet. La destinatie, procesul TCP receptor reasamblează mesajele primite într-un flux de iesire. TCP tratează totodată controlul fluxului pentru a se asigura ca un emițător rapid nu inunda un receptor lent cu mai multe mesaje decit poate sa prelucreze.
Al doilea protocol din acest nivel, UDP (User Datagram Protocol), este un protocol nesigur, fară conexiuni, destinat aplicațiilor care doresc să utilizeze propria lor secvențiere și control al fluxului, și nu pe cele asigurate de TCP. Protocolul UDP este de asemenea folosit pentru interogări rapide întrebare-răspuns, client-server și pentru aplicații în care comunicarea promptă este mai importantă decât comunicarea cu acuratețe, așa cum sunt aplicațiile de transmisie a vorbirii și a imaginilor video.
Nivelul aplicație
Modelul TCP/IP nu conține niveluri sesiune sau prezentare. Acestea nu au fost incluse pentru că nu s-a simțit nevoia lor. Experiența modelului OSI a dovedit că această viziune a fost corectă: în majoritatea aplicațiilor, nivelurile respective nu sunt de mare folos.
Deasupra nivelului transport se află nivelul aplicație. Acesta conține toate protocoalele de nivel mai înalt. Primele protocoale de acest gen includeau terminalul virtual (TELNET), transferul de fișiere (FTP) și poșta electronică (SMTP). Protocolul de terminal virtual permite unui utilizator de pe o mașina să se conecteze și să lucreze pe o mașina aflată la distanță. Protocolul de transfer de fișiere pune la dispoziție o modalitate de a muta eficient date de pe o mașina pe alta. Poșta electronica a fost la origine doar un tip de transfer de fișiere, dar ulterior a fost dezvoltat un protocol specializat (SMTP – Simple Mail Transfer Protocol) pentru acest serviciu. Pe parcursul anilor, la aceste protocoale s-au adaugat multe altele, așa cum sunt Serviciul Numelor de Domenii (Domain Name Service – DNS) pentru stabilirea corespondenței dintre numele gazdelor si adresele rețelelor, NNTP, protocolul utilizat pentru a transfera articole de știri USENET, HTTP, folosit pentru aducerea paginilor de pe Web si multe altele.
Nivelul gazda-rețea
Se ocupă cu toate problemele legate de transmiterea efectivă a unui pachet IP pe o legătură fizică, incluzând și aspectele legate de tehnologii și de medii de transmisie, adică nivelurile OSI Legătură de date și Fizic.
Sub nivelul internet se afla necunoscutul. Modelul de referință TCP/IP nu spune mare lucru despre ce se întâmplă acolo, însă mentionează că gazda trebuie să se lege la rețea, pentru a putea trimite pachete IP, folosind un anume protocol. Acest protocol nu este definit și variază de la gazdă la gazdă și de la rețea la rețea.
Figura 2. Modelul TCP/IP
1.3 – Comparație între modelele OSI și TCP
Modelele de referință OSI și TCP au multe lucruri in comun. Amândoua se bazează pe conceptul unei stive de protocoale independente. De asemenea, funcționalitatea nivelurilor este în linii mari similară. De exemplu, în ambele modele, nivelurile pâna la nivelul transport inclusiv sunt necesare pentru a pune la dispoziția proceselor care doresc să comunice un serviciu de transport capăt-la-capăt independent de rețea. Nivelurile respective formeaza furnizorul de transport. În ambele modele, nivelurile de deasupra transportului sunt beneficiari orientați pe aplicații ai serviciului de transport.
În pofida acestor similitudini fundamentale, între cele doua modele exista și multe deosebiri. Trei concepte sunt esențiale pentru modelul OSI: servicii, interfețe, protocoale. Fiecare nivel realizeaza niște servicii pentru nivelul situat deasupra sa. definiția serviciului spune ce face nivelul, nu cum îl folosesc entitațile de deasupra sa sau cum funcționeaza nivelul. El definește semantica nivelului.
Interfața unui nivel spune proceselor aflate deasupra sa cum să facă accesul. Interfața precizeaza ce reprezinta parametrii și ce rezultat se obține. Nici interfața nu spune nimic despre funcționarea interna a nivelului.
Protocoalele pereche folosite într-un nivel reprezintă treab personală a nivelului. Nivelul poate folosi orice protocol dorește, cu condiția ca acesta să functioneze (adică să îndeplineasca serviciul oferit). Nivelul poate de asemenea sa schimbe protocoalele dupa cum vrea, fara ca acest lucru să afecteze programele din nivelurile superioare.
Deși lumea a încercat ulterior sa îl readapteze pentru a fi mai asemănător modelului OSI, modelulTCP/IP nu a facut inițial o distincție clara între serviciu, interfață și protocol. De exemplu, singurele servicii veritabile oferite de nivelul internet sunt SEND IP PACKET și RECEIVE IP PACKET.
În consecință, protocoalele din modelul OSI sunt mai bine ascunse decât în modelul TCP/IP și pot fi înlocuite relativ ușor pe masura ce se schimba tehnologia. Capacitatea de a face asemenea modificări reprezintă unul din scopurile principale ale organizării protocoalelor pe niveluri în modelul OSI. Modelul de referință OSI a fost conceput înainte să fie inventate protocoalele corespunzătoare. Ordinea respectivă semnifică faptul că modelul nu a fost orientat către un set specific de protocoale, fiind prin urmare destul de general. Reversul este că proiectanții nu au avut multă experiență în ceea ce privește acest subiect și nu au avut o idee coerentă despre împarțirea funcțiilor pe niveluri.
De exemplu, nivelul legatură de date se ocupa inițial numai cu rețelele punct-la-punct. Atunci când au aparut rețelele cu difuzare, a trebuit sa fie introdus în model un subnivel nou. Când lumea a început să construiască rețele reale utilizând modelul OSI și protocoalele existente, s-a descoperit că acestea nu se potriveau cu specificațiile serviciului cerut, astfel ca a trebuit introdusa în model convergența subnivelurilor.
În ceea ce privește TCP/IP, lucrurile stau exact pe dos: mai întâi au apărut protocoalele, iar modelul a fost de fapt doar o descriere a protocoalelor existente. Cu protocoalele respective nu era nici o problemă: ele se potriveau perfect cu modelul. Singurul necaz era că modelul nu se potrivea cu nici o altă stiva de protocoale. Prin urmare, modelul nu a fost prea util pentru a descrie alte rețele non-TCP/IP.
O diferență evidenta între cele două modele se referă la numarul de niveluri: modelul OSI are șapte niveluri, iar TCP/IP are patru . O altă deosebire privește subiectul comunicației fară conexiuni față de cel al comunicației orientata pe conexiuni. Modelul OSI suportă ambele tipuri de comunicații la nivelul rețea, dar numai comunicații orientate pe conexiuni în nivelul transport, unde acest fapt are importanță (pentru că serviciul de transport este vizibil utilizatirilor). Modelul TCP/IP are numai un mod (fara conexiuni) la nivelul rețea, dar suportă ambele moduri la nivelul transport, ceea ce lasă utilizatorilor posibilitatea alegerii. Această alegere este importantă în mod special pentru protocoalele întrebare-răspuns simple.
Figura 3. Modelul OSI si TCP/IP
Protocoale pentru rutare
Introducere
Prin protocol se intelege un set de reguli si conventii ce se stabilesc/definesc intre participantii la o comunicatie in vederea asigurarii bunei desfasurari.
Protocolul poate fi considerat si ca o intelegere intre partile care comunica. Aceasta intelegere se stabileste inainte de inceperea schimbului efectiv de mesaje, si are ca scop stabilirea unor reguli unanim acceptate de participanti.
De exemplu la nivelul fizic doua fisiere de tipuri diferite .mp3 si .jpg pot avea accesi reprezentare binara. Intr-o posibila comunicare intre doua entitati, la solicitarea fisierului .mp3 obtine fisierul .jpg deoarece au aceeasi reprezentare si nu s-a facut in prealabil o stabilire a ceea ce se va transmite in retea. Protocolul in aceste situatii intervine si stabileste conditiile comunicarii.
Protocoalele pot fi:
Rutabile – aceste protocoale ofera posibilitatea de a atribui oricarui nod din retea o
adresa prin care il individualizeaza (devine unic). Ex: IP, IPX, AppleTalk;
Nerutabile – in acest caz fiecare host este identificat printr-un nume, iar absenta unei
scheme ierarhice face imposibila rutarea. Pentru identificare se face transimisie prin broadcast si este folosit pentru a solicita servicii de la procesele de nivel scazut (este folosit in retelele IBM). Ex: NetBEUI.
Exista o ierarhie a protocoalelor in functie de nivelul la care fiecare actioneaza si de serviciile pe care acestea le ofera. Fiecare nivel, ce contine o suita de protocoale, ofera anumite servicii pentru nivelul imediat superior. Numarul, numele, continutul si functia fiecarui nivel variaza de la o retea la alta. Fiecare nivel va executa un anumit numar de functii clar definite.
Prin serviciu se intelege un set de operatii pe care un nivel le furnizeaza nivelului superior. Serviciul si protocolul sunt notiuni distincte. Un serviciu defineste ce operatii este pregatit nivelul sa indeplineasca dar nu realizeaza sau stabileste modul in care sunt implementate aceste operatii. Un protocol este un set de reguli care guverneaza modul de implementare al serviciului. Protocolul este notiunea efectiva de realizare si are ca obiectiv felul cum se face, cand se face transmiterea si ce contin pachetele.
Facand referire la nivelul OSI intr-o comunicatie protocolul se stabileste intre doua entitati de pe acelasi nivel, aflate pe sisteme diferite, iar serviciul defineste legaturi ce se stabilesc intre doua niveluri succesive ale aceluiasi sistem.Un caz particular de protocoale sunt cele de rutare ce se intalnesc la nivelul 3 al stivei OSI – (Network).
Protocoalele de rutare sunt bazate pe reguli ce refera modul in care se stabilesc traseele informatiilor in rutere. Regulile trebuie sa urmareasca schimbul de informatii intre retele intr-un mod dinamic in functie de topologie. Rutarea implica doua activitati de baza:
determinarea rutei optime (proces ce are loc la nielul 3 in modelul OSI) ;
transportul de pachetele – de informatie intr-o retea.
Desi comutarea pachetelor de mesaje este relativ usoara, determinarea rutei poate fii foarte complexa (creste exponential cu numarul de noduri ale retelei). Rutele pot fi primite de la un router din vecinatate, si atunci se numesc rute dinamice, sau pot fi definite static de catre administratorul retelei, caz in care se numesc rute statice. Toate rutele cunoscute unui ruter formeaza tabelul de rutare al acestuia. Algoritmi de rutare dinamici pot sa fie completati cu rute statice daca este convenabil, spre exemplu, pentru a asigura o ruta implicita pentru pachete a caror destinatie nu poate fi determinata dinamic (accesul la gateway).
Tabelul de rutare contine adresele retelelor si respectiv porturile routerului asociate acestora, invatate dinamic sau asignate manual. Protocolul de rutare invata toate rutele disponibile, salveaza in tabelul de rutare cele mai bune dintre ele si sterge rutele cand ele nu mai sunt valabile. Routerul foloseste tabelul de rutare pentru a trimite pachetele protocoalelor rutate catre portul adecvat.
Algoritmul folosit de protocol este fundamental in rutarea dinamica. Configuratia unei retele se poate schimba din mai multe cauze: dezvoltare, reconfigurare sau probleme. Deci, si tabelele de rutare trebuie sa se schimbe, astfel incat sa reflecte topologia exacta a retelei.
Convergenta unei inter-retele este momentul in care toate routerele dintr-o inter-retea folosesc aceleasi cunostințe.Inainte de convergenta retelei, routerele pot lua decizii gresite, de aceea algoritmii, topologia rețelei si hardware-ul trebuie optimizate pentru a reduce acest timp.
Metrici de rutare
Protocoalele de rutare folosesc un coeficient, numit metrica, pentru a exprima costul rutei. Acest coeficient poate fi numǎrul de noduri (hops) pana la destinatie sau poate fi calculat dupa o formula mai complexa care sa includa viteza conexiunii, timpul de raspuns, grad de ocupare, securitate, etc.
Astfel de metrici sunt: lungimea rutei/caii ,siguranta , intarzierea , largimea de banda , incarcarea ,costul de comunicare.
Lungimea rutei este cel mai comuna metrica de rutare. Unele protocoale de rutare permit administratorilor de retea sa asigneze valori pentru fiecare legatura de retea. In acest caz, lungimea de cale este suma costurilor asociate fiecarei legaturi de traversat. Alte protocoale de rutare definesc numararea de noduri, metrica ce specifica numarul de treceri prin nodurile de retea.
Siguranta, in context de algoritm de rutare, se refera la securitatea ( de obicei descrisa de rata erorilor de bit) fiecarei legaturi de retea. Unele legaturi de retea pot ceda mai des decat altele. Dupa ce o retea se blocheaza, unele legaturi de retea pot sa fie reparate mai usor sau mult mai repede decat alte legaturi. Se poate tine cont de orice factorii de siguranta care sunt de obicei valori numerice atribuite legăturilor de retea date de administratorii .
Intarziere de retea se refera la durata de timp necesara trimiterii unui pachet de la sursa la destinatie prin retea. Intarzierea poate sa depinda de multi factori, incluzand latimea de banda a legaturi de retea, statul la coada la fiecare router de-a lungul transferului, congestia de retea pe toata legatura de retea si distanta fizica care trebuie parcursa. Aceasta metrica este des folosita.
Latimea de banda se refera la capacitatea de circulatie disponibila unei legaturi. Desi largimea de banda este consumul maxim accesibil pe o legatura, rutele cu legaturi de largimea de banda mai mare nu sunt neaparat mai bune decat rutele cu legaturi mai lente. De exemplu, daca o legatura mai rapida este ocupata, timpul real necesar pentru a expedia un pachet la destinatie poate să fie mai mare, decat pentru link-ul cu viteza mai mica.
Incarcarea se refera la gradul la care o resursa de retea, ca de exemplu un router, este ocupata. Incarcarea poate sa fie calculata intr-o varietate de moduri, incluzand utilizarea de procesor si pachetele prelucrate pe secunda.
Costul de comunicare este alta metrica importanta, in special pentru ca pentru unele companii nu pun accent pe performanta atat cat pun pe cheltuielile de exploatare. Desi intarzierile de linie pot fi mai mari, ei vor expedia pachetele prin liniile proprii decat prin liniile publice care au un cost proportional cu timpul de folosire.
Distanta administrativa este un numar intre 0 si 255, asociat cu un tip de ruta sau cu un protocol de rutare, ce permite ierarhizarea protocoalelor de rutare. Distantele administrative pentru unele dintre cele mai folosite protocoale de rutare sunt precizate in tabelul de mai jos:
Figura 4. Distante administrative pentru protocoalele de rutare
Pentru rutele statice distanta administrativa poate fi schimbata, valoare implicita fiind 1, iar valoarea maxima fiind 255. Acest lucru se face pentru a se creea prioritati de alegere a link-urilor.
In criteriul de clasificare al retelelor intervine notiunea de AS (Autonomous System-Sistem autonom). Un sistem autonom este o colectie de rutere aflate sub o administrație comuna. Orice ISP, pentru a putea intra în Internet, trebuie sa se afilieze unui sistem autonom. Un sistem autonom este identificat printr-un numar numit numar sau adresa AS. Acest numar poate fi cuprins între 1 si 65.535. Atribuirea se face de catre IANA (Internet Assigned Numbers Authority).
Protocoalele de rutare se pot clasifica dupa:
Tipul de algoritmi folositi;
Protocoale bazate pe vectori distanta (Distance Vector – DV) ;
Protocoale bazate pe starea legaturilor (Link State – LS) ;
Apartenența ruterelor la acelasi Sistem Autonom- Autonomous System:
Protocoale pentru ruterele aflate in acelasi sistem autonom (Interior Gateway Protocols – IGP) . Ex: Routing Information Protocol (RIPv1, RIPv2), Open Shortest Path First (OSPH), Enhanced Interior Gateway Routing Protocol (EIGRP) ;
Protocoale pentru ruterele care interconecteaza sitemele autonome (Exterior gateway protocols – EGP). Ex.: Border Gateway Protocol (BGP).
Figura 3. EGP si IGP
Daca include sau nu in mesajele de update emise masca retelei:
protocoale classfull (RIPv1,IGRP) ;
protocoale classless (RIPv2, EIGRP, OSPF,IS-IS).
Distance Vector ( Vectorul Distanta )
Protocolalele de rutare vector de distanta determina directia (vectorul) si distanta catre orice destinate dintr-o inter-retea. Algoritmul unui protocol vector de distanta transmite periodic copii ale tabelului de rutare de la router la router pentru a comunica schimbarile de topologie. Algoritmul vector de distanta se mai numeste algoritmul Bellman-Ford.
Fiecare router primeste un tabel de rutare de la routerele direct conectate pentru a actualiza tabelul sau de cate ori exista schimbari in topologie. Dar, pentru ca nu primesc tabele de rutare decat de la routerele direct conectate, routerele nu pot avea o imagine completa asupra topologiei unei inter-retele. Pentru a putea primi si trimite actualizari ale tabelului de rutare, un router trebuie intai sa-si identifice vecinii. Interfetele care sunt direct conectate la alte retele au distanta 0. Concomitent cu pornirea procesului de descoperire, routerele descopera cea mai buna ruta spre o anumita retea pe baza informatiei primite de la routerele vecine. Orice alta ruta catre o retea (in afara celor direct conectate), va avea o distanta mai mare pentru a reflecta cat de departe este in directia respectiva. Daca distanta rutei spre destinatie este minima, informatia urmeaza calea cea mai buna pe care o poate alege algoritmul. Protocolalele de rutare vector de distanta cer ca fiecare router sa trimita intregul sau tabel de rutare fiecarui router vecin direct conectat, ceea ce genereaza un trafic constant in rețele.
Link State ( Starea legaturii )
Protocoalele de rutare ce se bazeaza pe starea conexiunii reconstituie topologia exacta a retelei local. Aceste protocoale folosesc algoritmul Shortest Path First –SPF implementat prin algoritmul Dijkstra.
Pentru a reconstitui si mentine topologia exacta a inter-retelei algoritmii starea conexiunii folosesc urmatoarele elemente:
Link-state advertisment (LSA) – anunturi despre starea conexiunilor – mic pachet cu informatii de rutare care este trimis intre routere;
Topological database – baza de date pentru topologie – informatii acumulate de la pachetele LSA;
Algoritmul SPF(Shortest Path First) – un calcul aplicat bazei de date, din care rezulta arborele SPF (SPF tree) ;
Routing table – tabelul de rutare – lista rutelor cunoscute si a interfetelor corespunzatoare.
Algoritmul SPF calculeaza disponibilitatea retelei. Fiecare router construieste o topologie logica sub forma de arbore in care el este radacinǎ. Topologia este alcatuitǎ din toate rutele posibile spre toate rețelele din inter-rețeua in care functioneaza protocolul link-state. Apoi algoritmul SPF selecteaza cele mai bune rute pentru a le salva in tabelul de rutare.
Pentru a obține convergenta, fiecare router trebuie sa identifice intai vecinii direct conectatii. Pe baza acestei informatii si a altora legate de noi vecini si starea conexiunilor, routerul genereaza un pachet LSA pe care il trimite catre toate routerele. Fiecare pachet LSA primit va duce la schimbari in baza de date a conexiunilor si deci algoritmul SPF va recalcula rutele optime si routerul va actualiza tabelul de rutare.
Probleme legate de folosirea protocoalelor link-state:
solicitarea crescuta a procesorului routerului;
cerintele de memorie – trebuie sǎ stocheze multiple baze de date, arborele topologiei si tabelul de rutare;
consumul crescut de latime de banda generat de traficul abundent ce are loc pana in momentul convergentei.
Desi protocoalele link-state au cerinte hardware crescute fata de protocoalele vector de distanta au avantajul cunostintelor complete asupra topologiei.
Protocoale pentru ruterele aflate in acelasi sistem autonom
( Interior Gateway Protocols – IGP )
5.1 RIP – Routing Information Protocol
Protocolul informatiei de rutare sau RIP cum este de obicei numit este cel mai stabil dintre toate protocoalele de rutare. RIP este adesea confundat cu alte protocoale deoarece s-au extins o varietate de protocoale asemanatoare cu RIP, unele care folosesc acelasi nume. RIP si multitudinea de protocoale asemanatoare cu el sunt bazate pe acelasi set de algoritm care folosesc vectori de distanta pentru compararea routelor in vederea gasirii celei mai bune cai catre orice adresa. Acesti algoritmi au pornit de la studii academice efectuate incepand inca din 1957.
Versiunea standard actuala a RIP, uneori numita si IP RIP este formulata in 2 documente: Request For Comment ( RFC) 1058 si Internet Standard (STD) 56. Pe masura ce retelele bazate pe IP se inmulteau si cresteau ca marime, devenea evident pentru Internet Engineering Task Force(IETF) ca RIP trebuia actualizat. RIP2 permite mesajelor RIP sa transmita mai multa informatie, ceea ce permitea folosirea unui mecanism de autentificare simplu pentru securitatea actualizarii tabelelor. Mai important RIP2 supoarta subnet mask (masca de retea) care nu era disponibila in RIP.
Routing updates – Actualizarea rutelor
RIP trimite mesaje cu actualizarea rutelor la intervale stabilite sau cand topologia de retea se schimba. Cand un router primeste o actualizare a rutelor care contine schimbari, actualizeaza tabelele de rutare, adaugand noua schimbare. Valoarea metrica pentru calea respectiva creste cu 1 si trimite indicatiile la următorul nod. Routele RIP mentin doar rutele cele mai bune (rutele cu cele mai mici valori metrice). Dupa ce isi actualizeaza propriile tabele de rutare, routerul incepe imediat sa transmita actualizari de rute pentru a informa celelalte routere de schimbare. Aceste actualizari sunt expediate in mod independent cu regularitate de routerele RIP.
Metrica de rutare pentru RIP
RIP foloseste o singura metrica de rutare (numararea nodurilor), ca sa masoare distanta dintre sursa si destinatie. Fiecărui hop intr-o cale de la sursa la destinatie ii este atribuit o valoare care este de obicei 1. Cand un router primeste o actualizare a rutelor care contine destinatii noi sau schimbate routerul adauga valoarea 1 la valorile metrice din actualizare si apoi introduce actualizarea in tabelele de rutare. Adresa IP a celui care transmite aceasta actualizare este folosita ca urmatorul nod.
RIP – Caracteristici de stabilitate
RIP previne ciclarile de rutare prin implementarea unui numar limita de noduri permis intr-o cale de la sursa la destinatie. Numarul maxim de hopuri intr-o cale este de 15. Daca un router primeste o actualizare a rutelor care contine o noua intrare si daca in momentul in care acesta mareste valoarea metrica cu 1, valoarea devine 16, destinatia este considerata de negasit. Efectul nedorit al acestei trasaturi de stabilitate este faptul ca limiteaza diametrul maxim al unei rețele RIP la mai putin de 16 noduri.
RIP include mai multe caracteristici de stabilitate care sunt incluse în multe protocoale de rutare. Aceste caracteristici sunt proiectate să asigure stabilitatea, în ciuda schimbarilor topologiilor de retea tot mai frecvente. De exemplu, RIP poate să puna in aplicare orizontul despicat si sa detina mecanisme pentru a impiedica informatia incorecta de rutare sa fie propagata.
Timpii RIP
RIP foloseste numerosi time-ri pentru a-si regla performanta. Acestea includ un timer de (routing-update timer) un timer de durata maxima (route-timeout timer) si un timer de parcurgere. Timerul de actualizare a routarii – intervalul de ceas intre actualizarile periodice. De obicei este de 30 sec adaugandu-se un timp aleatoriu cand ceasul este resetat. Acest impiedica congestia, care ar putea să rezulte incercare simultana a tuturor routerelor de a actualiza vecinii lor. Fiecare intrarea în tabel de rutare are un timp de valabilitate un cronometru asociat la el. Cand timpul limită expira, ruta este pronuntata invalida dar este retinuta in tabel pana cand timpul de parcurgere expira cronometrul expira.
Pachetele RIP
Command – indica daca pachetul este o cerere sau un raspuns. Cand este cerere el cere ca un router sa transmita tabelul de rutare partial sau total. Raspunsul poate sa fie o actualizare de rutare nesolicitata obisnuita sau un raspuns la o cerere. Raspunsurile contin intrari in tabelul de rutare. Multiple pachete RIP sunt folosite sa transporte informatia din tabele mari de rutare.
Version number – specifica versiunea RIP folosita. Acest camp semnalizeaza potentialele versiuni incompatibile.
Zero – acest camp nu este folosit de RFC 1058 RIP. A fost adaugat pentru a aduce compatibiliate cu variantele prestandard ale lui RIP.
Address Family Identifier(AFI) –specifica adresa familiei folosita. RIP este proiectat sa transporte informatii de rutare pentru mai multe protocoale diferite. Fiecare intrare are o adresa a familie un identificator pentru a indica tipul de adresa specifica. AFI pentru IP este2.
Address – Specifica adresa IP.
Metric – Indica cate noduri(routere) a traversat pachetul de la sursa la destinatie. Aceasta valoare este intre 1 si 15 pentru o ruta valida, sau 16 pentru o ruta de negasit.
Pachetele RIP 2
Specificatiile RIP 2 permit mai multa informatie sa fie inclusa in pachete si aduce un mecanism simplu de autentificare care nu este suportat de RIP.
Unused – Are valoarea 0.
Address family identifier(AFI) – Specifica adresa familiei folosite. Acest camp functioneaza identic ca la RIP dar cu o singura exceptie: daca campul AFI pentru prima intrare in mesaj este 0XFFF, urmatoare intrare contine o informatie de autentificare. In prezent singurul mod de autentificare este parola.
Route tag – Include o metoda pentru a face diferenta intre rutele interne(cunoscut de RIP) si rutele externe(cunoscute de la alte protocoale).
Subnet mask – Contine masca de retea. Daca campul este egal cu 0 nu a fost specificata nici o masca.
Next hop – Indica adresa IP a nodului urmator unde va ajunge pachetul.
IGRP – Interior Gateway Routing Protocol
IGRP este un protocol de routare dezvolatat la mijlocul anilor 1980 de Cisco Systems. Scopul principal a fost crearea unui protocol robust pentru routarea în sisteme autonome fiind numite Interior Gateway Routing Protocols. Înainte de apariția IGRP, cel mai utilizat protocol era RIP. Deși RIP era eficient pentru routarea în rețele mici, relativ omogene, limitele sale deveneau evidente odată cu mărirea dimensiunii rețelelor. În particular, limita maximă de 16 hopuri ale RIP-ului restricționa mărimea rețelelor; metrica unică (numărarea hopurilor) nu asigura destulă flexibilitate în medii complexe.
IGRP folosește vectorii distanță. Routerele trimit la intervale regulate mesaje update la toți vecinii lor. Mesajele circulând prin toată rețeaua din vecin în vecin, se vor descoperi noi destinații adăugate rețelei sau se vor identifica destinațiile unreachable și se vor calcula vectorii distanță către toate destinațiile cunoscute.
IGRP folosește o metrică compozită calculată prin luarea în considerare a valorilor metricilor delay, bandwidth, reliability și load. Administratorii de rețea pot modifica valorile pentru fiecare metrică. Toate aceste metrici sunt complementate de o serie de constante definite de administrator care pot influența alegerea unei rute.
IGRP folosește update-timer, care specifică cât de des se trimit mesajele update (de obicei are valoarea 90 secunde). Invalid timer conține cât se așteaptă, în absența mesajelor update până să declare ruta invalidă (aproximativ de trei ori update-timer)
EIGRP – Enhanced Interior Gateway Routing Protocol
EIGRP a fost dezvoltat de către Cisco (eliberat în 1988) cu scopul de a îmbunătăți protocolul RIP pe vremea cînd IETF încă lucra la dezvoltarea OSPF -ului. EIGRP este un protocol brevetat. Acest protocol elimină unele dintre defectele protocolului RIP , și are îmbunătățiri ca folorirea de metrici compuse, rutarea pe căi multiple, și mînuirea rutelor implicite.
Evoluția protocolului EIGRP furnizează compatibilitate și operații precise cu rutereEIGRP . Capacități cheie care dinting EIGRP de alte protocoale de rutare includ :
convergența rapidă;
support pentru mască de subrețea variable-length;
suport pentru update;
support pentru multiple network layer protocols.
EIGRP are toate avantajele flexibilității și ale configurării simple în timp ce îmbunătățește viteza și consumarea resurselor. Dealtfel, este capabil a fi un protocol unic atît pentru IP cît și pentru protocoale non- IP , eliminînd nevoia de a folosi multiple protocoale de rutare într-o rețea multi-protocol.
Acest protocol de rutare este unul dintre cele mai diversificate și robuste protocoale de rutare. Combinația sa unică de caracteristici îmbină cele mai bune atribute ale protocoalelor de vector-distanță cu cele mai bune atribute ale protocoalelor cu starea legăturilor. Rezulatul este un protocol de rutare hibrid care sfidează împărțirea pe categorii a protocoalelor convenționale.
Protocolul EIGRP utilizeaza urmatoarele tipuri de mesaje: Update, Query, Reply, Hello.
5.4 OSPF – Open Shortest Path First
OSPF este un protocol de rutare pentru retelele Internet Protocol (IP) al IGP (Internet Gateway Protocol), parte componentă a IETF (Internet Engineering Task Force). Aceasta organizatie a fost infiintata in 1988 pentru a crea un IGP bazat pe un algoritm SPF (Shortest Path First) pentru a fii folosit în Internet.
OSPF are 2 caracteristici de baza:
prima este ca protocolul este deschis, ceea ce inseamna ca are specificatii de domeniu public. Specificatiile OSPF sunt publicate ca Requests for Comments (RFC) ;
a doua caracteristica este bazata pe algoritmul SPF (algoritmul Dijkstra).
OSPF este un protocol de starea legaturi de rutare care presupune trimiterea de avertismente tuturor celorlalte rutere din aceeasi clasa ierarhică. Informațiile de pe interfetele atasate, folosirea metricilor si alte variabile sunt incluse in avertismentele de stare a legaturi ale OSPF. Pe masura ce ruterele OSPF acumuleaza informatii despre starea legaturilor, folosesc algoritmul SPF pentru calcularea celei mai scurte cai catre fiecare nod.
Ierarhia de rutare
Spre deosebire de RIP, OSPF poate opera in cadrul unei ierarhii. Cea mai mare entitate dintr-o ierarhie o reprezintă sistemul autonom (autonomous system AS), care este o reuniune de retele cu o administrare comuna, care impart o strategie comuna de rutare. OSPF este un protocol de rutare intre sisteme autonome, cu alte cuvinte este capabil sa primeasca rute si sa trimita rute catre alte sisteme.
Un sistem autonom poate fi impartit in mai multe zone, care sunt grupuri de retele continue si host-uri atasate. Ruterele cu mai multe interfete pot participa in mai multe zone. Aceste rutere, care se numesc rutere care delimiteaza zone, mentin bazele de date topologice separate pentru fiecare zona.
O baza de date topologica este o imagine globala a retelelor in reletie cu ruterele. Bazele de date topologice contin avertismetele de stare a legaturi primite de la toate ruterele din aceasi zona. Pentru ca ruterele din aceeasi zona impart aceleasi informatii, ele au baze de date topologice identice.
Termenul domeniu este folosit pentru a descrie portiunea de retea in care toate ruterela au baze de date topologice identice.
Topologia unei zone este invizibila entitatilor din afara acestei zone. Prin separarea topologiilor zonelor, OSPF transmite mai puțin trafic de rutare decat daca sistemele autonome nu ar fi partitionate.
Partiționarea zonelor creaza doua tipuri diferite de rutare OSPF, care depind daca sursa si destinatia se afla in aceeasi zona sau in zone diferite. Rutarea intra zone are loc atunci cand sursa si destinatia se afla in aceeasi zona; rutarea inter zone apare cand sursa sau destinația nu se afla in aceeasi zona.
Algoritmul SPF
Algoritmul de rutare SPF reprezinta baza pentru operatiunile OSPF. Cand un ruter SPF este pornit, el isi initializează structura protocolului de rutare, apoi asteapta indicatiile de la nivelele mai de jos pentru ca interfata lui sa fie functionala.
Dupa ce este asigurat ca interfata lui este functionala, el foloseste protocolul OSPF “hello” pentru a-si insusi vecinii, care sunt rutere cu interfete catre retele obisnuite. Ruterul trimite pachete “hello” catre vecinii lui si primeste pachetele “hello” de la acestia. Pentru a ajuta un ruter sa-si recunoasca vecinii, pachetele “hello” de asemenea transmit informatii despre alte rutere care sunt inca functionale.
In retelele multi-acces (retele care suporta mai mult de doua rutere), protocolul “hello” alege un ruter marcat, si un alt ruter marcat de rezerva. Printre alte lucruri, ruterul marcat este responsabil pentru generarea avertismentelor de stare a legaturi, pentru toata reteaua multiacces. Ruterele marcate permit reducerea traficului de pe retea si a bazei de date topologice.
Cand o baza de date link – state dintre 2 vecini este sincronizata, se spune ca ruterele sunt adiacente. In retelele multi – acces, ruterele marcate determina care rutere ar trebui sa devina adiacente. Bazele de date topologice sunt sincronizate intre perechi de rutere adiacente. Adiacenta controleaza distributia pachetelor de rutare, care sunt trimise si primite prin adiacenta.
Fiecare ruter trimite periodic avertismente link – state pentru a oferi informatii despre adiacenta acestuia, sau pentru a informa alte rutere despre schimbarea starii vreunui ruter. Prin comparatia stabilirii adiacentei cu starea legaturilor, ruterele care nu functioneaza pot fi detectate rapid si topologia retelei poate fi ajustata corespunzator. Din baza de date a topologiilor, generate din avertismentele de stare a vecinilor, fiecare ruter poate calcula cea mai scurta cale, de tip arbore avand ca radacina pe el insusi. Arborele celei mai scurte cai, devine o tabela de rutare.
Pachetul OSPF
Pachetele OSPF contin un header de 24 de biti:
Versiunea – Identifica versiunea de OSPF folosita
Tipul – Identifica tipul OSPF al pachetului, dupa cum urmeaza:
Hello – Realizeaza si mentine relatiile dintre vecini. ;
Database description—Descrie continutul bazei de date topologice. Aceste mesaje se schimba cand este initializata adiacenta;
Link-state request—Cerere de parti a bazei de date topologice, de la ruterele invecinate. Aceste mesaje sunt schimbate dupa ce un ruter descopera (prin examinarea bazei de date descriptive a pachetelor) ca parti ale bazei de date topologice proprii este invechita;
Link-state update—Raspunde la un pachet Link-state request. Aceste mesaje sunt de asemenea folosite pentru dispersarea regulata a avertismentelor. Mai multe avertismente pot fi incluse intr-un singur pachet;
Link-state acknowledgment—Confirma primirea pachetele de update link-state;
Lungimea Pachetului – Specifica lungimea in biti a pachetului, incluzand si header-ul OSPF.
Router ID – Identifica sursa pachetului.
Zona ID – Identifica zona din care provine pachetul. Toate pachetele OSPF apartin unei singure zone.
Suma de control – Verifica continutul pachetului pentru detectarea eventualelor erori.
Tipul Autentificari – Contine tipul de autentificare. Toate schimbarile in protocolul OSPF sunt autentificate.
Autentificarea – Contine informațiile de autentificare.
Data – Contine pachetul de date care trebuiesc transmise.
Alte caracteristici OSPF
Caracteristici aditionale ale protocolului OSPF mai sunt costurile egale, rutarea poate fi facuta pe mai multe drumuri si rutarea bazata pe tipul de servicii bazat pe cereri catre nivelurile superioare (TOS). Rutarea bazata pe TOS suporta acele protocoale ale nivelelor superioare care pot specifica tipuri particulare de servicii. O aplicație, de exemplu poate specifica faptul ca siguranta datelor este prioritara. Daca OSPF are legaturi cu prioritate mare la dispozitie, acestea pot fi folosite pentru transportul datelor urgente.
OSPF suporta una sau mai multe metrici.
Mastile IP subnet sunt incluse cu fiecare destinatie anuntata, activand lungime variabila a mastilor de subnet. Cu masti de subnet cu lungimi variabile, o rețea IP poate fi imparțita in mai multe retele subnet de diferite marimi. Acest lucru permite admin-ului retelei mai multe posibilitati de configurare a retelei.
Protocoale pentru ruterele care interconecteaza sitemele autonome
( External Gateway Protocols – EGP )
6.1 BGP – Border Gateway Protocol
BGP efectueaza trei tipuri de rutare:
inter-autonoma;
sistem autonom de intra-rutare;
sistem autonom de rutare;
Sistemul de dirijare apare intre doua sau mai multe routere BGP in diferite sisteme autonome. Vecinii BGP trebuie sa se afle pe aceeasi retea fizica. BGP este utilizat frecvent pentru a oferi determinarea caii optime in Internet.Intra-sistemul autonom de dirijare are loc intre doua sau mai multe routere BGP situate in cadrul aceluiasi sistem autonom.
BGP este un protocol de rutare vector-cale (spre deosebire de protocoalele vector-distanta, care nu pastreaza toata calea). BGP nu foloseste aceleasi metrici ca protocoalele de rutare folosite in interiorul SA, ci ia decizii bazandu-se pe cale si pe politicile de rutare ale sistemului autonom din care face parte.
Protocolul a fost creat pentru a inlocui un al protocol de rutare (EGP) si pentru a permite rutarea descentralizata in Internet.
In momentul de fata este folosita v.4 ce ofera suport pentru CIRD si folosesteagregarea rutelor pentru a reduce dimensiunea tabelelor de rutare.
Cei mai multi utilizatori de Internet nu folosesc in mod direct acest protocol. Totusi, deoarece majoritatea ISP-urilor il folosesc pentru a stabili rute intre retelele.
Retelele IP de mari dimensiuni folosesc BGP inclusiv in interiorul retelei, de exemplu pentru a lega mai multe subretele suficient de mari pentru ca protocolul de rutare OSPF sa-si atinga limitele. Alt caz de utilizare il reprezinta conectarea mai multor puncte de prezenta ale unui singur furnizor de acces Internet.
Mesaje BGP
Protocolul BGP foloseste patru tipuri de mesaje pentru a comunica intre rutere:
Open: mesajele initiale, folosite pentru stabilirea conexiunii intre rutere; daca un ruter primeste un mesaj Open si este de acord cu continutul, trebuie sa raspunda cu un mesaj Keepalive] ;
Keepalive: mesaje de 19 octeti trimise periodic (implicit la 60 de secunde pentru mentinerea conexiunii deschise; aceste mesaje sunt trimise fara confirmare, iar daca intervalul de trimitere este setat la 0, nu se trimit;
Update : contin cai catre diversele retele (accesibile, invalide sau retrase), impreuna cu atributele corespunzătoare; initial, ruterele BGP isi trimit reciproc intreaga tabela de rutare; dupa actualizarea initiala, se transmit actualizări incrementale, pe masura ce topologia retelei se schimba;
Notification : raporteaza eventualele erori aparute in comunicatie.
Stare activa-inactiva
Inactiva
Initializeaza resursele procesului BGP;
Incearca sa stabilească o conexiune TCP cu vecinul BGP;
Asteapta o conexiune TCP de la vecin. Daca apare o eroare in oricare stare a masinii, sesiunea BGP este incheiata si masina de stare revine in starea Inactiv.
Conectat
Asteapta stabilirea conexiunii TCP;
Daca aceasta se termina cu succes, BGP trece rapid la starea OpenSent;
Trimite un mesaj OPEN vecinului;
Daca apare o eroare, ruterul reseteaza un timer si trece in starea Activ pană la expirare.
Activa.
In starea Activ se ajunge daca esueaza tentativa de conectare la ruterul vecin; in aceasta stare, ruterul reseteaza timerul de conectare si se intoarce in starea Conectat. Daca si a doua tentativa esueaza, se trece inapoi in stare Inactiv.
OpenSent-OpenConfirm
La intrarea in aceasta stare, ruterul asteapta un mesaj OPEN de la vecinul sau;
Dupa ce mesajul a fost primit, ruterul il verifica;
Daca exista o nepotrivire intre valorile campurilor mesajului OPEN de pe cele 2 rutere (e.g. altă versiune de BGP, nepotrivirea parolei MD5, un alt numar de AS decat cel asteptat), ruterul receptor va trimite o notificare in care va explica de ce a aparut eroarea;
Daca nu sunt erori, este trimis un mesaj KEEPALIVE;
Ruterul asteapta un mesaj KEEPALIVE de la vecin;
Daca mesajul este primit, BGP trece in starea următoare (Stabilit) ;
Daca nu este primit mesajul KEEPALIVE, ruterul se intoarce in starea Inactiv.
Standardul specifica mai multi factori de selectie a rutelor decat pentru orice alt protocol de rutare. Primul factor este next-hopul din tabela de rutare.
Concluzii
a. IGP vs EGP
In cazul protocoalelor IGP , in afara de OSPF ele nu permit o ierarhizare a ruterelor pe care ruleaza, si chiar si cu ajutorul ierarhizarii simple pe care o permite OSPF-ul nu ar putea face fata in cazul unei retele de dimensiuni foarte mari (de exemplu Internetul). De aceea s-a introdus un nou concept, de AS (Autonomous System). Un AS reprezinta o colectie de rutere aflate sub aceeasi administratie (adica exista o politica consistenta de dirijare in interior). Asta inseamna ca un ruter din exteriorul AS-ului nu trebuie sa cunoasca toate rutele din interior, ci numai o ruta catre un punct de intrare in AS, de aici pachetele fiind preluate de ruterele din AS si trimise la destinatie. Protocoalele de dirijare din interiorul unui AS poarta denumirea de IGP-uri, iar protocoale folosite pentru comunicatia intre AS-uri se numesc EGP-uri (Exterior Gateway Protocols). In momentul de fata cel mai cunoscut (si cel mai folosit) protocol de dirijare intre AS-uri este BGP (ajuns la versiunea 4), care asigura dirijarea in Internet.
Pentru identificarea diferitelor AS-uri exista asa-numitele AS numbers, care sunt similare cu adresele de IP, in sensul ca sunt alocate de catre o autoritate publica(IANA). Exista si AS-uri private(64512-65535)
In principiu BGP functioneaza la fel ca orice protocol de dirijare, in sensul ca schimba tabele de dirijare cu ruterele vecine. In plus fata de un IGP, BGP mai transmite odata cu aceasta si informatia de AS. Astfel un ruter BGP va construi asa numitele AS-paths, adica AS-urile prin care trebuie sa treaca un pachet pana la destinatie. Folosind aceste AS-paths, BGP evita buclele de dirijare (routing loops). De retinut ca in mod normal BGP nu poate functiona fara un protocol de dirijare de interior in spate (sau rute statice).
De obicei se foloseste BGP in cazul in care respectivul AS are legaruri cu mai multi provideri. Daca exista un singur provider, nu este necesar BGP, este de ajuns o ruta default.
Nota. O tabla de internet actuala cuprinde aprox 100.000 de rute.
b. RIP vs OSPF
RIP fiind bazat pe algortimul vectorilor de distanta functioneaza cel mai bine in cadrul retelelor de mai mici dimensiuni si relative stabile . In loc sa trimita starea legaturilor , protocolul anunta distanta optima fata de fiecare nod ,calculata in functie de numarul de hopuri inregistrate OSPF este un protocol bazat pe starea legaturilor . Ruterele ce functioneaza pe baza protocolului OSPF primesc mesaje de actualizare a legaturilor periodic . spre deosebire de RIP care trmite mesaje fiecarui ruter in parte la interval de 30 secunde,mesajele sunt trimise la interval de pana la 30 minute -> eficienta OSFP in cazul retelelor de dimensiuni medii-mari . In urma rularii scenariilor pentru RIP siOSPF se deduce caprotocolul OSPF reationeaza la caderile de trafic intr-un interval de timp mai mic decat RIP
O alta caracteristica a protocoalelor de rutare vizeaza maniera de tratare a adreselor IP.
Protocoalele de rutare de tip classful (RIP v.1, IGRP) calculeaza lungimea prefixului(portiunea network) unei adrese pentru a determina din ce clasa face parte. Un astfel deprotocol nu transmite nici o informatie cu privire la lungimea prefixului calculat. Notatia care se folosesete tot mai des in acest caz este urmatoarea : 10.1.0.1/16. Acest lucru inseamna ca prefixul retelei are o lungime de 16 biti ceea ce insemna o masca de retea cu valoarea 255.255.0.0.Protocoalele de rutare de tip classless (RIP v.2, EIGRP, OSPF, BGP, IS-IS) transmit lungimea prefixului impreuna cu cu adresa IP. In această maniera, retelele pot fi grupate sub forma unei singure intrari in tabela de rutare folosind lungimea prefixului pentru a
specifica care retele au fost grupate.
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: Interconectarea a Doua Retele de Calculatoare Prin Rutare Dinamica Folosind Ospf (ID: 149936)
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.
