29
LICEUL TEHNOLOGIC “AXIOPOLIS” CERNAVODA Profil: Tehnic Calificarea (Nivel 3): Tehnician operator tehnica de calcul Lucrare de specialitate PROTOCOALE DE RETEA Profesor indrumator, Eleva,

Protocoale de Retea

Embed Size (px)

DESCRIPTION

Atestat profil energetic..PROTOCOALE DE RETEA-RETELE DE CALCULATOARE

Citation preview

Page 1: Protocoale de Retea

LICEUL TEHNOLOGIC “AXIOPOLIS” CERNAVODA

Profil: Tehnic

Calificarea (Nivel 3): Tehnician operator tehnica de calcul

Lucrare de specialitate

PROTOCOALE DE RETEA

Profesor indrumator, Eleva,Spataru Nicoleta Strugariu Melania Elena

Page 2: Protocoale de Retea

-2013-

CUPRINS

Cap.I ARGUMENT ……………………………………………………………………..2

Cap.II PROTOCOALE DE RETEA................................................4

II.1. Notiuni generale ..............................................................4

II.2. Protocolul IPX ………………………………………………………..…….6

II.3. Protocolul SPX ………………………………………………………….…..8

II.4. Protocoalele TCP/IP…………………………………………………....10

II.4.1. Protocolul Internet (Internet Protocol - IP)………10

II.4.2. Protocolul de control al transmisiei (TCP)………16

BIBLIOGRAFIE .............................................................................19

1

Page 3: Protocoale de Retea

Cap.I ARGUMENT

Am realizat „Protocoale de retea”, o sinteza ce face referire la protocoalele utilizate in retelele de calculatoare. Structurata in doua capitole de intindere inegala, lucrarea pastreaza tiparele realizarii unei astfel de lucrari si este conforma cu cerintele impuse de programa scolara, urmarind furnizarea unui complex de cunostinte sintetizate.

Primul capitol al acestei lucrari il reprezinta „Argumentul” care are rolul unui memoriu justificativ, in decursul caruia este facuta o prezentare pe scurt a cuprinsului acestei lucrari.

In cel de al doilea capitol am prezentat cateva notiuni generale despre protocoale, protocolul IPX, protocolul SPX, protocoalele TCP/IP, protocolul Internet (Internet Protocol – IP), protocolul de control al transmisiei (TCP).

O retea de calculatoare care interconecteaza diferite sisteme de calcul poate functiona in bune conditii numai daca exista o conventie care stabileste modul in care se transmite si se interpreteaza informatia, conventie numita protocol. Protocoalele permit calculatoarelor sa comunice intre ele printr-un limbaj comun, reprezinta un standard sau o conventie asupra modului de desfasurare a unui anumit lucru.

Prin protocol se intelelge o suita (stiva) de protocoale ce lucreaza impreuna (de exemplu TCP/IP). Protocoalele nu sunt identice din punctul de vedere al eficientei, vitezei de lucru, consumului de resurse (in functie de dimensiunea header-ului, de exemplu), usurintei in instalare, usurintei in administrare – diferentele sunt date de tipul retelei, tipul infrastructurii acesteia (un singur segment sau mai multe, separate printr-un ruter), daca protocolul este rutabil sau nu, de tipul clientilor din retea

2

Page 4: Protocoale de Retea

(M.Windows, Novell Netware, Apple Talk, tipul de echipamente existent in retea si modul cum este utilizat protocolul. 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.

Prin respectarea standardelor admise pentru OSI se asigura posibilitatea interconectarii, a cooperarii sistemelor si transferul informatiilor utilizatorilor. Exista urmatoarele trei elemente importante introduse de OSI: puncte de acces la servicii, care definesc interfetele intre nivele adiacente; primitive ca baza a dialogului intre nivele adiacente; protocoale care reprezinta reguli pentru executarea dialogului intre nivele de acelasi ordin ale echipamentelor care se afla in relatie directa unul cu celalalt .

Modelul OSI este un ghid pentru proiectarea infrastructurii unei retele si a protocoalelor de retea. Fiecare suita de protocoale are propriul model, care defineste functionalitatea retelei in interiorul suitei de protocoale.

Criteriile potrivit carora ISO a repartizat functiile pe nivele au fost: omogenizarea in interiorul fiecarui strat; reducerea la minimum a interactiunilor dintre nivele; limitarea numarului de nivele la o valoare acceptabila. In modelul OSI, primele trei nivelele contin functiile necesare pentru transferul informatiilor prin retea. Rolul unui nivel este de a realiza urmatoarele functii: comunica cu entitatea de acelasi nivel dintr-un alt subsistem la care este realizata conexiunea prin reteaua tehnica, folosind un protocol de comunicatie standardizat, specific nivelului; ofera servicii nivelelor superioare.

In finalul acestui capitol am prezentat protocoalele folosite pentru retelele tip internet. Cele mai utilizate sunt: TCP (Transmission Control Protocol) si IP (Internet Protcol). Acest set de protocoale permit impreuna calculatoarelor legate in retea sa se interconecteze pentru a realiza transferul de fisiere, servicii de posta electronica si sesiuni de lucru interactiv la distanta. In incheiere as vrea sa precizez ca acest set de protocoale a inceput sa fie din ce in ce mai raspandit in mediul comercial.

Modelul TCP/IP este modelul lumii reale. File Transfer Protocol – FTP este un protocol orientat pe conexiune, inclus in suita TCP/IP – conexiunea trebuie sa fie stabilita pentru a transfera fisiere intre server-ul FTP si clientul FTP, trimite si receptioneaza fisiere via TCP/IP, consta dintr-un client si un server, transfera fisiere simplu si eficient, permite stabilirea unei conexiuni (prin intermediul unui program existent pe desktop) cu server-ul FTP, dupa care transfera fisierul intr-un mod orientat pe conexiune.

3

Page 5: Protocoale de Retea

In finalul lucrarii am prezentat „Bibliografia” ce contine manualele de specialitate din care am extras material pentru lucrarea de specialitate pe care am realizat-o.

4

Page 6: Protocoale de Retea

Cap.II PROTOCOALE DE RETEA

II.1. Notiuni generale

O retea de calculatoare este alcatuita dintr-un ansamblu de mijloace de transmisie si de sisteme de calcul, pentru a realiza atat functii de transport a informatiei cat si functii de prelucrare a acesteia. O retea de calculatoare care interconecteaza diferite sisteme de calcul poate functiona in bune conditii numai daca exista o conventie care stabileste modul in care se transmite si se interpreteaza informatia, conventie numita protocol. Asadar, un protocol este un set de reguli pe care fiecare calculator trebuie sa-l respecte pentru a comunica cu un altul. Protocoalele sunt de doua feluri: rutabile: sunt acel protocoale care accepta comunicatii LAN - LAN pe mai multe cai si nerutabile.

Desi astazi sunt si alte sisteme in functiune, cei mai multi distribuitori de echipamente de comunicatie folosesc OSI pentru a educa utilizatorii in folosirea echipamentelor. Se considera ca OSI este cel mai bun mijloc prin care se poate face inteles modul in care informatia este trimisa si primita. In modelul OSI sunt sapte straturi si fiecare strat are functii diferite in retea, aceasta repartitie purtand numele de stratificare (in engleza layering).

Stratul 7 (layer 7- application) este cel mai aproape de utilizator si are rolul de a face legatura dintre aplicatie si serviciile oferite de retea pentru acea aplicatie. El este mai aparte decat celelalte straturi in aceea ca nu furnizeza servicii altor straturi. Spre exemplu: o aplicatie ca editorul de text pe care tocmai am scris acest text foloseste stratul 7 cand ii comand sa salvez pe un disc care este in retea. Daca este sa asociem acest strat cu un cuvant, cel mai potrivit ar fi: browser. La acest nivel se afla situate network shell-urile care permit de exemplu un workstation sa se integreze in retea.

Stratul 6 (layer 6 - presentation) are ca scop traducerea informatiilor in formate pe care masinile care comunica le pot intelege. Poate fi asociat principial cu sintagma: formatul informatiei. Converteste cele doua formate EBCDIc si ASCII in formate de imagine , audio , video etc.

Stratul 5 (layer 5 – session) porneste, administreaza si termina sesiunile de comunicare intre calculatoare. Este asociat cu termenul de dialog.

5

Page 7: Protocoale de Retea

Exemple de protocoale din Stiva OSI:

7 Aplicatieex.: HTTP, SMTP, SNMP, FTP, Telnet, SIP, SSH, NFS, RTSP, XMPP, Whois, ENRP

6 Prezentare ex.: XDR, ASN.1, SMB, AFP, NCP

5 Sesiuneex.: ASAP, TLS, SSH, ISO 8327 / CCITT X.225, RPC, NetBIOS, ASP, Winsock, BSD sockets

4 Transport ex.: TCP, UDP, RTP, SCTP, SPX, ATP, IL

3 Reteaex.: IP, ICMP, IGMP, IPX, BGP, OSPF, RIP, IGRP, EIGRP, ARP, RARP, X.25 (Packet Switching)

2Legatura de date

ex.: Token ring, HDLC, Frame relay, ISDN, ATM, 802.11 Wi-Fi, FDDI, PPP

1 Fizicex.: cablu coaxial, radio, fibra optica, cablu bifilar torsadat, fire cupru, Ethernet

Stratul 4 (layer 4 – transport) segmenteaza si reasambleaza informatia care circula intre noduri. Granita dintre acest strat si cel de deasupra lui este foarte importanta pentru ca delimiteaza straturile care se ocupa cu procesarea locala a informatiei (7-application, 6-presentation si 5-session) si pe cele care au ca functie definirea modului in care trebuie sa circule datele intre echipamente (4-transport , 3-network , 2-data link si 1-phisycal). Functiile principale ale stratului transport ar fi: defineste caracteristicile transportului intre noduri, se asigura ca datele au ajuns la destinatie, stabileste, mentine si termina circuite virtuale, detecteaza si remediaza erorile care au aparut in procesul de transport, controleaza fluxul de date. Daca trebuie gandit in cateva cuvinte, cele mai bune ar fi: calitatea serviciului si increderea in serviciu.

Stratul 3 (layer 3 – network) poate fi gandit avand doua functii: rezolva adresarea intre hosturi si gaseste cea mai buna cale pe care informatia trebuie sa o parcurga pentru ajunge la destinatie. Aici se desfasoara procesul de routing.

Stratul 2 (layer 2 – data link) face trecerea informatiei din calculator in mediul prin care este trimisa informatia (cablu, fibra optica sau unde radio). Acest strat mai controleaza fluxul de date in mediul de transport, ofera adresarea fizica (adresele MAC), aici se regasesc tehnologiile care asigura diferite topoligii logice ale retelelor (Ethernet, IEEE 802.3, IEEE 802.5, FDDI, Token Ring etc).

6

Page 8: Protocoale de Retea

Ne putem aminti usor de acest strat asociindul cu frame-uri si MAC.

Stratul 1 (layer 1 – phisycal) defineste la nivel electric, mecanic, procedural si functional legatura fizica intre calculatoarele care comunica. Spre exemplu are in grija: nivelele de voltaj din cablu, tipurile de cablu, transmisie radio, microunde, infrarosu sau prin fibra optica, distanta maxima dintre doua capete ale legaturii, etc. Il putem asocia cu termenii semnal si cablu. Tipuri de specificatii pentru acest strat: EIA-232D (specifica interfetele si semnalul intre DTE si DCE) , Ethernet, IEEE 802.3 (asemanator cu Ethernetul dar standardizat public), IEEE 802.5 (forma standardizata de IEEE pentru Token Ring).

II.2. Protocolul IPX

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.

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.

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,

7

Page 9: Protocoale de Retea

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.

Structura pachetului IPX este urmatoarea: Checksum Length, Transport Control, Packet Type, Destination Network, Destination Node, Destination Socket, Source Network, Source Node, Source Socket, Data Portion. Toate campurile sunt structurate high-low, adica cel mai semnificativ octet al campului este primul.

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); 1631 - Protocoale experimentale; 17 - Protocol NetWare Core (Core =

8

Page 10: Protocoale de Retea

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.

Destination Socket (Soclul destinatie). Acest camp contine adresa soclului procesului destinatie a pachetului. Soclurile ruteaza pachetele catre diferite destinatii in cadrul aceluiasi nod.

II.3. 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.

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;

9

Page 11: Protocoale de Retea

• 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.

Campurile pachetului SPX care au aceeasi denumire ca si cele din cadrul pachetelor IPX au si aceeasi semnificatie ca si acestea. 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: • 18 - 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. 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. 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.

Sequence Number (Numarul de secventa). Acest camp retine numarul pachetelor schimbate intr-o directie a conexiunii. Fiecare parte a conexiunii tine propriul contor.

10

Page 12: Protocoale de Retea

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.

II.4. 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. 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.

II.4.1. Protocolul Internet (Internet Protocol - IP)

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).

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

11

Page 13: Protocoale de Retea

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.

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

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". 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

12

Page 14: Protocoale de Retea

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)

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.

Fig.2. Transmisia datelor prin intermediul IPModulele 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

13

Page 15: Protocoale de Retea

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 achizitionate si mentinute 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. 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.

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. Campul Protocol specifica protocolul particular de la nivelul 4 caruia ii apartine pachetul (de exemplu, TCP sau alt protocol echivalent).

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 manipuleaza 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.

Numar (zecimal)

Prescurtare Descriere

0 Reserved1 ICMP Internet Control Message5 ST Stream6 TCP Transmission Control Protocol

14

Page 16: Protocoale de Retea

8 EGP Exterior Gateway Protocol9 IGP Any private interior gateway

protocol11 NVP Network Voice Protocol17 UDP User Datagram Protocol20 HMP Host Monitoring Protocol22 XNS-IDP Xerox Network Systems

Internet Datagram Protocol27 RDP Reliable Data Protocol28 IRTP Internet Reliable Transaction

Protocol29 ISO-TP4 ISO Transport Protocol Class 430 NETBLT Bulk Data Transfer Protocol61 Any host internal protocol

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

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).

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.

IP poate sa-si adapteze serviciile pentru a permite existenta unei diversitati de ULP-uri. De exemplu, un protocol de la nivelul

15

Page 17: Protocoale de Retea

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.

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:

- multe hosturi distribuite in retele putine;- o distributie medie a hosturilor si retelelor;- putine hosturi in multe 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 adrese IP prin examinarea primului octet al adresei, ca in tabelul 2.

Valoare Clasa0127 A128191

B

192223

C

224255

D

Tabelul 2. Identificarea clasei unei retele in functiede 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. 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.

Nivelele superioare pot sa doreasca transmitera de mesaje catre modulele IP, prin care sa anunte faptul ca unele aspecte

16

Page 18: Protocoale de Retea

privind comportarea hostului care transmite pachete ar trebui modificate. Pentru aceasta se foloseste ICMP (Internetwork Control Message Protocol). 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.

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 (Adress Resolution Protocol).

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.

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

17

Page 19: Protocoale de Retea

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.

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 (Reverse Address Resolution Protocol), 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.

II.4.2. Protocolul de control al transmisiei (TCP)

TCP/IP asigura doua protocoale principale la nivelul patru: TCP (Transmission Control Protocol) si UDP (User Datagram Protocol), cum se arata in figura 3.

Fig.3. TCP si UDP in cadrul nivelului transport

TCP a fost proiectat sa opereze in diferite retele si sa ofere conexiuni virtuale intre procese, prin transmisii sigure si in ordine

18

Page 20: Protocoale de Retea

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).

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.

Fig.4. Relatia intre TCP si IP.

19

Page 21: Protocoale de Retea

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.

Odata ce s-a stabilit o conexiune, TCP o va mentine cat timp ambele parti raman interesate sa o mentina activa. Conexiunile care sunt stabilite dar nu genereaza in mod activ date care sa fie schimbate intre cele doua ULP, nu genereaza nici un pachet. Aceasta nu este o problema, dar este interesant faptul ca TCP nu ofera un mecanism care sa detecteze pierderea unui partener de conexiune atunci cand nu se schimba date intre parteneri. Dar, deoarece pentru unele aplicatii o asemenea informatie este de folos, unele implementari TCP folosesc un truc pentru a realiza aceasta detectie: se trimit datagrame care nu contin date si cu numar de secventa incorect. TCP specifica faptul ca recipientul trebuie sa raspunda cu o datagrama continand numarul de secventa corect. Daca nu se receptioneaza nici un raspuns, TCP care verifica existanta conexiunii poate sa decida ca perechea sa a disparut.

TCP isi construieste serviciile pe serviciile potential nesigure ale nivelului retea, cu mecanisme ca: detectie de erori, confirmari, numere de secventa si controlul fluxului de date. Aceste mecanisme cer ca informatiile de adresare si de control sa fie initializate si mentinute pe toata durata transferului.

Mecanismul de control al fluxului de date implementat de TCP permite unui TCP destinatie sa controleze datele expediate de un TCP sursa. Mecanismul este bazat pe implementarea unei ferestre care defineste o gama continua de numere de secventa acceptabile. Pe masura ce noi date sunt acceptate, TCP muta fereastra in sus in spatiul numerelor de secventa. Fereastra este specificata in cadrul fiecarui segment si permite TCP sa mentina informatii actuale.

20

Page 22: Protocoale de Retea

TCP si UDP folosesc ambele numere de porturi, pentru a distinge participantii la diferite schimburi de date. Deoarece identificatorul de protocol (campul de 16 biti din cadrul headerului IP) este evaluat inaintea valorii numarului de port, TCP si UDP folosesc valori independente de cate 16 biti pentru a identifica porturile. Deci, acelasi numar de port poate identifica doua porturi diferite: unul pentru TCP si altul pentru UDP.

BIBLIOGRAFIE

Peter Norton, “Calculatorul personal”, Editura Teora, 2000

P. Borza, M. Dascalul, C. Gavrilescu, ”Calculatorul personal” Editura Tehnica, Bucuresti, 1999

V. Popescu, “Multimedia”, Editura Tehnica, Bucuresti, 2000

21