Sunteți pe pagina 1din 23

Reele de calculatoare

Lector univ dr. C.N. Calistru

5 Protocolul IP
Recenta i scurta perioad n care calculatoarele i reele de calculatoare au devenit un
punct de confluen pentru diverse domenii de cercetare a fost marcat de dispute majore.
La nceputul anilor `90 toate conferinele de reele de calculatoare erau dominate de
problematici legate de tehnologiile broadband, efort concluzionat prin ATM. Anii `93-`94
s-au strduit s rezolve diverse probleme de scalabilitate ale protocoalelor de nivel reea.
Sfritul anilor `90 a fost marcat de dou tendine aparent contradictorii: stabilirea
Ethernetului ca principal tehnologie pentru LAN, ntr-o perioad n care cuvntul de
ordine era QoS. nceputul noului deceniu readuce problema scalabilitii pentru nucleul
Internetului, iar ctigtorul ce se prefigureaz este MPLS.
RFC-ul ce definete protocolul IP a fost publicat n 1981, i precum constituia Statelor
Unite ale Americii este i acum folosit n aceeai form, toat lumea trecnd sub tcere
cele cteva amendamente majore pe care le-a suferit.
Capitolul de fa i propune trei obiective: prezentarea spiritului protocolului, ce a
supravieuit tuturor amendamentelor ulterioare, apoi punctarea schimbrilor aprute n
anii `92-`94, pentru ca n final, dup ce am prezentat fora protocolului IP, s vedem
cteva dintre protocoalele fr de care IP-ul i pierde mare parte din sens.

1 Prezentarea protocolului IP
1 Structura antetului IP
Protocolul IP este cu noi de mai bine de 20 de ani, astfel nct am ajuns la punctul de a
preda studenilor lucruri ce s-au petrecut naintea naterii lor. Ar trebui oare studiul
antetului IP s fie abordat la o or de istoria calculatoarelor?
Antetul IP, chiar dac nu a fost amendat direct, nu este doar o mrturie a viziunii asupra
reelelor de calculatoare pe care o aveau cei de acum 20 de ani, ci, chiar dac ne place sau
nu, este modul n care lumea noastr de azi este gndit. Multe dintre tehnologiile pe care
le avem azi nu sunt neaprat cele mai performante, ci sunt "IP compliant".
Orice pachet ajuns la nivelul reea va fi rempachetat, adugndu-i-se antetul IP. n figura
de mai jos sunt prezentate cmpurile ce compun antetul IP, urmnd apoi o scurt
descriere a acestora.

Reele de calculatoare

Lector univ dr. C.N. Calistru

Figura 5.1: Un pachet IP

Reele de calculatoare

Lector univ dr. C.N. Calistru

Reele de calculatoare

Lector univ dr. C.N. Calistru

Figura: Descrierea cmpurilor unui pachet IP

2 Adresarea IP
O adres IP este un ir de 32 de bii ce identific dou lucruri: o reea i o staie n cadrul
acelei reele. Forma n care sunt folosite totui adresele IP nu este cea binar, astfel nct
cnd spunem adres IP aveam mai degrab n minte reprezentarea decimal a patru octei,
separai prin trei puncte.
Astfel pentru o adres IP dat: 10110001000001000001011000001000, vom separa mai
nti biii n grupuri de cte 8 bii: 10110001.00000100.00010110.00001000 i n final
vom converti fiecare grup n decimal: 177.4.22.8.
Dei aceast nou exprimare nlesnete semnificativ lucrul cu adresele IP, aduce unele
limitri legate de uurina de a discerne ntre poriunea de reea i cea de staie din cadrul
adresei IP. ncercarea de a pstra reprezentarea decimal ca model de referin pentru IP
i de a clarifica distincia ntre cele dou componente ale adresei IP a dus la definirea
claselor de adrese IP.

3 Clasele de adrese IP
Odat cu definirea celor trei clase pentru rutare a mai fost definit un spaiu de adrese ce
este folosit pentru adresarea multicast, anume clasa D. Restul adreselor vor constitui clasa
E, reprezentnd adrese rezervate.
n tabelul de mai jos sunt prezentate cele 5 clase definite pentru spaiul de adrese IP.
Clasa Primii bii Nr bii reea Nr de reele Nr bii staie Nr staii

Domeniul de
valori

0...

27

24

224-2

1.0.0.0126.255.255.255

10...

16

214

16

216-2

128.0.0.0191.255.255.255

110...

24

221

28-2

192.0.0.0223.255.255.255

1110...

Adrese multicast

11110...

Rezervat

Distribuia adreselor pe clase este asemntoare cu un arbore Huffmann, spaiile de


adrese astfel obinute fiind inegale. Clasele A, spre exemplu, sunt definite de valoarea
zero a primului bit din adresa IP, ajungndu-se la situaia cnd mai puin de 130 de reele
s consume jumtate din spaiul de adrese IP, rmnnd pentru restul de peste 2 milioane
de reele mai puin de jumtate din acest spaiu de adrese.
Clasa A a fost proiectat pentru a satisface cerinele ridicate de reele de mari dimensiuni.
Astfel pentru definirea reelei va fi folosit doar primul octet, rmnnd pentru
4

Reele de calculatoare

Lector univ dr. C.N. Calistru

identificarea staiei 24 de bii, adic mai mult de 16,7 milioane de posibiliti. Din tabelul
de mai sus se poate observa c domeniul de valori pentru clasa A nu include reelele
0.0.0.0 i 127.0.0.0, acestea fiind rezervate. Clasa de adrese 0.0.0.0 nu este folosit
datorit posibilelor confuzii cu rutele implicite, n vreme ce clasa 127.0.0.0 este rezervat
pentru adrese de lookback, n scopul monitorizrii i testrii.
Tot din studiul numrului de staii din tabelului de mai sus se observ eliminarea a cte
dou adrese dintre cele ce pot fi alocate staiilor, pentru fiecare dintre clasele rutabile.
Cele dou adrese sunt: adresa de reea i adresa de difuzare.
O adres IP de reea este o adres pentru care toi biii de staie sunt 0. O astfel de
adres este folosit pentru identificarea ntregii reele, aceast fiind n fapt forma
relevant a oricrei adrese ce cltorete peste Internet.
O adres IP de boadcast sau de difuzare este o adres pentru care toi biii de staie sunt
1. Un pachet destinat unei astfel de adrese va ajunge la toate staiile din aceeai reea.
O clas de adrese B este definit de valorile primilor doi bii din adresa IP, aceti primi
doi bii fiind 10. Respectnd aceast constrngere rezult c toate adresele IP ale cror
prim octet se afl ntre 10000000 i 10111111, adic ntre 128 i 191, aparin unei clase B.
Cmpul de reea pentru o clas B va cuprinde primii doi octei, dar cum primii doi bii ai
primului octet sunt fixai, ne rmn doar 14 bii pentru a crea clase B. Pentru definirea
staiilor vom avea la dispoziie ultimii doi octei, adic 16 bii. Astfel vom obine 16.384
reele, fiecare avnd un numr maxim de staii de 65.533.
Clasele A i B la un loc reprezint 75% din spaiul de adrese disponibile, aceste clase
fiind epuizate n primii ani de expansiune a Internetului (`92 -`94). Dac mai dm la o
parte clasele D i E, clase ce nu pot fi folosite pentru rutare, rezult c aproape ntreaga
expansiune a Internetului din ultimul deceniu s-a fcut folosindu-se doar 12,5% din
spaiul de adresare IP, i anume clasele C.
Clasele C se definesc prin alocarea primilor 3 octei pentru definirea reelei i doar a
ultimilor 8 bii pentru distingerea ntre staiile aceleiai reele. Primii trei bii din primul
octet trebuie s fie 110, adic valoarea acestui prim octet trebuie s se afle ntre 192 i
223 pentru ca o adres s aparin unei clase C.
Dei numrul claselor C depete 2 milioane, numrul de staii pentru fiecare dintre
aceste reele este de doar 254.
Clasa de adrese D este folosit pentru reele multicast. Chiar dac reelele multicast nu sau ridicat la nlimea ateptrilor formate la nceputul anilor `90, exist n continuare
proiecte de cercetare cu un impact major bazate pe multicast (M-Bone fiind cel mai
recent), iar reelele de transmisie pentru programe TV sau mcar pentru radio nu par s se
desprind de arhitecturile multicast. Fr ndoial pentru Romnia tehnologiile multicast
reprezint un exerciiu mai mult teoretic, dar asta nu trebuie s ne fac s pierdem din
vedere puternicul impact pe care l au acestea mai ales n SUA.
5

Reele de calculatoare

Lector univ dr. C.N. Calistru

Figura 5.3: Adresarea IP

Pentru adresa multicast spaiul de adrese este plat, toi cei 4 octei fiind folosii pentru
definirea adresei de staie. Deoarece primii 4 bii ai primului octet sunt fixai, i anume
1110, numrul adreselor de multicast este de 268 milioane.
Figura 5.3 sumarizeaz tipurile de adrese IP, prezentnd ponderea numrului de octei
alocai pentru cmpul staie din totalul celor patru octei ce formeaz o adres IP.
Clasa de adrese E este rezervat i nu poate fi folosit n reelele publice, sau n soluii de
multicast.

2 Soluiile pentru rezolvarea problemei


epuizrii rapide a spaiului de adrese IP
1 Prezentarea problemelor
Dei criza epuizrii spaiului de adrese IP a luat amploare abia la nceputul anilor `90,
primele eforturi de evitare a blocrii creterii Internetului au aprut ncepnd cu mijlocul
anilor `80.
Este evident c preul pltit pentru folosirea exprimrii adreselor IP n form decimal, i
anume gruparea spaiului de adrese n doar trei tipuri de reele s-a tradus ntr-un grad
extrem de redus de eficien n folosirea adreselor IP.
6

Reele de calculatoare

Lector univ dr. C.N. Calistru

Astfel n 1985 IETF public RFC-ul cu numrul 950, al crui scop este de a introduce
aparent nc un nivel ierarhic n formatul de adresare IP. Adresele IP vor avea n
continuare 32 de bii, dar acetia nu vor mai fi grupai doar n dou cmpuri: reea i
staie, ci vor mai putea aparine unui nou cmp subreea.
Odat cu subreelele a aprut distincia ntre adresarea ce ine cont doar de cele trei clase:
A, B i C, aceasta fiind numit adresare classful, i noul tip de adresare, ce ofer suport
pentru cmpul de subreea, aceasta din urm fiind numit adresare classless.
Odat cu acutizarea crizei adreselor IP, n anul 1992, adresarea classless a cptat un loc
central n noua arhitectur a Internetului, prin dezvoltarea mecanismelor de rutare pentru
astfel de adrese. Soluia s-a numit CIDR (Classless InterDomain Routing) i a rspuns
att la problema epuizrii rapide a spaiului de adrese IP, ct i la problema creterii n
dimensiune a tabelelor de rutare.
Soluia mai radical a fost rescrierea ntregului protocol IP, de la formatul adreselor pn
la mecanismele oferite. Noul protocol este IPv6, care dei are deja civa ani buni de
testare, nu este nici pe departe aa de popular cum se spera la nceputul anilor `90. Dac
acum 4-5 ani toat lumea mai era convins ca IPv6 va nlocui vechiul i prfuitul IPv4,
acum se fac auzite chiar voci care susin c efortul nlocuirii, fie ea i treptat, a
infrastructurii IPv4 nu este cu adevrat justificat. Astfel IPv4 cu CIDR, ce se vroia doar o
soluie pe termen scurt, guverneaz modul n care proiectm distribuirea adreselor IP de
10 ani, i dei implementrile de reele IPv6 sunt tot mai frecvente, ritmul acestora nu ne
ndreptete s sperm la un Internet IPv6 prea curnd.
IPv6 i-a fcut loc mai ales n reelele de nucleu, inclusiv n Romnia existnd din 2003
un backbone de IPv6.

2 Masca de reea
Masca de reea este un ir de 32 de bii care, n conjuncie logic cu o adres IP, va separa
adresa de reea, anulnd biii de staie.
Fiecare bit din masca de reea ce corespunde (se afl pe aceai poziie) cu un bit din
cmpul de reea va avea valoare 1, n vreme ce toi biii corespunztori cmpului de staie
vor avea valoarea zero.
Mtile de reea sunt inutile ntr-un mediu ce ofer adresare classful, deoarece simpla
testare a valorii primului octet fa de 128 i 192 ne-ar oferi toate informaiile necesare
despre numrul biilor ce aparin cmpului reea dintr-o adres IP dat. n schimb, odat
cu apariia adresrii classless, masca de reea a devenit piatra de temelie n deciziile de
rutare.
Reprezentarea mtilor de reea folosit cel mai des este cea decimal, datorit
similitudinii cu forma de exprimare a adreselor IP.
O a doua form de reprezentare a mtilor de reea este sub forma unui numr ce
reprezint numrul de bii de 1 din masca de reea, aceast form de reprezentare fiind
referit ca prefix de reea.
7

Reele de calculatoare

Lector univ dr. C.N. Calistru

Figura: Mtile de reea pentru clasele rutate

De ce reprezentarea decimal a mtilor de reea este mai popular dect reprezentarea


ca prefix?
Bineneles c a doua exprimare este semnificativ mai comod, dar folosirea ei implic
att asumarea faptului c toi biii din masca de reea sunt pe poziia cea mai
semnificativ, ct i, mai ales, a faptului c sunt consecutivi. Dup cum am vzut pn
acum biii ce formeaz cmpul de reea sunt la stnga adresei IP, fiind totodat i
consecutivi, aa c asumarea cerut de folosirea prefixurilor nu este o constrngere. Mai
mult chiar, pn acum nu a aprut nici o tehnologie care s necesite nclcarea condiiei
de consecutivitate a biilor din cmpul reea. Astfel nct, dei adresarea n forma
decimal ofer independen fa de condiia de consecutivitate, n realitate aceast
independen este total inutil.
Singura explicaie rezonabil pentru atitudinea productorilor de aplicaii de reea ce
promoveaz reprezentarea decimal este ineria, sau poate i posibilitatea apariiei
mtilor de reea necontinue (dei n mod obiectiv aceast posibilitate este extrem de
mic).
n concluzie, forma de reprezentare ce o vom folosi preponderent n aceast carte va fi
reprezentarea ca prefix.

3 Subreele
n adresarea classful aveam trei dimensiuni de reele, ducnd la o utilizare extrem de
ineficient a spaiului de adrese. nchipuii-v numai c pentru 300 de staii ce trebuie s
fie n acelai domeniu de broadcast (n aceeai reea) administratorul de reea ar fi trebuit
s solicite o clas B, urmnd s foloseasc sub 0,5% din adresele disponibile.
ntrebarea este dac n loc de o ntreag clas B nu am fi putut aloca doar jumtate de
clas B, dublnd astfel eficiena alocrii de adrese? Sau, reformulnd, dac avem clasa B
130.170.0.0, care este jumtatea acesteia?
Pentru a njumti un spaiu de adrese, va trebui n fapt s njumtim numrul de staii,
adic s reducem cu unu numrul de bii de staie. Bitul astfel obinut va intra n
componena unui nou cmp, pe care l vom numi cmp de subreea.
Masca de reea va avea valoarea 1 att n cmpurile corespunztoare biilor de reea, ct
i n cmpurile corespunztoare biilor de subreea.
n concluzie, pentru a njumti un spaiu de adrese, trebuie s extindem masca de reea
cu un bit (cel corespunztor cmpului de subreea), iar cele dou jumti vor fi obinute
fcnd acest bit o dat 0, o dat 1.

Reele de calculatoare

Lector univ dr. C.N. Calistru

Avnd de njumtit o clas B, cele dou jumti vor avea masca de reea /17, bitul de
subreea fiind chiar al 17-lea bit din adresa IP.
Rezultatul operaiei de njumtire este prezentat n figura 5.5.

Figura: njumtirea unei clase B

Dei modul de utilizare a unei mti de reea reiese direct din definiia acesteia, vom
exemplifica pe dou adrese ce se aflau n spaiul iniial de adrese, dar dup njumtire
au ajuns n reele diferite. Fie 130.170.32.0 i 130.170.132.0 aceste adrese:
130.

170

132.

Prima adres

10000010 10101010 10000100 00000000 AND


11111111 11111111 10000000 00000000

Masca de reea

10000010 10101010 10000000 00000000


130.

170.

128.

130.

170

32.

/17 A doua jumtate


0

Prima adres

10000010 10101010 00100000 00000000 AND


11111111 11111111 10000000 00000000

Masca de reea

10000010 10101010 00000000 00000000


130.

170.

0.

/17

Prima jumtate

Putem acum aloca acum pentru reeaua de 300 de staii doar jumtate de clas B, adic 32
de mii de adrese. Dar nimic nu ne mpiedic s mpiedic s njumtim nc odat unul
dintre spaiile de adrese obinut, avnd astfel la dispoziie dou spaii de cte 16 mii de
adrese. i, de ce nu, s mergem mai departe cu procesul de creare de subreele pentru a
obine spaii de 512 adrese.
Pentru a reprezenta 512 variante avem nevoie de 9 bii n cmpul staie. Din cei 16 bii
iniiali vom trece direct 7 bii n cmpul de subreea. Masca de reea trebuie extins cu 7
bii devenind 23, rezultatul operaiei fiind definirea unui spaiu de adrese ce ocup doar
1/64 din spaiul iniial.

Reele de calculatoare

Lector univ dr. C.N. Calistru

Figura: Obinerea primelor dou subreele de 512 adrese dintr-o clas B

n concluzie, subreelele au aprut n scopul eficientizrii modului de alocare a adreselor


IP. Pentru a mpri n subreele un spaiu de adrese dat, o parte din biii de staie sunt
trecui ntr-un nou cmp, cel de subreea, acesta avnd rolul de a oferi un al treilea nivel
de ierarhizare a adreselor IP.
n realitate definirea unui cmp de subreea este fcut pentru a nlesni nelegerea
procesului, neavnd o reflectare n modul de funcionare a ruterelor. Din punctul de
vedere al unui ruter orice adres IP are doar dou niveluri de ierarhizare, i anume reea i
staie. Astfel procesul de creare de subreele se traduce n transferarea unui numr de bii
din cmpul staie n reea, extinderea mtii de reea cu un numr egal cu numrul de bii
transferai.
nainte de a ncheia aceast scurt prezentare a subreelelor mai trebuie fcute totui dou
observaii n legtura cu folosirea termenilor de reea i subreea.
n primul rnd, termenul de subreea pare a implica o relaie de subordonare fa de
reele, definite ca aparinnd claselelor de adrese IP. ntr-un mediu classless, nu exist
nici o diferen n modul cum ruterele sau calculatoarele trateaz adrese aparinnd unei
reele sau a unei subreele. De fapt, la ora actual, cel mai adesea prin reele se nelege
totalitatea subreelelor, clasele de adrese fiind privite ca un caz particular al acestora.
Astfel putem trage concluzia c singura diferen ntre reele i subreele este de natur
strict istoric.
n al doilea rnd masca de reea este deseori apelat ca masc de subreea, ambele
exprimri referindu-se totui la acelai obiect.

4 Prima i ultima subreea


n momentul cnd crem subreele este uor de observat posibila confuzie ce se poate
face ntre adresa de reea a spaiului de adrese iniial i adresa de reea a primei subreele
create, dar totodat i ntre adresa de difuzare pentru spaiul de adrese iniial i adresa de
difuzare a ultimei subreele.
n exemplul de mai nainte singura diferen ntre clasa B i prima sa jumtate era masca
de reea folosit, i tot masca de reea este singura diferen ntre adresa de difuzare a
clasei B i adresa de difuzare a celei de a doua jumti.

10

Reele de calculatoare

Lector univ dr. C.N. Calistru

Figura: Obinerea primelor dou subreele de 512 adrese dintr-o clas B

Datorit acestei ambiguiti, odat cu apariia subreelelor a aprut i interdicia de a


folosi prima i ultima subreea. Astfel, numrul maxim de subreele ce poate fi folosit
devine 2 la puterea numrului de bii de subreea minus 2.
O prim consecin este imposibilitatea mprumutrii unui singur bit pentru crearea de
subreele, adic imposibilitatea njumtirii unui spaiu de adrese. Numrul minim de bii
ce trebuie mprumutai este 2.
O a doua, i mult mai drastic consecin este pierderea unui procent din spaiul de adrese
n urma procesului de creare de subreele. n tabelul de mai jos este analizat eficiena
folosirii spaiului de adrese n urma crerii de subreele pentru o clas C.
Numr
bii
subreea

Numr Numr Numr Numr


bii
de
de staii total de
staie subreele pentru o staii
subreea

Procent de
adrese
utilizabile

62

124

49%

30

180

70%

14

14

196

77%

30

180

70%

62

124

49%

Din tabel se observ c eficiena alocrii de adrese n urma crerii de subreele, pentru o
clas C nu poate depi 77%, i dei se poate obine o eficien mai bun pentru crearea
de subreele pentru o clas B, nu trebuie uitat c n momentul startrii implementrilor de
CIDR, singurele reele disponibile mai erau doar clasele C.
Nu a durat mult i eliminarea unor ntregi clase de adrese doar datorit ambiguitii ntre
dou adrese a fost pus sub semnul ntrebrii. n plus, singurele dispozitive din reea ce ar
fi putut comite erori n urma acestei ambiguiti sunt ruterele, iar ruterele, odat cu
implementarea CIDR i dezvoltarea protocoalelor de rutare classless, au avut oricum la
dispoziie mtile de reea, pentru fiecare dintre rute. Astfel, efortul eliminrii acestei
11

Reele de calculatoare

Lector univ dr. C.N. Calistru

ambiguiti s-a tradus n mici modificri software aduse ruterelor, iar ncepnd cu 1996
majoritatea ruterelor au fost fabricate cu capacitatea evitrii confuziei cauzate de
folosirea primei i ultimei subreele.
Dei i la ora actual multe cri de calculatoare recomand n continuare evitarea
folosirii primei i ultimei subreele, raiunile sunt mai mult de natur didactic pentru c
Internetul n vasta lui majoritate conine echipamente capabile s evite eventualele
confuzii, i asta fr nici un alt cost adiional.

5 Supernetting
O a doua component a CIDR, la fel de important ca i crearea de subreele, este
procesul invers, i anume posibilitatea agregrii mai multor spaii de adrese ntr-un singur
spaiu.
n figura 5.8 sunt reprezentate binar 4 clase C, alese special ca s difere doar prin cei doi
bii cei mai puin semnificativi ai cmpului de reea.

Figura 5.8: Agregarea a 4 clase C

Cele 4 clase din tabel sunt n fapt sferturile unui singur spaiului de adrese. Adresa
agregat, sau super-reeua ce cuprinde cele 4 clase se obine n acest caz reducnd masca
de reea cu doi bii, aceti doi bii trecnd n cmpul de staie vor fi fcui zero pentru a
determina adresa de reea agregat.
Procesul de creare de super-reele, numit i proces de agregare de adrese, este extrem de
important mai ales pentru optimizarea funcionrii ruterelor. Agregarea adreselor are
drept consecin reducerea dimensiunii tabelei de rutare, care n final se traduce n laten
mai sczut a rutrii, dar i n reducerea cerinelor de procesor i memorie.
Totui nu orice dou reele pot fi agregate ntr-o super-reea. Astfel, pentru a putea profita
de aceast facilitate adus de CIDR, alocarea adreselor trebuie fcut judicios nu doar n
12

Reele de calculatoare

Lector univ dr. C.N. Calistru

interiorul reelei de ctre administratorul de reea, ci i la nivelul ISP-urilor i chiar la


nivel de ar. Din pcate n Romnia avantajele reducerii tabelelor de rutare prin
agregarea reelelor, ca o consecin a alocrii judicioase a adreselor de reea, au fost
contientizate extrem de trziu, astfel nct n tabelele de rutare ale marilor ISP-uri din
Romnia mai adesea se ntlnesc prefixe de /26, dect prefixe /20 cum ar fi fost de
ateptat la o ar de dimensiunile Romniei.

3 Alte protocoale pentru reelele IP


1 ARP - Address Resolution Protocol
Pentru ca dou dispozitive de reea s poat comunica este necesar cunoaterea att a
adresei MAC, ct i a celei logice. n cazul n care numai una dintre adrese este
disponibil se apeleaz la un protocol dedicat care pe baza acesteia va determina cealalt
adres.
Stiva de protocoale TCP/IP conine dou protocoale de nivel reea pentru a servi acest
scop: ARP (Address Resolution Protocol) i RARP (Reverse Address Resolution
Protocol). ARP este protocolul ce va oferi adresa MAC a unui dispozitiv de reea, dat
fiind adresa sa IP.
ARP se bazeaz pe construirea i meninerea unei tabele ARP. O tabel ARP are rolul de a
oferi o coresponden ntre adresele IP i cele MAC. Acestea sunt construite dinamic i
sunt stocate n memoria RAM. Dei exist mecanisme pentru adugarea sau eliminarea
unei intrri ntr-o tabel ARP, acestea sunt rareori folosite.
Fiecare computer sau dispozitiv de reea i pstreaz propria sa tabel ARP.
Cum funcioneaz ARP? Cum este construit tabela ARP?

13

Reele de calculatoare

Lector univ dr. C.N. Calistru

Figura 5.9: Studiul ARP

Fie reeaua din figura: 5.9. Toate staiile sunt tocmai pornite, astfel tabelele ARP sunt
vide. Presupunem c staia A1 vrea s comunice cu staia A2, cunoscnd doar adresa IP a
acesteia. La nivelul reea datele venite de la nivelurile superioare vor fi encapsulate i vor
primi un antet ce va conine n cmpul adres destinaie 193.23.1.7, iar ca adres surs
193.23.1.4. nainte de trecerea la nivelul legtur de date adresa IP destinaie va fi cutat
n tabela ARP i nefiind gsit se va crea un cadru special (ARP request) ce va avea n
cmpul adres destinaie din antet adresa de difuzare: FF.FF.FF.FF.FF.FF, iar n cmpul
adres surs adresa MAC a staiei A1.
Dac vom considera c reeaua din figur folosete Ethernet drept protocol de nivel MAC
datele vor fi difuzate i vor ajunge la A2 i la interfaa ruterului conectat la segmentul A.
La nivelul legtur de date va fi analizat antetul cadrului. Cmpul destinaie fiind o
adres de difuzare cadrul va fi trimis la nivelul superior. Totodat, pe baza coninutului
cmpului surs de nivel 2 i 3, va fi creat prima intrare n tabela ARP a staiei A2. Ajuns
la nivelul 3 cadrul este identificat drept o cerere ARP i se iniiaz un rspuns transmis ca
unicat att la nivel reea ct i la nivel legtur de date. Dup primirea rspunsului A1 va
putea insera n tabela sa ARP adresa MAC a lui A2, iar comunicaia din acest moment va
avea loc fr probleme.

14

Reele de calculatoare

Lector univ dr. C.N. Calistru

Fiind pe un segment Ethernet toate cadrele schimbate de A1 i A2 vor ajunge la toate


staiile de pe segment, astfel c, dei nu au emis nici un cadru, att A3 ct i ruterul vor
avea cte o tabel ARP cu 2 intrri. Aceste intrri expir dup o perioad de timp, fiind
nlturate din tabela ARP.
Cum are loc comunicaia ntre staii aflate n reele diferite?
Am vzut c protocolul de rezoluie a adresei se bazeaz pe difuzri la nivel legtur de
date. Ruterele n schimb nu propag pachetele de difuzare de nivel legtur de date n
afara reelei din care provin.
Exist dou modaliti prin care staii aflate n reele diferite pot comunica: default
gateway i proxy ARP.
Proxy ARP este o extensie a protocolului de rezoluie a adresei. Pornind de la faptul c
ruterul nu va transfera pachetele de difuzare Proxy ARP va determina ruterul s rspund
la toate cererile ARP destinate unor adrese n afara reelei cu propria sa adres MAC.
n cazul reelei de mai sus s considerm c staia A1 vrea s comunice cu B1. Dup ce
nu va gsi adresa MAC a staiei B1 n tabela ARP va trimite o cerere ARP. Cadrul va fi
recepionat de ctre toate dispozitivele de reea aflate pe acest segment. Staiile A2 i A3
deja au n tabela ARP informaii despre A1, astfel nct vor reseta timpul de via al
acestei intrri. Ruterul va reseta i el acest timp, iar apoi, analiznd adresa IP destinaie,
va concluziona c destinaia nu se afl n acelai segment. Dac acesta ar fi fost un cadru
obinuit ruterul ar fi luat o decizie pe baza tabelei sale de rutare. Fiind totui o cerere
ARP ruterul va genera un rspuns ARP ce va conine propria sa adres MAC. Rspunsul
ARP va fi ncapsulat, iar antetul va avea att la nivelul legtur de date ct i la nivelul
reea n cmpul adres surs adresa interfeei ruterului ce se afl conectat la reea.
Ruterul va determina pe ce interfa trebuie s trimit pachetele destinate pentru
24.8.17.2 i va trimite pe aceast interfa o nou cerere ARP. B1 va rspunde la aceasta.
n final toate staiile din reeaua A i vor aduga o nou intrare n tabela ARP ce va face
corespondena ntre 193.23.1.1 i adresa MAC a interfeei ruterului: 00.48.0C.18.7A.A2.
n plus staia A1 va mai aduga o intrare ce va mapa 24.8.17.2 cu adresa
00.48.0C.18.7A.A2. Staiile din reeaua B vor insera dou intrri n tabelele ARP proprii:
24.8.17.1 - 00.48.0C.18.7A.A3 i 24.8.17.1 - 00.01.9A.11.71.11.
Din acest moment staia A1 va ncapsula transmisia destinat staiei B1 folosind adresa IP
a lui B1 i adresa MAC a ruterului. Ruterul va primi cadrele, va nlocui adresa surs din
antetul de nivel legtur de date cu adresa sa: 00.48.0C.18.7A.A3 i le va trimite mai
departe ctre B1.
Pentru o staie dat default gateway este adresa IP a interfeei de pe ruter ce conecteaz
reeaua din care face parte respectiva staie. Odat precizat un default gateway nivelul
reea al staiei va mai cpta o nou atribuie, trebuind s determine dac destinaia este
sau nu n aceeai reea. Dac nu este, atunci nu va mai fi iniiat ci se va folosi adresa IP a
destinaiei finale i adresa MAC a default gateway. Astfel, n tabela ARP va fi cutat
adresa interfeei ruterului.

15

Reele de calculatoare

Lector univ dr. C.N. Calistru

2 NAT - Network Address Translation


NAT (RFC 1631) ofer posibilitatea schimbrii unei adrese IP cu o alta din antetul unui
pachet IP. n practic NAT se folosete pentru a permite staiilor ce utilizeaz adrese
private s acceseze Internetul.
Deoarece exist un numr destul de mare de reele neconectate la Internet, IETF a
ncercat s reglementeze folosirea adreselor n cadrul acestor reele. Soluia (RFC 1918) a
fost definirea unor spaii de adrese private, adrese ce nu pot fi rutate pe Internet.

Figura 5.10: Clasele private de adrese

Obinerea unei reele are un cost fix de 50 $ + taxe. Acest cost pare extrem de mic, cu
toate acestea procesul este anevoios, deoarece necesit justificarea dimensiunii spaiului
de adrese, precum i ateptarea de pn la 3 luni de zile.
Folosirea adreselor private ofer o schem de adresare rapid i comod. n plus datorit
faptului c adresele staiilor nu sunt accesibile din afara reelei folosirea adreselor private
este deseori considerat una dintre cele mai eficiente politici de securitate.
Totodat adresele private pun o serie de probleme. Cea mai important este c ruterul prin
care reeaua privat acceseaz Internetul va trebui s fi capabil s fac conversia
adreselor private n adrese publice, deci s ruleze un serviciu de NAT. Acest serviciu
impune o laten suplimentar pentru fiecare pachet ce tranziteaz ruterul. Un alt
dezavantaj este acela c n interiorul unei reele private nu pot fi plasate calculatoare ce
ofer servicii publice, deoarece este imposibil de iniiat conexiuni din exterior ctre
acestea.
Translatarea static a adreselor presupune constituirea unei tabele de translatare ce va
asigna ntotdeauna aceeai adres public pentru o adres privat dat. Trebuie s existe
n acest caz un numr egal de adrese publice i adrese private.
Translatarea dinamic a adreselor presupune definirea unui rezervor de adrese publice, iar
apoi vor fi asignate n funcie de ordinea n care staiile solicit conexiuni cu Internetul.
Odat ncheiat ultima conexiune a unei staii adresa public este ntoars n rezervorul
de adrese, putnd fi alocat unei alte staii. Avantajul major al acestei implementri este
c numrul adreselor publice poate fi semnificativ mai redus dect al celor private. Dac
spre exemplu avem o reea cu 200 de calculatoare, dar din care pe Internet nu sunt
niciodat mai mult de un sfert, atunci se poate realiza o translatare dinamic a adreselor
pe un spaiu de 64 de adrese publice i nu 256 ca n cazul translatrii statice.
Translatarea adreselor cu suprancrcare este forma cea mai des ntlnit de NAT. n
prezent, cnd ne referim la translatarea adreselor, n realitate ne referim la translatarea
adreselor cu suprancrcare. Aceast metod ofer posibilitatea folosirii unei singure
16

Reele de calculatoare

Lector univ dr. C.N. Calistru

adrese publice pentru mai multe staii ce acceseaz Internetul. Din aceast cauz aceast
metod mai este numit i NAT multi-la-unu sau PAT (Protocol Addess Translation).
Cum funcioneaz translatarea adreselor cu suprancrcare?
Fie o reea privat conectat la Internet printr-un ruter ce ruleaz NAT i staiile A
(192.168.1.2) i B (192.168.1.3) dou calculatoare din reeaua privat. Adresele pentru
interfeele ruterului vor fi: 192.168.1.1 i 193.230.36.9. Presupunem c ambele ncearc
s acceseze site-ul www.cs.pub.ro, a crui adres IP este 141.85.37.20. Staia A va
ncapsula cererea preciznd n antetul de nivel transport potul destinaie: 80, portul surs:
3021, apoi la nivel reea vor fi puse n antet adresa destinaie: 141.85.37.20, precum i
adresa surs: 192.168.1.2, la nivel legtur de date va pune n cmpul adres destinaie
adresa MAC a ruterului, i propria sa adres MAC n cmpul adres surs. n mod similar
staia B va ncapsula cererea preciznd n antetul de nivel transport portul destinaie: 80,
portul surs: 12021, apoi la nivel reea vor fi puse n antet adresa destinaie:
141.85.37.20, precum i adresa surs: 192.168.1.3, la nivel legtur de date va pune n
cmpul adres destinaie adresa MAC a ruterului, i propria sa adres MAC n cmpul
adres surs.
Odat ajunse la ruter cele dou pachete sunt despachetate. Cmpul adres surs din
antetul de nivel reea va fi nlocuit cu adresa ruterului de pe interfaa dinspre Internet:
193.230.36.9. Dac dup aceast operaiune pachetele ar fi rutate, ele ar ajunge la
destinaie, dar ruterul nu va fi capabil s determine cui din reeaua privat i este adresat
fiecare din cele dou rspunsuri pe care le va primi de la 141.85.37.20.
Serviciul de translatare a adresei se bazeaz pe construirea unei tabele ce va stabili o
coresponden univoc ntre o conexiune iniiat de la o adres privat (adres i port) cu
un port de pe ruter. n cazul nostru pentru pachetul primit de la staia A ruterul va dedica
un port: 15989. Va schimba portul surs din pachetul primit de la A cu valoarea 15989, i
orice va primi pe acest port va trebui rempachetat cu adresa destinaie 192.168.1.2:3021.
Portul 15989 va rmne blocat pn la ncheierea conexiunii de web iniiate de pe staia A
ctre www.cs.pub.ro.
Dei teoretic pe o singur adres public pot fi mapate mai mult de 65000 de conexiuni,
n realitate implementrile de NAT nu mapeaz mai mult de 4000 de conexiuni pentru o
adres public.
Pentru reelele mari translatarea adreselor se face combinnd translatarea dinamic a
adreselor cu translatarea adreselor cu suprancrcare.

4 Studiu de caz
Ministerul Educaiei Naionale dorete crearea unei reele educaionale cu acces Internet
la nivelul Bucuretiului, ce va cuprinde toate colile si inspectoratele din Bucureti.
Aceast reea va cuprinde maxim 750 de reele locale. Ministerul va solicita o clasa de
adrese, urmnd ca din aceast clas s creeze 750 de subreele. Nu exist restricii privind
numrul minim de staii ce trebuie sa revin fiecrei reele, cu toate acestea toate

17

Reele de calculatoare

Lector univ dr. C.N. Calistru

subreelele vor avea acelai numr de staii. Trebuie aleas una dintre urmtoarele clase:
4.0.0.0, 202.56.31.0, 131.85.0.0, dar trebuie justificat alegerea.

ntrebri:
1.

Care este clasa ce satisface cerinele noastre?

2.

Care este lungimea (forma) mtii de reea?

3.

Care este prima subreea pe care o putem configura?

4.

Care este a doua subreea pe care o putem configura?

5.

Ce adres vom aloca gateway-ului (ruterului de ieire din reea) pentru aceast reea?

6.

Cte adrese vom avea disponibile pentru staii pentru cea de a doua subreea?

7.

Care sunt aceste adrese?

8.

Care este adresa de broadcast pentru cea de-a 4 reea utilizabil?

Rspunsuri:
1.

Este uor de observat ca avem de ales ntre trei spaii de adrese ce coincid cu cele 3 clase rutate
(A, B i C).

Pentru o clas C putem crea maxim 2(8-2)=32 de subreele, un numr mult prea
mic pentru nevoile noastre. Pentru o clas B numrul maxim de subreele ce poate
fi creat e 2(16-2)=4.096, deci sufficient de multe pentru satisface cerinele reelei
noastre. Pentru o clas A vom avea 2(24-2)=4.194.304 subreele.
Bineneles c de 10 ani de zile nu mai exist clase A disponibile, dar nici clasele
B nu mai sunt de mult disponibile. In realitate chiar o clas C poate prea
imposibil de obinut n anul 2003, mai ales n Romnia. Astfel ironia alegerii ntre
o clas A i una B devine evident nu doar pentru administratorul de reea ce s-a
chinuit zile n ir s fac documentaia pentru obinerea unui spaiu de 64 de
adrese, dar scopurile didactice deseori justific ironii mai acute, i n definitiv cine
ne mpiedic s ncercm s rezolvm problema studentului ce trebuie s aleag
cu ce s vin la cursuri: cu Porsche-ul negru sau cu Lamborghini-ul galben?
innd cont de faptul c nu exist constrngeri legate de numrul minim de staii
pentru fiecare dintre subreele devine imposibil de justificat cererea unei clase A,
astfel spaiul de adrese cel mai potrivit pentru cerinele problemei este clasa B,
adic 131.85.0.0/16.
2.

Pentru acest pas este necesar s decidem ci bii trebuie mprumutai pentru a crea 750 de
subreele. Dac mprumutm 9 bii vom putea crea 29=512 subreele, numr insuficient pentru
problema n cauz. Dac mprumutm 10 bii vom putea crea 210=1024 subreele, ndeajuns
pentru a ndeplini cerinele problemei.

18

Reele de calculatoare

Lector univ dr. C.N. Calistru

Masca iniial de reea pentru spaiul total de adrese era /16, iar noua masc va fi /
26, adic 255.255.255.192.
3.

Pentru a rspunde la aceast ntrebare va trebui s relum vechea discuie: "putem sau nu s
folosim prima i ultima subreea?" Dei rspunsul este evident da, exist o serie de convenii ce ne
pot redefini "prima subreea".

Uneori se aplic o distincie ntre "prima reea ce o putem crea" i "prima reea
configurabil". Prima subreea ce o putem crea este acea ce are numai zero n
cmpul subreea. Prima subreea configurabil poate fi aceeai subreea cu prima
creabil, n cazul n care numrul de subreele necesare este egal cu numrul de
subreele create (n acest caz nefolosirea primei subreele creabile ar duce la
extinderea mtii de reea cu nc un bit, reducnd la jumtate numrul hosturilor
disponibile). n realitate nu avem nevoie ntotdeauna de exact 2, 4 sau 8 subreele,
astfel nct oricum vor rmne subreele nefolosite, iar dac tot vom avea dou
sau mai multe subreele nefolosite n general se va evita folosirea primei i ultimei
subreele. n acest caz, prima subreea configurabil este cea de-a doua subreea
creabil.
O alt convenie de proiectare a reelelor sugereaz alocarea primei subreele
pentru interconectarea tuturor subreelelor (pentru backbone). i n acest al doilea
caz prima subreea configurabil coincide cu cea de-a doua subreea creabil.
De vreme ce vom crea 1024 de subreele pentru un necesar de doar 750, vom
evita configurarea primei subreele creabile.
Masca iniial de reea este /16, asta nsemnnd c n procesul de creare de
subreele nu vom putea altera primii 16 bii, din acest motiv primii doi octei din
adresa IP vor rmne exprimai n decimal. Din ultimii 16 bii, 10 vor fi alocai
pentru crearea de subreele rmnnd 6 pentru cmpul de staie. Atta timp ct ne
intereseaz doar adrese de subreea aceti ultimi bii de staie vor fi toi 0,
singurele modificri aprnd la cei 10 bii de subreea:
O alt observaie important e c n cazul adreselor de reea precizarea mtii este
extrem de important, aceeai adres putnd cpta interpretri diferite n funcie
de masca aleas.
Uneori precizarea mtii este ignorat n specificarea diverselor adreselor de staii
sau de difuzare, nu fr a introduce un grad de neclaritate soluiei.
Spaiul iniial Spaiul iniial

4.

16 bii reea 10 bii subreea

6 bii staie

131. 85. 00000000.00

000000

/26

131.85.

00000000.01

000000

/26

Prima reea creabil

131.85.

0.

64

/26

Prima subreea configurabil

Pentru a determina cea de-a doua reea configurabil vom reprezenta 2 binar pe 10 bii, i apoi
vom nlocui cei zece bii de subreea cu reprezentarea binar a lui 2 pe zece bii.

19

Reele de calculatoare

Lector univ dr. C.N. Calistru

131.85. 00000000.10 000000 /26 A doua reea


131.85. 0.
5.

128

/26 configurabil

n realitate nimeni nu ne poate constrnge n a aloca orice adres valid de staie gateway-ului, dar
i aici intervin conveniile n vigoare. Prin convenie, pentru gateway se folosete prima adres
valid de staie, adic n cazul nostru reprezentarea binar a lui 1 pe 6 bii, adic cinci de 0 urmai
de un 1.

La punctul 4 am determinat adresa de subreea pentru cea de a doua subreea,


astfel nct vom altera doar cmpul de staie:
131.85. 00000000.10 000001 /26 Adresa gateway-ului
131.85. 0.

129

/26 pentru a doua subreea

6.

Numrul adreselor de staii valide este


- 2=62. Dac nlturm i adresa rezervat pentru
gateway, vor rmne 61 de adrese disponibile pentru staii.

7.

Prima adres disponibil pentru staii va fi:


131.85. 00000000.10 000010 /26 Adresa primei staii
131.85. 0.

130

/26 pentru a doua subreea

8. Pentru a determina cea mai mare adres de staie vom reprezenta cea mai mare
valoare pe ultimii 6 bii, dar care este diferit de 6 de 1 consecutivi, aceasta fiind
adresa de broadcast:
131.85. 00000000.10 111110 /26 Adresa ultimei staii
131.85. 0.
9.

190

/26 pentru a doua subreea

Cea de a patra subreea va avea n cmpul de subreea numrul 4 reprezentat binar pe 10 bii, iar n
cmpul de staie va avea 6 de 1:
131.85. 00000001.00 111111 /26 Adresa de difuzare

131.85. 1.
63
/26 pentru cea de a patra subreea
Una dintre confuziile frecvente este acea de a asocia adresele de difuzare cu adrese terminate n 255. Nimic
nu poate fi mai fals, dup cum i acest exemplu o dovedete. Rspunsul greit, dar mult mai popular printre
studeni la aceast ntrebare este: 131.85.1.255, cea ce, bineneles, reprezint adresa de difuzare pentru cea
de a aptea subreea.

5 ntrebri
1.

2.

Fie o staie cu adresa IP 177.22.14.20. Care este adresa de reea din care face parte aceast staie?
1.

177.22.0.0

2.

177.22.14.0

3.

177.22.14.20

4.

cu o masc de reea potrivit poate fi oricare dintre variantele de mai sus

Dac un ruter are o interfa serial S0, cu adresa IP 107.85.20.2/255.255.255.240 care este adresa
de broadcast folosit pentru hosturile din aceast subreea?

20

Reele de calculatoare

3.

4.

5.

6.

7.

1.

107.85.20.15

2.

107.85.20.255

3.

107.85.255.255

4.

107.255.255.255

Lector univ dr. C.N. Calistru

Ct de mare este poriunea pentru reea/subreea pentru masca de reea 255.255.240.0 folosit ntro adres de clas B?
1.

18 bii

2.

19 bii

3.

20 de bii

4.

Este o masc invalid pentru o adres de clasa B

Care dintre cele de mai jos este o adres valid de staie pentru o subreea cu masc 26?
1.

129.17.9.192

2.

148.37.8.31

3.

157.16.0.68

4.

193.230.36.191

Avem spaiul de adrese 50.9.0.0/16 pe care trebuie s definim 400 de subreele. Care este adresa
cea mai mic pe care o putem asigna unei staii?
1.

50.9.0.0

2.

50.9.0.129

3.

50.9.1.0

4.

50.9.1.1

Fie dou staii aflate n dou reele conectate printr-un ruter. Staia nr 1 transmite date ctre staia
nr 2. Dimensiunea tabelei ARP este mai mare:
1.

pentru staia nr. 2 dac se folosete proxy ARP

2.

pentru staia nr. 2 dac se folosete default gateway

3.

pentru staia nr. 1 dac se folosete proxy ARP

4.

pentru staia nr. 1 dimensiunea tabelei ARP este aceeai i dac am folosi proxy ARP i
dac am folosi default gateway

De pe o staie aflat ntr-o reea ce folosete adrese private se iniiaz 2 sesiuni http ctre acelai
site i una telnet. Cte porturi noi vor fi alocate pe serverul de NAT pentru acest nou trafic?
1.

2.

21

Reele de calculatoare

8.

9.

3.

4.

Lector univ dr. C.N. Calistru

Pe spaiul de adrese 148.27.32.0/20 trebuie create 23 subreele. Care va fi cea de a cincea adres
utilizabil din cea de a noua subreea?
1.

148.27.8.5

2.

148.27.36.133

3.

148.27.39.197

4.

148.27.40.5

Fie dou reele prima avnd nevoie de 3 de adrese, cea de a doua de 16. Care dintre spaiile de
adrese de mai jos ar duce la o pierdere a ct mai puine adrese?
1.

141.3.169.128/27

2.

41.63.69.128/26

3.

14.37.169.128/25

4.

8.3.1.0/24

10. Care dintre adresele de mai jos poate fi o adres de broadcast pentru o subreea ce ar include 62 de
staii?
1.

11.5.4.127/26

2.

194.7.54.0/26

3.

141.3.169.62/26

4.

nici una de mai sus

Bibliografie
1
***, ``Cisco 2500 Series Router Architecture'', Technical Note, Cisco Systems, 2003
2
***, ``Cisco 1600 Series Router Architecture'', Technical Note, Cisco Systems, 2003
3
***, ``Catalyst 2900XL Switch Architecture'', White Paper, Cisco Systems, 1997
4
***, ``Next Generation ClearChannel Architecture for Catalyst 1900/2820 Ethernet Switch'',
White Paper, Cisco Systems, 1997
5
***, ``Transmission Control Protocol, RFC 793'', 1981
6
***, ``Internet Protocol, RFC 791'', 1981
7
Bollapragada, V., Murphy, C., White, R., ``Inside Cisco IOS Software Architecure'', Cisco Press,
2000
8
Braden, R. (editor), ``Requirements for Internet Hosts - Communication Layers, RFC 1122'', 1989
9

22

Reele de calculatoare

Lector univ dr. C.N. Calistru

Jacobson, V., Karels, M. J., ``Congestion Avoidance and Control'', ACM Computer
Communication Review; Proceedings of the Sigcomm '88 Symposium in Stanford, CA, August,
1988
10
Kurose, J. F., Ross, K. W., ``Computer Networking: A Top-Down Approach Featuring the Internet,
Second Edition'', Addison Wesley, 2003
11
Nagle, J., ``Congestion Control in IP/TCP Internetworks, RFC 896'', 1984
12
Perlman, R., ``Interconnections: Bridges and Routers'', Addison-Wesley Longman, 1992
13
Postel, J., ``User Datagram Protocol, RFC 768'', 1980
14
Postel, J., ``Internet Control Message Protocol, RFC 792'', 1981
15
Ramakrishnan, K., Floyd, S., Black, D., ``The Addition of Explicit Congestion Notification (ECN)
to IP'', 2001
16
Smith, M.J., `` Application Specific Integrated Circuits'', Addison-Wesley Longman, 1997
17
Stevens, W. R., ``TCP/IP Illustrated Volume 1, The protocols'', Addison-Wesley, 1994
18
Tanenbaum, A.S., ``Reele de calculatoare, ed. 4'', Byblos SRL, 2003

23

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