10 0.247561346913 0.108728492685
15 0.328562934629 0.098467452477
20 0.372345524762 0.10592248948
25 0.412354755723 0.13599234689
30 0.3986707347828 0.10047346828
Nhận xét: Tƣơng tự nhƣ kết quả nhận đƣợc trên Hình 4.3, từ hình vẽ 4-4 ta thấy với mô hình Random Walk thì độ trễ trung bình end-to-end của giao thức DSDV luôn cao hơn so với giao thức AODV. Có một điều đặc biệt là với tốc độ của nút mạng bằng không, độ trễ ứng với giao thức AODV là lớn hơn so với giao thức DSDV. Điều này có thể giải thích đƣợc, đó là do khi một nút có nhu cầu truyền, nếu sử dụng giao thức định tuyến AODV thì giao thức cần một khoảng thời gian phát hiện đƣờng đi, sau đó mới có thể truyền các gói dữ liệu; Còn nếu sử dụng giao thức định tuyến DSDV, thì nút có thể truyền dữ liệu ngay. So với ở mô hình Random Waypoint kết quả này cũng không khác biệt lắm. Giao thức AODV cho phản hồi tốt nhất cả hai trƣờng hợp.
4.3.1.3 Đánh giá, so sánh thông lƣợng đầu cuốitheo tốc độ chuyển động tăng dần của các nút mạng
Tôi đã thực hiện chƣơng trình mô phỏng mạng gồm 50 nút di động theo hai mô hình Random Waypoint và Random Walk với 10 nguồn sinh lƣu lƣợng gắn trên 10 nút mạng khác nhau, truyền dữ liệu đến 10 nút khác (chƣơng trình mô phỏng đƣợc trình
bày ở phụ lục 1). Sau đó tôi đã dùng đoạn mã Perl (trình bày ở phục lục 4) phân tích số liệu mô phỏng để nhận đƣợc kết quả là thông lƣợng đầu cuối, kết quả trình bày trên Bảng 4-5 và 4-6. Kết quả trong bảng đƣợc trình bày dƣới dạng đồ thị bằng công cụ Gnuplot, nhƣ trên hình 4.5 và 4.6
a. Mô hình Random Waypoint
Bảng 4-5: Bảng dữ liệu thông lượng với mô hình Random Waypoint
Vận tốc (m/s) AODV (kb/s) DSDV (kb/s) 0 155.5458932381 155.5724782468 5 153.56384629347 118.5724882468 10 152.56557489247 112.5624629479 15 140.68465248482 100.4729462942 20 145.56284624654 120.4864246826 25 140.45726482946 101.4754824528 30 138.24824659264 96.24625482946
Nhận xét: Từ hình 4-5 ta có thể thấy, với trạng thái các nút mạng đứng yên thì thông lƣợng cuả AODV và DSDV là nhƣ nhau. Khi vận tốc tăng lên thì thông lƣợng giảm xuống. Nhƣng với AODV thì sự thay đổi không nhiều và độ ổn định cao hơn so với DSDV. Điều này phù hợp với tỷ lệ phân phát gói nhƣ nhận xét ở trên. Đối với giao
thức DSDV có thông lƣợng thấp hơn giao thức AODV. Tại vị trí vận tốc bằng 15m/s thông lƣợng đột ngột giảm mạnh.
b. Mô hình Random Walk
Bảng 4-6: Bảng dữ liệu thông lượng với mô hình Random Walk.
Vận tốc (m/s) AODV (kb/s) DSDV (kb/s) 0 155.7947249462 155.5724324658 5 101.57234684264 23.56482462468 10 123.57248248924 61.58274924694 15 115.65826824624 43.57249246582 20 117.5792346846 44.4724624856 25 107.5724624926 22.5752846248 30 102.4856385624 24.5624264964
Nhận xét: Với hình 4-6 cho thấy, với vận tốc càng tăng cao thì thông lƣợng càng giảm, quy luật thay đổi tƣơng tự nhƣ khi áp dụng mô hình chuyển động Random Waypoint. Tuy nhiên, so mô hình Ramdom Walk, mức giảm của thông lƣợng theo sự tăng của vận tốc chuyển động nút xảy ra mạnh hơn khá nhiều. Giao thức AODV vẫn mang tính ổn định cao hơn khi sự thay đổi thông lƣợng không nhiều (nằm trong khoảng 115kb/s)
4.3.1.4 Đánh giá, so sánh tải định tuyến chuẩn hóa theo tốc độ chuyển động tăng dần của các nút mạng
Tôi đã thực hiện chƣơng trình mô phỏng mạng gồm 50 nút di động theo hai mô hình Random Waypoint và Random Walk với 10 nguồn sinh lƣu lƣợng gắn trên 10 nút mạng khác nhau, truyền dữ liệu đến 10 nút khác (chƣơng trình mô phỏng đƣợc trình bày ở phụ lục 1). Sau đó tôi đã dùng đoạn mã Perl (trình bày ở phục lục 4) phân tích số liệu mô phỏng để nhận đƣợc kết quả là tải định tuyến chuẩn hóa, kết quả trình bày trên Bảng 4-7 và 4-8. Kết quả trong bảng đƣợc trình bày dƣới dạng đồ thị bằng công cụ Gnuplot, nhƣ trên hình 4.7 và 4.8.
a. Mô hình Random Waypoint
Bảng 4-7: Bảng dữ liệu tải định tuyến chuẩn hoá với mô hình Random Waypoint
Vận tốc (m/s) DSDV AODV 0 0.01469378159163 0.0147912375834 5 0.686980195057739 0.6748632834824 10 0.873747433579505 0.8735134921399 15 1.26058481079651 4.64852845834823 20 1.81442165761126 2.0434723453453 25 2.79055509527755 3.1235732493475 30 3.51412103746398 4.6954723483474
Nhận xét: Một yếu tố rất quan trọng trong hoạt động của các giao thức là khả năng sử dụng ít tài nguyên mạng, đƣợc thể hiện trong độ đo tải định tuyến. Xem xét kết quả so sánh, chúng ta nhận thấy rằng: Trong trƣờng hợp tải thấp mà mức độ di chuyển không cao, dƣới 10m/s, giao thức định tuyến kiểu phản ứng AODV có tải định tuyến chuẩn hóa bằng so với giao thức định tuyến chủ ứng DSDV. Do giao thức này không thực hiện định tuyến theo yêu cầu nên trong các trƣờng hợp số gói tin định tuyến thay đổi là không đáng kể. Tuy nhiên một đặc điểm của giao thức phản ứng có theo yêu cầu là tải định tuyến thay đổi theo môi trƣờng mạng. Tại đây chúng ta có thể nhận thấy rõ điều này. Khi mức độ di chuyển tăng, tải định tuyến của 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. Khi tải định tuyến cao sẽ tiêu tốn băng thông mạng và có thể gây tắc nghẽn mạng.
b. Mô hình Random Walk
Bảng 4-8:Bảng dữ liệu tải định tuyến chuẩn hoá với mô hình Random Walk
Vận tốc (m/s) DSDV AODV 0 0.0068492348243 0.00458234858242 5 2.34528439247242 7.37335457548358 10 1.84572942748249 6.25756438345735 15 1.84294852457458 7.63472438234923 20 2.44758234954745 8.04734572348344 25 6.04582475813453 8.95473593459395 30 5.42475824582944 8.52382489450042
Nhận xét: Có một số thay đổi về tải định tuyến chuẩn hoá của các giao thức trong mô hình Random Walk (hình 4-8) so với mô hình Random Waypoint (hình 4-7). DSDV vẫn cho mức tải định tuyến thấp và khá ổn định. AODV có mức tải ổn định trong cả hai trƣờng hợp tải mạng.
4.3.2 Đánh giá hiệu năng hai giao thức AODV, DSDV
Là giao thức chủ ứng dựa trên vector khoảng cách, DSDV chỉ hoạt động hiệu quả khi mạng là tĩnh, nghĩa là các nút mạng không chuyển động hoặc chuyển động với vận tốc thấp (trong cả hai mô hình chuyển động của nút mạng: Random Waypoint và Random Walk).
Thuộc giao thức định tuyến phản ứng, AODV là sự kết hợp cơ chế định tuyến vecto khoảng cách của DSDV và cơ chế định tuyến phản ứng theo yêu cầu. Sự kết hợp này đem đến cho AODV hiệu quả hoạt động tốt hơn DSDV khi các nút mạng chuyển động, ngay cả khi vận tốc nút tăng lên đến 30m/s, đây là tốc độ chuyển động trung bình của các phƣơng tiện vận chuyển nhƣ ô tô trên các đƣờng cao tốc. Tuy nhiên, các ƣu điểm của AODV cũng phải “trả giá”, đó chính là tải định tuyến của nó luôn cao hơn của DSDV và sẽ tăng rất nhanh khi vận tốc chuyển động của các nút mạng tăng lên.
4.3.3 Đề xuất cải tiến giao thức định tuyến cho mạng Ad-hoc
Sau khi nghiên cứu và đánh giá hiệu năng 2 giao thức định tuyến điển hình của hai lớp giao thức chủ ứng và phản ứng, theo nhiều độ đo hiệu năng khác nhau, tôi đề xuất một phiên bản AODV cải tiến nhƣ sau:
1/ Các nút mạng đánh giá độ linh động của nó so với các nút hàng xóm, sau đó định kỳ phát quảng bá thông tin về độ linh động này trong mạng. Chu kỳ phát quảng bá đƣợc nút điều chỉnh tăng lên khi độ linh động mà nó xác định đƣợc giảm đi. Việc phát quảng bá thông tin về độ linh động sẽ ngừng lại nếu độ linh động vƣợt quá một giá trị ngƣỡng nhất định.
2/ Thời gian sống của các tuyến đƣờng mà mỗi nút lƣu trữ sẽ đƣợc tăng lên khi độ linh động của các nút giảm đi.
Trong tƣơng lai, nếu có điều kiện đƣợc nghiên cứu tiếp, tôi sẽ thử nghiệm và đánh giá hiệu quả của các đề xuất trên.
CHƢƠNG 5: KẾT LUẬN VÀ HƢỚNG NGHIÊN CỨU 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ề mạng Adhoc với trọng tâm là các kết quả nghiên cứu về vấn đề định tuyến. Đ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 đề giữa 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 Adhoc. Đâ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á các giao thức định tuyến 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 3, 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 đối với một giao thức định tuyến làm việc hiệu quả 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 4 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 kiểm tra các giao thức. Với những kết quả tính toán thu đƣợc, tôi đã có những đánh giá định lƣợng về hiệu quả của các giao thức và cho phép có thể so sánh các yếu tố hoạt động khác nhau giữa các giao thức.
Cụ thể, tôi đã xem xét chi tiết hoạt động của hai giao thức định tuyến AODV, DSDV với vận tốc di chuyển của các nút lần lƣợt là: 0, 5, 10, 15, 20, 25, 30 m/s. 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 dựa trên bảng véc tơ khoảng cách và DSDV là giao thức chủ ứng dựa trên véc tơ khoảng cách. Kết hợp với kết quả mô phỏng đã cho thấy các kết luận nhƣ sau:
DSDV đạt hiệu quả làm việc tốt khi vận tốc các nút mạng thay đổi. Ƣu điểm của DSDV là tải định tuyến chuẩn hóa ổn định và trễ đầu cuối trung bình thấp. Tuy nhiên, tỷ lệ phân phát gói tin thành công và thông lƣợng cần đƣợc cải thiện.
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ự linh động của nút mạng phần trăm phân phát gói tin thành công và thông lƣợng đầu cuối trung bình tốt nhất. Tuy nhiên, tải định tuyến chuẩn hóa gây khó khăn cho hoạt động của AODV.
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ự 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 Adhoc. Tuy nhiên, còn rất nhiều các vấn đề khác của các giao thức cần đƣợc xem xét nhƣ sau:
Đánh giá ảnh hƣởng của sự di động của nút mạng đến hiệu quả của những giao thức khác: TORA, ZRP …
Định tuyến multicast…
Nghiên cứu, xây dựng và triển khai các vấn đề về an ninh cho mạng vô tuyến Adhoc.
Vấn đề giảm phụ tải truyền thông trong mạng MANET. Vấn đề kết nối mạng Adhoc với Internet.
TÀI LIỆU THAM KHẢO. 1. Tài liệu tiếng Việt.
[1] PGS.TS. Nguyễn Đình Việt, Bài giảng đánh giá hiệu năng mạng máy tính, 2012. [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.
2. Tài liệu tiếng Anh.
[5] S. Corson, J. Macker. (1999), “MANET: Routing Protocol Performance Issues and Evaluation considerations”, RFC 2501, IETF Network Working Group. January 1999. [6] Goldsmith AJ and Wicker SB, “Design challenges for energy-constrained Adhoc wireless networks”, IEEE Wireless Communications 2002, Vol. 9, Issue 4, PP. 8–27. [7] V. Kauadia and P.R. Kumar, "Power Control and clustering in Adhoc networks", IEEE INFOCOM 2003.
[8] 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.
[9] The SECAN-Lab of the University of Luxembourg.http://wiki.uni.lu/secan- lab/Adhoc+Protocols.html.
PHỤ LỤC 1. Chƣơng trình mô phỏng mạng Adhoc
# nguyenthanhtrung-k19mmt.tcl
# ============================================================ # 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(x) 1500 ;# X dimension of the topography set val(y) 900 ;# Y dimension of the topography set val(ifqlen) 50 ;# max packet in ifq
set val(seed) 1.0
set val(AdhocRouting) DSDV
set val(nn) 50 ;# how many nodes are simulated set val(cp) "/home/thanhtrung/cbr_10"
set val(sc) "/home/thanhtrung/scen_v5" set val(stop) 900.0 ;# simulation time
# ============================================================ # Main Program
# ============================================================ #
# Initialize Global Variables #
# create simulator instance set ns_ [new Simulator] # setup topography object set topo [new Topography]
# create trace object for ns and nam
set tracefd [open dsdv-cbr10-rwp0-speed10-out.tr w] set namtrace [open dsdv-cbr10-rwp0-speed10-out.nam w] $ns_ trace-all $tracefd
$ns_ namtrace-all-wireless $namtrace $val(x) $val(y) # define topology
$topo load_flatgrid $val(x) $val(y) #
# Create God #
set god_ [create-god $val(nn)] #
# define how nútshould be created #
#global nútsetting
$ns_ node-config -AdhocRouting $val(AdhocRouting) \ -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 \ -movementTrace ON \ -macTrace OFF #
# Create the specified number of nodes [$val(nn)] and "attach" them to the channel. #
for {set i 0} {$i < $val(nn) } {incr i} { set node_($i) [$ns_ node]
$node_($i) random-motion 0 ; # disable random motion }
#
# Definenútmovement model #
puts "Loading connection pattern..." source $val(cp)
# Define traffic model #
puts "Loading scenario file..." source $val(sc)
# Definenútinitial position in nam for {set i 0} {$i < $val(nn)} {incr i} { $ns_ initial_node_pos $node_($i) 50 }
#
# Tell nodes when the simulation ends #
for {set i 0} {$i < $val(nn) } {incr i} { $ns_ at $val(stop).0 "$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(AdhocRouting)" 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)" puts "Starting Simulation..."
$ns_ run
2. Đoạn mã Perl để phân tích tệp vết, tính thời gian trễ end-to-end trung bình # average_end-end_delay.pl # average_end-end_delay.pl
# type: perl average_end-end_delay.pl <trace file>
# --- $infile=$ARGV[0];
$speed=$ARGV[1]; $sum=0;
$recvnum=0;
# --- open (DATA,"<$infile") || die "Can't open $infile $!";
while (<DATA>) { @x = split(' '); for ($x[5]) {
if (( $x[0] eq "s") && ( $x[6] eq "cbr" ) && ( $x[3] eq "AGT" )) {$start_time = $x[1]; }
if (( $x[0] eq "r") && ( $x[6] eq "cbr" ) && ( $x[3] eq "AGT" )) {$end_time = $x[1]; $recvnum++;}
$packet_duration =$end_time - $start_time;
if ( $packet_duration > 0 ) { $sum += $packet_duration; } }
}
# --- $delay=$sum/$recvnum;
#print STDOUT "Total delay time of packets = $sum\n"; #print STDOUT "Total packets = $recvnum\n";
print STDOUT "$speed", " ", "$delay\n"; close DATA;
exit(0);
3. Đoạn mã Perl để phân tích tệp vết, tính chi phí định tuyến chuẩn hóa #normalized_routing_overhead.pl #normalized_routing_overhead.pl
# ---