Pinguj szybciej niż światło

376

Właśnie odkryłem bardzo dziwną rzecz podczas testowania mojego połączenia internetowego. Mój ping jest mniejszy niż powinien. Na przykład czas pingowania na Arizona State University to około 14ms.

eryk@eryk-pc:~$ ping www.asu.edu
PING www.asu.edu.cdn.cloudflare.net (104.16.51.14) 56(84) bytes of data.
64 bytes from 104.16.51.14: icmp_seq=1 ttl=60 time=13.8 ms

Mieszkam w Poznaniu w Polsce, więc moja odległość do uniwersytetu stanu Arizona w linii prostej (bardzo optymistyczne założenie) wynosi około 10000 km. Biorąc pod uwagę fakt, że czas pingowania to czas dla dwóch kierunków (do celu i z powrotem do domu). Więc mój pakiet ping musi przekroczyć 20000 km. Prędkość światła wynosi 300 000 km na sekundę, czyli 300 km na milisekundę. Tak więc jest to najmniejszy możliwy czas na pingowanie Uniwersytetu Stanowego w Arizonie, gdy mój pakiet podróżuje z prędkością światła

20000/300=67ms

Zauważyłem podobne wyniki dla serwerów zlokalizowanych w Australii i niektórych innych stanach Ameryki. Czy moje połączenie internetowe jest pięć razy szybsze niż światło?

dagi12
źródło
90
Poważna odpowiedź, ale pytanie przypomina mi historię e-maila o długości 500 mil, która jest zabawną lekturą; warte twojego czasu.
OJFord
9
@cnst, ponieważ jesteśmy maniakami. To łamigłówka, ale gdy przyjrzysz się bliżej, odpowiedź jest trywialna. A my, maniacy, kochamy tego rodzaju rzeczy.
Wayne Werner
5
@WayneWerner, Układanka zakłada, że ​​znalezienie odpowiedzi nie jest całkowicie trywialne; w tym przypadku odpowiedź cloudflare.netjest już bardzo widoczna w samym pytaniu!
cnst
4
Jeśli nie znasz cloudflare lub wiesz, że jest to cdn, nie jest to trywialne. Jeśli nie wiesz, co to jest cdn, nie byłoby to również trywialne.
Wayne Werner
11
Każdy może pingować szybciej niż światło. > ping ftlgame.comNie rozumiem, co jest takie trudne.
Ian MacDonald

Odpowiedzi:

402

Jak widać z danych wyjściowych, tak naprawdę nie pingujesz jakiegoś serwera w Arizonie, a nawet w Stanach Zjednoczonych. Najwyraźniej postanowili chronić swoją stronę internetową za pomocą Cloudflare, która wykorzystuje sieć dystrybucji treści nawet do obciążenia. CDN współpracuje z wieloma węzłami, każdy serwisowania (geograficzny) region. Oznacza to, że węzeł pingowany jest bardzo blisko Ciebie.

Ponieważ Cloudflare używa Anycast ( informacje z Wikipedii ) we wszystkich swoich centrach danych , będziesz łączyć się z tym samym adresem IP bez względu na to, gdzie jesteś na świecie. Każde centrum danych oferuje wszystkie usługi. Routery internetowe decydują o najlepszej trasie (do najbliższego / najlepiej osiągalnego centrum danych) i w ten sposób kierują połączeniem.

Daniel B.
źródło
309
Jest to nawet część powodu, dla którego istnieją sieci CDN. Użytkownicy nie są wystarczająco cierpliwi, aby czekać na światło, aby przedostać się na drugą stronę Ziemi iz powrotem.
kasperd
14
Nigdy o tym nie myślałem ... Czy to oznacza, że ​​nigdy nie będzie można grać w gry online od Australii po Amerykę bez 3 klatek opóźnienia przy 60 fps?
Nacht
6
Zdajesz sobie sprawę, gdzie jest czat , prawda? ;)
Daniel B
17
@Nacht To prawda, dlatego wiele dużych gier wieloosobowych ma regiony, a przełączanie się między regionami zwykle powoduje duże opóźnienie.
David Grinberg,
19
Wreszcie! Od dziesięcioleci czekałem, aż ktoś podniesie prędkość światła.
RBarryYoung