Documente Academic
Documente Profesional
Documente Cultură
SWITCH-ul de
nivel 2 si de nivel 3
Proiect RC
Autori:
Fratila Dragos Sorin 443A
Petrescu Mihai Cristian 443A
au fost trimise. La destinatie pachetele unui mesaj sunt adunate si reasamblate pentru a forma
mesajul original.
La dezvoltarea unei topologii de retea este recomandata folosirea modelului ierarhic.
Acesta presupune impartirea retele in nivele distincte [2] . Fiecare nivel realizeaza functii
specifice ce ii definesc rolul in intreaga retea . Prin separarea numeroaselor functii ce exista
intr-o retea , dezvoltarea retelei devine modulara , lucru ce faciliteaza scalabilitatea si
performanta.
Modelul ierarhic general este impartit in trei nivele : acces , distributie si miez .
La nivelul de acces , se realizeaza conectarea cu dispozitive terminale cum ar fii PCuri , imprimante sau alte echipamente pentru a le da accesul la restul retelei . Acest nivel poate
include rutere , switch-uri , bridge-uri , hub-uri . Principalul scop al acestui nivel este de a da
mijloace de conectare a dispozitivelor la retea si de a controla care dispozitiv este voie sa
comunice prin retea.
Nivelul de distributie realizeaza agregarea datelor primite de la switch-urile din
nivelul de acces inainte de a fi transmise la nivelul urmator (miez) pentru rutarea
catredestinatia finala . Acest nivel controleaza fluxul de trafic de pe retea folosind politici si
delimiteaza domeniile de broadcast prin realizarea functiilor de rutare intre VLAN-urile
definite in nivelul de acces . VLAN-urile permit segmentarea traficului printr-un switch in
subretele separate.
Miezul retelei este critic in conectivitatea dintre dispozitivele de la nivelul de acces ,
deci este important ca acesta sa fie redundant si sa lucreze la viteze mult mai mari . Aceasta
parte poate fi conectata la Internet . Acest nivel realizeaza agregarea traficului de la toate
dispozitivele din nivelul de distributie deci trebuie sa fie capabil sa proceseze cantitati mari de
date foarte rapid.
Un alt mod utilizat de switch-uri este cunoscut sub numele de operatia cut-through [4]
(taie-prin). Operatia cut-through nu executa verificarea de erori si nu asteapta data complete
sa fie primite inainte de a fi inaintate. Acesta inainteaza datele imediat cum swith-ul determina
adresa de destinatie din antetul cadrului. Avantajul acestei metode consta in lucrul rapid.
Folosind acest mod, latenta dintre portul de intrare si cel de iesire poate fi micsorata
semnificativ (cat dureaza pana datele ajung de la portul de intrare la portul de iesire).
Bineintes dezavantajul consta in faptul ca datele cu cadre corupte nu vor fi filtrate deoarece nu
sunt executate verificari de erori.
Switchl verifica adresele MAC sursa si destinatie ale cadrele pe care le receptioneaza si
transmite respectivele cadre catre porturile corespunzatorare.
Prin urmare, comutarea pachetelor la nivelul 2 OSI se bazeaza pe hardware sau altfel
spus foloseste adrese fizice(MAC).
dispozitiv. Codul producatorului este stabilit de catre IEEE in timp ce identificatorul este
atribuit chiar de catre producator.
Cu exceptia SNA (Systems Network Architecture), utilizatorii nu au control asupra
dreselor de nivel 2. In majoritatea retelelor, administratorilor le revine sarcina de a atribui
doar adrese de nivel 3. In acest caz putem spune ca administratorii creeaza retele locale ce
se comporta ca un singur spatiu de adresare (blocul-strada-orasul-tara).
Un switch Ethernet poate invata adresa oricarui dispozitiv din retea prin citirea
adresei sursa continuta in fiecare pachet si notarea portului prin care cadrul a intrat in
switch. Aceste adrese sint memorate intr-o baza de date. Adresele echipamentelor din retea
sint memorate in mod dinamic, altfel spus, pe masura ce apare un dispozitiv nou, adresa sa
este citita, invatata si memorata intr-o zona de memorie (CAM-content addressable
memory). Cand switchul identifica o adresa pe care nu o regaseste in CAM, o memoreaza
pentru o utilizare viitoare. In momentul memorarii, adresa este stampilata si cu data cand
a fost adaugata in CAM. Ori de cate ori o adresa este referita sau adaugata in CAM i se
inregistreaza si noua data (inclusiv ora) la care a avut loc operatiunea. Adresele la care nu
se face referire o anumita perioada de timp sint sterse din CAM. Prin acest mecanism, baza
de date cu adresele MAC ale dispozitivelor din retea este actualizata in mod constant. [11]
2.4.Functionarea switchului
Pornind de la imaginea de mai sus vom incerca sa vedem mai in detaliu cum
functioneaza un switch. La pornire, tabela cu adrese MAC nu contine nici o inregistrare.
Cand un calculator (1) transmite si un port receptioneaza un cadru, switchul preia adresa
MAC a calculatorului sursa si o plaseaza in tabela de filtrare impreuna cu portul de unde a
fost preluat. Avand in vedere ca destinatarul nu este cunoscut, switch-ul nu va avea de ales
si va trebui sa inunde reteaua cu acest cadru. [11]
Daca un calculator din retea (3) raspunde si trimite inapoi un cadru, switchul va prelua
adresa sursa din acest cadru si o va inregistra in baza de date cu adrese MAC in asociere cu
portul de pe care a fost primit. Din acest moment, switchul va putea realiza o conexiune
puncat-la-punct, cadrele fiind transmisie doar intre cele doua calculatoare. [11]
De fiecare data cand un cadru este receptionat pe un anumit port, adresa MAC
destinatie va fi comparata cu inregistrarile din baza de date a switchului. Daca aceasta adresa
este cunoscuta si apare in baza de date, cadrul va fi transmis catre portul corespunzator. In caz
contrar, cadru este transmis broadcast (mai putin portul pe care a fost receptionat), adresa
calculatorului care raspunde la broadcast urmand a fi inregistrata in baza de date cu adrese
MAC.
Daca tot am pomenit de broadcast, trebuie facuta o precizare: cadrele broadcast si
multicast nu specifica adrese MAC destinatare. Adresa sursa va fi intotdeauna adresa MAC
a dispozitivului care transmite cadrul, in timp ce adresa destinatie poate fi o adresa
broadcast (toti bitii 1) sau una multicast (bitii din portiunea host au valoarea 1). Broadcastul
va fi transmis catre toate retelele si hosturile acestora in timp ce multicastul va fi transmis
tuturor hosturilor unei anumite retele. [11]
Ce se intampla insa atunci cand o legatura se intrerupe? [11] Am putea spune ca intr-o
retea ar fi bine sa existe legaturi redundante. Corect. Aceasta rezolvare insa, mai mult incurca
decat ajuta. Atat timp cit brodcastul este transmis tuturor retelelor, furtuna broadcast sau
altfel spus circulatia mesajelor in bucla nu poate fi evitata. Ce se intampla in astfel de
situatii? Un calculator va primi copii ale aceluiasi cadru, dar de la surse diferite, de pe
segmente de retea diferite. Tabela cu adrese MAC de pe switch nu mai stie ce sa
inregistreze. Switchul nu stie care cadru trebuie transmis in retea deoarece tabela MAC este
actualizata continuu. Aceasta situatie are o rezolvare si se numeste Spanning Tree Protocol.
Comutarea simetrica a pachetelor [11] caracterizeaza o retea in care switchul aloca
latimea de banda in mod egal fiecarui port. Un switch simetric ofera deci conexiuni intre
porturi cu aceeasi latime de banda: 10Mbps sau 100Mbps. Spre deosebire de acesta, un switch
asimetric ofera conexiuni intre porturi cu latimi de banda diferite, cum ar fi o combinatie
10-100Mbps.
Switch-urile asimetrice [11] sunt folosite mai ales in cazul traficului generat de
aplicatii client-server. Intr-un astfel de switch bufferingul memoriei trebuie sa permita
traficului de pe portul pe 100Mbps sa fie transmis catre portul pe 10Mbps fara sa conduca la
blocarea acestuia din urma.
Un switch Ethernet foloseste o tehnica buffering prin care memoreaza si transmite
pachetele catre porturile corecte. Zona de memorie in care se pastreaza datele ce trebuie
transmise se numeste buffer. Aceasta zona de memorie poate folosi doua metode de
transmise a pachetelor: port-based memory buffering sau shared memory buffering. [11]
In bufferingul de tip port-based [11], pachetele sint memorate intr-o coada de asteptare
in functie de portul pe care au intrat. Un pachet este transmis catre destinatie abia cand toate
pachetele dinaintea sa au fost transmise. Acest lucru face posibil ca un singur pachet sa
intarzie intreaga transmisie a pachetelor din memorie ca urmare a ocuparii portului
destinatie (de exemplu.). Aceasta intarziere apare chiar daca alte pachete pot fi transmise
catre porturi care sint libere.
In bufferingul de tip shared memory [11], switchul depoziteaza pachetele intr-o zona
de memorie care este partajata intre toate porturile. Memoria alocata unui port depinde de cit
cere fiecare port la un moment dat, altfel spus este alocata in mod dinamic. Pachetele din
buffer sint asociate dinamic portului care transmite. Aceasta ofera posibilitatea ca un pachet
sa fie receptionat pe un port si transmis pe un altul fara ca datele sa mai stea la coada.
Switchul intretine o harta a tuturor porturilor catre care trebuie transmis un pachet.
Dupa ce transmisia pachetului s-a facut cu succes, aceasta harta este stearsa. Ca efect al
memoriei partajate, dimensiunea unui pachet este limitata la dimensiunea bufferului si nu
doar la cea alocata unui anumit port. Ce inseamna aceasta? Se pot transmite pachete mai
mari daca se distrug cateva pachete de dimensiuni reduse. Este o facilitate foarte importanta
in cazul switch-urilor 10/100Mbps, in care un port pe 100 poate sa transmita un pachet
catre un port pe 10 Mbps. [11]
2.5.1.Spanning Tree
Retelele comutate pot fi concepute in doua moduri: fizic sau logic. [2] Configurarea retelei
din punct de vedere fizic permite dispozitivlor precum calculatoare, switch-uri, rutere si
serverelor sa comunica una cu cealalta. Pentru a planifica controlul resurselor retelei pentru
perfomanta optimia si pentru a crea o retea eficienta, pot fi folosite mai multe tehnici diferite.
Spre exemplu, de controlul traficului retelei sa se ocupe subretele specifice si sa fie folosite
conexiuni redundante pentru a mentine integritatea retelei.
Configurarea retelei din punct de vedere logic este determinata prin modul in care trece
traficul prin reteaua fizica. Tehnici diferite sunt folosite pentru a minimiza bottleneck-urile
(stragularile) si legaturile ce sunt fortate foarte mult. Spre exemplu, managementul modului in
care trece traficul, prioritizarea si calitatea serviciului.
2.5.2.Network Looping
Buclele de retea apar atunci cand exista trafic de difuzare intre subretele. [2] Pachetele de
difuzare inaintate de la o sursa catre multiple porturi printr-o singura legatura vor returna o
difuzare catre sursa originala prin legatura redundanta daca mai mult de o legatura este
conectata la 2 subretele. Acest lucru poate declansa repetarea procesului si va duce la
repetarea infinita a debitului logic al pachetelor de-a lungul retelei fizica.
la o bucla infinita in retea. Acest lucru poate duce la intarzieri al altor cerinte legitime de
trafic.
O tehnica pemtru a opri aparitia buclelor din retea si de a pune la dispozitie managementul
efectiv al legaturilor redundante este Spanning Tree Protocol (802.1d).
2.5.3.Punti si comutatoare transparente (802.1d)
Comutatoarele sunt echipamente de interconectare de subnivel MAC. La momentul
propunerii primei variante de standard (anii 80) echipamentele de interconectare care
functionau la subnivel MAC erau puntile (bridge), dar in ultimii ani comutatoarele au inlocuit
puntile, datorita performantelor mult mai ridicate. Astfel, la nivel functional MAC, un
comutator este o punte cu mai multe porturi (o punte are in principiu, doar doua porturi). Desi
puntile au fost eliminate de comutatoare, terminologia din standard, precum si toate functiile
similare au pastrat termenii folositi in contextul puntilor (Bridge). [2]
Prin definitie, o punte transparenta are urmatoarele functii [4]:
- nu produce modificari cadrelor pe care le redirecteaza;
- invatarea adreselor MAC prin ascultare (learning by listening). Aceste adrese sunt
invatate de catre comutator pe baza campului de adresa MAC sursa al cadrelor receptionate pe
fiecare port, iar informatia este stocata in tabela de adrese. Astfel, adresele sunt associate
portului pe care au fost receptionate cadrele MAC, iar comutatorul va presupune in
continuare ca statiile cu aceste adrese MAC sunt disponibile pe porturile asociate;
- retransmite fiecare cadru de difuzare (broadcast) pe toate porturile sale, cu exceptia
portului pe care l-a primit;
- daca adresa MAC (unicast) a sistemului destinatie nu este cunoscuta, atunci
retransmite cadrul pe toate porturile sale, cu exceptia portului pe care l-a primit. Aceasta
procedura se numeste inundare (flooding).
calculatoarelor care pot folosi impreuna un mediu de transmisie (denumit segment) este
limitat.
Despre huburi (repetoare) am spus ca sint dispozitivele care regenereaza traficul unei
retele fara insa a filtra in vreun fel informatiile pe care le receptioneza/transmit. Informatiile
primite de un port al unui hub sint transmise tuturor celorlalte porturi. Prin urmare folosirea
acestor dispozitive conduce la extinderea unui domeniu de coliziune.
Exista o regula care trebuie respectata in retelele Ethernet: numarul maxim de huburi
intre doua calculatoare din retea trebuie sa fie 4! Aceasta deoarece fiecare hub induce
latenta, iar depasirea acestui numar duce la cresterea numarului de coliziuni intirziate.
Coliziunea intirziata apare dupa transmiterea primilor 64 bytes din cadru. Chipseturile
placilor de retea nu au capacitatea de a retransmite informatiile in urma aparitiei unei
coliziuni intirziate. [11]
In practica aceasta regula este cunoscuta sub denumirea 5-4-3-2-1: cinci sectiuni de
retea, 4 repetoare, 3 segmente cu hosturi, 2 segemente de legatura si un domeniu de
coliziune. [11]
Chiar daca sint dispozitive ieftine, repetoarele sint principalele echipamente care
contribuie la extinderea domeniilor de coliziune. Rezolvarea acestui neajuns consta in
segmentarea retelei cu ajutorul switch-urilor si ruterelor.
Doua sint motivele pentru care vom dori sa segmentam o retea:
izolarea traficului intre segementele retelei
obtinerea unei latimi de banda mai mari pentru utilizatori prin crearea
unor domenii de coliziune reduse.
Fara segementare, o retea mai mare decit cea destinata unui grup de lucru (de obicei
maximum 10 calculatoare), va deveni foarte repede inundata de coliziuni, ba chiar virtual,
In cazul unui switch [11], fiecare nod reprezinta o conexiune catre un segment de
retea. Crearea acestor microsegmente de retea conduce la eliminarea coliziunilor dintr-un
domeniu. Fiecare nod este conectat direct la un port al switch-ului, sau la un segment care
este conectat la un port. Prin aceasta se creaza o conexiune pe 10 Mbps intre fiecare nod si
fiecare segment al switch-ului. Un calculator conectat direct la un port al switch-ului va
reprezenta propriul sau domeniu de coliziune si va avea acces la intreaga latime de banda:
10Mbps.
Switch-ul citeste adresa sursa si/sau destinatie a fiecarui cadru pe care il primeste. In
functie de informatiile acumulate va hotari ce decizie trebuie luata: daca trebuie comutat
catre un alt segment sau nu.
Daca switchul [4] este considerat un echipament pasiv ce actioneaza doar la nivelul
legatura date, routerul actioneaza la nivelul retea si ia decizii pe baza adresleor folosite de
protocoalele acestui nivel. Acest lucru presupune examinarea adreselor destinatie continute
in fiecare pachet si consultarea tabelelor de rutare cu privire la instructiunile ce trebuie
urmate.
Cu ajutorul acestor echipamente se atinge cel mai ridicat nivel de segmentare datorita
capacitatii lor de a decide cu exactitate unde trebuie sa ajunga un pachet si ce cale trebuie sa
urmeze. Aceste actiuni induc insa inevitabil latenta. [4]
comporta precum o retea plana, deoarece creeaza un singur domeniu de difuzare si nu datorita
arhitecturii plane.
Marele avantaj al retelelor cu comutatoare este crearea domeniilor individuale de coliziune
pe porturi (pe fiecare port este un domeniu de coliziune) determinand eliberarea de
constrangerile din Ethernet referitoare la eliminarea coliziunilor. Astfel se pot crea un numar
mai mare de retele.
Dezavantajele cele mai mari create astfel sunt [2]:
1. marirea numarului de statii ce determina marirea numarului de pachete de difuzare
pe care comutatoarele trebuie sa le prelucreze;
2. securitate precara: intr-o retea de nivel 2 fiecare statie are acces la oricare alt
echipament din retea.
Securitatea poate fi marita prin limitarea accesului la servere cu parole, dar problema
difuzarii nu poate fi rezolvata.
Prin utilizarea VLAN-urilor se pot elimina unele din dezavantajele mentionate, deoarece prin
definirea VLAN-urilor lor se mareste numarul domeniilor de difuzare si se micsoreaza
numarul domeniilor de coliziune.
VLAN-urile simplifica administrarea retelei: schimbarile in retea pot fi facute prin simpla
asignare a unui port la un anumit VLAN. VLAN-urile intaresc securitatea: un grup de
utilizatori cu nevoi de securitate ridicata pot fi pusi in acelasi VLAN la care nu au acces restul
utilizatorilor. [2]
2.7.2.Definitie
O retea locala virtuala (VLAN) reprezinta o grupare logica a resurselor si utilizatorilor de
retea in functie de o organizare administrativa a porturilor comutatorului. VLAN-urile nu
depind de asezarea geografica sau configuratia fizica.
Prin utilizarea VLAN-urilor exista posibilitatea de a crea domenii de difuzare mai mici intr-o
retea de nivel 2 prin asignarea porturilor la diferite subretele.
Un VLAN se comporta ca o subretea [2] (domeniu de difuzare) prin urmare cadrele de
difuzare sunt comutate doar pe porturile apartinand aceluiasi VLAN. Implicit statiile de lucru
dintr-un VLAN nu pot comunica cu statii de lucru ce nu apartin aceluiasi VLAN. Pentru a
realiza comunicarea intre statii aflate in VLAN-uri diferite este nevoie de un ruter.
Pentru a comunica in Internet fiecare VLAN trebuie asociat cu o subretea, iar adresele de
nivel 3 (adresele IP) ale statiilor trebuie alocate corespunzator cu subreteaua asociata VLANului.
2.7.3.Caracteristici
A. Controlul Difuzarii (Broadcast Control)
Difuzarea este specifica oricarui protocol, dar cat de des apare depinde de trei lucruri :
tipul protocolului, aplicatia rulata si modul de utilizare al serviciilor oferite de retea.
Unele aplicatii mai vechi au fost rescrise pentru a micsora necesarul de banda, dar in
contextul dezvoltarii noilor aplicatii multimedia (IPTV, VOIP) care sunt mari consumatoare
de banda este necesara o reconsiderare a designului retelei pentru a asigura izolarea
problemelor si impiedicarea propagarii lor in toata reteaua. [4]
Aplicatiile multimedia folosesc des mesaje de difuzare si mesaje multicast ca metoda de
propagare, iar daca in retea se gasesc echipamente defecte sau nu este realizata o segmentare
adecvata, efectul difuzarii este mult intensificat determinand chiar blocarea retelei. Pentru a
izola problemele ce apar datorita noii generatii de aplicatii este necesara o segmentare
adecvata a retelei prin intermediul comutatoarelor si ruterelor.
Varianta mai eficienta din punct de vedere economic(dar si practic in cazul retelelor locale)
este utilizarea comutatoarelor ce pot implementa retele locale virtuale (VLAN), avand in
vedere ca echipamentele de nivel 3 (ruterele) sunt mai costisitoare si mai greu de configurat si
administrat.
Toate statiile din acelasi VLAN apartin aceluiasi domeniu de difuzare. Pachetele de difuzare
primite pe un port sunt filtrate daca nu provin de la un echipament apartinand aceluiasi
VLAN.
B. Securitate
Intr-o retea plana [4], creaa prin interconectarea hub-urilor, puntilor, comutatoarelor si
ruterelor, singurul echipament care se ocupa de securitate este ruterul (presupunand ca in retea
nu avem configurat un firewall).
O astfel de retea prezinta urmatoarele dezavantaje :
- Orice statie sau echipament conectate la retea poate avea acces la resursele retelei;
- Oricine poate sa vada traficul prin simpla conectare a unui analizator de retea in hub;
In concluzie nu se asigura securitate.
Prin crearea VLAN-urilor, respectiv segmentarea grupurilor de difuzare (microsegmentare)
administratorul detine controlul asupra oricarui port si resursele pe care acesta le poate accesa.
Se pot impune restrictii pe resurse de tip hardware, restrictii de accesare a anumitor adrese
MAC(de nivel 2) sau IP(de nivel 3) sau de accesare a unor aplicatii etc.
De aseamenea comutatoarele pot fi configurate sa informeze o statie de management despre
orice incercare neautorizata de accesare a resurselor.
C. Flexibilitate si Scalabilitate
Prin configurarea unor porturi ale comutatorului astfel incat ele sa apartina unui anumit
VLAN sau prin adaugarea statiilor de lucru la un anumit VLAN pe baza adreselor de nivel 2
(adresele MAC) creste flexibilitatea retelei deoarece se pot adauga, intr-un domeniu de
difuzare, doar utilizatorii care trebuie sa apartina acelui domeniu indiferent de locatia lor
fizica. [4]
Pentru a intelege cum lucreaza un VLAN este necesar sa-l comparam cu o arhitectura
traditionala. In figura de mai jos este prezentaa o retea obtinuta prin conectarea directa a unor
hub-uri la rutere.
2.7.5.Identificarea VLAN-urilor
Comutatoarele trebuie sa poata identifica cadrele primate si sa decida ce sa faca cu ele in
functie de adresa MAC. Cadrele sunt procesate diferit in functie de tipul legaturii pe care il
traverseaza. [4] Exista doua tipuri de legaturi:
A. Legaturi de tip acces (access links)
Acest tip de legatura face parte dintr-un singur VLAN numit VLAN-ul nativ al portului.
Orice statie sau echipament conectate la un comutator printr-o legatura de tip acces nu stie
despre existenta VLAN-urilor. Comutatorul elimina informatia despre VLAN la iesirea din
comutator pe o legatura de tip acces. Echipamentele conectate prin legaturi de tip acces nu pot
comunica cu echipamente care apartin altui VLAN decat prin intermediul unui ruter
(echipament de nivel 3).
B. Legaturi de tip trunchi (trunk links)
Acest tip de legatura poate transporta cadre ce apartin unor VLAN-uri diferite (de la 1 la
1005 odata). Numele de trunchi (trunk) a fost imprumutat din retelele de telefonie, unde
reprezinta o legatura ce poate transporta mai multe conversatii telefonice diferite.
O legatura de tip trunchi este o legatura punct la punct intre doua comutatoare, un comutator
si un ruter sau un comutator si un server. Avand in vedere ca acest tip de legaturi transporta
traficul apartinand diferitelor VLAN-uri, este recomandat ca ele sa fie legaturi de 100/1000
Mbps. Prin stabilirea unei legaturi de tip trunchi, un port poate sa apatina mai multor VLANuri.
Exemplu: Portul asignat unui server de mail.
2.5.6.Etichetarea Cadrului
Fiecarui cadru ii este asociat un VLAN ID care identifica VLAN-ul sursa al cadrului.
Fiecare comutator identifica VLAN ID-ul din eticheta si decide ce sa faca cu cadrul pe baza
informatiilor din tabela de filtrare. Daca cadrul a ajuns intr-un comutator care are legaturi de
tip trunchi, atunci cadrul e trimis si pe acele legaturi. Cand acesta ajunge pe o legatura de tip
acces care are acelasi VLAN ID, eticheta de identificare a VLAN-ului este eliminata si statia
de lucru primeste cadrul MAC fara a fi nevoita sa aiba informatii despre VLAN-urile din
retea.
A. Inter-Switch Link (ISL)
Metoda de etichetare proprietara CISCO ce poate fi folosita pentru legaturile FastEthernet
si GigabitEthernet pentru identificarea VLAN-ului atunci cand cadrul trece peste o legatura de
tip trunchi. [10]
Identificarea se realizeaza prin incapsularea fiecarui cadru cu un antet si un trailer.Orice
comutator CISCO sau ruter cofigurat cu ISL poate procesa si recunoaste informatia referitoare
la VLAN.
Desi ISL a fost creat in principal pentru transmiterea cadrelor de tip Ethernet, el poate
transmite si alte tipuri de cadre cum ar fi Token Ring, FDDI, sau ATM intr-un cadru Ethernet
ISL. ( Headerul ISL contine un camp intitulat Tipul Cadrului ). [10]
Presupunem ca un cadru a fost emis de o statie si el trebuie sa traverseze o legatura de tip
trunchi ca sa ajunga la destinatie, ca in figura de mai jos. Cand este transmis de Comutator 1
pe o legatura de tip trunchi catre un alt comutator sau ruter, ISL adauga un antet de 26 de
octeti si un trailer de 4 octeti. VLAN-ul sursa este identificat de 15 biti (VID) continuti in
antet.
Trailerul contine CRC pentru a asigura integritatea datelor.
Cand cadrul este emis pe o legatura de tip acces,incapsularea ISL este eliminata.
Deoarece informatia de etichetare este adaugata atat la inceput cat si la sfarsit, ISL mai este
cunoscut cu numele de dubla etichetare.
B. IEEE 802.1Q
Reprezinta o metoda de etichetare creata de IEEE.
Standardul IEEE 802.1Q defineste o arhitectura pentru folosirea VLAN-ului, serviciile oferite
de VLAN, protocoalele si algoritmii folositi pentru a oferi servicii.
Spre deosebire de ISL care realizeaza o incapsulare a cadrului, 802.1Q introduce informatia
de etichetare in interiorul cadrului. Metoda se mai numeste etichetare simpla sau etichetare
interna. [12]
802.1Q introduce conceptul de VLAN nativ; cadrele apartinand VLANului nativ nu sunt
incapsulate cu informatie de etichetare. Astfel echipamentele care nu inteleg metoda de
incapsulare pot sa aiba acces prin intermediul acestuia.
Intr-un cadru Ethernet, 802.1Q adauga 4 octeti de eticheta dupa campul ce reprezinta adresa
sursa.
Ethernet propagarea trebuie sa se faca numai pe o singura cale, la un moment dat. Solutia
adoptata in IEEE 802.1D este sa se gaseasca un asa numit arbore de acoperire folosind un
algoritm care lucreaza distribuit, doar in nodurile active la nivelul legatura de date
(comutatoare).
Fiecare comutator are un identificator unic format dintr-o parte mai semnificativa ce poate
fi configurata si o parte mai putin semnificativa ce asigura unicitatea identificatorului si este
chiar adresa MAC a comutatorului. [2] Comutatorul cu identificatorul cel mai mic este ales ca
fiind nodul radacina al arborelui (Root Bridge). Algoritmul ST este folosit apoi pentru a
realiza la nivelul legatura de date, arborele de cai optime ce ajung in nodul radacina de la
fiecare nod al retelei. Selectia caii optime se bazeaza pe un criteriu de cost. Astfel, fiecare
comutator alege un singur port optim catre radacina (Root Port), cel de cost minim, dintre
porturile sale active (aflate in starea Designated Port). Exceptie de la aceasta regula face
comutatorul radacina care nu are nevoie de Root Port si care are toate porturile in
starea Designated Port.
Ca regula, o bucla este intotdeauna intrerupta la nivelul a doua comutatoare secundare
(care nu sunt Root Bridge) [2], care au fiecare cel putin cate doua cai catre radacina si care
sunt conectate intre ele (direct, la nivelul legatura de date) printr-o alta legatura. Pentru fiecare
segment, mai intai se alege dintre cele doua comutatoare secundare un comutator Designated
Bridge, care va fi plasat pe scara ierarhica din ST mai aproape de radacina decat celalalt
comutator. Astfel, selectia caii optime catre radacina si intreruperea efectiva a buclei prin
inchiderea de porturi, vor fi realizate de catre comutatorul care nu a fost ales Designated
Bridge. Intreruperea buclei se va realiza prin intreruperea legaturii dintre cele doua
comutatoare secundare prin blocarea portului care apartine comutatorului care nu a fost ales
Designated Bridge. Astfel, portul care apartine comutatorului Designated Bridge ramane
deschis (in starea Designated Port sau forwarding), iar portul care apartine celuilalt
comutator secundar este blocat (in starea Non-Designated Port).
Modul de lucru distribuit al STP este implementat prin transmiterea de catre fiecare
comutator, la intervale regulate de timp, a unor pachete BPDU (Bridge Protocol Data Unit)
catre nodurile vecine, care contin urmatoarele informatii [4]:
Care este nodul radacina, specificat prin identificatorul sau Root ID;
Costul caii optime pana la radacina de la comutatorul curent (costul minim);
Identificatorul comutatorului ce a emis BPDU, Bridge ID;
Identificatorul portului pe care este emis BPDU, Port ID;
Valori ale contoarelor de timp utilizate pentru controlul convergentei arborelui.
Pachetele BPDU sunt transmise in cadrele MAC folosind o adresa de destinatie unica de
tip multicast.
In prima etapa a algoritmului ST [4], fiecare comutator va transmite un BPDU in care
specifica Bridge ID Root (pentru radacina) cu aceeasi valoare ca propriul Bridge ID. Prin
urmare, la initializare fiecare comutator pleaca din starea de radacina a arborelui. Astfel,
costul pe care il anunta, al legaturii optime catre radacina, este zero.
La primirea unui astfel de pachet [4], un comutator compara informatiile din pachetul
primit cu valorile pe care le are deja memorate pentru a stabili rolul pe care il va avea in
topologia STP. La primirea unui BPDU de la un comutator vecin, fiecare comutator verifica
mai intai relatia dintre propriu Bridge ID Root si cel anuntat de vecin. In cazul in care
identificatorul radacinii este mai bun decat cel memorat anterior se trece la calcularea costului
caii noi catre radacina prin adunarea la valoarea costului anuntat de vecin a costului portului
local pe care a fost primit acest BPDU. Daca ceea ce stia el ca fiind valoarea costului minim
catre radacina este mai mare decat suma dintre costul raportat in BPDU si costul portului pe
care a fost primit BPDU, atunci ajusteaza costul sau minim catre radacina corespunzator si
presupune ca cel mai scurt drum catre radacina este prin portul pe unde tocmai a primit
pachetul BPDU.
Asa cum a fost prezentat anterior, se considera ca arborele STP este stabil (la convergena)
atunci cand a fost ales un comutator radacina (Root ID) si fiecare comutator a ales un Root
Port, Designated Bridge si unul sau mai multe mai multe Designated Port.
De obicei decizia de blocare a unui port se ia atunci cand costul caii de la acest port pana la
radacina este mai mare decat al altei cai disponibile. Totusi sunt situatii cand decizia nu se
poate lua numai pe baza costurilor. [4] Astfel, este posibil ca pornind de la un anumit
comutator, din punct de vedere al costului, sa existe doua cai de costuri egale pana la
radacina. In astfel de situatii, se alege intotdeauna calea care include comutatorul vazut catre
radacina, cu Bridge ID minim. Uneori, un comutator este legat prin mai multe porturi la
acelasi LAN. Daca se intalnesc situatii in care costurile sunt identice se alege portul cu
identificatorul (Port ID) mai mic, deoarece Bridge ID al primului comutator vazut spre
radacina are aceeasi valoare. Din acest motiv, pachetele BPDU contin si identificatorul
comutatorului emitent, precum si identificatorul portului pe care a fost emis. Prin urmare,
decizia se ia folosind in ordine aceste trei criterii pana unul dintre ele este satisfacut: costul
caii, Bridge ID emitator si Port ID. Identificatorul de port este util in cazul in care se formeaza
o bucla intre doua comutatoare vecine (cea mai mica bucla posibila). Atunci cand un port este
blocat nu redirecteaza cadre de informatie pentru utilizatori, dar transmite si receptioneaza in
continuare cadrele care contin BPDU. Astfel, desi portul nu este activ pentru traficul de date,
comutatorul monitorizeaza parametrii STP pentru caile determinate pe acest port. Prin urmare,
in cazul in care se intrerupe calea optima catre radacina (cea care condus la blocarea acestui
port) este necesara reactivarea acestui port, deoarece noua cale optima il include.
Atunci cand apare o modificare de topologie [4], ca urmare a schimbarii starii unui port sau
a unei legaturi, comutatorul radacina trimite in tot arborele un mesaj de anuntare a modificarii
topologiei. Aceasta procedura permite ajustarea informatiei despre caile optime memorate in
celelalte comutatoare active din retea. Astfel, acestea recalculeaza costurile si verifica
parametrii STP numai pentru noile cai anuntate.
In cazul in care comutatoarele permit formarea de retele LAN virtuale (VLAN) [2], atunci
se poate activa separat cate o instanta de protocol STP pentru fiecare VLAN. Astfel, pentru
fiecare VLAN se va alege o radacina si se efectueaza in paralel si independent operatiile STP.
In cazul in care se utilizeaza cate o instana de protocol pentru fiecare VLAN, protocolul
poarta numele de PVST (Per VLAN STP).
2.8.2.Parametrii STP
Deoarece valoarea Bridge ID determina pozitia comutatorului in ierarhia STP,
identificatorul trebuie sa indeplineasca doua conditii [4]:
- unicitatea nu pot exista doua comutatoare care sa ocupe aceeasi pozitie in arbore;
- scalabilitatea uneori pozitia in arbore trebuie sa poata fi stabilita manual de catre
administrator si deci, acesta trebuie sa poata modifica valoarea Bridge ID.
La o prima analiza se pare ca cele doua conditii se exclud reciproc, deoarece unicitatea
presupune, de cele mai multe ori, o alocare statica a valorilor adreselor. Totusi, in cazul STP
problema s-a rezolvat prin impartirea in doua a cuvantului de reprezentare pentru valoarea
Bridge ID. Astfel, bitii cei mai semnificativi ai Bridge ID (primii 2 octeti) constituie campul
de prioritate care poate fi modificat de catre administrator. In mod implicit (fara interventia
administratorului) acest camp de prioritate este fixat la valoarea 32768 (8000H), care
reprezinta in zecimal valoarea de la jumatatea intervalului posibil de reprezentat cu doi octeti.
Bitii cei mai putin semnificativi (ultimii 6 octeti) sunt reprezentati de o adresa MAC a
comutatorului (unica pentru fiecare VLAN). Astfel, unicitatea Bridge ID este asigurata de
adresa MAC din partea mai putin semnificativa, deoarece adresele MAC sunt unice (IEEE),
iar scalabilitatea este asigurata de capul de prioritate. Fara interventia administratorului
toate comutatoarele au prioritati egale, iar decizia radacinii se va face doar pe baza adresei
MAC din Bridge ID (cea mai mica adresa MAC va determina Root Bridge). Administratorul
poate stabili un mecanism de prioritati in formarea topologiei STP prin acordarea de valori
pentru Bridge ID sub cea implicita.
Starile in care se poate afla un port la nivelul legatura de date, dintr-un comutator pe care
este activa instanta STP sunt urmatoarele [4]:
- Blocare (Blocking, non-Designated Port) un port aflat in aceasta stare nu poate
redirecta cadrele de informatie pentru utilizatori; totusi, portul urmareste pachetele BPDU
receptioneaza pentru a identifica comutatorul radacina;
- Ascultare (Listening) un port trece in starea de ascultare numai dupa ce algoritmul
STP a determinat arborele optim, din pachetele BPDU receptionate. In acest moment, portul
poate transmite si recepiona pachete BPDU. Daca portul transmite pachete BPDU inseamna
ca acesta se pregateste sa participe la topologia activa STP si informeaza comutatoarele
vecine despre acest lucru. Valoarea implicita a timpului in care un port se afla in starea de
ascultare (forward delay) este de 15 s;
- Invatare (Learning) portul aflat in starea aceasta se pregateste sa devina activ
pentru traficul de informatie (sa treaca in starea de redirectare) prin invatarea adreselor MAC.
Valoarea implicita a timpului in care un port se afla in starea de invatare (forward delay) este
tot de 15 s;
- Redirectare (Forwarding) portul face parte din topologia activa STP, redirecteaza
cadre de informatie si transmite/receptioneaza pachete BPDU;
- Inactivare (Disabled) portul nu face parte din topologia activa STP, astfel nu
redirecteaza cadre de informatie si nici nu transmite/receptioneaza pachete BPDU.
Contoarele de timp sunt folosite pentru actualizarea informatiei arborelui STP. Astfel,
contoarele de timp sunt utilizate pentru a stabili dupa cat timp trebuie sa comute un port dintro stare in alta. De asemenea, STP foloseste temporizatoarele pentru a determina gradul de
disponibilitate pentru formarea arborelui STP al comutatoarelor vecine, precum si timpul
maxim de pastrare a adreselor MAC din tabelele de adrese (cele invatate dinamic).
Semnificatiile valorilor de timp asociate acestor contoare sunt urmatoarele:
- Hello time intervalul dintre emisiile a doua pachete BPDU successive. Valoarea
implicita este de 2 s;
- Maximum Age Time intervalul de timp in care trebuie sa se afle un comutator
(receptor al acestui BPDU) in starea de blocare inainte de a trece in starea de ascultare.
Valoarea implicita este de 20 s;
- Forward delay intervalul de timp in care trebuie sa se afle un comutator (receptor
al acestui BPDU) in starea de ascultare inainte de a trece in starea de invatare si in starea de
invatare inainte de a trece in starea de redirectare. Valoarea implicita este de 15 s.
Valorile implicite ale acestor contoare sunt indicate pentru o gama larga de configuratii si
scenarii de functionare. [2] Totusi, aceste valori pot fi modificate pentru a determina o
functionare optima intr-un caz particular. Pe de alta parte, fixarea unor valori neadecvate ale
acestor valori de timp poate conduce la instabilitatea retelei. Costul utilizat de ST se
determina la nivelul fiecarui comutator, calculat independent la cele doua capete ale unei
legaturi si depinde numai de debitul maxim al portului respectiv. Deoarece decizia
se ia pe baza minimului, costul unui port se afla intr-o relatie de ordine inversa si neliniara
fata de debitul portului (exprimat in Mb/s). In tabelul 8.1 sunt prezentate corespondentele
dintre debitul portului si costul STP, pentru doua variante de protocol.
D (Mb/s)
10000
1000
100
19
10
10
100
100
Un comutator care este configurat ca VTP transparent trebuie sa aiba informatia despre
VLANuri introdusa manual. El nu participa in schimbul de mesaje VTP si nu anunta
informatia pe care o are despre VLAN-uri catre celelalte comutatoare, comportandu-se ca un
releu cu mesajele VTP pe care le primeste (adica le transmite mai departe). Acest mod este
util cand se doreste ca VLAN-urile sa fie configurate manual pe comutator sau cand VLANurile de pe un comutator au doar semnificatie locala si nu este necesar ca ele sa fie cunoscute
de catre intreaga retea comutata.
Observatii importante :
-
3.1.Notiuni introductive
Switch-urile de nivel 3 , sunt rutere foarte rapide ce realizeaza inaintarea la nivel 3 a
pachetelor IP prin anumite modalitati. Poate face decizii de comutare sau filtrare la nivelele 2
si 3 si poate decide dinamic cand sa faca rutarea sau comutare a traficului ce trece prin ele .
Aceasta implica o cautare a unei rute si decrementarea campului TTL (Time to Live) ,
recalcularea checksum-ului si inaintarea pachetului cu antetul MAC corespunzator si portul
portul corect de iesire [2] .
Stiva OSI
Observam ca in model nivelul al doilea este reprezentat de nivelul legaturii de date iar
nivelul al treilea de nivelul retelei . Switch-urile de nivel 2 nu pot comuta pachete decat in
interiorul unei singure retele (VLAN) . Dar acestea sunt suficinet de inteligente pentru a
retine adresele MAC ale fiecarui dispozitiv sursa sau destinatie al fiecarui pachet si comuta
fiecare pachet intr-un singur domeniu . Acesta nu poate sa transporte pachete dintr-o retea in
alta si nici sa prioritizeze pachetele pentru a garanta o latime de banda . Conectarea
dispozitivelor la un swtich de nivel 2 formeaza un segment local de dimensiuni mari denumit
ce poarta numele de domeniu de broadcast . La switch-uri VLAN-urile sunt creeate pentru a
imparti unui switch in mai multe domenii de broadcast in care vom putea asigna porturi
diferite pentru subretele diferite . Switch-urile folosesc VLAN-urile pentru a controla traficul
de tip broadcast , multicast sau unicast de tip necunoscut cu il fac cu alte dispozitive de nivel
2 . La acest nivel se folosesc anumite protocoale cum ar fii STP pentru a pastra redundanta
intr-o retea in timp ce se previn si buclele de comutare . Pentru comunicarea intre VLAN-urile
unui switch de nivel 2 va trebuie sa fie folosit fie un switch de nivel 3 , fie un ruter.
Switch-urile de nivel 3 se comporta ca si rutere traditionale [3] adica permit ca
diferite segmente de retea sa fie legate intre ele . La acesta se poate face comutarea datelor de
la o anumita retea la alta . Prioritizarea pachetelor poate fi realizata si acest tip de switch este
capabil sa retina care rute sunt cele mai bune intre anumite retele . In timp ce switch-urile de
nivel 2 comuta pachetele pe baza MAC-ului , cele de nivel 3 o fac pe baza adresei IP . Au
capabilitatea de a separa logic retelele in VLAN-uri , marind astfel si securitatea si reducand
accesul neautorizat intre retele . Au fost introduse in principal pentru a depasi limitarile , cum
ar fii supraincarcarea si lipsa legaturilor multiple ce implementeaza astfel logica de inaintare a
pachetelor de pe router prin mecanisme hardware.
La fel ca si in cazul switch-urilor de nivel 2 , switch-urile de nivel 3 permit alocarea
unei latimi de banda individuala [2] pentru fiecare subretea . Nu toate interfetele sunt creeate
in mod egal , astfel abilitatea de a grupa porturile , fie bazat pe anumite caracteristici fizice
sau pe informatiile de protocol , reprezinta o modalitate foarte utilizata de desingnerii de
Switch de nivel 3
suportat
suportat
Ruter
suportat
suportat
suportat
suportat
suportat
In general se foloseste ruter-ul cand cea mai mare parte din timp dispozitivul face
rutare iar daca dispozitivul isi ocupa cea mai mare din timp cu comutarea pachetelor , se
foloseste switch-ul . Ideea crearii switch-ului de nivel 3 este de a face mai eficient rutarea
inter-VLAN sau de a face rutare interna intre multiple domenii de broadcast (mai multe retele
locale cu subneturi diferite) in timp ce se pastreaza si caracteristicile switch-ului de nivel 2
cum ar fii STP-ul (Spanning Tree Protocol) sau trunk-ingul (capabilitatea de a putea trece pe
aceeasi legatura trafic din VLAN-uri diferite) . Cu toate acestea , la marginea sau granita
retelei unde STP-ul sau trunk-ingul nu prea au mare importanta , este folosit ruter-ul deoarece
acesta este in sinea lui proiectat pentru a manevra traficul de la marginea retelei . Inabilitatea
de a manipula mai multe functii BGP in rutarea autonoma inter sistem si multe alte
caracteristici eficiente sunt cateva dezavantaje cand se foloseste un switch de nivel 3 ca un
inlocuitor pentru un router .
Dar folosirea switch-ului de nivel 3 pentru rutarea inter-VLAN , spre deosebire de folosirea
ruterelor traditionale , se face din urmatoarele motive :
Performanta si cost Switch-urile de nivel 3 sunt mult mai eficiente din punct de
vedere al costului si realizeaza si rutarea inter-VLAN la o viteza mult mai mare .
Ruterele de mare performanta sunt in general mult mai scumpe decat switch-urile de
nivel 3 .
Densitatea porturilor Swtich-urile de nivel 3 reprezinta switch-uri de nivel 2
imbunatatite si , asadar , aceeasi densitate mare de porturi care o au ascestea spre
deosebire de rutere , care dispun de mult mai putine porturi .
Flexibilitate Switch-urile de nivel 3 ne permit sa imbinam si sa cumutarea la nivel 2
si la nivel 3 , adica putem configura un switch de nivel 3 sa lucreze ca si unul de nivel
2 sau sa-i activam si comutarea la nivelul 3 .
Comutarea la nivelul 3 este ieftina deoarece switch-urile de nivel 3 sunt facute
special pentru rutarea inter-VLAN [2] , unde sunt folosite in pare parte numai tehnologii
Ethernet . Aceasta face ca furnizorii cum ar fii CISCO sa dezvolte switch-uri de nivel 3 de
inalta performanta , si chip-uri hardware (ASIC-urile) ce realizeaza in exclusivitatea rutarea
traficului intre retelele Ethernet , fara a-si pune probleme de suportarea si altor tehnologii cum
ar fii cele WAN , ATM sau Frame Relay . Rutarea peste retele WAN poate de asemenea fi
facuta prin cumplarea unui ruter traditional ce concteaza reteaua WAN cu cea LAN .
realizate pentru fiecare pachet care este rutat , in timp ce operatiile din cadrul planului de
control trebuie realizate numai pentru schimbarile in topologia de rutare . Din acestea reiese
ca performanta implementarii planului de date da si viteza de rutare a dispozitivului .
Deoarece operatiile din planul de control sunt complexe, majoritatea dezvolatorilor
folosesc unitati centrale de prelucrare de uz general capabile sa suporte limbaje de programare
de nivel inalt pentru ca acestia sa poate dezvolta cu usurinta si intretine codul complex asociat
cu diferitele protocoale de rutare suportate . In aceasta consideratie , planul de control este
implementat in software , ceea ce inseamna ca softul dezvoltat printr-un limbaj de nivel inalt
asigura operatia in planul de control . Ambele tipuri de dispozitive , ruterele si switch-urile de
nivel 3 folosesc aceeasi implementare a operatiilor planului de control asocite cu rutare
pachetelor IP folosind software ce necesita o unitate centrala de prelucrare de uz general . In
comparatie cu operatiile din cadrul planului de control , cele din planul de date sunt foarte
simple . In tabelul de mai jos sunt descrise operatiile care se efectueaza in cadrul planului de
date prin exemplificare trimiterii unui pachet de la un host numit host sursa la un alt host
numit Host destinatie print-un ruter .
MAC sursa
Cadru
primit
Cadru
rescris
Adresa MAC
ruter
Adresa MAC
urmatorul
hop
MAC
sursa
MAC
host sursa
Adresa
MAC
ruter
IP destinatie
IP sursa
TTL
Checksum
host
destinatie
host
destinatie
host
sursa
host
sursa
valoare 1
n-1
valoare 2
In tabel, sunt indicate detaliile cadrului receptionat si apoi sunt aratate detaliile necesare
rescrierii cadrului care este transmis dupa rutare [5] . Se poate observa ca urmatoarele
campuri trebuie modificate pentru cadrul rescris care este inaintat urmatorului hop :
Adresa MAC destinatie Adresa MAC a urmatorului hop trebuie sa fie scris in cadrul
rescris
Adresa MAC sursa Adresa MAC sursa trebuie scrisa la adresa MAC a ruterului .
TTL Acesta trebuie decrementat cu 1 in conformitate cu regulile IP de rutare
Checksum Acesta trebuie recalculat deoarece campul TTL s-a schimbat
Procesul prin care se arata cum sunt implementate operatiile din planul de date
aratate in tabelul de mai sus reprezinta exact in ce consta diferentele dintre ruterul traditional
si switch-ul de nivel 3 [2] . Ruterul foloseste aceeeasi unitate centrala de prelucrare pentru a
realiza operatii pe planul de control si de asemenea pentru a implementa operatiile din planul
de date , insemnand ca acestea vor fi realizate prin modalitati software . Un switch de nivel 3
pe de alta parte foloseste un ASIC [10] pentru a realiza acestea deoarece este foarte usor de
programat aceste operatii pe un ASIC . In aceasta consideratie , planul de date este
implementat in hardware deoarece o serie de operatii hardware sunt programate in ASIC , ce
realizeaza operatiile din planul de date necesare pentru rutarea unui pachet .
O unitate centrala de prelucrare de uz general [10] este proiectata pentru a realiza
numeroare functii , pe cand un ASIC nu poate realiza decat o anumita functie sau cateva
functii specifice cum ar fi realizarea operatiilor de pe planul de date necesare pentru rutarea
unui pachet . Aceasta inseamna ca un ASIC poate opera mult mai rapid din cauza ca
arhitectura interna a lui poate fi optimizata numai pentru realizarea operatiilor necesare pentru
operatiile planului de date , pe cand o unitate centrala de procesare de uz general trebuie sa fie
proiectata pentru a suporta o serie de functii generice ce nu se leaga de operatiile din planul de
date . Un limbaj de nivel inalt combina functiile generice a unei unitati centrale de prelucrare
de uz general pentru a realiza functiile specifice necesare operatiilor de pe planul de date .
Aceasta abordare permite flexibilitate dar vine cu pretul performantei . Asadar , un switch de
nivel 3 ce realizeaza operatiile de pe planul de date folosind ASIC-uri , ruteaza pachetele mult
mai rapid decat un ruter traditional .
daca pachetul contine in antet intreaga informatie de rutare, nodul nu are de luat nici o
decizie, ci trimite direct pachetul la nodul urmator. Aceasta metoda se numeste rutare
sursa si presupune ca nodul S cunoaste calea completa catre destinatie.
nodul intermediar poate sa cunoasca dinainte ruta catre destinatie, deci nici in acest
caz nu are de luatnici o decizie. Aceasta presupune ca fiecare nod intermediar sa aiba o
tabela cu rutele corecte pentru toate destinatiile posibile .
Definirea unui sistem autonom (SA) este esentiala in cadrul unui protocol de rutare. Se
defineste un SA ca fiind o portiune logica dintr-o retea IP [3] . De obicei, un SA reprezinta o
inter-retea din cadrul unei organizatii. Acesta este administrat de catre o singura autoritate de
management. Un SA se poate conecta cu alte SA administrate de aceeasi organizatie.
Pe de alta parte, un SA se poate conecta cu alte retele publice sau private. Unele protocoale de
rutare sunt utilizate pentru a determina rutele optime dintr-un SA. Alte protocoale de rutare
sunt utilizate pentru a interconecta mai multe SA . In interiorul unui SA se pot utiliza mai
multe procese IGP. In acest caz, sistemul SA trebuie sa anunte in exterior un plan de rutare
coerent, ca si in cazul utilizarii unui singur proces IGP. Astfel , acest SA trebuie sa prezinte
imagine consistenta a tuturor destinatiilor interne .
Sisteme autonome
Rutarea pachetelor se realizeaza prin intermediul ruterilor (sau swtich de nivel 3) care,
in acest scop, utilizeaza tabele de rutare. Tabelul de rutare al unui ruter contine perechi (N, R),
in care N este adresa IP a retelei de destinatie iar R este adresa IP a primului ruter pe calea
spre reteaua N (numit gateway) . Exista doua metode principale de construire a tabelei de
rutare : rutare statica ( rutarea statica utilizeaza definiri programate anterior reprezentand cai
posibile in retea ) si rutarea dinamica ( algoritmii de rutare dinamica permit ruterilor sa
descopere automat si sa anunte rutele in cadrul retelei. Aceasta descoperire automata poate
utiliza mai multe protocoale de rutare dinamica disponibile. Aceste protocoale se diferentiaza
prin modul in care descopera si calculeaza rutele noi catre retelele de destinatie).
Rutarea statica [3] ,se efectueaza manual de catre administratorul retelei.
Administratorul este responsabil pentru descoperirea si propagarea (anuntarea) rutelor in
cadrul retelei. Aceste asocieri sunt programate manual in fiecare ruter din cadrul retelei. Dupa
ce un nou ruter a fost configurat manual, acesta doar va redirecta pachete catre porturile de
iesire predeterminate. Nu exista nici un schimb intre ruteri de informatii referitoare la
topologia curenta a retelei. In retelele de dimensiuni mici, cu o redundanta minima, acest
proces manual este relativ simplu de administrat. Totusi, exista cateva dezavantaje ale acestei
metode de mentinere a tabelei de rutare IP: rutele statice necesita un efort considerabil de
coordonare si intretinere in retelele de dimensiuni mai mari; rutele statice nu se pot adapta
dinamic la starea curenta de operare a retelei. Daca o retea destinatie devine inaccesibila,
atunci rutele statice care indica aceasta retea raman in tabela de rutare. Traficul va fi in
continuare redirectionat pe aceste rute statice. In cazul in care administratorul retelei nu
actualizeaza rutele statice pentru a reflecta noua topologie, traficulnu poate fi redirectionat pe
rutele alternative existente.
Un prim exemplu de protocoale de rutare dinamica il reprezinta algoritmii de tip
vector distanta[3] . Acesti algoritmi permit ca fiecare echipament din retea sa construiasca si
sa mentina, in mod automat , o tabela locala de rutare IP. Principiul rutarii de tip vector
distanta este simplu. Fiecare ruter din retea mentine o lista cu toate distantele (costurile)
asociate cailor de la el la toate destinatiile cunoscute. Costul unei cai determina selectia
acestei cai pentru dirijarea pachetelor la destinatie. Caile cu un cost mai mic sunt preferate
cailor cu un cost mai mare. Calea cu costul minim dintre caile disponibile va fi aleasa (solutia
optima) pentru a ajunge la destinatie. Aceasta informatie este mentinuta intr-o tabela vector
distanta (distance vector). Aceasta tabela (a unui ruter) este transmisa periodic catre toti ruterii
vecini. Atunci cand primeste tabela, fiecare ruter prelucreaza informatiile din tabela primita
pentru a determina cea mai buna cale prin retea catre fiecare destinatie cunoscuta. Avantajul
principal al algoritmilor vector distanta il reprezinta simplitatea implementarii si depanarii.
Acesti algoritmi sunt foarte eficienti atunci cand sunt utilizati in retele de dimensiuni mici cu
o redundanta scazuta . In cazul apariiei unei modificari in cadrul reelei, se pune problema
reconvergentei continutului tabelelor de rutare pentru a reflecta modificarea de topologie.
Intervalul de timp necesar fiecarui ruter din retea pentru a avea o tabela de rutare actualizata
se numeste timp de convergenta. In retelele mari si cu redundanta crescuta, timpul de
convergena al algoritmilor vector distanta poate atinge valori excesiv de mari. Este posibil ca
in intervalul in care tabelele de rutare tind sa convearga, reteaua sa utilizeze informatii de
rutare eronate. Astfel se pot produce bucle de rutare sau alte tipuri de redirectari instabile de
pachete . De obicei, pentru a reduce timpul de convergenta se impune un numar maxim de
noduri (ruteri sau hop-uri) care pot fi parcurse de catre o singura ruta. Caile valide care
depasesc aceasta valoare limita nu sunt utilizate in retelele de tip vector distanta . Tabelele de
rutare vector distanta sunt transmise periodic catre nodurile vecine . Aceste tabele sunt
transmise chiar si in cazul in care nu s-au produs modificari in continutul acesteia. Acest lucru
poate determina o incarcare excesiva a retelei, mai ales in retelele de capacitate redusa.
Rutarea de tip stare legatura (Link state) [3] , cresterea dimensiunilor si a complexitatii
retelelelor, din ultimii ani, a determinat dezvoltarea unor algoritmi de rutare mai robusti. La
elaborarea acestor algortimi s-a urmarit eliminarea dezavantajelor observate in cazul
protocoalelor de tip vector distanta. Acesti algoritmi utilizeaza principiul mesajelor de tip
stare legatura (link state) pentru a determina topologia retelei. Un mesaj stare legatura
reprezinta o descriere a interfetei unui ruter (spre exemplu, poate contine informatiile: adresa
IP, masca subretea, tipul retelei), precum si relatiile cu ruterii vecini. Baza de date de tip stare
legatura contine mai multe informatii de tip stare legatura.
3.7.1.Protocolul informatiei de rutare (RIP)
Protocolul RIP (Routing Information Protocol) [3], este un exemplu de protocol de
rutare in interiorul unui sistem autonom de dimensiuni mici si este de tip vector distanta .
3.7.1.1.Tipuri de pachete RIP
Protocolul RIP specifica doua tipuri de pachete. Aceste pachete pot fi transmise de catre orice
nod in care ruleaza protocolul RIP:
pachete cerere: un pachet de cerere solicita nodurilor RIP vecine sa transmita tabela
lor de vectori distanta. In cerere se specifica daca nodul vecin trebuie sa transmita
numai un subset de vectori sau sa transmita intregul continut al tabelei;
pachete raspuns: un pachet de raspuns este transmis de catre un nod pentru a anunta
informatia mentinuta in tabela locala de vectori distanta. Tabela este transmisa in
urmatoarele situatii:
o In mod automat, la fiecare 30 de secunde;
o Ca raspuns la un pachet de cerere generat de un alt nod RIP;
o Daca este disponibila functia de actualizare declansata (triggered update),
tabela este transmisa atunci cand apare o modificare a tabelei de vectori
distanta.
Atunci cand se receptioneaza un pachet de raspuns la un nod, informatia continuta in acesta
este comparata cu cea din tabela locala de vectori distanta. Daca pachetul de raspuns anunta o
ruta catre o destinatie cu un cost mai mic, atunci tabela este actualizata cu noua cale.
Pachetele RIP sunt transmise in cadrul datagramelor UDP. RIP transmite si receptioneaza
datagrame folosind portul UDP cu numarul 520 . Datagramele RIP contin maxim 512 octeti.
Informatiile de actualizare mai mari decat aceasta dimensiune maxima sunt transmise in mai
multe datagrame succesive. In retelele LAN, datagramele RIP sunt transmise folosind adresa
de difuzare MAC si adresa de difuzare IP (MAC broadcast and IP broadcast). In cazul unei
conexiuni punct la punct sau in retele fara difuzare, datagramele sunt adresate unei anumite
destinatii.
Comanda acest camp specifica rolul acestui pachet. Valoarea acestui camp determina
rolul pachetului RIP, dupa cum urmeaza: Comanda = 1 (cerere catre nodul vecin de a
trimite tabela de rutare, partial sau total) si Comanda = 2 (raspuns la cererea unui nod
vecin sau un mesaj de actualizare generat la initiativa ruterului sursa; acest pachet
contine tabela de rutare, partial sau total) .
Convergenta relativ lenta: ca si alte protocoale de tip vector distanta, RIP converge
relativlent. Acesti algoritmi depind de temporizatoare pentru a initia transmiterea
mesajelor de actualizare a tabelelor de rutare.
Nu suporta subretele de dimensiune variabila (VLSM): mesajele de anuntare a rutelor
nu includ masca subretelelor. Prin urmare, in retelele RIP este imposibila utilizarea
VLSM.
3.7.2.1.Ariile OSPF
Retelele OSPF sunt divizate in mai multe arii [9]. O arie reprezinta o grupare logica de
retele si ruteri. O arie poate coincide cu o zona geografica sau administrativa. Fiecare arie este
identificata unic prin intermediul unui identificator de 32 de biti, denumit ID arie . Intr-o arie,
fiecare ruter mentine o baza de date a topologiei (topology database) care descrie ruterii si
legaturile din aceasta arie. Acesti ruteri nu detin informatii despre topologii aflate in exteriorul
ariei, ci detin numai rutele catre aceste destinatii externe. Astfel, se reduc considerabil
dimensiunile bazei de date a topologiei, detinute de fiecare ruter . Divizarea in arii reduce
posibila crestere a numarului de actualizari de stare a legaturilor. Astfel, cele mai multe LSA
sunt distribuite numai in interiorul unei arii . Se reduce timpul de procesare CPU necesar
pentru a mentine baza de date a topologiei . Algoritmul SPF se limiteaza la a administra
modificarile numai dintr-o arie. Toate retelele OSPF contin cel putin o singura arie. Aceasta
arie este aria 0 sau aria coloana vertebrala (backbone). Se pot adauga si alte arii, in functie de
topologia reala a retelei sau de alte cerinte de proiectare. In retelele care contin mai multe arii,
aria backbone se conecteaza fizic cu toate celelalte arii. Toate ariile vor anunta informatiile de
rutare, direct in backbone. Apoi, din backbone se vor transmite aceste informatii catre
celelalte arii.
Fiecare ruter este identificat prin intermediul unui identificator unic de 32 de biti, denumit ID
ruter, RID (router ID). O solutie des intalnita de implementare a RID consta in utilizarea celei
mai mici adrese IP, configurate la ruter, drept RID-ul sau . OSPF trateaza in mod diferit tipuri
diferite de segmente de retea [3]. Frecventa mesajelor si tipul de comunicatie dintre ruterii
OSPF depind de tipul retelei. Astfel, exista urmatoarele trei tipuri de retele fizice OSPF:
Punct-la-punct: O retea punct-la-punct leaga direct doi ruteri.
Acces multiplu: Retelele de acces multiplu permit legaturi intre mai multi ruteri (peste
doi).
Punct-la-multipunct: Aceasta retea reprezinta un caz particular de retea de acces
multiplu fara difuzare. Intr-o retea punct-la-multipunct nu este necesar ca un ruter sa
aiba cate o conexiune directa cu fiecare alt ruter. Aceasta configuratie mai este
cunoscuta sub numele de retea plasa partiala (partially meshed).
Ruterii care impart un segment comun de retea pot stabili o relatie de invecinare la
nivel logic [9] . In acest caz, pentru a stabili o relatie de invecinare, ruterii trebuie sa convina
asupra urmatoarelor informatii: ID arie (ruterii trebuie sa apartina aceleiasi arii OSPF) ,
intervalele Hello si intervalele moarte si fanionul de arie ciot (stub) . Dupa ce doi ruteri au
stabilit o relatie de invecinare, se poate stabili o relatie de adiacenta intre acestia. Ruteri vecini
sunt considerati ruteri adiacenti dupa ce si-au sincronizat reciproc bazele de date de topologie.
Sincronizarea bazelor de date se realizeaza prin schimbul de mesaje de stare a legaturii.
Schimbul excesiv de mesaje de stare a legaturii dintre ruterii vecini poate crea in retea
un volum semnificativ de trafic [3]. Pentru a reduce acest trafic necesar sincronizarii bazelor
de date s-a impus ca un ruter sa nu stabileasca (neaparat) adiacente cu fiecare ruter vecin .
Fiecare retea de acces multiplu stabileste un ruter desemnat, DR (designated router) si un ruter
desemnat de rezerva, BDR (backup designated router). Un DR indeplineste urmatoarele doua
functii pentru un segment de retea: Stabileste adiacente cu toti ruterii din reteaua de acces
multiplu , genereaza mesaje LSA, care anunta fiecare ruter conectat in reteaua de acces
multiplu . Fiecarui ruter i se asociaza o prioritate reprezentata pe 8 biti, care indica sansele ca
ruterul respectiv sa fie ales DR sau BDR. Un ruter cu prioritatea zero nu poate fi ales nici DR,
nici BDR. Prioritatea este configurata pentru fiecare interfata a ruterului.
Atunci cand un ruter genereaza sau modifica un mesaj LSA, acesta trebuie sa comunice
aceasta modificare in cadrul retelei. Mai intai, ruterul transmite mesajul LSA fiecarui sistem
adiacent. La receptionarea LSA-ului, acesti vecini salveaza informatia in propriile baze de
date a starilor legaturilor si la randul lor, comunica LSA-ul vecinilor lor. Aceasta activitate de
tipul salveaza si trimite mai departe (store and forward) continua pana cand toate sistemele
primesc acest LSA . Acest proces poarta numele de inundare eficienta (reliable flooding) [9] .
Pentru a determina setul optim de rute prin retea, fiecare ruter OSPF schimba LSA-uri
cu alti ruteri din retea . Astfel, se definesc trei actiuni necesare pentru a efectua schimbul de
informatii: descoperirea vecinilor , alegerea unui ruterului desemnat (DR) , stabilirea
adiacentelor si sincronizarea bazelor de date.
Protocolul Hello , are ca functii descoperirea si mentinerea relatiilor dintre nodurile
vecine. Pachetele Hello sunt transmise periodic pe fiecare interfata a ruterului. Pachetele
contin identificatorii RID ai altor ruteri, ale caror pachete Hello au fost deja receptionate pe
interfata respectiva. Atunci cand un ruter descopera propriul RID in pachetul generat de un alt
ruter, aceste doua noduri stabilesc relatia de invecinare. Pachetul Hello contine si prioritatea
ruterului, identificatorii DR si BDR. Acesti parametri sunt utilizati pentru a alege ruterul DR
in reteaua de acces multiplu.
3.7.2.4.Alegerea ruterului desemnat stabilirea adiacentelor si
sincronizarea bazelor de date
Fiecare retea de acces multiplu trebuie sa aiba cate un DR [3]. De asemenea, un ruter
BDR poate fi ales. Acest ruter de rezerva asigura continuitatea rutarii in cazul in care DR se
defecteaza. Ruterii DR si BDR sunt alesi pe baza informatiilor din pachetele Hello. Ruterul
OSPF care are cea mai mare prioritate, din cadrul unui segment, devine ruterul desemnat al
acelui segment. Acelasi proces este reluat pentru alegerea unui BDR. In cazul in care
prioritatile sunt egale, ruterul care are cel mai mare RID este ales DR sau BDR. Ruterul care
este ales DR nu mai poate deveni BDR. Dupa incheierea procesului de alegeri, ruterii DR si
BDR incep sa formeze adiacente cu toti ceilalti ruteri din segmentul de acces multiplu.
Ruterii vecini sunt considerati adiacenti atunci cand si-au sincronizat reciproc bazele
lor de date pentru starile legaturilor. Un ruter nu stabileste adiacente cu oricare nod vecin. In
retelele de acces multiplu adiacentele sunt stabilite numai cu ruterii DR si BDR.
In prima etapa a sincronizarii bazelor de date se realizeaza schimbul bazelor de date. Acest
proces incepe imediat dupa ce doi ruteri vecini au stabilit o relatie de invecinare si consta
intr-un schimb de pachete de descriere a bazei de date. Aceste pachete contin o lista de
LSA-uri stocate in baza de date locala . Pe parcursul efectuarii schimbului de baze de date,
ruterii stabilesc o relatie de tip masterslave. Ruterul master este cel care transmite primul.
Fiecare pachet este identificat printrun numar de secventa, pe baza caruia ruterul slave
confirma fiecare pachet de descriere a bazei de date receptionat de la ruterul master. In
pachetele de confirmare, ruterul slave introduce si propriile descrieri ale LSA-urilor.
Pe durata efectuarii schimbului de baze de date, fiecare ruter noteaza antetele LSA (link state
headers) pentru care vecinul sau detine o varianta mai noua (toate mesajele contin etichete de
timp). Dupa incheirea acestui proces, fiecare ruter solicita vecinului sau informatiile cele mai
recente detinute de acesta din urma. Cererea aceasta este realizata printr-un pachet de tip
cerere de stare a legaturii. Atunci cand un ruter receptioneaza o cerere de stare a legaturii,
trebuie sa raspunda cu un set de pachete de tip actualizare de stare a legaturii, care sa
furnizeze LSA-urile solicitate. Fiecare LSA transmis este confirmat de catre receptor. Acest
proces este similar procedurii de inundare fiabila utilizata pentru transmiterea modificarilor
de topologie. Fiecare LSA contine un camp de vechime (age) care indica timpul in secunde
trecut de la generarea anuntului. Vechimea creste continuu dupa ce LSA-ul este salvat in
baza de date a topologiei. De asemenea, vechimea creste si dupa parcurgerea fiecarui nod
intermediar (hop) in procesul de inundare. Atunci cand vechimea atinge o valoare maxima,
LSA-ul nu mai este utilizat pentru determinarea informatiei de rutare si este eliminat din baza
de stare a legaturii. Aceasta vechime este utilizata deasemenea, pentru a face distinctia dintre
doua copii identice (cu exceptia vechimii) ale aceluiasi LSA.
3.7.2.5.Stari ale vecinilor (neighbour states)
Standardul OSPF defineste un set de stari ale vecinilor (neighbor states), precum si
evenimentele care determina tranzitiile unui vecin dintr-o stare in alta. Starile in care se poate
afla un nod vecin sunt urmatoarele:
Oprit (Down): Aceasta este starea initiala si indica faptul ca recent nu s-au recptionat
informatii de la nici un ruter din segment.
Incercare (Attempt): Aceasta stare este utilizata in retelele fara difuzare. Aceasta
semnaleazaca un vecin pare sa fie inactiv. In aceasta stare se incearca (in mod
repetat) restabilirea contactului.
Initializare (Init): S-a initiat comunicatia cu un vecin, dar nu s-a stabilit inca o
comunicatie bidirectionala. In realitate, un pachet Hello a fost receptionat de la vecin,
dar RID-ul ruterului local nu apare in acest pachet.
Duplex (2-way): S-a stabilit o comunicatie bidirectionala intre cei doi vecini. In
aceasta stare se pot stabili adiacente, iar fiecare vecin poate fi ales ruter desemnat DR
sau BDR.
Modificare (Exchange): Cei doi vecini fac schimb de baze de date de topologie.
Incarcare (Loading): Cei doi vecini isi sincronizeaza bazele de date de topologie.
Complet (Full): Cei doi vecini se afla intr-o relatie completa de adiacenta, iar bazele
lor de date de topologie sunt sincronizate.
In functie de configuratia ruterului ASBR, rutele sumarizate pentru arii diferite pot fi
redistribuite si in reteaua RIP.
Unul din factorii criticali de succes pentru switch-ul de nivel 2 a fost implementarea
lui operarea simplista . Amplasarea lui a fost de obicei la fel de usoara ca si pornirea switchului , atribuindu-i o adresa IP , si facand conexiunile fizice ale retelei . Ruterele pe de alta
parte , necesita o pregatire mai mare si forteaza utilizatorii sa aleaga dintr-o multitudine de
comenzi codate . La switch-urile de nivel 3 s-a scos aceasta complexitate . Instalarea unui
mediu rutat este la fel de simplu ca instalarea unui switch de nivel 2 , definind interfata
rutata , si validand protocoalele de rutare . Pentru managementul retelei din perspectiva
aplicatiei un switch de nivel 3 se comporta exact ca si un ruter . Din cauza componentei sale
de nivel 2 , sunt disponibile si capabilitatile de monitorizare la distanta (RMON) . Cu toate
acestea , cum capabilitatile de nivel 3 si 4 sunt prezente la switch-ul de nivel 3 ,
monitorizarea de nivel mai mare este disponibila cu tehnologia RMON2 [2] .
Bibliografie:
[1] CISCO Network Fundamentals
[2] CISCO Lan Swtiching & Wireless
[3] CISCO Routing protocols & Concepts
[4] Computer Networks 4th Ed - Andrew S. Tanenbaum
[5] TCP/IP Protocol Suite , McGraw Hill
[6] Internet Protocol," Jon Postel, RFC 791, 1981.
[7]Requirements for IP Version 4 Routers," Fred Baker, RFC 1812, June 1995.
[8] Interconnections: Bridges and Routers, Radia Perlman
[9] http://www.ietf.org/rfc/rfc2328.txt
[10] An engineering approach to computer networking, S. Keshav
[11] http://www.scribd.com/doc/74483572/52130367-Retele-Locale-deCalculatoare-Proiectare-Si-Administrare-Ro
[12] http://grouper.ieee.org/groups/802/1/pages/802.1Q.html