Mam połączenie 5 MB / s, ale zawsze zauważam wysoki ping podczas grania w gry online. Kiedy sieć jest stabilna (tj. Gdy pingtest.com zgłasza połączenie jako 5 MB / s), ping pozostaje na 50 ms, ale moje poprzednie połączenie wynosiło 2 MB / s, a także miał 50 ms ping, gdy był stabilny.
Dlaczego moje obecne połączenie nie pinguje 50 ms, gdy działa z prędkością 2 MB / s jak moje poprzednie połączenie? A co bardziej wpływa na szybkość pingowania, wysyłania lub pobierania?
networking
bandwidth
latency
lucas abilidebob
źródło
źródło
Odpowiedzi:
Opóźnienie jest zasadniczo niezależne od przepustowości.
Opóźnienie, mierzone zwykle czasem pingów, wskazuje, ile czasu zajmuje wysłanie danych przez system do innego komputera i otrzymanie odpowiedzi. Na zwłokę wpływ ma przede wszystkim to, jak daleko muszą się odbyć dane - dostęp do strony na serwerze znajdującym się w połowie świata jest znacznie dłuższy niż na stronie znajdującej się obok. Dłuższe trasy komunikacyjne, w których dane muszą przechodzić przez wiele przełączników i routerów, również zwiększają opóźnienia.
Przepustowość, zwykle wyrażona w megabitach na sekundę (Mb / s), to ilość danych, które system może wysłać lub odebrać przez sieć w jednostce czasu. Przepustowość jest tym, za co zwykle płacisz przy zakupie usługi internetowej - w przypadku większości domowych usług internetowych droższe plany zapewniają większą przepustowość.
Chociaż większa przepustowość może poprawić opóźnienia w czasie zatoru, w normalnych warunkach oba są zasadniczo niezależne. Na przykład satelitarna usługa internetowa HughesNet Gen4 zapewnia dobrą przepustowość (do 15 Mb / s), ale cierpi z powodu słabych opóźnień, średnio ping około 700 ms . Ten wysoki ping wynika z charakteru satelitarnej usługi internetowej, która wymaga przesyłania danych do satelity i wycofywania. I odwrotnie, dedykowana linia T1 ma tylko 1,5 Mb / s przepustowości, ale może zapewnić opóźnienie nawet 10 ms .
Zobacz także Błąd serwera: Czy połączenie internetowe o większej przepustowości skróci czas odpowiedzi ping?
źródło
Zastanów się, jak działa opóźnienie i przepustowość w przypadku wydruków przenoszonych pieszo.
Załóżmy, że masz zestaw kopii papierowych - tyle, ile możesz nosić bez znacznego spowolnienia ze względu na ciężar, i dwa miejsca, które możesz chcieć zabrać ze sobą: jedno 50 m, a drugie 0,5 km.
Powiedzmy, że idziesz z prędkością około 5 km / h. Zajmie ci 1,2 minuty, aby przenieść pudełko na pierwsze miejsce i wrócić, a 12 minut, aby przenieść pudełko na drugie miejsce i wrócić.
Powiedzmy teraz, że musisz przynieść 100 pudełek. Musiałbyś odbyć 100 podróży, więc całkowity czas przewozu wyniósłby odpowiednio 2 godziny i 200 godzin.
Teraz poprawmy te rzeczy.
Załóżmy, że rekrutujesz 99 pomocników. Możesz teraz mieć większą przepustowość. Możesz teraz przynieść 100 pudełek odpowiednio w 1,2 i 12 minut.
Załóżmy, że pozyskujesz 2000 pomocników. Masz teraz jeszcze większą przepustowość. Możesz teraz przynieść 10 pudełek odpowiednio w 1,2 i 12 minut. Dodatkowa przepustowość nie pomogła, ponieważ została maksymalnie wykorzystana, a opóźnienie jest takie samo.
Powiedzmy, że pozbyłeś się 99 pomocników, ale kup rower i możesz zrobić z nim zdrowe 40 km / h. Możesz teraz wykonywać podróże jednym pudełkiem odpowiednio w 9 sekund i 1,5 minuty. Masz teraz mniejsze opóźnienia. Wycieczki w 100 skrzyniach potrwają jednak 150 minut i 25 godzin.
Oczywiście rower (mniejsze opóźnienie, dodatkowa przepustowość) jest lepszy w szybkim przynoszeniu jednego pudełka papierów, podczas gdy ogromny zespół pomocników (takie samo opóźnienie, znacznie większa przepustowość) jest lepszy w dostarczaniu wielu pudeł.
Połączenia sieciowe porównują się ze sobą w sposób podobny do porównania tych różnych środków transportu wydruków.
Pobieranie bardzo dużego pliku jest podobne do zadania transportowania wielu skrzynek, a więc im większa przepustowość, tym lepiej.
Granie w grę zwykle wiąże się z wieloma małymi wiadomościami, więc jest to zadanie polegające na noszeniu jednego pudełka w kółko (nie możemy masowo przetransportować wszystkich pudeł, ponieważ następne pudełko nie jest jeszcze gotowe). Im niższe opóźnienie, tym lepiej.
Ale w naszej analogii nie ma powodu, dla którego nie możemy mieć ogromnego zespołu pomocników, którzy wszyscy mają rowery.
I rozszerzając analogię, różne połączenia sieciowe będą się różnić nie tylko opóźnieniem (stopa vs rower) i przepustowością (ilością pomocników), ale także dostępnością różnych skrótów i różnymi punktami, przez które muszą przejść, więc jedno może być niższe opóźnienie dla jednej podróży i wyższe dla innej.
Ale tam, gdzie analogia jest dokładna, można stwierdzić, że chociaż możemy mieć dwa połączenia, w których jedno jest lepsze o jedną metrykę, a gorsze o inne, możemy również mieć dwa połączenia, w których jedno jest lepsze od drugiego pod względem obu miar.
źródło
Prawidłowa odpowiedź nie jest żadna.
Ping można wykonać na kilka sposobów, poprzez UDP lub ICMP (krótkie wprowadzenie znajduje się tutaj dla ICMP )
Krótko mówiąc, jedna maszyna wysyła serię specjalnych pakietów, które są przekazywane z routera / przełączników i przez bramki, jeśli jest to wymagane, aby opuścić jedną sieć dla drugiej. Ta podróż przez urządzenia to czas pingowania, który jest hermetyzowany i odsyłany. Zasadniczo dwa pingi nie muszą podążać tą samą trasą. Liczba przeskoków jest największym determinantem średnich czasów pingów, chociaż zdarzają się sytuacje, w których wyższe przesyłanie lub pobieranie może mieć znaczenie (zalane sieci).
źródło
Oba są równie ważne, ponieważ ping mierzy czas przejścia w obie strony, ponieważ w tym momencie wysyłasz pakiet do jakiegoś komputera (przesyłanie), a pakiet jest zwracany (pobieranie), a czas od początku do końca jest czasem pingowania. W rezultacie oba powinny odgrywać równą rolę w czasie pingowania.
Warto jednak zwrócić uwagę na kilka rzeczy: większość połączeń domowych ma obecnie niższe prędkości przesyłania niż pobieranie, więc przesyłanie może łatwiej się blokować, co skutkuje dłuższą kolejką pakietów, a tym samym wyższym pingiem (i / lub utratą pakietów).
Pobieranie tylko 2 MB z 5 MB nadal wpływa na ping, ponieważ między innymi: - Pobieranie jest bardzo obciążone, szczególnie w przypadku protokołów takich jak Bittorrent. Ogólnie rzecz biorąc, należy spodziewać się co najmniej 20% narzutu oprócz prędkości pobierania netto, ze względu na takie potrzeby, jak okienkowanie TCP, nagłówek TCP, nagłówek i stopka Ethernet, nagłówek IP itp. W przypadku bittorrent ten narzut jest znacznie powiększany ze względu na duża liczba używanych połączeń i potrzeba ciągłego ustanawiania nowych. - Zatkane bufory na trasie sieci - Zwiększona szansa na upuszczenie pakietów, wymagających ponownego wysłania.
Należy zauważyć, że istnieje wiele rzeczy określanych jako ping. Masz najpopularniejszy, ICMP Ping , masz także różne implementacje ekwiwalentu tcp , a większość gier rzuca własne, tworząc formę UDP Ping. Te ostatnie mogą się znacznie różnić, ponieważ wydaje się, że każdy ma własne wyobrażenie o tym, jak należy je wdrożyć, aby odzwierciedlić, w jaki sposób należy mierzyć jakość łącza w grze, na przykład Round Trip lub tylko w jeden sposób?
Mówiąc pokrewnie, w dzisiejszych czasach, gdy połączenia domowe i serwerowe są zwykle wystarczająco szybkie, największy wpływ na zdrową trasę między tobą a serwerem ma liczba przeskoków sieciowych. Zwykle jest to wynikiem fizycznej odległości między tobą a serwerem. Ilość przeskoków sieciowych można sprawdzić, wykonując polecenie traceroute .
źródło
Dużym czynnikiem jest to, ile masz niewykorzystanego pasma do przesyłania i ile masz do pobierania. Ponieważ ping działa poprzez wysyłanie wiadomości i nasłuchiwanie odpowiedzi, oba kierunki wpływają na całkowity czas podróży w obie strony. Pakiety mają zasadniczo taki sam rozmiar w obu kierunkach (chyba że coś fragmentuje lub ponownie składa pofragmentowany pakiet). Jeśli rura pobierania lub przesyłania jest prawie pełna, ping może być opóźniony. Większość połączeń domowych jest asymetryczna, co oznacza po prostu, że dostępna jest większa przepustowość pobierania. W rezultacie może być łatwiej zapełnić przepustowość przesyłania, w zależności od wykorzystania. Często ruch ICMP (ping) ma niższy priorytet niż inny ruch, więc jest opóźniany lub upuszczany, gdy potok jest zajęty.
źródło
Przepustowość (prędkość) jest niezbędna, aby móc wysyłać sygnały ping i odbierać odpowiedzi.
Jednak pingi są zwykle zaprojektowane tak, aby były kompaktowe (typowe pakiety ping mają znacznie mniej niż 1 KB), więc jeśli nie używasz pingów powodziowych i / lub używasz ogromnych pakietów, lub masz jakieś bardzo egzotyczne połączenie, takie jak obejście szczeliny powietrznej za pomocą dźwięku, to nie ma znaczenia w praktyce.
Opóźnienie (czas reakcji) jest spowodowane przez szybkość sygnalizacji i przetwarzania wszystkich komponentów sprzętowych i programowych na ścieżce w obie strony i prawie zawsze jest czynnikiem ograniczającym, jeśli wziąć pod uwagę relacje.
Załóżmy na przykład, że możesz wysyłać lub odbierać 1 MBit / s lub około 0,1 MB / s, a twój ping ma aż 1 KB, tj. 0,001 MB. Oznacza to, że możesz wysłać lub odebrać 1000 pingów na sekundę, z których każdy wymaga 1 ms, aby wysłać lub odebrać, jeśli w pełni wykorzystasz połączenie.
Typowe opóźnienia to> 10 ms dla podróży w obie strony przez Internet.
W tym czasie można wysłać już 10 pingi przed otrzymaniem żadnej odpowiedzi raczej nad tym linkiem niskiej prędkości.
źródło