La rete è dominata da tantissimi protocolli che ne regolano e controllano il funzionamento. In un articolo precedente abbiamo già parlato del protocollo IP. Ora ci ritroviamo a descrivere un’altro livello dei internet, quello che si occupa del trasporto dei segmenti all’interno della rete. In questo livello di astrazione, abbiamo due protocolli che padroneggiano: UDP e TCP. I protocolli di questo tipo sono richiamati dalle applicazioni e comunicano all’esterno tramite dei porti che servono per le operazioni di multiplexing e demultiplexing, ovvero un messaggio che arriva presso un host sa a che applicazione deve andare proprio grazie al numero di porto. Sottolineo il concetto che i protocolli come quelli appena enunciati lavorano al di sopra di IP e lo ignorano completamente, mentre IP al suo interno contiene messaggi incapsulati con uno dei due.
Il livello trasporto è stato aggiunto in Internet proprio per ovviare alle mancate garanzie del trasporto di informazioni offerto da IP. Ma andiamo ora a descrivere più nel dettaglio UDP e TCP.
Il protocollo UDP non offre funzionalità molto diverse da IP, non offre controllo congestione , controllo di flusso ne un trasporto affidabile. Allora ci chiederemo a cosa serve: esso comunque di occupa del mux e del demux ed è indicato per applicazioni in real-time come lo streaming, poiché invia tutti i pacchetti in maniera disorganizzata ma riesce a garantire un buon frame rate minimo, ottimo proprio per visualizzare video in rete e dove anche in caso di perdita di qualche paccheto non si hanno perdite tanto da gravi da non poter visualizzare l’informazione.
Il protocollo TCP invece offre un servizio completamente diverso: garantisce il trasporto affidabile tra due processi remoti che comunicano in rete, il tutto effettuando dei complessi controlli di flusso e di congezione, con le note tecniche di trasmissione come Slow Start, Fast Recovery, AIMD, utilizza un handshake a tre vie che crea un canale virtuale tra i due processi . TCP è particolamente indicato quando la connessione deve essere stabile e garantita, come nelle trasmissioni di dati HTTP e sopratutto FTP, dove è necessario che non si perdano i dati.
Con questo breve sguardo, spero che abbiate iniziato a farvi un idea su altri due protocolli molto importanti per Internet e per il suo funzionamento, così da poter essere più informati sull’argomento reti e connettività, conoscenza utile per l’acquisto di software e la comprensione degli stessi.