1. Trang chủ
  2. » Luận Văn - Báo Cáo

MÔ PHỎNG MÔ HÌNH MẠNG BẰNG PHẦN MỀM OMNET++

23 182 5

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 23
Dung lượng 1,32 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Khai báo thêm biến counter.Trong hàm initialize khởi tạo giá trị cho counter = 10 Trong hàm handleMessage, giảm giá trị counter xuống 1 đơn vị mỗi khi có gói tin đến.. Ở đây chúng ta sẽ

Trang 1

BÁO CÁO LAB 1

Trang 2

I YÊU CẦU 1 – Tìm hiểu phần mềm OMNET++

1 Làm quen với OMNET++ bằng xây dựng mô hình mạng tictoc đầu tiên.Bước 1: Tạo project với tên là demo_tictoc

Bước 2: Tạo tập tin mô phỏng mạng tictoc1.ned

Trang 3

Bước 3: Chuyển qua tab Source và viết code

Trang 4

Cùng với code

Trang 5

#include<omnetpp.h>

using namespace omnetpp;

class Computer : public cSimpleModule

{

protected:

// The following redefined virtual function holds the algorithm.

virtual void initialize();

virtual void handleMessage(cMessage *msg);

Trang 6

Bước 5: Build Project

Bước 6: Tạo và cấu hình tập tin ini

Tạo tập tin *.ini

Trang 7

Nhấn Next > Next Ta được

Trang 8

Hoặc chỉnh lại bằng code trong tập tin ini với tên network đã khai báo trong tập tin tictoc1.ned

Bước 7: Chạy mô phỏng

Trang 9

Bấm Run để chạy mô phỏng, Stop để dừng.

2 Cải tiến mô hình mạng TicToc.

a Thiết lập thêm icon cho computer1 và computer2

Sửa lại source code tập tin tictoc1.ned như sau

Trang 10

Sau đó ta được

b Giới hạn số gói tin gửi đi giữa computer1 và computer2 là 10 gói.

Trang 11

Khai báo thêm biến counter.

Trong hàm initialize() khởi tạo giá trị cho counter = 10

Trong hàm handleMessage(), giảm giá trị counter xuống 1 đơn vị mỗi khi có gói tin đến Nếu couter = 0 thông báo computerX đã hết gói tin, ngược lại in ra số gói tin còn lại

Trang 12

c Thêm cấu hình vào tệp tin omnetpp.ini để giới hạn số lượng gói tin.

Tạo tập tin tictoc4.ned với code như sau.

Trang 13

Sửa lại tập tin omnetpp.ini

Kết quả

Trang 14

d Kế thừa

Tạo tập tin tictoc5.ned với code như sau

Trang 15

Tạo tập tin txc5.cc giống với txc4.cc nhưng thay Txc4 thành Txc5

Trang 16

Chỉnh lại tập tin omnetpp.ini

Build và chạy mô phỏng

Trang 17

II Yêu cầu 2 – Thực hành tictoc tutorial để làm quen với môi trường Omnet++

1 Lập mô hình xử lý trễ.

Trong các mô hình trước, tic và toc đã gửi ngay tin nhắn ngay khi đã nhận Ở đây chúng ta sẽ chờ một khoảng thời gian: tic và toc sẽ giữ thông điệp trong 1s mô phỏng sau đó gửi lại cho bên kia Trong OMNeT++ thời gian đó đạt được bằng mô-đun hẹn giờ tự gửi tin nhắn

Tạo tập tin tictoc6.ned tương tự tập tin tictoc1.ned

Trang 18

Tạo tập tin txc6.cc

Trang 19

Khai báo thêm 2 biến con trỏ là event và tictocMsg.

Biến event sẽ được gửi khi đến một thời gian nhất định

Biến tictocMsg là biến lưu trữ giá trị tin nhắn.

Trang 20

Trong hàm initialize() khai báo thông điệp “event” cho biến event, và sau đó ưu tiên máy có tên tic sẽ gửi thông điệp trước.

Tại dòng scheduleAt(5.0, event) Hàm này có chức năng lập lịch, hẹn một khoảng thời gian t ở đây là 5.0s rồi kích hoạt sự kiện handleMessage() với tham số là event.

Trong hàm handleMessage() sẽ kiểm tra xem nếu là thông điệp tự gửi của máy tic:

if(msg == event) sẽ gửi về máy Toc thông điệp “tictocMsg” được lưu trong biến tictocMsg

Khi thông điệp đến máy Toc hàm handleMessage() sẽ chạy trường hợp else bên trên lúc này mã chạy đến dòng scheduleAt(simTime()+1.0, event) Bộ lập lịch sẽ chờ một

khoảng thời gian là 1.0s rồi sẽ tự kích hoạt sự kiện handleMessage(), sau đó sẽ là máy

Toc gửi thông điệp đến máy Tic và quá trình sẽ lặp đi lặp lại mãi.

Trang 21

2 Số ngấu nhiên và tham số.

Trong bước này chúng ta sẽ giới thiệu số ngẫu nhiên Chúng ta thay đổi độ trễ từ 1s sang một giá trị ngẫu nhiên có thể được thiết lập từ tập tin NED hoặc omnetpp.ini Các tham số của mô đun có thể trả về các biến ngẫu nhiên; tuy nhiên, để sử dụng tính

năng này chúng ta phải đọc tham số trong handleMessage() mỗi khi chúng ta sử

dụng nó

Tạo tập tin tictoc7.ned

Trang 22

Với biến delayTime là một biến có giá trị ngẫu nhiên

Tạo tập tin txc7.cc

Trang 23

Hàm uniform() tạo ra giá trị ngẫu nhiên trong [0;1], nếu giá trị < 0,1 thì giả lập bị mất

gói tin (thông điệp)

Biến delayTime sẽ có giá trị ngẫu nhiên, và mỗi lần lập lịch thì thời gian sẽ khác

nhau chứ không cố định như bước trên

Chỉnh sửa tệp omnetpp.ini

Tạo ra giá trị ngẫu nhiên cho biến delayTime.

Ngày đăng: 12/05/2020, 15:23

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w