Cap. 1 Arhitecturi de Reţele de Comunicaţii Şi Arhitectura Internet
Cap. 1 Arhitecturi de Reţele de Comunicaţii Şi Arhitectura Internet
Circuit de date
Legătură 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
Comunicaţie calculator-reţea
Reţea pentru comunicaţii de date
PA - Proces de aplicaţie
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.
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)
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
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
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).
interfață utilizator-rețea
PSDN
SC – subsistem de comunicaţie
7
1.4 MODELUL DE REFERINŢĂ AL INTERCONECTĂRII SISTEMELOR
DESCHISE (OSI-RM)
8
Serviciul N
N+1 Protocol N N+1
N N
N−1 N−1
Serviciul (N−1)
Mediul de transmisiune
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)
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 .
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
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.
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.
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.
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.
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.
T T T
T T T T
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
21
Fig. 1.15 Topologie dublu inel cu varianta de reconfigurare în inel unidirecţional.
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.
Hub
Servere
Hub
Hub
Staţii de lucru
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.
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.1 Pachetul IP
Formatul pachetelor IP este prezentat în figura 2.1.
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.
- 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.
Î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 – – –
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.
Fig. 2.4 Examplu de utilizare a măştii şi de obţinere a adresei de difuzare pentru o reţea de
clasă B.
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
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.
Î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.
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.
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.
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ă.
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.
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.
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.
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.
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ă.
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.
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.
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:
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.
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.
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
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
11 12 13
21 22 23
31 32 33
Figura 3.3: Reţea sub formă de matrice rectangulară regulată
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
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
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.
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
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
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.
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.
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.
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.
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.
Î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 E nodul H
nodul F nodul G
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.
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.
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ă.
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ă.
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%
Ruta primara
ponderea 3
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.
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.
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.
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 )
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.
21
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__
[Link]. Metoda excesului de capacitate
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]
24
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__
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.
26
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__
[Link]. Algoritmul de rutare "delta"
A 2 B
27
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__
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
__________________________________________________________________________
__
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.
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ă
31
Rutarea în reţelele cu comutare de pachete
__________________________________________________________________________
__
Zona locala
Zona locala
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