Thuật tốn quản lý hàng đợi Blue sử dụng độ mất gĩi và độ khả dụng liên kết để quản lý tắc nghẽn bằng cách phát hiện và điều chỉnh tốc độ của các gĩi bị loại bỏ hoặc bị đánh dấu. Nĩ thường sử dụng tham số xác suất Pm để đánh dấu (bằng cách sửdụng ECN) hoặc loại bỏ các gĩi đã được xếp hàng. Pm tăng ngay cả khi các gĩi đã được loại bỏ từ hàng đợi và giảm khi kết nối được sử dụng khơng đúng mức. Lượng tăng của Pm thể hiện bởi δ1 và lượng giảm của Pm được thể hiện bằng δ2. Đại lượngnày luơn được cập nhật khi cĩ sự thay đỏi của Pm , khi kích thước hàng đợi vượt quá giá trị ngưỡng hiện tại L, tại tốc độ 1/freeze_time. Tham số freeze_time thể hiện khoảng thời gian giữa các lần cập nhật thành cơng Pm
Thuật tốn Blue :
Dựa trên độ mất gĩi :
if ((now-last_update) > freeze_time) then Pm = Pm + δ1
Last_update = now Dựa trên kết nối rỗi :
if ((now – last_update) > freeze_time) then Pm = Pm – δ2 Last_update = now Pm : xác suất đánh dấu hoặc loại bỏ gĩi tin δ1 : lượng tăng của Pm δ2 : lượng giảm của Pm now : thời gian hiện hành
last_update : thời gian cuối cùng Pm thay đổi
freeze_time : lượng thời gian giữa các thay đổi thành cơng
Điểm khác biệt dễ thấy nhất giữa Blue và RED là Blue quản lý hàng đợi trực tiếp trên cơ sở độ mất gĩi và độ khả dụng của kết nối chứ khơng phải dựa trên kích thước hàng đợi như trong RED. Nếu hàng đợi tiếp tục lợi bỏ các gĩi để tránh hàng đợi bị tràn thì thuật tốn Blue sẽ tăng giá trị Pm do đĩ sẽ tăng tốc độ gửi lại các thơng báo tắc nghẽn. Ngược lại nếu hàng đợi bắt đầu rỗng hoặc nếu cĩ một tuyến nào đĩ rỗng thì Blue sẽ xác suất đánh dấu gĩi. Điều này cho phép Blue biết chính xác được tốc độ mà nĩ cần gửi thơng báo tắc nghẽn phản hồi. Từ thuật tốn trên ta thấy xác suất đánh dấu gĩi tin được cập nhật khi kích thước hàng đợi vượt quá giá trị chính xác nào đĩ. Việc
chỉnh sửa này cho phép giải phĩng khơng gian hàng đợi khi các gĩi chiếm dụng quá lâu trong hàng đợi, đồng thời cho phép hàng đợi điều khiển trễ hàng đợi khi kích thước hàng đợi được sử dụng quá lớn. Tham số freeze_time quyết định khoảng thời gian nhỏ nhất giữa hai lần update thành cơng của Pm . Nĩ cho phép thay đổi xác suất đánh dấu trước khi giá trịđược update lại. Giá trị này nên được ngẫu nhiên hố để tránh đồng bộ trên tồn thể các luồng.
3.3.3 Thuật tốn RED
3.3.3.1 Thuật tốn
Khi cĩ dấu hiệu của tắc nghẽn xảy ra trong mạng, các bộ đệm của router được điền đầy và router bắt đầu loại bỏ các gĩi. Đối với các luồng lưu lượng TCP thì đây là tín hiệu để bắt đầu pha khởi đầu chậm và để giảm tải trong mạng và làm dịu tắc nghẽn. Cĩ hai vấn đề nan giải trong mạng: thứ nhất các gĩi bị mất sẽ phải được truyền lại, việc này làm tăng tải trong mạng đồng thời phát sinh ra trễ các luồng lưu lượng. Một vấn đề thứ hai là đồng bộ trên tồn luồng. Với lưu lượng dạng bĩ, các hàng đợi được điền đầy và các gĩi đến sau bị loại bỏ. Kết quả là kết nối nhiều kết nối TCP bị ảnh hưởng và chyển sang chế độ khởi đầu chậm. Việc cĩ nhiều kết nối TCP cùng chuyển sang chế độ khởi đầu chậm tại một thời điểm và cùng thốt khỏi chế độ này do đĩ sẽ gây ra thêm các bĩ lưu lượng lớn.
Một giải pháp cho việc cĩ nhiều lưu lượng dạng bĩ đến router là xây dựng các bộđệm đủ lớn để cĩ thểđệm được các bĩ lưu lượng này tránh việc phải loại bỏ các gĩi. Nhưng giải pháp này khơng khả thi bộđệm càng lớn thì độ trễ hàng đợi càng lớn, làm giảm chất lượng dịch vụ và nếu cĩ quá nhiều bĩ lưu lượng lớn đến kế tiếp nhau thì kích thước bộ đệm khơng đủ lớn giữđược tất cả các lưu lượng này, điều này dễ gây ra tắc nghẽn. Một giải pháp tối ưu để giải quyết tắc nghẽn là thơng báo cho các luồng TCP tại thời điểm bắt đầu xảy ra tắc nghẽn để giảm tốc độđến, nếu cần thiết thì giảm tốc độ các luồng khác. Do đĩ trong trường hợp tắc nghẽn thì giảm tải lưu lượng TCP trong mạng mà khơng được đồng bộ tồn luồng. Đây chính là giải pháp của thuật tốn RED.
Thuật tốn RED lần đầu tiên được nghĩ ra bởi Sally Floyd và Van Jacobson cho chức năng quản lý hàng đợi tích cực (AQM), sau đĩ nĩ được chuẩn hố lại theo yêu cầu của IETF. RED cĩ khả năng chống đồng bộ trên tồn thể các luồng TCP, duy trì khả năng thơng qua cao cũng như độ trễ thấp cùng với cách đối xử cơng bằng qua đa kết nối TCP.
Mục đích thiết kế thuật tốn RED
• Tránh tắc nghẽn: RED được thiết kế để tránh tắc nghẽn hơn là giải quyết nĩ. Do đĩ RED được sử dụng để phát hiện ra tắc nghẽn ngay khi nĩ mới bắt đầu hình thành để duy trì mạng trong miền độ trễ thấp và độ thơng qua
Đồ án tốt nghiệp Đại học Chương 3: Quản lý hàng đợi và các thuật tốn
• Tránh đồng bộ tồn cục: Khi cĩ dấu hiệu tắc nghẽn xảy ra trong mạng, router sẽ phải quyết định xem kết nối nào để gửi thơng báo phản hồi. Bằng việc phát hiện sớm tắc nghẽn và chỉ thơng báo cho các kết nối khi cần thiết do đĩ tránh được hiện tượng đồng bộ tồn thể luồng TCP.
• Đường biên của kích thước hàng đợi trung bình: RED cĩ thể điều khiển được kích thước hàng đợi trung bình do đĩ điều khiển được trễ hàng đợi.
RED (Random Early Detection- Phát hiện sớm ngẫu nhiên) tính tốn kích thước
hàng đợi trung bình dựa trên dựa trên bộ lọc thơng thấp và trung bình dịch chuyển cĩ
trọng số tăng theo hàm mũ (EWMA- Exponential Weighted Moving Average). Kích
thước hàng đợi trung bình được so sánh với hai giá trị ngưỡng: mức ngưỡng nhỏ nhất và mức ngưỡng lớn nhất.
• Khi kích thước hàng đợi trung bình nhỏ hơn mức ngưỡng nhỏ nhất thì khơng cĩ gĩi nào bịđánh dấu.
• Khi kích thước hàng đợi trung bình lớn hơn mức ngưỡng tối đa cho cho phép thì tất cả các gĩi đến đều bị đánh dấu. Và trên thực tế các gĩi cĩ thể bị loại bỏ. Khi các gĩi bị loại bỏ hoặc nếu tất cả các nguồn cùng hợp tác với nhau thì kích thước hàng đợi trung bình sẽ khơng vượt quá giá trị ngưỡng tối đa cho phép.
• Khi kích thước hàng đợi trung bình nằm trong khoảng giá trị ngưỡng nhỏ nhất và giá trị ngưỡng lớn nhất thì mỗi gĩi đến đều được đánh dấu bằng một xác suất Pa , Pa là một hàm của kích thước hàng đợi trung bình. Tại mỗi thời điểm một gĩi bị đánh dấu, xác suất của gĩi bị đánh dấu phải tương xứng với băng thơng được chia sẻ của các kết nối tại router.
Hình 3.8 : Mối quan hệ giữa xác suất loại bỏ gĩi và kích thước hàng đợi trung bình
Drop=0 Non-zero and Increasing likely- hood of Drop minth maxth 100% Maxp 0 1 Guaranteed Drop Average Occupacy D ro p P ro ba bi li ty
3 trường hợp trên được xem như 3 pha của quá trình tránh tắc nghẽn:
• Pha thứ nhất: hoạt động bình thường
• Pha thứ hai : tránh tắc nghẽn
• Pha tắc nghẽn: điều khiển tắc nghẽn
Nhìn chung thuật tốn RED được chia thành 2 phần riêng:
• Phần 1: dùng để tính tốn kích thước hàng đợi trung bình, được quyết định bởi mức độ của các bĩ được cho phép đi vào hàng đợi của router. Nĩ đưa ra bản mơ tả các chu kì khi hàng đợi rỗng (chu kì rỗi) bằng cách đánh giá số lượng m của các gĩi nhỏ cĩ thể được truyền trong suốt chu kì rỗi bởi router. Sau mỗi chu kì rỗi router lại tính tốn kích thước hàng đợi trung bình như thể m gĩi đã đến được hàng đợi rỗng trong suốt chu kì đĩ.
• Phần 2: được sử dụng để tính tốn xác suất đánh dấu gĩi và sau đĩ quyết định xem router đánh dấu các gĩi cĩ thường xuyên khơng, để đưa ra các mức tắc nghẽn rõ ràng. Mục đích đánh dấu các gĩi một cách đều đặn của các router là tránh đồng bộ trên tồn thể các luồng TCP, tránh lệch và điều khiển kích thước hàng đợi trung bình. Độ chiếm giữ hàng đợi lớn thì xác suất loại bỏ gĩi càng cao, độ chiếm giữ hàng đợi càng gần giá trị maxth thì xác suất loại bỏ gĩi dần tiến tới giá trị maxp
Hình 3.9 : Mơ tả mối quan hệ giữa maxp và độ chiếm giữ hàng đợi
Thuật tốn chung cho router RED
For mỗi gĩi đến
Tính tốn kích thước hàng đợi trung bình của hàng đợi avg If minth≤ avg < maxth
Tính tốn xác suất Pa với Pa là xác suất đánh dấu các gĩi đến; Đ ộ c hi ế m g i ữ h àn g đ ợ i Maxp
Đồ án tốt nghiệp Đại học Chương 3: Quản lý hàng đợi và các thuật tốn
else if maxth≤ avg
Đánh dấu các gĩi đến Else
Chấp nhận các gĩi đến hàng đợi;
Khi kích thước hàng đợi nằm giữa mức ngưỡng min và max, thì mỗi gĩi đến sẽ được đánh dấu bằng xác suất Pa, đây là một chức năng của kích thước hàng đợi trung bình. Tại mỗi thời điểm cĩ một gĩi bị đánh dấu và xác suất gĩi bị đánh dấu từ một kết nối điển hình tỉ lệ với băng thơng chia sẻ kết nối tại mỗi router.
Thuật tốn chi tiết của RED:
Count ← -1 Avg ← 0 For mỗi gĩi đến
Tính tốn kích thước hàng đợi mới avg; If hàng đợi khơng rỗng
avg ← avg + w* (q- avg) Else
m= (time – q_time)/s avg ← (1- w)m avg if minth≤ avg < maxth tăng biến count tính tốn xác suất Pa ;
Pa←maxp (avg - minth) / (maxth - minth) Pa← Pb / (1- count* Pb)
với xác suất Pa ;
đánh dấu các gĩi đến count ← 0
else if maxth≤ avg Đánh dấu các gĩi đến count ← 0
else count ← -1 Khi hàng đợi bắt đầu đầy q_time ← time
Các biến:
avg : kích thước hàng đợi trung bình q_time : thời điểm bắt đầu hàng đợi rỗi
count : số các gĩi đến ngay sau gĩi cuối cùng bịđánh dấu Tham số cốđịnh:
wq : trọng số hàng đợi
minth : chiều dài ngưỡng nhỏ nhất của hàng đợi maxth : chiều dài ngưỡng lớn nhất của hàng đợi maxp : giá trị lớn nhất của Pb
s : thời gian truyền dẫn điển hình (của các gĩi nhỏ) q : kích thước hàng đợi hiện tại
Pa : xác suất đánh dấu gĩi hiện tại time : thời gian hiện tại
Router tính tốn avg tại mỗi gĩi đến sử dụng cơng thức: avg ← avg + w * (q - avg)
Khi hàng đợi rỗng (chu kì rỗi) với m là số lượng các gĩi nhỏ cĩ thểđược truyền trong suốt các chu kì rỗi:
avg← (1- w)m avg m = (time – q_time)/ s
Và sau mỗi chu kì rỗi router sẽ tính tốn kích thước hàng đợi trung bình giống như là cĩ m gĩi đã được truyền vào hàng đợi trong suốt chu kì đĩ.
Khi avg thay đổi từ minth đến maxth thì xác suất đánh dấu các gĩi Pb thay đổi tuyến tính từ 0 đến maxp
Pb← maxp(avg - minth) / (maxth - minth)
Xác suất đánh dấu cuối cùng Pa tăng chậm sẽđược tính tốn từ gĩi bịđánh dấu cuối cùng:
Pa ← Pb / (1 – count * Pb)
Điều này giúp cho router khơng phải đợi lâu trước khi đánh dấu các gĩi. Giá trị count càng lớn thì xác suất đánh dấu càng cao. Router đánh dấu các gĩi tới khi kích thước hàng đợi trung bình vượt quá maxth.
Đồ án tốt nghiệp Đại học Chương 3: Quản lý hàng đợi và các thuật tốn
Một lựa chọn cho các router RED là tính tốn hàng đợi theo byte hơn là theo
các gĩi. Với lựa chọn này thì kích thước trung bình hàng đợi sẽ phản ánh chính xác độ trễ trung bình tại router. Khi lựa chọn này được sử dụng thì thuật tốn phải được chỉnh sửa để chắc chắn rằng xác suất các gĩi bịđánh dấu tỉ lệ với kích thước gĩi theo byte:
Pb ← maxp (avg - minth)/ (maxth - minth) Pb ← Pb * packetsize / maximum packetsize Pa← Pb /(1- count * Pb)
Nhiệm vụđánh dấu các gĩi được thực hiện nhờ vào Gateway RED tại mỗi router. Gateway RED là thành phần của mạng thực hiện nhiệm vụ đánh dấu các gĩi. RED là thuật tốn được đưa ra và được điều khiển bởi các Gateway RED trong router. Các gateway này thực hiện việc loại bỏ tắc nghẽn bằng việc sử dụng thuật tốn RED để tính tốn các giá trị hàng đợi trung bình. Cổng này cĩ thể thơng báo tới các kết nối bị tắc nghẽn, cũng như loại bỏ các gĩi đến cổng hoặc thiết lập các bit trong phần tiêu đề của các gĩi. Khi kích thước hàng đợi trung bình vượt quá mức ngưỡng cho phép thì Gateway sẽ loại bỏ hoặc đánh dấu các gĩi đến bằng một hàm xác suất của kích thước hàng đợi trung bình. Các gateway RED giữ cho kích thước hàng đợi trung bình thấp trong khi vẫn cho phép các gĩi đến dưới dạng bĩ đi vào hàng đợi. Trong suốt thời gian tắc nghẽn xác suất các gateway thơng báo cho các kết nối giảm kích thước cửa sổ của nĩ phải cân xứng với băng thơng của các kết nối được chia sẻ qua gateway. Các gateway RED được thiết kếđể hỗ trợ giao thức điều khiển tắc nghẽn lớp truyền tải như TCP.
3.3.3.2 Các tham số của RED
Các tham số thể hiện hiệu năng của thuật tốn RED và để cấu hình các tham số. Các tham số xác suất loại bỏ gĩi, chiều dài hàng đợi trung bình, các giá trị ngưỡng.
a. Xác suất loại bỏ gĩi
X là biến ngẫu nhiên thể hiện số lượng các gĩi đến sau một gĩi được đánh dấu cho tới khi cĩ một gĩi bị đánh dấu. Giả thiết kích thước hàng đợi trung bình là khơng đổi.
Cách 1: Các biến ngẫu nhiên cĩ hình thức Nếu định nghĩa xác suất mất gĩi Pb là Pb = maxp * [(avg – minth) / (maxth – minth)] Thì ta cĩ:
Prob [X=n] =(1-Pb)n-1 Pb
Do đĩ X là biến ngẫu nhiên cĩ hình thức (RV) với tham số Pb và E[X] =1/Pb
Vấn đề phải đánh dấu các gĩi tại các khoảng đều đặn. Nếu cĩ quá nhiều gĩi được đánh dấu gần nhau hay khoảng cách các gĩi đánh dấu quá dài thì nĩ cĩ thể gây ra hiện tượng đồng bộ tồn thể các luồng TCP và các kết nối giảm kích thước của sổ tại cùng một thời điểm.
Cách 2: Các biến ngẫu nhiên đồng bộ
Nếu định nghĩa xác suất loại bỏ gĩi là Pa Pa = Pb / (1- count * Pb)
Count: là số lượng các gĩi đến ngay sau gĩi cuối cùng bịđánh dấu
Prob[X=n] = b b P n P ) 1 ( 1− − ∏− = − − 2 0 ) 1 1 ( n i b b iP P = Pb với 1≤ n ≤ 1/ Pb prob[X= n] = 0 với n> 1/Pb
Với biến ngẫu nhiên đồng bộ trong số [1,2,3,…1/Pb] với E[X] =1/(2*Pb)+1/2 i: là biến chạy của các gĩi đến router ngay sau gĩi cuối cùng bịđánh dấu.
b. Chiều dài hàng đợi trung bình và wq
Cổng RED sử dụng bộ lọc thơng thấp để tính tốn kích thước hàng đợi trung bình. Do đĩ các khoảng thời gian ngắn hạn sẽ tăng tới kích thước hàng đợi đây là kết quả của lưu lượng dạng bĩ hoặc tắc nghẽn trong suốt chứ khơng phải là thay đổi trong kích thước hàng đợi trung bình. Bộ lọc thơng thấp là trung bình dịch chuyển cĩ trọng số tăng theo luỹ thừa (EWMA):
avg ← (1- wq)avg + wq*q
Trọng số wq quyết định thời gian của bộ lọc thơng thấp. Việc lựa chọn wq quyết định hằng số thời gian cho quá trình tính tốn kích thước hàng đợi trung bình. Nếu wq thì kích thước hàng đợi trung bình được đánh giá là đáp ứng quá chậm so với tắc nghẽn trong suốt. Cịn nếu wq quá cao thì kích thước hàng đợi trung bình được đánh giá là quá gần với kích thước hàng đợi tức thời. Ta cĩ thể thiết lập các biên giới trên hoặc dưới cho tham số wq. Việc tính tốn kích thước hàng đợi trung bình cĩ thể được