Giao thức GEAR

Một phần của tài liệu Đánh giá hiệu suất của giao thức định tuyến trong mạng cảm biến không dây (Trang 51)

GEAR (Geographic and Energy – Aware Routing: Định tuyến cảm nhận năng lƣợng và địa lý) sử dụng sự cảm nhận về năng lượng và vị trí để đưa ra các chuẩn đoán lựa chọn nút lân cận trong quá trình định tuyến gói tin tới vùng đích. Ý tưởng này giúp giới hạn số lượng các gói Interest trong Khuếch tán trực tiếp (Directed Diffusion) bằng cách chỉ xem xét một khu vực nhất định thay vì gửi gói tin Interest tới toàn mạng. GEAR ưu điểm hơn so với Directed Diffusion ở điều này do đó nó sẽ tiết kiệm được năng lượng tiêu thụ nhiều hơn.

Ở GEAR, mỗi nút sẽ có 2 giá trị là chi phí ước tính (estimated cost) và chi phí học (learning cost) trên con đường tới đích thông qua các hàng xóm của chúng. Chi phí ước tính là sự kết hợp của mức năng lượng còn lại và khoảng cách để tới đích. Chi phí học là 1 cải tiến của chi phí ước tính, nó được xác định dựa trên việc định tuyến xung quanh các lỗ hổng trong mạng. Một lỗ hổng xảy ra khi một nút không có bất kỳ nút lân cận nào mà gần vùng đích hơn nó. Nếu như không có lỗ hổng, chi phí ước tính bằng chi phí học. Chi phí học được truyền ngược trở lại 1 hop mỗi khi gói tin tới được đích để điều chỉnh việc thiết lập tuyến đường cho gói tin tiếp theo. Thuật toán GEAR gồm 2 giai đoạn:

- Giai đoạn 1: Chuyển tiếp các gói tin tới vùng đích: Sau khi nhận được mỗi gói tin, mỗi nút sẽ kiểm tra các nút lân cận của nó để xem xét xem có nút lân cận nào gần vùng đích hơn nó hay không. Nếu có nhiều hơn một, nút hàng xóm gần vùng đích nhất sẽ được lựa chọn là hop kế tiếp. Nếu tất cả các nút lân cận đều ở xa hơn thì có nghĩa là

sẽ có một lỗ hổng. Trong trường hợp này, một trong những nút lân cận sẽ được lựa chọn để chuyển tiếp gói tin dựa trên hàm chi phí học. Sự lựa chọn này có thể được cập nhập sau đó dựa theo sự hội tụ của các chi phí học trong suốt thời gian truyền gói tin.

- Giai đoạn 2: Chuyển tiếp các gói tin trong vùng đích: Nếu các gói tin đã được chuyển vào vùng đích, nó có thể được khuếch tán trong vùng này bằng một trong hai phương pháp là chuyển tiếp địa lý đệ quy và hạn chế flooding. Phương pháp hạn chế flooding tốt hơn khi các nút cảm biến được triển khai với mật độ mỏng. Trong mạng có mật độ nút cao, chuyển tiếp địa lý đệ quy sẽ mang lại hiệu quả năng lượng hơn so với hạn chế flooding. Trong trường hợp này, vùng đó sẽ bị chia ra thành 4 vùng con và 4 bản sao gói tin được tạo ra. Sự phân chia và tiến trình chuyển tiếp được tiếp diễn cho tới khi mỗi vùng đó chỉ còn lại 1 nút mạng. Mô tả về sự phân chia vùng chuyển tiếp địa lý đệ quy như hình 2.21 bên dưới.

Hình: 2.21: Chuyển tiếp địa lý đệ quy trong GEAR

2.6.6. Đánh giá chất lƣợng các giao thức định tuyến theo địa lý

Các giao thức định tuyến theo địa lý dựa trên các thông tin cục bộ về vị trí để đưa ra các quyết định định tuyến. Thay vì bảng định tuyến được xây dựng một cách rõ ràng, thông tin về vùng lân cận được mặc định suy ra từ vị trí vật lý của các nút. Điều này tăng khả năng mở rộng mạng của các giao thức định tuyến. Hơn nữa, các giao thức theo địa lý thường đơn giản do lựa chọn nút kế tiếp chỉ dựa trên các thông tin cục bộ.

Ngược lại, hiệu quả của các giao thức định tuyến theo địa lý phụ thuộc vào thông tin chính xác về vị trí của các nút. Các lỗi trong việc tìm ra vị trí của các nút cảm biến chính là nguyên nhân gây ra các lỗi trong định tuyến. Ngoài ra, để có được thông tin vị trí thì GPS là giải pháp thông dụng nhất. Tuy nhiên, chi phí triển khai GPS cho nhiều ứng dụng có thể là quá đắt so với mục tiêu mà ứng dụng này mang lại.

2.7. Các giao thức dựa trên chất lƣợng dịch vụ [2,tr.159-163] [9]

Đa phần các giao thức định tuyến được thiết kế đều tập trung vào mục tiêu tối giảm năng lượng tiêu thụ. Tuy nhiên trên thực tế, năng lượng tiêu thụ chỉ là một trong số các yếu tố hiệu suất quan trọng của mạng cảm biến và nó không phải là duy nhất. Hơn nữa, với sự phát triển của các ứng dụng mới như truyền thông đa phương tiện thì nhiều yếu tố hiệu suất khác như thông lượng, độ trễ, sự ổn định cũng cần phải xem xét khi thiết kế giao thức. Thậm chí trong nhiều trường hợp, độ trễ còn được đánh giá là quan trọng hơn năng lượng tiêu thụ. Do vậy, các yêu cầu về chất lượng dịch vụ (QoS) của những ứng dụng này phải được đảm bảo song song cùng với những hiệu quả về năng lượng sử dụng.

2.7.1. Giao thức SAR

Giao thức SAR (Sequential Assignment Routing - Định tuyến phân chia theo trình tự) cung cấp phương pháp bảng điều khiển đa đường và là một trong những giao thức định tuyến đầu tiên được phát triển cho mạng WSN trong đó xem xét các yêu cầu về QoS. Mục tiêu chính của SAR là tạo ra nhiều đường đi từ mỗi nút tới Sink để tránh quá tải hoặc lỗi trên một tuyến đường. Các tuyến đường này được xây dựng dạng cây, ở đó nút gốc được bắt đầu từ một nút-là nút lân cận của Sink. Cây tiếp tục được mở rộng bằng cách phân nhánh liên tiếp cho tới khi hầu hết các nút mạng đều được liên kết vào cây ngoại trừ các nút có QoS và năng lượng dự trữ thấp. Một nút mạng có thể thuộc vào nhiều cây hay nói cách khác có nhiều đường đi từ nó để tiến về Sink. Một nút mạng xác định 2 thông số cho mỗi tuyến đường tới Sink là:

- Nguồn năng lượng: nguồn năng lượng của mỗi đường đi được tính là số gói tin lớn nhất có thể được gửi bởi nút này nếu nó sử dụng riêng con đường đó.

- Đơn vị QoS bổ sung: mỗi đường đi được kết hợp thêm giá trị QoS nghĩa là năng lượng với độ trễ tại mỗi liên kết. Đơn vị QoS cao có nghĩa là chất lượng dịch vụ thấp.

Do có nhiều tuyến đường nên một nút lựa chọn 1 trong số các tuyến đường đó bằng cách dựa vào QoS của mỗi tuyến đường và độ ưu tiên của mỗi gói tin. QoS của mỗi tuyến đường được xác định là một đơn vị bổ sung, là một hàm của năng lượng và độ trễ. Đơn vị QoS càng tăng thì chất lượng dịch vụ của tuyến đường đó càng giảm. Bất cứ khi nào 1 nút có 1 gói tin cần gửi đi, nó sẽ tính toán trọng số QoS cho gói tin đó. Kết quả là, con đường có chất lượng dịch vụ cao sẽ được sử dụng để chuyển tiếp các gói tin có độ ưu tiên cao.

Theo thời gian, nguồn năng lượng và QoS trên mỗi tuyến đường sẽ bị thay đổi. Những thay đổi này được ghi nhận bởi giá trị cập nhật theo định kỳ được kích hoạt từ Sink. Để khôi phục các lỗi xảy ra, thủ tục bắt tay giữa các nút lân cận được thực thi. Và trong trường hợp cấu trúc liên kết mạng thay đổi, thủ tục xây dựng lại các tuyến đường cũng được khởi phát từ Sink để kịp thời thích ứng.

2.7.2. Giao thức MCPF

Giao thức MCPF (Minimum Cost Path Forward- Chuyển tiếp theo con đường có chi phí nhỏ nhất) kết hợp 3 yếu tố độ trễ, thông lượng và mức độ tiêu thụ năng lượng tạo thành một hàm chi phí dùng để thiết lập tuyến đường giữa các nút mạng. Dựa theo hàm chi phí này, thuật toán chuyển tiếp theo con đường có chi phí nhỏ nhất quy định một trường chi phí tại mỗi nút mạng. Kết quả là, các gói tin thông qua trường chi phí này sẽ được chuyển tiếp tới nút mạng tiếp theo có chi phí thấp nhất.

Thuật toán đường đi có chi phí nhỏ nhất gồm 2 giai đoạn: thiết lập trường chi phí và chuyển tiếp dữ liệu. Giai đoạn thiết lập trường chi phí nhằm mục đích xác định chi phí nhỏ nhất giữa một nút bất kỳ và Sink. Sink quảng bá một thông báo ADV với chi phí ban đầu là 0. Mỗi nút j, nhận được thông báo ADV từ nút i sẽ tính toán chi phí của chính nó

Li + Cj,i (5)

Trong đó Li là chi phí của nút i (=0 nếu là Sink) và Cj,i là chi phí từ nút j tới nút i. Sau đó mỗi nút sẽ thiết lập bộ đếm thời gian Backoff tỷ lệ thuận với với chi phí của nút đó tới nút i, tức Cj,i đồng thời quảng bá gói tin ADV của mình. Thời gian BackOff giúp một nút cập nhật chi phí của nó tới Sink thông qua nút có chi phí truyền tới Sink là nhỏ nhất.

Hình 2.20 bên dưới là một ví dụ minh họa cho giai đoạn thiết lập trường chi phí. Giả sử nút A có chi phí nhỏ nhất LA=0.5 để tới được Sink và chi phí cho các liên kết giữa các nút A, B, C là: LB, A=1.5, LC,A=4 và LC,B=1 như hình 2.20 (a). Nút A quảng bá gói tin ADV của nó như hình 2.20 (b). Nhận được gói tin ADV này nút B, C cập nhật chi phí của chính chúng LB=LA+LB,A=2, LC=LA+LC,A=4.5 và thiết lập bộ đếm thời gian Backoff tương ứng. Khi bộ đếm thời gian của nút B kết thúc lần đầu tiên, nút B sẽ quảng bá ADV của nó với chi phí nhỏ nhất là LB=2 như hình 2.20 (c). Nhận gói tin ADV từ B, nút C xác định rằng chi phí của nó để tới Sink sẽ nhỏ hơn nếu qua B (LC=LB+LC,B=3) và do đó nó sẽ cập nhật chi phí nhỏ nhất là 3, đồng thời bật bộ đếm thời gian Backoff. Sau khi bộ đếm thời gian của C ngừng lại, C gửi quảng bá ADV của nó. Kết quả của pha thiết lập trường chi phí dựa trên bộ đếm giờ Backoff là mỗi nút xác định được chi phí nhỏ nhất của nó để tới Sink, các nút này sẽ gửi thông tin về chi phí có được tới Sink bằng cách quảng bá gói tin ADV duy nhất.

Trong pha truyền dữ liệu, nút nguồn gửi quảng bá bản tin dữ liệu của chúng tới các nút lân cận. Bản tin này được định tuyến thông qua trường chi phí của mỗi nút. Khi nút nguồn quảng bá một bản tin thì nó cũng kèm theo dự thảo chi phí gửi bản tin đó. Dự thảo chi phí này bằng với chi phí nhỏ nhất của nút nguồn để tới Sink. Xét ví dụ ở hình 2.20 (c), giả sử nút C có gói tin cần gửi tới Sink. Nó quảng bá bản tin của mình với dự thảo chi phí là 3. Khi nút A nhận được bản tin này, nó so sánh chi phí tối thiểu của nó(LA=0.5) cộng với chi phí liên kết tới nút C (LC,A=4) với dự thảo chi phí của bản tin và xác định rằng chi phí này vượt quá chi phí dự thảo. Do đó, nó sẽ không chuyển

tiếp gói tin này. Mặt khác, nút B chuyển tiếp gói tin vì nó là tuyến đường tối ưu từ nút C gửi tới Sink.

Hình 2.20: Thủ tục thiết lập trường chi phí của MSPF

Dựa trên ý tưởng về trường chi phí, các bản tin có thể được định tuyến mà không có thông tin cụ thể về tuyến đường, thông tin về vùng lân cận hay ID của các nút. Mỗi gói tin được quảng bá mà không có nút kế tiếp cụ thể, nút này được xác định thông qua kết quả của phép so sánh giữa dự thảo chi phí với tổng (chi phí nhỏ nhất + chi phí liên kết). Nếu chi phí này không đủ để tới được Sink, gói tin sẽ bị hủy bỏ. Trái lại, nó sẽ được chuyển tiếp cho tới khi tới Sink. Kết quả là, kỹ thuật chuyển tiếp theo con đường có chi phí nhỏ nhất chuyển giao các gói tin dựa trên chi phí tối thiểu tại mỗi nút.

2.7.3. Giao thức SPEED

Các yêu cầu về QoS trong các mạng truyền thống thường liên quan tới thông lượng hay trễ đầu cuối. Tuy nhiên, trong các mạng WSNs, vị trí tương đối của mỗi nút

mạng ảnh hưởng đáng kể đến hiệu suất đầu cuối và khoảng cách là một trong các yếu tố để đảm bảo các yêu cầu về QoS. Giao thức SPEED khai thác đặc điểm này và nhắm mục tiêu cung cấp một tiến bộ trong việc đảm bảo tốc độ cho các gói tin trong một thời gian nhất định. Do đó, trễ đầu cuối của các gói tin trong các mạng WSNs tỷ lệ thuận với khoảng cách giữa các nút nguồn và đích.

Giao thức SPEED gồm một vài thành phần nhằm đảm bảo tốc độ của các gói tin trong mạng. Giao thức “trao đổi báo hiệu lân cận” được thực thi theo định kỳ để trao đổi thông tin cục bộ giữa các nút lân cận. Kết quả là, mỗi nút sẽ xây dựng một bảng quan hệ lân cận và lưu trữ thông tin của các nút lân cận này như: ID của nút lân cận, vị trí, độ trễ ước tính khi tới nút lân cận và khoảng thời gian tối đa một quan hệ lân cận được tồn tại trong bảng, nếu sau khoảng thời gian đó mà quan hệ lân cận này không được cập nhật mới thì quan hệ này sẽ bị hủy bỏ.

Như đã nói ở trên, ngoài vị trí, mỗi nút mạng còn lưu trữ độ trễ ước tính từ nó tới các nút lân cận vào trong bảng quan hệ lân cận. Trễ ước tính được thực hiện vào bất cứ khi nào tại bên gửi một gói tin được gửi đi tới 1 nút lân cận cụ thể. Bên gửi lưu trữ thời gian cần thiết từ khi nó đặt gói tin vào trong hàng đợi đến khi nhận được ACK từ nút lân cận. Hơn nữa, các nút lân cận thực hiện chức năng nhận truyền thông trong khoảng thời gian xử lý ACK bằng cách sử dụng gói tin ACK, thời gian này đã được trừ vào trễ ước tính. Trong trường hợp nhiều gói tin được gửi đi tới cùng một nút lân cận, sự xê dịch trung bình của trễ ước tính cũng được lưu trữ vào trong bảng quan hệ lân cận.

Giá trị trễ ước tính được lưu trữ cho mỗi nút lân cận được sử dụng để chuyển tiếp gói tin thông qua việc sử dụng thuật toán chuyển tiếp địa lý không xác định phi trạng thái (SNGF) của SPEED. SNGF nhằm mục đích chuyển tiếp các gói tin tới các nút lân cận với một tốc độ chuyển giao tối thiểu là SSetpoint.

Hình 2.21: Hoạt động của SNGF

Hoạt động của SNGF được mô tả ở hình 2.21. Ở đó nút gửi A nhằm mục đích chuyển tiếp các gói tin của nó tới đích D. Đầu tiên, các nút nằm trong phạm vi truyền dẫn của A và gần đích D hơn nút A sẽ được lựa chọn là những ứng cử viên để chuyển

tiếp (E, F, G). Sau đó tốc độ chuyển tiếp giữa nút A và một nút j є {E,F,G} đến đích D được tính cho mỗi ứng cử viên như sau:

Trong đó dA,D và dj,D là các khoảng cách để đến được đích D từ nút A và nút j. HopDelayA,j là sự chậm trễ ước tính giữa nút A và j.

SNGF lựa chọn nút kế tiếp trong số các ứng cử viên với tốc độ ước tính cao hơn SSetpoint . Kết quả là, các gói tin được chuyển tiếp sẽ đảm bảo đạt được tốc độ tối thiểu. Tuy nhiên, nếu không nút nào thỏa mãn được tốc độ này, gói tin sẽ bị hủy một cách ngẫu nhiên dựa theo vòng phản hồi khu vực lân cận (NFL).

Thành phần NFL của SPEED điều khiển thủ tục hủy gói tin trong trường hợp không có nút lân cận nào đáp ứng được tốc độ tối thiểu đã đề ra. Với mục đích này, tốc độ bỏ lỡ của mỗi nút lân cận là tốc độ mà nút đó không đáp ứng được tốc độ yêu cầu. Dựa trên tốc độ bỏ lỡ của các nút lân cận, NFL xác định hoặc là chuyển tiếp, hoặc là hủy bỏ gói tin.

Trong một vài trường hợp, các gói tin có thể được định tuyến tới một vài điểm nóng, nơi mà có sự cạnh tranh cao. Để ngăn chặn việc các gói tin tiếp tục được chuyển

Một phần của tài liệu Đánh giá hiệu suất của giao thức định tuyến trong mạng cảm biến không dây (Trang 51)