Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 94 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
94
Dung lượng
3,18 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO ĐẠI HỌC MỞ HÀ NỘI - LUẬN VĂN THẠC SĨ TÊN ĐỀ TÀI: ĐÁNH GIÁ ẢNH HƯỞNG CỦA TẤN CÔNG LỖ ĐEN TRONG GIAO THỨC ĐỊNH TUYẾN AODV TRÊN MẠNG MANET HỌC VIÊN THỰC HIỆN: HOÀNG LÊ DIÊN CHUYÊN NGÀNH: CÔNG NGHỆ THÔNG TIN MÃ NGÀNH: 8480201 HƯỚNG DẪN KHOA HỌC: PGS.TS NGUYỄN VĂN TAM HÀ NỘI - 2022 LỜI CẢM ƠN Trước tiên, xin gửi lời cảm ơn chân thành tới PGS.TS Nguyễn Văn Tam, người thầy tận tình giúp đỡ tơi suốt q trình làm luận văn truyền cho tơi kinh nghiệm quý báu thời gian thực đề tài Tôi xin gửi lời biết ơn sâu sắc tới thầy, cô trường Đại Học Mở Hà Nội Thầy, cô truyền lại cho kiến thức vơ hữu ích thực tiễn, dạy phương pháp nghiên cứu khoa học, phát huy khả tư sáng tạo lĩnh vực Cuối cùng, tơi xin cảm ơn gia đình, bạn bè, người thân yêu Mọi người ln bên cạnh tơi, động viên, khuyến khích tơi học tập, nghiên cứu Do thời gian nghiên cứu kinh nghiệm nghiên cứu chưa nhiều nên luận văn nhiều thiếu sót, mong nhận ý kiến góp ý Thầy/Cơ bạn học viên LỜI CAM ĐOAN Tôi xin cam đoan kết đạt luận văn sản phẩm riêng cá nhân tôi, không chép lại người khác Luận văn kết trình học tập, nghiên cứu suốt khóa học Trong nội dung luận văn, vấn đề trình bày kết cá nhân kết tổng hợp từ nhiều nguồn tài liệu khác Những kết nghiên cứu cá nhân rõ ràng luận văn Các thông tin tổng hợp hay kết lấy từ nhiều nguồn tài liệu khác trích dẫn đầy đủ hợp lý Tất tài liệu tham khảo có xuất xứ rõ ràng trích dẫn hợp pháp Tơi xin chịu hồn tồn trách nhiệm chịu hình thức kỷ luật theo quy định cho lời cam đoan Hà Nội, tháng 01 năm 2022 Ngƣời cam đoan HOÀNG LÊ DIÊN MỤC LỤC LỜICẢM ƠN LỜICAM ĐOAN .3 MỤC LỤC DANH MỤC KÍ HIỆU VÀ CHỮ VIẾT TẮT .6 DANH MỤC HÌNH VẼ, ĐỒ THỊ MỞ ĐẦU CHƯƠNG 1: TỔNG QUAN VỀ MẠNG MANET 11 1.1 Giới thiệu tổng quan mạng MANET … 11 1.2 Đặc điểm mạng MANET 12 1.3 Phân loại mạng MANET 13 1.3.1 Phân loại theo cấu trúc 13 1.3.2 Phân loại theo phương thức 15 1.4 Những vấn đề định tuyến mạng MANET 16 1.4.1 Giới thiệu thuật toán định tuyến truyền thống 17 1.4.2 Bài toán định tuyến mạng MANET 18 1.4.3 Các chế định tuyến mạng MANET 19 1.5 Một số giao thức định tuyến mạng MANET 21 1.5.1 Dynamic Source Routing (DSR) 22 1.5.2 Ad hoc On-demand Distance Vector Routing (AODV) 25 1.5.3 Destination-Sequence Distance Vector (DSDV)… 29 Kết luận chương 30 CHƯƠNG TÌM HIỂU CÁC PHƯƠNG THỨC TẤN CÔNG TRONG MẠNG MANET.31 2.1 Vấn đề an ninh mạng MANET 31 2.1.1 Thách thức an ninh mạng MANET 31 2.1.2 Các yêu cầu đảm bảo an toàn an ninh mạng … 31 2.2 Một số phương thức công giao thức định tuyến mạng MANET 32 2.2.1 Tấn công cách sửa đổi thông tin bảng định tuyến 33 2.2.2 Tấn công cách chế tạo 34 2.2.3 Tấn công cách mạo danh (giả mạo node trung gian) 35 2.2.4 Một vài kiểu công đặc biệt 36 2.3 Tấn công lỗ đen giao thức định tuyến mạng MANET 37 2.3.1 Lỗ hổng giao thức AODV 37 2.3.2 Phân loại công kiểu lỗ đen 38 2.3.3 Cơ chế hoạt động công lỗ đen sử dụng giao thức AODV 38 Kết luận chương 40 CHƯƠNG 3: ĐÁNH GIÁ TẤN CÔNG LỖ ĐEN TRONG GIAO THỨC ĐỊNH TUYẾN TRÊN MẠNG MANET THÔNG QUA SỬ DỤNG CÔNG CỤ MÔ PHỎNG 40 3.1 Phân tích lựa chọn phương pháp đánh giá … 40 3.2 Bộ mô NS-2 cài đặt mô 41 3.2.1 Giới thiệu NS-2 41 3.2.2 Các thành phần chương trình mơ NS-2 43 3.2.3 Các chức mơ NS-2 43 3.2.4 Thiết lập mô mạng MANET NS-2 … 45 3.2.5 Cài đặt, bổ sung chương trình mơ công lỗ đen 51 3.3 Mô phỏng, đánh giá ảnh hưởng công lỗ đen 54 3.3.1 Các độ đo hiệu đánh giá 55 3.3.2 Thiết lập lựa chọn, tham số mô 56 3.3.3 Các kịch mô 56 3.4 Phân tích tệp tr để tính tham số hiệu mạng 64 3.4.1 Kịch 66 3.4.2 Kịch 71 3.5 Đánh giá ảnh hưởng công lỗ đen giao thức định tuyến AODV 76 Kết luận chương 3: 78 KẾT LUẬN .80 Tài liệutham khảo 82 Phụlục .84 DANH MỤC KÍ HIỆU VÀ CHỮ VIẾT TẮT MANET AODV DSDV DSR ABR WRP CGSR TORA ZRP HECTOR ARAN OLSR IP RREQ RREP RERR SN HC DSN ID DV LS NS-2 FPT CBR UDP TCP PRD EED CO Mobile Adhoc NETwork Adhoc On-demand Distance Vector Destination-Sequenced Distance Vector Dynamic Source Routing Associativity-based routing Wireless routing protocol Cluster-head gateway switch routing Temporally ordered routing algorithm Zone routing protocol Hybrid energy efficient tree-based optimized routing protocol Authenticated Routing for Ad hoc Networks Optimized Link State Routing Internet Protocol Route Request Route Reply Route Error Sequence Number Hop count Destination Sequence Number Identification Distance Vector Link State Network Simulator File Transfer Protocol Constant bitrate User Datagram Protocol Transmission Control Protocol Packet Delivery Ratio End to end delay Control overhead DANH MỤC HÌNH VẼ, ĐỒ THỊ Hình 1 Mạng MANNET 11 Hình Mơ hình mạng đẳng cấp 14 Hình Mơ hình mạng phân cấp 14 Hình Mơ hình mạng kết hợp 15 Hình Mơ hình mạng Single-hop 16 Hình Mơ hình mạng Multi-hop 16 Hình Phân loại giao thức định tuyến mạng MANET 22 Hình Route discovery (S: Nguồn; D: Đích) 23 Hình Route maintenance (liên kết 4, D bị hỏng ) 24 Hình 10 Các trường gói tin RREQ 25 Hình 11 Cơ chế xử lý khám phá đường node AODV 27 Hình 12 Các trường gói tin RREP 28 Hinh Các kiểu công giao thức định tuyến mạng MANET 33 Hinh 2 Ví dụ việc sửa đổi bảng định tuyến 34 Hinh Ví dụ công cách tạo thông tin bịa đặt 34 Hinh Ví dụ cơng giả mạo 35 Hinh Ví dụ cơng Wormhole 36 Hinh Thực công lỗ đen việc giả mạo gói tin RREQ 39 Hinh Thực công lỗ đen việc giả mạo gói tin RREP 40 Hình Tổng quan NS-2 góc độ người dùng 42 Hình Luồng kiện cho file Tcl chạy NS-2 43 Hình 3 Kiến trúc tầng NS2 45 Hình file.nam hiển thị Node AODV khơng có lỗ đen 63 Hình file.nam hiển thị Node AODV có lỗ đen xuất 63 Hình Định dạng file trace 64 Hình Biểu đồ Max Number connect – Packets drop 67 Hình Biểu đồ Max Number connect – Packets Throughput 68 Hình Biểu đồ Max Number connect – Packet Delivery Ratio 69 Hình 10 Biểu đồ Max Number connect – End-to-End Delay 70 Hình 11 Biểu đồ Max Number connect – Controloverhead 71 Hình 12 Biểu đồ Pause time – Packets drop 72 Hình 13 Biểu đồ Pause time – Throughput 73 Hình 14 Biểu đồ Pause time – Packet Delivery Ratio 74 Hình 15 Biểu đồ Pause time – End to End Delay 75 Hình 16 Biểu đồ Pause time – Controleoverhead 76 DANH MỤC CÁC BẢNG Bảng Các thông số dễ bị khai thác gói tin AODV 37 Bảng Bảng tham số mô 60 Bảng Max Number connect – Packets drop 67 Bảng 3 Max Number connect – Throughput 68 Bảng Max Number connect – Packet Delivery Ratio 68 Bảng Max Number connect – End-to-End Delay 69 Bảng Max Number connect – ControlOverhead 70 Bảng Pause time – Packets drop 71 Bảng Pause time – Throughput 72 Bảng Pause time – Packet Delivery Ratio 73 Bảng 10 Pause time – End-to-End Delay 74 Bảng 11 Pause time – Control overhead 75 MỞ ĐẦU Mạng truyền thơng khơng dây đóng vai trị vơ quan trọng đời sống, kinh tế số, xã hội người Nó phát triển mạnh mẽ thời gian gần Mạng di động không dây đặc biệt MANET cho phép máy tính di động thực kết nối truyền thông với khơng cần dựa hạ tầng có dây Ứng dụng mạng MANET nhiều lĩnh vực khác như: tác chiến điện tử, an ninh, dự báo, cảnh báo thiên tai thảm họa, IOT(Internet of thing)… Ưu điểm mạng MANET hoạt động mơi trường khơng khí không phụ thuộc vào sở hạ tầng mạng cố định, dễ bị cơng Những điểm yếu mạng MANET đến từ kiến trúc mở peer-to-peer Những kẻ cơng xâm nhập vào mạng thông qua việc công node, từ làm tê liệt hoạt động mạng Một số cách công tin tặc sử dụng nhiều như: Blackhole, Grayhole, Wormhole, Sinkhole, Rushing and Flooding Trên sở phân tích cơng mạng MANET, phạm vi luận văn bày số vấn đề an toàn giao thức định tuyến mạng MANET, công lỗ đen giao thức định tuyến AODV Đánh giá ảnh hưởng công lỗ đen giao thức định tuyến AODV mạng MANET Bố cục luận văn gồm chƣơng: Chƣơng 1: Tổng quan mạng MANET Nghiên cứu tổng quan mạng MANET, đặc điểm, phân loại kiểu mạng, tìm hiểu phương thức hoạt động, chế tìm đường số giao thức định tuyến Trong tập trung tìm hiểu, phân tích kỹ vào giao thức định tuyến AODV Chƣơng 2: Tìm hiểu phƣơng thức công mạng MANET Nghiên cứu vấn đề an ninh mạng MANET yêu cầu chung đảm bảo an tồn an ninh mạng, phân tích số phương pháp cơng phổ biến Phân tích kỹ lưỡng chế hoạt động kiểu công lỗ đen giao thức định tuyến AODV, đặc biệt trường dễ bị kẻ cơng khai thác gói tin điều khiển Chƣơng 3: Đánh giá công lỗ đen giao thức định tuyến AODV mạng MANET thông qua sử dụng công cụ mô Trong kịch 1: Đánh giá ảnh hưởng lỗ đen lên thông số hiệu mạng tăng số kết nối nút mạng - Trong điều kiện bình thường mạng AODV số kết nối mạng tăng 10-40 kết nối hiệu mạng: số lượng gói bị rớt tăng, thơng lượng (Throughput) tăng 40-60%, Tỉ lệ gói tin truyền thành cơng (PDR) giảm 50%, Độ trễ trung bình (EED) tăng xấp xỉ 15 lần, Tổng phí (CO) tăng lần - Khi mạng xuất node độc hại với tỉ lệ 2-12% tất thơng số hiệu mạng: số lượng gói bị rớt tăng, thơng lượng (Throughput) giảm, Tỉ lệ gói tin truyền thành cơng (PDR) giảm, Độ trễ trung bình (EED) giảm biên độ nhỏ Tổng phí (CO) giảm Trong kịch 2: Đánh giá ảnh hưởng lỗ đen lên thông số hiệu mạng tăng thời gian dừng (giảm tính di động nút mạng) - Mạng chạy AODV với thời gian dừng tăng 0-160s hiệu mạng có thay đổi sau: số lượng gói tin bị rớt tăng, thông lượng (Throughput) giảm bước nhảy nhỏ, Tỉ lệ gói tin truyền thành cơng (PDR) giảm bước nhảy nhỏ, Độ trễ trung bình (EED) tăng 50%, có xu hướng khơng đổi, Tổng phí (CO) tăng 50 % thời gian dừng nhỏ tăng nhỏ thời gian dừng lớn - Khi mạng xuất node độc hại 2-12% thơng số hiệu mạng: số lượng gói bị rớt tăng xấp xỉ 2.5 lần, thơng lượng(Throughput) giảm lần, Tỉ lệ gói tin truyền thành công (PDR) giảm lần, Độ trễ trung bình (EED) giảm với bước nhảy lớn, Tổng phí (CO) tăng 2.5 lần 79 KẾT LUẬN Các kết luận luận văn Luận văn nghiên cứu mơi trường mạng khơng dây nói chung mạng MANET nói riêng có ảnh hưởng đến vấn đề an ninh, giao thức định tuyến đặc biệt quan tâm tới giao thức AODV Phân tích chế hoạt động kiểu công cụ thể mạng MANET đặc biệt công dạng lỗ đen (blackhole) sử dụng giao thức AODV Luận văn viết dựa kết nhiều tác giả, nguồn tài liệu khác nhau, trích dẫn rõ ràng, minh bạch, cụ thể mục tài liệu tham khảo Luận văn triển khai mơ q trình cơng lỗ hổng bảo mật giao thức đánh giá mức độ ảnh hưởng mô NS-2 giao thức AODV cụ thể như: - Nghiên cứu, cài đặt phần mềm ảo hóa vitualbox 6.0, hệ điều hành linux 14.04, NS 2.35; công cụ gawk dùng để chạy file phân tích file trace, phần mềm gnuplot vẽ đồ thị - Thiết kế mơ hình mạng MANET phần mềm NS-2, tạo kịch phù hợp cho việc đánh giá ảnh hưởng hiệu mạng mạng xuất công lỗ đen (với tỉ lệ số lượng lỗ đen tổng số node mạng 2%, 6%, 12%) - Cài đặt mô giao thức AODV blackhole AODV để minh họa trình hoạt động, viết Script, chương trình cụ thể sau: + Xây dựng agent tạo giao thức blackhole AODV dựa giao thức AODV gốc, hàm mô hành vi lỗ đen (blackhole) sử dụng ngôn ngữ c, c++, tcl + Chương trình mơ kịch ngôn ngữ tcl: Scenario_Links.tcl, Scenario_connection.tcl + Chương trình analysis.awk phân tích, lọc gói tin từ file lưu vết (trace) sử dụng ngôn ngữ c++, awk chương trình thực thi file.tcl xuất dạng file.csv + Script Gnuplot sử dụng ngôn ngữ gnuplot để vẽ đồ thị với nguồn từ file.csv xây dựng 80 - Đánh giá hiệu kịch khác theo: số lượng gói tin bị mất, thơng lượng, tỉ lệ gói mất, độ trễ trung bình, chi phí Kết luận: Với mạng MANNET chạy giao thức AODV điều kiện bình thường, lưu lượng mạng (số lượng kết nối mạng) hay độ linh động (Pausetime thời gian tạm dừng) node mạng thay đổi thơng số hiệu mạng tương đối ổn định Khi mạng MANET xuất lỗ đen mạng tất thống số hiệu mạng bị ảnh hưởng cho dù số lượt kết nối độ linh động Node mạng có tăng hay giảm Đây lỗ hổng nghiêm trọng, công vào giao thức định tuyến mạng gây nên tượng từ chối dịch vụ “DDos” cho toàn mạng Định hƣớng phát triển đề tài Do hạn chế mặt thời gian nên luận văn chưa đề xuất giải pháp mà dừng lại mức độ tập trung nghiên cứu kỹ công lỗ đen mức độ ảnh hưởng lên hiệu giao thức định tuyến AODV Trong thời gian tới tiếp tục nghiên cứu sâu để đưa đề xuất giải pháp cải thiện khả phịng chống cơng lỗ đen giao thức AODV nghiên cứu vấn đề giao thức DSR, DSDV, OLSR TORA Thêm vào cịn số vấn đề khác giao thức cần xem xét như: Các hình thức bảo mật khác mạng MANET; Vấn đề bảo mật kết hợp đảm bảo chất lượng dịch vụ (QoS) 81 Tài liệu tham khảo A- Tài liệu tiếng Việt [1] N Đ Việt, "Bài giảng đánh giá hiệu mạng máy tính," Đại học Quốc gia Hà Nội, 2010 [2] N T Huyên, "Nghiên cứu giải pháp chống công lỗ đen(black hole attack) mạng không dây di động (mobile Ad-hoc-Network)," Luận văn thạc sĩ, Đại học Quốc gia Hà Nội, 2011 B- Tài liệu tiếng Anh [3] S Basagni, M Conti, S Giordano and I Stojmenovic, "Mobile Ad Hoc Networking," The Institute of Electrical and Electronics Engineers , vol Chapter and 10, p 416, 2004 [4] A K Ali and U V Kulkarni, "State-of-The-Art of Routing Protocols for MobileAd-Hoc Networks (MANET)," international Journal of Computer Applications, vol 127, no 12, p 45, 2015 [5] S K Sarkar, T G Basavaraju and C Puttamadappa, Ad Hoc Mobile Wireless Network Principles, Protocols, and Applications, New York, 2007 [6] A Arya and J Singh, "Comparative Study of AODV, DSDV and DSR Routing Protocols in Wireless Sensor Network Using NS-2 Simulator," International Journal of Computer Science and Information Technologies, 2014 [7] G Jayakumar and G Gopinath, "Ad Hoc Mobile Wireless Networks Routing Protocols – A Review," Journal of Computer Science (8), 2007 [8] D B Johnson, D A Maltz and J Broch, "DSR: The Dynamic Source Routing Protocol for Multihop Wireless Ad Hoc Networks," p pp 139–172, 2001 [9] C E Perkins, E M Royer and S R Das, "The Ad Hoc On-Demand DistanceVector Protocol (AODV)”in Ad Hoc Networking," p pp 173–219, November 2002 [10] K U R Khan, R U Zaman, A V Reddy, K A Reddy and T S Harsha, "An Efficient DSDV Routing Protocol for Wireless Mobile Ad Hoc Networks and its Performance Comparison," IEEE Xplore, 2008 [11] U K Singh, S Mewada, L laddhani and K Bunkar , "An Overview and Study of Security Issues &Challenges in Mobile Ad-hoc Networks (MANET)," International Journal of Computer Science and Information Security, vol 9, April 2011 [12] A V Tarunpreet Bhatia, "Security Issues in Manet: A Survey on Attacks and Defense Mechanisms," International Journal of Computer Science and Information Security, vol 3, no 6, June 2013 [13] K Sanzgiri, B Dahill, B N Levine, C Shields and E M Belding-Royer, "A Secure Routing Protocol for Ad Hoc Networks," University of Massachusetts Amherst, 2002 [14] C Diwaker, S Choudhary and P Dabas, "ATTACKS ON MOBILE AD-HOC NETWORKS," University Institute of Engineering & Technology, 2013 [15] C H Vu and A Soneye, "An Analysis of Collaborative Attacks on Mobile Ad hoc networks," School of ComputingBlekinge Institute of Technology Soft Center SE, 2009 82 [16] P Joshi, "Security issues in routing protocols in MANETs at network layer," Procedia Computer Science 954–960, 2011 [17] M Pandya and A K Shrivastava , "Review on security issues of AODV routing protocol for MANETs," Journal of Computer Engineering (IOSRJCE), vol 14, no 5, 2013 [18] S Dokurer, "Simulation of Black hole attack in wireless ad-hoc networks," Thesis Master in Computer Engineering Atihm University, September 2006 [19] P Yinfei, "Design Routing Protocol Performance Comparison in NS2: AODV comparing to DSR as Example," Binghamton University - SUNY, 2006 C Tài liệu - Internet [20] K Fall and K Varadhan, "The ns Manual (formerly ns Notes and Documentation)," The VINT Project A Collaboration between researchers at UC Berkeley, LBL, USC/ISI, and Xerox PARC, [Online] Available: https://www.isi.edu/nsnam/ns/doc/ns_doc.pdf [21] A D Robbins, "GAWK: Effective AWK Programming Edition 5.1," October, 2021 [Online] Available: https://www.gnu.org/software/gawk/manual/gawk.pdf [22] T Williams and C Kelley, "gnuplot 5.5 An Interactive Plotting Program," November 2021 [Online] Available: http://www.gnuplot.info/docs_5.5/Gnuplot_5_5.pdf [23] I A (IA), "The pillars of Information Assurance," IT Governance Trademark Ownership Notification, [Online] Available: https://www.itgovernanceusa.com/information/information-assurance 83 Phụ lục Phụ lục – File chạy mô tcl # Define options set val(chan) Channel/WirelessChannel ;#Channel Type set val(prop) Propagation/TwoRayGround ;# radio-propagation model set val(netif) Phy/WirelessPhy;# network interface type set val(mac) Mac/802_11 ;# MAC type set val(ifq) Queue/DropTail/PriQueue ;# interface queue type set val(ll) LL ;# link layer type set val(ant) Antenna/OmniAntenna ;# antenna model set val(ifqlen) 50 ;# max packet in ifq set val(nn) 50 ;# total number of mobilenodes set val(nnaodv) 44 ;# number of AODV mobilenodes set val(rp) AODV ;# routingprotocol set val(x) 1000 ;# X dimensionof topography set val(y) 1000 ;# Y dimensionof topography set val(cstop) 250 ;# time of connections end set val(stop) 300 ;# time of simulationend set val(cp) "Move/Scenario_Links/Scenario_0" ;#ConnectionPattern #Connections set val(cc) "Application/Scenario_Links/cbr_40" ;#CBR Connections set ns_ [new Simulator] set tracefd [open Result/Scenario_Links/AODV-6BH/Trace/Scenario_40.tr w] $ns_ trace-all $tracefd set namtrace [open Result/Scenario_Links/AODV-6BH/Nam/Scenario_40.nam w] $ns_ namtrace-all-wireless $namtrace $val(x) $val(y) # set up topography object set topo [new Topography] 84 $topo load_flatgrid $val(x) $val(y) # Create God create-god$val(nn) # Create channel #1 and #2 set chan_1_ [new $val(chan)] set chan_2_ [new $val(chan)] set god_ [God instance] # configure node, please note the change below $ns_ node-config -adhocRouting $val(rp) \ -llType $val(ll) \ -macType $val(mac) \ -ifqType $val(ifq) \ -ifqLen $val(ifqlen) \ -antType $val(ant) \ -propType $val(prop) \ -phyType $val(netif) \ -topoInstance $topo \ -agentTrace ON \ -routerTrace ON \ -macTrace ON \ -movementTrace ON \ -channel $chan_1_ # Creating mobile AODV nodes for simulation puts "Creating nodes " for {set i 0} {$i < $val(nnaodv)} {incr i} { set node_($i) [$ns_ node] $node_($i) random-motion0 ;#disable random motion $node_($i) color Blue 85 $ns_ at 0.01 "$node_($i) color \"Blue\""; } # Creating Black Hole nodes for simulation $ns_ node-config -adhocRouting blackholeAODV for {set i $val(nnaodv)} {$i < $val(nn)} {incr i} { set node_($i) [$ns_ node] $node_($i) random-motion0 ;#disable random motion $ns_ at 0.01 "$node_($i) label \"Attacker\""; $node_($i) color Black $ns_ at 0.01 "$node_($i) color \"Red\""; } puts "Loading random connectionpattern " source $val(cp) # CBR Connections generatedby cbrgen source $val(cc) # Define initial node position for {set i 0} {$i < $val(nn) } {incr i} { $ns_ initial_node_pos $node_($i) 30 } # CBR connections stops #for {set i 0} {$i < } {incr i} { # $ns_ at $val(cstop) "$cbr_($i) stop" # } # Tell all nodes when the simulationends for {set i 0} {$i < $val(nn) } {incr i} { $ns_ at $val(stop).000000001"$node_($i) reset"; } # Ending nam and simulation 86 $ns_ at $val(stop) "finish" $ns_ at $val(stop).0 "$ns_ trace-annotate \"Simulation has ended\"" $ns_ at $val(stop).00000001 "puts \"NS EXITING \" ; $ns_ halt" proc finish {} { global ns_ tracefdnamtrace $ns_ flush-trace close $tracefd close $namtrace ########### #exec gawk -f analysis.awk Result/Scenario_Links/AODV/Trace/Scenario_10.tr > Result/Scenario_Links/Result/AODV.csv #exec gawk -f analysis.awk Result/Scenario_Links/AODV/Trace/Scenario_20.tr >> Result/Scenario_Links/Result/AODV.csv #exec gawk -f analysis.awk Result/Scenario_Links/AODV/Trace/Scenario_30.tr >> Result/Scenario_Links/Result/AODV.csv #exec gawk -f analysis.awk Result/Scenario_Links/AODV/Trace/Scenario_40.tr >> Result/Scenario_Links/Result/AODV.csv ########### #exec gawk -f analysis.awk Result/Scenario_Links/AODV-1BH/Trace/Scenario_10.tr > Result/Scenario_Links/Result/AODV-1BH.csv #exec gawk -f analysis.awk Result/Scenario_Links/AODV-1BH/Trace/Scenario_20.tr >> Result/Scenario_Links/Result/AODV-1BH.csv #exec gawk -f analysis.awk Result/Scenario_Links/AODV-1BH/Trace/Scenario_30.tr >> Result/Scenario_Links/Result/AODV-1BH.csv #exec gawk -f analysis.awk Result/Scenario_Links/AODV-1BH/Trace/Scenario_40.tr >> Result/Scenario_Links/Result/AODV-1BH.csv ########### #exec gawk -f analysis.awk Result/Scenario_Links/AODV-3BH/Trace/Scenario_10.tr > Result/Scenario_Links/Result/AODV-3BH.csv #exec gawk -f analysis.awk Result/Scenario_Links/AODV-3BH/Trace/Scenario_20.tr >> Result/Scenario_Links/Result/AODV-3BH.csv 87 #exec gawk -f analysis.awk Result/Scenario_Links/AODV-3BH/Trace/Scenario_30.tr >> Result/Scenario_Links/Result/AODV-3BH.csv #exec gawk -f analysis.awk Result/Scenario_Links/AODV-3BH/Trace/Scenario_40.tr >> Result/Scenario_Links/Result/AODV-3BH.csv ########### #exec gawk -f analysis.awk Result/Scenario_Links/AODV-6BH/Trace/Scenario_10.tr > Result/Scenario_Links/Result/AODV-6BH.csv #exec gawk -f analysis.awk Result/Scenario_Links/AODV-6BH/Trace/Scenario_20.tr >> Result/Scenario_Links/Result/AODV-6BH.csv #exec gawk -f analysis.awk Result/Scenario_Links/AODV-6BH/Trace/Scenario_30.tr >> Result/Scenario_Links/Result/AODV-6BH.csv #exec gawk -f analysis.awk Result/Scenario_Links/AODV-6BH/Trace/Scenario_40.tr >> Result/Scenario_Links/Result/AODV-6BH.csv # exit } puts "Starting Simulation " $ns_ run Phụ lục – File phân tích gói tin AWK Analysis.awk ### Create by dienhl### BEGIN { send = 0; #variable for storingnumber of packets sent recv= 0; #variable for storingnumber of packets received bytes = 0; #variable for storingnumber of bytes transmitted st = 0; #variable for start time ft = 0; #variable for end time rtr = 0; #variable for number of routing packets delay = 0; } { 88 #$1 means first column in filetrace.tr file #If event is "sent" and trace level is RTR(routed packet) and packet type should not be cbr #and udp and ack then increment rtr by and so on #Final value of rtr will be the total number of routing packets sent if (( $1 == "s" || $1 == "f" ) && $4 == "RTR" && $7 == "AODV") { rtr++; } #If event is "sent" and trace level is AGT(transport layer packet) then increment sendby #Final value of send will be the total number of data packets sent if ( $1 == "s" && $4 == "AGT" && $7 == "cbr") { if(send== 0) { st = $2; #Starting time of packet transmissionwill be assigned to st } ft = $2; #End time of packet transmissionwill be assigned to ft st_time[$6]= $2; unique ID such as 0,1,2,3 and so on #This array holds sending time for each packet and $6 is send++; } #If event is "receive" and trace level is AGT(transport layer packet) then increment recvby and so on #Final value of recvwill be the total number of data packets received if ( $1 == "r" && $4 == "AGT" && $7 == "cbr") { recv++; 89 bytes+=$8; #$8 is packet size and final bytes value is the total number of bytes tranmittedfrom source to destination ft_time[$6]= $2; #This array holds receivingtime for eachpacket and $6 is unique ID such as 0,1,2,3 and so on delay += ft_time[$6]-st_time[$6]#Final value of delay is the average delay } } #printing results #Packet delivery ratio is the ratio of total number of data packets receivedat destination to the total number of data packets sent from source #Control overhead means the number of routingpackets which are required in the network for data transmission #Normalized routing overhead is the ratio of number of routingpackets to the total number of data packets received #Throughput means the average number of bits transmittedper unit time #Delay is the time taken by packet to reach to destinationfrom source #Packet dropping ratio is the ratio of total number of data packets dropped to the total number of data packets sent from source END { if(recv== 0) recv=1; #Handled issue when recvvalue is 0, which causes other values to raise a divide by zero error printf("No_of_Packets_Sent(packets): %.f\n",send); printf("No_of_Packets_Received(packets): %.f\n",recv); printf("Packet_Delivery_Ratio(%): %.2f \n",recv/send*100); printf("Control_Overhead(packets): %d\n",rtr); printf("Normalized_Routing_Overhead(%): %.2f \n",rtr/recv*100); printf("Delay (ms): %.2f \n",(delay/recv)*1000); printf("Throughput(Kbps): %.2f \n",bytes*8/(ft-st)/1024); printf("Packet_Dropping(packets): %.2f \n",(send-recv)); 90 } Phụ lục – File vẽ biểu đồ Graphy set style data linespoints set datafile separator "," set border 15 set xtics nomirror set ytics nomirror set key bottom right box width font ",10" set term pngcairo enhanced size 800,500 set linetype lc rgb "blueviolet" lw pt 10 set linetype lc rgb "violet" lw pt set linetype lc rgb "black" lw pt set linetype lc rgb "dark-red" lw pt set xlabel "Max.number of connections"font ",12" set grid set border ###########Oy #set ylabel "Packet Delivery Ratio(%)" font ",12" #set ylabel "Controle-Overhead(packets)" font ",12" #set ylabel "Routing-Overhead(%)" font ",12" #set ylabel "End to End Delay (ms)" font ",12" #set ylabel "Throughput(Kbps)" font ",12" set ylabel "Number packets dropped" ###########Scenario Links #set output "Result/Graph/Scenario_Links/PDR.png" #set output "Result/Graph/Scenario_Links/Controle_overhead.png" 91 #set output "Result/Graph/Scenario_Links/Routing_overhead.png" #set output "Result/Graph/Scenario_Links/Delay.png" #set output "Result/Graph/Scenario_Links/Throughput.png" set output "Result/Graph/Scenario_Links/Packet_drop.png" #### Colums local : 4|5|6|7|8|9 #plot 'Result/Scenario_Links/Result/AODV.csv' using 1:4 title "AODV" with linespoints,\ #'Result/Scenario_Links/Result/AODV-1BH.csv' using 1:4 title "AODV-1BH" with linespoints , \ #'Result/Scenario_Links/Result/AODV-3BH.csv' using 1:4 title "AODV-3BH" with linespoints , \ #'Result/Scenario_Links/Result/AODV-6BH.csv' using 1:4 title "AODV-6BH" with linespoints ########## #plot 'Result/Scenario_Links/Result/AODV.csv' using 1:5 title "AODV" with linespoints,\ #'Result/Scenario_Links/Result/AODV-1BH.csv' using 1:5 title "AODV-1BH" with linespoints , \ #'Result/Scenario_Links/Result/AODV-3BH.csv' using 1:5 title "AODV-3BH" with linespoints , \ #'Result/Scenario_Links/Result/AODV-6BH.csv' using 1:5 title "AODV-6BH" with linespoints ############# #plot 'Result/Scenario_Links/Result/AODV.csv' using 1:6 title "AODV" with linespoints, \ #'Result/Scenario_Links/Result/AODV-1BH.csv' using 1:6 title "AODV-1BH" with linespoints , \ #'Result/Scenario_Links/Result/AODV-3BH.csv' using 1:6 title "AODV-3BH" with linespoints , \ #'Result/Scenario_Links/Result/AODV-6BH.csv' using 1:6 title "AODV-6BH" with linespoints ############# #plot 'Result/Scenario_Links/Result/AODV.csv' using 1:7 title "AODV" with linespoints, \ #'Result/Scenario_Links/Result/AODV-1BH.csv' using 1:7 title "AODV-1BH" with linespoints , \ #'Result/Scenario_Links/Result/AODV-3BH.csv' using 1:7 title "AODV-3BH" with linespoints , \ #'Result/Scenario_Links/Result/AODV-6BH.csv' using 1:7 title "AODV-6BH" with linespoints ############# #plot 'Result/Scenario_Links/Result/AODV.csv' using 1:8 title "AODV" with linespoints, \ #'Result/Scenario_Links/Result/AODV-1BH.csv' using 1:8 title "AODV-1BH" with linespoints , \ #'Result/Scenario_Links/Result/AODV-3BH.csv' using 1:8 title "AODV-3BH" with linespoints , \ 92 #'Result/Scenario_Links/Result/AODV-6BH.csv' using 1:8 title "AODV-6BH" with linespoints ############# plot 'Result/Scenario_Links/Result/AODV.csv' using 1:9 title "AODV" with linespoints, \ 'Result/Scenario_Links/Result/AODV-1BH.csv' using 1:9 title "AODV-1BH" with linespoints , \ 'Result/Scenario_Links/Result/AODV-3BH.csv' using 1:9 title "AODV-3BH" with linespoints , \ 'Result/Scenario_Links/Result/AODV-6BH.csv' using 1:9 title "AODV-6BH" with linespoints 93