3.1.2.a. Tạo sự kiện lập lịch [16]
Một bộ lập lịch sự kiện theo dõi thời gian mô phỏng và các trigger với các sự kiện khác nhau theo lịch trình xảy ra tại các khoảng thời gian cụ thể. Nó chạy các sự kiện trong hàng đợi các sự kiện vào các thời điểm cụ thể bằng cách gọi thành phần mạng khác nhau và thực hiện hành động thích hợp đã được xác định.
Một bộ lập sự kiện được tạo ra bằng lệnh: set ns [new Simulator]. Một sự kiện được lên kế hoạch bằng lệnh: $set at <time> <event>,với <even> là những lệnh TcL hợp lý.
Lập lịch bắt đầu bằng lệnh: $ns run.
3.1.2.b. Tạo một mô hình mạng [16]
Nút, liên kết, đường dẫn và hàng đợi tạo thành các thành phần của mô hình mạng từ các nguồn truy cập, “bồn” và giao thức/ứng dụng ngầm định được sử dụng cho việc tạo ra và đi qua của dữ liệu.
Một nút được tạo bởi lệnh: set n0 [$ns node].
Một liên kết hai chiều được tạo bởi lệnh: $ns duplex-link $n0 $n1 <bandwidth> <delay> <queue_type>.
<bandwidth>: là băng thông.
<delay>: thông số chậm trễ cho liên kết.
<queue_type> là một đại diện của một đối tượng hàng đợi được sử dụng để giữ và đánh dấu hoặc loại bỏ các gói khi họ đi qua mô hình mô phỏng mạng. <Queue_type> có thể là một trong DropTail (hàng đợi FIFO), FQ (đối tượng hàng đợi Fair), SFQ (hàng đợi công bằng ngẫu
nhiên), RED (phát hiện sớm ngẫu nhiên), CBQ (lớp hàng đợi cơ bản), vv. Mỗi loại hàng đợi được đề cập có đặc điểm riêng của nó.
3.1.2.c. Tạo một lớp Transport Agent [15]
Ở đây hoặc các Agent TCP/UDP/SCTP có thể tạo được các chức năng như các lớp đại lý vận tải. Các ứng dụng khác nhau như: FTP, HTTP, telnet vv có thể được cấu hình để chạy trên đầu trang của lớp các đại lý vận tải. Một lần nữa, không có một tương ứng giữa các đại lý OTcl là người dùng tạo ra và thực tế thực hiện các đối tượng nội bộ trong C++. Sau khi các đại lý được tạo ra, nó là cần thiết để đính kèm các đại lý mới vào các nút để bắt đầu một ràng buộc giữa chúng.
Ví dụ: một SCTP agent thì được tạo bởi những dòng lệnh sau:
$set STCP [new Agent/STCP] # tạo một STCP agent $ns attach-agent $n0 $STCP # tạo nút n0 trong SCTP
Một dịch vụ thuộc tầng ứng dụng chẳng hạn như FTP, được tạo ra phía trên của TCP bằng sinh ra một agent ftp mới và sau đó gắn nó vào với các Agent STCP đã tạo ra trong bước trước.
Tiếp tục với ví dụ trên,
Set ftp [new Application/FTP] #tạo một ftp agent.
$ftp attach-agent $STCP # đưa ftp vào STCP agent.
$ns at <time> “$ftp start” # bắt đầu gửi dữ liệu trên vào <time>.
3.1.2.d. Tạo ra các nguồn lưu lượng truy cập
CBR – Constant Bit Rate (tốc độ Bit không đổi) hoặc VBR – Variable Bit Rate (thay đổi tốc độ Bit) lưu lượng truy cập được tạo ra bằng cách tạo một đại lý nguồn lưu lượng truy cập và gắn nó với một đại lý vận tải lớp. Các lệnh như sau:
$Set cbr [new Application/Traffic/CBR] #tạo source trao đổi CBR. $cbr attach-agent $STCP #đưa cbr vao trong tầng transport. $ns at <time> “$cbr start” #bắt đầu trao đổi vào <time>.
3.1.2.e. Truy tìm/truy vết
Tất cả các biến trạng thái cụ thể cần thiết để được truy tìm được biểu thị bằng lệnh dấu vết. Lệnh như sau:
$sTCP trace cwnd_, dấu vết các giá trị cwnd của một lớp đại lý vận tải cụ thể.
3.1.2.f. Phim Mạng (NAM)
Phim hoạt hình mạng được sử dụng để hiển thị các mô hình mạng bằng đồ hoạ cùng với các tùy chọn để bắt đầu, tạm dừng, và ngăn chặn dòng chảy của dữ liệu.
Các hoạt động của các mô phỏng tạo một tập tin với một phần mở rộng .nam, trong đó, khi thực thi xuất hình ảnh đồ họa ra màn hình. Các node, hàng đợi, dòng chảy của giao thông và các thành phần mạng khác có thể được nhìn thấy rõ ràng trên màn hình.
3.1.2.g. Theo dõi tập tin
Tùy thuộc vào sự lựa chọn nơi mà tất cả các biến được truy tìm một hoặc một vài biến, một tập tin dấu vết có một phần mở rộng .tr trả ra sau khi chạy các mô phỏng. Tệp dấu vết có một định dạng cụ thể, trong đó trình bày thông tin về việc những gì xảy ra. Nó thường cho thấy kích thước của dữ liệu gói được gửi, các mã nguồn và điểm đến của gói, số thứ tự gói và khoảng thời gian nó đã được xếp hàng đợi của người gửi hoặc nhận được ở đầu kia. Ví dụ về một dòng trong một tập tin có dấu vết như sau:
Trong đó: ‘+’ chỉ ra rằng gói được xếp hàng đợi và các trường tiếp theo là khoảng thời gian tức thời. Hai trường tiếp theo: 0, 2, cho biết nguồn và điểm đến của gói tin. 'CBR' cho thấy hằng số bit tỷ lệ lưu lượng truy cập. Kích thước của gói là 210 byte. Trường tiếp theo là cờ, không sử dụng trong ví dụ này. Thông thường những lá cờ cho biết sự xuất hiện của tắc nghẽn hoặc ưu tiên của gói. Hai trường tiếp theo trường (0.0 và 3.1) cho biết các địa chỉ. Ví dụ, địa chỉ IP và cổng của nguồn và điểm đến của các nút tương ứng. Trường kế cuối (255) cho biết số thứ tự gói và trường cuối cùng là một số nguyên duy nhất được tạo ra cho mỗi gói mới.