Các biến thể của giải thuật RRED

Một phần của tài liệu (LUẬN văn THẠC sĩ) cải thiện hiệu năng giải thuật RRED chống tấn công từ chối dịch vụ tốc độ thấp luận văn ths công nghệ thông tin 60 48 15 (Trang 35 - 37)

Chƣơng 2 : TẤN CÔNG TỪ CHỐI DỊCH VỤ TỐC ĐỘ THẤP

2.4 Các biến thể của giải thuật RRED

Trong thời gian vừa qua đã có nhiều nghiên cứu về thuật toán RRED ([1], [15], [16]) và cũng đã đƣa ra đƣợc những cải tiến nhằm tăng hiệu năng của RRED nhƣng chƣa giải quyết đƣợc triệt để vấn đề.

2.4.1 Thuật toán của tác giả Phạm Văn Hợi

Thuật toán của tác giả Phạm Văn Hợi [1] là một biến thể của thuật toán RRED, hiệu năng của nó cao hơn hiệu năng của thuật tốn gốc RRED trong một số trƣờng hợp cụ thể. Tác giả đã cố gắng thay đổi giá trị T* theo thời gian là hằng số trong thuật toán RRED gốc. Thuật toán của tác giả ƣu tiên hơn cho đi qua router các gói tin của dịng có F.I > 0 so với thuật tốn gốc, vì vậy nếu 2 dịng TCP thơng thƣờng cùng ánh xạ vào một vị trí ơ nhớ thì chúng “giúp đỡ” nhau, khi bắt đầu mỗi khoảng thời gian các nguồn tấn cơng phát tràn gói tin thì giá trị F.I của chúng > 0, các gói tin của 2 dịng TCP này có khả năng “chống chịu” tốt hơn so với thuật tốn gốc, thơng lƣợng TCP tổng cộng vì thế tăng lên. Thuật tốn tác giả đƣa ra chỉ phát huy hiệu quả khi có 2 dịng TCP dùng chung vị trí ơ nhớ. Mã nguồn thuật tốn của tác giả Phạm Văn Hợi có thể xem tại Phụ

lục A.

2.4.2 Thuật tốn của tác giả Nguyễn Quang Quý

Thuật toán của tác giả Nguyễn Quang Quý [16] cũng là một biến thể của thuật toán RRED, điểm khác nhau của thuật toán này so với thuật tốn gốc là nó khơng sử dụng giá trị T*. Ý tƣởng của thuật toán này là phát hiện các gói tin tấn cơng dựa vào:

 Gói tin vi phạm cơ chế timeout của giao thức TCP. Một dịng TCP thơng thƣờng cần phải đợi ít nhất là 1s trƣớc khi gửi gói tin tiếp theo sau khi bị timeout.

 Trạng thái hàng đợi của liên kết nghẽn cổ chai: muốn làm cho hàng đợi của liên kết nghẽn cổ chai đầy thì kẻ tấn cơng phải gửi gói tin nhanh hơn tốc độ gói tin đi ra khỏi hàng đợi.

Mã nguồn thuật toán của tác giả Nguyễn Quang Quý có thể xem tại Phụ lục B. Giả mã của thuật toán nhƣ sau:

NewRRED − ENQUE(pkt)

1: f ← RRED–FLOWHASH(pkt)

2: if pkt.arrivaltime – Flow[f].T1 > 1 then

3: Tăng chỉ số cục bộ lên 1 cho mỗi ô nhớ của luồng f 4: else

5: if pkt.arrivaltime – T2 < T3 then

7: else

8: Tăng chỉ số cục bộ lên 1 cho mỗi ô nhớ của luồng f 9: end if

10: end if

11: Flow[f].I ← Giá trị lớn nhất của các chỉ số cục bộ của luồng f 12: if Flow[f].I ≥ 0 then

13: RED−ENQUE(pkt) //pass pkt to the RED block 14: if RED drops pkt then

15: T2 ← pkt.arrivaltime 16: end if 17: else 18: Flow[f].T1 ← pkt.arrivaltime 19: drop(pkt) 20: end if 21: return

Một phần của tài liệu (LUẬN văn THẠC sĩ) cải thiện hiệu năng giải thuật RRED chống tấn công từ chối dịch vụ tốc độ thấp luận văn ths công nghệ thông tin 60 48 15 (Trang 35 - 37)

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

(100 trang)