CATEGORII DOCUMENTE |
Introducere
1. Notiuni generale despre rutare
Routarea
Routarea este operatia de transportare a informatiilor intr-o retea, de la o sursa la o destinatie. In acest transport se intalneste, de obicei, cel putin un nod intermediar.
Routarea implica doua activitati de baza: determinrea cailor optime de routare si transportarea grupurilor de informatii (numite pachete) prin retea. In contextul procesului de routare, acest transport de pachete este referit ca switching. Desi activitatea de switching de pachete este mai directa, determinarea drumului poate fi foarte complexa.
Protocoalele de routare folosesc diferite metrici pentru a evalua ce drum este optim pentru transportul unui pachet. O metrica este o masura standard, ca de exemplu latimea de banda. Pentru determinarea drumului, algoritmii de routare, initializeaza si administreaza tabele de routare, in care se afla informatii despre rute. Informatiile din aceste tabele de routare contin asocieri de destinatii si urmatorul 'hop' ce trebuie parcurs pentru a ajunge la acea destinatie. Cand un router primeste un pachet va incerca sa asocieze adresa destinatie a pachetului cu o adresa a unui hop imediat urmator in calea acelei destinatii, daca nu reuseste probabil va distruge pachetul. In figura de mai jos se observa un scenariu de aflare a urmatorului hop.
Tot tabelele de routare contin date despre starea legaturilor din retea. Routerele comunica intre ele si isi administreaza tabelele de routare prin transmiterea unor varietati de mesaje. Un astfel de mesaj este mesajul update care contine o parte sau toata tabela de routare a unui router. Prin analizarea acestor informatii un router poate sa-si construiasca o imagine a topologiei unei parti din retea (sau chiar a intregii retele).
Switching
Algoritmii de switching sunt relativ simpli, sunt aceiasi pentru majoritatea protocoalelor de routare. Un host vrea sa trimita un pachet la alt host. Dupa ce obtine adresa unui router, trimite pachetul la adresa fizica (MAC) a routerului respectiv. Routerul verifica adresa protocolului destinatie (diferit de adresa fizica, care se schimba prin fiecare router) si daca cunoaste aceasta adresa, schimba adresa fizica a pachetului cu adresa urmatorului hop si trimite pachetul la acel hop. Un exemplu de switching este in figura urmatoare.
Organizatia Internationala pentru Standardizare (ISO), a dezvoltat o terminologie pentru descrierea sistemelor conectate la o retea. In aceasta terminlogie, sistemele care nu pot routa pachete in subretele se numesc end systems (ESs), celelalte fiind numite intermediate systems (ISs). ISs mai sunt impartite in cele care comunica in domenii de routare (intradomain ISs) si cele care comunica atat in domenii de routare cat si intre domenii (interdomain ISs). Un domeniu de routare este o parte dintr-o retea unde se aplica acelasi set de reguli impuse de o autoritate administrativa. Domeniile de routare mai sunt numite si sisteme autonome (autonomous systems).
Algoritmi de routare
Algoritmii de routare pot fi diferentiati dupa obiectivul particular dorit, impactul asupra retelei si resurselor routerului, metricile folosite.
Tipuri de obiective:
Clasificarea algoritmilor in functie de tip:
Metrici
Algoritmii de routare utilizeaza diverse metrici pentru determinarea rutei optime. Algoritmi sofisticati de rutare pot sa faca selectia rutelor pe baza mai multor metrici, combinandu-le intr-o singura metrica hibrida.
Tipuri de metrici
2. Clase de protocoale de rutare
Exista mai multe clase de protocoale de rutare: protocoalele de rutare pentru retele ad-hoc care apar in retele cu putina sau chiar fara infrastructura, protocoale de rutare internautilizate in interiorul sistemelor autonome si protocoale de rutare externa, acestea din urma utilzandu-se intre sistemel autonome.
Protocoale cu rutare interna (Interior Gateway Protocols - IGP )
Protocoale cu rutare externa (Exterior Gateway Protocols - EGP )
Un protocol extern transporta informatiile de rutare intre entitati administrative independente, cum ar fi doua corporatii sau doua universitati. Fiecare dintre aceste entitati mentine o infrastructura de retea independenta si foloseste EGP pentru a putea comunica cu cealalta entitate. Astazi, cel mai popular protocol extern este BGP . Este protocolul extern primar folosit intre retelele conectate la Internet si a fost proiectat special pentru acest lucru.
Un protocol intern este folosit in interiorul unui singur domeniu administrativ, sau intre grupuri apropiate care coopereaza. Spre deosebire de protocoalele externe, IGP tinde sa fie mai simplu rezolva suprasolicitarile venite din partea unui ruter. Aceste protocoale nu pot fi utilizate in retelele mari.
Routing Information Protocol
RFC-urile 1058 (versiunea 1) si 2453 (versiunea 2) definesc protocolul de rutare RIP (Routing Information Protocol). Ambele protocoale RIP au fost proiectate initial pe baza setului de protocoale XNS de la Xerox, si a programului routeD integrat in Unix-ul implementat de Berkeley.
Protocolul RIP poate rula pe statii terminale sau pe rutere. Cu toate ca ruleaza peste UDP (stratul transport) si IP (stratul retea), folosind portul UDP 520, el este clasificat ca protocol de strat retea, deoarece functiile si operatiile lui sunt bazate pe expedierea datagramelor stratului de retea. Functionand ca un IGP (Interior Gateway Protocol - protocol de gatewey interioar), RIP asiguraa determinarea rutei in interiorul unei Sistem Autonom. Din cauza limitarilor, despre care vom discuta mai tarziu in acest capitol, RIP functioneaza bine numai cand este implementat intr-o retea cu dimensiuni mici.
RIP are urmatoarele caracteristici:
Este bazat pe difuziune - ruterele din acelasi segment fac schimburi de actualizari de rute prin difuzare.
IGP - RIP este cel mai bine folosit ca un protocol IGP de rutare interioara. Protocoale de rutare IGP tin evidenta rutelor interne ale unei retele a unei organizatii
Functioneaza cel mai bine in retele cu dimensiuni mici - deoarece RIP aplica difuzarea si este limitata in dimensiuni, nu este potrivita pentru retele medii si mari.
Protocol de rutare cu vector - distanta - pentru a selecta cela mai buna ruta RIP foloseste hopurile ca metrica a distantei
Valoarea metricii este numarul de hopuri - Hopul este unitatea de distanta utilizata de ruterele RIP. Fiecare retea traversata de datagrama este considerata ca un singur hop. Numarul maxim a hopurilor este 15.
Actualizari periodice - Ruterele RIP utilizeaza temporizatoare de actualizare periodica pentru a controlarea difuzarile rutelor. Temporizarea actualizarii periodice este de 30 secunde.
Transmite tabelul de rutare in intregime, indiferent daca au avut loc sau nu schimbari in retea - Ruterul difuzeaza catre ruterele invecinate, la intervale regulate de timp, actualizari care contin toate rutele (schimbate si neschimbate) incluse in tabelul lor de rutare.
Diametrul retelei este limitat la maxim 15 hopuri - Numarul maxim de retele pe care o datagrama poate sa le traverseze este 15 (hopuri). Orice valoare mai mare este considerat inaccesibila.
Ca protocol de rutare de tip vector - distanta, RIP implementeaza algoritmul Bellman-Ford (cunoscut si sub numele Ford-Fulkerson) pentru selectarea rutei cele mai bune. RIP isi bazeaza selectarea celei mai bune rute catre o destinatie pe distanta cea mai mica, masurata in hopuri, cu distanta maxima pana la 15. Actualizarile sunt trimise utilizand actualizarea periodica, si includ toate informatiile din tabelele de rutare, chiar daca nu au avut loc schimbari in retea. Cu toate ca la ora actuala exista multe alte protocoale de rutare cu selectare mai inteligenta si eficienta a rutei, RIP v1 ramane cel mai popular protocol in exploatare.
Dupa cum s-a mentionat anterior in acest capitol, exista doua doua versiuni RIP, versiunea 1 si 2. Vom incepe cu descrierea completa a versiunii 1, iar dupa acea vom descrie diferentele intre cele doua versiuni. Versiunea 1 ramane cel mai folosit protocol de rutare din lume din cauza simplitati sale. Rip v1 are avantajul ca este usor de inteles si de implementat. Cu toate ca versiunile 1 si 2 au asemanari, la versiunea 2 au fost adaugate extensii, care au rezolvat cateva din limitarile specifice versiunii 1. Vom discuta versiunea 2 mai tarziu in acest capitol.
Statiile terminale sau ruterele implementeaza RIP pentru a tine evidenta rutelor pana la destinatii, cum ar fi statii, retele, subretele, si rute implicite. Statiile terminale sau ruterele identifica rutele catre destinatii prin actualizari de rute, pe care echipamentele le schimba dinamic in segmentul local, prin difuzari periodice. Cu toate ca statiile terminale sunt capabile (daca sunt configurate) sa ruleze RIP, ele nu o fac de obicei, ci se bazeaza pe rutere sa gestioneze informatiile referitoare la rute.
Cand RIP este lansat pe o statie terminala sau pe un ruter, un port UDP local este activat pentru procesul de rutare. Toate echipamentele pe care ruleaza RIP supravegheaza portul 520 UDP (stratul transport) si transmit de pe acelasi port UDP. In retele care sunt bazate pe difuzare, ca Ethernet sau Token Ring, toate echipamentele receptioneaza datagramele de broadcast (difuzare), dar numai cele care citesc portul 520 prelucreaza aceste datagrame.
Dupa cum s-a aratat in capitolul 3 "Rutare IP", ruterele trebuie sa construiasca si sa pastreaza o baza de date locala a rutelor (cunoscuta ca tabelul de rutare), care contine toate retelele conectate local precum si retele invatate static sau dinamic (care in acest caz vor fi RIP).Initial, tabelul de rutare include numai articole pentru retelele locale sau direct conectate, dar dupa schimburile dinamice de actualizari RIP cu vecinii, ruterul modifica acest tabel pentru a include rutele indepartate aflate de la vecinii sai. In tabelul de rutare sunt incluse urmatoarele informatii:
Adresa IP a statiei, retelei, subretelei de destinatie sau ruta implicita (0.0.0.0)
Adresa IP a ruterului din hopul urmator pe calea catre aceasta destinatie
Valoarea metricii(sau costului) exprimata ca un intreg intre 1 si 15. Aceasta valoarea specifica cat de departe este destinatia (retea, subretea, sau statie) de acest ruter (sau statie)
Interfata locala pe care o utilizeaza acest echipament pentru a expedia datagrama spre destinatie
Fiecare echipament cu RIP activat asculta actualizarile si construieste baza lui de date prin adaugarea unei articol la tabelul lui de rutare pentru fiecare destinatie primita.
Rutele catre destinatii sunt aflate prin schimbul de actualizari RIP dinamice. Aceste actualizari sunt difuzate periodic (la fiecare 30 secunde), indiferent daca au avut loc sau nu schimbari in retea. Fiecare ruter pastreaza mecanismul propriu de temporizare, care controleaza momentele in care acesta transmite actualizari. Ruterul include in actualizarile lui fiecare ruta cunoscuta, pe langa distanta in hopuri pana la fiecare destinatie. Figura 1 descrie o retea mica, cu 2 rutere in care ruleaza RIP.
Ruterele 1 si 2 sunt rutere cu RIP activat. Fiecare ruter este conectat direct la trei retele.
In Figura 1 Ruterele 1 si 2 schimba actualizari RIP pentru a construi tabelele lor locale de rutare publicand retelele cu masca 255.255.255.0 (sau /24) Ambele rutere sunt conectate la o retea comuna, 10.10.27.0. In plus, fiecare ruter are doua conexiuni la alte retele. Pentru ruterul 1 aceste retele sunt:10.10.20.0 si 10.10.123.0. Ruterul 2 are conexiuni la 10.10.61.0 si 10.10.70.0. Ruterul 1 va informa ruterul 2 privind retelele sale si invers. De notat ca desi ruterul 1 stie despre reteaua 10.10.27.0 nu o va anunta Ruterului 2. Aceasta deoarece regula orizontului divizat afirma ca informatile preluate de la o interfata nu trebuie niciodata difuzate prin aceeasi interfata
In plus, aceasta ar fi inutila, deoarece Ruterul 2 este si el conectat la aceasta retea si stie deja despre ea. Sa examinam acum esantioane ale tabelelor de rute pentru ruter 1 si ruter 2 rezultate din aceste schimburi (avem in vedere diagrama din Figura 1 si urmatorul esantion de tabel de rutare).
Tabelul de rutare pentru ambele rutere va include cinci rute. Trei articole de intrare pentru rurtele conectate direct (indicate printr-un "C") si doua rute RIP aflate de la ruterul vecin prin interfata Ethernet0 conectata la subreteaua comuna (precedate de "R"). Urmatorul tabel de rutare prezinta rutele existente in Ruter1:
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS leve-1, L2 - IS-IS level 2,* - candidate default
U - per-user static route, o - ODR.
10.0.0.0/24 is subnetted, 5 subnets
C 10.10.20.0 is directly connected, Ethernet1
R 10.10.61.0 [120/1] via 10.10.27.2, 00:00:01, Ethernet0
R 10.10.70.0 [120/1] via 10.10.27.2, 00:00:01, Ethernet0
C 10.10.123.0 is directly connected, Serial0
In acest tabel de rutare exista doua rute RIP. Prima ruta duce spre reteaua destinatie 10.10.61.0 cu distanta in hopuri de 1 (numarul de hopuri este numarul din dreapta parantezei [120/1]). Ruterul hopului urmator in calea spre aceasta destinatie este 10.10.27.2. A doua ruta duce spre destinatia 10.10.70.0, cu valoarea hopului 1 prin10.10.27.2. Acum sa vedem tabelul de rutare pentru celalalt ruter (Ruter 2). Tabelul de rutare pentru Ruter 2 consta, de aseemenea, din cinci rute:
Codes: C - connected, S - static, I - IGRP, R - RIP, M - mobile, B - BGP
N1 - OSPF NSSA external type 1, N2 - OSPF NSSA external type 2
E1 - OSPF external type 1, E2 - OSPF external type 2, E - EGP
i - IS-IS, L1 - IS-IS leve-1, L2 - IS-IS level 2,* - candidate default
U - per-user static route, o - ODR.
10.0.0.0/24 is subnetted, 5 subnets
C 10.10.61.0 is directly connected, Ethernet1
C 10.10.70.0 is directly connected, Serial0
R 10.10.123.0 [120/1] via 10.10.27.1, 00:00:06, Ethernet0
Tabelul de rutare al Ruterului 2 contine doua rute invatate RIP 10.10.20.0 si 10.10.123.0. Ambele rute sunt la distanta de un hop de acest ruter, asa cum indica valoarea 1 din dreapata parantezei [120/1]. Adresa IP a ruterului care va fi folosit ca urmatorul hop pentru atingerea acestor destinatii este 10.10.27.1.
Ruterele invata si construiesc tabelul propriu de rutare prin schimburi de actualizari de rute (difuzare la fiecare 30 de secunde). Aceste actualizari de rute sunt limitate ca dimensiune. Un ruter cu RIP instalat poate include pana la 25 de inregistrari de rute in fiecare difuzare de actualizare. Daca ruterul are de anuntat mai mult de 25 de rute, el trebuie sa difuzeze o alta actualizare care contine articolele ramase.
Fiecare dintre aceste actualizari de rute este receptionata si prelucrata de ruterele invecinate, care asteapta expirarea timerului lor de actualizare (30 de secunde) inaintea generarii actualizarilor proprii.
Deoarece ruterele RIP trebuie sa proceseze complet actualizarile receptionate si sa asteapta expirarea temporizatorului inaintea trimiterii informatiilor de rutare catre vecinii lor, timpul de convergenta este lent (mare). Convergenta, este timpul necesar pentru ca toate ruterele dintr-un domeniu de rutare sa receptioneze, sa proceseze si sa-si construiasca tabelele de rutare proprii.
Natura de difuzare a RIP-ului, si faptul ca o actualizare de rute ar putea sa nu fie suficienta pentru a descrie toate rutele, adauga trafic si informatii suplimentare in retea. Fara a mai pomeni de faptul ca ruterele difuzeaza tabelul lor de rutare in fiecare 30 de secunde indiferent daca informatiile referitoare la rute s-au modificat sau nu. Cand un ruter receptioneaza o actualizare de rute, se intampla urmatoarele:
Adauga toate rutele invatate la tabelul lui local de rutare si incrementeaza valoarea contorului de hopuri cu unu.
Unde este cazul, inlocuieste rutele anterioare (cu mai multe hopuri) cu rute ale caror metrici sunt mai mici (mai putine hopuri).
Scoate rutele defecte sau inaccesibile (16 hopuri).
Se pregateste sa publice aceste informatii catre vecinii din segmentele adiacente.
Asa cum noi am putea suna un prieten pe telefonul celular ca sa-l informam despre conditiile de trafic (care rute sunt disponibile si cat de lunga este aceasta ruta), la fel si ruterul publica rutele disponibile spre destinatii. Cand un ruter publica o ruta, el specifica doua lucruri, adresa IP a destinatiei si distanta in hopuri. Receptoarele asculta aceste anunturi si invata din ele, integrand informatiile in propriul tabel local de rutare. Cand un ruter integreaza aceste rute in tabelul lui de rutare, el incrementeaza intotdeauna valoarea distantei (hopuri) cu unu. Aceasta indica ca destinatia aflata este cu un hop mai indepartat de acest ruter decat de ruterul de la care a fost primita aceasta ruta. Odata incluse aceste informatii in tabelul lui de rutare, el publica toate rutele incluse in acest tabel spre toti ceilalti vecini conectati la segmentele de difuzare locale, sau la legaturi punct-la-punct.
Ambele versiuni a RIP-ului au distanta maxima limitata la 15 hopuri, care este egal cu numarul de rutere pe care ii poate traversa datagrama. RIP-ul considera o destinatie de 16 sau mai multe hopuri, prea indepartata sau "inaccesibila"(unreachable). Daca datagrama traverseaza 15 rutere, al 16-lea ruter elimina datagrama si returneaza emitatorului mesajul ICMP "destinatia inaccesibila". Am discutat mesajele ICMP in Capitolul 2 "IP si adresarea IP".
RIP foloseste distanta ca metrica de baza care determina ruta cea mai buna - cu cat distanta este mai scurta, cu atat ruta este mai buna. Cand exista rute multiple catre destinatie, ruterele pe care ruleaza RIP aleg ruta cu distanta cea mai scurta (masurata in hopuri), ca ruta cea mai buna, introducand-o in tabelul de rutare. Tabelul de rutare va fi apoi folosit la expedierea datagramelor ulterioare. Exact ca si cand cautati destiantii pe Web, sperati ca Webmasterul sa aleaga ruta cea mai scurta.
Totusi, modul simplist cu o singura metrica de selectare a caii folosit de RIP, nu asigura intotdeauna cea mai buna ruta la destinatie. De exemplu, sa presupunem ca exista doua rute spre o destinatie (Figura 2). Una dintre cai are lungime de patru hopuri si consta din trei legaturii Ethernet de 100Mbps si o legatura de gigabit. Cealalta cale are lungime de trei hopuri si consta din doua legaturi WAN de 56kbps si o legatura gigabit.
Figura 2
Distanta cea mai scurta masurata in hopuri nu este totdeauna calea cea mai buna. In acest caz calea cea mai buna este ruta cu patru hopuri (calea de jos), care are rata globala de transfer mai buna decat ruta cu trei hopuri (calea de sus).
Deoarece RIP foloseste numai distanta pentru determinarea celei mai bune cai, RIP alege calea cu trei hopuri din Figura 2, in loc de calea cea mai buna, ruta cu patru hopuri care are rata globala de transfer capat - la - capat mai mare.
Daca ambele cai ar avea trei hopuri, RIP considera numai faptul ca ambele cai au numere de hopuri egale. In acest caz RIP va incerca sa echilibreze sarcina prin aceste doua cai, prin trimiterea de datagrame pe ambele legaturi. In aceasta situatie datorita ratelor de transfer inegale de a lungul acestor legaturi, datagramele trimise pe legatura cu 56Kbps (cale de sus) vor incetini procesul de transmisie intre statiile indepartate si pot cauza chiar iesiri din timp (time-out) si caderi (fail) ale legaturilor.
Spre deosebire de protocoalele Link State Routing ( Rutare cu Starea Legaturii), RIP nu ia in considerare alte factori ca:
Debitul binar al legaturii
Siguranta
Incarcarea
Intarzierea
RIP ia deciziile pe baza unui volum limitat de date - distanta. Dupa cum poate ati constatat, sau dedus, aceasta poate ridica o problema. Folositi naveta dumneavoastra ca un exemplu paralel.
Naveta dumneavoastra poate fi efectuata pe doua cai principale; una este autostrada (doua hopuri intre cele doua capete), iar cealalta consta in 10 strazi laterale intre cele doua capete. Daca RIP ar controla deciziile privitoare la rute, el ar alege intotdeauna autostrada ca cea mai buna ruta, neluand in considerare traficul de navetisti (debitul binar si incarcarea) si accidentele (siguranta). Autostrada poate avea un accident (intarziere) si v-ar putea lua de patru ori mai mult timp sa ajungeti la destinatie. Cu RIP, nu stiti niciodata pentru ca el nu se preocupa de nici o alta informatie in afara distantei, cand determina cea mai buna cale.
Ca oameni noi putem analiza logic deciziile noastre inainte de a le lua. Cand am acceptat slujba si am inceput sa facem naveta la serviciu, am testat ambele rute si am constatat ca autostrada, desi matematic cea mai scurta ruta, a fost cea mai lenta si mai putin sigura metoda de a ajunge la serviciu la timp. Parcurgerea a 10 strazi este ca distanta o naveta mai lunga, dar ajungem la timp la servici, asa incat aceasta adevenit calea noastra
preferata. Am ajuns la aceasta concluzie luand in considerare distanta, numarul de semafoare si timpul total necesar pentru a ajunge de acasa la serviciu.
Protocoalele de rutare Link State pot aplica informatiile relevante referitoare la starea legaturii, ca largimea de banda, intarzierea, siguranta si incarcarea, facand o selectare mai intelingenta a caii, pe baza conditiilor schimbatoare de trafic (retea).
Antetul RIP v1 si campurile lui
Dispozitivele pe care ruleaza RIP folosesc doua tipuri de mesaje diferite pentru a usura schimbarea informatilor despre rute. Primul tip de mesaj este folosit pentru schimbul informatiilor de actualizare a rutelor. Al doilea tip de mesaj este folosit pentru solicitarea informatiilor de actualizare a rutelor de la alte rutere.
Ambele tipuri de mesaje utilizeaza acelasi format general al antetului, care incepe cu un antet fixat si este urmat de o lista de perechi retele si distante. Lungimea antetului RIP depinde de numarul de perechi retea - distanta din datagrama. Totusi, datagrama RIP nu poate sa depaseasca 512 octeti sau maxim 25 articole de ruta. In dimensiunea maxima nu sunt incluse antetele Data Link (legatura de date), IP, sau UDP. In Figura 4.3 este prezentat formatul mesajului RIP v1. Vom descrie fiecare camp continut in antet dupa figura.
Toate mesajele RIP incep cu aceleasi trei campuri din antet, comanda, versiune si un camp nefolosit. Campurile care contin informatiile referitoare la rute si la distante se repeta in functie de numarul de rute care sunt publicate. De exemplu, daca un ruter publica cinci rute, campurile adresa IP, doua nefolosite si de metrica se repeta de cinci ori, odata pentru fiecare ruta publicata. Datagrama RIP poate sa transporte pana la 25 de articole de ruta in fiecare datagrama.
|
|
|
32 biti |
|||
|
|
|
8 |
8 |
8 |
8 |
Comanda |
Versiunea |
Nefolosit (toti setati pe zero) |
||||
|
Indentificatorul familiei de adrese |
Nefolosit () |
||||
Articol de ruta |
|
Adrese IP |
||||
|
Nefolosit (toti setati pe zero) |
|||||
|
|
Nefolosit (toti setati pe zero) |
||||
Metrica |
||||||
|
|
Campuri multiple, pana la maxim 25 |
||||
|
|
Indentificatorul familiei de adrese |
Nefolosit (toate zero) |
|||
Articol de ruta |
Adrese IP |
|||||
|
Nefolosit (toti setati pe zero) |
|||||
|
Nefolosit (toti setati pe zero) |
|||||
Metrica |
Articolele de ruta urmeaza dupa antetul RIP comun. Fiecare pereche de articol de ruta include adresa destinatiei si numarul de hopuri pana la aceasta adresa.
Comanda -1 octet
Acest camp identifica care este scopul acestui cadru, cum ar fi cerere RIP sau raspuns. Exista opt comenzi diferite, depinzand de tipul mesajului RIP trimis. Tabelul 4.1 descrie diferitele comenzi si semnificatiile lor.
Tabelul 1 Mesajele de comanda RIP
Comanda |
Semnificatia |
1 |
Cerere trimisa de statie sau ruter dupa initializare (sau dupa ce tabelul local de rutare a fost sters) solicitand tuturor vecinilor raspunsuri care contin toate rutele |
2 |
Un raspuns trimis de o statie sau de un ruter la o cerere RIP, furnizand informatii despre rute sau o actualizare periodica trimisa la fiecare 30 de secunde, informand vecinii despre rutele unei statii sau ale unui ruter. |
3 |
Activeaza modul urmarire (trace)(demodat) |
4 |
Inchide modul urmarire (trace) (demodat) |
5 |
Rezervat pentru utilizare interna Sun Microsystem |
9 |
Cerere de actualizare (folosite de circuitele de cerere) |
10 |
Raspuns de actualizare (folosita de circuitele de cerere) |
11 |
Confirmare a actualizarii (folosita de circuitele de cerere) |
Versiunea - 1 octet
Campul de versiune identifica versiunea 1 sau 2 a RIP-ului. Statiile sau rutele RIP trebuie sa convina asupra versiunii RIP folosite. Daca in retea exista ambele versiuni RIP v1 si v2, echipamentele cu versiunea 1 nu suporta extensiile implementate in versiunea 2, aceasta putand creea probleme de interoperabilitate. Versiunea 1 nu suporta urmatoarele:
VLSM
Autentificare
Multidifuzare
Totusi, statiile sau ruterele cu versiunea 2 suporta specificatiile versiunii 1 si, intr-un mediu mixt, ele folosesc campurile si valorile recunoscute de cel mai mic numitor comun (versiunea 1) pentru a putea schimba informatii despre rute cu echipamentele cu versiunea 1.
Ruterele RIP v2 pot fi configurate sa suporte versiunea 1 sau 2, pe baza interfetei,. Daca o interfata este conectata la un segment unde exista echipamente cu ambele versiuni v1 si v2, atunci aceasta interfata trebuie configurata sa suporte versiunea 1. Daca o alta interfata face conexiunea la un segment unde exista numai echipamente cu versiunea 2, pe aceasta puteti configura RIP v2.
Cu toate ca versiunile RIP 1 si 2 au caracteristici aproape identice, extensiile din versiuniea 2 nu sunt suportate de versiunea 1, facand cele doua versiuni incompatibile.
Nefolosit - 2 octeti
Versiunea 1 are cateva campuri care nu sunt folosite. Aceste campuri contin intotdeauna zerouri si se repeta, in functie de numarul articolelor de rute transportate de datagrama.
Identificatorul familiei de adrese - 2 octeti
Cu toate ca, din punct de vedere tehnic, RIP poate sa accepte diferite protocoale de strat Retea, acest camp contine numai valoarea 2, care reprezinta IP.
Adresa IP - 4 octeti
Campul adresa IP identifica adresa statiei, retelei, subretelei, sau rutei implicite de destinatie care este publicata de ruter.
Metrica - 4 octeti
Aceasta valoare reprezinta costul in hopuri, reprezentand distanta pentru a accesa aceasta retea, de la statia sau ruterul care a publicat aceasta ruta. Acest camp poate sa aiba o valoare intre 1 si 15. Daca campul contine valoarea 16, RIP-ul considera ruta publicata inaccesibila, datorita eronarii unei legaturi de retea sau unui ruter. Figura 4 prezinta o salvare de ecran, luata de la un analizator de protocoale, cu informatiile RIP trimise de un ruter
Aceasta este o difuzare de rute (111.255.255.255) catre toate ruterele , din reteaua 111.0.0.0. Sunt 24 de articole despre rute incluse in acest mesaj de actualizare.
In Figura 4 ruterul 111.1.54.139 trimite difuzarea RIP v1 care contine 24 de articole de ruta. Din cauza lipsei de spatiu numai patru articole apar in partea de jos a ecranului. Dupa cum puteti vedea, acest ruter publica reteaua 10.0.0.0 cu metrica de 2 hopuri si retelele 65.0.0.0, 35.0.0.0 si 192.6.100.0 cu numerele de hopuri 7, 4 respectiv 5. In esenta, ruterul emitator informeaza toate celelalte rutere, despre toate rutele cunoscute de el si cat de departe sunt aceste retele de ruterul respectiv, in hopuri.
Dezavantaje RIP v1
In ciuda faptului ca este unul dintre cele mai populare protocoale folosite la ora actuala, RIP are urmatoarele dezavantaje:
Este bazat pe difuzare
Trimite intreg tabelul chiar si atunci cand aceasta nu s-a modificat
Convergenta lenta datorita temporizarilor periodice
Distanta maxima limitata la 15 hopuri
Susceptibil de bucle de rutare
Protocol de rutare cu clase (nu suporta VLSM)
Deoarece versiunea 1 este bazata pe difuzare, ruterele difuzeaza tabelul lor cu articole de rutare la fiecare 30 de secunde, chiar si atunci cand nu s-au produs schimbari. Aceasta sporeste inutil traficul retelei, fara a adauga informatii noi sau viabile.
Alte protocoale de rutare, cum ar fi Starea Legaturii, folosesc publicatii multidifuzate si trimit actualizari numai cand a avut loc o schimbare in retea. Controlul bazat pe temporizatoare incetineste convergenta si raspunsul la probleme, cum ar fi bucle de rutare.
Cand un ruter identifica o schimbare in retea, cum ar fi adaugarea unei noi legaturi sau notificarea unei legaturi defecte, el parcurge urmatoarele procese:
1. Ruterul receptor incorporeaza noua informatie in tabelul lui si incrementeaza contorul de hopuri cu unu. Aceasta indica ca acest ruter este cu un hop mai departe de destinatie decat ruterul de la care a primit ruta
2. Daca ruterul este informat despre o cadere, el actualizeaza articolul lui prin setarea contorului de hopuri la 16, si este pregatit sa stearga aceasta ruta
3. Ruterul asteapta expirarea timerului de actualizari periodice inainte de publicare, pentru a emite aceasta informatie in actualizarea sa periodica.
Daca reteaua are mai multe rutere si segmente, distribuirea informatiilor catre toate ruterele din retea poate, poate necesita o perioada de timp. In acest timp aceste ruterere opereaza cu informatii invechite si incorecte.
In plus, distanta maxima intre oarecare doua echipamente care pot comunica intre ele intr-o inter-retea este de 15 hopuri, ceea ce:
Limiteaza diametrul retelei
Face ca RIP sa fie un protocol inacceptabil pentru retele medii si mari.
Routerele nu pot sa expedieze datagramele care au traversat sau au fost transmise prin mai mult de 15 rutere. Cand un ruter receptioneaza o datagrama care a traversat mai mult de 15 hopuri, el trimite inapoi expeditorului un mesaj ICMP Destinatie Inaccesibila.
RIP, la fel ca si celelalte protocoale de rutare bazate pe vectorul de distanta, favorizeaza producerea buclelor de rutare. Implementarile RIP pot folosi o combinatie de mecanisme de evitare a buclei de rutare, cum ar fi:
Numarare pana la infinit
Holddowns (mentineri)
regula orizontului divizat
Poison reverse ("otravire", invalidare in sens invers)
Implementarile difera in functie de suportul oferit de fabricant si de modul de configurare al RIP-ul.
Sa reamintim, ca numarul maxim de hopuri in retelele in care ruleaza RIP este 15. Orice destinatie care depaseste aceasta valoare este inaccesibila (sau la infinit). Holddown (mentinere) este un timer pornit de rutere cand o ruta este considerata invalida. Odata setat acest timer, un ruter ignora actualizarile de rute referitoare la rutele invalide inaintea expirarii acestui temporizator. Regula orizontului divizat impune ca ruterul pe care ruleaza RIP sa nu poate publica informatiile referitoare la rute pe aceeasi interfata pe care a primit aceste informatii. Poison reverse (invalidare in sens invers) permite ruterelor incalcare regulii orizontului divizat, prin publicare informatiei pe aceeasi interfata pe care a fost primita. Dar, el pote anunta rutele receptionate pe o interfata prin aceeasi interfatacu numaratorul de de hopuri pus pe 16, ceea ce indica o destinatie inaccesibila, otravind" astfel ruta. Ruterele care au rute cu metrica mai buna (numar de hopuri) spre o retea, ignora actualizarea care indica destinatia ca fiind inaccesibila.
RIP v1, considerat protocol de rutare cu clase (classful), recunoaste numai adresele IP cu clase (classful), cum ar fi clasa A, B sau C (rutarea classful a fost discutata in Capitolul 2). El nu intelege subretelele, si nu poate identifica subretelele in interiorul unei retele deoarece anuntul privitor la ruta nu contine masca subretelei. Deoarece anunturile de rute nu contin masca de subretea a destinatiei publicate, ruterele receptoare pot doar sa presupuna masca implicita, bazata pe clasa adresei care este publicata (Figura 5).
Ruterul A publica numai adresa classful 172.16.0.0 (nu subretelele 1,2 si 3). Ruterul A, un ruter RIP v1, nu include masca de subretea in actualizarea lui.
De exemplu, Ruterele A si B sunt rutere RIP v1, dupa cum se vede in Figura 4.5. Ruterul A stie despre trei subretele (1, 2 si 3) in interiorul retelei cu clase 172.16.0.0. Deoarece este folosit RIP v1, Ruterul A publica Ruterului B numai retea de clasa completa, fara a include masca de retea (255.255.255.0). Fara informatia de masca de subretea, Ruterul B (neconectat direct la subretelele indepartate care au fost publicate) poate presupune numai ca aceasta ruta este cu destinatie din clasa B, avand masca implicita 255.255.0.0. Din aceasta cauza Ruterul B considera ca nu exista subretele. Aceasta este bineinteles incorect, dar fara masca corecta, el nu poate sa traga o alta concluzie.
Temporizatoare (Timers) RIP
Echipamentele pe care ruleaza RIP au temporizatoare (timers) care pot fi modificate de administratori pentru a controla actualizarile de rute. Cand sunt schimbate ele afecteaza periodicitatea difuzarilor de catre un ruter a tabelului de rutare, intervalul de timp cat pastreaza ruterul o ruta in tabelul lui, dupa ce aceasta nu mai apare in publicatii, si cat timp va ignora ruterul actualizarile de rute pentru o ruta invalida.
Actualizare periodica - 30 secunde
Invalid - 180 secunde
Holddown (mentinere) - 180 secunde
RIP -ul trimite actualizarea periodica la fiecare 30 de secunde. El difuzeaza integral tabelul sau de rutare, indiferent daca a avut loc sau nu o schimbare.
RIP foloseste temporizatorul Invalid la fiecare 180 de secunde. Daca un ruter nu receptioneaza o publicare de ruta, referitoare la o ruta din tabelul lui de rutare, in 180 de secunde, el considera ca aceasta ruta este invalida si o marcheaza ca atare.
RIP foloseste temporizatorul Holddown la fiecare 180 de secunde. Dupa ce un ruter marcheaza o ruta ca invalida, pentru ca el a detectat caderea acestei legaturi sau a receptionat actualizari din care lipsea aceasta ruta, ruterul porneste temporizatorul Holddown. Acesta suspenda receptionarea de actualizari privitoare la aceasta ruta, pana cand temporizatorul expira. Pe durata perioadei holddown acest ruter nu ia in considerare nici o informatie furnizata de alte rutere referitoare la reintegrarea acestei rute. Dupa ce temporizatorul expira, acest ruter indeparteaza sau reintegreaza aceasta ruta. Daca el nu receptioneaza, de la un alt ruter, informatii referitoare la validitatea rutei, o sterge. Daca receptioneaza o actualizare de la un alt ruter, care declara ca aceasta ruta este valida, el o reintegreaza.
Controlarea Traficului de Actualizari de Rute
Unele implementari permit administratorului sa controleze volumul traficului de actualizari RIP generat intr-o retea. Implementarile difera, asa ar trebui sa consultati furnizorul pentru aplicatii specifice si parametrii de configurare. Puteti folosi urmatoarele pentru controlarea traficului de actualizare RIP:
Reglarea temporizatoarelor RIP
Configurarea ruterelor in reteaua de difuzare anunturile vecinilor
Configurarea filtrelor de actualizare a rutelor
Puteti ajusta temporizatoarele RIP din echipamentele pe care ruleaza RIP, cum ar fi temporizatorul actualizarii periodice de la 30 de secunde la o valoare mai mare. Crescand intervalul dintre doua actualizari se reduce volumul traficului de difuzare intr-o retea, dar creste timpul de convergenta. Daca mariti (? - Probabil, micsorati - n.t.) intervalul, creste traficul de difuzare dar se reduce timpul de convergenta.
Este extrem de important sa retineti ca toate statiile si ruterele pe care ruleaza RIP trebuie sa convina asupra valorilor temporizatoarelor pentru a avea loc convergenta. In retelele de ne-difuzare, cum ar fi legaturile WAN punct-la-punct sau multipunct, fiecare ruter trebuie sa stie adresa IP a tuturor celorlalte rutere cu care va schimba actualizarile RIP.
Cu toate ca este rar implementat, putem configura rutere intr-o retea de difuzare, cum este Ethernet sau Token-Ring, cu declaratii ale vecinilor, ceea ce va face ca ruterele sa faca schimburi de actualizari ca datagrame directe in loc de mesaje difuzate. Oricum, aceasta inseamna ca daca in reteaua noastra adaugam sau indepartam un ruter, trebuie sa schimbam manual aceste declaratii pentru a facilita schimburile de informatii de rutare.
Probabil ca cel mai obisnuit si eficient mod de a minimiza traficul de actualizare a rutelor este configurarea filtrelor de actualizare a rutelor, in echipamentele pe care ruleaza RIP, sa filtreze actualizarile care intra si ies pe o interfata.
Filtrele constau in general din afirmatii de tip acceptare sau refuz, care permit sau refuza receptia sau propagarea informatiilor de rutare. Pentru ca fiecare datagrama RIP poate include numai maxim 25 de rute, un ruter ce are de pubilcat 27 de rute trebuie sa trimita doua difuzari RIP. Daca putem filtra doua din cele 27 de rute, putem sa reducem numarul efectiv de difuzari la jumatate. Implementarea filtrelor este specifica fiecarui furnizor.
Functionarea RIP pe circuite la cerere (demand)
Circuitele la cerere sau legaturile WAN, cum ar fi ISDN sau X.25, furnizeaza un debit binar prin stabilirea legaturii intre sistemele indepartate cand trebuie sa expedieze date, si incetarea legaturii cand transferul de date nu mai este necesar. Aceste tipuri de legaturi sunt ideale cand au loc transferuri de volume mici de date sau ocazionale intre locatiile indepartate, sau ca legaturi de siguranta in cazul in care legatura primara se intrerupe.
Deoarece circuite la cerere sun activate numai cand sunt necesare si se dezactiveaza cand nu mai aveti nevoie de ele, ele conserva resursele si reduc costurile. Cu toate acestea, natura temporara a legaturilor la cerere nu functioneaza bine impreuna cu protocoalele de rutare dinamica. Daca o legatura cade, ruterele nu pot face schimbul de actualizari periodice, ceea ce inseamna ca isi pierd informatiile de rutare. Fara aceste informatii, ruterele nu pot transfera date intre site-uri.
De obicei, un administrator inscrie articole permanente folosind rutare statica sau implicita, ca metoda de rutare pentru circuite la cerere. Cand o legatura este initilizata, ruterele stiu imediat unde trebuie sa ruteze datele. Aceasta metoda nu sporeste traficul legaturii prin difuzarea sau multidifuzarea publicatiilor de rute.
Modificarile protocolului de rutare RIP fac posibila utilizarea protocoalelor dinamice pe aceste tipuri de legaturi. RFC 2091 defineste modificarile protocolului RIP pentru a suporta rutarea dinamica pe legaturi la cerere. In RFC 2091 este definita folosirea actualizarilor declansate (triggered). "Declansat" inseamna ca un eveniment, si nu un temporizator, declanseaza trimiterea unei actualizari de catre ruter.
Ruterele pot folosi si actualizari declansate. Asa cum s-a mentionat anterior in acest capitol, folosirea configuratiei de invecinare in fiecare ruter conectat la legatura permite schimbul de actualizari de rute. Prin specificarea vecinilor fiecarui ruter, el poate trimite direct actualizarile de rute catre ruterul de la capatul celalalt al legaturii, fara difuzare. In cazul legaturilor la cerere, urmatoarele evenimente declanseaza trimiterea actualizarilor de catre ruterele RIP:
Ruterul se initializeaza si cere informatiile de actualizare a rutelor - este transmis intregul tabel de rutare
A avut loc o schimbare in retea - sunt trimise numai schimbarile din retea
Tranzitia statutului legaturi de la starea activa (up) la starea inactiva (down) sau invers - posibil datorata activarii unui ruter la cerere
Unele implementari specifice fabricantilor adauga mecanisme care permit ruterelor distante, conectate la circuite la cerere, stocarea permanenta sau semi-permanenta a informatiilor referitoare la rute, obtinute in perioada in care legatura a fost activa.
De exemplu, Cisco a implementat rutarea "Snapshot"(Instantaneu). Cum arata si numele, ruterele conectate la o legatura fac o fotografie a tabelului de rutare, dupa schimburile de informatii de rute dintre ele. Pe urma,ele folosesc aceasta fotografie a retelei pentru rutarea traficului, mentinand static aceasta informatie cat timp legatura este inactiva. Aceasta permite ruterelor sa obtina informatii despre retele indepartate si sa ruteze catre aceste retele. Instantaneul permite ruterelor sa pastreze informatii chiar si pentru legaturi indisponibile.
Tipuri de pachete pe circuitele la cerere
Acceptarea actualizarilor declansate pe circuitele la cerere necesita folosirea a trei tipuri de pachete RIP aditionale si a unui antet al actualizarii extins cu 4 octeti. Ambele versiuni RIP v1 si v2 suporta toate cele trei tipuri de pachete si antetul extins cu 4 octeti. Figura 4.6 prezinta formatul antetului celor trei tipuri suplimentare de pachete RIP care suporta actualizarea declansata pe circuitele la cerere. Tabelul 2 da o explicatie privitoare la cele trei tipuri de pachete.
De notat ca tipurile de pachete pe
circuitele la cerere extind antetul RIP cu patru octeti
Figura
6
Comanda |
Versiunea |
Trebuie sa fie zero |
|
||
Identificatorul familiei de adrese |
Zero(RIP) sau eticheta (tag) rutei (RIPv2) |
|
|
|
|
Articole de rute RIP |
Tabelul 2 Tipuri de pachete ale circuitelor la cerere
9 = cerere |
Trimis de ruter pentru a cere informatii de actualizare |
10 = raspuns |
Trimis ca raspuns la o cerere, incluzand fie tabelul de rutare complet, fie rutele modificate, in functie de cererea initiala. |
11 = confirmare |
Trimis pentru confirmarea receptionarii informatiilor de actualizare dintr-o datagrama raspuns |
Spre deosebire de difuzarile fara conexiune bazate pe LAN-uri, numerotarea si confirmarile ajuta la urmarirea schimburilor de rute pe circuitele la cerere. Toate raspunsurile RIP (de tip 10) transporta numere de ordine. Fiecare raspuns incrementeaza aceste numere de ordine cu unu. Ruterele care receptioneaza aceste raspunsuri trebuie sa confirme receptionarea informatiilor de rute transportate in datagramele de raspuns, prin trimiterea unei confirmari cu numar de ordine corespunzator. Ruterele presupun ca datagramele neconfirmate sunt pierdute si le vor retransmite.
RIP versiunea 2
RFC 2453 defineste specificatiile versiunii 2 a RIP-ului ca o extensie a specificatiilor originale ale versiunii 1 (RFC 1058). Versiunea 1 si versiunea 2 se comporta similar in exploatare.
Dezvoltata pentru a rezolva cateva dintre limitarile versiunii 1, Versiunea 2 adauga cateva caracteristici imbunatatite pentru a suporta autentificarea si lucrul cu VLSM. Au fost realizate alte protocoale de rutare, cum ar fi OSPF de tip Link State, care rezolva limitarile versiunii 1 si ofera criterii de selectare a rutei mult mai bune, un necesar mai redus de debit binar, convergenta mai rapida, si asa mai departe. Datorita protocoalelor de rutare mai inteligente si limitarilor inerente ale RIP-ului, versiunea 2 a fost eliminata in majoritatea implementarilor de retele corporatiste (colective).
Oricum, exista unele medii care suporta RIP v2, cum ar fi platforma Windows 2000 si diverse platforme Firewall, cum ar fi Cisco PIX si Checkpoint Firewall. RIP mai exista in multe din implementarile de retele mici. Administratorii obisnuiti cu RIP versiunea 1, care a lucrat ani de zile cu el in implementari Unix, pot sa mute usor statiile si ruterele catre un protocol de rutare care suporta VLSM si autentificare mai puternica. RIP isi pastreaza popularitatea pentru ca este probabil cea mai usoara metoda de incorporare a rutarii dinamice aflata la indemana administratorilor de retea.
Tabelul 3 compara si contrasteaza RIP v1 si v2.
Tabelul 3 RIP v1 contra RIP v2
Versiunea 1 |
Versiunea 2 |
Numai difuzare |
Difuzare si multidifuzare |
Fara autentificare |
Autentificare |
Rutare cu clasa (Classful) |
Rutare fara clasa (classless) |
Protocol bazat pe vector-distanta |
Protocol bazat pe vector-distanta |
Metrica - hopuri |
Metrica - hopuri |
Distanta maxima 15 |
Distanta maxima 15 |
IGP |
IGP |
Antetul RIP v2 se incadreaza in acelasi format general ca si antetul RIP v1. In Figura 7 se poate observa ca cateva campuri nefolosite in antetul RIP v1, sunt acum folosite pentru a accepta VLSM. De notat, includerea campurilor mastii de subretea si hopului urmator. Ambele sunt chei pentru asigurarea suportului de utilizare a subretelelor.
Difuzare sau multidifuzare
Ruterele de versiunea 2 schimba informatii de rute intre ele folosind multidifuzarea mai degraba decat difuzarea anunturilor, folosind 224.0.0.9. Cand exista rutere de versiune 1 si de versiune 2, acceptarea facilitatii de difuzare permite interactiunea intre ele.
|
|
|
32 biti |
|||
|
|
|
8 |
8 |
8 |
8 |
Comanda |
Versiunea |
Nefolosit (toate zero) |
||||
|
Indentificatorul familiei de adrese |
Indice (eticheta) de ruta |
||||
Articol de ruta |
|
Adrese IP |
||||
|
Masca de subretea |
|||||
|
|
Hopul urmator |
||||
Metrica |
||||||
|
|
Campuri multiple, pana la maxim 25 |
||||
|
|
Indentificatorul familiei de adrese |
Indice de ruta |
|||
Articol de ruta |
Adrese IP |
|||||
|
Masca de subretea |
|||||
|
Hopul urmator |
|||||
Metrica |
De notat ca antetul RIP v2 contine o masca de subretea si campul privind hopul urmator, care anterior, in versiunea 1 au fost zero (nefolosite).
Autentificare
Spre deosebire de versiunea 1, care nu suporta nici un tip de autentificare, versiunea 2 permite atribuirea unei parole de text simplu. Pe un ruter pe care ruleaza RIP v2, administratorul trebuie sa configureze manual parolele. Parolele permit implementarea unei securizari de de nivel scazut intre ruterele care fac schimb de informatii. Figura 8 prezinta formatul unui pachet RIP v2 autentificat.
Cand se folosit autentificarea cu parola in mesajele RIP v2 Identificatorul Familiei de Adrese este inlocuit cu FFFF, dupa cum se arata in figura 8. Tipul autentificarii folosite trebuie sa fie precizat de ruterul expeditor, urmat de parola specifica ce trebuie folosita pentru autentificare. Numai ruterele care utilizeaza aceeasi parola vor fi capabile sa faca schimburi de informatii de rutare.
|
Comanda |
Versiunea |
Nefolosit (toate setate pe zero) |
.Autentificare |
0xFFFF |
Tipul autentificarii |
|
Parola(octeti 0-3) |
|||
Parola(octeti 4-7) |
|||
Parola(octeti 8-11) |
|||
Parola(octeti 12-15) |
|||
|
Identificatorul familiei de adrese |
Indexul rutei |
|
Adresa IP |
|||
Masca de subretea |
|||
Hopul urmator |
|||
Metrica |
|||
Campuri multiple, pana la maximum 24 |
Cimpaul de identificare al familiei de adrese din mesajele de autentificare contine valoarea FFFF (hexazecimal). Campul Indice de ruta este folosit pentru identificarea tipului autentificarii.
Rutare fara clasa (classless)
Includerea informatiilor referitoare la masca de subretea in anunturile de ruta permite rutare fara clasa. Cand un ruter de versiunea 2 publica vecinilor informatiile lui de rute, include nu numai retelele pe care le cunoaste, ci si masca de subretea a acelei retele si ruterul hopului urmator (Figura 9). Cu aceste informatii, ruterul receptor poate sa determina daca reteaua a fost impartita in subretele.
Versiunea 2 nu se limiteaza, ca si versiunea 1, la recunoasterea adreselor cu clasa (classful). Aceeptarea VLSM (Variable Length Subnet Mask -Masca de Subretea cu Lungime Variabila) permite determinarea usoara si publicarea unei adrese cu clasa si a subretelelor aferente.
Router A, un ruter cu RIP v2, publica retelele si subretelele, incluzand mastile de subretea in actualizarea lui.
In Figura 9, ambele rutere sunt rutere pe care ruleaza RIP v2. Routerul A are informatii despre subretelele din trei retele de clasa B, 180.16.1.0, 188.10.5.0, si 190.1.3.0.cu masca de subretea de 24 biti (255.255.255.0 sau /24). Routerul A publica fiecare dintre aceste rute Ruterului 2, incluzand masca de subretea in actualizarile sale. Routerul 2 afla de aceste trei rute, intelegand din masca ca aceste retele de clasa B au fost impartite in subretele.
Compatibilitatea cu Versiunea 1
Versiunea 2 este considerata compatibila-inapoi cu ruterele de versiunea 1. Totusi, pentru a le permite schimbul de informatii, ruterele trebuie sa foloseasca cel mai mic numitor comun care inseamna urmatoarele:
Numai difuzare
Fara autentificare
Numai adresare cu clasa
Aceasta, bine inteles, neaga beneficiile versiunii 2. Daca aveti RIP v1 si RIP v2 implementate in aceeasi subretea, echipamentele cu versiunea 2 trebuie sa adere la standardele si limitarile versiunii 1. Daca pe o alta interfata, acelasi echipament face conexiunea la o subretea cu perechi v2, el poate folosi versiunea 2 pe acea interfata.
Configurarea acceptarii v1/v2 variaza, depinzand de specificatiile furnizorului, dar de obicei puteti configura pe baza de interfete. Desi compatibil cu v1, v2 este rar folosit pentru ca alte protocoale (Link State) ii depasesc cu mult caracteristicile si limitarile, facand implementarea lui v2 intr-o inter-retea, discutabila. Aceasta poate fi motivul pentru care RIP v2 este in mare masura demodat.
Suportul statiilor pentru RIP
Sunt multe statii terminale si sisteme de operare care sunt capabile sa suporte RIP versiunea 1 si 2, permitand acestora sa le construiasca si sa le mentina tabele de rutare locale. Toate statiile Unix, Microsoft NT si Windows 2000 suporta ambele versiuni (1 si 2) ale protocolului RIP. Statiile terminale (cu numai o placa de retea) functioneaza in general in modul pasiv, receptionand, dar nepublicand rute RIP. Serverele cu mai multe placi de retea instalate, pe care ruleaza RIP, opereaza ca rutere, expediind datagrame intre segmente. In continuare vom discuta modul in care serverele de retea accepta protocolul RIP. Echipamentele care opereaza in mod pasiv nu genereaza difuzari. Ele numai asculta si receptioneaza actualizari de rute de la alte echipamente.Este tipic ca o statie sa asculte (primeasca) pasiv rute cand are la dispozitie mai multe rutere.
Un ruter poate sa fie un ruter (propriu-zis) sau un server pe care ruleaza RIP (Windows NT, 2000, NetWare sau statie Unix), cu mai multe interfete (multihomed), care joaca rolul unei ruter. Ruterele sau serverele care joaca rolul de rutere isi publica tabelele proprii de rutare in intregime, prin actualizari RIP. Cu toate ca sisteme de operare ale mai multor furnizori suporta RIP si rutarea datagramelor, este recomandabila intotdeauna folosirea ruterelor traditionale in acest scop. Responsabilitatea primara a serverelor este furnizare catre statiile terminale a serviciilor de fisier, de tiparire si de aplicatii, si nu rutarea.
Avand de efectuat procesele de server si, in plus, rutarea datagramelor pe langa sarcinile primare, aceasta poate sa diminueze capacitatea sa de a executa aceste functii. In retele mici unde costul este un factor iar congestia nu este o problema, acest tip de implementare poate fi potrivit.
Serverele Windows NT/2000 si RIP
Produsele sisteme de operare de server Windows NT si 2000 ale lui Microsoft sunt capabile sa accepte RIP. Aceste servere pot creea si mentine tabele de rutare in mod static sau dinamic. Softul de sistem creeaza automat tabele statice de rutare cand se instaleaza mai multe placi de retea (configurand statia ca multihomed ). Tabele de rutare statice nu se schimba ca raspuns la situatiile din retea. Indiferent de starea legaturii sau incarcarea retelei, rutele statice raman neschimbate pana cand administratorul de sistem le modifica. Folosirea RIP-ului permite serverului, care functioneaza ca ruter, sa creeze si sa mentina tabele de rutare dinamica.
Atat Windows NT cat si 2000 suporta RIP. Este uzual intr-o retea mica, sa se puna mai multe placi de retea intr-un server NT sau 2000, iar acesta sa fie folosit pentru rutarea pachetelor de la o retea la alta. Aceste echipamente pe care ruleaza RIP functioneaza ca rutere intr-un singur domeniu de rutare. Tabelul 4.este un esantion de tabel de rutare al unui server care conecteaza doua LAN-uri.
Utilitarul NETSTAT din linia de comanda permite vizualizarea tabelului de rutare al unui server NT sau 2000, care functioneaza ca un ruter.
Tabelul 4.4 a fost preluat de pe un server NT pe care ruleaza RIP. Acest server este "multihomed" (are doua placi de retea) conectand direct doua retele (192.168.10.0 si 192.168.22.0). Primele doua articole de ruta din liniile 1 si 2 sunt rute implicite folosite pentru a expedia datagrame catre retele necunoscute. Reteaua (127.0.0.0) din linia 3 se refera la adresa de bucla locala a statiei (127.0.0.1).
Adresa 127.0.0.1 (discutata in capitolul 2) este folosita la testarea functiilor TCP/IP interne. Liniile de la 4 la 6 si de la 7 la 9 se refera la retelele locale 192.168.10.0 si respectiv, 192.168.22.0.
Acest server (care functioneaza ca un ruter) va expedia pachetele intre aceste doua retele, expediind datagramele catre destinatii necunoscute prin rutele implicite. Liniile 10 si 11 sunt inregistrari care asigura rutare de multidifuzare in subretelele locale.
Ultimele doua linii (12 si 13) suporta difuzarea (broadcast) catre toate statiile (sau catre toata lumea) adresa (255.255.255.255).
Tabelul 4 Esantion de Tabel de Rutare pentru un server NT conectat la doua retele
Adresa de retea |
Masca de retea |
Adresa de Gateway |
Interfata |
Metrica |
0.0.0.0 |
0.0.0.0 |
192.168.10.1 |
192.168.10.1 |
1 |
0.0.0.0 |
0.0.0.0 |
192.168.22.1 |
192.168.22.1 |
1 |
127.0.0.0 |
255.255.255.0 |
192.168.10.1 |
192.168.10.1 |
1 |
192.168.10.0 |
255.255.255.0 |
192.168.10.1 |
192.168.10.1 |
1 |
192.168.10.2 |
255.255.255.255 |
192.168.10.1 |
192.168.10.1 |
1 |
192.168.10.255 |
255.255.255.255 |
192.168.10.1 |
192.168.10.1 |
1 |
192.168.22.0 |
255.255.255.0 |
192.168.22.1 |
192.168.22.1 |
1 |
192.168.22.2 |
255.255.255.255 |
192.168.22.1 |
|
|
192.168.22.255 |
255.255.255.255 |
192.168.22.1 |
192.168.22.1 |
1 |
224.0.0.0 |
224.0.0.0 |
192.168.10.1 |
192.168.10.1 |
1 |
224.0.0.0 |
224.0.0.0 |
192.168.22.1 |
192.168.22.1 |
1 |
255.255.255.255 |
255.255.255.255 |
192.168.10.1 |
192.168.10.1 |
1 |
255.255.255.255 |
255.255.255.255 |
192.168.22.1 |
192.168.22.1 |
1 |
De notat ca fiecare linie raporteaza adresa de acces (gateway) (ruterul hopului urmator), interfata si valoarea metricii rutei. Coloana cu adresa gateway specifica adresa IP a ruterului folosit pentru livrarea datagramelor care, in cazul aceasta, este una din interfetele serverului (ruterului) local. Adresa de interfata specifica adresa IP a interfetei utilizate de serverul local pentru a accesa ruterul hopului urmator, pe ruta spre destinatie.
Coloana cu metrica indica distanta de la acest server (ruter) pana la reteaua de destinatie, exprimata prin numarul de hopuri.
Windows NT suporta numai versiunea 1 a protocolului RIP, pe cand Windows 2000 suporta ambele versiuni (1 si 2), cu versiunea 2 ca protocol implicit de rutare. Majoritatea implementarilor RIP folosesc, in mod tipic, versiunea 1 ca versiune implicita, la activarea RIP. Daca aveti versiuni multiple ale RIP care ruleaza in retea, ruterele dumneavoastra, probabil ca nu vor fi capabile sa faca schimburile de informatii de rutare, fara unele ajustari. RIP versiunea 2 suporta functii pe care RIP v1 nu le accepta, cum ar fi actualizari multidifuzate. RIP v1 nu foloseste mesaje multidifuzate, si de acea, nu va receptiona niciodata anunturile de la ruterele cu versiunea 2.
Pentru compatibilitate este necesara configurarea manuala. Este posibila setarea RIP-ului atat pe un ruter cat si pe un server Windows 2000, pentru a anunta si a asculta ambele versiuni 1 si 2, in functie de cerintele ruterului invecinat.
Unix si RIP
Exista doua modalitati in care este, de obicei, configurata rutarea intr-o statie Unix: statica sau dinamica. Rutele statice sunt setate prin utilizarea comenzii route de catre scripturile de initializare pe durata lansarii sistemului (system boot).
Cele mai uzuale configuratii folosesc un ruter implicit catre care este directat in intregime traficul care nu este adresat statiilor din reteaua locala. Este sarcina ruterului implicit sa determine modul de rutare al pachetelor catre destinatie. Aceasta va fi folosita pentru statiile Unix independente cu un singur ruter pentru pachetele emise.
Rutarea dinamica sub Unix inseamna ca procesul de rutare routeD (denumit ca route D) ruleaza in sistem. RouteD foloseste protocolul de rutare RIP (descris mai jos) pentru efectuarea rutarii dinamice. Procese sau programe in mediu Unix se refera la demoni. Routed (acelasi lucru cu RouteD) este demonul de procesului de rutare folosite de gazdele Unix pentru rutare, construirea si mentinerea informatilor de rutare
In continuare (Tabelul 5) este prezentat un esantion de tabel de rutare al unei server Linux care functioneaza ca un ruter intre doua retele. Aceasta iesire a fost obtinuta folosind comanda netstat Argumentul r trimite tabelul de rutare pe ecran, in timp ce optiunea n specifica sa fie afisate adresele IP in loc de numele statiilor.
Tabelul 5 Esantion de tabel de rutare pentru Server Linux cu doua rute gazda, trei rute locale si 0o ruta implicita
Destinatia |
Gateway |
Tabelul de rutare Kernel IP Genmask |
Flaguri |
MSS |
Fereastra |
irtt |
interfata |
10.100.1.1 |
10.10.1.1 |
135.170.172.245 |
UH |
0 |
0 |
0 |
eth1 |
172.16.172.245 |
135.170.172.245 |
255.255.255.255 |
UH |
|
0 |
0 |
eth0 |
172.16.172 |
135.172.172.245 |
255.255.255.0 |
U |
0 |
0 |
0 |
eth0 |
10.100.1.0 |
10.100.1.1 |
255.255.255.0 |
U |
0 |
0 |
0 |
eth1 |
127.0.0.0 |
127.0.0.1 |
255.0.0.0 |
U |
0 |
0 |
0 |
Lo |
Implicit |
135.170.172.1 |
0.0.0.0 |
UG |
0 |
0 |
0 |
eth0 |
Prima coloana specifica adresa retelei, subretelei sau statiei de destinatie. Coloana gateway identifica adresa IP a hopului urmator din ruta spre destinatie, urmata de masca (din coloana Genmask). A patra coloana este coloana cu flaguri. Aceasta coloana este folosita pentru specificarea starii rutei si modului in care a fost obtinuta si plasata in tabelul de rutare. Aceasta coloana poate sa contina unul sau mai multe dintre urmatoarele cinci flaguri diferite:
U |
Inseamna ca ruta este activa |
G |
Inseamna ca aceasta ruta este spre un ruter. Daca acest flag lipseste inseamna ca destinatia este conectata direct |
H |
Inseamna ca aceasta ruta este setata catre o statie - adica, adresa de destinatie este o gazda completa. Daca acest flag este setat atunci adresa de destinatie este o adresa completa de statie, altfel inseamna ca adresa de destinatie este o adresa de retea |
D |
Inseamna ca ruta a fost creata de o redirectare |
M |
Inseamna ca ruta a fost modificata de un mesaj de redirectare |
Ultima coloana specifica intrefata locala care trebuie folosita (de aceasta statie) pentru accesarea destinatiei. Configurarea statiilor Unix si elementele specifice nu sunt tratate mai mult in aceasta carte.
De exemplu, (referitor la Tabelul 5 ) prima linie a esantionului arata ca pentru destinatia (statia) 10.100.1.1, gatewayul (ruterul) la care trebuie trimis pachetul este 10.100.1.1.
Configurarea RIP
Una dintre beneficiile majore ale RIP este usurinta cu care poate fi configurat. In esenta, exista doi pasi pentru configurare. Primul este lansarea procesului RIP; al doilea este specificarea retelelor pe care RIP le va publica. In multe sisteme, al doilea pas ar putea sa nu fie necesar. In sisteme in care al doilea pas nu este efectuat, RIP-ul, cand este activat, incepe imediat sa trimita si sa receptioneze actualizari pentru toate retelele pe fiecare interfata activa. Esantionul de configurare lanseaza RIP versiunea 1, iar apoi publica trei retele cu clasa (classful); 192.1.1.0, 192.1.2.0 si 192.1.3.3.0. Comenzile folosite in acest exemplu au fost luate de la un ruter Cisco:
Router1 (config )#Router rip
Router1 (router-config)#version1
Router1 (router-config)#network 192.1.1.0
Router1 (router-config)#network 192.1.2.0
Router1 (router-config)#network 192.1.3.0
In prima linie, comanda Router rip lanseaza procesul de rutare RIP pe ruter. Al doilea linie valideaza actualizarile de versiune 1. Ruterele Cisco trimit si receptioneaza implicit actualizari de versiune 1. Liniile de la trei pana la cinci identifica retelele pe care RIP le va publica.
Exemplul urmator ilustreaza implementarea a ambelor versiuni RIP, v1 si v2, pe un singur ruter. Daca va aduceti aminte din discutiile anterioare, actualizarile RIP v1 si v2 nu sunt compatibile.
Desi ambele versiuni pot sa coexiste in aceaasi retea, ruterele cu versiunea 2 trebuie sa fie capabile sa trimita si sa receptioneze actualizari in ambele versiuni v1 si v2. Considerati o retea in care ruleaza ambele versiuni RIP v1 si v2. Exista cateva rutere in interiorul domeniului RIP. Dar pentru a pastra lucrurile simple, ne vom concentra asupra unui singur ruter (Ruter 1). Ruter 1 are doua interfete, una de Ethernet, si o interfata WAN seriala. Ruter1 trebuie sa comunica cu rutere RIP de versiunea 1 prin interfata sa Ethernet. De-a lungul conexiunii seriale exista atat rutere RIP v1 cat si RIP v2.
Astfel, interfata seriala a Ruterului 1 trebuie configurata sa trimita si sa receptioneze actualizari de ambele versiuni v1 si v2. Deoarece Ruter 1 suporta actualizari in versiunile 1 si 2, el este compatibil cu ambele versiuni RIP.
Esantionul urmator de configurare prezinta configurarea celor doua interfete, Ethernet si serial:
Intreface Ethernet 0
ip rip send version1
ip rip receive version1
Intreface Serial0
ip rip send version1 2
ip rip receive version1 2
In acest exemplu comanda ip rip a fost folosita la nivelul interfetei pentru a specifica ce tip de actualizare RIP (versiune 1 sau 2) trebuie receptionata sau trimisa. Dupa cum puteti vedea, interfata Ethernet este configurata sa receptioneze si sa trimita numai actualizari de versiunea 1, in timp ce interfata seriala va trimite si va receptiona ambele tipuri. Deoarece Ruterul 1 suporta actualizari pentru versiunea 1 si 2, el este compatibil cu ambele versiuni de RIP.
Concluzii:
RIP este clasificat ca un protocol de strat Retea. Ambele versiuni ale RIP-ului, unu si doi, sunt bazate pe setul de protocoale XNS de la Xerox si pe programul ruteD. Ambele versiuni a RIP-ului au urmatoarele caracteristici: sunt bazate pe difuzare; IGP, functioneaza bine in retele cu dimensiuni mici, sunt protocoale de rutare bazate pe vectorul distanta, folosesc hopurile ca metrica, folosesc actualizari periodice, emit intregul tabel de rutare, iar diametrul maxim al retelei este 15 hopuri.
Versiunea 1 (RFC 1058) si versiunea 2 (RFC 2453) functioneaza similar. Versiunea 2 a fost dezvoltata pentru a rezolva cateva dintre limitarile versiunii 1. Versiunea 2 are urmatoarele imbunatatiri: poate sa foloseasca difuzarea sau multidifuzarea, autentificarea, si rutarea fara clasa. Cu toate acestea, alte protocoale de rutare, cum ar fi OSPF, au rezolvat limitarile versiunii 1 si ofera solutii de rutare mai bune decat RIP v2. RIP versiunea 1 si-a mentinut popularitatea pentru ca este probabil cea mai usoara metoda de a incorpora rutarea dinamica.
Multe statii terminale si sisteme de operare (incluzand Unix, Microsoft NT, si Windows2000) suporta ambele versiuni RIP, fiind capabile astfel sa construiasca si sa mentina propriile tabele locale de rutare. Statiile terminale (cu o singura placa de interfata de retea) opereaza de obicei in mod pasiv. Serverele, cu mai multe placi de retea (multihomed), pe care ruleaza RIP functioneaza ca rutere, expediind datagrame intre segmente. De obicei, o statie asculta pasiv rutele, in cazul in care statia are mai multe rutere la dispozitie. Ruterele, sau serverele care joaca rolul de ruter, publica in intregime tabelul propriu de rutare prin actualizarile RIP.
RIP are avantajul ca este foarte simplu de configurat. RIP are doi pasi de baza pentru configurare: validarea procesului RIP, si specificare retelelor pe care RIP va publica.
Bibliografie:
1. T. Socolofsky, C. Kale, 'A TCP/IP Tutorial', RFC 1180, 01/15/1991.
2. J. Reynolds, J.Postel, 'ASSIGNED NUMBERS', RFC 1700, 10/20/1994.
3. J. Postel, 'Internet Protocol', RFC 791, 09/01/1981.
4. V. Fuller, T. Li, J. Yu, K. Varadhan, 'Classless Inter-Domain Routing (CIDR): an
Address Assignment and Aggregation Strategy', RFC 1519, 09/24/1993.
5. E. Gerich, 'Guidelines for Management of IP Address Space', RFC 1466, 05/26/1993.
6. 'Novell NetWare v3.11 TCP/IP Transport Supervisor's Guide', Novell, Inc., 03/25/1991.
7. route(ADMN) and ifconfig(ADMN) man pages, SCO Unix SVR3.2 V4.2.
8. Y. Rekhter, R. Moskowitz, D.Karrenberg, G. de Groot, 'Address Allocation for Private
Internets', RFC 1597, 03/17/1994.
9. 'Microsoft Windows NT Server TCP/IP', TCPIP.HLP, Microsoft Corporation,
09/04/1994. Available on distribution CD in supportbooks, or in the Windows NT
system32 directory.
10. "Microsoft Windows 95 Resource Kit', WIN95RK.HLP, Microsoft Corporation,
06/11/1995. Available in the windowshelp directory.
11. P. Almquist, F. Kastenholz, 'Towards Requirements for IP Routers', RFC 1716,
11/04/1994.
12. T. Bradley, C. Brown, A. Malis, 'Multiprotocol Interconnect over frame Relay', RFC
1490, 07/26/1993.
Politica de confidentialitate | Termeni si conditii de utilizare |
Vizualizari: 1580
Importanta:
Termeni si conditii de utilizare | Contact
© SCRIGROUP 2024 . All rights reserved