Hoàng Đăng Hải Học Viên: Lê Đăng Phong [1-22] Vũ Anh Tuấn



tải về 0.59 Mb.
trang6/19
Chuyển đổi dữ liệu13.08.2016
Kích0.59 Mb.
#17954
1   2   3   4   5   6   7   8   9   ...   19

3.2. Bộ định trình và sự kiện


Một bộ mô phỏng là một bộ mô phỏng điều khiển sự kiện, có 4 bộ định trình hiện tại có trong bộ mô phỏng, chúng được thực hiện sử dụng cấu trúc dữ liệu khác nhau: danh sách kết nối đơn, chất đống, hàng chờ lịch (mặc định) và một kiểu đặc biệt được gọi là "thời gian thực". Mỗi chúng được mô tả dưới dây. Bộ định trình hoạt động bởi việc lựa chọn sự kiện sớm nhất tiếp theo, thực hiện chúng cho tới khi hoàn thành sau đó quay trở lại thực hiện các sự kiện tiếp theo. Đơn vị thời gian được tính bởi bộ định trình là giây. Hiện tại, bộ mô phỏng là tuyến đoạn đơn và chỉ một sự kiện được thực hiện trong suốt thời gian. Nếu có hơn một sự kiện được định trình thực hiện ở cùng một thời gian, sự hoạt động của chúng là được thực hiện theo cách định trình đầu tiên được giải quyết đầu tiên, Những sự kiện đồng thời không được sắp xếp lại bởi bộ định trình (như trong những phiên bản trước) và tất cả bộ định trình nên cung cấp cùng môt thứ tự giải quyết được đưa ra cho cung loại đầu vào.

Việc thực hiện từng phần các sự kiện hoặc các công việc được ưu tiên sẽ không được hỗ trợ.

Một sự kiện nói chung gồm có "thời gian đốt cháy" (firing time) và một hàm trình xử lý. Định nghĩa thật sự của một sự kiện như sau:

class Event {

public:

Event* next_; /* event list */



Handler* handler_; /* handler to call when event ready */

double time_; /* time at which event is ready */

int uid_; /* unique ID */

Event() : time_(0), uid_(0) {}

};

/*

* The base class for all event handlers. When an event’s scheduled



* time arrives, it is passed to handle which must consume it.

* i.e., if it needs to be freed it, it must be freed by the handler.

*/

class Handler {



public:

virtual void handle(Event* event);

};

Hai kiểu của đối tượng được dẫn xuất từ lớp sự kiện gốc: gói và "đang lúc sự kiện" (at-event). Một at-event là việc thực hiện thủ tục tcl được định trình diễn ra tại một thời điểm nhất định. Điều này thường xuyên được sử dụng trong kịch bản mô phỏng. Một ví dụ đơn giản về việc sử dụng chúng như sau:



...

set ns_ [new Simulator]

$ns_ use-scheduler Heap

$ns_ at 300.5 "$self complete_sim"

...

Đoạn mã tcl trên đầu tiên tạo ra đối tượng mô phỏng, sau đó thay đổi bộ định trình mặc định thành bộ định trình dựa trên việc tạo đống (xem bên dưới) và cuối cùng định trình hàm $self complete_sim sẽ thực hiện ở thời gian 300.5s. Các at-event được thi hành như các sự kiện mà trình xử lý thực hiện một cách hiệu quả của bộ thông dịch tcl.


3.2.1 Bộ định trình danh sách


Bộ định trình danh sách thực thi bộ định trình sử dụng cấu trúc danh sách liên kết đơn. Danh sách giữ theo trật tự thời gian (sớm nhất đến muộn nhất) những sự kiện chèn thêm vào và xóa đi yêu cầu quét danh sách để tìm ra mục thích hợp. Lựa chọn sự kiện tiếp theo để thực hiện yêu cầu cắt mục đầu tiên ra khỏi đầu danh sách. Sự thực thi này giữ cho việc thực hiện sự kiện theo cách FIFO cho các sự kiện đồng thời.

3.2.2. Bộ định trình xếp đống


Bộ định trình xếp đống thực thi bộ định trình sử dụng cấu trúc xếp đống. Cấu trúc này là cao cấp hơn cấu trúc danh sách với số lượng lớn các sự kiện, như là thời gian xóa và chèn thêm là O (log n) cho n sự kiện. Sự thực thi này trong ns v2 được lấy từ bộ mô phỏng MaRS-2.0 bản thân MaRS lại được mượn mã từ bộ NetSim cho dù dòng này

3.2.3 Bộ định trình xếp hàng theo lịch


Bộ định trình xếp hàng theo lịch sử dụng cấu trúc dữ liệu tương tự như lịch để bàn 1 năm, ở đó các sự kiện cùng ngày tháng của các năm có thể được ghi trong một ngày. Sự thực thi của xếp hàng theo lịch trong ns v2 được đóng góp bởi David Wetherall

3.2.4 Bộ định trình thời gian thực


Bộ định trình thời gian thực cố gắng đồng bộ sự thi hành của các sự kiện với thời gian thực. Nó thực thi như là một lớp con của bộ định trình danh sách. Khả năng về thời gian thực trong ns là đang được phát triển, những đã được sử dụng đưa ra một ns mô phỏng mạng trong kiến trúc thế giới thực được thực nghiệm với kiến trúc mạng đơn giản, lưu lượng chéo, ... Nó chỉ hoạt động với tốc độ dữ liệu lưu lượng mạng chậm, như một bộ mô phỏng cần phải có thể theo được với tốc độ đến của gói trong thế giới thực, và sự đồng bộ này hiện tại là không có hiệu lực.

3.3 Các phương thức khác


Các lớp của bộ mô phỏng cung cấp một lượng các phương pháp sử dụng thiết lập sự mô phỏng. Nói chung chúng được chia thành 3 loại:

Các phương pháp tạo, quản lý kiến trúc và quản lý các liên kết, các phương pháp thực hiện việc theo vết, và trình giúp đỡ thực hiện chức năng xử lý với bộ định trình. Theo đây là danh sách các phương pháp không có liên quan đến kiến trúc mạng của bộ mô phỏng:

Simulator instproc now ;# return scheduler’s notion of current time

Simulator instproc at args ;# schedule execution of code at specified time

Simulator instproc cancel args ;# cancel event

Simulator instproc run args ;# start scheduler

Simulator instproc halt ;# stop (pause) the scheduler

Simulator instproc flush-trace ;# flush all trace object write buffers

Simulator instproc create-trace type files src dst ;# create trace object

Simulator instproc create_packetformat ;# set up the simulator’s packet format


3.4. Lướt qua về các lệnh


Synopsis:

ns ..

Mô tả: Lệnh cơ bản để chay một kịch bản mô phỏng trong ns. Bộ mô phỏng ns gọi thông qua bộ thông dịch ns, một sự mở rộng của lệnh vanilla otclsh. Sự mô phỏng được định nghĩa bởi một kịch bản Otcl (tệp tin). Vài ví dụ về kịch bản Otcl có thể thấy trong thư mục ns/tcl/ex

Dưới đây là danh sách chung nhất các lệnh của bộ mô phỏng được sử dụng trong mô phỏng

scripts:

set ns_ [new Simulator]

lệnh này tạo ra một đối tượng cụ thể của bộ mô phỏng.

set now [$ns_ now]

Bộ định trình giữ vết thời gian mô phỏng. nó trả về thông báo của bộ định trình về thời gian hiện tại.

$ns_ halt

dừng lại và tạm dừng bộ định trình.

This stops or pauses the scheduler.

$ns_ run

Chạy bộ định trình This starts the scheduler.

$ns_ at

Định trình một sự kiện (thông thường là một đoạn mã) được thực hiện ở một thời gian nào đó.

e.g $ns_ at $opt(stop) "puts ¨NS EXITING..¨ ; $ns_ halt"

or, $ns_ at 10.0 "$ftp start"

$ns_ cancel

Bỏ qua sự kiện, sự kiện được loại ra khỏi danh sách bộ định trình của những sự kiện sẵn sàng hoạt động.

$ns_ create-trace

tạo một đối tượng giám sát kiểu giữa đối tượng và gán đối tượng giám sát này vào một tệp tin để ghi lại kết quả giám sát. Nếu op được định nghĩa là “nam”, nó tạo ra tệp tin giám sát nam; nếu op không được định nghĩa các tệp tin giám sát ns được tạo ra một cách tự động.

$ns_ flush-trace

Flushes all trace object write buffers.

$ns_ gen-map

kết xuất thông tin như các nút, các thành phần nút, liên kết, ... được tạo ra từ sự mô phỏng đã cho. Nó có thể phá vỡ vài ngữ cảnh (như không dây)

$ns_ at-now

có hiệu quả như lệnh "$ns_ at $now $args". Chú ý rằng chức năng này có thể không hoạt động vì độ phân giải số ký tự của tcl.

$ns_ use-scheduler

Sử dụng để chỉ ra kiểu của bộ định trình được sử dụng khi mô phỏng. Kiểu của bộ định trình có thể là List, Calendar, Heap và RealTime, hiện tại bộ định trình Calendar được sử dụng là mặc định.

$ns_ after

định trình một sự kiện sẽ được thực hiện sau một khoảng thời gian trễ.

$ns_ clearMemTrace

Sử dụng cho mục đích gỡ rối bộ nhớ.

$ns_ is-started

Trả về giá trị đúng nếu bộ mô phỏng đã chạy và trả về sại nếu không chạy.

$ns_ dumpq

lệnh cho việc kết xuất các sự kiện được xếp hàng trong bộ định trình trong khi bộ định trình treo.

$ns_ create_packetformat

Thiết lập định dạng gói tin của bộ mô phỏng.



Каталог: Hoc%20Tap -> Cong%20Nghe%20Wan
Hoc%20Tap -> Point to Point Protocol (ppp) ppp được xây dựng dựa trên nền tảng giao thức điều khiển truyền dữ liệu lớp cao (High-Level Data link Control (hdlc)) nó định ra các chuẩn cho việc truyền dữ liệu các giao diện dte và dce của mạng wan như V
Hoc%20Tap -> Cấu hình Application Port-Mapping với cbac mục tiêu: Cấu hình để router nhận ra các ứng dụng không sử dụng port chuẩn. Mô hình
Hoc%20Tap -> ĐẢng cộng sản việt nam đẢng ủy phưỜng 04
Hoc%20Tap -> CiR = Bc / Tc
Hoc%20Tap -> Mean command : ip ospf mtu-ignore Diagram : Problems
Hoc%20Tap -> R1# ip route 0 0 0 0 FastEthernet0/0 R2# show run
Cong%20Nghe%20Wan -> Câu hỏi về kết nối chi nhánh về Head Office dùng wan
Cong%20Nghe%20Wan -> 1/ Cáp đồng gshdsl
Cong%20Nghe%20Wan -> 1. xu hưỚng chuẩn hoá VÀ CẤu trúc giao thứC

tải về 0.59 Mb.

Chia sẻ với bạn bè của bạn:
1   2   3   4   5   6   7   8   9   ...   19




Cơ sở dữ liệu được bảo vệ bởi bản quyền ©hocday.com 2024
được sử dụng cho việc quản lý

    Quê hương