Các ký hiệu dùng cho việc chứng minh sự loại bỏ tính lặp vòng của giao thức AOMDV tƣơng tự nhƣ giao thức AODV trong mục 2.2 ngoại trừ ký hiệu số chặng (hop_count) đƣợc thay thế bằng ký hiệu số chặng đƣợc quảng bá (advertised_hop_count). Phần chứng minh đƣợc trình bày nhƣ sau:
Định lý 1: Quy tắc cập nhật tuyến đƣờng AOMDV (Thuật toán 1) mang lại các đƣờng không bị lặp vòng.
Chứng minh: Theo phƣơng pháp phản chứng
Giả sử một vòng lặp có kích thƣớc m là (i1, i2, ..., im, i1) đƣợc hình thành trong một đƣờng đến đích d. Lƣu ý rằng các nút i và j trong mã ở Thuật toán 1 là 2 nút liền kề trên đƣờng và . Do đó, điều sau đây phải đúng trong số các nút thuộc vòng lặp đƣợc hình thành:
suy ra:
Từ dòng 10 trong Thuật toán 1, suy ra:
Vì vậy:
Biểu thức trên là vô lý. Do đó, các đƣờng do giao thức AOMDV tìm đƣợc là đƣờng đƣợc loại bỏ tính lặp vòng.
Cần chú ý rằng giao thức AOMDV duy trì tính không lặp của đƣờng ngay cả trong các tình huống topo mạng ad hoc thay đổi liên tục rất dẫn đến các liên kết và tuyến đƣờng thƣờng xuyên bị phá vỡ. Điều này đƣợc đảm bảo theo cách tƣơng tự nhƣ giao thức AODV, nghĩa là khi tất cả các liên kết từ một nút i hƣớng đến đích d bị phá vỡ thì nút I tự tăng và đặt
bằng ∞. Ngoài ra, việc giao thức AOMDV sử dụng
các số thứ tự đích làm cho việc phân phối gói không theo thứ tự trở nên mạnh mẽ hơn nhƣ trong giao thức AODV.
2.3.2. Tính tách biệt của đường
Định lý 2. Nếu tất cả các nút trong mạng đều có số nhận dạng duy nhất (UID) và tất cả các nút trên đƣờng từ nút X đến nút đích D có số thứ tự đích giống nhau thì các đƣờng dự phòng đƣợc duy trì bởi giao thức AOMDV từ nút X đến nút D là các đƣờng phân tách theo liên kết.
Chứng minh: Trƣớc hết cần chứng minh tính tách biệt cho một cặp đƣờng từ nút X tới nút D. Sau đó, áp dụng cùng một đối số này cho mọi cặp đƣờng còn lại từ X đến D.
Xét 2 đƣờng P1 và P2 từ X đến D đƣợc hình thành theo quy tắc cập nhật đƣờng AOMDV (Thuật toán 1). Các đƣờng đƣợc xác định bởi chuỗi các mã định danh nút từ X đến D. P1 và P2 đƣợc xác định bởi bộ dữ liệu <D, next_hop, last_hop> trong bảng định tuyến của nút X. Theo quy tắc cập nhật trong Thuật toán 1, P1 và P2 có chặng kế tiếp (next_hop) và chặng cuối cùng (last_hop) khác nhau.
Bằng phƣơng pháp chứng minh phản chứng, ta sẽ chỉ ra rằng P1 và P2 là các đƣờng tách biệt theo liên kết. Giả sử rằng P1 và P2 là các đƣờng không tách biệt theo liên kết. Điều này có nghĩa là chúng có ít nhất một liên kết chung. Gọi I - J là một liên kết nhƣ vậy. Theo điều kiện chặng kế tiếp duy nhất, trong bảng định tuyến của nút I chỉ có thể có một đƣờng đến D qua J. Từ đây suy ra I sẽ truyền đƣờng nghịch hƣớng nguồn cùng với chặng cuối cùng tƣơng ứng đến D qua J theo một đƣờng duy nhất mặc dù J có thể có nhiều đƣờng đến D theo các chặng cuối cùng khác nhau. Từ đây suy ra các nút đứng trƣớc I theo chiều nghịch hƣớng nguồn cùng chia sẻ liên kết I - J không thể có nhiều hơn một đƣờng qua I. Vì X là nút nguồn của I có 2 đƣờng có chung liên kết I – J nên điều này thể hiện sự mâu thuẫn. Do đó, các đƣờng dẫn P1 và P2 phải là các đƣờng tách biệt theo liên kết.
Trong chứng minh trên, ta đã giả định rằng các nút trên tất cả các đƣờng dự phòng giữa nút X và đích D có cùng số thứ tự đích nhƣ là điều kiện để rằng buộc tính tách biệt theo liên kết (các dòng 10, 12 và 15 trong Thuật toán 1). Tuy nhiên, điều kiện này đôi khi có thể bị vi phạm do hai kỹ thuật tối ƣu hóa hoạt động của giao thức AOMDV: (i) các nút trung gian tạo gói RREP bất cứ khi nào có thể để hạn chế bão quảng bá yêu cầu tìm đƣờng; (ii) trì hoãn việc truyền gói RERR để giảm chi phí bảo trì đƣờng và trì hoãn lâu nhất có thể tiến trình khám phá đƣờng mới. Kỹ thuật tối ƣu (i) vi phạm điều kiện rằng buộc đã nêu trên bằng việc cho phép một nút đồng thời tham gia nhiều hơn một phiên làm nút đích và nút nguồn trong nhiều phiên hoặc là nút đích cho các luồng dữ liệu khác nhau. Trong kỹ thuật tối ƣu (ii), vì nút trung gian không truyền ngƣợc mọi sự kiện lỗi đƣờng ngƣợc về phía nút nguồn nên các nút đứng trƣớc nút trung gian có thể có một số đƣờng không hợp lệ với số thứ tự đích cũ hơn. Do những tối ƣu hóa này,
tất cả các nút có thể không có thông tin định tuyến mới nhất tại mọi thời điểm, điều này có thể gây ra sự chồng chéo tạm thời giữa các đƣờng dự phòng. Tuy nhiên, chúng tôi tin rằng đây là một sự thỏa hiệp hợp lý do chi phí quá cao của việc liên tục duy trì thông tin cập nhật tại mỗi nút.
2.3.2.1. Đường phân tách theo nút
Không giống nhƣ trƣờng hợp tách biệt theo liên kết, việc đảm bảo tính duy nhất của các chặng kế tiếp và chặng cuối cùng của các đƣờng thay thế tại mỗi nút là không đủ để đảm bảo tính tách biệt theo nút. Ví dụ, trong Hình 7 mặc dù mọi nút đều đảm bảo tính duy nhất của chặng kế tiếp và chặng cuối cùng, các đƣờng dẫn P-A-I-X-D và P-B-I-Y-D vẫn là các đƣờng có nút giao nhau. Tuy nhiên, khi bổ sung thêm một điều kiện, ta có thể có đƣợc các đƣờng dẫn tách biệt theo nút. Ý tƣởng cơ bản nhƣ sau: Nếu các nút chung trong một tập hợp các đƣờng dẫn tách biệt theo liên kết (nút I trong Hình 2.6) ngăn các nút khác đứng trƣớc (nhƣ P trong Hình 2.6) không tạo nhiều đƣờng đi qua các nút chung, thì ta có sẽ đƣợc các đƣờng tách biệt theo nút. Điều này thực hiện đƣợc bằng cách quy định rằng với một số thứ tự đích nhất định, mỗi nút chỉ quảng bá một đƣờng duy nhất đến một nút khác.
2.3.2.2. Định danh đường và chuyển tiếp dữ liệu trên các đường dẫn tách biệt
Định danh đƣờng đƣợc sử dụng rất hữu dụng khi cần chuyển tiếp một gói dữ liệu dọc theo một con đƣờng xác định nào đó. Điều này có thể đƣợc thực hiện bằng cách đƣa mã định danh đƣờng vào trong gói dữ liệu và sử dụng mã định danh đó ở mỗi nút trung gian để tìm chặng kế tiếp trên theo đƣờng đã xác định. Một ví dụ đơn giản về một định danh đƣờng duy nhất là chuỗi các nút đƣợc sắp xếp trên một đƣờng (định tuyến nguồn)
Trong AOMDV, chặng cuối cùng của đƣờng đóng vai trò là một định danh đƣờng với điều kiện tất cả các nút đều có đƣợc thông tin định tuyến mới nhất. Điều này có nghĩa là việc biết chặng cuối cùng của một đƣờng tại một nút là đủ để xây dựng đƣờng dẫn hoàn chỉnh từ nút đó đến đích bằng cách lặp lại tra cứu đƣờng tại mỗi nút trung gian bằng cách sử dụng chặng cuối cùng và các con trỏ chặng kế tiếp tƣơng ứng đứng trƣớc nó. Tính duy nhất của mã định danh đƣờng yêu cầu rằng kết quả tra cứu đƣờng tại bất kỳ nút trung gian nào cũng đều là duy nhất. Điều này có nghĩa là việc tra cứu đƣờng tại một nút có mã định danh đƣờng không trả về nhiều hơn một chặng kế tiếp. Chặng cuối cùng của một đƣờng trong giao thức AOMDV tuân theo thuộc tính này bởi vì không có nút nào có thể có hai đƣờng cho một đích với các chặng tiếp theo khác nhau nhƣng lại có chặng cuối cùng giống nhau.
2.4. Tổng kết Chƣơng 2
AOMDV là một giao thức định tuyến đa đƣờng đƣợc phát triển trên cơ sở cải tiến thuật khám phá đƣờng của giao thức định tuyến tìm đƣờng theo yêu cầu dạng véc tơ khoảng cách AODV nhằm mục đích cho phép mỗi nút mạng tìm đƣợc nhiều đƣờng hơn một đƣờng cùng đến một đích sau mỗi tiến trình khám phá đƣờng.
Đề xuất thiết kế và phát triển giao thức AOMDV gồm 4 thành phần quan trọng đã đƣợc thiết kế lại và hiệu chỉnh so với giao thức gốc AODV. Đó là các thành phần: cấu trúc entry trong bảng định tuyến, thuật toán cập nhật đƣờng, tiến trình khám phá đƣờng và cơ chế cập nhật đƣờng.
Có hai yêu cầu đƣợc đặt ra đối với các đƣờng do giao thức AOMDV tìm đƣợc là phải đảm bảo: (i) khả năng chống định tuyến lặp và (ii) khả năng phân
tách giữa các con đƣờng tìm đƣợc. Yêu cầu (i) đƣợc đảm bảo bằng hai quy tắc cập nhật đƣờng đã đƣợc trình bày và đã chứng tỏ đƣợc tính đúng đắn qua việc chứng minh Định lý 1. Bằng kỹ thuật cập nhật đƣờng có điều kiện đảm bảo tính duy nhất của chặng kế tiếp và chặng cuối cùng, thuật toán cập nhật đƣờng đã đảm bảo cho yêu cầu (ii) và tính đúng đắn của nó đã đƣợc chứng minh thông qua việc chứng minh Định lý 2.
Các đề xuất thiết kế giao thức AOMDV chủ yếu đến phiên bản giao thức AOMDV đa đƣờng phân tách theo liên kết. Tuy nhiên khuyến nghị về các điều chỉnh cần thiết thực hiện để triển khai phiên bản giao thức phân tách theo nút cũng đã đƣợc đƣa ra trong chƣơng này.
Vấn đề đánh giá hiệu năng của giao thức AOMDV sẽ đƣợc trình bày tiếp theo trong Chƣơng 3.
CHƢƠNG 3. MÔ PHỎNG VÀ ĐÁNH GIÁ HIỆU NĂNG GIAO THỨC AOMDV
3.1. Mục tiêu của việc đánh giá giao thức AOMDV
Hiệu năng của giao thức AOMDV đƣợc đánh giá bằng cách sử dụng công cụ mô phỏng NS-2 [4]. Mục tiêu chính của nghiên cứu này là đánh giá hiệu năng của giao thức AOMDV so với giao thức AODV khi có lỗi đƣờng xảy ra do sự di động của các nút mạng. Ngoài ra còn có một số mục tiêu khác nhƣ đánh giá đƣợc ảnh hƣởng của mẫu lƣu lƣợng truy cập đối với định tuyến đa đƣờng và đánh giá số lƣợng đƣờng có thể đƣợc tìm thấy bằng giao thức AOMDV.
3.2. Môi trƣờng mô phỏng
Mô hình mô phỏng cho giao thức AOMDV đƣợc đề xuất trong Chƣơng 2 dựa trên phần mềm mô phỏng NS-2 [4]. Các nhóm nghiên cứu Monarch ở CMU phát triển hỗ trợ cho mô phỏng mạng không dây đa chặng một cách hoàn chỉnh ở tầng vật lý, liên kết dữ liệu, và các mô hình tầng MAC trên NS-2. Cơ chế điều phối phân tán (DCF) của IEEE 802.11 cho mạng LAN không dây đƣợc sử dụng tại tầng MAC. Mô hình vô tuyến sử dụng các đặc tính tƣơng tự nhƣ giao diện vô tuyến thƣơng mại là Lucent‟s WaveLAN. Đây là một mô hình sử dụng môi trƣờng truyền sóng vô tuyến đƣợc chia sẻ một tốc độ truyền bit theo lý thuyết là 2 Mbps và với khoảng cách tối đa là 250 m. Mô hình kênh truyền sóng vô tuyến không có lỗi đƣợc sử dụng trong các mô phỏng để làm rõ ảnh hƣởng của tính di động của nút mạng. Mô phỏng này đã đƣợc sử dụng để đánh giá hiệu suất của các phiên bản trƣớc đó của giao thức AODV [5,7,12].
Mô hình giao thức AODV đƣợc sử dụng trong các mô phỏng là mô hình theo đặc tả giao thức AODV đã đề xuất [11]. Mô hình mô phỏng cho giao thức
AOMDV trên NS-2 đã đƣợc phát triển. Trong các mô phỏng đã đƣợc thực hiện, kỹ thuật tìm kiếm mở rộng theo vòng bị vô hiệu hóa khi thực hiện tiến trình khám phá đƣờng trong cả hai giao thức. Mục đích của việc này là để đơn giản hóa việc phân tích kết quả mô phỏng. Lƣu ý rằng kỹ thuật tìm kiếm mở rộng theo vòng là kỹ thuật bổ sung cho giao thức định tuyến đa đƣờng AOMDV đƣợc phát triển ở đây và do đó có thể đƣợc sử dụng với bất kỳ giao thức nào sử dụng cơ chế quảng bá đƣờng kiểu làm tràn ngập mạng. Liên kết bị phá vỡ đƣợc phát hiện bằng cách sử dụng gói HELLO cùng cơ chế phản hồi của Tầng Liên kết dữ liệu 802.11 tùy theo cơ chế nào phát hiện ra liên kết bị phá vỡ trƣớc. Việc không nhận đƣợc gói HELLO từ nút láng giềng trong một khoảng thời gian báo hiệu khả năng mất liên kết nút láng giềng đó. Tầng MAC 802.11 báo lỗi liên kết khi không nhận đƣợc gói CTS sau một số lần thử truyền gói RTS hoặc nhận không nhận đƣợc gói ACK sau nhiều lần truyền lại một gói dữ liệu. Mặc dù nhiều nghiên cứu về giao thức AODV đƣợc báo cáo trong các tài liệu gần đây không sử dụng tin gói HELLO [12], các giao thức định tuyến đa đƣờng vẫn cần gói HELLO để có thể vô hiệu hóa các đƣờng đã cũ hiện không đƣợc sử dụng. Phản hồi của Tầng Liên kết dữ liệu chỉ có thể làm mất hiệu lực của đƣờng hiện đang đƣợc sử dụng
Mô phỏng đƣợc thực hiện trong một diện tích hình vuông có diện tích 1000x1000 (m2) bao gồm 100 nút di động. Ban đầu, các nút đƣợc phân bố kiểu đồng nhất ngẫu nhiên. Mạng 100 nút là mạng đủ lớn để nhấn mạnh các đặc điểm của giao thức định tuyến phẳng nhƣ AODV hoặc AOMDV. Mô hình di động điểm ngẫu nhiên (Random Waypoint) đƣợc sử dụng để mô phỏng các chuyển động của nút mạng. Thời gian tạm dừng đƣợc đặt bằng 0. Tốc độ di chuyển v của nút mạng đƣợc thay đổi trong mô phỏng. Chúng đƣợc chọn ngẫu nhiên với phân
phối đồng đều trong phạm vi [0.9v, 1.1v]. Bảng I cho thấy mối tƣơng quan giữa tốc độ di chuyển trung bình của nút với tỷ lệ lỗi trung bình của liên kết đƣợc quan sát từ các kịch bản mô phỏng đã thực hiện.
Tốc độ nút trung bình (m/s)
Tỷ lệ lỗi liên kết trung bình (trên giây) 1 3.31 2.5 8.08 5 16.48 7.5 24.84 10 33.24
Bảng 3.1: Mối tương quan giữa tốc độ di chuyển của nút và tỷ lệ lỗi liên kết
Mẫu lƣu lƣợng dữ liệu gồm một số kết nối CBR/UDP giữa các cặp nút nguồn-đích đƣợc chọn ngẫu nhiên. Với mẫu lƣu lƣợng này, một nút có thể xuất hiện trong nhiều kết nối dƣới dạng nút nguồn hoặc nút đích. Mỗi kết nối bắt đầu tại một thời điểm ngẫu nhiên trong 100 giây đầu tiên của mô phỏng và duy trì cho đến khi kết thúc. Số lƣợng kết nối hoặc tốc độ tạo gói của mỗi kết nối đƣợc thay đổi trong mô phỏng để có đƣợc các mẫu lƣu lƣợng khác nhau. Các gói dữ liệu có kích thƣớc cố định 512 bytes trong tất cả các thử nghiệm.
Mỗi mô phỏng đƣợc chạy trong 1000 giây với 250 giây ban đầu đƣợc lấy làm thời gian khởi động. Mỗi điểm dữ liệu trong các đồ thị là giá trị trung bình của 5 lần chạy mô phỏng với các kịch bản di động đƣợc tạo ngẫu nhiên khác nhau của cùng một tốc độ nút di chuyển trung bình. Các kịch bản lƣu lƣợng truy
cập và di động đƣợc sử dụng giống nhau khi mô phỏng giao thức AODV và AOMDV.
3.3. Các độ đo hiệu năng
Có 4 độ đo hiệu năng chính đƣợc sử dụng khi phân tích dữ liệu mô phỏng: (i) Tỷ lệ mất gói dữ liệu:phần trăm số gói dữ liệu bị mất tại nút nguồn hoặc các nút trung gian; (ii) Trễ dữ liệu đầu cuối trung bình: bao gồm mọi yếu tố gây trễ do trễ do cơ chế đệm trong tiến tình khám phá đƣờng, trễ hàng đợi tại các giao tiếp mạng, trễ truyền lại tại tầng MAC, thời gian truyền; (iii) Tần suất khám phá đường: tổng số gói yêu cầu tìm đƣờng do tất cả các nút nguồn sinh ra trên một giây; (iv) Chi phí định tuyến: Tổng số gói tin điều khiển của giao thức định tuyến đƣợc truyền trong một giây tính theo lần truyền gói điều khiển định tuyến tại mỗi chặng.
3.4. Kết quả mô phỏng và phân tích đánh giá hiệu năng
3.4.1. Thay đổi tốc độ di chuyển
Mô phỏng kiểm nghiệm hiệu năng của các giao thức khi thay đổi tốc độ di chuyển của các nút mạng đƣợc thực hiện với tốc độ gửi dữ liệu từ các nút nguồn trong các mô phỏng này là 1 gói/giây với 50 kết nối CBR/UDP. Điều này tƣơng