Tại sao mạng di động có độ trễ cao? Làm thế nào họ có thể được giảm?


39

Tôi ngày càng thấy các công nghệ mạng di động đang được sử dụng để truy cập internet ở những khu vực không có sẵn.

Mặc dù mạng di động thường không khả thi như kết nối internet chính, công nghệ di động có vẻ như là một lựa chọn tốt cho dự phòng khẩn cấp.

Bandwith không phải là vấn đề: Với HDSPA, tốc độ của một vài MBit là có thể, điều này cung cấp một đường lên tốt. Tuy nhiên, tôi biết từ kinh nghiệm cá nhân rằng các liên kết internet của mạng di động (thông qua GPRS, UMTS, v.v.) có độ trễ cao hơn nhiều so với DSL thông thường (200-400 ms cho UMTS, thậm chí nhiều hơn cho GPRS). Điều này tất nhiên làm cho chúng không phù hợp với nhiều ứng dụng, chẳng hạn như VoIP và hội nghị truyền hình.

  • Độ trễ này đến từ đâu?
  • Có công nghệ nào có sẵn có thể giảm thiểu vấn đề này, để làm cho UMTS khả thi cho các ứng dụng có độ trễ thấp không?

Tôi cho rằng phải có một số lý do kỹ thuật vốn có, nhưng nó là gì? Nó có liên quan gì đến việc dữ liệu được truyền qua không trung không? Và nếu đó là do truyền dẫn không dây, tại sao mạng WLAN có độ trễ thấp hơn nhiều?


6
Thuộc về runningamajortelecom.stackexchange.com. ;-)
ceejayoz

loại thiết bị di động, vị trí tháp di động, rào cản tín hiệu, v.v.
DanBig

3
Câu hỏi này không phù hợp với siêu người dùng. Nó thuộc về nơi này.
resmon6

2
Họ sẽ vượt qua nó. Là một kỹ sư mạng, tôi mong muốn được nhìn thấy một câu trả lời chu đáo cho câu hỏi này.
resmon6

Câu trả lời:


46

Cuốn sách "Mạng trình duyệt hiệu suất cao" từ Ilya Grigorik trả lời chính xác điều này. Có cả một chương (thứ 7) dành riêng cho mạng di động. Cuốn sách nói rằng vấn đề với hiệu suất cao hầu như luôn luôn gắn liền với độ trễ, chúng ta thường có nhiều băng thông nhưng các giao thức gặp trở ngại. Có thể là TCP khởi động chậm , Bộ điều khiển tài nguyên vô tuyến (RRC) hoặc cấu hình dưới mức tối ưu. Nếu bạn gặp phải độ trễ kém chỉ trong các mạng di động thì đó là cách chúng được thiết kế.

Có một bảng trong cuốn sách về độ trễ điển hình:

Bảng 7-2. Tốc độ dữ liệu và độ trễ cho kết nối di động đang hoạt động

Thế hệ | Tốc độ dữ liệu | Độ trễ
2G | 100 con400 Kbit / s | 300 con1000 ms
3G | 0,5 sắt5 Mbit / s | 100 L500500 ms
4G | 1 Phi50 Mbit / s | <100 ms

Mặc dù rất phù hợp với độ trễ, bắt tay ba chiều đặc trưng TCP hoặc khởi động chậm không thực sự trả lời câu hỏi, vì chúng ảnh hưởng đến các kết nối có dây như nhau. Điều thực sự ảnh hưởng đến độ trễ trong mạng di động là lớp dưới IP. Nếu lớp dưới IP có độ trễ nửa giây, kết nối TCP đến máy chủ sẽ mất ~ 1,5 giây (0,5 giây * 3), khi bạn thấy các con số tăng lên khá nhanh. Như đã nói trước đó, giả sử rằng điện thoại di động không nhàn rỗi. Nếu thiết bị cầm tay không hoạt động, trước tiên nó phải "kết nối" với mạng, điều đó đòi hỏi phải thương lượng dự trữ tài nguyên với tháp (đơn giản hóa) và mất từ ​​50 đến 100ms trong LTE, tối đa vài giây trong 3G và hơn thế nữa trong các mạng trước đó.

Hình 7-12. Độ trễ dòng yêu cầu LTE

  1. Độ trễ của mặt phẳng điều khiển : Đã sửa lỗi, chi phí độ trễ một lần phát sinh cho đàm phán RRC và chuyển trạng thái: <100 ms khi không hoạt động và <50 ms khi không hoạt động.
  2. Độ trễ mặt phẳng người dùng : Chi phí cố định cho mỗi gói ứng dụng được chuyển giữa thiết bị và tháp radio: <5 ms.
  3. Độ trễ mạng lõi: Chi phí phụ thuộc của nhà mạng để vận chuyển gói từ tháp radio đến cổng gói: trong thực tế, 30 chuyến100 ms.
  4. Độ trễ định tuyến Internet: Chi phí độ trễ biến đổi giữa cổng gói của người vận chuyển và địa chỉ đích trên Internet công cộng.

Trong thực tế, độ trễ từ đầu đến cuối của nhiều mạng 4G được triển khai có xu hướng ở trong phạm vi 30100100 ms sau khi thiết bị ở trạng thái được kết nối.

Vì vậy, bạn có một yêu cầu (Hình 8-2. Các thành phần của yêu cầu HTTP "đơn giản"):

  1. Đàm phán RRC 50-2500 ms
  2. Tra cứu DNS 1 RTT
  3. Bắt tay TCP 1 RTT (kết nối có sẵn) hoặc 3 RTT (kết nối mới)
  4. TLS bắt tay 1-2 RTT
  5. Yêu cầu HTTP 1-n RTT

Và với dữ liệu thực:

Bảng 8-1. Chi phí trễ của một yêu cầu HTTP

                       | 3G | 4G
Máy bay điều khiển | 200 trận đấu 2.500 ms | 50 con100 ms
Tra cứu DNS | 200 ms | 100 ms
Bắt tay TCP | 200 ms | 100 ms
Bắt tay TLS | 200 con400 ms | 100 100200200 ms
Yêu cầu HTTP | 200 ms | 100 ms
Tổng độ trễ trên không | 200 con3500 ms | 100 L60000 ms

Ngoài ra, nếu bạn có một ứng dụng tương tác mà bạn muốn hoạt động ở mức vừa phải trong mạng di động, bạn có thể thử nghiệm vô hiệu hóa thuật toán Nagle (hạt nhân chờ dữ liệu kết hợp thành các gói lớn hơn thay vì gửi nhiều gói nhỏ hơn) tìm cách kiểm tra nó trong https://stackoverflow.com/a/17843292/869019 .


Có tùy chọn để đọc toàn bộ cuốn sách miễn phí bởi mọi người tại https://hpbn.co/ được tài trợ bởi Hội nghị Velocity. Đây là một cuốn sách rất được khuyến khích, không chỉ cho những người phát triển trang web, nó rất hữu ích cho mọi người phục vụ byte qua một số mạng cho khách hàng.


Cảm ơn thông tin, rất thú vị. Vì không phải ai cũng có thể đọc sách (và vì các câu trả lời nên tự đứng): Bạn có thể giải thích thêm một chút về cách TCP khởi động chậm, bộ điều khiển vô tuyến và cấu hình đóng góp vào độ trễ không?
sleske

1
Tôi vừa chỉnh sửa câu trả lời với các đoạn và bảng của cuốn sách để nó hữu ích.
Jorge Nerín

2
Lưu ý đến bản thân: Một bài viết thú vị khác về độ trễ: Độ trễ trong Mạng dữ liệu HSPA , Qualcomm.
sleske

Cảm ơn bạn rất nhiều. Tôi đang cố gắng giải thích với sếp của mình tại sao chúng ta gặp rắc rối với độ trễ trên modem 3G cho các ki-ốt được triển khai từ xa và điều này đã đánh bật nó ra khỏi công viên.
jklemmack

4

Tôi nghi ngờ rằng một tỷ lệ lớn độ trễ mà bạn có thể gặp phải khi sử dụng các công nghệ "băng thông rộng di động" là một vấn đề chung của một số điều.

Có khoảng cách, nhưng như đã đề cập đến từ trường, đó thực tế chỉ là một tỷ lệ rất nhỏ trong thời gian khứ hồi.

Đây là một cái gì đó để xem xét ... Sự chậm trễ mà bạn trải nghiệm như một khách hàng (đặc biệt là nhà hoặc khách hàng doanh nghiệp nhỏ) có thể được gây ra một cách giả tạo, ít nhất là ở một mức độ nào đó. Có một lớp truyền thông 3G và GSM để sử dụng M2M, cho SCADA, v.v., đôi khi có thể cung cấp độ tin cậy cao hơn và truyền độ trễ thấp hơn. Kết quả là, chúng thường rất đắt đỏ.

Về cơ bản, bạn đang chống lại việc định hình giao thông. ISP / Telco đang làm điều đó để ưu tiên khách hàng trả tiền tốt hơn hoặc tế bào bạn kết nối hơi bận rộn hoặc toàn bộ mạng của họ hơi chậm chạp (thử 00:00 GMT ngày 1/1/2012, để biết thí dụ).

Nhưng có một cách xung quanh tất cả những điều này, mặc dù nó hơi lén lút. Về cơ bản, bạn cần một proxy kết nối TCP trước khi lưu lượng truy cập của bạn vượt qua WWAN di động. Proxy này về cơ bản sẽ gửi một ACK giả mạo đến ứng dụng của bạn, vì ACK thực sự có thể bị trì hoãn bởi việc định hình lưu lượng của ISP.
Thật đáng ngờ, nhưng một số nhà cung cấp vệ tinh sử dụng cơ chế này để làm cho độ trễ có vẻ thấp hơn thực tế.


Proxy tcp là một ý tưởng thú vị và sẽ giúp TCP sử dụng tốt hơn băng thông có sẵn. Tuy nhiên, nó không thực sự giúp ích với loại ứng dụng mà OP yêu cầu. Độ trễ trong kết nối là người dùng có thể nhìn thấy. Tôi nghĩ rằng bạn có thể có thể sử dụng Phoebus: e2epi.iNET2.edu/phoebus.html như một proxy TCP.
Dan Pritts

2

Loại trò chơi muộn, nhưng bạn có thể muốn xem bài viết về Lịch biểu diễn của tôi về chủ đề này: http://calWiki.perfplanet.com/2012/latency-in-mobile-networks-the-missing-link/

tl; dr - một phần chính của độ trễ di động là do định tuyến không được tối ưu hóa trên đường lùi.


Điểm thú vị. Tuy nhiên, điều này chỉ giải thích một phần của vấn đề. GPRS thường có độ trễ 500-1.000ms. Độ trễ trên khắp một lục địa, thường không quá 200-300ms, do đó, ngay cả việc định tuyến rất lãng phí cũng không cung cấp cho bạn 1.000 ms.
sleske

@sleske Tôi nghi ngờ rằng với GPRS (và các công nghệ cũ khác), bạn đang gặp phải một nút cổ chai băng thông. Bạn có thể nhồi nhét rất nhiều gói trong 56kb / giây (tối đa) trước khi chúng bắt đầu xếp hàng (có thể tôi sai - nhưng không phải 56kb / s có nghĩa là khoảng bốn khung hình 1500 byte mỗi giây?).
r0u1i

Backhaul không phải là câu trả lời. Ít nhất là từ quan điểm của Metro. SLA yêu cầu lưu lượng truy cập đường truyền trên ethernet Carrier ở mọi nơi tôi đã ở trong phạm vi 8-12ms, chuyển sang MSC / MTSO. Cách thức nhà cung cấp dịch vụ di động định tuyến lưu lượng truy cập từ đó lên Backbone là công việc của họ, nhưng không nên khác biệt so với lưu lượng truy cập ISP / không di động thông thường.

1

Các công nghệ modem điện thoại di động chịu độ trễ cao do bản chất của giao tiếp ngoài trời: khoảng cách truyền WLAN thường ngắn hơn nhiều so với các công nghệ khác mà bạn đã đề cập, do đó đây là một lý do độ trễ thấp hơn.


6
Khoảng cách thực sự là mối quan tâm nhỏ ở đây. Tốc độ lan truyền sóng vô tuyến trong không khí khá gần với tốc độ ánh sáng trong vắc-xin (khoảng 300.000 km / giây), do đó, ngay cả khoảng cách 3 km cũng chỉ chiếm 0,02 ms độ trễ của chuyến đi khứ hồi.
the-wợi

2
@ syirecton-dj Bạn đúng một phần trong chuyến đi đến tháp chỉ là một phần (rất nhỏ) của độ trễ trong mạng di động. Ngoài ra còn có sự dư thừa truyền dẫn (liên kết vô tuyến không bao giờ hoàn hảo trong thế giới thực và việc sửa lỗi vốn đã gây ra sự chậm trễ), chuyển đến tòa nhà chuyển mạch CO / telco (thường là qua mạng gói trong những ngày này, có thể là một hoặc nhiều bước) , kết nối bạn với một liên kết thoại hoặc dữ liệu tại CO, và sau đó giả sử chúng ta đang nói về các kết nối dữ liệu bạn đang sử dụng trên Internet Lớn xấu với tất cả sự chậm trễ vốn có của nó.
voretaq7

1
Tôi sẽ thêm các thuật toán phát hiện va chạm / tránh va chạm và các tham số vận hành hiện tại (như tốc độ truyền giảm xuống dẫn đến thời gian bit tăng lên cũng chiếm 1-4 ms). Nhưng tôi không biết đủ về UMTS để soạn một câu trả lời toàn diện.
the-wợi

@ syirecton-dj Điểm tốt; Tôi đã viết một bài báo về công nghệ CDMA nhưng đó là một thời gian dài trước đây!
Isaac Mông
Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.