Document, comentariu, eseu, bacalaureat, liceu si facultate
Top documenteAdmitereTesteUtileContact
      
    


 


Ultimele referate adaugate

Adauga referat - poti sa ne ajuti cu un referat?

Politica de confidentialitate



Ultimele referate descarcare de pe site
  CREDITUL IPOTECAR PENTRU INVESTITII IMOBILIARE (economie)
  Comertul cu amanuntul (economie)
  IDENTIFICAREA CRIMINALISTICA (drept)
  Mecanismul motor, Biela, organe mobile proiect (diverse)
  O scrisoare pierduta (romana)
  O scrisoare pierduta (romana)
  Ion DRUTA (romana)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  COMPORTAMENT PROSOCIAL-COMPORTAMENT ANTISOCIAL (psihologie)
  Starea civila (geografie)
 

Ultimele referate cautate in site
   domnisoara hus
   legume
    istoria unui galban
   metanol
   recapitulare
   profitul
   caract
   comentariu liric
   radiolocatia
   praslea cel voinic si merele da aur
 
despre:
 
PROTOCOALE UTILIZATE IN RETELE LOCALE: IPX/SPX, TCP/IP
Colt dreapta
Vizite: ? Nota: ? Ce reprezinta? Intrebari si raspunsuri
 

r8c16cj
Protocoalele IPX si SPX reprezinta doua tipuri de baza de protocoale de comunicatie in retele: IPX nu se bazeaza pe conexiuni, pe cand SPX este orientat catre conexiune. Vor fi aratate avantajele si dezavantajele fiecarui tip de protocol si vor fi prezentate structurile pachetelor IPX si SPX.

1 Protocolul IPX

Netware IPX este un protocol bazat pe datagrame (fara conexiune). Termenul fara conexiune inseamna ca atunci cand o aplicatie foloseste IPX pentru a comunica cu alte aplicatii din cadrul retelei, nu este stabilita nici o conexiune sau cale de date intre cele doua aplicatii. Deci, pachetele IPX sunt trimise catre destinatiile lor, dar nu se garanteaza si nici nu se verifica faptul ca acestea ajung sau nu la destinatie. Termenul datagrama (datagram) desemneaza faptul ca un pachet este tratat ca o entitate individuala, care nu are nici o legatura sau relatie secventiala cu alte pachete.
IPX executa functii echivelente nivelului retea din modelul OSI. Aceste functii includ adresare, rutare si transfer de pachete pentru schimburi de informatie, functiile IPX fiind dedicate transmisiei de pachete in cadrul retelei.

Avantaje si dezavantaje

Deoarece IPX executa doar sarcinile nivelului retea din modelul OSI, ofera beneficiile vitezei si performantei care rezulta din incarcarea mica pe care o produce. Totusi, serviciile IPX sunt insuficiente daca sunt necesare garantiile nivelului transport. IPX este deci folosit in cazul in care este potrivit tipului particular de aplicatie, alegand in functie de caz IPX sau SPX.
Principalele avantaje si dezavantaje ale IPX sunt:

• Disponibilitatea simultana a sursei si destinatiei nu este necesara, deoarece nu exista o conexiune predeterminata. Totusi, sursa nu primeste nici o confirmare a faptului ca destinatia a primit datele;
• Flexibilitatea in rutarea pachetelor este mare, deoarece nu este necesara o ruta predeterminata a pachetelor;
• Pachetele pot fi trimise catre destinatii multiple pur si simplu prin duplicarea pachetului si schimbarea adresei destinatie.




Un mesaj se poate trimite folosind IPX prin plasarea mesajului in portiunea de date a unui pachet IPX, la fel ca si punerea unui mesaj intr-un plic. Headerul pachetului IPX trebuie sa contina reteaua destinatie, numerele de nod si soclu (adica adresa la care trebuie trimis pachetul). IPX trimite fiecare pachet individual prin diferite subretele (posibil pe diferite rute pentru a profita de traficul mai scazut) pana cand pachetul atinge destinatia. Deoarece fiecare pachet este o entitate individuala, rutarea si secventierea pachetelor poate sa varieze.

Cand pachetul ajunge, sursa nu primeste nici o informatie privind livrarea cu succes a pachetului. Doar daca destinatia ia hotararea sa trimita un pachet catre sursa, sursa poate fi sigura de ajungerea pachetului la destinatie. Oricum, IPX trimite cu succes aproximativ 95% din numarul pachetelor.


1.1 Structura pachetului IPX

Pachetul IPX este identic din punct de vedere al structurii cu un pachet Xerox IDP. El are doua parti: un header de 30 de octeti si o portiune de date cu o lungime intre 0 si 546 octeti. Lungimea minima a pachetului este 30 octeti (doar headerul), iar lungimea sa maxima este 576 octeti (30+546). Structura pachetului IPX este prezentata in tabelul 1.
Toate campurile sunt structurate high-low, adica cel mai semnificativ octet al campului este primul.

Offset
Continut Tip
0 Checksum BYTEs2t
2 Length BYTEs2t
4 Transport Control BYTE
5 Packet Type BYTE
6 Destination Network BYTEs4t
10 Destination Node BYTEs6t
16 Destination Socket BYTEs2t
18 Source Network BYTEs4t
22 Source Node BYTEs6t
28 Source Socket BYTEs2t
30 Data Portion bytes0?546t

Tabelul 1. Structura pachetului IPX.

Semnificatia campurilor headerului este urmatoarea:

Checksum (Suma de control)
Acest camp a fost inclus pentru conformitate cu headerul original Xerox. IPX il incarca totdeauna cu valoarea 0FFFFh. Cartelele de retea aplica sume de control intregului pachet IPX, deci acest camp nu este necesar.

Length (Lungime)
Acest camp contine lungimea intregului pachet (header+date). Valoarea lui minima este 30, iar cea maxima 576. IPX seteaza acest camp.

Transport Control (Controlul transportului)
Acest camp este folosit de bridge-urile inter-retea NetWare. IPX il incarca cu valoarea 0.

Packet Type (Tipul pachetului)
Acest camp indica tipul de serviciu oferit sau cerut de catre pachet. Xerox a definit urmatoarele valori (totusi, utilizatorii IPX trebuie sa seteze valoarea acestui camp la 0 sau 4):
• 0 - Pachet necunoscut;
• 1 - Pachet care contine informatii de rutare;
• 2 - Pachet in ecou;
• 3 - Pachet de eroare;
• 4 - Packet Exchange Packet (pachet IPX);
• 5 - Sequenced Packet Protocol Packet (pachet SPX);
• 16?31 - Protocoale experimentale;
• 17 - Protocol NetWare Core (Core = miez).

Utilizatorii IPX trebuie sa seteze tipul pachetului la 0 sau 4, iar utilizatorii SPX trebuie sa-i dea valoarea 5.

Destination Network (Reteaua destinatie)
Acest camp contine numarul retelei careia ii apartine nodul destinatie. in cazul NetWare, retelele din cadrul unei retele globale primesc de la administratorul retelei globale un numar unic de 4 octeti. Cand acest camp este 0, nodul destinatie este in aceeasi retea ca si nodul sursa, pachetul nefiind procesat de un bridge inter-retea.

Destination Node (Nodul destinatie)
Acest camp contine adresa fizica a nodului destinatie. Lungimea acestui camp este variabila in functie de topologia retelei. Un nod din cadrul unei retele Ethernet va avea o adresa fizica de 6 octeti, pe cand un nod din cadrul unei retele Omninet va avea o adresa de un octet. Daca o adresa fizica are lungimea mai mica de 6 octeti, adresa trebuie sa ocupe cea mai putin semnificativa pozitie in cadrul campului, prima parte a acestuia trebuind completata cu zero. O adresa de nod egala cu 0FFFFFFFFFFFFh (6 octeti formati numai din biti unu) identifica un pachet broadcast.

Destination Socket (Soclul destinatie)
Acest camp contine adresa soclului procesului destinatie a pachetului. Soclurile ruteaza pachetele catre diferite destinatii in cadrul aceluiasi nod. Xerox a rezervat urmatoarele numere de socluri:
• 1 - Routing Information Packet;
• 2 - Echo Protocol Packet;
• 3 - Error Handler Packet;
• 20h?03Fh - Experimental;
• 1?0BB8h - Registered with Xerox;

Xerox a asignat pentru Novell un set de socluri pentru folosirea de catre NetWare:
• 451 - File Service Packet;
• 452 - Service Advertising Packet;
• 453 - Routing Informaton Packet;
• 455 - NetBIOS Packet;
• 456 - Diagnostic Packet.

De exemplu, serverele NetWare accepta cereri adresate soclului 451.
Source Network (Reteaua sursa)
Source Node (Nodul sursa)
Source Socket (Soclul sursa)
Aceste trei campuri au semnificatii similare cu cele corespunzatoare destinatiei.

2 Protocolul SPX

SPX este identic cu IPX cu exceptia faptului ca ofera servicii suplimentare conferite de faptul ca se afla la nivelul transport din modelul OSI, spre deosebire de IPX, aflat la nivelul retea. Aceste functii suplimentare fac din SPX un protocol orientat catre conexiune. Aceasta inseamna ca inainte ca un pachet SPX sa fie trimis, se stabileste o conexiune intre sursa si destinatie. SPX garanteaza livrarea datelor, secventierea pachetelor, detectarea si corectarea erorilor si suprimarea pachetelor duplicate.

Avantaje si dezavantaje

In schimbul acestor garantii, SPX nu are viteza si performantele IPX. Proiectantul de aplicatii trebuie sa determine ce este mai important pentru aplicatiile sale: viteza sau siguranta livrarilor. Astfel, el va alege IPX sau SPX. Iata in continuare cateva dintre avantajele si dezavantajele folosirii SPX:
• Livrarea garantata a datelor; conexiunea este stabilita inainte ca informatia sa fie trimisa si la sursa se intorc informatii privind livrarea cu succes. Trimiterea de pachete broadcast este greoaie, deoarece trebuie stabilita o conexiune cu fiecare potential receptor inainte. De asemenea, unele aplicatii nu au nevoie de garantarea livrarii fiecarui pachet;
• Secventiere garantata a pachetelor; deci, oricate pachete ar cere transmiterea unui flux de date, acestea vor ajunge in ordine;
• Suprimarea pachetelor duplicat; in timpul procesului de garantare a livrarii (care include retransmiterea pachetelor considerate pierdute), este posibila aparitia unor pachete duplicat care ajung ambele la nodul destinatie; SPX elimina astfel de pachete, deci aplicatia primeste doar o copie a datelor trimise de catre partenerul de comunicatie.

2.1 Structura pachetelor SPX

Un pachet SPX este identic ca structura cu un pachet IPX, cu exceptia faptului ca are 12 octeti suplimentari in header. Pachetul SPX consta din doua parti: un header de 42 de octeti si un camp de date care poate contine intre 0 si 534 octeti. Lungimea minima a pachetului este de 42 octeti (doar headerul), iar cea maxima de 576 octeti (42+534).
Campurile pachetului SPX care au aceeasi denumire ca si cele din cadrul pachetelor IPX au si aceeasi semnificatie ca si acestea, cu specificarea ca niciodata in cadrul unui pachet SPX nu se permite o valoare 0FFFFFFFFFFFFh a adresei nodului destinatie (nu sunt permise broadcast-uri), iar SPX incarca totdeauna valoarea 5 in campul Packet Type. In tabelul 2 este prezentata structura pachetului SPX:

Offset
Continut Tip
0 Checksum BYTE?2?
2 Length BYTE?2?
4 Transport Control BYTE
5 Packet Type BYTE
6 Destination Network BYTE?4?
10 Destination Node BYTE?6?
16 Destination Socket BYTE?2?
18 Source Network BYTE?4?
22 Source Node BYTE?6?
28 Source Socket BYTE?2?
30 Connect. Control BYTE
31 Data Stream Type BYTE
32 Source Connect. ID BYTE?2?
34 Dest. Connect ID BYTE?2?
36 Sequence Number BYTE?2?
38 Acknowledge Number BYTE?2?
40 Allocation Number BYTE?2?
42 Data Portion BYTE?0?534?

Tabelul 2. Structura pachetului SPX.

Ordinea octetilor in cadrul campurilor este high-low, ca si in cazul IPX. Semnificatiile campurilor suplimentare fata de cele din cadrul headerului IPX sunt:

Connection Control (Controlul conexiunii)
Acest camp contine 4 indicatori de 1 bit folositi de SPX si clientii sai pentru a controla fluxul bidirectional de date de-a lungul unei conexiuni:
• 1?8 - Valori nedefinite de catre Xerox Sequenced Packet Protocol. SPX ii ignora;
• 10h - Sfarsitul unui mesaj; clientul seteaza acest bit pentru a semnala sfarsitul mesajului partenerului sau; SPX ignora acest bit si il livreaza neschimat partenerului;
• 20h - Atentie; clientul seteaza acest indicator daca pachetul este un pachet de atentionare; aceasta facilitate nu a fost implementata; SPX ignora acest bit si il livreaza neschimat partenerului;
• 40h - Se cere confirmare; SPX seteaza acest bit daca este necesar un pachet de confirmare; deoarece SPX controleaza cererile si raspunsurile de confirmare, clientul trebuie sa ignore acest indicator;
• 80h - Pachet sistem; SPX seteaza acest bit daca pachetul este un pachet sistem; aceste pachete sunt folosite intern si nu sunt livrate clientilor.

Clientii nu trebuie sa foloseasca sau sa modifice niciodata bitii nedefiniti, de confirmare sau sistem. Acestia sunt rezervati pentru folosirea de catre SPX.

Data Stream Type (Tipul fluxului de date)
Acest camp este un indicator de un octet care arata tipul datelor care au fost gasite in cadrul pachetului. Valorile posibile sunt aratate in continuare:
• 0?0FDh - Definit de client; SPX ignora aceste valori;
• 0FEh - Sfarsitul conexiunii; cand un client executa un apel pentru a termina o conexiune activa, SPX va genera un pachet de terminare a conexiunii. Acesta va fi ultimul pachet trimis partenerului in cadrul conexiunii;
• 0FFh - Confirmarea sfarsitului conexiunii; SPX genereaza un pachet de confirmare a sfarsitului conexiunii automat; acest pachet este marcat sistem si nu este livrat clientilor.

Source Connection ID (Identificatorul sursei)
Acest camp contine un numar de identificare asignat de catre SPX sursei pachetului.

Destination Connection ID (Identificatorul destinatiei)
Acest camp contine un numar de identificare asignat de catre SPX destinatiei pachetului si folosit pentru demultiplexarea pachetelor sosite in cadrul multiplelor conexiuni care ajung la acelasi soclu; demultiplexarea este necesara deoarece conexiunile active concurente de pe orice masina pot folosi acelasi numar de soclu.

Sequence Number (Numarul de secventa)
Acest camp retine numarul pachetelor schimbate intr-o directie a conexiunii. Fiecare parte a conexiunii tine propriul contor. Numarul ia valoarea zero dupa ce depaseste 0FFFFh. Deoarece SPX controleaza acest camp, clientii nu sunt interesati de valoarea lui.

Acknowledge Number (Numar de confirmare)
Acest camp indica numarul de secventa al urmatorului pachet pe care SPX se asteapta sa il receptioneze. Orice pachet cu un numar de secventa mai mic decat valoarea acestui camp este in secventa corecta si nu trebuie retransmis. Deoarece SPX controleaza acest camp, clientii nu sunt interesati de valoarea lui.

Allocation Number (Numar de buffere alocate)
Acest camp indica numarul de buffere de ascultare disponibile intr-o directie a conexiunii. SPX poate sa trimita pachete doar pana cand numarul de secventa devine egal cu numarul de buffere alocate la celalalt capat al conexiunii. Deoarece SPX controleaza acest camp, clientii nu sunt interesati de valoarea lui.

3 Protocoalele TCP/IP

Transmission Control Protocol (TCP) si Internet Protocol (IP) se refera de fapt la un set de protocoale si servicii care impreuna permit calculatoarelor legate in retea sa se interconecteze pentru a realiza transferuri de fisiere, servicii de posta electronica si sesiuni de lucru interactiv la distanta.
TCP este folosit pe scara larga in mediile academice si ingineresti (si, de exemplu, in cadrul retelei guvernamentale americane).
De asemenea, datorita marelui numar de programe aparute pe piata care folosesc TCP/IP, acest set de protocoale a inceput sa fie din ce in ce mai raspandit in mediul comercial, ca si in cadrul retelelor locale de calculatoare.

3.1 Protocolul Internet (Internet Protocol-IP)

Intre protocoalele de nivel 3 (nivelul REtEA) documentate de Departamentul de Aparare al Statelor Unite (DoD - Department of Defense), Internet Protocol este cel mai important. Principalul sau scop este de a interconecta mai multe retele bazate pe schimbul de pachete intr-o supra-retea (internet - in continuare vom intelege prin internet (scris cu litere mici) orice supraretea (retea globala). Atunci cand este nevoie sa se specifice in mod explicit ca este vorba despre reteaua Internet initiata de catre DoD, cuvantul Internet se va scrie cu prima litera capitalizata). IP isi ofera serviciile diferitelor protocoale de pe nivelele superioare (Upper Layer Protocols - ULP) prin asistarea livrarii datelor ULP prin internet in cadrul unuia sau mai multor blocuri de date (datagrams).

Figura 1. O privire din punct de vedere logic asupra structurii Internet la nivelul IP

Arhitectura internet permite o ierarhie de retele independente logic pe doua nivele. Nivelul cel mai de sus este conexiunea intre retele pereche. O retea poate sa contina o colectie de subretele pereche. Retelele si subretelele pot sa contina hosturi atasate direct, dupa cum se poate observa in figura 1.
Singura diferenta intre retele si subretele consta in modul in care sunt interpretate adresele IP si depinde de localizarea modulului IP specificat de adresa. In majoritatea cazurilor, subretelele pot fi numite pentru simplitate retele. In general, termenul "subretea" este folosit doar in cazul in care este necesar sa se faca distinctia intre diferitele nivele ierarhice ale internet.
IP este limitat la functiile de baza necesare transmisiei unui bloc de date (datagram) prin internet. Fiecare bloc de date este o entitate independenta, nefiind legata de alte "datagrame" (traducerea, poate putin fortata, a termenului "datagram" este preluata din cartea "Retele de calculatoare", cu semnificatia "mesaj fara confirmare"). Nivelul IP al hostului asigura servicii protocoalelor de la nivelul transport si foloseste serviciile nivelului legaturii de date pentru a transmite datagramele hostului destinatie. IP nu pretinde ca ar oferi servicii sigure. Calculatoarele gazda (hosts) vor ignora datagramele atunci cand nu au resurse suficiente pentru procesare si nu vor detecta datagramele pierdute sau ignorate de catre nivelul legaturii de date.

IP izoleaza protocoalele de pe nivelele superioare de caracteristicile specifice retelei. Serviciile aditionale furnizate de catre IP includ diferite nivele de comportare a transmisiei, implicand caracteristici ca: precedenta, nivel de incredere, intarzieri. IP permite de asemenea etichetarea datelor, necesara in medii sigure, pentru a asocia datelor informatii de securitate.
Transmisia incepe atunci cand un protocol de pe nivelul superior transmite date catre IP pentru livrare. IP impacheteaza datele in format internet datagram si le transmite protocolului de pe nivelul legaturii de date pentru transmisie prin reteaua locala. Daca hostul destinatie se afla legat direct in reteaua locala, IP trimite pachetul direct acestui host. Daca destinatia se afla intr-o alta retea, IP trimite pachetul unui gateway IP local pentru transmisie. Acest gateway va trimite pachetul prin urmatoarea retea hostului destinatie sau unui alt gateway. Astfel, datagrama se propaga prin setul de retele interconectate de la un modul IP la altul, pana cand aceasta ajunge la destinatie. Pachetele transmise de catre hostul numarul 1 pot sa circule pe una dintre cele doua cai prezentate. (figura 2)

Figura 2. Transmisia datelor prin intermediul IP
Gateway-urile, uneori numite "Routere IP" (sau "Local Bridges" ori "Remote Bridges") sunt de fapt un fel de "relee de pachete" care interconecteaza doua sau mai multe retele sau subretele. Fiecare gateway contine un modul IP aflat deasupra a doua sau mai multe procese bazate pe protocoale aflate la nivelul legaturii de date.
Modulele IP folosesc reguli comune pentru interpretarea adreselor internet necesare in procesul stabilirii traseului pe care pachetul trebuie sa-l urmeze pentru a ajunge la destinatie. Rutarea executata de catre un gateway se bazeaza pe campul network/subnetwork al adresei internet de destinatie.
Un gateway atasat mai multor retele trebuie sa decida care este reteaua urmatoare prin care trebuie sa treaca pachetul pe care l-a primit pentru a ajunge la destinatie. De asemenea, trebuie sa decida daca hostul destinatie se afla in cadrul urmatoarei retele (caz in care pachetul poate fi trimis direct acestui host) sau daca cel putin un alt gateway este necesar pentru a trimite pachetul catre reteaua destinatie aflata la distanta.
Pentru a determina care este urmatorul gateway caruia trebuie sa-i fie transmis pachetul, echipamentul gateway curent trebuie sa cunoasca optiunile pe care le are la dispozitie si modul de alegere a urmatorului gateway dintre cele disponibile. Echipamentul gateway curent trebuie sa fie capabil sa achizitioneze intr-un fel oarecare informatii despre alte echipamente gateway si despre caile disponibile pentru ca un pachet sa poata atinge reteaua destinatie. Cel mai bine ar fi ca aceste informatii privind posibilitatea atingerii de catre un pachet a unei retele indepartate sa poata fi achizitionata si mentinuta dinamic, in acord cu conectivitatea instantanee asigurata de toate celelalte echipamente gateway ale retelei globale (internet). Pentru a putea fi atins acest scop, echipamentele gateway trebuie sa fie capabile sa schimbe intre ele informatii asupra posibilitatii de a trimite un pachet catre diferite retele. De-a lungul anilor, au fost dezvoltate mai multe protocoale gateway-gateway, protocoale care cauta sa furnizeze acest schimb de informatii.
Echipamentele gateway care conecteaza un set de retele private din punct de vedere al proprietatii si administrarii pot sa foloseasca orice protocol, fara restrictii. De obicei, un asemenea protocol privat se numeste Interior Gateway Protocol (IGP). In termeni IP, fiecare astfel de retea administrata independent este numita sistem autonom (Autonomous System).
Pe de alta parte, toate echipamentele gateway care fac legatura intre retele private si retele publice de date (DDN, Digital Data Networks) trebuie sa foloseasca un protocol oficial simplu si bine definit numit Exterior Gateway Protocol.


3.1.1 Headerul IP

Pachetele (datagramele) IP au un antet (header) bine definit, header definit de standardele DoD (U.S.A. Department of Defense). Acest header are structura prezentata in figura 3.
In continuare sunt prezentate campurile care compun acest header:

Version (Versiune)
Abreviere: VER
Lungimea campului: 4 biti
Campul Version indica formatul headerului IP. Va fi prezentata in continuare versiunea 4, ultima pana la data aparitiei materialului bibliografic avut la dispozitie (1988). Versiunile 1?3 nu mai erau deja folosite inca la acea data.
Campul Version indica versiunea protocolului careia ii apartine pachetul. Includerea versiunii protocolului in fiecare pachet face posibila dezvoltarea de noi protocoale si testarea acestora fara a afecta buna functionare a retelei.

Internet Header Length (Lungimea headerului Internet)
Abreviere: IHL
Lungimea campului: 4 biti
Unitate: Grupe de cate 4 octeti
Gama: 5?15 (implicit 5)
Campul Internet Header Length indica lungimea headerului IP exprimata in multipli de unitati de 32 biti. Acest camp este necesar deoarece headerul IP are o lungime variabila datorita faptului ca lungimea campului Options nu este constanta.

Figura 3. Headerul IP

Type of Service (Tipul de serviciu)
Abreviere: TOS
Lungimea campului: 8 biti
Campul Type of Service contine parametrii IP care descriu calitatea serviciului dorita pentru prezentul pachet transmis. Campul permite calculatorului gazda sa specifice retelelor de tranzit tipul de serviciu pe care il doreste. Campul permite specificarea precedentei pachetului, nivelul dorit de incredere si nivelul presupus de consumare a resurselor, dupa cum se va arata mai jos.
Tipul de serviciu se foloseste pentru a specifica retelelor de tranzit ce serviciu se doreste de la acestea. Retelele de tranzit decid daca pot sau doresc sa se achite de serviciile cerute.

Total Length (Lungimea totala)
Abreviere: TL
Lungimea campului: 16 biti
Total Length este lungimea pachetului, masurata in octeti, incluzand headerul IP si zonele de date ale pachetului.
Se observa ca lungimea campului Total Length permite o lungime totala maxima a pachetului de 65.536 octeti.

Identification (Identificare)
Abreviere: ID
Lungimea campului: 16 biti
Campul reprezinta o valoare de identificare folosita pentru a asocia fragmentele unui pachet. ULP (Upper Layer Protocol) care transmite de obicei genereaza aceasta valoare ca pe un parametru al interfetei. Altfel, IP genereaza acest camp in asa fel incat el sa fie unic pentru fiecare ULP care transmite.
Campul Identification indica numarul pachetului pentru a permite calculatorului gazda destinatie sa determine carui pachet ii apartine fragmentul care tocmai a sosit.

Flags (Indicatori)
Abreviere: Lungimea campului: 3 biti
Acest camp contine indicatorii de control Don't Fragment (a nu se fragmenta, care inhiba fragmentarea pachetului de catre IP) si More Fragments (care ajuta la identificarea pozitiei unui fragment in pachetul original).
Indicatorul Don't Fragment este destinat pentru folosirea cu calculatoare gazda care nu sunt capabile sa reconstituie pachetul din fragmentele din care este format. De fapt, multe implementari ale TCP/IP nu permit fragmentarea si reconstituirea pachetelor.

Fragment Offset (Offsetul fragmentului)
Abreviere: FO
Lungimea campului: 13 biti
Unitate: Grupe de cate 8 octeti
Gama: 0?8191 (implicit 0)
Campul indica pozitia fragmentului relativ la inceputul datelor in pachetul original. Atat un pachet complet, cat si primul fragment al unui pachet au acest camp resetat.
Fragment Offset localizeaza pozitia fragmentului curent intr-un pachet ca multiplu de 8 biti. Pentru aceasta, lungimea campului este de 13 biti, deci sunt permise maximum 8.192 fragmente pentru fiecare pachet, in acest caz extrem, primele 8.191 fragmente vor avea lungimea de un octet.

Time-to-Live (Timp de viata)
Abreviere: TTL
Lungimea campului: 8 biti
Unitate: secunde
Gama: 0?255 (255=4,25 minute)
Acest camp indica timpul maxim cat poate sa ramana pachetul in internet. Cand valoarea acestui camp, dupa decrementare, ia valoarea zero, pachetul ar trebui distrus.
Unitatea de timp utilizata pentru masurarea timpului de viata al pachetului este secunda, deci timpul maxim de viata al unui pachet este 255 secunde (4,25 minute).
Valoarea campului este scazuta cu cel putin 1 de catre fiecare router prin care trece pachetul.
Protocol (Protocol)
Abreviere: PROT
Lungimea campului: 16 biti
Acest camp arata care ULP (Upper Level Protocol) trebuie sa receptioneze portiunea de date a unui pachet. Numerele asignate ULP-urilor uzuale sunt disponibile de la DoD Executive Agent for Protocols. Unele vor fi aratate mai jos, in tabelul 3.
Campul Protocol specifica protocolul particular de la nivelul 4 caruia ii apartine pachetul (de exemplu, TCP sau alt protocol echivalent).

Numar (zecimal) Prescurtare Descriere
0 Reserved
1 ICMP Internet Control Message
5 ST Stream
6 TCP Transmission Control Protocol
8 EGP Exterior Gateway Protocol
9 IGP Any private interior gateway protocol
11 NVP Network Voice Protocol
17 UDP User Datagram Protocol
20 HMP Host Monitoring Protocol
22 XNS-IDP Xerox Network Systems Internet Datagram Protocol
27 RDP Reliable Data Protocol
28 IRTP Internet Reliable Transaction Protocol
29 ISO-TP4 ISO Transport Protocol Class 4
30 NETBLT Bulk Data Transfer Protocol
61 Any host internal protocol

Tabelul 3. Numere de protocol asignate in cadrul headerului IP.

Header Checksum (Suma de control a headerului)
Lungimea campului: 16 biti
Acest camp contine o suma de control aplicata doar headerului IP. Suma de control ajuta la detectarea unor eventuale erori aparute in timpul transmisiei. Algoritmul dupa care se genereaza aceasta suma de control este: se aduna complementele fata de 1 ale tuturor entitatilor headerului (grupate pe cate 16 biti) si apoi se complementeaza suma fata de 1.
Suma de control a headerului se foloseste doar pentru a verifica validitatea datelor din cadrul headerului. Ori de cate ori pachetul trece printr-un gateway, aceasta suma de control este recalculata (deoarece de fiecare data este modificat campul TTL).

Source Address (Adresa sursei)
Abreviere: SOURCE
Lungimea campului: 32 biti
Acest camp contine adresa Internet a calculatorului gazda care a generat pachetul.

Destinaton Adress (Adresa de destinatie)
Abreviere: DEST
Lungimea campului: 32 biti
Campul contine adresa Internet a hostului destinatie.
Adresele sursa si destinatie indica numarul retelei folosind 8?24 biti. Bitii nefolositi pentru identificarea retelei sunt folositi pentru a referi numarul hostului si, optional, numarul subretelei.

Options (Optiuni)
Abreviere: OPT
Lungimea campului: variabila
Acest camp a fost prevazut pentru a permite unor versiuni ulterioare ale protocolului sa includa informatii care nu sunt prezente in implementarea originala, sa permita experimentatorilor s incerce noi idei si sa evite alocarea permanenta a unor biti in cadrul headerului pentru informatii rar folosite.
Lungimea acestui camp depinde de numarul si tipurile optiunilor asociate cu pachetul.
Optiunile definite oficial sunt:

- Security -; eticheteaza nivelul, compartimentul, grupul de utilizatori si restrictiile de manipulare, asa cum sunt ele cerute de DoD;
- Loose Source Routing - permite celui care trimite pachetul sa ceara ca pachetul sa urmeze o cale oarecare (generala) prin retea;
- Strict Source Routing - cere ca pachetul sa urmeze o cale specificata;
- Record Route - inregistreaza calea urmata de pachet;
- Stream ID - permite unui gateway sa manipuleze o colectie de pachete in acelasi fel;
- Timestamp - permite o inregistrare a caii pe care o urmeaza un pachet prin retea cu inregistrarea de asemenea a momentelor in care pachetul a ajuns in diferite locuri.

3.1.2 Fragmentarea si reasamblarea pachetelor

Retelele intotdeauna impun o lungime maxima a pachetelor, din cauza:

- limitarilor hardware (latimea unui slot de transmisie);
- limitarilor software ale unui sistem de operare particular (de exemplu, un sistem de operare ar putea cere ca lungimea pachetelor pe care le manipuleaaI sa nu depaseasca 512 octeti);
- protocoalele folosite (restrictii privind numarul de biti in campul de lungime a pachetelor);
- restrictii impuse de standard;
- masuri luate pentru reducerea numarului de erori;
- limitari privind durata cat un pachet poate ocupa un canal.

In continuare, in tabelul 4, se prezinta un tabel care demonstreaza diversitatea lungimii maxime a pachetelor impusa de diferite retele.

Numele retelei
Maxim ?biti?
Bell Labs' Spider 256
ALOHANET (University of Hawaii) 640
X.25 (implicit) 1.024
ARPA Packet Radio Network 2.024
ARPANET 8.192
X.25 (maxim) 8.192
Ethernet 12.144

Tabelul 4. Lungimea maxima a pachetului in functie de retea.

Pachetele IP de nivel 3 in tranzit pot sa traverseze subretele a caror lungime maxima a pachetelor este mai mica decat lungimea pachetului. Pentru a se rezolva aceasta problema, IP prevede mecanismele de fragmentare si reconstituire a pachetelor.
Atunci cand un gateway ar trebui sa trimita un pachet intr-o retea care nu poate primi pachetul din cauza lungimii sale, echipamentul gateway trebuie sa fragmenteze pachetul original in mai multe subpachete, numite fragmente de pachet (datagram fragments), care sunt suficient de mici pentru a putea fi transmise.
Datagramele IP sunt transmise independent, deci datagramele fragmentate pot sa nu se "intalneasca" pana cand ajung la calculatorul gazda destinatie si pot chiar sa ajunga in alta ordine decat cea originala. Deci, toate host-urile care pot sa receptioneze pachete trebuie sa fie capabile sa le si reasambleze.
Modulul IP din host-ul destinatie va reasambla datagramele fragmentate intr-o singura datagrama pentru livrare catre clientul sau de pe nivelul transport (4).
Figura 4 ilustreaza procesul fragmentarii pachetelor. Pentru claritate, figura este simplificata, neincluzand headere etc.
Trebuie remarcat ca nu toate protocoalele efectueaza fragmentarea si reasamblarea in acelasi fel. XNS (Xerox Network Standard) cere ca reasamblarea sa fie facuta de catre reteaua care a fragmentat datagrama, ceea ce simplifica implementarea pentru host-urile receptoare. XNS impune o restrictie importanta rutarii inter-retea si caracteristicilor retelei finale (receptoare) si anume ca cele doua retele sa admita pachete de aceeasi lungime maxima.

Figura 4. Fragmentarea unui pachet cu lungimea de 10 octeti

in cazul unei retele care accepta doar pachete cu lungimea de pana la 8 octeti.


3.1.3 Setarea parametrilor IP

IP poate sa-si adapteze serviciile pentru a permite existenta unei diversitati de ULP-uri. De exemplu, un protocol de la nivelul transport care are cerinte de lucru in timp real, cum ar fi NVP (Network Voice Protocol) poate sa foloseasca serviciul IP de transmisie de pachete intr-un mod care difera de metodele utilizate de TCP, de exemplu.
Exista metode specifice prin care ULP-urile pot sa identifice serviciile care vor fi oferite de catre IP si sa adapteze aceste servicii intr-o configuratie particulara a retelei.
De exemplu, daca se doreste ca un pachet (datagrama) sa parcurga o ruta specifica in drumul sau catre destinatie, o astfel de ruta (numita Source Route) poate fi specificata de catre ULP. Fiecare modul IP este capabil sa trimita datagrama conform rutei specificate, eventual marita de catre mecanismul standard de rutare, daca este necesar.
Parametrii setabili ai IP se pot incadra in doua categorii:

- parametri privind calitatea serviciilor (Service Quality Parameters);
- optiuni privind serviciile (Service Options).

Parametrii privind calitatea serviciilor influenteaza serviciul de transmisie asigurat de catre echipamentele gateway care intervin in procesul de transmisie, iar optiunile privind serviciile sunt folosite pentru a specifica cererea de servicii speciale care trebuie asigurate in cadrul modulelor IP.

3.1.4 Parametrii de calitate a serviciilor

Acele ULP care stiu ca datagramele lor vor trece prin echipamente gateway care pot efectua modificari asupra pachetelor care trec prin ele, pot sa sugereze acestor echipamente gateway tratamentul pe care acestea sa-l aplice fiecaruia dintre pachetele trimise. Aceste sugestii se realizeaza prin intermediul parametrului TOS (Type of Service) din cadrul headerului pachetului IP. Semnificatia acestui camp poate fi:

Precedence (Precedenta) -; indica echipamentului gateway sa incerce sa aplice un tratament preferential pentru datagrame care au o inalta importanta. Tratamentul preferential poate sa previna astfel de datagrame sa fie intarziate in cadru unei cozi in interiorul echipamentului gateway, de exemplu.

Transmision mode - datagram versus stream (Modul de transmisie -; datagrama sau sir de datagrame) - Modul Datagram (implicit) indica faptul ca ULP considera aceasta datagrama ca fiind un eveniment sporadic, necorelat cu datagrame trecute sau viitoare. Modul Stream cere echipamentului gateway sa minimizeze intarzierile si dispersia intarzierilor intre transmisiile pachetelor similare, prin rezervarea resurselor retelei.

Reliability (incredere) - destinat minimizarii pierderii datelor si ratei erorilor. Acest parametru asigura faptul ca resursele cozilor sunt alocate in primul rand pachetelor care cer un inalt nivel de siguranta si faptul ca pachetele care nu cer in mod explicit acest lucru pot sa fie "aruncate" in cazul in care nu mai este loc in coada si apare un pachet care cere un inalt nivel de incredere.

Resource Tradeoff -; indica daca este mai important sa se onoreze cererea de "High Precedence" sau cea de "High Reliability" in cazul in care echipamentul gateway nu poate sa le asigure pe ambele in acelasi timp.
Notiunea de Stream Mode versus Datagram Mode de obicei nu este folosita in cazul retelelor locale sau WAN terestre, dar se foloseste in cazul retelelor bazate pe rutarea prin satelit, deoarece routerele aflate pe sateliti in general pot sa ceara alocarea unei benzi de transmisie in avans. Daca routerul constata ca incepe sa receptioneze pachete care au bitul Stream Mode setat, el poate sa anticipeze primirea mai multor pachete care fac parte din acelasi sir si deci va cere statiilor sale pereche alocarea intr-un viitor apropiat a unei benzi de frecventa mai mari pentru a se asigura ca un pachet care va fi receptionat nu va fi intarziat in momentul receptiei pentru a se cere alocarea unei benzi de frecventa in timp real (routerele aflate pe sateliti nu pot sa comunice intre ele instantaneu; pachetele care trec prin ele au cel putin o intarziere de un sfert de secunda).

3.1.5 Optiuni privind serviciile

Headerul IP poate sa fie expandat pentru a include unele campuri optionale pentru a cere servicii IP in nodurile sursa, destinatie sau intermediare (de rutare). Cateva dintre optiunile definite sunt:

Security Labeling -; Identifica nivelul de securitate (secret, strict secret etc.) al datagramei pentru serverele care contin informatii secrete.

Source Routing -; Selecteaza setul de module IP din echipamentele gateway prin care trebuie sa treaca pachetul, in acord cu specificatia celui care trimite pachetul. Permite unui nod sa selecteze retelele prin care urmeaza sa tranziteze pachetul si retelele prin care nu trebuie sa tranziteze pachetul, astfel imbunatatind nivelul de securitate al unor anumite tipuri de tranzactii. Source Routing poate fi specificata ca fiind "slaba" (lasandu-se echipamentului gateway unele libertati) sau "stricta".

Route Recording - Cere inregistrarea modulelor IP din cadrul echipamentelor gateway prin care tranziteaza pachetul, astfel incat hostul destinatie poate sa stie toate locurile prin care a trecut pachetul.

Stream Identification -; Identifica sirul de pachete caruia ii apartine pachetul; este folosit in cadrul serviciilor de tip stream.

Timestamping - Permite echipamentului gateway sa marcheze momentul in care a procesat o datagrama.

Don't Fragment -; Marcheaza o datagrama ca fiind o unitate indivizibila, care nu trebuie sa fie fragmentata de catre echipamentul gateway.

3.1.6 Serviciul de raportare a erorilor

Unele erori detectate de catre protocoalele de la nivelul legaturii de date sau raportate de catre protocoalele IP pereche trebuie indicate de catre nivelul IP al unui host nivelelor superioare interesate de aceste erori. Aceste indicatii descriu cateva clase de erori, incluzand argumente invalide, resurse insuficiente si probleme de transmisie. Erorile care sunt raportate de IP nivelelor superioare sunt in general determinate de fiecare implementare a IP.

3.1.7 Asignarea adreselor IP in functie de configuratia retelei

Unul dintre scopurile IP este de a asigura servicii intr-o mare varietate de medii (retele si retele globale). Mecanismul de adresare IP este astfel conceput incat sa permita trei clase diferite de configuratii ale retelelor. Cele trei clase de adrese IP, notate A, B, C, sunt prevazute pentru retele care au:
• A - multe hosturi distribuite in retele putine;
• B - o distributie medie a hosturilor si retelelor;
• C - putine hosturi in multe retele.
Aceste situatii sunt ilustrate in figura 5.

Figura 5. Tipuri de retele

Doar 32 de biti sunt alocati pentru a exprima o adresa IP completa, care consta atat din adresa retelei, cat si din adresa hostului. O retea globala care contine doar cateva retele va avea nevoie doar de cativa biti pentru a identifica reteaua. Prin conventie, acestia vor fi cei mai semnificativi biti dintre cei 32 biti disponibili pentru adresare. Pe de alta parte, o retea globala cu multe retele va avea nevoie de mai multi biti pentru a exprima toate adresele de retele componente, deci va ocupa mai multi biti dintre cei 32 disponibili pentru a exprima adresa retelei (acesti biti vor fi tot cei mai seminficativi biti ai adresei).
In cadrul unei retele, hosturile pot fi organizate in comunitati mai mici, numite subretele. Forma adreselor IP permite, pentru proiectarea subretelelor, mascarea unor biti pentru a putea fi folositi pentru identificarea subretelelor.
De exemplu, un campus poate avea o adresa clasa B, care cere 2 octeti pentru portiunea alocata retelei si doi octeti pentru portiunea alocata hostului. In loc sa existe 65.536 adrese de hosturi, se poate alege solutia divizarii campusului in 254 subretele (un octet), fiecare avand cate 254 de hosturi (celalalt octet). Trebuie facuta observatia ca doar 254 de hosturi, respectiv retele sunt posibile, deoarece valorile 0 si 255 sunt rezervate).
Adresele IP, mastile si formatele pentru cele trei clasificari sunt ca in tabelul 5:

Clasa
Cei 3 biti mai semnif. Biti pt. id. retea Biti pt. id. HOST Masca pt. id. retea (hex)
A 0XX 7 24 FF000000
B 10X 14 16 FFFF0000
C 110 21 8 FFFFFF00

Tabelul 5. Clasificarea tipurilor de retele.

Dupa cum se poate observa din tabelul de mai sus, inspectand primii trei biti ai unei adrese de IP se poate sti daca este o adresa de clasa A, B sau C. Daca primul (cel mai semnificativ) bit este 0, atunci adresa este o adresa clasa A. Daca primul bit este 1, trebuie inspectat al doilea bit. Daca primul bit este 0 si al doilea bit este 0, atunci adresa este de clasa B. Daca primii trei biti sunt 110, adresa este de clasa C. Daca primii trei biti sunt 111, atunci avem de a face cu o adresa clasa D, care nu este folosita (este o combinatie pastrata pentru dezvoltari ulterioare). Aceste combinatii sunt prezentate in tabelul 6:

Clasa A primul bit 0
Clasa B primul bit 1 al doilea bit 0
Clasa C primul bit 1 al dilea bit 1 al treilea bit 0
Clasa D primul bit 1 al doilea bit 1 al treilea bit 1

Tabelul 6. Tipuri posibile de retele.

O adresa IP este de obicei reprezentata ca patru campuri separate de cate un punct, fiecare camp reprezentand un octet (avand deci valori cuprinse intre 0 si 255). Diferentele in interpretarile acestor campuri depind de clasa careia ii apartine adresa respectiva. Se observa posibilitatea identificarii clasei unei aderse IP prin examinarea primului octet al adresei, ca in tabelul 7.

Valoare
Clasa
0?127 A
128?191 B
192?223 C
224?255 D

Tabelul 7. Identificarea clasei unei retele in functie de primul octet al adresei IP

De exemplu, 10.1.17.1 este o adresa de clasa A, 128.203.5.17 este o adresa de clasa B, iar 192.1.2.10 este o adresa de clasa C.

3.1.8 Servicii pe care IP le cere nivelelor inferioare

IP nu ofera doar servicii pentru ULP. In conformitate cu principiile ISO OSI, IP cere servicii nivelelor inferioare, incluzand transferul transparent de date intre calculatoare gazda din cadrul aceleiasi subretele si raportarea de erori. Datagramele pot sa nu fie receptionate in ordinea in care au fost transmise si nici nu se garanteaza transmiterea lor fara erori. Nivelele inferioare nivelului IP genereaza rapoarte privind erorile de la nivelul subretea si cele inferioare, dupa caz. Cerintele de mesaje de eroare specifice sunt dependente de subreteaua in cauza. De exemplu, in cazul unei subretele de tip Ethernet, spre deosebire de WAN, in general nu se raporteaza erori, cu exceptia cazului in care datagrama trebuie sa fie abandonata din cauza aparitiei a 16 coliziuni consecutive. Cat timp livrarea unei datagrame prin IP nu se pretinde ca ar fi infailibila, modul in care un modul IP reactioneaza la informatiile de eroare provenite de la nivelele inferioare este in mare masura nespecificat.


3.1.9 Internetwork Control Message Protocol (ICMP)

Nivelele superioare pot sa doreasca transmitera de mesaje catre modulele IP, prin care sa anunte faptul ca unele aspecte privind comportarea hostului care transmite pachete ar trebui modificate. Pentru aceasta se foloseste ICMP. In general, mesaje ICMP sunt generate de catre statii care percep o eroare sau o problema in cadrul unui pachet pe care un alt host l-a transmis. Eroarea poate fi detectata ori de hostul destinatie, ori de un echipament gateway intermediar. Daca reteaua, masina sau portul destinatie nu pot fi atinse, un gateway poate folosi ICMP pentru a avertiza hostul sursa asupra acestui fapt. ICMP poate de asemenea avertiza hostul sursa asupra rutelor preferate sau asupra congestiei retelei.
ICMP este in mod oficial considerat ca facand parte din IP. Totusi, datagramele ICMP sunt trimise folosind IP. Deci, ICMP este o parte functionala a nivelului trei, dar este codificat ca si cand ar face parte din nivelul patru.

3.1.10 Adress Resolution Protocol (ARP)

Toate statiile si echipamentele gateway sunt codificate folosind o adresa IP , care este limitata la 32 biti. Transmiterea de pachete printr-o retea Ethernet, de exemplu, cere adrese destinatie de 48 biti pentru a identifica nodul destinatie. De aceea, se pot inventa, de exemplu, cei 16 biti aditionali. Dar, nici aceasta nu este o solutie, deoarece adresele Ethernet sunt arbitrare si in general sunt setate de catre producatorii cartelelor de cuplare la retea (ba mai mult, primii 3 octeti ai adresei unei cartele Ethernet in general identifica producatorul cartelei). Deci, nu vor exista in general statii care sa aiba adrese legate in vreun fel. De aceea, un alt set de servicii trebuie asigurat in cadrul nivelului retea, pentru a asigura transformarea unei adrese IP de 32 biti intr-o adresa Ethernet de 48 biti. Astfel a aparut ARP.
Atunci cand un proces de la nivelul retea doreste sa transmita un pachet care are adresa Internet specificata, dar a carui adresa Ethernet nu este cunoscuta, acel proces de la nivelul retea trebuie sa transmita o cerere ARP broadcast pentru a afla adresa Ethernet a destinatiei. Un nod urmeaza sa raspunda cererii de adresa Ethernet continuta in pachetul ARP, de obicei chiar nodul destinatie. Cand este receptionat raspunsul, de obicei cei 48 biti sunt retinuti intr-un cache, astfel incat atunci cand va fi facuta o cerere de transmitere a unui pachet catre o destinatie, corespondentul Ethernet al adresei IP destinatie este cautat in cache, iar daca este gasit, pachetul este transmis direct si se poate evita o tranzactie ARP. Altfel, se genereaza un nou pachet ARP pentru a se afla adresa Ethernet corespunzatoare destinatiei.
Deci, un host rezolva adresa destinatie in urmatorul mod: Cauta in cache adresa Ethernet corespunzatoare. Daca nu o gaseste, apeleaza la ARP pentru a transmite o cerere de adresa Ethernet in retea. Ca o alternativa, se poate folosi un fisier de configuratie aflat la nivelul hostului sursa. Deci, exista trei surse tipice din care se poate afla echivalentul Ethernet al unei adrese IP:

- raspunsul la cereri ARP;
- memoria cache de adrese provenite de la raspunsuri ARP anteroiare;
- informatia continuta in fisierele de configuratie.

Specificarea protocolului ARP permite acestui protocol sa converteasca o datagrama IP intr-o cerere ARP. Astfel, datagrama va fi 'consumata". De aceea, ULP trebuie sa fie gata sa asigure din nou datagrama nivelului trei. Deoarece functiile IP sunt considerate ca nedemne de incredere, pachetul transformat in cerere ARP este vazut de nivelul transport (nivelul patru) ca un pachet pierdut.

Trebuie remarcat ca ARP localizeaza hosturi aflate in aceeasi retea sau subretea ca si hostul sursa. Utilitatea sa este limitata deci la un broadcast Ethernet. Pentru a trimite pachete unui host dintr-o alta retea, datagrama trebuie intai trimisa unui router atasat retelei sursa. in acest caz, hostul sursa trebuie sa identifice adresa routerului, care apoi va trimite datagrama catre reteaua destinatie.
Unele routere IP raspund la cereri ARP in numele unui host indepartat. Hostul sursa este astfel "pacalit", deoarece va crede ca ii raspunde hostul destinatie. Aceasta tehnica se numeste Proxy ARP. Folosirea ei nu este in general recomandata, dar este necesara atunci cand IP-ul unui host nu este suficient de sofisticat pentru a determina faptul ca pachetul trebuie trimis unui router pentru a putea ajunge la destinatie.

3.1.11 Reverse Address Resolution Protocol (RARP)

Sa presupunem ca singurul lucru pe care o statie il stie la initializare este propria sa adresa Ethernet, de obicei prin citirea informatiei de configuratie proprii. Deci, respectiva statie nu isi cunoaste propria adresa IP. De aceea, este necesar sa incerce sa afle aceasta adresa la initializare. Pentru servirea acestui scop s-a implementat protocolul RARP, care permite unei statii sa trimita un pachet broadcast prin care sa ceara informatii de tipul "Cine sunt eu?", adica "Ce adresa IP am eu?". De obicei, un host (tipic, un server RARP) trebuie sa fie pregatit sa execute inversul unui ARP, adica sa trimita inapoi adresa IP corespunzatoare adresei Ethernet primita. Acest protocol (RARP) este folosit doar la initializare. RARP nu mai este apoi rulat pana la o noua initializare a sistemului. O valoare 8035h a campului Type din cadrul headerului Ethernet identifica un pachet RARP. Trebuie notat ca trebuie sa existe un server RARP pe fiecare segment Ethernet, deoarece se folosesc pachete de tip broadcast, care nu sunt transferate mai departe de catre routerele IP.

3.1.12 IP in cadrul retelelor IEEE 802

Formatul pachetelor in retelele IEEE 802 difera de formatul folosit in retelele Ethernet. In particular, standardul IEEE 802.3 nu prevede un camp Type, ca retelele Ethernet. Campul corespunzator este folosit pentru a specifica lungimea pachetului. Campuri aditionale specifica informatii despre Link Service Access Point (LSAP) si Subnetwork Access Point (SNAP), asa cum sunt ele definite in standardul IEEE 802.2 Aceste protocoale nu sunt inca oficial adoptate pentru folosirea de catre IP, dar par sa castige din ce in ce mai mult teren.

Ethernet
IEEE 802.3
DA DA
SA SA
TYPE Length

DATA DSAP
SSAP
Control
Protocol ID
Type

DATA

Figura 6. Pozitia headerului SNAP.

SNAP va asigura o metoda standardizata de incapsulare a datagramelor IP in cele trei tipuri de retele prevazute in standardul IEEE 802. De asemenea, va asigura un standard pentru implementarea unor protocoale legate de IP, cum ar fi ARP. Incapsularea despre care s-a vorbit arata ca in figura 6.
Pentru a indica prezenta unui header SNAP, campurile DSAP si SSAP trebuie sa aiba ambele valoarea 0AAh. Trebuie asignat un identificator de protocol SNAP (poate sa aiba si valoarea zero) pentru a indica faptul ca urmeaza un pachet Ethernet incapsulat. Campul Ethernet Type va indica daca acest pachet este in format IP sau nu.

3.2 Nivelul patru - nivelul transport

Nivelul transport este al patrulea nivel din cadrul modelului referinta OSI , dupa cum se arata si in figura 7.

Figura 7. Nivelul transport

3.2.1 Servicii specifice pentru nivelul transport

Nivelul transport este destinat sa asigure unei masini servicii de conexiune si tranzactie. Nivelele inferioare ale modelului se ocupa de transmisia si rutarea pachetelor intre diferite masini. Nivelul transport are menirea de a oferi servicii de transmisie eficiente si sigure intre diferite procese si nu intre masini.
Toate cele patru nivele conlucreaza pentru a oferi un serviciu de transport complet, inlesnind o comunicatie robusta si transparenta pe baza carora se pot construi apoi protocoale la nivelele superioare.
Scopul acestui nivel este de a oferi o cale de comunicatie intre diferite procese care sa simuleze o legatura punct-la-punct, procesele nefiind interesate de modul cum se face de fapt comunicatia.
Un protocol de la nivelul transport executa aceasta sarcina prin impartirea datelor in pachete si transmisia (eventual retransmisia) lor pentru a permite livrarea datelor in ordine, fara duplicate sau omisiuni.
TCP/IP asigura doua protocoale principale la nivelul patru: TCP (Transmission Control Protocol) si UDP (User Datagram Protocol), cum se arata in figura 8.

Figura 8. TCP si UDP in cadrul nivelului transport

Au fost specificate si alte protocoale de transport, cum ar fi cele pentru transportul semnalelor audio digitizate, dar acestea nu fac obiectul prezentului proiect.

3.3 Protocolul de control al transmisiei (TCP)

TCP a fost proiectat sa opereze in diferite retele si sa ofere conexiuni virtuale intre procese, prin transmisii sigure si in ordine ale datelor utilizatorilor.
TCP reprezinta baza unui mecanism de comunicatie interprocese asezat peste cateva nivele care ofera servicii nedemne de incredere, nivele in care pot sa apara pierderi, duplicari, intarzieri, erori sau dezordonari ale pachetelor. Este un protocol complex, care trebuie sa se ocupe, de exemplu, de detectia pachetelor pierdute, retransmisia automata si probleme "patologice", cum ar fi aparitia unor pachete duplicat intarziate.
Potentialul de a asigura robustete in fata unui mediu de transmisie nesigur, fac din TCP un protocol foarte dorit de o multitudine de aplicatii care fac apel la intercomunicatie.
TCP poate lucra si in medii constituite din retele interconectate. A fost special proiectat sa lucreze deasupra protocolului IP, aflat la nivelul trei din modelul ISO OSI (nivelul retea), ca in figura 9:

Figura 9. Relatia intre TCP si IP.
3.3.1 Caracteristici generale ale TCP

TCP are sarcina de a asigura servicii de comunicatie sigure intre procese pereche aflate in cadrul unor calculatoare gazda distincte legate in aceeasi retea sau in cadrul unui set de retele interconectate. Ofera transferuri de date orientate pe conexiune la nivelul transport -; aceleasi servicii de baza ca si Sequenced Packet Protocol (SPP) realizat in cadrul XNS.
TCP accepta o gama larga de ULP care au nevoie sa trimita date perechilor lor aflate pe alte calculatoare gazda. TCP nu incearca sa impuna vreo structura a datelor trimise de catre un protocol de la nivel superior.
TCP trateaza datele primite ca pe un sir continuu, lasand structurarea mesajelor pe seama ULP, spre deosebire de SPP, care ajuta propriii clienti la demarcarea mesajelor. TCP incearca, totusi, sa segmenteze datele in unitati distincte astfel incat ele sa poata fi transmise si receptionate ca pachete individuale. Fiecare astfel de unitate este numita segment.
Deoarece TCP a fost proiectat sa fie independent de caracteristici particulare ale retelelor in cadrul carora opereaza, este data o definitie generala a notiunii de pachet (sau segment) care permite existenta unor pachete cu o lungime de pana la 65KB. TCP pereche pot sa-si transmita pachete care au o lungime pana la lungimea maxima definita in standard (65KB). In realitate, daca se in cearca schimbul unor pachete de o asemenea lungime, nivelele IP vor fi nevoite sa imparta aceste pachete in multe pachete de nivel mai coborat, pentru ca acestea sa corespunda lungimii maxime a pachetelor in cadrul retelei din care hostul face parte. De obicei, diversele implementari ale TCP lucreaza cu pachete care au lungimi adecvate retelei la care sunt atasate.
TCP asigneaza cate un numar de ordine fiecarui octet al sirului infinit de date al clientului sau. Atunci cand schimba segmente cu perechea sa, TCP eticheteaza segmentul cu numarul de ordine al primului octet al segmentului si cu numarul de octeti continuti in pachet. Aceasta permite TCP sa reasambleze fluxul de date atunci cand il livreaza nivelelor superioare.
Daca este nevoit sa retransmita o serie de segmente, TCP poate sa reimpacheteze datele, combinand doua segmente mai mici intr-un segment mai mare, de exemplu. Acest mecanism, motivat de dorinta de a spori eficienta transmisiei in cadrul unor retele larg distribuite, unde se pune problema minimizarii raportului intre numarul de biti ai headerului si numarul de biti de date, face ca TCP sa fie mai complex decat alte protocoale de transport.
Transmisia unui pachet folosind TCP poate sa decurga dupa cum urmeaza (figura 10):

(1) ULP sursa trimit un flux de date catre TCP pentru transmisie;

(2) TCP imparte fluxul de date in segmente, eventual inzestrate cu informatii privind retransmisiile, ordonarea, codificarea nivelelor de precedenta si de securitate, controlul fluxului de date si contolul erorilor. Apoi, segmentul este trimis catre IP.

(3) IP executa propriile atributiuni (creand datagramele, executand eventualele fragmentari etc.) si transmite datagramele prin nivelul legaturii de date si nivelul fizic de-a lungul retelei pana la IP destinatie;

(4) IP destinatie executa procesele de control sau reasamblare necesare si livreaza datagramele ca segmente catre TCP destinatie;

(5) TCP destinatie isi executa propriile servicii (inverse celor de la pasul 2), restaurand datele fragmentate pentru a reconstitui fluxul original de date transmis si livreaza aceste date catre ULP destinatie.

Figura 10. Procesul de transmisie


O descriere completa a serviciilor mentionate la pasul doi de mai sus este:
- Full-duplex - o conexiune TCP permite transmisia simultana in ambele directii a datelor intre ULP corespunzatoare;
- Timely - atunci cand conditiile din cadrul sistemului nu permit trimiterea la timp a datelor, asa cum a fost specificat de un parametru de time-out al ULP, TCP anunta ULP asupra esecului si ULP poate atunci termina conexiunea sau sa ia o alta decizie adecvata;
- Ordered - TCP livreaza datele catre ULP destinatie in ordinea in care le-a primit de la ULP sursa;
- Labeled - TCP asociaza fiecarei conexiuni nivelele de precedenta si securitate care i-au fost indicate de catre ULP in timpul stabilirii conexiunii. Atunci cand informatiile nu sunt indicate de catre ULP-urile pereche, TCP va folosi niste valori implicite. TCP stabileste o conexiune intre o pereche de ULP doar daca informatiile de securitate indicate de cele doua ULP care formeaza perechea sunt identice. Fiecare segment TCP este etichetat cu valoarea negociata a indicatorului de securitate. Daca apare o neconcordanta a nivelului de securitate in timpul unei conexiuni fata de nivelul negociat la inceput, TCP va termina conexiunea;
- Flow controlled - TCP regularizeaza fluxul de date prin conexiune pentru a preveni, printre altele, congestia interna a TCP, care ar duce la degradarea sau esecul serviciilor oferite;
- Error checked - TCP livreaza datele lipsite de erori, garantand ca datele sunt lipsite de erori in masura in care se poate garanta acest lucru bazandu-se pe o suma de control.

3.3.2 Formatul headerului TCP

Headerul TCP este relativ mare, structura sa fiind prezentata in figura 11.

Figura 11. Headerul TCP.

In continuare este prezentata semnificatia fiecarui camp al headerului TCP:
Source Port (Portul sursa)
Abreviere: SRC PORT
Lungimea campului: 16 biti
In principiu, acest camp contine o adresa care identifica un proces sau un serviciu in cadrul host-ului sursa. Portul sursa nu face parte din adresa IP; totusi, combinatia dintre adresa IP si numarul portului identifica in mod unic ceea ce se cheama un soclu (socket) sau punct de acces intr-un proces dat.

Destination Port (Portul destinatie)
Abreviere: DEST PORT
Lungimea campului: 16 biti
Acesta este un camp care identifica procesul sau serviciul in cardul calculatorului gazda receptor.
Campurile Source Port si Destination Port sunt sub controlul calculatoarelor gazda. Fiecare host poate sa decida pentru sine cum sa aloce porturile.

Sequence Number (Numar in cadrul secventei)
Abreviere: SEQ
Lungimea campului: 32 biti
Unitate: octeti
Gama: 0?232-1
Aceasta valoare reprezinta pozitia in cadrul secventei de octeti a primului octet al unui segment. Totusi, daca este prezent un SYN, atunci valoarea acestui camp reprezinta prima pozitie in cadrul secventei (Initial Sequence Number - ISN) pentru acea conexiune; primul octet de date este numerotat ISN+1.
Campurile Sequence Number si Acknowledgement au ambele lungimea de 32 biti, permitand astfel specificarea unui spatiu de secventiere foarte mare. (La o rata de transfer al datelor de 1000 octeti pe secunda, ar fi necesare aproximativ 50 de zile pentru a fi necesara reluarea numerotarii cu numarul in cadrul secventei zero. Data fiind durata maxima de viata a unui pachet - 255 secunde - nu este posibil ca un pachet vechi sa aiba acelasi numar de secventa ca si unul nou si sa para ca ar fi un pachet duplicat sau sa fie receptionat in locul unui pachet care nu a fost livrat din cauza unor erori).

Acknowledgement Number (Numar de confirmare)
Abreviere: ACK
Lungimea campului: 32 biti
Unitate: octeti
Gama: 0?232-1
Daca este setat bitul de control ACK, acest camp contine valoarea numarului de secventa al urmatorului octet pe care receptorul se asteapta sa-l primeasca.

Data Offset (Deplasamentul datelor)
Lungimea campului: 4 biti
Unitate: 32 biti
Gama: 5?15, implicit 5
Acest camp indica numarul de cuvinte de 32 de biti continute in cadrul headerului TCP. Folosind aceasta valoare, poate fi calculat deplasamentul datelor in cadrul pachetului. Aceasta informatie este necesara datorita lungimii variabile a campului Options. Headerul TCP, chiar daca include un camp Options, are o lungime care este un multiplu de 32 biti.

Reserved (Rezervat)
Lungimea campului: 6 biti
Acest camp este rezervat pentru extensii ulterioare. Trebuie sa aiba toti bitii zero.

Control Flags (Indicatori de control)
Lungimea campului: 6 biti
Acest camp contine un numar de indicatori de cate un bit fiecare, folositi pentru stabilirea, terminarea si mentinerea unei conexiuni:

- URG - Urgent Pointer. URG=1 indica faptul ca este folosit campul Urgent Pointer pentru a localiza date urgente, prin intermediul unui offset exprimat in octeti fata de numarul de secventa curent. Acest pointer poate fi necesar in cazul apa


Colt dreapta
Creeaza cont
Comentarii:

Nu ai gasit ce cautai? Crezi ca ceva ne lipseste? Lasa-ti comentariul si incercam sa te ajutam.
Esti satisfacut de calitarea acestui document, eseu, cometariu? Apreciem aprecierile voastre.

Nume (obligatoriu):

Email (obligatoriu, nu va fi publicat):

Site URL (optional):


Comentariile tale: (NO HTML)


Noteaza documentul:
In prezent fisierul este notat cu: ? (media unui numar de ? de note primite).

2345678910

 
Copyright© 2005 - 2024 | Trimite document | Harta site | Adauga in favorite
Colt dreapta