Jeśli często pobierasz wiele elementów naraz, najprawdopodobniej zauważyłeś, że jedno połączenie pobierania dominuje nad pozostałymi, dopóki nie zostanie ukończone. Dlaczego? Dzisiejszy post z pytaniami i odpowiedziami dla SuperUser zawiera odpowiedź na ciekawe pytanie czytelnika.
Dzisiejsza sesja pytań i odpowiedzi przychodzi do nas dzięki uprzejmości SuperUser - poddziału Stack Exchange, społecznościowego forum z pytaniami i odpowiedziami.
Zdjęcie dzięki uprzejmości Armando Sotoca (Flickr).
Czytnik SuperUser Keltari chce wiedzieć, dlaczego niektóre połączenia pobierania (sieciowe) dominują nad innymi:
Mam swoje podejrzenia co do tego, ale chcę, aby ktoś z silniejszym doświadczeniem w networkingu wyjaśnił.
Dlaczego podczas pobierania z wielu (różnych) lokalizacji pewne połączenia nasycają przepustowość, pozostawiając inne połączenia prawie bezczynne, dopóki nie zostanie zakończone dominujące połączenie?
Dlaczego niektóre połączenia pobierania (sieciowe) dominują nad innymi?
Cybernard cyberprzestępcy SuperUser ma dla nas odpowiedź:
Zasadniczo najszybsze połączenie wygrywa. Jednak przed Windows 7, sieci były bałaganu i wydajność była okropna dookoła. Próbujesz uzyskać więcej niż 20 Mb / s z systemu Windows XP, na przykład? Powodzenia z tym.
- Standardowy algorytm unikania przeciążenia TCP wykorzystuje schemat zwiększenia dodatku i multiplikatywnego zmniejszenia (AIMD). Gdy nie wykryto utraty pakietów (za pomocą trzech duplikatów-ACK lub przekroczenia czasu retransmisji), okno przeciążenia (cwnd) jest zwiększane o jeden Maksymalny Rozmiar Segmentu (MSS) w każdym RTT. W przeciwnym razie, jeśli wykryta zostanie utrata pakietów, nadawca TCP zmniejsza cwnd o połowę. W sieci o dużym i dużym opóźnieniu wymaga bardzo dużego okna, np. tysiące pakietów, aby w pełni wykorzystać pojemność łącza. W związku z tym będzie wymagać standardowego TCP wielu RTT, aby odzyskać szybkość wysyłania po pojedynczej utracie. Co więcej, wiadomo już teraz, że średnie okno przeciążenia TCP jest odwrotnie proporcjonalne do pierwiastka kwadratowego wskaźnika utraty pakietów.
Źródło: Podejście TCP złożone dla sieci o dużej i dużej odległości [Microsoft]
Szybsze połączenie ma więcej udanych pakietów, dlatego jego cwnd / MSS jest zwiększony i dostaje jeszcze więcej całkowitego połączenia.
Czy masz coś do dodania do wyjaśnienia? Dźwięk w komentarzach. Chcesz przeczytać więcej odpowiedzi od innych użytkowników Stack Exchange, którzy znają się na technologii? Sprawdź cały wątek dyskusji tutaj.