Thông lượng trung bình của các giao thức định tuyến địa lý

Một phần của tài liệu cải tiến và đánh giá hiệu năng mạng định tuyến đi vòng dựa trên phân loại nút theo góc phân tử (Trang 47 - 55)

4.3.1. Kịch bản mô phỏng

Xem xét mạng có số lượng 150 nút với các vị trí của của các nút được xác

định trước (hình 4-7). Trong cấu trúc mạng tồn tại một số vùng trống cố định

cho trước. Nút nguồn gửi gói tin và nút đích gửi gói tin cốđịnh cho trước. Thực hiện mô phỏng mạng gửi gói tin từ nút nguồn tới nút đích và thực hiện tính toán thông lượng trung bình theo thời gian của các giao thức (bảng 4-3).

Bảng 4-3. Thông số mô phỏng mạng cốđịnh Số TT Tham số Giá trị 1 Số nút 150 (nút) 2 Thời gian mô phỏng 30 (s) 3 Diện tích phân bổ nút mạng 500 x 500(m) 4 Khoảng cách nút 30 m 5 Nút nguồn Nút {18} 6 Nút đích Nút {95} 7 Transmit Power 7.5 dBm 8 Data Rate

9 Packet Size 1024 byte 10 Data rate 2 Mbps

4.3.2. Kết quả thực nghiệm và phân tích

Kết quả thực hiện chương trình mô phỏng với các giao thức lần lượt là: DRQC, GPSR, DR-CR. Chương trình mô phỏng sinh ra các tập tin .pcap, sau khi sử dụng chương trình phân tích gói tin Wireshark để phân tích. Trích lọc các thông tin cần thiết và thực hiện tính thông lượng trung bình theo thời gian của các giao thức bằng chương trình Perl (Phụ lục 2 kèm theo), kết quả được minh họa ởđồ thị (Hình 4-8).

Hình 4-8. Thông lượng theo thời gian của các giao thức

Từ kết quả phân tích và hiện thị trong đồ thị Hình 4-8, thấy rằng: Đối với một cấu trúc mạng có các vị trí cố định cho trước, trong một số điều kiện như

kịch bản mô phỏng (hình 4-7), kết quả thông lượng trung bình theo thời gian chỉ

ra: Giao thức DRQC, DR-CR là hai giao thức định tuyến dựa trên phân chia góc phần tư luôn lớn hơn giao thức GPSR là giao thức dựa trên thuật toán tham lam. Với một cấu trúc mạng có vùng trống xác định và các nút nguồn và nút đích

nằm ở những vị trí không tối ưu chúng ta thấy rằng giao thức cải tiến dựa theo phân chia góc phần tư (DR-CR) có thông lượng trung bình lớn hơn giao thức gốc là DRQC.

KẾT LUẬN

Với những tìm hiểu, nghiên cứu về các nội dung trong luận văn đã giúp cho

tôi có được những kiến thức bổ ích về định tuyến dựa theo thông tin vị trí địa lý trong mạng không dây. Luận văn cũng giúp tôi rất nhiều về kỹ năng thực hành,

đánh giá hiệu năng hệ thống mạng.

Dù trong quá trình nghiên cứu tôi đã rất cố gắng nhưng chắc chắn không tránh khỏi những sai sót, hạn chế cần bổ sung trong tương lai khi phát triển tiếp

đề tài. Vì vậy, tôi xin đưa ra một số kết luận và định hướng như sau:

1. Các kết quảđạt được

Luận văn đã trình bày về tổng quan giao thức định tuyến sử dụng thông tin

địa lý, cũng như trình bày về giao thức định tuyến địa lý dựa trên phân chia góc phần tư “Detour Routing based on Quadrant Classification Protocol – (DRQC)”. Từ những phân tích và so sánh về giao thức định tuyến DRQC luận vănđã chỉ ra hạn chế của chính giao thức định tuyến này trong trường hợp các nút mạng nằm tại các vị trí không tối ưu. Luận văn cũng đã đề xuất một phương pháp cải tiến thuật toán DRQC là phương pháp quay trục tọa độ của mỗi nút trong mạng khi thực hiện tính toán lựa chọn nút hàng xóm thuộc góc phần tư cùng với nút đích.

Luận văn cũng đã cài đặt và thực hiện đánh giá các giao thức định tuyến theo chiến lược tham lam (GPSR), giao thức định tuyến dựa trên phân chia góc phần

tư (DRQC) và giao thức cải tiến từ giao thức DRQC bằng công cụ mô phỏng sự

kiện mạng NS3. Kết quả thực nghiệm và so sánh các giao thức định tuyến thấy rằng, tỷ lệ chuyển thành công gói tin trong mạng không dây bằng giao thức định tuyến dựa trên phân chia góc phần tư DRQC luôn luôn cao hơn với giao thức sử

dụng chiến lược tham lam GPSR cũng như kết quả chỉ ra rằng thông lượng trung bình chuyển gói tin của giao thức định tuyến cải tiến từ giao thức DRQC là tối

ưu hơn trong một số trường hợp. Luận văn cũng đã trình bày về công cụ mô phỏng mạng NS3 và cách thức thêm mới thành phần vào trong mã nguồn của công cụ mô phỏng sự kiện mạng NS3 nhằm giúp người học, người nghiên cứu có thể cài đặt mới những nghiên cứu của mình để đánh giá và thử nghiệm kết quả.

2. Những hạn chế của đề tài

Luận văn không nghiên cứu và cài đặt so sánh được nhiều giao thức định tuyến sử dụng thông tin vị trí địa lý, mà chỉ giới trong hai giao thức “Greedy

Perimeter Stateless Routing” và “Detour Routing Based on Quadrant Classification”. Luận văn mới chỉ dừng lại nghiên cứu công cụ mô phỏng mạng NS-3 giúp cho việc mở rộng một số giao thức định tuyến sử dụng thông tin vị trí

địa lý mà chưa nghiên cứu sâu về công cụ mô phỏng sự kiện mạng NS-3. Ngoài ra luận văn cũng chỉ dừng lại việc đánh giá hiệu năng tỷ lệ chuyển gói tin thành (adsbygoogle = window.adsbygoogle || []).push({});

công và thông lượng trung bình của các giao thức mà chưa đánh giá được nhiều

hơn các thông số khác.

3. Hướng phát triển

Đánh giá và cải tiến chất lượng quá trình định tuyến gói tin rất cần thiết trong các hệ thống mạng máy tính. Vì vậy, để đề tài nghiên cứu hoàn thiện hơn

và có giá trịhơn cần tập trung các nội dung sau:

- Tìm hiểu sâu hơn về các giao thức định tuyến địa lý khác giúp cho việc

đánh giá, so sánh khách quan và toàn diện hơn với giao thức định tuyến

địa lý đi vòng dựa theo phân loại nút theo góc phần tư.

- Nghiên cứu và đánh giá sâu hơn về giải pháp cải tiến giao thức đi vòng dựa trên phân loại nút theo góc phần tư.

- Tìm hiểu công cụ mô phỏng sự kiện mạng NS3 giúp cho việc sử dụng,

cài đặt các thành phần khác tốt hơn.

- So sánh và đánh giá giao thức định tuyến theo thông tin vị trí địa lý và một số giao thức định tuyến khác trong mạng không dây.

- Nghiên cứu về các giao thức định tuyến theo vị trí địa lý giúp tối ưu năng lượng của các nút.

TÀI LIỆU THAM KHẢO

[1] Nandan Banerji, Uttam Kumar Kundu, Pulak Majumder, Debabrata Sarddar (2013), “Quadrant Based WSN Routing Technique by Shifting of Origin”,

International Journal of Advanced Computer Science and Applications, 4,(3), pp.38 – 41.

[2] Ana Maria Popescu, Ion Gabriel Tudorache, Bo Peng, A.H. Kemp (2012), “Surveying Position Based Routing Protocols for Wireless Sensor and Ad-hoc Networks”, International Journal of Communication Networks and Information Security (IJCNIS), 4, (1), pp. 41-67.

[3] Brad Krap, H.T.Kung (2000), “GPSR: Greedy Perimeter Stateless Routing for Wireless Networks”, ACM International Conference on Mobile Computing and Networking, pp. 243-245.

[4] Basu Dev Shivahare, Charu Wahi, Shalini Shivhare (2012), “Comparison Of Proactive And Reactive Routing Protocols In Mobile Ad-hoc Network Using Routing Protocol Property”, International Journal of Emerging Technology and Advanced Engineering 2, (3), pp. 356-359.

[5] I. Stojmenovic, X. Lin (2001), “Loop-free hybrid single-path/flooding routing algorithms with guaranteed delivery for wireless networks,” IEEE Trans. on Parallel and Distributed Systems, 12 (10), pp. 1023–1032.

[6] A. Tanenbaum, D. Wetherall (2011), “Computer Networks”, Boston, Massachusetts, United States of America.

[7] University of Freiburg, Germany (2009), Theory and Practice of Geographic Routing.

[8] Lih-Chyau Wuu, Wen-Ben Li, Wen-Chung Ko (2010), “Detour Routing Protocol for Geographic Sensor Network”, International Conference on Broadband, Wireless Computing, Communication and Applications (122), pp. 505 – 510.

[9] Shyjith M.B, V.K.Reshma (2012), “GOAFR: An Optimal Algorithm for Geographic Routing In Wireless Sensor Networks”, International Journal of Computer Networks and Wireless Communications, 2, (2), pp. 131-135.

[10] NS3-Tutorial, 21/12/2013, http://www.nsnam.org/docs/release/3.16/tutorial/ns-3-tutorial.pdf, (ngày truy cập 26/12/2013).

[11] NS3-Document, http://www.nsnam.org/doxygen-release/ (truy cập ngày 12/07/2013).

PHỤC LỤC 1

I. CÔNG C MÔ PHNG S KIN MNG NS-3 1.1. Tổng quan về NS-3

Network simulator (NS-3) [10][11] là một chương trình mô phỏng các sự

kiện của hệ thống mạng máy tính. Mục đích chính của NS-3 là dùng mô phỏng các sự kiện mạng trong nghiên cứu và học tập của cộng đồng các nhà nghiên cứu và sinh viên làm việc với hệ thống mạng máy tính. (adsbygoogle = window.adsbygoogle || []).push({});

NS-3 là một dự án phần mềm mã nguồn mở (open source), được bắt đầu xây dựng từnăm 2006, giấy phép sử dụng dưới dạng GNU GPLv2 license. Dự

án NS-3 cam kết sẽ xây dựng một lõi chương trình mô phỏng chung nhất cũng

như một hệ thống tài liệu chuẩn (Doxygen [11]), dễ dàng dùng cho xây dựng và

kiểm soát lỗi dự án. NS-3 phục vụ cho toàn bộ nhu cầu mô phỏng, từ những cấu hình để bắt và phân tích gói tin, hơn nữa, các nền tảng ứng dụng, modules được

cài đặt trong NS-3 giúp người sử dụng phát triển, cải tiến, thực hiện các mô phỏng. NS-3 còn có thể mô phỏng với các mạng thực tế (emulator), tương tác

cùng với mạng thực và NS-3 còn tồn tại một số giao thức phát triển rất hữu dụng trong NS-3.

Mô phỏng NS-3 hỗ trợ nghiên cứu về cả hai giao thức cơ bản của mạng là IP và Non-IP. Tuy nhiên, nội dung phần lớn của NS-3 tập trung vào mô phỏng wireless/IP. Cùng với các mô hình liên quan cho Wi-Fi, WiMAX, hoặc LTE thuộc các lớp 1 và 2. NS-3 cũng dùng cho các giao thức định tuyến động như

OLSR và AODV cho ứng dụng địa chỉ IP cơ bản. Mỗi một quý 3 tháng NSNAM sẽ phát hành một phiên bản NS-3 ổn định tới cộng đồng người sử dụng [10].

Mt s chú ý cn quan tâm khi làm vic vi b mô phng mng NS-3.

NS-3 không phải được thừa kế và mở rộng từ NS2. Đây là một bộ mô phỏng sự kiện mạng mới. Cả hai bộ mô phỏng NS2, NS-3 đều được viết bằng

C++, nhưng NS-3 không hỗ trợ các hàm API của NS2. Một sốmô đun từNS2 đã

và đang được phát triển và cài đặt trong NS-3. Dự án này sẽ tiếp tục bảo trì công

cụ mô phỏng NS2, và phát phát triển mới công cụ mô phỏng NS-3.

NS-3 là một phần mềm mã nguồn mở, dự án này được bảo trì và để mở mã

nguồn cài đặt, môi trường phát triển nhằm giúp cộng đồng nghiên cứu tìm hiểu

và chia sẽ các thuộc tính cũng như các thành phần mở rộng của chính người dùng trên NS-3.

NS-3 s dng trong cộng đồng người dùng NS2

Đối với cộng đồng sử dụng bộ mô phỏng NS2, một trong những thay đổi

dễ nhìn thấy nhất đó là lựa chọn kịch bản viết mô phỏng. Trong NS2, là những kịch bản Otcl và kết quả của simulator có thể xem (hiện thị trực quan) bằng công cụ mô phỏng trực quan NAM. NS2 không thể mô phỏng hoàn toàn bằng ngôn ngữ C++ mà không dùng tới kịch bản OTcl. Hơn thế nữa có rất nhiều thành phần trong chương trình NS2 đã được viết bằng C++, nhưng một số viết bằng

OTcl. Trong chương trình NS-3 mô phỏng được viết hoàn toàn bởi C++ và lựa

chọn biên dịch bằng Python. Các công cụ xem trực quan kết quả trong NS-3

cũng đã sãn sàng và đang được tiếp tục phát triển. NS-3 sinh ra tập tin pcap có

thểdùng để phân tích kết quả rất là tốt nhờ công cụ phân tích gói tin Wireshare.

Một trong những câu hỏi mà chúng ta thường nghe và rất quan tâm là “ Nên dùng NS2 hay chuyển sang dùng NS-3?”. Câu trả lời là tùy thuộc vào những mô phỏng của chúng ta. NS-3 không có tất cả các modules như NS2 hiện

tại đang có, nhưng NS-3 lại có khảnăng mới như: xử lý nhiều thao tác trên cùng

một nút, sử dụng địa chỉ IP liên kết nhiều hơn với các giao thức cũng như thiết kế chi tiết hơn với chuẩn mạng 802.11 [10]. NS-3 cũng cho phép ngươi dùng

phát triển và cài đặt thêm các phần mở rộng dễdàng hơn[10].

1.2. Các thành phần của NS-3

Tìm hiểu một cách nhìn tổng quát về các thành phần của công cụ mô phỏng mạng NS-3 sẽ giúp cho người sử dụng có thể đọc mã nguồn của dự án NS-3 hoặc có thể thêm, chỉnh sửa các module của dự án.

i.Node (adsbygoogle = window.adsbygoogle || []).push({});

Là những máy tính, thiết bị đầu cuối được kết nối vào hệ thống mạng. Trong NS-3, một nút (node) là một khái niệm trừu tượng và được xây dựng trong một lớp node viết bằng ngôn ngư C++. Lớp node hỗ trợ những phương thức

dùng để quản lý và đại diện cho một máy tính, một thiết bị trong mô phỏng.

Chúng ta nên xem một nút như là một máy tính và trong quá trình mô phỏng được thêm vào các hàm, chức năng khác. Một trong những chức năng

quan trọng nhất là Application (thêm ứng dụng mạng vào nút), protocol (thêm giao thức), kết nối các thiết bị ngoại vi khác liên quan để cho phép thực hiện các mô phỏng mạng. Một nút được dùng như một model (mô hình) trong NS-3 [10].

ii.Application

Một phần mềm máy tính được chia ra làm hai thành phần cơ bản là phần

mềm hệ thống (các hệ điều hành) để điều khiển và liên kết các thiết bị trong một máy tính, và các phần mềm ứng dụng khác. Trong NS-3 một máy tính xem

như không có hệ điều hành. Tuy nhiên các máy tính vẫn có các ứng dụng khác

giống như là một máy tính thực.

Trong NS-3, một chương trình người dùng là một khái niệm trừu tượng

được mô phỏng như là một ứng dụng và được phát triển bằng C++, trong lớp

Application, lớp Application có các phương thức. Trong các chương trình mô

phỏng các nút thường sử dụng các lớp UdpEchoClientApplication

UdpEchoServerApplication được thừa kế từ lớp Application. Các lớp

Client/Server được dùng cho việc sinh ra các gói tin trong mạng mô phỏng.

iii. Channel

Trong mạng thực, kênh kết nối (channel) có thể kết nối một máy tính này với một mạng máy tính khác. Chúng ta có thể kết nối bằng cáp, sóng radio…. Trong NS-3 để kết nối một nút tới một đối tượng chúng ta gọi là kênh giao tiếp (Communication channel) hay được gọi là channel và được xây dựng trong một lớp Channel viết bằng C++.

Các lớp CsmaChannel, PointToPointChannel, WifiChannel ... trong các

chương trình mô phỏng đại diện cho các đường truyền vật lý trong mạng thực.

iv.Net Device

Trong trường hợp muốn kết nối các máy tính tới một mạng máy tính, ta

được gắn vào máy tính, các thiết bị phần cứng đó gọi là thẻ giao tiếp mạng

(Network Interface Cards - NICs).

Ngày nay các thiết bịNICs được gắn sẵn vào máy tính. NICs sẽ không làm

việc nếu chúng không được cài đặt các phần mềm điều khiển (Network drivers).

Những thiết bị ngoại vi và NICs sử dụng chương trình điều khiển được gọi chung là thiết bị mạng (Net Device).

Trong NS-3, thiết bị mạng được trừu tượng hóa bao gồm cả các phần mềm và phần cứng. Thiết bị mạng được cài đặt vào trong các nút để cho phép các nút có thể giao tiếp với nhau thông qua các kênh giao tiếp (Channels). Một nút cũng

có thể kết nối với nhiều nút thông qua nhiều kênh giao tiếp và nhiều card mạng

được cài đặt vào nút.

Thiết bị mạng được cài đặt trong NS-3 với tên lớp là NetDevice bằng ngôn (adsbygoogle = window.adsbygoogle || []).push({});

ngữ C++. Lớp NetDevice chứa các hàm, thuộc tính giúp cho việc kết nối và quản lý thiết bị mạng với khênh kết nối. Chúng ta có một số Netdevice dùng mô

phỏng được cài đặt sẵn trong NS-3 như CsmaNetDevice ,

PointToPointNetDevice , WifiNetDevice.

Một phần của tài liệu cải tiến và đánh giá hiệu năng mạng định tuyến đi vòng dựa trên phân loại nút theo góc phân tử (Trang 47 - 55)