Documente Academic
Documente Profesional
Documente Cultură
Masterand
Ctlin Crmaciu,
An VI, Master ISC
2. Protocolul IP
Rolul protocolului IP este atat de important n cadrul transferului de date inter
reele nct poate fi considerat pe bun dreptate elementul central al Internetului. Sarcina
acestui protocol este de a oferi o cale pentru a transporta datagramele de la surs la
destinaie, fr a ine seama dac mainile sunt sau nu n aceeai reea sau dac sunt sau
nu alte reele ntre ele. Teoria spune c datagramele IP pot s aib fiecare pn la 64 de
Koctei, dar n practic acestea au n jur de 1500 de octei. Fiecare din aceste datagrame
este tranmis prin Internet, eventual fragmentat n uniti mai mici. Cnd toate aceste
uniti ajung la destinaie, ele sunt reasamblate de nivelul reea, formnd datagrama
original care este pasat nivelului transport de pe maina receptoare.
O datagram IP este alctuit dintr-o parte de antet(header) i o parte de text.
Antetul are o parte fix de 20 octei i o parte opional cu lungime variabil. Structura
antetului IP este prezentat n continuare:
4 bii
Versiune
4 bii
8 bii
IHL
Tip serviciu
Identificare
16 bii
Lungime total
Flags(3 biti)
Deplasament fragment
Protocol
Sum de control
Adres surs
Adres destinaie
Opiuni
Figura 1: Structura antetului IP
Cei trei indicatori (flaguri) permit sursei s stabileasc factorii care o afecteaz cel
mai
mult: ntrzierea, throughput-ul (productivitatea) sau fiabilitatea. Aceste cmpuri au fost
introduse pentru a sprijini deciziile pe care le au de luat routerele. Majoritatea routerelor
ignor ns aceti indicatori.
Cmpul lungime total se refer la ntregul coninut al datagramei: antetul i
datele. Lungimea maxim este de 65535 de octei. La ora actual pot fi transmise
datagrame mai mari de aceast dimensiune doar n msura n care destinatarul este
capabil s le accepte.
Prin intermediul cmpului identificare destinatarul unei datagrame determin
crei
datagrame aparine un anumit pachet. Toate fragmentele unei anumite datagrame conin
aceeai
valoare de identificare.
Cmpul deplasamentul fragmentului este precedat de dou indicatoare: DF i
MF. DF (Dont Fragment) indic ruterelor s nu fragmenteze o datagram deoarece
calculatorul destinaie nu este capabil s le asamblaze la loc. Toate calculatoarele trebuie
s accepte fragmente de 576 octei sau mai mici. MF (More Fragments) este indicatorul
care arat dac toate frgamentele unei datagrame au ajuns la destinaie. Toate
fragmentele, cu excepia ultimului au acest indicator activat.
Dup aceti indicatori urmeaz deplasamentul fragmentului, care indic locul
fragmentului curent n cadrul datagramei. Toate fragmentele unei datagrame, cu excepia
ultimului, trebuie s fie multipli de 8 octei. Cum acest cmp are o lungime de 13 bii,
nseamn c exist maxim 213 fragmente pe datagram (8192) i o lungime maxim a
acesteia de 65536 de octei.
Timpul de via este un contor folosit pentru a limita durata de via a pachetelor.
Acest timp este msurat n secunde, avnd o valoare maxim de 255 de secunde. Prin
intermediul su se previne ca un pachet s circule la infinit prin reea. n practic TTL
contorizeaz doar hop-urile (salturile, ruterele) dintr-o reea n alta.
Dup ce reasamblez datagramele, nivelul reea trebuie s tie ce s fac mai
departe cu
acestea. n acest moment intervine cmpul protocol care spune nivelului reea crui
proces de transport trebuie pasat datagrama. Printre cele mai importante protocoale pot
fi menionate: ICMP - Internet Control Message Protocol, IGMP - Internet Group
Management Protocol, RGMP - Router-port Group Management Protocol, TCP Transmission Control Protocol, EGP - Exterior Gateway Protocol, IGRP Interior
Gateway Routing Protocol, UDP- User Datagram Protocol, IPv6 over IPv4, EIGRP,
OSPF - Open Shortest Path First, MOSPF - Multicast Open Shortest Path First.
Suma de control a antetului trebuie recalculat de fiecare dat cnd antetul unei
datagrame se modific (de obicei la trecerea dintr-o reea n alta) i detecteaz erorile
generate n memoria routerelor.
Cmpurile adres surs i adres destinaie vor fi discutate n paragrafele
urmtoare. Ele indic cine este la originea datagramei i cine este destinatarul acesteia.
Cmpul opiuni, a crui lungime este variabil, a fost inclus pentru a permite dezvoltarea
versiunilor viitoare ale protocolului.
octet. Pentru a recunoate o adres din clasa C se analizeaz primii trei octei: primul
octet ia valori ntre 192-223, al doilea i al treilea octet pot lua valori ntre 1-255. Toate
adresele din clasa C folosesc primii 24 de bii pentru a identifica reeaua din care face
parte un dispozitiv. Doar ultimul octet este rezervat poriunii host Orice reea care
folosete adrese din clasa C poate aloca 2 la puterea a 8a -2 (254) adrese echipamentelor
ataate acesteia.
Orice adres IP identific un echipament ntr-o reea i reeaua cruia i aparine.
Dac spre exemplu un calculator doreste s comunice cu altul din reea, ar trebui s tie
adresa IP a celui din urm. De fapt ar trebui s tie adresele tuturor calculatoarelor cu care
ar dori s comunice, lucru care ar fi destul de complicat. Acest neajuns este rezolvat prin
urmtorul mecanism: adresele IP care au toat poriunea de host cu valoarea 0 sunt
rezervate ca adrese de reea.
Cnd se transmit date ctre toate echipamentele dintr-o reea trebuie creat o
adres de broadcast (difuzare). Broadcast-ul apare cnd staia surs transmite date ctre
toate celelalte dispozitive din reea. Dar pentru a fi sigur c toate aceste dispozitive sunt
atente la mesajul broadcast, staia surs trebuie s foloseasc o adres IP pe care s o
recunoasc toate celelalte echipamente din reea. De obicei, ntr-o astfel de adres, biii
din poriunea host au toi valoarea 1.
Poriunea network din cadrul unei adrese IP se numete identificatorul reelei
(network ID). ntr-o reea, hosturile pot comunica ntre ele doar dac au acelai
identificator de reea. Acestea pot s partajeze acelai segement fizic de reea, dar dac au
identificatori de reea diferii, nu pot comunica dect dac exist un alt dispozitiv care s
realizeze conexiunea ntre sgementele logice ale reelei (sau identificatorii acestora).
Poriunea host din cadrul unei adrese IP se numete identificator host i
reprezint zona prin intermediul creia se identific un dispozitiv dintr-o reea. Dup cum
s-a artat deja, fiecare clas de adrese IP permite un numr fix de hosturi. Dar nu trebuie
scpat din vedere faptul c prima adres din fiecare reea este rezervat pentru a
identifica reeaua, iar ultima adres este rezervat pentru broadcast.
4. Adresarea IP n subreele
De cele mai multe ori, n practic, pentru o mai mare flexibilitate, administratorii
de
reea sunt nevoii s mpart o reea n dou sau mai multe subreele. Similar cu poriunea
host din cele trei clase de adrese, adresele pentru subreele pot fi atribuite de ctre
administratorul de reea. Mai mult, ca i n cazul general, adresele subreelelor sunt unice.
Adresa pentru o subreea include numrul (identificatorul) reelei, numrul subreelei i
numrul hostului. Pentru a crea o subreea, administratorul trebuie s mprmute bii din
poriunea de host a unei clase i s-i foloseasc n cadrul cmpului subreea. Numrul
minim de bii ce pot fi mprumutai din zona host este 2. Dac se dorete a se mprumuta
doar 1 bit pentru a crea o subreea, atunci vom fi n situaia de avea un singur numr
pentru
reea (0) i o adres de broadcast (1). Numrul maxim de bii ce pot fi mprumutai din
poriunea host poate fi oricare cu condiia de a pstra cel puin 2 bii pentru identificatorul
de host.
Termenul tradiional de prefix pentru reele extinse sau subnet mask sau mask se
refer
la identificatorul care spune dispozitivelor dintr-o reea care parte dintr-o adres IP
reprezint prefixul reelei, care parte reprezint numrul subreelei i care este numrul
hostului. O masc de subreea este o adres IP i are tot 32 de bii. Biii din poriunea
network id i subnet au valoarea 1 n timp ce biii din poriunea host au valoarea 0.
ntr-o reea IP, cea mai mic adres este adresa de reea, sau identificatorul
acesteia.
Aceast afirmaie este valabil i n cazul subreelelor: adresa cea mai mic este adresa
subreelei. Ruterul este dispozitivul de reea care realizeaz operaii booleene (pentru a ti
pe ce traseu trebuie s trimit informaiile), iar dintre acestea cea mai important este
AND.
Pentru a identifica o subreea, ruterul realizeaza un I logic ntre adresa IP i
subnet mask-ul, rezultatul obinut reprezentnd numrul reelei/subreelei: masca unei
subreele este tot o adres IP, avnd 32 de bii separai n patru octei. ntr-o masc de
reea, toi biii din poriunea network/subnetwork au valoarea 1, iar cei din poriunea host
0.
Spre exemplu dac nu s-au mprumutat bii pentru calcularea subreelelor,
masca de reea pentru o reea de clas B va fi implicit 255.255.0.0. Dac s-ar mprumuta
8 bii din poriunea host, masca de subreea a acestei clase ar deveni 255.255.255.0.
Deoarece poriunea host are doar doi octei, numrul maxim al biilor ce pot fi
mprumutai pentru obinerea de subreele este 14.
De fiecare dat cnd se mprumut cte 1 bit din poriunea host, numrul
subreelelor create crete cu 2 la puterea numrului biilor mprumutai. Efectul imediat al
unui astfel de calcul: de fiecare dat cnd se mprumut un bit din poriunea host a unei
adrese, numrul adreselor disponibile pentru o subreea se reduce cu o putere a lui 2.
Dac lucrurile s-ar opri aici ar fi aproape bine. Din pcate, la crearea unei
subreele trebuie avut n vedere i maniera n care aceste subreele i hosturile asociate
lor vor fi optimizate. De ce? Am amintit deja c nu se pot folosi prima i ultima subreea.
De asemenea nu se pot folosi prima i ultima adres din cadrul fiecrei subreele: una este
adresa de broadcast a reelei iar cealalt este adresa de reea. Prin urmare, atunci cnd se
realizeaz subreele se pierd ceva adrese. Administratorul de reea trebuie s fie atent la
procentul adreselor care se pierd n urma unor astfel de calcule.
De exemplu, cnd mprumutm 2 bii din poriunea host, vom obine 4 subreele,
fiecare
a cte 64 hosturi. ns doar dou din aceste reele vor putea fi folosite, i doar 62 hosturi
pe
reea vor fi disponibile. Ce nseamn acest lucru? C avem la dispoziie 124 adrese n loc
de
256, cte ar fi fost nainte de mprirea reelei n subreele.
n fiecare clas de adrese IP, exist anumite adrese care nu sunt atribuite de
InterNIC.
Acestea sunt denumite adrese private sau rezervate.
Adresa 127.0.0.1 este rezervat, fiind alocat calculatorului local (local host). Se
mai
numete si adres de loop back (bucl). Acest numar va fi selectat pentru accesarea
serverului Web instalat pe calculatorul propriu sau pentru a testa funcionarea cartelei de
reea.
Pentru clasa A este utilizat ID 10, adic adresele de la 10.0.0.0 la 10.255.255.255.
Pentru clasa B, se folosesc ID-urile de la 172.16.0.0 pn la 172.31.0.0. Pentru clasa C
sunt
disponibile adresele ncepnd cu 192.168.0.0 pna la 192.168.255.0 (256 de adrese).
Calculatoarele care nu se conecteaz la Internet, care nu folosesc un proxy server, sau
care nu folosesc network address translation (NAT), pot folosi astfel de adrese. Exist o
mulime de aplicaii care nu necesit conectivitate extern pentru calculatoare.
numit network address translation astfel nct o singur adres IP poate fi imprit de
un numr mare de hosturi. De ce nu este eficient a se folosi NAT n reele mari?
Hosturile sub un device NAT primesc adrese n blocurile 10.0.0.0, 172.16.0.0 sau
192.168.0.0 ce au fost lsate pentru uz privat n RFC 1918. Echipamentul NAT
nlocuiete adresa privat n pachetele trimise de host n reeaua intern cu propria sa
adres i invers pentru pachetele primite. Astfel, mai multe calculatoare pot mpri o
singur adres public. NAT are ns cteva dezavantaje. n primul rnd, conexiunile
incoming nu mai funcioneaz, deoarece, n momentul n care o cerere de sesiune vine
din afar, echipamentul NAT nu tie crui host intern i este adresat. Aceast problem
se poate rezolva n mare cu port mappings i protocoale precum uPnP i NAT-PMP.
Lucrurile se complic pentru aplicaiile ce au nevoie de referrals. NAT distruge
protocoalele ce se ocup de adrese IP embedded. De exemplu, cu VoIP, computerul client
spune serverului Te rog trimite apelurile ctre aceast adresa. Evident acest lucru nu
merge dac adresa respectiv este privat. Ocolirea acestui impediment implic foarte
mult logic special case n echipamentul NAT, protocolul de comunicaie i/sau
aplicaie. Pentru acest motiv i alte cteva, cei mai muli oameni ce particip n Internet
Engineering Task Force (IETF) nu sunt foarte ncntai de NAT.
n orice caz, mai la obiect, NAT este deja foarte folosit i tot sunt necesare 170
milioane de noi adrese IP pe an.
n zilele de nceput ale Internetului, unele organizaii au primit blocuri de adrese
excesiv de mari. De exemplu, IBM, Xerox, HP, Dec, Apple i MIT au primit blocuri de
adrese class A de aproximativ 17 milioane de adrese. (Astfel, HP, care a achiziionat
DEC, are mai mult de 33 de milioane de adrese). Eliberarea acelor blocuri ar necesita un
efort imens i ar mai oferi doar civa ani: n momentul de fa terminm un bloc de
adrese class A n 5 sptmni. Este discutabil ct timp putem face ca spaiul pentru
adresele IP s fie disponibil, mai ales c din ce n ce mai multe echipamente, precum
telefoane VoIP, se conecteaz la Internet. Aa c, la nceputul anilor 90, din nevoia
rezolvrii optime a problemei crizei spaiului de adrese, IETF a nceput proiectul noii
generaii IP (IP next generation).
6. Adresarea n IPv6
Proiectul IPng a rezultat n IPv6 n 1995. Pe lng adresele sursei, destinaiei i
alte informaii, fiecare pachet IP conine i un numr de versiune. Din motive netiute
pachetele curente IP sunt versiunea 4, iar primul numr de versiune valabil pentru noul
protocol era 6. Astfel, vechiul IP este acum numit IPv4, iar cel nou este IPv6. Pe lng
autoconfigurare i alte detalii minore, IPv6 suport n primul i cel mai important rnd
adrese mai mari. Mult mai mari. 40 sau 48 de bii ne-ar fi dat mai mult de un trilion sau
respectiv 281 trilioane de adrese, iar 64 de bii ar fi fost un numr rotund. Dar IETF au
optat pentru 128 de bii. Numrul total de posibile adrese ce ne sunt astfel oferite este de
340.282.366.920.938.463.463.374.607.431.768.211.456. Adresele IPv4 sunt scrise prin
mprirea lor n 4 valori pe 8 bii i adugarea punctelor ntre ele, de exemplu 192.0.2.31.
Adresele IPv6 pe de alt parte sunt scrise ca opt valori pe 16 bii cu dou puncte (:) ntre
ele iar fiecare valoare de 16 bii este afiat n hexazecimal, folosind numere i litere de
la A la F. Un exemplu de adres IPv6 este 2001:db8:31:1:20a:95ff:fef5:246e. Nu este
10
* Multicast - reprezint un grup de adrese, deci fiecare pachet trimis ctre o adres
multicast este primit de toi membrii grupului. Adresele multicast ncep cu ff i pot fi
folosite pentru aplicaii unde mai multe hosturi trebuie s primeasc aceeai informaie n
acelai timp, cum ar fi transmisii video n direct i de asemenea pentru configurarea
automat i descoperire de reele (autoconfiguration i discovery).
Cnd ruleaz sub Ethernet sau WiFi, hosturile IPv4 folosesc broadcasturi pentru
funcii de descoperire. De exemplu, pentru a putea trimite un pachet prin Ethernet este
necesar s fie tiut adresa MAC a destinaiei. Astfel IPv4 trimite cine este 192.0.31?
ctre toate sistemele din reeaua n cauz. IPv6 pe de alt parte trimite aceste pachete unei
adrese multicast astfel c doar hosturile IPv6 ce ascult aceste cereri le vad; pe alte
sisteme hardware-ul Ethernet ignor pachetele i este chiar posibil ca switch-urile s le
filtreze prin memorarea grupurilor de hosturi multicast i ascultarea fiecruia.
8. Avantajele IPv6
Dac ar fi s sumarizm avantajele IPv6, printre cele mai importante ar putea fi
menionate urmtoarele:
Opiunile sunt specificate ntr-o extensie a header-ului care este examinat
numai la destinaie, ceea ce conduce la creterea performanei globale a
reelei.
Introducerea adreselor anycast asigur posibilitatea de a trimite un mesaj
celei mai apropiate din mainile gateway posibile n ideea c oricare din
ele poate s rezolve naintarea (forwarding) pachetelor mai departe n
reea. Mesajele anycast pot fi folosite pentru actualizarea tabelelor de
rutare de-a lungul liniilor de comunicaie.
Pachetele pot fi identificate ca aparinnd unui "flux de transmisie"
particular astfel nct pachetele care sunt pri ale unei prezentri
multimedia, de pild, care trebuie s ajung la destinaie n timp real pot
beneficia de un indicator QoS mult mbuntit.
Header-ul IPv6 include acum extensii ce permit unui pachet s specifice
un mecanism de autentificare n legtur cu proveniena sa, pentru
asigurarea integritii datelor i pentru asigurarea confidenialitii.
IPv6 ncearc s fac mai uoar construirea de routere mai rapide. El nu are de
actualizat sume de control n header pentru routere, nu are fragmentare n routere, nu are
opiuni n header-ul principal IPv6 i are o dimensiune a cuvntului de 64 de bii.
Din nefericire, adresele de lungimi mai mari (128 de bii) dau mai mult de lucru
routerelor, ceea ce poate anula multe din avantajele sale fa de IPv4. IPv6 acioneaz
ntr-un anumit fel ca un update de caracteristici la IPv4. Asta nseamn c exist un
numr de lucruri ce pot fi prezente opional ntr-o implementare IPv4, ns ele sunt
obligatorii ntr-o implementare IPv6.
Ca exemplu pot fi amintite suportul pentru multicasting, configurarea automat a
host-ului, path MTU (Maximum Transmission Unit) discovery, i funcii de securitate IP.
n IPv4 toate caracteristicile enumerate sunt opionale. n IPv6 este sigur c toate
implementrile echivalente vor fi puse la dispoziia utilizatorului.
11
Asta nu nseamn c, dac nu sunt necesare, ele trebuie i s fie utilizate, adic
dac implementarea este obligatoriu s o aib, utilizatorul are opiunea s-o utilizeze sau
nu n funcie de necesiti).
12
13
14
la tunelurile de intrare n reea. La fiecare tunel de intrare trebuie inut o eviden despre
fiecare pachet, cu informaii ca: cellalt capt al tunelului, MTU (Maximum Transfer
Unit) n tunel etc.
Exist mai multe metode de tunelare. Diferena ntre ele const n modul de
gestiune al informaiilor despre tunele. n principiu, sunt trei abordri de baz: automat
(se folosesc adrese Ipv6 compatibile Ipv4, i din aceastea se vor obine automat adresele
capetelor tunelelor), configurat (mapri Ipv6-Ipv4 definite de administrator) i metoda
tunnel-broker (un server care gestioneaz tunelele).
Diferitele metode au propriile lor avantaje i dezavantaje. O caracteristic comun
a lor este c nici una dintre metode nu este potrivit pentru comunicarea de tip numai
Ipv6 - numai Ipv4. Singura metoda prin care se poate realiza acest lucru este
translaia. Soluiile de translaie se bazeaz pe translatarea pachetelor la un anumit nivel
din stive de protocoale.
Exist trei implementri de baz pentru metodele de translaie:
Gateway la nivel de aplicaii (Application Layer Gateway): se face o
conversie de protocoale complet, adic se fac transformrile necesare la
fiecare nivel din stiva de protocoale
TRT Transport Layer Translator: capteaz pachetele TCP-UDP/Ipv6 i
le transmite mai departe ca pachete TCP-UDP/Ipv4, i invers.
Header Converter: convertete antetul Ipv4 n antet Ipv6, i invers. n
cadrul acestei metode putem aminti: metodele NAT-PT (Network Address
Translator Protocol Translator), SIIT (Stateless IP/ICMP Translator).
15
13. Concluzii
n continuare vor fi trasate cteva concluzii legate de obiectul acestei expuneri.
Fr ndoial, protocolul IP constituie baza comunicrii pe Internet, i versiunea
curent nu mai poate satisface cerinele de astzi. Din acest motiv avem nevoie de un nou
protocol care a fost definit deja n 1994.
Cea mai mare problem a protocolului Ipv4 este spaiul de adresare redus. Soluia
noului protocol la aceast problem este extinderea adreselor de la 32 de bii la 128 de
bii. n plus, noul protocol are caracteristici care se bazeaz pe experiena acumulat dealungul istoriei de 30 de ani a Ipv4. Dintre aceste caracteristici cele mai importante sunt:
noua structur de adresare, configurare automat, multicast, securitate, antetul simplificat,
suport pentru QoS, mobilitate, compatibilitate Ipv4 etc.
Tranziia ctre Ipv6 nu este ntotdeauna un deziderat fr dificulti (probleme
materiale, administrative, tehnice), dar introducerea lui poate fi benefic datorit
facilitilor amintite mai sus, chiar i atunci cnd sunt disponibile suficiente adrese Ipv4.
Dndu-se seama de aceste oportuniti, marile firme IT i-au dezvoltat propriile
lor implementri Ipv6, i deja funcioneaz foarte multe reele de test i reale bazate pe
noul protocol.
16
14. Biliografie
[1] Martin P. Clark , Data Networks, IP and the Internet: Protocols, Design and
Operation, Ed .John Wiley & Sons, 2003
[2] J. Long, Storage Networking Protocol Fundamentals, Ed. Cisco Press
[3] Illustrated TCP/IP de Matthew G. Naugle Wiley Computer Publishing, John Wiley &
Sons, Inc, 1998
[4] http://docs.securityorg.net/Rutarea_in_internet.pdf
[5] http://www.microsoft.com/ipv6
[6] http://www.ipv6.org/specs.html
17