Skip to main content

10.2 Porty TCP a UDP

Každá bežiaca služba na serveri, ktorá chce poskytovať službu po sieti, musí umožniť klientom pripojenie. To dosiahne tým, že „počúva“ na konkrétnom porte - napríklad služba webového servera na TCP/80. Aby sa mohla nadviazať konverzácia / vytvoriť spojenie, klient sa pripája na tento konkrétny port, pričom i na jeho strane sa v klientskej aplikácii otvorí port, na ktorý potom budú chodiť odpovede. Na rovnakom serveri (na tej istej IP adrese) môže súčasne bežať iná služba, no tá počúva na inom porte - napríklad poštová služba na TCP/25.

Porty teda rozlišujú na jednej strane jednotlivé služby servera a na strane druhej zase klientske aplikácie. Nemusí to byť server v zmysle vyhradeného počítača poskytujúceho služby - serverom môže byť aj akýkoľvek počítač poskytujúci ľubovoľnú službu v režime peer-to-peer (napríklad zdieľanie tlačiarne, či súborov), ale aj ľubovoľná aplikácia, ktorá umožňuje pripojenie klientov.

Čísla portov sú v TCP nezávislé od UDP (teda oba protokoly majú svojich 65536 portov) a je možné ich rozdeliť do troch rozsahov:

1. Dobre známe porty 0 až 1023: sú v ňom definované štandardné čísla portov (spravuje organizácia IANA) pre historicky najvýznamnejšie internetové služby, ako napríklad:

  • webový server HTTP(S):
    • TCP/80 - nešifrovaný,
    • TCP/443 - šifrovaný cez TLS,
    • UDP/443 - šifrovaný protokol QUIC (HTTP/3);
  • DNS server: UDP/53 a TCP/53;
  • konzola cez telnet: TCP/23 - zastaraný, nešifrovaný, nemal by sa používať;
  • konzola cez SSH a súborový server SFTP (SSH FTP): TCP/22;
  • monitoring a manažment zariadenia cez SNMP: UDP/161;
  • súborový server FTP(S) - zastaraný (nešifrovaný FTP i šifrovaný variant FTPS):
    • kontrolné spojenie na TCP/21,
    • dátové spojenie na dynamický port (môže byť rôzny, pre každého klienta samostatný);
  • súborový server SMB (NAS, Windows zdieľanie, Linux Samba): TCP/445;
  • poštový server SMTP(S):
    • TCP/25 - nešifrovaný, používajú ho už len SMTP servery medzi sebou,
    • TCP/465 - šifrovaný cez TLS, používajú klientske aplikácie na odoslanie e-mailu;
  • poštový server POP3(S):
    • TCP/110 - zastaraný, nešifrovaný, nemal by sa používať,
    • TCP/995 - šifrovaný cez TLS;
  • poštový server IMAP4(S):
    • TCP/143 - zastaraný, nešifrovaný, nemal by sa používať,
    • TCP/993 - šifrovaný cez TLS.

2. Registrované porty 1024 až 49151: ďalšie čísla portov, ktoré boli registrované v organizácii IANA.

3. Dynamické porty 49152 až 65535: využívajú sa na strane klienta pre identifikáciu konverzácie so serverom, a to za účelom prijatia odpovede - postupne sa recyklujú.

Príklad: Ak sa chce webový prehliadač z počítača 192.168.1.10 pripojiť na webovú službu servera 192.168.1.1, vytvorí sa spojenie napríklad zo 192.168.1.10:49152 (zdrojový soket) na 192.168.1.1:80 (cieľový soket) - túto dvojicu sieťových soketov nazývame soketový pár a identifikuje jednu konverzáciu.

Prehľad aktuálne nadviazaných spojení je možné vo Windows i v Linux zobraziť príkazom netstat, prípadne aj s otvorenými „počúvajúcimi“ sieťovými portami netstat -a. v Linuxe je však tento príkaz už zastaraný a nahrádza ho príkaz ss. Vo Windows môžeme využiť aj Monitor prostriedkov.

Niektoré verzie Windows nerešpektovali rozsah dynamických portov a používali aj porty nižšie (bolo to v dobách do Windows XP). Toto je možné preveriť príkazmi:

# IPv4
netsh int ipv4 show dynamicport tcp
netsh int ipv4 show dynamicport udp

# IPv6
netsh int ipv6 show dynamicport tcp
netsh int ipv6 show dynamicport udp

A prípadne zmeniť nastavenie:

# IPv4
netsh int ipv4 set dynamicport tcp start=49152 num=16384
netsh int ipv4 set dynamicport udp start=49152 num=16384

# IPv6
netsh int ipv6 set dynamicport tcp start=49152 num=16384
netsh int ipv6 set dynamicport udp start=49152 num=16384