Come un Server UNIX Instrada il Traffico Web e FTP Utilizzando i Numeri di Porta
Multiplexing di servizi basato su porte su UNIX
Un singolo server UNIX può ospitare più servizi Internet (web, FTP, posta, SSH) contemporaneamente utilizzando numeri di porta per distinguere il traffico in entrata.
Assegnazioni porte standard
- Porta 80 (HTTP): Traffico web non cifrato.
- Porta 443 (HTTPS): Traffico web cifrato (TLS/SSL).
- Porta 21 (FTP Controllo): Canale di comando per trasferimenti file.
- Porta 20 (FTP Dati): Canale dati (modalità attiva).
- Porta 22 (SSH): Accesso shell sicuro.
- Porta 25 (SMTP): Posta in uscita.
Flusso di gestione pacchetti
- Il client avvia una connessione all'IP del server + porta di destinazione (es. 203.0.113.10:80).
- Il pacchetto arriva all'interfaccia di rete del server.
- Il kernel esamina il campo porta di destinazione dell'intestazione TCP/UDP.
- Il kernel inoltra il pacchetto al processo userspace associato a quella porta (es. Apache/Nginx sulla porta 80, vsftpd sulla porta 21).
- Il processo gestisce la richiesta e risponde tramite la stessa porta.
Esempio di configurazione
# /etc/services (riferimento) http 80/tcp https 443/tcp ftp 21/tcp ssh 22/tcp I firewall (iptables, nftables, ufw) usano anche i numeri di porta per consentire/bloccare servizi specifici.
Questo demultiplexing basato su porte è fondamentale per il networking TCP/IP e consente un hosting multi-servizio efficiente e sicuro.