Perché UDP è il protocollo di trasporto preferito per VoIP: basso overhead e latenza
VoIP (Voice over IP) utilizza schiacciante mente UDP (User Datagram Protocol) invece di TCP (Transmission Control Protocol) come livello di trasporto. Il fattore decisivo non è una singola caratteristica, ma un insieme di caratteristiche UDP che si allineano perfettamente con i requisiti della voce in tempo reale. Ecco la ripartizione tecnica.
Il vantaggio principale: overhead minimo dell'intestazione
Intestazione UDP: 8 byte fissi vs Intestazione TCP: 20–60 byte (20 base + opzioni).
Per un tipico pacchetto VoIP:
- Payload: 20 ms G.711 = 160 byte | G.729 = 20 byte | Opus = 20-60 byte
- Intestazione IP: 20 byte (IPv4) / 40 byte (IPv6)
- Totale UDP: 188 byte (G.711) → 4,3% di overhead
- Totale TCP: 200+ byte → 20%+ di overhead
Su un flusso di 50 pacchetti al secondo (packetizzazione 20 ms), UDP risparmia ~600 byte/sec = ~4,8 kbps per chiamata. Su migliaia di chiamate simultanee, questa è un'efficienza di banda massiccia.
Latenza e jitter: i vantaggi strutturali di UDP
Nessuna stabilimento della connessione
- TCP: handshake a 3 vie (SYN, SYN-ACK, ACK) = 1,5–3 RTT prima del primo byte
- UDP: invia e dimentica — il primo pacchetto arriva in 1 RTT
- Critico per: configurazione chiamata (SIP INVITE), recupero sessione dopo handoff
Nessun head-of-line blocking
- TCP: pacchetto perso → il ricevitore bufferizza i pacchetti successivi fino all'arrivo della ritrasmissione
- UDP: pacchetto perso → gap nella riproduzione (nascosto da PLC) — i pacchetti successivi vengono riprodotti in orario
- La voce tollera la perdita (1-5% impercettibile con PLC); non può tollerare ritardo variabile
Nessun backoff di controllo della congestione
- TCP: interpreta la perdita come congestione → riduce cwnd → riduce il tasso → aggiunge ritardo
- UDP: l'applicazione controlla il tasso (bitrate costante per la voce) — nessun throttling automatico
- VoIP usa RTCP per i rapporti del ricevitore, non il controllo della congestione in stile TCP
Cosa manca a UDP — e perché a VoIP non serve
| Funzionalità TCP | Scopo | Perché VoIP non lo usa |
|---|---|---|
| Consegna affidabile (ACK/ritrasmissione) | Integrità dei dati | Ritrasmissione tardiva > perdita. Budget di 150 ms. PLC nasconde la perdita. |
| Ordinamento | Integrità della sequenza | I numeri di sequenza RTP gestiscono il riordino a livello applicativo |
| Controllo di flusso | Protezione buffer del ricevitore | La voce a bitrate costante non sopraffà; il jitter buffer assorbe |
| Controllo della congestione | Equità della rete | RTCP/XR monitora; l'app adatta codec/bitrate (es. Opus VBR) |
Lo stack di protocolli VoIP
Applicazione: SIP (segnalizzazione) / RTP (media) Trasporto: UDP (RTP) | TCP/TLS (SIP spesso) Rete: IP Link: Ethernet / Wi-Fi / 5G
Nota: la segnalizzazione SIP usa spesso TCP/TLS per affidabilità (la configurazione della chiamata deve riuscire). Ma i media (RTP) usano sempre UDP.
Quando TCP viene usato per i media (raro)
- Firewall restrittivi che bloccano UDP (aziendali, hotel, alcuni paesi)
- Tunneling TCP: relay TURN, VPN, proxy TLS
- WebRTC: usa ICE → prova UDP → ricade su TCP (TURN-TCP) → ultima spiaggia
- Qualità peggiore: latenza, jitter e glare più alti. Accettabile solo quando UDP è impossibile.
Migliorie moderne su UDP
- QUIC (HTTP/3): basato su UDP, include flussi affidabili — non per la voce (troppo pesante)
- RTP/RTCP: compensazione del jitter, NACK, FEC, stima della banda
- Codec Opus: bitrate adattivo, FEC, DTX, PLC — rende UDP resiliente alle perdite
- SRTP: cifratura/authenticazione su UDP — nessun TCP necessario per la sicurezza
In sintesi
L'intestazione di 8 byte di UDP, la semantica senza connessione e l'assenza di head-of-line blocking lo rendono l'unico protocollo di trasporto che rientra nel budget di latenza rigido della voce (150 ms monodirezionale, ITU-T G.114). Le funzionalità di affidabilità di TCP diventano passività per i media in tempo reale. VoIP non funziona su UDP perché è "veloce"—funziona su UDP perché le garanzie di TCP sono fondamentalmente incompatibili con la fisica della conversazione.