TÀI LIỆU THAM KHẢO
Tiếng Việt
[1] Nguyễn Hoàng Cẩm, Trịnh Quang. Các giải pháp định tuyến tối ưu trong mạng di động không dây tuỳ biến. Tạp chí Bưu Chính Viễn Thông. Tháng 3 năm 2006
[2] Hoàng Trọng Minh. Định tuyến trong mạng kết nối hình lưới WLAN. Tạp chí Bưu Chính Viễn Thông. Tháng 10 năm 2008.
[3] Nguyễn Thị Minh Nguyệt. Đánh giá hiệu suất bằng mô phỏng các thuật toán định tuyến trong mạng đặc biệt di động MANET. Luận văn cao học. Hà Nội, 2005.
[4] Hà Minh Toản. Nguyên cứu một số giao thức truy cập môi trường truyền trong mạng LAN 802.11. Khóa luận tốt nghiệp. Hà Nội, 2005.
[5] Nguyễn Đình Việt. Đánh giá hiệu năng mạng máy tính. Hà Nội, 2008.
Tiếng Anh
[1] Eitan Altman, Tania Jimenez. NS Simulator for beginners. Univ. de Los Andes , Mérida, Venezuela and ESSI, Sophia-Antipolis, France. December 4, 2003.
[2] Humayun Bakht. The future of mobile ad-hoc networks. Computing Unplugged Magazine. October 2010.
[3] Jae Chung and Mark Claypool. NS by Example. WPI worcester polytechnic institute Computer Science.
[4] Kevin Fall, Kannan Varadhan. The NS manual. VINT Project. April 14, 2002.
[5] Marc Greis.Tutorial for the network simulator “NS”. VINT Group http://www.isi.edu/nsnam/ns/tutorial/
[6] Bernd Gloss, Michael Scharf, Daniel Neubauer. A more realistic random direction mobility model. University of Stuttgart. October 2005.
[7] David B. Johnson, David A. Maltz, Yih-Chun Hu. (2003), “The Dynamic Source Routing Protocol for Mobile Ad Hoc Networks (DSR)”, Published by IETF as RFC, work in progress , April 2003.
[8] T. Clausen, Ed., P. Jacquet, Ed. (2003), “Optimized Link State Routing Protocol (OLSR)”, RFC 3626, IETF Network Working Group
[9] Todd Lammle. CCNA study guide 4th edition. SYBEX 2004.
[10] The SECAN-Lab of the University of Luxembourg. http://wiki.uni.lu/secan-lab/Ad-Hoc+Protocols.html
[11] V. Park and M. Corson (2001), “Temporally-Ordered Routing Algorithm (TORA)”, IETF Internet Draft, work in progress, 20 July 2001
[12] C. Perkins, E. Belding-Royer, S. Das. (2003), Ad hoc On-Demand Distance Vector (AODV) Routing, IETF Mobile Ad Hoc Network Working Group, Internet Draft, work in progress, 19 October 2003.
[13] Charles E. Perkins, Pravin Bhagwat. (1994), “Highly dynamic Destination-Sequenced Distance Vector routing (DSDV) for mobile computers”, ACM SIGCOMM Computer Comm. Rev., 4(24), pp. 234-244, 1994.
[14] Jochen H. Schiller. Mobile Communications , Addison-Wesley, 2nd edition, 2003
[15] Karthik Sadasivam. Tutorial for Simulation-based Performance Analysis of MANET Routing Protocols in ns-2. Page 4 – 9
[16] History of wireless. http://wirelesshistory.org
[17] Thomas Williams & Colin Keylley. Gnuplot 4.4 - An Interactive Plotting Program. March 2010.
[18] Wikipedia. http://wikipedia.org
PHỤ LỤC Bảng các trường phụ thêm vào trong cấu trúc tệp vết phụ thuộc vào kiểu gói tin
Event
Type
Value
Ý Nghĩa
ARP Trace
------- [%s %d/%d %d/%d]
string
Request or Reply
Gói tin yêu cầu hoặc Trả lời
int
Source MAC Address
Địa chỉ MAC nguồn
int
Source Address
Địa chỉ nguồn
int
Destination MAC Address
Địa chỉ MAC đích
int
Destination Address
Địa chỉ đích
DSR Trace
%d [%d %d] [%d %d %d %d->%d] [%d %d %d %d->%d]
int
Number Of Nodes Traversed
Số nút đã đi qua.
int
Routing Request Flag
Cờ yêu cầu định tuyến
int
Route Request Sequence Number
Số thứ tự yêu cầu tuyến đường
int
Routing Reply Flag
Cờ trả lời định tuyến
int
Route Request Sequence Number
Số thứ tự yêu cầu tuyến đường
int
Reply Length
Chiều dài gói tin trả lời
int
Source Of Source Routing
Định tuyến nguồn của nút nguồn
int
Destination Of Source Routing
Định tuyến nguồn của nút đích
int
Error Report Flag (?)
Cờ báo lỗi
int
Number Of Errors
Số lượng lỗi
int
Report To Whom
Báo cáo tới nút nào
int
Link Error From
Liên kết lỗi từ đâu tới
int
Link Error To
Liên kết lỗi đi tới đâu
AODV Trace
[0x%x %d %d [%d %d] [%d %d]] (REQUEST)
hexadecimal
Type
Kiểu
int
Hop Count
Số Hop tính được
int
Broadcast ID
ID quảng bá
int
Destination
Đích
int
Destination Sequence Number
Số thứ tự nút đích
int
Source
Nguồn
int
Source Sequence Number
Số thứ tự nút nguồn
[0x%x %d [%d %d] %f] (%s)
hexadecimal
Type
Kiểu
int
Hop Count
Số Hop tính được
int
Destination
Đích
int
Destination Sequence Number
Số thứ tự nút đích
double
Lifetime
Thời gian sống
string
Operation (REPLY, ERROR, HELLO)
Hoạt động: Trả lời, Lỗi hay gói tin Hello
TORA Trace
[0x%x %d] (QUERY)
hexadecimal
Type
Kiểu
int
Destination
Đích
0x%x %d (%f %d %d %d %d) (UPDATE)
hexadecimal
Type
Kiểu
int
Destination
Đích
double
Tau
int
Oid
int
R
int
Delta
int
ID
Chỉ số
[0x%x %d %f %d] (CLEAR)
hexadecimal
Type
Kiểu
int
Destination
Đích
double
Tau
int
Oid
IMEP Trace
[%c %c %c 0x%04x]
char
Acknowledgment Flag
Cờ biên nhận
char
Hello Flag
Cờ Hello
char
Object Flag
Cờ đối tượng
hexadecimal
Length
Chiều dài
RCA Trace (from MIT Leach code)
------- [%c %d %d %d]
char
Operation (A, R, D)
int
RCA Source
int
RCA Link Destination
int
RCA MAC Destination
Mô phỏng mạng MANET
# MANET_Simulation.
#
# Define options_
set val(chan) Channel/WirelessChannel
set val(prop) Propagation/TwoRayGround
set val(netif) Phy/WirelessPhy
set val(mac) Mac/802_11
set val(ifq) Queue/DropTail/PriQueue
set val(ll) LL
set val(ant) Antenna/OmniAntenna
set val(ifqlen) 50
set val(seed) 0.0
set val(nn) 50
set val(rp) DSDV
set val(x) 1500
set val(y) 1500
set val(cp) "…/tcp-50-2-10"
set val(sc) "…/scenario-50-30-10-600-1500-1500"
set val(stop) 600 ;# time of simulation end
set ns_ [new Simulator]
set namtrace [open MANET.nam w]
set tracefd [open MANET.tr w]
$ns_ trace-all $tracefd
$ns_ namtrace-all-wireless $namtrace $val(x) $val(y)
#Set up topography object
set topo [new Topography]
$topo load_flatgrid $val(x) $val(y)
#
# Create God
#
set god_ [create-god $val(nn)]
#-------------------------------------------------------
#Create nn mobilenodes and attach them to channel
#Configure the nodes
$ns_ node-config -adhocRouting $val(rp) \
-llType $val(ll) \
-macType $val(mac) \
-ifqType $val(ifq) \
-ifqLen $val(ifqlen) \
-antType $val(ant) \
-propType $val(prop) \
-phyType $val(netif) \
-channelType $val(chan) \
-topoInstance $topo \
-agentTrace ON \
-routerTrace ON \
-macTrace OFF \
-movementTrace ON
for {set i 0} {$i < $val(nn) } { incr i } {
set node_($i) [$ns_ node]
$node_($i) random-motion 0
}
#
# Define node movement model
#
puts "Loading connection pattern..."
source $val(cp)
#
# Define traffic model
#
puts "Loading scenario file..."
source $val(sc)
# Define node initial position in nam
for {set i 0} {$i < $val(nn)} {incr i} {
#30 defines the node size for nam
$ns_ initial_node_pos $node_($i) 30
}
# Telling nodes when the simulation ends
for {set i 0} {$i < $val(nn)} {incr i} {
$ns_ at $val(stop) "$node_($i) reset";
}
$ns_ at $val(stop).0002 "puts \"ns_ EXITING...\" ; $ns_ halt"
puts $tracefd "M 0.0 nn $val(nn) x $val(x) y $val(y) rp $val(rp)"
puts $tracefd "M 0.0 sc $val(sc) cp $val(cp) seed $val(seed)"
puts $tracefd "M 0.0 prop $val(prop) ant $val(ant)"
#ending nam and the simulation
$ns_ at $val(stop) "$ns_ nam-end-wireless $val(stop)"
$ns_ at $val(stop) "stop"
proc stop {} {
global ns_ tracefd namtrace
$ns_ flush-trace
close $tracefd
close $namtrace
}
puts "Starting Simulation..."
$ns_ run
Tỷ lệ phân phát gói tin thành công
#!/usr/bin/perl
#
# Phạm Văn Tứ - K51MMT-UET-VNU.
# GVHD: PGS.TS. Nguyễn Đình Việt.
# GVĐHD: Ths. Đoàn Minh Phương.
#
# Tỷ lệ phân phát gói tin thành công (Hiệu suất đường truyền)
#---------------------------------------------------->
# Là tỷ lệ giữa số các gói tin được phân phát thành công tới đích
# so với số các gói tin tạo ra bởi nguồn phát.
#
# Tư tưởng giải thuật:
# - Ta dựa vào dấu hiệu trường: Trace level = AGT. Chỉ những gói tin gửi nhận của nút nguồn hoặc nút đích
# thì trường Trace level mới được gán nhãn AGT (gói tin tầng giao vận).Các nút trung gian khác thực hiện
# việc định tuyến, chuyển tiếp gói tin, hoạt động tại tầng Network nên Trace Level = RTR.
#
# - Do đó ta chỉ cần tính:
# + Tổng số gói tin các nút nguồn đã gửi (src_sent)
# + Tổng số gói tin các nút đích nhận được (dst_receive)
# ==> Tỷ lệ phân phát gói tin thành công = dst_receive*100/src_sent.
#
# type: perl Pkt_success_rate.pl
#====================================================
$infile=$ARGV[0];
$src_sent = 0; #Tổng số gói tin các nút nguồn gửi đi
$dst_receive = 0; #Tổng số gói tin các nút đích nhận được
$productivity = 0; #Hiệu suất đường truyền.
open (DATA, "<$infile") || die "Loi mo file: $infile $!";
while (){
@x = split(' ');
# Nút nguồn gửi gói tin
if (($x[0] eq 's') && ($x[3] eq 'AGT') && ($x[6] eq 'tcp')) {
$src_sent++;
}
# Nút đích nhận được gói tin
if (($x[0] eq 'r') && ($x[3] eq 'AGT') && ($x[6] eq 'tcp')){
$dst_receive++;
}
}
$productivity = $dst_receive*100/$src_sent;
print STDOUT "Tổng số gói tin các nút nguồn gửi đi = $src_sent \n";
print STDOUT "Tổng số gói tin các nút đích nhận được = $dst_receive \n\n";
print STDOUT "Tỷ lệ phân phát gói tin thành công = $productivity % \n";
close DATA;
exit(0);
Thời gian thiết lập kết nối
#!/usr/bin/perl
#
# Pham Van Tu - K51MMT - UET - VNU
# GVHD: PGS.TS. Nguyen Dinh Viet
#
# Tinh thoi gian thiet lap ket noi:
# Tinh tu khi nut nguon co yeu cau ket noi den khi no nhan duoc goi tin bien nhan (ACK)
#
# Type: perl Connection_time.pl
#
$infile=$ARGV[0];
$src=$ARGV[1];
$dst=$ARGV[2];
$start_time = 0; #Thoi diem nut nguon bat dau co yeu cau truyen
$end_time = 0; #Thoi diem nut nguon nhan duoc Ack
$connection_time = 0; #Thoi gian ket noi
$src_ = 0; #Chi so nut nguon.
$source = 0; #Dia chi nguon
$destination = 0; #Dia chi dich
open (DATA, "<$infile") || die "Loi mo file: $infile $!";
while (){
@x = split(' ');
# Lay thong tin tu file tep vet
$src_ = $x[2];
$source = $x[13];
$destination = $x[14];
# Xu ly xau(String) de lay ra truong so nham phuc vu cho viec so sanh.
# Loai bo 2 dau gach duoi "_" trong truong chi so nut nguon (_node-ID_)
$src_ = substr($src_, 1);
$src_ = substr($src_, 0, -1);
# Loai bo Port va dau [ truong dia chi nguon va dia chi dich.
$source = substr($source, 1);
$source = substr($source, 0, -2);
$destination = substr($destination, 0, -2);
# Nut nguon co nhu cau ket noi
if ((($x[0] eq "s") || ($x[0] eq "+")) && ($src_ == $src) && ($x[3] eq 'AGT') && ($x[6] eq 'tcp') && ($source == $src) && ($destination == $dst) && ($x[17] eq '[0')){
$start_time = $x[1];
}
# Nut nguon nhan duoc goi tin bien nhan (ACK)
if (($x[0] eq 'r') && ($src_ == $src) && ($x[3] eq 'AGT')&& ($x[6] eq 'ack') && ($source == $dst) && ($destination == $src) && ($x[17] eq '[0')){
$end_time = $x[1];
$connection_time = $end_time - $start_time;
last;
}
}
print STDOUT "\nThoi gian thiet lap ket noi tu nut $src toi nut $dst = $connection_time\n\n";
close DATA;
exit(0);
Chia sẻ với bạn bè của bạn: