Sunteți pe pagina 1din 23

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 Tip adresa Retea Host Nr. max. Masca


octet (primii biti) de hosturi implicita
A 1 - 126 0 p q.r.s 16777214 255.0.0.0
B 128 - 191 10 p.q r.s 65534 255.255.0.0
C 192 - 223 110 p.q.r s 254 255.255.255.0
D 224 - 239 1110 p.q.r.s - - -
E 240 - 247 11110 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 2 14 - 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 2 4 - 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 R 2.

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 Netmask Gateway Interface


Destination Metri
c
0.0.0.0 0.0.0.0 141.85.58.1 141.85.58.20 1
127.0.0.0 255.0.0.0 127.0.0.1 127.0.0.1 1
141.85.58.0 255.255.255.0 141.85.58.20 141.85.58.20 1
141.85.58.20 255.255.255.255 127.0.0.1 127.0.0.1 1
141.85.255.255 255.255.255.255 141.85.58.20 141.85.58.20 1
224.0.0.0 224.0.0.0 141.85.58.20 141.85.58.20 1
255.255.255.255 255.255.255.255 141.85.58.20 141.85.58.20 1

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


1 141.85.58.0 141.85.58.20 255.255.255.0

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.

A. 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 Continut
RFC
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
791 Structura datagramei IPv4
1918 Address Allocation for Private Internets (adrese private si nerutabile)
1219 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

S-ar putea să vă placă și