• TCP/IP este un set de protocoale organizate în straturi.
• Pentru serviciul de mail se defineşte un set de comenzi prin care o maşină trimite la altă maşină, comenzi ce includ: transmiţătorul mesajului, receptorul, textul mesajului, fişiere ataşate. Acest protocol presupune un mod natural de comunicaţie între două maşini. • TCP este responsabil de ajungerea comenzii la destinaţie. Dacă mesajul este prea mare pentru a fi încapsulat într-o datagramă, TCP va sparge mesajul în mai multe datagrame şi se îngrijeşte ca ele să ajungă corect. Deoarece aceste funcţii sunt necesare pentru mai multe aplicaţii ele sunt puse într-un protocol separat ce face parte din specificaţia de transmitere mail. • Se poate considera că TCP este format dintr-o colecţie de rutine pe care aplicaţia le poate utiliza când este necesară comunicaţia cu alte calculatoare. • Similar TCP apelează la serviciile altui strat, stratul IP, protocol ce este utilizat de mai multe aplicaţii. Ca urmare putem vedea IP tot ca o colecţie de biblioteci pe care TCP le apelează şi nu sunt membre ale TCP. Această strategie de construcţie a diverselor niveluri ale protocolului este numită “stratificare” sau organizare in straturi. Baze de date Curs 12 2 Putem acum considera că programele de aplicaţie (de exemplu mail), TCP şi IP sunt straturi diferite ce apelează servicii ale altor straturi. Aşa cum s-a prezentat în capitolul anterior denumirea generica TCP/IP înglobează 4 straturi: • un protocol de aplicaţie (ex. mail); • un protocol TCP ce furnizează servicii necesare mai multor aplicaţii asigurând controlul corectitudinii recepţiei mesajelor; • un protocol IP ce furnizează servicii de bază pentru a transporta datagramele la destinaţie; • protocolul necesar manipulării nivelului fizic pentru transport, ca de exemplu Ethernet sau linie punct la punct. Datagramele vor fi adesea transferate prin diferite reţele înainte de a ajunge la destinaţie. Calea urmată este complet invizibilă de către utilizator. Pentru conectarea la distanţa la un alt sistem este neceesară pentru acces “adresa Internet” a acestuia. O astfel de adresă în notaţia cu punct are forma 128.6.4.194 şi este reprezentată pe 32 biti, împărţiţi în 4 câmpuri de câte 8 biţi fiecare, delimitate prin puncte.
Baze de date Curs 12 3
• Este normal ca referirea la un sistem să se facă de cele mai multe ori prin nume şi nu prin adresa de reţea. • Când se cunoaşte numele, softwareul de reţea se uită în baza de date pentru nume si pune în corespondenţă numele cu adresa Internet. O serie de sisteme software operează direct cu adresa Internet. • TCP/IP este construit pe tehnica de conectivitate în care informaţiile sunt transmise ca o secvenţă de datagrame. O datagramă este o colecţie de date ce este trimisă ca un singur mesaj. Fiecare datagramă este transmisă individual prin reţea. La acest nivel informaţiile provenind de la datagrame fragmentate sunt tratate de reţea complet separat. De exemplu pentru a transfera un fişier de 15000 octeţi, volum de date ce un poate fi inclus într-o singură datagramă, care este transportată de mai multe reţelele, acesta se sparge în 30 datagrame de câte 500 octeţi fiecare. În urma asamblării acestor datagrame se obţine fişierul iniţial. Funcţie de calea urmată la transport datagramele pot să ajungă, la destinaţie, în altă ordine decât cea în care au fost trimise, sau să existe datagrame care nu ajung la destinaţie. În cazul în care datagrama un ajunge la destinatie, funcţie de protocolul de control utilizat este posibilă retransmisia datagramei.
Baze de date Curs 12 4
2. Tehnologia Ethernet Ethernet este numele dat celei mai populare tehnologii de networking dezvoltată de Xerox PARC în jurul anilor 1970, tehnologie ce a fost standardizată de Intel Xerox şi Digital în 1978 pentru care IEEE utilizează versiunea de standard 802.3. În structura originală Ethernet utilizează cablul coaxial, cablu este complet pasiv, singurele elemente active fiind calculatoarele ataşate la reţea. Conexiunea între calculator şi reţea cere un element special numit şi transceiver care ar trebui să fie existent la fiecare card de reţea. Tranceiverul poate sesiza când reţeaua este în utilizare sau când transformă semnale analogice în semnale digitale, el fiind conectat cu o placă adaptor prin intermediul unui cablu numit şi Atachement Unit Interface (AUI). Deoarece numărul de fire utilizate în conexiunea AUI este mare şi ca urmare costul cablului ridicat s-a compactat adaptorul cu transceiverul obţinând ceea ce se numeşte conexiune thin-wire sau thinnet prin care fiecare staţie se conectează cu celelalte prin intermediul unui cablu coaxial într-o structură de tip bus.
Baze de date Curs 12 5
Tehnologia avansată prevede o metodă de conexiune fără a utiliza cabluri ecranate sau coaxiale. • Această nouă tehnologie permite accesul la ethernet utilizând o pereche de fire torsadate similare cu cele utilizate în telefonie. • Tehnologia este cunoscută sub denumirea 10Base-T şi se realizează prin conexiunea dintre calculator şi un hub Ethernet. Prin hub se înţelege un dispozitiv electronic care simulează semnalele unui cablu Ethernet. O conexiune între o staţie şi un hub este limitată la maxim 100 m. • De cele mai multe ori adaptoarele suportă toate cele trei tipuri de conexiune externă: AUI conector pentru ticknet, BNC conector pentru thinnet şi RJ45 pentru 10Base-T. Ethernet, indiferent de modul fizic de realizare, este o conexiune bus deoarece toate transceiverele recepţionează toate mesajele reţelei fizice, pachetele recepţionate fiind filtrate de către fiecare adaptor şi nu are nevoie de o autoritate centrală pentru garantarea accesului.
Baze de date Curs 12 6
• Adresa Ethernet este definită pe baza unei scheme cu 48 biţi, cunoscută şi sub denumirea de adresă Etherne sau adresă MAC. • Adresa Ethernet este fixată la fiecare maşina prin hardware-ul utilizat şi poate fi citită prin intermediul interfeţei hardware. • Cardul Ethernet are posibilitatea de a extrage adresa fizică iclusă în pachet prin filtrare şi ignoră pachetele ce nu sunt adresate maşinii în care este dispusă. O adresă Ethernet poate avea valori prin care se specifică: • adresa fizică a unei interfeţe de reţea (adresa unicast) • adresă broadcast reţea; • adresă multicast. • Pachetele Ethernet poartă numele de frame şi au formatul prezentat în figura.
Baze de date Curs 12 7
Preambulul este format din 64 biţi ce conţin biţi în starea 0 sau starea 1 pentru a asigura sincronizarea. Adresa sursă şi adresa destinaţie sunt reprezentate pe câte 48 biţi fiecare (6 octeţi). Un alt câmp important este tip frame prin care se identifică protocol căruia îi este destinat pachetul şi va fi procesat în conjuncţie cu acesta. În acest mod o maşină poate utiliza mai multe protocoale în acelaşi timp funcţie de conexiunea realizată (sursa pachetului).
Baze de date Curs 12 8
3. ATM
• ATM este o tehnologie de mare viteză ce se utilizează atât în reţele
locale cât şi în reţele globale. • Prin mare viteză se înţelege viteză de comunicaţie de peste 100 Mbs iar ATM poate asigura viteze de pâna la ordinul Gbs fapt ce determină şi costuri mult mai mari pentru realizarea acestor reţele. • Tehnologia ATM constă din unul sau mai multe comutatoare de înaltă viteză fiecare conectate la un calculator şi la un alt switch ATM. Cel de al doilea utilizează fibra optică pentru conexiune inclusiv pentru conexiunea de la host la switch. • La cel mai scăzut nivel al unei reţele ATM se utilizează cadre numite şi cells de dimensiune fixă ce pot fi procesate cu viteza mare. Fiecare celulă ATM are numai 53 octeţi lungime dintre care 5 octeţi formează headerul şi 48 constituie câmpul de date. La iniţierea unei conexiuni toate echipamentele ce participă la transmiterea celulei agrează un identificator de conexiune virtuala. În headerul unei celule câmpul identificator conexiune specifică o conexiune virtuală agreată şi indică fiecarui distribuitor modul în care conectează porturile interne pentru transmiterea celulei. Baze de date Curs 12 9 4. Protocol Internet, datagrame Anologia între reţeaua fizică şi TCP/IP este foarte importantă. • Într-o reţea fizică unitatea de transfer este un frame ce conţine hearder şi date. • În hearder sunt incluse informaţii asupra sursei fizice şi a destinaţiei. • Internet denumeşte unitatea de bază pentru transfer ca datagramă Internet. • Similar cu un frame din reţelele fizice o datagramă este împărţită în hearder şi zona de date, la fel cu formatul frame, headerul pentru datagramă conţine adresa sursă şi adresa destinaţie şi o serie de alte câmpuri ce identifică conţinutul.
Baze de date Curs 12 10
Format header datagrama
Câmpuri în header: • Versiune curent 4, dezvoltata 6 • Lungime header (HLEN) specifică lungimea hearder masurată în cuvinte de 32 de biti.
Baze de date Curs 12 11
• Lungimea totală a datagramei (LENGTH) specifică lungimea datagramei IP, masurată în octeţi, incluzând atât octeţi din header cât şi datele încapsulate. Lungimea porţiunii de date poate fi calculată prin scăderea lungimii headerului (HLEN) din lungimea totală (LENGTH). • Datagram Type of Service şi precedenţă datagramă, numită pe scurt şi Tip Serviciu, specifică modul în care o datagramă este manipulată. Înainte de a înţelege sensul următorului câmp dintr-o datagramă este important să pornim de la modul în care transportul datagramei se bazează pe cadrele (frame) de reţea. Începem cu întrebarea; Cât de mare poate fi o datagramă? Spre deosebire de reţelele fizice unde hardware-ul trebuie recunoscut, datagramele sunt manipulate software.
Baze de date Curs 12 12
Marime datagramă, MTU şi fragmentare. • În cazul ideal, întrega datagramă ocupă un frame fizic facând transmiterea prin reţeaua fizică mai eficientă. • Pentru a asigura eficienţa proiectantul IP forţează selecţia dimensiunii datagramei la o dimensiune corespunzătoare care încape într-un frame. Apare o a doua întrebare: Ce dimensiune de frame se poate alege? • O datagramă în Internet trebuie să călătorească prin mai multe reţele fizice interconectate. • Fiecare pachet este limitat la o dimensiune maximă a datelor într-o reţea fizică. De ex: un cadru Ethernet oferă 1500 octeţi de date, un cadru FDDI aproximativ 4470. • Unitatea prin care ne referim la dimensiunea maximă a unui frame poartă denumirea de maximum transfer unit (notat şi MTU). În consecinţă, când o datagramă este mai mare decât MTU al reţelei pe care o traversează, ea se transformă în mai multe frame-uri. TCP/IP alege mărimea convenabilă a datagramelor şi aranjează astfel modul de împărţire al acesteia în mici compartimente cu dimensiunea dată de MTU. • Micile piese în care datagrama este împărţită se numesc fragmente iar procesul poartă denumirea de proces de fragmentare Baze de date Curs 12 13 Exemplu configuratie retea
• Sursa poate alege orice dimensiune dacă o consideră
corespunzătoare, fragmentarea şi reasamblarea apărând ca un proces automat fără ca sursa să întreprindă acţiuni speciale. • Specificaţia IP postulează că nu toate implementările trebuie să accepte datagrame până la maximul MTU al reţelelor pe care le atacă. În plus un ruter trebuie întotdeauna să realizeze datagrame de cel putin 576 octeţi. • Fragmentarea unei datagrame înseamnă împărţirea ei în diferite piese. Nu trebuie să surprindă faptul că fiecare piesă are acelaşi format cu cel al datagramei originale.
Baze de date Curs 12 14
Trei câmpuri ale headerului din datagramă: IDENTIFICATOR, FLAGS, şi FRAGMENT OFFSET controlează fragmentarea şi reasamblarea. • Câmpul identificator conţine un unic întreg prin care se identifică univoc o datagramă. • Fragment Offset specifică un offset faţă de datagrama originală a datelor ce sunt deplasate în fragmentul următor, măsurat în octeţi începând cu fragmentul care are offset zero.
Baze de date Curs 12 15
• Biţii FLAGS sunt utilizaţi pentru controlul fragmentării şi reasamblarii. Semnificaţia biţilor flags: • Primul bit not fragment, este testat atunci când este necesară fragmentarea. Dacă el este 1 fragmentarea nu este permisă. De ex. la secventa de boot este necesară întreaga imagine. • Ultimul bit specifică dacă fragmentul conţine date din interiorul datagramei originale sau este fragmentul de sfârsit. Acest bit este numit şi “more fragmentation”. Aceasta este necesară întrucât în header câmpul Total Length se referă la fragment nu la datagramă şi nu se poate identifica ultimul fragment dintr-o succesiune de fragmente. Acest bit împreună cu fragment offset şi total length permite reasamblarea datagramei.
Baze de date Curs 12 16
Alte campuri header: • Time to live (TTL) specifică un număr interpretat ca intervalul de timp pentru care datagrama rămâne în Internet. Maşina sursă specifică timpul de viaţă al datagramei, iar ruterele şi hosturile ce o procesează va decrementa acest câmp. Atunci când timpul a expirat, adică a devenit zero, datagrama este pierdută. Estimarea exactă a timpului este dificilă, deoarece ruterele nu au un ceas sincronizat cu reţelele fizice. Mai exact, interpretăm timpul de viaţă ca numărul maxim de distribuiri ale acesteia. • Câmpul PROTOCOL este similar ca semnificatie cu câmpul type din headerul asociat pentru un frame reţea. Valoarea câmpului specifică ce protocol de nivel scăzut este utilizat pentru a genera mesajul ce transportă datele. Acesta specifică în general formatul zonei de date, câmpul este de tip numeric şi este gestionat de autoritatea Internet pentru a garanta compatibilitatea cu întregul Internet.
Baze de date Curs 12 17
• HEADER CHECKSUM este o modalitate de a asigura verificarea integritaţii datelor din header. El se obţine tratând headerul ca o secvenţă de întregi pe 16 biţi reprezentaţi în complement faţă de 1. Suma de control se aplică doar la headerul IP nu şi la date. • Source IP address şi Destination IP address conţine adresele IP ale transmiţătorului şi receptorului. Aceste câmpuri nu suferă modificări la rutere întrucât se păstrează sursa şi destinaţia specificată iniţial pentru fiecare pachet. • Câmpul DATA este de dimensiune nedefinită, dependentă de marimea volumului de date pe pachet şi de tipul de protocol hardware utilizat. OBS: O datagrama poate avea in plus o serie de optiuni.