Чому мобільні мережі мають високі затримки? Як їх можна зменшити?


39

Я все частіше бачу технології мобільних мереж, які використовуються для отримання доступу до Інтернету в тих областях, де він інакше недоступний.

Хоча мобільна мережа, як правило, ще не є життєздатною як основне з'єднання з Інтернетом, мобільна технологія виглядає як хороший варіант для аварійного відключення.

Пропускна здатність не є проблемою: при HDSPA можливі швидкості в кілька Мбіт, що забезпечує гідну висхідну лінію. Однак з особистого досвіду я знаю, що інтернет-посилання мобільних мереж (через GPRS, UMTS тощо) мають набагато більші затримки, ніж звичайні DSL (200-400 мс для UMTS, навіть більше для GPRS). Це, звичайно, робить їх непридатними для багатьох додатків, таких як VoIP та телеконференції.

  • Звідки ця затримка?
  • Чи є якісь технології, які можуть пом'якшити цю проблему, щоб зробити UMTS життєздатним для додатків із низькою затримкою?

Я припускаю, що повинна бути якась притаманна технічна причина, але що це? Чи має це відношення до того, як передаються дані по ефіру? І якщо це через бездротову передачу, чому WLAN має набагато менші затримки?


6
Належить до runamajortelecom.stackexchange.com. ;-)
ceejayoz

тип мобільного пристрою, розташування стільникової башти, бар'єри для сигналу тощо
DanBig

3
Це питання не підходить для суперпользователя. Він належить тут.
resmon6

2
Вони здолають це. Як мережевий інженер я з нетерпінням чекаю продуманої відповіді на це питання.
resmon6

Відповіді:


46

Саме так відповідає книга «Високопродуктивна мережа браузера» від Іллі Григорика. Є ціла глава (7-а), присвячена мобільним мережам. У книзі зазначається, що проблема з високою продуктивністю майже завжди пов'язана із затримкою, у нас зазвичай багато пропускної здатності, але протоколи заважають. Будь то уповільнений запуск TCP , контролер радіоресурсів (RRC) або субоптимальна конфігурація. Якщо у вас спостерігається погана затримка лише в мобільних мережах, це так, як вони розроблені.

У книзі є таблиця про типові затримки:

Таблиця 7-2. Швидкість передачі даних та затримка для активного мобільного зв'язку

Покоління | Швидкість передачі даних | Затримка
2G | 100–400 Кбіт / с | 300–1000 мс
3G | 0,5–5 Мбіт / с | 100–500 мс
4G | 1–50 Мбіт / с | <100 мс

Незважаючи на те, що дуже актуально для затримки, характерне тристоронне рукостискання або повільний старт TCP насправді не відповідають на питання, оскільки вони впливають на дротові з'єднання однаково. Те, що дійсно впливає на затримку в мобільних мережах, - це шар під IP. Якщо рівень шару під IP має затримку на півсекунди, підключення TCP до сервера займе ~ 1,5 сек (0,5s * 3), оскільки ви бачите, що цифри збільшуються досить швидко. Як було сказано раніше, це припущення, що мобільний телефон не працює. Якщо телефон не працює, спочатку потрібно "підключитися" до мережі, що вимагає домовитись про запас ресурсів з вежею (спрощено), і це займе від 50 до 100 мс в LTE, до декількох секунд в 3G і більше у попередніх мережах.

Малюнок 7-12. LTE затримки потоку запитів

  1. Затримка в контрольній площині : фіксована одноразова затримка, що виникає для узгодження RRC та переходів стану: <100 мс для простою до активного та <50 мс для спокою до активного.
  2. Затримка в площині користувача : фіксована вартість кожного пакету додатків, переданого між пристроєм та радіовежею: <5 мс.
  3. Затримка основної мережі: вартість, залежна від перевізника, для транспортування пакета від радіовежі до шлюзу пакетів: на практиці 30–100 мс.
  4. Затримка маршрутизації в Інтернеті: змінна вартість затримки між шлюзом пакета оператора та адресою призначення в загальнодоступному Інтернеті.

На практиці затримка в кінці багатьох розгорнутих мереж 4G, як правило, знаходиться в діапазоні 30–100 мс, коли пристрій перебуває у підключеному стані.

Отже, у вас є один запит (рис. 8-2. Компоненти "простого" HTTP запиту):

  1. Узгодження RRC 50-2500 мс
  2. Пошук DNS 1 RTT
  3. Рукостискання TCP: 1 RTT (попереднє з'єднання) або 3 RTT (нове з'єднання)
  4. TLS рукостискання 1-2 RTT
  5. HTTP-запит 1-n RTT

І з реальними даними:

Таблиця 8-1. Затримка накладних витрат одного запиту HTTP

                       | 3G | 4G
Площина управління | 200–2 500 мс | 50–100 мс
Пошук DNS | 200 мс | 100 мс
Рукостискання TCP | 200 мс | 100 мс
TLS рукостискання | 200–400 мс | 100–200 мс
HTTP-запит | 200 мс | 100 мс
Загальна затримка накладних витрат | 200–3500 мс | 100–600 мс

Крім того, якщо у вас є інтерактивний додаток, який ви хочете виконати в порядку мобільної мережі, ви можете експериментувати з відключенням алгоритму Nagle (ядро чекає, щоб дані зросталися у більші пакети замість того, щоб надсилати кілька менших пакетів), шукайте способи його тестування в https://stackoverflow.com/a/17843292/869019 .


Є можливість прочитати всю книгу безкоштовно на веб- сайті https://hpbn.co/, спонсорованому конференцією Velocity. Це дуже рекомендується книга не тільки для людей, що розробляють веб-сайти, вона корисна всім, хто обслуговує байти через якусь мережу для клієнта.


Дякую за інформацію, дуже цікаво. Оскільки не кожен може прочитати книгу (і оскільки відповіді повинні стояти самостійно): Чи можете ви пояснити трохи більше, як повільний старт TCP, радіоконтролери та конфігурація сприяють затримці?
sleske

1
Я щойно відредагував відповідь фрагментами та таблицями книги, тому вона корисна сама по собі.
Хорхе Нерін

2
Примітка до себе: Ще один цікавий документ про затримку: затримка в мережах передачі даних HSPA , Qualcomm.
sleske

Дуже дякую. Я намагаюся пояснити своєму начальникові, чому ми маємо проблеми із затримкою через 3G-модеми для віддалених розгорнутих кіосків, і це вибило його з парку.
jklemmack

4

Я підозрюю, що велика частка затримок, які ви можете зазнати при використанні технологій "стільникового широкосмугового зв'язку", є складною проблемою у ряді речей.

Існує відстань, але як згадується Syneticon-dj, це реально лише дуже мала частка часу в обидва кінці.

Ось що варто врахувати ... Затримки, які ви відчуваєте як клієнт (особливо як клієнт будинку або малого бізнесу), ймовірно, штучно викликані, принаймні, певною мірою. Існує клас зв'язку 3G та GSM для використання M2M, для SCADA тощо, що іноді може забезпечити більшу надійність та меншу затримку передачі. Як результат, вони зазвичай надмірно дорогі.

Таким чином, ви проти того, щоб формувати трафік. Або ISP / Telco робить це для того, щоб визначити пріоритетнішими платні клієнти, або стільниковий телефон, до якого ви підключені, трохи зайнятий, або вся їхня мережа трохи млява (спробуйте 00:00 GMT 01.01.2012, для приклад).

Але все це є способом, хоча це трохи підступно. В основному вам потрібен проксі-з'єднання TCP, перш ніж ваш трафік перейде через мобільний WWAN. Цей проксі-сервер, по суті, надішле підроблений ACK вашій програмі, оскільки справжній ACK може затриматись шляхом формування трафіку провайдера.
Це явно сумнівно, але низка провайдерів супутників використовує цей механізм, щоб зробити затримку здаватися нижчою, ніж є насправді.


Проксі-сервер tcp є цікавою ідеєю, і він допоможе TCP краще використовувати наявну пропускну здатність. Однак це не дуже допомагає з типом програми, про яку запитує ОП. Затримка підключення видима користувачеві. Я думаю, ви, можливо, можете використовувати Phoebus: e2epi.internet2.edu/phoebus.html як проксі-сервер TCP.
Dan Pritts

2

Вигляд запізнився в грі, але ви можете ознайомитися зі статтею мого календаря ефективності на тему: http://calendar.perfplanet.com/2012/latency-in-mobile-networks-the-missing-link/

tl; dr - основна частина мобільних затримок пов'язана з неоптимізованою маршрутизацією на задній відстані.


Цікавий момент. Однак це пояснює лише частину проблеми. Зазвичай GPRS має затримки в 500-1000 мс. Затримка на континенті зазвичай не перевищує 200-300 мс, тому навіть дуже марнотратне маршрутування не повинно давати вам 1000 мс.
sleske

@sleske Я підозрюю, що за допомогою GPRS (та інших старих технологій) ви стикаєтесь із вузьким місцем пропускної здатності. Ви можете набити стільки пакетів за 56 кбіт / с (макс.), Перш ніж вони почнуть чергувати (можливо, я помиляюся - але чи не означає 56 кбіт / с приблизно чотири 1500 байт кадрів в секунду?).
r0u1i

Проїзд - це не відповідь. Принаймні з точки зору метро. SLA вимагають зворотного трафіку на Ethernet Carrier скрізь, де я був у діапазоні 8-12 м, вежа до MSC / MTSO. Те, як оператор стільникового зв'язку переносить трафік звідти на хребет, - це їхня справа, але не повинна відрізнятися від звичайного ISP / не стільникового трафіку.

1

Технології модему стільникового телефону страждають від високої затримки через характер зв'язку під відкритим небом: відстані передачі бездротової локальної мережі зазвичай значно коротші, ніж у інших згаданих вами технологій, отже, це одна з причин затримки нижче.


6
Відстань тут насправді має незначне значення. Швидкість поширення радіохвиль у повітрі досить близька до швидкості світла у вакуумі (близько 300 000 км / с), тому навіть відстань у 3 км становила б лише 0,02 мс затримки в зворотному напрямку.
wabbit

2
@ syneticon-dj Ви частково вірні в тому, що поїздка до вежі - це лише (дуже мала частка) затримки стільникових мереж. Існує також надмірність передачі (радіопосилання ніколи не є ідеальним у реальному світі та виправлення помилок по суті викликає затримку), віддалений переїзд до телекомунікаційної мережі / комутаційної будівлі (як правило, через пакетну мережу в ці дні, може бути один або кілька стрибків) , підключивши вас до голосового або потокового зв’язку в ЦО, а потім, припускаючи, що ми говоримо про з'єднання даних, які ви перебуваєте у великому поганому Інтернеті з усіма притаманними йому затримками.
voretaq7

1
Я б додав алгоритми виявлення / запобігання зіткнення та алгоритми поточного функціонування (наприклад, знижена швидкість передачі, що призводить до збільшення бітового часу, який повинен становити 1-4 мс). Але я мало знаю про UMTS, щоб скласти вичерпну відповідь.
ваббіт

@ syneticon-dj Добрі моменти; Я написав документ про технологію CDMA, але це було давно!
Ісаак Батт
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.