Quy tắc ngón tay cái cho yêu cầu băng thông ngược dòng TCP


2

Trong TCP, người nhận hiện tại cứ sau đó xác nhận việc nhận các gói đã gửi. Do đó, để đạt được băng thông hạ lưu cụ thể, luôn cần có băng thông ngược dòng tối thiểu.

Những gì tôi đang tìm kiếm là một yếu tố để tính toán ngược dòng cần thiết cho một băng thông hạ lưu nhất định. Tôi nhận thức được thực tế là có các kích thước cửa sổ khác nhau và có lẽ các yếu tố khác trong TCP khiến cho việc tính toán này trở nên khó khăn hơn. Nhưng có lẽ có một kịch bản mặc định mà từ đó người ta có thể có được một xấp xỉ ít nhất.


gói ack tcp tối thiểu qua IPv4 là 256 bit (480 cho IPv6) so sánh với gói tối đa mà kết nối có thể xử lý ...
ratchet freak

Câu trả lời:


1

Đó là một câu hỏi khó trả lời vì nó phụ thuộc vào rất nhiều yếu tố khác. Cố gắng để có được một câu trả lời rất cụ thể sẽ khó và thậm chí khó hơn, ít nhất là đối với tôi, để cố gắng giải thích.

Giả định rằng liên kết từ đầu đến cuối đủ ổn định để cửa sổ mở rộng đến mức tối đa, chúng ta có thể nói rằng chúng ta cần một ACK cho mỗi kích thước cửa sổ tối đa. Kích thước cửa sổ tối đa thông thường là 64KB, ít nhất tôi nghĩ đó là mặc định cho Windows ... nó được đặt bởi khóa đăng ký.

Biết rằng, bây giờ chúng ta cần biết thời gian khứ hồi là gì bởi vì bạn sẽ chỉ nhận được một kích thước cửa sổ tối đa của dữ liệu cho mỗi RTT; một cách để dữ liệu đến với bạn và một cách để ACK nó. Bây giờ chúng ta sẽ chơi như chúng ta đang cố gắng tính toán ngược dòng cần thiết cho một ổ cắm TCP qua vệ tinh.

RTT = ~ 500ms
Kích thước cửa sổ tối đa = 64KB

(64KB * 8) /. 5 = Tải xuống tối đa sẽ là 1Mb / giây. Lần 8 là tất nhiên biến giá trị byte của chúng ta thành bit.

BTW rất nhiều lần bạn thấy kích thước cửa sổ được gọi là bộ đệm và bạn thấy phép tính thông lượng TCP được đưa ra là (RxBuffer / RTT = Througput). Bây giờ chúng ta cần tính toán ngược dòng. Hy vọng với tất cả những điều trên câu trả lời là hiển nhiên, chúng tôi cần hai ACK một giây để quay lại với người gửi. Những ACK đó là, 20Bs + 20Bs * 8 (tiêu đề IP + TCP), 320bps một mảnh. Vì vậy, đối với kết nối với 500ms RTT và RxBuffer tối đa 64KB, chúng ta nên mong đợi không quá 1Mbps tải xuống và tải lên 640bps.

Tôi hy vọng rằng đó là loại có bạn đi đúng hướng. Đọc lại qua nó tôi bối rối ...

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.