Come già visto nel modello ISO/OSI, il protocollo TCP (Transport Control Protocol) esegue trasporto dei dati tra il livello rete di livello dell’applicazione.
È importante sottolineare che:
1.il protocollo TCP (al contrario di UDP) si assicura che i dati vengano effettivamente trasferiti, è nella sequenza corretta.
2.In secondo luogo TCP utilizza l’ampiezza di banda della rete massimizza la quantità di dati che può essere trasferita. Ad esempio, se il buffer di dati di destinazione è in “overflow” (cioè strapieno) il protocollo TCP fa ridurre al mittente la velocità di trasmissione ( e viceversa)
Ma vediamo in pratica come si realizzano questi due punti fondamentali del TCP.
- L’acknowledgement e l’handshaking
Il modo più semplice per verificare se un flusso di dati è giunto a destinazione e ovviamente con il di ricevere una conferma dal destinatario: il TCP viene utilizzato proprio questo semplice principio.
Infatti ogni volta che viene inviato un messaggio si avvia un timer: se il modulo TCP non riceve “l’avviso di recapito” (acknowledgement) il messaggio di avere ri-trasmesso, se invece riceve l’ack passa a trasmettere il flusso di dati successivo.
Lo scambio di messaggi di ack tra mittente e destinatario viene detto handshaking.
- La finestra di scorrimento
In realtà TCP non invia un messaggio per poi attendere l’ack ogni volta prima di mandare il messaggio successivo… sarebbe estremamente inefficiente.
Per incrementare la velocità di trasferimento viene usata una “ finestra di scorrimento” che permette di inviare un gruppo di messaggi per poi attendere l’ack.
Ecco come funziona:
1.il protocollo TCP posiziona una immaginaria finestra sul flusso dei dati
2.trasmette tutti i dati contenuti nella finestra
3.man mano che riceve gli ack fa scorrere la finestra avanti e trasmette i messaggi successivi
per tutta la durata della connessione TCP il protocollo continua a negoziare la velocità di trasferimento dei dati espandendo o restringendo le dimensioni della finestra di scorrimento. Più la rete è congestionata e più la finestra si restringe, viceversa della rete veloce la finestra si espande e anche di molto ( può essere anche di vari Kb..).
le lettere nell'esempio sono bytestream (e non lettere):

negoziazione sulla dimensione della finestra di scorrimento, viene trasferito un flusso di dati e si attende l'ack per spostare la finestra immaginaria e trasmettere i dati successivi

ricevuti gli ack dei dati B,C,D la finestra si sposta in avanti con la possibilità che cambi le sue dimensioni alle successive negoziazioni.

{mosgoogle}
Sostenete il rinnovamento del sito dando un'occhiata ai link pubblicitari che vi interessano.
| Commenti |
|
Powered by !JoomlaComment 4.0 beta1













