1. Trang chủ
  2. » Thể loại khác

Chống tấn công từ chối dịch vụ phân tán tần suất thấp : Luận văn ThS. Công nghệ thông tin: 60 48 15

52 17 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 52
Dung lượng 0,91 MB

Nội dung

ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ PHẠM VĂN HỢI CHỐNG TẤN CÔNG TỪ CHỐI DỊCH VỤ PHÂN TÁN TẦN SUẤT THẤP LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN HÀ NỘI - 2013 ĐẠI HỌC QUỐC GIA HÀ NỘI TRƢỜNG ĐẠI HỌC CÔNG NGHỆ PHẠM VĂN HỢI CHỐNG TẤN CÔNG TỪ CHỐI DỊCH VỤ PHÂN TÁN TẦN SUẤT THẤP Ngành: Công nghệ thông tin Chuyên ngành: Truyền liệu Mạng máy tính Mã số: 60 48 15 LUẬN VĂN THẠC SĨ CÔNG NGHỆ THÔNG TIN NGƢỜI HƢỚNG DẪN KHOA HỌC: TS NGUYỄN ĐẠI THỌ HÀ NỘI - 2013 TÓM TẮT Ngày nay, an ninh Internet mối quan tâm đặc biệt tất hình thức doanh nghiệp truyền thông liên kết với Internet dạng hay dạng khác, an toàn tài sản (bao gồm sở hạ tầng nội dung thông tin) quan trọng hàng đầu Một số hậu tiếng công bao gồm tiếp cận với mạng, trộm cắp sở hữu trí tuệ, từ chối dịch vụ Hầu hết công DoS quản lý tận dụng lợi điểm yếu giao thức TCP/IP Theo truyền thống, công gửi số lượng lớn gói tin giả mạo với mục tiêu tiêu hao băng thông mạng khả xử lý nạn nhân khơng cịn cung cấp dịch vụ cho người dùng hợp pháp Như vậy, gây bất thường mặt thống kê thiết bị giám sát mạng, luồng cơng phát dễ dàng giảm thiểu thiệt hại công Một phân loại từ chối dịch vụ, gọi từ chối dịch vụ tần suất thấp, mấu chốt đề tài nghiên cứu Tần suất trung bình cơng thấp nên hầu hết router nạn nhân không phát công Cuộc công cố gắng để gây giảm chất lượng dịch vụ TCP cách định kỳ gửi vụ nổ gói tin để tạo tắc nghẽn Giai đoạn luồng DoS chọn để phù hợp với RTO (thời gian hết hạn truyền lại) luồng TCP để tắc nghẽn trùng với truyền lại gói tin, dẫn đến việc gói liệu thời gian chờ kết nối liên tục Vì vậy, tần suất công tổng thể đủ thấp để để tránh bị phát Mục đích luận văn chúng tơi nghiên cứu trạng biện pháp phịng chống công từ chối dịch vụ phân tán tần suất thấp, từ đề xuất giải pháp hiệu Tính hiệu giải pháp so sánh đối chiếu với giải pháp cũ thông qua mô phần mềm chuyên dụng NS-2 Từ khóa: Denial of Service, Low-Rate TCP-Targeted Denial of Service Attacks, Shrew Attacks, TCP Congestion Control, TCP Retransmission Timeout, Robust RED Algorithm i MỤC LỤC LỜI CẢM ƠN Error! Bookmark not defined TÓM TẮT i MỤC LỤC ii DANH MỤC HÌNH VẼ iv DANH SÁCH THUẬT NGỮ VÀ TỪ VIẾT TẮT v GIỚI THIỆU Chƣơng - BACKGROUND 1.1 Điều khiển tắc nghẽn TCP 1.1.1 Các giai đoạn TCP 1.1.2 Cơ chế Timeout TCP 1.2 AQM (Active Queue Management) 1.2.1 Kiểm soát tắc nghẽn 1.2.2 Quản lý hàng đợi tích cực 10 1.3 RED (Random Early Detection) 12 Chƣơng TẤN CÔNG TỪ CHỐI DỊCH VỤ 15 2.1 Khái niệm công từ chối dịch vụ 15 2.2 Cách thức chung công từ chối dịch vụ 15 2.2.1 Khai thác điểm yếu mục tiêu 15 2.2.2 Tấn công vào giao thức 16 2.2.3 Tấn công vào Middleware 17 2.2.4 Tấn công vào ứng dụng 17 2.2.5 Tấn công vào tài nguyên 18 2.2.6 Pure Flooding 18 2.3 Cách thức công LDoS 19 2.4 Các phƣơng pháp chống công LDoS 21 2.4.1 Cơ chế router-assisted 22 2.4.2 Cơ chế End-point 22 2.5 Thuật toán Robust RED (RRED) 23 Chƣơng - ĐỀ XUẤT GIẢI PHÁP VÀ KẾT QUẢ MÔ PHỎNG 26 3.1 Nhƣợc điểm thuật toán RRED 26 3.2 Ý tƣởng 26 3.3 Phƣơng pháp 28 3.4 Kết mô 30 ii 3.4.1 Kịch mô 30 3.4.2 Kết biến thiên theo chu kỳ 31 3.4.3 Kết biến thiên theo độ rộng bùng nổ công 32 3.4.4 Kết biến thiên theo tốc độ bùng nổ công 33 KẾT LUẬN 36 PHỤ LỤC 37 TÀI LIỆU THAM KHẢO 44 iii DANH MỤC HÌNH VẼ Hình Hoạt động điều khiển tắc nghẽn TCP Hình Hoạt động đồng hồ truyền lại TCP Hình Nguyên lý hoạt động RED 13 Hình Sơ đồ loại bỏ gói tin RED theo  14 Hình Mơ hình cơng DoS tần suất thấp 21 Hình Kiến trúc RRED 24 Hình Tấn cơng DoS theo chu kỳ với T*=1ms 27 Hình Tấn cơng DoS theo chu kỳ với T*=50ms 27 Hình Mã giả thuật tốn RRED cải tiến 29 Hình 11 Giao thức mạng thử nghiệm 30 Hình 12 Kết thông lượng TCP công Ta = [0.2, 2] (s), Tb = 200(ms), Rb = 0.25 (Mbps) 31 Với Ta = 1(s), Tb = [0,600](ms), Rb = 0.25(Mbps) 32 Hình 13 Kết thông lượng TCP công Ta = 1(s), Tb = [0,600](ms), Rb = 0.25(Mbps) 33 Hình 14 Kết thơng lượng TCP công Ta = 1(s), Tb = 200(ms), Rb = [0.1,0.5] (Mbps) 34 Hình 10 Cấu trúc NS-2 37 iv DANH SÁCH THUẬT NGỮ VÀ TỪ VIẾT TẮT ACK Acknowledgement Biên nhận AIMD AQM Additive-increase multiplicativedecrease Active Queue Management Tăng cấp số cộng giảm cấp số nhân Quản lý hàng đợi tích cực DDoS Distributed Denial of Service DoS Denial of Service Tấn công từ chối dịch vụ phân tán Tấn công từ chối dịch vụ FTP File transfer protocol Giao thức truyền tệp ICMP Internet Control Message Protocol Kbps kilobit per second giao thức xử lý thông báo trạng thái cho IP Kilôbit giây LDoS Low-rate DoS Attack Mbps Megabit per second Tấn công từ chối dịch vụ tần suất thấp Mêgabit giây ms Millisecond Mini giây RED Random Early Detection Phát sớm ngẫu nhiên RRED Robust Random Early Detection RTO retransmission timeout Phát sớm ngẫu nhiên mạnh mẽ Thời gian hết hạn truyền lại s second giây RTT Round-Trip Time Thời gian trễ TCP Transmission Control Protocol Giao thức kiểm soát truyền tải v GIỚI THIỆU Tấn công từ chối dịch vụ ngày trở thành mối đe dọa nghiêm trọng tin cậy mạng Internet Là công sử dụng nhiều cách thức tổ chức thực khác nhau, từ việc dùng máy tới việc thu thập máy agent quyền với số lượng lên đến hàng chục ngàn máy phục vụ cơng, mục đích công làm tê liệt ứng dụng, máy chủ, toàn mạng lưới, làm gián đoạn kết nối người dùng hợp pháp Một kẻ công DoS gửi số lượng lớn gói tin đến nạn nhân sử dụng nhiều zombie Như kết công, nguồn tài nguyên xung quanh nạn nhân băng thông mạng sức mạnh tính tốn bị giảm sử dụng truy cập vào dịch vụ hợp pháp cung cấp nạn nhân Ngày nay, có biện pháp đối phó khác công DoS để loại lũ lụt thông thường đề xuất Đặc biệt, phân tích thống kê tỷ lệ truyền tải mạng hữu ích để phát gói lớn truyền tải lũ lụt Tấn cơng từ chối dịch vụ (DoS) nỗ lực để phá vỡ chức bình thường hệ thống mạng ngăn chặn truy cập hợp pháp cho dịch vụ đơn giản làm giảm chất lượng dịch vụ cung cấp Một nghiên cứu UCSD [23] từ đầu thập niên công từ chối dịch vụ diễn với tỷ lệ lên tới 4000 công tuần Trong năm 2002, công từ chối dịch vụ [22] làm sập tới số 13 máy chủ DNS root toàn giới Mức độ ảnh hưởng nghiêm trọng công từ chối dịch vụ, mà đặc biệt nhắc đến nhiều công từ chối dịch vụ phân tán DDoS, dẫn đến loạt nghiên cứu nhằm hiểu rõ chế công, để đưa tới cách thức giúp phịng chống ảnh hưởng tiêu cực Có nhiều phương pháp đề xuất nhằm chống lại công từ chối dịch vụ, từ việc lọc gói tin để tránh giả mạo địa nguồn, chuyển hướng công, đẩy ngược luồng giao thông công trở lại mạng, cách ly để phân biệt máy khách giao thông máy chủ Mỗi giải pháp tốt, cung cấp kĩ thuật giúp nhận vấn đề công từ chối dịch vụ Tuy nhiện, phương pháp bảo vệ lại khía cạnh công từ chối dịch vụ Tuy nhiên, năm gần đây, lớp cơng từ chối dịch vụ khó phát phương pháp thơng thường, loại cơng từ chối dịch vụ phân tán tần suất thấp (LDoS) [2] [3] Kẻ công DoS gửi bùng nổ ngắn lưu lượng luồng theo kỳ, thay lũ lụt gói liên tục cơng DoS/DDoS thông thường Vụ nổ điền vào đệm router trung gian gây tổn thất gói luồng TCP hợp pháp Những khó khăn việc phát công DoS kẻ cơng có tốc độ trung bình thấp so với công DoS truyền thống Hơn nữa, kẻ cơng kiểm sốt mức độ thiệt hại gây công, cách điều chỉnh bùng nổ khoảng cách lần bùng nổ Do đó, khó khăn cho nạn nhân tự tìm cơng Vì vậy, kẻ công mục tiêu trang web thương mại điện tử kết nối TCP trang web khách hàng mình, trang web bỏ lỡ lợi nhuận tiềm khách hàng Cho đến nay, công DoS mối đe dọa lớn an ninh mạng dễ thực với chi phí thấp Mặt khác, phát công DoS tần suất thấp khó khăn tốc độ trung bình thấp Các thuật tốn phát cho cơng DoS lũ lụt dường không áp dụng cho cơng DoS tần suất thấp Vì vậy, cơng DoS tần suất thấp cơng tương lai Để phát công giảm thiểu thiệt hại, biện pháp đối phó khác đề xuất Phương pháp thời điểm cố gắng phát lọc công vào định tuyến trung gian Tuy nhiên, tất phương pháp tiếp cận dựa định tuyến có vấn đề triển khai Luận văn tơi trình bày phương pháp chống công từ chối dịch vụ phân tán tần suất thấp Bằng cách phân tích luồng đến dựa thuật toán router Hệ thống nhận diện luồng công DoS luồng hợp pháp Với công DoS truyền thống, kẻ công sử dụng số lượng lớn máy bị xâm nhập đại lý gửi điện cao tỷ lệ gói liệu đến nút nạn nhân Có khả mạnh mẽ có khả có hại mà chất cao tỷ lệ công phát thiết bị giám sát mạng số liệu thống kê bất thường Vì vậy, kẻ cơng xác định ảnh hưởng công giảm thiểu Khi bị công công tràn ngập, giao thông mạng tiêu thụ cao máy chủ vào trạng thái bận Với công DoS tần suất thấp, nút mạng bị lừa dối với tín hiệu bận để điều chỉnh trạng thái hệ thống sau luồng trở nên tương đối rỗng Các máy chủ rỗi công, kết mạng bị cơng thời gian dài mà người dùng không nhận biết Tuy nhiên, công DoS tần suất thấp khai thác khoảng thời gian chậm đồng hồ truyền lại TCP để làm giảm thơng lượng TCP Mục đích để phá vỡ cân dịch vụ mạng để chiếm dịch vụ Với tốc độ trung bình gói thấp, khó cho mạng lưới giám sát để phát kiện đặc biệt lý công DoS tần suất thấp dễ dàng để thoát khỏi phát Gần phương pháp chống công từ chối dịch vụ phân tán tần suất thấp cho thấy hiệu việc lọc gói tin cơng cho qua gói tin hợp pháp Thuật tốn RED đề xuất để phát lọc cơng LDoS Thuật tốn giúp việc tìm nguồn gốc cơng LDoS làm gián đoạn luồng công từ hệ thống Mục tiêu thuật toán đề xuất xác định loại bỏ luồng công trước vào thuật tốn truyền thống RED Cơng việc tương tự thực thuật toán RRED [1] Bằng tập hợp thí nghiệm khác nhau, thuật tốn RRED chứng minh mạnh mẽ chống lại cơng LDoS trì thơng lượng TCP ổn định Tuy nhiên, thuật toán xác định khoảng thời gian cố định tính từ thời điểm gói tin bị loại nghi ngờ gói tin cơng Thời gian cố định bị kẻ cơng xác định bỏ qua Do đó, luồng luồng cơng gói tin đến từ luồng gửi khoảng thời gian sau gói tin khác luồng bị loại bỏ Khi gói tin đến nghi ngờ gói tin công phụ thuộc vào khoảng thời gian xác định RRED T*=10ms Kẻ cơng dự đoán giá trị số khi đưa gói tin cơng có khả kẻ cơng điều chỉnh thời gian đến gói tin cơng cho RRED không dễ dàng phát nguy tiềm ẩn cơng LDoS cao Vì nhược điểm này, đề xuất cải tiến thay đổi giá trị biến thiên khoảng thời gian để xác định loại bỏ gói tin gói tin cơng cho qua hầu hết gói tin bình thường Bằng cách cải tiến giá trị số T* thuật toán RRED giá trị thời gian Tout động Khi phát gói tin luồng mà nghi ngờ gói tin cơng, người gửi chờ hết thời gian timeout để tiếp tục gửi lại, khoảng thời gian Tout tính từ thời điểm gói tin bị loại bỏ đến gói tin phát nghi ngờ gói tin cơng (được trình bày chi tiết chương 4) Qua mơ NS2 phân tích cho thấy RRED sau cải tiến tương đối hiệu có khả cải thiện hiệu suất TCP đáng kể công DoS tần suất thấp so với thuật toán RRED ban đầu  Ta: chu kỳ công;  Tb: Độ rộng công;  Rb: Tốc độ công Mỗi kịch mô phỏng, thiết lập cố định hai giá trị thay đổi giá trị khác Kịch thực nghiệm Kịch Kịch Kịch Ta (s) Tb (ms) Rb (Mbps) [0.2, …, 2] 1 200 [0,600] 200 0.25 0.25 [0.1,0.5] Bảng Các tham thực nghiệm 3.4.2 Kết biến thiên theo chu kỳ Bộ mô thứ nhất, lựa chọn Ta (0,2-2) (s) Tb Rb cố định Khác ba thơng số nhằm mục đích để theo dõi mạnh mẽ thuật toán RRED kẻ cơng thay đổi hành vi gửi lại cơng Hình 12 Kết thông lượng TCP công Ta = [0.2, 2] (s), Tb = 200(ms), Rb = 0.25 (Mbps) Thuật tốn RRED mơ thực với NS2 Dựa hình 12 kết cho thấy thuật tốn RRED mạnh mẽ Thơng 31 lượng TCP gần hồn tồn trì công LDoS đa dạng Kết xác nhận RRED với giá trị T* số Môi trường sơ đồ mạng trên, mô thực NS2 Kết hiển thị bảng 1, với tham số: + rate_f1_normal: biểu diễn thơng lượng trung bình luồng TCP bình thường qua liên kết cổ chai khơng có cơng LDoS; + rate_f1_normal: biểu diễn thơng lượng trung bình luồng TCP bình thường qua liên kết cổ chai có cơng LDoS; + rate_f1 = rate_f1_attack/rate_f1_normal: biểu diễn tỷ lệ trì thơng lượng luồng TCP bình thường cơng LDoS; Bảng so sánh kết mô thời điểm Ta=1s cho thấy thuật tốn RRED với giá trị Tout biến thiên có thơng lượng TCP cải thiện so với thuật tốn RRED cũ với giá trị T* số Giá trị (T*=10ms) Giá trị Tout Biến thiên Number of users 30 30 Attackers number 20 20 rate_f1_normal 600.870000 600.970000 rate_f1_attack 596.490000 597.350000 0.992711 0.993976 Tham số mô nth_f1 Bảng Tham số mô giá trị thu thời điểm Ta=1s 3.4.3 Kết biến thiên theo độ rộng bùng nổ công Một mô thứ hai, chọn Tb (0, 600) (ms) Ta R cố định Tb sử dụng để đánh giá thuật toán RRED khoảng thời gian để xác định ổn định hiệu thuật toán Với giá trị Ta = (s), Tb = [0, 600] (ms), Rb = 0.25 (Mbps) thuật tốn RRED thực mơ với NS2 Các kết thu minh họa hình 13 Với Ta = 1(s), Tb = [0,600](ms), Rb = 0.25(Mbps) 32 Hình 13 Kết thơng lượng TCP công Ta = 1(s), Tb = [0,600](ms), Rb = 0.25(Mbps) Bảng so sánh kết mô thời điểm Tb=200s cho thấy thuật tốn RRED với giá trị Tout biến thiên có thơng lượng TCP cải thiện so với thuật toán RRED cũ với giá trị T* số Giá trị (T*=10ms) Giá trị Tout Biến thiên Number of users 30 30 Attackers number 20 20 rate_f1_normal 600.870000 600.970000 rate_f1_attack 597.400000 597.580000 0.994225 0.994359 Tham số mô nth_f1 Bảng Tham số mô giá trị thu thời điểm Tb=200s 3.4.4 Kết biến thiên theo tốc độ bùng nổ công Trong mô thứ ba, thiết lập tần suất công khác Rb (0,1-0,5) Mbps, giữ giá trị cố định Ta Tb Rb sử dụng để 33 kiểm tra thuật tốn RRED với thơng lượng TCP để xác định ổn định hiệu thuật tốn có cơng thay đổi tốc độ kết nối Với giá trị Ta = (s), Tb = 200 (ms), Rb = [0,1 0,5] (Mbps) thuật tốn RRED thực mơ NS2 Các kết thu thể hình 14 Hình 14 Kết thơng lượng TCP công Ta = 1(s), Tb = 200(ms), Rb = [0.1,0.5] (Mbps) Bảng so sánh kết mô thời điểm Rb=0.25Mbps cho thấy thuật toán RRED với giá trị Tout biến thiên có thơng lượng TCP cải thiện so với thuật toán RRED cũ với giá trị T* số Giá trị (T*=10ms) Giá trị Tout Biến thiên Number of users 30 30 Attackers number 20 20 rate_f1_normal 600.870000 600.970000 rate_f1_attack 596.640000 598.810000 0.992960 0.996406 Tham số mô nth_f1 Bảng Tham số mô giá trị thu thời điểm Rb=0.25Mbps 34 Từ ba kết thử nghiệm tương ứng với ba thông số, thấy thuật toán RRED tương đối hiệu Những kết cho thấy thông lượng TCP trì gần hồn tồn nhiều cơng Dos tần suất thấp Nó khẳng định thuật tốn tương tự RRED có thơng lượng thấp so với thuật toán RRED sau cải tiến 35 KẾT LUẬN Trong luận văn này, đề xuất cải tiến thuật toán RRED để chống cơng DoS tần suất thấp Qua q trình mơ phân tích cho thấy RRED sau cải tiến tương đối hiệu có cải thiện hiệu TCP đáng kể công DoS tần suất thấp Một số kết thu sau: - Thuật toán RRED sau cải tiến mạnh mẽ so với RRED đề xuất - Thuật toán RRED cải thiện hiệu suất thông lượng TCP công LDoS - Thay đổi giá trị số T* thuật tốn RRED ban đầu, nhằm kẻ cơng khó xác định tính tốn thay đổi tốc độ công Cho đến nay, RRED tập trung vào giải vấn đề liên quan đến luồng TCP khơng đề cập gói tin UDP Vì vậy, vấn đề cần phải xử lý để cải tiến thuật toán RRED hướng nghiên cứu tương lai 36 PHỤ LỤC A Cài đặt NS2 A.1 Giới thiệu chƣơng trình mơ NS2 NS-2 phần mềm mô mạng mạnh, hoạt động điều khiển kiện rời rạc[27] NS-2 thiết kế phát triển theo kiểu hướng đối tượng, phát triển đại học California, Berkely Bộ phần mềm viết ngơn ngữ C++ OTcl Có thể tương thích với hệ điều hành Linux hệ điều hành Windows Mô cung cấp hỗ trợ rộng rãi để mô giao thức TCP, thiết bị định tuyến, … Hình 10 Cấu trúc NS-2 Cấu trúc NS-2 bao gồm thành phần Hình 10 Tùy vào mục đích người dùng kịch mơ OTcl mà kết mơ lưu trữ vào tệp vết (trace file) với khuôn dạng (format) người phát triển NS định nghĩa trước theo khuôn dạng người sử dụng NS định viết kịch mô Nội dung tệp vết tải vào ứng dụng khác để thực phân tích A.2 Cài đặt NS2 Mở terminal ubuntu thực lệnh sau để thực việc cài đặt Dowload cài ns-allinone-2.33 + wget 2.33.tar.gz http://nchc.dl.sourceforge.net/sourceforge/nsnam/ns-allinone37 Giải nén ns-allinone-2.33 tar -xzvf ns-allinone-2.33.tar.gz Di chuyển vào thư mục ns-allinone-2.33 lệnh cd ns-allinone-2.33 Cài đặt thêm gói cần thiết Sudo apt-get install -f build-essential libxt-dev libxt6 libsm-dev libsm6 libice-dev libice6 libxmu-de Thực lênh sau để cài đặt /install Sau cài đặt bạn cần đặt lại đường dẫn cho gói phần mềm Cần chỉnh sửa thêm file /.bashrc Để mở file /.bashrc thực lệnh sau Gedit ~/.bashrc Xuất cửa sổ soạn thảo, bạn thêm dòng sau vào cửa sổ (sau từ fi) Tùy ns-allinone khác mà tên gói khác Thường sau cài xuất dẫn cho đường dẫn, bạn copy từ xuống Dưới đường dẫn cho ns-allinone-2.33 Thư mục home /home/sun (sun tến đăng nhập vào ubuntu ) Tùy tên đăng nhập người thay cho hợp lý Hãy load file thiết lập đường dẫn cho NS-2 file đính kèm Sau thiết lập đường dẫn xong bạn save file /.bashrc lại mở cửa sổ terminal gõ lệnh ns xuất dấu % việc thiết lập thành cơng Cuối xác lại việc cài đặt ns2 Di chuyển vào thư mục ns-2.33 (chú ý lúc bạn thư mục ns2-allinone-2.33 , bạn bật cửa sổ terminal bạn gõ lệnh đầy đủ cd ~/ns-allinone-2.33/ns-2.33 thực lệnh để xác minh lại việc cài đặt /validate B Cài đặt mô AQM&DoS NS2 38 Trong luận văn này, cài đặt mô dựa công cụ AQM&DoS Simulation Platform [1] để đánh giá, mô hiệu thuật toán RRED sau cải tiến so sánh thuật toán RRED ban đầu Cải tiến thuật toán RRED thực hàm tệp redrobust.h red-robust.cc thực mô công từ chối dịch vụ phân tán tần suất thấp Kết mô kiết xuất dạng tệp log Sử dụng Matlab để vẽ đồ thị biểu diễn kết mơ phỏng, phân tính đánh giá cải tiến thuật toán RRED B.1 Sao chép tệp sau vào thư mục "ns-allinone-2.33\ns-2.33\queue" red-robust.h red-robust.cc B.2 Thêm dòng sau vào cuối tệp ns-default.tcl ("ns-allinone-2.33\ns2.33\tcl\lib\ns-default.tcl") # Added by leoking RobustRed config Queue/RED/Robust set hash_bins_ 23 Queue/RED/Robust set hash_levels_ Queue/RED/Robust set score_max_ 10 Queue/RED/Robust set score_min_ -1 Queue/RED/Robust set score_pass_ Queue/RED/Robust set last_drop_time_ 0ms Queue/RED/Robust set drop_related_period_ 10ms # Added by leoking RobustRed config B.3 Chèn dòng sau vào trước đoạn mã nguồn "$(OBJ_STL)" tệp Makefile ("ns-allinone-2.33\ns-2.33\Makefile"): queue/red-robust.o \ B.4 Biên dịch lại hệ thống ns-allinone-2.33 lệnh sau: make clean make depend make C Mà nguồn tệp red-robust.cc #include #include #include "config.h" #include "template.h" 39 #include "random.h" #include "flags.h" #include "delay.h" #include "red-robust.h" static class RobustREDClass : public TclClass { public: RobustREDClass() : TclClass("Queue/RED/Robust") {} TclObject* create(int argc, const char*const* argv) { //printf("creating RED Queue argc = %d\n", argc); //mod to enable RED to take arguments if (argc==5) return (new RobustREDQueue(argv[4])); else return (new RobustREDQueue("Drop")); } } class_robustred; RobustREDQueue::RobustREDQueue(const char * trace) : REDQueue(trace) { bind("hash_bins_", &hash_bins_); bind("hash_levels_", &hash_levels_); bind("score_max_", &score_max_); bind("score_min_", &score_min_); bind("score_pass_", &score_pass_); bind_time("last_drop_time_", &last_drop_time_); bind_time("drop_related_period_", &drop_related_period_); resetBins(0); } void RobustREDQueue::enque(Packet* pkt) { if (dropAnomaly(pkt)) { //reportDrop(pkt); //Where report? need to further thinking updateBinsDroptime(pkt); drop(pkt); //printf("\tT* =%d",pkt); } else { REDQueue::enque(pkt); } return; } 40 void RobustREDQueue::reportDrop(Packet* pkt) { double drop_time=updateBinsDroptime(pkt); last_drop_time_=drop_time; return; } int RobustREDQueue::hashPkt(Packet* pkt, int ilevel) { int ibin=0; hdr_ip* iph=hdr_ip::access(pkt); unsigned int param1=(int)(iph->saddr()); unsigned int param2=(int)(iph->daddr()); //unsigned int param3=int(iph->sport()); //unsigned int param4=int(iph->dport()); ibin=((param1

Ngày đăng: 23/09/2020, 22:47