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



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

4. Các nút và chuyển gói


Chương này mô tả một khía cánh của việc tạo kiến trúc mạng trong ns như là tạo các nút. Chương tiếp theo sẽ mô tả khía cạnh thứ hai của việc tạo kiến trúc mạng như là kết nối các nút thành các liên kết. Chương này ko mô tả chi tiết tổ chức bên trong của một nút (cho dù một vài lược đồ được đưa ra), hoặc là tương tác giữa một nút và module định tuyến của nó.

Nhắc lại rằng mỗi mô phỏng yêu cầu lớp của bộ mô phỏng cụ thể để điều khiển và thao tác mô phỏng này. Lớp này cung cấp các thủ tục cụ thể để tạo và quản lý kiến trúc mạng và lưu trữ bên trong các tham chiếu tới mỗi phần tử của kiến trúc mạng. Chúng ta bắt đầu mô tả các thủ tục trong lớp Bộ mô phỏng (phần 4.1) sau đó mô tả các thủ tục cụ thể trong lớp Node (phần 4.2) để truy cập và thao tác trên nút riêng biệt. Chúng ta kết thúc với các mô tả chi tiết của Bộ phân lớp (phần 4.4) từ đó các đối tượng nút phức hợp hơn được hình thành.


4.1 Các cách thức của bộ mô phỏng: Tạo kiến trúc mạng


Nguyên tố cơ bản có được một nút là:

set ns [new Simulator]

$ns node

Thủ tục cụ thể node dựng nên một nút từ các đối tượng phân lớp đơn giản hơn. Bản thân Node là một lớp đứng độc lập trong OTcl. Hơn nữa, hầu hết các thành phần của nút là trong đối tượng Tcl. Cấu trúc điển hình của một nút được chỉ ra trong hình 5.1

Trước ns phiên bản 2.1b6 địa chỉ của một tác tử trong một nút là rộng 16bit: 8bit cao được định nghĩa là node id_, 8 bit thấp nhận dạng tác tử riêng biệt trong nút. Giới hạn số nút trong một lần mô phỏng là 256 nút. Nếu người sử dụng cần tạo một kiến trúc mạng lớn hơn 256 nút thì đầu tiên cần phải mở rộng không gian địa chỉ trước khi tạo bất cứ nút nào.

như là:


$ns set-address-format expanded

Hình 4.1: Cấu trúc của một nút đơn hướng, chú ý rằng entry_ là một biến sô nhãn đơn thay vì một đối tượng thật ví dụ như là classifier_

Mở rộng không gian địa chỉ tới 30 bit, 22 bít cao được sử dụng gán cho số nút.

Chú ý: Từ bản 2.1b6, trên đó thì không cần thiết dài hơn, ns sử dụng số nguyên 32 bit cho cả địa chỉ và cổng, còn trước đó, giới hạn trên 256 nút là không thể dùng được

Theo mặc định, các nút trong ns được dựng cho mô phỏng đơn hướng. Để mô phỏng đa hướng, sự mô phỏng này có thể được tạo ra với lựa chọn "-multicast on", ví dụ:

set ns [new Simulator -multicast on]

Cấu trúc bên trong của nút đa hướng được chỉ ra trong hình 5.2

Khi một mô phỏng sử dụng định tuyến đa hướng, bit cao nhất của địa chỉ chỉ thị rằng phần địa chỉ là địa chỉ đa hướng hay địa chỉ đơn hướng. Nếu bit đó là 0, địa chỉ đại diện là đại chỉ đơn hướng, ngược lại là địa chỉ đa hướng. Nó ngụ ý rằng, theo mặc định, mô phỏng đa hưởng được giới hạn trong 128 nút.



Hình 4.2 Cấu trúc bên trong của nút đa hướng


4.2 Các cách thức của nút: đặt cấu hình nút


Các thủ tục để cấu hình mỗi nút riêng biệt có thể được chia thành:

- Các chức năng điều khiển

- Quản lý số địa chỉ và số cổng, các chức năng định tuyến đơn hướng

- Quản lý tác tử

- Thêm lân cận

Chúng ta mô tả các chức năng như sau:



Các chức năng điều khiển:

$node entry trả về điểm đầu vào cho nút, đây là phần tử đầu tiên sẽ xử lý các gói đến trong nút này.

Biến số cụ thể của Node, entry_, lưu tham chiếu phần tử này. Với nút đơn hướng, đây là bộ phân lớp địa chỉ nhằm vào bit cao của địa chỉ đích. Biến số classifier_ chứa tham chiếu tới bộ phân lớp này. Tuy nhiên, với các nút đa hướng, điểm vào là biến switch_ nhằm vào bit đầu tiên để quyết hoặc là chuyển gói tới bộ phân lớp đơn hướng hoặc là bộ phân lớp đa hướng cho phù hợp.

$node_reset sẽ xác lập lại toàn bộ tác tử của nút.



Quản lý địa chỉ và số cổng.

Thủ tục $node id trả về số id của nút, số này là tự động tăng và gán tới mỗi nút tại lúc tạo nút bởi phương thức của bộ mô phỏng lớp, $ns node. Bộ mô phỏng lớp luôn lưu trữ một mảng các biến cụ thể, Node_, được đánh chỉ mục bởi id của nút, chứa tham chiếu tới nút bằng id này.

Thủ tục $node agent (port) trả về việc xử lý của tác tử tại cổng chỉ định, nếu không có tác tử nào ở số cổng chỉ định là hợp lệ, thủ tục trả về chuỗi rỗng.

Thủ tục alloc-port trả về số cổng hợp lệ tiếp theo, nó sử dụng biến np_, để theo dõi số cổng chưa được cấp phát kế tiếp.

Thủ tục add-route and add-routes, được sử dụng bở định tuyến đơn hướng và cộng thêm các tuyến vào classifier_, cú pháp sử dụng là $node add-route (destination id) (TclObject). TclObject là đầu vào của dmux_, bộ giải ghép cổng của nút, nếu id đích giống với id của nút này, nó thường là đoạn đầu của liên kết gửi gói cho điểm đích, nhưng cũng có thể là đầu vào cho các bộ phân lớp khác hoặc kiểu của bộ phân lớp.

$node add-routes (destination id) (TclObjects) được sử dụng để thêm vào nhiều tuyến tới cùng một địa chỉ đích mà phải sử dụng đồng thời việc trải độ rộng băng thông theo cách quay tròn để đạt tới điểm đích từ bên này tới bên kia của tất cả các liên kết một cách tương đương. Nó được sử dụng chỉ nếu biến số multiPath_ được gán bằng 1, và chiến lược định tuyến động chi tiết là hiệu quả, cũng như yêu cầu sự sử dụng của bộ phân lớp đa đường.

Đối lại với add-routes{} là delete-routes{} Nó lấy id, trong danh sách của TclObjects và có tham chiếu tới nullagent của bộ mô phỏng. Nó xóa TclObjects trong danh sách từ các tuyến đã cài đặt trong bộ phân lớp đa đường. Nếu đầu vào của tuyến trong bộ phân lớp không trỏ đến bộ phân lớp đa đường, thường lệ chỉ là xóa đầu vào từ classifier_ và cài đặt nullagent vào chỗ đó.

Định tuyến động chi tiết cũng sử dụng 2 phương thức cộng thêm vào: thủ tục cụ thể init-routing{} thiết lập biến số multiPath_ sẽ tương đương với biến số lớp cùng tên, nó cũng cộng một tham chiếu tới đối tượng bộ điều khiển tuyến của nút trong biến số này, rtObject_. Thủ tục rtObject{} trả về xử lý cho đối tượng tuyến của nút,

Cuối cùng, thủ tục intf-changed{} là được gọi lên bởi mã động trên mạng nếu một liên kết rơi vào nút thay đổi trạng thái.

Quản lý tác tử

Một tác tử đã cho, thủ tục attach{} sẽ cộng thêm tác tử đó vào danh sách agents_, gán số cổng của tác tử và đặt địa chỉ nguồn, đặt đích của tác tử cho nó và cộng vào một con trỏ tới bộ giải ghép cổng của nút (dmux_) cho tác tử tại khe tương ứng trong bộ phân lớp dmux_.

Ngược lại, detach{} sẽ xóa tác tử từ agent_, và chỉ đến đích của tác tử và đầu vào nút dmux_ bằng nullagent.

Theo dõi nút lân cận (tracking Neighbors) Mỗi một nút giữ một danh sách các nút lân cận nó trong biến neighbor_. Thủ tục add-neighbor{} cộng thêm một nút lân cận vào danh sách. Thủ tục neighbors{} trả về danh sách này.


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