2012-07-19 9 views
23

Cerco di capire la differenza tra la finestra Congestion e la finestra Receive.TCP - differenza tra finestra Congestion e Receive window

Come ho capito, la finestra del ricevitore è un buffer in cui il ricevitore può ottenere i pacchetti. Lo stesso è con la finestra di Congestion che ci dice il limite delle capacità del ricevitore, e cambia in base ai pacchetti persi, ecc.

Quindi qual è la diffrenza tra di loro?

+0

Penso che questa sarebbe una misura migliore in un altro sito SE, in quanto questa non è una questione di programmazione o legato agli strumenti di sviluppo. – Lucero

risposta

40

Per dare una risposta breve: la finestra di ricezione è gestita dal destinatario, che invia le dimensioni della finestra al mittente. Le dimensioni della finestra annunciano il numero di byte ancora liberi nel buffer del ricevitore, cioè il numero di byte che il mittente può ancora inviare senza richiedere un riconoscimento dal ricevitore.

La finestra di congestione è una finestra imposta dal mittente che è stata implementata per evitare l'overrunning di alcuni router nel mezzo del percorso di rete. Il mittente, con ogni segmento inviato, aumenta leggermente la finestra di congestione, cioè il mittente si autorizzerà più dati inviati in sospeso. Ma se il mittente rileva la perdita di pacchetti, taglia la finestra a metà. La logica dietro questo è che il mittente si presume che la perdita di pacchetti si sia verificata a causa di un overflow del buffer da qualche parte (che è quasi sempre vero), quindi il mittente desidera mantenere meno dati "in volo" per evitare ulteriori perdite di pacchetti in futuro.

Per di più, cominciare da qui: http://en.wikipedia.org/wiki/Slow-start

+0

Sarà inoltre utile sapere che in qualsiasi momento il mittente sceglierà min {congestion-window, receiver-window} per mantenere una dimensione della finestra scorrevole. Qual è il numero di byte che è permesso trasmettere. – XChikuX

Problemi correlati