Professional Documents
Culture Documents
Đề tài tìm hiểu ns2 và demo
Đề tài tìm hiểu ns2 và demo
MỤC LỤC
MỤC LỤC...........................................................................................................................1
A.GIỚI THIỆU VỀ NS2:.....................................................................................................2
I.GIỚI THIỆU VỀ NS:........................................................................................................2
II.CÀI ĐẶT NS2:.................................................................................................................3
1.Cài trên windowns:......................................................................................................3
2.Cài ns-2 trên ubuntu:.....................................................................................................4
III.TÌM HIỂU VỀ NS2:.......................................................................................................4
1.KHỞI TẠO VÀ KẾT THÚC:.......................................................................................4
2.TẠO NÚT MẠNG:.......................................................................................................5
3.TẠO LIÊN KẾT CÁC NÚT MẠNG:...........................................................................6
a.Liên kết đơn công :....................................................................................................6
b.Liên kết song cong:...................................................................................................6
c.Làm đứt liên kết giữa 2 nút:..........................................................................................6
4.CÁC TÁC NHÂN-AGNET TRONG NS2:.................................................................6
a.khái niệm Agnet:.......................................................................................................6
b.Agent UDP:...............................................................................................................7
c.Agnet TCP:................................................................................................................7
4.LỚP ỨNG DỤNG TRONG NS2:.................................................................................8
a.Lớp Application: ......................................................................................................8
b.Phân loại ứng dụng:..................................................................................................8
c.Ứng dụng phát sinh lưu lượng mạng:.......................................................................9
d.Ứng dụng giả lập mạng:..........................................................................................10
6.LẬP LỊCH SỰ KIỆN:.................................................................................................10
7.HIỂN THỊ DÙNG NAM:...........................................................................................10
8.LIÊN KẾT LỖI:..........................................................................................................10
IV.CÁC PHẦN MỀM KẾT HỢP VỚI NS-2:..................................................................11
1.NAM...........................................................................................................................11
2. TRACEGRAPH: .......................................................................................................12
B.PHẦN BÀI TẬP DEMO:...............................................................................................14
1
ĐỒNG HỮU NGỌC HUY
A.GIỚI THIỆU VỀ NS2:
I.GIỚI THIỆU VỀ NS:
• Ns là một phần mềm mô phỏng mạng điều khiển sự kiện riêng rẽ
hướng đối tượng ,được viết bằng ngôn ngữ C++ va OTCL.
• Trong đó, C++ dùng để xử lý dữ liệu, các thao tác về gói tin và
Otcl được sử dụng để định dạng cấu hình mô phỏng, điều khiển
mô phỏng.
• Đây là lí do để hệ mô phỏng NS đạt hiệu quả. Để giảm bớt thời
gian xử lý gói tin và những sự kiện trong mô phỏng, tất cả đều
được thực hiện trên C++.
• NS được sử dụng để mô phỏng LAN và WAN .
• NS-2 được thiết kế để chạy trong môi trường Unix.Vì thế để chạy
NS-2 trên windows ta cần Cygwin là phần mềm giả lập môi trường
Unix trong Windows.
• 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à Giao thức gói người dùng (UDP); các dịch vụ nguồn
lưu lượng như Giao thức truyền tập tin (FTP), Telnet, Web, 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.
2
ĐỒNG HỮU NGỌC HUY
• 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 mô đun Trợ giúp Thiết lập Mạng
• Plumbling Modules Các mô đun Plumbling
• Simulation Results Các kết quả Mô phỏng
• Analysis Phân tích
• NAM Network Animator Minh họa Mạng NAM
3
ĐỒNG HỮU NGỌC HUY
tại dấu mời gõ lệnh: ./install
chương trình se thực hiện cài đặt NS-2 cho đến khi hoàn thành
Mở file BASHRC này (với chương trình Wordpad) trong thư mục
C:\Cygwin\home\<tên người sử dụng> và sửa lại như sau:
export NS_HOME=/cygdrive/c/cygwin/home/tên người sử dụng/ns-
allinone-2.30
export PATH=$NS_HOME/tcl8.4.13/unix:$NS_HOME/tk8.4.13/unix:
$NS_HOME/bin:$PATH
export LD_LIBRARY_PATH=$NS_HOME/tcl8.4.13/unix:
$NS_HOME/tk8.4.13/unix:$NS_HOME/otcl-1.12:$NS_HOME/lib:
$LD_LIBRARY_PATH
export TCL_LIBRARY=$NS_HOME/tcl8.4.13/library
4
ĐỒNG HỮU NGỌC HUY
• Để có file đầu ra với dữ liệu mô phỏng (file bám vết ) hay các file sử
dụng cho hiển thị (file nam) thì chúng ta cần tạo file này bằng cách sử
dụng lệnh open như sau:
#mở file bám vết
Set tracefile1 [open out.tr w]//tao file bám vết tên là out.tr
$ns trace-all $tracefile1
#mở file bám vết nam
Set namfile [open out.nam w]//tạo file bám vết tên là out.nam
$ns namtrace-all $namfile
• Trong tập lệnh tcl,các file out.nam và out.tr không được gọi trực tiếp
mà thông qua 1 tên biến tracefile1 và namfile .
• Phương thức trace-all là tên của file mà các trace sẽ chạy.
• Để kết thúc chương trình ta dùng hàm finish
#định nghĩa 1 thủ tục `finish'
Proc finish {} {
glocal ns tracefile1 namfile
$ns flush-trace
close $tracefile1
close $namfile
exe nam out.nam &
exit 0
}
• Để gọi thủ tục hàm finish ta dùng lệnh $ns at t “finish” ,trong đó t là
thời điểm muốn gọi hàm finish tính bằng giây.
• Để bắt đầu quá trình mô phỏng : $ns run.
5
ĐỒNG HỮU NGỌC HUY
3.TẠO LIÊN KẾT CÁC NÚT MẠNG:
Trong ns2 có 2 loại liên kết các node:
+liên kết đơn công(simple link)
+liên kết song công(duplex-link)
6
ĐỒNG HỮU NGỌC HUY
• Agent / Null
Các TCP Agent truyền dữ liệu
• Agent / TCP
• Agent / TCP / Reno
• Agent / TCP / Sack
• Agent / TCP / Vegas
• Agent / TCp / Fack
• Agent/UDP
b.Agent UDP:
• là agent không hướng đối tượng tức là không cơ chế phát hiện gói tin
bị mất khi truyền và truyền lại gói tin khi bị mất.
• Tạo 1 đối tượng UDP:
Set udp(int) [new agent/udp]
• Kết nối agent udp cho node:
$ns attach-agent <$node> <$agent>
• Cài đặt ứng dụng cho agent:
$traffic-gen attach-agent <$agent>
Trong đó: traffic-gen:là tên ứng dụng,để tạo 1 ứng dụng cú pháp:
Set traffic-gen [new application/traffic/traffic-gen]
• Tạo kết nối giữa 2 agnet:
$ns connect <$agnet1> <$agent2>
• Cấu hình cho 1 agent UDP:
$udp set packsize _<kich_thước>
$udp set dst_addr_<address>
$udp set dst_port_<portnum>
$udp set class_<class-type>
$udp set ttl_<time to live>
c.Agnet TCP:
Cấu hình TCP:
set tcp [new Agent/TCP]//tạo ra biến con trỏ tcp cho tác nhân TCP
set sink [new Agent/TCPSink]//định nghĩa nút TCP đích và gán nó
cho biến con trỏ sink
$ns attach-agent $n0 $tcp //định nghĩa nut nguồn kết nối TCP
$ns attach-agent $n1 $tcp_sink//định nghĩa nút đích
$ns connect $tcp $tcp_sink//kết nối TCP giữa các nút nguồn và đích
7
ĐỒNG HỮU NGỌC HUY
gồm 2 loại:
+agnet 1 chiều.
+agent 2 chiều.
Agent một chiều là những agent chỉ đóng một trong hai vai trò hoặc là bên
gởi hoặc là bên nhận. Trong khi đó, agent hai chiều là agent đóng cả hai vai
trò vừa là bên nhận, vừa là bên gởi.
• Một số tcp bên gửi:
Tcp reno:
TCP Newreno
a.Lớp Application:
• Ứng dụng trong NS-2 được xây dựng bỡi lớp application được cài đặt
trong phần nhân của NS-2.
• Lớp Application cung cấp một số phương thức cơ bản cho quá trình
hoạt động của một ứng dụng: send(), recv(), resume(), start(),
stop(), một con trỏ trỏ đến giao thức ở tầng vận tải bên dưới mà nó
kết nối.
8
ĐỒNG HỮU NGỌC HUY
c.Ứng dụng phát sinh lưu lượng mạng:
Ứng dụng phát sinh lưu lượng mạng có thể chia làm ba loại: exponential,
pareto và CBR.
• Exponential: phát sinh lưu lượng mạng theo hai trạng thái ON/OFF.
Ở trạng thái “ON”, các gói dữ liệu được phát sinh theo một tốc độ
truyền không đổi. Ngược lại, trong trạng thái “OFF”, không phát
sinh lưu lượng mạng. Các tham số cấu hình cho đối tượng:
PacketSize_ : kích thước của gói dữ liệu.
burst_time_ : thời gian trung bình trong ở trạng thái ON.
idle_time_ : thời gian trung bình trong ở trạng thái OFF.
rate_ : tốc độ gởi các gói dữ liệu.
Cú pháp:$exponential set thamso
• Pareto (Application/Traffic/Pareto): phát sinh lưu lượng
mạng theo hai trạng thái ON, OFF. Các tham số cấu hình:
PacketSize_ : kích thước của gói dữ liệu.
burst_time_ : thời gian trung bình trong ở trạng thái ON.
idle_time_ : thời gian trung bình trong ở trạng thái OFF.
rate_ : tốc độ gởi các gói dữ liệu
Cú pháp:$pareto set thamso
• Đối tượng CBR (Application/Traffic/CBR) dùng để phát sinh các
gói dữ liệu theo một tốc độ bit không đổi. Các tham số cấu hình:
PacketSize_ : kích thước của gói dữ liệu.
rate_ : tốc độ truyền dữ liệu.
interval_ : khoảng thời gian giữa hai lần truyền dữ liệu.
random_ : phát sinh tín hiệu nhiễu một cách ngẫu nhiên. Giá trị
mặc định là off.
maxpkts_ : số packet lớn nhất được truyền đi.
9
ĐỒNG HỮU NGỌC HUY
Cú pháp:$cbr set thamso
10
ĐỒNG HỮU NGỌC HUY
Đặt câu lệnh trước các đối tượng được tạo ra.
1.NAM
a.Chạy nam:ở màn hinh lệnh gõ nam
b.chức 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 đồ hoạ bắt mắt của CD player với các điều khiển
bao gồm play (chạy), stop (ngưng), fast forward (chạy tiếp nhanh), rw
(lùi lại), pause (tạm ngưng), điều khiển tốc độ trình diễn và tính năng
giám sát packet
• Biểu diễn thông tin như throughput (thông lượng), số packet trên từng
link
• Cung cấp giao diện rê và thả cho việc tạo ra các topology (mô hình).
c.sử dụng NAM:
11
ĐỒNG HỮU NGỌC HUY
• Các TCP Agent truyền dữ liệu
• Agent / TCP
• Agent / TCP / Reno
• Agent / TCP / Sack
• Agent / TCP / Vegas
• Agent / TCp / Fack
• Agent/UDF
2. TRACEGRAPH:
-TraceGraph là bộ phân tích file trace. Tracegraph chạy trong hệ điều hành
Windows, Linux, Unix và yêu cầu hệ thống có cài đặt Matlab 6.0 (hoặc các
phiên bản cao hơn).
-gọi
Tracegraph hỗ trợ các định dạng file trace như sau:
• Wired (có dây)
• Satellite (vệ tinh)
• Wireless (không dây)
a.chức năng của Tracegraph:
• 238 đồ thị 2D (hai chiều)
• 12 đồ thị 3D (ba chiều)
• Các đồ thị và các thống kê về Delay (trì hoãn), jitter (độ rung pha),
processing times (số lần xử lý), Round Trip Times (số lần khứ hồi),
intermediate nodes (số node trung gian) và throughput (thông lượng)
• Các đồ thị và các thống kê cho toàn network (mạng), link (liên kết) và
node
• Tất cả các kết quả có thể được lưu vào file dạng text (dạng văn bản),
các đồ thị có thể lưu dưới dạng file jpeg hay tiff.
12
ĐỒNG HỮU NGỌC HUY
• Thông tin của trục x,y,z: minimum (giá trị nhỏ nhất), mean (giá trị
trung bình), maximum (giá trị lớn nhất), standard deviation (độ lệch
tiêu chuẩn) và median (số trung bình)
• Nếu các đồ thị lưu trong file text thì trong file này có thể dựa vào
thông tin 2 hay 3 cột để vẽ lại đồ thị.
• Xử lý các file kịch bản để phân tích một cách tự động
13
ĐỒNG HỮU NGỌC HUY
Giao diện đồ họa người dùng Trace graph
Mô tả bài toán:
Cho mạng thông tin có cấu hình như hình.Nút s1 va s2 tương
ứng tạo ra các nguồn lưu lượng tcp1 và tcp2 gửi gói tin đến nút d
dựa trên giao thức truyền TCP.Các gói được phát sinh gói tại các
nguồn này một các đều đặn với tốc độ tương ứng là 500 và 600
gói/s chiều dài gói là 1300byte.Nút s3 có nguồn lưu lượng UDP
phát ra những gói gửi tới d3 với chiều dài là 1024byte/s,số lượng
gói tuân theo phân bố poisson tốc đọ là 400 gói/s.Các hàng đợi gắn
với các liên kết sử dụng cơ chế SFQ.
14
ĐỒNG HỮU NGỌC HUY
1.viết kịch bản và chạy mô phỏng hệ thống thông tin nói trên trong
khoảng thời gian 4 phút.
2.thu thập và vẽ đồ thị các số liệu khả thông và tỉ lệ mất gói của
từng luồng từng luồng tại từng nút,kích thước hàng đợi trên các
liên kết node_2-node_5,node _4-node_5 và node_3-node_4
---------kết thúc---------
15
ĐỒNG HỮU NGỌC HUY