Está en la página 1de 57

Algoritmi de rutare

Studenti:

Mardare Oana-Viorica 441A


Hurmuzache Ciprian-Constantin 441A
Miu Madalina-Mihaela - 441A
Herea Cristian-Constantin - 441A

Cuprins
Mardare Oana-Viorica 441A
Hurmuzache Ciprian-Constantin 441A

1 Partea 1 _________________________________________ 5
Mardare Oana-Viorica 441A
1.1
1.1.1
1.1.2

1.2

Introducere......................................................................................................................... 5
Interfetele ruterului .................................................................................................................................7
Ruterele si Network Layer .......................................................................................................................9

Algoritmi de rutare..10

1.2.1 Introducere10
1.2.2 Flodare..11
1.3

Capacitatea limitata de rutare..14

1.3.1 Shortest Path First Algorithm..14


1.3.2 Widest Shortest Path First Algorithm..14
1.3.3 Shortest Widest Path First Algorithm..15
1.3.4 Maximally Disjoint Paths Algorithm..15

Hurmuzache Ciprian-Constantin 441A


1.3
1.3.1
1.3.2

Rutare statica ................................................................................................................... 06


Cand folosim rutele statice ....................................................................................................................06
Principiile tabelei de rutare .....................................................................................................................2

Mardare Oana-Viorica 441A


1.4
1.4.1
1.4.2

RIP version 1 ....................................................................................................................... 4


Operatiile RIP .........................................................................................................................................22
VLSM si CIDR ..........................................................................................................................................24

Hurmuzache Ciprian-Constantin 441A


1.5
1.5.1
1.5.2

RIP version 2 ..................................................................................................................... 28


Formatul mesajului la RIPv2 ..................................................................................................................28
RIPv2 si VLSM .........................................................................................................................................31

1.5.3
1.5.4

RIPv2 si CIDR ..........................................................................................................................................32


Autentificarea ......................................................................................................................................317

Bibliografie si Referinte
Mardare Oana-Viorica 441A

[1] CCNA Exploration: Routing Protocols and Concepts


[2] https://www.isc.org/solutions/survey/history
[3] http://www.ietf.org/rfc/rfc1058.txt
[4] Andrew S. Tanenbaum, Computer Networks (5th Edition)
[5] Path Allocation in BackboneNetworks: Project Report

Hurmuzache Ciprian-Constantin 441A

[1] CCNA Exploration: Routing Protocols and Concepts


[2] http://computernetworkingnotes.com/routing-static-dynamics-rip-ospf-igrpeigrp/basic-static-route.html
[3] http://www.ietf.org/rfc/rfc1723.txt

Miu Madalina - Mihaela - 441A


Herea Cristian - Constantin - 441A

2 Partea 2 ________________________________________ 34
Miu Madalina - Mihaela 441A
2.1
2.1.1
2.1.2
2.1.3

2.2
2.2.1
2.2.2
2.2.3

2.3
2.3.1
2.3.2
2.3.3

Rutare Dinamica. .............................................................................................................. 36


Evolutie ..................................................................................................................................................36
.Caracteristici .........................................................................................................................................36
Clasificarea protocoalelor de rutare dinamica.......................................................................................37

Protocolul Distance Vector ................................................................................................ 39


Algoritmul de rutare Distance Vector ....................................................................................................39
Algoritmul Bellman-Ford ....................................................................................................................2240
Caracteristici ........................................................................................................................................244

EIGRP(Enhanced Interior Gateway Routing Protocol) ......................................................... 45


Pachete ..................................................................................................................................................46
Algoritmul DUAL ....................................................................................................................................47
Metrica EIGRP ........................................................................................................................................49

Herea Cristian - Constantin - 441A


2.4
2.4.1

Protocolul de rutare Link-State .......................................................................................... 50


Algoritmul Dijkstra .................................................................................................................................50

2.5
2.5.1
2.5.2

OPEN SHORTEST PATH FIRST (OSPF) .................................................................................. 54


Pachete ..................................................................................................................................................54
Algoritmul OSPF .....................................................................................................................................55

Bibliografie
CCNA Exploration: Routing Protocols and Concepts
Computer Networks (4th Edition): Andrew S. Tanenbaum

Referinte:
Figura 1 Figura 11 -> CCNA Exploration: Routing Protocols and Concepts
Figura
BF.1

Figura
BF.3
->
http://tulsagrad.ou.edu/samuel_cheng/computer_network_2012/bellman%20ford
%20algorithm.ppt

1 Partea 1
1.1 Introducere
Un ruter este un tip special de calculator: are CPU, memorie, diverse interfete de
intrare/iesire, are nevoie de un sistem de operare pentru a rula fisierele de configurare care contin
instructiunile si parametrii care controleaza fluxul de trafic inspre si dinspre ruter. CPU (Central
Processing Unit) executa instructiunile in sistemul de operare. Printre aceste functii gasim:
initializare sitemului, rutarea functiilor si interfata de control. CPU-ul este un microprocesor, iar
routerele mai mari pot avea mai multe CPU-uri.

Exteriorul unui ruter

Interiorul unui ruter


Un ruter conecteaza multiple retele. Acest lucru inseamna ca are mai multe interfete, iar
fiecare interfata apartine unei alte retele. Cand un ruter primeste un pachet IP pe una din interfete,
el determina care interfata sa foloseasca pentru a trimte pachetul catre destinatie. Interfata care o
foloseste ruterul pentru a trimite pachetul poate fi interfata catre reteaua finala sau poate fi o retea
conectata la alt ruter care este folosit pentru ca pachetul sa ajunga la destinatia finala.

Fiecare retea la care este conectat ruterul are nevoie de o interfata separate. Aceste
interfete sunt utilizate pentru a conecta o combinatie de LAN-uri (Local Area Networks) si WANuri (Wide Area Networks). Lan-urile sunt retele Ethernet care contine echipamente precum
calculatoare, imprimante si servere. WAN-urile sunt utilizate pentru a conecta retelele aflate la o
distanta mare. [1]

[1]

Prima responsabilitate a ruterelor este de a directiona pachetele catre retelele destinatie prin:
-

Determinarea caii cele mai bune de a trimite pachetul


Trimiterea pachetelor catre destinatie

Ruterul foloseste o tabela de rutare pentru a determina cea mai eficienta cale de a trimite
pachetul. Cand ruterul primeste un pachet, ii examineaza adresa IP a destinatiei si cauta in tabela
pentru a gasi o potrivire. Tabela de rutare contine si interfetele care vor fi utilizate pentru trimiterea
pachetelor.

Precum un calculator, ruterul include:


-

Central Processing Unit (CPU)


Random-Accesc Memory (RAM)
Read-Only Memory (ROM)[1]

1.1.1

Interfetele ruterului

Porturile pentru management

Ruterele au conectori fizici care sunt folositi pentru managementul ruterului. Porturile
pentru management nu sunt folosite pentru a forwarda pachete de date. Cel mai comun port pentru
management este consola. Portul pentru consola este folosit pentru a conecta un terminal, de cele
mai multe ori un calculator care ruleaza un software cu ajutorul caruia se configureaza ruterul.
Alt port pentru management este portul auxiliar. Nu toate ruterele contin acest port. Acest
port se poate folosi aproximativ la fel ca si consola.

Interfetele ruterului

Interfata unui ruter este folosita pentru a primi si trimite pachete de date. Ruterele dispun
de multiple interfete pentru a conecta mai multe retele. Un ruter are nevoie de diferite tipuri de
interfete pentru ca el conecteaza diverse tipuri de retele. De exemplu, un ruter are interfete
FastEthernet pentru conexiuni catre diferite LAN-uri si diferite tipuri de interfete WAN pentru a
conecta o varietate de linkuri seriale incluzand T1, DSL si ISDN. [1]

[1]

[1]

[1]

1.1.2

Ruterele si Network Layer

Scopul principal al unui ruter este de a conecta multiple retele si de a face schimb de
pachete de date. Un ruter este considerat un echipanemt de Layer 3 deoarece decizia principala
pentru a forwarda pachete este bazata pe informatia care se gaseste in pachetul IP de la Layerul 3,
in special adresa IP destinatie. Acest proces este cunoscut sub numele de rutare.[1]
Cand un ruter primeste un pachet, examineaza adresa IP a destinatiei. Daca adresa IP a
destinatiei nu se gaseste in retelele direct conectate la ruter, atunci ruterul trimite pachetul catre alt
ruter.

[1]
Ruterele lucreaza la Layerele 1, 2 si 3

Un ruter face prima decizie de forwardare la Layer 3, dar el participa si la procesele de


Layer 1 si Layer 2. Pentru a evidentia lucrul ruterelor la cele 3 nivele avem urmatorul exemplu:

[1]

Implementarea schemelor de adresare

Documentarea unei retele noi sau imbunatarirea uneia deja existent ear trebui sa include o
diagrama care indica conectivitatea fizica si tabela de adresare care contine urmatoarele informatii:
1.Numele echipamentului
2.Interfata utilizata in design
3.Adresa IP si subnet mask
4.Default gateway addresses pentru end devices, cum ar fi PC-urile [1]

1.2 Algoritmi de rutare


1.2.1

Introducere

Principala functie a nivelului de retea este rutarea pachetelor de date de la sursa la


destinatie. Pentru ca acest lucru sa fie posibil, de cele mai multe ori un pachet trebuie sa treaca prin
mai multe hopuri pentru a putea ajunge la destinatie. Algoritmii care iau deciizile in alegerea
rutelor si a structurii de date pe care o folosesc folosesc o arie mare a designului nivelului de retea.

Algoritmul de rutare este acea parte a nivelului software de retea care este responsabila
pentru a decide pe care interfata de iesire ar trebui transmis un pachet de date. Daca reteaua
foloseste datagrame interne, aceasta decizie trebuie facuta de fiecare data cand avem alt pachet de
transmis deoarece ruta cea mai buna se poate modifica. Daca reteaua foloseste circuite virtuale
interne, deciziile de rutare sunt facute doar pentru noile circuite virtuale. In alt caz, pachetele de
date doar folosesc rutele deja stabilite. Acest caz este numit uneori sesiune de rutare deoarece ruta
ramane pentru o intreaga sesiune.
Procesul de forwarding reprezinta trimiterea pachetelor mai departe atunci cand ele
sosesc pe o interfata a ruterului. Celalalt proces care ajuta pentru trimiterea pachelor este
responsabil pentru umplerea si updatarea tabelei de rutare. Aici intra in actiune algoritmul de
rutare.
Indiferent cum se folosesc ruterele pentru a forwarda un pachet, anumite proprietati sunt
de dorit in algoritmii de rutare:
-corectitudinea
-simplitatea
-robustete
-stabilitate
-loialitate
-eficienta
Algoritmii de rutare pot fi grupati in doua clase mari:
1. Algoritmii neadaptivi nu isi bazeaza deciziile lor de rutare pe alte masuratori sau
aproximari a topologiei curente sau a traficului. Decizia luata pentru a folosi o ruta intre I si
J este computerizata in avans, intr-un mediu offline si downloadata in rutere cand se

instaleaza reteaua. Aceasta procedura este cateodata numita rutare statica. Deoarece nu
raspunde atunci cand cade un link din retea, rutarea statica este des folosita in situatii in
care ruta aleasa este clara si vizibila.
2. Algoritmii adaptivi, in coparatie cu cei neadaptivi, isi modifica deciziile de rutare pentru a
reflecta schimbari in topologie, iar cateodata chiar schimbari in trafic.Acesti algortmii
dinamici difera in functie de unde isi iau informatiile, cand isi schimba rutele si ce metrica
este folosita pentru optimizare.

1.2.2

Flodare

Cand un algoritm este implementat, fiecare ruter trebuie sa ia decizii in functie de ce stie
pana in momentul respectiv, nu in functie de imaginea intregii retele. O tehnica locala este
flodarea, in care fiecare pachet care vine este trimis catre fiecare interfata de iesire, cu exceptia
celei pe care a venit.
Flodarea genereaza o multitudine de pachete duplicate, mai bine zis, un numar infinit de
pachete, asta daca nu se iau anumite masuri pentru a opri acest proces. O astfel de masura este de a
avea un numarotor de hopuri continut in header-ul fiecarui pachet care este decrementat la fiecare
hop, iar pachetul sa fie dropat cand numaratorul ajunge la zero. Ideal ar fi ca numaratorul sa fie
initializat cu lungimea caii de la sursa la destinatie. In cazul in care cel care trimite pachetul nu stie
lungimea acestei cai, poate initializa numaratorul cu diametrul intregei retele.
Flodarea cu un numarator a hopurilor poate produce un numar exponential al pachetelor
duplicate pe masura ce numarul hopurilor creste si ruterele duplica pachetele care le-au trimis
inainte. O tehnica mai buna pentru a diminua excesul de pachete este ca ruterele sa tina cont de ce
pachete au flodat, pentru a evita trimiterea lor inca o data. O metoda pentru a face acest lucru este
ca ruterul sursa sa puna o secventa de numere in fiecare pachet pe care il primeste de la gazda.
Fiecare ruter are nevoie de o lista a ruterului sursa in care sa existe secventa de numere originate la
sursa si care au fost deja trimite. Daca un nou pachet primit este in lista, atunci el nu este flodat.
Pentru a preveni cresterea listei fara limita, fiecare lista ar trebui sa fie augmentata de un
contor k, care reprezinta ca o secventa de numere k a fost vizitata. Cand un pachet soseste, este usor
de verificat daca pachetul a fost deja flodat (coparativ cu secventa k). Lista k reprezinta un fel de
sumarizare.
Flodarea nu este practica pentru trimiterea pachetelor, dar are niste utilizari importante. In
primul rand, ea asigura trimiterea unui pachet catre toate nodurile din retea. Acest lucru poate fi o
pierdere daca doar o singura destinatie are nevoie de pachet, dar este eficace pentru broadcasting.

In retelele wireless, toate mesajele transmise de o statie sunt primite de catre toate celelalte statii
aflate in raza de actiune, lucru care, de altfel, este flodare, si anumiti algoritmi utilizeaza acest
lucru.
In al doilea rand, flodarea este extrem de robusta. Chiar daca un numar mare de rutere sunt
invadate de biti, floadarea va gasi o cale aca unul iese, pentru a trimite pachetul la destinatie. De
asemenea, flodarea are putine cerinte pentru setare. Ruteretele doar trebuie sa isi cunoasca vecinii.
Acest lucru inseamna ca flodarea poate fi utilizata ca un bloc constructiv pentru alti algoritmi de
rutare care sunt mai eficienti, dar care au nevoie de mai mult pentru a fi implementati. Flodarea
alege cea mai scurta cale deoarece compara fiecara ruta.

1.3 Capacitatea limitata de rutare


Cateva limitari ale capacitatii pot fi usor integrate in cativa bine-cunoscuti algoritmi de
rutare. Un astfel de algoritm il reprezinta CSPF (Constrained Shortest Path First), care este o
extinde a algoritmului SPF (Shorthest Path First). Adaugarea unor constrangeri de capacitate
inseamna strict forwardare. Totalul de capacitate pentru un anumit serviciu este configurat static.
Prin urmare, capacitatea reziduala a link-urile individuale poate fi calculata. Daca o noua cerere
este primita, toate link-urile care au o capacitate reziduala care este mai mica decat latimea de
banda a cererii sunt eliminate din graful retelei. Totusi, toate link-urile ramase in graf ofera
suficiente resurse pentru a satisface noua cerere. Bazati pe aceasta reducere a grafului, orice
algoritm de rutare poate fi rulat si, daca o cale favorabila este gasita, atunci se umplu toate
limitarile de capacitate.

1.3.1

Shortest Path First Algorithm

Algoritmul SPF este schema de rutare standardizata a Internetului din ziua de azi. El
minimizeaza o singura metrica aditiva care este asignata ca un cost catre fiecare link. Aceasta
metrica poate fi simplu numarata ca un hop-count sau intarzierea propagarii. Un lucru important
asupra chemei SPF este ca nu defineste rute in cazul in care cateva cai catre aceeasi pereche sursa destinatie au cumulat aceeasi metrica. In loc de optimizarea unei metrici secunde, in acest caz, SPF
alege o cale aleator. Aceasta proprietate nefericita este adresata de catre o subsecventa a schemei
de rutare. Complexitatea implementarii algoritmului SPF este bazata pe algoritmul Floyd care
gaseste cea mai scurta cale intre toate nodurile este O(v). Forma caii intre un nod si toate celelalte
poate fi gasita cu algoritmul Dijkstra care are complexitatea O(v).

1.3.2

Widest Shortest Path First Algorithm

Algoritmul WSPF (Widest Shortest Path First) este similar cu schema SPF. Singura
diferenta este ca o metrica secunda este considerata, daca prima metrica duce catre cai alternative.
In acest caz calea cu maximul minim al capacitatii este aleasa. Capacitatea nu rprezinta o metrica
aditiva. Capacitatea unei cai este determinata de link-ul bottleneck care este minimul capacitatii

tuturor link-urilor din cale. A doua metrica este testate cu o singura verificare aditionala, care nu
schimba complexitatea algoritmului SPF.

1.3.3

Shortest Widest Path First Algorithm

Algoritmul SWPF (Shortest Widest Path First) este o alta varianta a chemei SPF. Prima
metrica este maximul minim al capacitatii pe o cale. A doua metrica este propagarea inarzierii sau
se aplica hop-count-ul. Tinta algoritmul SWPF este de a imprastia trafic incarcat in intreaga retea.
O data ce prima metrica nu este aditica, implementarea SWPF este mai complicata decat SPF sau
WSPF. Se propune o dubla aplicare a algoritmului Dijkstra pentru fiecare pereche sursa destinatie. Apoi, urmatorii pasi se fac independent pentru fiecare pereche sursa-destinatie.
Complexitatea acestui algoritm este

1.3.4

Maximally Disjoint Paths Algorithm

Algoritmul MDJ (Maximally Disjoint Paths) difera de schemele de rutare descrise anterior
deoarece el gaseste mai mult de o cale pentru fiecare pereche sursa destinatie. El genereaza o
forma de arbore de la nodul sursa catre fiecare nod destinatie bazat pe un algortm simplu SWPF.
Apoi, o pereche cu un numar maxim de bucati este calculata prin adaugarea mai tarziu de link-uri
comune la metrica de rutare. Acest pas este repetat pentru fiecare sursa posibila. Schema MDJ este
eficient aplicata in retelele MPLS care implementeaza protectia caii. Aici se foloseste si a doua cale
este folosita. Algoritmul MDJ este aplicat static. Complexitatea lui este O(v*e), unde e>=v.

1.4 Rutare statica


Remote networks (care nu sunt conectate direct la ruter) sunt adaugate in tabela de rutare
fie prin configurarea statica a rutelor fie prin permiterea unui protocol de rutare dinamic. Cand
sistemul de operare invata despre o noua retea si interfata care o va folosi pentru a ajunge la ea,
el adauga acea ruta in tabelul de rutare atat timp cat interfata de iesire este pornita.[1]
O ruta statica include adresa de retea si subnet mask-ul retelei necesare, impreuna cu
adresa IP a urmatorului hop din retea (urmatorul ruter) sau interfata de iesire. Rutele statice
sunt notate cu litera S in tabela de rutare. [1]
Rutarea statica mai poate fi definita si ca adaugarea manuala a rutelor in fiecare tabela
de rutare a ruterelor.[1]

1.4.1

Cand folosim rutele statice

Rutele statice ar trebui folosite in urmatoarele cazuri:

O retea contine doar cateva rute. Utilizarea unui protocol dynamic de rutare in astfel de
cazuri nu prezinta nici un beneficiu. Din contra, rutarea dinamica poate aduce o incarcare
excesiva.
O retea este conectata la internet doar printr-un ISP (Internet Service Provider). In acest
caz nu este necesar sa se foloseasca rutarea dinamica doarece ISP-ul reprezinta singura
iesire spre Internet.
O retea este configurata intr-o topologie hub-and-spoke. O topologie hub-and-spoke
este reprezentata de o locatie central (hub-ul) si mai multe ramuri (spokes), fiecare
spoke avand o conexiune la hub. Utilizarea rutarii dinamice nu este necesara deoarece
fiecare ramura are o singura cale catre o destinatie prin locatia centrala.[1]

In general, majoritatea tabelelor de rutare contin o combinatie de rute statice si rute


dinamice. Tabela de rutare trebuie sa contina mai intai retelele direct conectate pentru accesarea
retelelor la distanta, iar apoi sa se foloseasca rutarea statica si dinamica.

Tabela de rutare este utilizata pentru gasirea celei mai buni cai intre IP-ul destinatie a
pachetului si adresa de retea din tabela de rutare. Tabela de rutare va determina interfata de iesire
pentru a forwarda pachetul si ruterul va incapsula pachetul in frame-ul data link potrivit pentru
reteaua de iesire.

[1]

Rutarea statica are urmatoarele avantaje:

Nu prezinta o supraincarcare a CPU-ului ruterului.


Nu prezinta nici o folosire a latimii de banda dintre rutere.
Creste securitatea deoarece administratorului poate alege cui sa acorde acces de rutare
pentru anumite retele. [2]
Rutarea statica are urmatoarele dezavantaje:
Administratorul trebuie sa inteleaga internetwork-ul si cum fiecare ruter este conectat
pentru a putea configura corect ruterele.
Daca o retea mai este adaugata, administratorul trebuie sa adauge manual ruta respectiva
in toate ruterele.
Nu se poate folosi intr-o retea mare deoarece ar cere prea multe resurse umane pentru a fi
intretinuta. [2]

Rutele statice sunt in general utilizate pentru rutarea de la o retea la un stub network.
Un stub network este o retea accesata prin intermediul unei singure rute. De exemplu, avem
figura de mai jos. Aici vedem ca orice retea atasata la R1 are o singura cale pentru a ajunge la
alte destinatii, fie la retele atasate lui R2 fie catre destinatii din spatele lui R2. Prin urmare,
reteaua 172.16.3.0 este un stub network si R1 este un stub router.[1]
Folosirea unui protocol de rutare intre R1 si R2 ar fi o pierdere de resurse doarece R1
are o singura cale de a trimite traficul non-local. Prin urmare, rutele statice sunt configurate
pentru conexiune catre retelele la distanta care nu sunt direct conectate la un ruter. Din nou,
referindu-ne la figura, vom configure o ruta statica pe R2 catre LAN-ul atasat lui R1. [1]

[1]

1.4.2

Principiile tabelei de rutare

Principiul 1: Fiecare ruter ia deciziile singur, pe baza informatiei pe care o are in tabela
de rutare.[1]
Principiul 2: Faptul ca un ruter are anumite informatii in tabela sa de rutare nu inseamna
ca si celelalte rutere au aceesi informative.[1]
Principiul 3: Informatiile de rutare a caii dintre doua retele nu ne da informatia despre
calea de intoarcere.[1]
In figura de mai jos avem un exemplu de cum arata tabela de rutare a unui ruter si
comenzile pentru adaugarea unei rute statice:

[1]

Cateodata este necesar sa modificam o ruta statica din diverse motive, cum ar fi:
- reteaua destinatie nu mai exista si prin urmare ruta statica ar trebui sa fie stearsa
- a aparut o schimbare in topologies i, fie adresa intermediara fie interfata de iesire trebuie
schimbate
O ruta statica deja existenta nu poate fi modificata. Singura solutie este sa o stergem, oar
apoi sa adaugam o ruta noua.

Sumarizarea rutelor statice

Multiple rute statice pot si sumarizate intr-una singura daca:


-retelele destinatie pot fi sumarizate intr-o singura adresa de retea si
-multiple rute statice utilizeaza aceeasi interfata de iesire si acelasi next-hop IP address.

Default static route

Default static route este o ruta care se va potrivi tuturor pachetelor. Default static routes
sunt utilizate:
- cand in alte rute din tabela de rutare nu se potreveste adresa IP a pachetului destinatie. Cu alte
cuvinte, cand o alta potrivire nu exista. O utilizare comuna este conectarea ruterului unei
companii la reteaua ISP.
- cand un ruter este conectat doar de alt ruter. Despre acest lucru am vorbit si putin mai sus si
poarta numele de stub router.

1.5 RIP version 1


Cu trecerea anilor, protocoalele de rutare au evolat datorita cresterii necesitatii de reteli
mai mari si mai complexe. Primul protocol utilizat a fost protocolul RIP (Routing Information
Protocol). Desi este primul protocol aparut si pe langa el au aparut si alte protocoale mult mai
eficiente, acesta inca se bucura de popularitate deoarece este simplu si foarte raspandit.
Desi este un protocol de rutare relativ simplu, acesta ne poate ajuta pentru intelegerea mai
usoara a altor protocoale de rutare.
In tabelul de mai jos am exemplificat o clasificare a protocoalelor de rutare. Se observa
ca protocolul RIPv1 este bazat pe algoritmul Bellman-Ford (Distance Vector Alghoritm).

[1]

In tabelul de mai jos este ilustrata istoria acestui protocol de rutare:

[1]

Caracteristici

Protocolul RIP are urmatoarele caracteristici:


-

RIP este un protocol de rutare bazat pe algoritmul distance vector


RIP foloseste numararea de hopuri ca fiind singura metrica pentru alegerea caii de
transmisie a pachetelor
Nu se poate ajunge la ruterele care se afla la o distanta mai mare 15 hopuri
Mesajele de broadcast sunt la interval de 30 de secunde[1]

Formatul mesajului RIP: RIP Headear

Trei campuri sunt specificate in cei patru biti ai portiunii de headear. Campul
Command specifica tipul mesajului, campul Version este setat la 1 pentru RIP version 1, iar
al treilea camp, Must be zero, ne lasa loc pentru viitoarele expansiuni ale protocolului.[1]

Formatul mesajului RIP: Route Entry

Portiunea mesajului numita route entry contine trei campuri cu urmatoarele


semnificatii: Address family identifier (este setata la 2 pentru IP, iar setarea 0 este in cazul in
care ruterul are nevoie de o tabela de rutare complete), adresa IP si metrica. Aceasta portiune din
route entry reprezinta o ruta de destinatie cu metrica sa. Un update al lui RIP poate contine pana
la 25 de rute de intrare. Dimensiunea maxima este de 504 bytes, fara sa include headerele de IP
sau de UDP. [1]

[1]

1.5.1

Operatiile RIP

RIP Request/Response Process

RIP foloseste doua tipuri de mesaje specificate in campul Command: Request


message si Response message.
Descrierea procesului: fiecare interfata configurata RIP trimite un mesaj de tip request
la pornire, cerand ca toti vecinii RIP sa trimita tabela lor de rutare complete. Un mesaj de tip
response este trimis inapoi de catre vecinii enabled. Cand ruterul care a facut cererea primeste
mesajul response, evalueaza fiecare ruta de intrare. Daca ruta de intrare este noua, atunci o
instaleaza in tabela sa de rutare. Daca ruta exista in tabela, ea este inlocuita doar in cazul in care
are un numar de hopuri (metrica) mai mica. Dar si ruterul care a trimis cererea de request
trimite un update vecinilor pentru a le trimite tabela sa de rutare. In fugurile de mai jos am
exemplificat acest process:[1]

[1]

RIP este un protocol classful RIPv1 nu trimite informatii cu privire la subnet mask in
mesajele de update. Prin urmare, un ruter foloseste subnet mask-ul configurat pe interfata locala,
sau aplica subnet mask-ul default specific clasei adresei IP.

Distanta administrative

Distanta administrative (AD) specifica protocolului RIP este de 120. Daca comparam
RIP-ul cu alte protocoale de rutare in ceea ce priveste distanta administrative, acesta este cel mai
putin preferat. IS-IS, OSPF, IGRP si EIGRP are distante administrative default mai mici.

Procesarea update-urilor RIP

Reguli pentru procesarea update-urilor RIPv1:


1. Daca un update de rutare si interfata pe care este primit apartin aceleeasi retele majore,
subnet mask-ul interfetei este aplicat retelei din update-ul de rutare.
2. Daca un update de rutare si interfata pe care este primit fac parte din retele majore
diferite, subnet mask-ul retelei este aplicat retelei din update. [1]

Limitarile protocolului

Protocolul nu rezolva toate problemele posibile de rutare, ci are si niste limitari:

Protocolul este limitat la retele a caror lungimi nu depasesc 15 hopuri. De aceea nu este
recomandat in retele mari.
Protocolul depinde de counting to infinity pentru a rezolva anumite situatii neobisnuite.
Daca sistemul de retele are cateva sute de retele si o bucla de rutare a fost formata
continandu-le pe toate, rezolutia buclei necesitand mai mult timp sau latime de banda. O
astfel de bucla va consuma mult din latimea de banda a retelei inainte ca ea sa fie
rezolvata. Se crede ca in realitate, acest lucru nu ar fi o problema exceptand liniile lente.
Chiar si atunci, problema ar fi putin neobisnuita, deoarece sunt luate masuri pentru a
preveni aceste probleme in majoritatea cazurilor.
Acest protocol foloseste metrici fixate pentru a compara rute alternative. Acest lucru nu
este recomandat pentru situatii in care ruterele trebuie sa fie alese pe baza parametrilor de
timp real cum ar fi intarzierea masurata, reliabilitatea sau incarcarea. Evident ca aceste
extensii pentru acceptarea acestor tipuri de metrici sunt pentru a introduce instabilitatea
pentru care protocolul nu este proiectat pentru a-i face fata. [3]

1.5.2

VLSM si CIDR

Inainte de 1981, adresele IP foloseau doar primii 8 biti pentru a arata portiunea de
network, limitand Internetul pe atunci cunoscut sub numele de ARPANET la 255 de retele.
Bineinteles ca s-a ajuns la concluzia ca numarul de retele este mult prea mic.
In 1981, RFC 791 a modificat IPv4 la o adresa de 32 de biti pentru a permite existenta a
trei clase de retele: clasa A, clasa B si clasa C. Clasa A de adresa utilizeaza 8 biti pentru network,
clasa B foloseste 16 biti si clasa C utilizeaza 24 de biti. Acest format a devenit cunoscut ca fiind
o adresare IP classful.
Desi problema celor 256 de retele a fost rezolvata a aparut o alta problema: spatiul pentru
adresele IP incepea sa fie prea mic. Ca raspuns la aceasta problema, IETF-ul (Internet
Engineering Task Force) a introduc CIDR-ul (Classless Inter-Domain Routing) care utilizeaza
VLSM-ul (Variable Length Subnet Masking) pentru a ajuta in conservarea spatiului de adrese.
O data cu introducerea CIDR-ului si VLSM-ului, administratorii de retea au fost nevoiti
sa utilizeze skilluri suplimentare pt subnetizare.VLSM-ul reprezinta o simpla subnetizare a
subnet-ului. Reteaua poate fi subnetizata pe mai multe nivele. In concordanta cu subnetizarea, a
devenit posibila sumarizarea unei colestii mai mari de retele classful intr-o ruta agregata, sau
supernet.

Conform ISC in 08/1981 existau 213 host-uri ajungand ca in 07/2012 sa fie


908.585.739. [2]
Conform graficului de mai jos, numarul de hosturi creste exponential:

[1]

Classful Routing Protocol

Utilizand adresele IP classful inseamna ca subnet mask-ul adresei de retea sa poata fi


determinat de valloarea primului octect, sau mai exact, de primiitrei biti de adresa. Protocoalele
de retele, precum RIPv1 are nevoie doar sa propagheze adresa de retea ruterelor cunoscute si nu
e nevoie sa includa si subnet mask-ul in update-ul de rutare. Acest lucru este din cauza ca ruterul
care primeste update-ul de rutare poate determina subnet mask-ul simplu prin determinarea
valorii primului octet din adresa de retea. Subnet mask-ul a fost direct legat de adresa de
retea.[1]
In figura de mai jos, R1 cunoaste ca subnet-ul 172.16.1.0 apartine aceleasi retele classful
de pe interfata de iesire. Prin urmare, el trimite un update RIP lui R2 care contine subnet-ul
172.16.1.0. Cand R2 primeste update-ul, el aplica pe interfata de primire subnet mask-ul (/24) la
update si adauga adresa 172.16.1.0 in tabela de rutare. [1]

[1]

CIDR si sumarizarea rutelor

CIDR foloseste VLSM-ul (Variable Length Subnet Masks) pentru a aloca adrese IP
subnet-urilor in functie de nevoi decat de clasa. Retelele pot fi ulterior divizate sau subnetizate in
retele din ce in ce mai mici.
Atunci cand internetul a crescut la o rata exponentiala la inceputul anilor 90, asa s-a
intamplat si cu numarul de tabele de rutare care erau mentinute de ruterele internetului folosind
adresarea IP classful. CIDR permite agregarea prefixului, care este deja cunoscut sub numele de
sumarizarea rutelor.
In figura se observa ca ISP-ul are patru consumatori, fiecare cu un numar diferit de
spatii de adrese IP. Oricum, tot spatiul pentru adresele consumatorilor pot fi sumarizate intr-unul
singur, ISP2. Adresa sumarizata 192.168.0.0/20
include toate retelele care apartin
consumatorilor A,B,C si D. Acest tip de ruta este cunoscuta ca fiind supernet route. O
superretea sumarizeaza multiple adrese de retea cu o masca mai mica decat masca classful.[1]

[1]

VLSM

VLSM-ul permite utilizarea de masti diferite pentru fiecare subnet. Dupa ce o adresa este
subnetizata, acele subnet-uri pot fi in continuare subnetizate. Mai simplu, putem considera ca
VLSM-ul reprezinta subnetizarea unui subnet.
In figurile de mai jos avem exemplu de o astfel de subnetizare.

[1]

[1]

Sumarizarea rutelor este exemplificata mai jos:

[1]

1.6 RIP version 2


RIP Version 2 (RIPv2) este definit in RFC 1723. Este primul protocol de rutare
classless care este discutat in acest curs. Desi RIPv2 este un protocol de rutare potrivit pentru
unele medii, el are o popularitate scazuta in comparatie cu alte protocoale, ca de exemplu
EIGRP, OSPF si IS-IS, care ofera mai multe posibilitati si sunt mai scalabile.[1]
Desi sunt mai putin populare decat alte protocoale de rutare, ambele versiune de RIP sunt
potrivite in anumite situatii. Desi RIP nu are capacitatile multor protocoale ulterioare, simplitatea
si utilizarea pe scara larga in multiple sisteme de operare il face candidatul ideal pentru retele
mici si omogene in special in mediile UNIX.
RIPv1 este un protocol classful. RIPv2 este un protocol classless adica include
subnet mask-ul in update-urile de rutare. Din aceasta cauza, RIPv2 este mai compatibil cu
mediile de rutare moderne.
RIPv2 este de fapt o imbunatatire a caracteristicilor lui RIPv1. Cateva din aceste
imbunatatiri sunt:

Adresa urmatorului hop este inclusa in update-urile de rutare.


Foloseste o adresa de multicast pentru trimiterea update-urilor.
Optiunea de autentificare este valabile.[1]

La fel ca RIPv1, RIPv2 este un protocol bazat pe algoritmul distance vector. Atat RIPv1
cat si RIPv2 impartasesc urmatoarele caracteristici si limitari:

1.6.1

Utilizarea lui holddown si a altor timere care ajuta pentru prevenirea buclelor de rutare.
Folosesc split horizon sau split horizon with poison reverse tot pentru prevenirea
buclelor de rutare.
Folosesc triggered updates atunci cand apare o schimbare in topologie pentru
convergenta mai rapida.
Numarul maxim de hopuri este limitat la 15, iar numarul de hopuri egal cu 16 sa
reprezinte o retea la care nu se poate ajunge.[1]

Formatul mesajului la RIPv2

RIPv2 este definit in RFC 1723. La fel ca versiunea 1, RIPv2 este incapsulat intr-un
segment UDP utilizand portul 520 si poate contine pana la 25 de rute. Desi RIPv2 are acelasi
mesaj de baza ca si RIPv1, are adaugate inca doua extensii semnificante.
Prima extensie intalnita in formatul mesajului de la RIPv2 este campul pentru subnet
mask care permite o masca de 32 de biti sa fie inclusa in RIP route entry. Ca rezultat, ruterul

care primeste nu mai depinde de subnet mask-ul de pe interfata de intrare sau de masca classful
cand se determina subnet mask-ul pentru o ruta.
A doua extensie semnificanta din formatul mesajului reprezinta the next hop address.
Adresa Next Hop este utilizata pentru a identifica o mai buna next-hop addres, iar daca exista
una atunci va fi adresa catre care trimite ruterul. Daca acest camp este setat la 0 (0.0.0.0), adresa
unde trimite ruterul va fi cea mai buna next-hop address.

In figura de mai jos avem o comparatie intre formatul mesajului de la RIPv1 si RIPv2:

[1]

Diferentele dintre cele doua versiuni sunt semnalate prin culoarea portocalie in a doua
parte a figurii care reprezinta protocolul RIPv2.
Initial, cand un proces RIP este configurat pe un ruter Cisco, acesta ruleaza RIPv1.
Oricum, chiar daca ruterul trimite mesaje RIPv1, el poate interpreta atat mesaje RIPv1, cat si
mesaje RIPv2. Un ruter RIPv1 pur si simplu va ignora campurile specifile RIPv2 din route
entry.[1]

Consideram urmatoarea topologie si putem vedea cu ajutorul comenzii #show ip


protocols (pentru un ruter Cisco) ca desi ruterul este configurat utilizand RIPv1 el primeste
mesaje si de tip RIPv2:

[1]

[1]
Daca protocolul este modificat din RIPv1 in RIPv2 atunci ruterul va primi doar mesaje de
tip RIPv2.

[1]

1.6.2

RIPv2 si VLSM

Datorita proprietatii de protocol classless RIPv2 contine atat adresa de retea cat si subnet
mask-ul, iar din aceasta cauza nu mai este nevoie sa se sumarizeze acestor retele la adresa lor
classful. Prin urmare, protocoalele de rutare classless suporta VLSM. Ruterele care folosesc
RIPv2 nu mai au nevoie sa foloseasca masca interfetei de intrare pentru a determina subnet
mask-ul. Reteaua si masca sunt explicit incluse in fiecare update.[1]
In retelele care utilizeaza schema adresarii VLSM, un protocol de rutare classless este
esential pentru a propaga toate retelele impreuna cu masca lor corecta.
Avem in figura de mai jos debug-ul ruterului R3 si se poate observa ca RIPv2 include
retelele si subnet maskurile lor in update-urile de rutare.

[1]

[1]

1.6.3

RIPv2 si CIDR

Unul dintre scopurile lui CIDR (Classless Inter-Domain Routing) asa cum este referit in
RFC 1519 este: pentru a furniza un mecanism pentru agregarea de informatii de rutare. Acest
obiectiv include conceptul de supernetting. Un supernet este un bloc de retele invecinate
classful, care se adreseaza ca o singura retea. Supernet-urile au masti care sunt mai mici decat
masca classful (de exemplu /16 in loc de /24). Pentru ca supernet-ul sa fie inclus in update-ul de
rutare, protocolul de rutare trebuie sa aiba capabilitatea de a putea treansmite masca. Cu alte
cuvinte, ar trebui sa fie un protocol classless, precum RIPv2.[1]

[1]

Probleme comune intalnite la RIPv2

Una din problemele care pot aparea este versiunea: nu a fost moficata din 1 sa fie 2.

- O alta sursa de probleme pot fi datorate declararii gresite a retelei. Declarea retelei face
doua lucruri:
1.permite protocolului de rutare sa trimita si sa primeasca update-uri pe orice interfata locala care
apartine retelei
2.include retelele locale in update-urile de rutare din tabelele vecinilor
- O alta sursa de probleme poate fi datorata auto-sumarizarii rutelor.

1.6.4

Autentificarea

Majoritatea protocoalelor de rutare trimit update-uri despre rutare si alte informatii


utilizand IP-ul. O problema de securitate a oricarui protocol de rutare o reprezinta posibilitatea
de acceptare de update-uri invalide. Sursa acestor update-uri invalide poate fi un atacator care
incearca sa distruga reteaua sau sa captureze pachete de date prin determinarea ruterului sa
trimita update-uri catre destinatii gresite. O alta sursa pentru update-uri invalide poate fi
reprezentata de un ruter configurat gresit.[1]
Indiferent de motiv, este bine sa se practice autentificarea informatiilor de rutare
transmise intre rutere. Protocoalele RIPv2, EIGRP, OSPF, IS-IS si BGP pot fi configurate sa
autentifici informatiile despre rutare. Aceasta practica asigura ruterele ca vor accepta informatii
despre rutare numai de la alte rutere care au fost configurate cu aceasi parola sau informatii
despre autentificare. Autentificarea nu encripteaza tabela de rutare. [1]

2 Partea 2
2.1 Rutare Dinamica.
2.1.1

Evolutie

Cel mai important rol al nivelului retea este reprezentat de rutarea pachetelor de la sursa
la destinatie. In cele mai multe situtatii, pachetele vor avea nevoie sa treaca mai multe noduri pentru a
ajunge la destinatie. Algoritmul de rutare este responsabil in deciderea caii pe care se va transmite
pachetul.

Rutarea dinamica a fost utilizata in retele inca din anii 1980. Cum retelele au evoluat si
au devenit din ce in ce mai complexe, au fost implementate mai multe protocoale de rutare.

Figura 1. Evolutia protocoalelor de rutare


2.1.2

Caracteristici

Protocoalele de rutare dinamice sunt folosite pentru a facilita schimbul de informatii de


rutare intre routere.
Protocolalele de rutare determina cea mai buna cale pentru fiecare retea si este adaugata
in tabela de rutare. Cel mai important aspect al protocolului de rutare dinamic este faptul ca
routerele schimba infomatii de rutare atunci cand topologia retelei se schimba. Acest schimb
permit routerelor sa invete automat despre noi retele si sa gaseasca o cale alternativa atunci cand
o conexiune pica spre o anumita retea.

Avantaje si dezavantaje
Avantajele protocolului de rutare dinamica sunt:

Administratorul nu necesita foarte multa implicare in configurarea retelei atunci cand se


adauga sau se sterg conexiuni spre alte retele.

Protocoalele reactioneaza automat atunci cand topologia retelei se schimba.

Configuratia este mai putin inclinata spre erori.

Aceste protocoale sunt mai scalabile; complexitatea unei retele nu reprezinta o problema.

Dezavantajele protocolului de rutare dinamica:

Resursele routerelor sunt mai intens folosite.

Este necesara o cunoastere mai aprofundata in vederea verificarii si rezolvarii de


probleme in vederea configurarii retelei..

2.1.3

Clasificarea protocoalelor de rutare dinamica

Protocoale de rutare se impart in diferite categorii, in functie de caracteristici. Cele mai


comune utilizate sunt:

RIP(Routing Information Protocol) - unul dintre primele protocoale de rutare; a evoluat intr-o
versiune mai noua, RIPv2, dar care nu este scalabil

OSPF (Open Shortest Path First) este un protocol creat sa raspunda nevoii de convergenta a unei
retele mai mare si complicate, ca si

IS-IS (Intermediate System-to intermediate System)

IGRP (Interior Gateway Routing Protocol) si

EIGRP (Enhanced IGRP) au fost dezolvate de Cisco si sunt de asemenea scalabile

BGP (Border Gateway Routing) a fost creat pentru a interconecta diferite intra-retele si de a
realiza procesul rutare printre ele.

Figura 2. Clasificarea protocoalelor de rutare

2.2 Protocolul Distance Vector


2.2.1

Algoritmul de rutare Distance Vector

Algoritmul Distance Vector este utilizat pentru a calcula cele mai bune cai si pentru trimite
informatia catre vecini.
Algoritmii de rutare implementati de protocoalele de rutare definesc urmatoarele procese:

1. Mecanisme pentru trimiterea si receptarea informatiei de rutare


2. Mecanisme pentru calcularea celei mai bune cai si instalarea de rute in tabela de rutare.
3. Mecanisme pentru detectarea si schimbarilor de topologie, cat si reactia topologiei la schimbari.
Protocolul Distance Vector. Asa cum implica si numele, rutele sunt considerate ca niste vectori
cu lungime(distanta) si directie. Distanta este definite ca metrica (numarul de noduri de care trebuie sa
teaca un pachet pentru a ajunge la destinatie) si directia este urmatorul nod sau interfata de iesire.

De exemplu, in Figura 3. routerul R1 stie ca pentru distanta pana la reteaua 172.12.3.0/24 este
de un nod si interfata de iesire spre routerul R2 este S0/0/0.

Figura 3.

Protocolul de rutare Distance Vector foloseste algoritmul Bellman-Ford de rutare, numit dupa cel
care l-a dezvoltat( Bellman, 1957; Ford si Fulkerson, 1962) pentru a determina cea mai buna ruta.
A fost algoritmul original ARPANEET si a fost introdus in Internet sub numele de RIP.
Desi acest algoritm acumuleaza suficiente date pentru a mentine convergenta unei retele, acesta
nu permite routerelor sa stie topologia exacta a intra-retelei. Routerul primeste informatii despre
rutare doar de la vecini.

2.2.2

Algoritmul Bellman-Ford
In cadrul acestui alogoritm vecinii schimba informatii periodic sau dupa schimbari de topologie.
1. Se considera calculul pentr o destinatie d
2. Initializare
2.1 Fiecare nod are o cale catre destinatia d
2.2 Distanta nodului d catre el este zero Dd=0
2.3 Distanta altui nod j catre d este infinit Dj= pentru jd
2.4 Urmatorul nod nj =-1 pentru a indica faptul ca inca nu a fost definit pentru jd
3. Pasul de trimitere
3.1 Trimite o noua distanta-vector pentru vecinii situati in imediata apropiere a legaturii
locale.
4. Pasul de primire
4.1 La nodul j, gaseste nodul urmator care ii ofera distanta minima catre d
4.2 Min j {Cij + Dj}
4.3 Inlocuieste vechiul (nj, Dj(d)) de (nj*, Dj*(d)) pentru un nou nod sau distanta gasita.
In continuare voi lua exemplul unui nod d care este calculat in mod paralel de mai celelate

noduri din retea.

Iteration
Initial
1
2
3

Node
1

Node
2

(-1, )

Node
3

(-1, )

Node
4

(-1, )

Node
5

(-1, )

(-1, )

Figura BF.1

Iteratie

Nod 1

Nod 2

Nod 3

Nod 4

Nod 5

Initial

(-1, )

(-1, )

(-1, )

(-1, )

(-1, )

(-1, )

(-1, )

(6,1)

(-1, )

(6,2)

2
3

Figura BF.2

Iteratie

Nod 1

Nod 2

Nod 3

Nod 4

Nod 5

Initial

(-1, )

(-1, )

(-1, )

(-1, )

(-1, )

(-1, )

(-1, )

(6, 1)

(-1, )

(6,2)

(3,3)

(5,6)

(6, 1)

(3,3)

(6,2)

Figura BF.3

2.2.3

Caracteristici
Update-urile (actualizarile) periodice sunt trimise la intervale regulate de timp (30 de secunde);

acestea sunt trimise chiar daca nu au fost receptionate schimbari in retea de la ultimul update si sunt
trimise catre toti vecinii. Routerul are informatii in tabela de rutare privind doar adresele de retea
conectate la propriile interefete si retelele la care poate sa ajunga prin intermediul vecinilor.
Intreaga tabela de rutare este trimisa la adresa 255.255.255.255.

In Figura 4 este aratat modul in care 4 routere isi trimit tabela de rutare la fiecare 30 de secunde
catre toti vecinii.

Figura 4.

In figura urmatoare este prezentat modul de actualizare a tabelei de rutare in urma unui update
primit.

Timpul de convergenta al unei retele depinde este direct proportional cu marimea retelei. Acest
timp depinde de cat de repede routerele propaga update-urile catre ceilalti vecini atunci cand apare o
modificare in topologia retelei si de viteza de calculare a celei mai bune rute utilizand informatia de rutare
primita.
O retea nu este complet operabila pana cand nu a convers, de aceea, administratorii de retea
prefera potocoale de rutare cu timpi de convergenta mici.
Buclele de rutare este o conditie in care un pachet este trimis in mod constant pe anumite rute
fara ca el sa ajunga la reteaua desintatie. Bucla de rutare apare cand doua sau mai multe routere au
informatii despre rutare incorecte sau care indica ca exista o cale catre o ruta la care nu se poate ajunge.
Count-to-infinity este o conditie in care exista cand un update inexact mareste metrica spre
infinit pentru a retea la care nu se mai poate ajunge. Eventual, pentru a opri incrementarea, inifnitul
este definit de o valoare maxima a metricii. De exemplu, RIP defineste infinitul ca fiind o metrica de 16
noduri. Retea catre care numarul de noduri este sau depaseste 16 este considerata o retea la care nu se mai
poate ajunge.
Pentru a preveni buclele de rutare sunt folosite Timerele Holddown care se utilizeaza pentru a
impiedica mesajele de update venite de la restabilirea neadecvata a unei rute care nu a functionat.
Timerele holddown instiinteaza routerele sa pastreze orice schimbare care ar putea sa afecteze rutele
pentru un anumita perioada timp. Daca o ruta este anuntata ca picata, sau posibil picata, orice alta
informatie catre acea ruta continand aceeasi stare, sau mai rau, este ignorata pentru a perioada de timp
determinata (perioada holddown). Asta inseamna ca routerele vor marca o ruta ca fiind inaccesibila in
acea stare pentu o perioada de timp suficienta pentru ca update-urile sa propage tabelele de rutare cu
informatia curenta.

2.3 EIGRP(Enhanced Interior Gateway Routing Protocol)

Protocului EIGRP a fost creat de Cisco datorita faptului ca protocolul RIP era limitat in ce privea
numarul de noduri si dimensiunea unei retele la maxim 15 noduri.
In loc de numarul de noduri. EIGRP foloseste largimea de banda, intarzierea si increderea ca si
metrica. Fara nicio setare, EIGRP foloseste doar largimea de banda si intarzierea.
Protocoalele de rutare distance-vector utilizeaza forme variate ale algortimului Bellman-Ford sau
Ford-Fulkerson.
EIGRP utilizeaza algoritmul DUAL (Diffusing Update Algorithm). Desi este tot un algoritm de
rutare distance vector, EIGRP cu DUAL implementeaza caracterstici care nu se regasesc in protocoalele
tradtionale de acelasi tip.
Determinarea caii. Algoritmul DUAL permite protocolului EIGRP sa pastreze o tabela
topologica separata de tabele de rutare, care include calea cea mai buna catre destinatie, dar si toate caile
secundare care nu contin bucle de rutare. Daca o ruta nu mai este valabila, DUAL va cauta in tabela
topologica pentru o alta ruta valida. Daca exista, aceasta va intra imediat in tabela de rutare, iar daca nu,
DUAL va efectua o analiza asuprea retelei in vederea gasirii unei rute de rezerva.
Convergenta. Protocoalele traditionale care implementeaza algoritmul distance vector utilizeaza
update-uri regulate.
EIGRP nu utilizeaza timere holddown, iar update-urile privind informatiile despre topologie nu
mai sunt regulate. Caile care nu contin bucle de rutare sunt obtinute in urma unui sistem de calculare a
rutelor.

2.3.1

Pachete

EIGRP utilizeaza 5 tipuri de pachete, unele dintre acestea in pereche.


Pachetele Hello sunt utilizate pentru a descoperi vecnini si pentru a forma adicente cu acestia.
Acestea sunt multicast.
Pachetele Update sunt folosite de EIGRP pentru a propaga informatii despre rutare. Acestea unt
trimise doar cand este necesar. Sunt trimise multicas,t atunci cand sunt cerute de mai multe routere, sau
unicast atunci cand informatia este ceruta doar de un singur router.
Pachetele Query si Reply sunt folosite cand se cauta retele. Pachetele de tip query sunt trimise
multicast, pe cand cele Reply sunt folosite unicast.
Pachetul Acknowledgment este trimis inapoi atunci cand este folosit un protocol de rutare sigur.
In Figura 5, R2 si-a pierdut conectivitatea catre LAN si analizeaza reteaua in scopul gasirii unei
noi rute catre LAN.

Figura 5.

2.3.2

Algoritmul DUAL

Algoritmul DUAL prevede cai fara bucle de rutare, cai secundare care pot fi utilizate imediat,
convergenta rapida si o latime de banda folosita la minim. Acesta prezinta cativa termeni.
Succesorul este un router vecin care este folosit pentru a forwarda pachetul si reprezinta cel
mai mic cost pentru destinatie. Adresa IP a succesrului este aratata in tabela de rutare.
Distanta fezabila (FD) este metrica cea mai mica, aceasta este calculata in vederea ajungerii
la destinatie.
Succesorul fezabil (FS) este un vecin care are o ruta secundara fara bucle catre aceeasi
destinatie, indeplinind in acelasi timp conditia de fezabilitate.
Conditia de fezabilitate (FC) este indeplinita cand distanta raportata de un vecin este mai
mica decat distanta fezabila a routerului local pentru aceeasi destinatie. In figura urmatoare este
reprezentata o linie din tabela de rutare care contine reteaua destinatie, calea (succesorul) si interfata de
iesire a pachetului catre destinatie.

Distanta fezabila

Succesorul

Distanta raportata este metrica pe care un rute o anunta catre un vecin spre o anumita retea.
Succesorul, distanta fezabila si toti succesorii cu distantele lor raportate sunt pastrate de
router in tabela topologica. Tabela topologica listeaza toti succesorii si succesorii fezabili pe care DUAL
i-a calculat spre retelele destinatie.

In figura urmatoare este reprezentat un exemplu de linie din tabela topologica pentru reteaua
192.168.1.0/24:

unde:

reteaua destinatie

distanta fezabila pana la reteaua destinatie

numarul de succesori

distanta raportata a succesorului

adresa urmatorului nod pentru succesorul fezabil

adresa urmatorului nod pentru succesor

distanta fezabila pentru reteaua destinatie


distanta raportata a succesorului fezabil

2.3.3

Metrica EIGRP

EIGRP ia in considerare latimea de banda, intarzierea, increderea si incarcatura unei conxiuni


in vederea calcularii caii spre o retea.
Metrica este una compusa din acestea valori si este determinata de formula:
Metrica=[K1*latimea de banda + (K2*latimea de banda)/(256-incarcatura)+K3*intarzierea] *
[K5/(increderea + K4)]

(1)

In general, K2, K4 si K5 sunt nule, dar pot fi setate cu anumite valori de catre administrator. K1
si K3 sunt egale cu 1, daca nu se intervine asupra modificarii lor. Asadar, formula implicita pentru
calcularea, metricii este:
Metrica=[K1*latimea de banda +K3*intarzierea]

(2)

Latimea de banda (Bandwith) este exprimata in Kbit. Valoarea implicita a unor interfete seriale este de
1544 Kbit. Modificarea valorii latimii de banda nu schimba latimea de banda reala a legaturii.
Intarzierea este reprezinta timpul necesar unui pachet care traverseaza reteaua. Intarzierea este o
valoare statica bazata pe tipul de legaturi cu care este conectata interfata si este exprimata in microsecunde.
Valoarea implicita este de 20000 de microsecunde.
Increderea este o masoara probabilitatea ca legatura sa cedeze sau de cat de des acea legatura a
inregistrat erori. Este masurata dinamic cu o valoare intre 0 si 255: valoarea 1 reprezinta o legatura cu o incredere
minima, iar valoarea 255 reprezinta o incredere de 100%.
Incarcatura reflecta cantitatea de trafic suportata de legatura. Este determinata in mod dinamic si ia o
valoare intre 0 si 255, similar cu increderea. Asadar, 1 reprezinta o legatura cu incarcatura minima, iar 255 descrie
o legatura saturata 100%.

Concluzie
In concluzie, EIGRP-ul reprezinta un protocol de rutare care reprezinta imbunatatiri fata de
RIP, RIPV2, dar nu se poate utiliza in intra-retele.

2.4 Protocolul de rutare Link-State

Protocoalele de rutare distance vector se bazeaza pe distanta sau metrica in alegerea caii spre o
retea.
Protocolul de rutare link-state abordeaza altfel aceasta poblema: el ia in calcul starea
legaturilor, alcatuind o harta a topologiei.
Routerele care implementeaza un astfel de protocol trimit informatii despre starea propriilor
legaturi catre celelalte routere din acelasi domeniu de rutare. Prin urmare, cu informatiile primite, fiecare
router isi poate alcatui propri harta a topologiei si poate calcula in mod independent calea cea mai buna
catre o anumita retea.
Protocoalele link-state sunt cunoscute si ca Cea Mai Scurta Cale Intai (Shortest
Path First-SPF) si sunt implementate in jurul algoritmului Edsger Dijkstra. Ele sunt mai complicate decat
protocoalele distance vector. Cu toate acestea, functionalitatea si configurarea acestora nu este complexa.
2.4.1

Algoritmul Dijkstra

Algoritmul Dijkstra este de cele mai multe ori referit ca algoritmul SPF. Acest algoritm aduna
costul de-a lungul fiecarei legaturi, de la sursa la destinatie. In figura 6, fiecare cale are reprezentat costul,
iar fiecare router calculeaza costul pana la R2.

Figura 6.

Pentru a se ajunge la convergenta topologiei, fiecare router din retea trebuie sa indeplineasca
urmatorul algoritm:
1. Fiecare router invata despre propriile lui legaturi, despre propriile retele conectate. Acest lucru este
indeplinit atunci cand o interfata este ridicata.
2. Fiecare router este responsabil pentru legarea conexiunilor retelele direct conectate. Similar cu EIGRPul, routerele care ruleaza un protocol link-state face acest lucru prin schimbarea de pachete Hello cu
celelalte routere direct conectate care implementeaza acelasi protocol. Figura 7 ilustreaza acest aspect.

Figura 7.

3. Fiecare router realizeaza un pachet Link-State (LSP) care contine starea fiecarei legaturidirect
conectate. Acest lucru se realizeaza prin inregistrarea tuturor informatiilor despre fiecare vecin, incluzand
ID-ul acestuia, tipul de legatura si latimea de banda.
4. Fiecare router trimite catre toti vecinii pachetele LSP, care vor pastra LSP-ul primit intr-o baza de date.
Apoi, vecinii trimit pachetele LSP catre toti vecinii lor pana cand toate routerele vor fi primit aceste
pachete. Fiecare router pastreaza o copie a fiecarui pachet LSP primit de la vecinii sai intr-o baza de date.

5. Fiecare router foloseste baza de date pentru a construi o harta completa a topolgiei si pentru a calcula
calea optima pentru fiecare retea destinatie.
Legatura. In cadrul abordarii acetui protocol, legatura este a interfata a unui router. Ca si in
cazul protocolului distance-vector, interfata trebuie configurata cu o adresa de IP si cu o masca de
subretea, iar interfata trebuie ridicata, inainte ca protocolul link-state sa invete despre ea.
Starea legaturii. Starea legaturii este reprezentata de informatia referitoare la acea legatura.
Aceasta cuprinde : adresa de IP a interfetei precum si masca de subretea, tipul de retea cum ar fi Ethernet
(broadcast) sau Serial legatura punct la punct, costul si orice router vecin legaturii.
Protocoalele de rutare link-state ca OSPF sau IS-IS utlizeaza conceptul de arie. Mai multe
arii creaza un design ierarhic al retelelor, permitand agregarea rutarii si izolarea problemelor la nivel de
arie.
De exemplu, cand are loc o schimbare in topologie, doar routerele din zona afectata vor
primi pachetele LSP si vor rula algoritmul SPF. Acest lucru poate ajuta la izolarea unei legaturi instabile
intr-o anumita arie in domeniul de rutare. In Figura 8 sunt prezentate 3 ari: Aria 0, Aria 1 si Aria 51. Daca
Aria 51 pica, pachetele LSP cu informatia despre aria picata este trimisa doar routerelor din acea arie.
Doar routerele din Aria 51 vor avea nevoie de o actualizare in baza de date a starilor legaturilor, vor rula
algoritmul SPF, vor crea un nou arbore SPF (sau harta) si isi vor actualiza tabelele de ruatre. Routerele
din aria lor vor invata despre ruta picata, dar acest lucru se va intampla prin primirea de pachete cu starea
legaturilor care nu implica rerularea algoritmului SPF. Routere din celelalte arii pot sa isi actualizeze
tabela de rutare direct.

Figura 8.

Protocoalele link-state necesita, de obicei, mai multa memorie, putere mai mare a procesorului, si
cateodata, o latime de banda mai mare decat protocoalele distance-vector. Necesitatea unei memorii mai
mare se datoreaza bazei de date cu starile legaturilor si crearea arborelui SPF, iar necesitatea unei puteri
mai mare a procesorului se datoreaza hartii topologiei create. Latimea de banda trebuie sa fie mai mare
deoarece inundarea cu pachete LSP poate afecat latimea de banda in retea.

2.5 OPEN SHORTEST PATH FIRST (OSPF)

OSPF este un protocol link-state care a fost creat ca un inlocuitor pentru protocolul distance-vector.
Cel mai mare avantaj este rapiditatea convergentei si scalabilitatea retelei intr-o retea mai mare.
Prima dezvoltare a OSPF a inceput in 1987 de catre Engineering Task Force (IETF) OSPF Working
Group. In acel timp, Internetul reprezenta un mare proiect de cercetare fondat de guvernul din Statele
Unite. In 1989, specificatiil OSPFv1 au fost publicate in RFC 1131. Au fost scrise doua implemetari: una
care se putea rula pe routere si alta pe statii de lucru UNIX. In 1991, a fost introdus OSPFv2 in RFC 1247
de John Moy, iar in 1999, a fost publicat OSPFv3 pentru IPv6 in RFC 2740.
2.5.1

Pachete

In capitolul anterior, au fost descrise pachetele LSP. Fiecare din pachetele OSPF are un rol bine
determinat in procesul de rutare.
1. Pachetul Hello este folosit pentru stabilirea si mentinerea adiacentelor cu alte routere OSPF. El
este trimis la fiecare 10 secunde.
2. Pachetul cu Descrierea Bazei de Date (DBD) contine o forma prescurtata a bazei de date cu starea
legaturilor a routerului emitent si este folosit de routerele receptoare pentru a verifica propria lor
baza de date cu starea legaturilor.
3. Pachetul

Cerere a Starii Legaturilor (LSR) routerele receptoare pot solicita mai multa

informatie asupra orice intrare in baza de date trimitand un pachet LSR.


4. Pachetul Update a Starii Legaturilor (LSU) este folosit pentru a raspunde pachetelor LSR sau si
pentru a anunta noi informatii. Acest pachet este contine LSA-uri(Link-State Advertisments) care
contine ultimele detalii despre starea legaturilor.

5. Acknowledgement a Starii Legaturilor (LSAck) - atunci cand este primit un pachet LSU, routerul
trimite un pachet LSAck pentru a confirma primirea pachetului LSU.

2.5.2

Algoritmul OSPF

Stabilirea vecinilor- inainte ca un router sa inunde cu informatii privind starea legaturilor sale
celelallte routere, el trebuie sa determine daca exista vreun vecin conectatat la vreuna din legaturile sale.
In Figura 9, routerele OSPF trimit pachete Hello tuturor interfetelor OSPF activate in vederea gasirii
unui vecin. Informatia din pachetele OSPF include ID-ul routerului OSPF care trimite pachetul. Primind
un pachet Hello pe o interfata, confirma faptul ca mai exista un alt router OSPF pe acea legatura. Atunci,
OSPF realizeaza o adiancenta cu vecinul. De exmplu, in figura, R1 va stabili o adiacenta cu R2 si R3.

Figura 9
Inainte ca doua routere sa isi formeze adiacenta, ele trebuie sa se puna de acord in privinta a trei
valori: intervalul de trimitere al pachetelor Hello, intervalul de trimitere al pachetelor Dead si tipul retelei.
In cele mai multe cazuri, pachetele Hello sunt trimise multicast catre o adresa rezervata pentru toate
routerele OSPF : 224.0.0.5. Utilizarea o adresa multicast, permite unui dispozitiv sa ignore pachetul pe
interfata daca aceasta nu este setata sa accepte pachete OSPF.

Intervalul Dead este perioada, exprimata in secunde, in care routerul va astepta sa primeasca un nou
pachet Hello inainte sa declare vecinul ca fiind picat. Ca valoare implicita, intervalul Dead este de 120
de secunde.
Daca intervalul Dead expira inainte ca routerul sa primeasca un pachet Hello, OSPF va elimina acel
vecin din baza de date. Routerul va trimite informatia cu starea legaturilor despre vecinul picat pe toate
interfetele OSPF activate.
Alegerea unui DR si BDR - pentru a reduce traficul in retelele multi-acces, OSPF alege un Router
Desemnat (DR) si un Router Desemnat de Rezerva (BDR). DR-ul este responsabil pentru actualizarea
tuturor routerelor OSPF cand intervine o schimbare in reteaua multi-acces. BDR-ul ia locul DR-ului cand
acesta pica.
Crearea unei adiacente privind fiecare pereche de routere poate crea un numar prea mare de
adiacente. Acest lucru duce la un numar excesiv de LSA-uri care se plimba intre routerele din aceeasi
retea.
Pentru fiecare numar de routere ( de exemplu n) intr-o retea, vor fi n*(n-1)/2 adiacente. Figura 10
arata o topologie simpla de 5 routere, toate conectate in aceeasi retea Ethernet multi-acces. Aceste routere
vor forma 10 adiacente. Numarul adiacentelor creste odata cu cresterea retelei. Folosind acelasi algoritm,
10 routere vor forma 45 de adiacente, iar 20 de routere vor forma 190 de adicente.

Figura 10. Topologie cu 5 routere, 10 adiacente

Intr-o retea multi-acces, aceasta inundare cu pachete LSA poate deveni excesiva. Daca fiecare retea
ar trebui sa inunde cu LSA-uri toate routerele din aceeasi retea, traficul ar fi dat peste cap. Figura 11
ilustreaza cum 5 routere trimit pachetele LSA celorlalte routere.

Figura 11.
Solutia pentru aceasta situatie este DR-ul. In retelele multi-acces, OSPF-ul alege un DR care va
reprezenta un punct de colectie si distrinuire pentru LSA-urile trimise si primite. OSPF-ul alege si un
BDR care va lua locul DR-ului atunci cand acesta cedeaza. Celelalte routere devin DROthers (nu sunt nici
DR, nici BDR). Acest lucru inseamna ca in loc sa inunde cu LSA-urile lor , celelalte routere vor trimite
aceste pachete doar DR-ului si BDR-ului utilizand adresa de multicast 224.0.0.6.
Fiecare router mentine o baza de date continand detalii despre starea legaturilor de la alte
routere. Odata ce un router a primit astfel de detalii si isi construieste baza de date proprie, OSPF
utilizeaza algoritmul Dijkstra pentru a crea arborele SPF. Arborele SPF este folosit pentru a popula tabela
de routare cu cele mai bune cai catre fiecare retea.

Datorita faptului ca DR-ul devine punctul central al colectiei si distributiei de pachete LSA, este
foarte important ca acesta sa aia o putere de procesare si memorie mare pentru a face fata
responsabilitatii. Pentru a alege un anumit router ca find DR, se poate adauga o prioritate mai mare pe
interfata OSPF. In mod implicit, prioritatea fiecarei interfete este 1, dar ea poate fi modificata setand un
numar intre 0 si 255. Valoarea 0 se atribuie routerelor care nu vor sa fie alese DR si BDR.
Alegerea DR-ului si BDR-ului are loc imediat ce un router cu o interfata OSPF e acti intr-o retea
multi-acces. Procesul are loc in cateva secunde.
Router ID- ID-ul routerelor OSPF este folosit pentru a identifica in mod unic domeniul de rutare
OSPF. ID-ul este o adresa IP. Daca ID-ul routerului nu a fost configurat, routerul alege adresa cu cea mai
mare adresa IP de pe interfetele sale loopback. O interfata Loopback este o interfata virtuala si este
automat ridicata atunci cand este configurata. Daca nu a fost configurata nicio interfata loopback, routerul
alege cea mai mare adresa IP configirata pe interfetele sale fizice active.
Asa cum a fost prezentat la sfarsitul capitoului anterior, protocolul OSPF implmenteaza conceptul de
arie, iar mai multe arii creaza un design ierarhic al retelelor.
Area-id. O arie OSPF este un grup de routere care impart aceeasi informatie privind starea legaturilor.
Toare routerele OSPF din aceeasi arie trebuie sa aiba aceeasi informatie privind starea legaturilor in
bazele lor de date. Acest lucru se intampla odata cu inundarea cu informatie privind starea propriilor
legaturi catre toate routerele din acea arie.
O retea OSPF poate fi configurata ca fiind alcatuita din mai multe arii. Exista cateva avantaje in
configurarea unei retele mari OSPF in mai multe arii, incluzand baze de date privind starea legaturilor
mai mici si abilitatea de a izola problema retelelor instabile in interiorul ariei.
Concluzii

Crearea tabelei de rutare


Protocoalele de rutare link-state creaza o harta topologica, sau un arbore SPF al topologiei, darita
faptului ca routerele schimba informatii privind starea legaturilor. In acest mod, fiecare router isi poate
construi calea cea mai scurta pana la fiecare retea destinatie.
Protocoalele distance-vector nu realizeaza acest proces. Acestea contin doar o lista a retelelor ce
contine costul (distanta) si routerele urmatoare (next-hop) catre retelele destinatie.

Convergenta
Cand se primeste un pachet cu starea legaturilor (LSP), protocolul link-stare inunda toate interfetele
cu acel pachet, mai putin interfata pe care a venit. Un router cu protocol distance-vector ar nevoie sa
proceseze fiecare update si sa isi actualizes tabela de rutare inainte sa o trimita pe toate interfetele.
In cazul protocolului link-state se obtin timpi de convergenta mai mici.
Trimiterea Update-urilor
Dupa inundarea initiala cu LSP-uri, protocolul link-state va trimite din nou un pachet LSP doar cand
exista o schimare in topologie. Pachetul LSP contine informatii privind doarr legaura afectata. In cazul
acestui protocol, nu se trimit update-uri trimise periodic.
Designul ierarhic
Protocoalele de rutare link-state ca OSPF sau IS-IS utlizeaza conceptul de arie. Mai multe arii creaza
un design ierarhic al retelelor, permitand agregarea rutarii si izolarea problemelor la nivel de arie.

También podría gustarte