Home - qdidactic.com
Didactica si proiecte didacticeBani si dezvoltarea cariereiStiinta  si proiecte tehniceIstorie si biografiiSanatate si medicinaDezvoltare personala
referate stiintaSa fii al doilea inseamna sa fii primul care pierde - Ayrton Senna





Aeronautica Comunicatii Drept Informatica Nutritie Sociologie
Tehnica mecanica

Retele calculatoare


Qdidactic » stiinta & tehnica » informatica » retele calculatoare
Prezentarea protocoalelor tcp/ip



Prezentarea protocoalelor tcp/ip


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, in 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. 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.

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 campul de date al IP) asigurand 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 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.

Nivelul transport asigura comunicatia intre 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 in secventa. La nivelul transport fluxul datelor ce trebuie transmise se imparte in pachete si fiecare pachet este trecut, impreuna cu adresa de destinatie, catre nivelul internet pentru transmisiune. Cand mai multe programe de aplicatie beneficiaza, in acelasi sistem, de serviciile retelei, nivelul transport trebuie sa accepte datele de la acestea si sa le treaca spre nivelul inferior, adaugand 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 decat TCP, nu garanteaza livrarea mesajului la receptie fara erori, fara pierderi, fara duplicate, in ordinea in 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 in 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, in ambele sensuri, intre 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 intr-un sistem distant prin intermediul sistemului local. Acest protocol stabileste o relatie client - server intre sistemul local (client) si aplicatia Telnet distanta (server), permitand deci functionarea unui sistem local in 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 intre 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 in reteaua globala (WWW – World Wide Web) reprezentata intr-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 intre 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 putand fi scris sub forma unui numar zecimal luand valori intre 0 si 255, in forma p.q.r.s. Un exemplu de adresa scrisa in forma zecimala este 141.85.254.53. Aceasta notatie se numeste dotted quad. Formatul general al adresei IPv4 de 32 de biti este reprezentat in figura 2.





Fig. 2. Formatul general al adresei IPv4.


In functie de domeniul in 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 campurilor 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 in 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. In concluzie, pot exista pana la 214 – 2 retele, fiecare cu pana 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. In concluzie, pot exista pana la 221 – 2 retele, fiecare cu pana 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 intotdeauna, atat la identificatorul de retea cat 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 intregii 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 in tabelul 1. Mastile sunt utilizate in 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 in 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 in Internet, 255.255.255.255. Un exemplu de adresa de difuzare pentru o retea de clasa B este prezentat in 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 in

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 campului de adrese in cateva clase s-a introdus o noua forma de divizare a retelelor din fiecare clasa in subretele. Astfel, o subretea a unei retele se construieste prin imprumutarea unei secvente de biti din identificatorul de sistem, obtinandu-se astfel un identificator suplimentar al subretelei. Deci, un sistem face parte dintr-o subretea, care la randul ei face parte dintr-o retea (fiecare dintre cele trei avand identificatorul sau). Formatul adresei de retea divizata in subretele este reprezentat in figura 3.






Fig. 3. Divizarea in subretele.


Deoarece o subretea se obtine prin imprumutarea unui numar de biti din campul 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 imprumuta 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 in subretele au acelasi rol ca si in cazul retelelor clasificate. In continuare se prezinta un exemplu de divizare a unei retea de clasa B in subretele (prin imprumutarea a 4 biti din campul de identificare a sistemului), cu adresele de difuzare si mastile subretelelor corespunzatoare.


Exemplu de divizare in 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 in subretele, prin imprumutarea a 4 biti din campul 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

in subretea

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

din subretea



In concluzie, prin divizarea de mai sus s-au obtinut 24 – 2 = 14 subretele, fiecare avand un numar maxim de 212 – 2 = 4094 sisteme.


4. Nivelul internet (retea)


Protocoalele care opereaza la nivelul internet (retea), asigurand servicii protocoalelor operand 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 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. 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 in figura 4.
















Fig. 4. Formatul pachetului IP


Structura pachetelor se bazeaza pe cuvinte de 32 biti, lungime corespunzatoare procesoarelor ARPANET initiale. In continuare se va prezenta semnificatia campurilor unui pachet.

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

- 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).

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

- Lungimea totala - Acest camp specifica lungimea totala a pachetului, masurata in octeti, incluzand atat antetul cat 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 in intregime intr-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 in retea ar face transmisiunea ineficienta. Din aceasta cauza protocolul IP lasa sursei latitudinea sa aleaga dimensiunea pachetului corespunzator constrangerilor impuse de legatura de date la care ea este conectata, iar o divizare a fiecarui pachet in fragmente se realizeaza in ruter atunci cand 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.

Campul 'Identificare' contine un numar care identifica pachetul. Cand un ruter fragmenteaza un pachet campul Identificare trebuie copiat in antetul fiecarui fragment. In felul acesta la destinatie se poate sti, tinand seama si de adresa sursei, carui pachet apartine fiecare fragment.

Campul 'Decalajul fragmentului' (Fragment offset) indica, pentru fiecare fragment, numarul grupurilor de cite 8 octeti transmise deja din pachetul caruia ii apartine fragmentul respectiv.

Prin cei trei biti din campul 'Fanioane' (Flags) se poate semnala interdictia de fragmentare a pachetului (cand sursa impune aceasta restrictie) si daca, in cazul unui fragment, este sau nu ultimul din pachet. Campul Lungimea totala indica, in cazul unui fragment, lungimea fragmentului si nu a pachetului din care face parte.

- Durata mentinerii in viata (Time to live) - Arata cat timp, in secunde, i se permite unui pachet sa ramana in retea. In acest camp 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 inscrisa in acest camp cu o unitate. In plus, in cazurile in care ruterii sunt suprasolicitati si prelucreaza cu intarziere pachetele, se face o decrementare suplimentara corespunzatoare timpului de asteptare. Cand marimea inscrisa in acest camp ajunge la zero ruterul elimina pachetul si transmite catre sursa un mesaj de eroare. Limitarea timpului de supravietuire in retea evita circulatia la nesfarsit 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 camp este determinat prin prelucrarea antetului, considerat ca o succesiune de intregi, fiecare alcatuit din 16 biti. Fiecare ruter calculeaza secventa de verificare si o compara cu cea din antet.

- Campurile de adrese - Contin adresele de retea (IP) de cate 32 biti fiecare, a sistemului sursa si a sistemului destinatie. Aceste campuri 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. In acest camp 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 camp sa aiba dimensiunea egala cu un multiplu de 4 octeti se folosesc biti de completare.

- Campul datelor - Are o lungime variabila, dar un numar intreg de octeti. Limitele pentru dimensiunea unui pachet, inclusiv antetul, sunt 576 octeti minimum si 65.535 octeti maximum.

Asa cum s-a aratat in 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 cate o adresa distincta pentru fiecare dintre conexiunile sale. Adresele Internet pot fi folosite si pentru referirea la retele, in mod conventional adresa unei retele avand toti bitii partii rezervate conexiunii cu valoarea 0.

Transmiterea unui pachet intre doua sisteme aflate in aceeasi retea fizica (legatura de date LAN) nu implica utilizarea ruterilor. Sistemul sursa include pachetul intr-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 utilizand protocolul ARP (Address Resolution Protocol).

Rutarea pachetelor in cazul in care cele doua sisteme, sursa si destinatie, nu se afla conectate la aceeasi legatura de date se realizeaza prin intermediul ruterilor care, in acest scop, utilizeaza tabele de rutare. Tabelul de rutare al unui ruter contine perechi (N, R), in care N este adresa IP a retelei de destinatie iar R este adresa IP a primului ruter pe calea spre reteaua N. In 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 in care se specifica adresa IP a celui mai apropiat ruter, care este un ruter conectat la aceeasi legatura de date.

De remarcat insa ca, in timp ce in 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, in final, a sistemului destinatar. Permanent insa, in 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 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. De asemenea ICMP permite comunicatia intre software-ul IP de pe un sistem si software-ul IP de pe un alt sistem. Fiecare mesaj ICMP este inclus in campul de date al unui pachet (figura 6) care, la randul sau, este inclus in campul de date al unui cadru.










Fig. 6. Incapsularea mesajului ICMP


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.

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 camp de date optionale. Raspunsul va contine o copie a acestor date. In 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 cand 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 (in bucla, la nesfarsit), 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 in paragraful 1. In 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, 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.

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

In 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 inalt este autoritatea Internet si este impartit in urmatoarele domenii:


Numele domeniului

Semnificatie

COM

Organizatii comerciale

EDU

Institutii de invatamant

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 intreaga 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, Romania. La nivelul imediat superior este domeniul pub.ro (numele domeniului pentru Universitatea Politehnica din Bucuresti, Romania) iar nivelul cel mai inalt este ro (numele domeniului pentru Romania).

Asa cum se vede din exemplul dat numele domeniului se inscrie incepand cu eticheta locala si sfarsind cu eticheta domeniului celui mai inalt. Domeniul comm.pub.ro poate fi impartit la randul sau in alte subdomenii (numite tot domenii) si in acest caz va mai apare o eticheta. Precizarea calculatorului conectat la reteaua Internet se face tot printr-o eticheta, cu care va incepe 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 in reteaua Internet, care pot comunica intre ele asa cum arata schema din figura 7. Legaturile intre servere figurate in desen nu trebuie considerate ca fiind conexiuni fizice.























Fig. 7. Organizarea serverelor pentru DNS


In fiecare sistem conectat la Internet functioneaza un proces de rezolvare a problemei translatarii numelui in adresa IP. Un utilizator care solicita un program de aplicatie specifica numele sistemului cu care aplicatia trebuie sa comunice. Inainte 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 in adresa IP, specificand 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, pana 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 in posibilitatea oferita atat clientului cat si serverului (sistemul distant) de a negocia intre un set de optiuni standard. Spre exemplu, se poate negocia lungimea codului pentru reprezentarea caracterelor: 7 sau 8 biti. In sfarsit, in al treilea rand, Telnet trateaza ambele capete ale conexiunii in 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 in timp ce, in sens invers, accepta caracterele pe care serverul le transmite inapoi 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 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.

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

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 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.

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 in 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 reprezentand 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 in situatiile care nu necesita interactiuni complexe intre 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 in blocuri de marime fixa, 512 octeti, pentru fiecare bloc asteptandu-se confirmarea de receptie un interval de timp limitat.


6.4. Posta electronica (SMTP)


Protocolul SMTP (Simple Mail Transfer Protocol) specifica modul in care mesajele de posta electronica sunt transferate intre 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 in 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 cate ori clientul SMTP incearca 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 rand liber. Standardul specifica formatul antetului lasand corpul la latitudinea transmitatorului.

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

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

Faza de transfer al mesajului incepe cu comanda MAIL, continand numele utilizatorului care transmite mesajul, urmata de una sau, dupa caz, mai multe comenzi RCPT indicand destinatarii mesajului. Transferul efectiv al mesajului se face in cadrul comenzii DATA care este urmata de datele ce reprezinta textul mesajului. La fiecare comanda serverul SMTP trimite un raspuns adecvat. Utilizandu-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, impreuna cu lista destinatarilor, din coada mesajelor pentru emisie dupa ce s-au trimis copii catre toti destinatarii.

In momentul in care faza de transfer pentru un anumit mesaj s-a incheiat, conexiunea TCP poate fi utilizata pentru transferul altui mesaj in acelasi sens, sau in 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 reprezentand caractere din alfabetul terminalului virtual, urmat, la unele comenzi, de un argument. Iata cateva comenzi: HELO, MAIL (from:), RCPT (to:), DATA, SEND (from:), TURN, QUIT. Raspunsurile au acelasi format ca si in FTP: cod numeric de trei digiti urmat de un sir text.


7. Desfasurarea lucrarii

In cadrul acestei sectiuni se vor propune cateva exemple de utilizare a stivei de protocoale TCP/IP, accentul punandu-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, existand deasemenea unele diferente de utilizare a acestor componente software intre cele doua versiuni. Cele mai multe dintre exemplele propuse in continuare pot fi efectuate numai din contul de administrator local al sistemului Windows 2000.


7.1. Exemplu: adresarea in 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 in 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 (in 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 atat parametrii (proprietatile) protocolului IP, cat 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 inregistrari apare si sistemul local care se numeste localhost. Primului nume (de exemplu, cd1.comm.pub.ro) ii 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 tarziu, 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 intorc, 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 in 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 campul 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];

- in 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 intre 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. In tabelul urmator sunt enumerate unele dintre aceste documente si continutul acestora.


Cod RFC

Continut


Internet Official Protocol Standards (Lista tuturor documentelor RFC)


Protocol de nivel legatura de date – suport Ethernet


Protocol de nivel legatura de date – suport IEEE 802


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


Internet standard subnetting procedure


Toward an Internet standard scheme for subnetting


Subnetwork addressing scheme


Internet subnets




Contact |- ia legatura cu noi -| contact
Adauga document |- pune-ti documente online -| adauga-document
Termeni & conditii de utilizare |- politica de cookies si de confidentialitate -| termeni
Copyright © |- 2024 - Toate drepturile rezervate -| copyright