Kết luận chương 3

Một phần của tài liệu tìm hiểu phương pháp nâng cao hiệu năng của giao thức zrp với bl và sd trong mạng manet (Trang 75 - 85)

5. Cấu trúc của luận văn

3.5 Kết luận chương 3

Việc triển khai thí nghiệm các hệ thống mạng trong thế giới thực là một công việc khá phức tạp, đòi hỏi tốn nhiều thời gian và chi phí cao. Bên cạnh đó, độ rủi ro không thành công khá cao. Phương pháp sử dụng các phần mềm mô phỏng sẽ khắc phục được những hạn chế này. Trong chương này, chúng tôi đã trình bày các bước thực hiện để mô phỏng mạng trong NS2, các tập lệnh để thiết lập mô phỏng mạng không dây trên NS2. Từ đó, chúng tôi xây dựng mô hình mạng MANET để thực hiện mô phỏng cho giao thức ZRP. Từ kết quả mô phỏng thu được, so sánh với kết quả mô phỏng của giao thức SD- ZRP, chúng tôi có những đánh giá hiệu năng như sau:

- Đối với giao thức ZRP, bán kính vùng định tuyến lớn thích hợp cho các mạng có số lượng nút mạng lớn. Ngược lại, bán kính vùng định tuyến nhỏ sẽ thích hợp cho các mạng có các nút di chuyển nhanh.

- Khi bán kính vùng được thay đổi, kiến trúc mạng cũng thay đổi. Giao thức ZRP phải tốn nhiều chi phí hơn cho việc duy trì bảng nội vùng. Trong khi giao thức SD-ZRP lồng thông tin dịch vụ vào thông tin định tuyến nên chỉ tốn ít chi phí và năng lượng hơn cho việc cập nhật bảng nội vùng. Do đó, hiệu năng của SD-ZRP tốt hơn so với giao thức ZRP.

KẾT LUẬN

Mạng MANET hiện đang là một thách thức của các nhà nghiên cứu trong việc tìm ra những giao thức mạng, chuẩn mạng mới với mục đích cuối cùng là đạt được một hệ thống mạng ổn định và hiệu suất khai thác cao trên các dịch vụ truyền thông đa phương tiện.

Qua thời gian 6 tháng nghiên cứu một số giao thức định tuyến điều khiển theo yêu cầu trên mạng MANET. Luận văn đã đạt được một số kết quả:

1. Kết quả đạt được:

- Trình bày một cách tổng thể về mạng MANET, các đặc điểm và phân loại mạng MANET, các thuật toán và các giao thức định tuyến trong mạng MANET, các ứng dụng của mạng MANET trong cuộc sống.

- Tìm hiểu, phân tích cơ chế hoạt động của giao thức định tuyến lai ghép thông qua giao thức ZRP, BL-SD-ZRP. Đánh giá những ưu điểm, khuyết điểm của hai giao thức để nhằm áp dụng hợp lý các giao thức trong mô hình mạng cụ thể.

- Thiết kế một số mô hình mạng MANET trên công cụ mô phỏng mạng NS2. Cài đặt, mô phỏng giao thức ZRP và SD-ZRP để minh họa hoạt động. Từ kết quả mô phỏng thu được, đánh giá hiệu năng trên các kịch bản khác nhau theo tỷ lệ gói tin gửi thành công.

2. Hướng phát triển:

Cài đặt, mô phỏng thêm một số giao thức định tuyến lai ghép khác để có cơ sở đánh giá chi tiết hơn các giao thức định tuyến lai ghép.

Nghiên cứu phương pháp cải tiến, khắc phục nhược điểm để nâng cao hiệu năng của giao thức định tuyến lai ghép.

TÀI LIỆU THAM KHẢO Tiếng Việt:

[1] Võ Thanh Tú (2012), “Mạng và truyền dữ liệu nâng cao”, NXB Đại học Huế.

Tiếng Anh:

[2] Brijesh Patel (2009), “ZPR Agent for NS2”, MAGNet Group, DA-IICT, Gandhinagar,

http://magnet.daiict.ac.in/magnet_members/MTech/2007/PatelBrijesh/Th esis_files/MyZRP/ZRPManual.pdf

[3] Christopher N. Ververidis and George C. Polyzos, “Routing Layer

Support for Service Discovery in Mobile Ad Hoc Networks”, Mobile

Multimedia Laboratory, Department of Computer Science Athens University of Economics and Business, 10434 Athens, Greece.

[4] Fatma Outay, Florent Kaisser, Veronique Veque, Ridha Bouallegue (2010), “BF-SD-ZRP: A smart integrated scheme for service and route

discovery in Mobile ad hoc network”, Institute of Fundamental

Electronics,University of Paris-Sud 11 Bat 220, Orsay 91405.

[5] Haas, Zygmunt J., Pearlman, Marc R., Samar, P. (2002), “Interzone Routing Protocol (IERP)”, IETF Internet Draft, Cornell University, New York.

[6] Haas, Zygmunt J., Pearlman, Marc R., Samar, P. (2002), “Intrazone Routing Protocol (IARP)”, IETF Internet Draft, Cornell University, New York. [7] Haas, Zygmunt J., Pearlman, Marc R., Samar, P. (2002), “The Bordercast

Resolution Protocol (BRP) for AdHoc Networks”, IETF Internet Draft, Cornell University, New York.

[8] Jan Schaumann (2002), “Analysis of the Zone Routing Protocol”,Course CS765, Stevens Institute of Technology Hoboken, New Jersey,

http://www.netmeister.org/misc/zrp/zrp.pdf.

[9] Nicklas Beijar (2001), “Zone Routing Protocol”, Networking Laboratory Helsinki University of Technology Finland.

[10] Qingcong Lv, Qiying Cao, “Service Discovery Using Hybrid Bloom

Filters in Ad-Hoc Networks”, College of Computer Science and

Technology University of Donghua Shanghai, 201620, China.

[11] R. Rivest (1992), “The MD5 Message-Digest Algorithm”, MIT Laboratory for Computer Science and RSA Data Security, Inc. April 1992

[12] Subir Kumar Sarkar, T G Basavaraju,C Puttamadappa, “Ad Hoc Mobile

Wireless Network”, Copyright © 2008 by Taylor & Francis Group, LLC.

[13] Zhenguo Gao (2007), “Bloom filter Guided Service Discovery Protocol

For MANETs”, College of Automation, Harbin Engineering University,

Harbin, Chine.

[14] Selim Kalayci (2004), “Survey Study on Ad Hoc Network”, COP 5991 Operating Systems, International University School of Computer Science, Florida

[15] Subir Kumar Sarkar, T G Basavaraju,C Puttamadappa, “Ad Hoc Mobile

Wireless Network”, Copyright © 2008 by Taylor & Francis Group, LLC.

Địa chỉ trên Internet:

[16] The network simulator - NS2: http: //www. isi.edu/nsnam/ns/. [17] The ns Manual. http: //www.isi.edu/nsnam/ns/doc/index.html.

[18] ZRP Simulation: http://magnet.daiict.ac.in/magnet_members/Mtech / 2007/PatelBrijesh/Simulation.html

Bản NS2 khi cài đặt, mặc định sẽ không có module mô phỏng ZRP. Để có thể thực hiện việc mô phỏng giao thức ZRP, chúng ta cần phải cài đặt bổ sung module ZRP [1]. Việc tiến hành cài đặt module ZRP được thực hiện qua các bước sau:

- Bước 1: Cài đặt NS2 trong trường hợp này chúng tôi cài đặt NS2 phiên bản ns2-allinone2.33.

- Bước 2: Chép các file cài đặt module ZRP vào thư mục home (thư mục cài đặt NS2). Các file cài đặt bao gồm:

o ns-allinone-2.33_zrp.tar.gz: chứa mã nguồn của module ZRP. o PatchZRP.patch: chứa các thay đổi cần thiết trong các file NS để module ZRP có thể hoạt động được.

o patchmyZRP.sh: file kịch bản được chạy từ dòng lệnh. Bước 3: Thực thi patchmyZRP.sh từ dòng lệnh.

2. Tạo MobileNode trong NS:

MobileNode là đối tượng nsNode cơ sở cùng với các chức năng như sự di chuyển, khả năng truyền và nhận trên một kênh cho phép tạo các môi trường mobile và môi trường wireless. Các tính năng mobile gồm có di chuyển node, cập nhập vị trí định kỳ, duy trì đường biên của topo,… được thực thi trong C++ trong quá trình dò tìm các thành phần của mạng bên trong của MobileNode (như các phân lớp, dmux, LL, Mac, Channel,…) được thực thi trong Otcl. Mã cấu hình MobileNode được viết như sau:

$ns node-config -adhocRouting $val(rp) \ -llType $val(ll) \

-macType $val(mac) \ -ifqType $val(ifq) \ -ifqLen $val(ifqlen) \

-phyType $val(netif) \ #-channelType $val(chan) \ -topoInstance $topo \ -agentTrace ON \ -routerTrace ON \ -macTrace ON \ -movementTrace ON\

2.1. Tạo sự hoạt động cho Node:

MobileNode được hoạt động trên dạng flat (phẳng) với tọa độ X, Y, Z (Z=0). Có hai phương thức đưa ra sự di chuyển trong các MobileNode

- Phương thức 1: vị trí bắt đầu của node và các đích sau này của nó có thể được thiết lập một cách rõ ràng, có thể được thiết lập bằng cách sử dụng API sau:

$node set X_ <x1> $node set Y_ <y1> $node set Z_ <z1>

$ns at $time $node setdest <x2><y2><speed>

Tại $time sec, node sẽ bắt đầu hoạt động (moving) từ vị trí bắt đầu của nó là (x1,y1) chuyển tiếp sang đích (x2,y2) với tốc độ (speed) xác định. Trong phương thức này, node-movement-updates được khởi tạo (triggered) bất cứ vị trí nào của node tại thời gian được yêu cầu.

- Phương thức 2: tận dụng quá trình họat động ngẫu nhiên của node. Mã API thường được sử dụng là $mobilenode start để khởi động mobilenode với một vị trí ngẫu nhiên và thường cập nhật để thay đổi hướng và tốc độ của node. Giá trị đích và tốc độ được tạo ra một cách ngẫu nhiên.

set topo [new Topography]

$topo load_flatgrid $opt(x) $opt(y)

Trong đó opt(x) opt(y) là giới hạn được sử dụng trong trình mô phỏng.

2.2 Các bước viết mã tcl để thực thi mô phỏng mạng wireless:

- Bước 1: Thiết lập mô phỏng và xác định các hằng số [1].

Bước đầu tiên của mô phỏng là định nghĩa các tham số môi trường vật lý không dây và khởi tạo mô phỏng

# Định nghĩa lớp vật lý

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 # Các tham số kịch bản

set val(x) 2000;# X dimension of the topography

set val(y) 2000;# Y dimension of the topography

set val(ifqlen) 100;# max packet in queue set val(seed) 0.0;#random seed set val(adhocRouting)[routing protocol]

set val(nn) [no. of nodes];# number of nodes set val(cp) [traffic pattern file]

set val(sc) [mobility scenario file]

set val(stop) [simulation duration];# simulation time

- Bước 2: Tạo các đối tượng mô phỏng.

# Tạo một thể hiện mô phỏng

# Tạo các file lưu vết

set tracefd [open output trace file name w] $ns_ use-newtrace

set namtrace [open nam trace file name w] $ns_ trace-all $tracefd

$ns_ namtrace-all-wireless $namtrace $val(x) $val(y) # Định nghĩa kiến trúc mạng

$topo load_flatgrid $val(x) $val(y) # Tạo đối tượng GOD

set god_ [create-god $val(nn)]

- Bước 3: Cấu hình nút.

$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 \ -macTrace ON

Mặc định, một nút được xác định là nút unicast. Nếu có một giao thức multicast được yêu cầu, thì phải khai báo cụ thể như sau:

set ns [new Simulator -multicast on]

- Bước 4: Tạo các nút và gán các hoạt động cho các nút.

$node_($i) random-motion 0 ;# disable random motion }

# Xác định vị trí ban đầu cho các nút for {set i 0} {$i < $val(nn) } {incr i} { $node_($i) set X_ [x1]

$node_($i) set Y_ [y1] $node_($i) set Z_ [z1] }

# Tạo sự di chuyển cho nút

$ns_ at 0.1 “$node_(1) setdest 25.0 20.0 15.0”

- Bước 5: Thiết lập luồng traffic giữa các node (đoạn mã sau thiết lập luồng cho nút 0 và nút 1).

for {set i 0} {$i < $val(nn)} {incr i} { set sink_($i) [new Agent/LossMonitor] $ns attach-agent $n_($i) $sink_($i) set tcp_($i) [new Agent/TCP]

$ns attach-agent $n_(0) $tcp_($i) }

#Thủ tục thiết lập luồng

proc attach-CBR-traffic { node sink size interval } { set ns [Simulator instance]

set cbr [new Agent/CBR] $ns attach-agent $node $cbr $cbr set packetSize_ $size $cbr set interval_ $interval $ns connect $cbr $sink

return $cbr }

#Thiết lập luồng cho nút 0 và nút 1

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"

# Đưa các thông tin mô phỏng ban đầu vào các file lưu vết

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)" # Thực thi mô phỏng

puts "Starting Simulation..." $ns_ run

3. Tạo SD-ZRP trong mã tlc:

Agent/ZRP set use_mac_ true # Thông tin phản hồi liên kết lớp

Agent/ZRP set debug_ true # In gỡ lỗi tin nhắn trên thiết bị chuẩn xuất

Agent/ZRP set willingness 3 # Thiết lập sẵn sàng để chuyển tiếp các gói dữ liệu thay cho các nút khác

Agent/ZRP set hello_ival_ 2 # Thiết lập khoảng thời gian thông điệp Hello truyền

Agent/ZRP set tc_ival_ 5 # Thiết lập khoảng thời gian TC thông điệp truyền tải

Agent/ZRP set mid_ival_ 5 # Thiết lập khoảng thời gian thông điệp MID truyền

Một phần của tài liệu tìm hiểu phương pháp nâng cao hiệu năng của giao thức zrp với bl và sd trong mạng manet (Trang 75 - 85)