Jeśli często pobierasz wiele elementów w tym samym czasie, prawdopodobnie zauważyłeś, że jedno połączenie pobierania ma tendencję do dominowania nad innymi, dopóki nie zostanie zakończone. Dlaczego? Dzisiejszy post z pytaniami i odpowiedziami dla SuperUser zawiera odpowiedź na pytanie zaciekawionego czytelnika.
Dzisiejsza sesja pytań i odpowiedzi jest dostępna dzięki uprzejmości SuperUser - części Stack Exchange, grupy witryn internetowych z pytaniami i odpowiedziami.
Zdjęcie dzięki uprzejmości Armando Sotoca (flickr) .
Pytanie
Czytnik SuperUser Keltari chce wiedzieć, dlaczego niektóre połączenia pobierania (sieciowe) dominują nad innymi:
Podejrzewam dlaczego, ale chcę, aby ktoś z większym doświadczeniem w tworzeniu sieci wyjaśnił mi to.
Dlaczego podczas pobierania z wielu (różnych) lokalizacji niektóre połączenia obciążają przepustowość, pozostawiając inne połączenia prawie bezczynne, aż do zakończenia połączenia dominującego?
Dlaczego niektóre połączenia pobierania (sieciowe) dominują nad innymi?
Odpowiedź
Współautor SuperUser cybernard ma dla nas odpowiedź:
Ogólnie najszybsze połączenie wygrywa. Jednak przed Windows 7 sieć była bałaganem, a wydajność była okropna. Na przykład próbujesz uzyskać więcej niż 20 Mb / s z systemu Windows XP? Powodzenia z tym.
- Standardowy algorytm unikania przeciążenia TCP wykorzystuje schemat addytywnego zwiększania i multiplikatywnego zmniejszania (AIMD). Gdy nie zostanie wykryta żadna utrata pakietów (za pomocą trzech podwójnych potwierdzeń ACK lub przekroczenia limitu czasu retransmisji), okno przeciążenia (cwnd) jest zwiększane o jeden maksymalny rozmiar segmentu (MSS) co RTT. W przeciwnym razie, jeśli zostanie wykryta utrata pakietów, nadawca TCP zmniejszy cwnd o połowę. W sieci o dużej szybkości i dużym opóźnieniu wymaga bardzo dużego okna, np. tysiące pakietów, aby w pełni wykorzystać przepustowość łącza. Dlatego potrzeba wielu standardowych protokołów TCP RTT, aby odzyskać szybkość wysyłania po jednym zdarzeniu utraty. Co więcej, obecnie dobrze wiadomo, że średnie okno przeciążenia TCP jest odwrotnie proporcjonalne do pierwiastka kwadratowego współczynnika utraty pakietów.
Źródło: Podejście złożone TCP dla sieci o dużej szybkości i dalekiego zasięgu [Microsoft]
Szybsze połączenie ma więcej udanych pakietów, dlatego jego cwnd / MSS jest zwiększone i uzyskuje jeszcze więcej całkowitego połączenia.
Masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych zaawansowanych technicznie użytkowników Stack Exchange? Sprawdź cały wątek dyskusji tutaj .