Chính vì vậy trong đề tài luâ ̣n văn này chúng tôi tiếp tu ̣c nghiên cứu đánh giá dung lượng của mạng MANET khi thay đổi số nút và độ linh động của nút dựa trên một số giao thức định
Trang 1ĐẠI HỌC QUỐC GIA HÀ NỘI
Trang 2ĐẠI HỌC QUỐC GIA HÀ NỘI
LUẬN VĂN THẠC SỸ CÔNG NGHỆ THÔNG TIN
NGƯỜI HƯỚNG DẪN KHOA HỌC: PGS.TS Nguyễn Đình Việt
HÀ NỘI - 2014
Trang 3Cuối cùng, chúng tôi xin được cảm ơn gia đình, bạn bè, những người thân yêu nhất của chúng tôi Mọi người luôn ở bên cạnh chúng tôi, động viên, khuyến khích chúng tôi vươn lên trong cuộc sống
Hà Nội, tháng 11 năm 2014
Đỗ Cao Chinh
Trang 4LỜI CAM ĐOAN
Chúng tôi xin cam đoan đây là công trình nghiên cứu của riêng chúng tôi, các số liệu và kết quả nghiên cứu nêu trong luận văn là trung thực, được các đồng tác giả cho phép sử dụng và chưa từng được công bố trong bất kỳ một công trình nào khác
Học viên
Đỗ Cao Chinh
Trang 5MỤC LỤC
Trang
Chương 1 GIỚI THIỆU 1
1.1 Đặt vấn đề 1
1.2 Mục tiêu nghiên cứu của luận văn 1
1.3 Tổ chức của luận văn 2
Chương 2 TỔNG QUAN VỀ MẠNG KHÔNG DÂY 3
2.1 Giới thiệu về mạng không dây 3
2.2 Phân loại mạng không dây 3
2.2.1 Phân loại theo qui mô triển khai mạng 3
2.2.2 Phân loại theo quan hệ di động của các bộ định tuyến và nút mạng 4
2.2.4 Các đặc điểm chính của mạng MANET 4
2.2.6 Một số ứng dụng mạng MANET 5
Chương 3 CÁC GIAO THỨC ĐỊNH TUYẾN CHÍNH TRONG MẠNG MANET 6
3.1 Định tuyến trong hệ thống mạng 6
3.2 Một số thuâ ̣t toán đi ̣nh tuyến cơ bản trong ma ̣ng ………6
3.2.1 Thuật toán Vectơ khoảng cách (Distance Vector) 6
3.2.2 Thuật toán trạng thái kết nối (Link State) 6
3.3 Phân loại các giao thức định tuyến trong mạng M ANET 7
3.3.1 Giao thức DSR (Dynamic Source Routing 10
3.3.2 Giao thức AODV (Ad hoc On Demand Distance Vector) 15
3.4 So sánh hoạt đô ̣ng của các giao thức 18
Chương 4 NGHIÊN CỨU VIỆC SỬ DỤNG BỘ MÔ PHỎNG NS2 ĐỂ ĐÁNH GIÁ DUNG LƯỢNG MẠNG MANET 19
4.1 Lựa chọn phương pháp và công cụ đánh giá hiệu năng mạng [1] 19
4.1.1 Lựa chọn phương pháp 19
4.1.2 Mô hình giải tích 20
4.1.3 Mô phỏng mạng bằng chương trình máy tính 20
4.1.4 Đo trên mạng thực 21
4.1.5 Lý do sử dụng phương pháp mô phỏng để đánh giá hiệu năng mạng 21
4.2 Giới thiệu về NS-2 21
4.2.1 Khả năng mô phỏng của NS-2 23
4.2.2 Tạo MobileNode trong NS 24
4.2.3 Cách thức phân tích kết quả mô phỏng của NS-2 27
Trang 64.3 Tạo ngữ cảnh chuyển động 29
4.3.1 Tạo diện tích mô phỏng 29
4.3.3 Tạo các dạng chuyển động theo mẫu 30
4.4 Các tham số hoạt động của các giao thức định tuyến trong NS-2 32
4.4.1 Giao thức định tuyến DSR 32
4.4.2 Giao thức định tuyến AODV 33
Chương 5 ĐÁNH GIÁ DUNG LƯỢNG MANET THEO SỐ NÚT VÀ ĐỘ LINH ĐỘNG CỦA NÚT 34
5.1 Dung lượng mạng MANET 34
5.2 Các tham số mô phỏng cho thay đổi để đánh giá ảnh hưởng tới dung lượng mạng 35
5.2.1 Số nút mạng 35
5.2.2 Mức độ linh động của các nút mạng 35
5.3 Các tham số khác liên quan đến mô phỏng 36
5.3.1 Thời gian mô phỏng cần thiết 36
5.3.2 Dạng lưu lượng đưa vào mạng 36
5.3.3.Các tham số khác 37
5.4 Đánh giá sự phụ thuộc của dung lượng mạng vào số nút mạng, trường hợp các nút không chuyển động 37
5.5 Đánh giá sự phụ thuộc của dung lượng mạng vào số nút mạng, trường hợp các nút mạng chuyển động theo mô hình Random Waypoint 40
5.6 Đánh giá sự phụ thuộc của dung lượng mạng vào số nút mạng, trường hợp các nút mạng chuyển động theo mô hình Random Walk 44
5.7 Đánh giá hiệu quả của các giao thức định tuyến 47
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN TIẾP THEO 48
TÀI LIỆU THAM KHẢO 50
I Tiếng Việt 50
II Tiếng Anh 50
PHỤ LỤC 1
Trang 7BẢNG CÁC KÝ HIỆU, CHỮ VIẾT TẮT
AODV Adhoc On-demand Distance
CSMA/CA Carrier Sense Multiple Access
with Collision Avoidance NS-2 Network Simulator 2
CSMA/CD Carrier Sense Multiple Access
with Collision Detection OLSR
Optimized Link State Routing Protocol
DARPA Defense Advanced Research
Projects Agency PRnet Packet Radio Network
DSDV Destination-Sequenced
DSR Dynamic Source Routing RREQ Route Request
IEEE Institute of Electrical and
Electronics Engineers TORA
Temporally-Ordered Routing Algorithm
MAC Media Access Control WPAN Wireless Personal Area
Network
MANET Mobile Adhoc NETwork WWAN Wireless Wide Area
Network
Trang 8
DANH MỤC BẢNG
Trang
Bảng 4.1 Các tham số hoạt động của DSR trong NS-2 [18] 33
Bảng 4.2 Các tham số hoạt động của AODV trong NS-2 [18] 33
Bảng 5.1 Các tham số mô phỏng mạng khi thay đổi số nút mạng 38
Bảng 5.2 Các tham số mô phỏng mạng theo mô hình Random Waypoint 40
Bảng 5.3 Các tham số mô phỏng mạng theo mô hình Random Walk 44
Trang 9DANH MỤC HÌNH VẼ
Trang
Hình 2.1 Minh ho ̣a mạng di động tùy biến [18] 4
Hình 3.1 Phân loại các giao thức định tuyến trong mạng Ad Hoc [12, 18] 8
Hình 3.2 Các trường trong gói tin Route Request [12, 18] 10
Hình 3.3 Định tuyến DSR (nút 2 là nguồn, nút 5 là đích) [18] 11
Hình 3.4 Route Request (nút 2 là nguồn, nút 5 là đích) [18] 11
Hình 3.5 Mô hình mạng Ad Hoc gồm 12 nút [18] 12
Hình 3.6 Nút S phát gói tin RREQ đến các nút lân cận A, E, F [18] 13
Hình 3.7 Nút A, F phát gói tin RREQ đến các nút F, B, A, K, G [18] 13
Hình 3.8 Nút B, K, G phát gói tin RREQ đến các nút C, G, H, K [18] 13
Hình 3.9 Nút H, C phát gói tin RREQ đến các nút láng giềng I, D, J [18] 14
Hình 3.10 Nút D phát gói tin RREP về nút S theo đường đã khám phá [18] 14
Hình 3.11 Các trường trong gói tin RREQ [18] 16
Hình 3.12 Các trường trong gói tin RREP [18] 17
Hình 4.1 Cấu trúc của NS-2 [1, 13] 22
Hình 4.2 Luồng các sự kiện cho file Tcl chạy trong NS-2 [1, 13] 23
Hình 4.3 Kiến trúc của mobilenode trong NS2 [1, 13] 26
Hình 4.4 Các mô hình truyền thông trong NS-2 [1, 16] 29
Hình 5.1 Lưới 5x5 nút mạng 38
Hình 5.2 Thông lượng của mạng khi số nút mạng thay đổi 39
Hình 5.3 Chuỗi 6 nút mạng (nút 1 là nguồn, nút 6 là đích) 39
Hình 5.4 Thông lượng của mạng khi vận tốc của nút mạng thay đổi giao thức AODV – mô hình Random Waypoint 41
Hình 5.5 Thông lượng của mạng khi vận tốc của nút mạng thay đổi giao thức DSR – mô hình Random Waypoint 41
Hình 5.6 Thông lượng của mạng khi vận tốc của nút mạng thay đổi trong trường hợp 25 nút mạng – mô hình Random Waypoint 42
Hình 5.7 Thông lượng của mạng khi vận tốc của nút mạng thay đổi trong trường hợp 49 nút mạng – mô hình Random Waypoint 42
Hình 5.8 Thông lượng của mạng khi vận tốc của nút mạng thay đổi trong trường hợp 81 nút mạng – mô hình Random Waypoint 42
Hình 5.9 Thông lượng của mạng khi vận tốc của nút mạng thay đổi trong trường hợp 121 nút mạng – mô hình Random Waypoint 43
Hình 5.10 Thông lượng của mạng khi vận tốc của nút mạng thay đổi trong trường hợp 169 nút mạng – mô hình Random Waypoint 43
Hình 5.11 Thông lượng của mạng khi vận tốc của nút mạng thay đổi giao thức AODV – mô hình Random Walk 44
Trang 10Hình 5.12 Thông lượng của mạng khi vận tốc của nút mạng thay đổi giao thức DSR
– mô hình Random Walk 45 Hình 5.13 Thông lượng của mạng khi vận tốc của nút mạng thay đổi trong trường
hợp 25 nút mạng – mô hình Random Walk 45 Hình 5.14 Thông lượng của mạng khi vận tốc của nút mạng thay đổi trong trường
hợp 49 nút mạng – mô hình Random Walk 45 Hình 5.15 Thông lượng của mạng khi vận tốc của nút mạng thay đổi trong trường
hợp 81 nút mạng – mô hình Random Walk 46 Hình 5.16 Thông lượng của mạng khi vận tốc của nút mạng thay đổi trong trường
hợp 121 nút mạng – mô hình Random Walk 46 Hình 5.17 Thông lượng của mạng khi vận tốc của nút mạng thay đổi trong trường
hợp 169 nút mạng – mô hình Random Walk 46
Trang 11Chương 1 GIỚI THIỆU
1.1 Đặt vấn đề
Dung lượng mạng là một trong những độ đo hiệu năng mạng hết sức quan trọng Dung lượng của mạng được định nghĩa là năng lực vận chuyển tối đa của đường truyền (trong điều kiện tốt nhất) Dung lượng mạng phụ thuộc rất nhiều vào rất nhiều yếu tố như: kích thước mạng, dạng truyền thông, giao thức định tuyến,
Trong nghiên cứu trước đây về dung lượng MANET của Gupta P, Kumar P R [5], các tác giả đã đánh giá dung lượng của mỗi nút có thể nhận được trong mạng Nghiên cứu này có tính lý thuyết cao và chủ yếu dựa vào phân tích toán học Các tác giả đã bố trí các nút mạng có vị trí cố định ngẫu nhiên, mỗi nút sẽ chọn một đích ngẫu nhiên trong vùng mô phỏng và truyễn dữ liệu với một tốc độ ngẫu nhiên Họ cũng đã phân tích các tình huống dưới dạng mô hình giao thức và mô hình vật lý sao cho gói tin từ nguồn có thể được gửi đến đích Mô hình giao thức được phát biểu một cách đơn giản là gói tin có thể được nhận nếu khoảng cách giữa nút nguồn và nút đích nhỏ hơn bất kỳ nút nguồn nào đang gửi dữ liệu đến đích Gupta và Kumar đã chỉ ra nếu tất cả các nút được đặt ở vị trí tốt nhất, dạng truyền thông là tốt nhất, phạm vi truyền là tốt nhất thì dung lượng có thể nhận được của mỗi nút là O(1/sqrt(n))
Một nghiên cứu về dung lượng MANET khác của các tác giả Jinyang Li, Charles Blake, Douglas S J De Couto, Hu Imm Lee, Robert Morris [4] có xem xét các topo mạng đa chặng chia sẻ một kênh truyền (chain, vertical/horizontal chains và grid) Họ
đã nghiên cứu và sử dụng giao thức 802.11 trong việc truyền các gói tin trong mạng nhưng lại bỏ qua sự có mặt của các giao thức định tuyến
Qua các nghiên cứu trên các tác giả chỉ đánh giá dung lượng của mạng MANET trong những trường hợp lý tưởng, các nút mạng ở trạng thái tĩnh trong khi thực tế thì các nút trong mạng MANET di chuyển liên tục dẫn đến topo của mạng cũng luôn thay đổi Một yếu tố khác rất quan trọng mà các tác giả không tính đến đó là sự ảnh hưởng của các giao thức định tuyến đến dung lượng của MANET Chính vì vậy trong đề tài luâ ̣n văn này chúng tôi tiếp tu ̣c nghiên cứu đánh giá dung lượng của mạng MANET khi thay đổi số nút và độ linh động của nút dựa trên một số giao thức định tuyến trong mạng MANET để từ đó đưa ra sự so sánh hiệu quả của một số giao thức này
1.2 Mục tiêu nghiên cứu của luận văn
Trong luận văn, chúng tôi tập trung phân tích và mô phỏng dung lượng của mạng MANET khi số nút mạng và tốc độ di chuyển của các nút mạng thay đổi dựa trên một
số giao thức định tuyến phổ biến trong mạng MANET
Căn cứ vào mục đích chính của luận văn, chúng tôi nghiên cứu và trình bày các vấn đề sau:
Trang 12 Tổng quan về mạng MANET (Mobile Adhoc Network)
Nghiên cứu và nắm vững các giao thức định tuyến trong mạng MANET như DSR, AODV
Nghiên cứu các phương pháp thực hiện việc thay đổi số nút mạng và độ linh động của nút mạng khi thực hiện mô phỏng
Xây dựng môi trường mô phỏng, đưa các giao thức định tuyến trong mạng MANET vào mô phỏng thông qua NS-2
Đánh giá dung lượng MANET theo số nút và độ linh động của nút thông qua các giao thức định tuyến AODV và DSR bằng bộ mô phỏng mạng NS2 Từ đó đưa ra các nhận xét so sánh giữa hai giao thức
1.3 Tổ chức của luận văn
Nội dung luận văn bao gồm sáu chương như sau:
Chương 1: Giới thiệu
Chương 2: Tổng quan về mạng không dây
Chương 3: Các giao thức định tuyến chính trong mạng MANET
Chương 4: Nghiên cứu việc sử dụng bộ mô phỏng NS-2 để đánh giá dung lượng
mạng MANET
Chương 5: Đánh giá dung lượng MANET theo số nút và độ linh động của nút
Kết luận và hướng nghiên cứu tiếp theo
Trang 13Chương 2 TỔNG QUAN VỀ MẠNG KHÔNG DÂY
Mục tiêu của chương này là giới thiệu với người đọc những kiến thức cơ bản về mạng không dây WPAN, WLAN, WWAN và mạng MANET bao gồm các đặc điểm, ứng dụng của chúng trong khoa học, công nghệ và trong cuộc sống từ đó có cái nhìn tổng quan về các loại mạng này
2.1 Giới thiệu về mạng không dây
Mạng không dây có tính linh hoạt cao , hỗ trợ các thiết bị di động nên không bị ràng buộc cố định về vị trí địa lý như trong mạng hữu tuyến Ngoài ra, trong quá trình hoạt động chúng ta còn có thể dễ dàng bổ sung hay thay thế các thiết bị tham gia mạng
mà không cần phải cấu hình lại toàn bộ tô -pô của mạng Trong đó ma ̣ng MANET (Mobile Ad Hoc Network ) là một trong những mạng không dây được ứng dụng hầu hết trong các lĩnh vực quân s ự, hàng không, vâ ̣n tải tàu biển viê ̣c triển khai hê ̣ thống mạng không đòi hỏi nhiều về cơ sở hạ tầng mạng , không cần thiết phải có các thiết bi ̣ điều khiển trung tâm và không phu ̣ thuô ̣c vào vi ̣ trí đi ̣a lý [2, 3]
Khác với các hê ̣ thống ma ̣ng có dây , viê ̣c xác định đường đi tối ưu để truyền dữ liê ̣u trong các hê ̣ thống ma ̣ng không dây khá phức ta ̣p do các nút mạng có thể di động
và trạng thái các đường truyền có thể thay đổi nhanh theo thời gian , đòi hỏi phải có các cơ chế điều khiển phù hợp với từng mô hình cụ thể Đây là mô ̣t trong những hạn chế lớn nhất của mạng không dây làm ảnh hưởng đến tốc độ truyền dữ liê ̣u Bên cạnh
đó, tỉ lệ mất gói tin cao trong quá trình truyền dữ liê ̣u của mạng không dây cũng là một hạn chế lớn của nó
Hiện nay, những hạn chế trên đang dần được khắc phục thông qua hàng loạt các nghiên cứu về ma ̣ng không dây Những nghiên cứu này hứa hẹn sẽ mang lại những bước phát triển nhảy vọt trong lĩnh vực ma ̣ng máy tính , đặc biệt là trong lĩnh vực mạng không dây
2.2 Phân loại mạng không dây
Tương tự như ma ̣ng có dây , mạng không dây có thể triển khai trong nhiều da ̣ng khu vực đi ̣a lý khác nhau , với mô ̣t số công nghê ̣ ha ̣ tầng để triển khai phù hợp Như
vâ ̣y, viê ̣c phân loa ̣i ma ̣ng không dây có thể dựa vào 2 tiêu chí cơ bản : Theo qui mô triển khai ma ̣ng và theo quan hê ̣ di đô ̣ng của các thiết bi ̣ ma ̣ng [18]
2.2.1 Phân loại theo qui mô triển khai mạng
Dựa trên qui mô triển khai mạng, mạng không dây có thể được phân thành ba loại:
- WPAN (Wireless Personal Area Network)
- WLAN (Wireless Local Area Network)
- WWAN (Wireless Wide Area Network)
Trang 142.2.2 Phân loại theo quan hệ di động của các bộ định tuyến và nút mạng
Với hướng này có thể phân thành ba loại:
- Mạng không dây cố định (Fixed wireless network)
- Mạng không dây với các điểm truy cậy cố định (Wireless network with fixed access points)
-Mạng di động tùy biến (Mobile ad hoc network) [2, 3]
2.2.3 Mạng di động tùy biến (MANET - Mobile Ad hoc Network)
Đây là một mô hình bao gồm các nút mạng có thể di động , mọi nút mạng đều
có khả năng đóng vai trò của bộ đi ̣nh tuyến và chuyển tiếp các gói tin của các nút mạng khác đến các nút lân cận để đi đến đích Như vậy , viê ̣c triển khai mô hình mạng dạng MANET sẽ không yêu cầu có các thiết bị trung tâm , vì thế mô hình này rất thích hợp trong các khu vực không thể xây dựng các cơ sở ha ̣ tầng ma ̣ng Một ví
dụ điển hình cho kỹ thuật này là một hệ thống mạng bao gồm những nút mạng di động (các tàu bè , xe cộ…) được kết nối ngang hàng với nhau thông qua các thiết bi ̣ truy câ ̣p không dây [2, 3]
Hình 2.1 Minh họa mạng di động tùy biến [18]
2.2.4 Các đặc điểm chính của mạng MANET
Mỗi nút trong mạng MANET đều có những đặc điểm về nguồn năng lượng,
bộ phận thu phát sóng khác nhau; Chúng có thể di chuyển về mọi hướng theo các tốc độ khác nhau, do đó ta có thể nhận thấy rõ một số đặc điểm chính của mạng MANET như sau:
- Tô-pô mạng động: Tô-pô mạng có thể luôn biến đổi theo các mức độ di
chuyển của các nút mạng
Trang 15- Khoảng cách truyền/nhận sóng ngắn: Khoảng cách sóng của các thiết bị di
động là rất hạn chế
- Năng lƣợng hạn chế: Tất cả các thiết bị di động đều sử dụng pin nên khi
tham gia vào mạng MANET chúng bị hạn chế về nguồn năng lượng, khả năng xử lý của CPU và kích thước bộ nhớ
- Băng thông hạn chế: Các liên kết không dây có băng thông thấp hơn so với
đường truyền cáp và chúng còn chịu ảnh hưởng mạnh của sự nhiễu, sự suy giảm tín hiệu, các điều kiện giao thoa
- Bảo mật yếu: Đặc điểm của mạng MANET là truyền sóng qua môi trường
không khí, điều này khiến cho độ bảo mật kém hơn so với môi trường truyền cáp vì nó tiềm ẩn nhiều nguy cơ bị tấn công, nghe lén đường truyền, giả mạo, DoS,… [18]
Truyền dữ liệu không dây di động có những bước tiến cả về công nghệ và khả năng sử dụng, động lực thúc đẩy là sự phát triển mạnh mẽ của Internet và sự thành công của thế hệ hệ thống di động thứ hai (2G), thế hệ hệ thống di động thứ ba (3G)
Dự kiến trong tương lai gần, vai trò truyền dữ liệu khoảng cách ngắn sẽ phát triển, là một phần bổ sung cho truyền thông quy mô lớn truyền thống bởi phần lớn các thiết bị thông tin liên lạc cũng như giao tiếp giữa con người xảy ra ở khoảng cách nhỏ hơn mười mét Một yếu tố khác thúc đẩy sự phát triển của mạng Ad Hoc là các dải tần số được cấp phép miễn phí đem đến việc sử dụng các công nghệ truyền thông phát triển (như Bluetooth) triển khai dễ dàng và không tốn kém [2, 3, 18]
Mạng MANET có tiềm năng to lớn cho các ứng dụng thương mại và quân sự, và đặc biệt hữu ích cho việc cung cấp sự hỗ trợ thông tin liên lạc tại những nơi không có
cơ sở hạ tầng thông tin liên lạc sẵn có hoặc việc triển khai một cơ sở hạ tầng cố định
về mặt kinh tế là không khả thi [18] Ứng dụng của MANET bao gồm các hoạt động quân sự, cứu trợ khẩn cấp, chăm sóc y tế, hoạt động mạng gia đình, môi trường học thuật và các hoạt động khắc phục thảm họa Ví dụ về các tình huống thiên tai bao gồm động đất và lũ lụt, nơi các đội cứu hộ cần phải phối hợp với nhau mà không có các mạng cố định sẵn có; các hoạt động quân sự, nơi thông tin liên lạc trong một môi trường thù địch; các doanh nghiệp, nơi nhân viên chia sẻ thông tin trong hội nghị…
Trang 16Chương 3 CÁC GIAO THỨC ĐỊNH TUYẾN CHÍNH TRONG MẠNG MANET
Chương 3 trình bày các thuật toán định tuyến được sử dụng trong mạng MANET
Cơ chế hoạt động, cấu trúc, ưu, nhược điểm của từng thuật toán định tuyến
3.1 Định tuyến trong hệ thống mạng
Thông thường, tiến trình định tuyến dựa vào bảng định tuyến được tổ chức trong
bô ̣ nhớ của router, đó là bảng chứa những lộ trình tốt nhất đến các đích khác nhau trên mạng Vì vậy, việc xây dựng bảng định tuyến trở nên vô cùng quan trọng đối với hoạt động của các hê ̣ thống ma ̣ng
Để thực hiện được việc chuyển tiếp các gói dữ liệu đến mạng đích một cách chính xác và hiệu quả, các router phải biết và nhớ thông tin về đường đi tới các mạng khác Nếu router chạy định tuyến động thì router sẽ tự động thu thập và nhớ những thông tin này từ các router khác Còn nếu router chạy định tuyến tĩnh thì người quản trị mạng phải cấu hình các thông tin đến các mạng khác cho các router [12]
3.2 Mô ̣t số thuâ ̣t toán đi ̣nh tuyến cơ bản trong ma ̣ng
Một phương pháp khá đơn giản và hiệu quả để thực hiện việc định tuyến trong hầu hết các hệ thống mạng truyền thông là việc sử dụng các bộ định tuyến để phát hiện
và lựa chọn đường đi hợp lý cho gói dữ liệu đến đích thông qua các thuật toán định tuyến như: thuật toán vectơ khoảng cách (Distance Vector) và thuật toán trạng thái kết nối (Link State) [12]
3.2.1 Thuật toán Vectơ khoảng cách (Distance Vector)
Phương pháp này được thực hiện bằng cách truyền định kỳ các bản sao của bảng định tuyến từ router này sang router khác Mỗi router nhận được bảng định tuyến của những router láng giềng kết nối trực tiếp với nó Dựa vào thông tin cung cấp bởi các router láng giềng , thuật toán vectơ khoảng cách sẽ lựa chọn đường đi tốt nhất Việc tính toán đường đi trong thuật toán định tuyến theo vectơ khoảng cách dựa vào thuật toán Bellman-Ford
Sử dụng các giao thức định tuyến theo vectơ khoảng cách thường tốn ít tài nguyên của hệ thống Tuy nhiên, tốc độ đồng bộ giữa các router lại chậm và thông số được sử dụng để chọn đường đi có thể không phù hợp với những hệ thống mạng lớn
3.2.2 Thuật toán trạng thái kết nối (Link State)
Trạng thái liên kết là một bộ mô tả đặc điểm các mối liên kết từ bộ định tuyến này tới các bộ định tuyến lân cận Các đặc điểm này bao gồm: địa chỉ IP, mặt nạ địa chỉ, kiểu mạng liên kết, và các bộ định tuyến liên kết mạng đó
Giao thức định tuyến trạng thái liên kết được thực hiện dựa trên các bản tin thông báo trạng thái liên kết (LSA), mỗi bộ định tuyến xây dựng cho mình một cơ sở dữ liệu
Trang 17trạng thái riêng dựa vào nội dung của các bản tin này Do đó các bộ định tuyến biết rõ
và chính xác thông tin topo về mạng và thực hiện truyền dẫn các gói tin từ nút nguồn đến nút đích trong mạng dễ dàng
Gói thông báo trạng thái liên kết (LSA: Link State Advertisment) là các gói tin nhỏ chứa thông tin định tuyến được truyền qua lại giữa các bộ định tuyến, được truyền định kỳ hay khi có thay đổi thông tin của một bộ định tuyến nào đó trong mạng Cơ sở
dữ liệu trạng thái liên kết (LSDB: Link State Database) được tạo và cập nhật từ thông tin của các bản tin thông báo LSA
Sử du ̣ng giao thức đi ̣nh tuyến tra ̣ng thái liên kết sẽ dẫn đến mô ̣t số nhược điểm :
- Router sử dụng định tuyến theo trạng thái kết nối sẽ phải cần nhiều bộ nhớ hơn
và hoạt động xử lý nhiều hơn là sử dụng định tuyến theo vectơ khoảng cách
- Router phải có đủ bộ nhớ để lưu cơ sở dữ liệu về cấu trúc mạng, bảng định tuyến Khi khởi động việc định tuyến, tất cả các router phải gửi gói LSA cho tất cả các router khác, khi đó băng thông đường truyền sẽ bị chiếm dụng làm cho băng thông dành cho truyền dữ liệu của người dùng bị giảm xuống Tuy nhiên, sau khi các router
đã thu thập đủ thông tin để xây dựng cơ sở dữ liệu về cấu trúc mạng thì băng thông đường truyền không bị chiếm dụng nữa
3.3 Phân loa ̣i các giao thƣ́c định tuyến trong mạng MANET
Các nút trong mạng MANET vừa đóng vai trò như thiết bị truyền thông vừa đóng vai trò như thiết bị định tuyến [12] Với nguyên tắc hoạt động như vậy , nó không bị phụ thuộc vào cơ sở hạ tầng mạng cố định nên có tính linh động cao, đơn giản trong việc lắp đặt, chi phí triển khai và bảo trì thấp Như vậy, khi sử dụng các giao thức định tuyến thông thường dựa trên các giải thuật Distance-Vector hoặc Link-State trong mạng Ad Hoc sẽ dẫn đến một số vấn đề phát sinh:
+ Tiêu tốn băng thông mạng và năng lượng nguồn nuôi cho các cập nhật định kỳ
Hầu hết các thiết bị di động trong mạng Ad Hoc sẽ hoạt động dựa trên nguồn pin, việc truyền hoặc nhận gói tin sẽ tiêu tốn đáng kể đến nguồn năng lượng này Ở các mạng thông thường, kết nối giữa các bộ định tuyến nhìn chung là không thay đổi, chính vì thế ít xảy ra việc thay đổi tô-pô mạng nên việc mất hội tụ của các thuật toán định tuyến là ít có khả năng xảy ra.Tuy nhiên, trong mạng Ad Hoc, các nút có thể luôn thay đổi vị trí dẫn đến tô-pô mạng thay đổi, nên đòi hỏi cần phải có sự hội tụ của mạng cho các tuyến mới một cách nhanh chóng Để thực hiện được việc này, các giao thức định tuyến phải liên tục gửi cập nhật định tuyến, dẫn đến việc tiêu tốn khá nhiều băng thông và năng lượng
Trang 18+ Các đường đi dư thừa được tích lũy một cách không cần thiết
Trong môi trường mạng Ad Hoc, vì mọi nút mạng đều thực hiện chức năng định tuyến nên thường có rất nhiều đường đi từ nút nguồn đến nút đích và những đường đi này sẽ được cập nhật tự động vào bảng định tuyến trong các nút mạng, dẫn đến việc
dư thừa đường đi trong bảng định tuyến
+ Các giao thức định tuyến trong mạng Ad Hoc được chia thành 3 loại
- Giao thức định tuyến dựa trên bảng (Table-Driven Routing Protocol)
- Giao thức định tuyến theo yêu cầu (On-Demand Routing Protocol)
- Giao thức định tuyến kết hợp (Hybrid Routing Protocol)
Hình 3.1 Phân loại các giao thức định tuyến trong mạng Ad Hoc [12, 18] + Giao thức định tuyến dựa trên bảng (Table-Driven Routing Protocol)
Giao thức định tuyến dựa trên bảng còn được gọi là giao thức chủ ứng (Proactive) Theo giao thức này, mọi nút trong mạng đều luôn duy trì trong bảng định tuyến của nó thông tin về tuyến đến tất cả các nút khác trong mạng Thông tin định tuyến được phát quảng bá (broadcast) trên mạng theo một khoảng thời gian quy định
để giúp cho bảng định tuyến luôn được cập nhật những thông tin mới nhất Chính vì vậy, một nút nguồn có thể lấy thông tin định tuyến ngay lập tức khi cần truyền
Tuy nhiên, với những mạng mà các nút di chuyển nhiều hoặc các liên kết giữa các nút bị đứt thì cần phải có cơ chế tìm kiếm hoặc sửa đổi thông tin của các tuyến đi qua liên kết bị đứt trong bảng định tuyến Nếu các tuyến đó không được sử dụng thì
Trang 19việc sửa thông tin nói trên trở nên lãng phí tài nguyên, ảnh hưởng đến băng thông của mạng Chính vì thế giao thức định tuyến dựa trên bảng chỉ được áp dụng trong các mô hình mạng MANET mà các nút ít di chuyển
Các giao thức hoạt động theo kiểu giao thức định tuyến dựa trên bảng như: DSDV (Destination Sequenced Distance Vector), WRP (Wireless Routing Protocol) và GSR (Global State Routing)…
+ Giao thức định tuyến theo yêu cầu (On-Demand Routing Protocol)
Một phương pháp khác với phương pháp định tuyến dựa trên bảng đó là định tuyến theo yêu cầu, thuộc loại giao thức phản ứng (Reactive) Theo phương pháp này, các con đường đi sẽ được tạo ra nếu như có nhu cầu truyền Khi một nút yêu cầu một tuyến đến đích, nó phải khởi đầu một quá trình khám phá tuyến để tìm đường đi đến đích (Route Discovery) Quá trình này chỉ hoàn tất khi đã tìm ra một tuyến sẵn sàng hoặc tất cả các tuyến khả thi đều đã được kiểm tra
Khi một tuyến đã được khám phá và thiết lập, nó được duy trì thông số định tuyến bởi một số dạng thủ tục cho đến khi hoặc là tuyến đó không thể truy nhập được
từ nút nguồn hoặc là không cần thiết đến nó nữa
Với các cơ chế đó, các giao thức định tuyến theo yêu cầu không phát broadcast đến các nút lân cận về các thay đổi của bảng định tuyến theo thời gian, nên tiết kiệm được tài nguyên mạng Vì vậy, loại giao thức này có thể sử dụng trong các mạng MANET phức tạp, các nút di chuyển nhiều
Một số giao thức định tuyến theo yêu cầu tiêu biểu như: Giao thức CBRP (Cluster Based Routing Protocol), giao thức AODV (Ad hoc On Demand Distance Vector), giao thức DSR (Dynamic Source Routing), giao thức TORA (Temporally Ordered Routing Algorihm)…
+ Giao thức định tuyến kết hợp (Hybrid Routing Protocol)
Trong giao thức định tuyến này có kết hợp cả hai cơ chế: giao thức định tuyến chủ ứng (Proactive) và giao thức định tuyến phản ứng (Reactive) Giao thức này phù hợp với những mạng quy mô, kích thước lớn, mật độ các nút mạng dày đặc
Trong giao thức định tuyến này, mạng được chia thành các vùng (zone) Mỗi nút duy trì cả thông tin về kiến trúc mạng trong vùng của nó và thông tin về các vùng láng giềng Đều đó có nghĩa là giao thức Hybrid sử dụng giao thức định tuyến phản ứng (Reactive) giữa các zone và giao thức định tuyến chủ ứng (Proactive) cho các nút mạng trong cùng zone Do đó, đường đi đến nỗi nút trong cùng một zone được lập mà không cần phải định tuyến ra ngoài zone, trong khi đó các tiến trình khám phá đường và duy trì đường thì được sử dụng để tìm kiếm và duy trì đường đi giữa các zone với nhau
Trang 20Các giao thức định tuyến tiêu biểu sử dụng kiểu Hybrid: Giao thức ZPR (Zone Routing Protocol), giao thức ZHLS (Zone-based Hierarchical Link State Routing Protocol)…
Như chúng ta đã biết , viê ̣c đi ̣nh tuyến trên các hê ̣ thống ma ̣ng là rất quan tro ̣ng , quá trình định tuyến có thể xảy ra trước khi hệ thống có nhu cầu truyền dữ liệu hoặc trong khi hê ̣ thống truyền dữ liê ̣u Các phương thức này cũng là mô ̣t trong những yếu tố ảnh hưởng đến sự hoa ̣t đô ̣ng của toàn bô ̣ hê ̣ thống ma ̣ng Trong các giao thức định tuyến trên ta thấy việc sử dụng giao thức định tuyến theo yêu cầu là phù hợp cho mạng MANET trong đó các nút có độ linh động cao Chính vì vậy trong đề tài chúng tôi tập trung mô phỏng mạng MANET dựa trên giao thức định tuyến theo yêu cầu, cụ thể là hai giao thức AODV và DSR
3.3.1 Giao thức DSR (Dynamic Source Routing
DSR (Dynamic Source Routing) là giao thức định tuyến đơn giản và hiệu quả được thiết kế riêng cho mạng MANET DSR cho phép mạng tự động tổ chức và cấu hình mà không cần đến sự can thiệp của người quản trị hoặc cơ sở hạ tầng sẵn có của mạng
Giao thức DSR là giao thức định tuyến phản ứng (Reactive) sử dụng cơ chế định tuyến nguồn (source routing), nghĩa là bên gửi sẽ biết toàn bộ thông tin về đường đi đến đích Phần Header của gói dữ liệu sẽ lưu trữ thứ tự các nút mà gói tin cần phải đi qua để đạt tới đích Do vậy, các nút trung gian chỉ cần giữ liên lạc với các nút hàng xóm của nó để chuyển tiếp các gói tin
Tại mỗi một nút trong mạng luôn duy trì một bộ nhớ đệm (Router Cache), đây là cấu trúc dữ liệu lưu trữ các con đường đã biết Khi có đường đi tồn tại trong Router Cache, nút sẽ ghi thông tin về đường đi vào từng gói tin cần truyền và thực hiện việc truyền trên con đường đã chọn Ngược lại, khi không tồn tại đường đi trong Router Cache hoặc có tồn tại đường đi nhưng không còn hiệu lực, DSR sẽ thực hiện cơ chế phát hiện đường (Route Discovery) bằng cách gởi các gói tin quảng bá Route Request đến các nút lân cận trên toàn bộ mạng Các nút trung gian nhận được gói tin quảng bá
sẽ kiểm tra đường đi trong Route Cache Khi đường đi được tìm thấy, gói tin Route Reply sẽ chứa thứ tự các chặng tới đích và được truyền trở lại nguồn [10], [12]
Dưới đây là các trường trong gói tin Route Request (RREQ):
Hình 3.2 Các trường trong gói tin Route Request [12, 18]
Trang 21Trong đó:
- Trường type chứa giá trị của kiểu gói tin (0x32)
- Trường floodIDs cần thiết để làm cho phù hợp với các gói tin tương ứng và để điểu khiển quá trình flooding Chỉ có duy nhất một RREQ chứa một cặp (sender, floodID) trong suốt quá trình broadcast Trường floodID được thiết kế gồm 16 bít, tăng lên trong quá trình flooding bắt đầu từ giá trị 0
- Các trường Sender và Receive chứa địa chỉ của nút nguồn và nút đích của một quá trình định tuyến trọn vẹn
- Trường TTL mô tả chiều dài của quá trình định tuyến hoàn chỉnh
Ví dụ:
Định tuyến DSR trong đó nút 2 là nguồn, nút 5 là đích (Hình 3.3):
Hình 3.3 Định tuyến DSR (nút 2 là nguồn, nút 5 là đích) [18]
Quá trình gửi gói tin RREQ (Hình 3.4):
Hình 3.4 Route Request (nút 2 là nguồn, nút 5 là đích) [18]
Trang 22Như vậy, hoạt động của giao thức DSR bao gồm hai cơ chế chính: cơ chế tạo thông tin định tuyến (Route Discovery) và cơ chế duy trì thông tin định tuyến (Route Maintanance)
3.3.1.1 Cơ chế tạo thông tin định tuyến (Route Discovery)
Route Discovery cho phép các nút trong mạng Ad Hoc tìm kiếm đường đi đến đích một cách tự động thông qua các nút trung gian Tiến trình tạo thông tin định tuyến
sẽ phát gói tin Route Request (RREQ) đến các nút lân cận của nó trong mạng Ngoài các trường bình thường như: địa chỉ nguồn, địa chỉ đích, đường dẫn…, thông tin trong gói RREQ còn chứa một số request ID là một số được tạo ra bởi nút nguồn và là số không trùng nhau Khi một nút nhận gói RREQ thì nó sẽ tiến hành kiểm tra thông tin trong RREQ như sau:
Bước 1: Thông qua trường request ID, nó sẽ kiểm tra xem đã nhận gói tin này
hay chưa Nếu đã tồn tại thì nó sẽ loại bỏ gói tin đó và không xử lí gì thêm Ngược lại thì qua bước 2
Bước 2: Nó kiểm tra trong Route Cache của nó có đường đi đến nút đích mà còn
hiệu lực hay không Nếu có đường đi đến đích thì nó sẽ phản hồi lại cho nút nguồn bằng gói Route Reply (RREP) chứa thông tin về đường đi đến đích và kết thúc tiến trình Ngược lại thì qua bước 3
Bước 3: Nó kiểm tra địa chỉ đích cần tìm có trùng với điạ chỉ của nó hay không
Nếu trùng thì nó gởi lại cho nút nguồn gói Route Reply (RREP) chứa thông tin về đường đi đến đích và kết thúc tiến trình Ngược lại thì nó sẽ phát broadcast gói tin RREQ đến các nút láng giềng của nó Các nút láng giềng sau khi nhận gói tin RREQ
sẽ thực hiện việc kiểm tra thông tin (quay về bước 1)
Như vậy, quá trình này cứ tiếp tục cho đến khi nút nguồn nhận được thông tin về đường đi đến đích hoặc các nút láng giềng sẽ gửi thông tin rằng không thể định tuyến đến đích Gói Route Reply (RREP) được gởi đến nguồn bằng cơ chế phát Unicast với Source Route là đảo ngược Source Route trong gói RREQ
Ví dụ: Xét mô hình mạng Ad Hoc với mô hình truyền thông như hình 2 Nút S
cần truyền dữ liệu đến nút D
Hình 3.5 Mô hình mạng Ad Hoc gồm 12 nút [18]
Trang 23+ Giả thuyết 1: Trong Route Cache của các nút hiện tại là rỗng
- Nút S sẽ phát gói tin Router Request (RREQ) đến các nút lân cận của nó (Hình 3.6)
Hình 3.6 Nút S phát gói tin RREQ đến các nút lân cận A, E, F [18]
- Nút A, E, F sẽ kiểm tra mình có phải là đích hay không? Nếu không sẽ kiểm tra trong Route Cache về đường đi đến đích Theo giả thuyết ban đầu thì trong Route Cache sẽ không có thông tin về đường đi đến đích Do đó, nút E, F, A sẽ cập nhật thông tin về đường đi về nguồn vào Route Cache thông qua gói tin RREQ, đồng thời
sẽ phát gói tin RREQ đến các nút lân cận của nó
- Nút A, E, F sẽ phát gói tin RREQ đến các nút lân cận của nó (Hình 3.7)
Hình 3.7 Nút A, F phát gói tin RREQ đến các nút F, B, A, K, G [18]
- Tại thời điểm này tại A và F đều nhận gói tin RREQ (vì A là nút láng giềng của
F và ngược lại) Do đó, hai gói tin này sẽ bị hủy vì đã tồn tại trước đó Đồng thời, quá trình tìm kiếm đường đi vẫn chưa hoàn thành vì chưa đạt đến đích Vì vậy, các nút lân cận sẽ lưu trữ thông tin về đường đi đến nguồn trong Route Cache và tiếp tục gửi gói tin RREQ đến các nút lân cận của nó
- Nút B, K, G sẽ phát gói tin RREQ đến các nút lân cận của nó (Hình 3.8)
Hình 3.8 Nút B, K, G phát gói tin RREQ đến các nút C, G, H, K [18]
Trang 24Tại thời điểm này, nút H cùng nhận gói RREQ từ 2 nút K và G Trong trường hợp này, gói tin nào đến sau sẽ bị loại bỏ Giả sử gói tin gửi từ K đến sau, vì thế giao thức DSR sẽ loại bỏ gói tin này Tiến trình khám phá đường đi vẫn tiếp tục thực hiện Nút
H, C sẽ phát gói tin RREQ đến các nút lân cận của nó (Hình 3.9)
Hình 3.9 Nút H, C phát gói tin RREQ đến các nút láng giềng I, D, J [18]
Tại thời điểm này, D nhận được gói RREQ và kiểm tra biết được mình chính là đích nên tiến trình khám phá đường đến đích dừng Giao thức DRS sẽ thực hiện các công việc sau:
o D sẽ phát gói tin phản hồi Route Reply (RREP) về nguồn thông qua đường đã tìm được
o Nút I vẫn tiếp tục phát gói RREQ để tìm đường đến D Tuy nhiên, khi tìm thấy
D thì gói tin RREQ sẽ lập tức bị hủy vì D đã nhận gói tin này trước đó, đồng thời D gửi gói tin RREP về nguồn S thông qua đường này
o Nút J vẫn tiếp tục phát gói RREQ để tìm đến D Tuy nhiên, trong trường hợp này nút I không tìm thấy và sẽ gửi gói RREP về nguồn
Trong khi các gói tin RREP được gửi về nguồn, Route Cache sẽ tiếp tục lưu trữ đường đi ngược lại từ đích Sau khi nút nguồn S nhận được gói tin phản hồi RREP, S
sẽ biết được được đường đi đến đích và tiến hành gửi dữ liệu theo con đường này
Hình 3.10 Nút D phát gói tin RREP về nút S theo đường đã khám phá [18]
- Như vậy, trong trường hợp này sẽ có 2 con đường đi từ nút S đến nút D đó là:
S, A, B, C, D và S, F, G, H, I, D Giao thức DSR sẽ sử dụng một trong hai con đường này để truyền dữ liệu từ nút S đến nút D Trong quá trình truyền dữ liệu nếu đường thứ nhất đang sử dụng bị hỏng thì giao thức sẽ sử dụng đường thứ hai và ngược lại Trong
Trang 25trường hợp cả hai đường bị hỏng thì tiến trình khám phá đường (Router Discovery) sẽ
tự động thực hiện lại
+ Giả thuyết 2: Trong Route Cache của các nút là không rỗng Giả sử Route
Cache của nút B đã lưu trữ đường đi đến D Tiến trình khám phá đường đi vẫn thực hiện bình thường như giả thuyết 1 Tuy nhiên, khi đến B giao thức DSR sẽ kiểm tra trong Route Cache và phát hiện được đường đi đến D chính là đích, nên tiến trình khám phá đường sẽ dừng và nút B sẽ gửi gói tin phản hồi RREP về nguồn thông qua đường đi đã xác định
3.3.1.2 Cơ chế duy trì thông tin định tuyến (Route Maintanance)
Route Maintanance cho phép các nút trong hệ thống mạng tự động bảo trì thông tin định tuyến trong Route Cache Trong giao thức định tuyến DSR, các nút khi chuyển gói tin trên mạng đều phải có nhiệm vụ xác nhận rằng các gói tin đó đã chuyển đến nút kế tiếp hay chưa (thông qua sự phản hồi thông tin của nút nhận) Trong trường hợp một nút nào đó phát hiện rằng gói tin không thể truyền đến nút kế tiếp, nó sẽ gởi gói Route Error (RERR) cho nút nguồn để thông báo tình trạng hiện thời của liên kết
và địa chỉ của nút kế tiếp mà không thể chuyển đi Khi nút nguồn nhận được gói RERR, nó sẽ xóa con đường đi qua liên kết bị hỏng trong Route cache và tìm một đường đi khác mà nó biết trong route cache hoặc sẽ khởi động một tiến trình route discovery mới nếu như không tồn tại đường đi thích hợp trong Route cache
3.3.2 Giao thức AODV (Ad hoc On Demand Distance Vector)
AODV là một trong những giao thức định tuyến theo cơ chế phản ứng cho mạng MANET Tương tự như giao thức DSR, AODV cũng phát gói tin broadcast để yêu cầu tìm đường khi có nhu cầu Tuy nhiên điểm khác biệt cơ bản đối với giao thức DSR là AODV sử dụng nhiều cơ chế khác để duy trì thông tin bảng định tuyến, chẳng hạn như
nó sử dụng bảng định tuyến truyền thống để lưu trữ thông tin định tuyến với mỗi entry cho một địa chỉ đích
Không sử dụng cơ chế Source Routing và cũng không cần biết thông tin về các node láng giềng của nó, AODV dựa trên các entry của bảng định tuyến để phát gói tin RREP về nút nguồn và nút nguồn dùng thông tin đó để gởi dữ liệu đến đích Để đảm bảo rằng thông tin trong bảng định tuyến là mới nhất thì AODV sử dụng kỹ thuật Sequence Number (kỹ thuật này dùng để nhận ra các con đường đi không còn giá trị trong quá trình cập nhật bảng định tuyến) để loại bỏ những đường đi không còn giá trị trong bảng định tuyến Mỗi nút sẽ có một bộ tăng số Sequence Number riêng cho nó Tương tự như cơ chế hoạt động của DSR, quá trình định tuyến của AODV cũng bao gồm 2 cơ chế chính: cơ chế tạo thông tin định tuyến và cơ chế duy trì thông tin định tuyến [10, 12]
Trang 263.3.2.1 Cơ chế tạo thông tin định tuyến (Route Discovery)
Cơ chế tạo thông tin định tuyến sẽ được thiết lập khi một nút nguồn có nhu cầu trao đổi thông tin với một nút khác trong hệ thống mạng Trong hệ thống mạng MANET hoạt động theo giao thức AODV, mỗi nút trong hệ thống mạng luôn duy trì 2
bộ đếm: Bộ đếm Sequence Number và Bộ đếm REQ_ID Cặp thông tin <Sequence Number, REQ_ID> là định danh duy nhất cho một gói tin RREQ Cặp thông tin này sẽ
bị thay đổi giá trị khi:
o Khi một nút khởi động tiến trình route discovery, điều này nhằm chống sự xung đột với các gói tin RREP trước đó
o Khi nhận được một gói tin RREP, nó sẽ cập nhật lại giá trị Sequence number lớn nhất của một trong 2 giá trị: Sequence number hiện hành mà nó đã lưu giữ trong entry của bảng định tuyến với Sequence number trong gói RREQ
Khi có một sự thay đổi trong các nút lân cận của một nút, dẫn đến sẽ có một số tuyến đường trong bảng định tuyến không còn hiệu lực Khi đó số REQ_ID sẽ được tăng lên để nút này khởi động một tiến trình route discovery mới
Destination address
Destination Sequence No
Hop count
Tiến trình Route Discovery được khởi động khi nào một nút muốn trao đổi dữ liệu với một nút khác mà trong bảng định tuyến của nó không có thông tin định tuyến đến nút đích đó Khi đó tiến trình sẽ phát broadcast một gói RREQ cho các nút láng giềng của nó Thông tin trong RREQ ngoài địa chỉ đích, địa chỉ nguồn, số hop-count (được khởi tạo giá trị ban đầu là 0),… còn có các trường: số sequence number của nút nguồn, số broadcast ID, giá trị sequence number được biết lần cuối cùng của nút đích Khi các nút láng giềng nhận được gói RREQ, nó sẽ kiểm tra tuần tự theo các bước:
Bước 1: Xem các gói RREQ đã được xử lý chưa Nếu đã được xử lý thì nó sẽ
loại bỏ gói tin đó và không xử lý thêm Ngược lại chuyển qua bước 2
Bước 2: Nếu trong bảng định tuyến của nó chứa đường đi đến đích, thì sẽ kiểm
tra giá trị Destination sequence number trong entry chứa thông tin về đường đi với số Destination sequence number trong gói RREQ, nếu số Destination sequence number trong RREQ lớn hơn số Destination squence number trong entry thì nó sẽ không sử dụng thông tin trong entry của bảng định tuyến để trả lời cho node nguồn mà nó sẽ tiếp tục phát Broadcast gói RREQ đó đến cho các nút láng giềng của nó Ngược lại nó sẽ
Trang 27phát Unicast cho gói RREP ngược trở lại cho nút láng giềng của nó để báo đã nhận gói RREQ Gói RREP ngoài các thông tin như: địa chỉ nguồn, địa chỉ đích,… còn chứa các thông tin: destination sequence number, hop-count, TTL Ngược lại thì qua bước 3
Bước 3: Nếu trong bảng định tuyến của nó không có đường đi đến đích thì nó sẽ
tăng số Hop-count lên 1, đồng thời nó sẽ tự động thiết lập một đường đi ngược (Reverse path ) từ nó đến nút nguồn bằng cách ghi nhận lại địa chỉ của nút láng giềng
mà nó nhận gói RREQ lần đầu tiên Entry chứa đường đi ngược này sẽ được tồn tại trong một khoảng thời gian đủ để gói RREQ tìm đường đi đến đích và gói RREP phản hồi cho nút nguồn, sau đó entry này sẽ được xóa đi
Sourse
address
Destination address
Destination Sequence No
Hop count Life time
Hình 3.12 Các trường trong gói tin RREP [18]
Quá trình kiểm tra này sẽ lặp tuần tự cho đến khi gặp node đích hoặc một nút trung gian mà có các đều kiện thỏa bước 2 Trong quá trình trả về gói RREP, một nút
có thể nhận cùng lúc nhiều gói RREP, khi đó nó sẽ chỉ xử lý gói RREP có số Destination Sequence number lớn nhất, hoặc nếu cùng số Destination sequence number thì nó sẽ chọn gói RREP có số Hop-count nhỏ nhất Sau đó nó sẽ cập nhật các thông tin cần thiết vào trong bảng định tuyến của nó và chuyển gói RREP đi
3.3.2.2 Cơ chế duy trì thông tin định tuyến
Như đã nhận xét ở trên, cơ chế hoạt động của AODV là không cần phải biết thông tin về các nút láng giềng, chỉ cần dựa vào các entry trong bảng định tuyến Vì vậy, khi một node nhận thấy rằng không thể tìm thấy chặng (hop) kế tiếp của nó thì nó
sẽ phát một gói RRER (Route Error) khẩn cấp với số Sequence number bằng số Sequence number trước đó cộng thêm 1, Hop count bằng ∞ và gửi đến tất cả các nút láng giềng đang ở trạng thái active, những nút đó sẽ tiếp tục chuyển gói tin đó đến các nút láng giềng của nó, và cứ như vậy cho đến khi tất cả các nút trong mạng ở trạng thái active nhận được gói tin này
Sau khi nhận thông báo này, các nút sẽ xóa tất cả các đường đi có chứa nút hỏng, đồng thời có thể sẽ khởi động lại tiến trình Route discovery nếu nó có nhu cầu định tuyến dữ liệu đến nút bị hỏng đó bằng cách gửi một gói tin RREQ (với số Sequence number bằng số Sequence number mà nó biết trước đó cộng thêm 1) đến các nút láng giềng để tìm đến địa chỉ đích
Trang 283.4 So sánh hoa ̣t đô ̣ng của các giao thức
AODV và DSR là hai giao thức đư ợc sử dụng phổ biến nhất trên hệ thống mạng MANET [11] Nhìn chung hai giao thức đều thực hiện tốt khả năng tìm đường của mình Trong phần này , chúng tôi sẽ phân tích các đặc điểm giống nhau và khác nhau của hai giao thức [11,15]
+ Giống nhau
- Tiến trình khám phá đường đi được thực hiện dựa trên việc gởi quảng bá và nhận phản hồi
- Thông tin định tuyến được lưu trữ tại tất cả các nút trung gian
- Trong quá trình khám phá tuyến đường , các node trung gian đều có k hả năng học đường về đích hoặc ngược về nguồn
+ Khác nhau
- Đối với giao thức DSR, tại mỗi nút luôn duy trì thông tin về toàn bộ đường đi
về đích hoặc về nguồn Đối với giao thức AODV, tại mỗi nút chỉ duy trì thông tin đến các nút hàng xóm của nó Đồng thời, quá trình tìm đường trong giao thức AODV có kiểm tra về độ mới của thông tin đường đi về đích Do vậy, chúng ta có thể thấy giao thức DSR sẽ duy trì và sử dụng những đường đi không còn hiệu lực cho đến khi
phát hiện lỗi trong quá trình t ruyền , khi đó mới có cơ chế cập nhật lại thông tin về đường đi này
- Trong quá trình thiết lập đường dẫn ngược về nguồn (phản hồi gói RREP), AODV có kiểm tra và lựa chọn giá trị Hop_cnt nhỏ nhất trong trường hợp có nhiều đường đến đích Do vậy, đường đi lựa chọn trong giao thức AODV là tối ưu hơn trong DSR
- DSR sử dụng cơ chế định tuyến nguồn, theo đó nó luôn trả lời cho tất cả các yêu cầu tìm đường Cơ chế này giúp DSR thu thập được nhiều đường đi về đích dẫn đến khả năng phát tin tốt hơn AODV Tuy nhiên, đều này chỉ tốt trong trường hợp mạng có ít nguồn phát và mức độ di chuyển không cao, trong trường hợp mức di chuyển cao khả năng các nút sẽ bị mất liên lạc với nhau nhiều là nguyên nhân dẫn đến
số lượng đường đi mất hiệu lực trong Route cache tăng thêm vào đó là sự gia tăng các thông điệp Reply dẫn đến giảm sút hiệu suất của DSR
Trang 29Chương 4 NGHIÊN CỨU VIỆC SỬ DỤNG BỘ MÔ PHỎNG NS2
ĐỂ ĐÁNH GIÁ DUNG LƯỢNG MẠNG MANET
Chương 4 trình bày các phương pháp mô phỏng mạng từ đó đưa ra lựa chọn phương pháp mô phỏng bằng cách sử dụng công cụ mô phỏng NS-2 Giới thiệu về bộ phần mềm mô phỏng NS-2, cấu trúc cũng như cách hoạt động của phần mềm này
4.1 Lựa chọn phương pháp và công cụ đánh giá hiệu năng mạng [1]
4.1.1 Lựa chọn phương pháp
Trong quá trình hình thành và phát triển của mạng máy tính, những nhà thiết kế
và nghiên cứu mạng luôn dành sự quan tâm lớn đến vấn đề đánh giá và dự đoán hiệu năng mạng; mục đích chính là để nắm được và cải thiện đặc trưng giá - hiệu năng
Trong quá trình thiết kế - xây dựng - vận hành - bảo trì hệ thống mạng, ngay từ giai
đoạn bắt đầu cho đến khi mạng đã được lắp đặt và đưa vào hoạt động thì yêu cầu đánh giá và yêu cầu đánh giá hiệu năng mạng luôn song hành Trong giai đoạn đầu của quá trình thiết kế, người ta thường phải dự đoán hai vấn đề Vấn đề thứ nhất là bản chất của các ứng dụng sẽ chạy trên mạng và các yêu cầu dịch vụ mà các ứng dụng đòi hỏi
hệ thống mạng đáp ứng Vấn đề dự đoán thứ hai liên quan tới liên quan tới việc lựa chọn một trong các thiết kế kiến trúc, dựa trên các công nghệ phần cứng và phần mềm
sẽ được phát triển và đưa ra thị trường trong tương lai, khi hệ thống mạng bước vào giai đoạn triển khai thực hiện
Để tìm được các khiếm khuyết chính trong thiết kế hoặc các lỗi trong việc lập trình hệ thống, các nhà nghiên cứu thường so sánh hiệu năng dự đoán với hiệu năng thực tế đạt được Ngày nay, việc dự đoán và đánh giá hiệu năng thường được coi là một phần không thể thiếu được trong công việc thiết kế và triển khai thực hiện hệ thống nhằm đạt được mục tiêu là tối ưu hóa hiệu năng hệ thống
- Định cấu hình mạng: sau khi hoàn thành triển khai và đưa mạng vào hoạt động, việc dự đoán và đánh giá hiệu năng mạng đối với các ứng dụng cụ thể cũng có ý nghĩa quan trọng Để tối ưu hóa hiệu năng mạng, nhà sản xuất phải chỉ ra được các cách kết hợp, tổ chức phần cứng và phần mềm để đem lại một giải pháp tốt nhất cho khách hàng
- Tinh chỉnh hệ thống: sau khi hệ thống sản phẩm đã được lắp đặt, nhà cung cấp sản phẩm cần phải làm sao cho hệ thống mà họ bán cho khách hàng đạt được hiệu năng hoạt động như đã hẹn Đối với các hệ thống mạng, việc tìm ra điểm tối ưu và ổn định trên toàn mạng là rất khó
Trang 30mạng, chúng sẽ cùng nhau chia sẻ các tài nguyên Nói chung tất cả các tham số như: số lượng và chiều dài các gói số liệu đi vào hoặc đi qua mạng tại mọi thời điểm, thời gian kéo dài các cuộc kết nối … thay đổi một cách thống kê Do đó, cần phải sử dụng các
khái niệm về xác suất để nghiên cứu sự tương tác của chúng với mạng khi xác định các tiêu chuẩn đo lường định lượng về hiệu năng Lý thuyết hàng đợi đóng vai trò mấu chốt trong việc phân tích mạng, bởi vì nó là công cụ toán học thích hợp nhất để phát biểu và giải các bài toán về hiệu năng Theo phương pháp này, chúng ta viết ra các mối quan hệ hàm giữa các tiêu chuẩn hiệu năng cần quan tâm và các tham số của hệ thống mạng bằng các phương trình có thể giải được bằng giải tích
4.1.3 Mô phỏng mạng bằng chương trình máy tính
Mô phỏng, theo nghĩa chung nhất là sự bắt chước một hay nhiều khía cạnh của
sự vật có thực, bằng một cách nào đó càng giống càng tốt Trong các lĩnh vực nghiên cứu hiện đại nói chung và lĩnh vực đánh giá hiệu năng mạng nói riêng, mô phỏng được hiểu là một kỹ thuật sử dụng máy tính điện tử số để làm các thí nghiệm về mạng có liên quan đến thời gian Chúng ta có thể xem hoạt động của mạng máy tính là một dãy các sự kiện xảy ra liên tiếp, tại các thời điểm xác định, rời rạc; mỗi sự kiện diễn ra trong một khoảng thời gian xác định Do đó, mô hình mô phỏng hoàn toàn mô tả được hành vi động của mạng, ngay cả khi người nghiên cứu chỉ quan tâm đến giá trị trung bình của mộ số độ đo trong trạng thái dừng Bằng cách sử dụng máy tính điện tử số, chúng ta có thể xây dựng các modul chương trình phần mềm để mô phỏng các thành phần khác nhau của mạng thực cũng như hành vi của chúng Các modul chương trình phần mềm nói trên thường được gộp thành bộ mô phỏng với cấu trúc và độ phức tạp phụ thuộc và phạm vi của thí nghiệm mô phỏng
Trang 314.1.4 Đo trên mạng thực
Đây là phương pháp xác định hiệu năng dựa trên việc đo trên mạng thực các tham số mạng cấu thành độ đo hiệu năng cần quan tâm Việc đo hiệu năng nhằm thực hiện một trong ba nhiệm vụ sau:
- Giám sát hiệu năng mạng
- Thu nhập số liệu để lập mô hình dữ liệu vào cho các phương pháp đánh giá hiệu năng bằng giải tích hoặc mô phỏng
- Kiểm chứng các mô hình khác dựa trên các số liệu đo được
Đo hiệu năng không chỉ quan trọng trong các giai đoạn triển khai thực hiện mà còn cả trong các giai đoạn lắp đặt và vận hành hệ thống, mỗi một hệ thống cụ thể sẽ có một tải hệ thống và các độ đo hiệu năng được quan tâm riêng của nó, cho nên sau khi lắp đặt, người ta thường phải điều chỉnh cấu hình cho phù hợp Các tham số cấu hình
sẽ được chọn sau khi các phép đo hiệu năng cho thấy các tham số cấu hình này làm chi
hệ thống đạt được hiệu năng tốt nhất
4.1.5 Lý do sử dụng phương pháp mô phỏng để đánh giá hiệu năng mạng
Trong những trường hợp mô hình giải tích mà chúng ta nhận được, dù đã được đơn giản hóa hoặc phân rã nhưng vẫn không thể giải được bằng toán học, khi đó chúng
sẽ chỉ có phương pháp mô phỏng là đem lại hiệu quả
Phương pháp mô phỏng có thể được sử dụng ngay trong giai đoạn đầu của việc thiết kế hệ thống mạng, cho đến giai đoạn triển khai và tích hợp hệ thống Phương pháp này nói chung, đòi hỏi một chi phí rất cao cho việc xây dựng bộ mô phỏng cũng như kiểm chứng tính đúng đắn của nó Tuy nhiên sau khi đã xây dựng xong bộ mô phỏng, người nghiên cứu có thể tiến hành mô phỏng nhiều lần để đưa ra kết quả với độ chính xác theo yêu cầu và chinh phí cho mỗi lân chạy mô phỏng là rất thấp Các kết quả mô phỏng nói chung vẫn cần được kiểm chứng bằng phương pháp giải tích hoặc đo
Trong luận văn chúng tôi sử dụng bộ mô phỏng NS-2 (Network Simulation) để đánh giá dung lượng của mạng MANET dựa theo số nút và độ linh động của nút
4.2 Giới thiệu về NS-2
NS-2 [1,13, 16, 17] là phần mềm mô phỏng mạng, hoạt động của nó được điều khiển bởi các sự kiện rời rạc NS-2 được thiết kế và phát triển theo kiểu hướng đối tượng, được phát triển tại đại học California, Berkely Bộ phần mềm này được viết bằng ngôn ngữ C++ và OTcl
Trang 32Hình 4.1 Cấu trúc của NS-2 [1, 13]
Cấu trúc của NS-2 bao gồm các thành phần được chỉ ra trên (hình 4.1), chức năng của chúng được mô tả như sau:
Simulation Program Chương trình Mô phòng
NS Simulation Library Thư viện Mô phỏng NS
Event Scheduler Objects Các đối tượng Bộ lập lịch Sự kiện
Network Component Objects Các đối tượng Thành phần Mạng
Network Setup Helping Modules Các mô đun Trợ giúp Thiết lập Mạng
Plumbling Modules Các mô-đun Plumbling
Simulation Results Các kết quả Mô phỏng
NAM Network Animator Minh họa Mạng NAM
NS là Bộ biên dịch Tcl mở rộng hướng đối tượng; bao gồm các đối tượng: Bộ lập lịch sự kiện, các đối tượng thành phần mạng và các mô đun trợ giúp thiết lập mạng
Để sử dụng NS-2, người dùng lập trình bằng ngôn ngữ kịch bản OTcl Người dùng có thể thêm các mã nguồn Otcl vào NS-2 bằng cách viết các lớp đối tượng mới trong OTcl Những lớp này khi đó sẽ được biên dịch cùng với mã nguồn gốc
Kịch bản OTcl có thể thực hiện những việc sau:
- Khởi tạo Bộ lập lịch Sự kiện
- Thiết lập Mô hình mạng dùng các đối tượng thành phần mạng
- Báo cho nguồn traffic khi nào bắt đầu truyền và ngưng truyền packet trong Bộ lập lịch Sự kiện