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í sa jednať o 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, TCP/443 a s QUIC aj UDP/80, UDP/443;
- DNS server: UDP/53 a TCP/53;
- súborový server FTP: kontrolné spojenie TCP/21 (a spätné dátové spojenie TCP/20);
- konzola cez telnet: TCP/23;
- konzola cez SSH: TCP/22;
- poštový server SMTP(s): TCP/25, TCP/465;
- poštový server POP3(s): TCP/110, TCP/995;
- poštový server IMAP4(s): TCP/143, TCP/993.
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. 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. Toto je možné preveriť príkazmi:
netsh int ipv4 show dynamicport tcp/netsh int ipv6 show dynamicport tcpnetsh int ipv4 show dynamicport udp/netsh int ipv6 show dynamicport udp
A prípadne zmeniť nastavenie:
netsh int ipv4 set dynamicport tcp start=49152 num=16384
/netsh int ipv6 set dynamicport tcp start=49152 num=16384netsh int ipv4 set dynamicport udp start=49152 num=16384
/netsh int ipv6 set dynamicport udp start=49152 num=16384