(Luận văn thạc sĩ) Kỹ thuật định tuyến đa đường trong mạng không dây phi cấu trúc(Luận văn thạc sĩ) Kỹ thuật định tuyến đa đường trong mạng không dây phi cấu trúc(Luận văn thạc sĩ) Kỹ thuật định tuyến đa đường trong mạng không dây phi cấu trúc(Luận văn thạc sĩ) Kỹ thuật định tuyến đa đường trong mạng không dây phi cấu trúc(Luận văn thạc sĩ) Kỹ thuật định tuyến đa đường trong mạng không dây phi cấu trúc(Luận văn thạc sĩ) Kỹ thuật định tuyến đa đường trong mạng không dây phi cấu trúc(Luận văn thạc sĩ) Kỹ thuật định tuyến đa đường trong mạng không dây phi cấu trúc(Luận văn thạc sĩ) Kỹ thuật định tuyến đa đường trong mạng không dây phi cấu trúc(Luận văn thạc sĩ) Kỹ thuật định tuyến đa đường trong mạng không dây phi cấu trúc(Luận văn thạc sĩ) Kỹ thuật định tuyến đa đường trong mạng không dây phi cấu trúc(Luận văn thạc sĩ) Kỹ thuật định tuyến đa đường trong mạng không dây phi cấu trúc(Luận văn thạc sĩ) Kỹ thuật định tuyến đa đường trong mạng không dây phi cấu trúc
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
Nông Thị Hồng
KỸ THUẬT ĐỊNH TUYẾN ĐA ĐƯỜNG
TRONG MẠNG KHÔNG DÂY PHI CẤU TRÚC
LUẬN VĂN THẠC SĨ KHOA HỌC MÁY TÍNH
Thái Nguyên - 2019
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
Trang 3LỜI CẢM ƠN
Sau thời gian học tập và nghiên cứu 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, em đã hoàn thành luận văn tốt
nghiệp thạc sĩ ngành Khoa học máy tính Để có được kết quả này, em xin bày tỏ
sự kính trọng và lòng biết ơn sâu sắc tới:
– TS Nguyễn Đình Dũng, Trường ĐH CNTT & TT – ĐHTN: cán bộ
hướng dẫn khoa học đã luôn tận tình giúp đỡ và chỉ bảo em trong suốt quá trình
làm luận văn
– Các cán bộ, giảng viên Khoa Công nghệ thông tin và Phòng Đào tạo cùng
toàn thể các thầy, cô giáo trong trường Trường Đại học CNTT & TT - ĐHTN đã
tận tình chỉ bảo, hướng dẫn và giúp đỡ em trong suốt quá trình em thực hiện đề
tài luận văn này
– Bên cạnh đó sự giúp đỡ của gia đình, bạn bè và người thân đã luôn ủng hộ
và tạo điều kiện tốt nhất để em có thể tập trung nghiên cứu hoàn thành luận văn
Do về mặt kiến thức và thời gian còn hạn chế, luận văn còn nhiều khiếm
khuyết Tôi mong được sự đóng góp ý kiến của các thầy, cô và mọi người để
luận văn 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
Nông Thị Hồng
Trang 4MỤC LỤC
MỞ ĐẦU 1
CHƯƠNG 1 MẠNG KHÔNG DÂY DI ĐỘNG PHI CẤU TRÚC VÀ VẤN ĐỀ ĐỊNH TUYẾN 3
1.1 Tổng quan về mạng không dây phi cấu trúc 3
1.1.1 Khái niệm mạng không dây phi cấu trúc 3
1.1.2 Đặc điểm của mạng không dây phi cấu trúc 4
1.1.3 Ứng dụng của mạng không dây phi cấu trúc 6
1.2 Một số chiến lược định tuyến trong mạng không dây phi cấu trúc 8
1.2.1 Phân loại các chiến lược định tuyến 8
1.2.2 Mô tả các chiến lược định tuyến trong mạng ad hoc 9
1.3 Giao thức định tuyến theo yêu cầu dạng vectơ khoảng cách AODV 15
1.3.1 Giới thiệu về giao thức AODV 15
1.3.2 Cơ chế hoạt động của giao thức AODV 16
1.4 Tổng kết Chương 1 25
CHƯƠNG 2 GIAO THỨC ĐỊNH TUYẾN ĐA ĐƯỜNG AOMDV 28
2.1 Tổng quan về giao thức AOMDV 28
2.1.1 Vấn đề chống định tuyến lặp 29
2.1.2 Các đường tách biệt 32
2.2 Hoạt động chi tiết của giao thức AOMDV 39
2.2.1 Bảng định tuyến 39
2.2.2 Thuật toán cập nhật đường 40
2.2.3 Tiến trình khám phá đường 42
2.2.4 Cơ chế bảo trì đường 45
2.2.4 Cơ chế chuyển tiếp dữ liệu 46
2.3 Các tính chất của giao thức 47
2.3.1 Loại bỏ tính lặp vòng 48
2.3.2 Tính tách biệt của đường 49
Trang 52.4 Tổng kết Chương 2 52
CHƯƠNG 3 MÔ PHỎNG VÀ ĐÁNH GIÁ HIỆU NĂNG GIAO THỨC AOMDV 54
3.1 Mục tiêu của việc đánh giá giao thức AOMDV 54
3.2 Môi trường mô phỏng 54
3.3 Các độ đo hiệu năng 57
3.4 Kết quả mô phỏng và phân tích đánh giá hiệu năng 57
3.4.1 Thay đổi tốc độ di chuyển 57
3.4.2 Thay đổi số lượng kết nối 65
3.4.3 Thay đổi tốc độ dữ liệu 68
3.4.4 Số lượng đường 70
3.5 Tổng kết Chương 3 72
KẾT LUẬN 74
TÀI LIỆU THAM KHẢO 76
Trang 6MỞ ĐẦU
Mạng không dây phi cấu trúc được hình thành bởi kết nối tạm thời giữa các nút mạng Đây là công nghệ mạng nền tảng để phát triển các công nghệ mạng được ứng dụng rộng rãi ngày nay như mạng cảm biến, mạng giao thông, mạng tác chiến,… Trong mạng không dây phi cấu trúc, mỗi nút mạng vừa đóng vai trò
là một thiết bị đầu cuối, vừa đóng vai trò là một bộ định tuyến Do tính chất di động của các nút mạng nên bài toán định tuyến trong mạng không dây phi cấu trúc có nhiều điểm khác biệt so với bài toán định tuyến trong các mạng truyền thống Từ góc nhìn số lượng đường định tuyến sử dụng, có thể phân chia các giao thức định tuyến trong mạng không dây phi cấu trúc theo hai nhóm là định tuyến đơn đường và định tuyến đa đường
Đối với các giao thức định tuyến đơn đường, chỉ có tối đa một con đường tối ưu theo độ đo định tuyến của chúng được cài đặt vào bảng định tuyến sau mỗi tiến trình tìm đường mặc dù chúng có thể nhận được thông tin về nhiều con đường tới cùng một đích trong cùng một tiến trình tìm đường Tại mỗi nút mạng, các gói tin dữ liệu sẽ được chuyển tiếp theo con đường thích hợp có trong bảng định tuyến Khi một liên kết trên con đường đó bị lỗi, nút mạng này phải khởi tạo lại tiến trình tìm đường
Để tiết kiệm tài nguyên hệ thống mạng trong các tiến trình tìm đường, các giao thức định tuyến đa đường cho phép tìm và cài đặt nhiều hơn một con đường không giao nhau tới cùng một đích vào bảng định tuyến của chúng Tại một nút, khi có yêu cầu chuyển tiếp dữ liệu tới nút đích, con đường tốt nhất sẽ được sử dụng và những con đường còn lại sẽ đóng vai trò là đường dự phòng Khi đường chính bị lỗi, các đường dự phòng sẽ được sử dụng để chuyển tiếp các gói tin dữ
Trang 7liệu nếu chúng vẫn trong trạng thái còn hoạt động được Thêm vào đó, nếu cơ chế cân bằng tải được sử dụng, có thể phân lưu lượng dữ liệu cần truyền thành nhiều luồng được truyền song song trên các con đường tới cùng một đích
Mục đích của đề tài là nghiên cứu về các chiến lược định tuyến và cơ chế hoạt động giao thức định tuyến AODV – một giao thức định tuyến đơn đường điển hình trong mạng không dây phi cấu trúc Sau đó, nghiên cứu các đề xuất cải tiến giao thức AODV thành giao thức AOMDV với mục tiêu nâng cao hiệu năng mạng không dây phi cấu trúc Hiệu năng của giao thức định tuyến đơn đường AODV và giao thức định tuyến đa đường AOMDV sẽ được so sánh, phân tích và đánh giá thông qua phần mềm mô phỏng NS2 với nhiều kịch bản mô phỏng khác nhau
Luận văn bao gồm các phần được bố cục như sau: Phần mở đầu trình bày
về mục tiêu, ý nghĩa và bố cục của luận văn Tiếp theo, các vấn đề tổng quan về mạng không dây phi cấu trúc, vấn đề định tuyến và cơ chế hoạt động chi tiết của giao thức định tuyến AODV được trình bày trong Chương 1 Đề xuất cải tiến thiết kế và triển khai giao thức định tuyến đa đường AOMDV sẽ được trình bày trong Chương 2 Hiệu năng của giao thức được cải tiến AOMDV sẽ được so sánh, phân tích và đánh giá với giao thức gốc AODV trong Chương 3 thông qua nhiều kịch bản mô phỏng được thực hiện trên NS-2 Cuối cùng là phần kết luận đưa ra những tổng kết và hướng phát triển của luận văn
Trang 8CHƯƠNG 1 MẠNG KHÔNG DÂY DI ĐỘNG PHI CẤU TRÚC VÀ VẤN
ĐỀ ĐỊNH TUYẾN 1.1 Tổng quan về mạng không dây phi cấu trúc
1.1.1 Khái niệm mạng không dây phi cấu trúc
Mạng không dây phi cấu trúc (Mobile Ad hoc Network – MANET) [10] là mạng di động không dây hoạt động không cần dựa vào hạ tầng mạng cố định, trong đó hình trạng mạng được tạo thành bởi chính các nút mạng Chế độ “Ad hoc” của chuẩn IEEE 802.11 hoạt động theo mô hình này, mặc dù nó chỉ hỗ trợ
để thiết lập một mạng đơn chặng Các mạng di động không dây kiểu không cấu trúc đã mở rộng khái niệm “Ad hoc” đa chặng theo nghĩa: một nút mạng có thể định tuyến và chuyển tiếp một gói tin nó nhận được từ một nút mạng khác Nói cách khác, con đường chuyển tiếp gói tin từ nút nguồn tới nút đích có thể chứa các nút trung gian khác Các nút trung gian sẽ đọc thông tin trong phần header của các gói tin dữ liệu và chuyển tiếp chúng tới chặng kế tiếp trên một con đường đã được hình thành
Có thể hiểu một mạng không dây phi cấu trúc là một tập các nút không dây
di động có thể trao đổi dữ liệu một cách linh động mà không cần sự hỗ trợ của trạm cơ sở cố định hoặc mạng có dây Mỗi nút di động có một phạm vi truyền giới hạn, do đó chúng cần sự trợ giúp của các nút lân cận để chuyển tiếp các gói
dữ liệu Khi các gói tin dữ liệu từ nút nguồn cần gửi tới một nút đích mà nút đích không nằm trong phạm vi truyền của nút nguồn, cần có sự trợ giúp của các nút trung gian để chuyển tiếp gói tin từ nút nguồn tới nút đích Để thực hiện được công việc này, các nút mạng phải sử dụng giao thức định tuyến phù hợp
Trang 9Hình 1.1 Minh họa của mạng không dây phi cấu trúc
Hình 1 là một ví dụ của mạng không dây phi cấu trúc Trong đó các nút trong mạng kết nối với nhau trong một khoảng thời gian để trao đổi thông tin Trong khi trao đổi thông tin, các nút này vẫn có thể di chuyển, do đó, mạng này phải đáp ứng được yêu cầu truyền dữ liệu trong khi hình trạng mạng có thể thay đổi liên tục Các nút mạng phải có cơ chế tự tổ chức thành một mạng để thiết lập các đường truyền dữ liệu mà không cần sự hỗ trợ từ bên ngoài Trong mô hình này, mỗi nút mạng có thể đóng vai trò là một nút đầu cuối để chạy các chương trình ứng dụng của người sử dụng hoặc là một bộ định tuyến để chuyển tiếp các gói tin cho các nút mạng khác
1.1.2 Đặc điểm của mạng không dây phi cấu trúc
Do mạng không dây phi cấu trúc 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 đóng vai trò là thiết bị đầu cuối, vừa đóng vai trò là bộ định tuyến nên mạng không dây phi cấu trúc có một số đặc điểm nổi bật sau [3]:
Trang 10 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 không dây phi cấu trúc 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
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á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
Độ 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 không dây phi cấu trúc 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 không dây phi cấu trúc Để có thể triển khai được mạng không dây phi cấu trúc trong thực tế, các thiết kế mạng phải giải quyết được
Trang 11những thách thức sinh ra do những đặc điểm đã nêu trên 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 không dây phi cấu trúc
Ngày nay, mạng không dây phi cấu trúc có nhiều những ứng dụng trong đời sống, kinh tế, xã hội của con người Mô hình mạng này phù hợp đối với những tình huống cần triển khai hệ thống mạng một cách nhanh chóng, linh động
và thường xuyên có sự biến đổi trong cấu trúc mạng Chúng còn được ứng dụng rất nhiều trong các ứng dụng từ lĩnh vực thương mại tới các ứng dụng trong các hoạt động quân sự, ứng dụng trong các hoạt động khẩn cấp, ứng dụng trong gia đình, văn phòng và giáo dục, mạng giao thông và mạng cảm biến
Đối với các ứng dụng của mạng không dây phi cấu trúc trong thương mại, những người dùng có thể chia sẻ dữ liệu giữa các thiết bị di động trong một cuộc họp hay hội thảo mà không cần sự hỗ trợ của một cơ sở hạ tầng mạng cố định Các máy tính của những cá nhân có thể kết nối với nhau để tạo thành một mạng tạm thời phục vụ cho các ứng dụng truyền thông dữ liệu trong một nhóm những người dùng mà không cần sự hiện diện của các bộ thu phát tập trung Kết nối Internet từ một thiết bị của một người dùng cũng có thể được chia sẻ tới các thiết
bị của những người dùng khác thông qua mạng không dây phi cấu trúc
Trang 12Ứng dụng mạng không dây phi cấu trúc trông quân đội là một trong những
ý tưởng được đưa ra ngay từ khi mạng không dây phi cấu trúc được phát triển Trong mô hình chiến đấu của quân đội trên chiến trường không có sự hỗ trợ về
hạ tầng mạng cố định, mỗi người lính hoặc một phương tiện quân sự như xe tăng, máy bay, tàu chiến, tàu thủy đều có thể được kết nối và trao đổi thông tin tạm thời với nhau hoặc với trạm chỉ huy một cách linh động thông qua mạng không dây phi cấu trúc được hình thành bởi kết nối giữa các thiết bị di động truyền thông không dây được gắn vào các phương tiện quân sự hay những người lính tham gia vào cuộc chiến
Tại các vùng bị thiên tai, thảm họa, có thể tất cả các phương tiện và hạ tầng truyền thông được xây dựng trước đó đề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,… có thể được trang bị các thiết bị truyền nhận không dây để trở thành một thiết bị đầu cuối di động và là một phần của mạng không dây phi cấu trúc Mỗi nhân viên cứu hộ cũng có thể 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 không dây phi cấu trúc 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 như vai trò như các bộ định tuyến
Mỗi thiết bị thông minh trong gia đình, các điên thoại di động thông minh
và máy tính của những người sử dụng trong văn phòng, trong môi trường trường học, các lớp học có thể đóng vai trò như một nút mạng trong một mạng không dây phi cấu trúc được hình thành tạm thời mà không cần sự hỗ trợ của hạ tầng mạng cố định nhằm phục vụ cho các ứng dụng chia sẻ thông tin, truyền dữ liệu multimedia, quản lý ngôi nhà thông minh, quản lý lớp học thông minh,…
Trang 13Trong vấn đề quản lý và hỗ trợ giao thông, mỗi phương tiện giao thông là một nút mạng di động trong mạng không dây phi cấu trúc được hình thành tạm thời trên một khu vực địa lý nhằm hỗ trợ trao đổi và quản lý các thông tin về tình trạng giao thông, hỗ trợ tìm đường tránh tắc nghẽn giao thông, theo dõi và quản
lý các thiết bị tham gia giao thông, v.v
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ột mạng không dây phi cấu trúc có thể là một mạng cảm biến gồm các nút cảm biến 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,
1.2 Một số chiến lược định tuyến trong mạng không dây phi cấu trúc
1.2.1 Phân loại các chiến lược định tuyến
Có nhiều cách để phân loại các chiến lược định tuyến cho mạng không dây phi cấu trúc theo các tiêu chí khác nhau [1] Các chiến lược định tuyến này được được liệt kê trong Bảng 1.1
Thời điểm định tuyến Định tuyến tìm đường trước và tìm
đường theo yêu cầu Phương pháp truyền thông tin định
tuyến
Định tuyến cập nhật định kỳ và cập nhật theo sự kiện
Số lượng vùng định tuyến Định tuyến phẳng và định tuyến phân
cấp Thông tin định tuyến trong header của Định tuyến nguồn và định tuyến từng
Trang 14 Chiến lược định tuyến tìm đường trước và tìm đường theo yêu cầu
Kiểu định tuyến tìm đường trước còn được gọi là “định tuyến kích hoạt trước” hay “định tuyến điều khiển dạng bảng” Đối với kiểu định tuyến này, các con đường tới mọi đích được tìm ra trước khi có nhu cầu truyền dữ liệu tại mọi nút mạng Trạng thái của các liên kết được lưu trữ và cập nhật định kỳ trong bảng định tuyến để phục vụ cho thuật toán tìm đường tại mỗi nút mạng Ưu điểm lớn nhất của kỹ thuật định tuyến này là khi có yêu cầu truyền dữ liệu, con đường truyền dữ liệu đã sẵn sàng tại các nút mạng và do đó không có độ trễ từ khi có yêu cầu truyền dữ liệu tới lúc tìm ra con đường để truyền dữ liệu Tuy nhiên các giao thức thuộc nhóm này cũng có nhược điểm là chúng tính toán và tìm ra những con đường tới mọi đích nên có thể có một số con đường sẽ không bao giờ được sử dụng và kỹ thuật quảng bá bảng định tuyến định kỳ sẽ chiếm dụng băng thông mạng nhiều khi trạng thái các liên kết và hình trạng mạng thay đổi với tốc
độ nhanh Có thể kể đến một số giao thức định tuyến tiêu biểu thuộc nhóm này là giao thức DSDV và giao thức WRP
Đối với các giao thức định tuyến tìm đường theo yêu cầu, chỉ khi có nhu cầu sử dụng đường truyền dữ liệu, các nút liên quan mới khởi tạo tiến trình tìm đường và trao đổi thông tin định tuyến Phương pháp này có ưu điểm là tiết kiệm băng thông mạng dành cho tải định tuyến nhưng cũng có nhược điểm là quá
Trang 15trình tìm kiếm tuyến đường có thể gây ra một độ trễ truyền tin đáng kể Một số giao thức tiêu biểu đã được đề xuất thuộc nhóm này là DSR, AODV và TORA
Định tuyến cập nhật định kỳ và cập nhật theo sự kiện
Với các giao thức định tuyến trên cơ sở trạng thái liên kết (link state), để đảm bảo thông tin về trạng thái của các liên kết và hình trạng mạng được cập nhật kịp thời, thông tin định tuyến cần được quảng bá tới các nút mạng Trên cơ
sở cách thức quảng bá thông tin định tuyến, ta có thể phân loại các chiến lược định tuyến thành hai nhóm là định tuyến cập nhật định kỳ và định tuyến cập nhật theo sự kiện Chiến lược định tuyến theo chu kỳ sẽ duy trì độ ổn định của mạng
và quan trọng nhất là cho phép các nút mạng học được thông tin về hình trạng và trạng thái của toàn mạng Tuy nhiên, nếu sử dụng chu kỳ dài để cập nhật thông tin định tuyến, các nút mạng có thể chứa các thông tin định tuyến đã cũ và không chính xác Ngược lại, nếu chu kỳ cập nhật thông tin định tuyến là quá ngắn, sẽ có quá nhiều gói tin định tuyến được sinh ra và quảng bá trong mạng gây ra sự lãng phí về tài nguyên mạng
Đối với chiến lược định tuyến theo sự kiện, khi có một sự kiện diễn ra trong mạng, những nút mạng chịu tác động trực tiếp của các sự kiện này mới quảng bá các gói tin cập nhật thông tin định tuyến Vì vậy, thông tin về những thay đổi của trạng thái mạng sẽ nhanh chóng được cập nhật tới các nút mạng Tuy nhiên, khi topo mạng thay đổi với tốc độ nhanh, sẽ có rất nhiều các gói tin quảng bá cập nhật định tuyến được sinh ra làm lãng phí băng thông mạng và biến động đối với các con đường truyền dữ liệu
Định tuyến phẳng và định tuyến phân cấp
Trang 16Trong định tuyến phẳng, mọi nút trong mạng đều có cùng cấp độ và chức năng định tuyến Chiến lược định tuyến này tương đối đơn giản và hiệu quả đối với các mạng nhỏ Các giao thức AODV, DSDV, DSR là những giao thức điển hình sử dụng chiến lược định tuyến phẳng Đối với các mạng lớn, vấn đề gặp phải là lãng phí tài nguyên mạng dành cho việc xử lý và truyền các gói tin quảng
bá thông tin định tuyến Chiến lược định tuyến phân cấp được đề xuất nhằm giải quyết vấn đề này
Trong chiến lược định tuyến phân cấp, các nút mạng được tổ chức một cách link động thành các vùng Mỗi vùng lại có thể chia tiếp thành các vùng con theo kiểu cây phân cấp Cấu trúc phân cấp này nhằm duy trì tính ổn định tương đối của hình trạng mạng Sự di chuyển của thay đổi trạng thái của một nút mạng chỉ tác động trong phạm vi của vùng quản lý nó Chỉ có thông tin điều khiển cấp cao mới được truyền giữa các vùng để giảm tải định tuyến trong mạng Mỗi nút mạng sẽ có thông tin đầy đủ về các nút mạng khác trong cùng vùng với nó bằng cách sử dụng kỹ thuật định tuyến tìm đường trước Nếu nút đích và nút nguồn của một yêu cầu truyền dữ liệu thuộc hai vùng khác nhau, kỹ thuật định tuyến liên vùng theo yêu cầu sẽ được sử dụng Định tuyến liên vùng thường hoạt động theo cơ chế định tuyến theo yêu cầu hoặc cơ chế kết hợp giữa định tuyến tìm đường trước và định tuyến theo yêu cầu Các giao thức tiêu biểu sử dụng chiến lược định tuyến phân cấp là HSR và CGSR
Hình 1.2 và Hình 1.3 minh họa cho các con đường được hình thành bởi các giao thức định tuyến hoạt động theo chiến lược định tuyến phẳng và định tuyến phân cấp
Trang 17Hình 1.2 Đường truyền dữ liệu theo chiến lược định tuyến phẳng
Hình 1.3 Đường truyền dữ liệu theo chiến lược định tuyến phân cấp
Định tuyến với kỹ thuật tính toán tập trung và tính toán phân tán
Trong chiến lược định tuyến với kỹ thuật tính toán tập trung, mọi nút trong mạng sẽ duy trì thông tin đầy đủ về toàn bộ hình trạng mạng để có thể tự thực hiện các thuật toán tìm đường khi cần thiết Các giao thức định tuyến sử dụng chiến lược định tuyến này còn được gọi là các giao thức định tuyến kiểu trạng thái đường liên kết Giao thức OLSR là một giao thức định tuyến kiểu trạng thái đường liên kết tiêu biểu
Trong chiến lược định tuyến với kỹ thuật tính toán phân tán, mọi nút mạng chỉ duy trì thông tin cục bộ về hình trạng mạng Khi có nhu cầu tìm đường, nhiều
Trang 18nút mạng sẽ cùng tham gia vào tiến trình tìm đường Chiến lược định tuyến này còn được gọi là định tuyến kiểu véc tơ khoảng cách AODV và DSDV là các giao thức định tuyến tiêu biểu sử dụng chiến lược định tuyến này
Định tuyến nguồn và định tuyến từng chặng
Có một vài giao thức định tuyến đưa thông tin về toàn bộ con đường vào trong header của các gói tin dữ liệu để các nút trung gian có thể chuyển tiếp những gói tin này theo các thông tin định tuyến mà nó đọc được trong phần header Chiến lược định tuyến này được gọi là định tuyến nguồn Ưu điểm của chiến lược định tuyến này là các nút trung gian không cần duy trì thông tin định tuyến cập nhật để tìm đường cho các gói tin chúng chuyển tiếp vì chính trong các gói tin dữ liệu đã chứa thông tin phục vụ cho các quyết định định tuyến Tuy nhiên, chiến lược này lại có nhược điểm là làm tăng kích thước của các gói tin
dữ liệu, đặc biệt với các con đường dài và các mạng có kích thước lớn dẫn đến việc lãng phí băng thông của mạng ad hoc Giao thức DSR là một trong những giao thức định tuyến nguồn tiêu biểu Hình 1.4 minh họa cơ chế chuyển tiếp gói tin của giao thức định tuyến nguồn
Hình 1.4 Truyền dữ liệu theo chiến lược định tuyến nguồn
Trang 19Trong chiến lược định tuyến từng chặng, con đường tới một nút đích được phân bố trong các “chặng kế tiếp” của các nút thuộc con đường này Khi một nút nhận được một gói tin cần truyền tới một đích xác định, nó sẽ chuyển tiếp gói tin này tới chặng kế tiếp tương ứng trên con đường Vì mỗi nút mạng không có thông tin đầy đủ về toàn bộ các liên kết trong mạng nên thuật toán định tuyến của các giao thức sử dụng chiến lược định tuyến này phải đảm bảo không chọn các con đường gây ra định tuyến lặp Giao thức AODV là một trong những giao thức tiêu biểu sử dụng chiến lược định tuyến từng chặng Hình 1.5 minh họa kỹ thuật chuyển tiếp gói tin của giao thức hoạt động theo chiến lược định tuyến từng chặng
Hình 1.5 Truyền dữ liệu theo chiến lược định tuyến từng chặng
Định tuyến đơn đường và định tuyến đa đường
Đối với các giao thức định tuyến đơn đường, chỉ có tối đa một con đường tối ưu theo độ đo định tuyến của chúng được cài đặt vào bảng định tuyến sau mỗi tiến trình tìm đường mặc dù chúng có thể nhận được thông tin về nhiều con đường tới cùng một đích trong cùng một tiến trình tìm đường Tại mỗi nút mạng, các gói tin dữ liệu sẽ được chuyển tiếp theo con đường thích hợp có trong bảng định tuyến Khi một liên kết trên con đường đó bị lỗi, nút mạng này phải khởi tạo lại tiến trình tìm đường
Trang 20Để tiết kiệm tài nguyên hệ thống mạng trong các tiến trình tìm đường, các giao thức định tuyến đa đường cho phép tìm và cài đặt nhiều hơn một con đường không giao nhau tới cùng một đích vào bảng định tuyến của chúng Tại một nút, khi có yêu cầu chuyển tiếp dữ liệu tới nút đích, con đường tốt nhất sẽ được sử dụng và những con đường còn lại sẽ đóng vai trò là đường dự phòng Khi đường chính bị lỗi, các đường dự phòng sẽ được sử dụng để chuyển tiếp các gói tin dữ liệu nếu chúng vẫn trong trạng thái còn hoạt động được Thêm vào đó, nếu cơ chế cân bằng tải được sử dụng, có thể phân lưu lượng dữ liệu cần truyền thành nhiều luồng được truyền song song trên các con đường tới cùng một đích
1.3 Giao thức định tuyến theo yêu cầu dạng vectơ khoảng cách AODV
1.3.1 Giới thiệu về giao thức AODV
AODV [11] là một giao thức định tuyến động, hoạt động theo yêu cầu, đa chặng và tự khởi động giữa các nút di động trong mạng không dây phi cấu trúc
Nó cho phép các nút tìm được các đường tới một đích một cách nhanh chóng và không yêu cầu các nút duy trì các con đường tới đích khi không truyền thông Đồng thời, giao thức này cho phép các nút di động làm việc được với sự thay đổi hình trạng của mạng hoặc liên kết bị đứt
AODV là giao thức có khả năng tránh định tuyến lặp và có tốc độ hội tụ nhanh khi hình trạng mạng thay đổi Khi một liên kết bị đứt, AODV sẽ tạo ra hiệu ứng để báo cho tập các nút liên quan cập nhật thông tin về đường bị lỗi Giao thức này sử dụng số thứ tự đích cho mỗi entry trong bảng định tuyến để biểu diễn “độ mới” của đường Số thứ tự đích do nút đích tạo ra được đưa vào các gói tin điều khiển cùng với các thông tin định tuyến khác và được gửi đi đến
Trang 21nút có yêu cầu tìm đường Nút yêu cầu sẽ lựa chọn một con đường có số thứ tự lớn nhất
Các gói yêu cầu đường (RREQ), trả lời đường (RREP), báo lỗi đường (RERR) và gói Hello là các gói điều khiển được định nghĩa trong AODV Khi một nút cần tìm đường đến đích, nó sẽ quảng bá gói RREQ Quá trình quảng bá gói RREQ tạo ra các đường nghịch (reverse route) hướng tới nút nguồn tại các nút nhận gói Khi một nút nhận được gói RREQ, nếu nó là nút đích hoặc là nút
trung gian nhưng có thông tin về đường “đủ mới” thoả mãn yêu cầu của nút
nguồn, nó sẽ gửi gói RREP dạng unicast tới nút nguồn để trả lời đường Quá trình truyền gói RREP tạo ra các đường thuận (forward route) hướng tới nút đích tại các nút nhận gói Gói Hello được sử dụng để theo dõi trạng thái của liên kết Khi một liên kết thuộc một đường bị đứt gói RERR được sử dụng để báo lỗi
đường cho các nút láng giềng qua “danh sách con trỏ trước”
Quản lý số thứ tự là một việc thiết yếu để tránh định tuyến lặp Một nút đích sẽ trở thành nút không đến được khi một liên kết bị đứt hoặc đang ở trạng thái không hợp lệ Khi những điều kiện này xảy ra, đường chứa liên kết này sẽ được coi là mất hiệu lực bằng thao tác gán số thứ tự và đánh dấu trong bảng định tuyến là đường không hợp lệ
1.3.2 Cơ chế hoạt động của giao thức AODV
Trang 22liên quan đến đích Số thứ tự đích được mỗi nút duy trì một cách độc lập Một nút sẽ tăng số thứ tự của nó: (1) trước khi gửi gói RREQ; (2) trước khi gửi gói RREP; (3) khi nhận được thông tin về trạng thái liên kết tới chặng kế tiếp của đường tới đích bị lỗi
Để khẳng định rằng thông tin về đường đi tới một đích là mới, một nút chỉ cập nhật thông tin từ các gói điều khiển của AODV nó nhận được khi số thứ tự đích của gói lớn hơn số thứ tự đích hiện tại của nó
1.3.2.2 Bảng định tuyến và các danh sách con trỏ trước
Bảng định tuyến của AODV bao gồm các entry, mỗi entry là biểu diễn một đường tới một đích, chứa các thông tin về IP đích, số thứ tự đích, các cờ trạng thái, giao tiếp mạng, số chặng, chặng kế tiếp, danh sách con trỏ trước và thời gian sống của đường
Khi một nút nhận được gói RREQ, RREP hoặc RRER, nó sẽ kiểm tra bảng định tuyến đã có entry biểu diễn đường tới đích Nếu chưa có, nó sẽ tạo entry mới Một entry chỉ được cập nhật nếu số thứ tự đích của nó: (i) cao hơn số thứ tự đích trong bảng định tuyến; (ii) bằng với số thứ tự đích trong bảng định tuyến nhưng số chặng của đường mới cộng một nhỏ hơn số chặng hiện tại của entry hiện tại; (iii) chưa được biết đến
Thời gian hoạt động của mỗi entry được xác định từ gói điều khiển nhận được hoặc được khởi tạo tới bằng giá trị ACTIVE_ROUTE_TIMEOUT Khi entry được sử dụng để chuyển tiếp gói dữ liệu, giá trị trường này được cập nhật bằng thời gian hiện tại cộng với ACTIVE_ROUTE_TIMEOUT Nếu thời gian hiện tại lớn hơn giá trị trường này, entry sẽ được đánh dấu là không hợp lệ
Trang 23Với mỗi entry trong bảng định tuyến duy trì danh sách các con trỏ trước Các nút trong danh sách này sẽ nhận các thông báo về sự kiện liên kết tới chặng
kế tiếp bị đứt Danh sách các con trỏ trước chứa các địa chỉ các nút láng giềng của các đường nghịch
1.3.2.3 Tạo gói yêu cầu tìm đường RREQ
Giao thức AODV sử dụng gói tin RREQ để gửi yêu cầu tìm đường Cấu trúc gói RREQ được biểu diễn trong Hình 1.6
Một nút sẽ gửi gói RREQ khi cần chuyển tiếp một gói dữ liệu tới một đích nhưng nó không có entry hợp lệ trong bảng định tuyến Trường Destination Sequence Number được thiết lập bằng số thứ tự đích của entry có đích tương ứng trong bảng định tuyến Nếu entry này không tồn tại, cờ „U‟ được thiết lập là True Trường Originator Sequence Number được thiết lập giá trị bằng số thứ tự của nút cộng một Trường RREQ ID được thiết lập bằng giá trị RREQ ID của nút cộng một Mỗi nút duy trì giá trị RREQ ID một cách độc lập Trường Hop Count được thiết lập bằng 0 Trường Originator IP Address và Destination IP Address chứa địa chỉ IP tương ứng của nút hiện tại (nguồn) và nút đích
Hình 1.6 Cấu trúc gói RREQ
Trang 24Trước khi quảng bá gói RREQ, nút nguồn lưu giá trị trường RREQ ID và Originator IP Address trong khoảng thời gian PATH_DISCOVERY_TIME Khi một nút nhận lại gói tin chính gói tin này từ các nút láng giềng, gói tin sẽ không được xử lý và chuyển tiếp Nếu cờ „G‟ được thiết lập, khi nút trung gian gửi gói RREP để trả lời đường, nó sẽ thông tin cho nút đích đường quay trở lại nút nguồn
Số gói RREQ được tạo trong một giây phải nhỏ hơn RREQ_RATELIMIT Sau khi gửi gói RREQ, nút nguồn đợi gói RREP trong khoảng thời gian NET_TRAVERSAL_TIME Sau khoảng thời gian này, nút nguồn sẽ quảng bá một gói RREQ khác với số lần gửi lại lớn nhất là RREQ_RETRIES Để giảm tắc nghẽn, giá trị của khoảng thời gian đợi gói RREP ở lần truyền lại gói RREQ thứ
n sẽ là (2n x NET_TRAVERSAL_TIME)
Dữ liệu cần chuyển tiếp trong thời gian tìm đường được lưu trữ vào bộ nhớ đệm kiểu FIFO Nếu sau RREQ_RETRIES lần gửi lại gói RREQ, nút nguồn không tìm được đường, dữ liệu trong bộ nhớ đệm sẽ bị xóa và thông điệp Destination Unreachable sẽ được gửi tới ứng dụng
1.3.2.4 Điều khiển truyền gói RREQ
Để hạn chế sự quảng bá của gói RREQ, các nút trong giao thức AODV có thể sử dụng thuật toán tìm đường mở rộng dần theo vòng trên cơ sở thay đổi giá trị trường TTL trong gói IP chứa gói RREQ Giá trị trường này được khởi tạo ở lần tìm đường thứ nhất là TTL_START Nếu sau thời gian RING_TRAVERAL_TIME, nút nguồn không nhận được gói trả lời đường RREP, nó sẽ tăng giá trị trường TTL lên TTL_INCREMENT đơn vị và gửi lại gói RREQ Việc này sẽ tiếp tục cho đến khi TTL được thiết lập trong RREQ đạt
Trang 25đến ngưỡng TTL_THRESHOLD, ngoại trừ trường hợp TTL=NET_DIAMETER được sử dụng cho mỗi lần thử truyền lại RREQ Sau mỗi lần, khoảng thời gian timeout chờ để nhận một thông điệp RREP là RING_TRAVERAL_TIME Khi muốn thông điệp RREQ đi qua toàn bộ mạng trong mọi lần thử truyền lại, cần thiết lập cả giá trị TTL_START và TTL_INCREMENT bằng giá trị NET_DIAMETER
Nếu trong bảng định tuyến tồn tại một entry tới đích nhưng không còn hợp
lệ, giá trị khởi tạo của trường TTL được thiết lập bằng tổng của số chặng trong entry và TTL_INCREMENT
1.3.2.5 Xử lý và chuyển tiếp các thông điệp RREQ
Khi một nút nhận được một gói RREQ, đầu tiên nó sẽ tạo hoặc cập nhật entry biểu diễn đường tới nút gửi gói RREQ cho nó Sau đó, nó sẽ kiểm tra để xác định nó đã được nhận gói này trước đó chưa Nếu đã nhận, nút này sẽ huỷ bỏ gói RREQ Nếu chưa nhận được, nó sẽ thực hiện các việc sau: (1) tăng giá trị trường hop count trong gói RREQ được tăng lên một đơn vị; (2) tìm đường nghịch có đích là Originator IP Address của gói RREQ trong bảng định tuyến của mình Nếu chưa có thì tạo đường nghịch mới Nếu đã có thì cập nhật đường nghịch nếu đường nghịch nhận được có số thứ tự mới hơn số thứ tự của đường hiện tại; (3) cập nhật số thứ tự đích của nút nếu số thứ tự đích của gói RREQ lớn hơn số thứ tự hiện tại của nút; (4) chuyển tiếp gói RREQ nếu không có đường tới đích hoặc trả lời bằng gói RREP nếu có đường tới đích Trong trường hợp gói RREQ cần được chuyển tiếp, giá trị trường TTL được trừ đi 1 đơn vị và gói này được gửi kiểu broadcast trên tất cả các giao tiếp mạng của nút Trong trường hợp
Trang 26trả lời bằng gói RREP, nếu giá trị cờ „G‟ trong gói RREQ bằng 1, gói RREQ sẽ tiếp tục được gửi kiểu unicast đến nút đích
1.3.2.6 Tạo gói trả lời đường RREP
Giao thức AODV sử dụng gói tin RREP để trả lời truy vấn đường Cấu trúc gói RREP được biểu diễn trong Hình 1.7
Một nút tạo gói RREP nếu nó là nút đích hoặc nó có entry biểu diễn đường tới nút đích có giá trị số thứ tự đích lớn hơn hoặc bằng với số thứ tự đích của gói RREQ nó nhận được
Khi tạo ra một thông điệp RREP, giá trị trường Destination IP Address và trường Originator IP Address được sao chép từ thông điệp RREQ Sau đó, gói RREP được truyền kiểu unicast theo đường nghịch mà gói RREQ đã đi qua Tại mỗi nút trung gian, giá trị trường Hop Count sẽ được tăng 1 đơn vị
Nếu nút tạo gói RREP là nút đích, nó phải tăng số thứ tự của nó lên một đơn vị nếu số thứ tự trong thông điệp RREQ lớn hơn số thứ tự hiện tại của nó Nút đích sẽ thiết lập giá trị cho trường Destination Sequence Number bằng số thứ tự của nó, thiết lập giá trị trường Hop Count bằng 0, thiết lập giá trị trường Lifetime bằng giá trị MY_ROUTE_TIMEOUT của nó
Trang 27Hình 1.7 Cấu trúc gói RREP
Gọi entry trong bảng định tuyến chứa đường tới nút đích là entry hiện tại Nếu nút tạo thông điệp RREP không phải là nút đích, nó sẽ thiết lập giá trị trường Destination Sequence Number bằng giá trị entry hiện tại; cập nhật các danh sách con trỏ trước của entry biểu diễn đường thuận tới đích và đường nghịch tới nguồn tương ứng bằng địa chỉ IP của nút gửi gói RREQ cho nó và địa chỉ IP của chặng kế tiếp thuộc đường tới đích; thiết lập trường Hop Count bằng giá trị Hop Count của entry hiện tại; thiết lập giá trị trường Lifetime bằng hiệu giữa thời gian timeout của hiện tại và thời gian hiện tại
1.3.2.7 Nhận và chuyển tiếp gói RREP
Khi một nút nhận gói RREP, nó sẽ tạo một entry chứa đường tới nút gửi gói RREP và entry chứa đường thuận tới nút đích nếu những entry này chưa tồn tại Sau đó, nút này sẽ tăng giá trị trường Hop Count lên một đơn vị Nếu đã tồn tại entry chứa đường thuận tới đích, nút hiện tại sẽ cập nhật entry này nếu: (1) Số thứ tự của entry được đánh dấu là không hợp lệ; (2) Giá trị trường Destination Sequence Number lớn hơn số thứ tự của nó; (3) Số thứ tự đích trong gói RREP
Trang 28bằng nhau số thứ tự của nó và giá trị Hop Count của gói RREP nhỏ hơn giá trị Hop Count của entry hiện tại Các công việc cập nhật entry đường thuận bao gồm: Thiết lập trạng thái entry là hợp lệ; Thiết lập trạng thái số thứ tự đích của entry là hợp lệ; Thiết lập Next Hop của entry là địa chỉ IP của nút gửi gói RREP tới nó; Thiết lập giá trị trường Hop Count, Lifetime và Destination Sequence Number của entry tương ứng bằng giá trị Hop Count và Lifetime và Destination Sequence Number của gói RREP Nút hiện tại sau đó có thể sử dụng đường biểu diễn bởi entry này để chuyển tiếp các gói dữ liệu đến đích
Nếu nút nhận gói RREP không phải là nút khởi tạo yêu cầu tìm đường, nó
sẽ tìm entry chứa đường tới nút nguồn trong bảng định tuyến để xác định nút tiếp theo nhận gói RREP được nó chuyển tiếp
1.3.2.8 Gói Hello
Giao thức AODV sử dụng gói Hello như là một phần của gói RREP để duy trì trạng thái kết nối Gói Hello chỉ sử dụng 4 trường của gói RREP Khi một nút gửi gói Hello, trường Destination IP chứa địa chỉ IP của nút gửi, Destination Sequence Number chứa số thứ tự hiện tại của nút, Hop Count thiết lập bằng 0 và Lifetime thiết lập bằng giá trị ALLOWED_HELLO_LOSS * HELLO_INTERVAL Mỗi nút thuộc một đường đang hoạt động sẽ quảng bá gói Hello trong gói IP có giá trị trường TTL bằng 1 theo chu kỳ HELLO_INTERVAL Nếu một nút đã nhận được một gói HELLO trước đó và
nó không nhận được gói Hello tiếp theo sau khoảng thời gian bằng ALLOWED_HELLO_LOSS * HELLO_INTERVAL, nút này coi như liên kết giữa nó với nút gửi gói Hello đã bị đứt và khởi tạo tiến trình báo lỗi đường bằng gói RRER
Trang 291.3.2.9 Gói báo lỗi đường RERR
Khi một nút nhận được thông tin về một đường bị lỗi hoặc một liên kết bị phá vỡ, nó sẽ: (1) làm mất tính hiệu lực của các con đường đang tồn tại; (2) xác định danh sách các nút đích bị ảnh hưởng; (3) xác định các nút láng giềng bị ảnh hưởng; (4) truyền gói RERR tới các nút láng giềng bị ảnh hưởng Cấu trúc gói RRER được biểu diễn trong Hình 1.8
Gói RREQ có thể được truyền kiểu broadcast nếu có nhiều con trỏ trước hoặc truyền kiểu unicast nếu chỉ có một con trỏ trước Số lượng gói RRER tối đa
mà mỗi nút tạo ra được giới hạn là RERR_RATELIMIT Gói RRER được tạo ra khi một nút gặp phải một trong các tình huống: (i) khi liên kết tới chặng kế tiếp của đường tới đích bị đứt trong khi đang truyền dữ liệu; (ii) khi nhận được gói
dữ liệu có đích mà không có entry hợp lệ nào trong bảng định tuyến có; (iii) khi nhận được gói RRER có liên quan tới các đường trong bảng định tuyến
Hình 1.8 Cấu trúc gói RRER
Trước khi truyền thông điệp RERR, việc cập nhật được thực hiện đối với các entry chứa đích không đến được trong bảng định tuyến bao gồm: (1) tăng số thứ tự đích của entry với trường hợp (i) và (ii) hoặc thiết lập số thứ tự đích bằng
Trang 30giá trị trường Unreachable Destination Sequence Number của gói RRER trong trường hợp (iii); (2) làm mất tính hiệu lực của entry bằng trạng thái Invalid; (3) thiết lập giá trị trường Lifetime của entry bằng thời gian hiện tại công với giá trị DELETE_PERIOD Sau khoảng thời gian Lifetime, nếu trạng thái của entry không thay đổi, entry này sẽ bị xoá khỏi bảng định tuyến
1.4 Tổng kết Chương 1
Mặc dù có rất nhiều ứng dụng tiềm năng trong cuộc sống của con người nhưng so với mạng truyền thống, mạng không dây phi cấu trúc có nhiều điểm khác biệt thể hiện ở cấu trúc mạng động, ở hạn chế về chất lượng liên kết và năng lượng nguồn pin, ở mức độ bảo mật thấp
Do tính chất động của topo mạng nên các giao thức định tuyến sử dụng trong mạng không dây phi cấu trúc cần được thiết kế để đáp ứng với các yêu cầu đảm bảo hiệu năng mạng Cụ thể là các yêu cầu về việc tối thiếu hoá tải điều khiển và tải xử lý, hỗ trợ định tuyến đa chặng, đáp ứng những thay đổi về topo mạng và ngăn chặn định tuyến lặp Các giao thức định tuyến có thể sử dụng một trong nhiều chiến lược định tuyến khác nhau
AODV là một giao thức định tuyến theo yêu cầu dạng véctơ khoảng cách tiêu biểu của mạng không dây phi cấu trúc Hoạt động cơ bản của giao thức AODV được thể hiện trong cơ chế tìm đường bằng gói RREQ, cơ chế trả lời đường bằng gói RREP, cơ chế duy trì đường bằng gói RRER và cơ chế duy trì liên kết bằng gói HELLO
Tiến trình khám phá đường của AODV được một nút sử dụng khi có nhu cầu truyền dữ liệu Nó được bắt đầu bằng cách làm tràn ngập gói yêu cầu đường
Trang 31(RREQ) theo đích trong mạng và sau đó chờ trả lời đường (RREP) Khi một nút trung gian nhận được bản sao đầu tiên của gói RREQ, nó sẽ thiết lập một đường nghịch tới nguồn bằng cách sử dụng chặng trước mà RREQ đã đi qua làm chặng
kế tiếp của đường nghịch Ngoài ra, nếu có một đường hợp lệ có sẵn cho đích, nó
sẽ gửi gói RREP trở lại nguồn thông qua đường dẫn ngược theo kiểu unicast; ngược lại, nó sẽ tiếp tục quảng bá gói RREQ Các bản sao của cùng một gói RREQ sẽ bị loại bỏ ngay lập tức khi nhận tại mỗi nút Nút đích khi nhận bản sao đầu tiên của gói RREQ sẽ tạo một đường nghịch giống như các nút trung gian;
nó cũng gửi gói RREP trở lại nguồn dọc theo đường nghịch Khi gói RREP tiến tới nguồn, nó thiết lập đường thuận tiến tới đích tại mỗi chặng
Việc bảo trì đường được thực hiện bằng các gói báo lỗi đường (RERR) Khi một nút trung gian phát hiện lỗi liên kết (chẳng hạn như thông qua phản hồi của lớp liên kết), nó sẽ tạo ra gói RERR Gói RERR được truyền hướng tới tất cả các nút nguồn có đường đi qua liên kết bị lỗi và xóa tất cả các đường bị lỗi trên đường nó đi qua Một nút nguồn khi nhận được gói RERR sẽ bắt đầu một tiến trình khám phá đường mới nếu nó vẫn có nhu cầu Ngoài cơ chế bảo trì đường này, AODV còn có cơ chế dựa trên bộ đếm thời gian để thanh lọc các đường cũ
Do AODV là giao thức định tuyến đơn đường nên chỉ có tối đa một đường được khám phá và sử dụng nên tần suất khám phá đường sẽ tăng lên trong tình huống topo mạng thường xuyên biến đổi dẫn đến sự phá hủy các con đường đã tìm thấy mà không có đường dự phòng thay thế Vì vậy, một trong số những hướng cải tiến giao thức AODV là phát triển nó thành giao thức định tuyến đa đường cho phép mỗi nút mạng tìm được nhiều hơn một con đường trong quá trình khám phá đường AOMDV là một giao thức định tuyến theo yêu cầu đa đường được đề xuất phát triển trong [7] từ giao thức AODV Các nghiên cứu đề
Trang 32xuất kỹ thuật định tuyến đa đường của giao thức AOMDV được trình bày chi tiết trong Chương 2
Trang 33CHƯƠNG 2 GIAO THỨC ĐỊNH TUYẾN ĐA ĐƯỜNG AOMDV
2.1 Tổng quan về giao thức AOMDV
Giao thức AOMDV [7] 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 không dây phi cấu trúc
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 [8]
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 thứ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
Trang 34Đề 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
2.1.1 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 2.1 minh họa vấn đề đường lặp vòng bằng các ví dụ đơn giản Trong Hình 2.1(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 – D) được quảng bá đến nút K Sau đó, cả J và K đều có đường đến nút
Trang 35D 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 2.1 Ví dụ về các trường hợp có thể xảy ra định tuyến lặp
Hình 2.1(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 36Dựa trên các phân tích ở trên, tập các điều kiện chống định tuyến lặp được
đề xuất [7] Những điều kiện này cho phép một nút có thể duy trì nhiều đường tới cùng một đích Tập các điều kiện này đượ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ì Mục 2.2 sẽ trình bày chi tiết cách xác định
số chặng được quảng bá cùng mô tả về các quy tắc cập nhật đường Chứng minh
về tính không lặp của đường được trình bày trong Mục 2.3.1
Trang 372.1.2 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 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 2.2 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
Trang 38Hình 2.2 Ví dụ về các đường giao nhau
Trong Hình 2.2, 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
Giao thức AOMDV có thể tìm thấy đường tách biệt theo liên kết hoặc nút
Ý tưởng chính tìm đường tách biệt theo liên kết được trình bày ở đây Việc chứng minh được trình bày trong Mục 2.3.2 Cơ chế tìm đường tách biệt theo nút
Trang 39được trình bày trong Mục 2.3.2 khi thực hiện một số sửa đổi đơn giản trên cơ chế tìm đường tách biệt theo liên kết
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
Trong 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 2.3) 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
tại mỗi nút
Trang 40Hình 2.3 Ví dụ về việc hình thành các đường giao nhau theo liên kết
Trong Hình 2.3, 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
Mộ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