Despre internet si TCP/IP

Articol scris in anul 2001

Suita de protocoale TCP/IP reprezinta cel mai flexibil protocol de transport disponibil si permite computerelor din intreaga lume, ruland sisteme de operare complet diferite, sa comunice intre ele. TCP/IP este prescurtarea de la Transmission Control Protocol / Internet Protocol.

Dezvoltarea lui a inceput in anii 1960 sub forma unui proiect finantat de guvernul SUA.

Initial ARPA (Agentia petru Proiecte de Cercetare Avansata) a creat protocolul TCP/IP pentru a interconecta retelele militare, dar apoi a furnizat gratuit standardele de protocol agentiilor guvernamentale si universitatilor.

TCP/IP nu este usor de utilizat si nu este cel mai rapid protocol dar ofera cel mai mare grad de corectie a erorilor.

Arhitectura unei retele

Figura de mai jos este o reprezentare superficiala a conceptului de stratificare a retelelor, foarte util in intelegerea retelelor si a protocolului TCP/IP. Sageata albastra reprezinta scopul oricarei retele, aplicatiile soft comunicand intre ele.
Ar fi un dezastru total daca fiecare aplicatie software ar incorpora in ea un protocol de comunicatii si un driver pentru placa de retea.
Fiecare strat reprezentat in figura de mai jos este responsabil pentru un anume "job".

Adresele IP

Orice interfata hardware trebuie sa aiba o adresa de internet unica numita adresa IP.Aceste adrese sunt numere pe 32 de biti de forma xxx.xxx.xxx.xxx. Expansiunea exploziva a internetului a dus la limitarea serioasa a numerelor unice. Adresele clasice pe 32 biti s-au dovedit a fi total inadecvate pentru dezvolateare rapida a internetului.

PING

Cea mai simpla metoda de a testa daca avem o ruta valida spre un calculator ce are o anumita adresa IP este programul ping. Un simplu exemplu ar fi rularea programului ping din Windows. Pentru a vedea daca putem avea o legatura cu serverul avand IP-ul 33.33.28.124 se porneste un Command prompt si se tasteaza ping 33.33.28.124. Daca avem o ruta valida spre adresa respectiva rezultatul arata asemanator cu cel de jos

Pinging 33.33.28.124 with 32 bytes of data:

Reply from 33.33.28.124: bytes=32 time=21ms TTL=128
Reply from 33.33.28.124: bytes=32 time=1ms TTL=128
Reply from 33.33.28.124: bytes=32 time=1ms TTL=128
Reply from 33.33.28.124: bytes=32 time<10ms TTL=128

iar daca nu avem o ruta valida spre adresa IP respectiva rezultatul arata asemanator cu cel de jos

Pinging 33.33.28.124 with 32 bytes of data:

Destination host unreachable.
Destination host unreachable.
Destination host unreachable.
Destination host unreachable.

Domeniile si DNS-ul

Domeniile sunt denumirile prietenoase de genul www.hotmail.com sau www.yahoo.com. Fiecare dintre aceste domenii are atribuita cel putin o adresa IP. Sistemul care se ocupa cu traducerea domeniilor in adrese IP se numeste DNS (domain name system). DNS-ul este o baza de date distribuita pe tot internetul. Se numeste distribuita deoarece nu exista un singur server care sa aiba toata informatia necesara traducerii oricarui domeniu intr-o adresa IP. Fiecare server mentine o baza de date cu propriile domenii pe care sistemele de pe internet pot sa o interogheze.

Revenind la exemplul de mai sus trebuie precizat ca pentru a testa existenta unei rute valide catre un anumit site se poate utiliza si o comanda de genul:
ping www.link.ro. In anumite situatii aceasta metoda poate fi considerata o metoda de determinare a adresei IP a unui site.

Despre e-mail

Figura de mai jos prezinta pe scurt drumul facut de un e-mail de la expediere si pana la destinatie.

SMTP

Comunicarea intre aplicatia utilizator si serverul mail la expedierea mesajelor se realizeaza cu ajutorul protocolului SMTP. Comenzile sunt trimise de programul client in siruri de caractere inteligibile pentru om.

Cea mai simpla metoda pentru a intelege protoculul SMTP este trimiterea unui mesaj de posta electronica fara o aplicatie specializata. Pentru a va conecta la un server de e-mail se lanseaza un Command prompt in care se tasteaza telnet xxx.xxx.xxx.xxx 25, unde xxx.xxx.xxx.xxx reprezinta adresa IP a serverului de e-mail. Dupa cum se vede si din comanda legatura se realizeaza pe portul 25. Daca totul este in regula primiti un mesaj de "bun venit" avand codul 220.

Dupa realizarea conexiunii clientul se identifica cu ajutorul comenzii HELO domain.ro unde domain.ro reprezinta numele complet al domeniului clientului.

Urmatorul pas este precizarea adresei expeditorului. Pentru aceasta se tasteaza MAIL FROM: expeditor@domain.ro unde expeditor@domain.ro se inlocuieste cu adresa dumneavoastra de e-mail. Daca totul este in ordine primiti un mesaj de genul: sender OK.

Urmatorul pas consta in precizarea adresei destinatarului cu ajutorul comenzii RCPT TO: destinatar@destinatardomain.ro unde destinatar@destinatardomain.ro se inlocuieste cu adresa de e-mail a destinatarului. Daca totul este in regula primiti un mesaj de genul: rcpt OK. In cazul in care primiti un mesaj de genul relaying denied inseamna ca serveul nu accepta trimiterea mesajului. Aceasta problema apare datorita faptului ca fiecare server de e-mail trebuie configurat sa accepte trimiterea de mesaje doar de pe anumite domenii si doar de la anumite adrese IP, in caz contrar serverul neconfigurat corect poate fi utilizat de terte parti pentru trimiterea de mesaje SPAM, adica mesaje publicitare nesolicitate.

Daca totul a decurs corect pana in acest moment puteti tasta comanda DATA dupa care se introduce textul mesajului.

In cele din urma dupa ce ati terminat de introdus mesajul se tasteaza caracterul . (punct) urmat de ENTER, moment in care daca totul este in regula primiti un mesaj de genul: message was accepted for delivery.

POP3 - IMAP

POP3 si IMAP sunt doua protocoale diferite ce permit aplicatiilor de genul Mozilla Thunderbird sau Microsoft Outlook accesarea casutei postale de pe server.

Daca utilizati protocolul IMAP toate mesajele dumneavoastra sunt stocate pe server. Aceasta metoda are avantajul de a nu ocupa spatiu pe calculatorul client si da rezultate bune pe conexiuni lente deoarece initial se descarca doar header-ele mesajelor. Continutul si atasamentele mesajului sunt descarcate numai daca este nevoie.

Daca utilizati protocolul POP3 mesajele dumneavoastra sunt descrcate de pe server pe hard-disk-ul local, toate deodata, in momentul in care doriti citirea mesajelor. Daca utilizati mai multe calculatoare pentru accesarea postei electronice pot aparea desincronizari suparatoare iar mesajele dumneavoastra sfarsesc in a fi imprastiate pe mai multe calculatoare. Pentru a evita aceasta situatie trebuie sa configurati un singur client sa stearga mesajele de pe server dupa descarcarea lor. Dezavantajul in aceasta situatie este ca unele mesaje vor fi descarcate de mai multe ori din nou si din nou, pana cand in cele din urma se acceseaza casuta postala de pe calculatorul configurat sa stearga mesajele de pe server dupa descarcare.

Configurarea programelor client de posta electronica

Vom trece in revista informatiile necesare pentru a configura un program client de e-mail de genul Microsoft outlook sau Mozilla Thunderbird:

e-mail address adresa dumneavoastra de e-mail
incoming mail server adresa IP a serverului unde este casuta dumneavoastra de posta electronica (va fi accesat prin POP3 sau IMAP)
outgoing mail server adresa IP a serverului ce va fi accesat prin SMTP la trimiterea mesajelor
account name (user name) nume de utilizator, necesar pentru secventa de autentificare in momentul in care se acceseaza casuta postala prin POP3 sau IMAP
password parola, este necesara tot in momentul autentificarii in vederea descarcarii mesajelor

Anexa: Structura pachetelor TCP/IP

Figura de mai jos prezinta structura unui pachet TCP/IP

4 biti - versiunea 4 biti - lungime header 8 biti - tipul de serviciu
16 biti - lungime totala (in octeti)
16 biti - identificare
3 biti - date fragmentare 13 biti - fragment offset
8 biti - timpul de traire TTL 8 biti - protocol
16 biti - biti pentru cotrolul integritatii header-ului
32biti - adresa IP a sursei
32biti - adresa IP a destinatarului
32biti - optiuni (daca este cazul)
DATE