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,26 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ÊNCỨUCÁCMÔI TRƢỜNG CÔNGCỤMÔPHỎNGGIAOTHỨCMẠNGTHẾ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 cô 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êncứ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ôngcụmôgiaothứcmạng 1.1 Các khái niệm mômạng máy tính 1.1.1 Mômạngcôngcụmô 1.1.2 Côngcụmô thƣơng mại côngcụmô mã nguồn mở 1.2 Một số côngcụmômạng 1.2.1 Côngcụmômạng OPNET 1.2.2 Côngcụmômạng NS2 (Network Simulator 2) 1.2.3 Côngcụmômạng NS3 (Network Simulator 3) 10 1.2.4 Côngcụ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ôngcụ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 toá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ôngcụ hỗ trợ môgiaothức định tuyến địa lý 33 3.1 Tổng quan côngcụ hỗ trợ môgiaothức định tuyến địa lý 33 3.1.1 Mục đích thựccôngcụ hỗ trợ mô 33 3.1.2 Bộ côngcụ hỗ trợ môgiaothức định tuyến địa lý 34 3.2 Môgiaothức định tuyến GPSR 39 3.2.1 Giới thiệu chung giaothức GPSR 39 3.2.2 Module UpdateNbTable 41 3.2.3 Module GPSRNetwLayer 44 3.2.4 Thựcmôgiaothức định tuyến GPSR 50 3.3 Mô thuật toá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ựcmôgiaothức định tuyến BoundHole 63 3.4 Mô thuật toán xấp xỉ hố 66 3.4.1 Mô tả thuật toán xấp xỉ hố 66 3.4.2 Mô thuật toán xấp xỉ hố CorePolygonDetermination 67 3.4.3 Thựcmô thuật toá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ôngcụ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ố giaothức định tuyến GPSR 44 Bảng 4: Các góc tắc đƣợc xác định thông qua thuật toá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ôngcụ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ựcmô 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ôngcụ 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ôngcụmô 38 Hình 21: Các gói tin đƣợc sử dụng côngcụ hỗ trợ môgiaothức định tuyến địa lý 39 Hình 22: Module hỗ trợ môgiaothứ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 toán RNG 43 Hình 26: Hàm RNG 43 Hình 27: Thuật toá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 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ôgiaothứ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 toá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, hoà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ạngmô thuật toá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 vuông 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êncứ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, 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 toá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ựcgiaothứ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ựchệ thống mô Ngoà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êncứ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 yê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 hoà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ôngcụ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áccôngcụmômạng đƣợc sử dụng nhiều lĩnh vực khác nhau, từ nghiêncứ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 giaothứcmạng Tóm lại, côngcụmômạng bao gồm phạm vi lớn công nghệ giaothứ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ôngcụ 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ử giaothứcmạngnghiêncứu thuật toán vô tốn Cáccôngcụmô đời giúp hạn chế chi phí đồng thời tiết kiệm thời gian thựccô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ử giaothứcmạng thay đổi giaothứcmạng cách có kiểm soát Luận văn trình bày nghiêncứu tổng quát số môi trƣờng côngcụmôgiaothức mạng, đồng thời tập trung nghiêncứu sâu việc mô số giaothứcmạ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 toán BoundHole đƣợc sử dụng gói tin quay lại nút khởi tạo, hoà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 toán BoundHole 60 Hình 48: Gói tin quay lại nút khởi tạo, hoà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 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 toà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ựcmôgiaothức định tuyến BoundHole Thựcmôgiaothứ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ạngmô thuật toán xác định hố mạng BoundHole Các góc tắc đƣợc xác định thông qua thuật toá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 toán Tent Chi tiết 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úcthự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 toán xấp xỉ hố Cácgiaothứ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, giaothứ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: giaothứ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 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êncứu áp dụng giaothứcmạ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 toá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ạngCác nút mạng sau tự xác định đƣợc nằm biên hố mạngthự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 toá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 vuông góc với HpHq cạnh 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 toá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 vuông 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 vuông 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ựcmô thuật toán xấp xỉ hố Thực việc mô thuật toá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ôngcụmôgiaothứcmạnghệ bao gồm OMNeT++, OPNET, NS2 NS3, tập trung vào côngcụ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ôngcụ để 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ôngcụ hỗ trợ cho việc môgiaothứcmạng định tuyến địa lý Bộ côngcụ giúp thực việc môgiaothức định tuyến GPSR, thuật toán Boundhole thuật toán xấp xỉ hố Giaothức định tuyến GPSR giaothứ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ựcgiaothứ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ôngcụ hỗ trợ môgiaothức định tuyến địa lý thuật toán này, ngƣời viết hi vọng sở giúp thựcnghiêncứu sâu thuật toán định tuyến địa lý nói Đồng thời, module đƣợc xây dựng 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êncứu xây dựng mô hình mô thuật toá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... thống mạng kiểm thử giao thức mạng thay đổi giao thức mạng cách có kiểm soá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... nhƣợc điểm công cụ mô 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ô Nhìn chung, công cụ mô mạng cố gắng thực việc mô hình hóa mạng máy tính giới thật Nguyên tắc chủ yếu hệ thống