Trong cả hai mô hình Random Waypoint và Random Walk, chúng tôi xây dựng các mạng mô phỏng và cho mật độ nút trong mạng và vận tốc của chúng thay đổi theo hướng tăng dần, còn các tham số hoạt động khác là giống nhau, đồng thời chúng tôi đã sử dụng các nguồn sinh lưu lượng đưa vào mạng giống nhau đối với cả hai mô hình Random Waypoint và Random Walk với số kết nối là n/2 để đánh giá hiệu quả hoạt động của hai giao thức định tuyến AODV và DSR. Các giao thức này áp dụng các kỹ thuật định tuyến khác nhau bao gồm định tuyến nguồn và định tuyến dựa trên véc tơ khoảng cách. Từ những kết quả mô phỏng thu được, ta thấy được mỗi giao thức đã thể hiện tính hiệu quả khác nhau của các cơ chế định tuyến. Những kết luận chung nhất về hiệu suất của từng giao thức và các cơ chế định tuyến được trình bày dưới đây.
Thuộc giao thức định tuyến phản ứng, AODV là sự kết hợp cơ chế định tuyến véc tơ khoảng cách của DSDV và cơ chế định tuyến phản ứng theo yêu cầu của DSR. Sự kết hợp này đem đến cho AODV hiệu quả hoạt động rất tốt khi số nút mạng tăng.
Đánh giá hiệu quả hoạt động của AODV ta thấy đây là một giao thức phản ứng tốt với số nút mạng và độ linh động của các nút mạng.
Cuối cùng, ta xét đến hiệu quả hoạt động của giao thức định tuyến DSR. Cũng là giao thức phản ứng như AODV nhưng DSR dựa trên định tuyến nguồn. Chính vì vậy, khi cấu hình mạng thay đổi nhanh chóng do số nút mạng và độ linh động các nút thì DSR hoạt động kém hiệu quả. Kết quả là thông lượng của mạng thấp hơn AODV. Điều này cho thấy đặc điểm của các giao thức phản ứng theo yêu cầu là tải định tuyến thay đổi theo môi trường mạng. Khi vận tốc các nút tăng lên sẽ kéo theo cấu hình mạng thay đổi liên tục và nhanh chóng, tải định tuyến chuẩn hóa của các giao thức phản ứng đã cao hơn hẳn các giao thức chủ ứng. Nguyên nhân là sự bùng nổ các gói tin phát hiện đường, trả lời đường và thông báo lỗi.
KẾT LUẬN VÀ HƢỚNG PHÁT TRIỂN TIẾP THEO
Kết quả đạt được của luận văn
Luận văn đã trình bày kiến thức cơ sở và chuyên sâu về mạng MANET với trọng tâm là các kết quả nghiên cứu về dung lượng của mạng MANET. Đi đôi với sự phát triển nhanh chóng của mạng không dây là nhu cầu kết nối mọi lúc mọi nơi kể cả trong khi di chuyển đặt ra yêu cầu giải quyết được các vấn đề về dung lượng của mạng MANET khi phát triển số nút trong mạng và sự linh động của các nút trong mạng MANET. Đây là vấn đề khó và quan trọng trong hoạt động của loại mạng này.
Để đảm báo tính đúng đắn khi đánh giá các yêu cầu này, ngoài những phân tích định tính về các giải thuật thì ta cần đánh giá đượng dung lượng MANET trong một môi trường có đủ các yếu tố phức tạp của mạng thực. Trong chương 4, luận văn đã trình bày những nghiên cứu chi tiết về môi trường mạng, các yêu cầu làm việc hiệu quả đối với một giao thức định tuyến và xây dựng các mạng mô phỏng đáp ứng các yếu tố cần thiết mà môi trường thực có thể đặt ra cho các giao thức. Từ đó, trong chương 5 luận văn đã đưa ra các thí nghiệm với các tham số cấu hình mạng đa dạng cho việc đánh giá dung lượng của mạng MANET. Với những kết quả tính toán thu được, chúng tôi đã có những đánh giá định lượng về dung lượng của mạng MANET khi thay đổi số nút của mạng và mức độ linh động của các nút trong mạng nút trong mạng từ đó cũng có thể đánh giá mức độ hiệu quả của hai giao thức định tuyến trong mạng MANET là AODV và DSR.
Cụ thể, chúng tôi đã xem xét chi tiết hoạt động của hai giao thức định tuyến AODV và DSR với số nút mạng thay đổi từ 25, 49, 81,121, 169 nút và vận tốc di chuyển của các nút lần lượt là: 0, 5, 10, 15, 20 m/s. Kết hợp với kết quả mô phỏng đã cho thấy các kết luận như sau:
- Khi bố trí các nút mạng cố định dưới dạng lưới vuông thì dung lượng của mạng tăng lên khi thay đổi số nút trong mạng. Tuy nhiên khi tăng số nút mạng lên một giá trị nhất định nào đó thì dung lượng của mạng không còn tăng tuyến tính mà tuân theo quy luật hàm số log.
- Dung lượng của mạng giảm dần và có xu hướng tiệm cận với trục hoành khi vận tốc của các nút mạng tăng lên.
- Dựa trên các kỹ thuật định tuyến mà hai giao thức này sử dụng là khác nhau: AODV là giao thức phản ứng có kết quả hoạt động tốt nhất, trong các trường hợp khác nhau của số nút và độ linh động của nút mạng, thông lượng đầu cuối trung bình tốt nhất. DSR hoạt động kém hiệu quả hơn do các cơ chế của giao thức này chưa tối ưu
khi cấu hình mạng thay đổi nhanh với sự bùng nổ các gói tin điều khiển dẫn đến thông lượng của mạng khi số nút mạng thay đổi ở mức thấp.
Hướng nghiên cứu
Với những kết quả nghiên cứu mà luận văn đã đạt được, ta có được cái nhìn khái quát về mối quan hệ giữa số nút mạng và sự linh động của các nút với tính hiệu quả của các giao thức định tuyến trong mạng AD HOC. Tuy nhiên, vẫn còn nhiều vấn đề khác của các giao thức cần được xem xét, thí dụ như sau:
- Đánh giá sự ảnh hưởng của số các nút mạng và độ linh động của nút mạng đến dung lượng của mạng MANET khi sử dụng các giao thức định tuyến khác như DSDV, OLSR, ZRP…
- Nghiên cứu các vấn đề về an ninh cho mạng Ad hoc. - Định tuyến multicast,…
- Vấn đề giảm phụ tải truyền thông trong mạng MANET.
- Các yêu cầu hiệu suất liên quan tới các ứng dụng cụ thể như vấn đề đảm bảo chất lượng dịch vụ (QoS),…
TÀI LIỆU THAM KHẢO I. Tiếng Việt
[1]. Nguyễn Đình Việt (2008), Bài giảng đánh giá hiệu năng mạng máy tính, Trường Đại học Công nghệ - Đại học quốc gia Hà Nội.
II. Tiếng Anh
[2]. Andrea Goldsmith (2005), Wireless Communications, Cambridge University Press.
[3]. Stefano Basagni, Marco Conti, Silvia Giordano and Ivan Stojmenovic (2004),
Mobile AdHoc Networking, A John Wiley & Sons., Publication.
[4]. Jinyang Li, Charles Blake, Douglas S. J. De Couto, Hu Imm Lee, Robert Morris,
Capacity of Ad hoc Wireless Networks, M.I.T. Laboratory for Computer Science
[5]. Gupta P, .Kumar P. R. The Capacity of Wireless Networks[J]. IEEE Trans. Inform. Theory, vol.46,pp.388-404,2000.
[6]. Diggavi S, Grossglauser M, Tse D. Even One-dimensional Mobility Increases Ad Hoc Wireless Capacity[J]. Proc. IEEE Int. Symp. Inform. Theory, Lausanne, Switzerland, 2002.
[7]. Toumpis S, Goldsmith A J. Capacity Region for Wireless Ad Hoc Networks[J]. IEEE Trans. Wireless Commun. Vol.2,No.1,737-748,2003.
[8]. Knopp R, Humblet P A. Information Capacity and Power Control in Single-cell Multiuser Communications[J]. Proc. Int. Conf. Communications, vol. 1, Seattle, WA, 254-335, 1995.
[9]. Roger Wattenhofer, Nicolas Burri, Pascal von Rickenbach, Yves Weber, and Andreas Wetzel “Mobile Computing Exercise 3” November 21, 2005.
[10]. David B. Johnson David A. Maltz Josh Broch “The Dynamic Source Routing
Protocol for Multi-Hop Wireless Ad Hoc Networks” Computer Science
Department Carnegie Mellon University.
[11]. Perkins, C.E.; Royer, E.M.; Das, S.R.; Marina, M.K. “Reference: Performance comparison of two on-demand routing protocols for ad hoc networks”; IEEE Personal Communications, Volume: 8 Issue: 1, Feb. 2001.
[12]. Krishna Gorantala “Routing Protocols in Mobile Ad-hoc Networks” June 15, 2006.
[13]. VINT Project, UC Berkely, LBL, USC/ISI, and Xerox PARC. (2005), The
ns Manual (formerly ns Notes and Documentation).
Networks, Auerbach Publications.
[15]. Yinfei Pan, Design Routing Protocol Performance Comparison in NS2: AODV comparing to DSR as Example
[16]. Eitan Altman, Tania Jiménez (2003), NS Simulator for beginners, [17]. http://www.isi.edu/nsnam/ns/tutorial/.
[18]. http://en.wikipedia.org.
[19]. http://t16web.lanl.gov/Kawano/gnuplot/index-e.html [20]. http://4ellene.net/tt/1077
PHỤ LỤC 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) 1.0 set val(nn) 25 set val(rp) AODV set val(x) 1000 set val(y) 1000
set val(cp) "luu_luong_25_static" set val(sc) "scen_rp_25_static1_15ms" set val(stop) 600 ;# time of simulation end set opt(bw) 2Mb Antenna/OmniAntenna set x_ 0 Antenna/OmniAntenna set y_ 0 Antenna/OmniAntenna set z_ 1.5 Antenna/OmniAntenna set Gt_ 1.0 Antenna/OmniAntenna set Gr_ 1.0 set nominal_range 250.0 set configured_range -1.0 set configured_raw_bitrate -1.0 set ns_ [new Simulator]
set namtrace [open file_namRP_AODV_25node_static.nam w] set tracefd [open file_traceRP_AODV_25node_static_15ms.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 }
#
#
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
Throughput
# type: perl throughput.pl <trace file> $infile=$ARGV[0];
$speed=$ARGV[1]; $receivedsize = 0; $start_time = 0; $end_time=0;
open (DATA,"<$infile") || die "Can't open $infile $!"; while (<DATA>)
{
@x = split(' '); $packetsize=$x[7])
# Store start time
if (($x[3] eq "AGT")&&($x[0] eq "s")&&($packetsize >=512)) {
if ($x[1]<$start_time)
{ $start_time=$x[1]; } }
# Update total received packets size and store packets arrival time if (($x[3] eq "AGT")&&($x[0] eq "r")&&($packetsize >=512))
{
if ($x[1]>$end_time)
{ $end_time=$x[1]; } # Rip of the header
$headersize=$peacketsize%512; $peacketsize-=$headersize; #Soter received packet size $receivedsize+=$packetsize;
} }
print STDOUT "Average throughput = ($receivedsize/($end_time- $start_time))*(8/100)\n";
close DATA; exit(0);