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


Bộ định trình sự kiện



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

1.2. Bộ định trình sự kiện


Như đã đề cập đến ở phần trên, đối tượng sử dụng chính của các bộ định trình sự kiện là các thành phần mạng, mô phỏng việc xử lý gói hoặc có sử dụng các bộ định thời. Hình 4 mô tả các đối tượng mạng sử dụng bộ định trình sự kiện. Cần lưu ý rằng: một đối tượng gửi đi một sự kiện nào đó cũng chính là đối tượng xử lý sự kiện đó tại một thời điểm định sẵn và đường dữ liệu giữa các đối tượng khác với đường điều khiển (đường sự kiện). Thực tế, việc đưa các gói từ một đối tượng mạng này đến một đối tượng mạng khác được thực hiện bằng cách sử dụng hàm send(Packet *p){target_-> recv(p)} của đối tượng gửi và hàm recv(Packet *, Handler * h =0) của đối tượng nhận.

Hình 4: Bộ định trình sự kiện rời rạc

NS có hai kiểu định trình sự kiện khác nhau: định trình thời gian thực và định trình không theo thời gian thực. Định trình không theo thời gian thực bao gồm 3 loại: List, Heap và Calendar. Bộ định trình Calendar được sử dụng mặc định trong NS. Các bộ định trình thời gian thực được sử dụng để thực hiện việc mô phỏng tương tác với mạng thực tế.

Ví dụ: việc lựa chọn một bộ định trình sự kiện cụ thể được thực hiện như sau:

...

set ns [new Simulator]



$ns use-scheduler Heap

...


Một ứng dụng nữa của các bộ định trình sự kiện là tạo ra các bộ định thời sự kiện mô phỏng như: khi nào thì bắt đầu một ứng dụng FTP, khi nào thì kết thúc mô phỏng, hoặc để tạo ra các kịch bản mô phỏng trước khi thực hiện mô phỏng.

Một đối tượng định trình sự kiện , bản thân nó có các hàm thành viên định thời mô phỏng, ví dụ như hàm at time "string" thực hiện phát đi sự kiện AtEvent tại một thời điểm mô phỏng định sẵn: time. Sự kiện AtEvent đối tượng lớp con của lớp Event, có một biến để chứa giá trị chuỗi string đã cho. Tuy nhiên sự kiện AtEvent vẫn được xử lý bình thường như các sự kiện liên quan đến việc xử lý gói khác trong bộ định trình sự kiện.

Khi một quá trình mô phỏng bắt đầu, và khi đến thời điểm định sẵn đối với sự kiện AtEvent, sự kiện AtEvent được chuyển tới bộ xử lý sự kiện AtEvent, và câu lệnh OTcl nằm trong chuỗi string của sự kiện AtEvent sẽ được thực thi. Ví dụ:

set ns [new Simulator]

$ns use-scheduler Heap

$ns at 300 "finish_sim"

...

proc finish_sim{}{



...

}

Trong ví dụ trên, ta thấy rằng hàm at time "string" là hàm thành viên của đối tượng Simulator, nhưng cần phải lưu ý rằng đối tượng Simulator chỉ đóng vai trò giao tiếp người sử dụng, nên thực ra nó sẽ gọi đến các hàm thành viên của các đối tượng mạng hoặc các đối tượng định trình để thực sự thực hiện công việc đó.


1.3. Các thành phần mạng


Trong NS, hầu hết các thành phần mạng là các đối tượng phức hợp. Hình 5 chỉ ra một phần của cây phân cấp theo lớp OTcl.

Hình 5: Một phần của cây phân cấp theo lớp

Gốc của cây phân cấp này là lớp TclObject. Lớp TclObject là lớp cơ sở của mọi đối tượng trong thư viện OTcl (định trình sự kiện, thành phần mạng, định thời, và các đối tượng khác). Lớp NsObject là lớp cơ sở của mọi đối tượng thành phần mạng cơ bản xử lý gói, các thành phần này kết hợp với nhau tạo thành các đối tượng phức hợp, như các đối tượng nodes hoặc links chẳng hạn. Các thành phần mạng cơ bản lại được chia thành hai phân lớp con, Connector và Classifier, dựa trên số lượng đường dữ liệu đầu ra có thể. Các đối tượng mạng cơ sở chỉ có một đường dữ liệu đầu ra duy nhất sẽ thuộc vào lớp Connector, các đối tượng chuyển mạch có thể có nhiều đường dữ liệu đầu ra thuộc vào lớp Classifier.

Nút và định tuyến

Nút là một đối tượng phức hợp, được hợp thành bởi các đối tượng đầu vào nút và các bộ phân loại classifier. Có hai loại nút trong NS. Nút đơn hướng chỉ có một đối tượng phân loại địa chỉ thực hiện định tuyến đơn đường và một đối tượng phân loại cổng. Nút đa hướng, ngoài hai đối tượng phân loại địa chỉ và phân loại cổng như trong nút đơn hướng, còn có thêm một đối tượng phân loại gói đa hướng và một đối tượng phân loại thực hiện định tuyến đa luồng.



Hình 6. Nút (đơn hướng và đa hướng)

Trong NS, các nút đơn hướng được sử dụng mặc định. Để tạo ra nút đa hướng, người sử dụng phải khai báo tường minh trong kịch bản OTcl, ngay sau khi tạo ra đối tượng định trình sự kiện, khi đó mọi nút được tạo ra sẽ là nút đa hướng. Sau khi chỉ ra kiểu nút sử dụng, người sử dụng cũng có thể lựa chọn kiểu giao thức định tuyến xác định thay vì sử dụng giao thức ngầm định.

Đường kết nối

Đường kết nối cũng là một đối tượng phức hợp chính khác trong NS, đối tượng Link. Khi người sử dụng tạo ra một đường kết nối bằng cách sử dụng hàm thành viên duplex-link của đối tượng Simulator, hai kết nối đơn trên hai hướng sẽ được tạo ra như trong hình vẽ 7.



Hình 7: Đường kết nối

Cần lưu ý rằng hàng đợi đầu ra của một nút, thực ra là một phần của đối tượng Link đơn. Các gói khi ra khỏi một hàng đợi Queue, sẽ được chuyển tới đối tượng Delay, đối tượng này mô phỏng trễ của link, còn các gói bị loại bỏ khỏi hàng đợi được gửi tới đối tượng Null Agent và được hủy tại đó. Cuối cùng, đối tượng TTL tính toán tham số Time To Live đối với mỗi gói nhận được và thay đổi giá trị trường TTL của gói.

Theo dõi giám sát

Trong NS, các tác vụ mạng được theo dõi trên mỗi đường kết nối đơn. Nếu đối tượng mô phỏng được chỉ thị theo dõi các tác vụ mạng ( sử dụng lệnh $ns trace-all file hoặc $ns trace-nam file), thì sau đó các đường kết nối được tạo ra sẽ được thêm vào các đối tượng theo dõi như trong hình vẽ 8. Người sử dụng có thể tạo ra đối tượng theo dõi thuộc một dạng nào đó giữa nút nguồn và nút đích bằng lệnh create-trace {type file src dst}.



Hình 8. Các đối tượng theo dõi được thêm vào.

Khi mỗi đối tượng theo dõi nhận được một gói, nó sẽ ghi các thông số liên quan đến gói ra file theo dõi mà không ảnh hưởng đến thời gian mô phỏng, và chuyển các gói này tới đối tượng mạng tiếp theo.

Giám sát hàng đợi

Về cơ bản, các đối tượng theo dõi được thiết kế để ghi lại thời gian đến của gói dữ liệu . Mặc dù người dùng có đủ các thông tin từ file theo dõi, nhưng có thể họ vẫn quan tâm đến những gì xảy ra bên trong một hàng đợi nào đó. Ví dụ: một người dùng quan tâm đến cách thức xử lý một hàng đợi RED chẳng hạn, anh ta có thể muốn đo sự thay đổi độ dài trung bình của hàng đợi và độ dài hiện thời của hàng đợi RED, điều đó có nghĩa là cần phải giám sát hàng đợi đó.

Việc giám sát hàng đợi được thực hiện bằng cách sử dụng các đối tượng giám sát hàng đợi và các đối tượng gián điệp như trong hình 10.

Hình 9: Giám sát hàng đợi

Khi một gói đến, đối tượng gián điệp sẽ thông báo cho đối tượng giám sát hàng đợi và những thông tin này được sử dụng để giám sát hàng đợi.


Каталог: 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