Sunteți pe pagina 1din 13

Arhitectura Reţelelor şi Internet 1

CAP 2. NIVELUL REŢEA

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

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

2.1 PROTOCOLUL INTERNET (IP)


Cel mai important dintre protocoalele de nivel trei este protocolul Internet (IP –
Internet Protocol). IP are rolul de a ascunde detaliile de implementare a reţelelor fizice de
nivel inferior prin crearea unei reţele virtuale care operează la o scală mult mai mare.
IP este un protocol nefiabil, fără a însemna însă o calitate scăzută a acestuia, de tipul
“best effort”, iar livrarea pachetelor se realizează într-un mod fără conexiune. Apelativul “best
effort” se referă la faptul că pachetele transmise de către IP pot fi pierdute, pot sosi în altă
ordine decât cea de la transmisie sau chiar pot fi recepţionate de mai multe ori. De asemenea,
se presupune că protocoalele de nivel superior vor rezolva toate aceste probleme. Unul dintre
motivele pentru care s-a utilizat un protocol fără conexiune la vivelul reţea este pentru a
minimiza dependenţa de anumite centre de calcul utilizate în reţelele ierarhice orientate pe
conexiune. Departamentul de apărare al Statelor Unite (DOD – Department of Defense) a
creat în anii ‘70 o reţea (ARPANET) capabilă să funcţioneze chiar şi în cazul în care anumite
zone ale sale au fost distruse. Această soluţie s-a dovedit a fi validă şi pentru Internet.

IP este un protocol rutat, ceea ce înseamnă că alte protocoale de nivel reţea vor
efectua rutarea pachetelor IP. IP implementează funcţii, cum ar fi: adresarea utilizatorilor
(adrese IP), segmentarea pachetelor şi respectiv, reasamblarea pachetelor. Pentru operarea de
rutare se utilizează adresele din cadrul pachetului IP. Fiecare pachet este tratat ca o entitate
independentă, fără a se stabili vreo relaţie cu alte pachete. Segmentarea pachetelor de către
sursă, precum şi reasamblarea acestora la destinaţie sunt operaţii necesare pentru a respecta
dimensiunea cadrului impusă de către protocolul utilizat la nivelul legătură de date, specific
fiecărui tip de reţea fizică.

2.1.1 Pachetul IP
2 2. Nivelul Reţea

Formatul pachetelor IP este prezentat în figura 2.1.

Fig. 2.1 Formatul pachetului IP.

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


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

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

Fig. 4.2 Fanioanele pachetului IP.

Cei trei biţi au urmatoarele semnificaţii:


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

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

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


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

Fig. 2.3 Formatul general al adresei IPv4.

În funcţie de domeniul în care se află primul octet (p), mai exact primii 4 biţi, există
mai multe clase de adrese, notate A, B, C, D, etc. Aceşti biţi specifică delimitarea câmpurilor
identificatorilor de reţea şi de sistem (host). Identificatorul de reţea specifică reţeaua din care
face parte sistemul (sursă sau destinaţie), iar identificatorul de sistem specifică un sistem
particular din această reţea. Clasele se diferenţiază prin dimensiunea părţilor din adresă care
specifică reţeaua şi hostul şi sunt prezentate în tabelul 2.1.
Clasa Primul Tip adresă Reţea Host Nr. max. Masca implicită
octet (primii de hosturi
biţi)
A 1 – 126 0 p q.r.s 16777214 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 – – –

Tab. 2.1. Clasele de adrese IPv4.

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

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

2.1.2.1 Adresele IP rezervate


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

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


clasă B, 141.85.58.3 care are masca de reţea implicită 255.255.0.0. Atunci operaţia de
mascare a adresei este următoarea prezentată în figura 2.4.
6 2. Nivelul Reţea

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


reţea de clasă B.

2.1.2.2 Crearea de subreţele (subneting)


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

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

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

2.1.2.2.1 Divizarea statică în subreţele


Divizarea statică presupune ca toate subreţelele obţinute prin divizarea unei reţele să
utilizeze aceeaşi mască de subreţea. Deşi această metodă este simplu de implementat şi
administrat, prezintă dezavantajul irosirii unui spaţiu de adrese considerabil, mai ales in cazul
divizării unei reţele mici. În continuare se prezintă un exemplu de divizare a unei reţea de
Arhitectura Reţelelor şi Internet 7

clasă B în subreţele (prin împrumutarea a 4 biţi din câmpul de identificare a sistemului), cu


adresele de difuzare şi măştile subreţelelor corespunzătoare.

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

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

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

2.1.2.2.2 Divizarea în subreţele de dimensiuni variabile


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

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


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

posibilitatea existenţei unui număr mare de adrese irosite. Subreţelele rezultate în urma acestei
divizări sunt prezentate în figure 2.7.

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

2.1.3 Metode de livrare a pachetelor: unică destinaţie, difuzare, destinaţie multiplă şi


destinaţie oarecare
Majoritatea adreselor IP determină un destinatar unic, iar o astfel de adresă destinaţie
se numeşte adresă de unică destinaţie (unicast). Comunicaţiile unicast specifică o relaţie
bijectivă (unu-la-unu) dintre o singură sursă şi o singură destinaţie. În plus, există alte trei
tipuri speciale de adrese IP folosite pentru a adresa mai multe staţii receptoare: adrese de
difuzare, destinaţie multiplă şi destinaţie oarecare.

2.1.3.1 Difuzarea
Adresele de difuzare (broadcast) nu se pot folosi niciodată ca adrese sursă.
Întotdeauna, acestea vor specifica numai destinaţia. Există mai multe adrese de difuzare, după
cum urmează:
- Adresa de difuzare limitată: pentru această operaţie se utilizează adresa (toţi biţii 1 în
toate câmpurile adresei IP). Aceasta identifică toate sistemele dintr-o subreţea locală şi
deci, este recunoscută de fiecare staţie. Sistemele nu necesită nici o informaţie de
configurare a IP, iar ruterii nu redirectează aceste pachete. O excepţie de la această
regulă o reprezintă redirectarea BOOTP. Protocolul BOOTP foloseşte adresa de
difuzare limitată pentru a permite staţiilor de lucru fără disc dur să acceseze serverul
de iniţializare (boot). Redirectarea BOOTP este o opţiune de configurare disponibilă
pentru anumiţi ruteri. Fără această opţiune este necesară utilizarea unui server BOOTP
pentru fiecare subreţea;
- Adresa de difuzare în cadrul unei reţele: Această adresă este utilizată într-un
domeniu în care nu s-a efectuat divizarea în subreţele. În cadrul acestei adrese
identificatorul reţelei reprezintă un număr valid al unei reţele, iar identificatorul
sistemului are toţi biţii 1 (spre exemplu: 141.85.255.255). Această adresă identifică
toate sistemele din reţeaua specificată. Ruterii trebuie să redirecteze aceste mesaje de
difuzare. Această adresă este utilizată pentru cererile ARP efectuate într-o reţea fără
subreţele.
Arhitectura Reţelelor şi Internet 9

- Adresa de difuzare în cadrul unei subreţele: Dacă identificatorul reţelei este unul
valid, idenficatorul subreţelei este de asemenea valid, iar numărul sistemului este cu
toţi biţii 1, atunci adresa specifică toate sistemele din cadrul subreţelei respective.
Deoarece subreţeaua sursei şi subreţeaua destinaţiei pot avea măşti diferite, sistemul
sursă trebuie să determine masca subreţelei din care face parte sistemul destinaţie.
Difuzarea este efectuată în cadrul subreţelei de către ruterul care recepţionează
datagrama.

- Adresa de difuzare în toate subreţele dintr-o anumită reţea: Dacă identificatorul


reţelei este unul valid, reţeaua este divizată, iar numărul sistemului este cu toţi biţii 1
(spre exemplu: 141.85.255.255), atunci adresa specifică toate sistemele din toate
subreţelele din cadrul subreţelei respective. În principiu, ruterii pot propaga pachetele
de difuzare către toate subreţelele, dar nu este necesar să o facă. În practică, acest
lucru nu se realizează. Există foarte puţine situaţii în care acest tip de difuzare este
dorit, deoarece în cazul unei configurări greşite poate conduce la erori. Spre exemplu,
să considerăm sistemul dintr-o reţea de clasă A cu subreţele configurat greşit cu adresa
9.180.214.114. Dacă sistemul este configurat cu adresa 9.255.255.255 pentru difuzare
locală în loc să fie configurat cu adresa 9.180.214.255, atunci toţi ruterii din reţea vor
redirecta cererile către toate sistemele. Dacă ruterii utilizează adresa de difuzare în
toate subreţelele, atunci aceştia utilizează un algoritm numit redirectare înapoi
(reverse path forwarding) pentru a preveni ca mesajele de difuzare să se multiplice
necontrolat.

2.1.3.2 Transmisia cu destinaţia multiplă


Dacă un pachet IP este difuzat într-o subreţea, acesta este recepţionat de către fiecare
sistem din subreţea. Fiecare sistem procesează pachetul pentru a determina dacă protocolul de
la destinaţie este activ. Dacă acesta nu este activ atunci pachetul IP este eliminat. Metoda de
transmisie cu destinaţie multiplă (multicast) previne aceste pierderi prin formarea unor
grupuri de destinaţie. Fiecare grup este reprezentat printr-o adresă de clasă D. Pentru fiecare
adresă de destinaţie multiplă un grup de mai multe staţii urmăreşte pachetele adresate acestui
grup (host group). Pachetele transmise unei adrese de grup sunt redirectate numai către
membrii acelui grup de sisteme. Transmisia cu destinaţie multiplă permite stabilirea unor
legături de tipul unul către mai mulţi.

2.1.3.3 Transmisia cu destinaţie oarecare


În unele cazuri, aceleaşi servicii IP sunt oferite de sisteme diferite. Spre exemplu, o
astfel de situaţie este următoarea: un utilizator doreşte să transfere un fişier folosind FTP iar
fişierul este disponibil pe mai multe servere FTP. Sistemele care implementează acelaşi
serviciu oferă o adresă de destinaţie oarecare (anycast) tuturor sistemelor care solicită acel
serviciu. Astfel, cererea de serviciu este preluată de prima staţie care răspunde dintre staţiile
disponibile asociate adresei de destinaţie oarecare. Acest mecanism este utilizat pentru a
garanta că un serviciu este oferit de către sistemul cu cea mai bună legătură până la receptor.

2.1.4 Intrareţele: Adrese IP private


O procedură utilizată pentru a conserva spaţiul de adrese este de a relaxa regula
conform căreia adresele IP trebuie să fie unice la nivel global. Astfel, o parte din spaţiul de
adrese global este rezervată pentru reţele care nu sunt conectate la Internet. De obicei, aceste
reţele sunt administrate de o singură organizaţie. Trei mulţimi de adrese au fost rezervate
pentru acest scop:
- 10.0.0.0: o singură reţea de clasă A,
10 2. Nivelul Reţea

- de la 172.16.0.0 la 172.31.0.0: 16 reţele consecutive de clasă B,


- de la 192.168.0.0 la 192.168.255.0: 256 reţele consecutive de clasă C.
Orice organizaţie poate folosi oricare adresă din aceste trei mulţimi. Totuşi, deoarece
aceste adrese nu sunt unice la nivel global, nu sunt definite la nici unul dintre ruterii externi.
Ruterii din reţelele care nu utilizează adrese private, în particular, cele operate de furnizori de
servicii Internet, vor elimina tacit (fără mesaje ICMP) toată informaţia de rutare cu privire la
aceste adrese.
Ruterii din cadrul domeniului unei organizaţii care foloseşte adrese private vor limita
accesul referinţelor la adresele private la nivelul unor legături interne. De asemenea, aceştia
nu vor anunţa în exterior rute către adrese private şi nici nu vor redirecta datagrame IP
conţinând adrese private către ruterii externi.
Staţiile care au doar o adresă IP privată nu vor avea acces direct, prin intermediul
nivelului IP, la Internet. Toate legăturile cu sistemele externe din Internet se pot oferi numai
prin intermediul unor pasarele de nivel aplicaţie (application gateways). Un exemplu de
astfel de pasarele este prezentat în paragraful următor dedicat translatării adreselor de reţea
NAT (Network Address Translation).

2.1.5 Translatarea adreselor de reţea (NAT)


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

2.1.5.1 NAT Tradiţională


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

2.1.5.2 NAT de bază


Să considerăm o reţea internă bazată pe un spaţiu de adrese IP private, iar utilizatorii
solicită folosirea unui protocol aplicaţie pentru care nu există o pasarelă de nivel aplicaţie
disponibilă. În acest caz, singura opţiune disponibilă este să se stabilească o conectivitate de
nivel IP între sistemele din reţeaua internă şi sistemele din Internet.
Datorită faptului că ruterii din Internet nu vor cunoaşte cum să ruteze pachetele IP
înapoi la o adresă IP privată, este inutilă transmiterea pachetelor IP, cu câmpul de adresă sursă
specificând o adresă privată, printr-un ruter în Internet. Aşa cum este ilustrat în figura 2.8,
NAT de bază schimbă în mod dinamic adresa IP dintr-un pachet care iese din reţeaua internă
Arhitectura Reţelelor şi Internet 11

cu o adresă globală alocată oficial. Pentru pachetele care se propagă pe sensul de intrare în
reţeaua internă NAT de bază translatează adresa alocată oficial într-o adresă internă.

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

Din punctul de vedere al celor două sisteme care schimbă pachete IP între ele, unul
aflat în reţeaua internă şi celălalt aflat în reţeaua externă, NAT este transparent.

2.1.5.2.1 Mecanismul de translatare NAT de bază


Pentru fiecare pachet care iese din reţeaua internă, adresa sursă este verificată conform
regulilor de configurare NAT. Dacă una dintre reguli se aplică pentru adresa sursă, atunci
adresa este translatată într-o adresă globală din lista de adrese disponibile. Lista de adrese
predefinite conţine adresele pe care NAT le poate utiliza pentru translatare. Pe de altă parte,
pentru fiecare pachet de intrare în reţeaua internă, adresa destinaţie este verificată pentru o
eventuală utilizare de către NAT. Dacă se găseşte o corespondenţă NAT atunci adresa
destinaţie este schimbată cu adresa internă originală.
Adresele alocate trebuie rezervate prin scrierea într-o listă în vederea utilizării lor după
necesităţi. În cazul în care se iniţiază o transmisie din reţeaua internă, atunci NAT doar
selectează următoarea adresă publică disponibilă din tabela NAT şi o asociază sistemului
intern emitent. Serviciul NAT urmăreşte continuu asocierile făcute între adresele IP interne şi
adresele IP externe, astfel încât în cazul în care este nevoie să poată stabili o corespondenţă
între un răspuns recepţionat din reţeaua externă şi adresa IP internă corespunzătoare (vezi
figura 2.8).
Atunci când serviciul NAT alocă adresele IP la cerere, acesta trebuie să identifice
momentul în care poate returna adresa IP externă în tabela adreselor IP disponibile. În cadrul
protocolului IP nu este prevăzut nici un mecanism prin care serviciul NAT să poată determina
momentul în care asocierea făcută între adresa IP internă şi o adresă NAT externă nu mai este
necesară. Deoarece TCP este un protocol orientat pe conexiune, este posibil să se obţină din
antetul TCP un raport asupra stării conexiunii (cel puţin dacă conexiunea s-a încheiat sau nu),
în timp ce UDP nu poate furniza o astfel de informaţie. Prin urmare, în acest caz este necesară
configurarea unui interval de timp maxim în care NAT să menţină o asociere de adrese înainte
12 2. Nivelul Reţea

de a returna adresa IP externă listei NAT de adrese disponibile. În general, valoarea implicită
a acestui contor este de 15 minute.
De asemenea, administratorii reţelei trebuie să specifice NAT dacă toate staţiile
interne au dreptul de a utiliza NAT sau nu. Acest lucru se realizează prin configurarea
corespunzătoare a NAT. Dacă sistemele din reţeaua externă iniţiază o transmisie către sisteme
din reţeaua internă, atunci NAT trebuie configurată în prealabil astfel încât să cunoască care
dintre adresele NAT externe poate fi asociată unei anumite adrese IP interne. Astfel, ar trebui
definită o asociere statică pentru a permite legături din reţelele externe către un anumit sistem
din reţeaua internă. Trebuie menţionat faptul că adresele NAT externe fiind asociate static
unor adrese IP interne nu se pot suprapune cu adresele specificate în lista de adrese externe
disponibile, pe care NAT le asociază la cerere. Spre exemplu, serverul de nume extern poate
conţine o corespondenţă de nume pentru un server de poştă electronică care rulează pe o
maşină din reţeaua internă. În acest caz, serverul extern de nume rezolvă numele sistemului
public al serverului intern de poştă electronică cu o adresă asociată static (adresa externă), iar
serverul extern de poştă va trimite cererea de conexiune către acestă adresă IP. Atunci când
cererea ajunge la serviciul NAT pe interfaţa externă, acesta citeşte lista de reguli de asociere
pentru a decide dacă conţine o asociere statică între adresa publică IP externă specificată şi o
adresă IP internă. Dacă există o astfel de asociere, atunci NAT translatează adresa IP şi
redirectează pachetul IP în reţeaua internă către serverul de poştă electronică.

2.1.5.3 Translatarea adreselor de reţea şi a porturilor NAPT


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

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

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

2.1.5.4 Limitările NAT


În cadrul acestui paragraf se vor analiza câteva dintre limitările serviciului NAT.
Arhitectura Reţelelor şi Internet 13

S-a constatat că NAT funcţionează bine pentru adresele IP aflate în antetul


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

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


Rutarea IP clasică utilizează numai adresele de reţea din clasele A, B şi C. În fiecare
dintre aceste reţele se poate utiliza divizarea în subreţele pentru o mai bună granularitate.
Totuşi, nu există nici o posibilitate de a stabili o anumită relaţie între mai multe reţele de clasă
C, spre exemplu. Consecinţa acestor neajunsuri poartă numele de problemă a explodării
tabelei de rutare. Spre exemplu, o reţea de clasă B de 3000 de sisteme necesită o singură
intrare în tabela de rutare la fiecare dintre ruterii de magistrală (backbone routers). Dacă
acelaşi domeniu este adresat ca o mulţime de reţele de clasă C, atunci este nevoie de 16 intrări
în tabela de rutare. Soluţia la această probleme este rutarea intre domenii fără clase de adrese
CIDR (Classless Inter-Domain Routing).
CIDR nu efectuează rutarea după clasa din care face parte reţeaua (de aceea se
numeşte fără clase). Această metodă se bazează numai pe biţii cei mai semnificativi ai adresei
de reţea, care constituie prefixul IP.
Fiecare locaţie din tabela de rutare CIDR conţine o adresă de 32 de biţi şi o mască de
reţea de 32 de biţi, care împreună permit identificarea lungimii şi a valorii prefixului IP.
Această locaţie este reprezentată ca o structură <adresă_IP mască_reţea>. Spre exemplu,
pentru a adresa un grup de 8 adrese de clasă C cu o singură locaţie în tabela de rutare este
suficientă următoarea reprezentare: <192.32.136.0 255.255.248.0>. Această informaţie face
referire la domeniul de reţele de clasă C, în ordine, de la 192.32.136.0 până la 192.32.143.0,
care este văzut ca o singură reţea. Acest exemplu este ilustrat în figura 2.10.

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

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

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