Tránh tắc nghẽn

Một phần của tài liệu Nghiên cứu phương pháp đánh giá và cải thiện hiệu năng giao thức TCP cho mạng máy tính (Trang 34)

Thuật toán tránh tắc nghẽn (CA, Congestion Avoidance) nhằm khắc phục nguyên nhân thứ ba dẫn tới việc vi phạm nguyên lý “Bảo toàn các gói số liệu”. Một chiến lược tránh tắc nghẽn như được đề xuất trong [28], bao gồm hai thành phần: th

nht là các chính sách ca mng: mạng phải có khả năng gửi tín hiệu đến cho các thực thể cuối của các kết nối (endpoint), báo cho chúng biết là tắc nghẽn đang xảy ra hoặc sắp xảy ra; th hai là các chính sách ca endpoint: các endpoint phải có chính sách giảm lưu lượng đưa vào mạng nếu nhận được các tín hiệu báo và tăng thêm lưu lượng đưa vào mạng nếu không nhận được tín hiệu báo này.

Chính sách ca endpoint đối vi tc nghn: thích ng vi đường truyn

Đó chính là chính sách tăng theo cấp số cộng, giảm theo cấp số nhân, như đã

được triển khai thực hiện trong BSD [26]; chính sách đó được giải thích như sau:

− Mỗi khi xảy ra sự kiện hết giờ, đặt giá trị cửa sổ tắc nghẽn cwnd bằng một phần hai giá trị cửa sổ hiện thời. Đó là sự giảm theo cấp số nhân.

− Mỗi khi nhận được một biên nhận cho gói số liệu mới, tăng cwnd thêm một lượng bằng 1/cwnd, đây là sự tăng theo cấp số cộng. (Trong giao thức TCP, kích thước cửa sổ và kích thước gói số liệu được tính bằng byte, vì thế sự tăng nói trên được chuyển thành maxseg*maxseg/cwnd, trong đó maxseg là kích thước gói số liệu cực đại và cwnd là cửa sổ tắc nghẽn, được tính bằng bytes).

− Khi gửi, sẽ gửi đi số gói số liệu bằng số bé hơn trong hai số: kích thước cửa sổ

mà bên nhận đã đề nghị và cwnd.

Trong thực tế, các thuật toán Khởi động chậm (SS) và Tránh tắc nghẽn (CA) đã

được triển khai thực hiện cùng với nhau như là một thuật toán, thuật toán này sẽ được trình bày chi tiết tại nhóm tiểu mục “4.1.1 Tahoe TCP”.

Chính sách ca mng đối vi tc nghn

Đó là các chính sách làm cho mạng, cụ thể là các gateways gửi tín hiệu báo tắc nghẽn tới các máy tính trên mạng càng sớm càng tốt, nhưng đừng quá sớm, tránh cho mạng khỏi bị thiếu lưu lượng vận chuyển. Gateway chỉ phải làm công việc loại bỏ các gói số liệu để báo cho các thực thể đã gửi các gói số liệu rằng: chúng đã sử

dụng quá phần tài nguyên mạng dành cho chúng. Chính vì thế, các thuật toán tại gateway sẽ làm giảm tắc nghẽn ngay cả khi không phải sửa đổi giao thức giao vận ở

các máy tính trên mạng, để thực hiện việc tránh tắc nghẽn. Đồng thời các máy tính trên mạng có triển khai thực hiện tránh tắc nghẽn sẽ nhận được phần dải thông hợp lý dành cho nó và chỉ bị mất một số lượng tối thiểu các gói số liệu.

Bởi vì tắc nghẽn tăng lên theo hàm mũ, cho nên việc phát hiện sớm là quan trọng. Nếu tắc nghẽn được phát hiện sớm, thì chỉ cần một vài điều chỉnh nhỏđối với cửa sổ của người gửi cũng có thể giải quyết được vấn đề; ngược lại, sẽ phải điều chỉnh rất nhiều để mạng có thể chuyển hết đống gói số liệu tắc nghẽn trong mạng ra ngoài. Tuy nhiên, do bản chất luôn thăng giáng mạnh của lưu lượng, phát hiện tắc nghẽn sớm một cách tin cậy là một việc khó.

Một phần của tài liệu Nghiên cứu phương pháp đánh giá và cải thiện hiệu năng giao thức TCP cho mạng máy tính (Trang 34)