🍪 Można ciasteczko?

Ta strona chce wykorzystywać pliki cookie do analizowania ruchu oraz mierzenia skuteczności i personalizacji reklam zgodnie z polityką prywatności. Zgadzasz się?

PORADNIKI

6 min. czytania

Porty protokołów (internetowe, sieciowe): Lista z omówieniem

Porty protokołów

Fot. Storyset

Lista portów protokołów sieciowych (internetowych). Kompletna lista wraz z omówieniem. Poznaj numery portów i przypisane im usługi.

Spis treści
Serwer

Czym są porty protokołów? Ile ich jest i co oznaczają poszczególne cyfry i liczby? Przyjrzyjmy się trzem grupom portów, używanych do ściśle określonych celów. Poznaj standardowe usługi korzystające z portów i dowiedz się, jak przydzielane są one do konkretnych numerów.

Internet jest niezwykle skomplikowanym systemem połączeń, a porty protokołów ułatwiają jego „uporządkowanie”. Z ich pomocą rozpoznanie danego procesu nie stanowi większego problemu, nawet w odległych od siebie systemach.

Numery portów reprezentowane są przez obszerny szereg cyfr i liczb naturalnych. Dodatkowo podzielone są na kilka grup. Wynika to z faktu, że niektóre numery portów są zarezerwowane tylko dla określonego typu usług. Wprowadzenie klasyfikacji pozwala więc zachować nad nimi kontrolę. Jednocześnie sprawia, że aplikacjom przydzielane są stałe numery.

Port protokołu – co to jest?

Port protokołu to jeden z parametrów gniazda. Służy do identyfikowania procesów działających na odległych systemach. Związany jest z rozmaitymi protokołami komunikacyjnymi, jak np. HTTPS. To, jaki jest konkretny numer portu dla określonego procesu lub usługi, definiuje IANA. Aby rozjaśnić tę definicję, warto wiedzieć, że:

  • gniazda – są to w telekomunikacji pojęcia reprezentujące dwukierunkowy punkt końcowy połączenia. Aplikacje wykorzystują je do komunikowania się przez sieć. Ich dwukierunkowość oznacza możliwość zarówno wysyłania, jak i odbierania danych;
  • IANA (ang. Internet Assigned Numbers Authority) – organizacja czuwająca nad „porządkiem” w internecie. Przyjrzymy jej się jeszcze bliżej w dalszej części tekstu.

Lista portów jest niezwykle długa. Są one bowiem reprezentowane przez liczby naturalne z zakresu 0-65535. Podzielone zostały przez IANA na trzy grupy:

  • ogólnie znane (ang. well known ports);
  • zarejestrowane (ang. registered ports);
  • dynamiczne/prywatne (ang. dynamically allocated ports/ephemeral ports).

Każda z nich została przez nas dokładnie scharakteryzowana i opisana. Przyjrzeliśmy się im w kolejnych rozdziałach tego artykułu.

Zastosowanie portów protokołów

Port sieciowy służy za punkt końcowy komunikacji. Wykorzystywany jest przez protokoły Transport Layer pakietu protokołu internetowego. Mowa tu o TCP i UDP, czyli kolejno:

  • protokole kontroli transmisji,
  • protokole użytkownika.

Konkretny port sieciowy jest identyfikowany przez:

  • numer nazywany adresem IP lub numerem portu, z którym jest powiązany,
  • rodzaj protokołu transportowego, wykorzystywany do prowadzenia komunikacji.

Porty sieciowe są zatem wykorzystywane do przesyłania i odbierania określonych danych. Umożliwiają komunikowanie się adresu portu z innymi urządzeniami czy procesami. Są one w stanie odbierać różne usługi, których port docelowy odpowiada danemu numerowi portu. Wysyłają też pakiety wychodzące, jeśli ich port źródłowy odpowiada temu numerowi portu.

Przykład działania portów protokołów

Teoretyczny opis działania portów protokołów brzmi dość skomplikowanie. Warto więc zademonstrować to na przykładzie, który rozjaśni wiele kwestii. Załóżmy, że chcemy za pomocą przeglądarki połączyć się z adresem przykladowa-strona.pl. W takim przypadku:

  1. przeglądarka tworzy połączenie z adresem IP wpisanej strony;
  2. na serwerze użyty zostaje port TCP numer 80 (port serwerów WWW (internetowych);
  3. klient wykorzystuje dynamicznie przydzielony port;
  4. klient wywołujący witrynę WWW znajduje w lokalnej sieci zawartość znajdującą się pod danym adresem IP;
  5. dane przechodzą przez router i trafiają do użytkownika.

Grupy portów

Wspominaliśmy o istnieniu trzech różnych grup portów, służących do wykonywania różnorodnych zadań. Teraz szczegółowo omówimy każdą z grup, wskazując jej zastosowanie i przypisane numery portów, reprezentowane w danym zbiorze.

Well known ports (dobrze znane porty)

Dobrze znane porty mają przydzielone numery od 1 do 1023. Zarezerwowane są one dla standardowo przypisanych do nich usługi. Mowa tu np. o poczcie elektronicznej czy witrynach internetowych. Umożliwiają w ten sposób nie tylko identyfikację zachodzących procesów, ale także ogólnie znane usługi działające na odległych systemach.

W ich przypadku zarówno nadawca, jak i odbiorca, od razu wiedzą, jaki jest pożądany numer portu dla określonego procesu. W ten sposób możesz nawiązywać połączenie z wybranymi serwerami bez dodatkowej konfiguracji. Nadzór nad tym zbiorem ma IANA.

W internecie znajdziesz długą listę aktualnie przydzielonych numerów portów. Jest ona dostępna i na bieżąco aktualizowana pod adresem Iana.org/assignments/service-names-port-numbers/service-names-port-numbers.xhtml.

W systemach uniksopodobnych listę portów da się znaleźć również w inny sposób. Znajduje się ona w pliku /etc/services.

Co ciekawe, jeszcze do roku 1992 ta grupa portów obejmowała liczby z zakresu 1-255. Pozostałe, aż do 1023 zarezerwowane były wyłącznie dla usług uniksowych.

Registered ports (zarejestrowane porty protokołów)

Zarejestrowane porty protokołów skupiają numery w zakresie od 1024 do 49151. W tym przypadku określony port przypisany ma usługi korzystające z niego zwyczajowo. Oznacza to w praktyce, że para ta nie jest stała i nierozerwalna, tak jak w przypadku dobrze znanych portów. Najczęściej natomiast porty używane są z danymi liczbami dość często w tym samym celu.

Przykładem może być tu popularny port 3128. Zapewne kojarzy Ci się on z serwerami proxy i bardzo słusznie. Wykorzystywany jest jako alternatywny port HTTP.

Dynamically allocated ports/ephemeral ports (porty przydzielane dynamicznie)

Porty przydzielane dynamicznie obejmują numery od 49152 do 65535. Zasada ich działania jest w pełni zgodna z ich polską nazwą. W praktyce zatem możesz korzystać z nich tak długo, jak długo jednoznaczne będą:

  • numer portu,
  • adres IP,
  • kombinacja protokołu transportowego.

W tym przypadku proces potrzebujący dostępu do portu wysyła żądanie w tej kwestii do swojego hosta.

Standardowe usługi

Jest bardzo wiele różnych portów, używanych do rozmaitych celów. Na liście najpopularniejszych standardowych usług znajduje się m.in. port:

  • 20 – FTP (transfer plików i folderów),
  • 21 – FTP (transfer poleceń),
  • 22 – SSH (także SFTP),
  • 23 – Telnet,
  • 25 – SMTP,
  • 53 – DNS,
  • 67 – DHCP (serwer),
  • 68 – DHCP (klient),
  • 70 – Gopher,
  • 80 – HTTP,
  • 110 – POP3,
  • 143 – IMAP,
  • 443 – HTTPS (HTTP na SSL),
  • 989 – FTPs (transfer plików i folderów),
  • 990 – FTPs (transfer poleceń),
  • 3306 – MySQL,
  • 6379 – Redis,
  • i wiele innych.

Jak przydziela się numery portów do usług?

Wcześniej wspominaliśmy, że numery portów i listę nazw odpowiadających im usług konstruuje IANA. Jest to organizacja czuwająca nad porządkiem w nazwach domen internetowych i adresach IP komputerów w internecie. Jej zadaniem jest zarówno nadzór, jak i administracja systemu DNS na całym świecie.

To odpowiedzialne zadanie IANA realizuje wraz z inną organizacją – ICANN (ang. Internet Corporation for Assigned Names and Numbers). Ich wspólnym celem jest sprawienie, by system DNS działał bezustannie bez żadnego problemu. Dodatkowo są one także odpowiedzialne za wprowadzanie nowo zarejestrowanych domen do systemu.

Czy poszczególne numery portów przydzielone mogą być do różnych usług?

W zestawieniu popularnych, standardowych usług, można zauważyć interesujące zjawisko. Zdarzają się sytuacje, gdy jedna usługa korzysta z dwóch różnych portów, używanych jednak do innych zadań. Świetnym przykładem jest tu FTP. Korzysta z portu 20 do przesyłania i odbierania plików oraz folderów. Jednocześnie wykorzystuje 21 do przesyłania i odbierania poleceń.

Niecodzienne sytuacje zaobserwować się da natomiast także w „odwrotnym” kierunku. Są usługi korzystające jednocześnie z tego samego portu. Zdarza się to najczęściej, jeśli korzystają one w takim przypadku z dwóch różnych protokołów (np. protokołu TCP i UDP). Od tej reguły natomiast też zdarzają się wyjątki.

Różne usługi mogą używać także tego samego protokołu i numeru portu. Dotyczy to natomiast sytuacji sporadycznych i wyjątkowych, jak w przypadku DNS. Korzysta on z numeru 53, jednocześnie obsługując zarówno protokół UDO, jak i TCP.