Coraz częściej widzę, że technologie sieci mobilnych są wykorzystywane do uzyskania dostępu do Internetu w obszarach, w których inaczej nie byłby dostępny.
Podczas gdy sieci komórkowe zwykle nie są jeszcze opłacalne jako podstawowe połączenie internetowe, technologia mobilna wygląda na dobrą opcję na wypadek awarii.
Pasmo nie stanowi problemu: dzięki HDSPA możliwe są prędkości kilku MBit, co zapewnia przyzwoite łącze wysyłające. Wiem jednak z własnego doświadczenia, że łącza internetowe w sieciach komórkowych (przez GPRS, UMTS itp.) Mają znacznie większe opóźnienia niż zwykłe DSL (200-400 ms dla UMTS, a nawet więcej dla GPRS). To oczywiście czyni je nieodpowiednimi do wielu zastosowań, takich jak VoIP i telekonferencje.
- Skąd się bierze to opóźnienie?
- Czy są dostępne technologie, które mogą złagodzić ten problem, aby UMTS był opłacalny dla aplikacji o niskim opóźnieniu?
Zakładam, że musi istnieć jakiś nieodłączny powód techniczny, ale co to jest? Czy ma to związek z tym, jak dane są przesyłane bezprzewodowo? A jeśli dzieje się tak z powodu transmisji bezprzewodowej, dlaczego WLAN ma znacznie mniejsze opóźnienia?
źródło
Odpowiedzi:
Książka „High Performance Browser Networking” autorstwa Ilyi Grigorik dokładnie na to odpowiada. Cały rozdział (7) poświęcony jest sieciom mobilnym. Książka stwierdza, że problem z wysoką wydajnością prawie zawsze związany jest z opóźnieniami, zwykle mamy dużą przepustowość, ale protokoły przeszkadzają. Może to być powolny start TCP , kontroler zasobów radiowych (RRC) lub konfiguracje nieoptymalne. Jeśli występują niewielkie opóźnienia w sieciach komórkowych, jest to sposób, w jaki zostały zaprojektowane.
W książce znajduje się tabela na temat typowych opóźnień:
Tabela 7-2. Szybkości transmisji i opóźnienia dla aktywnego połączenia mobilnego
Chociaż bardzo istotny dla opóźnień, charakterystyczny trójdrożny uścisk dłoni TCP lub powolny start tak naprawdę nie odpowiadają na pytanie, ponieważ w równym stopniu wpływają na połączenia przewodowe. To, co naprawdę wpływa na opóźnienie w sieciach mobilnych, to warstwa pod adresem IP. Jeśli warstwa pod adresem IP ma opóźnienie wynoszące pół sekundy, połączenie TCP z serwerem zajmie około 1,5 sekundy (0,5 s * 3), ponieważ liczby szybko się sumują. Jak powiedziano wcześniej, zakłada się, że telefon komórkowy nie jest bezczynny. Jeśli słuchawka jest bezczynna, najpierw musi „połączyć się” z siecią, co wymaga wynegocjowania rezerwy zasobów z wieżą (uproszczone), a to zajmuje od 50-100 ms w LTE, do kilku sekund w 3G i więcej we wcześniejszych sieciach.
Rycina 7-12. Opóźnienia przepływu żądania LTE
W praktyce opóźnienie od końca do końca wielu wdrożonych sieci 4G zwykle znajduje się w zakresie 30–100 ms, gdy urządzenie jest w stanie połączenia.
Masz więc jedno żądanie (rysunek 8-2. Składniki „prostego” żądania HTTP):
I z prawdziwymi danymi:
Tabela 8-1. Opóźnienie związane z pojedynczym żądaniem HTTP
Ponadto, jeśli masz interaktywną aplikację, którą chcesz wykonywać w umiarkowanym stopniu w sieci mobilnej, możesz eksperymentować z wyłączeniem algorytmu Nagle (jądro czeka na połączenie danych w większe pakiety zamiast wysyłania wielu mniejszych pakietów), poszukaj sposobów na przetestowanie go w https://stackoverflow.com/a/17843292/869019 .
Wszyscy mogą bezpłatnie przeczytać całą książkę na https://hpbn.co/ sponsorowanej przez Velocity Conference. Jest to książka bardzo wysoce polecana, nie tylko osobom rozwijającym strony internetowe, ale jest przydatna dla każdego, kto obsługuje bajty w sieci przez klienta.
źródło
Podejrzewam, że duża część opóźnień, które mogą wystąpić podczas korzystania z technologii „szerokopasmowego internetu komórkowego”, jest złożonym problemem wielu rzeczy.
Jest odległość, ale jak wspomniano w syneticon-dj, to w rzeczywistości tylko niewielka część czasu podróży w obie strony.
Oto coś do rozważenia ... Opóźnienia, które odczuwasz jako klient (zwłaszcza jako klient domowy lub mały biznes), są prawdopodobnie sztucznie wywołane, przynajmniej do pewnego stopnia. Istnieje klasa komunikacji 3G i GSM do wykorzystania M2M, dla SCADA i tak dalej, która czasem może zapewnić większą niezawodność i transmisję z mniejszym opóźnieniem. W rezultacie są one zwykle zbyt drogie.
Zasadniczo masz problem z kształtowaniem ruchu. Albo dostawca usług internetowych / Telco robi to, aby priorytetowo traktować lepiej płatnych klientów, lub komórka, z którą jesteś połączony, jest nieco zajęta, lub cała ich sieć jest nieco spowolniona (spróbuj 00:00 GMT w dniu 1 stycznia 2012 r., Aby przykład).
Ale jest na to wszystko rozwiązanie, choć jest trochę podstępne. Zasadniczo potrzebujesz proxy połączenia TCP, zanim Twój ruch wyruszy przez mobilną sieć WWAN. Ten serwer proxy zasadniczo wysyła sfałszowane potwierdzenie ACK do Twojej aplikacji, ponieważ rzeczywiste potwierdzenie może być opóźnione przez kształtowanie ruchu przez dostawcę usług internetowych.
Jest to wyraźnie wątpliwe, ale wielu dostawców usług satelitarnych używa tego mechanizmu, aby opóźnienie wydawało się niższe niż w rzeczywistości.
źródło
Trochę późno do gry, ale możesz zajrzeć do mojego kalendarza wydajności na ten temat: http://calendar.perfplanet.com/2012/latency-in-mobile-networks-the-missing-link/
tl; dr - duża część opóźnień mobilnych wynika z niezoptymalizowanego routingu na odległość.
źródło
Technologie modemów telefonii komórkowej cierpią z powodu dużych opóźnień ze względu na naturę komunikacji na wolnym powietrzu: odległości transmisji WLAN są zwykle znacznie krótsze niż w przypadku innych technologii, o których wspomniałeś, dlatego jest to jeden z powodów, dla których opóźnienie jest niższe.
źródło