Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 82 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
82
Dung lượng
3,39 MB
Nội dung
BỘ GIÁO DỤC VÀ ĐÀO TẠO TRƢỜNG ĐẠI HỌC BÁCH KHOA HÀ NỘI - Trần Anh Đức NGHIÊN CỨU CÁC MÔI TRƢỜNG CÔNG CỤ MÔ PHỎNG GIAO THỨC MẠNG THẾ HỆ MỚI LUẬN VĂN THẠC SĨ KỸ THUẬT CÔNG NGHỆ THÔNG TIN NGƢỜI HƢỚNG DẪN KHOA HỌC TS Nguyễn Khanh Văn Hà Nội – Năm 2015 LỜI CẢM ƠN Trƣớc tiên em xin gửi lời cảm ơn chân thành sâu sắc đến thầy cô giáo trƣờng đại học Bách Khoa Hà nội nói chung thầy giáo viện công nghệ thông tin truyền thông nói riêng tận tình giảng dạy, truyền đạt cho em kiến thức, kinh nghiệm quý báu suốt thời gian qua Đặc biệt em xin gửi lời cảm ơn đến TS Nguyễn Khanh Văn, ngƣời thầy tận tình giúp đỡ, trực tiếp bảo, hƣớng dẫn em suốt trình chuẩn bị làm luận văn tốt nghiệp Trong thời gian làm việc với thầy, em khơng tiếp thu thêm nhiều kiến thức bổ ích mà học hỏi đƣợc nhiều kinh nghiệm thực tiễn nghiên cứu khoa học Đó điều vơ cần thiết cho em trình học tập công tác sau Em xin gửi lời cảm ơn tới ThS Nguyễn Phi Lê, cô hƣớng dẫn giúp đỡ em nhiều suốt thời gian thực luận văn Và cuối em xin gửi lời cảm ơn tới gia đình, bạn bè động viên, giúp đỡ nhƣ lãnh đạo đồng nghiệp quan hỗ trợ tạo điều kiện giúp em suốt thời gian theo học Trần Anh Đức i Mục lục LỜI CẢM ƠN i DANH MỤC CÁC BẢNG iv DANH MỤC CÁC HÌNH v DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ vii MỞ ĐẦU I Giới thiệu chung môi trƣờng công cụ mô giao thức mạng 1.1 Các khái niệm mô mạng máy tính 1.1.1 Mô mạng công cụ mô 1.1.2 Công cụ mô thƣơng mại công cụ mô mã nguồn mở 1.2 Một số công cụ mô mạng 1.2.1 Công cụ mô mạng OPNET 1.2.2 Công cụ mô mạng NS2 (Network Simulator 2) 1.2.3 Công cụ mô mạng NS3 (Network Simulator 3) 10 1.2.4 Công cụ mô mạng OMNeT++ 12 1.3 So sánh tổng quan OPNET, OMNeT++ NS-2 15 1.4 Lựa chọn chƣơng trình mơ mạng thích hợp 16 II Công cụ mô mạng OMNeT++ 18 2.1 Giới thiệu chung 18 2.1.1 Các thành phần OMNeT++ 18 2.1.2 Ứng dụng OMNeT++ 19 2.1.3 Một số tảng mô đƣợc phát triển từ OMNeT++ 19 2.2 Tổng quan OMNeT++ 21 2.2.1 Cấu trúc phân cấp module 21 2.2.2 Kiểu module 22 2.2.3 Message, cổng, liên kết 23 2.2.4 Mơ hình truyền gói tin 23 2.2.5 Tham số 25 2.2.6 Lập trình thuật tốn OMNeT++ 25 ii 2.3 Xây dựng mơ hình mơ OMNeT++ 26 2.3.1 Mơ hình lập trình OMNeT++ 26 2.3.2 Gỡ rối theo dấu 27 2.3.3 Xây dựng mơ hình mơ 28 2.3.4 Xây dựng kiến trúc mơ hình thơng qua file mô tả NED 30 2.3.5 Tạo file cấu hình omnetpp.ini 32 2.3.6 Sản phẩm đầu việc mô 32 III Xây dựng công cụ hỗ trợ mô giao thức định tuyến địa lý 33 3.1 Tổng quan công cụ hỗ trợ mô giao thức định tuyến địa lý 33 3.1.1 Mục đích thực cơng cụ hỗ trợ mơ 33 3.1.2 Bộ công cụ hỗ trợ mô giao thức định tuyến địa lý 34 3.2 Mô giao thức định tuyến GPSR 39 3.2.1 Giới thiệu chung giao thức GPSR 39 3.2.2 Module UpdateNbTable 41 3.2.3 Module GPSRNetwLayer 44 3.2.4 Thực mô giao thức định tuyến GPSR 50 3.3 Mơ thuật tốn BoundHole 52 3.3.1 Giới thiệu chung thuật toán xác định hố mạng BoundHole 52 3.3.2 Module Tent 53 3.3.3 Thuật toán BoundHole 55 3.3.4 Module BoundHole 59 3.3.5 Thực mô giao thức định tuyến BoundHole 63 3.4 Mơ thuật tốn xấp xỉ hố 66 3.4.1 Mơ tả thuật tốn xấp xỉ hố 66 3.4.2 Mơ thuật tốn xấp xỉ hố CorePolygonDetermination 67 3.4.3 Thực mơ thuật tốn xấp xỉ hố 70 IV Kết luận 73 TÀI LIỆU THAM KHẢO 74 iii DANH MỤC CÁC BẢNG Bảng 1: Một số công cụ mô mạng máy tính Bảng 2: So sánh OMNeT++, OPNET, NS2 16 Bảng 3: Các thông số giao thức định tuyến GPSR 44 Bảng 4: Các góc tắc đƣợc xác định thơng qua thuật tốn Tent 64 iv DANH MỤC CÁC HÌNH Hình 1: Kiến trúc phân cấp OPNET Hình 2: Giao diện mơ NS-2 10 Hình 3: Giao diện cơng cụ mơ NS3 11 Hình 4: Mơi trƣờng thử nghiệm NS3 12 Hình 5: Giao diện GUI OMNeT++ 15 Hình 6: Một số tảng đƣợc phát triển dựa OMNeT++ 20 Hình 7: Các module đơn giản kết hợp 22 Hình 8: Các kết nối 23 Hình 9: Truyền message 24 Hình 10: Mơ hình phân cấp module OMNeT++ 27 Hình 11: Thực mơ hình mơ 29 Hình 12: Quá trình thực xây dựng kịch mô OMNeT++ 30 Hình 13: Giao diện GNED 30 Hình 14: Điều khiển import định nghĩa kênh 31 Hình 15: Định nghĩa module đơn giản module phức hợp 31 Hình 16: Định nghĩa mạng 31 Hình 17: Cấu trúc cơng cụ hỗ trợ mơ thuật toán định tuyến địa lý 35 Hình 18: Module WirelessNodeBattery 36 Hình 19: module nút mạng GPSRNode BoundholeNode 37 Hình 20: Các lớp hỗ trợ giúp lƣu thông số cần thiết công cụ mơ 38 Hình 21: Các gói tin đƣợc sử dụng công cụ hỗ trợ mô giao thức định tuyến địa lý 39 Hình 22: Module hỗ trợ mô giao thức định tuyến địa lý GPSR 41 Hình 23: Khởi tạo nút mạng 42 Hình 24: Tạo gửi gói tin quảng bá NeighborUpdatePkt 42 Hình 25: Thuật tốn RNG 43 Hình 26: Hàm RNG 43 Hình 27: Thuật tốn truyền tin tham lam: x gửi gói tin đến nút y gần D nút láng giềng x trƣờng hợp sử dụng truyền tin tham lam để gửi gói tin đến D 45 Hình 28: Thuật toán truyền tin tham lam 45 Hình 29: Chuyển từ truyền tin tham lam sang truyền tin vành đai 46 Hình 30: Theo quy tắc tay phải, gói tin đƣợc truyền theo đƣờng x -> w -> v -> D 47 Hình 31: Quy tắc tay phải 47 Hình 32: Hàm FaceChange 48 Hình 33: Thuật toán GPSR 49 v Hình 34: Sơ đồ mô mạng GPSR 50 Hình 35: Cửa sổ theo dõi q trình mơ Tkenv 50 Hình 36: Số lƣợng gói tin GPSR gửi nút nguồn nhận đƣợc nút mạng khác 51 Hình 37: Số lƣợng gói tin quảng bá NeighborUpdatePkt gửi nhận đƣợc nút mạng 51 Hình 38: Module hỗ trợ mô giao thức định tuyến BoundHole 52 Hình 39: p nút tắc mạnh 53 Hình 40: Xây dựng bảng nút láng giềng xếp theo chiều ngƣợc chiều kim đồng hồ 54 Hình 41: Thực thuật tốn Tent xây dựng bảng góc tắc 55 Hình 42: Vùng cấm nút ti xác định nút ti+1 56 Hình 43: Xác định nút cần truyền gói tin đến 57 Hình 44: Trƣờng hợp 1: node tj không nằm vùng truyền tin node ti ti+1 58 Hình 45: Trƣờng hợp 2: node ti không nằm vùng truyền tin node tj tj+1 58 Hình 46: Hàm checkIntersection giúp xác định loại bỏ cạnh giao hố mạng 59 Hình 47: Khởi tạo gửi gói tin BoundHole messenger packet đến nút láng giềng mặt trái góc tắc 60 Hình 48: Gói tin quay lại nút khởi tạo, hồn thành vịng khép kín 61 Hình 49: Mã giả cho việc thực supressed start BoundHole 62 Hình 50: Cập nhật bảng ingressTable xác định có tiếp tục gửi gói tin khơng 62 Hình 51: Sơ đồ mạng mơ thuật tốn xác định hố mạng BoundHole 63 Hình 52: Cửa sổ OMNeT++/Tkenv 64 Hình 53: Số lƣợng gói tin quảng bá NeighborUpdatePkt gửi nhận nút mạng 65 Hình 54: Số lƣợng nút mạng hố mạng 65 Hình 55: Xác định đa giác đỉnh ngoại tiếp hố mạng 67 Hình 56: Xác định đƣờng chéo dài hố mạng 68 Hình 57: Xác định điểm Hj Hk có khoảng cách đến HpHq lớn 68 Hình 58: Xác định đƣờng thẳng song song vng góc với HpHq 69 Hình 59: Xác định giao đƣờng thẳng 69 Hình 60: Xác định đƣờng thẳng HpHr qua Hp tạo với HpHq góc π/4 69 Hình 61: Xác định giao điểm hình chữ nhật XYUV X’Y’U’V’ 70 Hình 62: Đầu vào mơ hố mạng có 10 đỉnh 71 Hình 63: Đầu mơ đa giác với đỉnh 71 Hình 64: Biểu diễn giá trị thuật toán xấp xỉ hố excel 72 vi DANH MỤC CÁC TỪ VIẾT TẮT VÀ THUẬT NGỮ OMNeT++ Objective Modulear Network Testbed in C++ OPNET OPtimized Network Engineering Tool NS Network Simulator NED NEtwork Description IDE Integrated Development Environment vii MỞ ĐẦU Kỹ thuật mô kỹ thuật đại vơ quan trọng Nó đƣợc áp dụng nhiều ngành khoa học, thiết kế khác nhau, lĩnh vực ứng dụng khác với nhiều mục đích Hệ thống mơ máy tính tạo mơ hình vật thể giả thiết hoạt động tƣơng tác chúng máy tính, qua giúp ta nghiên cứu chức vận hành hệ thống Phầm mềm mô sử dụng biến khác để dự đoán trạng thái hệ thống đƣợc mô Việc mô máy tính đƣợc sử dụng để hỗ trợ cho việc mơ hình hóa phân tích nhiều hệ thống tự nhiên Các lĩnh vực ứng dụng đặc biệt bao gồm vật lý, hóa học, sinh học, hệ thống liên quan đến ngƣời nhƣ kinh tế, tài chí khoa học xã hội Một ứng dụng quan trọng khác mơ đƣợc áp dụng việc thiết kế ví dụ nhƣ thiết kế xây dựng dân dụng, kỹ thuật cơng trình, kỹ thuật chế tạo máy, kỹ thuật máy tính Trong đó, ứng dụng kỹ thuật mơ vào lĩnh vực mạng máy tính, ví dụ nhƣ sử dụng để mô lƣu lƣợng mạng, cịn tƣơng đối Mơ mạng máy tính việc sử dụng công nghệ phần mềm để thực việc mô hệ thống thuật tốn mạng, lĩnh vực ứng dụng đƣợc thu hẹp so với việc mô tổng quát, yêu cầu đƣợc đƣa cụ thể Ví dụ nhƣ mơ mạng máy tính tập trung nhiều vào tính hợp lệ việc thực giao thức thuật toán phân phối so với việc tập trung vào đặc điểm trực quan quan sát theo thời gian thực hệ thống mơ Ngồi ra, cơng nghệ mạng phát triển cách vơ nhanh chóng với nhiều tổ chức khác tham gia trình thực việc nghiên cứu phát triển Các tổ chức đem lại cơng nghệ sản phẩm khác nhau, chạy tảng phần mềm khác mạng Internet Đó lí việc mơ mạng máy tính thƣờng u cầu cấu trúc mở cho phép việc mở rộng để tích hợp thêm gói mơ khác, giúp đóng góp xây dựng nên tảng mơ mạng ngày hồn thiện Mạng Internet có đặc điểm có cấu trúc với thành phần mạng (TCP/IP) cho phép cơng nghệ tầng khác đƣợc thi hành theo cách khác mà cần có giao diện đồng với tầng lân cận Do cơng cụ mơ mạng phải có khả tích hợp tính cho phép gói mở rộng khác tƣơng lai đƣợc thêm vào vận hành cách suốt mà không gây ảnh hƣởng đến chức hay thành phần có hệ thống Các cơng cụ mô mạng đƣợc sử dụng nhiều lĩnh vực khác nhau, từ nghiên cứu hàn lâm, đến phát triển cơng nghiệp, hay nhƣ quy trình đảm bảo chất lƣợng thiết kế, mô phỏng, kiểm nghiệm, phân tích hiệu giao thức mạng Tóm lại, công cụ mô mạng bao gồm phạm vi lớn công nghệ giao thức mạng, giúp ngƣời sử dụng xây dựng mạng máy tính phức tạp từ khối cấu trúc bản, ví dụ nhƣ nút mạng hay đƣờng kết nối Với giúp đỡ công cụ này, ta thiết kế nhiều kiểu kiến trúc mạng khác nhƣ thiết bị cuối, hub, cầu nối mạng, định tuyến, thiết bị liên kết quang, thiết bị di động,… Trong thực tế, việc triển khai hệ thống mạng bao gồm nhiều máy tính, router đƣờng truyền dẫn để kiểm thử giao thức mạng nghiên cứu thuật tốn vơ tốn Các cơng cụ mơ đời giúp hạn chế chi phí đồng thời tiết kiệm thời gian thực công việc Chúng tỏ đặc biệt hữu dụng việc cho phép nhà thiết kế hệ thống mạng kiểm thử giao thức mạng thay đổi giao thức mạng cách có kiểm sốt Luận văn trình bày nghiên cứu tổng quát số môi trƣờng công cụ mô giao thức mạng, đồng thời tập trung nghiên cứu sâu việc mô số giao thức mạng định tuyến địa lý sử dụng tảng mô MiXim OMNeT++ nút tắc mạnh hay khơng đồng thời xây dựng bảng góc tắc Module BoundHole thực việc cách gọi hàm đƣợc kế thừa từ module Tent Sau xác định đƣợc nút tắc, thuật toán BoundHole đƣợc sử dụng để tìm đƣờng biên hố Mỗi nút tắc gửi gói tin messenger packet theo hƣớng góc tắc, gói tin lần lƣợt đƣợc gửi đến nút láng giềng mặt bên trái góc tắc, ID nút khởi tạo đƣợc lƣu gói tin Hình 47: Khởi tạo gửi gói tin BoundHole messenger packet đến nút láng giềng mặt trái góc tắc Thuật tốn BoundHole đƣợc sử dụng gói tin quay lại nút khởi tạo, hồn thành vịng khép kín Khi đó, nút khởi tạo gói tin thực nhiệm vụ sau: • Tạo định danh cho hố (ngẫu nhiên), gọi hole ID • Tự nhận thân nút lãnh đạo, có định danh leader ID đƣợc gán ID nút Sau khoảng thời gian Tr, nút gửi gói tin làm refresh packet đến nút đƣờng biên hố mạng Đƣờng gói tin đƣợc xác định thuật tốn BoundHole 60 Hình 48: Gói tin quay lại nút khởi tạo, hồn thành vịng khép kín Tại thời điểm này, node đƣờng biên hố mạng biết đƣợc thành viên hố mạng với thông tin nhƣ định danh hố mạng holeID đƣờng gửi đến gửi gói tin Tuy nhiên, tất nút tắc chạy thuật toán BoundHole gửi gói tin messenger packet, nhiều nút mạng tìm đƣợc hố giống Để tránh tƣợng này, ta cần ngăn chặn q trình tìm hố khơng cần thiết thơng qua việc loại bỏ gói tin khơng cần thiết cách sớm Việc loại bỏ đƣợc thực phƣơng pháp supressed start [9]: Nếu gói tin messenger packet đƣợc gửi đến từ cạnh có gói tin messenger packet khác với định danh nút khởi tạo originator ID thấp gửi tới, gói tin đƣợc coi dƣ thừa bị loại bỏ Việc so sánh định danh originator ID với giúp loại gói tin khơng cần thiết đảm bảo có gói tin đƣợc gửi qua tồn đƣờng biên hố mạng 61 if (j nhận đƣợc gói tin messenger packet P qua cạnh tới eij ) if (định danh originator ID P nhỏ số gói tin đƣợc gửi tới từ cạnh eij enforce bit P = 0) drop(P); else x = i; repeat x=TheFirstCCWNeighborSweepingFrom(x); // x nút cần gửi gói tin đến Trong trƣờng hợp này, giả sử x = l until (i nằm vùng phát sóng x) if (j tạo gói tin messenger packet đến x định danh originatorID P lớn ID j) drop(P); else send(P) to x; // trƣờng hợp gửi đến l Hình 49: Mã giả cho việc thực supressed start BoundHole Các thơng tin cạnh gửi gói tin đến định danh nút khởi tạo originatorID nhỏ tƣơng ứng đƣợc lƣu bảng ingressTable, việc cập nhật bảng xác định xem gói tin có đƣợc tiếp tục gửi không đƣợc thực hàm checkIngressTable Hình 50: Cập nhật bảng ingressTable xác định có tiếp tục gửi gói tin khơng 62 Một nhƣợc điểm phƣơng pháp số trƣờng hợp, số gói tin cần thiết bị loại bỏ Việc đƣợc khắc phục thông qua giải pháp: Nếu node khơng nhận đƣợc gói tin messenger packet khơng xác định đƣợc đƣờng biên hố sau khoảng thời gian xác định, gửi lại gói tin messenger packet với trƣờng enforce bit đƣợc gán 1, không bị loại bỏ xử lý nút khác 3.3.5 Thực mô giao thức định tuyến BoundHole Thực mô giao thức định tuyến BoundHole với mơ hình sơ đồ mạng gồm 15 nút mạng nhƣ hình dƣới Hình 51: Sơ đồ mạng mơ thuật tốn xác định hố mạng BoundHole Các góc tắc đƣợc xác định thơng qua thuật tốn Tent nhƣ bảng dƣới: Node Index Node[0] Node[1] Node[2] Node ID Góc tắc (đƣợc tạo thành node, tính theo nodeID) 11 5 13 13 63 Node[3] Node[4] Node[5] Node[6] Node[7] Node[8] Node[9] Node[10] Node[11] Node[12] Node[13] Node[14] 678 789 10 10 10 10 11 11 10 11 4 11 10 12 12 13 13 stuck table is empty 14 stuck table is empty 15 13 15 4 15 16 stuck table is empty 17 stuck table is empty 18 stuck table is empty Bảng 4: Các góc tắc xác định thơng qua thuật tốn Tent Chi tiết q trình mơ đƣợc theo dõi thông qua cửa sổ OMNeT++/Tkenv với thông tin cụ thể hố mạng: Hình 52: Cửa sổ OMNeT++/Tkenv 64 Một số thơng số khác cần theo dõi đƣợc biểu diễn dƣới dạng đồ thị sau kết thúc thực chạy mơ Hình 53: Số lượng gói tin quảng bá NeighborUpdatePkt gửi nhận nút mạng Hình 54: Số lượng nút mạng hố mạng 65 3.4 Mơ thuật tốn xấp xỉ hố Các giao thức định tuyến địa lý hoạt động cách tƣơng đối đơn giản hiệu mạng không tồn hố Tuy nhiên, xuất hố mạng, giao thức định tuyến địa lý gặp phải vấn đề nhƣ: Khuếch tán hố mạng: sử dụng chế định tuyến dọc theo mặt biên hố, nút mạng mặt biên hố có lƣợng thơng tin gửi qua lớn, gây tiêu tốn làm cạn kiệt lƣợng nút mạng cách nhanh chóng Kết hố mạng bị mở rộng thêm nút mạng mặt biên tiêu hao hết lƣợng Mở rộng đƣờng truyền định tuyến: giao thức định tuyến địa lý thông thƣờng xác định đƣợc đƣờng gần nhƣ ngắn đến đích đƣợc áp dụng mạng khơng có hố mạng Tuy nhiên, đƣờng truyền định tuyến đƣợc mở rộng lên đến θ(c2) mạng xuất hố, với c độ dài đƣờng truyền tối ƣu Thuật toán xấp xỉ hố CorePolygonDetermination [10] giúp chuyển hố có nhiều nút mạng thành đa giác có đỉnh, đƣợc nghiên cứu áp dụng giao thức mạng định tuyến địa lý nhằm giải vấn đề liên quan đến tƣợng khuếch tán hố mở rộng đƣờng truyền định tuyến 3.4.1 Mơ tả thuật tốn xấp xỉ hố Thuật toán xấp xỉ hố đƣợc thực với bƣớc nhƣ sau: Bƣớc 1: Xác định biên hố mạng Các nút mạng sau tự xác định đƣợc nằm biên hố mạng thực thuật toán xác định biên hố cách tạo gói tin gửi dọc theo biên hố Khi nút mạng H0 xác định đƣợc hố mạng, xác định đƣợc danh sách nút nằm hố mạng Việc xác định hố mạng đƣợc thực thuật tốn BoundHole 66 Bƣớc 2: H0 thực thuật toán xấp xỉ hố mạng nhƣ sau: 2.1 Dựng hình chữ nhật XYUV ngoại tiếp với hố mạng cách Xác định đƣờng chéo dài hố mạng Hp, Hq Tại bên đƣờng thằng HpHq chọn đỉnh Hj Hk có khoảng cách đến HpHq lớn Dựng hình chữ nhật XYUV với XY UV vng góc với HpHq cạnh cịn lại song song với HpHq 2.2 Dựng hình chữ nhật thứ ngoại tiếp với hố có cạnh tạo với cạnh hình chữ nhật XYUV góc π/4 2.3 Xác định đa giác xấp xỉ hổ: hình chữ nhật cắt nhiều đỉnh C1, C2,… C8 đỉnh đa giác cần tìm Hình 55: Xác định đa giác đỉnh ngoại tiếp hố mạng 3.4.2 Mơ thuật tốn xấp xỉ hố CorePolygonDetermination Thuật toán xấp xỉ hố đƣợc mô hàm CorePolygonDetermination, nhận đầu vào hố mạng có đầu vector chứa thông tin đỉnh đa giác xấp xỉ hổ cần tìm 67 - Xác định đƣờng chéo dài hố mạng đƣợc thực với hàm findLongestEdge, có đầu vào hố mạng đầu cạnh đƣợc xác định nút thuộc biên hố Hình 56: Xác định đường chéo dài hố mạng - Tại bên đƣờng thằng HpHq xác định đỉnh Hj Hk có khoảng cách đến HpHq lớn đƣợc thực hàm maxPointToLine minPointToLine Hình 57: Xác định điểm Hj Hk có khoảng cách đến HpHq lớn 68 - Việc dựng hình chữ nhật ngoại tiếp XYUV đƣợc thực cách xác định đƣờng thằng song song với HpHq qua điểm Hj, Hk đƣờng thằng vng góc với HpHq qua điểm Hp, Hq tìm đƣợc Các hàm tƣơng ứng parallelLineThroughAPoint, perpendicularLineThroughAPoint Hình 58: Xác định đường thẳng song song vng góc với HpHq Giao đƣờng thẳng đỉnh hình chữ nhật XYUV cần tìm Việc tìm giao đƣờng thẳng đƣợc thực hàm lineIntersection Hình 59: Xác định giao đường thẳng - Dựng hình chữ nhật ngoại tiếp thứ đƣợc thực tƣơng tự, thay HpHq đƣờng thẳng HpHr qua Hp tạo với HpHq góc π/4 Đƣờng thẳng đƣợc xác định hàm PI_4ShiftLineThroughAPoint Hình 60: Xác định đường thẳng HpHr qua Hp tạo với HpHq góc π/4 69 Tƣơng tự nhƣ việc dựng hình chữ nhật XYUV, ta dựng hình chữ nhật X’Y’U’V’ từ đƣờng thẳng HpHr - đỉnh đa giác cần tìm đƣợc xác định cách tìm giao điểm cạnh hình chữ nhật XYUV X’Y’U’V’ Giao điểm cạnh hình chữ nhật đƣợc xác định hàm LineSegmentIntersection Hình 61: Xác định giao điểm hình chữ nhật XYUV X’Y’U’V’ 3.4.3 Thực mơ thuật tốn xấp xỉ hố Thực việc mơ thuật tốn xấp xỉ hố với đầu vào hố mạng có 10 nút nằm đƣờng biên tƣơng ứng với đa giác có 10 đỉnh nhƣ sau: 70 Hình 62: Đầu vào mơ hố mạng có 10 đỉnh Kết thu đƣợc đa giác có đỉnh: Hình 63: Đầu mô đa giác với đỉnh Biểu diễn giá trị đầu vào đầu excel: 71 12 10 -15 -10 -5 -2 10 -4 -6 -8 -10 Hình 64: Biểu diễn giá trị thuật toán xấp xỉ hố excel 72 IV Kết luận Luận văn trình bày tổng quan số môi trƣờng công cụ mô giao thức mạng hệ bao gồm OMNeT++, OPNET, NS2 NS3, tập trung vào cơng cụ mơ mạng OMNeT++ Đó chƣơng trình mơ kiện rời rạc, với module phân cấp lồng giao tiếp với gói tin message đƣợc gửi qua kênh truyền OMNeT++ hệ thống công cụ để viết kịch mô không cung cấp thành phần đặc biệt cho việc mơ mạng máy tính, mạng hàng đợi, kiến trúc hệ thống hay lĩnh vực khác Tuy nhiên có nhiều mơ hình mơ đƣợc xây dựng sẵn cho việc mô mạng ví dụ nhƣ internet, Ipv6, mạng di động,… Việc lập trình OMNeT++ đƣợc thực với C++ Trong luận văn, ngƣời thực sử dụng tảng OMNeT++ giúp xây dựng công cụ hỗ trợ cho việc mô giao thức mạng định tuyến địa lý Bộ công cụ giúp thực việc mơ giao thức định tuyến GPSR, thuật tốn Boundhole thuật toán xấp xỉ hố Giao thức định tuyến GPSR giao thức định tuyến địa lý thực việc định tuyến, truyền gói tin đến nút đích thơng qua thơng tin vị trí địa lý nút mạng Thuật toán Boundhole giúp xác định nút nằm đƣờng biên hố mạng, từ thực giao thức khác giúp định tuyến gói tin vịng qua hố Và để đơn giản hóa việc định tuyến gói tin vịng qua hố mạng này, hố mạng đƣợc xấp xỉ thành đa giác với cạnh cách sử dụng thuật toán xấp xỉ hố Với việc việc xây dựng công cụ hỗ trợ mô giao thức định tuyến địa lý thuật toán này, ngƣời viết hi vọng sở giúp thực nghiên cứu sâu thuật toán định tuyến địa lý nói Đồng thời, module đƣợc xây dựng q trình mơ đƣợc kế thừa phát triển, xây dựng chƣơng trình mơ chi tiết cho thuật toán định tuyến nhƣ 73 sở cho việc nghiên cứu xây dựng mơ hình mơ thuật tốn định tuyến địa lý khác tƣơng lai TÀI LIỆU THAM KHẢO [1] Jianli Pan (2008), A Survey of Network Simulation Tools: Current Status and Future Developments [2] Murat Miran Koksal (2008), A Survey of Network Simulators Supporting Wireless Networks [3] OMNET++ website: http://omnetpp.org [4] Christian Timmerer (2013), An Introduction to OMNeT++ 4.3 [5] András Varga and OpenSim Ltd (2011), OMNeT++ User Manual version 4.3 [6] José Daniel García Sánchez, introduction to simulation with omnet [7] Brad Nelson Karp (2000), Geographic Routing for Wireless Networks [8] Brad Karp, H T Kung (2000), GPSR: Greedy Perimeter Stateless Routing for Wireless Networks [9] Qing Fang, Jie Gao, Leonidas J Guibas (2005), Locating and Bypassing Holes in Sensor Networks [10] Nguyễn Phi Lê, Nguyễn Đức Trọng, Nguyễn Khanh Văn (2014), Load Balanced Routing with Constant Stretch for Wireless Sensor Network with Holes 74 ... 1.1 Các khái niệm mơ mạng máy tính 1.1.1 Mô mạng công cụ mô 1.1.2 Công cụ mô thƣơng mại công cụ mô mã nguồn mở 1.2 Một số công cụ mô mạng 1.2.1 Công cụ mô mạng OPNET... trƣờng công cụ mô giao thức mạng, đồng thời tập trung nghiên cứu sâu việc mô số giao thức mạng định tuyến địa lý sử dụng tảng mô MiXim OMNeT++ I Giới thiệu chung môi trƣờng công cụ mô giao thức mạng. .. OMNeT++ công cụ mô mạng quan trọng khác mạnh giao diện đồ họa thiết kế phần lõi theo cấu trúc module OMNeT++ công cụ mô mạng mã nguồn mở đƣợc biết đến rộng rãi nghiên cứu khoa học 1.2.1 Công cụ mô mạng