Sunteți pe pagina 1din 14

CAP 3.

PRINCIPIILE COMUNICATIEI ÎN RETELE DE


CALCULATOARE
Reține!
Este necesară definirea termenului de rețea de calculatoare ca fiind o colecție de
calculatoare autonome interconectate.
Într-un sistem distribuit, existența mai multor calculatoare, principiile comunicației în
rețelele de calculatoare autonome este transparentă, sistemul de operare este cel care
distribuie sarcinile de prelucrare către unul sau mai multe procesoare, transferă datele de
intrare procesoarelor și depune rezultatele prelucrării la locul corespunzător.
3.1 Cazuri de utilizare rețele
La nivelul organizațiilor ce dispun de un număr mare de calculatoare situate la
distanță unul de altul, acestea nu trebuie să lucreze independent ci este nevoie de
comunicare pentru ca la cerere să se poată corela informația stocată pe fiecare
dintre ele. Un alt obiectiv este asigurarea unei mari flexibilități prin accesul la
mai multe spații de stocare.
În modelul client server procesul client trimite o cerere către procesul server,
cerere ce implică realizarea unei anumite acțiuni. Serverul execută cererea
formulată de către client și transmite rezultatul execuției acesteia clientului. Un
server deservește, de regulă, un număr mare de clienți.
Un canal uzual de comunicație în secolul XXI este poșta electronică sau e-mail, dar și o
tendință de schimbare a tehnologiei pentru comunicația telefonică bazată pe voice over IP. În
domeniul comunicării între oameni sunt puse la punct tehnologii de comunicare audio și
video pentru întâlniri virtuale numite și videoconferințe.
O serie de probleme se ivesc în cadrul grupurilor de interese ce iau în discuție subiecte
extrem de delicate, la care se produc mesaje ce sunt considerate ofensatoare și chiar imorale
de o mare categorie de persoane. Multe forumuri de discuții sub umbrela anonimatului
promovează subiecte de moralitate îndoielnică, exprimări vulgare.
O problemă importantă este cea a mesajelor anonime ce pot fi privite ca semnale de
alarmă asupra unor probleme serioase fără teamă de represalii.

3.2 Considerente hardware, tipuri de rețele


Din punctul de vedere al tehnologiilor de transmisie o primă categorie încadrează
rețelele cu difuzare, în care un singur canal de comunicație este partajat de către toate
mașinile din rețea.
- Sunt sisteme de difuzare ce permit transmiterea către un subset de mașini, operație
cunoscută sub denumirea de transmitere multiplă.
- Spre deosebire de rețelele de difuzare rețelele punct la punct formează numeroase
conexiuni între perechi de mașini individuale. Pentru ca un mesaj să ajungă de la
sursă la destinație, de multe ori acesta trebuie să traverseze o mulțime de mașini
intermediare.
- Un alt criteriu de clasificare a rețelelor este mărimea. După mărime rețelele se împart
în rețele locale (LAN), rețele metropolitane (MAN) și rețele larg răspândite geografic
(WAN). Prin interconectare a două sau mai multe rețele se obține o inter-rețea al cărei
exponent tipic este Internet.
3.2.1 Rețele locale
Rețelele locale (Local Area Network) denumite și LAN sunt considerate rețele private
localizate într-o clădire sau un campus.
Principalele criterii prin care distingem un LAN de alte rețele sunt: mărimea, tehnologia
de transmisie și topologia.
3.2.2 Rețele metropolitane
O rețea de întindere mare pentru o zonă de birouri învecinate sau chiar pe suprafața
unui întreg oraș poartă numele de rețea metropolitană (Metropolitan Area Network -
MAN).
3.2.3 Rețele cu ră spândire geografica mare
Rețelele ce acoperă o arie geografică întinsă poartă denumirea de WAN (Wide Area
Network). O astfel de rețea are în componență o colecție de calculatoare ce sunt utilizate
pentru a executa programele utilizatorilor.
Gazdele sunt interconectate între ele prin intermediul unei rețele locale numită în acest
context subrețea. O subrețea va transporta mesajele de la o gazdă la alta!.
Atunci când un pachet sosește la un element de comutare el trebuie să aleagă o nouă linie
pentru a retransmite datele. Din punct de vedere terminologic, putem numii aceste elemente
prin: noduri de comutare a pachetelor, sisteme intermediare, comutatoare de date. Voi
folosi pentru aceste elemente un termen adoptat din limba engleză și anume ruter.
La proiectarea unei astfel de rețele este importantă alegerea topologiei de interconectare
a ruterelor, fiind posibile topologii de tip stea, inel, arbore, completă, inele intersectate,
neregulată.
3.2.4 Rețele radio
O dezvoltare impresionantă au cunoscut calculatoarele mobile (notebook, PDA), care se
conectează la LAN sau WAN atunci când utilizatorul se găsește în birou cât și atunci când se
găsește în locații îndepărtate. Conectarea prin fire este imposibilă atunci când calculatorul
este în mișcare, motiv pentru care singura alternativă rămâne conexiunea radio.
Este necesară conectarea unor rețele diferite, de multe ori incompatibile, echipamentele
prin care se materializează Principiile comunicației în rețelele de calculatoare poartă
denumirea de porți sau gateways.
3.3 Programe de rețea
Pentru a reduce complexitatea proiectării programelor majoritatea rețelelor sunt
structurate pe straturi sau niveluri, denumite generic cu termenul de limbă engleză layer.
Regulile și convențiile utilizate poartă numele de protocol al nivelului.
Reținem!
O mulțime de niveluri și protocoale este numit arhitectură de rețea.
Fiecare dintre niveluri analizează informația primită din punctul de vedere al
competențelor sale. Acest lucru face ca numai informația suplimentară, (în cele mai multe
situații antete) adăugată de un nivel egal în ierarhie să fie procesată. De regulă, nivelurile
inferioare sunt implementate în hardware sau firmware.
La proiectarea nivelurilor apar o serie de probleme. Astfel la fiecare nivel este nevoie de
un mecanism pentru a identifica emițătorii și receptorii. În rețea sunt mai multe calculatoare,
pe un calculator rulează mai multe procese ceea ce face necesară o modalitate ca un proces de
pe o anumită mașină să specifice cu cine dorește să comunice.
3.3.1 Interfețe și servicii
Elementele active ale fiecărui nivel poartă denumirea de entități.
O entitate poate fi o entitate software (un proces în execuție) sau o entitate hardware
(circuit de I/O). Entitățile se numesc egale dacă fac parte din același nivel și se găsesc pe
mașini diferite.
Definim noțiunea de Service Acces Point (SAP) ca fiind locurile unui nivel unde
nivelul superior poate avea acces la serviciile oferite. Pentru identificare fiecare SAP are o
adresă unică.
3.3.2 Servicii orientate pe conexiuni și servicii fă ră conexiuni
Un nivel din arhitectură poate oferi nivelurilor superioare două tipuri de servicii:
orientate pe conexiuni și fără conexiuni.
1. Serviciul orientat pe conexiuni are ca model de bază modelul din sistemul
telefonic.
2. Prin opoziție serviciul fără conexiune este modelul de bază al sistemului poștal.
Un serviciu de comunicație, și nu numai, poate fi caracterizat prin calitatea serviciului.
Un serviciu sigur, ce nu pierde niciodată date, necesită ca receptorul să transmită confirmare
pentru primirea fiecărui mesaj.
Serviciul nesigur, adică neconfirmat este deseori numit serviciu datagramă, prin analogie
cu serviciul de telegrame. De multe ori nu se stabilește o conexiune pentru a transmite un
mesaj scurt la care siguranța este esențială. În astfel de cazuri se va utiliza serviciul
datagramă confirmat, similar cu transmiterea scrisorilor cerând confirmare de primire.
Un serviciu interesant este serviciul cerere-răspuns prin care emițătorul trimite o singură
datagramă care conține o cerere, iar replica primită de la receptor conține răspunsul.
Într-un serviciu confirmat există primitivele: request, indication, response și confirm.
Într-un serviciu neconfirmat există numai primitivele request și indication. Connect este
totdeauna un serviciu confirmat întrucât perechea de la distanță trebuie să accepte stabilirea
conexiunii. Acțiunile întreprinse determină servicii primitive între niveluri adiacente.
3.3.3 Relația dintre protocoale și servicii
Un protocol reprezintă un set de reguli care guvernează formatul și semnificația cadrelor,
pachetelor sau mesajelor schimbate între entitățile pereche. Entitățile folosesc protocoalele
pentru a implementa definițiile serviciului lor.
4. MODELE DE REFERINTA
4.1. Modelul de referinta OSI
Modelul OSI se bazează pe propunerea dezvoltată de Organizația Internațională de
Standardizare (International Standards Organisation – OSI). Modelul poartă denumirea de
ISO OSI (Open System Interconnection) pentru că se ocupă de interconectarea sistemelor
deschise pentru comunicație cu alte sisteme.
Modelul este construit pe șapte niveluri (layer) respectând principiile:
 Un nivel este creat atunci când este nevoie de un nivel diferit de abstractizare.
 Fiecare nivel are un rol bine stabilit.
 Funcția aleasă pe fiecare nivel se bazează pe protocoale standardizate pe plan
internațional.
 Nivelurile sunt independente, fluxul de date prin interfețele de comunicație între
niveluri este minimizat.
 Numărul de niveluri este ales astfel încât să nu se introducă pe același nivel funcții
diferite, dar să confere în același timp o arhitectură funcțională.
4.1.1 Nivelul fizic
Nivelul fizic este nivelul cel mai de jos al stivei, nivelul se ocupă de transmiterea biților
printr-un canal de comunicație. Se pornește de la faptul că pe un canal de comunicație se
transmit biți în starea 1 logic și biți în starea 0 logic.
4.1.2 Nivelul legă turii de date
Nivelul legăturii de date are sarcina de a transforma un mijloc de comunicație într-o linie
care să fie disponibilă nivelului rețea fără erori de transmisie nedetectate.
4.1.3 Nivelul rețea
Nivelul rețea are atribuții în domeniul controlului funcționării subrețelei. Trebuie stabilit
modul în care pachetele sunt dirijate de la sursă la destinație, prin tabele statice sau dirijare
dinamică pentru fiecare pachet în concordanță cu traficul curent.
4.1.4 Nivelul transport
Nivelul transport are ca principal rol acceptarea de date de la nivelul sesiune, date pe
care le descompune în unități mai mici, dacă este cazul, le transmite nivelului rețea, iar la
recepție nivelul transport trebuie să reasambleze datele din fragmentele sosite la destinație.
4.1.5 Nivelul sesiune
Nivelul sesiune permite ca utilizatori de pe mașini diferite să stabilească sesiuni între ei.
O sesiune permite transportul obișnuit de date cât și servicii îmbunătățite, utile într-o gamă
largă de aplicații. Cel mai simplu spunem că o sesiune permite unui utilizator să se conecteze
la distanță pe un sistem cu divizarea timpului sau să transfere un fișier între două mașini.
4.1.6 Nivelul prezentare
Nivelul prezentare spre deosebire de nivelurile inferioare lui se ocupă de sintaxa și
semantica informațiilor transmise. Exemplu tipic, codificarea datelor într-un mod standard
prestabilit. Informațiile care se transmit între două mașini sunt reprezentate ca șiruri de
caractere, numere întregi sau reale, structuri de date compuse din date elementare.
4.1.7 Nivelul aplicație
Nivelul aplicație conține o varietate de protocoale utilizate frecvent. Terminalele ce se
utilizează într-o rețea pot fi incompatibile, deoarece fiecare posedă propriile caractere de
control. Un mod de a rezolva problema este cel prin care se definește un terminal virtual de
rețea abstract.
4.2 Modelul de referință TCP/IP
Numele este rezultatul combinației între denumirea celor două protocoale de bază:
Transport Control Protocol (TCP) și Internet Protocol (IP).
Nivelul IP trebuie să furnizeze pachetele IP la destinație și în situații de congestie sau
probleme delicate de distribuire. Pentru o înțelegere mai bună vom arăta comparativ stiva
ISO OSI și modelul de referință TCP/IP.
Transport Control Protocol, denumit și TCP, protocol de control al transmisiei, este un
protocol prin care se asigură controlul conexiunii. Un flux de octeți transmis de la o mașină la
alta este verificat din punct de vedere corectitudine, confirmat sau neconfirmat (caz în care se
retransmite).
Un al doilea protocol pe același nivel ce asigură transportul este User Datagram
Protocol (UDP), protocol datagrame utilizator, protocol nesigur, fără conexiuni.
Printre protocoalele incluse la nivel aplicație sunt incluse terminalul virtual (TELNET),
transferul de fișiere (FTP), poșta electronică (SMTP) și nu numai. Toate aceste protocoale au
utilități bine definite: prin TELNET se permite unui utilizator distant să lucreze pe o altă
mașină, FTP asigură o modalitate eficientă pentru transferul de date de la o mașină la alta,
poșta electronică permite comunicația de mesaje și date între persoane.
Cu toate asemănările dintre modelul OSI și TCP/IP între cele două modele sunt o serie
de deosebiri majore. În modelul OSI trei concepte sunt esențiale: servicii, interfețe,
protocoale.
Cu toate că anumite protocoale au fost proiectate pentru un anumit moment și sunt
construite pentru hardware specific (TELNET – proiectat pentru un terminal de tip
teleimprimator cu 10 caractere pe secundă) se utilizează frecvent și astăzi.
Lucrarea de verificare 4
1. Specificați modul de formare a pachetelor ce conțin date într-o comunicare virtuală pe
mai multe niveluri.
Un nivel superior este construit peste cel inferior. Numărul de staturi, funcțiile și
conținutul acestora variază de la o rețea la alta. Principiul general utilizat este de a oferi
servicii nivelului superior, fără a intra în amănunte legate de implementarea serviciului
2. Rolul interfețelor și serviciilor în stivele de comunicație.
Dacă entitățile de la un nivel dat implementează un serviciu pentru nivelul superior,
nivelul inferior este numit furnizor de servicii, iar nivelul superior utilizator de servicii.
3. Principalele diferențe dintre modelele de referință OSI și TCP/IP.
Cu toate asemănările dintre modelul OSI și TCP/IP între cele două modele sunt o serie
de deosebiri majore. În modelul OSI trei concepte sunt esențiale: servicii, interfețe,
protocoale. În acest model fiecare nivel realizează o serie de servicii pentru nivelul aflat
deasupra sa, prin care se precizează ce face nivelul și nu cum este utilizat de alte entități sau
implementat în nivel. Prin interfață un nivel informează procesele de deasupra cum să facă
accesul, ce reprezintă parametrii și ce rezultat se obține, fără a face referiri la funcționarea
internă a nivelului. Un nivel poate utiliza orice protocol, cu condiția ca acesta să funcționeze
pentru implementarea serviciului dorit. Schimbarea protocoalelor aferente unui nivel nu
afectează programele de la nivelurile superioare. Se poate face o asemănare între ideile
prezentate mai sus și programarea orientată obiect în care un obiect oferă o serie de metode
ce pot fi invocate de procese exterioare obiectului. Nivelul TCP/IP nu a făcut nici o distincție
clară între serviciu, interfața și protocol. Protocoalele în modelul OSI sunt mai bine ascunse
decât cele din modelul TCP/IP. Spre deosebire de OSI la care mai întâi s-a conceput modelul
apoi sa pus problema implementării la modelul TCP/IP au apărut mai întâi protocoalele și
modelul a făcut doar o descriere a protocoalelor existente.
4. Enumerați principalele atribuții ale nivelurilor într-o arhitectură orientată pe straturi.
Nivelul rețea are atribuții în domeniul controlului funcționării subrețelei. Trebuie stabilit
modul în care pachetele sunt dirijate de la sursă la destinație, prin tabele statice sau dirijare
dinamică pentru fiecare pachet în concordanță cu traficul curent. Pot apărea probleme
speciale atunci când pachetele traversează frontiera dintre două rețele sau subrețele, caz în
care modul de adresare poate fi diferit, dimensiunea maximală a pachetelor și protocoalele
utilizate pot fi diferite. Rezolvarea tuturor problemelor pentru conectarea rețelelor eterogene
este în sarcina nivelului rețea.
5. Principalele diferențe funcționale între TCP și UDP.
Transport Control Protocol, denumit și TCP, protocol de control al transmisiei, este un
protocol prin care se asigură controlul conexiunii. Un flux de octeți transmis de la o mașină la
alta este verificat din punct de vedere corectitudine, confirmat sau neconfirmat (caz în care se
retransmite). Fluxul de octeți este împărțit în mesaje discrete de către nivelul TCP al
transmițătorului și reasamblat din fragmente de către același nivel, dar al receptorului. TCP
trebuie să facă și un control al fluxului pentru ca un emițător rapid să nu inunde un receptor
mai lent.
Un al doilea protocol pe același nivel ce asigură transportul este User Datagram Protocol
(UDP), protocol datagrame utilizator, protocol nesigur, fără conexiuni. Este destinat
aplicațiilor ce doresc să utilizeze propria secvențiere și control al fluxului, nu pe cele asignate
de TCP. Protocolul este utilizat pentru interogări întrebare răspuns cum este cazul aplicațiilor
client/server sau aplicații la care se urmărește transmiterea unui volum mare de date în
intervale de timp foarte scurte (aplicații de tip videoconferință), fără a fi foarte importantă
acuratețea datelor.

CAP. 5. STIVA DE PROTOCOALE TCP/IP

5.1 Descriere generala TCP/IP


Reținem!
CP/IP este un set de protocoale organizate în straturi.
Așa cum s-a prezentat în capitolul anterior denumirea generica TCP/IP înglobează 4
straturi:
 ƒ un protocol de aplicație (ex. mail);
 ƒ un protocol TCP ce furnizează servicii necesare mai multor aplicații asigurând
controlul corectitudinii recepției mesajelor;
 ƒ un protocol IP ce furnizează servicii de bază pentru a transporta datagramele la
destinație;
ƒ protocolul necesar manipulării nivelului fizic pentru transport, ca de exemplu Ethernet
sau linie punct la punct.
TCP/IP este bazat pe “catenet model” ce presupune că este compus dintr-un mare număr
de rețele independente conectate împreună prin gateways. Datagramele vor fi adesea
transferate prin diferite rețele înainte de a ajunge la destinație.
t. O serie de sisteme software operează direct cu adresa Internet. TCP/IP este construit pe
tehnica de conectivitate în care informațiile sunt transmise ca o secvență de datagrame. O
datagramă este o colecție de date ce este trimisă ca un singur mesaj.
Tehnic, cuvântul datagramă este considerat ca fiind cel mai potrivit pentru TCP/IP. O
datagramă este o unitate de date (Phisical Data Unit – PDU). Un pachet este un obiect fizic
apărut pe conexiunea Ethernet sau alt mediu fizic.

5.1.1 Nivelul TCP

Nivelul TCP (Transmision Control Protocol - TCP) este responsabil de spargerea


mesajului în datagrame, reasamblarea acestora la un alt terminal, returnarea informațiilor
despre datagramele pierdute. Internet Protocol (IP) este responsabil de dirijarea datagramelor
individuale.
Un header este format din câțiva extraocteți plasați la începutul unei datagrame pentru a
identifica traiectoria.
Când se trimite o datagramă, aceasta va prelua numărul de port sursă, iar la destinație
TCP are asignat un număr de port propriu pentru conversație. TCP are cunoștință de numărul
de port utilizat de alții, odată cu startarea unei conexiuni.
5.1.2 Nivelul IP

TCP trimite fiecare pachet al mesajului la nivelul IP, indicând acestuia adresa Internet
(IP) a destinatarului. Pentru a face trimiterea, IP nu are nevoie de alte informații decât adresa
destinației, fără să fie interesat de conținutul datagramei sau al headerului TCP.
5.2 Caracteristici ale nivelului fizic la TCP/IP
Fiecare tehnologie hardware definește un mecanism de adresare pe care calculatoarele îl
utilizează pentru specificarea destinației fiecărui pachet. Fiecare mașină atașată la rețea are o
unică adresă văzută uzual ca un întreg.
5.2.1 Tehnologia Ethernet
Ethernet este numele dat celei mai populare tehnologii de networking dezvoltată de
Xerox PARC în jurul anilor 1970, tehnologie ce a fost standardizată de Intel Xerox și Digital
în 1978 pentru care IEEE utilizează versiunea de standard 802.3. În structura originală
Ethernet utilizează cablul coaxial, cablu este complet pasiv, singurele elemente active fiind
calculatoarele atașate la rețea.
Prin hub se înțelege un dispozitiv electronic care simulează semnalele unui cablu
Ethernet. O conexiune între o stație și un hub este limitată la maxim 100 m lungime și poate
cere personal specializat pentru monitorizarea și controlul operațiilor în rețea.
Schema de acest tip este numită și Carrier Sense Multiple Acces with Collision Detect
(CSMA/CD) întrucât multiple mașini pot accesa ethernet simultan și fiecare detectează când
legătura este liberă prin sesizarea undei carrier.
O adresă Ethernet poate avea valori prin care se specifică:
• adresa fizică a unei interfețe de rețea (adresa unicast)
• adresă broadcast rețea;
• adresă multicast.
5.2.2 Conexiunea prin fibră optică (FDDI)
FDDI (Fiber Distributed Data Interconnect) este o tehnologie populară ce asigură bandă
mult mai largă decât Ethernet. Această tehnologie este de tip inel pentru că rețeaua formează
un inel care pornește de la o mașină și trece pe la altele întorcându-se înapoi la sursă.
Tehnologia este numită și token ring deoarece utilizează un baton pasat între gazde pentru a
controla transmisia.
5.2.3. Asynchronous Transfer Mode (ATM)
ATM este o tehnologie de mare viteză ce se utilizează atât în rețele locale cât și în
rețele globale. Prin mare viteză se înțelege viteză de comunicație de peste 100 Mbs iar ATM
poate asigura viteze de până la ordinul Gbs fapt ce determină și costuri mult mai mari pentru
realizarea acestor rețele.
5.3 Protocol Internet, datagrame
La nivelul rețea, Internetul poate fi văzut ca o multitudine de subrețele sau sisteme
autonome (AS) conectate împreună. Nu există o structură reală, dar există câteva elemente ce
constituie coloana vertebrală majoră.
Liantul care ține Internetul este protocolul de nivel rețea, numit IP. Spre deosebire de
protocoalele mai vechi de nivel rețea, acesta a fost proiectat de la început având în vedere
interconectarea rețelelor și constituie o metodă bună de a gândi nivelul rețea.
Softwareul Internet este construit în jurul a trei servicii dispuse ierarhic. Succesul
protocolului a rezultat din faptul că această structură este robustă și adaptabilă.
Conexiuni Pierdute. Cele mai obișnuite 23 servicii sunt cele de transmitere pachete.
Tehnic, serviciul este definit ca fiind nesigur, pierderea pachetelor analog cu serviciile
furnizate de hardware cere efort deosebit.
Scopul Unui Protocol Internet. Protocolul care definește nesiguranța și mecanismele de
pierdere a conexiunii este numit Internet Protocol și este uzual referit prin inițialele IP. El
poate fi specificat prin 3 definiții complementare:
ƒ prima - definește unitatea de bază pentru transfer utilizată la Internet TCP/IP. Aceasta
specifică formatul exact al datelor transmise prin TCP/IP;
ƒ a doua - software-ul IP furnizează funcțiile de rutare alegând calea pe care datele sunt
trimise;
ƒ a treia - precizează în plus specificațiile formale ale formatelor de date și rutare. IP
include un set de reguli pentru asigurarea siguranței, reguli ce caracterizează modul în care
hostul și ruterele procesează pachetele, cum și când erorile sunt generate, modul în care
pachetele sunt eliminate. Nivelul IP în TCP/IP este numit adesea și IP based technology.
5.3.1 Datagrame Internet
Internet denumește unitatea de bază pentru transfer ca datagramă Internet.
Într-o rețea fizică unitatea de transfer este un frame ce conține hearder și date. În hearder
sunt incluse informații asupra sursei fizice și a destinației. Internet denumește unitatea de
bază pentru transfer ca datagramă Internet.
Deoarece procesarea datagramei este făcută software, conținutul și formatul nu este
restricționat de hardware. De exemplu câmpul de 4 biți versiune (VER) conține versiunea
protocolului IP ce a fost utilizată pentru crearea datagramei.
Lungime header (HLEN) specifică lungimea hearder măsurată în cuvinte de 32 de biți.
Așa cum se vede toate câmpurile din header au lungime fixă exceptând opțiunile IP și câmpul
corespunzător PADDING.
Lungimea totală a datagramei (LENGTH) specifică lungimea datagramei IP,
măsurată în octeți, incluzând atât octeți din header cât și datele încapsulate. Lungimea
porțiunii de date poate fi calculată prin scăderea lungimii headerului (HLEN) din lungimea
totală (LENGTH). Deoarece câmpul TOTAL LENGTH este limitat la 16 biți, lungimea
maximă posibilă a unei datagrame IP este 216, adică 65536 octeți. În multe aplicații lungimea
totală nu constituie o limitare severă. Ea poate fi mult mai importantă la rutere dacă rețelele
de mare viteză vor transporta pachete de date cu lungime mai mare de 65535. Datagram Type
of Service și precedență datagramă, numită pe scurt și Tip Serviciu, specifică modul în care o
datagramă este manipulată.
Spre deosebire de rețelele fizice unde hardware-ul trebuie recunoscut, datagramele sunt
manipulate software. Ele pot fi de orice lungime aleasă de proiectantul protocolului.
Marime datagramă, MTU și fragmentare. În cazul ideal, întreaga datagramă ocupă un
frame fizic făcând transmiterea prin rețeaua fizică mai eficientă. Pentru a asigura eficiența
proiectantul IP forțează selecția dimensiunii datagramei la o dimensiune corespunzătoare care
încape într-un frame.
În TCP/IP odată ce datagrama a fost fragmentată pachetele călătoresc în datagrame
separate și sunt asamblate la ultima destinație.
Controlul fragmentării. Trei câmpuri ale headerului din datagramă: IDENTIFICATOR,
FLAGS, și FRAGMENT OFFSET controlează fragmentarea și reasamblarea. Câmpul
identificator conține un unic întreg prin care se identifică univoc o datagramă.
Fragment Offset specifică un offset față de datagrama originală a datelor ce sunt
deplasate în fragmentul următor, măsurat în octeți începând cu fragmentul care are offset
zero.
Biții FLAGS sunt utilizați pentru controlul fragmentării și reasamblării. Uzual software-
ul de aplicație utilizând TCP/IP nu se îngrijește de fragmentare deoarece ambele proceduri
fragmentare și defragmentare sunt automat executate de către componente incluse în sistemul
de operare și sunt invizibile utilizatorului.
Time to live (TTL) specifică un număr interpretat ca intervalul de timp pentru care
datagrama rămâne în Internet. Mașina sursă specifică timpul de viață al datagramei, iar
ruterele și hosturile ce o procesează va decrementa acest câmp.
5.3.2 Alte câ mpuri în header
Câmpul PROTOCOL este similar ca semnificație cu câmpul type din headerul asociat
pentru un frame rețea. Valoarea câmpului specifică ce protocol de nivel scăzut este utilizat
pentru a genera mesajul ce transportă datele.
HEADER CHECKSUM este o modalitate de a asigura verificarea integrității datelor din
header. El se obține tratând headerul ca o secvență de întregi pe 16 biți reprezentați în
complement față de 1.
Source IP address și Destination IP address conține adresele IP ale transmițătorului și
receptorului. Aceste câmpuri nu suferă modificări la rutere întrucât se păstrează sursa și
destinația specificată inițial pentru fiecare pachet.
Câmpul DATA este de dimensiune nedefinită, dependentă de mărimea volumului de
date pe pachet și de tipul de protocol hardware utilizat.
5.3.3 Opțiuni datagrame Internet
Structura header definită până în prezent se referă la headerul minimal, obligatoriu
pentru fiecare datagramă. Câmpul IP Option urmează adresa destinație și nu este obligatoriu
pentru fiecare datagramă.
Bitul copy controlează modul în care ruterele tratează opțiunile în timpul fragmentării.
Astfel pentru:
ƒ copy = 1 opțiunile se copiază în toate fragmentele;
ƒ copy = 0 opțiunile se copiază doar în primul fragment al datagramei fragmentate.
OPTION CLASS specifică o clasă generală urmând ca apoi să se specifice opțiunea în
cadrul fiecărei clase. Tabelul următor specifică modul de interpretare al opțiunilor.
OPTION NUMBER este codificat pe 5 biți și este interpretat în conjuncție cu conținutul
câmpului option class.
Record Rute Option - este utilizată pentru a înregistra drumul parcurs de un pachet.
Time Stamp Option Lucrează similar cu Record Rute Option și inițial conține o listă
vidă, iar fiecare ruter completează înregistrări în ea. Fiecare înregistrare din listă conține două
cuvinte de 32 biți: adresa IP a ruterului și un întreg de 32 biți reprezentând timestamp.
5.4 Rutarea Datagramelor IP
Prin sistemul de comutare a pachetelor se înțelege alegerea drumului pe care se trimit
pachetele, iar prin activitatea de distribuire (rutare) se înțelege procesul prin care un
calculator face această alegere. Rutarea apare la diferite niveluri.
Fiecare calculator având conexiuni multiple poate acționa ca un ruter. Aceste
calculatoare rulează TCP/IP și au tot software-ul necesar pentru rutare.
Distribuția datagramelor într-o singură rețea. O mașină într-o rețea fizică poate trimite
datagrame direct la alte mașini ale aceleiași rețele. Pentru a transfera o datagramă IP,
transmițătorul încapsulează datagrama într-un frame fizic, mapează adresa destinație IP la o
adresă fizică și utilizează hardware-ul de rețea pentru a o trimite.
Distribuția indirectă este mult mai dificilă decât distribuția directă deoarece
transmițătorul trebuie să identifice ruterul la care datagrama va fi trimisă.
Next-Hop Ruting - Utilizarea porțiunii de adresă rețea din adresa completă face rutarea
eficientă și necesită păstrarea unor tabelele de dimensiuni mai mici.
Rutere implicite. O altă cale de a ascunde distribuția și dimensiunea tabelei este aceea de
a asigura intrări multiple în cazuri predefinite. Ideea este de a avea un software care
cercetează mai întâi tabela de rutare. Dacă traseul nu apare în tabelă, rutinele de rutare trimit
pachetul la un ruter implicit numit și default gateway.
Când datagrama sosește la un ruter ea este distribuită la software-ul IP. Sunt posibile
două cazuri:
ƒ1. datagrama a atins destinația finală
ƒ2. datagrama mai trebuie să traverseze rețeaua

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