Retele calculatoare
Arhitectura TCP/IP si protocoalele TCP/IP - sisteme de operare in reteaProtocoalele TCP/IP - TCP/IP reprezinta un grup de protocoale a carui denumire este data de principalele sale standarde, TCP (Transmission Control Protocol) si IP (Internet Protocol). Protocoalele TCP/IP stau la baza unei mari retele, numite Internet, care a inceput cu mai bine de 25 de ani in urma. Software-ul de retea, ingloband o mare parte din protocoalele TCP/IP, este disponibil pe o gama larga de calculatoare care folosesc diferite sisteme de operare. Dintre serviciile de aplicatii oferite utilizatorilor de reteaua Internet cele mai frecvent folosite sunt posta electronica (e-mail), transferul de fisiere, WWW si conexiunea la un calculator distant (remote login). Arhitectura TCP/IP Arhitectura stratificata a unei retele TCP/IP este prezentata, prin comparatie cu modelul OSI: Aplicatie 6 Prezentare Aplicatie Servicii si protocoale de aplicatii 5 Sesiune 4 Transport Transport TCP UDP 3 Retea Internet IP ICMP ARP RARP Pr.rut. 2 Legatura de date Interfata retea Driver retea Fizic Hardware Placa interfata retea (NIC) Model OSI Arhitectura Protocoale si componente TCP/IP stratificata TCP/IP TCP - Transmission Control Protocol UDP - User Datagram Protocol IP - Internet Protocol ICMP - Internet Control Message Protocol ARP - Address Resolution Protocol RARP - Reverse Address Resolution Protocol Un concept fundamental al unei retele globale TCP/IP, rezultate din interconectarea unor retele cu tehnologii diferite, este acela ca, din punct de vedere al retelei globale, orice sistem de comunicatii capabil sa transfere pachetele conteaza ca o singura retea, indiferent de caracteristicile sale. Protocoalele TCP/IP trateaza toate retelele la fel. In esenta, protocoalele TCP/IP definesc o retea abstracta care nu tine seama de detaliile retelelor fizice componente. Interconectarea retelelor fizice se realizeaza prin intermediul ruterilor. Stabilirea rutelor se face luand ca baza reteaua de destinatie. In felul acesta volumul informatiei necesare pentru rutare depinde de numarul retelelor interconectate si nu de numarul sistemelor din retea. asigura un serviciu de transmitere a datelor fara conexiune. Protocolul ICMP (Internet Control Message Protocol) foloseste serviciile IP (mesajul ICMP ocupa campul de date al IP), asigurand un mecanism prin care ruterii si sistemele din retea comunica informatii privind situatiile de functionare anormala. Protocolul ARP (Address Resolution Protocol) permite unui sistem sa determine adresa fizica (MAC) a unui alt sistem din aceeasi retea fizica cunoscand adresa IP (de nivel retea) a acestuia. Protocolul RARP (Reverse Address Resolution Protocol) permite unui sistem sa-si obtina, atunci cand n-o cunoaste, adresa IP proprie. Protocolul SMTP este folosit pentru transferul mesajelor de posta electronica. Utilizatorul poate transmite mesaje sau fisiere altui utilizator conectat la Internet sau la un alt tip de retea, avand insa o conexiune cu Internet. Protocolul FTP permite utilizatorilor transferul de fisiere, in ambele sensuri, intre un sistem local si unul distant. Fisierele pot contine fie texte (caractere ASCII sau EBCDIC), fie date pur binare. Protocolul SNMP este folosit pentru administrarea de la distanta a echipamentelor de interconectare a retelelor. Nivelul interfata retea (legatura de date)
Figura 5.2 arata structura generala a unui cadru, evidentiind campul unitatii de date primite de la nivelul internet (N - PDU) si informatiile de protocol ce trebuie adaugate de subnivelele LLC si MAC. Nivelul internet (retea) Adresele de retea IP - In versiunea 4 a grupului de protocoale TCP/IP adresele de nivel retea sunt compuse din patru octeti, lungime considerata insuficienta pentru a permite subadresari particulare. Adresa se compune dintr-un prefix, specificand clasa retelei si, totodata, delimitarea campurilor identificatorilor de retea si de sistem, urmat de identificatorul retelei si de identificatorul sistemului in reteaua respectiva. Sunt definite patru clase de adrese, specificate de primii biti ai primului octet.
Subretele IP O retea poate fi divizata in subretele (dupa localizarea sistemelor unei companii); pentru identificarea subretelelor se utilizeaza un numar de biti, dependent de numarul subretelelor, din primele pozitii ale identificatorului de susbsistem. Protocolul IP El ruteaza pachetele prin retelele interconectate, indeplinind si functiuni de segmentare a pachetelor si de reasamblare a lor. Celelalte protocoale care opereaza la aelasi nivel internet contribuie la realizarea functiunii de rutare indeplinite de IP. In operatia de rutare protocolul IP foloseste adresa de retea (adresa IP) continuta in pachetul IP. Fiecare pachet este o entitate independenta, fara legatura cu vreun alt pachet. Protocolul IP nu garanteaza livrarea pachetelor catre destinatar, motiv pentru care se spune ca serviciul furnizat de acest protocol este nefiabil, fara a insemna insa o calitate scazuta a acestuia. Daca este necesar, in functie de aplicatie, nivelul imediat superior, prin protocolul TCP, asigura fiabilitatea corespunzatoare. Semnificatia campurilor unui pachet: Versiune - Identifica versiunea protocolului IP care genereaza pachetul. In prezent este utilizata versiunea 4 a protocolului. - Lungimea antetului - Indica lungimea antetului masurata in cuvinte de 32 biti. Lungimea minima a antetului corespunde cazului cand acesta nu contine campul optiuni si este 5 (20 octeti Protocolul ICMP Asa cum s-a mentionat, protocolul IP furnizeaza un serviciu fara conexiune. Fiecare pachet trece din ruter in ruter pentru a ajunge de la sistemul sursa la sistemul destinatie. Protocolul IP nu garanteaza livrarea fiecarui pachet la destinatie, dar utilizeaza un mecanism (protocol) care permite oricarui ruter sa semnaleze sistemului sursa o situatie anormala aparuta in rutarea unui pachet. Acelasi mecanism poate fi folosit de un sistem pentru a testa daca un alt sistem este accesibil, adica daca exista o ruta in functionare normala pana la acel sistem si daca sistemul este capabil sa receptioneze pachete. Acest mecanism este reprezentat de protocolul ICMP (Internet Control Message Protocol). Protocolul ICMP permite ruterilor sa transmita altor ruteri sau sistemelor mesaje de eroare sau de control. Fiecare mesaj ICMP este inclus in campul de date al unui pachet IP care, la randul sau, este inclus in campul de date al unui cadru. Pachetele care poarta mesaje ICMP sunt rutate la fel ca si cele care transporta datele utilizatorului doar ca, daca apar erori in transmiterea acestor pachete, ele nu genereaza alte mesaje ICMP. Exista mai multe tipuri de mesaje ICMP, fiecare avand formatul sau propriu. Indiferent insa de tipul mesajului, fiecare format incepe cu aceleasi trei campuri: - tipul mesajului (8 biti); - cod (8 biti), furnizand informatii suplimentare despre tipul mesajului; - secventa de verificare (16 biti), folosind acelasi algoritm ca si IP dar verificand numai mesajul ICMP. Protocolul ARP Adresa fizica corespunzatoare adresei IP a unui sistem din aceeasi retea fizica se obtine utilizand protocolul ARP (Address Resolution Protocol). Daca un sistem A trebuie sa afle adresa fizica a unui alt sistem B aflat in aceeasi retea fizica, a carui adresa IP o cunoaste, el va transmite un pachet ARP cerere, in care se specifica adresa IP a sistemului B, pachet inclus intr-un cadru de difuziune. Acest cadru este receptionat de toate celelalte sisteme din reteaua fizica respectiva, iar sistemul care-si recunoaste adresa IP (sistemul B in cazul de fata) va transmite un pachet ARP raspuns, care va contine adresele sale fizica si IP, pachet inclus intr-un cadru adresat sistemului A. Protocolul RARP De obicei adresa IP a unui sistem este memorata in memoria sa secundara, unde sistemul de operare o gaseste atunci cand utilizeaza protocoalele TCP/IP. Sistemele care nu dispun de memorie secundara isi pot afla propria adresa IP, prin intermediul protocolului RARP (Reverse Address Resolution Protocol), de la un server RARP. Un astfel de sistem va emite un mesaj RARP cerere, inclus intr-un cadru de difuzie. Toate sistemele din retea vor primi acest cadru cerere, dar numai serverele RARP vor raspunde, transmitand mesajul RARP raspuns, continand adresa IP solicitata, catre sistemul solicitant. Nivelul transport Protocoalele nivelului transport furnizeaza proceselor de aplicatii servicii de transfer de date cap la cap. Sunt definite doua protocoale la acest nivel: UDP (User Datagram Protocol) si TCP (Transmission Control Protocol). Protocolul UDP Este un protocol simplu care, folosind IP pentru transportul pachetelor, permite identificarea nu numai a sistemelor sursa si destinatie, prin adresele lor de retea, ci si a programelor de aplicatie intre care se realizeaza transferul de informatie. Pentru a se face distinctie intre multiplele programe ce se executa pe un acelasi sistem, UDP utilizeaza un set de puncte abstracte asociate acestora, numite porturi de protocol, fiecare port fiind identificat printr-un numar. Serviciul furnizat de UDP este un serviciu fara conexiune, nefiabil, ceea ce inseamna ca pot avea loc pierderi de mesaje, duplicari, livrarea mesajelor la destinatie se poate face intr-o ordine diferita de cea in care au fost emise. Protocolul TCP Protocolul TCP, operand la nivelul transport, asigura un serviciu cu conexiune fiabil, cu livrarea mesajelor la receptie in ordinea in care au fost emise. Inainte de a incepe transferul datelor, intre cele doua procese de utilizator (programe de aplicatie) se stabileste, prin intermediul retelei, o conexiune logica numita circuit virtual. In acest scop programele de aplicatie transmitator si receptor interactioneaza cu sistemele de operare in retea din sistemele respective. Un program aplicatie realizeaza un apel, care trebuie sa fie acceptat de catre celalalt program aplicatie. Cele doua sisteme de operare, prin modulele destinate protocolului de comunicatie, isi transmit mesaje prin retea pentru a verifica daca transferul este autorizat (acceptat) si daca ambele parti sunt gata pentru acest transfer. Conexiunea fiind stabilita, cele doua programe de aplicatie sunt informate ca transferul datelor poate sa inceapa. Programul de aplicatie transmitator transfera datele spre nivelul transport sub forma unui flux de biti, impartit in octeti. Acelasi flux, in aceeasi ordine a octetilor, este primit de programul de aplicatie in sistemul de destinatie. Nivelul aplicatie Dintre protocoalele de nivel aplicatie incluse in grupul TCP/IP pot fi mentionate: - Remote login (Telnet, Rlogin) - procedura prin care un utilizator se identifica intr-un sistem distant, beneficiind apoi de resursele acestuia; - FTP (File Transfer Protocol - transfer de fisiere) - procedura ce permite unui utilizator sa transfere datele in ambele sensuri intre un sistem local si unul distant; - SMTP (Simple Mail Transfer Protocol - posta electronica) - procedura de tranfer al mesajelor, permitand unui utilizator sa transmita mesaje si fisiere catre un alt utilizator conectat la o retea de tip TCP/IP sau de alt tip, avand insa o conexiune cu reteaua TCP/IP; - DNS (Domain Name System - sistemul numelor pentru domenii) – serviciu director care mentine corespondenta si face translatarea intre numele date de utilizatori sistemelor lor conectate la retea si adresele de retea (IP) ale acestora; - SNMP (Simple Network Management Protocol) - serviciu care permite realizarea unor functiuni de administrare a retelei; - PING (Packet InterNet Groper) - serviciu care poate fi utilzat pentru a testa conectivitatea intre doua sisteme; - WWW (World Wide Web) - serviciu care permite accesul la diferite baze de date. Serviciul DNS (Domain Name System) Fiecare sistem conectat la reteaua Internet se identifica prin adresa sa de retea, formata din 32 biti. Desi acest format de adresa este foarte convenabil pentru rutarea pachetelor, utilizatorii prefera sa atribuie sistemelor nume care pot fi usor retinute. Numele unui sistem, constand dintr-o secventa de caractere dintr-un alfabet finit, reprezinta de asemenea un identificator. Aceste nume sunt utile numai daca exista un sistem eficient care sa tina corespondenta intre ele si adresele de retea. Numele pentru domenii constau dintr-o secventa de subnume despartite prin puncte, secventa ce corespunde structurii organizatiilor care au responsabilitatea atribuirii acestor subnume. Protocolul DNS include facilitati care au rolul sa creasca eficienta operatiilor de translatare a numelui. Transferul de fisiere (FTP) Protocolul pentru transferul de fisiere (FTP - File Transfer Protocol) permite unul dintre cele mai utilizate servicii oferite de aplicatiile TCP/IP. Prin acest protocol se poate face un transfer de fisiere de la un sistem la altul, indiferent de deosebirile ce exista intre ele privind modul in care sunt memorate, accesate sau protejate fisierele. Data fiind aceasta diversitate privind fisierele, o cerere de transfer de fisier trebuie insotita de specificarea urmatoarelor atribute: tipul datelor, tipul fisierului si modul de transmisiune. Tipurile de fisiere definite de FTP sunt: (1) structura fisier, intregul fisier constand dintr-un sir de octeti terminat printr-un marker de sfarsit al fisierului; (2) secventa de inregistrari cu marcarea, in cursul transferarii fisierului, a sfarsitului fiecarei inregistrari; (3) structura de pagina, utilizata la inceputurile retelei ARPANET, foarte putin folosita in prezent. Modurile de transmisiune posibile sunt: flux continuu, bloc sau comprimat. In modul flux continuu, folosit pentru transferul oricarui tip de fisier, datele sunt transmise fara a fi prelucrate (fara a crea blocuri speciale si fara compresie). Fisierul se transmite asa cum este. In modul bloc un fisier este transmis sub forma unor blocuri individuale. Fiecarui bloc i se ataseaza un prefix prin care se specifica lungimea si se incheie cu un marker de sfarsit. Atat sursa cat si destinatia tin evidenta blocurilor transferate si in caz de intrerupere transferul este reluat de la ultimul bloc receptionat corect. In modul comprimat secventele continue cu acelasi caracter (octet) sunt inlocuite, inainte de transmisiune, printr-un singur caracter, cel din secventa si numarul care indica lungimea secventei. Procesul FTP de la receptie va reconstitui secventa originala. Functionarea protocolului FTP - Procesul FTP din sistemul care face cererea pentru transferul de fisier se numeste client FTP iar procesul FTP din sistemul care primeste cererea se numeste server FTP. Utilizatorul solicita serviciul FTP specificand clientului FTP numele sistemului ce urmeaza a primi cererea. Clientul FTP stabileste o conexiune TCP cu serverul FTP folosind pentru destinatie numarul portului de protocol stabilit prin standard pentru servere FTP (21). Aceasta conexiune, numita conexiune de control, este folosita pentru transmiterea informatiei de control, reprezentata de comenzi si raspunsuri. Clientul FTP transmite comenzi catre serverul FTP specificand contul si parola utilizatorului. Serverul FTP permite sistemului pe care este instalat sa realizeze autentificarile necesare privind dreptul de acces al utilizatorului si trimite spre clientul FTP rezultatul acestor verificari. Daca utilizatorul este acceptat clientul FTP va trimite 28 comenzi indicand numele fisierului, tipul datelor, tipul fisierului si modul de transmisiune ce urmeaza a fi utilizate pentru transfer, precizand daca va transmite un fisier catre server sau va primi de la acesta o copie a unui fisier. Serverul raspunde daca optiunile de transfer sunt acceptate sau nu.
|