Un port de rețea reprezintă partea dintr-o adresă de rețea de calculatoare care determină atribuirea conexiunilor TCP/UDP și a pachetelor de date către serverele și programele client de către sistemele de operare. Fiecare conexiune a acestor protocoale are două porturi, unul la client și unul la server. Într-un computer pot fi intre 0 și 65535 de porturi asociate unor anumite sarcini.
Etimologia termenului port în informatică este cuvântul latin porta (poartă, acces).
Când un calculator cere să se conecteze la un server web, el se conectează la o adresă IP. La conectare, în afară de adresa IP trebuie specificat și portul la care se dorește conectarea. De exemplu, dacă se precizează portul 80, clientul solicită aplicațiile de pe un server care asigură servicii web (192.168.1.10 : 80 - HTTP).
Numere de porturi
Conceptul de numere de porturi a fost stabilit de dezvoltarea rețelei ARPANET odată cu introducerea sistemului TCP/IP în anul 1973.
Un port se distinge prin numărul său. Numerele de porturi sunt utilizate pentru a ține evidența diferitelor servicii ce traversează rețeaua în același timp.
Numărul de port este codat pe 16 biți, astfel există un maxim de 216 (65 536) porturi separate.
Aceste porturi sunt clasificate în 3 categorii în funcție de importanța lor:
- Porturi cunoscute (well known ports): porturile de la 0 la 1023 alocate de IANA (Internet Assigned Numbers Authority), corespund porturilor celor mai utilizate pentru servicii comune de rețea. De obicei sunt folosite de aplicații cum ar fi servere HTTP (server web), SMTP/POP3 (server email) și Telnet. Până în anul 1992, numerele dintre 256 și 1023 au fost folosite de serverele specifice UNIX. Porturile cunoscute sunt de regulă impare, deoarece sistemele mai vechi care foloseau conceptul de port aveau nevoie de o pereche impar/par de porturi pentru comunicația duplex. Majoritatea serverelor necesită numai un singur port. Excepții sunt serverul BOOTP (Bootstrap Protocol), care folosește porturile 67, 68 și serverul FTP, care folosește 20, 21.
- Porturi înregistrate (registered ports): numere de porturi cu valori cuprinse între 1024 și 49151; sunt alocate aplicațiilor și proceselor utilizatorului și corespund porturilor înregistrate atribuite de IANA.
- Porturi private și/sau dinamice (dynamic/private ports): numere de porturi cu valori cuprinse între 49152 - 65535; numite și porturi efemere, sunt utilizate ca porturi temporare, acestea nu sunt controlate de IANA. Unele programe de partajare P2P și torrent folosesc aceste porturi.[1]
Funcționare
Pentru a diferenția datele fiecărei aplicații, TCP și UDP adaugă în componența pachetelor trimise un număr unic. Aceste numere unice sunt numerele porturilor.
Numerele porturilor sunt adresate în diferite moduri, în funcție de tipul mesajului, dacă acesta este o cerere sau un răspuns. Programele server au porturi alocate static, în timp ce programele client alocă dinamic numere pentru fiecare conexiune.
Când un program trimite o cerere, numărul portului conținut în pachet ca și destinație, este numărul alocat acelui tip de server. Softul client trebuie să cunoască ce număr de port este asociat acelui tip de server. Acest număr este de obicei un număr rezervat sau este alocat manual. De exemplu, când un browser face o cerere la un server, acesta folosește protocolul TCP pe portul 80, dacă nu este specificat alt număr pentru acel server. Aceasta pentru că portul TCP 80 este rezervat pentru serverele web.
Numărul portului sursă din cererea unui client este adresat dinamic, fiind un număr mai mare de 1023 și care nu este folosit de alt program pe acel sistem. Acest număr de port sursă funcționează ca și o adresă de revenire pentru programul client. Astfel TCP și UDP țin evidența porturilor deschise de aplicații, pentru a face forward corect răspunsurilor venite de la server. Numărul de port deschis de client este folosit ca și port destinație în răspunsul trimis de server.
Combinația dintre număr de port și adresa IP se numește soclu (socket) și identifică procesul daemon care rulează pe server. (o cerere HTTP trimisă la server pe portul 80, aflat la adresa IP 192.168.20.1, este destinată socket-ului 192.168.20.1:80; web browserul care face cererea la server are adresa 192.168.100.12 de pe portul 33198, pagina web este trimisă de server socket-ului 192.168.100.12:33198). [2]
Exemple
Cele mai utilizate porturi sunt:
Vezi și
Referințe și note
Legături externe