.13 TFRC và tỉ lệ goodput TFRC-Jr với các luồng TCP

Một phần của tài liệu đồ án: Giao thức điều khiển tốc độ tránh nghẽn TFRC (Trang 59 - 61)

Hình 3.13 cho thấy TFRC-Jr có sự thân thiện với TCP là chấp nhận được (giá trị tỉ lệ là nhỏ hơn 2) và không làm yếu luồng TCP đến mức sai lệch. Nhưng nó khơng thân thiện nhiều với TCP như TFRC gốc. Lý do là TFRC-Jr có thể phân biệt các loại mất gói khác nhau trong khi TFRC và TCP khơng thể phân biệt được các loại mất gói này.

3.3.3 TFRC Veno

Như đã trình bày ở trên, TFRC sử dụng biểu thức thông lượng xuất phát từ thuật tốn điều khiển tắc nghẽn TCP Reno hay cịn gọi là biểu thức Reno. TCP Reno luôn đối xử với sự xuất hiện của mất gói như một biểu hiện của tắc nghẽn mạng. Giả thiết này không áp dụng được cho các mạng với các kênh vơ tuyến ở đó mất gói thường là do nhiễu, lỗi liên kết hoặc các lý do khác ngồi tắc nghẽn mạng. Việc hiểu sai của mất gói ngẫu nhiên như một chỉ dẫn của tắc nghẽn mạng gây ra Reno để giảm tốc độ gửi dữ liệu một cách không cần thiết mà kết quả là hiệu suất giảm đáng kể. Do đó, TFRC sử dụng biểu thức Reno cũng sẽ chịu sự giảm hiệu suất lớn trong các mạng không dây. Một phương pháp khác để cải thiện giao thức TFRC ban đầu này là giao thức TFRC Veno sử dụng một biểu thức thơng lượng mới. TFRC Veno có thể đạt được sự cải thiện thông lượng một cách đáng kể lên đến 300% (so với TFRC trong các mạng không dây với tỉ lệ lỗi 10%) [4]. Các đặc điểm cần có của tính bình đẳng, thân thiện TCP và độ trơn mịn trong TFRC cải tiến này là tương tự như trong TFRC gốc. Cũng nên chú ý rằng TFRC Veno chỉ bao gồm sự thay đổi của TFRC tại phía phát khơng u cầu bất cứ sự thay đổi nào về các giao thức phía thu hoặc sự can thiệp của các nút

mạng trung gian. Do đó, nó có thể được phát triển ngay trong các ứng dụng server qua mạng Internet hiện tại. Khác với tất cả những nỗ lực trước nhằm giữ biểu thức Reno không thay đổi với TFRC, TFRC Veno sử dụng một biểu thức tiến bộ hơn để thay thể biểu thức Reno. Trong thực tế, biểu thức này xuất phát từ wireless TCP có tên là TCP Veno.

TCP Veno được đề xuất năm 2003 và đã được tích hợp trong Linux Kernel từ phiên bản 2.6.18. Ý tưởng chính của TCP Veno là sử dụng trạng thái tắc nghẽn- trạng thái vi phân hoặc trạng thái khơng tắc nghẽn để giải quyết vấn đề khó khăn trong việc quyết định loại mất gói: mất gói do tắc nghẽn hay mất gói ngẫu nhiên. Đặc biệt, số lượng các gói trong liên kết N được ước lượng như sau:

Ở đó cwnd là kích thước cửa sổ tắc nghẽn hiện tại, BaseRTT là round-trip time nhỏ nhất đo được cho đến lúc đó và nó điều chỉnh bất cứ khi nào lỗi mất gói được phát hiện là do time-out hay các bản sao ACK.

Nếu N nhỏ hơn một ngưỡng β nào đó khi xuất hiện một lỗi mất gói, lỗi mất gói được suy luận như một lỗi ngẫu nhiên và Veno giảm cửa sổ tắc nghẽn của nó (cwnd) với hệ số ; ngược lại, lỗi mất gói được coi như lỗi tắc nghẽn và khi đó Veno giảm cửa sổ tắc nghẽn với hệ số . Thông thường β được thiết lập là 3, được thiết lập là 4/5 và được thiết lập là 1/2. Biểu thức dưới đây mô tả hoạt động này

Một vấn đề thực tế là TCP Veno hoạt động gần giống với Reno và chỉ có sự khác biệt giữa TCP Veno và TCP Reno là có bao nhiêu giá trị cwnd được giảm khi xuất hiện lỗi mất gói; Reno ln ln giảm cwnd của nó đi một nửa trong khi Veno đôi khi giảm với hệ số (lỗi ngẫu nhiên) và đôi khi là giảm với hệ số (lỗi tắc nghẽn).

Một phần của tài liệu đồ án: Giao thức điều khiển tốc độ tránh nghẽn TFRC (Trang 59 - 61)

Tải bản đầy đủ (DOC)

(77 trang)
w