14 lines
1.7 KiB
Markdown
14 lines
1.7 KiB
Markdown
# TCP
|
|
|
|
`TCP`, acronimo di *Transmission Control Protocol*, è un protocollo del livello 4 (transport layer) che si distingue per il suo approccio connection-oriented, a differenza di UDP. Questo significa che TCP stabilisce una connessione affidabile tra i processi degli host prima di iniziare lo scambio di informazioni, garantendo così una trasmissione sicura e ordinata.
|
|
|
|
Le principali caratteristiche di TCP:
|
|
|
|
- **Connection-Oriented**: prima dell'invio dei dati, TCP stabilisce una connessione tra le due estremità attraverso il meccanismo del `three-way handshake` (`SYN`, `SYN-ACK`, `ACK`). La chiusura della connessione avviene in modo simile, utilizzando un meccanismo che assomiglia a un three-way handshake (`FIN`, `FIN-ACK`, `ACK`)
|
|
|
|
- **Affidabilità**: TCP è progettato per ambienti in cui è fondamentale non perdere informazioni. TCP effettua la *rilevazione degli errori* mediante il controllo del checksum, in modo analogo a UDP. Inoltre, garantisce il corretto ordinamento dei segmenti, poiché questi potrebbero pervenire in ordine diverso da quello in cui sono stati inviati. Infine, TCP scarta i pacchetti duplicati, assicurando la precisione e l'integrità dei dati trasmessi
|
|
|
|
- **Full Duplex**: la comunicazione è bidirezionale, ovvero i dati possono essere inviati e ricevuti simultaneamente su entrambi i lati della connessione.
|
|
|
|
- **Controllo del flusso e della congestione**: TCP regola la velocità di invio dei dati in base alla capacità del ricevente, evitando di sovraccaricarlo. Questa gestione avviene attraverso meccanismi di controllo delle finestre di trasmissione e ricezione. Inoltre, TCP adotta algoritmi per il controllo della congestione, riducendo la velocità di trasmissione in caso di congestione della rete
|