7. Bố cục của luận văn
2.2.4. Cơ chế kiểm soát truy vấn (Query Control)
Ta thấy ZRP có thể được thực hiện hiệu quả hơn b ng cách sử dụng quảng bá biên truy vấn đến nút biên của một v ng định tuyến thay vì lũ lụt các truy vấn trong c ng một mạng. Để đạt được hiệu quả điều này, giao thức sẽ phải thực hiện được một việc đó là phát hiện và chấm dứt một sự truy vấn khi nó xuất hiện trong một v ng định tuyến mà trước đã được truy vấn (tức là đến một nút thuộc v ng định tuyến của một nút đã được truy vấn trước đó). Bởi vì các v ng định tuyến rất nhiều chồng chéo lên nhau, một nút có thể là một thành viên của nhiều v ng định tuyến, nó có thể chuyển tiếp một gói tin yêu cầu nhiều lần và dẫn đến một kết quả đáng thất vọng đó là tốn nhiều lưu lượng hơn so với việc lũ lụt. Khả năng phát hiện/chấm dứt này sẽ có tác
dụng giới hạn đáng kể khi nút quảng bá biên triển khai trực tiếp thông qua IP unicast ho c multicast IP.[3]
Để giải quyết vấn đề này, ZRP cần một cơ chế kiểm soát truy vấn, có thể trực tiếp truy vấn từ các v ng được bao phủ (khi một nút quảng bá biên một truy vấn, toàn v ng định tuyến của nút được truy vấn bao phủ) và chấm dứt các gói tin truy vấn trước khi chúng được gửi đến các nút biên ở các v ng của mạng đã được bao phủ bởi truy vấn. ZRP sử dụng ba loại cơ chế kiểm soát truy vấn: phát hiện truy vấn (query detection), chấm dứt sớm (early termination) và sự chậm trễ xử lý truy vấn ngẫu nhiên (random query-processing delay). [5]
Cơ chế phát hiện truy vấn (Query Decteection - QD)
Khi quá trình quảng bá biên được thực hiện, chỉ có nút sử dụng quảng bá biên là biết được v ng định tuyến được bao phủ bởi truy vấn. Khi các nút biên tiếp tục quá trình truy vấn b ng cách sử dụng quảng bá biên đến các nút biên của nó, truy vấn có thể được chuyển tiếp qua các nút tương tự một lần nữa.
K I B A D J H G C E S F Hình 2.13. Ví dụ phát hiện truy vấn
Ta có một ví dụ để minh họa, nút S trong hình 2.4 sử dụng quảng bá biên một truy vấn đến các nút biên của nó (các nút F , G , H , I , J ). Nút J tiếp tục sử dụng quảng bá biên đến các nút biên của nó (các nút C , S và F ), các truy vấn do nút J chuyển đến các nút C , S và F là không cần thiết, vì các nút này đã được bao phủ bởi các truy vấn trước đó. [5]
Để có thể để ngăn ch n các truy vấn xuất hiện lại trong các v ng được bao phủ phụ thuộc vào khả năng nhận biết hoạt động chuyển tiếp truy vấn trong v ng của các nút. BRP cung cấp hai phương pháp phát hiện truy vấn: QD1 và QD2. Thứ nhất, các nút chuyển tiếp các truy vấn có thể để phát hiện các truy vấn (QD1).Thứ hai, trong mạng đơn kênh, nó có thể lắng nghe lưu lượng truy cập bởi các nút khác trong phạm vi
v ng phủ sóng (QD2). Do đó, nó có thể để phát hiện các truy vấn chuyển b ng các nút khác trong v ng. QD2 có thể được thực hiện b ng cách sử dụng các chương trình phát sóng IP để gửi các truy vấn tuyến đường. Thay thế, unicast có thể được sử dụng nếu các lớp MAC và IP hoạt động ở chế độ lộn xộn.
Trong ví dụ trên, tất cả các nút (trừ nút B ) chuyển tiếp truy vấn của S , chúng có thể sử dụng QD1. Nút B không thuộc cây quảng bá biên, nhưng nó có thể nghe trộm các truy vấn chuyển tiếp b ng cách sử dụng “nghe trộm” QD2. Tuy nhiên, nút K không nghe được gói tin truy vấn, và do đó không biết r ng v ng định tuyến của nút S đã được truy vấn bao phủ.
Một bảng phát hiện truy vấn được sử dụng để lưu trữ các truy vấn được phát hiện. Đối với mỗi mục, bộ nhớ đệm chứa địa chỉ của các nút nguồn và ID truy vấn. C p (nút nguồn - ID) này là đủ để nhận diện tất cả các truy vấn trong mạng. Các bộ nhớ đệm cũng có thể chứa các thông tin khác t y thuộc vào các chương trình phát hiện truy vấn. Đ c biệt quan trọng là địa chỉ của các nút quảng bá biên truy vấn gần nhất. [5]
Cơ chế kết thúc sớm (Early Termination - ET)
Với cơ chế kết thúc sớm (ET), một nút có thể ngăn ch n một yêu cầu tuyến đường vào v ng đã được truy vấn bao phủ. ET kết hợp thông tin thu được thông qua cơ chế phát hiện truy vấn với các kiến thức về cấu trúc liên kết v ng để loại bỏ các tuyến đường dẫn đến các nút biên bên trong v ng đã được truy vấn bao phủ. Các v ng này bao gồm các nút bên trong của các nút đã quảng bá biên các truy vấn. Một nút cũng có thể loại bỏ một nút biên nếu nó đã chuyển tiếp một truy vấn đến nút đó.
ET yêu cầu thông tin về cấu trúc liên kết mở rộng bên ngoài v ng định tuyến của các nút. Thông tin được yêu cầu để tái tạo lại cây quảng bá biên của các nút khác trong v ng định tuyến. V ng định tuyến mở rộng sẽ có bán kính là 2p-1.
K I B A D J H G C E S F Hình 2.14. Vùng định tuyến mở rộng của E
Ví dụ: Trong hình 2.5 nút E có thể sử dụng thông tin trong bảng phát hiện truy vấn để loại bỏ truy vấn mà nút J gửi đến nút biên F . Nút E có một v ng định tuyến mở rộng với bán kính 2p - 1 = 3, biểu diễn là một vòng tròn dấu gạch đứt.
Cơ chế làm trễ xử lý truy vấn ngẫu nhiên (Random Query Processing Delay - RQPD)
Khi một nút bắt đầu quảng bá biên đến các nút biên của nó, phải mất một khoảng thời gian nhất định để các truy vấn được chuyển theo cây quảng bá biên và được phát hiện thông qua các cơ chế phát hiện truy vấn. Trong thời gian này, một nút khác cũng có thể gửi đến c ng một yêu cầu. Điều này có thể là một vấn đề khi các nút lân cận nhận và gửi lại một yêu cầu gần như c ng lúc.
Để giảm xác suất nhận được yêu cầu tương tự từ các nút khác nhau, có thể được sử dụng một cơ chế làm trễ xử lý truy vấn ngẫu nhiên (RQPD). Mỗi nút quảng bá biên chờ đợi một thời gian ngẫu nhiên trước khi việc xây dựng các cây quảng bá biên và ET. Trong thời gian này, các nút chờ đợi có thể phát hiện các truy vấn từ các nút quảng bá biên khác và loại bỏ khỏi cây quảng bá biên.
Giả sử r ng trong hình 2.5 các nút C và S đều nhận được một truy vấn. Nút C làm lịch một quảng bá biên đến bút biên của nó là nút E , và nút S cũng làm lịch một quảng bá biên đến bút biên của nó là nút F . Nếu không có RQPD, cả hai nút sẽ gửi quảng bá biên truy vấn c ng một lúc, và sau đó mới phát hiện các thông báo của các nút hàng xóm. Với RQPD, nút C có thể phát hiện các truy vấn được gửi bởi các nút S trong sự chậm trễ, và loại bỏ nhánh dẫn đến nút E . [8]
Bộ nhớ đệm (Caching)
Bộ nhớ đệm là một kỹ thuật để giảm thiểu điều khiển lưu thông. Các nút lưu trữ hoạt động của các tuyến đường và b ng cách sử dụng bộ nhớ đệm này, tần số của thủ tục khám phá tuyến có thể được giảm. Những thay đổi trong cấu trúc liên kết mạng, chẳng hạn như liên kết bị hỏng được b đắp bởi các thủ tục sửa chữa tuyến đường địa phương. Một tuyến đường mới sau đó thay thế tuyến đường giữa hai đầu của liên kết bị hỏng và cập nhật thông điệp của tuyến đường để gửi đến các thiết bị đầu cuối của tuyến đường. Kể từ khi việc sửa chữa làm giảm hiệu quả của các tuyến đường, các thiết bị đầu cuối có thể khởi tạo một thủ tục khám phá con đường mới sau một số sửa chữa.