b. Bảo mật
3.2. Phương pháp loại bỏ ngẫu nhiên – RED
3.2.1 Tổng quan
RED (Random Early Detection of congestion; Random Early Drop) là một trong những thuật toán AQM đầu tiên được đề xuất vào năm 1993 bởi Sally Floyd và Van Jacobson, hai nhà khoa học của Phòng thí nghiệm Lawrence Berkeley thuộc Đại học Califonia, Mỹ. Do những ưu điểm nổi bật so với các thuật toán quản lý hàng đợi trước đó, RED đã được cài đặt và triển khai rộng rãi trên mạng Internet.
Điểm cơ bản nhất trong công trình của họ là cho rằng nơi hiệu quả nhất để phát hiện tắc nghẽn và phản ứng lại hiện tượng này chính là tại các gateway hay router.
Các thực thể nguồn (thực thể gửi) cũng có thể làm điều này thông qua ước lượng độ trễ end-to-end, sự thay đổi thông lượng, hoặc qua tỉ lệ các gói tin phải phát lại do bị loại bỏ. Tuy nhiên, từ khung nhìn của các thực thể gửi và nhận của một kết nối cụ thể không thể biết những gateway nào trên mạng đang bị tắc nghẽn, không thể phân biệt được độ trễ lan truyền (propagation delay) và độ trễ hàng đợi (queueing delay). Chỉ có gateway mới có cái nhìn đúng đắn về trạng thái của hàng đợi, sự chia sẻ đường truyền của các kết nối đi qua nó tại mọi thời điểm, cũng như yêu cầu chất lượng dịch vụ của
các dòng lưu lượng. RED gateway theo dõi độ dài trung bình của hàng đợi, dựa vào đó để phát hiện sớm dấu hiệu tắc nghẽn sắp xảy ra (chiều dài trung bình của hàng đợi vượt quá một ngưỡng định trước) và phản ứng một cách thích hợp theo một trong hai cách:
− Loại bỏ các gói tin đến theo một xác suất nhất định, để gián tiếp báo cho nguồn về sự tắc nghẽn, nguồn cần giảm tốc độ phát để giữ cho hàng đợi khỏi đầy, duy trì khả năng hấp thu sự đột biến lưu lượng đến.
− Đánh dấu “có tắc nghẽn” theo một xác suất nhất định vào trường ECN trong header của các gói tin TCP để báo cho bên nguồn biết (thực thể nhận sẽ copy bit này vào gói tin biên nhận).
Hình 3. 1 Thuật toán RED
Mục tiêu chính của RED là tránh tắc nghẽn bằng cách điều khiển kích thước hàng đợi trung bình nằm trong một vùng đủ nhỏ và ổn định, cũng có nghĩa là giữ cho độ trễ xếp hàng đủ nhỏ và ổn định. Việc thực hiện mục tiêu này cũng giúp: tránh hiện tượng đồng bộ toàn cục, không chống lại các dòng lưu lượng có đặc tính đột biến (tức là dòng có thông lượng trung bình thấp nhưng độ thăng giáng cao) và duy trì cận trên của kích thước hàng đợi trung bình ngay cả khi không có được sự hợp tác từ các giao thức tầng giao vận.
Để đạt được các mục tiêu trên, các RED gateways phải làm được các công việc sau: − Việc đầu tiên là phát hiện sớm tắc nghẽn và phản ứng phù hợp để giữ cho kích
thước hàng đợi trung bình đủ nhỏ, làm cho mạng hoạt động ở vùng có độ trễ thấp và thông lượng cao, trong khi vẫn cho phép kích thước hàng đợi dao động trong một miền nhất định để hấp thụ các thăng giáng ngắn hạn. Như đã phân tích ở trên gateway là nơi thích hợp nhất để phát hiện tắc nghẽn và cũng là nơi thích hợp nhất để quyết định chọn kết nối cụ thể nào để thông báo tắc nghẽn. − Việc thứ hai là thông báo tắc nghẽn tới nguồn phát. Việc này được thực hiện
bằng cách đánh dấu và thông báo cho nguồn phát giảm lưu lượng xuống. Thông thường RED gateway sẽ loại bỏ gói tin một cách ngẫu nhiên. Tuy nhiên, nếu tắc
nghẽn được phát hiện trước khi hàng đợi đầy thì nên kết hợp với việc đánh dấu gói tin để báo hiệu tắc nghẽn. RED gateway có hai tuỳ chọn: loại bỏ hoặc đánh dấu; trong đó việc đánh dấu được thực hiện bằng cách đánh dấu vào trường ECN của gói tin với một xác suất nhất định, để báo hiệu cho nguồn giảm lưu lượng đưa vào mạng.
− Một mục tiêu quan trọng mà các RED gateway cần đạt được là tránh hiện tượng đồng bộ toàn cục và không chống lại các dòng lưu lượng có đặc tính đột biến. Hiện tượng đồng bộ toàn cục xảy ra khi tất cả các kết nối đồng loạt giảm kích thước cửa sổ phát, dẫn tới thông lượng giảm sút nghiêm trọng ở cùng một thời điểm. Mặt khác, các chiến lược Drop Tail hay Random Drop rất nhạy cảm với các luồng đột biến; tức là hàng đợi tại gateway thường sẽ bị tràn khi có các gói tin từ các luồng này đến. Để tránh hai hiện tượng này, các gateway có thể dùng các thuật toán đặc biệt để phát hiện tắc nghẽn và quyết định kết nối nào sẽ được thông báo tắc nghẽn tại gateway. RED gateway chọn ngẫu nhiên các gói tin đến để đánh dấu; với phương pháp này xác suất đánh dấu một gói tin từ một kết nối cụ thể tỉ lệ với phần băng thông được chia sẻ của kết nối đó tại gateway. − Một mục tiêu nữa là điều khiển được kích thước hàng đợi trung bình ngay cả khi không có sự hợp tác từ các thực thể nguồn phát. Điều này có thể được thực hiện bằng cách loại bỏ gói tin khi kích thước trung bình vượt quá ngưỡng trên (thay vì đánh dấu nó). Phương pháp này là cần thiết trong trường hợp hầu hết các kết nối có khoảng thời gian phát nhỏ hơn khoảng thời gian khứ hồi, hoặc các thực thể nguồn không có khả năng giảm lưu lượng để phản ứng với việc đánh dấu hoặc loại bỏ gói tin (như các luồng UDP chẳng hạn).