Protocolli TCP vs UDP
Sia TCP che UDP rientrano nel quarto livello del modello OSI, che è il livello di trasporto appena sopra il livello IP. TCP e UDP supportano entrambi la trasmissione dei dati in due modi diversi, TCP è orientato alla connessione e UDP è meno connesso.
Nel trasporto di pacchetti ci sono due principali vincoli uno è l'affidabilità e l'altro è la latenza. L'affidabilità è garantita la consegna del pacchetto e la latenza è la consegna tempestiva del pacchetto. Entrambi non possono essere raggiunti per raggiungere il picco allo stesso tempo, ma potrebbero essere ottimizzati.
Per avviare una comunicazione dati tra due nodi, il mittente deve conoscere l'IP del destinatario e il numero di porta. L'indirizzo IP serve per instradare il pacchetto e il numero di porta serve per consegnare il pacchetto alla persona corretta. Spiegando ulteriormente questo scenario in un esempio del mondo reale, pensa a un ambiente con più complessi commerciali e qualcuno ti ha indirizzato a fare acquisti 30 (che è un barbiere), Golden Plaza, No 21 Park Ave, per raggiungere questo posto devi sapere solo No 21 park avenue ma per ottenere il servizio dal saloon è necessario conoscere il numero del negozio che è 30. Si può assumere n. 21 come indirizzo IP e negozio n. 30 come porta n.
Come nel modello di comunicazione dati e servizi applicativi, le applicazioni TCP ascoltano i numeri di porta per accettare le connessioni TCP. Come le applicazioni UDP, ascoltano anche i numeri di porta per fornire servizi UDP.
TCP:
Definito in RFC 793
TCP è un protocollo affidabile end-to-end orientato alla connessione per supportare la trasmissione dati garantita. Dalla creazione della connessione stessa TCP garantisce l'affidabilità. Alcune delle caratteristiche principali di TCP sono l'handshake a 3 vie (SYN, SYN-ACK, ACK), il rilevamento degli errori, l'avvio lento, il controllo del flusso e il controllo della congestione.
TCP è un meccanismo di trasporto affidabile, quindi verrà utilizzato laddove la consegna dei pacchetti è un must anche nelle congestioni. Un tipico esempio di applicazioni e numeri di porta TCP sono dati FTP (20), controllo FTP (21), SSH (222), Telnet (23), Mail (25), DNS (53), HTTP (80), POP3 (110), SNMP (161) e HTTPS (443). Queste sono applicazioni TCP ben note.
UDP:
Definito in RFC 768
UDP (User Datagram Protocol) è un semplice protocollo di trasmissione che fornisce un servizio inaffidabile. Ciò non significa che UDP non fornirà i dati, ma non ci sono meccanismi per monitorare il controllo della congestione o la perdita di pacchetti, ecc. Dato che è semplice, evita l'elaborazione in testa all'interfaccia di rete. Le applicazioni in tempo reale utilizzano principalmente UDP perché è preferibile eliminare i pacchetti rispetto ai pacchetti ritardati. Un tipico esempio sono i flussi multimediali di Voice over IP.
Sommario:
(1) TCP è orientato alla connessione e affidabile, mentre UDP è meno connesso e inaffidabile.
(2) TCP necessita di più elaborazione a livello di interfaccia di rete, mentre come in UDP non lo è.
(3) TCP utilizza, handshake a 3 vie, controllo della congestione, controllo del flusso e altri meccanismi per garantire la trasmissione affidabile.
(4) UDP viene utilizzato principalmente nei casi in cui il ritardo del pacchetto è più grave della perdita di pacchetti. (Applicazioni in tempo reale)