Jaka jest różnica między kontrolą przepływu a kontrolą przeciążenia w TCP?

85

Jaka jest różnica między kontrolą przepływu a kontrolą przeciążenia w TCP?

To pytanie można podzielić na dwie części:

  1. Jaki jest ogólny cel kontroli przepływu i zatorów?
  2. Jak jest realizowane zadanie?

Według Wikipedii sterowanie przepływem TCP zależy od rozmiaru okna zgłaszanego w komunikacie ACK. Kontrola zatorów opiera się również na komunikatach potwierdzających. Chciałbym wiedzieć, jaka jest różnica między tymi dwoma celami i jak one działają.

GM Lucid
źródło
47
To nie jest zadanie domowe. Więcej pytania przygotowującego do rozmowy kwalifikacyjnej. Co w tym jest „nie na temat”? @EJP
GM Lucid

Odpowiedzi:

126

Co do części 1, super ogólny przegląd:

Sterowanie przepływem jest kontrolowane przez stronę odbiorczą. Zapewnia, że ​​nadawca wysyła tylko to, co może obsłużyć odbiorca. Pomyśl o sytuacji, w której ktoś z szybkim łączem światłowodowym może wysyłać do kogoś przez modem lub coś podobnego. Nadawca miałby możliwość bardzo szybkiego wysyłania pakietów, ale byłoby to bezużyteczne dla odbiorcy podczas połączenia telefonicznego, więc potrzebowałby sposobu na ograniczenie tego, co może wysłać strona wysyłająca. Sterowanie przepływem zajmuje się dostępnymi mechanizmami zapewniającymi płynny przebieg tej komunikacji.

Kontrola przeciążenia to metoda zapewniająca, że ​​wszyscy w sieci mają „wystarczający” dostęp do zasobów sieciowych w dowolnym momencie. W środowisku sieci mieszanej każdy musi mieć możliwość przyjęcia tego samego ogólnego poziomu wydajności. Typowym scenariuszem pomagającym zrozumieć, że jest to biurowa sieć LAN. Masz kilka segmentów sieci LAN w biurze, wszystkie wykonujące swoje zadania w sieci LAN, ale wtedy wszystkie mogą wymagać połączenia przez łącze WAN, które jest wolniejsze niż segmenty składowe sieci LAN. Obraz z połączeniami 100 MB w sieci LAN, które ostatecznie wychodzą przez łącze WAN o szybkości 5 MB. Musiałby istnieć jakiś rodzaj kontroli zatorów, aby zapewnić, że nie ma problemów w większej sieci.

Co do części 2:

Jeśli jest to pytanie przygotowujące do rozmowy kwalifikacyjnej, jak powiedziałeś powyżej, rozważę ogólne zapoznanie się z protokołem TCP / IP. Nie używaj Wikipedii. RTFM! To jest BARDZO warte twojego czasu. Można argumentować, że jest to najważniejszy protokół, który utrzymuje większość współczesnego Internetu.

Rzeczy do przeczytania w przypadku Flow Control: zatrzymanie i czekanie, przesuwane okno, ramki PAUSE.

Rzeczy do przeczytania w przypadku kontroli zatorów: QoS (Quality-of-Service), zasady retransmisji, zasady okien.

Poza tym możesz wyszukać dowolne implementacje dostawców (Cisco itp.)

JP Doherty
źródło
3
Dobra odpowiedź, ale jest przynajmniej jeden błąd: ramki „PAUSE” nie są używane w programie Congestion Control, są mechanizmem kontroli przepływu.
Anioł
1
Masz całkowitą rację. Dodano w złym akapicie, edytuję teraz.
JP Doherty
25

Kontrola przepływu: nadawca wyśle ​​wystarczającą ilość danych, które mogą być umieszczone po stronie odbiorcy.

Kontrola przeciążenia: nadawca zmniejszy ilość wysyłanych pakietów, aby uniknąć przepełnienia bufora routera (kolejki).

Faizan
źródło
22

Kontrola przepływu:

  • Zapewnia, że ​​nadawca nie przeciąża odbiornika.
  • To zjawisko lokalne, w przeciwieństwie do kontroli zatorów.
  • Zwykle jest inicjowany przez nadawcę.

Kontrola zatorów:

  • Daje pewność, że sieć jest w stanie obsłużyć obciążenie pakietów.
  • Jest to zjawisko globalne i dotyczy każdego hosta połączonego z tą siecią.
  • Jest inicjowany przez router.
आनंद
źródło
5

Sterowanie przepływem odbywa się głównie po stronie odbiorcy , aby dostosować ilość danych, które nadawca wprowadza do sieci; kontrola przeciążenia jest wykonywana głównie po stronie nadawcy , próbując wykryć przeciążenie w sieci przez synchronizację pakietów ACK, aby dostosować ilość przesyłanych danych do odpowiedniej sytuacji.

Robert Mutua
źródło
5

Kontrola zatorów to problem globalny - dotyczy każdego routera i hosta w podsieci

Sterowanie przepływem, które obejmuje zakres od punktu do punktu, obejmuje tylko nadawcę i odbiorcę.

sathosh
źródło
2

Kontrola przeciążenia : oprócz zapobiegania przepełnieniu bufora routera, obejmuje ona również dwa inne ważne czynniki

  • Uczciwość : Głód nie powinien występować w przypadku żadnego hosta podłączonego do sieci, chociaż terminologia jest znacznie bardziej złożona.
  • Wydajność : łącza powinny być wykorzystywane w maksymalnym stopniu, tak aby nie powodowały przeciążenia.
Kabir Sahni
źródło
2

Kontrola przepływu odbywa się po stronie odbiornika. Jeśli nadawca wysyła pakiety większe niż rozmiar bufora odbiorcy, w buforze odbiorcy występuje przepełnienie. Aby uniknąć tego przepełnienia po stronie odbiornika, po stronie nadawcy stosuje się technikę okienkowania. Kontrola zatorów odbywa się po stronie nadawcy. To jest zjawisko globalne. Dzieje się to na routerze. Bufor routera przepełnia się, gdy wielu nadawców próbuje przepchnąć więcej pakietów przez to samo łącze.

Gnidy
źródło
Wygląda to na uczciwą próbę odpowiedzi na pytanie, ale w tej chwili Twoja odpowiedź jest nieco zagmatwana. Jest też dość krótki. Proszę rozważyć wydanie jednego lub dwóch pełnych akapitów na kontrolę przepływu i jednego lub dwóch pełnych akapitów na kontrolę przeciążenia, z większą liczbą przecinków i mniejszą liczbą pominiętych słów.
Julian
0

Kontrola przepływu:

  1. Gdy bufor nadawcy jest pełny, blokujemy wysyłanie danych przez źródło, aby nie zostały one usunięte.
  2. W tym przypadku bufor odbiornika jest pełny.
  3. Można to łatwo osiągnąć dzięki protokołowi przesuwanego okna.

Kontrola zatorów

  1. Gdy zaczynamy przesyłać dane ze źródła, to docierają one do celu za pomocą sieci. Kontrola przeciążenia zapobiega źródłu, więc dane nie powinny być upuszczane przez router w sieci.

  2. Ten problem jest związany z kolejką routera

  3. Jest to bardziej skomplikowane, ponieważ router otrzymuje różne pakiety z różnych źródeł podłączonych do jego sieci.

nieuchwytny
źródło
-4

Kontrola przepływu: określa, ile sieci jest w stanie wchłonąć, okno przeciążenia; Kontrola zatorów: określa, ile odbiornik jest w stanie wchłonąć, reklamowane okno; Nadawca max_window = min (reklamowane okno, okno przeciążenia);

Kehe CAI
źródło