Danh mục

Tài liệu học tập Kỹ thuật mô phỏng: Phần 2

Số trang: 102      Loại file: pdf      Dung lượng: 2.15 MB      Lượt xem: 20      Lượt tải: 0    
10.10.2023

Xem trước 10 trang đầu tiên của tài liệu này:

Thông tin tài liệu:

(NB) Tài liệu học tập Kỹ thuật mô phỏng: Phần 2 cung cấp cho sinh viên những kiến thức về: Liên kết giữa các nút mạng bằng đối tượng simpleLink, đối tượng mô phỏng gói tin Packet, Các toán tử dùng để tạo gói tin được biểu diễn bằng đối tượng Agent, đối tượng Application dùng để mô phỏng các yêu cầu truyền dữ liệu của người sử dụng. Mời các bạn cùng tham khảo.
Nội dung trích xuất từ tài liệu:
Tài liệu học tập Kỹ thuật mô phỏng: Phần 2 CHƢƠNG 7. QUẢN LÝ VÙNG ĐỆM VÀ ĐƢỜNG LIÊN KẾT Mục tiêu Liên kết (Link) là một đối tƣợng OTcl kết nối giữa hai nút để truyền các gói tin từ nút bắt đầu nguồn nút đích. Nội dung của chƣơng này chủ yếu tập trung vào lớp có tên là SimpleLink là Lớp đƣợc sử dụng rộng rãi nhất trong số các lớp thừa kế từ Lớp Link. Đối tƣợng SimpleLink mô hình hóa thời gian truyềứ gói tin, độ trễ của kênh truyền và bộ đệm gói tin để truyền các gói tin từ một nút này tới một nút khác, ở đây, thời gian truyền gói tin là thời gian cần thiết đề thiết bị truyền gửi đi một gói tin. Nó đƣợc xác định bởi băng thông của kênh truyền và kích cỡ gói tin. Thời gian trễ của kênh truyền là thời gian cần thiết để mang mỗi bit từ điểm đầu tới điểm cuối trên kênh truyền. Một thiết bị truyền có thể nhận đƣợc các gói tin trong khi nó đang truyền các gói tin khác. Các gói tin đi đến một thiết bị truyền đang bận có thể đƣợc đƣa vào một bộ đệm để truvền đi ở thời điểm sau. Không giống nhƣ trong thực tế, NS2 triển khai việc đệm gói tin trong một kênh truyền chứ không phải trong một nút. 7.1. Giới thiệu về đối tƣợng SimpleLink NS2 mô hình hóa một kênh truyền bằng các sử dụng các Lớp đƣợc dẫn xuất từ Lớp Link của OTcl. Trong số các Lớp này, Lớp SimpleLink là lớp đơn giản nhất có thể đƣợc sử dụng để kết nối giữa hai nút.  Các thành phần chính của một Lớp SimpleLink Hình 7.1 đƣa ra một hình ảnh kết hợp giữa các thành phần của Lớp SimpleLink với các đối tƣợng cơ bản và các đối tƣợng lƣu vết trong cây thông dịch nhƣ sau: Hình 7.1. Kiến trúc của một đối tƣợng SỉmpỉeLink Các đối tƣợng cơ bản head_: Điểm truy cập của đối tƣợng SỉmpleLink queue_: Là một đối tƣợng Queue, nó thực hiện mô hình hóa bộ đệm gói tin của một router thực (xem Mục 7.3). link_: Là đối tƣợng DelayLỉnk, thực hiện mô hình hóa thời gian truvền gói tin và thời gian trễ của kênh truyền (xem Mục 7.2) ttl_: Là một đối tƣợng kiểm tra thời gian sống (time to live) của lớp TTLChecker. Khi một gói tin tới, đối tƣợng này thực hiện việc giảm giá trị TTL của gói tin. Sau đó nó kiểm tra nếu giá trị TTL của gói tin vẫn là giá trị dƣơng, gói tin sẽ - 131 - đƣợc chuyển tiếp tới thành phần tiếp theo trên kênh truyền. Ngƣợc lại, nó sẽ hủy gói tin ra khỏi quá trình mô phỏng (xem file ns/common/ttl.h.cc). đropheacL: Là điểm hủy gói tin của kênh truyền. Các gói tin bị hủy sẽ đƣợc chuyển tiếp tới đối tƣợng này. Nó thƣờng đƣợc kết nối với tác tử rỗng của đối tƣợng Simulator để mọi đối tƣợng SỉmpleLink có thể chia sẻ cùng một điểm hủy gói tin. Các đối tƣợng lƣu vết Các đối tƣợng này sẽ đƣợc chèn vào chỉ khi biến thành viên $traceAHFile_ đƣợc định nghĩa. Các đối tƣợng này bao gồm: enqT_: Lƣu vết các gói tin đi vào hàng đợi queue_ deqT_: Lƣu vết các gói tin đi ra từ hàng đợi queue_ drpT_: Lƣu vết các gói tin bị hủy từ hàng đợi queue_ rcvT_: Lƣu vết các gói tin đi ra khỏi kênh truyền hoặc đƣợc các nút tiếp theo nhận. 7.1.1. Các thủ tục instproc để cấu hình đối tƣợng SimpleLink Trong miền OTcl, một đối tƣợng SỉmpleLỉnk đƣợc tạo ra bằng cách sử dụng thủ tục instproc simplex-lỉnkL} và duplex-lỉnkr---} của lớp Simulator với cú pháp nhƣ sau: Trong đó $ns là đối tƣợng Simulator và $nl, $n2 là các đối tƣợng Node. Thủ tục instproc simplex-Tink{”-} ở trên tạo một đối tƣợng SimpleLink kết nối 1 chiều giữa nút $nl với nút $n2 (Chƣong trình 7.1). Tốc độ và thời gian trễ của kênh truyền đƣợc đƣa vào tham số (tính theo đon vị bps) và (tính theo đon vị giây). Khác với router thực, NS2 tích hợp hàng đợi trong đối tƣợng SimpleLỉnk chứ không phải trong đối tƣợng Node. Kiểu của hàng đợi trong kênh truyền đƣợc chỉ định bởi tham số . - 132 - Chƣơng trình 7.1 đƣa ra chi tiết của thủ tục Simulator-simplex- link{}. Dòng 6 tạo một đối tƣợng của lớp Queue/qtype. Dòng 12 khởi tạo một đối tƣợng SimpleLink kết nối giữa nút n1 và n2. Nó thiết lập độ trễ, băng thông và đối tƣợng Queue của kênh truyền tƣơng ứng là bw, delay và q. Đối tƣợng Simulator lƣu đối tƣợng SimpleLink đƣợc tạo ra vào mảng liên kết link_($sid:$did) của nó với sid là ID định danh của nút nguồn và did là ID định danh của nút đích (xem Chƣơng 4). Thủ tục duplex-link -} tạo ra hai đối tƣợng SimpleLink. Một đối tƣợng kết nối từ nút $n1 tới nút $n2 và một đối tƣợng kết nối từ nút $n2 tới nút $n1. Bạn đọc có thể xem chi tiết của thủ tục này trong file ~ns/tcl/lib/ns-lib.tcl. 7.1.2. Khỏi tạo của Lớp SimpleLink Chƣơng trình 7.2 đƣa ra chi tiết của thủ tục init{ —} của lớp SỉmpleLỉnk để khởi tạo và kết nối các đối tƣợng theo Hình 7.1. Trong chƣơng trình này các dòng 3, 5, 11, 12 và 18 tạo ra các biến thành viên drophead_, head_ queue_ link_ và ttl_ là các đối tƣợng của các lớp OTcl tƣơng ứng là Connector Connector, Queue, DelayLink và TtlChecker. Chú ý rằng băng thông và độ trễ của biến link_ đƣợc cấu hình trong dòng 13-14 Ngoài việc tạo ra các đối tƣợng trên, thủ tục khởi tạo này còn kết nối các đối tƣợng đƣợc tạo ra nhƣ Hình 7.1. Đƣợc dẫn xuất từ lớp Connector, mỗi một đối tƣợng - 133 - đƣợc tạo ra sử dụng lệnh target và drop-target để thiết lập đối tƣợng nhận gói và đối tƣợng hủy gói (xem Chƣơng 5). Dòng 9 thiết lập đối tƣợng nhận của head_ là q. Dòng 15 thiết lập đối tƣợng nhận của queue_ là link_. Dòng 16 thiết lập đối tƣợng nhận của link_ là điểm truy cập của nút kế tiếp. Dòng 19 và 21 chèn biến ttl_ vào giữa lỉnk_ và điểm truy cập của nút kế tiếp. Dòng 17 thiết lập điểm hủy gói tin của queue_ là dropheacL. Cuối cùng, dòng 4 thiết lập đích của drophead_ là tác tử rỗn ...

Tài liệu được xem nhiều: