Rutarea Datelor In Retelele Ip

CAPITOLUL I

REȚELE DE CALCULATOARE – NOȚIUNI GENERALE

1. Conceptul de rețea

2. Evoluția rețelelor

3. Organizațiile de standardizare

4. Tipuri de rețele de calculatoare

5. Bazele lucrului în rețele de calculatoare

1. Conceptul de rețea

Rețeaua de calculatoare (network) este un ansamblu de calculatoare (sisteme de calcul) interconectate prin intermediul unor medii de comunicație (cablu coaxial, fibră optică, linie telefonică, ghid de unde) în scopul utilizării în comun de către mai mulți utilizatori a tuturor resurselor fizice (hardware), logice (software de bază și aplicații) și informaționale (baze de date, fișiere), asociate calculatoarelor din rețea.

În general, toate rețelele au anumite componente, funcții și caracteristici comune, printre acestea sunt următoarele:

* Servere – calculatoare care oferă resurse partajate pentru utilizatorii rețelei.

* Clienți – calculatoare de lucru (terminale, stații de lucru) care accesează resursele partajate în rețea de un server.

* Mediu de comunicație – Modul și elementele în care sunt conectate calculatoarele în rețea.

* Date partajate – Fișiere puse la dispoziție de serverele de rețea.

* Imprimante sau alte periferice partajate.

* Resurse – Fișiere, imprimante și alte componente care pot fi folosite de utilizatorii rețelei.

Rolul principal al unei rețele este de a permite partajarea următoarelor trei categorii de resurse:

a) Resurse fizice

b) Resurse logice

c) Resurse informaționale

a) Partajarea resurselor fizice reprezintă posibilitatea utilizării în comun, de mai mulți utilizatori, a unităților de discuri, imprimante, scanere. Acest lucru înseamnă că se poate instala oricare dintre unitățile enumerate mai sus, după care urmează operațiile de partajare (sharing). În urma declarării partajate a unui echipament, toate calculatoarele din rețea au acces la acest echipament.

b) Partajarea resurselor logice (programe). Resursele logice ale unui calculator sunt de fapt, ansamblul de programe sistem sau de aplicații.

c) Partajarea resurselor informaționale (baze de date, fișiere).

2. Evoluția rețelelor

Rețelele sunt prezente în aproape toate mediile de lucru. O rețea este un mecanism care permite calculatoarelor distincte și utilizatorilor acestora să comunice și să partajeze resurse.

Rețelele au fost inițial soluții de conectivitate brevetate, parte integrantă a unui pachet de soluții informatice.

Configurațiile tipice includeau terminale simple, care erau cablate la controlere de dispozitiv.

Controlerele de dispozitiv asigurau accesul comun, sau multiplexat, la resursele de comunicare, ce asigurau conectivitatea cu sistemele mainframe. Aceste resurse de comunicare erau reunite într-un procesor front-end (FEP) al sistemului mainframe. FEP permite mai multor resurse să partajeze un singur canal către mainframe. Datorită diferențelor dintre viteza de intrare/ieșire și viteza procesoarelor sistemului mainframe, această soluție era cea mai eficientă din punct de vedere financiar.

Altfel, era utilizată o linie închiriată cu lărgime de bandă mică, pentru traversarea distanței geografice până la mainframe.

În aceste medii, aplicațiile software erau executate doar pe un calculator cu un unic sistem de operare. Sistemul de operare putea fi executat numai pe produsele hardware ale aceluiaș distribuitor. Chiar și echipamentul terminal și conexiunile la calculator făceau parte din aceeași soluție integrată a unui singur producător.

Au apărut apoi două direcții de dezvoltare tehnologică, care au schimbat cursul viitor al informaticii. În primul rând au apărut strămoșii PC-urilor de astăzi.

În al doilea rând a început căutarea de modalități de îmbunătățire a productivității proprii. S-a căutat în special un mijloc de îmbunătățire a partajării datelor și fișierelor între stațiile de lucru.

Soluția lor a fost prima rețea locală (LAN ), pe care au numit-o ethernet. Aceasta era o rețea LAN rudimentară care se baza pe protocoale de nivel superior pentru inter-rețele. Potențialul comercial al acestei tehnologii a devenit imediat evident. Ethernet-ul original, cunoscut acum ca PARC Ethernet, sau Ethernet I, a fost ulterior completat de o versiune cu un comportament mai bun. Această soluție cunoscută ca DIX Ethernet sau Ethernet II, a fost dezvoltată de Xerox, Digital și Intel.

Aceștia au stabilit „standardele” pentru Ethernet II și au produs tehnologiile sale componente.

Împreună, dispozitivele inteligente ale utilizatorilor și rețelele locale vor da naștere unui nou model: prelucrare deschisă, distribuită, în rețea a datelor.

3. Organizațiile de standardizare

Succesul pe care l-a avut Ethernet I și Ethernet II a demonstrat că piața era sătulă de abordarea brevetată a pachetelor pentru lucrul în rețea și prelucrarea datelor. Clienții au început să solicite un mediu mai deschis, care să le permită să construiască aplicații pornind de la produse amestecate, provenite de la producători diferiți. Așa cum a arătat Ethernet, interoperabilitatea încuraja competiția, prin inovații tehnice. Prin urmare, obiectivele independente ale deschiderii erau următoarele:

– costuri mai mici

– posibilități mai mari

– interoperabilitatea între producători

Interoperabilitatea între producători presupunea că platformele diferite să se recunoască una pe cealaltă și să știe cum să comunice și să partajeze date. Aceasta a necesitat dezvoltarea de standarde neutre, în întreaga industrie, pentru fiecare aspect al lucrului în rețea.

Nevoia de standardizare a generat un efort considerabil. Astăzi, există numeroase organizații de standardizare, care răspund de definirea standardelor naționale și/sau internaționale pentru diferite aspecte ale tehnologiilor de calcul, inclusiv pentru comunicații de date și lucru în rețea. Deși, frecvent, aceste organizații colaborează sau cooperează pentru a asigura un set de standarde cât mai universal, pot exista totuși anumite confuzii, dar efectul covârșitor este pozitiv. Cele mai importante organizații de standardizare sunt:

ANSI

American National Standards Institute (ANSI) este o organizație privată, non-profit. Scopul său este să faciliteze dezvoltarea, coordonarea și publicarea de standarde naționale voluntare. Standardele ANSI sunt voluntare în sensul că ANSI nu le impune în mod activ. În schimb, datorită apartenenței sale la organizații de standardizare universale, cum ar fi ISO (International Organization for Standards), IEC (International Electrotechnical Commission) și așa mai departe, nerespectarea standardelor ANSI duce la nerespectarea standardelor universale, ceea ce reprezintă o adevărată pedeapsă în era prelucrării deschise de date.

IEEE

Institute of Electrical and Electronic Engineers (IEEE) răspunde de definirea și publicarea standardelor pentru telecomunicații și comunicații de date. Cea mai semnificativă realizare a sa a fost definirea standardelor pentru rețelele locale și metropolitane (LAN și MAN).

ISO

International Organization for Standardization este o organizație bazată pe activitate voluntară, fără contracte, și este autorizată de Națiunile Unite pentru definirea de standarde internaționale. Cel mai important standard dezvoltat de ISO este modelul de referință OSI (Open Systems Interconnection Reference Model).

4. Tipuri de rețele de calculatoare

În funcție de răspândirea geografică, implicit de dimensiuni, rețelele se clasifică în:

Rețele locale (LAN) – lucrează la nivelul unei clădiri sau al unui grup de clădiri, având distanța între stațiile de lucru de 10 – 1.000 m.

Rețele teritoriale (WAN) – lucrează la nivelul unei regiuni, având distanța între stațiile de lucru de ordinul miilor de km.

Rețele publice (PDN) – lucrează la nivelul unei regiuni sau la nivel mondial și au acces la diverse rețele locale, de exemplu:

– Internet

– Usenet

– Arpanet (cercetare științifică)

Rețelele locale (LAN) se întind pe o suprafață mică, cum ar fi o clădire sau un campus. Acest tip de rețea este destul de dificil de proiectat, deoarece într-o astfel de rețea se pot conecta sute de calculatoare, utilizate de utilizatori cu drepturi foarte diferite.

Retelele locale (LAN) se recomandă pentru aplicații de business și educaționale.

Rețele teritoriale (WAN) cuprind multiple rețele LAN care se află în locuri geografice diferite. Pentru realizarea comunicațiilor există diferite soluții, cum ar fi linii telefonice normale sau închiriate, legături prin satelit, cablu optic, etc.

Rețeaua WAN poate fi de două tipuri :

Simplă – prevăzută cu modemuri și acces la servere de la distanță pentru a permite conectarea utilizatorilor.

Complexă – prin legarea sutelor de domenii de rețea la mare distanță, folosind rutere și filtre pentru micșorarea costurilor și mărirea vitezei de transmisie a datelor.

O altă clasificare este în funcție de complexitatea organizării rețelei:

Rețele reale

Rețele false

Rețele peer-to-peer. Se numesc „rețele între egali” întrucât toate calculatoarele sunt tratate la fel, fără a se mai insista pe faptul că unele sunt mai bune decât altele. Mai sunt numite și grupuri de lucru, acest termen desemnând un număr mic de persoane (cel mult zece calculatoare).

Rețele bazate pe server – au devenit modelul standard pentru interconectarea în rețea. Un server dedicat este un calculator care funcționează doar ca server, nefiind folosit drept client sau stație de lucru. Acest calculator central controlează toate resursele comune (unități de disc, imprimante, fișiere), asigură securitatea datelor și sistemului, realizează comunicații între stațiile de lucru.

Serverele se numesc „dedicate” deoarece sunt optimizate să deservească rapid cererile clienților din rețea și să asigure securitatea fișierelor și a directoarelor.

Principalul avantaj al rețelelor bazate pe server este partajarea resurselor. Un server este proiectat pentru a oferi acces la mai multe fișiere și imprimante , asigurând în același timp fiecărui utilizator performanțele și securitatea necesare.

Partajarea datelor în cazul rețelelor bazate pe server poate fi administrată și controlată centralizat. Resursele sunt localizate de obicei într-un server central, fiind mai ușor de detectat și de întreținut decât cele distribuite pe diferite calculatoare.

Principalul motiv pentru care se recurge la o rețea bazată pe server îl reprezintă nevoia de securitate. Politica de securitate este stabilită de un administrator, care o aplică pentru fiecare calculator și utilizator din rețea. O rețea bazată pe server poate avea mii de utilizatori.

5. Bazele lucrului în rețele de calculatoare

Rețelele au numeroase componente, atât hardware, cât și software.

Rețelele au evoluat în două categorii distincte: rețele locale (LAN-local area network) și rețele de mare suprafață (WAN – wide area network). Rețelele LAN sunt utilizate pentru interconectarea dispozitivelor care se găsesc într-o vecinătate relativ restrânsă. Rețelele WAN sunt necesare pentru a interconecta rețelele LAN aflate la distanță din punct de vedere geografic.

5.1 Componente hardware

Componentele hardware elementare includ trei tipuri de dispozitive:

* Echipamente de transmisie

* Dispozitive de acces

* Dispozitive ce repetă semnalele transmise

Echipamentele de transmisie reprezintă mediul utilizat pentru a transporta semnalele unei rețele către destinație. Tipurile de medii includ cabluri coaxiale, cabluri torsadate și chiar fibre optice.

Tipurile de medii LAN pot fi, de asemenea, intangibile. Ele pot fi semnale luminoase, radio, și chiar microunde, transmise prin aer.

Dispozitivele de acces răspund de:

– formatarea corectă a datelor

– plasarea datelor în rețea

– acceptarea datelor care îi sunt adresate

Într-o rețea locală, dispozitivul de acces este cunoscut ca placă de interfață cu rețeaua (NIC – network interface card).

NIC este o placă de circuite instalată într-un calculator și ocupă un slot de intrare/ieșire de pe placa de bază a acestuia. Rețeaua este cablată apoi la portul pus la dispoziție de această placte la distanță din punct de vedere geografic.

5.1 Componente hardware

Componentele hardware elementare includ trei tipuri de dispozitive:

* Echipamente de transmisie

* Dispozitive de acces

* Dispozitive ce repetă semnalele transmise

Echipamentele de transmisie reprezintă mediul utilizat pentru a transporta semnalele unei rețele către destinație. Tipurile de medii includ cabluri coaxiale, cabluri torsadate și chiar fibre optice.

Tipurile de medii LAN pot fi, de asemenea, intangibile. Ele pot fi semnale luminoase, radio, și chiar microunde, transmise prin aer.

Dispozitivele de acces răspund de:

– formatarea corectă a datelor

– plasarea datelor în rețea

– acceptarea datelor care îi sunt adresate

Într-o rețea locală, dispozitivul de acces este cunoscut ca placă de interfață cu rețeaua (NIC – network interface card).

NIC este o placă de circuite instalată într-un calculator și ocupă un slot de intrare/ieșire de pe placa de bază a acestuia. Rețeaua este cablată apoi la portul pus la dispoziție de această placă. NIC formează cadrele de date care trebuie transmise de către aplicațiile calculatorului, pune datele în forma binară și acceptă intrarea cadrelor adresate calculatorului respectiv.

Într-o rețea WAN, dispozitivul de acces este un ruter. Ruterele operează la nivelul trei al modelului de referință OSI și includ două tipuri de protocoale: de rutare (routing) și rutabile (routable). Protocoalele rutabile, ca IP, sunt utilizate pentru a transporta datele dincolo de limitele domeniilor de nivel doi.

Protocoalele de rutare furnizează toate funcțiile necesare realizării următoarelor operații:

determinarea căilor optime prin rețeaua WAN pentru orice adresă de destinație dată

acceptarea și trimiterea pachetelor prin aceste căi la destinațiile lor

Repetoarele sunt dispozitive care acceptă semnalele trimise, le amplifică și le plasează din nou în rețea. Într-un LAN, un repetor – cunoscut mai mult sub numele de concentrator (hub) – permite conectarea în rețea a mai multor dispozitive, prin furnizarea mai multor puncte de intrare în rețea.

Capacitatea concentratorului de a regenera semnalele este la fel de vitală pentru succesul unui LAN ca și capacitatea de a asigura mai multor puncte de intrare în rețea. Semnalele transmise sunt afectate de mediul care le transportă. Această deteriorare poate lua una din următoarele două forme: atenuare sau distorsionare.

Atenuarea este scăderea puterii semnalului. Distorsionarea este modificarea nedorită a semnalului în timpul transferului. Fiecare din aceste forme trebuie să fie abordată și rectificată separat.

Atenuarea poate fi compensată prin dimensionarea cablurilor la o lungime minimă, pentru a garanta că semnalul este suficient de puternic pentru a ajunge la toate destinațiile din lungul cablului. În cazul în care cablul trebuie să fie relativ lung, poate fi instalat pe linie un repetor. Distorsionarea este o problema mai gravă în transmiterea semnalelor. Semnalele distorsionate pot altera orice date transportate. Repetoarele sunt incapabile de a face diferența dintre semnalele corecte și cele distorsionate; ele repetă semnalele fără deosebire.

5.2 Componente software

Componentele software necesare într-o rețea includ următoarele elemente:

* Protocoale (definesc și reglează modul în care comunică două sau mai multe dispozitive)

* Software la nivel hardware (microcod/drivere) – controlează modul de funcționare al dispozitivelor individuale

* Software pentru comunicații

Protocoalele reprezintă mijloacele de comunicare standard pentru calculatoare și alte dispozitive atașate la rețea. Protocoalele pentru rețelele LAN sunt numite frecvent arhitecturi LAN, pentru că sunt incluse in NIC. Ele predetermină în mare măsură forma, dimensiunea și mecanica rețelei.

Protocoalele pentru rețelele WAN sunt furnizate de obicei în pachete și răspund pentru o mare varietate de servicii.

Driverele de dispozitiv sunt programe de nivel hardware care controlează un anumit dispozitiv. Un driver de dispozitiv poate fi privit ca un sistem de operare în miniatură pentru o singură componentă hardware. Fiecare driver conține toată logica și toate datele necesare pentru a asigura funcționarea corectă a dispozitivului respectiv. În cazul unei plăci de interfață cu rețeaua (NIC), driverul include furnizarea unei interfețe pentru sistemul de operare al gazdei.

Software pentru comunicații

Componentele hardware și software de rețea descrise anterior nu au capacitatea de a-i permite unui utilizator să folosească efectiv rețeaua. Ele nu fac decât să asigure infrastructura și mecanismele care permit utilizarea acesteia. Sarcina utilizării efective a rețelei cade în seama aplicațiilor software specializate, care controlează comunicațiile.

CAPITOLUL II

ARHITECTURA REȚELELOR DE CALCULATOARE

Componentele necesare construirii unei rețele:

1.1. Plăci de rețea (NIC- Network Interface Card)

1.2. Cabluri de rețea

1.3. Cutia centrală a rețelei (Hub) – concentrator

1.4. Punți

1.5. Switch

1.6. Router

1.7. Modem

1.8. Transceiner

1.9. Terminator

1.10. Conectori

1.1. Placa de rețea (placa de interfață cu rețeaua) este constituită dintr-o placă instalată în calculator, care suportă funcții de partajare a mediului fizic și de sincronizare.

1.2. Cabluri de rețea

Majoritatea rețelelor actuale folosesc cablul coaxial, cablul torsadat sau fibrele optice.

Cablul coaxial constă dintr-un miez de cupru înconjurat de un înveliș izolator, apoi de un strat de ecranare format dintr-o plasă metalică și o cămașă exterioară de protecție.

Cablul este de două tipuri: neecranat și ecranat. Fibrele optice transportă semnale de date digitale sub forma unor impulsuri luminoase modulate.

1.3. Cutia centrală a rețelei (Hub) – concentrator

Hub-ul este un concentrator de cabluri, ce oferă administratorului rețelei un punct central de monitorizare și control de la distanță și, în același timp, un punct de conectare a unei rețele la o magistrală de mari dimensiuni. În timp, s-au adăugat noi funcții în hub, ca de exemplu: de asigurare a securității comunicațiilor, de procesare a semnalelor de alarmă, de operare ca servere, de acționare ca porți, etc. Astfel s-a introdus noțiunea de hub administrat. La nivel general, hub-urile pot fi caracterizate ca: hub-uri Ethernet cu configurație fixă, hub-uri Ethernet cu configurație modulară și multislot, hub-uri multifuncție și mixte.

1.4. Punți

Puntea interconectează rețele ce utilizează tehnici de transmisie diferite și/sau metode de control al accesului la mediu diferite, pe baza mecanismului „memorează-și-retransmite” (store-and-forward). Puntea conectează două sau mai multe rețele la nivelul de control al accesului la mediu (MAC – Medium Access Control), care este un subnivel ce face parte din nivelul Legăturii de Date, din stiva de protocoale OSI. Ea asigură o conectare rapidă și ieftină pentru platforme de calcul cu construcție și arhitectură asemănătoare. Puntea partiționează rețeaua, fizic și logic, echilibrând astfel traficul între segmentele separate. O punte de filtrare elimină traficul non-local, mărind performanțele din fiecare segment. Punțile pot fi cu trecere (conectează rețele cu nivele MAC identice, asigurând reformatarea electrică a semnalelor și retransmiterea cadrelor, filtrarea cadrelor și administrarea cozilor de cadre) sau cu conversie (conectează rețele cu nivele MAC diferite, făcând conversia începutului <header> și sfârșitului <trailer-byte de control> cadrelor recepționate). Punțile pot fi conectate local, direct (IEEE 802.1D), folosind aceeași structură de adrese în cele două rețele, chiar dacă au MAC-uri diferite sau pot fi conectate la distanță (IEEE 802.1G), printr-un mediu de interconectare (linie T1, Frame Relay, etc.). Standardul de interconectare cu punți include un algoritm de arbore divizat (spanning – tree algorithm), care asigură faptul că topologia rețelei este fără bucle, oferind totuși redundanță, ceea ce permite rețelei să continue să asigure serviciul în cazul defectării unei componente sau punți a rețelei. Există punți ce au și facilități de dirijare a traficului în rețea, numite broutere.

1.5 Switch-ul este un echipament ce se folosește în rețele de trafic mare de date și poate gestiona mai multe legături deodată.

1.6. Ruter-ul asigură dirijarea optimă a pachetelor de date de la un sistem la altul, acolo unde există căi multiple între sisteme. Spre deosebire de punți, ruter-ele izolează rețelele între ele. Ele se pot folosi pentru interconectarea unor rețele ce utilizează același protocol de comunicație sau protocoale de comunicație diferite (ruter-e multiprotocol). Un ruter operează la Nivelul Rețea al modelului OSI. Algoritmii de dirijare guvernează modul în care ruter-ele obțin informația necesară pentru a determina căile prin care va fi dirijat traficul. Din motive de securitate sau de cost, diferite pachete de date pot fi dirijate prin segmente de rețea diferite. Ruter-ele se pot folosi cu succes atât la interconectarea LAN-urilor aflate la distanță, cât și a LAN-urilor cu WAN-uri.

Ruter-ul funcționează la nivelul rețea al modelului ISO/OSI și este utilizat pentru interconectarea mai multor rețele locale de tipuri diferite, dar care utilizează același protocol de nivel fizic. Utilizarea lor asigură o mai mare flexibilitate a rețelei în ceea ce privește topologia.

Diferența între o punte și un ruter este că în timp ce puntea operează cu adresele fizice ale calculatoarelor (luate din cadrul MAC) ruterele utilizează adresele logice, de rețea, ale calculatorului.

Ruterul permite rutarea mesajelor de la sursă la destinație atunci când există mai multe posibilități de comunicare între cele două sisteme.

Sistem 1                                                                              Sistem 2

Figura 1 – Ruter-ul în raport cu modelul OSI.

          În general un ruter utilizează un singur tip de protocol de nivel rețea, și din acest motiv el nu va putea interconecta decât rețele la care sistemele folosesc același tip de protocol. De exemplu dacă există două rețele, una utilizând protocolul TCP/IP și alta protocolul IPX, nu vom putea utiliza un ruter care utilizează TCP/IP. Acest ruter se mai numește ruter dependent de protocol. Există însă și rutere care au implementate mai multe protocoale, făcând astfel posibilă rutarea între două rețele care utilizează protocoale diferite, și care se numesc rutere multiprotocol. Bruter este un echipament care combină calitățile unei punți și ale unui repetor. El poate acționa ca ruter pentru un anumit protocol și ca punte pentru altele.

1.7. Modem-ul are rolul de a converti semnalele digitale în semnale analogice și invers.

1.8. Transceiner – dispozitiv ce conectează calculatorul în rețea. El transformă fluxul de date paralel folosit pe magistrala internă a calculatorului, într-un flux de date serial, folosit pe cablurile care conectează calculatoarele.

CAPITOLUL III

PROTOCOALE ȘI ALGORITMI DE RUTARE

1. Modelul de referință OSI

2. Protocolul TCP/IP

2.1. Scopul protocolului TCP/IP

2.2. Diferențe dintre modelul de referință ISO/OSI și modelul TCP/IP

2.3. Datagrame IP

2.4. Adrese IP. Subrețele.

3. Rutarea datelor

O rețea de calculatoare este alcătuită dintr-un ansamblu de mijloace de transmisie și de sisteme de calcul, pentru a realiza atât funcții de transport a informației cât și funcții de prelucrare a acesteia. O rețea de calculatoare care interconectează diferite sisteme de calcul poate funcționa în bune condiții numai dacă există o convenție care stabilește modul în care se transmite și se interpretează informația, convenție numită protocol.           În concluzie un protocol este un set de reguli și convenții ce se stabilesc între participanții la o comunicație în vederea asigurării bunei desfășurări a comunicației respective; sau protocolul este o înțelegere între părțile care comunică asupra modului de realizare a comunicării.

Pentru a realiza comunicația sunt necesare mai multe reguli (protocoale) care se stabilesc între membrii de pe același nivel și între membrii din cadrul aceluiași grup. Acest concept se numește familie de protocoale (stivă) și reprezintă o listă de protocoale utilizate de către un anumit sistem, câte un protocol pentru fiecare nivel.

1. Modelul de referință OSI

Modelul ISO/OSI este un model organizat pe șapte nivele:

1. nivelul fizic – se ocupă de transmiterea biților printr-un canal de comunicație;

2. nivelul legăturii de date – fixează o transmisie a biților fără erori în jurul unei linii de transmisie;

3. nivelul rețea – se ocupă de controlul funcționării subrețelei;

4. nivelul transport – rolul principal al acestui nivel este să accepte date de la nivelul superior (nivelul sesiune), să le descompună, dacă este cazul, în unități mai mici, să transfere aceste unități nivelului inferior (nivelului rețea) și să se asigure că toate fragmentele sosesc corect la celălalt capăt;

5. nivelul sesiune – gestionează dialogul între aplicații sau utilizatori;

6. nivelul prezentare – se ocupă de sintaxa și semantica informațiilor transmise între aplicații sau utilizatori;

7. nivelul aplicație – se ocupă de interfața comună pentru aplicațiile utilizator, de transferul fișierelor între programe.

Modelul OSI este doar un model de arhitectură de rețea, deoarece spune numai ceea ce ar trebui să facă fiecare nivel, și nu specifică serviciile și protocoalele utilizate la fiecare nivel.

În cadrul unui același sistem între două nivele succesive există o legătură fizică iar schimbul de informații se face pe baza unor alte convenții, care se numesc servicii. Schimbul efectiv de semnale are loc numai la nivelurile fizice ale celor două sisteme care comunică.

ISO a dezvoltat modelul de referință OSI (Open Systems Interconnection – interconectarea sistemelor deschise), pentru a facilita deschiderea interconexiunii sistemelor de calculatoare. O interconexiune deschisă este o interconexiune care poate fi acceptată într-un mediu multiproducător. Acest model a stabilit standardul universal pentru definirea nivelurilor funcționale necesare acceptării unei astfel de conexiuni între calculatoare.

Puține produse respectă în totalitate modelul OSI, în schimb, structura sa elementară, pe niveluri, este frecvent adaptată noilor standarde.

Modelul OSI clasifică diversele procese necesare într-o sesiune de comunicare pe șapte niveluri funcționale. Organizarea acestor straturi are la bază secvența naturală de evenimente care apare în timpul sesiunii de comunicare.

Nivelul 1: Fizic

Primul nivel este numit nivel Fizic. Acest nivel răspunde de transmiterea șirului de biți. El acceptă cadre de date de la nivelul 2, Legătura de date, și transmite serial bit cu bit, structura și conținutul acestora.

De asemenea, este răspunzător pentru recepționarea, bit cu bit, a șirului de date care sosesc. Aceste șiruri sunt transmise apoi nivelului Legătura de date, pentru a fi refăcute cadrele.

Acest nivel vede, literalmente, numai cifre 1 și 0. El nu are nici un mecanism pentru determinarea semnificației biților pe care îi transmite sau îi primește, ci este preocupat exclusiv de caracteristicile fizice ale tehnicilor de transmisie a semnalelor electrice și/sau optice. Acestea includ tensiunea electrică utilizată pentru transportul semnalului, tipul mediului și impedanțele caracteristice și chiar forma fizică a conectorului utilizat la capătul mediului de transmisie. Limita inferioară a nivelului fizic este conectorul fizic, atașat mediului de transmisie. Acest nivel nu include mediul de transmisie.

Mediul de transmisie include orice mijloace de transport efectiv al semnalelor generate de mecanismele nivelului 1. Prin urmare, mediul de transmisie se găsește în afara domeniului nivelului Fizic și este numit uneori nivelul 0.

Nivelul 2: Legătura de date

Ca toate celelalte, acest nivel are două seturi de responsabilități: transmisie și recepție. El răspunde de asigurarea validității cap-la-cap a datelor transmise.

Din punct de vedere al transmisiei, nivelul Legătura de date răspunde de gruparea în cadre a instrucțiunilor și datelor. Un cadru este o structură inerentă nivelului legătura de date, care conține informații suficiente pentru a asigura transmiterea reușită a datelor, prin rețeaua locală, către destinație.

Un transfer reușit presupune ca, la sosirea la destinație, cadrele să fie intacte. Prin urmare, cadrele trebuie să conțină un mecanism de verificare a integrității conținutului în timpul transferului. Pentru o livrare garantată a datelor trebuie să se întâmple două lucruri:

Nodul inițial trebuie să primească o confirmare pentru fiecare cadru care a fost primit intact de către nodul destinatar.

Înainte de a confirma primirea unui cadru, noul destinatar trebuie să verifice integritatea conținutului cadrului respectiv.

Există numeroase situații care pot face ca la transmiterea cadrelor, acestea să nu ajungă la destinație sau să se deterioreze și să devină inutilizabile în timpul transferului. Nivelul legătura de date este răspunzător de detectarea și corectarea tuturor erorilor de acest tip.

Nivelul legătura de date este răspunzător și de reasamblarea în cadre a oricăror șiruri binare primite de la nivelul fizic.

Nivelele unu și doi sunt necesare oricărui tip de comunicații, indiferent dacă rețeaua este LAN sau WAN.

Nivelul 3: Rețea

Nivelul Rețea răspunde de stabilirea rutei care va fi utilizată între calculatorul inițial și cel destinație. Acest nivel nu are inclus nici un mecanism de detecție/corecție a erorilor de transmisie și, prin urmare, este obligat să se bazeze pe serviciul fiabil de transmisie cap-la-cap al nivelului Legătura de Date.

Nivelul Rețea este utilizat pentru stabilirea comunicațiilor cu sistemele de calculatoare care se găsesc dincolo de segmentul LAN local. El poate face acest lucru pentru că are propria arhitectură de adresare pentru rutare, care este separată și diferită de adresarea calculatoarelor la nivelul doi.

Printre protocoalele de rutare cel mai utilizat este protocolul IP.

Nivelul 4: Transport

Nivelul Transport oferă un serviciu similar nivelului legătura de date, prin faptul că răspunde de integritatea cap-la-cap a transmisiunilor. Spre deosebire de nivelul Legătura de Date, nivelul Transport este capabil să realizeze această funcție dincolo de segmentul LAN local. El poate să detecteze pachetele care sunt abandonate de rutere și să genereze automat o cerere de retransmisie.

O altă funcție semnificativă a nivelului Transport este resecvențierea pachetelor, dacă ele nu au ajuns în ordine. Acest lucru se poate întâmpla din diverse motive. Este posibil ca pachetele să urmeze căi diferite prin rețea, sau ca unele pachete să se deterioreze în timpul transferului. În acest caz, nivelul Transport este capabil să identifice secvența de pachete inițială și să le rearanjeze în acea succesiune înainte de a trimite conținutul lor nivelului Sesiune.

Nivelul 5: Sesiune

Al cincilea nivel al modelului de referință OSI este relativ neutilizat ca nivel separat; numeroase protocoale includ funcțiile acestui nivel în nivelurile lor Transport.

Funcția acestui nivel este de a gestiona fluxul comunicațiilor în timpul conexiunii dintre două sisteme de calculatoare. Acest nivel determină dacă respectivele comunicații pot fi uni sau bidirecționale.

Nivelul 6: Prezentare

Nivelul Prezentare este responsabil cu gestionarea modului în care sunt codificate datele. Nu toate sistemele de calcul utilizează aceeași metodă de codificare a datelor, iar nivelul Prezentare are rolul de translator între metodele de codificare a datelor, altfel incompatibile.

Nivelul 7: Aplicație

Nivelul de vârf al modelului de referință OSI se numește nivelul Aplicație. Acest nivel asigura interfața dintre aplicațiile respective și serviciile rețelei, și poate fi considerat motivul inițierii sesiunii de comunicare. Majoritatea protocoalelor de rețea actuale utilizează propriile modele de stratificare. Se întâmplă frecvent ca aceste modele să condenseze cele șapte niveluri OSI în cinci sau mai puține.

Ceea ce trebuia reținut este faptul că modelul OSI utilizează trei concepte esențiale: protocoale, care se stabilesc între două entități de pe același nivel, aflate pe sisteme diferite; servicii, care se stabilesc între două nivele succesive ale aceluiași sistem, și interfețe (interfața unui nivel spune proceselor aflate la nivelul imediat superior cum să facă accesul).

2. Protocolul TCP/ IP

Modelul TCP/IP este mult mai vechi decât modelul OSI și a fost utilizat drept model de referință de către ARPANET, și apoi de către Internet. ARPANET a fost o rețea de cercetare sponsorizată de către DoD (Department of Defense – Departamentul de Apărare al Statelor Unite).

Deși nu există un model universal acceptat pentru a descrie structurat arhitectura protocolului TCP/IP, acesta este văzut ca fiind compus din mai puține straturi decât modelul OSI.

2.1 Scopul protocolului Internet

Protocolul care definește acest mecanism de distribuire nefiabil și neorientat pe conexiune se numește „Internet Protocol”, cunoscut sub inițialele IP. IP oferă:

Protocolul IP definește unitatea de bază pentru transferul de date în rețelele bazate pe TCP/IP. Acesta specifică formatul exact al tuturor datelor ce traversează o rețea TCP/IP;

Software-ul IP realizează și funcția de rutare, alegând o cale pe care datele vor fi trimise;

Pe lângă specificațiile formale pentru formate și rutare, IP include un set de reguli ce încapsulează ideea de transmisie nefiabilă. Aceste reguli caracterizează modul în care o stație sau un gateway ar trebui să proceseze pachetele primite: de ce și când trebuie generate mesaje de eroare și în ce condiții pachetele pot fi eliminate.

2.2 Diferențe dintre modelul de referință ISO/OSI și modelul TCP/IP.

Din figura care urmează se va observa diferența dintre modelul de referință ISO/OSI și modelul TCP/IP.

  Modelul OSI Modelul TCP / IP

Figura 3.1 – Comparație între modelele ISO/OSI și TCP/IP.

Despre nivelul gazdă la rețea modelul TCP/IP nu  spune  mare  lucru, singura mențiune este aceea că gazda trebuie să se lege la rețea, pentru a putea transmite date, folosind un anumit protocol. Acest protocol nu este definit și variază de la gazdă la gazdă și de la rețea la rețea.

Nivelul Internet are rolul de a permite gazdelor să emită pachete în orice rețea și de a face ca pachetele să circule independent până la destinație. Nivelul Internet definește oficial un format de pachet și un protocol numit IP – Internet Protocol care asigură un serviciu de transmitere a datelor fără conexiune.

Nivelul transport asigură comunicația între programele de aplicație. Sunt definite două protocoale: TCP – Transmission Control Protocol este un protocol punct-la-punct, orientat pe conexiuni care permite ca un flux de octeți trimiși de pe un sistem să ajungă fără erori pe oricare alt sistem din inter-rețea (asigură livrarea corectă, în ordine a mesajelor). Al doilea protocol, UDP – User Datagram Protocol este un protocol nesigur, fără conexiuni.

Nivelul aplicație asigură utilizatorii rețelei, prin intermediul programelor de aplicație, o varietate de servicii.

2.3. Datagrame IP

Pentru Internet unitatea care stă la baza tuturor transferurilor este datagram-ul Internet sau datagram-ul IP. La fel ca un cadru transmis pe o rețea fizică, un datagram IP este împărțit în header și zona de date (fig. 3.4):

Header-ul conține:

– versiunea IP folosită (VERS);

– lungimea header-ului (HLEN);

– tipul serviciului (SERVICE TYPE);

– lungimea totală a datagram-ului (TOTAL LENGTH);

– numărul de identificare al datagram-ului (IDENTIFICATION);

– două câmpuri folosite la fragmentare (FLAGS, FRAGMENT OFFSET);

– durata de viață (TIME TO LIVE);

– protocolul (PROTOCOL);

– suma de control a header-ului (HEADER CHECKSUM);

– adresa IP a sursei;

– adresa IP a destinației;

– biți pentru opțiuni (IP OPTIONS).

Spre deosebire de cadrele rețelelor fizice, dimensiunea unui datagram nu este limitată de nici o caracteristică hardware. Pentru IPv4 lungimea maximă a unui datagram poate fi 216. Un datagram care circulă de la o mașină la alta trebuie să fie transportat pe o rețea fizică (sau mai multe). Ideea de a transporta un datagram într-un cadru de rețea se numește „încapsulare” (encapsulation) (fig 3.6).

În cazul ideal întregul datagram IP încape într-un singur cadru fizic, făcând astfel transmisia eficientă. Pentru a obține această eficiență a fost introdus termenul de „unitate de transfer maximă” (maximum transfer unit – MTU), astfel încât orice datagram să încapă într-un cadru fizic.

Exemplu: pentru Ethernet MTU = 1500, pentru proNET10 (o rețea token ring) MTU = 2044.

Dacă se alege un MTU mic vom avea transferuri ineficiente pentru rețelele care pot transporta cadre de dimensiuni mai mari.

Nu întotdeauna alegerea unui anumit MTU garantează că datagram-ul va încăpea în toate cadrele corespunzătoare rețelelor fizice pe care le va traversa. Astfel, în loc să avem datagram-e care sunt constrânse de capacitatea cadrelor rețelelor fizice, software-ul TCP/IP alege o dimensiune inițială convenabilă și un mod de a împărți datagram-ele de dimensiuni mai mari în bucăți mai mici când acestea trebuie să traverseze o rețea cu MTU mic. Micile bucăți în care este împărțit un datagram sunt numite „fragmente” iar procesul de împărțire a unui datagram este numit „fragmentare”.

Exemplu: În figura 3.7 stațiile A și B sunt conectate la două rețele Ethernet, având MTU = 1500. Calea dintre cele două rețele include și o rețea al cărei MTU este 620. Dacă stația A trimite un datagram stației B având dimensiunea mai mare de 620 de octeți, acesta va fi fragmentat de către gateway-ul G1. Dimensiunea fragmentelor este aleasă astfel încât fiecare fragment să poată încape într-un cadru fizic.

Protocolul IP nu limitează lungimea minimă a datagram-elor, dar nici nu garantează că datagram-ele de dimensiuni mari vor ajunge la destinație nefragmentate. Sursa poate alege orice lungime pentru datagram, fragmentarea și reasamblarea se realizează automat fără ca stația sursă să intervină cu ceva.

Fiecare fragment are același format ca și datagram-ul original. În figura 3.8 este prezentat rezultatul fragmentării. Fiecare fragment conține un header care este identic cu cel al datagram-ului inițial, cu excepția unui bit din câmpul FLAGS, care indică că acest datagram este un fragment al unui datagram inițial.

Într-o rețea TCP/IP dacă un datagram a fost fragmentat, el va fi reasamblat doar la stația destinație. Această păstrare a fragmentării până la destinația finală a datagram-ului are două dezavantaje:

Ineficiență – fragmentele trebuie să circule separat din momentul fragmentării și până la destinație, chiar dacă vor mai parcurge și rețele cu MTU mare.

Dacă unele fragmente sunt pierdute, datagram-ul inițial este complet pierdut.

În figura 4.1 este prezentată calea urmată de un mesaj de la sursă și până la destinație. Mașinile intermediare intervin doar cu software-ul din nivelul IP.

Relația dintre nivelele conceptuale Internet și limitele sistemului de operare și programele aplicație este prezentatã în figura 4.2.

Demultiplexarea pachetelor recepționate pe baza tipului protocolului găsit în header-ul pachetului:

Demultiplexarea la nivelul IP. Software-ul IP alege procedura potrivită pentru tratarea datagram-ului, pe baza câmpului de tip din header.

La nivelele mai scăzute, rețelele de comunicație oferă un serviciu nefiabil de distribuire de pachete. Pachetele pot fi pierdute, distruse în cazul erorilor sau a timpilor prea mari.

La nivelele înalte de comunicație, programele aplicație trebuie să transmită un volum mare de date de la un calculator la altul. Folosirea pentru aceasta a unui serviciu de distribuire nefiabil și neorientat pe conexiune duce la complicarea aplicațiilor.

Interfața dintre programele aplicație și serviciul de distribuire de pachete TCP/IP are următoarele cinci caracteristici:

Orientat pe flux de date (Stream Orientation) – când două programe aplicație transferă un volum mare de date, putem privi aceste date ca un flux de biți, împărțiți în octeți.

Conexiune prin circuit virtual (Virtual Circuit Connection) – înainte de a se realiza un transfer, aplicațiile sursă și destinație interacționează cu sistemele de operare proprii, informându-le despre inițierea unui transfer de date. Din punct de vedere conceptual o mașină trimite un „call” care trebuie să fie acceptat de celălalt participant. Software-ul de protocol din ambele sisteme de operare comunică prin trimiterea de mesaje prin Internet, verifică dacă transferul este autorizat și că ambele stații sunt pregătite pentru transfer. Sistemul de operare informează aplicațiile că s-a stabilit o conexiune și că poate începe transferul de date. În timpul transferului de date software-ul de protocol continuă să verifice integritatea datelor.

(Buffered Transfer) –

(Unstructured Stream) –

(Full Duplex Connection).

Oferirea fiabilității:

Fereastră culisantă:

Formatul unui segment TCP:

Ca și în modelul structural OSI, datele sunt pasate de sus în jos când se transmite rețelei și de jos în sus când sunt recepționate de pe rețea. Cele patru nivele din structura TCP/IP sunt văzute din punctul de vedere al prelucrării datelor. Fiecare nivel din stivă adaugă informații de control datelor primite de la nivelul superior pentru a asigura o transmisie corectă. Această informație de control se numește „header” deoarece este plasat la începutul blocului de date. Fiecare nivel tratează toate informațiile recepționate de la nivelul superior, ca date și își plasează propriul header la începutul acestor informații. Adăugarea de informații necesare comunicării de către fiecare nivel se numește „încapsulare” (fig 3.2).

Fiecare nivel își are propria structură de date, iar software-ul ce implementează nivelul respectiv se ocupă de prelucrarea lor.

Aplicațiile care folosesc TCP numesc datele „stream”, iar cele care folosesc UDP le numesc „message”. TCP folosește termenul de „segment” pentru date , UDP folosește termenul de „packet”, iar IP folosește termenul de „datagram”. Pentru o rețea fizică datele sunt cunoscute sub numele de „frame” (vezi figura 3.2).

Pentru un utilizator obișnuit Internet-ul este o singură rețea virtuală care interconectează toate stațiile și prin care este posibilă comunicația între ele; iar arhitectura ei de bază este ascunsă și irelevantă.

Software-ul Internet este dezvoltat în jurul a trei tipuri de servicii de rețea aranjate într-o ierarhie (fig. 3.3); iar succesul său a rezultat deoarece această arhitectură este robustă și adaptabilă. Unul dintre cele mai semnificative avantaje ale acestei separări conceptuale este că devine posibilă înlocuirea unui serviciu sau modificarea lui fără a le afecta pe celelalte.

Sistemul de comunicație nefiabil și neorientat pe conexiune

Serviciul care stă la baza Internet-ului este sistemul de distribuire a pachetelor. Din punct de vedere tehnic serviciul este definit ca un sistem de distribuire a pachetelor „nefiabil” (unreliable), cu „efort maxim” (best-effort) și „neorientat pe conexiune” (connectionless).

Sistem de comunicație nefiabil – distribuirea nu este garantată. Există pachete pierdute, duplicate, întârziate sau care au erori, însă serviciul nu va detecta aceste cazuri, nici nu va informa stația care transmite sau cea care recepționează.

Sistem de comunicație neorientat pe conexiune – fiecare pachet este tratat independent de toate celelalte. O serie de pachete trimise de o mașină spre o alta pot traversa căi diferite.

Distribuție cu efort maxim – software-ul Internet face încercare de a transmite pachetele.

2.4 Adresele IP. Subrețele.

Se spune despre un sistem de comunicație că oferă un serviciu de comunicație universal dacă permite fiecărui sistem gazdă (host) să comunice cu orice alt sistem. Pentru a face sistemul nostru de comunicație să fie universal, trebuie să stabilim o metodă global acceptată de identificare a calculatoarelor.

Identificarea unei stații se poate face prin:

nume (ce este un obiect);

adresă (unde se găsește obiectul);

rută (cum se poate ajunge la el).

Fiecare dintre atributele de mai sus se reduc la niște simpli identificatori. Pentru om cel mai simplu mod de identificare îl reprezintă numele. Însă în alegerea (pentru Internet) a unui identificator universal putea fi ales oricare dintre atributele amintite. Totuși a fost ales modul de identificare binară prin adresă a unei anumite stații pentru a eficientiza luarea deciziilor de rutare.

Clasele de adrese IP

Internet-ul se poate gândi ca și orice altă rețea fizică, cu diferența că Internet-ul este o structură virtuală implementat în întregime în software. Astfel proiectanții nu au fost constrânși în alegerea formatului și dimensiunii pachetelor, a adreselor, de nici o caracteristică (limitare) hardware. Pentru adrese, proiectanții TCP/IP au ales o schemă analoagă cu modul de adresare din rețelele fizice, în care fiecare stație are atribuit un unic număr întreg numit „adresă Internet” sau „adresă IP”. Însă aceste adrese au fost alese astfel încât să facă rutarea pachetelor cât mai eficientă. Și anume, o adresă IP codifică informația despre rețeaua fizică de care aparține o anumită stație și informația de identificare a stației în cadrul rețelei.

Fiecare stație gazdă din Internet are atribuită o unică adresă Internet pe 32 de biți care este folosită în toate comunicațiile cu stația respectivă. Această adresă este o pereche de tipul (netid, hostid) unde netid este un identificator de rețea, iar hostid identifică o stație din cadrul rețelei netid. În practică fiecare adresă IP are una dintre formele prezentate în figura de mai jos .

Pentru o anumită adresă IP dată se poate determina clasa din care face parte pe baza celor mai semnificativi trei biți din adresă. Adresele de clasă A sunt folosite pentru rețelele de dimensiuni foarte mari, care au mai mult de 216 stații, au 7 biți pentru netid și 24 biți pentru hostid. Adresele de clasă B, care sunt folosite pentru rețelele de dimensiuni medii având un număr de stații între 28 și 216, au alocați 14 biți pentru netid și 16 biți pentru hostid. Iar adresele de clasă C, folosite în rețelele de dimensiuni mici cu până la 28 stații, au alocați 21 biți pentru netid și 8 biți pentru hostid. Trebuie să remarcăm că adresele IP au fost astfel concepute pentru a se putea extrage cât mai simplu și rapid identificatorii netid și hostid.

Adresele specifică conexiunile la rețea.

Orice adresă IP identifică o unică stație din rețea, dar o stație poate avea alocate mai multe adrese IP. Astfel pentru fiecare conexiune a unei stații la o anumită rețea trebuie alocată o adresă IP distinctă. Acest lucru este impus de codificarea adresei rețelei în adresa IP.

Adresele de rețea, de broadcast și de loopback.

Un alt avantaj al codificării informației de rețea în adresa IP este acela că se poate face referire la o rețea în același mod ca și la o stație. Prin convenție o valoare „0” de hostid nu este atribuită nici unei stații dintr-o rețea. Însă o adresă IP cu câmpul hostid „0” este folosită pentru a identifica rețeaua.

Un alt avantaj semnificativ al acestui tip de adresare este că include o „adresă de broadcast”, care identifică toate stațiile unei rețele. Astfel o adresă a cărei hostid are „1” pe toate pozițiile este rezervată pentru broadcast. Acest tip de adresare se numește adresare de broadcast directă, deoarece conține atât adresa de rețea cât și cea de stație.

Un alt mod de adresare de tip broadcast, numită adresare de broadcast limitată, oferă o adresă de broadcast pentru rețeaua locală, indiferent de adresa IP alocată ei. Adresa de broadcast locală este formată din 32 biți de „1”. Acest tip de adresare poate fi folosit în rutina de boot-are pentru a afla adresa IP a rețelei locale.

Adresa IP de clasă A 127.0.0.0 este rezervată pentru „loopback” și este folosită în testarea comunicațiilor interprocese de pe mașina locală. Dacă un program folosește adresa de loopback pentru a trimite date, software-ul pentru protocol al calculatorului returnează datele fără a le mai trimite pe nici o rețea.

Notația zecimală cu punct

În interfața cu utilizatorul adresele IP sunt scrise ca patru numere întregi zecimale separate prin punct, unde fiecare întreg reprezintă valoarea zecimală a unui octet din adresa IP. Astfel adresa IP

11000001.11100010.00001000.01101111

se scrie

193.226.8.111

Slăbiciunile adresării Internet

Codificarea informației despre rețea în adresa IP are câteva dezavantaje. Primul mare dezavantaj este că o adresă este atribuită unei conexiuni și nu unei stații. Astfel, dacă o stație se mută de pe o rețea pe alta, trebuie să i se modifice și adresa IP.

O altă slăbiciune a acestui mod de adresare apare în cazul unei rețele de clasă C, dacă numărul de stații din rețea depășește 255. În această situație trebuie obținuta o adresă de clasă B și trebuie modificate toate adresele IP din rețea la noua adresă. Această operație este destul de mare consumatoare de timp.

Cea mai importantă lipsă a adresării Internet apare în procesul de rutare. Deoarece rutarea folosește porțiunea de rețea din adresa IP, calea pe care o urmează un anumit pachet IP în drumul lui către o anumită stație cu adresare IP multiplă depinde de adresa folosită în comunicație. Astfel pentru situația din figura 2.2 dacă stația A transmite un pachet stației B, identificată prin adresa corespunzătoare conexiunii I4, pachetul va urma următoarea cale:

Stația A -> Conexiunea I3 -> Rețeaua 1 -> Conexiunea I4 -> Stația B.

Iar dacă stația A transmite un pachet stației B la adresa corespunzătoare conexiunii I5, acesta va urma calea:

Stația A -> Conexiunea I3 -> Rețeaua 1 -> Conexiunea I1 -> Gateway -> Conexiunea I2 ->Rețeaua 2-> Conexiunea I5 -> Stația B

O altă comportare stranie apare dacă se întrerupe (defectează) una dintre conexiunile la rețea al stației B. Presupunem că se întrerupe conexiunea I4 iar stația B este funcțională și la fel este și conexiunea I5 a acesteia. Atunci dacă stația A trimite un pachet pe adresa I4 acesta va fi pierdut și programele care folosesc această adresă nu pot comunica cu stația B, în schimb programele care folosesc adresa I5 vor putea comunica cu stația B.

Ordinea octeților în rețea

Pentru a crea o rețea globală independentă de hardware trebuie definit un mod standard de reprezentare a datelor. Acest standard este necesar datorită ordinii diferite de stocare a cuvintelor în memorie. Astfel unele sisteme salvează numerele cu octetul mai puțin semnificativ la adresele mai mici (Little Endian), iar altele cu octetul mai semnificativ la adresele mai mici (Big Endian).

Standardizarea ordinii octeților pentru numere este importantă deoarece pachetele Internet conțin numere binare care reprezintă informații specifice cum ar fi adresa destinației, lungimea pachetului, etc. Aceste date trebuie să fie corect înțelese de atât de stația care trimite pachetul cât și de cea care îl recepționează. Protocolul TCP/IP rezolvă această problemă prin definirea unui standard al ordinii octeților în rețea, care este folosit de toate mașinile pentru citirea câmpurilor binare dintr-un pachet. Acest standard folosește stilul Big Endian.

Maparea adreselor IP în adrese fizice

Rezoluția adreselor

Să considerăm două mașini A și B care sunt legate la o aceeași rețea fizică.

Fiecare are asignată câte o adresă IP IA și IB și câte o adresă fizică PA și PB. Scopul nostru ar fi să vedem care este rolul software-ului de nivel scăzut care ascunde adresele fizice și permite programelor de nivel înalt să lucreze cu adresele IP ale stațiilor. Presupunem că stația A dorește să transmită un pachet stației B prin rețeaua fizică la care sunt ambele stații legate, dar stația A cunoaște doar adresa IP IB a stației B. Întrebarea care se ridică este: Cum se mapează o adresă IP în adresa fizică corespunzătoare stației destinație.

Problema mapării adreselor de nivel înalt în adrese fizice este cunoscută sub numele de „problema rezoluției adreselor” și a fost rezolvată în câteva moduri. Unele soft-uri de protocol mențin tabele pe fiecare mașină care conține perechi de adrese de nivel înalt și fizice.

O altă soluție ar fi codificarea adreselor de nivel înalt în adrese fizice pe baza unei funcții. Această a doua metodă este mai simplă și este aplicabilă rețelelor fizice care au formatul de adresă scurt și ușor configurabil pentru o stație. În acest caz avem nevoie de o funcție f care mapează adresele IP în adrese fizice, astfel încât

PA = f (IA)

iar adresele fizice se aleg pe baza relației de mai sus.

Rezoluția prin legare dinamicã

În acest subcapitol vom lua drept exemplu cazul rețelelor Ethernet. O placă de rețea Ethernet are adresa pe 48 de biți, adresă stabilită de către producătorul plăcii, iar această adresă nu poate fi modificată. Ca o consecință, dacă o placă de rețea se defectează și aceasta se înlocuiește, mașina în cauză va avea o altă adresă fizică. Mai mult, deoarece adresa Ethernet este pe 48 de biți, nu este nici o posibilitate de a o codifica pe cei 32 de biți ai adresei IP.

Soluția aleasă permite ca o nouă mașină să fie adăugată în rețea fără a recompila codul, și nu necesită menținerea unei baze de date centralizată. Pentru evitarea menținerii unui tabel de mapare centralizat, proiectanții Internet au ales un protocol de nivel scăzut care leagă adresele dinamic. Acest protocol este cunoscut sub numele de „Address Resolution Protocol” (ARP).

Ideea pe care se bazează rezoluția dinamică cu ARP este simplă și este prezentată schematic în figura 2.3. Dacă o stație A dorește să rezolve adresa IP a stației B IB, trimite un pachet special prin broadcast la toate stațiile din rețea, prin care cere stației cu adresa IP IB să răspundă cu adresa sa fizică PB. Toate stațiile recepționează pachetul, dar doar stația B își recunoaște propria adresă IP și răspunde stației A, căreia îi cunoaște adresa fizică chiar din pachetul recepționat. După ce stația A a recepționat răspunsul va trimite pachetele stației B folosind adresa ei fizică.

ARP permite unei stații să afle adresa fizică a unei alte stații conectate la aceeași rețea fizică, furnizând doar adresa IP a stației destinație.

Pentru a reduce comunicațiile inutile, stațiile care folosesc ARP mențin în cache cele mai recente adrese IP rezolvate și adresele fizice corespunzătoare. Când o stație primește un răspuns la o cerere ARP, ea salvează în cache adresa IP a mașinii și adresa fizică corespunzătoare, pentru căutările ulterioare. Când stația dorește să transmită un pachet, ea se uită prima dată dacă are în cache adresa fizică pentru adresa IP dorită, dacă o are o folosește pe aceasta, iar dacă nu o găsește trimite un pachet ARP, și așteaptă răspunsul cu adresa fizică.

Implementarea ARP

Din punct de vedere funcțional ARP este împărțit în două părți. O parte determină adresele fizice prin trimiterea de pachete, iar cealaltă parte răspunde cererilor de la alte stații.

Dându-se o adresă IP destinație, stația A care dorește să trimită un pachet consultă cache-ul pentru a vedea dacă cunoaște maparea adresei IP în adresa fizică. Dacă găsește adresa fizică pentru stația destinație B, o folosește pe aceasta în construirea cadrului pentru Ethernet, încapsulează informația și o transmite stației destinație. Dacă nu reușește să mapeze adresa IP, atunci trebuie să trimită în broadcast o cerere ARP și așteaptă un răspuns. Aici apar însă câteva probleme. Dacă stația destinație nu este pornită sau nu răspunde cererii ARP, atunci stația A nu va primi nici un răspuns și ar trebui să existe un timp de timeout după care să retransmită cererea ARP. Acest timp de timeout este necesar și pentru cazul în care, datorită coliziunilor, s-ar pierde pachetul cu cererea sau pachetul cu răspunsul.

La nivelul stației care recepționează o cerere ARP, se execută următoarele operații: se extrage din pachetul primit adresa IP și adresa fizică corespunzătoare stației A, verifică dacă acestea există în cache-ul propriu și în caz că nu există le salvează iar dacă există se suprascrie noua pereche. Dacă adresa IP nu este egală cu propria adresă IP acest pachet este ignorat. Dacă, însă adresa IP este cea a stației, aceasta construiește un pachet răspuns pentru stația A, pachet care conține și adresa fizică a stației B, și-l trimite stației A. Stația A preia pachetul, extrage informația de mapare a adreselor de care are nevoie, își actualizează cache-ul cu ea și trimite pachetul de date stației B.

Un mesaj ARP pentru a putea fi trimis trebuie încapsulat într-un cadru fizic. Această încapsulare este prezentată în figura 2.4.

Structura unui pachet ARP nu este fixă. Astfel că acest protocol poate fi folosit pe mai multe tipuri de rețele fizice și pentru maparea mai multor tipuri de adrese de nivel înalt. În figura 2.5 este prezentat un pachet ARP care folosește adresele IP pe o rețea Ethernet.

HARDWARE TYPE – tipul interfeței cu rețeaua (1 pentru Ethernet);

PROTOCOL TYPE – tipul adreselor de nivel înalt pentru care se face maparea (0800h pentru adrese IP);

OPERATION

– 1 pentru cerere ARP

– 2 răspuns ARP

– 3 cerere RARP

– 4 răspuns RARP;

HLEN, PLEN – specifică lungimea adresei fizice și respectiv cea a adresei de nivel înalt;

SENDER HA – adresa fizică a stației care a inițiat cererea;

SENDER IP – adresa de nivel înalt a stației care a inițiat cererea;

TARGET HA – adresa fizică a stației care a primit cererea;

TARGET IP – adresa de nivel înalt a stației care a primit cererea;

Determinarea adresei IP

Există situații în care o stație, după boot-are nu își cunoaște propria adresă IP (este cazul stațiilor fără harddisk care comunică prin TCP/IP cu server-ul). Pentru acestea există „Reverse Address Resolution Protocol” (RARP) prin care este posibilă obținerea adresei IP pe baza adresei fizice a stației. RARP funcționează asemănător cu ARP, și folosește același tip de pachete (fig. 2.5). Deosebirea față de ARP constă în aceea că într-o cerere RARP se completează atât informațiile despre „sender” cât și cele despre „target” cu adresa fizică a stației care trimite cererea. O cerere RARP este primită de toate stațiile din rețea dar vor răspunde la ea doar acele stații care au fost configurate ca server-e RARP.

Subrețele

Structura standard a unei adrese IP poate fi modificată local prin folosirea biților pentru adresa stației ca biți suplimentari pentru adresa de rețea. Prin aceasta se creează mai multe rețele, prin reducerea numărului maxim de stații ce aparțin fiecărei rețele nou create. Aceste rețele nou create se numesc subrețele.

Folosirea subrețelelor:

– permite un management descentralizat al adresării stațiilor;

– rezolvarea diferențelor hardware și a limitării distanțelor.

Din punct de vedere conceptual, împărțirea în subrețele schimbă doar interpretarea unei adrese IP. Astfel, în loc de a împărți adresa IP într-un prefix corespunzător rețelei și un sufix pentru adresa stației, adresa se împarte într-o porțiune corespunzătoare rețelei și una corespunzătoare stației. Partea de rețea fizică se tratează doar local; doar gateway-ul local știe că sunt mai multe rețele fizice și rutează traficul între ele.

Fig. 2.6

Standardul specifică că pentru un site care folosește subrețelele trebuie specificată câte o mască pentru fiecare subrețea. În această mască sunt setați pe „1” biții corespunzători adresei rețelei și sunt pe „0” pentru porțiunea corespunzătoare adresei stației.

Protocolul TCP/IP folosește adrese binare pe 32 de biți ca și identificatori universali. Aceste adrese IP sunt împărțite în trei clase (Clasa A: 7 biți pentru rețea și 24 biți pentru stație; Clasa B: 14 biți pentru rețea și 16 biți pentru host și Clasa C cu 21 biți pentru rețea și 8 biți pentru host).

Adresele IP identifică o conexiune și nu o stație, astfel că o stație cu mai multe conexiuni de rețea va avea mai multe adrese IP.

Adresele IP speciale sunt prezentate în figura 2.7.

ARP este un protocol de nivel scăzut care ascunde adresarea fizică a rețelei, permițându-ne să alocăm adrese IP la alegerea noastră fiecărei stații.

RARP este un protocol care permite unei stații să-și afle adresa IP pe baza adresei sale fizice.

Organizațiile mari care au mai multe rețele de calculatoare cu acces la Internet au întâmpinat probleme la atribuirea mai multor adrese dintr-o clasă.

Traficul prin router-ul organizației era foarte mare iar comunicația avea astfel de suferit în orele de vârf. Pentru a mări viteza de transfer a datelor și a nu supraîncărca un router, organizațiile mari și-au reorganizat rețeaua ierarhic folosind mai multe routere.

Astfel rețeaua a fost divizată în subrețele pentru care accesul la Internet și la celelalte rețele este asigurat de un dispozitiv „gateway” (un router sau un calculator gateway).

Pentru a face posibilă această divizare se utilizează adresarea pe subrețele. Așa cum se cunoaște, o adresă IP are o zonă alocată rețelei și o zonă în care se alocă adresă pentru calculatoarele gazdă. Conform acestei arhitecturi avem clasele A,B,C și D pentru multicast.

Pentru a gestiona mai eficient spațiul de adresare alocat unei organizații mari cu mai multe rețele proprii, s-au creat subrețelele.

Utilizând o mască de rețea (Net-mask) binară, se poate stabili porțiunea alocată rețelei și porțiunea alocată gazdei. Astfel biții 1 din net-mask indică zona alocată rețelei iar biții 0 specifică zona alocată gazdei. Avem astfel pentru clasele A,B,C cunoscute următoarele măști de rețea predefinite:

A: 255.0.0.0 – în format zecimal cu punct

11111111.00000000.00000000.00000000 – în binar

B: 255.255.0.0

11111111. 11111111.00000000.00000000

C: 255.255.255.0

11111111. 11111111. 11111111.00000000

Folosind același mecanism, se pot defini subrețele în cadrul unei clase de adrese alocate, folosind pentru aceasta primii biți din cadrul spațiului alocat gazdei.

Putem stabili prin numărul de biți rezervați subrețelei numărul de subrețele disponibile pentru o anumită clasă de adrese și numărul de gazde alocabile în fiecare subrețea.

Astfel pentru clasa B avem următoarele configurații posibile:

Observație: Utilizarea unui singur bit pentru subrețea nu este permisă deoarece pentru subrețea biții nu pot fi cu toții simultan 1 sau 0. Aceste adrese se utilizează pentru comunicarea între subrețele și pentru identificarea subrețelei.

Utilizarea subrețelelor în practică

Alocarea adreselor gazdă într-o rețea în care sunt definite subrețele, trebuie să țină cont de următoarele caracteristici:

– Fiecare subrețea are rezervate prima adresă alocabilă ca fiind identificatorul subrețelei (Net Adress) și ultima adresă alocabilă utilizată pentru trimiterea datagramelor către toate calculatoarele din subrețea (Broadcast Adress)

– Calculatoarele cu adresa alocată într-o subrețea nu comunică direct decât cu calculatoarele din aceeași subrețea sau din rețele subordonate sau cu rețeaua superioară. Pentru comunicarea cu alte subrețele se utilizează gateway-ul.

Dacă se cunoaște adresa IP și Net mask-ul subrețelei alocat pentru un calculator gazdă într-o clasă cunoscută (de obicei C sau mai rar B) atunci se poate calcula ușor Net adress și Broadcast adress pentru acea subrețea, folosind reprezentarea în binar a adresei și a net-mask-ului și aplicând următoarele formule:

Net-adress = IP-adress AND Net-mask

Broadcast-adress = NOT (Net-adress XOR Net-mask)

Unde calculele se fac în binar cu operatorii obișnuiți din calculul binar:

Exemplu:

Avem IP = 192.168.12.72 și Net-mask = 255.255.255.240

În binar:

IP = 11000000.10101000.00001100.01001000

NM = 11111111.11111111.11111111.11110000

––––––––––––––(AND)

NA = 11000000.10101000.00001100.01000000 adică 192.168.12.64

NM = 11111111.11111111.11111111.11110000

––––––––––––––(XOR)

00111111.01010111.11110011.10110000

––––––––––––––(NOT)

BA = 11000000.10101000.00001100.01001111 adică 192.168.12.79

Se observă că este suficient să calculăm pentru ultimul octet, deoarece adresa face parte din clasa C (pentru clasa B se calculează pentru ultimii 2 octeți).

3. Rutarea datelor

Rutarea este procesul de determinare, comparare și selectare a căilor prin rețea către orice adresă IP destinație. De obicei funcția de rutare este încorporată în dispozitive special construite pentru acest lucru, denumite routere. Dar poate fi suportată și de alte dispozitive sau chiar de servere cu soft de rutare corespunzător. Astfel rutarea este o funcție a unei rețele.

Rutarea se bazează pe protocoale definite astfel încât să îndeplinească funcțiile esențiale ale rutării:

– schimbul de informații despre calculatoarele gazdă și rețelele conectate local

– compararea căilor potențial redundante

– convergența către un acord asupra topologiei unei rețele

Principiile fundamentale ale rutării

Routerele pot ruta (dirija) pachete în două moduri:

1. utilizând rute statice programate în prealabil

2. calculând dinamic rutele folosind unul din protocoalele de rutare dinamică.

3.1. Rutarea statică

Rutele statice sunt cele mai simple forme de rutare. Un router programat static redirecționează pachete spre exterior folosind porturi predefinite. Sarcina administrării rutelor rămâne în grija administratorului care va trebui să cunoască perfect topologia rețelelor pentru a programa rutele statice corect. La orice modificare a rețelei, există riscul ca unele rute programate să nu mai funcționeze, iar administratorul trebuie să intervină să reprogrameze rutele. Rutarea statică prezintă însă avantaje ca:

– drumul spre o rețea este întotdeauna același ceea ce duce la creșterea siguranței comunicației;

–  resursele consumate sunt mai mici, nefiind nevoie de calcularea rutei și nici de comunicații suplimentare între routere.

Dezavantajele rutării statice:

– la orice avarie pot apare rute nefuncționale ceea ce implică un efort continuu de programare a rutelor din partea administratorului,

– la schimbarea topologiei rețelei trebuie reprogramate rutele pe toate routerele implicate în topologie.

3.2. Rutarea dinamică

Există două categorii de principale de rutare dinamică:

– protocoale bazate pe vectori de distanțe (distance-vector)

– bazate pe starea legăturii (link-state)

Principala diferență între aceste categorii este modul în care ele descoperă și calculează noi rute către destinație.

Rutarea bazată pe vectori de distanțe

Acest tip de rutare se bazează pe algoritmi care lucrează cu vectori de distanțe, numiți și algoritmi Bellman-Ford. Acești algoritmi se bazează pe trimiterea periodică a propriei tabele de rutare către vecinii din imediata apropiere. Fiecare destinatar adaugă în tabelă un vector de distanță, sau propria valoare pentru distanță și retrimite tabela în imediata vecinătate. Acest proces are loc în toate direcțiile, între toate routerele care se învecinează direct. Astfel fiecare router află informații despre celelalte routere și își formează o perspectivă cumulativă asupra distanțelor din rețea. Tabela cumulativă este folosită apoi pentru a-și actualiza propria tabelă de rutare.

Inconveniente ale rutării bazate pe vectori de distanțe:

– O defecțiune în rețea sau o altă schimbare necesită din partea routerelor un anumit timp pentru a converge către o nouă reprezentare a topologiei rețelei. În timpul procesului de convergență, rețeaua este vulnerabilă la rutări inconsistente sau chiar la rutări în buclă. Din acest motiv aceste protocoale nu sunt recomandate în rețele WAN mari și complexe.

– Acești algoritmi nu țin cont de distanța fizică între noduri și nici de lățimea de bandă pentru o anumită rută. Singurul criteriu de apreciere a distanței este numărul de hopuri până la destinație

Avantaje ale protocoalelor bazate pe distanțe:

– sunt protocoale simple, ușor de configurat și de utilizat. Din acest motiv sunt utilizate în rețele mici cu puține rute redundante și prezintă cerințe stringente de performanță.

Reprezentativ pentru acest tip de protocoale este RIP (Routing Information Protocol). RIP folosește o singură funcție de distanță pentru a determina cea mai bună cale de urmat: costul.

Rutarea bazată pe starea legăturilor

Acest tip de rutare se bazează pe algoritmii SPF (Shortest Path First). Aceștia mențin o bază de date complexă a topologiei rețelei. Acest protocoale bazate pe starea legăturilor construiesc și actualizează un set complet de cunoștințe despre routerele rețelei și despre modul lor de interconectare. Acest lucru se realizează prin schimbul de anunțuri de stare a legăturilor (Link-State Advertisements LSA) cu alte routere din rețea. Pentru calcularea apoi a accesibilităților destinațiilor în rețea, va fi folosit un algoritm SPF.

Inconveniente ale rutării bazate pe starea legăturilor:

– În timpul procesului de descoperire, protocoalele bazate pe starea legăturilor pot inunda mediile de transmitere ale rețelei scăzând prin aceasta semnificativ performanțele rețelei.

Deteriorarea performanțelor este doar temporară dar notabilă.

– Rutarea bazată pe starea legăturilor este consumatoare de memorie și de timp procesor, ca atare este nevoie de routere bine echipate pentru a suporta acest tip de rutare.

Avantaje ale rutării bazate pe starea legăturilor:

– Se adaptează ușor la orice tip și dimensiune de rețea,

– Într-o rețea bine proiectată, un astfel de protocol va trece cu bine peste orice schimbare neașteptată de topologie,

– Aceste protocoale permit o mai bună scalabilitate a rețelei.

Cel mai utilizat protocol bazat pe starea legăturilor este OSPF (Open Shortest Path First). OSPF a fost proiectat pentru a fi utilizat exclusiv pentru rutarea datagramelor IP. Nu este indicat în cazul în care rețeaua trebuie să suporte și alte protocoale rutabile (ex: IPX sau AppleTalk). Fiecare ruter OSPF menține o bază de date identică ce urmărește stările legăturilor din rețea. Pe baza acestor date sunt „calculate” deciziile de rutare. Actualizările tabelelor de rutare se fac prin LSA (Link-State Advertisement) iar procesul se numește inundare (flood), dar protocolul converge foarte rapid a.î. inundarea nu duce la scăderea drastică a performanțelor rețelei.

Convergența într-o rețea IP

Ori de câte ori se produce o schimbare în topologia rețelei, toate routerele din rețea trebuie să-și formeze o nouă reprezentare a topologiei rețelei. Acest proces are loc și în colaborare și independent, routerele trebuie să calculeze independent efectele schimbărilor de topologie asupra propriilor rute. Routerele trebuie să cadă de acord în mod comun asupra noii topologii, independent și din perspective diferite, se spune că ele converg spre acest consens.

Rutarea datagram-elor IP

Într-un sistem bazat pe comutarea de pachete prin „rutare” (routing) se înțelege procesul de alegere a unei căi pe care se va trimite pachetul pentru o anumită destinație; iar „router” este orice stație care poate lua o astfel de decizie. Algoritmul de rutare IP trebuie să aleagă modul în care se va trimite un datagram prin o multitudine de rețele fizice.

Rutarea în Internet poate fi dificilă, în special pentru mașinile care au conexiuni de rețea multiple. Ideal software-ul de rutare atunci când caută o cale, ar trebui să examineze: încărcarea rețelei, lungimea datagram-ului, tipul de serviciu specificat în header-ul datagram-ului.

Pentru a înțelege procesul de rutare IP trebuie să privim din nou la arhitectura unei rețele TCP/IP. Internet-ul este compus dintr-o multitudine de rețele fizice interconectate prin sisteme numite gateway. Fiecare gateway are o conexiune directă la două sau mai multe rețele. Spre deosebire de un gateway, o stație are doar o singură conexiune (de obicei).

Atât stațiile cât și gateway-urile participă în procesul de rutare. O stație trebuie să ia decizii de rutare, chiar dacă are o singură conexiune de rețea, atunci când alege unde va trimite un datagram. Un gateway care poate lua și decizii de rutare se numește „router” (de obicei orice gateway funcționează și ca router).

Exemplu: Stația A din figura 3.9 trebuie să aleagă, în funcție de destinație, cărui gateway îi trimite un anumit datagram.

Rutarea directă (direct routing) – transmiterea unui datagram direct de la o mașină la alta. Acest lucru este posibil doar dacă ambele stații sunt legate la aceeași rețea fizică. Transmiterea unui datagram IP între două mașini conectate la aceeași rețea fizică nu implică nici un gateway. Transmițătorul încapsulează datagramul într-un cadru fizic, construiește adresa fizică din adresa IP și transmite cadrul rezultat direct la destinație. Pentru a afla dacă a anumită stație este legată la aceeași rețea fizică putem folosi câmpul ce codifică rețeaua din adresa IP, care se compară cu adresa de rețea a stației curente. Dacă cele două adrese sunt egale înseamnă că stația destinație se află conectată la aceeași rețea fizică.

Rutarea indirectă (indirect routing) – destinația nu este atașată la aceeași rețea fizică cu sursa, forțând stația sursă să trimită datagram-ele prin cel puțin un gateway. Rutarea indirectă este mai dificilă decât cea directă deoarece stația transmițătoare trebuie să identifice un gateway căruia să-i trimită datagram-ul. Gateway-ului îi revine apoi sarcina de a trimite datagram-ul către destinația lui finală.

Gateway-urile într-o rețea Internet TCP/IP formează o structură cooperativă interconectată. Datagram-ele trec de la gateway la gateway până când ajung la un gateway care are posibilitatea să-l trimită direct stației destinație.

Acum se ridică două întrebări:

De unde știe un gateway unde să trimită fiecare datagram?

De unde știe o stație ce gateway să aleagă pentru o anumită destinație?

3.3 Tabela de rutare

Algoritmul de rutare uzual folosit folosește o „tabelă de rutare Internet” (Internet routing table) pe fiecare mașină care stochează informații despre posibilele destinații și cum se ajunge la ele. Deoarece atât stațiile cât și gateway-urile rutează datagram-e, ambele vor avea tabele de rutare.

Pentru a ascunde informațiile despre stațiile destinație, pentru a menține tabela de rutare de dimensiuni mici și pentru a face rutarea eficientă, software-ul de rutare IP păstrează doar informații despre adresele de rețea pentru destinații și nu despre stațiile destinație. Tipic, un tabel de rutare conține perechi (N, G), unde N este adresa IP a rețelei destinație, iar G este adresa IP a următorului gateway în calea spre destinație. Acest gateway trebuie să fie legat la aceeași rețea fizică cu stația în a cărei tabelă de rutare este prezent.

Folosirea adreselor de rețea în tabelele de rutare are următoarele consecințe:

Tot traficul pentru o anumită rețea destinație va urma aceeași cale, deci chiar dacă există mai multe căi acestea nu vor fi folosite concurent și nici nu țin seama de întârzierea pe celelalte căi care ar exista;

Deoarece doar ultimul gateway poate comunica direct cu destinația, numai acesta poate determina dacă stația destinație există sau nu și dacă este operațională.

Deoarece fiecare gateway rutează datagram-ele independent este posibil ca datagram-ele trimise de o stație A spre o altă stație B să urmeze altă cale decât cele trimise de stația B spre stația A.

O altă tehnică de a ascunde informația și de a păstra tabela de rutare mică constă în strângerea intrărilor multiple într-o intrare „default”. Se va folosi un gateway implicit pentru acele destinații care nu apar în tabela de rutare. Aceste rute implicite sunt utile în cazul site-urilor cu un număr mic de adrese locale și cu o singură conexiune cu exteriorul.

În tabela de rutare pot exista și intrări pentru adrese de stații destinație, numite rute specifice. Acestea oferă administratorului de rețea un control mai mare asupra folosirii rețelei și pot fi folosite și pentru securitate.

Prelucrarea datagram-elor recepționate

Când o stație recepționează un datagram, software-ul de rețea îl transmite software-ului IP pentru procesare. Dacă adresa destinație a datagram-ului coincide cu adresa IP a stației, datagram-ul este acceptat și este trimis spre procesare nivelului imediat superior. Dacă adresele nu se potrivesc datagram-ul va fi eliminat.

În cazul gateway-urilor dacă adresa IP destinație din datagram nu coincide cu cea proprie, datagram-ul este trimis software-ului de rutare IP, care va realiza transmiterea mai departe a datagram-ului.

Mesajele de eroare si de control

În acest sistem de comunicație neorientat pe conexiune pe care l-am descris în capitolele precedente, fiecare gateway lucrează autonom, iar un datagram este transmis de la un gateway la altul până acesta ajunge la destinație. Acest sistem funcționează atâta timp cât toate mașinile din sistem funcționează corect. Pe lângă erorile de comunicație sau defectarea stațiilor, care pot apare în realitate, distribuirea de datagram-e nu este posibilã nici în cazul în care stația destinație este decuplatã de la rețeaua fizică. Pentru aceste situații este nevoie de un nou protocol pe baza căruia o mașină (gateway) care intervine în rutarea unui datagram, să poată comunica stației transmițătoare, motivul pentru care datagram-ul nu a reușit să fie trimis stației destinație.

Pentru a permite unui gateway să raporteze erorile sau să ofere informații despre anumite condiții neașteptate, proiectanții TCP/IP au adăugat un mecanism de comunicare a mesajelor de uz special. Acest mecanism este cunoscut sub numele de „Internet Control Message Protocol” (ICMP).

ICMP permite gateway-urilor să trimită mesaje de eroare sau de control altor gateway-uri sau stații; ICMP oferă o modalitate de comunicație între software-ul IP de pe o mașină și software-ul IP de pe o alta. ICMP doar raportează situațiile de eroare apărute, urmând ca stația sursă să se ocupe de corectarea acestor erori.

Un mesaj ICMP este încapsulat într-un datagram (fig 3.10):

CAPITOLUL IV: FIREWALL

Rețeaua Internet a evoluat foarte mult în ultimul timp din punctul de vedere al datelor și informațiilor pe care le poate oferi utilizatorilor. Așadar, pentru mulți dintre noi, accesul la Internet, nu mai reprezintă un avantaj ci o necesitate. Totuși, conectarea unei rețele private la Internet expune unor atacuri nedorite o bază de date confidențială (de cele mai multe ori). Aici intervin firewall-urile ce au ca scop protejarea rețelelor private dar și a calculatoarelor personale de eventualele intruziuni ostile sau accese neavizate dinspre exterior.

Ce este un firewall?

Un firewall este numele generic al unei componente de rețea ce are ca rol validarea traficului (între rețea și exterior) pe baza unei politici de securitate prestabilite. Scopul acestuia este de a proteja rețeaua (sau un singur calculator personal) de eventualele atacuri ce vin din exterior și pot compromite datele/informațiile stocate. Termenul în sine („perete de foc”) vine de la capacitatea acestuia de a segmenta o rețea mai mare în subrețele.

Firewall-ul poate fi un dispozitiv (componentă hardware) sau poate fi un program (componentă soft), conținând – în ambele cazuri – două  interfețe orientate: una către exterior (Internet), iar cealaltă direcționată către rețeaua internă (cea pe care o protejează).

Filtrarea traficului dintre cele două rețele se face după anumite criterii și poate viza: adresele IP sursă și destinație ale pachetelor de informații vehiculate – address filtering, sau poate viza doar anumite porturi și protocoale utilizate (HTTP, ftp sau telnet) – protocol filterig.

Totuși, un firewall de rețea nu poate administra transferul de date efectuat de către un utilizator ce folosește o legătură la Internet de tip dial-up, ocolind procedurile de securitate și implicit firewall-ul în sine.

Ce tipuri de firewall-uri există?

Există patru tipuri de firewall-uri:

1. Firewall-ul cu filtrare de pachete (Packet Filtering Firewalls) – funcționează la nivelul de rețea al modelului OSI și respectiv la nivelul IP al modelului TCP/IP. Are ca principiu de funcționare analizarea sursei de proveniență si destinației fiecărui pachet de date în parte, acceptând sau blocând traficul derulat de acestea. Aceste firewall-uri fac parte – de cele mai multe ori – din componenta de rețea numită router și reprezintă cea mai ieftină soluție din punct de vedere financiar cu implicații minime în performanța și funcționabilitatea rețelei. Punctul său slab este incapabilitatea de a furniza o securitate ridicată prin reguli complexe de identificare și validare a IP-urilor, motiv pentru care este indicată utilizarea împreună cu un al doilea firewall extern care să ofere protecție suplimentară.

2. „Porțile de circuit” (Circuit Level Gateways) – rulează la nivelul 5 al modelului OSI și respectiv nivelul 4 al modelului TCP/IP. Acestea monitorizează sesiunile TCP dintre rețeaua internă și/sau server și rețeaua Internet. Traficul de pachete utilizează un server intermediar, folosind un singur port (în general portul 1080) pentru tot traficul. Acest server intermediar are un rol important în mascarea datelor și informațiilor deținute pe calculatoarele componente ale rețelei private. Punctul slab al „porților de circuit” este reprezentat prin faptul că acestea nu verifică pachetele ce constituie obiectul traficului cu rețeaua publică, ci doar le filtrează în funcție de titlu. Totuși, acestea sunt mai sigure decât filtrarea pachetelor și mai rapide decât aplicațiile proxi, deși sunt cel mai puțin întâlnite.

3. Proxi-uri de aplicație (Application Level Gateways sau Proxies): sunt cele mai complexe soluții firewall și, totodată, cele mai scumpe. Pot funcționa la nivel de aplicație al modelului OSI. Acestea, verifică pachetele de date și blochează accesul celor care nu respectă regulile stabilite de proxi. Astfel, dacă avem de-a face cu un proxi de web, acesta nu va permite niciodată accesul unui trafic pe protocol de ftp sau telnet. Serverul local va vedea această soluție firewall ca pe un simplu client, în timp ce rețeaua publică îl va recepta ca fiind însăși serverul. Totodată, proxi-urile de aplicație pot creea fișiere de tip log cu activitatea utilizatorilor din rețea sau pot monitoriza autentificările acestora, oferind și o verificare de baza a pachetelor transferate cu ajutorul antivirusului încorporat).

4. Firewall-ul cu inspecție multistrat (Stateful Multilayer Inspections): combină toate caracteristicile descrise mai sus, filtrând traficul la toate cele trei nivele ale modelului TCP/IP. Se bazează pe algoritmi proprii de recunoaștere și aplicare a politicilor de securitate spre deosebire de o aplicație proxi standard. Inspecția multinivel oferă un înalt grad de securitate, performanțe bune și o transparență oferită end-user-ilor. Este bine de menționat faptul că, fiind deosebit de complexă, se poate transforma ușor într-o armă împotriva rețelei pe care o protejează atunci când nu este administrată de personal competent și bine pregătit. Prețul acestui tip de firewall este cel mai ridicat dintre toate cele patru prezentate.

Ce „poate” și ce „nu poate” să facă un firewall

Un firewall poate să:

– monitorizeze căile de pătrundere în rețeaua privată, permițând în felul acesta o mai bună monitorizare a traficului și deci o mai ușoară detectare a încercărilor de infiltrare;

– blocheze la un moment dat traficul în și dinspre rețeaua Internet;

– selecteze accesul în spațiul privat pe baza informaților conținute în pachete;

– permită sau interzică accesul la rețeua publică, de pe anumite stații specificate;

– și nu în cele din urmă, poate izola spațiul privat de cel public și realiza interfața între cele două.

De asemeni, o aplicație firewall nu poate:

– interzice importul/exportul de informații dăunătoare vehiculate ca urmare a acțiunii răutăcioase a unor utilizatori aparținând spațiului privat (ex: căsuța poștală și atașamentele);
– interzice scurgerea de informații de pe alte căi care ocolesc firewall-ul (acces prin dial-up ce nu trece prin router);

– apăra rețeaua privată de userii ce folosesc sisteme fizice mobile de introducere a datelor în rețea (USB Stick, dischetă, CD, etc.)

– preveni manifestarea erorilor de proiectare ale aplicațiilor ce realizează diverse servicii, precum și punctele slabe ce decurg din exploatarea acestor greșeli.

CAPITOLUL V:

STUDIU DE CAZ: ROUTERUL D-LINK DI-707P

Router-ul asigură dirijarea optimă a pachetelor de date de la un sistem la altul, acolo unde există căi multiple între sisteme. Spre deosebire de punți, router-ele izolează rețelele între ele. Ele se pot folosi pentru interconectarea unor rețele ce utilizează același protocol de comunicație sau protocoale de comunicație diferite (router-e multiprotocol). Un router operează la Nivelul Rețea al modelului OSI. Algoritmii de dirijare guvernează modul în care router-ele obțin informația necesară pentru a determina căile prin care va fi dirijat traficul. Din motive de securitate sau de cost, diferite pachete de date pot fi dirijate prin segmente de rețea diferite. Router-ele se pot folosi cu succes atât la interconectarea LAN-urilor aflate la distanță, cât și a LAN-urilor cu WAN-uri.

Ruterul permite rutarea mesajelor de la sursă la destinație atunci când există mai multe posibilități de comunicare între cele două sisteme.

Ruterul D-LINK DI-707P furnizează soluția pentru realizarea interfeței cu Internet-ul, asigurând totodată și partajarea resurselor într-un birou. Ruterul are 7 porturi și un port pentru imprimantă.

Este compatibil cu cele mai populare sisteme de operare ca Windows, Linux, Macintosh și poate fi inclus într-o rețea largă.

CARACTERISTICI ȘI AVANTAJE

1. Modem broadband cu partajare IP

2. DHCP server

3. Partajarea imprimantei (server de imprimantă care permite tuturor computerelor din rețea să partajeze o imprimantă)

4. Firewall – toate pachetele nedorite sunt blocate pentru a proteja rețeaua

5. DHCP server (toate computerelor din rețea pot primi IP setate automat de router)

6. Suport pentru acces controlat (permite asignarea diferitelor drepturi de acces pentru diferiți utilizatori.)

7. Pachet de filtre (permite controlul accesului către rețea analizând intrările și ieșirile din rețea pentru a permite sau nu accesul funcție de adresa IP sursă sau destinație).

8. Suport pentru server virtual

9. DMZ

Un ruter va transfera datele de pe Internet pe un computer dintr-o rețea locală.

Când se dă click pe un link de pe o pagină web, de fapt se trimite o cerere către un server, de a arăta pagina următoare. Informația este trimisă/recepționată pe un computer spre/de la un server prin intermediul ruterelor. Ruterul stabilește calea cea mai bună pe care informația poate ajunge la destinație.

Ruterul controlează cantitatea de date care este trimisa prin rețea eliminând informația ce nu trebuie să fie acolo. Aceasta asigură securitatea computerelor conectate la ruter deoarece computerele din afara rețelei nu pot accesa sau trimite direct informații către nici unul din computerele rețelei. Ruterul determină care este computerul căreia îi este destinata informația și o trimite acestuia. Dacă informația nu este destinată nici unuia din computerele din rețea, datele sunt respinse. Acesta reține orice informație nedorită sau dăunătoare pentru a nu accesa sau pune în pericol computerele din rețea.

SERVER DHCP

Toate computerele din rețea pot primi TCP/IP setate automat de router.

În Network există două scheme de adresare. Una folosind adrese MAC (la nivelul 2), cealaltă folosind adrese de nivel 3. Protocolul IP este un exemplu de adresare de nivel 3. Deoarece adresele IP sunt implementate in software, ele sunt asignate de administratorul rețelei, spre deosebire de cele MAC, care sunt înscrise în hardware de producător.

Un ruter este un echipament care transferă pachetele de date de la sursă la destinație. Ruterele transferă pachetele de date folosind adresele IP și nu adresele MAC.

Ruterele efectuează două operații:

selectează calea de urmat,

copie datele de pe o interfață pe alta (funcție de switching)

FIREWALLS

Un firewall este un dispozitiv situat între computer și Internet care previne accesul spre și dinspre rețeaua locală. Un firewall poate fi un computer utilizând un software firewall sau o componentă hardware special construită pentru a acționa ca un firewall. În cele mai multe situații, un firewall este utilizat pentru a preveni accesul user-ilor neautorizați de pe Internet în rețelele private, sau în LAN-urile corporațiilor ori subrețele. Un firewall supraveghează toată informația ce pleacă din rețea/vine în rețea și o supraveghează atent. Fiecare fragment de date este cercetat după un set de criterii pe care le configurează administratorul rețelei. Dacă o anumită informație (dată) nu întrunește un criteriu, această dată este blocată și descărcată. Dacă o anumită informație satisface criteriile, poate trece mai departe.

Un firewall poate de asemenea exercita funcții speciale de securitate bazate pe un anumit tip de aplicație sau un anumit port care este utilizat. De exemplu un firewall poate fi configurat să lucreze cu FTP sau server TELNET, sau un firewall poate fi configurat să lucreze cu UDP sau porturi TCP specifice, pentru a permite anumitor aplicații sau jocuri să ruleze mai bine pe Internet.

O rețea LAN reprezintă o colecție de calculatoare conectate într-o arie restrânsă, prin conexiuni electronice comune. O rețea LAN permite:

– partajarea resurselor, în primul rând a datelor;

– administrarea ușoară a utilizatorilor.

Ruterul D-LINK DI-707P este un router ușor de configurat, extrem de flexibil, putându-se introduce cu ușurință stații noi în rețea, și cu un firewall fiabil, asigurând securitatea datelor.

Configurarea ruterului se realizează ușor, folosind Wizard-ul din meniul HOME, urmând pașii:

1. Setarea unei parole noi (echipamentul nu vine cu parolă din fabrică).

2. Alegerea unei zone de timp (setare dată, ceas).

3. Setarea conexiunii Internet (setarea adresei interfeței WAN), existând opțiunile de alocare dinamică sau statică.

Configurarea interfeței Internet se realizează alegând opțiunea WAN a meniului HOME.

Setarea adresei IP a ruterului pe interfața LAN se realizează alegând opțiunea LAN a meniului HOME.

Masca de rețea este implicit 255.255.255.0, fiind vorba de o adresă de clasă C.

DHCP (Dynamic Host Control Protocol ) – toate computerelor din rețea pot primi TCP/IP setate automat de router.

Serverul DHCP poate da maxim 253 adrese. Se poate opta și pentru Static DHCP, în acest caz IP va fi corelat cu adresa MAC (se poate condiționa alocarea unei anumite adrese IP anumitei stații pentru a avea un control mai riguros al rețelei).

Se poate seta și intervalul de timp pentru care este valabilă această adresă IP (variază de la 1 h la 1 săptămână).

DMZ (Demilitarized Zone) – permite ca un component al LAN-ului să fie expus în Internet. De fapt se atribuie unui singur calculator adresa WAN a ruterului. În acest caz, însă, respectivul calculator nu va mai fi sub protecția firewall-ului, fiind expus unor eventuale atacuri.

Rutele statice sunt cele mai simple forme de rutare. Un router programat static redirecționează pachete spre exterior folosind porturi predefinite. Sarcina administrării rutelor rămâne în grija administratorului care va trebui să cunoască perfect topologia rețelelor pentru a programa rutele statice corect. La orice modificare a rețelei, există riscul ca unele rute programate să nu mai funcționeze, iar administratorul trebuie să intervină să reprogrameze rutele. Rutarea statică prezintă însă avantaje ca:

– drumul spre o rețea este întotdeauna același ceea ce duce la creșterea siguranței comunicației;

– resursele consumate sunt mai mici, nefiind nevoie de calcularea rutei și nici de comunicații suplimentare între routere.

Dezavantajele rutării statice:

– la orice avarie pot apare rute nefuncționale ceea ce implică un efort continuu de programare a rutelor din partea administratorului

– la schimbarea topologiei rețelei trebuie reprogramate rutele pe toate routerele implicate în topologie.

În cazul în care în cadrul LAN-ului sunt mai multe rutere, aranjate ierarhic, administratorul de rețea este cel care va completa adresele IP ale acestora, în cadrul tabelei de rutare.

Ruterul D-Link DI-707P este un router ușor de configurat, extrem de flexibil și cu un firewall fiabil, asigurând securitatea datelor.

Acest ruter furnizează soluția pentru realizarea interfeței cu Internet-ul, asigurând totodată și partajarea resurselor într-o rețea LAN.

Similar Posts