Về hiệu suất triển khai TCP của Linux và Windows


13

Tôi hiểu việc triển khai ngăn xếp TCP trong windows và Linux là khác nhau. Windows sử dụng thuật toán điều khiển tắc nghẽn được gọi là TCP Reno trong khi Linux sử dụng Cubic.

Làm thế nào để 2 giao thức so sánh khi chúng cùng tồn tại trên cùng một mạng? Có đúng không khi nói rằng Cubic (Linux) mạnh hơn và cuối cùng có thể nhận được phần băng thông cao hơn?

Câu trả lời:


4

Lưu ý rằng thuật toán điều khiển tắc nghẽn chỉ ảnh hưởng đến lưu lượng ngược dòng và do đó chỉ băng thông ngược dòng.

Điều đó đang được nói, thực sự là tích cực hơn, đặc biệt là đối với các mạng có sản phẩm trễ băng thông cao. Thậm chí còn có một quy tắc được tích hợp trong triển khai Linux để không bao giờ sử dụng tốc độ gửi nhỏ hơn so với reno trong cùng một tình huống:

Thuật toán Linux Linux cũng bao gồm mã đảm bảo rằng thuật toán khối ít nhất là tích cực như TCP chuẩn

- Leith, Shorten, McCullagh, Đánh giá thử nghiệm về TCP-TCP

Vì vậy, khi tải xuống các bản cập nhật Windows của bạn trong khi xem Video Youtube, lưu lượng truy cập Youtube của bạn có thể bỏ đói lưu lượng microsoft của bạn và bạn không thể làm gì về điều đó.


12

Đầu tiên, những gì bạn nói không thực sự chính xác:

  • Linux lên tới phiên bản kernel 2.6.18 sử dụng BIC theo mặc định.
  • Linux kernel 2.6.19 trở lên sử dụng CUBIC theo mặc định.
  • Các cơ chế kiểm soát tắc nghẽn TCP của Linux có thể cắm được , ví dụ: bạn có thể thay đổi chúng một cách nhanh chóng.
  • Windows XP và trước đó sử dụng TCP Reno (hoặc New Reno )
  • Windows Vista trở lên cũng có Compound TCP , được bật theo mặc định trong Server 2008 và có thể được bật trong Vista và Windows 7 nếu cần.

Tất cả các thuật toán này đều tự điều chỉnh theo băng thông mạng, độ trễ, bộ nhớ khả dụng, v.v. Chúng cũng có nhiều tham số cấu hình cho phép bạn điều chỉnh chúng.

Vì vậy, bạn không thể thực sự so sánh cái này với cái kia, mà không nhìn vào cấu trúc liên kết mạng cụ thể, phần cứng và phần mềm đã sử dụng, v.v. Nó không giống cái nào tốt hơn cái kia, hoặc sẽ sử dụng phần băng thông lớn hơn. Đúng là CUBIC ít tích cực hơn BIC, nhưng trong thực tế, các cân nhắc khác thường quan trọng hơn so với hương vị của thuật toán tắc nghẽn TCP được sử dụng.

Trừ khi bạn đang cố gắng điều chỉnh theo một kịch bản mạng phạm vi rất hẹp và bất thường, tất cả các thuật toán này đều hoạt động đủ tốt và công bằng.


Kịch bản mạng bị nghẽn 100Mbps LAN với 1000 máy tính lẻ. Kết nối Internet qua máy chủ proxy. Một số PC là linux, trong khi hầu hết là dựa trên windows. Dường như duyệt qua Linux nhanh hơn. Tôi đã cố gắng hợp lý hóa quan sát này
AIB

Không cần đo lường và không nhìn thấy những gì thực sự xảy ra trên mạng của bạn, thật khó để nói. Nhưng tôi nghĩ rằng khả năng sự khác biệt trong các thuật toán tắc nghẽn TCP là khá thấp, đặc biệt là nếu mạng của bạn không bị tắc nghẽn 100% mọi lúc. Có nhiều yếu tố khác có thể ảnh hưởng đến tốc độ duyệt web.
haimg

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.