Bộ công cụ hỗ trợ mô phỏng các giao thức định tuyến địa lý

Một phần của tài liệu 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 (Trang 42 - 47)

III. Xây dựng bộ công cụ hỗ trợ mô phỏng các giao thức định tuyến địa lý

3.1.2. Bộ công cụ hỗ trợ mô phỏng các giao thức định tuyến địa lý

Bộ công cụ hỗ trợ hỗ trợ mô phỏng đƣợc xây dựng bằng cách sử dụng công cụ mô phỏng OMNeT++ và nền tảng MiXim với mục đích chính nhằm hỗ trợ việc mô phỏng 2 giao thức định tuyến mạng địa lý GPSR [7][8] và BoundHole [9], đồng thời mô phỏng thuật toán xấp xỉ hố [10] đƣợc sử dụng trong các giao thức định tuyến địa lý. Các module mô phỏng đƣợc xây dựng thông qua việc kế thừa những module cơ bản trong OMNeT++. Mô hình cấu trúc bộ công cụ hỗ trợ mô phỏng đƣợc trình bày ở hình dƣới:

35

Hình 17: Cấu trúc bộ công cụ hỗ trợ mô phỏng các thuật toán định tuyến địa lý

Trong đó:

Các module GPSRNode và BoundholeNode là 2 module mô phỏng các nút mạng tƣơng ứng với 2 giao thức mạng GPSR và Boundhole, đƣợc kế thừa từ module WirelessNodeBattery là module mô phỏng các node mạng có sẵn trong OMNeT++. BaseNetwLayer là module lớp mạng cơ sở, từ đó giúp xây dựng lên các module tầng mạng khác giúp thực hiện việc mô phỏng 2 giao thức trên. Các module tầng mạng đƣợc xây dựng bao gồm UpdateNbTable, GPSR, Tent, BoundHole

Ngoài ra, bộ công cụ hỗ trợ mô phỏng cũng bao gồm một số lớp đƣợc xây dựng để chứa các thông tin cần thiết nhƣ NodeInfo, Edge, Hole, StuckAngle và các lớp chứa các gói tin đƣợc sử dụng trong việc mô phỏng.

Thuật toán xấp xỉ hố CorePolygonDetermination giúp chuyển 1 hố có nhiều nút mạng thành một đa giác có 8 đỉnh, đƣợc áp dụng trong các giao thức mạng định tuyến địa lý nhằm giải quyết các vấn đề liên quan đến hiện tƣợng khuếch tán hố.

36

3.1.2.1. Các module nút mạng

Bộ công cụ hỗ trợ mô phỏng các giao thức định tuyến địa lý bao gồm 2 module nút mạng GPSRNode và BoundholeNode tƣơng ứng với 2 giao thức GPSR và BoundHole. Các module này đƣợc xây dựng bằng cách kế thừa từ module nút mạng WirelessNodeBattery có sẵn trong OMNeT++.

Module WirelessNodeBattery chứa module các tầng tƣơng ứng với mô hình OSI cùng các module tiện ích hỗ trợ mô phỏng nhƣ module di động mobility, module phân giải địa chỉ arp hay các module quản lý và theo dõi hệ thống pin của thiết bị battery và batteryStats. Định nghĩa module các tầng theo mô hình OSI đƣợc kế thừa từ module WirelessNode.

Hình 18: Module WirelessNodeBattery

Các module GPSRNode và BoundholeNode kế thừa và định nghĩa lại tầng mạng tƣơng ứng với 2 giao thức định tuyến địa lý trên

37

Hình 19: 2 module nút mạng GPSRNode và BoundholeNode

3.1.2.2. Các lớp hỗ trợ mô phỏng

Trong quá trình xây dựng bộ công cụ hộ trợ mô phỏng, ngƣời thực hiện đƣa ra định nghĩa các lớp chứa thông tin về nút mạng (NodeInfo), các cạnh (Edge), hố mạng (Hole) và các góc tắc (StuckAngle).

• Lớp nút mạng đƣợc sử dụng để chứa thông tin các nút trong mạng định tuyến địa lý, bao gồm định danh nút (nodeID) và các tọa độ vị trí của nút đó (locationX, locationY).

• Lớp cạnh định nghĩa một đoạn thẳng đƣợc giới hạn bởi 2 nút.

• Lớp hố mạng là một tập hợp các nút mạng nằm trên đƣờng biên của hố, đƣợc sử dụng trong thuật toán định tuyến BoundHole. Lớp hố mạng chứa các thông tin về định danh hố mạng (holeID), định danh nút đứng đầu (leaderID) và vector chứa thông tin các nút trên đƣờng biên hố mạng.

• Lớp góc tắc chứa thông tin về 1 góc tắc tạo thành từ 3 nút mạng, đƣợc sử dụng trong thuật toán Tent.

38

Hình 20: Các lớp hỗ trợ giúp lưu các thông số cần thiết trong bộ công cụ mô phỏng

3.1.2.3. Các gói tin sử dụng trong bộ công cụ hỗ trợ mô phỏng

Bộ công cụ hỗ trợ mỗ phỏng sử dụng 3 gói tin NeighborUpdatePkt, GpsrDataMessage và BoundHoleMsgPkt. Các gói tin này đƣợc xây dựng bằng cách kế thừa từ gói tin tầng mạng NetwPkt có sẵn trong OMNeT++.

Để thực hiện định tuyến trong các giao thức định tuyến địa lý, việc đầu tiên là mỗi nút mạng cần xác định đƣợc thông tin về các nút hàng xóm của nó. Thông tin về mỗi nút bao gồm định danh và tọa độ vị trí của nút đó sẽ đƣợc gửi đến các nút hàng xóm thông qua việc phát quảng bá gói tin NeighborUpdatePkt.

Gói tin GpsrDataMessage đƣợc sử dụng để truyền dữ liệu trong giao thức định tuyến GPSR. Gói tin này chứa thông tin về nút đích, nút gửi gói tin đi, nút tiếp theo cần chuyển gói tin đến, chế độ hoạt động của giao thức (chế độ truyền tin tham lam greedy forwarding hay chế độ truyền tin vành đai perimeter forwarding) cùng một số thông số khác đƣợc sử dụng để định tuyến [7]. Các thông số này sẽ đƣợc trình bày cụ thể ở phần mô phỏng giao thức định tuyến GPSR.

39

Gói tin BoundHoleMsgPkt đƣợc sử dụng trong quá trình mô phỏng thuật toán BoundHole, giúp xác định các hố trong một mạng cảm biến. Gói tin này chứa các thông số của nút gửi gói tin đi, nút tiếp theo cần chuyển gói tin đến, định danh nút tạo ra gói tin, hố mạng, giá trị enforceBit đƣợc sử dụng trong thuật toán BoundHole [9].

Hình 21: Các gói tin được sử dụng trong bộ công cụ hỗ trợ mô phỏng giao thức định tuyến địa lý

Một phần của tài liệu 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 (Trang 42 - 47)

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

(82 trang)