Jaka jest różnica między kontrolą przepływu a kontrolą przeciążenia w TCP?
To pytanie można podzielić na dwie części:
- Jaki jest ogólny cel kontroli przepływu i zatorów?
- 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ą.
networking
tcp
congestion-control
GM Lucid
źródło
źródło
Odpowiedzi:
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.)
źródło
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).
źródło
Kontrola przepływu:
Kontrola zatorów:
źródło
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.
źródło
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ę.
źródło
Kontrola przeciążenia : oprócz zapobiegania przepełnieniu bufora routera, obejmuje ona również dwa inne ważne czynniki
źródło
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.
źródło
Kontrola przepływu:
Kontrola zatorów
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.
Ten problem jest związany z kolejką routera
Jest to bardziej skomplikowane, ponieważ router otrzymuje różne pakiety z różnych źródeł podłączonych do jego sieci.
źródło
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);
źródło