Đối với mạng MANET, có nhiều vấn đề kỹ thuật cần phải được giải quyết như: i các tính chất không dự đoán được của liên kết dẫn tới xung đột dữ liệu và tín hiệu truyền, ii sự di động của
Trang 1ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
Nguyễn Kiên Giang
NGHIÊN CỨU KỸ THUẬT ĐỊNH TUYẾN ĐA ĐƯỜNG HIỆU QUẢ, TIN CẬY VÀ TIẾT KIỆM NĂNG LƯỢNG TRÊN CƠ SỞ CẢI TIẾN GIAO THỨC AOMDV
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Thái Nguyên - 2020
Trang 2ĐẠI HỌC THÁI NGUYÊN TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN VÀ TRUYỀN THÔNG
Nguyễn Kiên Giang
NGHIÊN CỨU KỸ THUẬT ĐỊNH TUYẾN ĐA ĐƯỜNG HIỆU QUẢ, TIN CẬY VÀ TIẾT KIỆM NĂNG LƯỢNG TRÊN CƠ SỞ CẢI TIẾN GIAO THỨC AOMDV
Ngành: Khoa học máy tính
Mã số: 9480101
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
NGƯỜI HƯỚNG DẪN KHOA HỌC
PGS TS NGUYỄN VĂN TAM
Thái Nguyên - 2020
Trang 3LỜI CẢM ƠN
Sau thời gian học tập và rèn luyện tại Trường Đại học Công nghệ thông tin
và Truyền thông – Đại học Thái Nguyên, bằng sự biết ơn và kính trọng, tôi xin
gửi lời cảm ơn chân thành đến Ban Giám hiệu, Phòng Đào tạo và Khoa Công nghệ
thông tin thuộc Trường Đại học Công nghệ thông tin và Truyền thông – Đại học
Thái Nguyên cùng các thầy, cô giáo đã nhiệt tình hướng dẫn, giảng dạy và tạo mọi
điều kiện thuận lợi giúp đỡ tôi trong suốt quá trình học tập, nghiên cứu và hoàn
thiện luận văn này
Đặc biệt, tôi xin bày tỏ lòng biết ơn sâu sắc tới PGS TS Nguyễn Văn Tam,
người thầy đã trực tiếp hướng dẫn, giúp đỡ em trong quá trình thực hiện đề tài
Xin chân thành cảm ơn gia đình, bạn bè cùng đồng nghiệp đã tạo điều kiện
sát, nghiên cứu để hoàn thành đề tài này
Tuy nhiên điều kiện về năng lực bản thân còn hạn chế, luận văn chắc chắn
không tránh khỏi những thiếu sót Kính mong nhận được sự đóng góp ý kiến của
các thầy cô giáo, bạn bè và đồng nghiệp để luận văn của tôi được hoàn thiện hơn
Xin trân trọng cảm ơn!
Thái Nguyên, ngày … tháng … năm 2019
Học viên
Nguyễn Kiên Giang
Trang 4MỤC LỤC
DANH MỤC CÁC TỪ VIẾT TẮT 1
MỞ ĐẦU 3
CHƯƠNG 1 MẠNG AD HOC DI ĐỘNG VÀ ĐỊNH TUYẾN ĐA ĐƯỜNG 6
1.1 Tổng quan về mạng ad hoc di động 6
1.1.1 Định nghĩa mạng ad hoc di động 6
1.1.2 Đặc điểm của mạng ad hoc di động 7
1.1.3 Ứng dụng của mạng MANET 9
1.1.3.1 Ứng dụng trong quân đội 9
1.3.1.2 Các ứng dụng trong cuộc sống 10
1.3.1.3 Mạng cảm biến 12
1.3.1.4 Mạng Rooftop 12
1.3.1.5 Mở rộng phạm vi của điểm truy cập 13
1.2 Giao thức định tuyến đa đường AOMDV 14
1.2.1 Tổng quan về giao thức AOMDV 14
1.2.2 Vấn đề chống định tuyến lặp 15
1.2.3 Các đường tách biệt 18
1.2.4 Bảng định tuyến 24
1.2.5 Thuật toán cập nhật đường 25
1.2.6 Tiến trình khám phá đường 27
1.2.7 Cơ chế bảo trì đường 30
1.2.8 Cơ chế chuyển tiếp dữ liệu 31
1.3 Một số nghiên cứu cải tiến giao thức AOMDV 31
1.5 Tổng kết chương 1 34
Trang 5CHƯƠNG 2 KỸ THUẬT ĐỊNH TUYẾN ĐA ĐƯỜNG HIỆU QUẢ, TIN CẬY
VÀ TIẾT KIỆM NĂNG LƯỢNG CỦA GIAO THỨC ĐỊNH TUYẾN
E2E-LREEMR 36
2.1 Xây dựng độ đo định tuyến 36
2.2 Cơ chế hoạt động 38
2.3 Xác định năng lượng còn lại và năng lượng còn lại tối thiểu 39
2.4 Xác định năng lượng truyền dự kiến 41
2.5 Xác định tổng năng lượng truyền dự kiến 42
2.6 Xác định số lần truyền dự kiến 43
2.7 Xác định tổng số lần truyền dự kiến 45
2.8 Chọn đường dựa trên CETX và CETE 45
2.9 Tổng kết Chương 2 48
CHƯƠNG 3 MÔ PHỎNG VÀ ĐÁNH GIÁ HIỆU NĂNG GIAO THỨC 50
3.1 Thiết lập môi trường mô phỏng 50
3.2 Độ đo hiệu năng 51
3.3 Kết quả mô phỏng và đánh giá 53
3.3.1 Tỷ lệ mất gói 53
3.3.2 Chi phí định tuyến chuẩn hoá 54
3.3.3 Tổng năng lượng tiêu thụ 56
3.3.4 Thông lượng 57
3.3.5 Tỷ lệ truyền thành công 58
3.3.6 Chi phí định tuyến 59
3.3.7 Trễ đầu cuối trung bình 60
3.4 Tổng kết Chương 3 62
KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 63
TÀI LIỆU THAM KHẢO 65
Trang 6DANH MỤC CÁC TỪ VIẾT TẮT
ADSL Asymmetric Digital
AOMDV Ad hoc On demand
Multipath Distance Vector
Giao thức định tuyến AODV đa đường
CETE Cumulative Expected
DA Destination Address Địa chỉ đích
DoS Denial-of-Service Tấn công từ chối dịch vụ
DSR Dynamic Source Routing Giao thức định tuyến nguồn
động E2E-
LREEMR
End-to-End Link Reliable Energy Efficient Multipath Routing
Giao thức định tuyến đa đường
có liên kết đầu cuối tin cậy và tiết kiệm năng lượng
ETE Expected Transmission
Energy
Năng lượng truyền dự kiến
ETX Expected Transmission
Trang 7MANET Mobile Ad hoc Network Mạng ad hoc di động
MDSDV Modified
Destination-Sequenced Vector
Distance-Giao thức định tuyến DSDV cải tiến
MP-DSR Multipath Dynamic
Source Routing
Giao thức định tuyến DSR đa đường
MP-OLSR Multipath Optimized Link
State Routing Protocol
Giao thức định tuyến OLSR đa đường
MRE Minimal Residual Energy Năng lượng còn lại tối thiểu NS-2 Network Simulator
version 2
Phần mềm mô phỏng mạng NS phiên bản 2
OLSR Optimized Link State
Routing Protocol
Giao thức định tuyến tối ưu trạng thái đường liên kết OMMRE-
AOMDV
Optimized Minimal Maximal nodal Residual Energy AOMDV
Giao thức định tuyến AOMDV tối ưu năng lượng nút mạng
QoS Quality of Service Chất lượng dịch vụ
RREP Route Reply Gói tin trả lời đường
RREQ Route Request Gói tin yêu cầu tìm đường
RSSI Received Signal Strength
Indicators
Chỉ số độ mạnh tín hiệu nhận được
ZRP Zone Routing Protocol Giao thức định tuyến vùng
Trang 8MỞ ĐẦU
Mạng Ad hoc di động (MANET) là một nhóm thiết bị tự trị di động cung cấp khả năng truyền thông đa chặng qua việc sử dụng các liên kết không dây và hình thành cấu trúc liên kết động Các mạng như vậy không có cơ sở hạ tầng vật lý đầy
đủ như bộ định tuyến, máy chủ, điểm truy cập, cáp truyền dẫn hoặc cơ chế quản trị tập trung Mỗi nút di động trong MANET hoạt động với cả hai vai trò là định tuyến và nút người dùng đầu cuối Điều này khiến mạng MANET được kỳ vọng
sẽ có những ứng dụng rộng rãi trong các khu vực chiến tranh, khắc phục thảm họa, hàng không và thông tin liên lạc hàng hải, công nghiệp, gia đình
Đối với mạng MANET, có nhiều vấn đề kỹ thuật cần phải được giải quyết như: (i) các tính chất không dự đoán được của liên kết dẫn tới xung đột dữ liệu và tín hiệu truyền, (ii) sự di động của các nút mạng dẫn đến cấu trúc mạng động, (iii) thời lượng pin hạn chế của các thiết bị di động, (iv) vấn đề trạm ẩn và trạm rõ xảy
ra khi các tín hiệu của hai nút xung đột với nhau, (v) khó bảo trì đường do sự thay đổi của môi trường truyền và (vi) thiếu cơ chế bảo mật tạo cơ hội cho các tấn công như nghe lén thụ động, can thiệp chủ động và rò rỉ thông tin bí mật, giả mạo dữ liệu, phát lại thông điệp và tấn công từ chối dịch vụ (DoS)
Định tuyến là một trong những vấn đề quan trọng nhất cần được xem xét trong số nhiều vấn đề cần giải quyết trong MANET Các giao thức định tuyến đơn đường thường tìm thấy một đường tối ưu giữa một cặp nút nguồn và đích Do đó, mỗi khi một con đường bị phá vỡ, một tiến trình khám phá đường mới lại được kích hoạt dẫn đến chi phí và độ trễ cao Tuy nhiên, các giao thức định tuyến đa đường thiết lập một kênh truyền thông từ nguồn đến đích bằng cách có các đường
Trang 9dự phòng Khi đường chính bị lỗi trong quá trình truyền thông đầu cuối, các đường
dự phòng được sử dụng để truyền tải dữ liệu một cách hiệu quả đến đích
Đã có nhiều giao thức định tuyến đa đường được đề xuất Đối với các giao thức định tuyến đa đường sử dụng cơ chế tìm đường trước như giao thức MDSDV
và giao thức MP-OLSR, việc cập nhật các bảng định tuyến thường xuyên dẫn đến việc tiêu thụ một lượng lớn bộ nhớ, băng thông và năng lượng Để giải quyết vấn
đề này, các giao thức định tuyến đa đường tìm đường theo yêu cầu đã được đề xuất Những giao thức định tuyến đa đường tiêu biểu trong nhóm này là giao thức MP-DSR và giao thức AOMDV Cũng đã có nhiều nghiên cứu đề xuất cải tiến giao thức AOMDV thành các giao thức mới để đạt được hiệu năng tốt hơn Đó là giao thức MMNE-AOMDV và OMMNE-AOMDV với khả năng tiết kiệm năng lượng cao hơn; giao thức LL-EE-AOMDV với khả năng định tuyến đa đường hiệu quả qua các liên kết tin cậy và tiết kiệm năng lượng Đây là giao thức có hiệu năng cao hơn giao thức OMMNE-AOMDV, MMNE-AOMDV và AOMDV Do số lượng đường được giao thức LR-EE-AOMDV tạo ra rất hạn chế bởi cơ chế lựa chọn đường giữa bất kỳ cặp nguồn-đích nào bằng cách sử dụng kết hợp 3 độ đo đầu cuối nên độ trễ đầu cuối của giao thức này là rất cao khi số lượng kết nối hoặc lưu lượng dữ liệu mạng tăng lên
Mục tiêu chính đề tài này là nghiên cứu sâu về giao thức định tuyến đa đường mới là E2E-LREEMR trên cơ sở cải tiến giao thức định tuyến đa đường AOMDV Giao thức này có khả năng tìm nhiều đường không lặp qua các liên kết tin cậy với
và sử dụng năng lượng một cách hiệu quả theo điều kiện tài nguyên có sẵn để đáp ứng các yêu cầu Chất lượng dịch vụ (QoS) khác nhau của các ứng dụng Mức độ cải tiến về hiệu năng của giao thức E2E-LREEMR so với giao thức AOMDV sẽ
Trang 10được chứng minh qua các phân tích đánh giá các kết quả mô phỏng hai giao thức trên phần mềm mô phỏng NS-2
Luận văn có bố cục như sau: Sau phần mở đầu là nội dung giới thiệu tổng quan về mạng không dây di động ad hoc và định tuyến đa đường được trình bày trong Chương 1 Chi tiết của kỹ thuật định tuyến đa đường, hiệu quả, tin cậy và tiết kiệm năng lượng trong giao thức định tuyến E2E-LREEMR trên cơ sở cải tiến giao thức định tuyến AOMDV được trình bày trong Chương 2 Các kết quả mô phỏng, so sánh đánh giá hiệu năng của giao thức định tuyến E2E-LREEMR và giao thức định tuyến AOMDV được trình bày trong Chương 3 Cuối cùng là phần kết luận đưa ra những nội dung tổng kết và hướng phát triển của luận văn
Trang 11CHƯƠNG 1 MẠNG AD HOC DI ĐỘNG VÀ ĐỊNH TUYẾN ĐA ĐƯỜNG 1.1 Tổng quan về mạng ad hoc di động
1.1.1 Định nghĩa mạng ad hoc di động
Mạng ad hoc di động (MANET) [3] là một mạng được hình thành bởi một tập các nút (máy/thiết bị) không dây, di động mà không hề có bất cứ sự trợ giúp nào của một trạm quản lý tập trung, một cơ sở hạ tầng truyền thông có trước hoặc
sự can thiệp của người dùng Việc truyền thông giữa các nút được thực hiện nếu như hai nút là đủ gần nhau để trao đổi các gói tin
Hình 1.1 Ví dụ về một mạng MANET
Có thể hình dung mạng MANET như một đồ thị, trong đó các nút mạng được biểu diễn bởi các đỉnh của đồ thị Nếu hai nút có thể truyền thông trực tiếp với nhau, liên kết đó được biểu diễn bởi đường nối giữa hai nút Đồ thị biểu diễn này là một đồ thị tùy ý, có thể thay đổi hình dạng tại bất cứ thời điểm nào
Mạng MANET có thể là một mạng độc lập, hoặc cũng có thể được kết nối với một mạng khác lớn hơn, ví dụ mạng Internet
Trang 12Trong Hình 1.1 là một ví dụ về một mạng MANET gồm 7 nút Phạm vi truyền thông của mỗi nút được biểu diễn bằng một hình tròn Các nút nằm trong phạm vi truyền thông của nhau có thể truyền thông trực tiếp được với nhau
Kết nối giữa các nút mạng được đặc trưng bởi khoảng cách giữa các nút và tính sẵn sàng hợp tác để tạo thành mạng mặc dù là tạm thời Các tính chất đặc trưng của kết nối trong mạng MANET bao gồm:
(1) Khoảng cách giữa các nút: Khoảng cách giữa các nút hoặc trạng thái ở gần nhau của chúng định nghĩa ranh giới mạng Chỉ cần hai hoặc nhiều nút chuyển động trong một bán kính nhất định là tạo thành một mạng ad-hoc Chính sự chuyển động làm cho khoảng cách giữa các nút thay đổi gây ra bản chất đặc biệt (ad-hoc) của mạng
(2) Tính sẵn sàng hợp tác: (1) chỉ là điều kiện cần, chưa phải là điều kiện đủ
để thành lập mạng ad-hoc Các nút ở trong khoảng cách đủ gần phải sẵn sàng hợp tác để tạo thành mạng Nói cách khác, tự bản thân nút quyết định “online” hay
“offline”
(3) Mạng ngang hàng tạm thời: Tại bất cứ một thời điểm nào, mạng ad-hoc được xác định bởi các nút đang “online” và ở trong một khoảng cách nhất định Một nút luôn có xu hướng tham gia hay biến mất khỏi mạng Do đó, mạng được coi là tạm thời Hơn nữa, do không có một cơ sở hạ tầng mạng cho trước, các nút trong mạng phải truyền thông theo kiểu ngang hàng (peer-to-peer)
1.1.2 Đặc điểm của mạng ad hoc di động
Do ad hoc là một mạng không dây hoạt động không cần sự hỗ trợ của hạ tầng mạng cơ sở trên cơ sở truyền thông đa chặng giữa các thiết bị di động vừa
Trang 13đóng vai trò là thiết bị đầu cuối, vừa đóng vai trò là bộ định tuyến nên mạng ad hoc di động còn có một số đặc điểm nổi bật sau [2]:
Các nút mạng có tài nguyên hạn chế: Mỗi nút di động trong mạng có thể là một
bộ cảm biến, một điện thoại thông minh hoặc một máy tính xách tay Thông thường các thiết bị này có tài nguyên hạn chế so với các máy tính trong mạng
có dây và không dây truyền thống về tốc độ xử lý, dung lượng bộ nhớ và năng lượng nguồn pin nuôi sống hoạt động của nút
Chất lượng liên kết hạn chế: Các liên kết không dây thường có băng thông nhỏ hơn so với các liên kết có dây Ngoài ra, do ảnh hưởng của cơ chế đa truy cập, vấn đề suy giảm tín hiệu, nhiễu và các yếu tố khác, băng thông thực của các liên kết không dây thường thấp hơn nhiều so với tốc độ truyền tối đa theo lý thuyết của môi trường truyền không dây
Cấu trúc động: Do tính chất di chuyển ngẫu nhiên của các nút mạng nên cấu trúc của loại mạng này cũng thường xuyên thay đổi một cách ngẫu nhiên ở những thời điểm không xác định trước Trong khi thay đổi, cấu trúc của mạng
có thêm hoặc mất đi các kết nối hai chiều hoặc kết nối một chiều
Độ bảo mật thấp ở mức độ vật lý: Mạng không dây di động thường chịu tác động về mặt vật lý từ các nguồn gây nguy hại về an ninh nhiều hơn so với mạng
có dây Về khía cạnh vật lý, các kỹ thuật gây mất an ninh và bảo mật trong mạng như nghe lén, giả mạo và tấn công từ chối dịch vụ thường dễ triển khai trong mạng ad ho di động hơn là trong mạng có dây truyền thống
Có thể thấy những đặc điểm này là các yếu tố ảnh hưởng rất nhiều đến hiệu năng của mạng ad hoc di động Để có thể triển khai được mạng ad hoc di động trong thực tế, các thiết kế mạng phải giải quyết được những thách thức sinh ra do
Trang 14những đặc điểm đã nêu trên của mạng Những thách thức này gồm các vấn đề kỹ thuật như khả năng truyền dữ liệu và định tuyến hiệu quả khi kích thước mạng thay đổi; đảm bảo chất lượng dịch vụ (QoS) cho các chương trình ứng dụng; cơ chế chuyển đổi một số dịch vụ từ mô hình client-server; tiết kiệm năng lượng pin
để kéo dài thời gian hoạt động của các nút mạng riêng lẻ và của toàn mạng; đảm bảo an ninh mạng; khả năng hợp tác giữa các nút mạng và khả năng tự tổ chức của mạng;
1.1.3 Ứng dụng của mạng MANET
Các công nghệ của mạng không dây kiểu không cấu trúc đem lại rất nhiều lợi ích so với các mạng truyền thống (cả không dây và có dây) trong những ngữ cảnh khó có thể triển khai được một cơ sở hạ tầng mạng cố định hoặc việc triển khai là không khả thi do những lý do về mặt thực hành (địa hình,…) hoặc do những
lý do về kinh tế (chi phí cáp trong một không gian lớn, chi phí thiết lập nhiều điểm truy cập) Phần dưới đây sẽ giới thiệu các ứng dụng của mạng MANET
1.1.3.1 Ứng dụng trong quân đội
Những thành tựu mới của công nghệ thông tin thường được áp dụng trong quân sự đầu tiên, và mạng không dây kiểu không cấu trúc cũng không phải là một ngoại lệ Nhiều năm nay, quân đội đã sử dụng các mạng “packet radios” – một nguyên mẫu đầu tiên của mạng chuyển mạch gói không dây ngày nay
Giải pháp mạng MANET cho quân đội có những đặc điểm khác so với mạng MANET thuần túy [1]
Mạng MANET thuần túy thường tuân theo một mô hình điểm ngẫu nhiên, các nút tự do di chuyển theo bất cứ hướng nào, với bất cứ tốc độ nào Trong mô
Trang 15hình mạng MANET cho quân đội, các nút phân nhóm theo bản chất tự nhiên của chúng khi chúng cùng thực hiện một nhiệm vụ cụ thể Xu hướng di động ở đây là theo nhóm Hình 1.2 minh hoạ sự khác nhau về mô hình di động của mạng MANET thuần tuý và mạng MANET trong quân đội
Hình 1.2 Mô hình di động mạng MANET thuần túy và mạng MANET quân đội
Do đó, nếu đưa ra được một mô hình chuyển động theo nhóm, các vấn đề của mạng MANET sẽ trở nên cụ thể hơn (ví dụ: định tuyến, sử dụng các ứng dụng thời gian thực như tiếng nói, video,…), cho phép phát triển một giải pháp tối ưu
1.3.1.2 Các ứng dụng trong cuộc sống
Mạng MANET là rất lý tưởng trong các trường hợp không có sẵn một cơ sở
hạ tầng thông tin, tuy nhiên lại cần phải thành lập một mạng tạm thời nhằm trao đổi thông tin và hợp tác cùng làm việc
Tại các vùng bị thiên tai, thảm họa, khó có thể có được một cơ sở hạ tầng
về thông tin vững chắc Hệ thống có trước đó rất có thể bị hỏng hoặc bị phá hủy hoàn toàn
Trang 16Tại vùng có thảm họa, tất cả các phương tiện và hệ thống truyền thông đều
bị phá hủy hoàn toàn Mỗi chiếc xe của cảnh sát, cứu hỏa, cứu thương,… đều được trang bị như một thiết bị đầu cuối di động – là một phần của mạng ad-hoc Mỗi nhân viên cũng mang theo một thiết bị đầu cuối di động Các thiết bị đầu cuối này đều liên kết với nhau, hình thành nên một mạng tạm thời nhằm trao đổi thông tin Cấu hình mạng thay đổi theo những thời điểm khác nhau Ngoài ra, các thiết bị đầu cuối di động không chỉ cung cấp chức năng gửi và nhận thông tin mà còn có thể chuyển tiếp thông tin – đóng vai trò như router trên Internet
Đối với ứng dụng trong hội thảo, khác với cách làm truyền thống khi những người tham gia hội thảo muốn chia sẻ tài liệu cho nhau là gửi file đính kèm qua email hoặc sao chép qua các thiết bị lưu trữ thứ cấp có khả năng di động, tất cả những người tham dự hội thảo đều có thể sử dụng thiết bị di động để tạo thành một mạng ad-hoc trong suốt thời gian đó Các thiết bị có thể truyền thông với nhau, truyền/nhận các tài liệu được sử dụng trong hội thảo Khi hội thảo kết thúc, các thiết bị được tắt nguồn, mạng tự bị hủy bỏ
Mạng MANET cũng có thể ứng dụng trong cuộc sống Chẳng hạn như mạng động được hình thành từ hai thiết bị cầm tay thông minh của các em học sinh để chơi game Môi trường mạng ở đây là một mạng không dây kiểu không cấu trúc thuần túy, tức là không có cơ sở hạ tầng về cáp, các thiết bị đầu cuối tự cấu hình
để thành lập mạng, mà không có sự quản lý tập trung Mạng này có thể tự chia nhỏ thành các mạng con: một mạng riêng giữa em học sinh và bạn của em, một mạng “chung” được khởi tạo bởi người muốn chia sẻ các chương trình trò chơi điện tử trên máy của anh ta Hai mạng này được trộn lẫn vào nhau một cách linh động
Trang 171.3.1.3 Mạng cảm biến
Cảm biến là các thiết bị nhỏ, phân tán, giá thành thấp, tiết kiệm năng lượng,
có khả năng truyền thông không dây và xử lý cục bộ Mạng cảm biến là mạng gồm các nút cảm biến (sensor) – các nút này hợp tác với nhau để cùng thực hiện một nhiệm vụ cụ thể, ví dụ như: giám sát môi trường (không khí, đất, nước), theo dõi môi trường sống, hành vi, dân số của các loài động, thực vật, dò tìm động chấn, theo dõi tài nguyên, thực hiện trinh thám trong quân đội,
Trước đây mạng cảm biến thường bao gồm một lượng nhỏ các nút cảm biến được kết nối bằng cáp tới một trạm xử lý tập trung Ngày nay, các nút mạng cảm biến thường là không dây, phân tán để vượt qua các trở ngại vật lý của môi trường, tiết kiệm năng lượng và do trong nhiều trường hợp không thể có được một hạ tầng
có sẵn về năng lượng và truyền thông
Công nghệ mạng không dây kiểu không cấu trúc thường được áp dụng để triển khai mạng cảm biến do:
Các nút cảm biến được phân tán trong vùng không có sẵn cơ sở hạ tầng về truyền thông và năng lượng Các nút phải tự hình thành kết nối
Các nút phải tự tự cấu hình, tự hoạt động trong bất cứ trường hợp nào
Cấu hình mạng luôn có thể thay đổi (các nút cảm biến bị hỏng, các nút mới được thêm vào,…), mạng cảm biến phải tự thích nghi với những thay đổi này
1.3.1.4 Mạng Rooftop
Là một công nghệ đang bùng nổ để cung cấp truy cập mạng băng thông rộng tới các gia đình, một cách để thay thế ADSL (Asymmetric Digital Subscriber Line)
Trang 18và các công nghệ tương tự khác Mạng rooftop sử dụng công nghệ mạng ad-hoc
để mở rộng phạm vi của một số điểm truy cập – các điểm này được nối với nhà cung cấp dịch vụ Internet (ISP) Mỗi người truy cập được trang bị một router ad-hoc cho phép chuyển tiếp lưu lượng thay mặt những người truy cập khác
Từ khía cạnh ad-hoc, những mạng MANET như vậy là tương đối tĩnh – cấu hình của mạng hiếm khi thay đổi
Hình 1.3 Một ví dụ về mạng Rooftop
1.3.1.5 Mở rộng phạm vi của điểm truy cập
Trong các mạng không dây được sử dụng rộng rãi ngày nay, các nút mạng
di động được kết nối với các điểm truy cập theo cấu hình hình sao Để được kết nối vào mạng, người sử dụng phải ở trong phạm vi truy cập của mạng Do phạm
vi truy cập này là giới hạn và cơ sở hạ tầng một chặng (one-hop) của cấu hình này, các điểm truy cập phải được trải rộng trong toàn bộ vùng, bao phủ khắp những nơi muốn kết nối với nhau
Trang 19Sử dụng mạng không dây kiểu không cấu trúc, nhu cầu cần các điểm truy cập sẽ giảm – người sử dụng bên ngoài phạm vi truy cập sẽ vẫn có thể được “tiếp sóng” thông qua một hoặc nhiều nút trung gian để truy cập được vào mạng
1.2 Giao thức định tuyến đa đường AOMDV
1.2.1 Tổng quan về giao thức AOMDV
Giao thức AOMDV [8] là giao thức định tuyến đa đường theo yêu cầu dạng vectơ khoảng cách được thiết kế dành cho mạng MANET Nó được phát triển từ giao thức AODV trên cơ sở chia sẻ một số đặc điểm với giao thức AODV Nó dựa trên khái niệm vectơ khoảng cách và sử dụng phương pháp định tuyến từng chặng Hơn nữa, giao thức AOMDV cũng tìm thấy các đường theo yêu cầu bằng cách sử dụng tiến trình khám phá đường Sự khác biệt chính giữa hai giao thức này nằm ở
số lượng đường tìm được sau mỗi tiến trình khám phá tuyến Trong giao thức AOMDV, việc truyền gói RREQ từ nguồn tới đích sẽ thiết lập nhiều đường dẫn ngược ở cả các nút trung gian cũng như nút đích Nhiều gói RREP đi qua các đường nghịch hướng về nút nguồn để tạo thành nhiều đường thuận đến đích tại các nút nguồn và nút trung gian Giao thức AOMDV cũng cung cấp cho các nút trung gian các đường dự phòng nhằm làm giảm tần suất khám phá đường
Vấn đề trọng tâm của giao thức AOMDV là vấn đề đảm bảo phát hiện được nhiều đường không lặp và phân tách trong tiến trình tìm đường hiệu quả bằng cách
sử dụng tiến trình khám phá đường dựa vào kỹ thuật “làm ngập tràn” (flooding) Các quy tắc cập nhật đường của giao thức AOMDV được áp dụng cục bộ tại mỗi nút đóng vai trò chính trong việc duy trì các đường không lặp và phân tách Các nội dung được trình bày trong chương này là các ý tưởng chính để đạt được hai thuộc tính này Các phần tiếp sẽ trình bày cách đưa những ý tưởng đó vào giao
Trang 20thức AOMDV bao gồm mô tả chi tiết các quy tắc cập nhật đường tại mỗi nút và tiến trình khám phá đa đường
Đề xuất thiết kế giao thức AOMDV tái sử dụng nhiều nhất có thể những thông tin định tuyến đã có sẵn trong giao thức AODV Do đó, nó hạn chế chi phí phát sinh trong việc khám phá nhiều đường Đặc biệt, nó không sử dụng thêm bất
kỳ gói điều khiển đặc biệt nào Trên thực tế, các gói RREP và RERR bổ sung để phát hiện và bảo trì đa đường cùng với một vài trường bổ sung trong các gói điều khiển định tuyến (RREQ, RREP và RERR) là chi phí bổ sung duy nhất trong giao thức AOMDV so với giao thức AODV
1.2.2 Vấn đề chống định tuyến lặp
Các quy tắc cập nhật tuyến của giao thức AODV giới hạn một nút chỉ tìm được tối đa một đường cho mỗi đích Do đó, cần thiết phải sửa đổi các quy tắc cập nhật đường này để tại mỗi nút có nhiều hơn một đường cho mỗi đích Tuy nhiên, những sửa đổi này cần được thực hiện để đảm bảo vấn đề tránh định tuyến lặp Có hai vấn đề phát sinh khi tính toán nhiều đường dẫn không lặp tại một nút cho một đích Một là, mỗi nút sẽ chọn đường nào trong nhiều đường để cung cấp hoặc quảng bá cho các nút khác? Do mỗi tuyến đường có thể có số chặng khác nhau nên việc lựa chọn một đường bất kỳ có thể tạo thành các đường lặp vòng Hai là, một nút khi nhận được quảng bá đường có chấp nhận đường nhận được hay không? Việc chấp nhận tất cả các con đường có thể gây ra hiện tượng định tuyến lặp
Hình 1.4 minh họa vấn đề đường lặp vòng bằng các ví dụ đơn giản Trong Hình 1.4(a), nút D là đích và nút I có hai đường đến D - một đường 5 chặng qua nút M (I –M –N –O–P –D) và một đường một chặng trực tiếp (I - D) Giả sử tuyến đường (I –M –N –O–P –D) được quảng bá đến nút J và tiếp theo tuyến đường (I –
Trang 21D) được quảng bá đến nút K Sau đó, cả J và K đều có đường đến nút D qua nút I, nhưng mỗi tuyến đường đều có chặng khác nhau Nếu sau đó nút I nhận được một đường 4 chặng đến đích D từ nút L (L–K–I–D), nút I sẽ không thể xác định được
L là nút trước hay nút sau nó trên con đường tới đích D vì chỉ có thông tin số chặng được đưa vào quảng bá đường Vì vậy, tại nút I sẽ hình thành một tuyến đường tới nút đích D thông qua nút L làm dẫn đến một vòng lặp Tình huống như vậy xảy ra
do một nút (ở đây là nút I) quảng bá một đường ngắn hơn (I - D) trong khi nó đã
có một đường dự phòng dài hơn (I –M –N –O–P –D)
Hình 1.4 Ví dụ về các trường hợp có thể xảy ra định tuyến lặp
Hình 1.4(b) cho thấy một tình huống tiềm năng khác xảy ra lặp vòng Trong
đó nút D là đích Nút J có đường dẫn 3 chặng đến nút D thông qua nút (J–K–I–D) Nút L cũng có một đường 3 chặng đến nút D thông qua nút M (L - M - N - D) Giả
sử nút I nhận được một đường dẫn 4 chặng đến nút D từ nút L Trong trường hợp này, nút I không thể xác định được liệu nút L có phải là nút đứng trước hay không bởi vì nút J cũng có thể cung cấp một con đường 4 chặng tới nút D Do đó, việc một nút chấp nhận một đường dài hơn sau khi nó đã quảng bá một đường ngắn hơn tới các nút láng giềng cũng có thể gây ra định tuyến lặp
Trang 22Tập các điều kiện chống định tuyến lặp đã được xây dựng cho giao thức AODV được phát biểu như sau:
(i) Quy tắc số thứ tự: Chỉ duy trì các tuyến đường cho số thứ tự đích có giá
trị cao nhất Tại mỗi nút, nhiều tuyến đường có cùng số thứ tự đích được duy trì Với quy tắc này, tính chất không lặp vòng của các tuyến đường có thể đạt được tương tự như giao thức AODV Khi một nút nhận được quảng bá đường chứa số thứ tự đích cao hơn, tất cả các đường có số thứ tự cũ hơn tới đích tương ứng sẽ bị loại bỏ Tuy nhiên, các nút khác nhau (trên cùng một tuyến đường) có thể có các
số thứ tự khác nhau cho cùng một đích
(ii) Đối với cùng một số thứ tự đích,
(a) Quy tắc quảng bá đường: Không quảng bá đường ngắn hơn đường đã được quảng bá trước đó
(b) Quy tắc nhận đường: Không nhận đường dài hơn đường đã được quảng
bá trước đó
Để duy trì nhiều đường cho cùng một số thứ tự, giao thức AOMDV sử dụng khái niệm “số chặng được quảng bá” Mỗi nút duy trì một biến gọi là số chặng được quảng bá cho mỗi đích Biến này được thiết lập giá trị bằng độ dài của đường (tính theo số chặng) dài nhất tại thời điểm quảng bá đầu tiên cho một số thứ tự đích cụ thể Số lượng chặng được quảng bá không thay đổi cho đến khi số thứ tự đích thay đổi Việc quảng bá độ dài đường dài nhất cho phép có nhiều hơn các đường thay thế được duy trì
Trang 231.2.3 Các đường tách biệt
Bên cạnh việc duy trì nhiều đường không lặp vòng, giao thức AOMDV còn
có khả năng tìm các đường dự phòng không giao nhau Với mục đích cải thiện khả năng chịu lỗi bằng nhiều đường thì các đường tách biệt là một lựa chọn tự nhiên
để chọn một tập con các đường dự phòng hiệu quả từ một tập lớn các đường tiềm năng vì khả năng lỗi dây chuyền và đồng thời của các đường trong tập này nhỏ hơn so với tập các đường có giao cắt Có hai loại đường tách biệt được xem xét là đường tách biệt theo liên kết và đường tách biệt theo nút Đường tách biệt theo liên kết là tập hợp các đường không có liên kết chung giữa một cặp nút, trong khi
đó, đường tách biệt theo nút còn còn thêm điều kiện là không có nút giao nhau
Không giống như vấn đề đường tách biệt trong lý thuyết đồ thị và tài liệu, khái niệm không giao ở đây chỉ giới hạn ở một cặp nút và không xem xét đến tính không giao giữa các cặp nút khác Cụ thể là cần đảm bảo mọi con đường có thể đi được từ một nút P bất kỳ tới một nút đích D là không giao nhau Điều này có nghĩa
là không nhất thiết tất cả các đường đi trong mạng dẫn đến nút D đều phải là đường tách biệt Sự khác biệt này được minh họa bằng một ví dụ trong Hình 1.5 Giới hạn đường tách biệt ở trên là đủ khi nhìn từ góc độ về khả năng chịu lỗi và thực tế được sử dụng trong hầu hết các giao thức định tuyến đa đường khác nhau
Hình 1.5 Ví dụ về các đường giao nhau
Trang 24Trong Hình 1.5, các đường được duy trì tại các nút khác nhau đến đích có thể giao nhau Ở đây D là đích đến Nút A có hai đường dẫn không giao nhau đến nút D là A–B–D và A–C–D Tương tự, nút E có hai đường tách biệt đến nút D là E–C–D và E–F–D Tuy nhiên, các và A–C–D và E–C–D lại giao nhau khi chúng chia sẻ một liên kết C–D
Trong việc tìm kiếm các đường tách biệt, lực lượng hoặc độ dài của các đường dự phòng không được tối ưu hóa một cách rõ ràng Trên thực tế, số lượng
và chất lượng của các đường tách biệt được giao thức AOMDV phát hiện phần lớn được xác định qua tiến trình khám phá đường Tuy nhiên, có thể kiểm soát các thuộc tính này bằng cách đặt giới hạn về số lượng và độ dài của các đường dự phòng được duy trì tại mỗi nút Đây là cách tiếp cận hợp lý vì tính chất tồn tại trong thời gian ngắn của các đường trong mạng ad hoc di động và việc tính toán tối ưu cho các đường dự phòng không giao nhau phải sẽ phải chịu chi phí cao hơn
Trong các thuật toán định tuyến phân tán của loại vectơ khoảng cách, một nút sẽ hình thành từng bước các đường đến đích dựa trên các đường thu được từ các nút láng giềng hướng đích Vì vậy, việc tìm một tập hợp các đường tách biệt theo liên kết tại một nút được xem là một quá trình gồm hai bước: (1) xác định một tập các nút láng giềng hướng đích có các đường tách biệt đến đích; (2) hình thành chính xác từng con đường qua mỗi nút láng giềng hướng đích Lưu ý rằng bước thứ hai là đương nhiên được thực hiện khi mỗi nút chỉ cần đảm bảo rằng mọi đường của nó chặng kế tiếp là duy nhất Đây là một hoạt động được thực hiện cục
bộ tại mỗi nút Tuy nhiên, để thực hiện được bước đầu tiên, mỗi nút cần có thông tin về một số hoặc tất cả các nút hướng đích trên mỗi tuyến đường
Trang 25Trong giao thức vectơ khoảng cách thông thường (bao gồm giao thức AODV), một nút chỉ theo dõi chặng kế tiếp và khoảng cách qua chặng kế tiếp cho mỗi con đường Sự giới hạn thông tin trong một chặng này không đủ để một nút xác định liệu hai con đường thu được từ hai nút láng giềng khác nhau có thực sự
là các đường tách biệt hay không (Hình 1.6) Vì vậy, cần bổ sung thông tin cho mỗi con đường để kiểm tra tính chất không giao theo liên kết Giao thức định tuyến nguồn có khả năng duy trì thông tin đầy đủ mọi con đường đầy đủ tại mỗi nút Trong trường hợp như vậy, việc kiểm tra tính không giao theo liên kết sẽ trở thành đơn giản Tuy nhiên, giải pháp này có chi phí cao về việc truyền thông và duy trì thông tin đầy đủ của đường tại mỗi nút
Hình 1.6 Ví dụ về việc hình thành các đường giao nhau theo liên kết
Trong Hình 1.6, thông tin về chặng kế tiếp là không đủ để đảm bảo tính không giao theo liên kết của các con đường Ở đây D là đích Nút A có một con đường qua I đến D (A-I–D) Tương tự, nút B cũng có một con đường qua I đến D (B-I-D) Nút P chỉ biết về các chặng kế tiếp A và B mà không thể xác định liệu các đường từ A và B đến D (lần lượt là A-I-D và B-I-D) có giao nhau hay không
Vì vậy, nếu P tạo các con đường qua A và B thì tập hợp các đường dẫn từ P sẽ giao nhau mặc dù các chặng kế tiếp (A và B) là khác biệt
Trang 26Một cơ chế không yêu cầu thông tin đầy đủ về con đường tại mỗi nút được
đề xuất ở đây Đề xuất này vẫn đảm bảo tính không giao theo liên kết Cụ thể là
cơ chế được đề xuất yêu cầu duy trì thêm thông tin về chặng cuối cùng cho mọi con đường (ngoài thông tin về chặng kế tiếp) Chặng cuối cùng của một con đường
từ nút P đến đích D chính là nút ngay trước nút D trên đường đó Đối với đường một chặng, chặng kế tiếp là nút D và chặng cuối cùng chính là nút P Đối với con đường hai chặng, chặng kế tiếp chính là chặng cuối cùng
Quan sát đơn giản sau đây là cơ sở của đề xuất này để tìm các đường tách biệt theo liên kết: Nếu có hai con đường từ nút P đến đích D là không giao nhau theo liên kết thì chúng phải có các chặng kế tiếp duy nhất cũng như các chặng cuối cùng duy nhất Điều ngược lại của quan sát này không nhất thiết đúng Tuy nhiên, phát biểu ngược lại là đúng khi bổ sung một điều kiện: mỗi nút trên đường đảm bảo rằng tất cả các đường đi đến đích từ nút đó khác nhau về chặng kế tiếp và chặng cuối cùng của chúng (Hình 1.7) Đây là cơ sở để xác định xem hai con đường qua hai nút láng giềng khác nhau hướng đích bị giao nhau theo liên kết hay không Chúng sẽ là các đường tách biệt theo liên kết khi có chặng cuối cùng khác nhau
Hình 1.7 minh họa ý tưởng xác định các đường tách biệt theo liên kết Đối với Hình 1.7(a), hai con đường từ nút P đến nút D thỏa mãn điều kiện chặng các chặng kế tiếp và chặng cuối cùng khác nhau nhưng đây vẫn là hai đường giao nhau theo liên kết vì nút trung gian I không thỏa mãn điều kiện Nếu tất cả các nút trên mọi đường thỏa mãn điều kiện thì các đường sẽ không giao nhau theo liên kết Trong trường hợp này, Hình 1.7(b) chỉ có một đường được thỏa mãn Tuy nhiên, Hình 2.4(c) có hai đường thỏa mãn điều kiện không giao nhau theo liên kết
Trang 27(a) (b)
(c)
Hình 1.7 Minh họa ý tưởng tính toán đường tách biệt theo liên kết
Để thực hiện ý tưởng tìm đường tách biệt theo liên kết như trên, cần duy trì thông tin về chặng cuối cùng cho mọi con đường trong bảng định tuyến Các gói RREQ và RREP trong giao thức AOMDV cũng phải mang thông tin về chặng cuối cùng Lưu ý rằng chặng cuối cùng trên tuyến sẽ thực sự là chặng đầu tiên được thực hiện bởi các gói định tuyến này Hoạt động chi tiết của giao thức được mô tả trong phần tiếp theo
Hình 1.8 minh họa vai trò quan trọng của thông tin về chặng cuối cùng và Hình 1.9 minh họa việc xác định các đường tách biệt theo liên kết
I
I
Trang 28Hình 1.8 Vai trò của chặng cuối cùng
Trong Hình 1.8, nút D là đích đến, nút J có 2 đường tách biệt theo liên kết đến nút D qua nút X và nút Y Vì một nút không thể có hai đường dẫn có cùng chặng kế tiếp nên nút I sẽ chỉ tạo thành một đường qua nút J với chặng cuối cùng
là X hoặc Y Giả sử nút I tạo một đường qua J với X là chặng cuối cùng; điều này
sẽ ngăn cản việc truyền đường qua nút Y nút đứng trước nó theo chiều ngược về phía nút nguồn Khi nút I quảng bá đường của nó tới nút D với chặng cuối cùng là nút X đến các nút A và B đứng trước nó, mỗi nút này sẽ tạo thành một đường qua nút I với chặng cuối cùng là nút X Nút P xác định rằng các đường dẫn từ nút A
và nút B đến nút D không phải là các đường tách biệt theo liên kết vì chúng có cùng chặng cuối cùng X Vì vậy, nút P chỉ tạo một đường tới nút đích D
Trong Hình 1.9, nút D là đích đến, nút I xác định rằng 2 đường X - D và Y
- D là 2 đường tách biệt theo liên kết vì nút X và nút Y là hai nút láng giềng phân biệt của nút D Vì vậy, nút I tiếp tục tạo 2 đường dẫn không giao theo liên kết đến nút D qua nút X và nút Y Giả sử nút I quảng bá các đường qua nút X và nút Y tương ứng đến nút A và nút B Lưu ý rằng mỗi quảng bá đường chứa thông tin về chặng cuối cùng của đường được quảng bá Sau đó, các đường từ nút A và nút B đến nút D các đường tách biệt theo liên kết vì chúng có các chặng cuối cùng phân
Trang 29biệt (X và Y) Tiếp theo, nút P có thể tạo 2 đường tách biệt theo liên kết đến nút
D qua nút A và nút B
Hình 1.9 Minh họa cho việc tính toán đường tách biệt theo liên kết
1.2.4 Bảng định tuyến
Hình 1.10 Cấu trúc entry bảng định tuyến của giao thức AODV và AOMDV
Hình 1.10 cho thấy sự khác biệt trong cấu trúc entry bảng định tuyến giữa giao thức AODV và giao thức AOMDV Entry bảng định tuyến của giao thức AOMDV có một trường mới là “advertised hop count” biểu diễn số chặng được
(b) AOMDV
Trang 30quảng bá Bên cạnh đó, một danh sách tuyến đường “route list” được sử dụng trong giao thức AOMDV để lưu trữ thông tin bổ sung cho từng đường dẫn thay thế bao gồm: chặng kế tiếp (next_hop), chặng cuối cùng (last_hop), số chặng (hop_count) và thời gian hết hạn (timeout)
1.2.5 Thuật toán cập nhật đường
Xét một nút đích d và một nút i Bất cứ khi nào nút i cập nhật số thứ tự đích cho d, số chặng được quảng bá tương ứng sẽ được khởi tạo Cho trước một số thứ
tự đích, đặt ℎ𝑜𝑝_𝑐𝑜𝑢𝑛𝑡𝑖𝑘𝑑 là số chặng của con đường thứ k trong entry bảng định
tuyến cho đích d tại nút i Như vậy là (𝑛𝑒𝑥𝑡_ℎ𝑜𝑝𝑖𝑘𝑑, 𝑙𝑎𝑠𝑡_ℎ𝑜𝑝𝑖𝑘𝑑, ℎ𝑜𝑝_𝑐𝑜𝑢𝑛𝑡𝑖𝑘𝑑) ∈𝑟𝑜𝑢𝑡𝑒_𝑙𝑖𝑠𝑡𝑖𝑑 Khi nút i chuẩn bị gửi quảng bá đường đầu tiên cho đích d, nó sẽ cập
nhật số chặng được quảng bá như sau:
𝑎𝑑𝑣𝑒𝑟𝑡𝑖𝑠𝑒𝑑_ℎ𝑜𝑝_𝑐𝑜𝑢𝑛𝑡𝑖𝑘 = {max{ℎ𝑜𝑝_𝑐𝑜𝑢𝑛𝑡𝑖𝑘𝑑}, 𝑖 ≠ 𝑑
0, i = dBất cứ khi nào một nút nhận được một quảng bá đường, nó sẽ áp dụng các quy tắc cập nhật đường của giao thức AOMDV được liệt kê trong Thuật toán 1
Trong thuật toán này, nút i gọi áp dụng các quy tắc này mỗi khi nó nhận được một quảng bá đường cho nút đích d từ một nút láng giềng j Các biến 𝑠𝑒q_num𝑖𝑑, 𝑎𝑑𝑣𝑒𝑟𝑡𝑖𝑠𝑒𝑑_ℎ𝑜𝑝_𝑐𝑜𝑢𝑛𝑡𝑖𝑑, và 𝑟𝑜𝑢𝑡𝑒_𝑙𝑖𝑠𝑡𝑖𝑑 tương ứng là chặng kế tiếp, số chặng
được quảng bá và danh sách đường cho đích d tại nút i (i # d) Các biến 𝑛𝑒𝑥𝑡_ℎ𝑜𝑝𝑖𝑘𝑑
và 𝑙𝑎𝑠𝑡_ℎ𝑜𝑝𝑖𝑘𝑑 biểu diễn giá trị tương ứng của chặng kế tiếp và chặng cuối cùng của con đường thứ k trong entry bảng định tuyến cho đích d tại nút i Các dòng (1)
và (10) trong Thuật toán 1 đảm bảo tính không lặp vòng, trong khi các dòng (12)
và (15) kiểm tra tính tách biệt theo liên kết
Trang 31Input: Thông tin quảngbáđường
Output: Quy tắc cập nhậtđường
12: if ((∄𝑘1 ∶ (𝑛𝑒𝑥𝑡_ℎ𝑜𝑝𝑖𝑘𝑑1 = 𝑗))and (∄𝑘2 ∶ (𝑙𝑎𝑠𝑡_ℎ𝑜𝑝𝑖𝑘𝑑2 = 𝑖))) then /*đảm bảo
tính duy nhất của chặng kế tiếp và chặng cuối cùng */
13 insert (𝑗, 𝑖, 1) into 𝑟𝑜𝑢𝑡𝑒_𝑙𝑖𝑠𝑡𝑖𝑑 ;
14: end if
15: else if ((∄𝑘3 ∶ (𝑛𝑒𝑥𝑡_ℎ𝑜𝑝𝑖𝑘𝑑3 = 𝑗))and (∄𝑘4 ∶ (𝑙𝑎𝑠𝑡_ℎ𝑜𝑝𝑖𝑘𝑑4 = 𝑙𝑎𝑠𝑡_ℎ𝑜𝑝𝑗𝑘𝑑 ))) then /*đảm bảo tính duy nhất của chặng kế tiếp và chặng cuối cùng */
Trang 321.2.6 Tiến trình khám phá đường
Trong giao thức AODV, khi một nút nguồn có lưu lượng dữ liệu cần một con đường để truyền tới đích, nút nguồn sẽ bắt đầu quá trình khám phá đường bằng cách tạo gói RREQ Vì RREQ được truyền kiểu quảng bá ngập toàn mạng, một nút trong mạng có thể nhận được một vài bản sao của cùng một gói RREQ Chỉ bản sao đầu tiên của gói RREQ được sử dụng để tạo các đường dự phòng ngược hướng nguồn Các bản sao đến sau đơn giản sẽ bị loại bỏ Cần lưu ý rằng một số bản sao này có thể được sử dụng một cách hữu ích để tạo thành các đường ngược hướng tới nguồn Vì vậy, tất cả các bản sao trùng lặp được giao thức AOMDV kiểm tra để phục vụ cho mục đích tạo ra các đường dự phòng ngược hướng nguồn Tuy nhiên, các đường ngược hướng nguồn chỉ được hình thành bằng các bản sao đảm bảo tính không lặp vòng và không giao cho các con đường Điều này được xác nhận bằng cách áp dụng các quy tắc cập nhật tuyến đường trong Thuật toán 1
Khi một nút trung gian nhận được một đường ngược qua bản sao gói RREQ,
nó sẽ kiểm tra xem có một hay nhiều đường thuận hợp lệ hướng đích hay không Nếu có, nút này sẽ tạo một gói RREP và gửi nó trở lại nút nguồn dọc theo đường ngược Gói RREP chứa một đường thuận chưa được sử dụng trong bất kỳ gói RREP nào trước đây cho tiến trình khám phá đường này Trong trường hợp này, nút trung gian không chuyển tiếp gói RREQ nữa Trường hợp ngược lại, khi nút trung gian không có bất cứ đường hợp lệ nào tới đích, nó sẽ quảng bá lại bản sao gói RREQ nếu trước đó nó chưa chuyển tiếp bất kỳ bản sao nào của gói RREQ này và bản sao này dẫn đến hoạt động hình thành / cập nhật đường ngược
Trang 33Khi nút đích nhận được các bản sao RREQ, nó cũng tạo thành các đường dẫn ngược theo cách tương tự như các nút trung gian Tuy nhiên, nó áp dụng một chính sách lỏng hơn để tạo gói RREP Cụ thể là, nút đích tạo ra gói RREP để trả lời đường cho mọi bản sao gói RREQ đến nó qua đường không không lặp đến nút nguồn mặc dù khi tạo ra các đường ngược, nút đích chỉ sử dụng các bản sao gói RREQ đến qua các đường không lặp và không giao từ nút nguồn Lý do ẩn sau việc áp dụng chính sách tạo gói RREP lỏng hơn tại nút đích là như sau: Đối với
cơ chế quảng bá gói RREQ kiểu ngập tràn toàn mạng, mỗi nút chỉ quảng bá cục
bộ gói RREQ một lần, triệt tiêu các bản sao gói RREQ tại các nút trung gian và nhân bản các gói RREQ khác Hình 1.11 cho thấy một ví dụ, trong đó nút I nhân bản bản sao gói RREQ đi qua nút A và triệt tiêu bản sao gói RREQ đi qua nút B Kết quả là, nhiều đường tách biệt có thể bị liên kết lại tại các nút trung gian và xuất hiện dưới dạng một đường duy nhất tại đích Như vậy, nút đích D sẽ chỉ biết
về đường S-A-I-X-D nhưng không biết về đường S-B-I-Y-D Vấn đề này được gọi là vấn đề “cắt tuyến” (route cutoff) Rõ ràng, vấn đề cắt đường ngăn chặn việc khám phá ra tất cả các đường ngược không giao nhau Điều này dẫn đến sự giới hạn về số lượng các đường thuận hướng đích không giao nhau được tìm thấy tại nút nguồn nếu nút đích chỉ gửi gói RREP theo các đường dẫn ngược Do đó, nút đích được cho gửi lại gói RREP theo từng đường dẫn ngược không lặp mặc dù đây chưa chắc đã là đường tách biệt với các đường ngược được thiết lập trước đó Các RREP bổ sung như vậy làm giảm bớt vấn đề cắt tuyến và tăng khả năng tìm thấy các đường thuận hướng đích Cần lưu ý rằng các gói RREP bổ sung này không yêu cầu các nút trung gian và nút nguồn phải thực hiện thêm bất kỳ hành động đặc biệt nào khác nhằm đảm bảo tính không giao cho các đường dự phòng tìm được vì các quy tắc trong Thuật toán 1 vẫn được áp dụng độc lập tại mỗi nút
Trang 34Hình 1.11 Tiến trình quảng bá RREQ của AOMDV
Khi một nút trung gian nhận được gói RREP, nó tuân theo các quy tắc cập nhật đường trong Thuật toán 1 để có thể tạo thành một đường dẫn không lặp và không giao tới đích Ngược lại, gói RREP sẽ bị hủy bỏ Giả sử một nút trung gian tạo thành đường thuận hướng đích và nó có một hoặc nhiều đường dẫn nghịch hợp
lệ hướng nguồn, nó sẽ kiểm tra xem có đường nghịch nào trước đó chưa được sử dụng để gửi gói RREP trong tiến trình khám phá đường này Nếu có, nó chọn đường nghịch này để chuyển tiếp gói RREP Ngược lại nút trung gian sẽ hủy bỏ gói RREP Việc chọn một đường dẫn nghịch duy nhất để chuyển tiếp RREP theo một đường dẫn ngược duy nhất không phải là việc nhân bản nó tới tất cả các đường dẫn nghịch hiện có, do đó không làm ảnh hưởng đến độ trễ khám phá đường của giao thức AOMDV Điều này là do độ trễ của tiến trình khám phá đường được đo bằng thời gian chờ trước khi nút nguồn nhận được con đường đầu tiên và các gói RREP trong giao thức AOMDV (cũng như trong giao thức AODV) sử dụng cơ chế truyền unicast tin cậy của tầng MAC trên cơ sở ARQ Nói cách khác, nếu thực hiện việc nhận bản gói RREP tại các nút trung gian sẽ gây ra vấn đề cắt tuyến
bản sao 2 qua B
bản sao của bản sao 1 qua X
bản sao của bản sao 1 qua Y
Trang 35tương tự như quá trình quảng bá gói RREQ đã trình bày ở trên, do đó làm giảm số lượng đường dẫn không giao được tìm thấy tại nguồn
1.2.7 Cơ chế bảo trì đường
Tiến trình bảo trì đường trong giao thức AOMDV được phát triển từ tiến trình bảo trì đường của giao thức AODV với những thay đổi rất đơn giản Cũng giống như giao thức AODV, giao thức AOMDV sử dụng các gói RERR Một nút tạo hoặc chuyển tiếp gói RERR khi đường cuối cùng đến đích bị phá vỡ Giao thức AOMDV cũng đã được tối ưu để cứu các gói theo kế hoạch sẽ được chuyển tiếp qua các liên kết lỗi bằng cách chuyển tiếp chúng qua các đường dự phòng Điều này tương tự như cơ chế cứu gói như trong giao thức DSR
Cơ chế timeout (thời gian chờ hết hiệu lực) được mở rộng từ một đường đơn tới đa đường mặc dù vấn đề đặt giá trị timeout thích hợp trong giao thức AOMDV khó khăn hơn so với giao thức AODV Khi có nhiều đường cùng hướng tới một đích, sẽ có nhiều khả năng xảy ra việc tồn tại các con đường có thông tin đã cũ và không còn chính xác với topo mạng hiện tại Tuy nhiên, nếu sử dụng các giá trị timeout rất nhỏ để loại bỏ các đường cũ có thể làm giảm lợi ích của việc sử dụng nhiều đường Khi cài đặt giao thức AOMDV, nên sử dụng các giá trị timeout có
độ lớn trung bình và sử dụng thêm các gói HELLO để chủ động xóa các đường
cũ Do đó, timeout trong phiên bản hiện tại của giao thức AOMDV chủ yếu đóng vai trò là một cơ chế mềm để xử lý các sự kiện không lường trước chẳng hạn như bảng định tuyến bị hủy Cơ chế lựa chọn thời gian timeout thích hợp để xóa đường
cũ trong giao thức DSR đã được đề xuất áp dụng cho giao thức AOMDV với một
số thay đổi Cũng có thể lựa chọn thời gian chờ trên cơ sở đặc tính phân tích đặc tính theo hành vi của liên kết trong mạng không dây phi cấu trúc