0% au considerat acest document util (0 voturi)
228 vizualizări80 pagini

Cap. 1 Arhitecturi de Reţele de Comunicaţii Şi Arhitectura Internet

Documentul prezintă noțiuni de bază despre arhitecturi de rețele de comunicații și arhitectura Internet. Este descrisă diferența dintre transmisiuni de date și comunicații de date, precum și modul în care cooperarea și schimbul de date se realizează între calculatoare prin intermediul subsistemelor de comunicații și al rețelelor. Sunt prezentate scheme tipice de rețele locale și interconectarea acestora.

Încărcat de

Denis Dragan
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd
0% au considerat acest document util (0 voturi)
228 vizualizări80 pagini

Cap. 1 Arhitecturi de Reţele de Comunicaţii Şi Arhitectura Internet

Documentul prezintă noțiuni de bază despre arhitecturi de rețele de comunicații și arhitectura Internet. Este descrisă diferența dintre transmisiuni de date și comunicații de date, precum și modul în care cooperarea și schimbul de date se realizează între calculatoare prin intermediul subsistemelor de comunicații și al rețelelor. Sunt prezentate scheme tipice de rețele locale și interconectarea acestora.

Încărcat de

Denis Dragan
Drepturi de autor
© All Rights Reserved
Respectăm cu strictețe drepturile privind conținutul. Dacă suspectați că acesta este conținutul dumneavoastră, reclamați-l aici.
Formate disponibile
Descărcați ca PDF, TXT sau citiți online pe Scribd

CAP.

1 ARHITECTURI DE REŢELE DE COMUNICAŢII ŞI


ARHITECTURA INTERNET

1.1 TRANSMISIUNI DE DATE. COMUNICAŢII DE DATE


Transmisiuni de date înseamnă transferul datelor dintr-un punct către unul sau
mai multe puncte prin mijloace de telecomunicaţii.
Comunicaţii de date înseamnă transferul datelor între unităţi funcţionale, efectuat
conform unui ansamblu de reguli privind transmisiunea datelor şi coordonarea
schimbului de date.
Comunicaţiile de date au un înţeles mai larg decât transmisiunile de date,
incluzând nu numai transmisia electrică ci şi mulţi alţi factori implicaţi în controlul,
verificarea şi coordonarea transmiterii informaţiei într-un sistem de calcul bazat pe
comunicaţii. Ele includ, spre exemplu:
- reţele, sisteme şi circuite de transmisiune;
- componente hardware şi software necesare pentru realizarea funcţiunilor pentru
comunicaţii de date;
- standarde pentru interfaţarea echipamentului de utilizator la reţeaua de transmisiune;
- o diversitate de reguli şi proceduri (protocol de comunicaţie) pentru a asigura un schimb
disciplinat al informaţiei.
Unităţile funcţionale între care se face transferul datelor mai sunt numite generic şi
staţii de date. O staţie de date furnizează date pentru transmisiune, este deci sursă de date,
acceptă datele transmise de o altă staţie de date, este deci şi colector de date şi realizează
toate funcţiunile pentru comunicaţia cu o altă staţie de date.
În figura 1.1 este prezentată schematic o legătură de date – ansamblu compus din
elementele a două echipamente terminale de date (DTE – Data Terminal Equipment) care
sunt controlate de un protocol şi care, prin intermediul circuitului de date ce le
interconectează, permit împreună transferul datelor. Echipamentul terminal de date este
acea parte a unei staţii de date care serveşte ca sursă de date, ori colector de date, sau şi
una şi alta. Echipamentul de terminaţie a circuitului de date (DCE – Data Circuit-
terminating Equipment) este o parte a staţiei de date care asigură conversia şi codarea
semnalelor între DTE şi linie. El poate fi un echipament separat sau poate fi integrat în
DTE sau într-un echipament intermediar. În multe aplicaţii acest echipament este numit
modem, după numele a două funcţiuni pe care le realizează, modulare şi demodulare.

Staţie de date Interfaţa


DCE-DTE

DTE DCE DCE DTE

Circuit de date
Legătură de date

Fig. 1.1 Legătura de date

1
1.2 COOPERAREA ŞI SCHIMBUL DE DATE ÎNTRE CALCULATOARE
Prin cooperarea între procese de aplicaţie care rulează în două sau mai multe
calculatoare sunt oferite diferite servicii utilizatorilor. Astfel se poate realiza transferul
unui fişier de la un calculator la altul, se poate accesa de la distanţă o bază de date, se pot
transmite mesaje, se pot utiliza resursele hardware şi software ale unui supercalculator, se
poate partaja utilizarea unor periferice costisitoare, etc.
Schema simplificată a comunicaţiei între două sisteme de calcul este prezentată în
figura 1.2. Două procese de aplicaţii, ce se desfăşoară în două calculatoare, cooperează şi
comunică între ele prin intermediul subsistemelor de comunicaţii, având componente
hardware şi software, instalate în aceste calculatoare. La rândul lor, subsistemele de
comunicaţii comunică între ele prin intermediul unei reţele de comunicaţii de date.

Calculator A Calculator B

Comunicaţie
PA PA
utilizator - utilizator

Subsistem de Comunicaţie Subsistem de


comunicaţii calculator-calculator comunicaţii

Comunicaţie calculator-reţea
Reţea pentru comunicaţii de date

PA - Proces de aplicaţie

Fig. 1.2 Schema comunicaţiei între două calculatoare

Subsistemele de comunicaţii permit schimbul de date între procesele de aplicaţie


care se execută în calculatoare. Există o gamă largă de echipamente de comunicaţii ce
pot fi utilizate, fiecare fiind destinat unei aplicaţii specifice. Spre exemplu, dacă se
transferă un fişier dintr-un calculator în altul similar, aflat în aceeaşi încăpere, mijloacele
de comunicaţie utilizate vor fi mult mai simple decât cele necesare în cazul transferului
între calculatoare diferite plasate în locuri distante. Indiferent însă de tipul mijloacelor de
comunicaţie utilizate, în cele mai multe aplicaţii datele sunt transmise între calculatoare
în modul serial (bit cu bit). Cum în interiorul calculatorului datele sunt transferate, între
subsistemele acestuia, în modul paralel (simultan toţi biţii unui cuvânt) este necesară
conversia paralel-serie înainte de transmiterea datelor de la calculator şi conversia serie-
paralel înainte de recepţia datelor de către calculator. De asemenea, modul de
transmisiune şi circuitul de date necesar depind de separarea fizică a calculatoarelor şi de
debitul datelor.
În transmiterea datelor pe mediul de transmisiune este posibil să apară erori. Este

2
necesar, prin urmare, să se realizeze o funcţie de control al erorii pentru a detecta şi a
corecta erorile apărute. O altă funcţie, de control al fluxului, este utilizată pentru a regla
ritmul în care sunt transferate datele. Dacă între cele două calculatoare comunicaţia
urmează a se stabili prin intermediul unei reţele de date va fi necesară o funcţie de rutare
pentru a alege o rută prin care să se transfere datele.
În unele aplicaţii calculatoarele care sunt în comunicaţie pot fi de tipuri diferite, cu
reprezentări diferite pentru caractere şi valori numerice. Va fi nevoie în aceste cazuri de o
funcţie care să asigure că datele transferate sunt interpretate în acelaşi fel în fiecare
calculator. De asemenea, calculatoarele pot utiliza sisteme de operare diferite, ceea ce
înseamnă că interfeţele între programele de aplicaţie (de utilizator) şi serviciile de
comunicaţie calculator-calculator vor fi diferite. Este evident că şi astfel de aspecte
trebuie avute în vedere pentru realizarea comunicaţiiloe între calculatoare.

1.3 REŢELE PENTRU COMUNICAŢII DE DATE


1.3.1. Introducere în reţelele de date
Configuraţiile reţelelor utilizate pentru comunicaţiile de date depind de natura
aplicaţiei (legătură punct-la-punct, legătură multipunct), numărul calculatoarelor
implicate, distanţa între calculatoare, etc. În cele ce urmează vor fi prezentate câteva
situaţii tipice.
Pentru comunicaţia între două calculatoare, mereu aceleaşi, situate la mică
distanţă unul de altul (în aceeaşi cameră) se utilizează o legătură simplă, punct-la-punct,
prin fire (Fig. 1.3, a). Dacă ele sunt distanţate se utilizează suport de transmisiune oferit
de reţeaua de telecomunicaţii. Frecvent este utilizată în acest scop reţeaua telefonică
publică cu comutaţie (PSTN – Public Switched Telephone Network) şi este nevoie de un
echipament, numit modem, pentru a adapta semnalele ce reprezintă datele la
caracteristicile liniei de transmisiune (Fig. 1.3, b).
Calculator Calculator Calculator Calculator

PA PA PA PA

Subsistem de Subsistem de
Subsistem Subsistem comunicaţii comunicaţii
de de
Modem PST Modem

a) b)

3
LAN 2

P
LAN 1

P Artera principală P
(backbone)
P - Pod
LAN 3
c)

Fig. 1.3 Scheme de comunicaţie între calculatoare:


(a) legătură punct la punct directă;
(b) legătură prin PSTN şi modemuri;
(c) reţele LAN interconectate.

Dacă într-o aplicaţie sunt implicate mai multe calculatoare se va utiliza o reţea
care să permită tuturor calculatoarelor să comunice unul cu altul. Dacă aceste
calculatoare sunt distribuite într-o zonă relativ restrânsă, într-o clădire sau în mai multe
clădiri apropiate, se poate instala o reţea proprie (Fig. 1.3, c) - LAN (Local Area
Network). Reţelele locale situate la distanţe mari una de alta pot fi interconectate folosind
canale de comunicaţii oferite de reţeaua de telecomunicaţii publică, rezultând o reţea ce
acoperă o arie mare (WAN – Wide Area Network). O astfel de soluţie este recomandabilă
în cazurile în care traficul între reţelele interconectate este mare.
Reţelele de date s-au dezvoltat ca urmare a aplicaţiilor economice scrise pentru
microcomputer. La acea vreme microcomputerele nu erau conectate, aşa că nu exista o
cale eficientă pentru împărtăşirea datelor peste o mulţime de microcomputere.
Împărtăşirea datelor cu ajutorul floppy diskurilor era o manieră ineficientă, mai ales în
mediul economic. Fiecare dintre cei care modificau un fişier trebuia să îl distribuie
tuturor celorlalţi. Dacă două persoane modificau acelaşi fişier, una dintre variante se
pierdea. Mediul economic necesita o soluţie care să îndeplinească trei deziderate:
- Să împiedice duplicarea resurselor,
- Să comunice efficient,
- Să pună în funcţiune şi să administreze o reţea.
La începutul anilor 80 s-au dezvoltat reţele de calculatoare, dar într-un mod
dezorganizat, fiecare companie realizând propria reţea. Fiecare companie de hard sau soft
realiza propriile produse, după propriile standarde. Aceste standarde individuale se
dezvoltau ca urmare a competiţiei între companii. Ca o consecinţă, multe dintre
specificaţii nu erau compatibile unele cu altele. A devenit dificil ca reţelele diferite să
comunice între ele. Prima soluţie a fost crearea unor standarde pentru reţele locale.
Deoarece aceste standarde permiteau un ghid deschis de urmat în crearea de produse hard
şi soft, echipamentele diferitelor companii au început să devină compatibile. S-a ajuns
astfel la o stabilitate în implementarea LAN-urilor.

4
Într-un sistem LAN, fiecare departament este un fel de insulă electronică. Întrucât
utilizarea computerelor a cunoscut o creştere importantă, a devenit evident că LAN-urile
nu erau suficiente. A devenit necesar ca informaţia să se deplaseze eficient şi rapid nu
numai în interiorul companiei, ci şi între companii. Soluţia a constituit-o crearea de reţele
metropolitane (metropolitan-area networks (MANs)) şi de reţele întinse wide-area
networks (WANs).
O prezentare a tipurilor de reţele şi a dimensiunilor lor este prezentată în figura 1.4

Fig. 1.4 Tipuri de rețele

1.3.2. Foarte scurt istoric al reţelelor:


-1957. Departamentul Apărării SUA a creat prima reţea de calculatoare ARPA
-1962 primele preocupări privind comutarea de pachete
-1969 la ARPANET se conectează primele patru universităţi americane
-1973 se lucrează la ceea ce apoi va fi TCP/IP; ARPANET devine internaţională
prin conectarea la ea a unei universităţi din Londra şi a uneia din Oslo.
-1974 prima versiune comercială a ARPANET
-1981 apare termenul Internet pentru conectarea unui set de reţele
-1983 TCP/IP devine limbaj universal pentru Internet
-1984 se fondează CISCO Szstems- apar primele gateway-uri şi rutereş Internetul
avea 1000 hosturi
-1987 Internetul avea 10.000 hosturi.
-1989 Internetul avea 100.000 hosturi.
-1990 ARPANET devine Internet
-1991 apare World Wide Web (www).
-1992 Internetul are 1.000.000. hosturi
-1994 apare Netscape Navigator

5
-1996 peste 10.000.000 utilizatori Internet
-2001 peste 110.000.000 utilizatori Internet
-De atunci are loc o creștere exponențială – numărul utilizatorilor se dublează la
fiecare 6 luni

1.3.3. Echipamente de rețea.


Echipamentele care asigură conectarea directă la un segment de rețea sunt referite
ca dispozitive (device). Aceste dispozitive sunt împărțite în două clase. Prima clasă
presupune dispozitive de capăt (end-user devices) . Acestea includ computere,
imprimante, scannere, și alte dispozitive care permit conectarea directă. A doua clasă este
cea a dispozitivelor de rețea, incluzând toate dispozitivele care conecteză dispozitivele de
capăt care le permite acestora să comunice.
Dispozitivele de capăt care permit utilizatorului conectarea la rețea sunt referite ca
hosturi (gazde). Aceste dispozitive permit utilizatorilor să împărtășească, creeze, și obține
informații. Hosturile pot exista și în afara rețelei, dar capabilitățile lor scad semnificativ.
Hosturile sunt conectate la rețea printr-un card de interfață cu rețeaua (network interface
card (NIC)). NIC este un cablaj imprimat care se fixează într-un slot al plăcii de bază a
computerului. Fiecare NIC are propriul cod, numit adresă Media Acces Control (MAC).
Așa cum arată numele, NIC controlează accesul hostului la mediu.
Nu există simboluri standardizate pentru echipamentele de capăt. Reprezentarea
lor se face printr-un desen similar dispozitivului real, permițând o recunoaștere rapidă.
Dispozitivele de rețea permit transportul datelor care trebuie transferate între
hosturi. Dispozitivele de rețea furnizează extensia conexiunilor prin cablu, concentrarea
conexiunilor, conversia formatelor de date, managementul transferului de date.
Aceste dispozitive sunt prezentate în figura 1.5.

Fig. 1.5 Dispozitive utilizate în rețele

6
- Repetorul: dispozitiv utilizat pentru regenerarea semnalului. Repetoarele
regenerează semnale analogice sau digitale distorsionate datorită atenuării mediului de
transmisiune. Repetorul nu poate face o rutare inteligentă.
- Hub-urile concentreză conexiunile. Ele grupează hosturile și permit rețelei să le
vadă ca pe un singur dispozitiv. Acțiunea se realizează în mod pasiv, fără nici un efect în
transmisia datelor. Există și hub-uri active, care, pe lângă concentrarea conexiunilor
realizează și regenerarea semnalului.
- Bridge-urile fac conversii ale formatelor de date, realizând și management de bază
al transmisiei datelor. Așa cum le spune și numele, acestea realizează conectarea între
LAN-uri. Bridge-urile realizează o v erificare a datelor transmise, pentru a vedea dacă
permit trecerea dintr-un LAN în altul. Ca urmare, părțile rețelei devin mai eficiente.
- Switch-urile aduc un plus de inteligență în managementul transferului datelor. Ele
nu numai că determină dacă datele rămân sau nu într-un LAN, dar ele pot transfera datele
numai pe conexiunea dorită. Altă diferență față de bridge este aceea că switch-ul nu poate
face conversie de format.
- Ruterele au toate capabilitățile enumerate până acum. Pot regenera semnale,
concentra conexiuni multiple, realiza conversia formatelor datelor, manageria transferul
de date. Ele se pot conecta și la WAN-uri, permițând legături între LAN-uri aflate la
distanțe geografice mari. Nici un alt dispozitiv nu poate furniza acest tip de conexiune.
Pe de altă parte, pentru aplicaţiile în care sunt implicate calculatoare aflate la
distanţe mari unele de altele se pot utiliza reţelele publice de date, elaborate special
pentru a transmite date. Pentru astfel de reţele sunt standardizate interfeţele utilizator-
reţea (figura 1.6).

Calculator Calculator Calculator


SC SC SC

interfață utilizator-rețea
PSDN
SC – subsistem de comunicaţie

Fig. 1.6 Reţea publică de date

Prin digitalizarea completă a reţelei telefonice, nu numai a comutaţiei în centralele


telefonice şi a transmisiunii pe liniile de interconexiune şi de mare distanţă, ci şi a
transmisiunii pe liniile de abonat, va fi posibilă transmiterea semnalelor ce reprezintă
voce, date, imagini utilizând acelaşi tip de echipamente. O astfel de reţea, care
funcţionează complet digital, este numită reţea digitală cu integrarea serviciilor (ISDN –
Integrated Services Digital Network).
Desigur, sunt cazuri în care nu toate calculatoarele implicate într-o aplicaţie sunt
conectate la aceeaşi reţea, ci la reţele diferite: LAN, WAN, reţele publice de date, ISDN.

7
1.4 MODELUL DE REFERINŢĂ AL INTERCONECTĂRII SISTEMELOR
DESCHISE (OSI-RM)

Compatibilitatea între sistemele eterogene dintr-o reţea de comunicaţii poate fi


asigurată numai prin definirea unor norme de interconexiune pe care trebuie să le
respecte fiecare sistem.
Pentru compatibilitate maximă, minimizând in acelaşi timp constângerile impuse
fiecărui sistem, ISO (International Organization for Standardization) şi ITU-T
(International Telecommunications Union – Telecommunications Standardization Sector,
fost CCITT) au stabilit un model de referinţă (RM-Reference Model) al interconectării
sistemelor deschise (OSI-Open Systems Interconnection). Acest model de referinţă
constituie o bază comună pentru coordonarea elaborării standardelor privind
interconectarea sistemelor.
Sistemele de comunicaţii care folosesc metodele şi procedurile de comunicaţii
normalizate, derivând din modelul de referinţă, sunt numite uneori sisteme deschise
deoarece, respectând aceleaşi reguli pentru schimbul de informaţii între ele, sunt deschise
unul faţă de altul, este posibilă comunicaţia între ele.
Un sistem deschis este reprezentarea, în cadrul modelului de referinţă, a acelor aspecte
ale unui sistem deschis real care corespund standardelor OSI.
OSI are în vedere numai interconectarea sistemelor deschise nu şi funcţionarea internă
a fiecărui sistem deschis real. Interconectarea sistemelor deschise priveşte transferul
informaţiei între sisteme şi capacitatea acestora de a coopera pentru a îndeplini o sarcină
comună.
Sunt foarte dificile elaborarea şi implementarea unui singur protocol care să includă
toate funcţiunile necesare într-o reţea de comunicaţii între calculatoare. Dar, din punct de
vedere logic, ansamblul acestor funcţiuni poate fi împărţit în două categorii,
corespunzând celor două sarcini principale pe care trebuie să le asigure reţeaua: transferul
informaţiei şi prelucrarea informaţiei.
Soluţionarea acestor probleme poate fi uşurată prin ordonarea lor pe baza principiilor
de ierarhizare şi descentralizare. Organizarea ierarhică şi descentralizată facilitează
studiul şi realizarea reţelelor, simplifică funcţionarea lor prin utilizarea unor reguli
formale, îmbunătăţeşte fiabilitatea prin compartimentarea strictă a funcţiunilor şi asigură,
datorită modularităţii create, facilităţi de extensie.
Toate aceste considerente au condus la definirea unei arhitecturi de reţea care nu este
nici un produs hardware, nici un produs software, ci un concept de organizare hardware şi
software cu ajutorul unei structuri ierarhizate stratificate (figura 1.7).
Subsistemul de comunicaţie este considerat ca un ansamblu format din mai multe
nivele (straturi), fiecare nivel realizând funcţiuni bine definite. Fiecare nivel dintr-un
subsistem de comunicaţii realizează funcţiunile sale în cooperare cu nivelul omolog din
sistemul corespondent. Cooperarea se realizează prin schimbul de mesaje între cele două
nivele omoloage, schimb de mesaje efectuat conform unor reguli ce constituie un
protocol de comunicaţie. Acest schimb de mesaje se face prin intermediul serviciului
oferit de nivelul imediat inferior.

8
Serviciul N
N+1 Protocol N N+1
N N
N−1 N−1
Serviciul (N−1)

Mediul de transmisiune

Fig. 1.7 Relaţia între nivele în cazul unei structuri stratificate


Relaţia între nivelurile adiacente şi cu nivelul omolog din sistemul corespondent se
poate vedea în figura 1.7. Această relaţie este o relaţie logică, nu fizică. Nivelul (N−1)
oferă un serviciu nivelului N. Nivelul N, la rândul său, oferă, în colaborare cu nivelul
omolog din sistemul corespondent, un serviciu mai amplu nivelului (N+1), incluzând
serviciul oferit de nivelul (N−1). Modul în care nivelele adiacente comunică determină
interfaţa între aceste niveluri.
Serviciul furnizat de nivelul cel mai jos constă în transmiterea fizică prin reţea a
elementelor binare. Avansând spre nivelele superioare fiecare nivel adaugă funcţiuni noi
serviciului oferit de nivelele inferioare, aşa încât ultimul nivel, cel de sus în această
structură stratificată, permite proceselor de aplicaţie să coopereze, realizând sarcini de
prelucrare distribuită a informaţiei, indiferent de tipul calculatoarelor în care se
desfăşoară aceste procese.
Standardele relative la un astfel de model care are în vedere o arhitectură stratificată a
interconectării se referă la comportarea exterioară a elementelor din model şi nu la
structura lor internă; standardele specifică serviciile furnizate, definesc formatele
protocoalelor şi factorii ce permit interpretarea corectă a informaţiei transmise în cadrul
protocoalelor, dar nu impun modul în care acestea vor fi implementate într-un sistem
oarecare.
Arhitectura definită de modelul de referinţă OSI este constituită din suprapunerea a
şapte niveluri (figura 1.8), după principiul prezentat mai sus, numerotate de jos în sus şi
numite: fizic, legătură de date, reţea, transport, sesiune, prezentare, aplicaţie.
Aplicaţie 7 7
Prezentare 6 6
Sesiune 5 5
Protocol transport
Transport 4 4
Reţea 3 3 3 3
Legătură de date 2 2 2 2
Fizic 1 1 1 1

Suport fizic
Sisteme intermediare

Sisteme de extremitate
Fig. 1.8 Modelul de referinţă OSI

9
Primele trei niveluri de jos sunt dependente de reţea şi protocoalele corespunzătoare
acestor nivele operează între sisteme adiacente. Este posibil ca între sistemele de
extremitate, cele în care rulează programele de aplicaţie a căror cooperare este asigurată
prin subsistemele de comunicaţie interconectate, să existe sisteme intermediare care
acţionează ca relee pentru datele transmise, dirijând datele de la un sistem la altul.
Nivelul cel mai înalt care poate participa la relizarea acestei funcţii de releu este nivelul 3
(reţea).
În determinarea celor şapte niveluri ale modelului de referinţă s-au avut în vedere mai
multe principii, ca de exemplu:
- să se creeze o frontieră (între două nivele) acolo unde descrierea serviciilor poate fi
concisă şi numărul interacţiunilor la traversarea acestei frontiere este minim;
- să se creeze nivele separate pentru funcţiuni care diferă prin prelucrarea efectuată sau
prin tehnologia utilizată;
- să se regrupeze funcţiuni similare în acelaşi nivel;
- să se creeze un nivel acolo unde este nevoie să se distingă o modalitate de
administrare a datelor (morfologică, sintactică, semantică);
- să fie posibilă efectuarea de modificări ale funcţiilor sau protocoalelor fără a afecta
alte nivele;
- pentru fiecare nivel să se creeze frontiere numai cu nivelele imediat inferior şi
superior.
Totodată s-a ţinut seama şi de următoarele considerente:
a) Este esenţial ca arhitectura să permită utilizarea unei varietăţi realiste de medii fizice
de interconexiune, asociate cu diferite proceduri de control. De aceea s-a ales nivelul fizic
ca nivelul cel mai de jos al arhitecturii.
b) Unele suporturi fizice de comunicaţii (spre exemplu liniile telefonice) necesită
folosirea de tehnici particulare pentru a transmite datele între sisteme, deoarece prezintă
un procent de erori mare, inacceptabil pentru majoritatea aplicaţiilor. Aceste tehnici
particulare sunt utilizate în procedurile de control al legăturii de date, care au fost deja
studiate şi normalizate. Trebuie, de asemenea, să se ţină seama că noile suporturi fizice
de comunicaţii, cum ar fi fibrele optice, vor necesita alte proceduri pentru controlul
legăturii. Aceste considerente au condus la identificarea unui nivel legătură de date,
deasupra nivelului fizic al arhitecturii.
c) Nivelul legătură de date asigură o conexiune numai între noduri adiacente ale reţelei;
pentru a stabili o conexiune cap-la-cap între terminale este nevoie de nivelul reţea care să
grupeze protocoalele de rutare. Nivelul reţea furnizează astfel o conexiune între entităţi
de transport, incluzând cazurile când intervin şi noduri intermediare.
d) Controlul trasportului datelor de la un sistem de extremitate, sursă, la un sistem de
extremitate, destinaţie, control care nu se face în nodurile intermediare, este ultima
funcţiune care trebuie realizată pentru a furniza integral serviciul transport. Nivelul cel
mai de sus al părţii care asigură serviciul de transport al arhitecturii este deci nivelul
transport, situat deasupra nivelului reţea. Acest nivel transport eliberează entităţile
nivelelor superioare de orice problemă privind transportul datelor între ele.
e) Deşi nivelul transport poate furniza o conexiune cap-la-cap fără erori (virtual),
asigurând retransmiterea informaţiei eronate sau pierdute, informaţia poate fi pierdută în
terminale datorită suprasaturării memoriilor. Mai mult, unele aplicaţii pot necesita ca
fluxul de informaţie între terminale să fie unidirecţional, bidirecţional alternant sau

10
bidirecţional simultan. Nivelul sesiune va furniza această funcţionalitate prin utilizarea
punctelor de sincronizare şi a jetoanelor. Punctele de sincronizare sunt înserate în fluxul
informaţiei la cererea entităţilor de aplicaţie şi, dacă este necesar, fluxul informaţiei poate
fi reluat de la un punct de sincronizare anterior.
f) Funcţiunile privind reprezentarea şi manipularea datelor structurate pentru scopul
programelor de aplicaţie au fost incluse în nivelul prezentare, aflat deasupra nivelului
sesiune.
g) Nivelul aplicaţie, cel mai de sus al arhitecturii, constituind unul din aspectele
proceselor de aplicaţie, conţine protocoalele care le servesc pentru a comunica.
Având în vedere cele de mai sus, funcţiunile celor şapte niveluri ale modelului de
referinţă OSI pot fi prezentate după cum urmează.
Nivelul cel mai de sus, aplicaţie (7), conţine entităţile de aplicaţie prin a căror
cooperare se asigură proceselor de aplicaţie mijloacele pentru accesul la mediul OSI.
Fiecare proces de aplicaţie este reprezentat pentru perechea sa printr-o entitate de
aplicaţie. Nivelurile inferioare furnizează serviciile prin intermediul cărora cooperează
entităţile de aplicaţie. Schimburile de informaţie între procesele de aplicaţie se realizeză
prin intermediul entităţilor de aplicaţie, al protocoalelor de aplicaţie şi al serviciilor
nivelului imediat inferior. Procesele de aplicaţie pot comunica după ce, în prealabil, prin
intermediul serviciilor oferite de nivelele inferioare, s-a stabilit o asociere (conexiune)
între entităţile de aplicaţie corespunzătoare.
Nivelul prezentare (6) se ocupă de reprezentarea informaţiei transferate între entităţile
de aplicaţie. Reprezentarea datelor poate diferi de la un calculator la altul. Numerele, spre
exemplu, sunt reprezentate prin cuvinte de 16 biţi sau 32 biţi, în complement de 1 sau de
2. Calculatoarele IBM folosesc codul EBCDIC pentru reprezentarea caracterelor, în timp
ce, practic, toate celelalte calculatoare folosesc codul ISO-7 (ASCII). Nivelele 1-5 au
sarcina de a oferi o transmisiune fiabilă a octeţilor, dar un acelaşi octet are semnificaţii
diferite de la un calculator la altul. Nivelul prezentare asigură o reprezentare comună a
datelor transferate între entităţile de aplicaţie. Acestea pot folosi orice sintaxă în
reprezentarea datelor, iar nivelul prezentare asigură transformarea dintre aceste sintaxe şi
sintaxa comună de transfer.
Prin urmare, există trei versiuni sintactice ale datelor: sintaxa utilizată de entitatea de
aplicaţie transmiţătoare, sintaxa utilizată de entitatea de aplicaţie receptoare şi sintaxa
utilizată între entităţile de prezentare (sintaxa de transfer). Nivelul prezentare posedă
funcţiunile necesare pentru a realiza transformarea între sintaxa de transfer şi sintaxa
utilizată de entitatea de aplicaţie.
Nu există o sintaxă de transfer unică, predeterminată. Sintaxa de transfer ce va fi
utilizată într-o conexiune prezentare este negociată între entităţile de prezentare
corespondente.
O altă funcţie a nivelului prezentare este legată de securitatea datelor. În unele
aplicaţii, datele transmise de o entitate aplicaţie sunt mai întâi criptate (cifrate), utilizând
o cheie şi sunt decriptate de entitatea prezentare corespondentă.
Nivelul sesiune (5) asigură mijloacele necesare pentru organizarea şi sincronizarea
dialogului dintre entităţile de prezentare cooperante, precum şi pentru administrarea
schimburilor de date dintre ele. Pentru a permite transferul datelor între entităţile de
prezentare se stabileşte o conexiune sesiune la cererea uneia dintre aceste entităţi. Nivelul
sesiune defineşte trei tipuri de dialoguri: bidirecţional simultan, bidirecţional alternant şi

11
unidirecţional. Serviciile nivelului sesiune includ stabilirea unor puncte de sincronizare în
cadrul dialogului, permiţând întreruperea unui dialog şi reluarea lui de la un punct de
sincronizare.
Procesul de aplicaţie (utilizator)

Servicii de informaţie distribuită

Transfer fişiere, acces şi administrare, schimb de mesaje 7. Nivelul


aplicaţie

Serviciul de schimb de mesaje independent de


sintaxă

Negocierea sintaxei de transfer, transformările de 6. Nivelul


reprezentare a datelor prezentare

Sincronizarea dialogului între entităţile de aplica\ie 5. Nivelul


sesiune

Serviciul de schimb de mesaje independent de reţea

Transferul mesajului cap-la-cap (administrarea 4. Nivelul


conexiunii,controlul erorii,fragmentarea, controlul fluxului) transport

Rutarea şi adresarea în reţea, stabilirea şi eliberarea 3. Nivelul


conexiunii reţea

Controlul legăturii de date (structurarea în cadre, 2. Nivelul


transparenţa datelor, controlul erorii) legătură de date

Definirea caracteristicilor mecanice şi electrice ale interfeţei 1. Nivelul


cu reţeaua fizic

Conexiunea fizică la echipamentul de terminaţie al


reţelei

Reţeaua de comunicaţii de date

Fig. 1.9 Funcţiunile nivelurilor din modelul de referinţă

Nivelul transport (4) asigură transferul transparent al datelor între entităţile de


sesiune. El optimizează utilizarea serviciului reţea disponibil, pentru a asigura, cu un cost
minim, performanţa cerută de fiecare entitate sesiune. Toate protocoalele definite la
nivelul transport au o semnificaţie cap la cap, indiferent de releele intermediare pe care,
eventual, datele le traversează. Pentru nivelele inferioare protocoalele acţionează între
sisteme vecine şi nu între sistemele de extremitate.

12
Calitatea serviciului conexiunii transport este negociată între entităţile de sesiune şi
serviciul transport. În momentul stabilirii unei conexiuni transport se poate selecta, dintr-
un ansamblu definit de clase de serviciu disponibile, clasa serviciului de transport ce
urmează a fi furnizat.
Conexiunea tipică de transport constă într-o legătură punct la punct, asigurând la
destinaţie mesajele în ordinea în care au fost emise. Alte tipuri de servicii posibile permit
transportul de mesaje izolate, fără a garanta ordinea lor la recepţie şi difuzarea mesajelor
către mai mulţi destinatari. Tot la nivelul transport se poate asigura un control al erorii
cap la cap.
Nivelul reţea (3) furnizează, pe de o parte, mijloacele pentru a stabili, a menţine şi a
elibera conexiunile reţea între sisteme deschise conţinând entităţi de aplicaţie ce trebuie
să comunice, precum şi, pe de altă parte, mijloacele funcţionale şi procedurale pentru
schimbul unităţilor de date ale serviciului reţea, pe conexiuni reţea, între entităţi de
transport. Nivelul reţea asigură entităţilor de transport independenţa faţă de problemele de
rutare şi de releu legate de stabilirea şi funcţionarea oricărei conexiuni de reţea, inclusiv
în cazul în care sunt utilizate în tandem mai multe subreţele. El conţine funcţiunile
necesare pentru a masca, pentru nivelul tansport, diferenţele dintre caracteristicile
diferitelor tehnologii de transmisiune şi de subreţele, asigurând un serviciu de reţea
coerent. Entităţile de transport se identifică prin adresele de reţea care, în fapt, identifică
în mod unic fiecare sistem de extremitate (reprezentate prin entităţi de transport).
Nivelul legătură de date (2) furnizează mijloacele funcţionale şi procedurile necesare
pentru stabilirea, menţinerea şi eliberarea conexiunilor legătură de date între entităţi de
reţea, precum şi pentru transferul unităţilor de date ale serviciului legătură de date. O
conexiune legătură de date este realizată cu ajutorul uneia sau al mai multor conexiuni
fizice. Sarcina principală a nivelului legătură de date este de a prelua un mijloc de
transmisiune “brut” (cel fizic) şi a-l transforma într-o cale de comunicaţie ce pare, pentru
nivelul reţea, scutită de erori. El realizează această funcţiune prin formatarea datelor de
transmis în cadre (de câteva sute de octeţi), transmiterea cadrelor în succesiune şi
administrarea cadrelor de confirmare transmise de receptor. Dacă un cadru este perturbat
în transmisiunea sa el trebuie retransmis.
Transmisiunile repetate ale aceluiaşi cadru pot provoca duplicate (spre exemplu, dacă
nu este recepţionat un cadru de confirmare). Problemele privind cadrele eronate, pierdute
sau duplicate sunt rezolvate de nivelul legătură de date. Mecanismul prin care se rezolvă
aceste probleme este asfel conceput încât, simultan, cu ajutorul lui, se face şi un control al
fluxului pentru a evita saturarea unui receptor lent de către un emiţător mai rapid.
Nivelul fizic (1) furnizează mijloacele mecanice, electrice, funcţionale şi procedurale
necesare activării, menţinerii şi dezactivării conexiunilor fizice destinate transmiterii
biţilor între entităţi ale legăturii de date. O conexiune fizică poate implica mai multe
sisteme deschise intermediare, fiecare constituind un releu pentru transmiterea biţilor în
cadrul nivelului fizic. Nivelul fizic trebuie astfel conceput încât biţii transmişi de la un
capăt al conexiunii fizice să fie recunoscuţi ca atare la celălalt capăt. La acest nivel se pun
deci probleme de genul următor: cum se reprezintă biţii, durata fiecărui bit, posibilitatea
de a transmite în cele două sensuri simultan, iniţializarea conexiunii şi eliberarea ei când
cele două părţi au terminat, tipul conectorilor utilizaţi, suportul fizic utilizat etc.

13
Calea de comunicaţie în mediul fizic pentru OSI, între două entităţi fizice, împreună
cu facilităţile necesare în nivelul fizic pentru transmiterea biţilor pe această cale, se
numeşte circuit de date .

1.5 ARHITECTURA TCP/IP (INTERNET)


Stivele de protocoale sunt colecții de protocoale care validează comunicarea prin rețea
de la un host la altul. Un protocol este o descriere formală a unui set de reguli și convenții
care guvernează un aspect particular al modului în care comunică dispozitivele.
Protocoalele determină formatul, limitele de timp, secvențarea, controlul erorilor în
comunicațiile de date. Fără protocoale, computerele nu ar fi capabile să reconstituie în
formatul original șirurile de biți venind de la un alt computer .
Protocoalele controlează toate aspectele comunicației de date, incluzând:
- Cum se construiește fizic o rețea,
- Cum se conectează computerele la rețea,
- Cum se formatează datele în vederea transmiterii,
- Cum sunt transmise datele,
- Cum sunt prelucrate datele.
Aceste reguli de realizare a rețelelor sunt create și administrate de mai multe
organizații și comitete diferite. Dintre acestea, Institute of Electrical and Electronic
Engineers (IEEE), American National Standards Institute (ANSI), Telecommunications
Industry Association (TIA), Electronic Industries Alliance (EIA) and the International
Telecommunications Union (ITU), formerly known as the Comité Consultatif
International Téléphonique et Télégraphique (CCITT).
Arhitectura stratificată a unei reţele TCP/IP este prezentată, prin comparaţie cu
modelul OSI, în figura 1.10.

7 Aplicaţie
Aplicaţie Servicii şi protocoale de
6 Prezentare aplicaţii
5 Sesiune
4 Transport Transport TCP UDP
3 Reţea Internet IP ICMP ARP RARP [Link].
2 Legătură de date Interfaţă reţea Driver reţea
Placa interfaţă reţea (NIC)
1 Fizic Hardware

Model OSI Arhitectura Protocoale şi componente TCP/IP


stratificată TCP/IP
TCP - Transmission Control Protocol ICMP - Internet Control Message Protocol
UDP - User Datagram Protocol ARP - Address Resolution Protocol
IP - Internet Protocol RARP - Reverse Address Resolution Protocol

Fig. 1.10 Arhitectura TCP/IP

14
Nivelul interfaţă reţea acceptă mesajele de la nivelul internet şi le pregăteşte pentru
transmiterea pe un anumit tip de legătură de date (reţea fizică). Pe de altă parte nivelul
interfaţă reţea analizează fiecare cadru recepţionat de placa NIC şi determină, după biţii
de control ai cadrului, care este protocolul de nivel internet căruia trebuie să i se transmită
datele din cadrul recepţionat.
Nivelul internet realizează funcţiunile de rutare şi de releu pentru transmiterea
pachetelor de la sistemul sursă la sistemul destinaţie. La acest nivel se utilizează mai
multe protocoale, dintre care se remarcă potocolul Internet (Internet Protocol - IP) care
asigură un serviciu de transmitere a datelor fără conexiune. IP asigură transmiterea de
blocuri de date între calculatoare identificate prin adresa de lungime fixă.
Protocolul ICMP (Internet Control Message Protocol) este protocolul pentru
transferul mesajelor de control într-o rețea. Acesta foloseşte serviciile IP (mesajul ICMP
ocupă câmpul de date al IP) asigurând un mecanism prin care ruterele şi sistemele din
reţea comunică informaţii privind situaţiile de funcţionare anormală. Asigură un număr
de funcții de diagnosticare și poate transmite pachete de anunțare a diferitelor evenimente
cum ar fi modificarea rutării în rețea, echilibrarea vitezei de transmisie între două hosturi
de capacități diferite, etc.
Protocolul ARP (Address Resolution Protocol) este folosit doar pentru rețele Ethernet
şi permite unui sistem să determine adresa fizică (MAC) a unui alt sistem din aceeaşi
reţea fizică cunoscând adresa IP (de nivel reţea) a acestuia.
Protocolul RARP (Reverse Address Resolution Protocol) permite unui sistem să-şi
obţină, atunci când n-o cunoaşte, adresa IP proprie.
Nivelul transport asigură comunicaţia între programele de aplicaţie. O astfel de
comunicaţie este numită adesea comunicaţie cap - la - cap. Nivelul transport poate regla
fluxul datelor, poate asigura livrarea datelor fără erori şi în secvenţă. La nivelul transport
fluxul datelor ce trebuie transmise se împarte în pachete şi fiecare pachet este trecut,
împreună cu adresa de destinaţie, către nivelul internet pentru transmisiune. Când mai
multe programe de aplicaţie beneficiază, în acelaşi sistem, de serviciile reţelei, nivelul
transport trebuie să accepte datele de la acestea şi să le treacă spre nivelul inferior,
adăugând fiecărui mesaj informaţia necesară pentru identificarea programelor de
aplicaţie.
Sunt folosite două protocoale de transport: UDP (User Datagram Protocol) şi TCP
(Transmission Control Protocol). Protocolul UDP asigură un serviciu fără conexiune
folosind IP pentru transportul mesajelor. Acest protocol, mai simplu decât TCP, nu
garantează livrarea mesajului la recepţie fără erori, fără pierderi, fără duplicate, în ordinea
în care au fost emise. Programele de aplicaţie care utilizează UDP ar trebui să-şi asume
responsabilitatea deplină pentru soluţionarea acestor aspecte ale transmisiunii.
Protocolul TCP asigură un serviciu cu conexiune, asigurind un transfer fiabil, fără
erori, in secventa si cu eliminarea pachetelor duplicate.
La elaborarea unui program de aplicaţie se alege protocolul de transport în funcţie de
necesităţile impuse de aplicaţie.
Nivelul aplicaţie asigură utilizatorilor reţelei, prin intermediul programelor de
aplicaţie, o gamă largă de servicii. Dintre acestea cele mai frecvent folosite sunt SMTP
(Simple Mail Transfer Protocol), FTP (File Transfer Protocol), Telnet Remote Login,
SNMP (Simple Network Management Protocol), DNS (Domain Name System - sistemul

15
numelor pentru domenii), PING (Packet InterNet Groper), HTTP (HyperText Transfer
Protocol).
Protocolul SMTP este folosit pentru transferul mesajelor de poştă electronică. Este
folosit pentru a trimite, recepționa și ruta mesajele (scrisorile) în cadrul rețelelor oricât de
mari, ajungând să fie protocolul (de facto) pentru e-mail-ul din Internet.
Protocolul FTP permite utilizatorilor transferul de fişiere, în ambele sensuri, între un
sistem local şi unul distant. Fişierele pot conţine fie texte (caractere ASCII sau EBCDIC),
fie date pur binare.
Protocolul Telnet permite unui utilizator să se identifice într-un sistem distant prin
intermediul sistemului local. Acest protocol stabileşte o relaţie client - server între
sistemul local (client) şi aplicaţia Telnet distantă (server), permiţând deci funcţionarea
unui sistem local în regim de terminal virtual conectat la un sistem distant.
Protocolul SSH (Secure SHell) ofera servicii similare cu Telnet, și servicii în plus.
Chiar dacă în esență el este o "dezvoltare" a altui protocol (RSH - Remote Shell), practic
însă este folosit mai ales ca înlocuitor al lui Telnet pentru că oferă o autentificare mult
îmbunătățită și, în plus, criptarea datelor.
Protocolul SNMP este folosit pentru administrarea de la distanţă a echipamentelor de
interconectare a reţelelor.
Protocolul DNS asigură serviciul director care menţine corespondenţa şi face
translatarea între numele date de utilizatori sistemelor lor conectate la reţea şi adresele de
reţea (IP) ale acestora.
Protocolul SNMP asigură un serviciu care permite realizarea unor funcţiuni de
administrare a reţelei.
Protocolul HTTP asigură un serviciu de transfer al informaţiei în reţeaua globală
(WWW – World Wide Web) reprezentată într-un limbaj specific, HTML (HyperText
Markup Language). Aplicaţia deservită de acest protocol este de tip client – server, iar
paginile serverelor de Web sunt identificate după o schemă specială de adresare numită
URL (Uniform Resource Locator).
Protocolul PING asigură serviciul care poate fi utilzat pentru a testa conectivitatea
între două sisteme.

1.6 REŢELE ZONALE (AREA NETWORK)


Din punctul de vedere al producǎtorilor de echipamente, toate reţelele se încadreazǎ în
terminologia generalǎ de “reţea zonalǎ” sau “area network”. În aceastǎ categorie de
structuri hardware-software se pot identifica – prin anumite caracteristici comune -
urmǎtoarele tipuri de “reţele de calculatoare” cu denumirea consacrată în limba engleză:
• Personal Area Network (PAN)
• Local Area Network (LAN)
• Metropolitan Area Network (MAN)
• Wide Area Network (WAN)
În acest context general, Internetul este cea mai complexă materializare a noţiunii de
“reţea de calculatoare” prin care sunt conectate între ele miliarde de calculatoare din
întreaga lume (cea mai complexă reţea WAN).
Într-o caracterizare globală şi simplificată a tipurilor de reţele de calculatoare
distingem două categorii:
• Reţele locale de calculatoare (LAN- Local Area Network) şi

16
• Reţele de mare suprafaţă (WAN-Wide Area Network).
Într-o comparaţie superficială, LAN-urile sunt mai performante decât WAN-urile în
ceea ce priveşte viteza de transfer a datelor, securitatea transferului şi robusteţea
comunicaţiei.
Progresele contemporane înregistrate în domeniul tehnologiei reţelelor de calculatoare
pe cele două componente-hardware şi software complică procesul de evaluare şi
diferenţiere între reţelele LAN şi WAN. Cablurile de fibră optică au permis tehnologiilor
LAN să conecteze echipamente aflate la zeci de kilometri depărtare (distanţe specifice
WAN-urilor) în timp ce s-a mărit considerabil viteza şi siguranţa în comunicaţie pentru
reţelele WAN.

1.6.1. Tipuri de reţele zonale


[Link]. Local Area Network (LAN)
LAN-urile sunt, de obicei, localizate într-un spaţiu corespunzător unei clădiri sau
campus universitar şi mai general, la nivelul unei organizaţii.
Ca dimensiune LAN-urile pot fi mici, formate, de exemplu din trei calculatoare, sau
pot cuprinde prin legături între ele, sute de calculatoare; în afară de faptul că operează
într-un spaţiu limitat, LAN-urile sunt în general proprietatea unei singure persoane sau
organizaţii şi sunt administrate exclusiv de proprietar.
Un LAN este realizat din următoarele componente:
- Computere,
- Plăci de rețea,
- Dispozitive periferice,
- Mediul de rețea,
- Dispozitive de rețea.
LAN-urile sunt proiectate să:
- Opereze într-o arie geografică limitată,
- Să permită multi-accesul la un mediu de bandă largă,
- Să asigure un control al intimității sub o administrare locală,
- Să furnizeze o conectivitate permanentă la serviciile locale,
- Să conecteze fizic dispozitive alăturate.
Tehnologii utilizate de către LAN-uri: Ethernet, Token Ring, FDDI

[Link]. Wide Area Network


WAN interconectează LAN-uri care apoi oferă acces la computere sau servere din alte
locații. Ele oferă comunicații instantanee peste arii geografice largi. Această abilitate de a
transmite mesaje instantanee cuiva de oriunde în lume asigură aceleași capabilități de
comunicare ca și când persoanele ar fi în aceeași locație fizică. Produsele software
furnizează accesul la informații și resurse în timp real, permițând întâlniri la distanță.
WAN-urile au creat un nou tip de lucrător numit telecommuter , persoană care nu își
păresește domiciliul pentru a se duce la serviciu.
WAN au fost proiectate să:
- Opereze peste arii geografice întinse,
- Să permită utilizatorilor comunicații de timp real,
- Să furnizeze permanent conectarea resurselor distante la servicii locale,

17
- Să furnizeze servicii e-mail, www, transfer de fișiere, e-comerț.
Tehnologii utilizate de către WAN:
Integrated Services Digital Network (ISDN), Digital Subscriber Line (DSL), Frame
Relay.

[Link]. Metropolitan Area Network(MAN)


MAN este o rețea care acoperă o arie metroplolitană cum ar fi un oraș sau o suburbie.
În mod uzual, constă din două sau mai multe LAN-uri situate într-o arie geografică
comună. De exemplu, o bancă cu mai multe sucursale poate utiliza un MAN. Tipic,
pentru conectarea a două sau mai multe LAN-uri se utilizeză un furnizor de servicii care
oferă linii de comunicație private sau servicii optice. Un MAN poate fi creat utilizând și
legături wireless peste o arie publică.

[Link]. Storage Area Network (SAN)


Un SAN este o rețea dedicată, de mare performanță, utilizată pentru schimbul de date
între servere și resurse de inmagazinare. Deoarece este o rețea dedicată, evită orice
conflict de trafic între clienți și servere.
Tehnologiile SAN oferă legături de mare viteză server-to-storage, storage-to-storage,
sau server-to-server. Se utilizează o infrastructură de rețea separată care evită orice
problemă asociată conectării la rețelele existente.

Fig. 1.11 Storage Area Network (SAN)

18
SAN oferă:
- Performanță - permite accesul curent la matricele de discuri sau benzi
pentru două sau mai multe servere la viteze înalte, oferind sistemului o performanță
ridicată,
- Disponibilitate – SAN sunt construite cu toleranță la dezastre, deoarece
datele pot fi dublate utilizând SAN până la distanțe de 10 km.
- Scalabilitate – Ca și LAN sau WAN, utilizează o varietate de tehnologii.
Acestea permit o relocare a datelor backup , operații, migrare de fișiere și replici de date
între sisteme.

[Link]. Virtual private network (VPN)


VPN este o rețea privată construită în interiorul infrastructurii unei rețele publice cum
ar fi Internetul. Utilizând VPN, un telecommuter poate accesa rețeaua companiei prin
construirea unui tunel securizat între PC-ul său și un ruter lal VPN din sediul central.

Fig. 1.12 Virtual private network (VPN)

VPN este un serviciu care oferă securitate, conectivitate privată peste o infrastructură
publică. Menține aceeași politică de securitate și management ca și o rețea privată. VPN
sunt cele mai eficiente (din punct de vedere al costurilor) metode de stabilire a unor
legături punct-la-punct între utilizatori distanți și o rețea de întreprindere.
Există trei tipuri de VPN:
1. VPN de acces. Permit accesul distant unui lucrător mobil sau a unei rețele
de domiciliu de mică dimensiune la sediul central al unei rețele. VPN de acces utilizează
tehnologii analogice, telefonice, ISDN, DSL, mobile IP pentru a asigura o conexiune
sigură între utilizatori mobili, telecommuteri și sucursale.
2. VPN Intranet. Leagă oficii regionale și distante la sediul central al unei
rețele interne peste o infrastructură publică utilizând conexiuni dedicate. Intranet diferă
de extranet prin aceea că permite accesul numai angajaților întreprinderii.

19
3. VPN Extranet. Oferă o legătură la sediul central al rețelei, peste o
infrastructură publică, partenerilor întreprinderii urilizând conexiuni dedicate. Spre
deosebire de Intranet, oferă acces utilizatorilor din afara întreprinderii.

1.7 TOPOLOGII UTILIZATE ÎN REŢELELE LOCALE


Termenul de topologie de reţea se referă la dispunerea fizică în teren a elementelor
care compun reţeaua de comunicaţie sau reţeaua de calculatoare. Topologia este termenul
standard folosit când se fac referiri la configuraţia spaţială a reţelei.
Topologia unei reţele afectează direct performanţele acesteia. Alegerea unei topologii
în detrimentul alteia influenţează tipul de echipament necesar, caracteristicile
echipamentului, extinderea reţelei, modul în care este administrată reţeaua. Topologiile
diferite necesită metode de comunicaţie diferite iar aceste metode au o mare influenţă în
reţea.
Principial există patru tipuri de topologii pentru LAN-uri:
• Topologia magistrală;
• Topologia inel;
• Topologia stea;
• Topologia arbore.

1.7.1 Topologia magistrală (bus topology).


Reţelele locale cu topologie liniară (magistrală sau “bus”) funcţionează ca o linie de
comunicaţie multipunct pentru care fiecare racord corespunde unui sistem ce reprezintă
fie o resursă comună partajabilă de către alte sisteme, fie un utilizator al reţelei (figura
1.13). Această topologie a fost folosită în reţelele Ethernet (în prezent din ce în ce mai
rar).
În ciuda dificultăţilor cauzate de conflictele de acces la suportul de transmisiune,
avantajele topologiei liniare, legate de omogenitatea reţelei, facilităţile de reconfigurare,
costul redus al suportului şi al dispozitivelor de cuplare la suport au condus la o utilizare
frecventă a acesteia. Ca dezavantaj este menţionat faptul că o întrerupere oriunde în cablu
va cauza inoperabilitatea întregului segment.

T T T

T T T T

Fig. 1.13 Topologie de tip magistrală.

Informaţia transmisă prin magistrală este etichetată cu adresele sursei şi destinaţiei.


Funcţia de comutare a fost transferată terminalelor care posedă inteligenţa necesară
pentru a elabora şi analiza mesajele cu adresă. Pe baza adresei conţinută în fiecare mesaj
– pachet de informaţie, acesta este recepţionat şi identificat de către unul sau mai mulţi
destinatari.

20
1.7.2 Topologia inel (Ring)
Într-o configuraţie de tip inel toate sistemele sunt legate succesiv între ele, două câte
două, ultimul sistem fiind conectat la primul sistem (figura 1.14).
Fiecare sistem recepţionează semnalul transmis pe buclă şi-l retransmite mai departe,
copiind mesajul dacă îi este destinat. Mesajul emis de un sistem (sursă) va fi retras din
buclă de către acelaşi sistem atunci când îi va reveni după parcurgerea buclei. Staţia care
transmite următoarea este cea care deţine permisul de a transmite, numit jeton (token). O
astfel de reţea este cea denumită Inel cu jeton (Token – ring).
Pentru ca defectarea unui sistem să nu provoace întreruperea buclei, fiecare sistem este
prevăzut cu un mecanism pasiv de şuntare.

Mecanism
de şuntare

Fig. 1.14 Topologie inel


În general, bucla este unidirecţională. Inelul unidirecţional din figura 1.9 rezultă
tot dintr-o configuraţie stea cu un nivel, el este un suport comun pentru transmisia
unidirecţională a mesajelor, fiind echivalat topologic cu centrul stelei. Există şi bucle
duble, a doua cale servind pentru a creşte fiabilitatea buclei. Frecvent, în cazul buclelor
duble, semnalele circulă în sensuri contrare pe cele două căi.
Structurile prezentate anterior (bus comun, inel cu jeton sau reţea satelit) presupun
rezolvarea accesului la suport de către terminalele T. Această problemă se rezolvă de
obicei prin diviziunea în timp cu alocare statică/dinamică a intervalelor de timp (canale
temporale). În practică se foloseşte structura cu două inele bidirecţionale care elimină
dezavantajul fiabilităţii reduse a inelului monodirecţional (figura 1.15), prin oportunitatea
de reconfigurare în inelul unidirecţional (exemplu: FDDI-Fiber Distribution Data
Interface).

21
Fig. 1.15 Topologie dublu inel cu varianta de reconfigurare în inel unidirecţional.

1.7.3 Topologia Stea


Toate echipamentele sunt conectate la un punct sau echipament central care poate fi un
hub propriu-zis sau un comutator “switch” (figura 1.16). Echipamentele se conecteazǎ de
obicei la hub prin cablu UTP (Unshilded Twisted Pair) Ethernet.
În această configuraţie sistemele sunt conectate la un nod central care joacă un rol
particular în funcţionarea reţelei. Orice comunicaţie între două sisteme trece prin nodul
central, care se comportă ca un comutator faţă de ansamblul reţelei (figura 1.16).
Transferul informaţiei se face punct-la-punct dar, cu ultimele tipuri de comutatoare, este
posibil şi un transfer în legătură multipunct. Această topologie prezintă avantajul că poate
folosi în mare parte cablajul telefonic vechi existent într-o întreprindere. De asemenea, în
mare parte software-ul este concentrat în nodul central, pentru sisteme fiind necesar un
software simplu. Reţelele Stea sunt relativ uşor de instalat şi administrat, dar cunosc
fenomenul de congestie sau gâtuire (bottleneck) în cazul unui trafic intens, deoarece toate
datele trec prin hub. Fiabilitatea reţelei depinde foarte mult de nodul central, o defectare a
acestuia conducând la căderea reţelei; este necesar un suport fizic de comunicaţie
individual pentru fiecare sistem; extensia reţelei este limitată la capacitatea nodului
central.

Fig. 1.16 Exemplu de topologia Stea

22
Comparativ cu tehnologia magistralǎ, o reţea stea necesitǎ în general mai mult cablu;
o defecţiune undeva în cablu sau echipament, scoate din funcţiune un singur calculator,
dar reţeaua localǎ rǎmâne operaţionalǎ; dacǎ hub-ul se defecteazǎ, întreaga reţea devine
ne-operaţionalǎ.
Reţelele 10BASE-T Ethernet, Fast Ehernet şi Gigabit Ehernet implementează o
topologie stea, în care accesul în reţea şi comunicaţia dintre staţii sunt controlate de un
echipament central.

1.7.4 Topologia arbore


Aceasta combină caracteristicile topologiilor magistrală liniară şi stea, fiind o reuniune
de grupuri fiecare configurat ca o reţea locală stea (figura 1.17) şi toate grupurile sunt
conectate la un cablu magistrală liniară numit backbone.
În forma cea mai simplǎ de reţea Stea, numai echipamentele hub se conecteazǎ direct
la magistrala arborelui şi fiecare hub funcţioneazǎ ca rǎdǎcinǎ (‘root’) a unui arbore de
echipamente; aceasta structurǎ hibridǎ magistralǎ-stea permite extensii viitoare comode:
• mult mai uşor decât topologia magistralǎ (limitatǎ ca numǎr de
echipamente datoritǎ traficului de tip difuzare pe care îl implicǎ) sau
• mult mai uşor decât o singurǎ reţea stea, datoritǎ numǎrului limitat de
porturi dintr-un hub.

Hub
Servere

Hub

Hub

Staţii de lucru

Fig. 1.17 Exemplu de topologie arbore .

1.7.5 Reţele cu topologie mixtă


Topologiile menţionate mai sus pot fi la rândul lor combinate şi rezultă sisteme
deosebit de complexe aşa cum este cazul reţelei Internet, care este “o reţea de reţele”;
aceste reţele complexe sunt denumite “reţele mixte”. Aceste reţele sunt distribuite pe arii
geografice mari. Structurile au rezultat din diverse considerente, altele decât cele strict
tehnice (economice, de trafic, politice, militare, etc.). O reţea mixtă este compusă din mai
multe reţele de topologii diferite interconectate din necesitatea de a acoperi o arie mai
mare. Se pleacă de la o reţea miez (core, backbone) care de cele mai multe ori are o
topologie mesh şi apoi se extinde acest miez cu diverse alte reţele.

23
1.7.6 Reţele cu interconectare totală (de tip plasă - mesh)
Topologia mesh (plasă) implementeazǎ conceptul de rute, încât mesajele trimise într-o
reţea mesh pot urma oricare din mai multe cǎi posibile care leagǎ sursa de destinaţie. Cel
mai bun exemplu de reţea mesh este Internetul, care utilizează tehnici de rutare complexe
dar de acest tip (mesh). Se prezintă în figura 1.18 un asemenea tip de reţea.
Avantaje:
- număr mare de joncţiuni:
- rute de rezervă multiple.
Dezavantaje: cost ridicat.

Fig. 1.18 Reţea cu interconectare totală.

24
CAP 2. NIVELUL REŢEA

În cadrul acestui capitol se trec în revistă cele mai importante protocoale asociate nivelului
reţea din stiva de protocoale TCP/IP. Protocoalele analizate sunt următoarele:
¾ Protocolul Internet – IP (Internet Protocol),
¾ Protocoale de rutare – RIP (Routing Information Protocol), IGRP (Inter-
Gateway Routing Protocol),
¾ Protocolul de rezoluţie a adreselor – ARP (Address Resolution Protocol),
¾ Protocolul de configurare dinamică a hosturilor – DHCP (Dynamic Host
Configuration Protocol),
¾ Protocolul de mesaje de control pentru Internet – ICMP (Internet Control
Message Protocol).

Aceste protocoale care operează la nivelul reţea (cunoscut de asemenea sub numele de nivel
internet) oferă servicii protocoalelor de nivel transport, implementând funcţii, cum ar fi:
¾ Rutarea şi livrarea pachetelor (datagrame) în cadrul reţelelor de
comunicaţii care formează Internetul,
¾ Adresarea datagramelor,
¾ Configurarea dinamică a adreselor,
¾ Stabilirea corespondenţei dintre adresele de nivel reţea şi adresele de
nivel interfaţă reţea (corespunzător nivelului legătură de date).

2.1 PROTOCOLUL INTERNET (IP)


Cel mai important dintre protocoalele de nivel trei este protocolul Internet (IP – Internet
Protocol). IP are rolul de a ascunde detaliile de implementare a reţelelor fizice de nivel
inferior prin crearea unei reţele virtuale care operează la o scală mult mai mare.
IP este un protocol nefiabil, fără a însemna însă o calitate scăzută a acestuia, de tipul “best
effort”, iar livrarea pachetelor se realizează într-un mod fără conexiune. Apelativul “best
effort” se referă la faptul că pachetele transmise de către IP pot fi pierdute, pot sosi în altă
ordine decât cea de la transmisie sau chiar pot fi recepţionate de mai multe ori. De asemenea,
se presupune că protocoalele de nivel superior vor rezolva toate aceste probleme. Unul dintre
motivele pentru care s-a utilizat un protocol fără conexiune la vivelul reţea este pentru a
minimiza dependenţa de anumite centre de calcul utilizate în reţelele ierarhice orientate pe
conexiune. Departamentul de apărare al Statelor Unite (DOD – Department of Defense) a
creat în anii ‘70 o reţea (ARPANET) capabilă să funcţioneze chiar şi în cazul în care anumite
zone ale sale au fost distruse. Această soluţie s-a dovedit a fi validă şi pentru Internet.
IP este un protocol rutat, ceea ce înseamnă că alte protocoale de nivel reţea vor efectua
rutarea pachetelor IP. IP implementează funcţii, cum ar fi: adresarea utilizatorilor (adrese IP),
segmentarea pachetelor şi respectiv, reasamblarea pachetelor. Pentru operarea de rutare se
utilizează adresele din cadrul pachetului IP. Fiecare pachet este tratat ca o entitate
independentă, fără a se stabili vreo relaţie cu alte pachete. Segmentarea pachetelor de către
sursă, precum şi reasamblarea acestora la destinaţie sunt operaţii necesare pentru a respecta
dimensiunea cadrului impusă de către protocolul utilizat la nivelul legătură de date, specific
fiecărui tip de reţea fizică.
2 2. Nivelul Reţea

2.1.1 Pachetul IP
Formatul pachetelor IP este prezentat în figura 2.1.

Fig. 2.1 Formatul pachetului IP.

Structura pachetelor se bazează pe cuvinte de 32 biţi, lungime corespunzătoare procesoarelor


ARPANET iniţiale. În continuare se va prezenta semnificaţia câmpurilor unui pachet.
- Versiune - Identifică versiunea protocolului IP care generează pachetul. În prezent este
utilizată versiunea 4 a protocolului (IPv4), versiunea 5 este o versiune experimentală şi s-au
definit standarde pentru versiunea 6 (Ipv6).
- Lungimea antetului - Indică lungimea antetului măsurată în cuvinte de 32 biţi. Lungimea
minimă a antetului corespunde cazului când acesta nu conţine câmpul opţiuni şi este 5 (20
octeţi).
- Tipul serviciului - Arată calitatea serviciului cerut pentru transportul pachetului în reţea.
Calitatea serviciului este exprimată prin intermediul a patru parametri: prioritate (precedence),
întârziere, eficienţă în transmisiune (referitor la debit - throughput) şi fiabilitate. Acest câmp
poate influenţa ruterele în alegerea unei căi spre destinaţie dar, aşa cum s-a mai menţionat,
protocolul IP nu garantează calitatea cerută pentru transportul datelor.
- Lungimea totală - Acest câmp specifică lungimea totală a pachetului, măsurată în octeţi,
incluzând atât antetul cât şi datele.
- Identificare, Fanioane şi Decalajul fragmentului - Controlează fragmentarea şi
reasamblarea pachetelor. Desigur, transmisiunea pachetelor ar fi eficientă dacă fiecare pachet
generat de o sursă ar putea fi inclus în întregime într-un cadru pentru a traversa reţeaua spre
destinaţie. Dar fiecare tip de reţea impune o anumită limită superioară pentru lungimea
cadrului. Spre exemplu, reţeaua Ethernet limitează cadrul la 1500 octeţi de date, unele reţele
publice de date limitează cadrul la 128 octeţi etc. Limitarea dimensiunii pachetelor la cea mai
mică limită superioară admisă în reţea ar face transmisiunea ineficientă. Din această cauză
protocolul IP lasă sursei latitudinea să aleagă dimensiunea pachetului corespunzător
constrângerilor impuse de legătura de date la care ea este conectată, iar o divizare a fiecărui
pachet în fragmente se realizează în ruter atunci când urmează să traverseze o reţea care
admite dimensiuni mai mici. Reasamblarea pachetelor se face la destinaţie. Fiecare fragment
are acelaşi format ca şi un pachet complet.
Câmpul "Identificare" conţine un număr care identifică pachetul. Când un ruter
fragmentează un pachet câmpul Identificare trebuie copiat în antetul fiecărui fragment. În
felul acesta la destinaţie se poate şti, ţinând seama şi de adresa sursei, cărui pachet aparţine
fiecare fragment.
Câmpul "Decalajul fragmentului" (“Fragment offset”) indică, pentru fiecare fragment,
numărul grupurilor de cîte 8 octeţi (octeţii din antet nu sunt consideraţi) conţinuţi în
Arhitectura Reţelelor şi Internet 3

fragmentele deja transmise, din cadrul pachetului curent. Dacă fragmentul în cauză este
primul sau singurul, acest câmp ia valoarea 0.
Prin cei trei biţi din câmpul "Fanioane" (Flags) se poate semnala interdicţia de
fragmentare a pachetului (când sursa impune această restricţie) şi dacă, în cazul unui
fragment, este sau nu ultimul din pachet. Acest câmp conţine 3 biţi – fanioane de control,
prezentaţi în figura 2.2.

Fig. 2.2 Fanioanele pachetului IP.

Cei trei biţi au urmatoarele semnificaţii:


– 0: Rezervat. Ia întotdeauna valoarea 0.
– Indicator al posibilităţii de fragmentare – DF (Do not Fragment): dacă ia valoarea 0 se
poate face fragmentare, iar pentru 1 înseamnă că fragmentarea nu este permisă.
– Indicator al continuităţii fragmentării – MF (More Fragments): dacă ia valoarea 0
înseamnă că fragmentul curent este ultimul din pachet, iar pentru 1 înseamnă că alte
fragmente vor urma.
- Lungimea totală indică, în cazul unui fragment, lungimea fragmentului şi nu a pachetului
din care face parte.
- Durata menţinerii în viaţă (TTL – Time to live) arată cât timp, în secunde, i se permite unui
pachet să rămână în reţea. Teoretic, fiecare ruter care prelucrează acest pachet ar trebui să
scadă timpul său de prelucrare din valoarea conţinută în acest câmp. În practică, un ruter
prelucrează fiecare datagramă în mai puţin de o secundă. Astfel, echipamentele de
interconectare (ruterele) scad valoare acestui câmp cu o unitate atunci când redirectează
pachetul. Prin urmare, câmpul TTL devine mai mult un contor al nodurilor intermediare decât
o metrică de timp. În plus, în cazurile în care ruterele sunt suprasolicitaţi şi prelucrează cu
întârziere pachetele, se face o decrementare suplimentară corespunzătoare timpului de
aşteptare. Când mărimea înscrisă în acest câmp ajunge la zero ruterul elimină pachetul şi
transmite către sursă un mesaj de eroare. Limitarea timpului de supravieţuire în reţea evită
circulaţia la nesfârşit a pachetelor (cauzată de obicei de existenţa unei bucle în cadrul reţelei).
Valoarea iniţială trebuie stabilită de către protocolul de nivel superior care generează
conţinutul datagramei.
- Protocol - Identifică protocolul de nivel superior (transport: TCP sau UDP) asociat
pachetului. Pentru protocolul TCP identificatorul este 6 iar pentru UDP este 17.
- Secvenţa de verificare a antetului - Permite verificarea corectitudinii (integrităţii) valorilor
din antet. Acest câmp este determinat prin prelucrarea antetului, considerat ca o succesiune de
întregi, fiecare alcătuit din 16 biţi. Fiecare ruter calculează secvenţa de verificare şi o compară
cu cea din antet. Dacă valoarea sumei de verificare din antet nu corespunde cu conţinutul
datagramei, atunci aceasta este eliminată din reţea.
- Câmpurile de adrese - Conţin adresele de reţea (IP) de câte 32 biţi fiecare, a sistemului
sursă şi a sistemului destinaţie. Aceste câmpuri nu sunt modificate la trecerea pachetelor prin
rutere.
- Opţiuni - Are o lungime variabilă (maximum 40 octeţi) şi este rezervat pentru a introduce
unele funcţiuni de control privind rutarea, securitatea reţelei şi altele. În acest câmp pot fi
introduse mai multe opţiuni. Fiecare opţiune este specificată printr-un cod de opt biţi ce poate
fi urmat de un octet care indică lungimea şi de mai mulţi octeţi de date pentru respectiva
opţiune. Pentru ca acest câmp să aibă dimensiunea egală cu un multiplu de 4 octeţi se folosesc
biţi de completare.
4 2. Nivelul Reţea

- Câmpul datelor - Are o lungime variabilă, dar un număr întreg de octeţi. Limitele pentru
dimensiunea unui pachet, inclusiv antetul, sunt 576 octeţi minimum şi 65.535 octeţi
maximum.

2.1.2 Adresarea IP (versiunea 4 a protocolului IP - IPv4)


Adresele IP constau în valori fără semn reprezentate cu 32 de biţi folosite pentru
identificarea unui singur sistem în Internet. Mai exact, o adresă IP identifică o interfaţă
capabilă să trensmită şi să recepţioneze datagrame IP. Cei 32 de biti ai adresei IP se scriu sub
forma a 4 octeţi, fiecare dintre octeţi putând fi scris sub forma unui număr zecimal luând
valori intre 0 si 255, in forma p.q.r.s. Un exemplu de adresă scrisă în forma zecimală este
[Link]. Aceasta notatie se numeste dotted quad. Formatul general al adresei IPv4 de
32 de biţi este reprezentat în figura 2.3.

Fig. 2.3 Formatul general al adresei IPv4.

În funcţie de domeniul în care se află primul octet (p), mai exact primii 4 biţi, există mai
multe clase de adrese, notate A, B, C, D, etc. Aceşti biţi specifică delimitarea câmpurilor
identificatorilor de reţea şi de sistem (host). Identificatorul de reţea specifică reţeaua din care
face parte sistemul (sursă sau destinaţie), iar identificatorul de sistem specifică un sistem
particular din această reţea. Clasele se diferenţiază prin dimensiunea părţilor din adresă care
specifică reţeaua şi hostul şi sunt prezentate în tabelul 2.1.
Clasa Primul Tip adresă Reţea Host Nr. max. Masca implicită
octet (primii de hosturi
biţi)
A 1 – 126 0 p q.r.s 16777214 [Link]
B 128 – 191 10 p.q r.s 65534 [Link]
C 192 – 223 110 p.q.r s 254 [Link]
D 224 – 239 1110 p.q.r.s – – –
E 240 – 247 11110 p.q.r.s – – –

Tab. 2.1. Clasele de adrese IPv4.

La adresele de clasa A primul octet specifică reţeaua, şi restul de trei octeţi specifică
sistemul. De aici rezultă că pot exista doar 126 de reţele (nu se utilizează reţelele cu primul
octet 0 şi 127) cu adresa de clasa A, iar aceste reţele pot avea fiecare 224 – 2= 16.777.214
sisteme (24 de biţi pentru identificatorul de sistem). Numărul total de sisteme din toate
reţelele de clasă A este de peste 2 miliarde. Deci, adresele de clasa A nu se aloca decât pentru
retele foarte mari.
Adresele din clasa B au primii doi biţi 10 şi dintre ceilalţi, 14 biţi sunt ai identificatorului
de reţea, iar 16 biţi ai identificatorului de sistem. În concluzie, pot exista până la 214 (16.384)
reţele, fiecare cu până la 216 – 2 (65.534) sisteme, cu un total de peste 1 miliard de adrese.
Adresele din clasa C au primii trei biţi 110 şi dintre ceilalţi, 21 biţi sunt ai identificatorului
de reţea, iar 8 biţi ai identificatorului de sistem. În concluzie, pot exista până la 221
(2.097.152) reţele, fiecare cu până la 28 – 2 = 254 sisteme, cu un total de peste jumătate de
miliard de adrese.
Adresele din clasa D au primii patru biţi 1110 şi sunt utilizate pentru difuzarea mesajelor
de la un sistem către un grup de sisteme din reţeaua globală (numai către sisteme care
Arhitectura Reţelelor şi Internet 5

utilizează aceeaşi adresă de clasă D). Din acest motiv, adresele din clasa D se mai numesc şi
adrese de grup (multicast) şi sunt folosite de unele protocoale de rutare şi de firmă pentru
comunicarea dintre echipamente ale aceluiaşi producător (vezi ruterele şi switch-urile
CISCO).
Adresele de clasă E sunt rezervate pentru viitoare modificări sau pentru scopuri
experimentale.
O adresă de clasă A este potrivită pentru reţele cu un număr extrem de mare de sisteme, iar
la polul opus adresele de clasă C sunt indicate pentru reţele cu număr mic de sisteme. Prin
urmare, reţelele de dimensiuni medii (cele cu mai mult de 254 de sisteme sau cele pentru care
se aşteaptă să depăşească 254 de staţii) trebuie să se utilizeze adrese de clasă B.

[Link] Adresele IP rezervate


Pentru toate aceste clase, se elimină întotdeauna, atât la identificatorul de reţea cât şi la
identificatorul de sistem, secvenţa cu toţi biţii 1 şi cea cu toţi biţii 0 (de aceea se scade 2 din
numărul maxim de valori zecimale ale secvenţei de n biţi, 2n). Aceste două secvenţe au o
semnificaţie aparte şi nu sunt folosite pentru a defini adrese de sisteme, ci după cum se va
arăta ulterior, ele desemnează masca, respectiv adresa întregii reţele din clasa respectivă.
Un alt tip de adresă utilizată pentru o funcţie specială este adresa de buclă locală (loopback).
Spre exemplu, reţeaua de clasă A [Link] este definită ca adresă de reţea pentru bucle
locale. Adresele din cadrul acestei reţele sunt alocate interfeţelor care prelucrează date în
interiorul sistemului local. Aceste interfeţe pentru bucle locale nu permit accesul în reţeaua
fizică.
Masca unei reţele este acea secvenţă de 32 biţi (de aceeaşi lungime cu adresele) care are
biţi cu valoarea 1 pe toate poziţiile corespunzătoare identificatorului de reţea şi biţi cu
valoarea 0 pe toate poziţiile corespunzătoare identificatorului de sistem. Măştile implicite
corespunzătoare claselor de adrese A, B şi C sunt prezentate în tabelul 2.1. O formă
simplificată de scriere a măştii reţelei este cea prin care se specifică numărul de biţi 1 din
componenţa acesteia. Spre examplu, masca implicită a clasei B se poate nota ca ‘/16’
deoarece aceasta conţine biţi 1 pentru selectarea primilor doi octeţi ai adreselor. Formele
simplificate ale măştilor implicite sunt de asemenea prezentate în tabelul 2.1. Măştile sunt
utilizate în fiecare ruter pentru luarea deciziei asupra interfeţei de reţea a ruterului pe care se
va redirecta datagrama IP ce conţine adresa destinaţie. Masca permite selectarea
identificatorului de reţea dintr-o anumită adresă. Identificarea reţelei pentru rutarea unei
datagramei se va face pe baza operaţiei binare ŞI (AND) la nivelul biţilor de pe o anumită
poziţie a adresei IP citită din datagramă şi poziţia corespunzătoare din mască. Un exemplu de
utilizare a măştii pentru o adresă de clasă B este prezentat mai jos, în exemplul 2.1.
Adresele de difuzare (broadcast) pentru o anumită reţea sunt acele adrese care au biţi cu
valoarea 1 pe toate poziţiile corespunzătoare identificatorului de sistem, iar identificatorul de
reţea specifică domeniul în care se va face difuzarea. Adresa de broadcast care are toţi biţii 1
(deci şi cei ai identificatorului de reţea) este adresa globală de broadcast în Internet,
[Link]. Exemplul 2.1 ilustrează modul creare a adresei de difuzare pentru o reţea de
clasă B.
6 2. Nivelul Reţea

Exempul 2.1. Exemplu de utilizare a măştii şi adresele de difuzare. Se consideră adresa de


clasă B, [Link] care are masca de reţea implicită [Link]. Atunci operaţia de
mascare a adresei este următoarea prezentată în figura 2.4.

Fig. 2.4 Examplu de utilizare a măştii şi de obţinere a adresei de difuzare pentru o reţea de
clasă B.

[Link] Crearea de subreţele (subneting)


Datorită creşterii explozive a Internet-ului, principiul de alocare a adreselor IP a devenit
prea inflexibil pentru a permite modificări facile ale configuraţiilor reţelelor locale. Aceste
modificări pot surveni în următoarele situaţii: când se instalează într-o anumită locaţie o nouă
reţea fizică, când creşterea numărului de staţii impune divizarea reţelei locale în două sau mai
multe reţele distincte sau atunci când creşterea distanţei necesită divizarea unei reţele în mai
multe reţele de arie mai mică separate cu rutere.
Pentru a evita utilizarea unor adrese IP suplimentare s-a introdus o nouă formă de divizare
a reţelelor din fiecare clasă în subreţele (IP subnetting). Alocarea subreţelelor este efectuată
local. Totuşi, întreaga reţea este văzută din exterior ca o singură reţea IP.
Există două metode de divizare în subreţele: static şi de dimensiune variabilă. Evident,
divizarea în subreţele de dimensiuni variabile oferă o flexibilitate mai mare în gestionarea
spaţiului de adrese.
O subreţea a unei reţele se construieşte prin împrumutarea unei secvenţe de biţi din
identificatorul de sistem, obţinându-se astfel un identificator suplimentar al subreţelei. Deci,
un sistem face parte dintr-o subreţea, care la rândul ei face parte dintr-o reţea (fiecare dintre
cele trei având identificatorul său). Formatul adresei de reţea divizată în subreţele este
reprezentat în figura 2.5.

Fig. 2.5 Divizarea reţelei în subreţele.

Deoarece o subreţea se obţine prin împrumutarea unui număr de biţi din câmpul
identificatorului de sistem, atunci preţul plătit pentru crearea subreţelei este reducerea
identificatorului de sistem (deci şi a numărului maxim de sisteme din fiecare subreţea). Spre
exemplu, dacă se împrumută a biţi pentru subreţele atunci numărul de subreţele create este de
2a – 2 (se scad cele două: adresa reţelei şi masca), iar numărul de sisteme din fiecare subreţea
este de 2Id. sistem – a – 2. Masca subreţelei şi adresele de difuzare în subreţele au acelaşi rol ca şi
în cazul reţelelor clasificate.
Arhitectura Reţelelor şi Internet 7

[Link].1 Divizarea statică în subreţele


Divizarea statică presupune ca toate subreţelele obţinute prin divizarea unei reţele să
utilizeze aceeaşi mască de subreţea. Deşi această metodă este simplu de implementat şi
administrat, prezintă dezavantajul irosirii unui spaţiu de adrese considerabil, mai ales in cazul
divizării unei reţele mici. În continuare se prezintă un exemplu de divizare a unei reţea de
clasă B în subreţele (prin împrumutarea a 4 biţi din câmpul de identificare a sistemului), cu
adresele de difuzare şi măştile subreţelelor corespunzătoare.

Exemplul 2.2. Divizarea în subreţele a unei reţele de clasă B. Se consideră reţeaua de clasă
B, [Link] care are masca de reţea implicită [Link]. Operaţia de divizare a reţelei în
subreţele, prin împrumutarea a 4 biţi din câmpul de identificare a sistemului este ilustrată în
figura 2.6.

Fig. 2.6 Exemplu de divizare în subreţele a unei reţele de clasă B.

În concluzie, prin divizarea de mai sus s-au obţinut 24 – 2 = 14 subreţele, fiecare având un
număr maxim de 212 – 2 = 4094 sisteme. Dacă se consideră o subreţea cu un efectiv de numai
4 sisteme se vor pierde 4090 de adrese IP.

[Link].2 Divizarea în subreţele de dimensiuni variabile


Dacă se utilizează divizarea în subreţele de dimensiuni variabile sau cu măşti de subreţea
de lungime diferită, VLSM (variable length subnet masks), atunci subreţelele obţinute prin
divizarea unei reţele pot utiliza măşti diferite. O subreţea mică cu numai câteva sisteme poate
utiliza o mască aleasă convenabil. O subreţea cu multe staţii necesită o mască diferită de cea a
subreţelei mici. Posibilitatea alocării măştilor subreţelelor în funcţie de necesităţile acestora
permite conservarea spaţiului de adrese de reţea. Cu VLSM se divide reţeaua astfel încât
fiecare subreţea să conţină un număr suficient de adrese pentru deservirea staţiilor din
componenţă. O subreţea existentă poate fi divizată mai departe în două părţi prin adăugarea
unui nou bit la masca subreţelei. Celelalte subreţele din reţea nu vor fi afectate de această
schimbare. Exemplul 2.3 prezintă procedura de divizare în subreţele de dimensiuni variabile
pentru o reţea de clasă B.

Exemplul 2.3. Divizarea în subreţele de dimensiuni variabile pentru o reţea de clasă B.


Să considerăm o firmă căreia i s-a alocat reţeaua de clasă B [Link]/16. Din anumite
considerente, în cadrul firmei este necesară divizarea spaţiului de adrese alocat în cinci reţele
separate, fiecare cu următorul efectiv de sisteme: subreţelele 1, 2, 3, 4 şi 5 - 6000 de staţii
fiecare, iar subreţelele 6 şi 7 - 4000 de staţii fiecare. Aceste cerinţe nu pot fi satisfăcute printr-
o divizare statică. Spre exemplu, cu o divizare statică se pot obţine 6 subreţele cu 8190 staţii
fiecare sau 14 subreţele cu 4094 staţii fiecare. Nici una dintre cele două soluţii menţionate
anterior nu satisface cerinţele iniţiale. Pentru a diviza reţeaua în şapte subreţele este necesară
definirea unor măşti multiple. Utilizarea măştii [Link] (sau ‘/19’) permite divizarea
8 2. Nivelul Reţea

reţelei în 6 subreţele de 8190 staţii fiecare. Cea de a şasea subreţea poate fi divizată mai
departe în două subreţele cu 4094 staţii fiecare prin utilizarea măştii [Link] (sau
‘/19’). Astfel, rezultă cinci subreţele cu 8190 staţii fiecare şi două subreţele cu 4094 staţii
fiecare. Această soluţie satisface cerinţele impuse şi elimină posibilitatea existenţei unui
număr mare de adrese irosite. Subreţelele rezultate în urma acestei divizări sunt prezentate în
figure 2.7.

Fig. 2.7 Exemplu de divizare a unei reţele de clasă B în subreţele de dimensiuni variabile.

2.1.3 Intrareţele: Adrese IP private


O procedură utilizată pentru a conserva spaţiul de adrese este de a relaxa regula conform
căreia adresele IP trebuie să fie unice la nivel global. Astfel, o parte din spaţiul de adrese
global este rezervată pentru reţele care nu sunt conectate la Internet. De obicei, aceste reţele
sunt administrate de o singură organizaţie. Trei mulţimi de adrese au fost rezervate pentru
acest scop:
- [Link]: o singură reţea de clasă A,
- de la [Link] la [Link]: 16 reţele consecutive de clasă B,
- de la [Link] la [Link]: 256 reţele consecutive de clasă C.
Orice organizaţie poate folosi oricare adresă din aceste trei mulţimi. Totuşi, deoarece
aceste adrese nu sunt unice la nivel global, nu sunt definite la nici unul dintre ruterele externe.
Ruterele din reţelele care nu utilizează adrese private, în particular, cele operate de furnizori
de servicii Internet, vor elimina tacit (fără mesaje ICMP) toată informaţia de rutare cu privire
la aceste adrese.
Ruterele din cadrul domeniului unei organizaţii care foloseşte adrese private vor limita
accesul referinţelor la adresele private la nivelul unor legături interne. De asemenea, aceştia
nu vor anunţa în exterior rute către adrese private şi nici nu vor redirecta datagrame IP
conţinând adrese private către ruterele externe.
Staţiile care au doar o adresă IP privată nu vor avea acces direct, prin intermediul nivelului
IP, la Internet. Toate legăturile cu sistemele externe din Internet se pot oferi numai prin
intermediul unor pasarele de nivel aplicaţie (application gateways). Un exemplu de astfel de
pasarele este prezentat în paragraful următor dedicat translatării adreselor de reţea NAT
(Network Address Translation).
Arhitectura Reţelelor şi Internet 9

2.1.4 Translatarea adreselor de reţea (NAT)


În cadrul acestei secţiuni se prezintă metoda tradiţională de translatare a adreselor de
reţea NAT (Network Address Translation), NAT de bază (basic NAT), precum şi metoda de
translatare a adreselor de reţea şi a porturilor NAPT (Network Address Port Translation).
NAT mai este cunoscut şi sub numele de IP masquerading.
NAT realizează o corespondenţă între adresele IP interne şi adresele externe alocate
oficial. Iniţial, NAT a fost propusă ca o soluţie temporară la problema epuizării adreselor IP.
De asemenea, multe organizaţii au utilizat până la acel moment adrese IP alocate local, fără a
avea nevoie de o conexiune la Internet.
Există două versiuni ale NAT tradiţională: NAT de bază şi NAPT, care sunt prezentate în
paragrafele următoare.

[Link] NAT Tradiţională


Ideea metodei NAT tradiţionale (notată în continuare, simplu, NAT) se bazează pe ideea că
numai un număr mic de staţii dintr-o reţea privată necesită să comunice cu exteriorul reţelei.
Dacă fiecărei staţii i se alocă o adresă IP dintr-o listă oficială de adrese disponibile (în
engleză, adress pool) numai atunci când staţia solicită accesul în exterior, atunci este necesar
numai un număr relativ mic de adrese oficiale. NAT pare să fie o soluţie fiabilă pentru reţele
care deţin câteva intervale de adrese private sau neoficiale şi solicită stabilirea unei
comunicaţii cu sisteme din Internet. Atunci când nu sunt disponibile sau nu îndeplinesc
cerinţele specifice, soluţii gen server proxy, server SOCKS sau firewall, NAT poate fi
utilizată pentru a administra traficul dintre reţeaua internă şi cea externă fără a anunţa în
exterior adresele staţiilor din interiorul reţelei.

[Link] NAT de bază


Să considerăm o reţea internă bazată pe un spaţiu de adrese IP private, iar utilizatorii
solicită folosirea unui protocol aplicaţie pentru care nu există o pasarelă de nivel aplicaţie
disponibilă. În acest caz, singura opţiune disponibilă este să se stabilească o conectivitate de
nivel IP între sistemele din reţeaua internă şi sistemele din Internet.

Fig. 2.8 Translatarea de bază adreselor de reţea (basic NAT).


10 2. Nivelul Reţea

Datorită faptului că ruterele din Internet nu vor cunoaşte cum să ruteze pachetele IP înapoi
la o adresă IP privată, este inutilă transmiterea pachetelor IP, cu câmpul de adresă sursă
specificând o adresă privată, printr-un ruter în Internet. Aşa cum este ilustrat în figura 2.8,
NAT de bază schimbă în mod dinamic adresa IP dintr-un pachet care iese din reţeaua internă
cu o adresă globală alocată oficial. Pentru pachetele care se propagă pe sensul de intrare în
reţeaua internă NAT de bază translatează adresa alocată oficial într-o adresă internă.
Din punctul de vedere al celor două sisteme care schimbă pachete IP între ele, unul aflat în
reţeaua internă şi celălalt aflat în reţeaua externă, NAT este transparent.

[Link].1 Mecanismul de translatare NAT de bază


Pentru fiecare pachet care iese din reţeaua internă, adresa sursă este verificată conform
regulilor de configurare NAT. Dacă una dintre reguli se aplică pentru adresa sursă, atunci
adresa este translatată într-o adresă globală din lista de adrese disponibile. Lista de adrese
predefinite conţine adresele pe care NAT le poate utiliza pentru translatare. Pe de altă parte,
pentru fiecare pachet de intrare în reţeaua internă, adresa destinaţie este verificată pentru o
eventuală utilizare de către NAT. Dacă se găseşte o corespondenţă NAT atunci adresa
destinaţie este schimbată cu adresa internă originală.
Adresele alocate trebuie rezervate prin scrierea într-o listă în vederea utilizării lor după
necesităţi. În cazul în care se iniţiază o transmisie din reţeaua internă, atunci NAT doar
selectează următoarea adresă publică disponibilă din tabela NAT şi o asociază sistemului
intern emitent. Serviciul NAT urmăreşte continuu asocierile făcute între adresele IP interne şi
adresele IP externe, astfel încât în cazul în care este nevoie să poată stabili o corespondenţă
între un răspuns recepţionat din reţeaua externă şi adresa IP internă corespunzătoare (vezi
figura 2.8).
Atunci când serviciul NAT alocă adresele IP la cerere, acesta trebuie să identifice
momentul în care poate returna adresa IP externă în tabela adreselor IP disponibile. În cadrul
protocolului IP nu este prevăzut nici un mecanism prin care serviciul NAT să poată determina
momentul în care asocierea făcută între adresa IP internă şi o adresă NAT externă nu mai este
necesară. Deoarece TCP este un protocol orientat pe conexiune, este posibil să se obţină din
antetul TCP un raport asupra stării conexiunii (cel puţin dacă conexiunea s-a încheiat sau nu),
în timp ce UDP nu poate furniza o astfel de informaţie. Prin urmare, în acest caz este necesară
configurarea unui interval de timp maxim în care NAT să menţină o asociere de adrese înainte
de a returna adresa IP externă listei NAT de adrese disponibile. În general, valoarea implicită
a acestui contor este de 15 minute.
De asemenea, administratorii reţelei trebuie să specifice NAT dacă toate staţiile interne au
dreptul de a utiliza NAT sau nu. Acest lucru se realizează prin configurarea corespunzătoare a
NAT. Dacă sistemele din reţeaua externă iniţiază o transmisie către sisteme din reţeaua
internă, atunci NAT trebuie configurată în prealabil astfel încât să cunoască care dintre
adresele NAT externe poate fi asociată unei anumite adrese IP interne. Astfel, ar trebui
definită o asociere statică pentru a permite legături din reţelele externe către un anumit sistem
din reţeaua internă. Trebuie menţionat faptul că adresele NAT externe fiind asociate static
unor adrese IP interne nu se pot suprapune cu adresele specificate în lista de adrese externe
disponibile, pe care NAT le asociază la cerere. Spre exemplu, serverul de nume extern poate
conţine o corespondenţă de nume pentru un server de poştă electronică care rulează pe o
maşină din reţeaua internă. În acest caz, serverul extern de nume rezolvă numele sistemului
public al serverului intern de poştă electronică cu o adresă asociată static (adresa externă), iar
serverul extern de poştă va trimite cererea de conexiune către acestă adresă IP. Atunci când
cererea ajunge la serviciul NAT pe interfaţa externă, acesta citeşte lista de reguli de asociere
pentru a decide dacă conţine o asociere statică între adresa publică IP externă specificată şi o
Arhitectura Reţelelor şi Internet 11

adresă IP internă. Dacă există o astfel de asociere, atunci NAT translatează adresa IP şi
redirectează pachetul IP în reţeaua internă către serverul de poştă electronică.

[Link] Translatarea adreselor de reţea şi a porturilor NAPT


Diferenţa dintre NAT de bază şi NAPT este că NAT de bază se limitează doar la
translatarea adreselor IP, în timp ce NAPT este extins pentru a include adresele IP, precum şi
identificatorii de nivel transport (cum ar fi porturile TCP/UDP sau identificatorii cererilor
ICMP). Aşa cum este ilustrat în figura 2.9, NAPT poate translata mai multe adrese de reţea şi
identificatorii lor de nivel transport într-o singură adresă de reţea cu mai mulţi identificatori
de nivel transport (cu mai multe porturi).

Fig. 2.9 Translatarea adreselor de reţea şi a porturilor NAPT.

NAPT poate asocia mai multe adrese private unei singure adrese globale. Astfel, se
realizează o legătură între adresa privată cu portul privat şi adresa externă şi portul extern,
asociate.
NAPT permite mai multor noduri dintr-o reţea locală să acceseze simultan reţele externe
folosind o singură adresă IP asociată ruterului acestora.

[Link] Limitările NAT


S-a constatat că NAT funcţionează bine pentru adresele IP aflate în antetul datagramelor
IP. Unele protocoale de nivel aplicaţie îşi transmit între ele informaţia legată de adresele IP în
câmpul de date al pachetelor IP, iar NAT în general nu este capabil să efectueze translatarea
adreselor IP utilizate de protocolul aplicaţie. Trebuie menţionat că implementarea NAT pentru
o anumită aplicaţie care utilizează informaţia IP în datele de aplicaţie este mult mai
complicată decât implementările NAT standard.
NAT utilizează foarte multe resurse pentru calcul chiar şi în cazul în care este ajutat de un
algoritm de calcul al sumei de verificare, deoarece fiecare pachet este prelucrat de algoritmii
de asociere cu lista de adrese oficiale şi de modificare corespunzătoare a adreselor.

2.1.6 Rutarea intre domenii fără clase (CIDR)


Rutarea IP clasică utilizează numai adresele de reţea din clasele A, B şi C. În fiecare dintre
aceste reţele se poate utiliza divizarea în subreţele pentru o mai bună granularitate. Totuşi, nu
există nici o posibilitate de a stabili o anumită relaţie între mai multe reţele de clasă C, spre
exemplu. Consecinţa acestor neajunsuri poartă numele de problemă a explodării tabelei de
rutare. Spre exemplu, o reţea de clasă B de 3000 de sisteme necesită o singură intrare în
tabela de rutare la fiecare dintre ruterele de magistrală (backbone routers). Dacă acelaşi
domeniu este adresat ca o mulţime de reţele de clasă C, atunci este nevoie de 16 intrări în
12 2. Nivelul Reţea

tabela de rutare. Soluţia la această problemă este rutarea între domenii fără clase de adrese
CIDR (Classless Inter-Domain Routing).
CIDR nu efectuează rutarea după clasa din care face parte reţeaua (de aceea se numeşte
fără clase). Această metodă se bazează numai pe biţii cei mai semnificativi ai adresei de reţea,
care constituie prefixul IP.
Fiecare locaţie din tabela de rutare CIDR conţine o adresă de 32 de biţi şi o mască de reţea
de 32 de biţi, care împreună permit identificarea lungimii şi a valorii prefixului IP. Această
locaţie este reprezentată ca o structură <adresă_IP mască_reţea>. Spre exemplu, pentru a
adresa un grup de 8 adrese de clasă C cu o singură locaţie în tabela de rutare este suficientă
următoarea reprezentare: <[Link] [Link]>. Această informaţie face referire la
domeniul de reţele de clasă C, în ordine, de la [Link] până la [Link], care este
văzut ca o singură reţea. Acest exemplu este ilustrat în figura 2.10.

Fig. 2.10 Exemplu de rutare între domenii fără clase, CIDR.

Această metodă de combinare a mai multor reţele într-o singură structură de rutare poartă
numele de super-divizare în subreţele (supernetting). Rutarea CIDR se efectuează pe baza
unor măşti de reţea care sunt mai scurte decât măştile de reţea obişnuite pentru o adresă IP.
Această metodă este total opusă divizării în subreţele.

2.2 PROTOCOLUL DE MESAJE DE CONTROL PENTRU INTERNET (ICMP)


Aşa cum s-a menţionat, protocolul IP furnizează un serviciu fără conexiune. Fiecare pachet
trece din ruter în ruter pentru a ajunge de la sistemul sursă la sistemul destinaţie. Protocolul IP
nu garantează livrarea fiecărui pachet la destinaţie dar utilizează un mecanism (protocol) care
permite oricărui ruter să semnaleze sistemului sursă o situaţie anormală apărută în rutarea
unui pachet. Acelaşi mecanism poate fi folosit de un sistem pentru a testa dacă un alt sistem
este accesibil, adică dacă există o rută în funcţionare normală până la acel sistem şi dacă
sistemul este capabil să recepţioneze pachete. Acest mecanism este reprezentat de protocolul
ICMP (Internet Control Message Protocol).
Protocolul ICMP permite ruterilor să transmită altor ruteri sau sistemelor mesaje de eroare
sau de control. De asemenea ICMP permite comunicaţia între software-ul IP de pe un sistem
şi software-ul IP de pe un alt sistem.
ICMP este utilizat pentru a raporta erorile şi nu pentru a face protocolul IP mai fiabil. În
continuare, se poate întâmpla ca datagramele să nu fie livrate la destinaţie şi să nu se raporteze
pierderea acestora. Fiabilitatea transmisiunii se poate creşte numai prin implementarea unor
funcţii adecvate în protocoalele de nivel superior, care folosesc serviciile IP.
Pentru datagrame fragmentate, mesajele ICMP sunt transmise numai pentru eventuale erori
produse în cazul primului fragment. Astfel, mesajele ICMP nu vor face niciodată referire la o
datagramă IP cu o valoare nenulă a câmpului IP care specifică decalajul de fragment.
Arhitectura Reţelelor şi Internet 13

Mesajele ICMP nu sunt transmise ca răspuns la o problemă legată de o datagramă care nu


are adresa sursă ce desemnează un sistem unic (unicast). Astfel, adresa sursă nu poate fi zero,
o adresă de transmisie în buclă (loopback), o adresă de difuzare (broadcast) sau o adresă de
grup (multicast).
Fiecare mesaj ICMP este inclus în câmpul de date al unui pachet (figura 2.11) care, la
rândul său, este inclus în câmpul de date al unui cadru. În antetul IP numărul de protocol ia
valoarea 1 pentru ICMP, iar tipul de serviciu ia valoarea zero, ceea ce desemnează o rutină.

Fig. 2.11. Încapsularea mesajului ICMP.

Pachetele care poartă mesaje ICMP sunt rutate la fel ca şi cele care transportă datele
utilizatorului doar că, dacă apar erori în transmiterea acestor pachete ele nu generează alte
mesaje ICMP. Există mai multe tipuri de mesaje ICMP, fiecare având formatul său propriu.
Câmpul de date din pachetul IP care conţine un mesaj ICMP este ilustrat în figura 2.12.

Fig. 2.12 Formatul mesajului ICMP.

Indiferent însă de tipul mesajului fiecare format începe cu aceleaşi trei câmpuri în antet:

- Tipul mesajului – Acest câmp poate lua una dintre următoarele valori (8 biţi), în
funcţie de tipul mesajului:
o 0 - Răspuns ecou (Echo reply),
o 3 - Destinaţie inaccesibilă (Destination unreachable),
o 4 - Oprirea sursei (Source quench),
o 5 - Redirectare,
o 8 - Cerere ecou,
o 9 - Anunţarea unui ruter,
o 10 - Solicitarea unui ruter,
o 11 - Depăşire timp,
o 12 - Problemă legată de un parametru,
o 13 - Cerere etichetă de timp,
o 14 - Răspuns etichetă de timp,
o 17 - Cerere mască de adrese,
o 18 - Răspuns mască de adrese,
o 30 - Descoperire rută (Traceroute),
o 37 - Cerere nume domeniu,
o 38 - Răspuns nume domeniu.
14 2. Nivelul Reţea

- Cod - Conţine codul erorii pentru datagrama raportată de acest mesaj ICMP.
Interpretarea acestui câmp depinde de tipul mesajului. Acest câmp este format din 8
biţi şi furnizează informaţii suplimentare despre tipul mesajului.
- Suma de verificare - Conţine suma de verificare (16 biţi), folosind acelaşi algoritm ca
şi IP dar verificând numai mesajul ICMP, începând cu câmpul dedicat tipului
mesajului. Dacă valoarea sumei nu coincide cu valoarea calculată la recepţie pe baza
conţinutului recepţionat, atunci datagrama este eliminată.

Câmpul de date al mesajului conţine informaţia corespunzătoare mesajului ICMP curent.


De cele mai multe ori, acest câmp conţine o porţiune din pachetul IP original, cel pentru care
a fost generat mesajul ICMP curent.
Două dintre mesajele ICMP, foarte utilizate de administratori de reţele şi de către
utilizatori pentru a verifica existenţa unei rute funcţionale spre o anumită destinaţie, sunt
mesajele de cerere ecou (echo request) şi răspuns ecou (echo replay). Un sistem de
extremitate sau un ruter poate transmite un mesaj cerere ecou către o anumită destinaţie.
Sistemul sau ruterul de destinaţie care recepţionează acest mesaj răspunde prin mesajul
răspuns ecou transmis către sursă. Cererea conţine un câmp de date opţionale. Răspunsul va
conţine o copie a acestor date. În felul acesta se poate verifica dacă o anumită destinaţie este
accesibilă şi răspunde. Totodată este verificată şi o parte din reţea.
Un alt tip de mesaj ICMP, numit destinaţie inaccesibilă (destination unreachable) este
transmis de un ruter către sursă atunci când acesta nu poate trece mai departe un pachet, spre
un alt ruter sau direct spre sistemul de destinaţie. Dacă acest mesaj este recepţionat de către
sistemul destinaţie înseamnă fie că protocolul specificat în câmpul de număr de protocol al
datagramei originale nu este activ, fie că protul specificat este inactiv.
Mesajul de oprire a sursei (Source quench) este utilizat pentru a semnala înapoi la sursă o
supraîncărcare a receptorului sau a sistemelor intermediare. Dacă acest mesaj este recepţionat
de la un ruter intermediar, înseamnă că ruterul nu a mai avut spaţiu de memorie disponibil
pentru a salva datagrama. Dacă acest mesaj e recepţionat de la sistemul destinatar înseamnă că
datagramele recepţionate de acesta sosesc cu o viteză mult prea mare pentru a fi procesate în
timp real.
Mesajul de redirectare este utilizat pentru a anunţa sursa să redirecteze pachetele pe o rută
mai bună. Dacă acest mesaj e recepţionat de la un ruter intermediar înseamnă că sistemul
sursă ar trebui să trimită următoarele datagrame către ruterul a cărui adresă IP este specificată
în mesajul ICMP. Acest ruter preferat va fi întotdeauna aflat în aceeaşi subreţea cu sistemul
emitent al datagramei şi ruterul care a returnat datagrama. Ruterul redirectează datagrama
către următorul ruter spre destinaţie. Mesajul nu va fi transmis dacă datagrama IP conţine o
rută către sursă (pentru rutarea prin sursă).
Mesajele Anunţare ruter şi Cerere ruter sunt utilizate numai dacă un sistem sau un ruter
suportă un protocol de descoperire a ruterilor. Ruterii anunţă periodic adresele lor IP în toate
subreţelele pentru care lucrează. Aceste anunţuri se transmit cu adresa de destinaţie multicast
([Link]) sau cu adresa de difuzare limitată ([Link]). Funcţionarea implicită
presupune transmiterea anunţurilor la fiecare 10 minute cu o valoare a TTL de 1800 (30
minute). Mesajele ICMP Anunţare ruter şi Cerere ruter conţin un câmp TTL care este diferit
de câmpul TTL din pachetul IP. Alţi ruteri vor răspunde mesajelor de solicitare pe care le
primesc. Aceştia pot răspunde direct staţiei solicitante sau pot aştepta un scurt interval aleator
de timp şi să răspundă prin multicast.
Sistemele pot trimite, la rândul lor, mesaje de solicitare. Mesajele de solicitare sunt
transmise tuturor ruterilor cu adresa multicast ([Link]) sau cu adresa de difuzare limitată
([Link]). Uzual, se transmit trei mesaje de solicitare la fiecare interval de 3 secunde.
De asemenea, un sistem poate aştepta anunţuri periodice din reţea. Sistemul fixează valoarea
Arhitectura Reţelelor şi Internet 15

temporizatorului TTL pentru actualizare cu valoarea din anunţ. Atunci când primeşte un anunţ
nou de la ruterul implicit, sistemul actualizează valoarea TTL cu cea din noul anunţ. De
asemenea, acest mecanism permite ruterilor să se declare indisponibili. Aceştia trimit anunţuri
cu o valoare zero pentru TTL.
Un alt mesaj ICMP este cel de Expirare timp. Dacă acest mesaj este recepţionat de la un
ruter intermediar înseamnă că valoarea din câmpul TTL a unui pachet IP a ajuns la zero. Dacă
mesajul este recepţionat de la un sistem de destinaţie înseamnă că timpul TTL dintr-un
fragment IP a expirat în timpul reasamblării, datorită întârzierii unui fragment.
Mesajul Problemă cu parametrii indică producerea unei erori în timpul prelucrării
parametrilor din antetul IP. Acest mesaj conţine un pointer care indică octetul din pachetul IP
original unde s-a produs problema.
Mesajele Cerere etichetă de timp şi Răspuns etichetă de timp sunt utilizate pentru depanare
şi măsurare a performanţelor. Acestea nu sunt utilizate pentru sincronizarea de ceas.
Transmiţătorul iniţializeză identificatorul şi numărul de secvenţă (care se utilizează în cazul în
care sunt transmite mai multe etichete de timp), stabileşte eticheta iniţială de timp şi transmite
pachetul către destinaţie. Staţie destinaţie actualizează etichetele de timp asociate recepţiei şi
transmisiei, modifică tipul etichetei de timp din cerere în răspuns şi o returnează staţiei sursă.
Pachetul conţine două etichete de timp dacă există o diferenţă semnificativă de timp între
timpul de recepţie şi timpul de emisie. În practică, cele mai multe implementări efectuează
ambele operaţii (recepţia şi răspunsul) într-un singur pas. În acest caz ambele etichete de timp
sunt setate cu aceeaşi valoare.
Mesajele Cerere de mască de adrese şi Răspuns cu mască de adrese. Cererea de mască de
adrese este utilizată de către un sistem pentru a determina masca subreţelei folosită în cadrul
unei reţele asociate. Cele mai multe sisteme sunt configurate cu masca (sau măştile) de
subreţea asociată. Totuşi, unele sisteme, cum ar fi staţiile de lucru fără disc, trebuie să obţină
această informaţie de la server. Un sistem foloseşte protocolul RARP (Reverse Address
Resolution Protocol) pentru a obţine adresa sa IP. Pentru a obţine masca de subreţea, sistemul
transmite prin difuzare cererea de mască de adresă. Oricare sistem din reţea care a fost
configurat să răspundă la cererile de mască a adreselor va completa în cerere masca de
subreţea, va converti pachetul într-un răspuns cu masca de adrese şi îl va returna staţiei
solicitante.
Mai există şi alte mesaje ICMP pentru semnalizarea unor situaţii de congestie (atunci când
un ruter este prea încărcat pentru a prelucra un nou pachet, care din acest motiv va fi pierdut),
semnalizarea unei rutări ciclice (o rută infinită, propagare în buclă), etc.

2.4 PROTOCOLUL DE REZOLUŢIE A ADRESELOR (ARP)


Protocoalele de rutare sunt responsabile pentru modul în care o datagramă IP ajunge în
reţeaua fizică căreia îi este destinată, dar o altă procedură este necesară pentru modul în care o
datagramă ajunge la sistemul sau ruterul din acea reţea.
Principala problemă o constituie faptul că datagramele IP conţin adrese globale logice, de
nivel trei, dar interfaţa fizică hardware aflată în sistemul destinaţie sau în ruterul destinaţie nu
utilizează decât schema de adresare locală a acelei reţele. Astfel, este nevoie să se efectueze
translatarea adresei IP într-o adresă de nivel legătură de date care este înţeleasă de interfeţele
din această reţea.
O modalitate simplă de a mapa o adresă IP pe o adresă fizică este aceea de a coda adresa fizică
a sistemului în adresa IP a sistemului. De exemplu, un sistem cu o adresă fizică
0001000100101001 (care în zecimal înseamnă 33 pentru primul octet şi 81 pentru ultimul) poate
avea adresa IP [Link]. Deşi această soluţie a fost adoptată pentru unele reţele, ea prezintă
totuşi limitări din cauza faptului că adresa fizică nu poate fi mai mare de 16 biţi în acest exemplu
(clasa B); pentru reţelele de clasă C nu poate depăşi 8 biţi. Această metodă nu funcţionează pentru
16 2. Nivelul Reţea

adresele Ethernet pe 48 de biţi. O soluţie mai generală poate fi aceea ca fiecare sistem să menţină
o tabelă de perechi de adrese, care să mapeze adresele IP pe cele fizice. Această tabelă poate fi
menţinută de un administrator de sistem şi trimisă fiecărui sistem din reţea sau poate fi o tabelă
dinamică instalată pe fiecare sistem care să fie actualizată din reţea.
Toate aceste probleme se pot rezolva cu ajutorul protocolului ARP (Address Resoludon Pro-
tocol). Scopul acestui protocol este acela de a permite fiecărui sistem din reţea să-şi constru-
iască o tabelă de mapări între adresele de IP şi cele fizice. Acest set de mapări este cunoscut
sub numele de ARP cache sau tabelă ARP.
ARP are avantajul că multe tehologii de nivel legăturii de date, cum sunt Ethernet sau FDDI,
suportă difuzarea pentru transmiterea datelor. Dacă un sistem doreşte să transmită o datagramă IP
către un alt sistem aflat în aceeaşi reţea, acesta va verifica în primul rând tabela ARP. Dacă nu
este găsită maparea dorită, sistemul va trebui să invoce protocolul ARP prin reţea şi va face acest
lucru prin transmiterea unei cereri ARP prin reţea. Această cerere conţine adresa IP dorită. Fiecare
sistem recepţionează această cerere şi verifică dacă se potriveşte cu propria adresă IP. Dacă se
potriveşte, sistemul implicat va trimite un mesaj de răspuns care conţine adresa de nivel legătură
de date. Sursa cererii va adăuga şi această informaţie în propria tabelă ARP. Mesajul de cerere
mai include şi adresa de nivel legătură de date şi cea IP ale sursei cererii. Astfel, atunci când
un sistem trimite un astfel de mesaj de difuzare, fiecare sistem din reţea îl poate adăuga în
propria tabelă ARP. Totuşi, nu fiecare sistem realizează acest lucru. Dacă sistemul are deja
adresa în tabela ARP, acesta va reactualiza această informaţie, adică va reseta contorul aferent
ei. Sistemul care este destinaţia mesajului, va adăuga această informaţie în propria tabelă dacă nu
o are deja. Motivul acestui lucru este faptul că există o şansă foarte mare ca sistemul sursă să
înceapă să transmită mesaje de nivel aplicaţie la care vor trebui trimise pachete de răspuns. Dacă un
sistem nu este destinatar şi nici nu are această informaţie în propria tabelă, el nu trebuie neapărat
să o introducă în tabelă. Motivul îl reprezintă faptul că există posibilitatea ca acest sistem să nu
fie niciodată destinatar. Figura 2.13 prezintă formatul pachetului ARP utilizat pentru maparea
adreselor IP-către-Ethernet. De fapt, ARP poate fi utilizat pentru multe tipuri de mapări - diferenţa
majoră fiind numai în dimensiunea adresei. Pe lângă adresele IP şi cele de nivel legătură de
date ale sursei şi destinaţiei, pachetul mai conţine:
• un câmp HardwareType, care specifică tipul reţelei fizice (exemplu, Etliernet);
• un câmp ProtocolType, care specifică protocolul de nivel superior;
• două câmpuri HLEN şi PLEN, care specifică lungimea adresei de nivel legătură de date
şi respectiv, pe cea a protocolului de nivel superior;
• un câmp Operation, care specifică dacă acest pachet este de tip cerere sau răspuns;
• adresele hardware şi de protocol pentru sursă şi destinaţie.

Fig. 2.13. Formatul pachetului ARP.


Arhitectura Reţelelor şi Internet 17

Pentru exemplificare vom presupune ca tehnologia de nivel legătură de date utilzată este
Ethernet. Suportul fizic Ethernet poate să distingă numai formatul propriilor adrese MAC de
48 biţi. Astfel, sistemul sursă trebuie să cunoască adresa de destinaţie MAC dacă doreşte ca
pachetul care urmeazş să să ajungă cu succes la desţinatie. O solutie de a găsi adresa de
destinaţie MAC este aceea de a folosi protocolul rezolutiei adresei ARP. Ideea de baza este
ilustrată în figura 2.14:

Fig. 2.14. Exemplu de utilizare a ARP.

Presupunem ca sistemul H1 doreşte să transmită un pachet IP către H3, dar nu cunoaşte


adresa MAC a lui H3. H1 transmite mai întâi un pachet de cerere ARP, cerând informaţii
despre sistemul de destinaţie identificat cu adresa de destinaţie IP-H3, aşteptând totodata şi
răspunsul. Toate sistemele din reţea vor primi pachetul, dar unul singur îi va răspunde şi
anume, sistemul H3. Pachetul de răspuns ARP conţine adresa MAC şi adresa IP a lui H3.
Acum H1 ştie cum să trimită pachetul către H3. Pentru a evita trimiterea de fiecare data a
unui pachet ARP către H3, H1 memorează în propria tabelă ARP atât adresa IP, cât şi adresa
MAC ale lui H3, astfel fiind foarte uşor pentru H1 să trimită un pachet către H3 data viitoare.
Fiecare intrare în tabelul ARP devine la un moment dat veche, astfel conţinutul ei este golit
după o anumita perioadă de timp. Uzual, se alege o perioadă cuprinsă între 5 şi 30 minute.
Această procedură permite reactualizarea adreselor MAC în sistemul sursa. Adresa MAC se
poate schimba, spre exemplu când un card Ethernet este defect sau este înlocuit cu unul nou.

2.3 PROTOCOLUL DE REZOLUŢIE INVERSĂ A ADRESELOR (RARP)


În această situaţie sistemul cunoaşte adresa MAC, dar nu cunoaşte adresa IP pentru un
anumit sistem. De exemplu, la instalarea unui sistem de operare se poate citi adresa MAC de
pe cartela Ethernet, dar nu poate şti adresa IP. Aceasta este ţinută separat pe un disc local sau
al unui server.
Problema determinării unei adrese IP pe baza unei adrese MAC poate fi rezolvată cu
ajutorul protocolului de rezoluţie inversă a adreselor (RARP - Reverse Address Resolution
Protocol), care lucrează într-un mod asemănător cu ARP. Pentru a obţine adresa IP, sistemul
trebuie să emită în reţea un pachet de cerere RARP, care să conţină propria adresă MAC.
Toate sistemele din reţea vor primi pachetul, dar numai unul, serverul va răspunde
transmiţând către sistemul sursă un pachet RARP care conţine adresa MAC şi adresa IP. O
limitare pentru RARP ar fi dacă sistemul sursă s-ar afla într-o reţea diferită de cea a
serverului.
18 2. Nivelul Reţea

2.4 PROTOCOLUL BOOTSTRAP (BOOTP)


Protocolul de iniţializare BOOTP (Bootstrap Protocol) permite unui staţii client să
pornească (iniţializare) cu o stivă de protocoale IP minimală şi să solicite o adresă IP, o adresă
a ruterului de ieşire (gateway) şi adresa unui server de nume, toate acestea fiind obţinute de la
un server BOOTP. De obicei, serverul şi clientul BOOTP se află pe acelaşi segment de reţea
fizică LAN. BOOTP se poate utiliza numai pe segmente interconectate cu punţi sau
comutatoare cu rutare prin sursă sau în subreţele, dacă ruterul este capabil să efectueze
redirectare de tip BOOTP.
Protocolul BOOTP a fost dezvoltat iniţial pentru a permite sistemelor fără disc dur să fie
iniţializate de la distanţă într-o reţea, cu diverse funcţii ca staţii de lucru, rutere, etc. Acesta
permite unei stive de protocoale IP simplificate, fără informaţie de configurare să obţină
suficiente informaţii pentru a porni descărcarea codului necesar de iniţializare. BOOTP nu
defineşte cum se realizează această descărcare a codului, dar de obicei aceasta se realizează cu
protocolul TFTP (Trivial File Transfer Protocol)
Deşi încă mai este utilizat intens pentru acest scop al sistemelor fără disc, BOOTP este de
asemenea utilizat ca un mecanism de livrare a informaţiei de configurare unui client care nu a
a fost configurat manual.
Procesul BOOTP implică următorii paşi:
1. Clientul determină adresa fizică proprie; aceasta se află de obicei salvată într-o
memorie ROM.
2. Un client BOOTP transmite adresa sa fizică într-un segment UDP către server. Figura
2.14 ilustrează conţinutul acestui segment. Dacă un client cunoaşte propria adresă IP
sau adresa serverului, atunci le va utiliza, dar de cele mai multe ori clienţii BOOTP nu
au deloc date de configurare IP. Dacă un client nu îşi cunoaşte adresa IP, atunci acesta
va utiliza adresa [Link]. Dacă un client nu cunoaşte adresa IP a serverului, atunci
acesta utilizează adresa de difuzare limitată ([Link]).
3. Serverul primeşte segmementul UDP şi analizează adresa fizică a clientului pe care o
caută în fişierul său de configurare, care conţine şi adresa IP a clientului. Serverul
completează câmpurile celelalte din segmentul UDP şi îl returnează clientului folosind
un port UDP diferit. Pentru returnarea segmentului UDP se pot utiliza mai multe
metode:
a. În cazul în care clientul îşi cunoaşte adresa IP (şi a fost inclusă în cererea
BOOTP), serverul returnează segmentul direct către această adresă. Este foarte
probabil ca lista ARP să nu conţină adresa fizică corespunzătoare adresei IP. În
acest caz se va utiliza protocolul ARP, ca într-o situaţie normală.
b. În cazul în care clientul nu îşi cunoaşte adresa IP (a fost [Link] în cererea
BOOTP), serverul trebuie să rezolve singur cererea consultând propria listă
ARP.
c. ARP de la server nu poate fi utilizat pentru a găsi adresa fizică a clientului
deoarece clientul nu îşi cunoaşte adresa IP şi astfel, nu se poate răspunde unei
cereri ARP. Această problemă este cunoscută sub numele de “găina şi oul”.
Există două posibile soluţii:
i. Dacă serverul are un mecanism pentru a actualiza direct propria listă
ARP fără să folosească protocolul ARP, atunci serverul îl utilizează şi
apoi trimite segmentul direct.
ii. Dacă serverul nu poate actualiza propria listă ARP, atunci trebuie să
trimită un răspuns prin difuzare.
4. Atunci când primeşte un răspuns, clientul BOOTP va salva propria adresă IP (care îi
va permite să răspundă la cererile ARP) şi să înceapă procesul de iniţializare.
Arhitectura Reţelelor şi Internet 19

În figura 2.15 se ilustrează formatul mesajului BOOTP.

Fig. 2.15. Formatul mesajului BOOTP.

Câmpurile din mesajul BOOTP au următoarele semnificaţii:


Cod - Indică tipul mesajului, dacă este o cerere sau un răspuns:
1 – Cerere;
2 – Răspuns.
Tip hardware - Indică tipul de reţea fizică, spre examplu:
1 – Ethernet;
6 – IEEE 802 Networks.
Lungime – Specifică lungimea adresei fizice, în octeţi. Ethernet şi Token ring utilizează
ambele lungimea 6.
Hop-uri – Clientul setează valoarea acestui câmp la 0. Această valoare este incrementată
de către un ruter care retransmite cererea unui alt server şi este utilizată pentru a identifica
buclele.
Identificatorul tranzacţiei – Un număr aleator generat pentru a fi utilizat pentru a
identifica această cerere cu răspunsul primit.
Secunde – Fixat de client. Acesta reprezintă timpul în secunde consumat din momentul în
care clientul a demarat procesul de iniţializare.
Fanioane – bitul cel mai semnificativ al acestui câmp este utilizat ca fanion de difuzare.
Toţi ceilalţi biţi trebuie setaţi cu valoarea zero, fiind rezervaţi pentru utilizări ulterioare. În
mod normal, serverele BOOTP încearcă să livreze mesajele BOOTP de răspuns direct unui
client folosind adresa de destinaţie unică. Adresa destinaţie din cadrul antetului IP este fixată
cu valoarea adresei IP proprie BOOTP, iar adresa MAC este fixată cu valoarea adresei fizice
– client BOOTP. Dacă un sistem nu este capabil să primească un pachet IP cu destinaţie unică
înainte de a-şi afla adresa sa IP, acest bit de difuzare trebuie fixat cu valoarea 1 pentru a indica
serverului că răspunsul BOOTP trebuie transmis sub formă de difuzare la nivel IP şi MAC. În
caz contrar, acest bit va avea valoarea 0.
Adresa IP client – Fixat de client, fie cu valoarea adresei IP proprii (pe care o cunoaşte)
sau cu [Link].
20 2. Nivelul Reţea

Adresa IP proprie – Fixat de server dacă câmpul de adresă IP client are valoarea [Link].
Adresa IP server – Fixat de server.
Adresa IP ruter – Aceasta este adrea unui agent de redirectare BOOTP, care nu este un
ruter IP obişnuit şi va fi utilizată de către client.
Adresa fizică client – Fixat de către client şi utilizat de server pentru a identifica clientul
înregistrat care a demarat iniţializarea.
Numele server-ului – Numele opţional al serverului, care se termină cu X'00'.
Numele fişierului de iniţializare – Clientul fie lasă acest câmp cu valoarea nulă, fie
specifică un anumit nume, astfel încât să indice tipul de iniţializare care trebuie demarată.
Serverul va returna numele fişierului de iniţializare, care este cel potrivit pentru cererea
clientului.
Identificatorul producătorului – câmp opţional. Aceste opţiuni pot fi furnizate clientului
la momentul iniţializării împreună cu adresa sa IP. Spre exemplu, clientul poate recepţiona în
plus, adresa unui ruter implicit, adresa serverului de nume de domeniu şi masca subreţelei.
După ce clientul BOOTP a procesat răspunsul, acesta poate demara transferul fişierului de
iniţializare şi să execute procesele de iniţializare. În cazul unui sistem fără disc, întregul
proces de iniţializare va înlocui, în mod normal, stiva minimală de protocoale IP încărcată din
ROM cu o stivă IP normală transferată ca o parte a fişierului de iniţializare şi care conţine
configuraţia corectă a clientului.

2.5 Dynamic Host Configuration Protocol (DHCP)


Protocolul de configurare dinamică a hosuturilor oferă un cadru pentru transferul
informațiilor de configurare către hosturi într-o rețea TCP/IP. DHCP se bazează pe protocolul
BOOTP, adăugând capabilitatea de a aloca automat o adresă de rețea și opțiuni de configurare
suplimentare. Mesajele DHCP utilizează portul UDP 67, port pentru servere BOOTP și portul
UDP 68, port pentru clienți BOOTP.
DHCP constă din două componente:
- Un protocol care livrează parametrii pentru o configurație specifică hostului de la un
server DHCP către un host.
- Un mecanism de alocare temporară sau permanentp a unei adrese de rețea unui host.
IP cere setarea multor parametri în implementarea software a protocolului. Deoarece IP
poate utiliza multe tipuri diferite de hardware de rețea, valorile acestor parametri sunt greu de
presupus că vor fi corecte implicit. Utilizarea unei scheme de alocare distribuită de adrese, a
unui mecanism de descoperire a adreselor de rețea aflate deja în folosință nu pot garanta
unicitatea adresei de rețea, deoarece hosturile pot fi la un moment dat în imposibilitatea de a-
și “apăra” propia adresă.
DHCP suportă trei mecanisme de alocare a adresei IP:
- Alocare automată: DHCP atribuie permanent o adresă IP unui host.
- Alocare dinamică: DHCP atribuie temporar o adresă IP. O astfel de adresă este numită
lease. Acesta este unicul mecanism care permite utilizarea automată a unei adrese care
nu mai este necesară hostului căruia îi fusese atribuită.
- Alocare manuală: Adresa hostului este atribuită manual de către un administrator de
rețea.

2.5.1 Formatul mesajului DHCP


Formatul mesajului DHCP este dat în Figura 2.16.
Semnificația câmpurilor este următoarea:
Arhitectura Reţelelor şi Internet 21

Code Indică o cerere sau un răspuns:


1 Cerere
2 Răspuns

HWtype Tipul hardware, de exemplu:


1 Ethernet
6 Rețele IEEE 802

Figura 2.16: Formatul mesajului DHCP

Length Lungimea adresei hardware, în octeți


Hops Clientul setează câmpul la valoarea 0. Valoareqa este incrementată de
un ruter care retransmite cererea către un alt server și este utilizată pentru a identifica bucle.
Valoarea 3 indică o buclă. (Valoare sugerată de RFC 951)
Transaction ID Un număr aleator utilizat pentru a marca întrebarea și răspunsul generat
pentru aceasta.
Seconds Setat de client. Reprezintă timpul în secunde de când clientul a pornit pricesul
de bootare.
Flags field Cel mai semnificativ bit este utilizat ca indicator de broadcast. Toți ceilalți biți
sunt rezervați pentru urtilizări ulterioare și trebuie setați în 0. În mod normal, serverele DHCP
livrează mesajele DHCP utilizând transmisia unicast. Adresa destinație din antetul pachetului
IP este setată la DHCP your IP addres, iar adresa MAC la DHCP client hardware address.
Dacă un host nu este capabil să recepționeze o datagramă IP până nu își cunoaște adresa IP,
acest bit de broadcast trebuie setat pentru a indica serverului că trebuie să răspundă printr-o
transmisie broadcast. Altfel, bitul trebuie trecut în zero.
Client IP address Setată de client. Dacă o cunoaște, adresa IP, sau altfel [Link].
22 2. Nivelul Reţea

Your IP address Setată de server dacă a recepționat un câmp client IP address ca [Link].
Server IP address Setată de către server.
Router IP address Aceasta este adresa unui agent BOOTP, nu a unui ruter obișnuit. Este
setată de un agent transmițător.
Client hardware address Setată de client. DHCP definește un identificator opțional
pentru client, utilizat pentru identificarea clientului. Dacă această opțiune nu este utilizată,
clientul va fi identificat după adresa MAC.
Server host name Opțional, un nume de host pentru server, terminat în X’00’
Boot file name Clientul fie lasă acest câmp necompletat, fie specifică un nume generic,
indicând tipul fișierului boot care să fie utilizat. Într-o cerere DHCPDISCOVER, este setat în
zero. Serverul returnează numele complet pentru o cale de directoare în cererea
DHCPOFFER. Valoarea este terminată în X’00’.
Options Primii patru octeți conțin [Link]. Cei rămași indică parametrii doriți.

2.5.2 Tipuri de mesaje DHCP


Mesajele DHCP formează următoarele categorii:
- DHCPDISCOVER: Transmis broadcast de către un client pentru a găsi un server
DHCP disponibil
- DHCPOFFER: Răspunsul unui server la DHCPDISCOVER și oferirea unui adrese IP
și a altor parametri
- DHCPREQUEST: Mesaj de la un client către server având una dintre semnificațiile:
o Cerere de parametri oferiți de unul dintre servere, declinând orice altă ofertă
o Verifică o adresă alocată anterior după ce are loc o modificare de sistem sau
rețea
o Cere prelungirea termenului pentru o adresă temporară.
- DHCPACK: Confirmare de la un server către un client, conținând parametri, inclusiv
adresă IP.
- DHCPNACK: Confirmare negativă de la server la client, indicând faptul că adresa
temporară a clientului a expirat sau că cererea de adresă IP este incorectă.
- DHCPDECLINE: Mesaj de la client spre server indicând că adresa oferită este deja în
utilizare.
- DHCPRELEASE: Mesaj de la client către server prin care se cere înlocuirea unei
adrese temporare cu una permanentă.
- DHCPINFORM: Mesaj de la un client care are adresă IP (configurată eventual
manual), dar care dorește parametri de configurare de la un derver DHCP

2.5.3 Alocarea unei adrese de rețea


În continuare este prezentată interacțiunea client-server, situația în care clientul nu își
cunoaște adresa. Presupunem că serverul DHCP are un bloc de adrese de rețea din care poate
satisface cereri de noi adrese. Fiecare server menține o bază de date a adreselor alocate
(permanent sau temporar) în memoria locală.
Procedura următoare descrie pașii din Figura 2.17.
1. Clientul transmite broadcast un mesaj DHCPDISCOVER în subrețeaua fizică locală.
În acest punct clientul se găsește în starea INIT. Mesajul DHCPDISCOVER poate
include câteva opțiuni cum ar fi sugestii privind adresa de rețea sau durata unei adrese
temporare (lease).
Arhitectura Reţelelor şi Internet 23

Figura 2.17: Interacțiunea dintre client DHCP și server DHCP


2. Fiecare server răspunde cu un mesaj DHCPOFFER care include o adresă de rețea
disponibilă (your IP address) și alte opțiuni de configurare. Serverul memorează
adresa oferită clientului pentru a preveni oferirea aceleași adrese unui client care
transmite un mesaj DHCPDISCOVER înainte ca primul client să-și încheie
configurarea.
3. Clientul recepționează unul sau mai multe mesaje DHCPOFFER de la unul sau mai
multe servere. Clientul alege unul, bazându-se pe parametrii de configurare oferiți și
transmite broadcast mesajul DHCPREQUEST care include identificatorul serverului
al cărui mesaj a fost ales și adresa IP luată din câmpul your IP address.
4. În cazul în care nu este recepționată nici o ofertă, dacă clientul cunoaște o adresă de
rețea anterioară, va utiliza acea adresă dacă este încă validă până când va expira (este
vorba despre o adresă lease).
5. Serverele recepționează mesajul broadcast DHCPREQUEST. Acele servere care nu au
fost selectate prin mesajul DHCPREQUEST utilizează mesajul pentru a notifica faptul
că oferta lor a fost declinată de către client. Serverul selectat în DHCPREQUEST
marchează clientul ca fiind stabil, menține datele corespunzătoare în memorie și
răspunde cu un mesaj DHCPACK conținând parametrii de configurare ceruți de către
client. Combinația dintre hardware-ul clientului și adresa de rețea atribuită constituie
un identificator unic pentru adresa temporară (lease) a clientului și este utilizat atât de
către client, cât și de către server pentru a identifica o referire la lease în orice mesaj
DHCP. Câmpul your IP address din mesajul DHCPACK va fi umplut cu adresa de
rețea selectată.
6. Clientul recepționează mesajul DHCPACK cu parametrii de configurare. Clientul
realizează o verificare finală a parametrilor, de exemplu cu ARP pentru adresa de rețea
24 2. Nivelul Reţea

alocată, și notează durata de valabilitate a adresei și identificatorul adresei din mesajul


DHCPACK. În acest moment clientul s-a configurat.
7. Dacă detectează o problemă cu parametrii din mesajul DHCPACK (adresa se află deja
în folosință în rețea), clientul va transmite către server un mesaj DHCPDECLINE și
repornește procesul de configurare. Clientul va aștepta minimum zece secunde pentru
a reporni procesul de configurare pentru a evita un trafic de rețea excesiv în ncazul
unei bucle. La recepția unui mesaj DHCPDECLINE serverul trebuie să marcheze
faptul că adresa oferită nu este disponibilă (și eventual informează administratorul de
sistem că există o problemă de configurare).
8. În cazul în care clientul recepționează un mesaj DHCPNACK, va reporni procesul de
configurare.
9. Clientul poate alege să-și elibereze adresa temporară (lease) prin transmiterea unui
mesaj DHCPRELEASE către server. Clientul identifică adresa lease care o vrea
eliberată prin includerea în mesaj a adresei de rețea și a adresei hardware.
3. Rutarea în reţelele cu comutare de pachete

Funcţia principală a nivelului reţea o constituie rutarea pachetelor de la maşina


sursă către maşina destinaţie. Algoritmii care sunt utilizaţi pentru alegerea rutelor şi a
structurii datelor sunt părţile principale care determină realizarea nivelului reţea.
Algoritmii de rutare sunt acea parte din zona logică a nivelului reţea care are
responsabilitatea de a decide pe care linie de ieşire va fi transmis un pachet care tocmai
a sosit. Dacă reţeaua utilizează în interior datagrame, această decizie va fi luată pentru
fiecare pachet în parte. Dacă în interior reţeaua utilizează circuite virtuale, decizia de
rutare se va lua numai în faza de iniţializare a circuitului. Prin urmare pachetele care
transportă informaţia vor urma apoi aceeaşi cale. O comparaţie între cele două moduri
de funcţionare a reţelei este făcută în tabelul următor.

Subiect Reţea datagrame Reţea circuit virtual


Adresare Fiecare pachet deţine Fiecare pachet conţine
adresa completă a numărul circuitului virtual
destinatarului şi a sursei
Informaţii de rutare Reţeaua nu păstrează nici o Fiecare circuit virtual
informaţie stabilit este trecut într-un
tabel de rutare
Rutarea Fiecare pachet are o dirijare Dirijarea este stabilită
independentă numai la iniţializare şi apoi
se urmează aceeaşi cale
Consecinţa defectării unui Se pierd toate pachetele Toate circuitele virtuale
nod din nodul respectiv care trec prin nodul
respectiv sunt distruse.
Controlul congestiei Dificil Uşor de realizat dacă la
iniţializarea circuitului se
prevăd memorii tampon.
Complexitatea La nivelul transport La nivelul reţea
Adaptat la Servicii cu sau fără Servicii cu conexiune
conexiune

Algoritmii de rutare pot fi împărţiţi în două mare clase: algoritmi adaptivi şi


algoritmi neadaptivi. Algoritmii neadaptivi nu îşi fondează decizia de dirijare pe
măsurători sau estimări ale traficului în timp real, ţinând seama de topologia reţelei.
Din contră, alegerea unei rute pentru a ajunge de la un nod la altul este calculată

1
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__
dinainte şi introdusă la iniţializarea reţelei în fiecare nod, sub forma unor tabele de
rutare. Această procedură poartă numele de rutare fixă sau statică.
Spre deosebire de algoritmii de rutare fixă, cei adaptivi îşi modifică deciziile de
rutare pentru a se pune în acord cu schimbările de trafic sau de topologie care au loc pe
parcurs. Există trei familii de algoritmi adaptivi care diferă prin maniera în care sunt
utilizate datele. Există algoritmi globali care utilizează date culese din întreaga reţea
pentru a lua cele mai bune decizii. Aceştia sunt algoritmii centralizaţi. Mai există
algoritmii locali care se execută separat în fiecare nod al reţelei şi nu utilizează decât
informaţiile care sunt disponibile la nivelul nodului (spre exemplu lungimea firelor de
aşteptare). Aceştia sunt numiţi algoritmi izolaţi sau locali. A treia clasă de algoritmi
adaptivi utilizează un amestec între informaţii locale şi cele globale. Dacă un algoritm
adaptiv se adaptează bine la trafic, atunci el este mai bun decât un algoritm care nu ţine
seama de ceea ce se întâmplă în reţea.
Funcţionarea unei reţele de comunicaţii este dependentă de asigurarea unui
algoritm de dirijare adecvat. Într-o reţea cu comutare de circuite, algoritmul
funcţionează în timpul stabilirii circuitului atunci când se selectează o rută. Într-o reţea
cu comutare de pachete algoritmul poate fie să determine ruta în mod individual pentru
fiecare pachet, fie să stabilească o rută care va fi urmată de către o secvenţă de pachete.
Dificultatea dirijării în orice reţea este dată de topologia reţelei.
Pentru reţele foarte simple, dirijarea nu constituie o problemă. Astfel, pentru o
reţea în stea cu linii duplex, fiecare nod din reţea care acceptă şi livrează trafic
utilizatorilor este conectat la un singur nod, nodul central. Prin nodul central trebuie să
treacă tot traficul. Nodul central posedă informaţiile care definesc topologia reţelei.
Fiecare nod destinatar este conectat la nodul central printr-o linie distinctă, iar tabela de
dirijare a nodului central indică pentru fiecare destinaţie linia de ieşire corespunzătoare.
Rezultă un algoritm de dirijare dintre cele mai simple.

1 4
C

2 3

Figura 3.1: Topologie de reţea în stea


O a doua structură foarte simplă de reţea o constituie reţeaua în care nodurile
sunt conectate în inel. Dacă liniile sunt duplex, traficul poate ajunge la orice destinaţie
de la orice sursă, în orice direcţie, parcurgând traseul în inel. Şi în acest caz rezultă un

2
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__
algoritm foarte simplu în care nu este nevoie nici măcar de o tabelă de dirijare, lucru
care constituie o caracteristică esenţială a acestui tip de reţea. Se poate pune însă o
problemă: în majoritatea cazurilor ruta pe o direcţie este mult mai scurtă decât în
cealaltă direcţie. În acest caz se poate prevedea o tabelă de dirijare în fiecare nod care să
indice calea cea mai scurtă către fiecare destinaţie. O altă soluţie ar fi aceea ca fiecare
nod să calculeze, pe baza sistemului de numerotare a nodurilor, care este calea cea mai
scurtă şi să ia o decizie de direcţie.
1

2 5

3 4

Figura 3.2: Topologie de reţea în inel

O altă structură care poate utiliza sistemul de numerotare a nodurilor în


algoritmul de dirijare este cea sub formă de matrice rectangulară regulată, caz în care
există de regulă cel puţin două căi egale de cea mai mică lungime între o sursă şi o
destinaţie. Excepţia o constituie nodurile vecine. Într-o astfel de topologie numerotarea
nodurilor se face astfel încât să indice linia şi coloana ocupate de către fiecare nod în
matrice. Rezultă necesitatea ca fiecare nod să cunoască cum trebuie să direcţioneze
traficul spre nodurile de pe liniile şi coloanele cu numere mai mari sau mai mici. Aceste
informaţii pot fi inserate în fiecare nod sub forma unor tabele de dirijare rudimentare.

11 12 13

21 22 23

31 32 33
Figura 3.3: Reţea sub formă de matrice rectangulară regulată

Un al patrulea tip de structură de reţea care necesită algoritmi de dirijare foarte


simpli este reţeaua arborescentă, la care sistemul de adresare poate fi proiectat pentru a
specifica în mod unic calea de urmat de la un nod la altul. Într-o astfel de reţea există un

3
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__
singur drum de la un nod sursă la un nod destinaţie. La acest tip de reţea informaţiile de
dirijare pot fi conţinute în adresă. Nu mai sunt necesare tabele de dirijare în noduri, ci
numai o indicaţie privind modul în care se va parcurge arborele: în sus sau în jos.

11 12

111 112 121 122

Figura 3.4: Structură de reţea arborescentă

Un ultim tip de reţea care utilizează algoritmi de dirijare simpli este reţeaua
conectată total. În acest caz fiecare nod are o linie directă cu toate celelalte noduri şi
deţine o tabelă de dirijare în care se defineşte linia unică de utilizat pentru a ajunge la
destinaţie.

1 4

2 3

Figura 3.5: Reţea total conectată

Aceste topologii care conduc la algoritmi de dirijare simpli se întâlnesc în


practică, dar destul de rar, majoritatea reţelelor reale având topologii mult mai
complexe, cu configuraţii parţial conectate. Localizarea nodurilor reţelei este dictată în
general de cerinţele utilizatorilor. Liniile ce unesc nodurile depind de disponibilitatea
rutei şi lăţimii de bandă, consideraţiile privind costul având un rol determinant.
Pentru o reţea cu comutare de pachete parţial conectată se poate decide
neutilizarea unui algoritm sistematic de dirijare pentru cazul în care topologia reţelei nu
este suficient de bine cunoscută în fiecare nod, sau pentru o topologie în continuă
transformare. În acest caz pachetele pot fi transmise fie prin dirijare prin inundare (copii
ale unui pachet sunt transmise pe toate liniile de ieşire dintr-un nod), fie prin dirijare

4
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__
aleatoare (o singură copie a unui pachet este transmisă de un nod pe o linie aleasă la
întâmplare).
În reţelele moderne cu comutaţie de pachete sunt mult mai folosite tehnici de
dirijare care asigură o înaintare sistematică a fiecărui pachet de la sursă la destinaţie.
Acest lucru se realizează printr-un proces de dirijare care în fiecare nod caută să
selecteze pentru fiecare pachet linia de ieşire cea mai adecvată pe care să transmită
pachetul. Adresa conţinută în antetul pachetului trebuie să conţină adresa destinatară,
sau adresele destinatarilor în cazul destinaţiilor multiple. Folosind adresa destinatarului
extrasă din antet, procesul de dirijare caută într-o tabelă de dirijare informaţiile necesare
pentru a determina linia de ieşire optimă după un anumit criteriu. Criteriul de alegere a
liniei de ieşire poate fi simplu, alegând calea de lungime minimă, sau poate fi complicat
prin încercarea de a lua în consideraţie măsuri locale şi/sau globale ale încărcării
componentelor reţelei (ale nodurilor şi ale liniilor).
Nodul trebuie să fie capabil să recunoască destinaţia fiecărui pachet şi să
folosească această destinaţie pentru accesul în tabela de dirijare care va indica linia
unică din nod pe care trebuie transmis fiecare pachet. Dificultatea constă în calcularea
tabelelor de dirijare pentru fiecare nod din reţea. Calculul cel mai simplu este pentru
cazul în care se doresc tabele care să furnizeze calea cea mai scurtă între fiecare sursă şi
destinaţie. Urmând această cale, se defineşte un arbore pentru fiecare nod destinaţie din
reţea, cu vârful în acel nod. Arborele astfel format va defini un set de căi, una de la
fiecare nod sursă din reţea către nodul destinaţie.

Figura 3.6: Reţea distribuită parţial conectată

Fie reţeaua din figura 3.6 reprezentând o reţea distribuită parţial conectată.
Arborele care defineşte setul format din cele mai scurte căi pentru un nod destinatar
notat D este prezentat în figura 3.7. Calea cea mai scurtă de la un nod la o destinaţie are
caracter markovian. Aceasta înseamnă că istoria circulaţiei pachetului (nodul de

5
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__
origine, noduri vizitate, linii traversate) nu influenţează desemnarea căii celei mai
scurte între două noduri particulare. Dacă matricea de încărcare cu trafic, reprezentând
fluxurile între fiecare pereche sursă - destinaţie, este cunoscută şi nu variază în timp,
atunci tabelele de dirijare fixă pe calea cea mai scurtă pot fi modificate pentru a utiliza
surplusul de capacitate din anumite părţi ale reţelei (tabelele de dirijare pe calea cea mai
scurtă pot duce la concentraţii nedorite de trafic, lucru care poate fi înlăturat prin
modificarea tabelelor). În figura 3.7 s-a presupus că traficul de la toate nodurile la nodul
D este acelaşi. Se observă că prin dirijarea pe calea cea mai scurtă se încarcă foarte
mult nodul A şi linia dintre nodurile A şi D.

A D

Figura 3.7: Arborele de dirijare către nodul D

Prin modificarea ilustrată în figura 3.8 situaţia este îmbunătăţită, deşi în mod
evident alte elemente ale reţelei vor suporta o încărcare mai mare.

A D

Figura 3.8: Modificarea dirijării pentru distribuirea încărcării cu trafic

O variantă care încearcă să distribuie traficul cât mai uniform în reţea este aceea
a luării deciziei de dirijare spre o destinaţie în funcţie de sursa de la care vine pachetul,
prevăzând o intrare separată în tabelul de dirijare în care este precizată sursa. Această

6
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__
variantă poate fi văzută în figura 3.9 în care se observă cum fluxul de date este despicat
pe mai multe căi în funcţie de sursa pachetelor individuale.

Figura 3.9: Dirijare cu bifurcare în funcţie de sursa pachetelor

3.1. Tehnici simple de rutare

Tehnicile simple de dirijare nu necesită tabele de dirijare, nu necesită nici un fel


de cunoştinţă privind topologia reţelei. Ele sunt recomandate pentru reţele slab
încărcate cu trafic şi la care se cere să aibă capacitatea de a continua să funcţioneze în
cazul defectării unor componente ale reţelei şi în condiţii dificile, cum ar fi un atac
militar.

3.1.1. Rutarea aleatoare.

Nodul funcţionând pe acest principiu, după ce a stabilit că un pachet trebuie


transmis (adică nu este adresat unui utilizator local conectat la acel nod), alege printr-un
proces aleator linia de ieşire pe care să transmită pachetul. În general, este logic ca
pachetul să nu fie transmis pe linia pe care a venit, aşa că această linie este exclusă din
procesul de selecţie. Există două variante de a alege linia pe care va fi transmis
pachetul:
a. se utilizează un generator de numere aleatoare care să desemnează numărul
liniei pe care se va ieşi;
b. se utilizează liniile de ieşire prin rotaţie, schimbând linia la fiecare pachet
care iese din nod, punându-se restricţia ca nici un pachet să nu se transmită pe linia pe
care a venit. Această a doua variantă are avantajul că nu ocupă nici timpul de lucru al
procesorului din nod, nici spaţiul de memorie cu programe de prelucrare.
Pachetele transportate în acest mod prin reţea circulă pe căi aleatoare şi nu
avansează în mod sistematic spre destinaţia cerută. Pentru o reţea dată, trebuie să fie
posibil să se calculeze distribuţia de probabilitate a lungimii căilor posibile (în funcţie
de numărul de linii traversate) necesare pentru a ajunge la destinaţie. Ca urmare se va

7
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__
ataşa fiecărui pachet un contor de linii traversate, urmând ca pachetele al căror contor
de linii traversate depăşeşte un număr prestabilit să fie eliminate. Prevederea unui
număr maxim pentru contorul de linii traversate este un mod eficient de a evita căile
infinite care pot apare atunci când nu se poate ajunge la destinaţie din diferite motive
(unul ar fi cazul în care reţeaua este divizată în două părţi deconectate din cauza
defectării unui număr de linii).
Această metodă are dezavantajul că nu este garantată livrarea pachetului la
destinaţie.
Avantajul metodei îl constituie simplitatea şi completa independenţă de
topologia reţelei.

3.1.2. Rutarea prin inundare

Nici acest proces simplu de dirijare nu necesită cunoştinţe despre topologia


reţelei. Nodul care trebuie să expedieze un pachet (cu aceeaşi restricţie de a verifica
dacă pachetul nu este destinat unui utilizator local) face atâtea copii câte linii de ieşire
există, mai puţin cu unu. Câte o copie este transmisă pe toate liniile cu excepţia liniei pe
care a sosit. Numărul de linii traversate este din nou folosit pentru a limita numărul de
expedieri succesive. Limita contorului de linii traversate trebuie stabilită astfel încât să
depăşească cu unu distanţa pe cea mai scurtă cale între cea mai îndepărtată pereche
sursă - destinaţie. Când contorul de linii traversate al unui pachet a atins această limită
(în cazul în care se face incrementare la fiecare pas, respectiv a ajuns la zero în cazul
decrementării), pachetul nu mai este expediat, iar copia lui este distrusă.
Pentru eliminarea pachetelor multiplicate în mod excesiv în reţea se pot adopta
mai multe variante de acţiune:
Varianta 1: se introduce în pachet un câmp ce reprezintă numărul de salturi (de noduri
traversate) efectuate în reţea. Acest contor este decrementat la fiecare salt. Când
conţinutul său devine nul, pachetul corespunzător este distrus. Valoarea iniţială cu care
este încărcat contorul se determină pe baza numărului de salturi de la sursă la destinaţie
(sau al numărului maxim de salturi între oricare două puncte ale reţelei) care este
majorat pentru a preîntâmpina situaţiile critice (o parte a reţelei scoasă din funcţiune).
La destinaţie este necesară ţinerea unei evidenţe a pachetelor recepţionate pentru a
putea elimina copiile.
Varianta 2: fiecare sursă numerotează secvenţial pachetele pe care le introduce în reţea.
Fiecare nod deţine un set de liste, câte o listă pentru fiecare sursă, în care sunt înscrişi
identificatorii pachetelor care au fost deja recepţionate. Pentru a limita creşterea acestei
liste se ataşează un contor a cărui valoare k indică faptul că toate pachetele având

8
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__
indicativ mai mic decât k au fost recepţionate. Pachetele copii sunt detectate
comparându-le identitatea cu conţinutul contorului sau cu lista corespunzătoare.
Varianta 3 (inundare selectivă): nodul de tranzit multiplică pachetele doar în direcţia
aproximativ bună (utilă doar în cazul reţelelor cu structura regulată).
Meritul acestui tip de rutare este că cel puţin o copie a pachetului va ajunge la
destinaţie pe calea cea mai scurtă şi prin urmare în timpul cel mai scurt.
Apare însă o încărcare considerabilă a reţelei: un număr mare de pachete
duplicate şi de tranzacţii de anulare a unor pachete; nodurile destinatare trebuie să
verifice sosirea pachetelor duplicate şi să le distrugă.
Spre deosebire de rutarea aleatoare, rutarea prin inundare garantează livrarea
fiecărui pachet cu condiţia să se poată ajunge la destinaţie.

3.2. Rutarea fixă

Este cea mai simplă şi cea mai evidentă metodă de dirijare. Sunt folosite tabele
de dirijare în fiecare nod al reţelei. În forma lor cea mai simplă, tabelele de dirijare fixă
specifică o anumită linie din fiecare nod pentru a fi folosită în drumul către fiecare
destinaţie. Se observă că nu există nici un mecanism de alegere implicat în luarea
deciziilor de dirijare.

3.2.1. Rutarea pe calea cea mai scurtă

Tabelele de dirijare specifică în acest caz cele mai scurte căi pentru fiecare
pereche sursă - destinaţie. Criteriul după care se alege calea cea mai scurtă poate lua în
considerare mai multe caracteristici ale reţelei, fie ţinând seama de topologia ei, fie de
comportarea în timp a traficului. Se poate alege astfel calea cea mai scurtă din punct de
vedere al distanţei geografice, al numărului de salturi necesar pentru a atinge o anumită
destinaţie, capacitatea de transport a liniilor, traficul mediu pe linii, lungimea cozilor de
aşteptare, întârzierea medie.
Pentru o reţea slab încărcată acest mod de rutare realizează performanţe
satisfăcătoare, cu timpi de tranzit minimi. În cazul în care traficul creşte, performanţele
scad rapid. Aceasta se datorează faptului că setul de tabele de dirijare pe calea cea mai
scurtă nu distribuie în mod necesar traficul în mod egal în toată reţeaua, rezultând unele
linii supraîncărcate în timp ce altele sunt libere. Dacă traficul nu suportă schimbări
majore, atunci este posibil să se calculeze tabele de dirijare care să echilibreze reţeaua.
Un fapt care ar duce la imposibilitatea utilizării acestei metode de rutare este
căderea unei linii de legătură între două noduri. Există şi în acest caz mai multe variante
de înlăturare a acestui neajuns.

9
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__
O modalitate ar fi aceea de a memora în fiecare nod un set complet de tabele de
dirijare de substituţie, un tabel pentru fiecare cădere posibilă din reţea. Dacă este posibil
se pot face tabele care să ţină seama de mai multe căderi din reţea. În momentul în care
se întrerupe o linie, nodurile de la capetele liniei defecte transmit pachete de control la
toate nodurile din reţea, înştiinţându-le despre identitatea liniei întrerupte. În urma
recepţionării pachetelor de control, nodurile îşi vor actualiza tabelele de dirijare în mod
corespunzător. Pentru a realiza un transfer rapid de informaţii, aceste pachete de control
au prioritate ridicată faţă de celelalte categorii de trafic.
O altă variantă este aceea în care un centru de control al reţelei primeşte
rapoartele de la noduri, descoperă întreruperea unor linii şi emite comenzi către noduri
să-şi modifice tabelele de dirijare pentru a ţine seama de aceste întreruperi. Când s-a
reparat o componentă a reţelei, centrul de control va emite comenzi pentru restaurarea
rutelor utilizate anterior.

3.2.2. Rutarea multiplă (multicale)

În cazul în care între două noduri există mai multe căi de valori aproximativ
egale, traficul între aceste două noduri poate fi partajat pe aceste rute .
Rutarea multicale este posibilă atât pentru reţelele utilizând datagrame cât şi
pentru cele de tip circuit virtual. În cazul datagramelor când un pachet soseşte pentru a
fi retransmis, se va face a alegere între diferitele căi posibile pentru acel pachet, alegere
independentă de alegerile anterioare pentru pachetele având aceeaşi destinaţie. În cazul
circuitelor virtuale, dacă un circuit este în curs de stabilire, se va alege o rută, urmând
ca pachetele având aceeaşi destinaţie să urmeze toate această rută. Circuitele virtuale
diferite vor fi dirijate independent unul de celălalt.
Fiecare nod ţine la zi un tabel cu toate destinaţiile posibil de atins. Pentru
fiecare destinaţie sunt înscrise diferite linii de ieşire, în ordine descrescătoare (de la cel
mai favorabil traseu până la cel mai puţin favorabil). Înainte de a expedia un pachet,
nodul generează un număr aleator şi alege cu ajutorul lui între diferitele posibilităţi,
utilizând ponderile asociate fiecărei variante de ieşire ca fiind probabilităţi. Tabelele
sunt create manual de către administratorul reţelei, sunt încărcate în fiecare nod înainte
de pornirea reţelei şi apoi nu mai sunt modificate.
În cadrul fiecărei interfeţe există un tabel cu diferitele linii posibile de ieşire
pentru fiecare destinaţie în parte. Identităţile ieşirilor sunt scrise în ordinea crescătoare a
valorilor asociate traseelor corespunzătoare. Alături de ele se scriu ponderile relative.
Exemplu: Fie patru ieşiri având ponderile p1, p2, p3 şi p4, cu p1 + p2 + p3 + p4 = 1.
Se generează un număr aleator în intervalul (0,1) şi se alege ieşirea având ponderea cea
mai apropiată de numărul generat.

10
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__
Rutarea multicale prezintă ca avantaje:
• creşterea fiabilităţii reţelei (în caz de defectare a unui link, el poate fi "ocolit" pe
una din rutele echivalente),
• alegerea în funcţie de debitul informaţiei a unei rutări optime ca viteză de
transmisie.
Ca exemplu, fie reţeaua din figura 3.10, discuţia făcându-se pentru nodul J.

nodul A nodul B nodul C nodul D

nodul E nodul H
nodul F nodul G

nodul I nodul J nodul K nodul L

Figura 3.10. Reţea în care se exemplifică rutarea multicale

Tabela de rutare pentru nodul J se prezintă astfel:

Destinaţia Prima alegere A doua alegere A treia alegere


A A - 0.63 I - 0.21 H - 0.16
B A - 0.46 H - 0.31 I - 0.23
C A - 0.34 I - 0.33 H - 0.33
D H - 0.50 A - 0.25 I - 0.25
E A - 0.40 I - 0.40 H - 0.20
F A - 0.34 H - 0.33 I - 0.33
G H - 0.46 A - 0.31 K - 0.23
H H - 0.63 K - 0.21 A - 0.16
I I - 0.65 A - 0.22 H - 0.13
J -- -- -- -- -- --
K K - 0,67 H - 0.22 A - 0.11
L L - 0.42 H - 0.42 A - 0.16

Dacă J primeşte un pachet destinat nodului A, el va accesa tabelul de rutare


citind informaţiile de la adresa A. Va găsi trei variante. Linia directă către nodul A este
cea de primă alegere, urmată de liniile de ieşire înspre nodurile I şi H. Pentru a se
decide, J generează un număr aleator cuprins între 0,00 şi 0,99. Dacă numărul este

11
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__
inferior lui 0,63 atunci este aleasă linia A. Dacă numărul este cuprins între 0,63 şi 0,83,
atunci este utilizată linia I; altfel, se va alege linia H.

3.3. Rutarea adaptivă

Acest mod de dirijare a apărut în momentul în care s-a realizat cât de mari sunt
avantajele pe care le aduce un sistem capabil să se adapteze rapid la condiţiile curente,
permiţând utilizarea unor rute multiple, luând în considerare întreruperile şi restabilirile
liniilor şi nodurilor reţelei, acceptând cu uşurinţă adăugarea de noi noduri sau
înlăturarea celor existente.
Apare din acest punct de vedere foarte tentantă ideea disponibilităţii instantanee
a informaţiilor de dirijare în toată reţeaua. De la această idee s-a plecat atunci când a
fost simulată o tehnică de dirijare numită:
Tehnica magică ( observator ideal)
În această tehnică fiecare nod din reţea care ia o decizie de rutare are o privire
instantanee completă asupra restului reţelei. Algoritmul de rutare, cunoscând lungimea
firelor de aşteptare în toate celelalte noduri şi numărul de pachete în tranzit pe fiecare
linie, calculează optimul pentru următoarea linie pe care să transmită pachetul pentru a
ajunge la destinaţie cu timp minim de întârziere. Rezultatul neaşteptat al
experimentului de simulare a arătat că timpii medii de întârziere obţinuţi nu erau
semnificativ mai mici decât cei observaţi în cazul folosirii în aceeaşi reţea a unei tehnici
de dirijare fixă indicând calea cea mai scurtă pentru tot traficul. S-a ajuns la concluzia
că deşi dirijarea magică s-a făcut pe baza celor mai bune informaţii disponibile,
variaţiile de trafic au făcut ca rutele, care erau optime în momentul luării deciziei, să
devină suboptime înainte ca pachetele în cauză să ajungă la destinaţie. Este posibil ca în
această metodă mai multe noduri să observe o secţiune de reţea slab încărcată şi toate să
încerce să transmită trafic în această secţiune, rezultând congestionarea zonei.
Tehnicile de dirijare adaptivă trebuie să utilizeze cât mai mult din informaţiile
pe care le obţin fie pe plan local, fie ca urmare a unor mesaje care circulă prin reţea.
Dacă nodurile sunt capabile să creeze ele însele informaţii de rutare pe care apoi le
utilizează împreună cu nodurile vecine, atunci se poate vorbi de o rutare adaptivă
distribuită. Mai există o formă de rutare, cunoscută ca fiind rutarea centralizată, în care
nodurile transmit rapoarte de stare la un centru de dirijare care, la rândul său, emite
instrucţiuni de dirijare către nodurile din reţea.
Apar câteva probleme specifice rutării adaptive.
Una ţine de secvenţialitatea pachetelor. Dacă livrarea pachetelor în secvenţa în
care au intrat în reţea este importantă pentru utilizatori, atunci o rutare fixă îmbinată cu

12
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__
un control de flux pot garanta faptul că pachetele nu se vor depăşi unele pe altele şi se
va face livrarea în ordinea dorită. Dacă, în schimb, metoda de rutare conţine şi elemente
de adaptare la condiţiile mereu în schimbare în care funcţionează reţeaua, atunci
pachetele între aceeaşi pereche sursă - destinaţie pot urma rute diferite şi pot avea
nevoie de timpi diferiţi pentru a ajunge la nodul destinatar. Rezultatul este acela că nu
mai este garantată livrarea în ordinea în care au fost acceptate de la sursă. În unele
cazuri, ordinea de livrare a pachetelor de către reţea nu este vitală, reordonarea
făcându-se pe calculatorul gazdă. Protocoalele pentru reţelele datagram nu cer o
succesiune absolută a pachetelor livrate, dirijarea adaptivă putând fi folosită cu avantaje
depline. În schimb, protocoalele de circuit virtual cer în primul rând o secvenţă corectă
a pachetelor, în acest caz dirijarea adaptivă fiind mai puţin interesantă (excepţie o
constituie cazul în care pachetele sunt reordonate de nodul destinatar înainte de livrare).
Se poate totuşi utiliza o metodă de dirijare adaptivă şi în cazul circuitelor
virtuale, în momentul stabilirii rutei, când s-a cerut realizarea unei conexiuni. Se poate
încerca optimizarea traficului prin alegerea celei mai bune rute pentru fiecare apel.
O altă variantă este aceea în care reţeaua asigură o interfaţă de circuit virtual
numai la nivelul nodurilor sursă şi destinaţie, reţeaua în sine funcţionând pe principiul
datagram.
Algoritmii de dirijare adaptivă pot fi complicaţi, astfel încât tipuri diferite de
pachete să folosească tipuri diferite de rute. În cazul unei reţele hibride, în care există
mijloace de transmisie atât terestre cât şi prin sateliţi, canalele prin sateliţi oferă bandă
largă, dar cu timpi de propagare ridicaţi, iar canalele terestre oferă bandă îngustă, dar
timpi de propagare scăzuţi. Primul tip de canale este ideal pentru transfer de fişiere
mari, al doilea pentru fişiere de dimensiuni scăzute şi pentru un mod de lucru interactiv
care necesită un timp de răspuns rapid.

3.3.1. Rutarea adaptivă izolată

Este cea mai simplă dintre metodele de dirijare adaptive, deciziile de dirijare
luându-se numai pe baza informaţiilor disponibile la nivel local în fiecare nod.
În cazul acestui tip de algoritmi, deciziile se iau de către fiecare nod în parte pe
baza informaţiilor culese local. Nu există un arbitru care să supravegheze activitatea
nodurilor pentru a asigura luarea unor decizii de rutare optime pentru întreaga reţea.
Datorită acestui fapt, e posibil ca deciziile nodurilor să ducă la situaţii în care varianta
care este aleasă ca cea mai bună pentru un nod să fie dezavantajoasă pentru un altul.
Varianta cea mai simplă de rutare locală este situaţia în care fiecare nod ia deciziile
referitoare la tabele sale de rutare numai pe baza datelor proprii, fără să cunoască ceva

13
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__
despre situaţia restului reţelei. Acest gen de algoritmi se numesc "algoritmi de rutare
adaptivă locală". Exemple de astfel de algoritmi sunt cei care urmează.

[Link]. Învăţare prin observare anterioară

Este o tehnică care iniţial ignoră topologia reţelei, obţinând cunoştinţe despre
aceasta pe parcurs, prin prelucrarea pachetelor succesive. Pentru aceasta, pachetele
trebuie să transporte, pe lângă adresa de destinaţie şi adresa sursei de unde vin şi un
contor de linii traversate. Într-o primă fază dirijarea se face aleatoriu, dar nodurile sunt
programate să ţină seama de contorul de linii traversate şi de adresa sursă a fiecărui
pachet prelucrat. Un pachet cu un contor de linii traversate egal cu unu vine în mod
evident de la un nod vecin conectat direct. În acest fel se identifică imediat nodurile
vecine şi liniile prin care sunt conectate, ceea ce reprezintă primele intrări într-o tabelă
de dirijare rudimentară. Un pachet cu un contor de linii traversate egal cu doi a venit de
la o sursă aflată la o depărtare de două linii intermediare, măsurată pe linia pe care a
sosit. Procesul continuă cu compararea contorului de linii traversate, pentru o anumită
adresă sursă, cu cel mai mic contor înregistrat deja; dacă cel nou este mai mic, atunci
este substituit în locul celui vechi şi linia corespunzătoare este marcată ca fiind linia de
pe cea mai scurtă cale cunoscută către un anumit nod din reţea.
Astfel, dacă un nod primeşte pe linia k un pachet provenind de la H, pachet
având contorul de salturi cu valoarea q, înseamnă că nodul H se află la cel mult q salturi
pe linia k. Dacă ruta anterioară optimă până la nodul H avea mai mult de q salturi,
tabele de rutare se modifică astfel încât toate pachetele cu destinaţia H vor fi rutate pe
linia k. După un anumit timp, toate nodurile reuşesc să descopere rutele optime către
celelalte noduri ale reţelei. Apar probleme dacă se defectează un nod sau o linie.
Deoarece nu sunt luate în calcul, la modificările tabelelor de rutare, decât variantele
cele mai bune, nu se poate sesiza o astfel de defecţiune (dacă am presupune că un
pachet a ajuns pe o rută ocolitoare, evitând nodul defect, el va conţine un contor de
linii traversate mai mare decât optimul înscris în tabela de rutare). Pentru aceasta,
periodic, toate nodurile trebuie să reînceapă activitatea de căutare a rutelor optime ca la
iniţializarea reţelei. În timpul acestor căutări, rutarea este suboptimală. Dacă perioada
este prea mare, reţeaua nu se poate adapta rapid modificărilor apărute. Dacă reluările
sunt prea dese, timpul de convergenţă al algoritmului riscă să nu mai fie atins, rutarea
fiind continuu suboptimală.

14
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__
[Link]. Tehnica "cartofului fierbinte"

Atunci când un pachet intră în nod, algoritmul asigură scoaterea pachetului cât
mai repede spre ieşire. Nodul consideră liniile sale de ieşire în ordinea descrescătoare a
disponibilităţii de a se ajunge la fiecare destinaţie din reţea. Pentru a se asigura acest
deziderat, se utilizează învăţarea din observare anterioară, care asigură tabelele de
dirijare pentru această metodă. Aceste tabele conţin liniile de ieşire din nod, ordonate,
pentru fiecare destinaţie.
Există câteva variante de realizare a acestei metode.
O primă variantă presupune ca procesul de expediere din nod să transmită un
pachet pe linia liberă pentru transmitere, în momentul luării deciziei de dirijare, cu cel
mai mare grad de disponibilitate. Dacă nu este liberă nici o linie corespunzătoare,
atunci pachetul trebuie să aştepte şi va părăsi nodul pe prima dintre aceste linii care va
deveni liberă.
O a doua variantă a cartofului fierbinte presupune că se acceptă fire scurte de
aşteptare pentru fiecare linie de ieşire, stabilind o limită a numărului de pachete care pot
fi în aşteptare pentru fiecare linie de ieşire. În acest caz procesul de dirijare va selecta
firul de aşteptare cu cel mai mare grad de disponibilitate care are spaţiu disponibil.
Mai există şi o variantă care nu ţine seama de preferinţa unei linii spre o
anumită destinaţie şi care trimite pachetul pe prima linie liberă găsită. Această din urmă
variantă este însă cea mai dezavantajoasă, ea neducând la o înaintare sistematică a
pachetelor.
De altfel toate metodele pot conduce la situaţii în care se aleg linii
necorespunzătoare pentru trafic, cu rute lungi şi întortocheate şi asta numai din cauză că
ruta cea mai bună poate fi momentan ocupată în întregime în momentul luării deciziei.
Graba foarte mare a procesului de dirijare după metoda cartofului fierbinte este o
caracteristică negativă a acestei metode.
Metoda cartofului fierbinte poate fi privită însă şi dintr-un punct de vedere care
să scoată în evidenţă un avantaj care poate fi luat în calcul când se face aprecierea
eficienţei: poate face faţă cu succes unei supraîncărcări de trafic în reţea prin plasarea
unui pachet sosit în oricare fir de aşteptare, oricât de necorespunzătoare ar fi ruta aleasă.
O încărcare excesivă duce însă la blocarea reţelei.
Au rezultat două îmbunătăţiri ale metodei :
a). Pentru a evita acceptarea unui număr excesiv de pachete şi deci
congestionarea reţelei, folosirea cartofului fierbinte se face împreună cu un control
simplu al fluxului care presupune refuzul de a accepta noi pachete de la utilizatorii
sursă dacă lungimea unui fir de aşteptare (oricare) din nod a atins o anumită valoare.

15
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__
Când lungimea firului de aşteptare scade sub aceasta valoare, se reia acceptarea
traficului de la utilizatori.
b). Se interzice dirijarea după metoda cartofului fierbinte a pachetelor care au
ajuns în penultimul nod al drumului lor către destinaţie. Traficul ajuns în penultimul
nod nu trebuie dirijat decât pe linia către nodul destinatar. Dacă ultima linie este
congestionată, traficul este pus în aşteptare până când aceasta devine disponibilă.

[Link]. Cel mai scurt şir de aşteptare plus preferinţă

Există trei tipuri de informaţii locale necesare pentru o bună dirijare a


pachetelor prin reţea: o tabelă de dirijare prestabilită, starea curentă a liniilor de ieşire
(funcţională sau nu) şi lungimea şirurilor de aşteptare pentru fiecare linie de ieşire. În
această metodă de rutare nodul nu are nevoie de informaţii despre starea celorlalte
componente ale reţelei. Algoritmul de dirijare este programat să facă o selecţie între
rutele alternative indicate în tabela de rutare, prin calcule bazate pe lungimea şirurilor
de aşteptare şi cunoştinţe despre topologia reţelei, exprimate ca o preferinţă pentru ca
cele mai bune linii să fie utilizate pentru a ajunge la fiecare destinaţie. Acest proces
poartă numele de "cel mai scurt şir de aşteptare plus preferinţă".
Alegerea unei valori corecte pentru preferinţă este critică pentru succesul
algoritmului.
Dacă preferinţa este zero, atunci modul în care se ia decizia este similar cu
metoda cartofului fierbinte (decizia de dirijare se ia după cel mai scurt fir de aşteptare).
Dacă preferinţa este de valoare mică, există tendinţa de a se folosi linia cu cel
mai scăzut şir de aşteptare, ceea ce poate face ca acea rută să nu fie cea mai adecvată
pentru destinaţia dorită.
Dacă preferinţa este foarte mare, ea va domina procesul de selecţie a rutei şi, ca
urmare, ruta către fiecare destinaţie va fi fixă, luând foarte puţin în consideraţie
condiţiile de trafic curent.
Din aceste considerente rezultă că este de dorit alegerea unei valori intermediare
pentru preferinţă pentru ca algoritmul să dirijeze traficul în mod eficient şi să se
adapteze la schimbările fluxului de date.
O altă metodă de dirijare adaptivă locală presupune existenţa unor tabele de
dirijare preîncărcate în fiecare nod în care este indicată calea cea mai scurtă către
fiecare destinaţie. Aceste rute au fost desemnate ca fiind rute primare. Dacă există o a
doua rută (care părăseşte nodul pe o altă linie, dar nu neapărat disjunctă de prima), ce
are aceeaşi lungime cu ruta primară în ceea ce priveşte numărul de linii tranzitate, dar
mai lungă ca distanţă, această rută este desemnată ca fiind rută secundară de tip A. Dacă
nu există nici o rută secundară de tip A, atunci se va căuta o rută care are o linie în plus

16
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__
şi care va fi desemnată ca rută secundară de tip B. Dacă nu există nici o rută secundară
de tip B, atunci nu se va desemna nici o rută secundară. Ponderile numerice sunt alocate
fiecărui tip de rută, 3 pentru rutele primare, 2 pentru rutele secundare de tip A şi 1
pentru rutele secundare de tip B. Făcând un calcul simplu de acest fel se observă o
distribuire a traficului ca în figura 3.11.
60%
A B

40%

Figura 3.11: Distribuirea traficului între o rută primară şi una secundară

În momentul în care se ţine seama de ponderile numerice, dar şi de lungimea


firelor de aşteptare ale pachetelor pentru transmisie pe fiecare linie, apare o etapă
suplimentară în care se face combinarea acestora două. În procesul de selecţie numărul
de locuri libere din şirul de aşteptare este adunat la ponderea rutei .
Se consideră un exemplu în care şirul de aşteptare este limitat la un număr de
cinci pachete, ilustrat în figura 3.12.

Ruta primara
ponderea 3

Zone tampon Proces de Zone tampon


de intrare Siruri de asteptare de iesire
dirijare
Ruta secundara
ponderea 1

Figura 3.12: Distribuirea traficului luând în calcul preferinţele şi lungimile şirurilor de


aşteptare
Se consideră un nod în care un pachet este dirijat spre destinaţie. Sunt
disponibile o rută primară şi una secundară de tip B. Numărul de locuri libere în şirurile
de aşteptare la momentul exemplificat este doi pentru ruta primară şi patru pentru ruta
secundară. În aceste condiţii, procesul de dirijare va face o selecţie între ruta primară şi
cea secundară folosind un generator de numere aleatoare. Raportul de probabilităţi

17
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__
pentru cele două rute este 3+2, respectiv 1+4, adică 5:5. Datorită acestui rezultat avem
o probabilitate egală de utilizare a fiecărei rute.
Luând în discuţie varianta în care numărul de locuri libere este 4 şi respectiv 1,
atunci raportul de probabilităţi este 3+4 la 1+1, adică 7 la 2 rezultând o preferinţă către
ruta primară.
Dacă unul din şirurile de aşteptare este plin, atunci pachetul este pus în celălalt
şir, indiferent de numărul de locuri libere. Dacă ambele şiruri de aşteptare sunt pline,
atunci pachetul este neglijat şi va fi recepţionat mai târziu prin retransmitere de la nodul
precedent.

[Link]. Rutare prin încărcare la maximum.

Mai există o modalitate de a face dirijarea utilizând informaţiile locale, numită


dirijare prin încărcare la maximum. În acest caz ruta primară este folosită întotdeauna,
excepţie făcând cazul în care şirul de aşteptare este plin. În această situaţie se caută
spaţiu în şirul de aşteptare pe ruta secundară (dacă există).
Metodele de dirijare adaptivă izolată prezintă unele neajunsuri, printre care
acela că se adaptează încet la evenimente îndepărtate (întreruperi de linii sau acumulări
de trafic). În aceste situaţii se formează un lanţ de şiruri de aşteptare pline din punctul
de congestie până la un nod în care are loc o dirijare utilă sau până înapoi la sursă. Abia
la completarea lanţului se va opri fluxul de date. Procesul reprezintă un mijloc încet şi
incomod de control de flux şi de dirijare a traficului pe rute alternative.

3.3.2. Rutarea adaptivă distribuită

Este cea mai populară tehnică implementată până acum în reţelele existente.
Scopul algoritmului este de a găsi căi cu cel mai mic timp de întârziere. Pentru aceasta,
fiecare nod menţine un tabel cu rutele optime pentru fiecare destinaţie, indicând pentru
fiecare destinaţie cea mai bună estimare curentă a timpului necesar pentru transport. În
momentul punerii în funcţiune a reţelei, timpii sunt estimaţi având la bază topologia
reţelei. Odată cu livrarea traficului, estimarea timpilor are la bază măsurători efectuate
asupra timpului real de tranzit în reţea.

[Link]. Rutarea în reţeaua ARPANET

O primă formă a algoritmului prevede transmiterea cu regularitate a tabelelor cu


timpii de întârziere între nodurile vecine. După recepţia tabelelor cu timpii de
întârziere, fiecare nod intră într-o fază de recalculare a timpilor de întârziere, pe baza

18
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__
lungimii şirului de aşteptare pentru linia de ieşire din acel nod şi a timpilor de întârziere
recepţionaţi de la nodurile vecine.
Figura 3.13 ilustrează recepţia tabelelor cu timpii minimi de întârziere la un nod
şi recalcularea timpilor de întârziere locali şi a tabelelor de dirijare. Figura, pentru
simplificare, nu prezintă decât o zonă din reţea care se presupune că mai cuprinde şi
alte noduri.
Schimbul reciproc de tabele cu timpi de întârziere între nodurile vecine necesită
un volum considerabil de trafic de pachete de control, rezultând o încărcare substanţială
a reţelei. S-a constatat că pentru o actualizare la 2/3 secunde traficul de pachete de
control reprezintă aproximativ 50% din trafic. Examinând conţinutul pachetelor se
constată că foarte des tabela de timpi de întârziere conţine aceleaşi informaţii ca şi
tabela precedentă. De aceea, o modalitate mai economică o constituie schimbul
neperiodic de informaţii. Tabelele de timp se transmit numai de către nodurile care au
detectat o schimbare semnificativă fie în intensitatea traficului, fie în funcţionarea
componentelor.

Tabele cu timpii minimi Timpii de intirziere


de intarziere ce sosesc estimati la nodul 3
la nodul 3
1 2 De la nodul
1 2 4
1 2
1 0 9 7
2 3
3 2 7 0 8 Catre
Destinatie nodul 3 -
3 4 3 5
4 6
4 2 6 0

4 Tabele noi cu timpii minimi


Tabele cu timpii de
de intarziere din nodul 3
intarziere modificati
Timpul de intarziere Ruta via nodul
estimati in nodul3
Via nodul
1 2 1
1 2 12 13
Catre Catre 2 3 2
2 9 3 14
nodul nodul 3 0 -
3 0 0 0
4 4 1
4 4 9 6

Figura 3.13: Recalcularea tabelelor de întârziere şi a tabelelor de dirijare

Revizuirea tabelelor se face numai în cazul sesizării unei modificări


semnificative locale sau în urma recepţionării unei tabele cu timpii de întârziere
revizuită de un nod vecin. În acest din urmă caz este posibil ca noile informaţii să nu

19
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__
producă schimbări în timpul minim de întârziere calculat anterior şi deci să nu fie
necesară transmiterea noilor tabele cu timpii de întârziere.
În cazul actualizării sincrone, viteza de adaptare la evenimente îndepărtate este
mică. Informaţiile de dirijare circulă de-a lungul unui lanţ de noduri, rezultând timpi de
propagare mari în cazul unei reţele întinse. Înştiinţarea despre defectarea unei
componente a reţelei în scopul redirijării traficului soseşte cu întârziere. În acest
interval traficul continuă să circule pe rutele existente ducând la congestionarea rutelor
din apropierea defectului. Acesta ar fi un argument în plus pentru actualizarea
asincronă.
Controlul dirijării prin transmiterea tabelelor cu timpi minimi de întârziere între
noduri are capacitatea de a se adapta rapid la reducerea timpilor de întârziere şi lent la
creşterea acestora. Cu alte cuvinte, se adaptează rapid la veştile bune şi lent la veştile
rele. Această proprietate a algoritmului este ilustrată în exemplul următor (figura 3.14).
Fie un lanţ de patru noduri. Se presupune că timpul necesar pentru transferul
unui pachet de la un nod la următorul nod este egal cu o unitate de timp. Astfel,
transferul de la nodul 4 la nodul 1 durează trei unităţi de timp. Timpul este introdus în
tabela cu timpi minimi de întârziere pentru fiecare nod în parte. Setul complet al
tabelelor pentru cele patru noduri este prezentat în figură.

1 2 3 4

Nodul Cel mai mic timp de Nodul Cel mai mic timp de
Întârziere către nodul 1 Întârziere către nodul 1
2 1 (direct) 2 3 (via nodul 3)
3 2 ( via nodul 2) 3 4 ( via nodul 4 )
4 3 ( via nodul 3 ) 4 3 ( via nodul 3 )

Prima stare A doua stare

Figura 3.14: Actualizarea tabelelor de dirijare

Presupunem că are loc o perturbare a traficului având ca rezultat un trafic


suplimentar de la nodul 1 la nodul 2. Ca urmare a acestei creşteri, putem considera că
timpul de transfer al pachetelor creşte de la o unitate la cinci unităţi. Soseşte momentul
de transmitere a tabelelor cu timpii minimi de întârziere: nodul 2 înştiinţează nodul 3 că
timpul său minim către nodul 1 este acum de 5 unităţi; nodul 3 înştiinţează nodul 2 că

20
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__
timpul său minim către nodul 1 este de 2 unităţi. Aceasta are loc deoarece nodul 3 nu a
luat încă cunoştinţă de informaţiile date de nodul 2 şi nu a făcut modificările necesare.
Rezultatul acestei transmisii este unul care generează pentru un timp haos. Nodul 2
calculează că ruta cu timp minim de întârziere către nodul 1 este cea care trece prin
nodul 3, durând numai 3 unităţi de timp pentru tranzit. Nodul 3, primind timpul de
întârziere de 5 unităţi până la nodul 1 şi numai 3 unităţi către nodul 1 prin nodul 4,
calculează că ruta cu cel mai mic timp de întârziere către nodul 1 trece prin nodul 4,
durând numai 4 unităţi de timp. În acest fel traficul este direcţionat greşit prin nodurile
3 şi 4 şi, eventual, trebuie să se întoarcă înapoi pe lanţ, dacă nu cumva lanţul face parte
dintr-o reţea mai mare şi atunci traficul pentru nodul 1 poate ajunge la destinaţie
urmând o rută foarte ocolitoare.
Pentru a se elimina această situaţie neplăcută se aplică o tehnică numită de
încetinire, în care un nod, care a detectat o creştere a timpului de întârziere pe ruta care
anterior era ruta cu timp de întârziere minim către o destinaţie, continuă să folosească
calea existentă un interval de timp până când vecinii au fost informaţi despre această
creştere şi au avut posibilitatea să-şi recalculeze tabelele cu timpii de întârziere. Efectul
acestei modificări este distribuirea deciziei de dirijare între un grup de noduri vecine.
Se evită astfel dirijarea greşită prin acceptarea ca nodurile în cauză să se adapteze în
mod colectiv înainte ca înştiinţarea despre creşterea timpului de întârziere să afecteze
dirijarea.
Această metodă de rutare nu duce la ceea ce s-ar aştepta de la o dirijare
adaptivă, şi anume distribuirea traficului care circulă între perechi anumite sursă -
destinaţie pe mai multe rute. Între momentele de actualizare a tabelelor cu timpi de
întârziere rutarea este fixă. În momentul actualizării ruta se poate schimba, fluxul de
date este deviat, dar nu are loc o folosire simultană a mai multor rute pentru un flux
anumit de date.

[Link]. Cel mai scurt şir de aşteptare + preferinţă + actualizare periodică

O altă modalitate de realizare a unei rutări adaptive distribuite ar fi tehnica


numită "cel mai scurt şir de aşteptare + preferinţă + actualizare periodică ". În această
tehnică tabelele cu timpii de întârziere sunt schimbate periodic între nodurile vecine,
dar fiecare nod are libertatea de a utiliza o combinaţie a lungimii şirurilor de aşteptare,
a unei valori de preferinţă şi a informaţiilor de actualizare periodică a tabelelor cu
timpii de întârziere, pentru a calcula cea mai bună rută către destinaţie în momentul în
care se ia decizia. Această metodă are capacitatea potenţială de a distribui traficul pe
mai multe rute, dar are dezavantajul de a încărca sistemul de calcul din nod cu un
volum mare de calcule.

21
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__
[Link]. Metoda excesului de capacitate

Aceasta este o altă tehnică de dirijare adaptivă distribuită. În această tehnică se


utilizează căile multiple într-un mod eficient, chiar şi în cazul unei încărcări cu un
volum mare de trafic. Pachetele sunt dirijate pe calea cea mai scurtă ce are un surplus
de capacitate disponibilă. În acest fel mai multe căi de la un nod către o anumită
destinaţie pot fi utilizate simultan.

[Link]. Algoritmul de "rutare optimală"

Chiar fără a cunoaşte în detaliu topologia reţelei şi caracteristicile traficului, pot


fi enunţate câteva principii generale numite "principii de optimizare". Dacă se constată
că nodul J este pe calea optimă care vine de la I la K, calea optimă de la J către K
urmează aceeaşi rută. Consecinţa directă a acestui principiu este că mulţimea căilor
optime de la un nod către toate celelalte noduri este un arbore cu rădăcina în nodul
destinaţie. Fiecare nod conţine o tabelă de costuri în care coloanele corespund nodurilor
vecine iar liniile nodurilor destinaţie. Conţinutul fiecărei locaţii din tablou reprezintă
costul către destinaţie "via" arborele colector care conţine nodul vecin corespunzător.
De exemplu, pentru nodul 4, tabelul costurilor şi tabelul de rutare vor fi:

Nodul vecin
Nod destinaţie 1 2 3 Nod destinaţie Nodul vecin
1 [1] 4 -1 1 1
2 3 [2] -1 2 2
3 -1 5 [2] 3 5
4 -- -- -- 4 --
5 -1 -1 [1] 5 5
6 -1 -1 [3] 6 5

S-a notat cu -1 faptul că nodul vecin este în amonte pe arborele colector. Tabela
de rutare se completează alegând (exceptând valorile negative) ieşirea de cost minim
(încadrată în paranteze drepte). În situaţia întreruperii unei linii de legătură, nodurile
implicate modifică coloana respectivă (de exemplu, completând cu valoarea -2) şi se
trece la reactualizarea tabelelor de rutare. În cazul în care în tabela de costuri se obţin
linii care conţin doar valori negative, nodul respectiv dialoghează cu vecinii săi din
amonte pentru a determina noii arbori colectori ai reţelei. Ca exemplu, fie reţeaua din

22
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__
figura 3.15, pentru care sunt prezentaţi mai apoi arborii colectori corespunzători
fiecărui nod. Pentru fiecare arbore nodurile rădăcină sunt haşurate.

3
2 3 2 3
2 5 2
5
1 2 1 6 1 6
1

1 1 2 2
4 5 1 1
4 5
Reteaua initiala Pasul 1

3
2 3 3
2 2 3

1 2 6 1 6
1

1 2 2
4 5 1 1
4 5
Pasul 2 Pasul 3

2 3 2 3

1 2 1 6 1 6
1

1 1 2 2
4 5 1 1
4 5
Pasul 4 Pasul 5

2 3

1 2 1 6

1 1 2
4 5
Pasul 6
Figura 3.15: Reţea şi arborii colectori corespunzând fiecărui nod

23
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__

Până la întreruperea legăturii 4-5, nodurile din amonte faţă de nodul 4 aveau tabelele:
NOD 1 Nodul vecin NOD 2 Nodul vecin
Nod destinaţie 2 4 Nod destinaţie 1 4 3
1 -- -- 1 [2] 3 6
2 [2] 3 2 -- -- --
3 5 [3] 3 5 4 [3]
4 4 1 4 3 [2] 5
5 5 [2] 5 4 [3] 4
6 7 [6] 6 6 [5] 6
După primirea pachetului de control ce corespunde tăierii legăturii 4 - 5 şi
efectuarea modificărilor aferente, situaţia se prezintă astfel:
NOD 1 (3,5,6) Nodul vecin NOD 2 (5,6...) Nodul vecin
Nod destinaţie 2 4 Nod destinaţie 1 4 3
1 -- -- 1 [2] 3 6
2 [2] 3 2 -- -- --
3 [5] -1 3 5 4 [3]
4 [4] -1 4 3 [2] 4
5 [5] -1 5 [4] -1 4
6 [7] -1 6 [6] -1 [6]

NOD 4 Nodul vecin


Nod destinaţie 1 2 5
1 [1] 4 -2
2 3 [2] -2
3 6 4 -2
4 -- -- --
5 7 [6] -2
6 9 [8] -2
Pe baza reactualizării tabelei de costuri, tabela de rutare a nodului 4 devine:
NOD 4
Nod destinaţie Nodul vecin
1 1
2 2
3 2
4 --
5 2
6 2

24
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__

3.3.3. Rutarea adaptivă centralizată.

Întrucât algoritmii de rutare adaptivă distribuită sau locală se adaptează lent la


evenimentele care au loc la distanţă, s-a pus problema găsirii unor metode care să se
bazeze pe o supraveghere mai largă a reţelei. O metodă prin care se realizează o
supraveghere a reţelei este stabilirea unui centru de dirijare a reţelei, caz în care
dirijarea adaptivă centralizată devine algoritmul operativ.
În cadrul rutării centralizate, există un nod (numit "nod central") care ia toate
deciziile referitoare la rutare. Periodic, fiecare nod din reţea generează rapoarte de stare
care conţin informaţii către nodul central. Aceste informaţii se referă la felul în care
funcţionează nodul, la variaţiile de trafic survenite de la ultimul raport, la numărul de
pachete din memoriile tampon, la eventuale situaţii de blocare a reţelei. Nodul central
recepţionează rapoartele şi, pe baza acestora, având o imagine de ansamblu asupra
reţelei, decide care sunt noile tabele de rutare pentru nodurile subordonate. Nodul
central actualizează aceste tabele şi le distribuie tuturor nodurilor din reţea. Unul din
avantajele acestui tip de rutare constă în faptul că deciziile se iau pe baza unor
informaţii complete despre reţea. În plus, complexitatea nodurilor subordonate este
mult redusă datorită faptului că nu iau decizii referitoare la modificările tabelelor de
rutare. Din nefericire, există şi multe dezavantaje. Dacă reţeaua este de mari dimensiuni
şi tabelele se modifică frecvent, volumul de calcule pe care trebuie să le facă nodul
central este ridicat. O problemă este şi vulnerabilitatea nodului central. Dacă acest nod
se defectează, întreaga reţea nu mai funcţionează. De asemenea, vulnerabile sunt şi
liniile conectate la nodul central, linii pe care se transferă toate pachetele cu funcţii de
rutare. Liniile care servesc nodul central sunt mult solicitate, existând pericolul să intre
în congestie blocând nodul central. O imagine sugestivă a acestui lucru este dată de
figura 3.16.

Figura 3.16: Încărcarea liniilor de la noduri înspre centrul de control al rutării

25
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__
Pentru o reţea mare, trimiterea datelor către nodul central şi distribuţia tabelelor
de rutare pentru nodurile subordonate poate dura mult timp, astfel încât noile rute
calculate drept optime nu mai corespund situaţiei din reţea. Apare o întârziere între
transmiterea iniţială a fiecărui raport şi recepţia sa de către centrul de control. Pentru
nodurile îndepărtate această întârziere poate fi semnificativă. În celălalt sens, după ce
centrul a efectuat calculele de dirijare, care ele însele pot dura un interval de timp,
timpul necesar pentru recepţionarea de către toate nodurile a tabelelor de dirijare
revizuite poate fi în egală măsură la fel de semnificativ. În acest fel centrul lucrează cu
informaţii parţial învechite şi distribuie către noduri tabele de dirijare care vor fi şi mai
învechite în momentul recepţiei. Într-o reţea în care traficul prezintă schimbări rapide
este greu ca un astfel de algoritm să funcţioneze eficient. Se poate spune că aceşti
algoritmi sunt potriviţi pentru reţele cu topologie stabilă şi trafic relativ constant. Rolul
major al acestor algoritmi este acela de a adapta îndrumarea traficului la modificările
topologice ale reţelei.
În concluzie, se poate spune că algoritmii adaptivi globali au avantaje precum:
• deciziile luate tind către ideal;
• eliberează interfeţele de calculele suplimentare.
Au însă şi numeroase dezavantaje:
• vulnerabilitatea reţelei datorită defectării Unităţii Centrale (UC) a Centrului de
Control al Rutării (RCC) sau întreruperii legăturilor RCC cu reţeaua. Soluţia
acestei probleme este duplicarea UC, existând însă şi în acest caz dezavantaje
(costul reţelei creşte, apare necesitatea existenţei unui arbitru care să arbitreze
posibilele conflicte între cele două UC);
• informaţia referitoare la rutare se poate propaga cu întârzieri mari până la
nodurile cele mai îndepărtate din reţea, astfel încât nodurile îşi schimbă tabelele
de rutare la momente diferite de timp. Se poate ajunge astfel la situaţii de
inconsistenţă a reţelei, pachetele fiind întârziate exagerat, printre ele fiind şi
pachetele de rutare. Rezultă un fenomen de cerc vicios.

3.3.4. Rutarea adaptivă hibridă

Datorită dezavantajelor pe care le prezintă rutările adaptive izolată şi distribuită


(fie că nu sunt informate despre evenimentele îndepărtate, fie că sunt informate prea
încet) precum şi cea centralizată ( informarea privind evenimentele din reţea soseşte cu
întârziere, control instabil care poate duce la o pendulare a algoritmului în funcţie de
modificările din trafic), s-a încercat găsirea unui sistem de dirijare care să combine
avantajele tehnicilor mai sus menţionate, evitând dezavantajele lor.

26
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__
[Link]. Algoritmul de rutare "delta"

Acest algoritm este un hibrid între rutarea centralizată şi rutarea locală.


În dirijarea delta se stabileşte un controlor al dirijării centralizate în reţea.
Nodurile măsoară "costul" fiecarei linii şi trimit periodic către nodul central un pachet
cu datele citite. Costul unei linii poate fi dat de întârzierea pe linie, de lungimea cozilor
de aşteptare, de debitul pe linie... Pe baza acestor informaţii, nodul central calculează
cele mai bune k trasee pentru a ajunge de la nodul i la nodul j, pentru toate nodurile din
reţea. Fie C1ij costul celui mai bun drum, C2ij costul următorului ş.a.m.d. Dacă Cijn - C1ij <
δ, drumul n este considerat aproape echivalent cu drumul 1, deoarece costurile lor
diferă puţin. Atunci când se termină aceste calcule, nodul central trimite către celelalte
noduri lista tuturor căilor echivalente posibile către orice destinaţie. Nodurile pot alege
oricare dintre drumurile echivalente. Alegerea se face în strânsă legătură cu lungimea
şirurilor de aşteptare locale. Dacă există mai multe căi de la un nod la o anumită
destinaţie, atunci algoritmul de dirijare lasă ca situaţia locală să determine care rută este
folosită pentru fiecare pachet. Dacă tabelele globale indică faptul că o anumită rută este
mai bună, atunci deciziile de dirijare în nod sunt constrânse să utilizeze acea cale. În
acest fel, este ales drumul cel mai scurt, dar şi cel mai fiabil. Când δ tinde la 0, toate
drumurile sunt judecate ca fiind inferioare drumului cel mai bun şi nodul central ia
toate deciziile. Din contră, dacă δ tinde la infinit, toate drumurile sunt judecate ca fiind
echivalente şi deciziile de rutare se iau la nivelul fiecărui nod, pe baza informaţiilor
locale. Prin alegerea parametrului δ, se poate împărţi responsabilitatea luării deciziei de
rutare între nodul central şi nodurile subordonate.
Decizia de dirijare într-un nod (A) pentru traficul destinat altui nod (B) este
ilustrată în figura 3.17.

A 2 B

Figura 3.17: Dirijare delta

27
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__

Compararea timpului la centrul de dirijare al Tabela de dirijare transmisă la


reţelei nodul A
(Traficul A → B )
Primară Secundară
Timpul (A→B) via 1<Timpul (A→B) via 3 - δ via 1 -
Timpul (A→B) via 3<Timpul (A→B) via 1 - δ via 3 -
|Timpul (A→B) via 1-Timpul (A→B) via 3| ≤ δ via 1 via 3

Rutele alternative specificate sunt via nodul 1 şi nodul 3. Dacă diferenţa între
timpii prin nodurile 1 şi 3 este mai mare decât valoarea "delta", specificată în mod
individual pentru această decizie de dirijare de către controlorul central, atunci traficul
de la A la B este transmis pe ruta cea mai rapidă. Dacă diferenţa este mai mică decât
"delta", atunci traficul este distribuit pe cele două rute.
Unele simulări în care s-au comparat performanţele dirijării delta cu alte metode
de dirijare implicând tehnici de dirijare distribuite şi centralizate, au arătat că algoritmul
delta are cel mai mare succes în ceea ce priveşte utilizarea maximă a capacităţii reţelei
şi cei mai mici timpi de întârziere.
Un alt avantaj al acestei metode este acela că dacă se defectează sau rămâne
izolat controlorul central nodurile pot, cel puţin pentru un interval de timp, să-şi
continue funcţionarea pe baza tabelelor existente, controlând dirijarea pachetelor
individuale. În acest caz nodurile se comportă ca şi cum s-ar folosi dirijarea adaptivă
izolată. Reluarea controlului de către nodul central poate avea loc foarte simplu în
momentul restabilirii comunicaţiilor.
O altă tehnică hibridă este aceea în care există un sistem ierarhic de dirijare şi
control al fluxului. În acest sistem reţeaua este divizată în noduri strâns legate. Fiecărei
zone i se alocă un controlor local al dirijării, care recepţionează rapoartele de stare de la
nodurile sale locale. Fiecare controlor calculează rutele în propria sa zonă şi schimbă
informaţii de dirijare cu ceilalţi controlori folosind pachete de control de prioritate
mare. Această tehnică are scopul de a reduce întârzierea de timp între generarea
rapoartelor de stare şi recepţia instrucţiunilor de dirijare, prin existenţa controlorilor
locali. Privirea generală asupra reţelei se obţine prin mai mulţi controlori care comunică
între ei.

28
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__

3.5. Rutarea în reţele mari

Creşterea dimensiunilor reţelelor pune probleme noi în ceea ce priveşte


algoritmii de rutare. Creşterea unei reţele poate fi făcută fie prin propria extindere, fie
prin interconectarea cu alte reţele deja existente. Nu se va face aici referire la modul în
care se poate realiza interconectarea reţelelor, problema dirijării fiind în mare aceeaşi.
Nodurile de interconectare a reţelelor sunt denumite în mod obişnuit porţi. În
mod conceptual, un set de reţele interconectate prin porţi pot fi privite ca o singură
reţea cu canale de comunicaţie ce conectează nodurile poartă. Tratând problema ca pe
una de dirijare de la o poartă la altă poartă, se poate simplifica procesul de dirijare.
Un prim lucru esenţial este stabilirea unui sistem de adresare global. Acesta se
poate realiza prin realizarea unei adrese cu două niveluri, fiecare nod fiind desemnat
prin adresa sa din reţeaua din care face parte, iar fiecare reţea separată este desemnată
de identificatorul său unic. În cazul în care numărul de reţele separate interconectate
devine foarte mare se poate apela la un sistem ierarhic cu mai multe niveluri. În acest
caz se pot stabili grupuri de reţele, comunicaţia între grupuri putându-se face prin
intermediul unor superporţi.
Principiul de poartă înlătură necesitatea de a prevedea în fiecare nod din reţea
tabele de dirijare complete care să specifice în mod precis ruta către fiecare nod din
fiecare reţea. Tot ceea ce este necesar este ca fiecare nod să aibă tabele de dirijare ce
indică poarta corespunzătoare pentru reţeaua destinatară. În interiorul unei reţele
individuale pachetele pot fi încadrate temporar într-un format cerut de protocolul local.
Singura adresă necesară în format este adresa locală a următorului nod poartă prin care
se va trece.
Una dintre cele mai importante probleme care pot apare în determinarea căii în
reţelele interconectate este aceea a diferenţei de standarde între reţele. Cea mai
importantă problemă din acest punct de vedere este aceea a dimensiunii pachetelor. Se
poate întâmpla ca un pachet mare sosit într-o reţea să fie nevoie să fie divizat în mai
multe pachete. În acest moment apare problema dificilă a reasamblării pachetului la
ieşirea din acea reţea. Dacă în reţeaua respectivă s-a adoptat ca tehnică de dirijare o
rutare fixă, atunci secvenţialitatea pachetelor a fost păstrată, deci nu sunt probleme la
reasamblare. Dacă însă tehnica a fost aceea a unei dirijări adaptive, nu mai poate fi
garantată secvenţialitatea pachetelor şi aici apare dificultatea reasamblării.
De aceea se pot utiliza tehnici care să evite divizarea pachetelor, prin alegerea
unor rute care să nu implică divizarea. Se pot concepe metode de dirijare globală care
să evite reţelele cu limite de lungime a pachetelor. În acest fel se creează o discriminare

29
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__
a pachetelor mari care sunt nevoite să ocolească unele reţele în timp ce pachetele mici
vor fi libere să le utilizeze şi pe acestea.

3.5.1. Rutarea ierarhizată

În cazul reţelelor mari, folosind algoritmii "clasici", tabelele de dirijare ar


deveni foarte mari dacă trebuie să ţină seama de fiecare detaliu privind rutele către toate
nodurile posibil destinatare din reţea. Pentru a se obţine economii în ceea ce priveşte
dimensiunea tabelei de adresare dintr-un nod se poate folosi un sistem de adresare pe
arii sau ierarhizat.
Într-un astfel de sistem mai multe noduri vecine sunt desemnate ca făcând parte
dintr-un grup de noduri. Pentru a circula de la o sursă la o destinaţie din alt grup de
noduri, ruta specificată în tabelele de dirijare din noduri va indica liniile de traversat
pentru a ajunge la grupul destinatar. Numai după intrarea în grupul destinatar tabelele
de dirijare vor specifica calea către nodul destinatar. În felul acesta, tabelele de dirijare
din fiecare nod adresează toate nodurile care fac parte din grup cu rutele de utilizat
pentru a ajunge la ele. Toate celelalte noduri, care fac parte din alte grupuri, vor fi
reprezentate în tabele prin grupul din care fac parte. De exemplu, pentru o reţea cu 100
de noduri, conţinând 5 grupuri a câte 20 de noduri, fiecare tabelă de dirijare dintr-un
nod va avea 23 poziţii (19 noduri locale făcând parte din acelaşi grup cu nodul respectiv
şi 4 grupuri străine), în comparaţie cu 99 de poziţii în cazul în care reţeaua nu ar fi
ierarhizată. Câmpul de adresă din antetul pachetelor poarte fi divizat în două zone, o
zonă de grup şi una de nod.
În figura 3.18 este prezentat un exemplu de rutare ierarhică pe două niveluri
având cinci regiuni. Este prezentat tabelul de rutare în cazul în care s-ar face o rutare
neierarhică, având 17 intrări, precum şi tabelul în cazul utilizării rutării ierarhice, caz în
care este câte o intrare pentru fiecare nod aparţinând grupului şi câte o intrare pentru
fiecare dintre celelalte grupuri. Dirijarea ierarhică a redus dimensiunea tabelelor de la
17 la 7. Aşa cum am prezentat anterior, pentru un număr mai mare de regiuni
dimensiunea tabelelor este redusă proporţional. Există însă şi dezavantaje ale acestei
metode. Se poate întâmpla ca drumul cel mai scurt între două noduri arbitrare să nu fie
cel desemnat prin aceste tabele (în exemplul prezentat în figura 3.27 este cazul
particular al drumului între nodurile 1A şi 5C, pentru care drumul cel mai scurt trece
prin regiunea 2, dar prin rutarea ierarhică tot traficul dintre zona 1 şi zona 5 este dirijat
prin zona 3).

30
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__
destinatie linie numar destinatie numar
1B 2A 2B de salturi linie de salturi

1C 2D 2C 1A - - 1A - -
1A
1B 1B 1 1B 1B 1
1C 1C 1 1C 1C 1
5C
5B 5D 2A 1B 2 2 1B 2
2B 1B 3 3 1C 2
3A 5A 5E 2C 1B 3 4 1C 3
3B
4A 2D 1B 4 5 1C 4
3A 1C 3
3B 1C 2 Tabela in cazul
4B 4C 5 dirijarii ierarhice
4A 1C 3
pentru nodul 1A
4B 1C 4
4C 1C 4
5A 1C 4
5B 1C 5
5C 1B
5 5
5D 1C 6
5E 1C 5

Tabela comleta
pentru nodul 1A
Figura 3.18: Rutare ierarhică

Dezvoltând ideea ierarhizării s-a creat o structură ierarhizată care nu este


conectată complet şi în care nodurile sunt grupate pe zone, iar dintre aceste noduri se
desemnează unul ca fiind supernod (sau nod regional). Nodul regional poate fi un
echipament mai puternic în comparaţie cu nodurile locale din regiune. Fiecare nod local
dintr-un grup este conectat la nodul regional fie prin linie directă, fie prin cel mult alte
două noduri. Într-o ierarhie cu două niveluri, nodurile regionale vor fi interconectate
prin linii de viteză mai mare decât liniile interne din regiuni. În funcţie de numărul de
noduri din regiune se poate ca acestea să fie total conectate. Pentru reţelele foarte mari
se poate crea un al treilea nivel ierarhic. În aceste reţele grupuri de noduri vor fi servite
de hipernoduri. În principiu hipernodurile vor fi total conectate prin linii de mare
viteză.
S-a făcut un studiu asupra unei reţele ierarhizate cu două niveluri ierarhice
conţinând cinci regiuni locale, fiecare compusă din nouă noduri ordinare şi un
supernod. Topologia reţelei este arătată în figura 3.19.

31
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__
Zona locala

Zona locala

Zona locala Retea de nivel


inalt

Zona locala Zona locala

Linii de nivel inalt


Linii intre nivele
Linii de conectare
intre zone
Figura 3.19: Reţea asupra căreia s-a făcut un studiu privind dirijarea ierarhizată

Cele cinci regiuni locale au fost conectate în inel prin linii de conexiuni în inel.
Cele cinci supernoduri au fost conectate prin linii de bandă largă. Metoda de dirijare
urmărea ca traficul între regiunile neadiacente să treacă întotdeauna prin nivelul
superior. Traficul în interiorul unei regiuni nu circulă prin nivelul superior. Traficul
între regiuni locale alăturate se desfăşoară în două variante: fie este transportat de
nivelul superior, fie sunt folosite liniile dintre regiuni. În realizarea metodei s-a avut
drept model telefonia cu comutaţie de circuite. Rutele de pe nivel inferior au fost
desemnate ca rute primare între nodurile din jurul graniţei dintre regiuni. Rutele
secundare au fost desemnate cele prin nivelul superior. Un nod care găsea o rută
primară ocupată transmitea un pachet către cel mai apropiat nod de pe nivelul superior,
în majoritatea cazurilor trecând prin cel puţin un nod inferior. Pentru a se asigura că
pachetul a fost direcţionat spre nodul de nivel superior şi nu a fost deviat spre interior
de către un nod intermediar, s-a luat măsura ca nodul care decidea utilizarea nivelului
superior să marcheze corespunzător pachetul. Nodurile intermediare observau marcajul
de rută de nivel superior şi transmiteau pachetul în consecinţă. Performanţele reţelei
lucrând cu o astfel de metodă s-au dovedit inferioare celor în care s-a folosit o metodă
de dirijare mai simplă.

32

S-ar putea să vă placă și