Junior
Cos'è il protocollo TCP?
sobes.tech AI
Risposta dell'AI
TCP (Transmission Control Protocol) è un protocollo di livello di trasporto nello stack di protocolli TCP/IP, che garantisce una consegna affidabile e orientata alla connessione di un flusso di byte tra le applicazioni.
Caratteristiche principali di TCP:
- Affidabilità: Garantisce la consegna di tutti i segmenti di dati nell'ordine corretto, ritrasmettendo segmenti persi o danneggiati. Utilizza conferme (ACK) e timeout.
- Orientato alla connessione: Prima di trasmettere i dati, viene stabilita una connessione logica tra mittente e destinatario (stretta di mano a tre fasi). La connessione viene mantenuta per tutta la sessione.
- Controllo del flusso: Regola la velocità di trasmissione dei dati per evitare di sovraccaricare il buffer del destinatario. Utilizza una finestra di ricezione.
- Controllo della congestione: Previene il sovraccarico della rete regolando dinamicamente la velocità di trasmissione in base alle condizioni della rete. Utilizza algoritmi come Slow Start e Congestion Avoidance.
- Trasmissione in flusso: TCP considera i dati come un flusso continuo di byte, non come pacchetti separati. Garantisce che i dati vengano consegnati nello stesso ordine in cui sono stati inviati.
- Comunicazione duplex: Permette di trasmettere dati in entrambe le direzioni contemporaneamente dopo l'instaurazione della connessione.
Applicazioni di TCP:
- HTTP/HTTPS (traffico web)
- FTP (trasferimento di file)
- SMTP (posta elettronica)
- SSH (gestione remota)
Confronto con UDP:
| Caratteristica | TCP | UDP |
|---|---|---|
| Affidabilità | Alta (garanzia di consegna) | Bassa (senza garanzia) |
| Orientato alla connessione | Sì (stabilimento e mantenimento) | No (trasmissione senza stabilimento) |
| Ordinamento dei dati | Sì (consegna nell'ordine di invio) | No (può arrivare fuori ordine) |
| Controllo del flusso | Sì | No |
| Controllo della congestione | Sì | No |
| Velocità di trasmissione | Inferiore (a causa dei costi aggiuntivi) | Superiore |
| Esempi | HTTP, FTP, SSH, SMTP | DNS, DHCP, VoIP, giochi online |