Tak (i nie, to nie jest prędkość internetu i nie jest to prędkość sama w sobie).
Prędkość
Szybkość to bardzo nieprecyzyjne sformułowanie, które przenika dwie różne rzeczy, które są całkowicie niezależne, ale oddziałują na siebie: opóźnienie i szerokość pasma.
Prędkość, którą obserwujesz, nie jest też prędkością Internetu . Jest to bardzo złożona mieszanina wielu rzeczy, które dzieją się na twoim (twoim komputerze), na drugim końcu (serwerze) i kilku punktach pomiędzy nimi. Co może być zupełnie inną rzeczą na następnym serwerze, do którego masz dostęp, nawet jeśli ten jest tak samo daleko (lub dalej).
Pasmo
Przepustowość to ilość danych, którą możesz - teoretycznie - przesłać na drut w jednostce czasu. Zazwyczaj istnieją twarde i miękkie ograniczenia. Twardy limit byłby tym, co linia jest w stanie wziąć, a następnie jest to, za co płacisz i co pozwoli ci dostawca (zwykle mniej!). Często transfery nie są jednolite, zaczynają się szybciej, a następnie bardzo szybko zmniejszają prędkość.
Na przykład mam łącze wysyłające 96 Mb / s z fizyczną przepustowością linii 112 Mb / s. Jest tak, ponieważ w celu zwiększenia stabilności wykorzystywana jest mniejsza szerokość pasma, niż byłoby to faktycznie możliwe. Jednak płacę tylko za 50 Mb / s (co jest wystarczające na moje potrzeby, a 10 € miesięcznie tańsze), pomimo faktycznego uzyskania 96 Mb / s. Zaraz ... jak to działa? Dlaczego więc ktoś miałby płacić więcej pieniędzy? Cóż, przesyłam wszystko z szybkością 96 MBit / s, ale dostawca po krótkim czasie (mniej niż 0,1 sekundy) potajemnie mnie zablokuje i zezwoli na wysyłanie / odbieranie większej ilości danych dopiero po upływie wystarczającego czasu, więc jestem w zasięgu kwota, za którą zapłaciłem. Tak więc średnio mam 50 Mb / s. Bardzo podobne rzeczy dzieją się w kilku lokalizacjach w Internecie, przez które przechodzi Twój ruch (bez Twojej wiedzy). Ruch jest „kształtowany”
Przepustowość w Internecie jest w przeważającej części tak ogromna, że - z wyjątkiem podczas wielonarodowych ataków DDoS - nie jest w żaden sposób czynnikiem ograniczającym. Cóż, teoretycznie i w większości części świata.
Istnieją jednak wąskie gardła: jeden jest na twoim końcu, następny oczywisty jest na końcu serwera, i istnieje bardzo realna szansa, że jeśli wejdziesz w interakcję z serwerem w innym położeniu geograficznym, zwłaszcza w kraju trzeciego świata, ta całkowita przepustowość będzie znacznie gorszy niż którykolwiek z dwóch. Niektóre kraje w południowo-wschodniej Azji mają międzynarodowełącza wysyłające, które nie są znacznie wyższe niż to, co garstka indywidualnych użytkowników domowych ma w innych krajach (lub nawet w tym samym kraju). Nie wiem, czy nadal tak jest (rzeczy zmieniają się tak szybko na świecie), ale na przykład w Tajlandii dostęp do serwera w tym samym kraju był 4 razy szybszy niż dostęp do serwera w innym kraju, ponieważ właśnie z tego powodu. To samo miałoby miejsce, gdybyś próbował uzyskać dostęp do serwera w swoim kraju.
Chociaż przepustowość w Twojej lokalizacji może być wysoka, jest to najwolniejsze połączenie w łańcuchu, które ogranicza ilość danych, które możesz przepchnąć (tak jak w wodociągu). Dłuższy dystans oznacza, że generalnie jest więcej możliwości napotkania wolnego (lub przeciążonego) łącza.
Czas oczekiwania
Opóźnienie to czas, jaki zajmuje sygnał dotarcie do Twojej lokalizacji (lub dowolnej konkretnej lokalizacji) z pewnego miejsca.
Po pierwsze, istnieje prędkość światła, która jest (nie) stała i będąc trudnym ograniczeniem fizycznym, nie można jej obejść. Dlaczego mówię „(nie) stały”?Cóż, ponieważ rzeczywistość jest nawet gorsza niż teoria. Prędkość światła jest tak naprawdę górną granicą, mierzoną w próżni. W kablu miedzianym, a nawet w worku światłowodowym, mierzalna prędkość światła jest o około 30% wolniejsza niż w próżni, a faktyczna odległość jest dłuższa. Nie tylko dlatego, że kabel nie jest w idealnie prostej linii, ale także dlatego, że światło przemieszcza się wzdłuż zygzaka światłowodowego, odbijając się od ścian (całkowite odbicie wewnętrzne). Trudnym wyzwaniem (czyli niemożliwym) jest znaczące zwiększenie prędkości światła. Nie znaczy to, że nie można tego zrobić przy użyciu innego ośrodka, ale ośrodek o wyższej prędkości światła oznacza zmianę współczynnika załamania światła, dzięki czemu zmniejsza się, a ostatecznie traci całkowite odbicie wewnętrzne. Co oznacza, że dopóki sygnał nie przejdzie w idealnie prostej linii,
Podsumowując, istnieje bardziej lub mniej ustalone opóźnienie, które jest nieuniknione i chociaż nie jest zauważalne w transmisjach lokalnych (LAN lub kilka kilometrów), staje się bardzo zauważalne, gdy sygnał przechodzi przez pół kontynentu. Oprócz tego twardego ograniczenia fizycznego istnieją routery wprowadzane przez routery pośrednie i być może lokalne łącze w górę (niesławny „ostatnia mila”).
Na przykład w typowym domowym połączeniu internetowym opartym na bankomatach opóźnienie wynosi około 4 ms tylko dla datagramów niepotrzebnie enkapsulowanych w PPP i dzielonych na 53-bajtowe ramki ATM, wysyłanych do DSLAM, kierowanych w obrębie sieć bankomatów dostawcy i jest ponownie składana przed ponownym wejściem do sieci IP. Powód tego jest historyczny. Dawno, dawno temu bankomat wydawał się dobrym planem umożliwiającym wykonywanie wysokiej jakości połączeń telefonicznych z niskim opóźnieniem na duże odległości. Dawno, dawno temu, to było w latach 80., ale niestety dostawcy usług telekomunikacyjnych poruszają się powoli.
Nawet w przypadku wielu instalacji, które w swojej nazwie używają „włókna”, w rzeczywistości przez ostatnie kilkanaście metrów używany jest drut miedziany, który rzadko kończy się na ulicy (chociaż istnieje prawdziwe włókno do piwnicy).
Typowy router internetowy doda opóźnienie w przedziale od 0,05 do 0,2 milisekundy, ale w zależności od tego, jak jest zajęty (być może nie jest to najwyższy poziom), może to być bardzo pełna milisekunda. To niewiele, ale weź pod uwagę, że posiadanie 6-8 routerów między tobą a serwerem docelowym wcale nie jest niczym niezwykłym i możesz mieć 12-15 z nich na dłuższą odległość! Możesz spróbować uruchomić, tracert some.server.name
aby zobaczyć siebie.
Linia, która została przecięta i podsłuchana przez NSA lub SVR (czyli w zasadzie każda główna linia prowadząca z / do kontynentu azjatyckiego lub przez Morze Czerwone, Morze Indyjskie lub Ocean Atlantycki) będzie miała co najmniej kolejne dwie milisekundy opóźnień dodanych do szpiegowskich rzeczy, które robią, być może więcej. Niektóre narody są znane (lub przynajmniej wysoce podejrzane) nie tylko obserwują treść i blokują określone zakresy adresów IP, ale nawet wykonują pewne aktywne filtrowanie / blokowanie treści nieodpowiednich politycznie / ideologicznie. Może to spowodować znacznie dłuższe opóźnienia.
Dlatego nawet w przypadku lokalizacji w pobliżu można spodziewać się opóźnienia od 15 do 25 ms, ale w przypadku innego kraju należy spodziewać się ~ 100 ms, na innym kontynencie 150-250 ms, jeśli nieszczęście 400-500 ms.
Mimo wszystko wydaje się, że nie robi to aż tak dużej różnicy, ponieważ jest to tylko jednorazowe opóźnienie początkowe, którego prawie nie zauważasz. Dobrze?
Niestety nie jest to do końca prawda. Większość protokołów przesyłających znaczne ilości danych, takich jak np. TCP, wykorzystuje formę ograniczania przepustowości zależnego od potwierdzeń, więc ilość danych, które można wcisnąć na drut, zależy od czasu potrzebnego na wykonanie pełnej podróży w obie strony (tam iz powrotem jeszcze raz). Nie jest to w 100% dokładne, ponieważ TCP próbuje zoptymalizować przepustowość za pomocą jednego z kilku dość złożonych algorytmów okienkowania, które wysyłają kilka datagramów przed oczekiwaniem na potwierdzenie.
Chociaż może to w jakiś sposób złagodzić efekt, pozostaje jednak podstawowa zasada: to, co możesz wysłać (lub odebrać), jest ostatecznie uzależnione od czasu potrzebnego na potwierdzenie. Niektóre inne protokoły z bardziej rygorystycznymi wymaganiami w czasie rzeczywistym i mniej ważnymi wymaganiami dotyczącymi niezawodności ( myślę, że telefonia IP) stosuje inną strategię z różnymi problemami (których nie będę rozwijał).
Możesz zobaczyć, jak duże opóźnienie ma wpływ, jeśli porównasz słabą implementację TCP (Microsoft Windows) z lepszą (Linux). Chociaż obaj mówią tym samym protokołem i najwyraźniej robią dokładnie to samo, nie radzą sobie równie dobrze z kompensacją opóźnień.
Posiadam komputer stacjonarny (procesor 6700K, 64GB RAM, Windows) i Synology DiskStation (energooszczędny układ ARMv8, 1GB RAM, Linux). Komputer stacjonarny podłączony do tego samego routera, mimo że jest wielokrotnie mocniejszy, nie może w pełni nasycić linii 50 Mbit / s podczas pobierania z serwerów krajowych lub w UE (15-20 ms RTT), nawet przy kilku jednoczesnych pobraniach w locie. Potulny DiskStation nie ma problemu z całkowitym nasyceniem linii przy jednym pobieraniu, uzyskując 15-20% większą przepustowość - ten sam kabel, to samo wszystko.
W mojej sieci lokalnej (gdzie opóźnienie jest znacznie poniżej milisekundy) nie ma zauważalnej różnicy między nimi. To efekt opóźnienia.
Prędkość ... znowu
Podsumowując, tak, możesz spodziewać się, że „prędkość” spadnie wraz ze wzrostem odległości, głównie dlatego, że zwiększa się opóźnienie, i do pewnego stopnia dlatego, że pomiędzy nimi możesz mieć mniejszą przepustowość połączeń. W przeważającej części efekt powinien być jednak tolerowany.