Mengapa jaringan seluler memiliki latensi tinggi? Bagaimana mereka bisa dikurangi?

39

Saya semakin sering melihat teknologi jaringan seluler digunakan untuk mendapatkan akses internet di area yang tidak tersedia.

Sementara jaringan seluler biasanya belum layak sebagai koneksi internet utama, teknologi seluler terlihat seperti pilihan yang baik untuk mundur darurat.

Bandwith bukan masalah: Dengan HDSPA, kecepatan beberapa MBit dimungkinkan, yang menyediakan uplink yang layak. Namun, saya tahu dari pengalaman pribadi bahwa tautan internet jaringan seluler (melalui GPRS, UMTS, dll.) Memiliki latensi yang jauh lebih tinggi daripada DSL biasa (200-400 ms untuk UMTS, bahkan lebih untuk GPRS). Ini tentu saja membuat mereka tidak cocok untuk banyak aplikasi, seperti VoIP dan telekonferensi.

  • Dari mana datangnya latensi ini?
  • Apakah ada teknologi yang tersedia yang dapat mengurangi masalah ini, untuk membuat UMTS layak untuk aplikasi latensi rendah?

Saya berasumsi pasti ada beberapa alasan teknis yang melekat, tetapi apa itu? Apakah itu ada hubungannya dengan bagaimana data ditransmisikan melalui udara? Dan jika itu karena transmisi nirkabel, mengapa WLAN memiliki latensi yang jauh lebih rendah?

sleske
sumber
6
Milik runningamajortelecom.stackexchange.com. ;-)
ceejayoz
jenis perangkat seluler, lokasi menara sel, penghalang sinyal, dll.
DanBig
3
Pertanyaan ini tidak cocok untuk pengguna super. Itu milik sini.
resmon6
2
Mereka akan mengatasinya. Sebagai seorang insinyur jaringan saya berharap dapat melihat jawaban yang bijaksana untuk pertanyaan ini.
resmon6

Jawaban:

46

Buku "Jaringan Peramban Kinerja Tinggi" dari Ilya Grigorik menjawab persis ini. Ada seluruh bab (7) yang didedikasikan untuk jaringan seluler. Buku ini menyatakan bahwa masalah dengan kinerja tinggi hampir selalu terkait dengan latensi, kami biasanya memiliki banyak bandwidth tetapi protokol menghalangi. Baik itu TCP mulai lambat , Radio Resource Controller (RRC) atau konfigurasi suboptimal. Jika Anda mengalami latensi yang buruk hanya di jaringan seluler, itulah cara mereka dirancang.

Ada tabel di buku tentang latensi yang khas:

Tabel 7-2. Kecepatan dan latensi data untuk koneksi seluler aktif

Generasi | Kecepatan data | Latensi
2G | 100–400 Kbit / s | 300–1000 ms
3G | 0,5–5 Mbit / dtk 100–500 ms
4G | 1–50 Mbit / dtk <100 ms

Meskipun sangat relevan dengan latensi, karakteristik TCP handshake tiga arah atau slow-start tidak benar-benar menjawab pertanyaan, karena mereka mempengaruhi koneksi kabel secara merata. Apa yang benar-benar memengaruhi latensi dalam jaringan seluler adalah lapisan di bawah IP. Jika lapisan di bawah IP memiliki latensi setengah detik, koneksi TCP ke server akan memakan waktu ~ 1,5 detik (0,5s * 3), seperti yang Anda lihat jumlahnya bertambah cukup cepat. Seperti yang dikatakan sebelumnya bahwa seandainya ponsel tidak idle. Jika handset diam terlebih dahulu harus "terhubung" ke jaringan, yang mengharuskan untuk menegosiasikan cadangan sumber daya dengan menara (disederhanakan), dan yang membutuhkan antara 50-100ms dalam LTE, hingga beberapa detik dalam 3G, dan banyak lagi dalam jaringan sebelumnya.

Gambar 7-12. Latensi alur permintaan LTE

  1. Kontrol latensi pesawat : Memperbaiki, biaya latensi satu kali yang dikeluarkan untuk negosiasi RRC dan transisi keadaan: <100 ms untuk idle menjadi aktif, dan <50 ms untuk aktif ke aktif.
  2. Latensi pesawat pengguna : Biaya tetap untuk setiap paket aplikasi yang ditransfer antara perangkat dan menara radio: <5 ms.
  3. Latensi jaringan inti: Biaya tergantung operator untuk mengangkut paket dari menara radio ke gateway paket: dalam praktiknya, 30-100 ms.
  4. Latensi perutean internet: Biaya latensi variabel antara gateway paket operator dan alamat tujuan di Internet publik.

Dalam praktiknya, latensi ujung ke ujung dari banyak jaringan 4G yang dikerahkan cenderung berada dalam kisaran 30-100 ms begitu perangkat berada dalam kondisi terhubung.

Jadi, Anda memiliki satu permintaan (Gambar 8-2. Komponen permintaan HTTP "sederhana"):

  1. Negosiasi RRC 50-2500 ms
  2. Pencarian DNS 1 RTT
  3. Jabat tangan TCP 1 RTT (koneksi yang sudah ada sebelumnya) atau 3 RTT (koneksi baru)
  4. Jabat tangan TLS 1-2 RTT
  5. Permintaan HTTP 1-n RTT

Dan dengan data nyata:

Tabel 8-1. Overhead Latensi dari satu permintaan HTTP

                       | 3G | 4G
Pesawat kendali | 200–2.500 ms | 50-100 ms
Pencarian DNS | 200 ms | 100 ms
Jabat tangan TCP | 200 ms | 100 ms
Jabat tangan TLS | 200–400 ms | 100–200 ms
Permintaan HTTP | 200 ms | 100 ms
Total overhead latensi | 200–3500 ms | 100–600 ms

Selain itu jika Anda memiliki aplikasi interaktif yang ingin Anda lakukan dengan cukup ok di jaringan seluler, Anda dapat melakukan percobaan menonaktifkan algoritme Nagle (kernel menunggu data untuk bergabung menjadi paket yang lebih besar daripada mengirim beberapa paket yang lebih kecil) mencari cara untuk mengujinya di https://stackoverflow.com/a/17843292/869019 .


Ada opsi untuk membaca seluruh buku secara gratis oleh semua orang di https://hpbn.co/ disponsori oleh Velocity Conference. Ini adalah buku yang sangat direkomendasikan, tidak hanya untuk orang yang mengembangkan situs web, buku ini bermanfaat bagi semua orang yang melayani byte melalui beberapa jaringan ke klien.

Jorge Nerín
sumber
Terima kasih atas informasinya, sangat menarik. Karena tidak semua orang dapat membaca buku (dan karena jawaban harus berdiri sendiri): Bisakah Anda menjelaskan sedikit lebih banyak tentang bagaimana TCP mulai lambat, pengontrol radio, dan konfigurasi berkontribusi terhadap latensi?
sleske
1
Saya baru saja mengedit jawaban dengan fragmen dan tabel buku sehingga sangat berguna.
Jorge Nerín
2
Catatan untuk diri sendiri: Makalah lain yang menarik tentang latensi: Latensi dalam Jaringan Data HSPA , Qualcomm.
sleske
Terima kasih banyak. Saya mencoba menjelaskan kepada bos saya mengapa kami mengalami masalah dengan latensi atas modem 3G untuk kios yang ditempatkan jarak jauh, dan ini membuatnya terlempar keluar dari taman.
jklemmack
4

Saya menduga bahwa sebagian besar latensi yang mungkin Anda alami ketika menggunakan teknologi "broadband seluler" adalah masalah gabungan dari sejumlah hal.

Ada jarak, tetapi seperti yang disebutkan syneticon-dj, itu secara realistis hanya sebagian kecil dari waktu pulang-pergi.

Berikut ini sesuatu yang perlu dipertimbangkan ... Keterlambatan yang Anda alami sebagai pelanggan (terutama sebagai pelanggan rumah, atau bisnis kecil) mungkin disebabkan secara buatan, setidaknya sampai batas tertentu. Ada kelas komunikasi 3G dan GSM untuk pemanfaatan M2M, untuk SCADA dan sebagainya, yang kadang-kadang dapat memberikan keandalan yang lebih besar dan transmisi latensi yang lebih rendah. Akibatnya, mereka biasanya sangat mahal.

Jadi pada dasarnya, Anda menentang pembentukan lalu lintas. Entah ISP / Telco melakukannya untuk memprioritaskan pelanggan yang membayar lebih baik, atau sel yang Anda hubungi agak sibuk, atau seluruh jaringan mereka agak lambat (coba 00:00 GMT pada 1/1/2012, untuk contoh).

Tapi ada jalan keluar dari semua ini, itu agak licik. Anda pada dasarnya memerlukan proxy koneksi TCP sebelum traffic Anda keluar melalui WWAN seluler. Proxy ini pada dasarnya akan mengirim ACK palsu ke aplikasi Anda, karena ACK yang sebenarnya mungkin tertunda oleh pembentukan traffic ISP.
Ini jelas meragukan, tetapi sejumlah penyedia satelit menggunakan mekanisme ini untuk membuat latensi tampak lebih rendah daripada yang sebenarnya.

Tom O'Connor
sumber
Proxy tcp adalah ide yang menarik, dan akan membantu TCP memanfaatkan bandwidth yang tersedia dengan lebih baik. Namun, itu tidak benar-benar membantu dengan jenis aplikasi yang ditanyakan OP. Latensi dalam koneksi terlihat oleh pengguna. Saya pikir Anda mungkin bisa menggunakan Phoebus: e2epi.internet2.edu/phoebus.html sebagai proxy TCP.
Dan Pritts
2

Agak terlambat ke permainan, tapi Anda mungkin ingin memeriksa artikel Kalender Kinerja saya tentang topik ini: http://calendar.perfplanet.com/2012/latency-in-mobile-networks-the-missing-link/

tl; dr - bagian utama latensi seluler adalah karena perutean yang tidak dioptimalkan pada back-haul.

r0u1i
sumber
Poin yang menarik. Namun, ini hanya menjelaskan sebagian dari masalah. GPRS biasanya memiliki latensi 500-1.000 ms. Latensi di seluruh benua, biasanya tidak lebih dari 200-300 ms, jadi bahkan perutean yang sangat boros tidak akan memberi Anda 1.000 ms.
sleske
@sleske Saya menduga bahwa dengan GPRS (dan teknologi lama lainnya) Anda menekan hambatan bandwidth. Anda dapat menjejalkan begitu banyak paket dalam 56kb / dtk (maks) sebelum mereka mulai mengantri (mungkin saya salah - tetapi tidakkah 56kb / dtk berarti sekitar empat frame 1500 byte per detik?).
r0u1i
Backhaul bukanlah jawabannya. Setidaknya dari sudut pandang Metro. SLA membutuhkan lalu lintas backhaul pada Carrier ethernet di mana pun saya pernah berada di kisaran 8-12ms, menara ke MSC / MTSO. Bagaimana Operator Sel mengarahkan lalu lintas dari sana ke Backbone adalah bisnis mereka, tetapi seharusnya tidak berbeda dari ISP normal / lalu lintas non-seluler.
1

Teknologi modem ponsel menderita latensi tinggi karena sifat komunikasi udara terbuka: Jarak transmisi WLAN biasanya jauh lebih pendek daripada teknologi lain yang Anda sebutkan, maka ini adalah salah satu alasan latensi lebih rendah.

Isaac Butt
sumber
6
Jarak benar-benar menjadi perhatian kecil di sini. Kecepatan rambat gelombang radio di udara cukup dekat dengan kecepatan cahaya dalam vaccuum (sekitar 300.000 km / dtk) sehingga bahkan jarak 3 km hanya akan menyebabkan keterlambatan bolak-balik 0,02 ms.
the-wabbit
2
@ syneticon-dj Anda sebagian benar dalam perjalanan-ke menara hanya sebagian kecil dari keterlambatan dalam jaringan seluler. Ada juga redundansi transmisi (tautan radio tidak pernah sempurna di dunia nyata dan koreksi kesalahan secara inheren menyebabkan keterlambatan), backhaul ke gedung CO / switching telco (biasanya melalui jaringan paket saat ini, mungkin satu atau lebih lompatan) , menghubungkan Anda ke tautan suara atau data di CO, dan kemudian menganggap kita sedang berbicara tentang koneksi data yang Anda gunakan di The Big Bad Internet dengan semua penundaan yang melekat.
voretaq7
1
Saya akan menambahkan algoritma collision detection / collision avoidance dan parameter operasi saat ini (seperti pengurangan kecepatan transmisi yang menghasilkan peningkatan waktu bit yang seharusnya mencapai 1-4 ms) juga. Tetapi saya tidak cukup tahu tentang UMTS untuk menyusun jawaban yang komprehensif.
the-wabbit
@ syneticon-dj Poin bagus; Saya menulis makalah tentang teknologi CDMA tapi itu sudah lama sekali!
Isaac Butt