Documente online.
Username / Parola inexistente
  Zona de administrare documente. Fisierele tale  
Am uitat parola x Creaza cont nou
  Home Exploreaza
Upload






























PREZENTAREA PROTOCOALELOR TCP/IP

Informatica


Prezentarea protocoalelor TCP/IP

Familia de protocoale TCP/IP (Transmission Control Protocol/Internet protocol) este folosita in Internet si corespunde nivelurilor 3 (IP), 4 (TCP) din modelul OSI/ISO. De asemenea, anumite protocoale cum ar fi SMTP, FTP, HTTP, sint considerate ca facind parte din familie si ocupa niveluri superioare.



1. Arhitectura TCP/IP

Arhitectura stratificata a unei retele TCP/IP este prezentata, prin comparatie cu modelul OSI, în figura 1.


Fig. 1. Arhitectura TCP/IP

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. În 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 luând ca baza reteaua de destinatie. În felul acesta volumul informatiei necesare pentru rutare depinde de numarul retelelor interconectate si nu de numarul sistemelor din retea.

Nivelul interfata retea accepta mesajele de la nivelul internet si le pregateste pentru transmiterea pe un anumit tip de legatura de date (retea fizica). Pe de alta parte nivelul interfata retea analizeaza fiecare cadru receptionat de placa NIC si determina, dupa bitii de control ai cadrului, care este protocolul de nivel internet caruia trebuie sa i se transmita datele din cadrul receptionat.

Nivelul internet realizeaza functiunile de rutare si de releu pentru transmiterea pachetelor de la sistemul sursa la sistemul destinatie. La acest nivel se utilizeaza mai multe protocoale, dintre care se remarca potocolul Internet (Internet Protocol - IP) care asigura un serviciu de transmitere a datelor fara conexiune. IP asigura transmiterea de blocuri de date intre calculatoare identificate prin adresa de lungime fixa. Acest protocol va fi analizat pe larg in sectiunea paragraful 4.

Protocolul ICMP (Internet Control Message Protocol) este protocolul pentru transferul mesajelor de control intr-o retea. Acesta foloseste serviciile IP (mesajul ICMP ocupa câmpul de date al IP) asigurând un mecanism prin care ruterii si sistemele din retea comunica informatii privind situatiile de functionare anormala. Asigura un numar de functii de diagnosticare si poate transmite pachete de anuntare a diferitelor evenimente cum ar fi modificarea rutarii in retea, echilibrarea vitezei de transmisie intre doua hosturi de capacitati diferite, etc.

Protocolul ARP (Address Resolution Protocol) este folosit doar pentru retele Ethernet si permite unui sistem sa determine adresa fizica (MAC) a unui alt sistem din aceeasi retea fizica cunoscând adresa IP (de nivel retea) a acestuia.

Protocolul RARP (Reverse Address Resolution Protocol) permite unui sistem sa-si obtina, atunci când n-o cunoaste, adresa IP proprie.

Nivelul transport asigura comunicatia între programele de aplicatie. O astfel de comunicatie este numita adesea comunicatie cap - la - cap. Nivelul transport poate regla fluxul datelor, poate asigura livrarea datelor fara erori si în secventa. La nivelul transport fluxul datelor ce trebuie transmise se împarte în pachete si fiecare pachet est 23223q161x e trecut, împreuna cu adresa de destinatie, catre nivelul internet pentru transmisiune. Când mai multe programe de aplicatie beneficiaza, în acelasi sistem, de serviciile retelei, nivelul transport trebuie sa accepte datele de la acestea si sa le treaca spre nivelul inferior, adaugând fiecarui mesaj informatia necesara pentru identificarea programelor de aplicatie.

Sunt folosite doua protocoale de transport: UDP (User Datagram Protocol) si TCP (Transmission Control Protocol). Protocolul UDP asigura un serviciu fara conexiune folosind IP pentru transportul mesajelor. Acest protocol, mai simplu decât TCP, nu garanteaza livrarea mesajului la receptie fara erori, fara pierderi, fara duplicate, în ordinea în care au fost emise. Programele de aplicatie care utilizeaza UDP ar trebui sa-si asume responsabilitatea deplina pentru solutionarea acestor aspecte ale transmisiunii.

Protocolul TCP asigura un serviciu cu conexiune, asigurind un transfer fiabil, fara erori, in secventa si cu eliminarea pachetelor duplicate.

La elaborarea unui program de aplicatie se alege protocolul de transport în functie de necesitatile impuse de aplicatie.

Nivelul aplicatie asigura utilizatorilor retelei, prin intermediul programelor de aplicatie, o gama larga de servicii. Dintre acestea cele mai frecvent folosite sunt SMTP (Simple Mail Transfer Protocol), FTP (File Transfer Protocol), Telnet Remote Login, SNMP (Simple Network Management Protocol), DNS (Domain Name System - sistemul numelor pentru domenii), PING (Packet InterNet Groper), HTTP (HyperText Transfer Protocol).

Protocolul SMTP este folosit pentru transferul mesajelor de posta electronica. Este folosit pentru a trimite, receptiona si ruta mesajele (scrisorile) in cadrul retelelor oricit de mari, ajungind sa fie protocolul (de facto) pentru e-mail-ul din Internet.

Protocolul FTP permite utilizatorilor transferul de fisiere, în ambele sensuri, între un sistem local si unul distant. Fisierele pot contine fie texte (caractere ASCII sau EBCDIC), fie date pur binare.

Protocolul Telnet permite unui utilizator sa se identifice într-un sistem distant prin intermediul sistemului local. Acest protocol stabileste o relatie client - server între sistemul local (client) si aplicatia Telnet distanta (server), permitând deci functionarea unui sistem local în regim de terminal virtual conectat la un sistem distant.

Protocolul SSH (Secure SHell) ofera servicii similare cu Telnet, si servicii in plus. Chiar daca in esenta el este o "dezvoltare" a altui protocol (RSH - Remote Shell), practic insa este folosit mai ales ca inlocuitor al lui Telnet pentru ca ofera o autentificare mult imbunatatita si, in plus, criptarea datelor.

Protocolul SNMP este folosit pentru administrarea de la distanta a echipamentelor de interconectare a retelelor.

Protocolul DNS asigura serviciul director care mentine corespondenta si face translatarea între numele date de utilizatori sistemelor lor conectate la retea si adresele de retea (IP) ale acestora.

Protocolul SNMP asigura un serviciu care permite realizarea unor functiuni de administrare a retelei.

Protocolul HTTP asigura un serviciu de transfer al informatiei în reteaua globala (WWW - World Wide Web) reprezentata într-un limbaj specific, HTML (HyperText Markup Language). Aplicatia deservita de acest protocol este de tip client - server, iar paginile serverelor de Web sunt identificate dupa o schema speciala de adresare numita URL (Uniform Resource Locator).

Protocolul PING asigura serviciul care poate fi utilzat pentru a testa conectivitatea între doua sisteme.

2. Adresarea IP (versiunea 4 a protocolului IP = IPv4)

Cei 32 de biti ai adresei IP se scriu sub forma a 4 octeti, fiecare dintre octeti putând fi scris sub forma unui numar zecimal luând valori intre 0 si 255, in forma p.q.r.s. Un exemplu de adresa scrisa în forma zecimala este 141.85.254.53. Aceasta notatie se numeste dotted quad. Formatul general al adresei IPv4 de 32 de biti este reprezentat în figura 2.


Fig. 2. Formatul general al adresei IPv4.

În functie de domeniul în care se afla primul octet (p), mai exact primii 4 biti, exista mai multe clase de adrese, notate A, B, C, D, etc. Acesti biti specifica delimitarea câmpurilor identificatorilor de retea si de sistem (host). Identificatorul de retea specifica reteaua din care face parte sistemul (sursa sau destinatie), iar identificatorul de sistem specifica un sistem particular din aceasta retea. Clasele se diferentiaza prin dimensiunea partilor din adresa care specifica reteaua si hostul si sunt prezentate în tabelul 1.

Clasa

Primul octet

Tip adresa

(primii biti)

Retea

Host

Nr. max. de hosturi

Masca implicita

A

p

q.r.s

B

p.q

r.s

C

p.q.r

s

D

p.q.r.s

E

p.q.r.s

Tabelul 1. Clasele de adrese IPv4.

La adresele de clasa A primul octet specifica reteaua, si restul de trei octeti specifica hostul. De aici rezulta ca pot exista doar 126 de retele (nu se utilizeaza retelele cu primul octet 0 si 127) cu adresa de clasa A, iar aceste retele pot avea fiecare peste 16 milioane de hosturi (24 de biti pentru identificatorul de sistem), deci adrese de clasa A nu se aloca decit pentru retele foarte mari.

Adresele din clasa B au primii doi biti 10 si dintre ceilalti, 14 biti sunt ai identificatorului de retea, iar 16 biti ai identificatorului de sistem. În concluzie, pot exista pâna la 214 - 2 retele, fiecare cu pâna la 216 - 2 sisteme.

Adresele din clasa C au primii trei biti 110 si dintre ceilalti, 21 biti sunt ai identificatorului de retea, iar 8 biti ai identificatorului de sistem. În concluzie, pot exista pâna la 221 - 2 retele, fiecare cu pâna la 28 - 2 = 254 sisteme.

Adresele din clasa D au primii patru biti 1110 si sunt utilizate pentru difuzarea mesajelor de la un sistem catre un grup de sisteme din reteaua globala. Din acest motiv, adresele din clasa D se mai numesc si adrese de grup (multicast) si sunt folosite de unele protocoale de rutare si de firma pentru comunicarea dintre echipamente ale aceluiasi producator (vezi ruterele si switch-urile CISCO).

Se elimina întotdeauna, atât la identificatorul de retea cât si la identificatorul de sistem, secventa cu toti bitii 1 si cea cu toti bitii 0 (de aceea se scade 2 din numarul maxim de valori zecimale ale secventei de n biti, 2n). Aceste doua secvente au o semnificatie aparte si nu sunt folosite pentru a defini adrese de sisteme, ci dupa cum se va arata ulterior, ele desemneaza masca, respectiv adresa întregii retele din clasa respectiva.

Masca unei retele este acea secventa de 32 biti (de aceeasi lungime cu adresele) care are biti cu valoarea 1 pe toate pozitiile corespunzatoare identificatorului de retea si biti cu valoarea 0 pe toate pozitiile corespunzatoare identificatorului de sistem. Mastile implicite corespunzatoare claselor de adrese A, B si C sunt prezentate în tabelul 1. Mastile sunt utilizate în fiecare ruter pentru luarea deciziei asupra interfetei de retea a ruterului pe care se va redirecta datagrama IP ce contine adresa destinatie. Masca permite selectarea identificatorului de retea dintr-o anumita adresa. Identificarea retelei pentru rutarea unei datagramei se va face pe baza operatiei binare sI (AND) la nivelul bitilor de pe o anumita pozitie a adresei IP citita din datagrama si pozitia corespunzatoare din masca. Un exemplu de utilizare a mastii pentru o adresa de clasa B este prezentat mai jos.

Adresele de difuzare (broadcast) pentru o anumita retea sunt acele adrese care au biti cu valoarea 1 pe toate pozitiile corespunzatoare identificatorului de sistem, iar identificatorul de retea specifica domeniul în care se va face difuzarea. Adresa de broadcast care are toti bitii 1 (deci si cei ai identificatorului de retea) este adresa globala de broadcast în Internet, 255.255.255.255. Un exemplu de adresa de difuzare pentru o retea de clasa B este prezentat în continuare.

Exemplu de utilizare a mastii si adresele de difuzare. Se considera adresa de clasa B, 141.85.58.3 care are masca de retea implicita 255.255.0.0. Atunci operatia de mascare a adresei este urmatoarea:

10001101 . 01010101 . 00111010 . 00000011 = 141.85.58.3 (adresa sistemului)

AND 11111111 . 11111111 . 00000000 . 00000000 = 255.255.0.0 (masca retelei de clasa B

10001101 . 01010101 . 00000000 . 00000000 = 141.85.0.0 (adresa retelei)

10001101 . 01010101 . 11111111 . 11111111 = 141.85.255.255 (adresa de difuzare în

reteaua de clasa B

11111111 . 11111111 . 11111111 . 11111111 = 255.255.255.255 (adresa de difuzare

globala



3. Crearea de subretele (subneting)

Datorita rigiditatii acestei divizari a câmpului de adrese în câteva clase s-a introdus o noua forma de divizare a retelelor din fiecare clasa în subretele. Astfel, o subretea a unei retele se construieste prin împrumutarea unei secvente de biti din identificatorul de sistem, obtinându-se astfel un identificator suplimentar al subretelei. Deci, un sistem face parte dintr-o subretea, care la rândul ei face parte dintr-o retea (fiecare dintre cele trei având identificatorul sau). Formatul adresei de retea divizata în subretele este reprezentat în figura 3.


Fig. 3. Divizarea în subretele.

Deoarece o subretea se obtine prin împrumutarea unui numar de biti din câmpul identificatorului de sistem, atunci pretul platit pentru crearea subretelei este reducerea identificatorului de sistem (deci si a numarului maxim de sisteme din fiecare subretea). Spre exemplu, daca se împrumuta a biti pentru subretele atunci numarul de subretele create este de 2a - 2 (se scad cele doua: adresa retelei si masca), iar numarul de sisteme din fiecare subretea este de 2Id. sistem - a - 2. Masca subretelei si adresele de difuzare în subretele au acelasi rol ca si în cazul retelelor clasificate. În continuare se prezinta un exemplu de divizare a unei retea de clasa B în subretele (prin împrumutarea a 4 biti din câmpul de identificare a sistemului), cu adresele de difuzare si mastile subretelelor corespunzatoare.

Exemplu de divizare în subretele a unei retele de clasa B. Se considera reteaua de clasa B, 141.85.0.0 care are masca de retea implicita 255.255.0.0. Atunci operatia de divizare a retelei în subretele, prin împrumutarea a 4 biti din câmpul de identificare a sistemului, este urmatoarea:


10001101 . 01010101 . 00000000 . 00000000 = 141.85.0.0 (adresa retelei de clasa B)

11111111 . 11111111 . 00000000 . 00000000 = 255.255.0.0 (masca retelei de clasa B

10001101 . 01010101 . 10100000 . 00000000 = 141.85.160.0 (adresa unei subretele)

11111111 . 11111111 . 11110000 . 00000000 = 255.255.240.0 (masca subretelelor)

10001101 . 01010101 . 10101111 . 11111111 = 141.85.175.255 (adresa de difuzare

în subretea

10001101 . 01010101 . 10100101 . 01011010 = 141.85.165.90 (adresa unui sistem

din subretea

În concluzie, prin divizarea de mai sus s-au obtinut 24 - 2 = 14 subretele, fiecare având un numar maxim de 212 - 2 = 4094 sisteme.

4. Nivelul internet (retea)

Protocoalele care opereaza la nivelul internet (retea), asigurând servicii protocoalelor operând la nivelul transport, realizeaza rutarea si comutarea pachetelor (datagrams) prin retelele de comunicatii din care se compune reteaua globala Internet. Principalul protocol de la acest nivel este protocolul IP (Internet Protocol). El ruteaza pachetele prin retelele interconectate îndeplinind 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 îndeplinite de IP. În operatia de rutare protocolul IP foloseste adresa de retea (adresa IP) continuta în 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 însemna însa o calitate scazuta a acestuia. Nivelul imediat superior, prin protocolul TCP, asigura fiabilitatea corespunzatoare.

Fragmentarea pachetelor si apoi reasamblarea lor la destinatie sunt functiuni necesare pentru a respecta dimensiunea cadrelor impusa de protocolul utilizat la nivelul legatura de date, specific fiecarui tip de retea.

Formatul pachetelor IP este prezentat în figura 4.


Fig. 4. Formatul pachetului IP

Structura pachetelor se bazeaza pe cuvinte de 32 biti, lungime corespunzatoare procesoarelor ARPANET initiale. În continuare se va prezenta semnificatia câmpurilor unui pachet.

- Versiune - Identifica versiunea protocolului IP care genereaza pachetul. În prezent este utilizata versiunea 4 a protocolului (IPv4) si s-au definit standarde pentru versiunea 6 (Ipv6).

- Lungimea antetului - Indica lungimea antetului masurata în cuvinte de 32 biti. Lungimea minima a antetului corespunde cazului când acesta nu contine câmpul optiuni si este 5 (20 octeti).

- Tipul serviciului - Arata calitatea serviciului cerut pentru transportul pachetului în retea. Calitatea serviciului este exprimata prin intermediul a patru parametri: prioritate (precedence), întârziere, eficienta în transmisiune (referitor la debit - throughput) si fiabilitate. Acest câmp poate influenta ruterii în alegerea unei cai spre destinatie dar, asa cum s-a mai mentionat, protocolul IP nu garanteaza calitatea ceruta pentru transportul datelor.

- Lungimea totala - Acest câmp specifica lungimea totala a pachetului, masurata în octeti, incluzând atât antetul cât si datele.

- Identificare, Fanioane si Decalajul fragmentului - Controleaza fragmentarea si reasamblarea pachetelor. Desigur, transmisiunea pachetelor ar fi eficienta daca fiecare pachet generat de o sursa ar putea fi inclus în întregime într-un cadru pentru a traversa reteaua spre destinatie. Dar fiecare tip de retea impune o anumita limita superioara pentru lungimea cadrului. Spre exemplu, reteaua Ethernet limiteaza cadrul la 1500 octeti de date, unele retele publice de date limiteaza cadrul la 128 octeti etc. Limitarea dimensiunii pachetelor la cea mai mica limita superioara admisa în retea ar face transmisiunea ineficienta. Din aceasta cauza protocolul IP lasa sursei latitudinea sa aleaga dimensiunea pachetului corespunzator constrângerilor impuse de legatura de date la care ea este conectata, iar o divizare a fiecarui pachet în fragmente se realizeaza în ruter atunci când urmeaza sa traverseze o retea care admite dimensiuni mai mici. Reasamblarea pachetelor se face la destinatie. Fiecare fragment are acelasi format ca si un pachet complet.

Câmpul "Identificare" contine un numar care identifica pachetul. Când un ruter fragmenteaza un pachet câmpul Identificare trebuie copiat în antetul fiecarui fragment. În felul acesta la destinatie se poate sti, tinând seama si de adresa sursei, carui pachet apartine fiecare fragment.

Câmpul "Decalajul fragmentului" (Fragment offset) indica, pentru fiecare fragment, numarul grupurilor de cîte 8 octeti transmise deja din pachetul caruia îi apartine fragmentul respectiv.

Prin cei trei biti din câmpul "Fanioane" (Flags) se poate semnala interdictia de fragmentare a pachetului (când sursa impune aceasta restrictie) si daca, în cazul unui fragment, este sau nu ultimul din pachet. Câmpul Lungimea totala indica, în cazul unui fragment, lungimea fragmentului si nu a pachetului din care face parte.

- Durata mentinerii în viata (Time to live) - Arata cât timp, în secunde, i se permite unui pachet sa ramâna în retea. În acest câmp sursa care genereaza pachetul indica un timp maxim de supravietuire a pachetului. Echipamentele care prelucreaza pachetul (ruterii) la trecerea sa prin retea spre destinatie decrementeaza, fiecare, marimea înscrisa în acest câmp cu o unitate. În plus, în cazurile în care ruterii sunt suprasolicitati si prelucreaza cu întârziere pachetele, se face o decrementare suplimentara corespunzatoare timpului de asteptare. Când marimea înscrisa în acest câmp ajunge la zero ruterul elimina pachetul si transmite catre sursa un mesaj de eroare. Limitarea timpului de supravietuire în retea evita circulatia la nesfârsit a pachetelor.

- Protocol - Identifica protocolul de nivel superior (transport: TCP sau UDP) asociat pachetului. Pentru protocolul TCP identificatorul este 6 iar pentru UDP este 17.

- Secventa de verificare a antetului - Permite verificarea corectitudinii (integritatii) valorilor din antet. Acest câmp este determinat prin prelucrarea antetului, considerat ca o succesiune de întregi, fiecare alcatuit din 16 biti. Fiecare ruter calculeaza secventa de verificare si o compara cu cea din antet.

- Câmpurile de adrese - Contin adresele de retea (IP) de câte 32 biti fiecare, a sistemului sursa si a sistemului destinatie. Aceste câmpuri nu sunt modificate la trecerea pachetelor prin ruteri.

- Optiuni - Are o lungime variabila (maximum 40 octeti) si este rezervat pentru a introduce unele functiuni de control privind rutarea, securitatea retelei si altele. În acest câmp pot fi introduse mai multe optiuni. Fiecare optiune este specificata printr-un cod de opt biti ce poate fi urmat de un octet care indica lungimea si de mai multi octeti de date pentru respectiva optiune. Pentru ca acest câmp sa aiba dimensiunea egala cu un multiplu de 4 octeti se folosesc biti de completare.

- Câmpul datelor - Are o lungime variabila, dar un numar întreg de octeti. Limitele pentru dimensiunea unui pachet, inclusiv antetul, sunt 576 octeti minimum si 65.535 octeti maximum.

Asa cum s-a aratat în paragraful 2, adresele Internet (IP), cu o lungime de patru octeti, constau din doua parti: o parte care identifica reteaua la care este conectat sistemul si o alta care identifica conexiunea prin care sistemul se leaga la retea. Un sistem de extremitate sau un ruter, care are mai multe conexiuni fizice la o retea sau la mai multe retele, are câte o adresa distincta pentru fiecare dintre conexiunile sale. Adresele Internet pot fi folosite si pentru referirea la retele, în mod conventional adresa unei retele având toti bitii partii rezervate conexiunii cu valoarea 0.

Transmiterea unui pachet între doua sisteme aflate în aceeasi retea fizica (legatura de date LAN) nu implica utilizarea ruterilor. Sistemul sursa include pachetul într-un cadru si transmite cadrul la adresa fizica, de subnivel MAC, ce corespunde adresei de retea a sistemului destinatar. Faptul ca sistemul destinatar se afla conectat la aceeasi retea fizica este constatat de catre sistemul sursa prin extragerea partii de retea a adresei IP de destinatie si compararea cu partea de retea a propriei (sau propriilor) adrese IP. Adresa fizica corespunzatoare adresei IP a unui sistem din aceeasi retea fizica se obtine utilizând protocolul ARP (Address Resolution Protocol).

Rutarea pachetelor în cazul în care cele doua sisteme, sursa si destinatie, nu se afla conectate la aceeasi legatura de date se realizeaza prin intermediul ruterilor care, în acest scop, utilizeaza tabele de rutare. Tabelul de rutare al unui ruter contine perechi (N, R), în care N este adresa IP a retelei de destinatie iar R este adresa IP a primului ruter pe calea spre reteaua N. În figura 5 se prezinta ca exemplu patru retele conectate prin trei ruteri si tabelul de rutare (varianta completa a tabelului, dupa initializare) al ruterului R2.


Fig. 5. Retea Internet formata din patru retele si trei ruteri

Fiecare sistem are de asemenea un tabel de rutare în care se specifica adresa IP a celui mai apropiat ruter, care este un ruter conectat la aceeasi legatura de date.

De remarcat însa ca, în timp ce în tabelele de rutare sunt trecute numai adresele IP si deciziile de rutare se iau numai pe baza adresei retelei de destinatie, transmiterea pachetelor de la sistemul sursa la un ruter, de la un ruter la altul si de la un ruter la sistemul de destinatie se face prin intermediul cadrelor, folosind adresele fizice ale ruterilor si, în final, a sistemului destinatar. Permanent însa, în pachetul transportat de un cadru se afla adresele IP ale sistemelor sursa si destinatie.

Initializarea tabelelor de rutare si adaptarea lor permanenta la conditiile de functionare ale retelei se face cu ajutorul unor protocoale prin intermediul carora ruterii schimba informatii de rutare. Din grupul protocoalelor TCP/IP fac parte urmatoarele protocoale de rutare:

- protocoale intradomeniu: RIP (Routing Information Protocol), Hello, OSPF (Open Shortest Path First Protocol);

- protocoale interdomenii: EGP (Exterior Gateway Protocol).

Asa cum s-a mentionat, protocolul IP furnizeaza un serviciu fara conexiune. Fiecare pachet trece din ruter în 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 în 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 în functionare normala pâna 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. De asemenea ICMP permite comunicatia între software-ul IP de pe un sistem si software-ul IP de pe un alt sistem. Fiecare mesaj ICMP este inclus în câmpul de date al unui pachet (figura 6) care, la rândul sau, este inclus în câmpul de date al unui cadru.


Fig. 6. Încapsularea mesajului ICMP

Pachetele care poarta mesaje ICMP sunt rutate la fel ca si cele care transporta datele utilizatorului doar ca, daca apar erori în transmiterea acestor pachete ele nu genereaza alte mesaje ICMP. Exista mai multe tipuri de mesaje ICMP, fiecare având formatul sau propriu. Indiferent însa de tipul mesajului fiecare format începe cu aceleasi trei câmpuri:

- tipul mesajului (8 biti);

- cod (8 biti), furnizând informatii suplimentare despre tipul mesajului;

- secventa de verificare (16 biti), folosind acelasi algoritm ca si IP dar verificând numai mesajul ICMP.

Doua dintre mesajele ICMP, foarte utilizate de administratori de retele si de catre utilizatori pentru a verifica existenta unei rute functionale spre o anumita destinatie, sunt mesajele de "cerere ecou" (echo request) si "raspuns ecou" (echo replay). Un sistem de extremitate sau un ruter poate transmite un mesaj cerere ecou catre o anumita destinatie. Sistemul sau ruterul de destinatie care receptioneaza acest mesaj raspunde prin mesajul raspuns ecou transmis catre sursa. Cererea contine un câmp de date optionale. Raspunsul va contine o copie a acestor date. În felul acesta se poate verifica daca o anumita destinatie este accesibila si raspunde. Totodata este verificata si o parte din retea.

Un alt tip de mesaj ICMP, numit "destinatie inaccesibila" (destination unreachable) este transmis de un ruter catre sursa atunci când acesta nu poate trece mai departe un pachet, spre un alt ruter sau direct spre sistemul de destinatie.

Alte mesaje ICMP semnaleaza situatiile de congestie (suprasolicitarea unui ruter), de redirectionare, de rutare ciclica (în bucla, la nesfârsit), etc.

5. Rutarea IP

Rutarea reprezinta algoritmul prin care se determina drumul intre sursa si destinatie. Daca hostul sursa S si cel destinatie D se afla pe acelasi segment Ethernet, pachetul poate fi trimis direct, in caz contrar exista mai multe strategii de rutare. Sa presupunem ca un host intermediar de pe traseul dintre S si D primeste un pachet si trebuie sa-l trimita mai departe. Atunci, posibilitatile de rutare sint:

- daca pachetul contine in header intreaga informatie de rutare, nodul nu are de luat nici o decizie, ci trimite direct pachetul la nodul urmator. Aceasta se numeste rutare sursa si presupune ca nodul S cunoaste calea completa catre D.

- nodul intermediar poate sa cunoasca dinainte ruta catre D, deci nici in acest caz nu are de luat nici o decizie. Aceasta presupune ca fiecare nod intermediar sa aiba o tabela cu rutele corecte pentru toate destinatiile posibile. Acest tip de rutare este specific anumitor retele centralizate cu comutare de pachete, cum este reteaua comerciala TYMNET sau reteaua SNA a companiei IBM.

- nodul nu cunoaste dinainte calea catre D si ia pe loc o decizie in functie de informatiile de care dispune. Aceste informatii includ caile catre nodurile vecine, incarcarea lor, etc. Fiecare nod trebuie sa aiba posibilitatea sa comunice cu alte noduri pentru a-si actualiza aceste informatii. TCP/IP foloseste acest procedeu in cadrul retelei Internet, folosind ceea ce se numeste tabela de rutare aflata in fiecare dintre noduri. Metoda este foarte complexa, si presupune ca in fiecare retea locala exista cel putin un nod (numit gateway sau router) care mentine o tabela de rutare suficient de complexa pentru a trimite pachetul pe calea cea mai buna, catre unul din "vecinii" sai, un alt gateway care se ocupa cu rutarea si apartine altei retele locale conectate direct cu reteaua data; celelate hosturi din reteaua locala trebuie doar sa stie care este gatewayul insarcinat cu rutarea. Din motive de redundanta, pot fi mai multe astfel de gatewayuri in fiecare retea si intodeauna se definesc mai multe rute posibile, stabilindu-se o ordine a preferintelor.

Dupa cum se vede, rutarea in TCP/IP este deosebit de complexa si prin aceasta eficienta. Aceasta este o consecinta a faptului ca TCP/IP si Internetul provin dintr-un proiect al agentiei de aparare a SUA de a realiza o retea capabila de a functiona in continuare chiar daca o mare parte a nodurilor sale sint distruse, deci automat in acest caz s-a ales un model distribuit de rutare, in care sa nu existe o singura autoritate centralizata care ar putea fi distrusa.

6. Nivelul aplicatie

Protocoalele de la nivelul aplicatie asigura o serie de servicii utilizatorilor retelei. Aceste servicii permit utilizatorilor si programelor sa interactioneze cu servicii automatizate de pe calculatoare distante si cu utilizatori aflati la distanta. Cele mai importante protocoale de nivel aplicatie au fost definite în paragraful 1. În cele ce urmeaza vor fi prezentate succint serviciile DNS, Remote login (Telnet), FTP si SMTP.

6.1. 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, constând 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 între ele si adresele de retea.

Ţinând seama de numarul foarte mare al sistemelor conectate la reteaua Internet, atribuirea numelor trebuie sa se faca în asa fel încât sa se evite coincidentele, sa nu fie necesar un centru care sa le administreze în totalitate si sa permita realizarea unui sistem simplu si eficient de translatare a lor în adrese de retea.

În acest scop, pentru alcatuirea numelor se foloseste o structura ierarhizata realizata prin intermediul unui mecanism numit sistemul numelor pentru domenii (DNS). Acest mecanism se refera, pe de o parte, la sintaxa numelor si regulile pentru delegarea autoritatilor responsabile cu atribuirea lor si, pe de alta parte, la realizarea unui sistem de calcul distribuit care face trecerea de la nume la adrese.

Numele pentru domenii constau dintr-o secventa de subnume despartite prin puncte, secventa ce corespunde structurii organizatiilor care au responsabilitatea atribuirii acestor subnume. Nivelul cel mai înalt este autoritatea Internet si este împartit în urmatoarele domenii:

Numele domeniului

Semnificatie

COM

Organizatii comerciale

EDU

Institutii de învatamânt

GOV

Institutii guvernamentale

MIL

Grupuri militare

NET

Centre de administrare a retelelelor mari

ORG

Alte organizatii

ARPA



Domeniu temporar ARPANET

INT

Organizatii internationale

Codul tarii

Fiecare tara (identificatorul standard

international format din doua litere)

Nivelul cel mai de jos este si el un domeniu, specificat prin întreaga secventa de nume. Spre exemplu sa consideram urmatorul nume format din trei etichete: comm.pub.ro. Domeniul cel mai de jos este comm. pub. ro si este numele domeniului pentru Catedra de Telecomunicatii a Universitatii Politehnica din Bucuresti, România. La nivelul imediat superior este domeniul pub.ro (numele domeniului pentru Universitatea Politehnica din Bucuresti, România) iar nivelul cel mai înalt este ro (numele domeniului pentru România).

Asa cum se vede din exemplul dat numele domeniului se înscrie începând cu eticheta locala si sfârsind cu eticheta domeniului celui mai înalt. Domeniul comm.pub.ro poate fi împartit la rândul sau în alte subdomenii (numite tot domenii) si în acest caz va mai apare o eticheta. Precizarea calculatorului conectat la reteaua Internet se face tot printr-o eticheta, cu care va începe numele domeniului pentru respectivul calculator.

Sistemul care are rolul sa faca trecerea de la nume la adrese este constituit dintr-o ierarhie de servere de nume (name-servers), distribuite în reteaua Internet, care pot comunica între ele asa cum arata schema din figura 7. Legaturile între servere figurate în desen nu trebuie considerate ca fiind conexiuni fizice.


Fig. 7. Organizarea serverelor pentru DNS

În fiecare sistem conectat la Internet functioneaza un proces de rezolvare a problemei translatarii numelui în adresa IP. Un utilizator care solicita un program de aplicatie specifica numele sistemului cu care aplicatia trebuie sa comunice. Înainte de a folosi protocolul TCP sau UDP pentru a comunica cu sistemul respectiv, programul aplicatie trebuie sa gaseasca adresa IP a acestuia. Pentru aceasta solicita procesului de translatare a numelui în adresa IP, specificând numele. Este posibil ca procesul de translatare sa furnizeze adresa ceruta pe baza informatiilor memorate la solutionarea cererilor anterioare. Tipic, in fiecare (sub)retea exista un host (name server) care cunoaste numele asociate tuturor celorlalte hosturi din subretea. Acest host este numit autoritativ pentru subreteaua respectiva. In momentul in care un host din subretea doreste sa afle adresa numerica a unui host oarecare, el intreaba name-serverul sau, care la rindul sau intreaba serverul care ii serveste lui drept name server, s.a.m.d. Acest proces continua "in sus" pina la gasirea unui host care cunoaste adresa numerica a domeniului cautat (chiar, pâna la radacina). Mai departe, acest host trimite cererea serverului care este autoritativ pentru domeniul respectiv, dar de obicei acest server nu cunoaste adresele tuturor hosturilor din domeniul sau, ci doar adresele name-serverelor autoritative pentru subdomeniile din domeniul sau.

Astfel procesul de cautare continua "in jos" pina la gasirea name-serverului care cunoaste adresa serverului cautat. Acest mecanism are avantajul ca este distribuit, neexistind o autoritate centrala care sa trebuiasca sa memoreze numarul urias de hosturi existent in tot Internetul.

Protocolul DNS include facilitati care au rolul sa creasca eficienta operatiilor de translatare a numelui.

6.2. Remote login (Telnet)

Protocolul Telnet permite accesul unui utilizator la toate comenzile disponibile pe un calculator distant oferind trei servicii de baza. Primul dintre ele defineste un terminal virtual care furnizeaza o interfata standard spre sistemul distant, datorita careia programele de utilizator (client) nu trebuie sa tina seama de detaliile specifice acestui sistem distant. Un al doilea serviciu consta în posibilitatea oferita atât clientului cât si serverului (sistemul distant) de a negocia între un set de optiuni standard. Spre exemplu, se poate negocia lungimea codului pentru reprezentarea caracterelor: 7 sau 8 biti. În sfârsit, în al treilea rând, Telnet trateaza ambele capete ale conexiunii în mod simetric. Astfel, un program de aplicatie de pe calculatorul utilizatorului devine client, stabileste o conexiune TCP cu serverul (program ce ofera un serviciu aflat pe un calculator distant), primeste caracterele transmise de la terminalul utilizatorului si le transmite catre server în timp ce, în sens invers, accepta caracterele pe care serverul le transmite înapoi si le afiseaza la terminalul utilizatorului.

6.3. 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 între ele privind modul în care sunt memorate, accesate sau protejate fisierele. Data fiind aceasta diversitate privind fisierele, o cerere de transfer de fisier trebuie însotita de specificarea urmatoarelor atribute: tipul datelor, tipul fisierului si modul de transmisiune.

FTP poate fi utilizat atât pentru a transmite informatia codata în caractere cât si date binare. Utilizatorul trebuie sa specifice forma în care datele urmeaza a fi memorate în sistemul de destinatie. Datele pot fi caractere ASCII de 7 biti, reprezentate însa prin octeti (formatul terminalului virtual), caractere EBCDIC de 8 biti (codul utilizat în calculatoarele IBM) sau secventa continua de simboluri binare.

Modurile de transmisiune posibile sunt: flux continuu, bloc sau comprimat. În 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.

În 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 încheie cu un marker de sfârsit. Atât sursa cât si destinatia tin evidenta blocurilor transferate si în caz de întrerupere transferul este reluat de la ultimul bloc receptionat corect.

În modul comprimat secventele continue cu acelasi caracter (octet) sunt înlocuite, înainte 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 specificând 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 specificând 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 comenzi indicând numele fisierului, tipul datelor, tipul fisierului si modul de transmisiune ce urmeaza a fi utilizate pentru transfer, precizând 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.

Daca optiunile de transfer sunt acceptate serverul FTP stabileste o alta conexiune TCP cu clientul FTP, pentru transferul datelor, folosind pentru destinatie un port de protocol al carui numar a fost în prealabil specificat de clientul FTP.

Transferul fisierului se face, conform optiunilor convenite, pe conexiunea de transfer al datelor, beneficiind de procedurile TCP (controlul fluxului, controlul erorii, retransmitere) pentru a fi complet si corect.

FTP defineste si formatele utizate pentru comenzile si raspunsurile transmise pe conexiunea de control. O comanda consta dintr-un sir de patru octeti reprezentând caractere din alfabetul terminalului virtual, iar un raspuns consta dintr-un cod numeric de trei digiti urmat de un sir text optional.

Grupul de protocoale TCP/IP contine si un alt protocol mai simplu pentru transferul de fisiere în situatiile care nu necesita interactiuni complexe între client si server. Numit TFTP (Trivial File Transfer Protocol), el nu implica operatiile de autentificare si foloseste protocolul de transport UDP. Un fisier este transmis în blocuri de marime fixa, 512 octeti, pentru fiecare bloc asteptându-se confirmarea de receptie un interval de timp limitat.

6.4. Posta electronica (SMTP)

Protocolul SMTP (Simple Mail Transfer Protocol) specifica modul în care mesajele de posta electronica sunt transferate între procese SMTP aflate pe sisteme diferite. Procesul SMTP care are de transmis mesaj este numit client SMTP, iar procesul SMTP care primeste mesajul este serverul SMTP. Protocolul nu se refera la modul în care mesajul ce trebuie transmis este trecut de la utilizator catre clientul SMTP sau cum mesajul receptionat de serverul SMTP este livrat utilizatorului destinatar si nici cum este memorat mesajul, sau de câte ori clientul SMTP încearca sa transmita mesajul.

Utilizatorul specifica printr-o pereche de identificatori numele sistemului de destinatie si adresa unei cutii postale pe acest sistem. De obicei adresa cutiei postale este chiar identificatorul login al utilizatorului destinatar, iar numele sistemului este acelasi cu numele domeniului pentru sistemul respectiv. Iata, spre exemplu, o adresa de posta electronica: barbu@pns.comm.pub.ro.

Formatul mesajului cuprinde doua parti, antetul si corpul, separate printr-un rând liber. Standardul specifica formatul antetului lasând corpul la latitudinea transmitatorului.

O linie din antet specifica destinatia. Ea începe cu To: si contine adresa de posta electronica a destinatarului. O alta linie începe cu From: si contine adresa de posta electronica a transmitatorului.

Operatia de transmitere a unui mesaj implica parcurgerea a trei etape: stabilirea unei conexiuni între SMTP client si SMTP server, transferul mesajului pe aceasta conexiune si eliberarea conexiunii. Când exista un mesaj de transmis, SMTP client stabileste o conexiune TCP cu SMPT server din sistemul de destinatie utilizând un numar al portului de destinatie asociat cu SMTP, asteapta raspunsul serverului (220 READY FOR MAIL), dupa care transmite comanda HELO (prescurtare pentru "hello") continând numele utilizatorului transmitator. Serverul transmite un raspuns prin care se identifica si indica disponibilitatea de a receptiona mesajul.

Faza de transfer al mesajului începe cu comanda MAIL, continând numele utilizatorului care transmite mesajul, urmata de una sau, dupa caz, mai multe comenzi RCPT indicând destinatarii mesajului. Transferul efectiv al mesajului se face în cadrul comenzii DATA care este urmata de datele ce reprezinta textul mesajului. La fiecare comanda serverul SMTP trimite un raspuns adecvat. Utilizându-se o conexiune TCP pentru transferul mesajelor de posta electronica se asigura, prin detectia erorilor si retransmitere, livrarea corecta a lor la sistemul de destinatie (server). Totusi, protocolul SMTP nu defineste o procedura care sa garanteze ca mesajul a fost livrat corect utilizatorului destinatar de pe acel sistem.

Dupa ce serverul a receptionat corect si complet mesajul pentru un anumit utilizator destinatar, SMTP client va sterge numele acestuia de pe lista destinatarilor mesjului respectiv. Daca mesajul este adresat mai multor destinatari el va fi eliminat, împreuna cu lista destinatarilor, din coada mesajelor pentru emisie dupa ce s-au trimis copii catre toti destinatarii.

În momentul în care faza de transfer pentru un anumit mesaj s-a încheiat, conexiunea TCP poate fi utilizata pentru transferul altui mesaj în acelasi sens, sau în sens invers, sau poate fi eliberata. Eliberarea conexiunii TCP se face prin comanda QUIT generata de SMTP client.

Formatul comenzilor SMTP include codul comenzii, alcatuit din patru octeti reprezentând caractere din alfabetul terminalului virtual, urmat, la unele comenzi, de un argument. Iata câteva comenzi: HELO, MAIL (from:), RCPT (to:), DATA, SEND (from:), TURN, QUIT. Raspunsurile au acelasi format ca si în FTP: cod numeric de trei digiti urmat de un sir text.

7. Desfasurarea lucrarii

În cadrul acestei sectiuni se vor propune câteva exemple de utilizare a stivei de protocoale TCP/IP, accentul punându-se pe nivelul retea (IP) si pe anumite protocoale de nivel aplicatie. Deoarece stiva de protocoale TCP/IP este parte integranta a sistemelor de operare din familia Windows, atunci cele mai multe dintre exercitiile propuse se bazeaza pe programele si sintaxele de utilizare din Windows. Sistemele de operare ce ruleaza pe PC - le din laborator sunt versiunile Windows 95 si Windows 2000, existând deasemenea unele diferente de utilizare a acestor componente software între cele doua versiuni. Cele mai multe dintre exemplele propuse în continuare pot fi efectuate numai din contul de administrator local al sistemului Windows 2000.

7.1. Exemplu: adresarea în reteaua Politehnicii

Ca o aplicatie, prezentam pe scurt adresarea din reteaua pub.ro, careia i s-a repartizat de catre NIC adresa de retea 141.85, care corespunde unei adrese de clasa B. Evident, NIC nu intervine in modul in care se asigneaza adresele de hosturi, acesta fiind problema administratorilor retelei respective. Administratorii de la pub.ro au hotarit sa imparta reteaua in de 254 subretele de clasa C, deci cu maxim 254 hosturi. Adresele retea ale acestor subretele sint organizate tinind seama ca fiecare astfel de subretea are un host cu doua interfete: una conectata la cablul galben (corespunzator standardului Thick Ethernet) si a doua conectata la reteaua locala pe care o deserveste. Hostul cu numarul n primeste adresa 141.85.254.n pe interfata cu cablul galben, iar administratorul sau este liber sa asigneze 254 adrese de forma 141.85.n.x celor maxim 254 de hosturi pe care le poate avea subreteaua sa. Prin conventie, adresa interfetei conectata la reteaua locala este 141.85.n.1.

De exemplu adresa serverului vala.elia.pub.ro este 141.85.254.53.

De notat ca in momentul de fata (2004) aceasta adresare s-a extins prin adaugarea unor retele mici care nu apartin de 141.85.0.0 si prin impartirea unor retele de clasa C in subretele. De asemenea s-a modificat si topologia retelei prin renuntarea la cablul galben si prin formarea unui backbone al UPB pe fibra optica care interconecteaza toate subretelele prin intermediul unor switch-uri. O alta modificare s-a facut prin renuntarea la cablul coaxial subtire în LAN-uri si introducerea topologiei stea (extinsa) cu cabluri UTP. Deoarece, pe de alta parte, s-a dorit pastrarea domeniilor de adrese, s-au pastrat (în mare parte) si adresele serverelor si ruterilor.

7.2. Interfetele pentru TCP/IP. Comanda ipconfig

Sistemele Windows permit configurarea interfetelor de retea (LAN) prin intermediul utilitarului Network [.] din Control Panel. Astfel, se pot seta atât parametrii (proprietatile) protocolului IP, cât si ai altor protocoale. Drintre acesti parametri cei mai importanti (pentru a asigura accesul la retea) sunt: adresa IP a sistemului, masca (sub)retelei din care face parte sistemul, adresa routerului de acces la reteaua globala (gateway) si adresa serverului DNS al domeniului din care face sistemul.

Se studiaza interfata calculatorului pe care se executa lucrarea si se noteaza parametrii interfetei. Parametrii interfetelor pot fi listati si cu comanda ipconfig pentru sistemele Windows 2000 (sau winipcfg pentru sistemele Windows 9x). Sintaxa acestei comenzi este urmatoarea:

ipconfig [/? | /all | /release [adapter] | /renew [adapter]

| /flushdns | /registerdns

| /showclassid adapter

| /setclassid adapter [classidtoset] ].

Pentru informatii suplimentare legate de sintaxa acestei comenzi se poate utiliza prima optiune, ipconfig /?, iar pentru a vizualiza toti parametrii (ai tuturor interfetelor) se poate apela comanda ipconfig /all. Se va observa ca aceasta optiune, /all, permite si vizualizarea parametrilor interfetelor fizice, cum ar fi adresele MAC, numele producatorului si codul placii NIC, precum si a parametrilor OS Windows 2000, cum ar fi numele sistemului, sufixul DNS si tipul nodului (sistemul, vazut ca nod de comunicatie), plus alti parametri de activare a rutarii IP si a DHCP (Dynamic Host Configuration Protocol).

Se noteaza numele DNS al sistemului local (de exemplu, cd1.comm.pub.ro), necesar pentru solutionarea exemplelor urmatoare. Daca se utilizeaza optiunea /displaydns se poate vizualiza continutul memoriei DNS de pe sistemul curent (DNS Resolver Cache). Alaturi de alte înregistrari apare si sistemul local care se numeste localhost. Primului nume (de exemplu, cd1.comm.pub.ro) îi corespunde adresa sa reala, de internet, iar celui de-al doilea adresa 127.0.0.1 care este rezervata pentru acest scop. Fiecare calculator care ruleaza TCP/IP are aceasta adresa si acest nume pt uz local. Aceasta este o cerinta a aplicatiilor de retea care folosesc TCP/IP, pentru ca sa existe o interfata chiar si atunci cind reteaua propriu-zisa nu functioneaza. Asa cum se va arata si mai târziu, aceasta interfata locala poate fi vazuta si cu ajutorul comenzii ping localhost sau ping 127.0.0.1, care ne va permite sa testam protocolul IP al propriului sistem, fara a avea la dispozitie o retea de acces.

7.3. Protocolul ICMP. Comenzile ping si tracert

Acest protocol (Internet Control Message Protocol) functioneaza la nivelul 3 si e folosit pentru testarea rutarii si alte scopuri administrative.

Comanda ping foloseste acest protocol pentru a trimite un pachet de test catre un anumit sistem, care il va trimite inapoi si se poate vedea astfel starea conexiunii. Sintaxa acestei comenzi este urmatoarea:

ping   [-t] [-a] [-n count] [-l size] [-f] [-i TTL] [-v TOS]

[-r count] [-s count] [[-j host-list] | [-k host-list]]

[-w timeout] destination-list

Pentru informatii suplimentare legate de sintaxa acestei comenzi se poate utiliza simplu ping. Se propun urmatoarele exercitii:

- se executa comanda ping hostname (hostname este numele DNS al unei statii vecine) care trimite un pachet de 32 bytes la hostname si afiseaza timpul dus-intors. Daca pachetele se întorc, atunci a functionat si protocolul DNS, care a putut returna adresa IP a statiei cu numele hostname. Dealtfel, exista optiunea -a, care permite fortarea acestei cereri DNS (de cele mai multe ori aceasta cerere este implicita).

- se executa comanda ping [-a] localhost.

- se executa comanda ping hostname (hostname este numele DNS al unui server din exteriorul retelei UPB, cum ar fi www.yahoo.com).

Comanda tracert (traceroute) se bazeaza pe un cimp din headerul IP numit TTL (Time To Live). Acest "timp de viata" este denumit impropriu pentru ca de fapt specifica numarul maxim de "hopuri" pe care are voie sa-l parcurga pachetul pina la tinta. Comanda tracert trimite pachete de test catre destinatie cu TTL pe rind 1, 2, 3 etc. Evenimentele se petrec astfel:

- se trimite un pachet cu TTL=1; la primul "hop" intilnit, care este de fapt primul gateway prin care trece pachetul, se constata ca prin decrementarea TTL se ajunge la 0 si deci pachetul nu e trimis mai departe, ci se trimite inapoi un mesaj de eroare (time exceeded); cum gatewayul care trimite mesajul isi include si numele in mesaj, aceasta "smecherie" permite aflarea numelui primului gateway ("hop") si acesta este afisat.

- se trimite un pachet cu TTL=2; acesta va trece de primul hop (care va decrementa TTL la 1) si se va opri la al doilea, care va trimite mesajul de eroare si astfel aflam si numele celui de-al doilea hop.

- procesul se repeta pina cind mesajul de eroare vine chiar de la destinatie; atunci programul tracert se opreste.

- uneori se afiseaza stelute (*) in locul numelor hopurilor; aceasta se intimpla atunci cind ele trimit mesajul de eroare in mod incorect si deci el nu ajunge inapoi la noi (tipic trimit cu un TTL prea mic). Pentru fiecare TTL se trimit nu unul ci 3 pachete, deci se pot afisa 3 stelute pe o pozitie.

Sintaxa comenzii tracert este urmatoarea:

tracert [-d] [-h maximum_hops] [-j host-list] [-w timeout] target_name

Pentru informatii suplimentare legate de sintaxa acestei comenzi se introduce de la tastatura comanda (fara optiuni) tracert.

Se verifica comanda tracert pe citeva destinatii din Politehnica (de exemplu, sunsite.pub.ro), din retele cu care Politehnica are legaturi terestre (www.kappa.ro, www.cotidianul.ro) si din retele cu care are legaturi prin satelit, www.taide.net, care este providerul nostru de satelit, nic.funet.fi care e in Europa si www.nasa.gov care e peste ocean. Se compara timpii pentru legaturile terestre si cele prin satelit.

7.4. Studiul rutarii. Manipularea tabelei de rutare

Tabela de rutare discutata in paragraful 5 se studiaza si se manipuleaza cu comanda route. Aceasta este o comanda complexa care permite afisarea, dar si modificarea rutelor si are urmatoarea sintaxa:

ROUTE [-f] [-p] [command [destination]

[MASK netmask] [gateway] [METRIC metric] [IF interface]

Pentru informatii suplimentare legate de sintaxa acestei comenzi se introduce de la tastatura comanda (fara optiuni) route.

De notat ca pentru a trimite un pachet de pe sistemul A pe sistemul B, sistemul A trebuie sa stie doar pe ce cale se "iese" catre sistemul B si care este urmatorul sistem in lan catre B, deci nu tot drumul pina la B; asadar pentru un sistem cu o singura interfata de retea tabela de rutare nu este de obicei prea complexa. Calculatoarele configurate ca rutere (sau ruterele vindute ca atare de producatori precum Cisco) pot avea o tabela de rutare foarte mare (dar de obicei folosesc si protocoale dinamice de rutare, care sint mai avansate si permit reconfigurarea rutelor daca apar intreruperi in retea). Pentru a vedea pe unde trece pachetul de la A la B dupa ce a parasit A, se poate folosi comanda tracert prezentata în sectiunea anterioara.

- Manipularea tabelei de rutare

Se foloseste comanda route; se incearca (daca se dispune de drept de administrare pe un server din Politehnica) sa se adauge o ruta pentru a scurta sau lungi drumul pachetelor catre un alt calculator din Politehnica. Concret, am precizat deja ca nu putem stabili calea completa catre o destinatie, ci doar interfata de iesire si primul gateway (hop) catre destinatie. Dar ne bazam pe faptul ca reteaua Politehnicii este realizata dintr-un numar de sisteme interconectate cu FO, fiecare astfel de sistem avind la rindul sau cite o retea Ethernet proprie, conectata printr-un switch sau un hub.

Adresele de genul 141.85.254.xx corespund calculatoarelor legate direct la FO sau la switch-urile aferente. Vom numi aceste calculatoare servere. Adresele 141.85.xx.yy corespund unor calculatoare de pe retelele interne, nelegate direct la cablul galben. Prin urmare, intre calculatorul din laborator pe care se desfasoara aceasta lucrare si un calculator din domeniul elcom.pub.ro, de exemplu www.elcom.pub.ro (tot din Electronica, dar in corpul A) sint doar 2 hopuri: serverul calculatorului nostru comdat.comm.pub.ro si serverul de la elcom, numit first.elcom.pub.ro. Dar comanda tracert first.elcom.pub.ro poate indica un hop suplimentar. Acest hop este ruterul Politehnicii, aflat in rectorat, si apare in drum daca serverul nostru nu stie ca www.elcom.pub.ro se afla legat la first.elcom.pub.ro care este pe acelasi inel de FO ca si comdat.comm.pub.ro!. Deci, daca pns nu stie acest lucru, el va trimite pachetul catre www.elcom.pub.ro pe ruta implicita (backone de FO) pe care trimite toate pachetele catre destinatii necunoscute, catre ruterul din Rectorat si acesta il va trimite inapoi, tot pe FO, catre first.elcom.pub.ro. Asadar, pachetul se plimba inutil de doua ori pe inelul de FO, catre Rectorat si inapoi, incarcind backbone-ul. De aceea e bine ca serverele legate direct la backbone sa cunoasca toate celelate sisteme legate la backbone.

Verificarea se face astfel:



- se analizeaza tabela de rutare cu route print; comanda afiseaza numele sistemelor pentru care sint definite rute;

- se executa traceroute www.elcom.pub.ro;

- daca apar doua hopuri comdat si first inseamna ca comdat stie ruta corecta;

- daca apare si al treilea hop inseamna ca nu o stie.

Se poate incerca modificarea rutelor pe un server pe care se dispune de parola de administrator, adaugind si scotind ruta catre serverul destinatiei:

- comanda route add calculator1 mask masca1 gateway1 metric m1 if i1 adauga o ruta catre calculator1, cu masca masca1, care trece prin serverul gateway1, calea de plecare fiind interfata Ethernet i1, care are costul (metrica) m1; metrica si interfata sunt numere naturale.

- daca se inlocuieste add cu delete si se pastreaza numai numele destinatiei calculator1, atunci ruta e stearsa;

- se adauga o ruta (si apoi se sterge) pentru un sistem care are masca necorespunzatoare clasei din care face parte adresa sistemului, apoi urmariti mesajul de eroare;

- dupa fiecare modificare se verifica tabela de rutare cu comanda route print.

Un exemplu de tabela de rutare este urmatorul:

Interface List

0x1 ........................... MS TCP Loopback interface

0x1000003 ...00 d0 59 4b a7 26 ...... Intel(R) PRO Adapter

Active Routes:

Network Destination

Netmask

Gateway

Interface

Metric

Default Gateway: 141.85.58.1

Persistent Routes:

None

Aceasta corespunde unui host care este conectat la un singur LAN in felul urmator:

controller

network

address

mask

In prima coloana se afla numele interfetei, in a doua coloana adresa retelei, in a treia adresa hostului pe reteaua respectiva (am mentionat deja ca un host se poate afla in mai multe retele), iar in a patra masca retelei respective.

Tabela de rutare specifica catre ce Gateway (a treia coloana din primul tabel) va fi trimis pachetul cu adresa in prima coloana, si pe ce interfata se afla acel gateway (a patra coloana din acelasi tabel). Metrica unei rute este utilizata in situatia in care trebuie sa se aleaga intre mai multe rute cu aceeasi destinatie si atunci se alege ruta cu metrica cea mai mica. Metrica unei rute este determinata in mod diferit pentru fiecare protocol de rutare si poate fi numarul de hopuri pina la destinatie, timpul total de propagare pe acea ruta (latenta), debitul mediu pe ruta, etc.

Trebuie mentionat ca la pornire sitemul citeste o tabela de rutare minimala stabilita de catre administrator si pe parcursul functionarii se aduna informatii care duc la o rutare optimala.

7.5. Protocolul Telnet

Se va efectua conectarea la alt calculator prin Telnet folosind comanda telnet. Sintaxa acestei comenzi este urmatoarea:

telnet [ host [port]]

- se executa telnet /? pentru a vedea o lista de optiuni;

- telnet host deschide o legatura telnet pe portul 23 (standard pentru telnet) cu host. Pentru câmpul host se poate utiliza adresa IP sau numele DNS (daca se poate face conversia). Daca se doreste specificarea portului pentru stabilirea conexiunii se va folosi comanda telnet host [port];

- în sistemul Windows 2000 se poate porni un server de Telnet, pornind aplicatia din Start/Settings/Control Panel/Administrative Tools/Telnet Server Administration. Astfel, se deschide o fereastra a Windows Commander de genul:

Microsoft (R) Windows 2000 (TM) (Build 2195)

Telnet Server Admin (Build 5.00.99201.1)

Select one of the following options:

0) Quit this application

1) List the current users

2) Terminate a user session ...

3) Display / change registry settings ...

4) Start the service

5) Stop the service

Type an option number [0 - 5] to select that option:

Daca de pe un sistem se porneste acest serviciu (cu optiunea 4) de mai sus) acesta devine un server Telnet, iar de pe un alt sistem (potential client Telnet), daca se apeleaza comanda telnet cu numele (sau adresa, dar merge si cu numele NT al statiei) serverului, atunci între aceste doua sisteme se stabileste o conexiune Telnet. Odata stabilita conexiunea, din fereastra de comanda a clientului se pot da mai multe comenzi ce pot fi vizualizate cu comanda help.

Anexa 1

Documentatia Internet, inclusiv standardele, este publicata sub forma unor documente RFC (Request for Comments). Documentul RFC 1540, intitulat Internet Official Protocol Standards, detaliaza lista tuturor documentelor RFC. În tabelul urmator sunt enumerate unele dintre aceste documente si continutul acestora.

Cod RFC

Continut

1540

Internet Official Protocol Standards (Lista tuturor documentelor RFC)

894

Protocol de nivel legatura de date - suport Ethernet

1042

Protocol de nivel legatura de date - suport IEEE 802

877

Protocol de nivel legatura de date - suport X.25

Structura datagramei IPv4

Address Allocation for Private Internets (adrese private si nerutabile)

On the Assignment of Subnet Numbers

950

Internet standard subnetting procedure

940

Toward an Internet standard scheme for subnetting

932

Subnetwork addressing scheme

917

Internet subnets





Document Info


Accesari: 10421
Apreciat: hand-up

Comenteaza documentul:

Nu esti inregistrat
Trebuie sa fii utilizator inregistrat pentru a putea comenta


Creaza cont nou

A fost util?

Daca documentul a fost util si crezi ca merita
sa adaugi un link catre el la tine in site


in pagina web a site-ului tau.




eCoduri.com - coduri postale, contabile, CAEN sau bancare

Politica de confidentialitate | Termenii si conditii de utilizare




Copyright © Contact (SCRIGROUP Int. 2024 )