5

Chciałbym program do określenia TCP congestion control algorithm używane w przechwyconej sesji TCP.Czy istnieje algorytm pobierania odcisków palców algorytmu sterowania przeciążeniem TCP używanego w przechwyconej sesji?

powoływane Artykuł Wikipedii czytamy:

TCP New Reno jest najczęściej realizowany algorytm, wsparcie SACK jest bardzo powszechne i jest rozszerzeniem Reno/New Reno. Większość innych to konkurencyjnych propozycji, które nadal wymagają oceny: . Począwszy od wersji 2.6.8 jądro Linuksa zamieniło domyślną implementację z reno na BIC. Domyślna implementacja ponownie była zmieniona na CUBIC w wersji 2.6.19 .

również:

Związek TCP jest Microsoft implementacja TCP, który utrzymuje dwa różne okna przeciążenia jednocześnie, mając na celu osiągnięcie dobrego wydajność na LFNs jednocześnie nie pogarszając uczciwości. Został on szeroko wdrożony wraz z Microsoft Windows Vista i Windows Server 2008 i został przeniesiony do starszej wersji Microsoft Windows, a także Linux.

Jakie są strategie ustalania, który algorytm CC jest używany (od strony trzeciej przechwytującej sesję)?

Aktualizacja

This project ma wbudowane narzędzia, aby to zrobić:

Internet został niedawno ewoluuje z jednorodnej zatorów kontrolę niejednorodny ograniczeniami kontrolą. Kilka lat temu, Internet ruch był kontrolowany głównie przez standardowego algorytmu TCP AIMD na , natomiast ruch internetowy jest obecnie kontrolowany przez wielu kontrola przeciążenia inny TCP algorytmów, takich jak AIMD, BIC sześciennych CTCP, HSTCP, HTCP, HYBLA, ILLINOIS, LP, STCP, VEGAS, VENO, WESTWOOD + i YEAH. Jednak bardzo niewiele jest pracy nad stabilnością i stabilnością w Internecie dzięki niejednorodnemu sterowaniu przeciążeniem. Głównym powodem jest brak informacji o wdrożeniu różnych algorytmów TCP z . Celem tego projektu są:

1) develop tools for identifying the TCP algorithms in the Internet, 
2) conduct large-scale TCP-algorithm measurements in the Internet. 

Odpowiedz

4

Istnieje wiele algorytmów więcej kontroli przeciążenia niż tutaj wspomnieć, u góry głowę lista obejmuje: FAST, skalowalne, HSTCP, HTCP, Bic, Sześcienny, Veno, Vegas.

Są również ich niewielkie odmiany ze względu na poprawki błędów w rzeczywistych implementacjach i domyślam się, że implementacje w różnych systemach także zachowują się trochę inaczej od siebie.

Ale jeśli muszę spróbować wymyślić pomysł, to oszacować RTT połączenia, można spróbować spojrzeć na czas, który zajęło między trzecim a czwartym pakietem, jako pierwszy i drugi pakiety mogą być skażone przez ARP i inne algorytmy wykrywania na całej trasie.

Po oszacowaniu dla RTT możesz spróbować udoskonalić go po drodze, nie jestem do końca pewien, jak możesz to zrobić. Ale nie potrzebujesz pełnej specyfikacji programu, tylko pomysły :-)

Po ustaleniu RTT możesz spróbować umieścić pakiety w pojemnikach RTT i policzyć liczbę pakietów danych lotniczych w każdym pojemniku. W ten sposób będziesz w stanie "wydrukować" szacunkowe cwnd (liczba pakietów w koszu) do czasu i spróbować dopasować do nich wzór.

Alternatywą byłoby pójść wzdłuż śladu i spróbować "uruchomić" w głowie różne algorytmy sterowania przeciążeniem i sprawdzić, czy decyzja w dowolnym punkcie zgadza się z decyzją, którą zrobiłbyś. Będzie wymagać pewnych odstępstw od lenności i dokładności.

To z pewnością brzmi jak interesujące i wymagające zadanie!

Powiązane problemy