2013-05-09 12 views
62

Qual è la differenza tra controllo del flusso e controllo della congestione in TCP?Qual è la differenza tra Flow Control e Congestion Control in TCP?

Questa domanda può essere suddiviso in due parti:

  1. Qual è lo scopo generale di controllo del flusso e la congestione?
  2. Come viene eseguita l'attività?

In base a Wikipedia, il controllo di flusso TCP si basa sulle dimensioni della finestra riportate in un messaggio ACK. Il controllo della congestione si basa anche sui messaggi di riconoscimento. Vorrei sapere qual è la differenza tra i due obiettivi e come funzionano.

+42

Non una domanda sui compiti. Più di una domanda di preparazione all'intervista. Cosa c'è "fuori tema" a riguardo? @EJP –

risposta

101

Quanto alla parte 1, panoramica eccellente generale:

controllo del flusso è controllato dal lato ricevente. Assicura che il mittente trasmetta solo ciò che il destinatario può gestire. Pensa a una situazione in cui qualcuno con una connessione in fibra veloce potrebbe inviare a qualcuno su dialup o qualcosa di simile. Il mittente avrebbe la possibilità di inviare pacchetti molto velocemente, ma ciò sarebbe inutile per il ricevitore in dialup, quindi avrebbero bisogno di un modo per limitare quello che il lato mittente può inviare. Il controllo del flusso si occupa dei meccanismi disponibili per garantire che questa comunicazione vada senza intoppi.

Il controllo della congestione è un metodo per garantire che chiunque attraverso una rete abbia una "giusta" quantità di accesso alle risorse di rete, in qualsiasi momento. In un ambiente a rete mista, tutti devono essere in grado di assumere lo stesso livello generale di prestazioni. Uno scenario comune per aiutare a capire questo è una LAN ufficio. Avete un certo numero di segmenti LAN in un ufficio che fanno tutti il ​​loro lavoro all'interno della LAN, ma poi potrebbero dover uscire tutti su un collegamento WAN che è più lento dei segmenti della LAN costitutiva. Immagine con connessioni da 100 MB all'interno della LAN che alla fine escono attraverso un collegamento WAN da 5 MB. Dovrebbe essere presente un qualche tipo di controllo della congestione per garantire che non vi siano problemi nella rete più ampia.

Quanto alla parte 2:

Se questa è una domanda intervista-prep, come hai detto sopra, vorrei prendere in considerazione di prendere del tempo per leggere su TCP/IP in generale. Non usare Wikipedia. RTFM! Questo è MOLTO molto vale la pena. Si potrebbe sostenere che questo è il protocollo più importante che trattiene la maggior parte della moderna Internet.

Cose da leggere su per il controllo del flusso: fermarsi e aspettare, finestra scorrevole, fotogrammi PAUSE.

Cose da leggere per Controllo di congestione: QoS (Qualità del servizio), politiche di ritrasmissione, politiche di finestre.

Oltre a ciò, è possibile cercare eventuali particolari implementazioni dei fornitori (Cisco, ecc ..)

+2

Buona risposta, ma c'è almeno un errore: "PAUSE frames" sono * non * utilizzati in Congestion Control, sono un meccanismo per il controllo del flusso. – Angel

+1

Hai assolutamente ragione.Aggiunto nel paragrafo sbagliato, modificando ora. –

18

Flow Control: mittente invia i dati a sufficienza che possono essere ospitati alla fine del ricevitore.

Controllo congestione: il mittente riduce la quantità di pacchetti inviati per evitare di sovraccaricare il buffer del router (coda).

-3

Controllo del flusso: indica quanta rete è in grado di assorbire, finestra di congestione; Controllo della congestione: indica quanto ricevitore è in grado di assorbire, finestra pubblicizzata; max_window del mittente = min (finestra pubblicizzata, finestra di congestione);

3

Il controllo della congestione è un problema globale: coinvolge tutti i router e gli host nella subnet Controllo flusso: l'ambito è point-to-point; coinvolge solo mittente e destinatario.

13

Flow Control:

  • Si fa in modo che il mittente non sovraccaricare il ricevitore.
  • È un fenomeno locale, a differenza del controllo della congestione.
  • Generalmente avviato dal mittente.

controllo della congestione:

  • Si fa in modo che la rete è in grado di gestire il carico di pacchetti.
  • È un fenomeno globale e interessa ogni host connesso a tale rete.
  • Viene avviato dal router.
2

controllo della congestione: Oltre a prevenire buffer del router di traboccante si occupa anche di altri due fattori importanti

  • equità: fame non dovrebbe verificarsi per qualsiasi host connesso alla rete . Anche se la terminologia è molto più complessa.
  • Efficienza: i collegamenti devono essere utilizzati alla loro capacità massima in modo da non causare congestione.
3

controllo di flusso avviene principalmente sul lato ricevitore, per regolare la quantità di dati del mittente sta iniettando nella rete; controllo di congestione viene eseguito principalmente sul lato lato mittente, cercando di rilevare la congestione sulla rete in base ai tempi dei pacchetti ACK, per regolare il volume dei dati inviati alla situazione corrispondente.

1

Il controllo del flusso avviene sul lato ricevitore. Se il mittente invia pacchetti superiori alla dimensione del buffer del destinatario, l'overflow si verifica nel buffer del ricevente. Per evitare questo trabocco dal lato del ricevitore, c'è una tecnica di windowing utilizzata dal lato del mittente. Il controllo della congestione viene effettuato sul lato mittente. Questo è un fenomeno globale. Questo succede al router. Il buffer del router trabocca quando molti mittenti cercano di spingere più pacchetti attraverso lo stesso collegamento.

+0

Questo sembra un onesto tentativo di rispondere alla domanda, ma in questo momento, la tua risposta è un po 'confusa. È anche piuttosto breve. Si prega di considerare di spendere uno o due paragrafi completi sul controllo del flusso e uno o due paragrafi completi sul controllo della congestione, con più virgole e meno omissioni di parole. – Julian