Bộ mụ phỏng mạng OMNeT++

Một phần của tài liệu Nghiên cứu, đánh giá hiệu suất một số phương pháp điều khiển truy nhập BAC trong mô phỏng máy tính và điều biến. (Trang 28)

OMNeT++ (Objective Modular Network Tested in C++) hệ mụ phỏng sự kiện rời rạc do Andrỏs Varga phỏt triển, cung cấp những cụng cụ hiệu quả cho người dựng để mụ tả cấu trỳc, mụ phỏng hoạt động của hệ thống mạng thực tế. OMNeT++ được dựng để:

 Mụ phỏng lưu lượng của một mạng viễn thụng

 Mụ phỏng cỏc giao thức

 Mụ phỏng mạng cú cấu trỳc kiểu hàng đợi

 Mụ phỏng mạng đa xử lý và phõn bố rời rạc cỏc hệ phần cứng

 Kiểm tra tớnh hợp lệ của cấu trỳc phần cứng

 Và những hệ thống sự kiện rời rạc khỏc...

Một mụ hỡnh mụ phỏng bằng OMNeT++ gồm nhiều mụ đun phõn cấp. Chiều sõu của sự phõn cấp là khụng giới hạn cho phộp người dựng phản chiếu cấu trỳc lụgớc của hệ thống thực tế trong cấu trỳc mụ phỏng.

Cấu trỳc liờn kết của một chương trỡnh mụ phỏng:

Hỡnh 2.4. Cấu trỳc liờn kết của một chương trỡnh mụ phỏng

 Cỏc file *.ned mụ tả topo mạng cũng như cấu trỳc của cỏc mụđun, nú sử dụng ngụn ngữ NED (NEwork Description ), là ngụn ngữ chuyờn biệt dựng riờng cho OmNet++. Sự phỏt triển tiếp theo của NED là GNED (Graphic NED) làm cho việc mụ tả topo mạng được trực quan hơn bằng cỏch dựng cỏc cụng cụ đồ hoạ để mụ tả. Cỏc file ned sau đú được NEDC (NED

compiler) dich sang code C++ để mụ tả cấu trỳc mạng sang ngụn ngữ C++ dưới dạng file *_.cc.

Hỡnh 2.5. Cấu trỳc nỳt cảm biến được định nghĩa bằng ngụn ngữ NED trong OMNeT++

Hỡnh 2.6. Cấu trỳc mụ phỏng mạng cảm biến được định nghĩa bằng ngụn ngữ NED trong OMNeT++

 Cỏc file xử lý của cỏc simple moduls là phần cốt lừi khi viết chương trỡnh mụ phỏng và được viết bằng ngụn ngữ C++ bằng cỏch kế thừa cỏc lớp cú sẵn của OmNet++, người viết triển khai cỏc hoạt động của mạng như định tuyến, xử lớ gúi tin đến và đi, xỏc định hành vi của cỏc simple modul được mụ tả trong *.ned khi cú sự kiện xảy ra với nú….

 Thư viện lừi của chương trỡnh mụ phỏng được cung cấp bởi OmNet++ nú bao gồm rất nhiều cỏc lớp và cỏc hàm cú sẵn phục vụ cho chương trỡnh mụ phỏng như cỏc lớp cSimplemodul, cMessage..., cỏc hàm ngẫu nhiờn… Thư viện giao diện người dựng cung cấp giao diện cho chương trỡnh mụ phỏng. OmNet++ với cỏc phiờn bản gần đõy sử dụng hai kiểu giao diện là giao diện dũng lệnh cmd (command) và giao diện đồ hoạ dựa trờn TCL/TK. Giao diện đồ hoạ rất trực quan nờn được ưa dựng hơn. Sau khi dịch và liờn kết ta được một chương trỡnh mụ phỏng dựa trờn nền OmNet++.

 File omnetpp.ini để khởi động cỏc giỏ trị cần thiết. omnetpp.ini do người lập trỡnh viết, nú rất quan trọng để chạy một chương trỡnh mụ phỏng với cỏc tham số được thay đổi để cú được kết quả thống kờ mong muốn.

 Cuối cựng là cỏc file kết quả bao gồm file *.vec là cỏc file vector, nú là cỏc biến thay đổi theo thời gian trong quỏ trỡnh mụ phỏng, giỏ trị của biến và thời gian tương ứng được lưu và file này. Trong quỏ trỡnh viết code sẽ xỏc định biến nào được lưu. File *.sna phục vụ cho quỏ trỡnh sửa lỗi. File *.sca (scalar file) lưu cỏc giỏ trị thụng kờ cú được sau khi kết thỳc mụ phỏng, vớ dụ như số cuộc gọi đó thực hiện, số cuộc gọi bị từ chối… Để xử lớ kết quả thống kờ đạt được, ta cú thể viết một chương trỡnh nhỏ hoặc sử dụng cỏc cụng cụ cú sẵn. OmNet++ cung cấp chương trỡnh Plove để vẽ cỏc file *.vec, cũn đối với cỏc file *.sca ta cú thể dựng một chương trỡnh tớnh toỏn bất kỡ.

OmNet++ với đặc tớnh mềm dẻo như xõy dựng topo mạng dễ dàng và độc lập với tớnh năng của nỳt mạng, khụng hạn chế độ sõu cỏc mụđun... đang dần dần được sử dụng rộng rói trong cỏc mụ phỏng về viễn thụng.

CHƯƠNG 3 - PHƯƠNG PHÁP ĐIỀU KHIỂN TRUY NHẬP MAC TRONG MẠNG CẢM BIẾN KHễNG DÂY

Một phần của tài liệu Nghiên cứu, đánh giá hiệu suất một số phương pháp điều khiển truy nhập BAC trong mô phỏng máy tính và điều biến. (Trang 28)