Khoảng cách vật lý có ảnh hưởng đến tốc độ tải xuống không?


22

Tôi vừa cãi nhau với một đồng nghiệp của mình và nghĩ rằng tôi chỉ cần liên hệ với các chuyên gia về vấn đề này. Đây là kịch bản. Chúng tôi đang sử dụng một trang web đo tốc độ kết nối của bạn. Chúng tôi đã thử nghiệm bằng một máy chủ cách xa chúng tôi (Chúng tôi đang ở Malaysia và máy chủ ở Mỹ). Đó là khoảng 2 Mbps. Sau đó, chúng tôi đã thử với một máy chủ ở Singapore và nó nhanh hơn nhiều (khoảng 15 Mbps). Đồng nghiệp của tôi tin rằng đó là do khoảng cách vật lý trong khi tôi không nghĩ nó quan trọng. Sự hiểu biết của tôi là một khi bạn đã thực hiện bắt tay ban đầu và luồng dữ liệu đã bắt đầu, không quan trọng máy chủ được đặt ở đâu và kết quả sẽ gần như giống nhau. Am i thiếu cái gì ở đây? Làm thế nào nó thực sự làm việc?


2
Bạn có thể tự xác nhận điều này một cách tầm thường. Ping máy chủ để có được độ trễ. Sau đó 2Mbps * Độ trễ == Cửa sổ. Bạn có thể xác nhận kích thước cửa sổ thực tế với wireshark. Nhưng giả sử bạn không mở rộng cửa sổ, thì đó là 64kB / 2Mbps = 256ms, vì vậy tôi dự đoán máy chủ của bạn sẽ cách xa 256ms.
ytti

2
@ytti đang mô tả gián tiếp BDP (sản phẩm trì hoãn băng thông) tạm dịch thành các mạng dài (chậm), chất béo (băng thông) khó khăn hơn để giữ đầy đủ và mọi thứ ít ăn vào thông lượng tiềm năng của bạn. Xem en.wikipedia.org/wiki/Bandference-delay_product .
generalnetworkerror

2
@ytti, Windows Vista và sau đó có tính năng mở rộng cửa sổ theo mặc định ... chúng ta cần biết OS Navid đang sử dụng để thử nghiệm
Mike Pennington

Theo hỗ trợ này.microsoft.com/kb/934430 chia tỷ lệ (yếu tố 8) là mặc định trong Vista, nhưng chỉ dành cho không phải HTTP. Bản thân tôi không phải là người dùng Window nên không thể xác minh.
ytti

2
@ytti, tôi không chắc điều đó có liên quan. Tôi chạy Vista và tôi đang xem xét kết nối HTTP của mình đến trang hỗ trợ đó và TCP SYN nói: "Tỷ lệ cửa sổ: 2 (Nhân với hệ số 4)"
Mike Pennington

Câu trả lời:


23

Đồng nghiệp của tôi tin rằng đó là do khoảng cách vật lý trong khi tôi không nghĩ nó quan trọng. Sự hiểu biết của tôi là một khi bạn đã thực hiện bắt tay ban đầu và luồng dữ liệu đã bắt đầu, không quan trọng máy chủ được đặt ở đâu và kết quả sẽ gần như giống nhau. Am i thiếu cái gì ở đây? Làm thế nào nó thực sự làm việc?

Cả hai bạn đều đúng ở một thời điểm nào đó trong lịch sử, nhưng sự hiểu biết của bạn chủ yếu là chính xác ... ngày hôm nay :). Có một vài yếu tố thay đổi giữa câu trả lời cũ hơn mà bạn của bạn đưa ra và khả năng chúng ta có ngày hôm nay.

  • Mở rộng cửa sổ TCP
  • Điều chỉnh bộ đệm máy chủ

Sự khác biệt trong kết quả mà bạn thấy có thể đã bị ảnh hưởng bởi:

  • Mất gói
  • Chuyển giao song song TCP

TCP Window Scale: Hiệu ứng trễ băng thông

Như bạn của bạn đã đề cập, các triển khai TCP cũ hơn phải chịu các giới hạn được đặt ra bởi kích thước cửa sổ nhận 16 bit ban đầu trong tiêu đề TCP (ref RFC 793: Mục 3.1 ); RWIN kiểm soát số lượng dữ liệu chưa được xử lý có thể chờ trong một ổ cắm TCP. Giá trị RWIN 16 bit giới hạn đường dẫn internet với các sản phẩm có độ trễ băng thông cao (và nhiều kết nối internet băng thông cao ngày nay sẽ bị giới hạn bởi giá trị 16 bit).

Đối với các giá trị RTT cao, thật hữu ích khi có một RWIN rất lớn. Ví dụ: nếu đường dẫn RTT của bạn từ Malaysia đến Mỹ khoảng 200ms, TCP RWIN ban đầu sẽ giới hạn bạn ở mức 2,6Mb / giây.

Thông lượng tối đa = Rcv_Win / RTT

* Thông lượng tối đa = 65535 * 8 / 0.200 *

Thông lượng tối đa = 2,6Mb / giây

RFC 1323 đã định nghĩa một số "Tùy chọn TCP" để khắc phục những hạn chế này; một trong những tùy chọn TCP đó là "chia tỷ lệ cửa sổ". Nó giới thiệu một hệ số tỷ lệ, nhân giá trị RWIN ban đầu, để có được giá trị cửa sổ nhận đầy đủ; sử dụng các tùy chọn chia tỷ lệ cửa sổ cho phép RWIN tối đa 1073725440 byte. Áp dụng các tính toán tương tự:

Thông lượng tối đa = Rcv_Win / RTT

* Thông lượng tối đa = 1073725440 * 8 / 0.200 *

Thông lượng tối đa = 42,96Gbps

Hãy nhớ rằng TCP tăng RWIN dần dần trong suốt thời gian chuyển, miễn là mất gói không phải là vấn đề. Để xem tốc độ truyền thực sự lớn qua kết nối có độ trễ cao, bạn phải chuyển một tệp lớn (để TCP có thời gian tăng cửa sổ) và mất gói không thể là vấn đề đối với kết nối.

Mất gói

Đôi khi các mạng Internet trên Thái Bình Dương bị tắc nghẽn. Một số gia đình tôi sống ở Đài Loan và chúng tôi thường xuyên gặp phải các vấn đề khi chúng tôi sử dụng Google Talk với họ. Tôi thường thấy mất gói hơn 0,5% khi tôi ping đường DSL của họ từ Mỹ; nếu bạn thấy bất cứ thứ gì như mất 0,5% cho máy chủ "chậm hơn", rất dễ dàng sẽ hạn chế thông lượng trên một ổ cắm TCP.

Các luồng TCP song song

FYI, một số trang web kiểm tra tốc độ sử dụng các luồng TCP song song để tăng thông lượng ; điều này có thể ảnh hưởng đến kết quả mà bạn thấy, bởi vì các luồng TCP song song làm tăng đáng kể thông lượng trong trường hợp bạn có một số mất gói trong đường dẫn. Tôi đã thấy bốn luồng TCP song song bão hòa hoàn toàn một modem cáp 5Mbps bị mất gói 1% liên tục. Thông thường, mất 1% sẽ làm giảm thông lượng của một luồng TCP.

Phần thưởng: Điều chỉnh bộ đệm máy chủ

Nhiều triển khai hệ điều hành cũ hơn có ổ cắm với bộ đệm hạn chế; với hệ điều hành cũ hơn (như Windows 2000), việc TCP có cho phép một lượng lớn dữ liệu trong chuyến bay hay không ... bộ đệm ổ cắm của chúng không được điều chỉnh để tận dụng lợi thế của RWIN lớn. Đã có rất nhiều nghiên cứu được thực hiện để cho phép hiệu suất cao khi chuyển TCP . Các hệ điều hành hiện đại (đối với câu trả lời này, chúng ta có thể gọi Windows Vista và sau này là "hiện đại") bao gồm các cơ chế phân bổ bộ đệm tốt hơn trong việc triển khai bộ đệm ổ cắm của chúng.


4
Một lưu ý phụ: có rất nhiều bộ định tuyến kiểu cũ sẽ mở rộng quy mô cửa sổ (có ít hơn mỗi ngày, nhưng vẫn còn rất nhiều) và đặt lại về 0, làm giảm đáng kể băng thông của bạn. Xác suất trúng một trong các bộ định tuyến bị hỏng này tăng theo số bước nhảy đến đích, mặc dù hầu hết các nhà cung cấp cơ sở hạ tầng mạng hiện nay không gặp phải vấn đề này.
Chris Xuống

Bộ định tuyến là thiết bị L3. Mở rộng cửa sổ TCP là một quá trình L4. Bộ định tuyến chuyển tiếp gói hoặc không và không sử dụng các cơ chế QoS, không có sự khác biệt giữa TCP, UDP hoặc bất kỳ giao thức nào khác. Bộ định tuyến chắc chắn có ảnh hưởng đến việc đàm phán MSS ban đầu (.. hoặc nếu chúng làm rơi ICMP không thể truy cập được) nhưng thuật toán cửa sổ trượt hoàn toàn là một chức năng của các ngăn xếp trên các hệ thống đầu cuối.
rnxrx

2
@rnxrx Tôi đồng ý, chủ yếu là FW cạnh sẽ tức giận về các tùy chọn TCP. Tôi chưa nghe nói về tùy chọn mở rộng bộ định tuyến TCP của bộ định tuyến, nhưng tôi sẽ không ngạc nhiên lắm nếu ai đó đến với nhà cung cấp / mô hình đã thực hiện nó, vì cho rằng các bộ định tuyến biên không phải là tùy chọn TCP MSS quá cảnh , đó không phải là một bước nhảy vọt lớn để tưởng tượng ai đó đang đưa nó lên.
ytti

3

Câu trả lời ngắn: Có, khoảng cách có ảnh hưởng đến băng thông luồng đơn.

Internet đã phát triển các phương tiện để hạn chế hiệu ứng đó ... trì hoãn ACK, mở rộng cửa sổ, các giao thức khác :-) Nhưng cuối cùng vật lý vẫn chiến thắng. Trong trường hợp này, nhiều khả năng là tắc nghẽn mạng chung qua rất nhiều bước nhảy - chỉ mất một gói bị rơi để giết luồng TCP.


1

Mặc dù đã có câu trả lời tuyệt vời cho vấn đề này, tôi muốn thêm: không, tốc độ không nhất thiết bị ảnh hưởng bởi khoảng cáchvâng, rất thường xuyên tốc độ bị ảnh hưởng bởi khoảng cách đều đúng.

Tại sao vậy?

Đơn giản hóa mạnh mẽ, khoảng cách càng dài, càng có nhiều "bước nhảy" liên quan đến con đường thông qua Internet. Băng thông tối đa được xác định bởi lưu lượng truy cập hop và đồng thời chậm nhất. Với khoảng cách ngày càng tăng và sự phân phối ngẫu nhiên của tốc độ hop, xác suất để có được tốc độ tổng thể chậm hơn đang tăng lên. Ngoài ra, vật lý cản trở và tăng độ trễ cũng có thể làm chậm liên kết.

Nhưng điều này không được coi là đương nhiên. Công nghệ cho phép chúng ta xây dựng một kết nối bao gồm hành tinh với gần như bất kỳ băng thông mong muốn nào. Tuy nhiên, băng thông và khoảng cách là kẻ thù và cả hai đều làm tăng đáng kể chi phí kết nối, một lần nữa khiến nó ít có khả năng tồn tại chỉ cho kết nối bạn có thể cần ngay bây giờ.

Tất nhiên, điều này là quá đơn giản nhưng trong thực tế, tình huống này là những gì bạn rất thường tìm thấy. Và một lần nữa, bạn không nên khi có một kết nối nhanh đáng kinh ngạc hoặc một proxy phân phối ở ngay gần đó - nhưng khi mọi thứ ngay lập tức chúng ta hiếm khi nghĩ về tốc độ của Internet ...


-1

Theo Andrew Martin câu trả lời là có

Đồ thị


Liên kết chỉ trả lời được khuyến khích. Vui lòng cung cấp chi tiết làm cho câu trả lời này hữu ích mà không phụ thuộc vào trang web được liên kết.
Teun Vink

Anh bạn, đó không phải là một liên kết chỉ trả lời, đó là một hình ảnh có số liệu thống kê
Jonathan

Tôi không phải là anh chàng của bạn. Ngoài ra, hình ảnh này không có ý nghĩa gì nếu không có lời giải thích về trục Y và cách đo. Và thậm chí sau đó, bạn nên giải thích làm thế nào hình ảnh này là một câu trả lời cho câu hỏi.
Teun Vink

Tôi không biết tại sao điều đó khó khăn với bạn, nhưng trục X và Y được dán nhãn. "Tốc độ tải xuống trung bình tính bằng Mbps"
Jonathan
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.