Module định tuyến

Một phần của tài liệu Bài tiểu luận môn hoc IP ứng dụng và bảo mật giới thiệu công cụ ns (Trang 37)

3. Lớp Simlator

4.5.1 Module định tuyến

Nói chung, mỗi một sự thực thi định tuyến trong ns gồm có 3 khối chức năng: - Tác tử định tuyến chuyển gói tin định tuyến tới phần tử bên cạnh.

- Logic tuyến sử dụng thông tin thu nhặt bởi tác tử định tuyến (hoặc từ cở sở dữ liệu kiến trúc mạng chung trong trường hợp định tuyến tĩnh) thực hiện tính toán tuyến thực tế.

- Bộ phân lớp bên trong một Nút. Chúng sử dụng bảng định tuyến đã được tính toán thực hiện việc chuyển gói tin đi.

Chú ý rằng khi thực thi một giao thức định tuyến mới, không cần nhất thiết phải thực thi cả 3 khối trên. Ví dụ, khi thực thi một giao thức định tuyến theo trạng thái của kết nối, sự thực thi đơn giản là một tác tử định tuyến theo cách chuyển thông tin về trạng thái của kết nối, và một logic tuyến như là thuật toán tìm đường Dijkstra dựa trên kết quả cơ sở dữ liệu kiến trúc mạng. Nó có thể sau đó sử dụng cùng bộ phân lớp như các giao thức định tuyến đơn hướng khác.

Khi một giao thức định tuyến mới được thực thi gồm có nhiều hơn một khối chức năng, đặc biệt khi nó chứa bộ phân lớp, nó yêu cầu có đối tượng khác, gọi là module định tuyến, mà quản lý tất các các khối chức năng và giao diện với nút để tổ chức các bộ phân lớp của nó. Hình 5.3 chỉ ra sự liên quan về chức năng của các đối tượng này. Chú ý rằng các module định tuyến có thể có quan hệ trực tiếp với các khối tính toán tuyến ví dụ logic tuyến và/hoặc tác tử định tuyến. Tuy nhiên. tính toán tuyến có thể không cài đặt các tuyến của nó một cách trực tiếp qua module định tuyến, bởi vì có thể tồn tại những module khác tự học về những nút mới. Điều này là không bắt buộc, tuy nhiên bởi vì có thể rằng sự tính toán một vài tuyến được chỉ rõ tới một module định tuyến cụ thể nào đó. Ví dụ, sự cài đặt nhãn trong module MPLS.

Một module định tuyến chứa 3 chức năng chính:

- Module định tuyến khởi tạo sự kết nối của nó tới một nút thông qua register{}, và hủy bỏ thông qua unregister{}. Thông thường, trong register{}. Một module định tuyến nói với nút nó quan tâm đến sự cập nhật tuyến mới biết và sự tham gia của tác tử truyền tải hay không, và tạo ra bộ phân lớp và cài đặt chúng trong nút. trong unregister{}, một module định tuyến thực hiện ngược lại: nó xóa các bộ phân lớp của nó và bỏ móc cập nhật định tuyến trong nút đó.

- Nếu một module định tuyến quan tâm đến sự cập nhật tuyến mới biết, nút này sẽ thông báo cho module qua RtModule::add-route{dst, target} và RtModule::delete- route{dst, nullagent}

- Cần phải khai báo phần C++ trong module định tuyến của bạn, cho nhiều module điều này chỉ có ý nghĩa khai báo một phương thức ảo name(), nó trả về bộ mô tả chuỗi của module. Tuy nhiên, bạn tự do thực hiện nhiều chức năng như bạn muốn trong C++, nếu cần thiết bạn có thể sau đó chuyển về mặt chức năng từ OTcl vào C++ cho có hiệu quả hơn.

- Bạn cần nhìn các giao diện phía trên được thực thi trong module định tuyến cơ sở và quyết định cái nào bạn sẽ kế thừa, cái nào bạn sẽ viết chồng và đưa chúng vào các giao diện OTcl của module của bạn.

Có một vài module định tuyến dẫn xuất, nó được dùng như là các mẫu cho module của bạn, có 6 module định tuyến được thực thi trong ns:

Tên module Chức năng

RtModule/Base Giao diện cho các giao thức định tuyến đơn hướng, cung cấp chức năng cơ sở cho thêm/xóa tuyến và gán/ tách các tác tử

RtModule/Mcast Giao diện cho các giao thức định tuyến đa hướng, Nó chỉ có mục đính là thiết lập các bộ phân lớp đa hướng. Các chức năng đa hướng khác được thực thi như là các thủ tục cụ thể của nút.

RtModule/Hier Định tuyến phân cấp, nó là bộ bọc cho quản lý các bộ phân lớp phân cấp và sự cài đặt tuyến. có thể được kết hợp với các giao thức định tuyến khác, như định tuyến adhoc

RtModule/Manual Định tuyến nhân công RtModule/VC Sử dụng các bộ phân lớp ảo. RtModule/MPLS Thực thi các chức năng MPLS.

Một phần của tài liệu Bài tiểu luận môn hoc IP ứng dụng và bảo mật giới thiệu công cụ ns (Trang 37)