Sunteți pe pagina 1din 24

CAP 2.

NIVELUL REEA


n cadrul acestui capitol se trec n revist cele mai importante protocoale asociate nivelului
reea din stiva de protocoale TCP/IP. Protocoalele analizate sunt urmtoarele:
Protocolul Internet IP (Internet Protocol),
Protocoale de rutare RIP (Routing Information Protocol), IGRP (Inter-
Gateway Routing Protocol),
Protocolul de rezoluie 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 reea (cunoscut de asemenea sub numele de nivel
internet) ofer servicii protocoalelor de nivel transport, implementnd funcii, cum ar fi:
Rutarea i livrarea pachetelor (datagrame) n cadrul reelelor de
comunicaii care formeaz Internetul,
Adresarea datagramelor,
Configurarea dinamic a adreselor,
Stabilirea corespondenei dintre adresele de nivel reea i adresele de
nivel interfa reea (corespunztor nivelului legtur 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 reelelor fizice de nivel
inferior prin crearea unei reele virtuale care opereaz la o scal mult mai mare.
IP este un protocol nefiabil, fr a nsemna ns o calitate sczut a acestuia, de tipul best
effort, iar livrarea pachetelor se realizeaz ntr-un mod fr conexiune. Apelativul best
effort se refer la faptul c pachetele transmise de ctre IP pot fi pierdute, pot sosi n alt
ordine dect cea de la transmisie sau chiar pot fi recepionate 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 fr conexiune la vivelul reea este pentru a
minimiza dependena de anumite centre de calcul utilizate n reelele ierarhice orientate pe
conexiune. Departamentul de aprare al Statelor Unite (DOD Department of Defense) a
creat n anii 70 o reea (ARPANET) capabil s funcioneze chiar i n cazul n care anumite
zone ale sale au fost distruse. Aceast soluie s-a dovedit a fi valid i pentru Internet.
IP este un protocol rutat, ceea ce nseamn c alte protocoale de nivel reea vor efectua
rutarea pachetelor IP. IP implementeaz funcii, 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, fr a se stabili vreo relaie cu alte pachete. Segmentarea pachetelor de ctre
surs, precum i reasamblarea acestora la destinaie sunt operaii necesare pentru a respecta
dimensiunea cadrului impus de ctre protocolul utilizat la nivelul legtur de date, specific
fiecrui tip de reea fizic.



2. Nivelul Reea 2
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 bii, lungime corespunztoare procesoarelor
ARPANET iniiale. n continuare se va prezenta semnificaia cmpurilor 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 msurat n cuvinte de 32 bii. Lungimea
minim a antetului corespunde cazului cnd acesta nu conine cmpul opiuni i este 5 (20
octei).
- Tipul serviciului - Arat calitatea serviciului cerut pentru transportul pachetului n reea.
Calitatea serviciului este exprimat prin intermediul a patru parametri: prioritate (precedence),
ntrziere, eficien n transmisiune (referitor la debit - throughput) i fiabilitate. Acest cmp
poate influena ruterele n alegerea unei ci spre destinaie dar, aa cum s-a mai menionat,
protocolul IP nu garanteaz calitatea cerut pentru transportul datelor.
- Lungimea total - Acest cmp specific lungimea total a pachetului, msurat n octei,
incluznd att antetul ct 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 reeaua spre
destinaie. Dar fiecare tip de reea impune o anumit limit superioar pentru lungimea
cadrului. Spre exemplu, reeaua Ethernet limiteaz cadrul la 1500 octei de date, unele reele
publice de date limiteaz cadrul la 128 octei etc. Limitarea dimensiunii pachetelor la cea mai
mic limit superioar admis n reea ar face transmisiunea ineficient. Din aceast cauz
protocolul IP las sursei latitudinea s aleag dimensiunea pachetului corespunztor
constrngerilor impuse de legtura de date la care ea este conectat, iar o divizare a fiecrui
pachet n fragmente se realizeaz n ruter atunci cnd urmeaz s traverseze o reea care
admite dimensiuni mai mici. Reasamblarea pachetelor se face la destinaie. Fiecare fragment
are acelai format ca i un pachet complet.
Cmpul "Identificare" conine un numr care identific pachetul. Cnd un ruter
fragmenteaz un pachet cmpul Identificare trebuie copiat n antetul fiecrui fragment. n
felul acesta la destinaie se poate ti, innd seama i de adresa sursei, crui pachet aparine
fiecare fragment.
Cmpul "Decalajul fragmentului" (Fragment offset) indic, pentru fiecare fragment,
numrul grupurilor de cte 8 octei (octeii din antet nu sunt considerai) coninui n
Arhitectura Reelelor i Internet 3
fragmentele deja transmise, din cadrul pachetului curent. Dac fragmentul n cauz este
primul sau singurul, acest cmp ia valoarea 0.
Prin cei trei bii din cmpul "Fanioane" (Flags) se poate semnala interdicia de
fragmentare a pachetului (cnd sursa impune aceast restricie) i dac, n cazul unui
fragment, este sau nu ultimul din pachet. Acest cmp conine 3 bii fanioane de control,
prezentai n figura 2.2.

Fig. 2.2 Fanioanele pachetului IP.

Cei trei bii au urmatoarele semnificaii:
0: Rezervat. Ia ntotdeauna valoarea 0.
Indicator al posibilitii 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 continuitii fragmentrii 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 meninerii n via (TTL Time to live) arat ct timp, n secunde, i se permite unui
pachet s rmn n reea. Teoretic, fiecare ruter care prelucreaz acest pachet ar trebui s
scad timpul su de prelucrare din valoarea coninut n acest cmp. n practic, un ruter
prelucreaz fiecare datagram n mai puin de o secund. Astfel, echipamentele de
interconectare (ruterele) scad valoare acestui cmp cu o unitate atunci cnd redirecteaz
pachetul. Prin urmare, cmpul TTL devine mai mult un contor al nodurilor intermediare dect
o metric de timp. n plus, n cazurile n care ruterele sunt suprasolicitai i prelucreaz cu
ntrziere pachetele, se face o decrementare suplimentar corespunztoare timpului de
ateptare. Cnd mrimea nscris n acest cmp ajunge la zero ruterul elimin pachetul i
transmite ctre surs un mesaj de eroare. Limitarea timpului de supravieuire n reea evit
circulaia la nesfrit a pachetelor (cauzat de obicei de existena unei bucle n cadrul reelei).
Valoarea iniial trebuie stabilit de ctre protocolul de nivel superior care genereaz
coninutul datagramei.
- Protocol - Identific protocolul de nivel superior (transport: TCP sau UDP) asociat
pachetului. Pentru protocolul TCP identificatorul este 6 iar pentru UDP este 17.
- Secvena de verificare a antetului - Permite verificarea corectitudinii (integritii) valorilor
din antet. Acest cmp este determinat prin prelucrarea antetului, considerat ca o succesiune de
ntregi, fiecare alctuit din 16 bii. Fiecare ruter calculeaz secvena de verificare i o compar
cu cea din antet. Dac valoarea sumei de verificare din antet nu corespunde cu coninutul
datagramei, atunci aceasta este eliminat din reea.
- Cmpurile de adrese - Conin adresele de reea (IP) de cte 32 bii fiecare, a sistemului
surs i a sistemului destinaie. Aceste cmpuri nu sunt modificate la trecerea pachetelor prin
rutere.
- Opiuni - Are o lungime variabil (maximum 40 octei) i este rezervat pentru a introduce
unele funciuni de control privind rutarea, securitatea reelei i altele. n acest cmp pot fi
introduse mai multe opiuni. Fiecare opiune este specificat printr-un cod de opt bii ce poate
fi urmat de un octet care indic lungimea i de mai muli octei de date pentru respectiva
opiune. Pentru ca acest cmp s aib dimensiunea egal cu un multiplu de 4 octei se folosesc
bii de completare.
2. Nivelul Reea 4
- Cmpul datelor - Are o lungime variabil, dar un numr ntreg de octei. Limitele pentru
dimensiunea unui pachet, inclusiv antetul, sunt 576 octei minimum i 65.535 octei
maximum.

2.1.2 Adresarea IP (versiunea 4 a protocolului IP - IPv4)
Adresele IP constau n valori fr semn reprezentate cu 32 de bii folosite pentru
identificarea unui singur sistem n Internet. Mai exact, o adres IP identific o interfa
capabil s trensmit i s recepioneze datagrame IP. Cei 32 de biti ai adresei IP se scriu sub
forma a 4 octei, fiecare dintre octei putnd fi scris sub forma unui numr zecimal lund
valori intre 0 si 255, in forma p.q.r.s. Un exemplu de adres scris n forma zecimal este
141.85.254.53. Aceasta notatie se numeste dotted quad. Formatul general al adresei IPv4 de
32 de bii este reprezentat n figura 2.3.


Fig. 2.3 Formatul general al adresei IPv4.

n funcie de domeniul n care se afl primul octet (p), mai exact primii 4 bii, exist mai
multe clase de adrese, notate A, B, C, D, etc. Aceti bii specific delimitarea cmpurilor
identificatorilor de reea i de sistem (host). Identificatorul de reea specific reeaua din care
face parte sistemul (surs sau destinaie), iar identificatorul de sistem specific un sistem
particular din aceast reea. Clasele se difereniaz prin dimensiunea prilor din adres care
specific reeaua i hostul i sunt prezentate n tabelul 2.1.

Tab. 2.1. Clasele de adrese IPv4.

La adresele de clasa A primul octet specific reeaua, i restul de trei octei specific
sistemul. De aici rezult c pot exista doar 126 de reele (nu se utilizeaz reelele cu primul
octet 0 i 127) cu adresa de clasa A, iar aceste reele pot avea fiecare 2
24
2= 16.777.214
sisteme (24 de bii pentru identificatorul de sistem). Numrul total de sisteme din toate
reelele de clas A este de peste 2 miliarde. Deci, adresele de clasa A nu se aloca dect pentru
retele foarte mari.
Adresele din clasa B au primii doi bii 10 i dintre ceilali, 14 bii sunt ai identificatorului
de reea, iar 16 bii ai identificatorului de sistem. n concluzie, pot exista pn la 2
14
(16.384)
reele, fiecare cu pn la 2
16
2 (65.534) sisteme, cu un total de peste 1 miliard de adrese.
Adresele din clasa C au primii trei bii 110 i dintre ceilali, 21 bii sunt ai identificatorului
de reea, iar 8 bii ai identificatorului de sistem. n concluzie, pot exista pn la 2
21

(2.097.152) reele, fiecare cu pn la 2
8
2 = 254 sisteme, cu un total de peste jumtate de
miliard de adrese.
Adresele din clasa D au primii patru bii 1110 i sunt utilizate pentru difuzarea mesajelor
de la un sistem ctre un grup de sisteme din reeaua global (numai ctre sisteme care
Clasa

Primul
octet
Tip adres
(primii
bii)
Reea Host Nr. max.
de hosturi
Masca implicit
A 1 126 0 p q.r.s 16777214 255.0.0.0
B 128 191 10 p.q r.s 65534 255.255.0.0
C 192 223 110 p.q.r s 254 255.255.255.0
D 224 239 1110 p.q.r.s
E 240 247 11110 p.q.r.s
Arhitectura Reelelor i Internet 5
utilizeaz aceeai 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 aceluiai productor (vezi ruterele i switch-urile
CISCO).
Adresele de clas E sunt rezervate pentru viitoare modificri sau pentru scopuri
experimentale.
O adres de clas A este potrivit pentru reele cu un numr extrem de mare de sisteme, iar
la polul opus adresele de clas C sunt indicate pentru reele cu numr mic de sisteme. Prin
urmare, reelele de dimensiuni medii (cele cu mai mult de 254 de sisteme sau cele pentru care
se ateapt s depeasc 254 de staii) trebuie s se utilizeze adrese de clas B.

2.1.2.1 Adresele IP rezervate
Pentru toate aceste clase, se elimin ntotdeauna, att la identificatorul de reea ct i la
identificatorul de sistem, secvena cu toi biii 1 i cea cu toi biii 0 (de aceea se scade 2 din
numrul maxim de valori zecimale ale secvenei de n bii, 2
n
). Aceste dou secvene au o
semnificaie aparte i nu sunt folosite pentru a defini adrese de sisteme, ci dup cum se va
arta ulterior, ele desemneaz masca, respectiv adresa ntregii reele din clasa respectiv.
Un alt tip de adres utilizat pentru o funcie special este adresa de bucl local (loopback).
Spre exemplu, reeaua de clas A 127.0.0.0 este definit ca adres de reea pentru bucle
locale. Adresele din cadrul acestei reele sunt alocate interfeelor care prelucreaz date n
interiorul sistemului local. Aceste interfee pentru bucle locale nu permit accesul n reeaua
fizic.
Masca unei reele este acea secven de 32 bii (de aceeai lungime cu adresele) care are
bii cu valoarea 1 pe toate poziiile corespunztoare identificatorului de reea i bii cu
valoarea 0 pe toate poziiile corespunztoare identificatorului de sistem. Mtile implicite
corespunztoare claselor de adrese A, B i C sunt prezentate n tabelul 2.1. O form
simplificat de scriere a mtii reelei este cea prin care se specific numrul de bii 1 din
componena acesteia. Spre examplu, masca implicit a clasei B se poate nota ca /16
deoarece aceasta conine bii 1 pentru selectarea primilor doi octei ai adreselor. Formele
simplificate ale mtilor implicite sunt de asemenea prezentate n tabelul 2.1. Mtile sunt
utilizate n fiecare ruter pentru luarea deciziei asupra interfeei de reea a ruterului pe care se
va redirecta datagrama IP ce conine adresa destinaie. Masca permite selectarea
identificatorului de reea dintr-o anumit adres. Identificarea reelei pentru rutarea unei
datagramei se va face pe baza operaiei binare I (AND) la nivelul biilor de pe o anumit
poziie a adresei IP citit din datagram i poziia corespunztoare din masc. Un exemplu de
utilizare a mtii pentru o adres de clas B este prezentat mai jos, n exemplul 2.1.
Adresele de difuzare (broadcast) pentru o anumit reea sunt acele adrese care au bii cu
valoarea 1 pe toate poziiile corespunztoare identificatorului de sistem, iar identificatorul de
reea specific domeniul n care se va face difuzarea. Adresa de broadcast care are toi biii 1
(deci i cei ai identificatorului de reea) este adresa global de broadcast n Internet,
255.255.255.255. Exemplul 2.1 ilustreaz modul creare a adresei de difuzare pentru o reea de
clas B.






2. Nivelul Reea 6
Exempul 2.1. Exemplu de utilizare a mtii i adresele de difuzare. Se consider adresa de
clas B, 141.85.58.3 care are masca de reea implicit 255.255.0.0. Atunci operaia de
mascare a adresei este urmtoarea prezentat n figura 2.4.



Fig. 2.4 Examplu de utilizare a mtii i de obinere a adresei de difuzare pentru o reea de
clas B.

2.1.2.2 Crearea de subreele (subneting)
Datorit creterii explozive a Internet-ului, principiul de alocare a adreselor IP a devenit
prea inflexibil pentru a permite modificri facile ale configuraiilor reelelor locale. Aceste
modificri pot surveni n urmtoarele situaii: cnd se instaleaz ntr-o anumit locaie o nou
reea fizic, cnd creterea numrului de staii impune divizarea reelei locale n dou sau mai
multe reele distincte sau atunci cnd creterea distanei necesit divizarea unei reele n mai
multe reele de arie mai mic separate cu rutere.
Pentru a evita utilizarea unor adrese IP suplimentare s-a introdus o nou form de divizare
a reelelor din fiecare clas n subreele (IP subnetting). Alocarea subreelelor este efectuat
local. Totui, ntreaga reea este vzut din exterior ca o singur reea IP.
Exist dou metode de divizare n subreele: static i de dimensiune variabil. Evident,
divizarea n subreele de dimensiuni variabile ofer o flexibilitate mai mare n gestionarea
spaiului de adrese.
O subreea a unei reele se construiete prin mprumutarea unei secvene de bii din
identificatorul de sistem, obinndu-se astfel un identificator suplimentar al subreelei. Deci,
un sistem face parte dintr-o subreea, care la rndul ei face parte dintr-o reea (fiecare dintre
cele trei avnd identificatorul su). Formatul adresei de reea divizat n subreele este
reprezentat n figura 2.5.



Fig. 2.5 Divizarea reelei n subreele.

Deoarece o subreea se obine prin mprumutarea unui numr de bii din cmpul
identificatorului de sistem, atunci preul pltit pentru crearea subreelei este reducerea
identificatorului de sistem (deci i a numrului maxim de sisteme din fiecare subreea). Spre
exemplu, dac se mprumut a bii pentru subreele atunci numrul de subreele create este de
2
a
2 (se scad cele dou: adresa reelei i masca), iar numrul de sisteme din fiecare subreea
este de 2
Id. sistem a
2. Masca subreelei i adresele de difuzare n subreele au acelai rol ca i
n cazul reelelor clasificate.




Arhitectura Reelelor i Internet 7
2.1.2.2.1 Divizarea static n subreele
Divizarea static presupune ca toate subreelele obinute prin divizarea unei reele s
utilizeze aceeai masc de subreea. Dei aceast metod este simplu de implementat i
administrat, prezint dezavantajul irosirii unui spaiu de adrese considerabil, mai ales in cazul
divizrii unei reele mici. n continuare se prezint un exemplu de divizare a unei reea de
clas B n subreele (prin mprumutarea a 4 bii din cmpul de identificare a sistemului), cu
adresele de difuzare i mtile subreelelor corespunztoare.

Exemplul 2.2. Divizarea n subreele a unei reele de clas B. Se consider reeaua de clas
B, 141.85.0.0 care are masca de reea implicit 255.255.0.0. Operaia de divizare a reelei n
subreele, prin mprumutarea a 4 bii din cmpul de identificare a sistemului este ilustrat n
figura 2.6.

Fig. 2.6 Exemplu de divizare n subreele a unei reele de clas B.

n concluzie, prin divizarea de mai sus s-au obinut 2
4
2 = 14 subreele, fiecare avnd un
numr maxim de 2
12
2 = 4094 sisteme. Dac se consider o subreea cu un efectiv de numai
4 sisteme se vor pierde 4090 de adrese IP.

2.1.2.2.2 Divizarea n subreele de dimensiuni variabile
Dac se utilizeaz divizarea n subreele de dimensiuni variabile sau cu mti de subreea
de lungime diferit, VLSM (variable length subnet masks), atunci subreelele obinute prin
divizarea unei reele pot utiliza mti diferite. O subreea mic cu numai cteva sisteme poate
utiliza o masc aleas convenabil. O subreea cu multe staii necesit o masc diferit de cea a
subreelei mici. Posibilitatea alocrii mtilor subreelelor n funcie de necesitile acestora
permite conservarea spaiului de adrese de reea. Cu VLSM se divide reeaua astfel nct
fiecare subreea s conin un numr suficient de adrese pentru deservirea staiilor din
componen. O subreea existent poate fi divizat mai departe n dou pri prin adugarea
unui nou bit la masca subreelei. Celelalte subreele din reea nu vor fi afectate de aceast
schimbare. Exemplul 2.3 prezint procedura de divizare n subreele de dimensiuni variabile
pentru o reea de clas B.

Exemplul 2.3. Divizarea n subreele de dimensiuni variabile pentru o reea de clas B.
S considerm o firm creia i s-a alocat reeaua de clas B 141.85.0.0/16. Din anumite
considerente, n cadrul firmei este necesar divizarea spaiului de adrese alocat n cinci reele
separate, fiecare cu urmtorul efectiv de sisteme: subreelele 1, 2, 3, 4 i 5 - 6000 de staii
fiecare, iar subreelele 6 i 7 - 4000 de staii fiecare. Aceste cerine nu pot fi satisfcute printr-
o divizare static. Spre exemplu, cu o divizare static se pot obine 6 subreele cu 8190 staii
fiecare sau 14 subreele cu 4094 staii fiecare. Nici una dintre cele dou soluii menionate
anterior nu satisface cerinele iniiale. Pentru a diviza reeaua n apte subreele este necesar
definirea unor mti multiple. Utilizarea mtii 255.255.224.0 (sau /19) permite divizarea
2. Nivelul Reea 8
reelei n 6 subreele de 8190 staii fiecare. Cea de a asea subreea poate fi divizat mai
departe n dou subreele cu 4094 staii fiecare prin utilizarea mtii 255.255.240.0 (sau
/19). Astfel, rezult cinci subreele cu 8190 staii fiecare i dou subreele cu 4094 staii
fiecare. Aceast soluie satisface cerinele impuse i elimin posibilitatea existenei unui
numr mare de adrese irosite. Subreelele rezultate n urma acestei divizri sunt prezentate n
figure 2.7.

Fig. 2.7 Exemplu de divizare a unei reele de clas B n subreele de dimensiuni variabile.

2.1.3 Intrareele: Adrese IP private
O procedur utilizat pentru a conserva spaiul de adrese este de a relaxa regula conform
creia adresele IP trebuie s fie unice la nivel global. Astfel, o parte din spaiul de adrese
global este rezervat pentru reele care nu sunt conectate la Internet. De obicei, aceste reele
sunt administrate de o singur organizaie. Trei mulimi de adrese au fost rezervate pentru
acest scop:
- 10.0.0.0: o singur reea de clas A,
- de la 172.16.0.0 la 172.31.0.0: 16 reele consecutive de clas B,
- de la 192.168.0.0 la 192.168.255.0: 256 reele consecutive de clas C.
Orice organizaie poate folosi oricare adres din aceste trei mulimi. Totui, deoarece
aceste adrese nu sunt unice la nivel global, nu sunt definite la nici unul dintre ruterele externe.
Ruterele din reelele care nu utilizeaz adrese private, n particular, cele operate de furnizori
de servicii Internet, vor elimina tacit (fr mesaje ICMP) toat informaia de rutare cu privire
la aceste adrese.
Ruterele din cadrul domeniului unei organizaii care folosete adrese private vor limita
accesul referinelor la adresele private la nivelul unor legturi interne. De asemenea, acetia
nu vor anuna n exterior rute ctre adrese private i nici nu vor redirecta datagrame IP
coninnd adrese private ctre ruterele externe.
Staiile care au doar o adres IP privat nu vor avea acces direct, prin intermediul nivelului
IP, la Internet. Toate legturile cu sistemele externe din Internet se pot oferi numai prin
intermediul unor pasarele de nivel aplicaie (application gateways). Un exemplu de astfel de
pasarele este prezentat n paragraful urmtor dedicat translatrii adreselor de reea NAT
(Network Address Translation).



Arhitectura Reelelor i Internet 9
2.1.4 Translatarea adreselor de reea (NAT)
n cadrul acestei seciuni se prezint metoda tradiional de translatare a adreselor de
reea NAT (Network Address Translation), NAT de baz (basic NAT), precum i metoda de
translatare a adreselor de reea 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. Iniial, NAT a fost propus ca o soluie temporar la problema epuizrii adreselor IP.
De asemenea, multe organizaii au utilizat pn la acel moment adrese IP alocate local, fr a
avea nevoie de o conexiune la Internet.
Exist dou versiuni ale NAT tradiional: NAT de baz i NAPT, care sunt prezentate n
paragrafele urmtoare.

2.1.4.1 NAT Tradiional
Ideea metodei NAT tradiionale (notat n continuare, simplu, NAT) se bazeaz pe ideea c
numai un numr mic de staii dintr-o reea privat necesit s comunice cu exteriorul reelei.
Dac fiecrei staii i se aloc o adres IP dintr-o list oficial de adrese disponibile (n
englez, adress pool) numai atunci cnd staia solicit accesul n exterior, atunci este necesar
numai un numr relativ mic de adrese oficiale. NAT pare s fie o soluie fiabil pentru reele
care dein cteva intervale de adrese private sau neoficiale i solicit stabilirea unei
comunicaii cu sisteme din Internet. Atunci cnd nu sunt disponibile sau nu ndeplinesc
cerinele specifice, soluii gen server proxy, server SOCKS sau firewall, NAT poate fi
utilizat pentru a administra traficul dintre reeaua intern i cea extern fr a anuna n
exterior adresele staiilor din interiorul reelei.

2.1.4.2 NAT de baz
S considerm o reea intern bazat pe un spaiu de adrese IP private, iar utilizatorii
solicit folosirea unui protocol aplicaie pentru care nu exist o pasarel de nivel aplicaie
disponibil. n acest caz, singura opiune disponibil este s se stabileasc o conectivitate de
nivel IP ntre sistemele din reeaua intern i sistemele din Internet.

Fig. 2.8 Translatarea de baz adreselor de reea (basic NAT).

2. Nivelul Reea 10
Datorit faptului c ruterele din Internet nu vor cunoate cum s ruteze pachetele IP napoi
la o adres IP privat, este inutil transmiterea pachetelor IP, cu cmpul de adres surs
specificnd o adres privat, printr-un ruter n Internet. Aa cum este ilustrat n figura 2.8,
NAT de baz schimb n mod dinamic adresa IP dintr-un pachet care iese din reeaua intern
cu o adres global alocat oficial. Pentru pachetele care se propag pe sensul de intrare n
reeaua 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
reeaua intern i cellalt aflat n reeaua extern, NAT este transparent.

2.1.4.2.1 Mecanismul de translatare NAT de baz
Pentru fiecare pachet care iese din reeaua 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 conine adresele pe care NAT le poate utiliza pentru translatare. Pe de alt parte,
pentru fiecare pachet de intrare n reeaua intern, adresa destinaie este verificat pentru o
eventual utilizare de ctre NAT. Dac se gsete o coresponden NAT atunci adresa
destinaie este schimbat cu adresa intern original.
Adresele alocate trebuie rezervate prin scrierea ntr-o list n vederea utilizrii lor dup
necesiti. n cazul n care se iniiaz o transmisie din reeaua intern, atunci NAT doar
selecteaz urmtoarea adres public disponibil din tabela NAT i o asociaz sistemului
intern emitent. Serviciul NAT urmrete continuu asocierile fcute ntre adresele IP interne i
adresele IP externe, astfel nct n cazul n care este nevoie s poat stabili o coresponden
ntre un rspuns recepionat din reeaua extern i adresa IP intern corespunztoare (vezi
figura 2.8).
Atunci cnd 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 prevzut nici un mecanism prin care serviciul NAT s poat determina
momentul n care asocierea fcut 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 obin din
antetul TCP un raport asupra strii conexiunii (cel puin dac conexiunea s-a ncheiat sau nu),
n timp ce UDP nu poate furniza o astfel de informaie. Prin urmare, n acest caz este necesar
configurarea unui interval de timp maxim n care NAT s menin 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 reelei trebuie s specifice NAT dac toate staiile interne au
dreptul de a utiliza NAT sau nu. Acest lucru se realizeaz prin configurarea corespunztoare a
NAT. Dac sistemele din reeaua extern iniiaz o transmisie ctre sisteme din reeaua
intern, atunci NAT trebuie configurat n prealabil astfel nct 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 legturi din reelele externe ctre un anumit sistem
din reeaua intern. Trebuie menionat 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
conine o coresponden de nume pentru un server de pot electronic care ruleaz pe o
main din reeaua intern. n acest caz, serverul extern de nume rezolv numele sistemului
public al serverului intern de pot electronic cu o adres asociat static (adresa extern), iar
serverul extern de pot va trimite cererea de conexiune ctre acest adres IP. Atunci cnd
cererea ajunge la serviciul NAT pe interfaa extern, acesta citete lista de reguli de asociere
pentru a decide dac conine o asociere static ntre adresa public IP extern specificat i o
Arhitectura Reelelor i Internet 11
adres IP intern. Dac exist o astfel de asociere, atunci NAT translateaz adresa IP i
redirecteaz pachetul IP n reeaua intern ctre serverul de pot electronic.

2.1.4.3 Translatarea adreselor de reea i a porturilor NAPT
Diferena 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). Aa cum este ilustrat n figura 2.9, NAPT poate translata mai multe adrese de reea i
identificatorii lor de nivel transport ntr-o singur adres de reea cu mai muli identificatori
de nivel transport (cu mai multe porturi).


Fig. 2.9 Translatarea adreselor de reea i a porturilor NAPT.

NAPT poate asocia mai multe adrese private unei singure adrese globale. Astfel, se
realizeaz o legtur ntre adresa privat cu portul privat i adresa extern i portul extern,
asociate.
NAPT permite mai multor noduri dintr-o reea local s acceseze simultan reele externe
folosind o singur adres IP asociat ruterului acestora.

2.1.5.4 Limitrile NAT
S-a constatat c NAT funcioneaz bine pentru adresele IP aflate n antetul datagramelor
IP. Unele protocoale de nivel aplicaie i transmit ntre ele informaia legat de adresele IP n
cmpul de date al pachetelor IP, iar NAT n general nu este capabil s efectueze translatarea
adreselor IP utilizate de protocolul aplicaie. Trebuie menionat c implementarea NAT pentru
o anumit aplicaie care utilizeaz informaia IP n datele de aplicaie este mult mai
complicat dect implementrile 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 corespunztoare a adreselor.

2.1.6 Rutarea intre domenii fr clase (CIDR)
Rutarea IP clasic utilizeaz numai adresele de reea din clasele A, B i C. n fiecare dintre
aceste reele se poate utiliza divizarea n subreele pentru o mai bun granularitate. Totui, nu
exist nici o posibilitate de a stabili o anumit relaie ntre mai multe reele de clas C, spre
exemplu. Consecina acestor neajunsuri poart numele de problem a explodrii tabelei de
rutare. Spre exemplu, o reea de clas B de 3000 de sisteme necesit o singur intrare n
tabela de rutare la fiecare dintre ruterele de magistral (backbone routers). Dac acelai
domeniu este adresat ca o mulime de reele de clas C, atunci este nevoie de 16 intrri n
2. Nivelul Reea 12
tabela de rutare. Soluia la aceast problem este rutarea ntre domenii fr clase de adrese
CIDR (Classless Inter-Domain Routing).
CIDR nu efectueaz rutarea dup clasa din care face parte reeaua (de aceea se numete
fr clase). Aceast metod se bazeaz numai pe biii cei mai semnificativi ai adresei de reea,
care constituie prefixul IP.
Fiecare locaie din tabela de rutare CIDR conine o adres de 32 de bii i o masc de reea
de 32 de bii, care mpreun permit identificarea lungimii i a valorii prefixului IP. Aceast
locaie este reprezentat ca o structur <adres_IP masc_reea>. Spre exemplu, pentru a
adresa un grup de 8 adrese de clas C cu o singur locaie n tabela de rutare este suficient
urmtoarea reprezentare: <192.32.136.0 255.255.248.0>. Aceast informaie face referire la
domeniul de reele de clas C, n ordine, de la 192.32.136.0 pn la 192.32.143.0, care este
vzut ca o singur reea. Acest exemplu este ilustrat n figura 2.10.



Fig. 2.10 Exemplu de rutare ntre domenii fr clase, CIDR.

Aceast metod de combinare a mai multor reele ntr-o singur structur de rutare poart
numele de super-divizare n subreele (supernetting). Rutarea CIDR se efectueaz pe baza
unor mti de reea care sunt mai scurte dect mtile de reea obinuite pentru o adres IP.
Aceast metod este total opus divizrii n subreele.

2.2 PROTOCOLUL DE MESAJE DE CONTROL PENTRU INTERNET (ICMP)
Aa cum s-a menionat, protocolul IP furnizeaz un serviciu fr conexiune. Fiecare pachet
trece din ruter n ruter pentru a ajunge de la sistemul surs la sistemul destinaie. Protocolul IP
nu garanteaz livrarea fiecrui pachet la destinaie dar utilizeaz un mecanism (protocol) care
permite oricrui ruter s semnaleze sistemului surs o situaie anormal aprut n rutarea
unui pachet. Acelai mecanism poate fi folosit de un sistem pentru a testa dac un alt sistem
este accesibil, adic dac exist o rut n funcionare normal pn la acel sistem i dac
sistemul este capabil s recepioneze 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 comunicaia 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 ntmpla ca datagramele s nu fie livrate la destinaie i s nu se raporteze
pierderea acestora. Fiabilitatea transmisiunii se poate crete numai prin implementarea unor
funcii 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 cmpului IP care specific decalajul de fragment.
Arhitectura Reelelor i Internet 13
Mesajele ICMP nu sunt transmise ca rspuns 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 cmpul de date al unui pachet (figura 2.11) care, la
rndul su, este inclus n cmpul de date al unui cadru. n antetul IP numrul 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 avnd formatul su propriu.
Cmpul de date din pachetul IP care conine un mesaj ICMP este ilustrat n figura 2.12.


Fig. 2.12 Formatul mesajului ICMP.

Indiferent ns de tipul mesajului fiecare format ncepe cu aceleai trei cmpuri n antet:

- Tipul mesajului Acest cmp poate lua una dintre urmtoarele valori (8 bii), n
funcie de tipul mesajului:
o 0 - Rspuns ecou (Echo reply),
o 3 - Destinaie inaccesibil (Destination unreachable),
o 4 - Oprirea sursei (Source quench),
o 5 - Redirectare,
o 8 - Cerere ecou,
o 9 - Anunarea unui ruter,
o 10 - Solicitarea unui ruter,
o 11 - Depire timp,
o 12 - Problem legat de un parametru,
o 13 - Cerere etichet de timp,
o 14 - Rspuns etichet de timp,
o 17 - Cerere masc de adrese,
o 18 - Rspuns masc de adrese,
o 30 - Descoperire rut (Traceroute),
o 37 - Cerere nume domeniu,
o 38 - Rspuns nume domeniu.

2. Nivelul Reea 14
- Cod - Conine codul erorii pentru datagrama raportat de acest mesaj ICMP.
Interpretarea acestui cmp depinde de tipul mesajului. Acest cmp este format din 8
bii i furnizeaz informaii suplimentare despre tipul mesajului.
- Suma de verificare - Conine suma de verificare (16 bii), folosind acelai algoritm ca
i IP dar verificnd numai mesajul ICMP, ncepnd cu cmpul dedicat tipului
mesajului. Dac valoarea sumei nu coincide cu valoarea calculat la recepie pe baza
coninutului recepionat, atunci datagrama este eliminat.

Cmpul de date al mesajului conine informaia corespunztoare mesajului ICMP curent.
De cele mai multe ori, acest cmp conine o poriune din pachetul IP original, cel pentru care
a fost generat mesajul ICMP curent.
Dou dintre mesajele ICMP, foarte utilizate de administratori de reele i de ctre
utilizatori pentru a verifica existena unei rute funcionale spre o anumit destinaie, sunt
mesajele de cerere ecou (echo request) i rspuns ecou (echo replay). Un sistem de
extremitate sau un ruter poate transmite un mesaj cerere ecou ctre o anumit destinaie.
Sistemul sau ruterul de destinaie care recepioneaz acest mesaj rspunde prin mesajul
rspuns ecou transmis ctre surs. Cererea conine un cmp de date opionale. Rspunsul va
conine o copie a acestor date. n felul acesta se poate verifica dac o anumit destinaie este
accesibil i rspunde. Totodat este verificat i o parte din reea.
Un alt tip de mesaj ICMP, numit destinaie inaccesibil (destination unreachable) este
transmis de un ruter ctre surs atunci cnd acesta nu poate trece mai departe un pachet, spre
un alt ruter sau direct spre sistemul de destinaie. Dac acest mesaj este recepionat de ctre
sistemul destinaie nseamn fie c protocolul specificat n cmpul de numr 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
suprancrcare a receptorului sau a sistemelor intermediare. Dac acest mesaj este recepionat
de la un ruter intermediar, nseamn c ruterul nu a mai avut spaiu de memorie disponibil
pentru a salva datagrama. Dac acest mesaj e recepionat de la sistemul destinatar nseamn c
datagramele recepionate de acesta sosesc cu o vitez mult prea mare pentru a fi procesate n
timp real.
Mesajul de redirectare este utilizat pentru a anuna sursa s redirecteze pachetele pe o rut
mai bun. Dac acest mesaj e recepionat de la un ruter intermediar nseamn c sistemul
surs ar trebui s trimit urmtoarele datagrame ctre ruterul a crui adres IP este specificat
n mesajul ICMP. Acest ruter preferat va fi ntotdeauna aflat n aceeai subreea cu sistemul
emitent al datagramei i ruterul care a returnat datagrama. Ruterul redirecteaz datagrama
ctre urmtorul ruter spre destinaie. Mesajul nu va fi transmis dac datagrama IP conine o
rut ctre surs (pentru rutarea prin surs).
Mesajele Anunare 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
subreelele pentru care lucreaz. Aceste anunuri se transmit cu adresa de destinaie multicast
(224.0.0.1) sau cu adresa de difuzare limitat (255.255.255.255). Funcionarea implicit
presupune transmiterea anunurilor la fiecare 10 minute cu o valoare a TTL de 1800 (30
minute). Mesajele ICMP Anunare ruter i Cerere ruter conin un cmp TTL care este diferit
de cmpul TTL din pachetul IP. Ali ruteri vor rspunde mesajelor de solicitare pe care le
primesc. Acetia pot rspunde direct staiei solicitante sau pot atepta un scurt interval aleator
de timp i s rspund prin multicast.
Sistemele pot trimite, la rndul lor, mesaje de solicitare. Mesajele de solicitare sunt
transmise tuturor ruterilor cu adresa multicast (224.0.0.2) sau cu adresa de difuzare limitat
(255.255.255.255). Uzual, se transmit trei mesaje de solicitare la fiecare interval de 3 secunde.
De asemenea, un sistem poate atepta anunuri periodice din reea. Sistemul fixeaz valoarea
Arhitectura Reelelor i Internet 15
temporizatorului TTL pentru actualizare cu valoarea din anun. Atunci cnd primete 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. Acetia trimit anunuri
cu o valoare zero pentru TTL.
Un alt mesaj ICMP este cel de Expirare timp. Dac acest mesaj este recepionat de la un
ruter intermediar nseamn c valoarea din cmpul TTL a unui pachet IP a ajuns la zero. Dac
mesajul este recepionat de la un sistem de destinaie nseamn c timpul TTL dintr-un
fragment IP a expirat n timpul reasamblrii, datorit ntrzierii unui fragment.
Mesajul Problem cu parametrii indic producerea unei erori n timpul prelucrrii
parametrilor din antetul IP. Acest mesaj conine un pointer care indic octetul din pachetul IP
original unde s-a produs problema.
Mesajele Cerere etichet de timp i Rspuns etichet de timp sunt utilizate pentru depanare
i msurare a performanelor. Acestea nu sunt utilizate pentru sincronizarea de ceas.
Transmitorul iniializez identificatorul i numrul de secven (care se utilizeaz n cazul n
care sunt transmite mai multe etichete de timp), stabilete eticheta iniial de timp i transmite
pachetul ctre destinaie. Staie destinaie actualizeaz etichetele de timp asociate recepiei i
transmisiei, modific tipul etichetei de timp din cerere n rspuns i o returneaz staiei surs.
Pachetul conine dou etichete de timp dac exist o diferen semnificativ de timp ntre
timpul de recepie i timpul de emisie. n practic, cele mai multe implementri efectueaz
ambele operaii (recepia i rspunsul) ntr-un singur pas. n acest caz ambele etichete de timp
sunt setate cu aceeai valoare.
Mesajele Cerere de masc de adrese i Rspuns cu masc de adrese. Cererea de masc de
adrese este utilizat de ctre un sistem pentru a determina masca subreelei folosit n cadrul
unei reele asociate. Cele mai multe sisteme sunt configurate cu masca (sau mtile) de
subreea asociat. Totui, unele sisteme, cum ar fi staiile de lucru fr disc, trebuie s obin
aceast informaie de la server. Un sistem folosete protocolul RARP (Reverse Address
Resolution Protocol) pentru a obine adresa sa IP. Pentru a obine masca de subreea, sistemul
transmite prin difuzare cererea de masc de adres. Oricare sistem din reea care a fost
configurat s rspund la cererile de masc a adreselor va completa n cerere masca de
subreea, va converti pachetul ntr-un rspuns cu masca de adrese i l va returna staiei
solicitante.
Mai exist i alte mesaje ICMP pentru semnalizarea unor situaii de congestie (atunci cnd
un ruter este prea ncrcat pentru a prelucra un nou pachet, care din acest motiv va fi pierdut),
semnalizarea unei rutri ciclice (o rut infinit, propagare n bucl), etc.

2.4 PROTOCOLUL DE REZOLUIE A ADRESELOR (ARP)
Protocoalele de rutare sunt responsabile pentru modul n care o datagram IP ajunge n
reeaua fizic creia i este destinat, dar o alt procedur este necesar pentru modul n care o
datagram ajunge la sistemul sau ruterul din acea reea.
Principala problem o constituie faptul c datagramele IP conin adrese globale logice, de
nivel trei, dar interfaa fizic hardware aflat n sistemul destinaie sau n ruterul destinaie nu
utilizeaz dect schema de adresare local a acelei reele. Astfel, este nevoie s se efectueze
translatarea adresei IP ntr-o adres de nivel legtur de date care este neleas de interfeele
din aceast reea.
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 128.96.33.81. Dei aceast soluie a fost adoptat pentru unele reele, ea prezint
totui limitri din cauza faptului c adresa fizic nu poate fi mai mare de 16 bii n acest exemplu
(clasa B); pentru reelele de clas C nu poate depi 8 bii. Aceast metod nu funcioneaz pentru
2. Nivelul Reea 16
adresele Ethernet pe 48 de bii. O soluie mai general poate fi aceea ca fiecare sistem s menin
o tabel de perechi de adrese, care s mapeze adresele IP pe cele fizice. Aceast tabel poate fi
meninut de un administrator de sistem i trimis fiecrui sistem din reea sau poate fi o tabel
dinamic instalat pe fiecare sistem care s fie actualizat din reea.
Toate aceste probleme se pot rezolva cu ajutorul protocolului ARP (Address Resoludon Pro-
tocol). Scopul acestui protocol este acela de a permite fiecrui sistem din reea s-i constru-
iasc o tabel de mapri ntre adresele de IP i cele fizice. Acest set de mapri este cunoscut
sub numele de ARP cache sau tabel ARP.
ARP are avantajul c multe tehologii de nivel legturii de date, cum sunt Ethernet sau FDDI,
suport difuzarea pentru transmiterea datelor. Dac un sistem dorete s transmit o datagram IP
ctre un alt sistem aflat n aceeai reea, acesta va verifica n primul rnd tabela ARP. Dac nu
este gsit maparea dorit, sistemul va trebui s invoce protocolul ARP prin reea i va face acest
lucru prin transmiterea unei cereri ARP prin reea. Aceast cerere conine adresa IP dorit. Fiecare
sistem recepioneaz aceast cerere i verific dac se potrivete cu propria adres IP. Dac se
potrivete, sistemul implicat va trimite un mesaj de rspuns care conine adresa de nivel legtur
de date. Sursa cererii va aduga i aceast informaie n propria tabel ARP. Mesajul de cerere
mai include i adresa de nivel legtur de date i cea IP ale sursei cererii. Astfel, atunci cnd
un sistem trimite un astfel de mesaj de difuzare, fiecare sistem din reea l poate aduga n
propria tabel ARP. Totui, nu fiecare sistem realizeaz acest lucru. Dac sistemul are deja
adresa n tabela ARP, acesta va reactualiza aceast informaie, adic va reseta contorul aferent
ei. Sistemul care este destinaia mesajului, va aduga aceast informaie 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 aplicaie la care vor trebui trimise pachete de rspuns. Dac un
sistem nu este destinatar i nici nu are aceast informaie n propria tabel, el nu trebuie neaprat
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-ctre-Ethernet. De fapt, ARP poate fi utilizat pentru multe tipuri de mapri - diferena
major fiind numai n dimensiunea adresei. Pe lng adresele IP i cele de nivel legtur de
date ale sursei i destinaiei, pachetul mai conine:
un cmp HardwareType, care specific tipul reelei fizice (exemplu, Etliernet);
un cmp ProtocolType, care specific protocolul de nivel superior;
dou cmpuri HLEN i PLEN, care specific lungimea adresei de nivel legtur de date
i respectiv, pe cea a protocolului de nivel superior;
un cmp Operation, care specific dac acest pachet este de tip cerere sau rspuns;
adresele hardware i de protocol pentru surs i destinaie.

Fig. 2.13. Formatul pachetului ARP.
Arhitectura Reelelor i Internet 17
Pentru exemplificare vom presupune ca tehnologia de nivel legtur de date utilzat este
Ethernet. Suportul fizic Ethernet poate s disting numai formatul propriilor adrese MAC de
48 bii. Astfel, sistemul surs trebuie s cunoasc adresa de destinaie MAC dac dorete ca
pachetul care urmeaz s s ajung cu succes la desinatie. O solutie de a gsi adresa de
destinaie 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 dorete s transmit un pachet IP ctre H3, dar nu cunoate
adresa MAC a lui H3. H1 transmite mai nti un pachet de cerere ARP, cernd informaii
despre sistemul de destinaie identificat cu adresa de destinaie IP-H3, ateptnd totodata i
rspunsul. Toate sistemele din reea vor primi pachetul, dar unul singur i va rspunde i
anume, sistemul H3. Pachetul de rspuns ARP conine adresa MAC i adresa IP a lui H3.
Acum H1 tie cum s trimit pachetul ctre H3. Pentru a evita trimiterea de fiecare data a
unui pachet ARP ctre H3, H1 memoreaz n propria tabel ARP att adresa IP, ct i adresa
MAC ale lui H3, astfel fiind foarte uor pentru H1 s trimit un pachet ctre H3 data viitoare.
Fiecare intrare n tabelul ARP devine la un moment dat veche, astfel coninutul 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 cnd un card Ethernet este defect sau este nlocuit cu unul nou.

2.3 PROTOCOLUL DE REZOLUIE INVERS A ADRESELOR (RARP)
n aceast situaie sistemul cunoate adresa MAC, dar nu cunoate 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 determinrii unei adrese IP pe baza unei adrese MAC poate fi rezolvat cu
ajutorul protocolului de rezoluie invers a adreselor (RARP - Reverse Address Resolution
Protocol), care lucreaz ntr-un mod asemntor cu ARP. Pentru a obine adresa IP, sistemul
trebuie s emit n reea un pachet de cerere RARP, care s conin propria adres MAC.
Toate sistemele din reea vor primi pachetul, dar numai unul, serverul va rspunde
transmind ctre sistemul surs un pachet RARP care conine adresa MAC i adresa IP. O
limitare pentru RARP ar fi dac sistemul surs s-ar afla ntr-o reea diferit de cea a
serverului.
2. Nivelul Reea 18

2.4 PROTOCOLUL BOOTSTRAP (BOOTP)
Protocolul de iniializare BOOTP (Bootstrap Protocol) permite unui staii client s
porneasc (iniializare) cu o stiv de protocoale IP minimal i s solicite o adres IP, o adres
a ruterului de ieire (gateway) i adresa unui server de nume, toate acestea fiind obinute de la
un server BOOTP. De obicei, serverul i clientul BOOTP se afl pe acelai segment de reea
fizic LAN. BOOTP se poate utiliza numai pe segmente interconectate cu puni sau
comutatoare cu rutare prin surs sau n subreele, dac ruterul este capabil s efectueze
redirectare de tip BOOTP.
Protocolul BOOTP a fost dezvoltat iniial pentru a permite sistemelor fr disc dur s fie
iniializate de la distan ntr-o reea, cu diverse funcii ca staii de lucru, rutere, etc. Acesta
permite unei stive de protocoale IP simplificate, fr informaie de configurare s obin
suficiente informaii pentru a porni descrcarea codului necesar de iniializare. BOOTP nu
definete cum se realizeaz aceast descrcare a codului, dar de obicei aceasta se realizeaz cu
protocolul TFTP (Trivial File Transfer Protocol)
Dei nc mai este utilizat intens pentru acest scop al sistemelor fr disc, BOOTP este de
asemenea utilizat ca un mecanism de livrare a informaiei de configurare unui client care nu a
a fost configurat manual.
Procesul BOOTP implic urmtorii pai:
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 ctre server. Figura
2.14 ilustreaz coninutul acestui segment. Dac un client cunoate propria adres IP
sau adresa serverului, atunci le va utiliza, dar de cele mai multe ori clienii BOOTP nu
au deloc date de configurare IP. Dac un client nu i cunoate adresa IP, atunci acesta
va utiliza adresa 0.0.0.0. Dac un client nu cunoate adresa IP a serverului, atunci
acesta utilizeaz adresa de difuzare limitat (255.255.255.255).
3. Serverul primete segmementul UDP i analizeaz adresa fizic a clientului pe care o
caut n fiierul su de configurare, care conine i adresa IP a clientului. Serverul
completeaz cmpurile 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 cunoate adresa IP (i a fost inclus n cererea
BOOTP), serverul returneaz segmentul direct ctre aceast adres. Este foarte
probabil ca lista ARP s nu conin adresa fizic corespunztoare adresei IP. n
acest caz se va utiliza protocolul ARP, ca ntr-o situaie normal.
b. n cazul n care clientul nu i cunoate adresa IP (a fost 0.0.0.0 n cererea
BOOTP), serverul trebuie s rezolve singur cererea consultnd propria list
ARP.
c. ARP de la server nu poate fi utilizat pentru a gsi adresa fizic a clientului
deoarece clientul nu i cunoate adresa IP i astfel, nu se poate rspunde unei
cereri ARP. Aceast problem este cunoscut sub numele de gina i oul.
Exist dou posibile soluii:
i. Dac serverul are un mecanism pentru a actualiza direct propria list
ARP fr 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 rspuns prin difuzare.
4. Atunci cnd primete un rspuns, clientul BOOTP va salva propria adres IP (care i
va permite s rspund la cererile ARP) i s nceap procesul de iniializare.
Arhitectura Reelelor i Internet 19

n figura 2.15 se ilustreaz formatul mesajului BOOTP.


Fig. 2.15. Formatul mesajului BOOTP.

Cmpurile din mesajul BOOTP au urmtoarele semnificaii:
Cod - Indic tipul mesajului, dac este o cerere sau un rspuns:
1 Cerere;
2 Rspuns.
Tip hardware - Indic tipul de reea fizic, spre examplu:
1 Ethernet;
6 IEEE 802 Networks.
Lungime Specific lungimea adresei fizice, n octei. Ethernet i Token ring utilizeaz
ambele lungimea 6.
Hop-uri Clientul seteaz valoarea acestui cmp la 0. Aceast valoare este incrementat
de ctre un ruter care retransmite cererea unui alt server i este utilizat pentru a identifica
buclele.
Identificatorul tranzaciei Un numr aleator generat pentru a fi utilizat pentru a
identifica aceast cerere cu rspunsul primit.
Secunde Fixat de client. Acesta reprezint timpul n secunde consumat din momentul n
care clientul a demarat procesul de iniializare.
Fanioane bitul cel mai semnificativ al acestui cmp este utilizat ca fanion de difuzare.
Toi ceilali bii trebuie setai cu valoarea zero, fiind rezervai pentru utilizri ulterioare. n
mod normal, serverele BOOTP ncearc s livreze mesajele BOOTP de rspuns direct unui
client folosind adresa de destinaie unic. Adresa destinaie 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 destinaie unic
nainte de a-i afla adresa sa IP, acest bit de difuzare trebuie fixat cu valoarea 1 pentru a indica
serverului c rspunsul 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 cunoate)
sau cu 0.0.0.0.

2. Nivelul Reea 20
Adresa IP proprie Fixat de server dac cmpul de adres IP client are valoarea 0.0.0.0.
Adresa IP server Fixat de server.
Adresa IP ruter Aceasta este adrea unui agent de redirectare BOOTP, care nu este un
ruter IP obinuit i va fi utilizat de ctre client.
Adresa fizic client Fixat de ctre client i utilizat de server pentru a identifica clientul
nregistrat care a demarat iniializarea.
Numele server-ului Numele opional al serverului, care se termin cu X'00'.
Numele fiierului de iniializare Clientul fie las acest cmp cu valoarea nul, fie
specific un anumit nume, astfel nct s indice tipul de iniializare care trebuie demarat.
Serverul va returna numele fiierului de iniializare, care este cel potrivit pentru cererea
clientului.
Identificatorul productorului cmp opional. Aceste opiuni pot fi furnizate clientului
la momentul iniializrii mpreun cu adresa sa IP. Spre exemplu, clientul poate recepiona n
plus, adresa unui ruter implicit, adresa serverului de nume de domeniu i masca subreelei.
Dup ce clientul BOOTP a procesat rspunsul, acesta poate demara transferul fiierului de
iniializare i s execute procesele de iniializare. n cazul unui sistem fr disc, ntregul
proces de iniializare va nlocui, n mod normal, stiva minimal de protocoale IP ncrcat din
ROM cu o stiv IP normal transferat ca o parte a fiierului de iniializare i care conine
configuraia corect a clientului.

2.5 Dynamic Host Configuration Protocol (DHCP)
Protocolul de configurare dinamic a hosuturilor ofer un cadru pentru transferul
informaiilor de configurare ctre hosturi ntr-o reea TCP/IP. DHCP se bazeaz pe protocolul
BOOTP, adugnd capabilitatea de a aloca automat o adres de reea i opiuni de configurare
suplimentare. Mesajele DHCP utilizeaz portul UDP 67, port pentru servere BOOTP i portul
UDP 68, port pentru clieni BOOTP.
DHCP const din dou componente:
- Un protocol care livreaz parametrii pentru o configuraie specific hostului de la un
server DHCP ctre un host.
- Un mecanism de alocare temporar sau permanentp a unei adrese de reea unui host.
IP cere setarea multor parametri n implementarea software a protocolului. Deoarece IP
poate utiliza multe tipuri diferite de hardware de reea, 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 reea aflate deja n folosin nu pot garanta
unicitatea adresei de reea, deoarece hosturile pot fi la un moment dat n imposibilitatea de a-
i apra 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 cruia i fusese atribuit.
- Alocare manual: Adresa hostului este atribuit manual de ctre un administrator de
reea.
2.5.1 Formatul mesajului DHCP
Formatul mesajului DHCP este dat n Figura 2.16.
Semnificaia cmpurilor este urmtoarea:


Arhitectura Reelelor i Internet 21
Code Indic o cerere sau un rspuns:
1 Cerere
2 Rspuns
HWtype Tipul hardware, de exemplu:
1 Ethernet
6 Reele IEEE 802


Figura 2.16: Formatul mesajului DHCP


Length Lungimea adresei hardware, n octei
Hops Clientul seteaz cmpul la valoarea 0. Valoareqa este incrementat de
un ruter care retransmite cererea ctre un alt server i este utilizat pentru a identifica bucle.
Valoarea 3 indic o bucl. (Valoare sugerat de RFC 951)
Transaction ID Un numr aleator utilizat pentru a marca ntrebarea i rspunsul generat
pentru aceasta.
Seconds Setat de client. Reprezint timpul n secunde de cnd clientul a pornit pricesul
de bootare.
Flags field Cel mai semnificativ bit este utilizat ca indicator de broadcast. Toi ceilali bii
sunt rezervai pentru urtilizri ulterioare i trebuie setai n 0. n mod normal, serverele DHCP
livreaz mesajele DHCP utiliznd transmisia unicast. Adresa destinaie 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 recepioneze o datagram IP pn nu i cunoate adresa IP,
acest bit de broadcast trebuie setat pentru a indica serverului c trebuie s rspund printr-o
transmisie broadcast. Altfel, bitul trebuie trecut n zero.
Client IP address Setat de client. Dac o cunoate, adresa IP, sau altfel 0.0.0.0.
2. Nivelul Reea 22
Your IP address Setat de server dac a recepionat un cmp client IP address ca 0.0.0.0.
Server IP address Setat de ctre server.
Router IP address Aceasta este adresa unui agent BOOTP, nu a unui ruter obinuit. Este
setat de un agent transmitor.
Client hardware address Setat de client. DHCP definete un identificator opional
pentru client, utilizat pentru identificarea clientului. Dac aceast opiune nu este utilizat,
clientul va fi identificat dup adresa MAC.
Server host name Opional, un nume de host pentru server, terminat n X00
Boot file name Clientul fie las acest cmp necompletat, fie specific un nume generic,
indicnd tipul fiierului 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 X00.
Options Primii patru octei conin 99.130.83.99. Cei rmai indic parametrii dorii.

2.5.2 Tipuri de mesaje DHCP
Mesajele DHCP formeaz urmtoarele categorii:
- DHCPDISCOVER: Transmis broadcast de ctre un client pentru a gsi un server
DHCP disponibil
- DHCPOFFER: Rspunsul unui server la DHCPDISCOVER i oferirea unui adrese IP
i a altor parametri
- DHCPREQUEST: Mesaj de la un client ctre server avnd una dintre semnificaiile:
o Cerere de parametri oferii de unul dintre servere, declinnd orice alt ofert
o Verific o adres alocat anterior dup ce are loc o modificare de sistem sau
reea
o Cere prelungirea termenului pentru o adres temporar.
- DHCPACK: Confirmare de la un server ctre un client, coninnd parametri, inclusiv
adres IP.
- DHCPNACK: Confirmare negativ de la server la client, indicnd faptul c adresa
temporar a clientului a expirat sau c cererea de adres IP este incorect.
- DHCPDECLINE: Mesaj de la client spre server indicnd c adresa oferit este deja n
utilizare.
- DHCPRELEASE: Mesaj de la client ctre 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 dorete parametri de configurare de la un derver DHCP

2.5.3 Alocarea unei adrese de reea
n continuare este prezentat interaciunea client-server, situaia n care clientul nu i
cunoate adresa. Presupunem c serverul DHCP are un bloc de adrese de reea din care poate
satisface cereri de noi adrese. Fiecare server menine o baz de date a adreselor alocate
(permanent sau temporar) n memoria local.
Procedura urmtoare descrie paii din Figura 2.17.
1. Clientul transmite broadcast un mesaj DHCPDISCOVER n subreeaua fizic local.
n acest punct clientul se gsete n starea INIT. Mesajul DHCPDISCOVER poate
include cteva opiuni cum ar fi sugestii privind adresa de reea sau durata unei adrese
temporare (lease).
Arhitectura Reelelor i Internet 23

Figura 2.17: Interaciunea dintre client DHCP i server DHCP
2. Fiecare server rspunde cu un mesaj DHCPOFFER care include o adres de reea
disponibil (your IP address) i alte opiuni de configurare. Serverul memoreaz
adresa oferit clientului pentru a preveni oferirea aceleai adrese unui client care
transmite un mesaj DHCPDISCOVER nainte ca primul client s-i ncheie
configurarea.
3. Clientul recepioneaz unul sau mai multe mesaje DHCPOFFER de la unul sau mai
multe servere. Clientul alege unul, bazndu-se pe parametrii de configurare oferii i
transmite broadcast mesajul DHCPREQUEST care include identificatorul serverului
al crui mesaj a fost ales i adresa IP luat din cmpul your IP address.
4. n cazul n care nu este recepionat nici o ofert, dac clientul cunoate o adres de
reea anterioar, va utiliza acea adres dac este nc valid pn cnd va expira (este
vorba despre o adres lease).
5. Serverele recepioneaz 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 ctre client. Serverul selectat n DHCPREQUEST
marcheaz clientul ca fiind stabil, menine datele corespunztoare n memorie i
rspunde cu un mesaj DHCPACK coninnd parametrii de configurare cerui de ctre
client. Combinaia dintre hardware-ul clientului i adresa de reea atribuit constituie
un identificator unic pentru adresa temporar (lease) a clientului i este utilizat att de
ctre client, ct i de ctre server pentru a identifica o referire la lease n orice mesaj
DHCP. Cmpul your IP address din mesajul DHCPACK va fi umplut cu adresa de
reea selectat.
6. Clientul recepioneaz mesajul DHCPACK cu parametrii de configurare. Clientul
realizeaz o verificare final a parametrilor, de exemplu cu ARP pentru adresa de reea
2. Nivelul Reea 24
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 reea), clientul va transmite ctre server un mesaj DHCPDECLINE i
repornete procesul de configurare. Clientul va atepta minimum zece secunde pentru
a reporni procesul de configurare pentru a evita un trafic de reea excesiv n ncazul
unei bucle. La recepia 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 recepioneaz un mesaj DHCPNACK, va reporni procesul de
configurare.
9. Clientul poate alege s-i elibereze adresa temporar (lease) prin transmiterea unui
mesaj DHCPRELEASE ctre server. Clientul identific adresa lease care o vrea
eliberat prin includerea n mesaj a adresei de reea i a adresei hardware.

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