Evident, cea mai comună utilizare a cuvântului port se referă la transport maritim. Cu toate acestea, informatica folosește și termenul de port. De fapt, are două utilizări. Prima se referă la priza în care poate fi conectat un cablu. Exemplele tipice ar include un port USB sau ethernet. Din punct de vedere tehnic, o priză ethernet ar putea fi considerată ca un port de rețea. Acesta nu este sensul acceptat al cuvântului port în rețea. Un port de rețea este un număr logic care identifică procesul sau serviciul de rețea pentru care este destinat sau este trimis.
De ce sunt necesare numerele de port?
Când computerul dumneavoastră comunică cu un server web de pe internet, acesta își pune adresa IP în câmpul expeditorului. Acest lucru permite serverului să știe la ce adresă IP are nevoie pentru a trimite răspunsul. Când acel răspuns revine pe computer, browserul interpretează răspunsul și redă pagina web.
Acest lucru funcționează bine într-un sistem ideal cu o singură bucată de software care creează și primește trafic de rețea. Totuși, lumea reală nu este așa. În orice computer, există o serie de software care fac trafic în rețea. Pentru a vă asigura că traficul de rețea este transmis corect programului potrivit, în unele cazuri, procesul adecvat într-un program. Un strat de adresare final este utilizat numărul portului.
Imaginați-vă că aveți un browser web cu două file deschise și un joc video online simultan. Fiecare filă de browser trebuie să poată trimite și primi trafic de rețea, potențial simultan. De asemenea, jocul online trebuie să trimită și să primească trafic de rețea. Nu doriți ca jocul dvs. să filtreze răspunsurile web aleatorii și nici nu doriți ca browserul dvs. să filtreze traficul din joc. Ambelor file și jocului li se va aloca cel puțin un port de rețea fiecare, astfel încât procesul destinatarului vizat să poată fi determinat cu ușurință.
Același lucru funcționează și pentru servere. Să presupunem că aveți un server care rulează atât un server web, cât și un server de e-mail. În acest caz, numărul portului permite sistemului de operare să diferențieze cu ușurință pachetele de rețea pentru care serviciu.
Ce sunt numerele de port?
Numerele de port iau forma unui întreg fără semn pe 16 biți. Aceasta înseamnă că există șaisprezece biți binari pentru a alcătui numerele, nu există numere negative și toate numerele sunt întregi. Acest lucru permite 65536 de numere de porturi posibile, cuprinse între 0 și 65535. Nu există un sistem de port fizic.
Întreaga schemă de adresare, ca și în cazul adreselor IP și adreselor MAC, este complet logică. Ați putea să vă gândiți la adresele IP și MAC ca la adresa de pe o scrisoare pentru a o duce acasă/computer. În această analogie, numărul portului ar fi ca numele de pe plic, asigurându-vă că ajunge la persoana/procesul potrivit din casa/computorul dumneavoastră.
În spațiul numărului de port, există o altă structură. Portul numărul 0 este rezervat. În traficul TCP, 0 este complet neutilizat. În traficul UDP, numărul portului este opțional, cu un port de 0 însemnând „fără port”. Acest lucru funcționează pentru UDP, deoarece este un protocol fără stat care nu așteaptă neapărat un răspuns. Porturile TCP și UDP sunt separate. Un serviciu se poate lega la unul sau mai multe porturi pe unul sau ambele protocoale. Serviciile care le folosesc pe ambele se atașează de obicei la aceleași numere de port în TCP și UDP.
Porturile 1-1023 sunt cunoscute ca porturi „cunoscute” și, în general, necesită permisiuni administrative pentru a se lega. Unele porturi binecunoscute sunt 80 pentru HTTP, 443 pentru HTTPS și 53 pentru DNS. În continuare, aveți intervalul 1024 – 49151. Acestea sunt cunoscute ca porturi „înregistrate”. Acestea sunt porturi utilizate în mod regulat de anumite servicii, dar acest lucru nu este suficient de comun sau nu a fost suficient de devreme pentru a obține un număr sub 1023. Porturile între 49152 și 65535 sunt cunoscute ca porturi efemere.
Utilizarea numerelor de port
IANA, Internet Assigned Numbers Authority, menține listele de porturi binecunoscute și înregistrate. Porturile cunoscute au asociat un singur serviciu. Porturile înregistrate, totuși, pot avea o serie de servicii cunoscute care utilizează portul în mod implicit.
În general, nimic nu oprește de fapt vreun program să se lege la orice număr de port. După cum sa menționat mai sus, numerele de port sub 1024 tind să necesite permisiuni administrative sau root pentru a se lega. Totuși, puteți forța orice serviciu să se lege la portul 80, de exemplu, chiar dacă nu este un server web. Numerele de porturi din intervalele bine-cunoscute și înregistrate tind să fie utilizate numai de ascultătorii din rețea, cu porturile efemere utilizate în general pentru a iniția conexiuni.
Un ascultător este un port care este deschis și lăsat deschis. Ascultă mesajele, astfel încât să le poată procesa și să trimită un răspuns. Acesta este aproape exclusiv comportamentul serviciilor de tip server, cum ar fi un server web. Serverul web ar fi găzduit pe porturile 80 și 443, în timp ce un browser care se conectează la acele porturi ar folosi local un port efemer.
Numerele standard de porturi pentru ascultătorii de aplicații înseamnă că este ușor să știi cum să te conectezi efectiv la un serviciu. De exemplu, când puneți HTTPS în fața unei adrese URL, browserul dvs. presupune în mod implicit că trebuie să se conecteze la portul 443. În unele cazuri, ascultătorii vor fi configurați pe porturi alternative. Acest lucru se poate datora faptului că un alt serviciu sau o versiune a serviciului utilizează deja portul standard. Poate fi, de asemenea, o încercare de securitate prin obscuritate.
Concluzie
Un port de rețea este o adresă logică. Software-ul se poate lega la un port, astfel încât sistemul de operare știe că orice trafic trimis către acel port este destinat procesului respectiv. Numerele porturilor variază de la 0 la 65535. Multe servicii sunt asociate cu un număr de port standard. Serverele folosesc aceste porturi, în timp ce dispozitivele care se conectează la ele folosesc porturi aleatorii cu număr mare. Acest lucru permite o conexiune ușoară implicită la servicii și se asigură că conectarea la un astfel de serviciu nu vă împiedică să găzduiți singur un alt serviciu.