MẠNG MANET
Trang 1MỤC LỤC
Trang 2DANH MỤC CÁC HÌNH VẼ
Hình 1.1 Biểu đồ mạng Manet 8
Hình 1.2 Định tuyến Single-hop 9
Hình 1.3 Định tuyến Multi – hop 10
Hình 1.4 Định tuyến Multi – hop 11
Hình 1.5 Mô hình mạng phân cấp 12
Hình 1.6 Mô hình mạng Aggregate 12
Hình 2.7 Mô hình đơn giản của NS 14
Hình 2.8 Luồng các sự kiện cho file Tcl chạy trong Nam 16
Hình 2.9 Kiến trúc của NS-2 16
Hình 2.10 TclCL hoạt động như liên kết giữa A và B 17
Hình 2.11 Giao diện đồ hoạ Nam 19
Hình 2.12 Cửa sổ Nam console 20
Hình 2.13 Cửa sổ minh họa Nam 21
Hình 2.14 Topology mạng đơn giản và kịch bản mô phỏng 22
Hình 2.15 Minh họa NAM cho kịch bản OTcl 26
Hình 2.16 Node unicast và node multicast 29
Hình 2.17 Biểu diễn link giữa 2 node 29
Hình 2.18 Giao diện đồ hoạ người dùng TraceGraph 37
Hình 2.19 Chèn đối tượng trace 37
Hình 3.20 Mô hình mạng MANET trong NAM 39
Hình 3.21 Mô hình mạng MANET trong NAM 42
Hình 3.22 Kết quả phân tích file.tr 43
Trang 5LỜI CẢM ƠN
Em xin chân thành cảm ơn Ban giám hiệu Khoa Công nghệ Thông tin trường Đại học Sư Phạm Hà Nội đã tạo điều kiện thuận lợi để em được học tập và tham gia làm khoá luận tốt nghiệp.
Em xin chân thành cảm ơn thầy Phạm Tuấn Minh đã tận tình chỉ bảo, hướng dẫn em trong quá trình làm khoá luận.
Mặc dù em đã nỗ lực hoàn thành báo cáo khoá luận song vẫn không tránh khỏi thiếu sót kính mong sự góp ý của các thầy cô và các bạn
Hà Nội, ngày 16/4/2008
Sinh viên: Ngô Thị Thu Hà
Trang 6LỜI MỞ ĐẦU
Ngày nay, mạng máy tính đang ngày càng phát triển không ngừng và trở niên tiện dùng kèm theo đó là tính phức tạp cồng kềnh không kém Các dự án nghiên cứu, xây dựng và phát triển các môi trường giả lập mạng chỉ mới đề cập và quan tâm đúng mức trong thời gian gần đây Muốn xây dựng các công cụ mạnh đáp ứng được nhu cầu phát triển của mạng thì cần có các công cụ hỗ trợ mạnh mẽ (như C++, Java ).
Đề tài “Mô phỏng mạng Manet” không nằm ngoài xu hướng phát triển chung đặc biệt khi ngày nay mạng không dây di động đang ngày càng tổ rõ đặc tính nổi bật của mình đó là khả năng cơ động cao, có thể di chuyển một cách tuỳ ý mà vẫn có thể truy cập mạng và trao đổi dữ liệu với nhau…
Đề tài có ý nghĩa thiết thực trong việc nghiên cứu và phát triển các môi trường giả lập mạng, đồng thời xây dựng nên một cơ sở nền tảng lý thuyết về xây dựng môi trường và các công cụ giả lập mạng
Trang 7Chương 1.Giới thiệu về mạng Manet
1.1 Khái niệm mạng Manet
Khái niệm
Manet ( Mobile Ad-hoc Network) - Mạng không dây di động Theo định nghĩa của Tổ chức Internet Engineering Task Force (IETF)- Mạng Manet là một vùng tự trị
( Autômmous System) của các router (đó chính là các node) được kết nối với nhau bằng liên kết không dây, các node có thể di chuyển một cách tự do nên kiến trúc của mạng thay đổi liên tục mà không thể dự đoán trước.
Đặc điểm
Mạng Manet có các đặc điểm chính sau:
Mạng Manet là tập hợp các mobile node trong một mạng có tính chất tạm thời không có sự quản lý của các nhà quản trị Mô hình này gồm hai hay nhiều wireless mobile kết nối với nhau theo mô hình mạng ngang hàng (peer – to – peer) các node có vai trò như nhau, có thể kết nối vời nhau và không cần đến cơ sở hạ tầng của các mạng trước đó Các node trong mạng này còn đóng vai trò như là các router có khả năng tìm kiếm, duy trì và định tuyến các gói dữ liệu cho các node nằm trong vùng phát sóng của nó
Mạng Mobilet Ad-hoc Network là một mạng tạm thời Không có central server (Máy phục vụ trung tâm)
Trang 8Hình 1.1 Biểu đồ mạng Manet
1.2 Phân loại mạng Manet
Phân loại mạng Manet theo cách thức định tuyến
Theo tiêu chí phân loại là cách thức định tuyến, mạng Manet được chia thành hai kiểu là Single-hop và multi-hop.
1.2.1.1 Single-hop
Đây là loại mô hình mạng Ad-hoc đơn giản nhất Ở đó tất cả các node đều nằm trong cùng một vùng phủ sóng (các node có thể kết nối trực tiếp với các node khác mà không cần phải qua node trung gian) Một số đặc điểm của mạng Manet kiểu single-hop là:
Thường có 7 tần số được dùng lại
Mỗi node gần nhau thường có tần số khác nhau
Trong mỗi node những đường đơn chuyên dụng được sử dụng để chỉ dẫn sự chuyển động của node đó
Trang 9Hình 1.2 Định tuyến Single-hop
1.2.1.2 Multi – hop
Multi-hop là mở rộng vùng của Single - hop Network Một số đặc điểm của mạng Manet kiểu multi-hop:
Nhiều yêu cầu được đưa vào trong những giao thức MAC hơn Single –hop Network
Đây là mô hình phổ biến nhất trong mạng Manet, mô hình này khác với mô hình trước là các node có thể kết nối với các node khác trong mạng mà có thể không cần phải kết nối trực tiếp với nhau
MN3 MN4
BS
Trang 10Hình 1.3 Định tuyến Multi – hop
Các node có thể định tuyến đến node khác thông qua các node trung gian trong
Trang 11Hình 1.4 Định tuyến Multi – hop
Như vậy Lợi ích của Multi-hop so với Single-hop là hơn hẳn về: + Sự thiết thực và tính mạnh mẽ
+ Giá trị bandwidth cao hơn Phân loại Manet theo chức năng của Node
1.2.1.3 Mạng Manet đẳng cấp
Trong kiến trúc mạng Manet đẳng cấp (Flat) này tất cả các node có vai trò ngang hàng với nhau (peer-to-peer) và các node cũng đóng vai trò như các router dùng để định tuyến các gói dữ liệu truyền trên mạng
1.2.1.4 Mạng Manet phân cấp
Mạng Manet phân cấp (Hierarchical) là mô hình mạng được sử dụng phổ biến nhất trong mạng Manet.Mạng chia làm các domain, trong mỗi domain bao gồm một hoạc nhiều cluster với mỗi cluster bao gồm môt hoặc nhiều node Có 2 loại node:
Master node: Là node quản trị một cluster và có nhiệm vụ chuyển dữ liệu của
các node trong cluster đến các node trong các cluster khác và ngược lại
Normal node: Là các node nằm trong cùng một cluster và chỉ có thể kết nối
với các node trong cùng một cluster hoặc kết nối với các node trong các cluster khác thông qua master node
Trang 12Hình 1.5 Mô hình mạng phân cấp
Với cơ chế trên, mạng sử dụng tài nguyên băng thông mạng hiệu quả hơn vì các message điều khiển chỉ phải truyền trong một cluster Tuy nhiên việc quản lý tính
chuyển động của các node trở nên phức tạp hơn Kiến trúc mạng phân cấp thích hợp cho các mạng có tính chuyển động thấp.
1.2.1.5 Mạng Manet kết hợp (Aggregate)
Trong kiến trúc mạng này, mạng phân thành các zone và các node được chia vào trong các zone Nên mỗi node bao gồm hai mức topo (topology) là topo mức thấp và topo mức cao Ngoài ra, mỗi node còn đặc trưng bởi hai số ID là node ID và zone ID Trong một zone có thể áp dụng kiến trúc đẳng cấp hoặc kiến trúc phân cấp
Mạng máy tính ra đời đã làm cho mọi việc trở lên đơn giản, thuận tiện và hiệu quả hơn, giúp chúng ta chia sẻ thông tin, chia sẻ dữ liệu thuận tiện Mạng máy tính có dây ra đời đã từ lâu và nó đã chứng tỏ được vai trò và công dụng lớn trong việc góp phần phát triển xã hội
Ngày nay khoa học kỹ thuật và công nghệ phát triển mạnh mẽ Những thiết bị di động như laptop, PDA…xuất hiện phổ biến trong thị trường, đời sống mạng có dây không thể đáp ứng hết tất cả các công dụng của những thiết bị tiên tiến, hiện đại, tiện
Trang 13nghi trên.Vì thế mạng không dây đã ra đời giúp cho các thiết bị di động được sử dụng một cách hiệu quả, thuận tiện hơn vì những đặc tính nổi bật của mạng không dây.
Hệ thống mạng không dây có khả năng cơ động cao, các thiết bị có thể di chuyển một cách tuỳ ý mà vẫn có thể truy cập mạng và có thể trao đổi dữ liệu với nhau
Mạng không dây tỏ rõ ưu thế trong những trường hợp như: hội nghị, hội thảo, hội chợ thương mại, truy cập internet ở những nơi công cộng… thuận tiện cho người sử dụng
Mạng không dây không phụ thuộc vào vị trí địa hình nên rất dễ dạng triển khai lắp đặt. MANET có thể đáp ứng tại những vùng có thiên tai như lũ lụt, động đất, hay tại những nơi tập trung với một lượng lớn người không dự đoán
trước những nơi khó hoặc không cần thiết phải triển khai một xây dựng cơ sở hạ tầng viễn thông phức tạp và tốn kém.
Tuy mạng không dây vẫn còn một số hạn chế về giá cả cũng như về mặt kỹ thuật Song với xu thế phát triển của khoa học công nghệ mạng không dây sẽ càng trở nên phổ biến hơn.
Trang 14Chương 2.
MÔ PHỎNG MẠNG DÙNG NS2
2.1 Công cụ mô phỏng NS2
2.1.1 Tổng quan về NS2
NS2- Network Simulator Version 2: là phần mền mô phỏng mạng điều khiển sự kiện riêng rẽ hướng đối tượng, được phát triển tại UC Berkely, viết bằng ngôn ngữ C++ và Otcl Được sử dụng rất phổ biến trong các nghiên cứu khoa học về mạng ( rất hữu ích cho việc mô phỏng mạng diện rộng WAN và mạng local LAN.
Mục đích của NS-2 là tạo ra một môi trường giả lập cho việc nghiên cứu, kiểm tra, thiết kế các giao thức, các kiến trúc mới, so sánh các giao thức và tạo ra các mô hình mạng phức tạp.
Phiên bản thứ nhất của NS được phát triển vào năm 1995 và phiên bản thứ hai ra đời năm 1996 NS-2 là phần mền mã nguồn mở có thể chạy được trong môi trường Linux và Window.
2.1.2 Kiến trúc của NS2
NS thực thi các giao thức mạng như giao thức điều khiển truyền tải (TCP) và thức gói thường dùng (UDP), các dịch vụ nguồn lưu lượng như giao thức truyền tập tin (FTP), tốc độ bit cố định (CBR) và tốc độ bit thay đổi (VBR).
Các kỹ thuật quản lý hàng đợi như Vào trước Ra trước (Drop Tail), Dò sớm ngẫu nhiên (RED) và CBQ, các thuật toán định tuyến như Dijkstra…NS cũng thực thi
multicasting và vài giao thức lớp Điều khiển truy cập đường truyền (MAC) đối với mô phỏng LAN.
Trang 15Otcl Kịch bản OTcl
Simulation Program Chương trình Mô phỏng
OTcl Bộ biên dịch Tcl mở rộng hướng đối tượng NS Simulation Library Thư viện mô phỏng NS
Event Scheduler Objects Các đối tượng Bộ lập lịch sự kiện Network Component Objects: Các đối tượng Thành phần mạng Network Setup Helping Modules: Các modun Trợ giúp Thiết lập mạng Plumbling Modules Các modun Plumbling
Simulation Results Các kết quả Mô phỏng
Các modun trợ giúp thiết lập mạng (modun Plumbing)
Để sử dụng NS-2, user lập trình bằng ngôn ngữ kịch bản OTcl User có thể thêm các mã nguồn Otcl vào NS-2 bằng cách viết các lớp đối tượng mới trong OTcl Những lớp này khi đó sẽ được biên dịch cùng với mã nguồn gốc.
Kịch bản OTcl có thể thực hiện những việc sau: Khởi tạo Bộ lập lịch sự kiện
Thiết lập Mô hình mạng dùng các đối tượng Thành phần mạng
Báo cho nguồn traffic khi nào bắt đầu truyền và ngưng truyền packet trong Bộ lập lịch sự kiện.
Bộ lập lịch sự kiện trong NS2 thực hiện những việc sau: Tổ chức bộ định thời mô phỏng
Hủy các sự kiện trong hàng đợi sự kiện
Triệu gọi các Thành phần mạng trong mô phỏng
Phụ thuộc vào mục đích của User đối với kịch bản mô phỏng OTcl mà kết quả mô phỏng có thể được lưu trữ như file trace.
File name trace ( file.nam) được dùng cho công cụ Minh họa mạng Nam File Trace (file.tr) được dùng cho công cụ Lần vết và Giám sát Mô phỏng
XGRAPH hay TRACEGRAPH
Trang 16Hình 2.8 Luồng các sự kiện cho file Tcl chạy trong Nam Trong mô phỏng mạng dùng NS2 ta sử dụng:
NAM Visual Simulation: Mô phỏng ảo NAM
Tracing and Monitoring Simulation: Mô phỏng lần vết và Giám sát
Hình trên biểu diễn kiến trúc của NS-2 User có thể tưởng tượng mình đang đứng ở góc trái dưới, thiết kế và chạy các mô phỏng trong Tcl Tcl dùng các đối tượng mô phỏng trong OTcl Các đối tượng Bộ lập lịch sự kiện và các đối tượng thành phần mạng thực thi bằng C++ và sẵn có cho OTcl qua một liên kết OTcl Liên kết OTcl này được thực thi dùng TclCL Tất cả đã làm nên NS, bộ biên dịch Tcl mở rộng hướng đối tượng và các thư viện mô phỏng mạng.
NS sử dụng hai ngôn ngữ lập trình: Ngôn ngữ kịch bản OTcl và ngôn ngữ lập trình hệ thống C++.
NS là tầng biên dịch Tcl để chạy các kịch bản Tcl
Bằng cách sử dụng C++/OTcl, bộ mô phỏng mạng phải hoàn toàn là hướng đối tượng
Trang 17Hình 2.10 TclCL hoạt động như liên kết giữa A và B
TclCL là ngôn ngữ được sử dụng để cung cấp liên kết giữa C++ và OTcl Các kịch bản Tcl/OTcl được viết để thiết lập và cấu hình topology của mạng TclCL cung cấp liên kết giữa phân cấp lớp, khởi tạo đối tượng, nối kết biến và gửi lệnh.
NS phải sử dụng đến 2 ngôn ngữ vì Bộ mô phỏng cần thực hiện hai việc khác nhau:
Việc 1: Các mô phỏng cho các giao thức yêu cầu một ngôn ngữ lập trình hệ thống có thể tính toán hiệu quả các byte, các tiêu đề packet và các thuật toán thực thi đang chạy trên một tập dữ liệu lớn Với tác vụ này, run-time speed (tốc độ thời gian chạy thực) là quan trọng trong khi turn – around time ( thời gian thay đổi) thì ít quan trọng hơn Turn- around time bao gồm thời gian chạy mô phỏng, thời gian tìm lỗi, thời gian sửa lỗi, thời gian biên dịch lại và thời gian chạy lại.
Việc 2: Khi nghiên cứu mạng thì rất cần quan tâm đến các tham số và cấu hình có thay đổi nhưng không đáng kể, hay quan tâm đến các scenario ( tình huống) cần khám phá thật nhanh chóng Trong tác vụ này thì iteration time ( thời gian lặp lại, tức là thời gian thay đổi mô hình và chạy lại) là quan trọng hơn Vì cấu hình chỉ chạy một lần lúc bắt đầu mô phỏng nên run-time trong tác vụ này rõ ràng kém quan trọng hơn.
Vì thế mà dùng C++ để:
Mô phỏng giao thức chi tiết theo yêu cầu ngôn ngữ lập trình hệ thống Thao tác trên byte, xử lý gói, thực thi thuật toán
Tốc độ thời gian thực là quan trọng nhất
Thực hiện bất kỳ việc gì mà cần phải xử lý từng packet của một luồng
Thay đổi hành vi của lớp C++ đang tồn tại theo những hướng đã không được lường trước.
Dùng OTcl để:
Trang 18 Mô phỏng những thông số hay cấu hình thay đổi Cấu hình, thiết lập những gì chỉ làm 1 lần
Thực hiện những cái ta muốn bằng cách thao tác trên các đối tượng C++ đang tồn tại
2.1.3 Đặc điểm của NS-2
NS-2 thực thi những tính năng sau:
Các kỹ thuật quản lý hàng đợi Router như DropTail, RED, CBQ
Khả năng kiểm tra tính ổn định của các giao thức mạng đang tồn tại Khả năng đánh giá các giao thức mạng mới trước khi đưa vào sử dụng
Khả năng thực thi những mô hình mạng lớn mà gần như ta không thể thực thi được trong thực tế.
Khả năng mô phỏng nhiều loại mạng khác nhau
2.1.4 Giới thiệu phần mền Nam dùng kết hợp với NS-2
Các tính năng của Nam
Cung cấp trình diễn ảo cho mạng đã được tạo Có thể thi hành trực tiếp từ kịch bản Tcl
Nam có giao diện đồ họa bắt mắt của CD player với các điểu khiển bao gồm play, stop, fast forward, rw, pause …
Biểu diễn thông tin như số packet trên từng link
Cung cấp giao diện rê và thả cho việc tạo ra các topoloty
Trang 19Hình 2.11 Giao diện đồ hoạ Nam Các chức năng của Nam trong giao diện đồ họa người dùng
Cửa sổ Nam Console: Sau khi khởi động Nam, cửa sổ Nam console xuất hiện Trong cửa sổ Nam Console có hai menu chính‘File’và ‘Help’.
• Trong menu File có:
New: Tạo mới một topology ns dùng chương trình soạn thảo Nam Open: Mở các file trace đã tồn tại (mở cửa sổ minh họa Nam) WinList: Mở cửa sổ liệt kê tên của tất cả các file trace đang mở Quit: Thoát khỏi Nam
Trang 20• Trong menu Help: Các trợ giúp đơn giản, xem phiên bản, thông tin về bản quyền.
Cửa sổ minh họa Nam: Khi một file trace được tải vào Nam (File/Open) thì cửa sổ minh họa Nam xuất hiện Giao diện chính có Menu File, Views, Analysis
Trang 21Hình 2.13 Cửa sổ minh họa Nam
2.2 Sử dụng OTCL SCRIPT để viết các kịch bản mô phỏng mạng trong NS-2
2.2.1 Tổng quan về OTCL SCRIPT
NS là trình biên dịch OTcl với các thư viện đối tượng mô phỏng mạng Ví dụ sau giúp chúng ta tiếp cận với Otcl.
Chạy ví dụ này bằng cách gõ lệnh “ns ns-simple.tcl”.
Trang 22Hình 2.14 Topology mạng đơn giản và kịch bản mô phỏng
Mạng trên gồm 4 node (n0, n1, n2, n3) Duplex-link (liên kết truyền dữ liệu hai chiều diễn ra đồng thời) giữa node n0 và n2, n1 và n2 có bandwith= 2Mbps,
delay=10ms Duplex-link giữa n2 và n3 có bandwidth=1.7Mbps, và delay=20ms Các node dùng hàng đợi DropTail, maxsize=10.
Agent “tcp” gắn với n0 và agent “sink” gắn với n3 Agent “tcp” có thể tạo packet với maxsize=1 Kbyte Agent tcp “sink” tạo và gửi packet dạng ACK cho sender (sender là agent gửi packet đi) và giải phóng packet nhận được Agent “udp” gắn với n1 sẽ kết nối với agent “null” gắn với n3 Agent “null” chỉ giải phóng packet đã nhận được Bộ khởi tạo lưu lượng “ftp” và “cbr” tương ứng được gắn vào agent “tcp” và “udp” “cbr” được cấu hình để tạo ra packet 1 Kbyte tại tốc độ 1 Mbps “cbr” được thiết lập cho start bắt đầu tại thời điểm 0.1 giây và kết thúc tại thời điểm 4.5 giây, “ ftp” bắt đầu lúc 1.0 giây và kết thúc lúc 4.0 giây.
#Create a simulator object set ns [new Simulator]
#Define different colors for data flows (for NAM) $ns color 1 Blue
$ns color 2 Red
#Open the NAM trace file set nf [open out.nam w] $ns namtrace-all $nf
Trang 23#Define a 'finish' procedure
#Execute NAM on the trace file exec nam out.nam & #Give node position (for NAM)
$ns duplex-link-op $n0 $n2 orient right-down $ns duplex-link-op $n1 $n2 orient right-up $ns duplex-link-op $n2 $n3 orient right
#Monitor the queue for link (n2-n3) (for NAM)
Trang 24#Setup a FTP over TCP connection set ftp [new Application/FTP] $ftp attach-agent $tcp
$ftp set type_ FTP
#Setup a UDP connection set udp [new Agent/UDP] $ns attach-agent $n1 $udp set null [new Agent/Null] $ns attach-agent $n3 $null $ns connect $udp $null $udp set fid_ 2
#Setup a CBR over UDP connection set cbr [new Application/Traffic/CBR] $cbr attach-agent $udp
$cbr set type_ CBR
$cbr set packet_size_ 1000 $cbr set rate_ 1mb
Trang 25$cbr set random_ false
#Schedule events for the CBR and FTP agents $ns at 0.1 "$cbr start"
$ns at 1.0 "$ftp start" $ns at 4.0 "$ftp stop" $ns at 4.5 "$cbr stop"
#Detach tcp and sink agents (not really necessary)
$ns at 4.5 "$ns detach-agent $n0 $tcp ; $ns detach-agent $n3 $sink" #Call the finish procedure after 5 seconds of simulation time
$ns at 5.0 "finish"
#Print CBR packet size and interval
puts "CBR packet size = [$cbr set packet_size_]" puts "CBR interval = [$cbr set interval_]"
#Run the simulation $ns run
Kết quả của kịch bản trên
Trang 26Hình 2.15 Minh họa NAM cho kịch bản OTcl
Đầu tiên là quá trình thiết lập mạng cơ bản NS Script bắt đầu bằng việc tạo ra một instance cho đối tượng Simulator ( đối tượng mô phỏng).
set ns [new Simulator] :
Tạo instance của Simulator, gán vào biến ns Dòng này sẽ thực hiện lệnh Khởi tạo định dạng packet
Tạo bộ lập lịch ( mặc định là Calender scheduler – Bộ lập lịch thời gian) Đối tượng “ Simulator” có các hàm thành viên thực hiện những việc sau Tạo đối tượng ghép như các node và các link.
Connect (nối) các đối tượng thành phần mạng đã được tạo lại với nhau ( ví dụ hàm attach-agent).
Gán giá trị cho các tham số cho các đối tượng thành phần mạng ( thường là cho các đối tượng ghép).
Tạo các connection giữa các agent ( ví dụ tạo connection giữa “tcp” và “sink”) Xác định tuyến tùy chọn trình diễn Nam.
Hầu hết các hàm thành viên dùng cho mục đích thiết lập mô phỏng ( được đề cập đến như các hàm plumbing) và cho mục địch lập lịch Tuy nhiên cũng có những hàm
Trang 27cho việc trình diễn bằng Nam Các thực thi cho các hàm thành viên của đối tượng “Simulator” được định vị trong file “ns-2/tcl/lib.ns-lib.tcl”
$ns color fid color:
Gán màu các packet cho luồng có mã nhận dạng luồng fid Hàm thành viên này của đối tượng Simulator được dùng cho việc trình diễn NAM, và không có tác dụng gì trên mô phỏng thực tế.
$ns namtrace-all file-descriptor:
Hàm thành viên này yêu cầu mô phỏng lưu lại các dấu vết mô phỏng vào trong định dạng đầu vào cho NAM Đồng thời có thể cung cấp tên file mà trace ( dấu vết) sẽ được ghi vào bằng lệnh $ns flush-trace tương tự, hàm thành viên trace-all dùng lưu trace theo định tuyến dạng chung.
proc finish{}:
Hàm được gọi sau khi mô phỏng đã kết thúc Trong hàm này các tiến trình post-simulation ( mô phỏng thông báo được xác định).
set n0 [$ns node]:
Hàm thành viên Node khởi tạo một node Node trong NS là đối tượng ghép bao gồm address (địa chỉ) và port classifiers (bộ phân loại cổng) User có thể tạo node bằng cách tạo riêng đối tượng address và port classifier và nối chúng lại với nhau Tuy nhiên các hàm thành viên của đối tượng Simulator đã thực hiện việc này rất đơn giản Xem file “C:\cygwin\usr\local\ns-allinone-2.29.3\ns-allinone-2.29\ns-2.29\tcl\lib\ ns-node.tcl” để viết Simulator tạo node như thế nào.
$ns duplex-link node1 node2 bandwidth delay queue-type:
Tạo 2 simplex link (liên kết đơn) với bandwidth và delay xác định tuyến, nối hai node xác định lại với nhau Trong NS, hàng đợi đầu ra của node được thực thi như một phần của link, vì vậy user nên xác định luôn queue-type khi khởi tạo link Giống như node, link là đối tượng ghép, user có thể tạo và nối các link với các node Mã nguồn link được tìm trong file
“2.29\tcl\lib\ ns-lib.tcl” và “C:\cygwin\usr\local\ns-allinone-2.29.3\ns-allinone-2.29\ns-2.29\tcl\lib\ ns-link.tcl”
$ns queue-limit node1 node2 number:
Xác định giới hạn hàng đợi của hai simplex link kết nối node1 và node2 với nhau $ns duplex-link-op $n0 $n2 orient right-down:
Dùng cho Nam
Quá trình tiếp theo là thiết lập các agent như FTP, CBR, connect các agent với các node và connect các nguồn traffic với các agent.
set tcp [new Agent/TCP]:
Lệnh tạo ra một agent TCP và đây cũng là cách để tạo ra bất kỳ agent hay nguồn traffic nào Các agent và các nguồn traffic chứa trong các đối tượng cơ bản thực (không phải trong đối tượng kép), hầu như được thực thi trong C++ và được liên kết đến OTcl Vì vậy, không có hàm thành viên nào của một đối tượng Simulator xác định là có thể