introduction ns2
Post on 09-Jun-2015
1.102 Views
Preview:
TRANSCRIPT
Quan Bui Tien CS Course 51
Center for Training of Talented Engineers Hanoi University of Technology
Hanoi, Vietnam
1. Overview
2. NS2-Architecture
3. NS2- main component
1. Simulaton-related Object
2. Network Object.
3. Packet-related Object.
4. Helper Object
4. NS2-wireless simulation
Ns2- Network Simulation version 2
Là một công cụ sử dụng để mô phỏng mạng trên nền hê
điều hành mã nguồn mở Linux.
Được phát triển từ những năm 1995 bởi nhóm DARPA
trong một dự án mang tên : VINT.
Phổ biến trong các nghiên cứu khoa học về mạng.
sim
tk8.0 otcl Tcl tcl8.0 ns-2 nam-1
tcl
ex test lib
...
...
tcl code
example
validation test
C++ code
tcl code core
NS2 simulation steps:
◦ Simulation design : scenario, perfomance result, type of expected result.
◦ Configure and running simulation: network configure, implementation.
◦ Evaluating the perfomance result : analyze result
Simulation Design Configure and
Running Evaluation
set ns [ new Simulator ]
set n0 [ $ns node]
set n1 [ $ns node]
$ns duplex-link $n0 $n1 5mbps 2ms Droptail
set tcp0 [ new Agent / TCP]
$ns attach-agent $n0 $tcp0
set ftp0 [ new Application / Traffic / FTP]
$ftp0 attach-agent $tcp0
set null0 [ new Agent / Null]
$ns attach-agent $n1 $null0
$ns connect $tcp0 $null0
$ns at 1.0 " $ftp0 start "
$ns at 4.0 " $ftp0 stop "
0 1
n
1
tcp
ftp
null
Basic architecture
NS2 sử dụng đồng thời 2 ngôn ngữ lập trình hướng đối
tượng Otcl và C++.
C++ : Định nghĩa các packet, đối tượng.
Otcl : Điều khiển quá trình mô phỏng, thực thi nó.
Event Scheduler NS
TclCL
OTcl
Tcl
Netw
ork
Co
mp
on
en
ts
C++
Mô phỏng giao thức chi tiết 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.
Mô phỏng những thông số hay cấu hình thay đổi
◦ Tham dò nhanh một số tình huống
◦ Thời gian tương tác (thay đổi mô hình hay chạy lại) là quan
trọng
Cấu hình, thiết lập hay những gì chỉ làm một 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.
1. Simulaton-related Object
2. Network Object.
3. Packet-related Object.
4. Helper Object.
Các đối tượng này được sử dụng để điều khiển trong
suốt quá trình mô phỏng.
Thực chất của việc điều khiển này là lập lịch và thực
thi các event ( sự kiện ). NS2 sử dụng cơ chế : Discrete-
Event Simulation.
$ns at 0.5 “$ftp start”
$ns at 4.5 “$ftp stop”
$ns run
time_, uid_, next_, handler_
head_ ->
handler_ -> handle()
time_, uid_, next_, handler_ insert
4 đối tượng điển hình của nhóm các đối tượng điều
khiển này là :
◦ Simulator : set ns [new Simulator]
◦ Event :
◦ Handler :
◦ Scheduler:
Node
Mobile node
Connector
Link
Packet
Là đối tượng cơ bản, là cách
biểu diễn các đối tượng mạng
như host, router… trong quá
trình mô phỏng.
Node giữ 2 vai trò quan trọng
trong NS2:
◦ Router
◦ Host
Node architecture
n0 n1
Addr
Classifier
Port
Classifier
classifier_
dmux_
entry_
0
1
Addr
Classifier
Port
Classifier
classifier_
dmux_
entry_
1
0
Được định nghĩa trong ns2/common/node {.h,.cc}.
Mọi node đều định nghĩa:
◦ Address hoặc id (address_, id_)
◦ Danh sách node láng giềng. ( neghbor_list_).
◦ Danh sách các agent (agent_).
◦ Kiểu node (nodetype_).
◦ Module định tuyến.
Thực thi các thao tác, nhận,
gửi, chuyển tiếp các gói tin.
Là lớp cơ sở cho các lớp
quan trọng liên quan đến
links, delaylinks, agent,
trace…
enqT_ queue_ deqT_
drophead_ drpT_
link_ ttl_
n1
entry_
head_
Các giao thức trong Ns2 đều được thể hiện dưới các
Agents
Các agent kết hợp với các thành phần khác để tạo thành
một đối tượng node mạng hoàn chỉnh.
Các giao thức ứng dụng : http (httpAgent), telnet
(telnetAgent)…
Các giao thức chuyển vận: tcp (TCPAgent),
udp(UDPAgent)…
Các giao thức định tuyến : GPSR, LEACH..
Các hàm quan trọng :
◦ recv()
◦ send()
◦ command()
Mobile node.
Different simulation node and real node.
Kế thừa từ class NODE.
Consist :
◦ Link Layer (LL)
◦ ARP module connected to LL
◦ Interface priority queue (IFq)
◦ MAC layer (MAC)
◦ Network Interface (netIF)
Node config
top related