Protocoale de Rutare
Protocoale de Rutare
Profesor indrumator:
Stefan Stancescu
Roman Sorin
Master IISC
Tema casa - RCI
1. 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:
1. Rutabile.
Aceste protocoale ofera posibilitatea de a atribui oricarui nod din retea o adresa prin
care il individualizeaza (devine unic).
Ex: IP, IPX, AppleTalk
2. Nerutabile.
Ex: NetBEUI, 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)
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.
Lungimea 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 legturilor 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:
Ruta direct conectata
Ruta statica
Ruta agregata cu EIGRP
Ruta BGP
Ruta EIGRP
Ruta IGRP
Ruta OSPF
Ruta IS-IS
Ruta RIP
Ruta ODR
Ruta iBGP
0
1
5
20
90
100
110
115
120
160
200
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
administraie 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).
3.
2.a IGP
RIP
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 urmtorul 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.
RIP - Routing metrica
RIP foloseste o singura metrica de rutare (numararea nodurilor), ca sa masoare
distanta dintre sursa si destinatie. Fiecrui 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 reele 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.
RIP 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.
RIP Formatul pachetelor RIP
1-octet 1-octet 2-octet 2-octet 2-octet 4-octet 4-octet 4-octet 4-octet
command version zero AFI zero IP
zero zero metric
field
number field field field address field field field
field
field
Campuri:
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
este 2.
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.
RIP 2 Formatul pachetelor 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.
1-octet
1-octet
command version
field
number
field
2-octet
unused
field
2-octet
AFI
field
2-octet
4-octet
4-octet
4-octet
4-octet
route tag networkad subnet
next hop metric
field
dress field mask field field
field
Topologia unei zone este invizibila entitatilor din afara acestei zone. Prin
separarea topologiilor zonelor, OSPF transmite mai puin trafic de rutare decat daca
sistemele autonome nu ar fi partitionate.
Partiionarea 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 destinaia 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.
Formatul pachetului
Pachetele OSPF contin un header de 24 de biti:
1
1
2
4
4
Versiunea Tipul Lunghimea Router Zon
Pachetului
ID
ID
2
2
8
Variabil
Sum
Tipul
Autentificarea
Date
de
Autentificri
control
2.b. EGP
BGP
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 vectordistanta, 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 corespunztoare; initial, ruterele BGP isi trimit reciproc
intreaga tabela de rutare; dupa actualizarea initiala, se transmit actualizri
incrementale, pe masura ce topologia retelei se schimba.
Notification : raporteaza eventualele erori aparute in comunicatie.
Stare activa-inactiva
Inactiva
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.
3.
BIBLIOGRAFIE :