Giaothức định tuyến ZRP (Zone Routing Protocol)

Một phần của tài liệu Nghiên cứu một số giao thức định tuyến trên mạng manet (Trang 37)

7. Bố cục của luận văn

2.2. Giaothức định tuyến ZRP (Zone Routing Protocol)

Giao thức định tuyến ZRP kết hợp những ưu điểm của các phương pháp tiếp cận chủ động và bị động b ng cách duy trì một bản đồ liên tục cập nhật cấu trúc liên kết của một v ng định tuyến chủ động trên mỗi nút. Trong v ng định tuyến chủ động, tuyến đường có sẵn ngay lập tức. Đối với các nút bên ngoài v ng định tuyến, ZRP sử dụng một thủ tục khám phá tuyến, có thể được thừa hưởng từ thông tin định tuyến địa phương của v ng định tuyến chủ động. [5]

2.2.1. Vùng định tuyến và định tuyến nội vùng (Intrazone Routing Protocol - IARP)

Một v ng định tuyến của nút X là bao gồm các nút n m trong một v ng có bán kính nhất định, gọi là bán kính v ng (Radius Zone). Bán kính của một v ng định tuyến không được xác định b ng số đo địa lý thông thường mà xác định bởi một số p

cho trước (p là số bước nhảy của v ng). Các nút n m trong v ng định tuyến của nút X sẽ có khoảng cách từ nó đến nút X nhỏ hơn ho c b ng một số p bước nhảy được xác định trước. [5]

E D J F H L K C G I B B B C C B A

Hình 2.10. Một ví dụ vùng định tuyến của nút A với p = 2

Trong ví dụ này các nút từ B đến nút H là n m trong v ng định tuyến của nút A (khoảng cách từ chúng đến nút A không lớn hơn p = 2 bước nhảy). Nút K và L là n m ngoài v ng định tuyến của nút A (khoảng cách từ chúng đến nút A là 3 bước nhảy, p > 2). Ta thấy r ng, nút J có hai tuyến đường có thể đi đến nút A là tuyến đường có số bước nhảy là 2 và tuyến đường có số bước nhảy là 3. Nhưng nút J vẫn n m trong v ng định tuyến của nút A vì tuyến đường định tuyến ngắn nhất từ nút A đến nút J là 2, b ng bán kính v ng định tuyến.[8]

Các nút biên là các nút n m trong v ng định tuyến của nút A và có số bước nhảy nhỏ nhất từ nó đến nút A b ng bán kính v ng. Các nút trong là các nút n m trong v ng định tuyến của nút A và có số bước nhảy từ nó đến nút A nhỏ hơn bán kính v ng gọi là nút trong. Như vậy, trong ví dụ trên, các nút B , D , E , H , F , và J là các nút biên của A ; các nút C , G và I là các nút trong của A .

Để xây dựng một v ng định tuyến và các nút biên của nó, mỗi nút phải xác định các nút láng giềng của nó. Để xác định nút láng giềng mới và các liên kết bị đứt, các nút có thể sử dụng một giao thức phát hiện láng giềng (NDP - Neighbor Discovery Protocol) được cung cấp bởi lớp địa chỉ truy cập đường truyền (MAC). NDP truyền gói tin cảnh báo "HELLO" mội cách đều đ n. Nếu một nút nhận được một tin nhắn như vậy, nó có thể cập nhật vào neighbor table, nghĩa là nó có một kết nối trực tiếp với nút láng giềng này. Nút không nhận được gói tin của nút láng giềng trong một khoảng thời gian xác định sẽ xóa nút láng giềng đó khỏi neighbor table. Nếu lớp MAC của các nút không không hỗ trợ NDP, thì giao thức định tuyến nội v ng (IARP) phải trực tiếp cung cấp khả năng này. Giao thức này chịu trách nhiệm xác định các tuyến

đường đến các biên và thường là giao thức chủ động. [5]

ZRP hỗ trợ việc duy trì v ng định tuyến chủ động thông qua IARP. Thông qua IARP, mỗi nút sẽ xác định khoảng cách (tối thiểu) cho tất cả các nút trong v ng định tuyến của nó. IARP có thể sử dụng từ một loạt các giao thức chủ động, chẳng hạn như DSDV, OSPF. D IARP lựa chọn giao thức chủ động nào thì giao thức cơ sở cần phải được sửa đổi để đảm bảo r ng phạm vi hoạt động của giao thức này được giới hạn bán kính v ng định tuyến của một nút. [4]

Bởi vì mỗi nút cần chủ động có thông tin định tuyến các nút trong v ng của nó, tổng số lưu lượng IARP không phụ thuộc vào kích thước của mạng, mà nó có thể là tương đối lớn.

2.2.2. Định tuyến liên vùng (IERP)

Trong khi IARP duy trì các tuyến đường trong phạm vi của v ng định tuyến, thì IERP lại chịu trách nhiệm cho việc tìm kiếm các tuyến đường đến các nút n m ngoài phạm vi v ng định tuyến (khoảng cách lớn hơn bán kính v ng). IERP được phân biệt với các giao thức tìm kiếm lũ lụt chuẩn (dựa trên giao thức query/response) b ng cách khai thác cấu trúc liên kết định tuyến vùng do IARP cung cấp. Một nút có thể đáp ứng một cách tích cực với bất kỳ truy vấn nào của các nút trong v ng định tuyến của nó. Đối với các mạng lớn, khả năng các điểm đến n m trong v ng định tuyến của nút gốc là rất ít. Trong trường hợp này, các nút sẽ sử dụng một cơ chế để có thể tiếp tục công việc quảng bá truy vấn đó là sử dụng giải pháp quảng bá biên BRP (Bordercast Resolution Protocol). [5]

* Định tuyến liên vùng dựa trên tuyến đƣờng khám phá (Routing Zone Based Route Discovery)

IERP hoạt động như sau:

- Đầu tiên, nó kiểm tra xem nút đích có n m trong v ng định tuyến của nút nguồn không.

+ Nếu nút đích n m trong v ng định tuyến của nó tức là biết được tuyến đường đến nút đích và quá trình khám quá tuyến đường không yêu cầu thực hiện.

+ Nếu nút đích không n m trong v ng định tuyến của nút nguồn, nút nguồn sẽ gửi một yêu cầu quảng bá biên tuyến đường (mà chúng ta gọi là chỉ đơn giản là một yêu cầu) cho tất cả các nút biên của nó.

- Bây giờ, đến lượt các nút biên, tất cả các nút biên thực hiện c ng một thuật toán: Các nút biên sẽ kiểm tra xem nút đích có n m trong v ng định tuyến của nó không.

+ Nếu có, nó sẽ gửi trả lời tuyến đường (mà chúng ta gọi là chỉ đơn giản là trả lời) trở lại nút nguồn, điều này có nghĩa là một tuyến đường đến nút đích được khám phá;

thực hiện các thủ tục tương tự. D S B H C F E H A Hình 2.11. Một ví dụ về hoạt động IERP

Một ví dụ về thủ tục khám phá tuyến này được thể hiện trong hình 2.2, nút nguồn S cần gửi một gói tin đến nút đích D . Để tìm một con đường trong hệ thống, đầu tiên nút nguồn S sẽ kiểm tra nút đích D có n m trong v ng định tuyến của nó không. Nếu có, nút ngồn S đã biết đường đến nút đích D . Nếu không, nút nguồn S sẽ gửi một gói tin yêu cầu quảng bá biên tuyến đường cho tất cả các nút biên của nó, mà cụ thể là nút S sẽ gửi một yêu cầu đến các nút C , G và H . Bây giờ, đến lượt các nút biên, sau khi xác minh r ng nút đích D không phải thuộc v ng định tuyến của nó, mỗi một trong số các nút ( C , G , và H ) sẽ chuyển tiếp truy vấn b ng quảng bá biên các truy vấn đến các nút biên của nó. Trong đó, H sẽ gửi truy vấn đến nút B , tại đây nút B công nhận nút đích D là n m trong v ng định tuyến của nó và đáp ứng truy vấn và chỉ ra con đường chuyển tiếp:[8]

S → H → B → D .

Bảng 2.1. Tổng hợp quá tr nh định tuyến liên vùng (IERP)

Nhận từ Nút Nút biên - S C, G, H S C F, E S G A S H B H B

Xác định nút đích D → gửi trả lời lại nút nguồn S

* Quy trình tích lũy tuyến đường

Một tuyến đường có thể được xác định bởi một chuỗi các nút đã nhận được để IERP truy vấn thành công. Cách thức thực hiện là thông tin về tuyến đường được thu thập và phân phối bởi một quy trình tích lũy tuyến đường (thông qua một vài nút, mà phát hiện ra nút đích n m trong khu vực định tuyến của một nút nào đó). Trong quy trình tích lũy tuyến đường cơ bản, một nút gắn thêm ID của mình vào một gói tin truy vấn nó nhận được nhận được. Khi nút B tìm được nút đích trong v ng định tuyến của nó, với trình tự tích lũy của ID, nút đó đã xác định được một tuyến đường giữa nút nguồn truy vấn và nút đích. Để hoàn tất các quá trình khám phá tuyến đường, nút B chỉ cần gửi một gói tin trả lời lại nút nguồn truy vấn S , cung cấp cho nút S một tuyến đường mong muốn. Để thực hiện trả lời tuyến đường, thông tin đầy đủ được tích lũy trong giai đoạn truy vấn đến nút đích thông qua nút B được cung cấp trở lại nút S b ng cách đảo ngược các tuyến đường tích lũy, một con đường được gửi trở lại cho nút nguồn truy vấn S .

Một vấn đề có thể xảy ra đối với quá trình khám phá tuyến đường này là một truy vấn con đường duy nhất có thể được trả về nhiều tuyến đường c ng c ng nút nguồn đến nút đích. Chất lượng của các tuyến đường trả về có thể được đánh giá dựa trên tổng số bước nhảy (ho c bất kỳ số liệu tích lũy đường dẫn khác trong việc truyền bá các truy vấn). Con đường tốt nhất có thể được lựa chọn dựa vào chất lượng tương đối của tuyến đường này (tức là chọn con đường với số bước nhảy nhỏ nhất ho c tích lũy chậm trễ ngắn nhất). [5]

2.2.3. Giải pháp quảng bá biên BRP (Bordercast Resolution Protocol)

BRP cung cấp cung cấp dịch vụ quảng bá tin nhắn, ở đây nó được sử dụng để chuyển tiếp các truy vấn tuyến đường của IERP đến các nút biên. Để thực hiện được, BRP sẽ sử dụng bản đồ các nút n m trong v ng định tuyến do IARP cung cấp để xây dựng một cây quảng bá biên. [10]

Giao thức sẽ theo dõi các nút đã được bao phủ bởi truy vấn và các gói tin truy vấn do các nút gửi đi. Khi một nút nguồn cần định tuyến một tuyến đường đến nút đích, thì nó sẽ kiểm tra xem nút đích có n m trong v ng định tuyến của nó không, nếu có thì tuyến đường đã được xác định và sẽ không thực thi việc triển khai khám phá tuyến đường; ngược lại, quá trình khám phá tuyến đường sẽ thực hiện.

Khi đó nút nguồn là nút quảng bá biên, nó sẽ gửi các gói tin truy vấn đến tất cả các nút biên của nó, đồng thời nó sẽ đánh dấu các nút trong và nút biên của nó là được bao phủ. Trước khi truy vấn được gửi đến các nút biên, trạng thái của các nút sẽ được lưu trữ trong cache, vì vậy mà truy vấn có thể được loại bỏ khi nó gửi trở lại các nút đã được bao phủ. Nút nhận là một nút biên của nút quảng bá biên trước, sau đó nút này sẽ

trở thành một nút quảng bá biên mới. Nút quảng bá biên mới sẽ kiểm tra xem nút đích có n m trong v ng định tuyến của nó không, nếu có thì tuyến đường đã được xác định và tạo gói tin trả lời gửi lại nút nguồn; ngược lại, nó sẽ chuyển tiếp gói tin truy vấn đến các nút biên của nó đồng thời các nút n m trong v ng định tuyến của nó được đánh dấu là bao phủ bởi việc xây dựng lại cây quảng bá biên. [10]

Các gói tin BRP có chứa nguồn truy vấn và địa chỉ nút đích, ID truy vấn và địa chỉ nút quảng bá biên trước. Yêu cầu tuyến đường được vận chuyển là một gói tin được đóng gói. BRP sử dụng bảng định tuyến và bảng liên kết trạng thái của IARP. Ngoài ra, nó sử dụng một cache của các phát hiện truy vấn, có chứa nguồn truy vấn, truy vấn ID, BRP cache ID và nút quảng bá biên trước. Các bản đồ bao phủ truy vấn chứa một đồ thị cho mỗi sự kết hợp của nguồn truy vấn và truy vấn ID.

Bắt đầu truy vấn D n m c ng v ng với S S tạo ROUTE_REQUEST Quảng bá biên ROUTE_REQUEST Nút bổ sung IP vào ROUTE_REQUEST D trong vùng nút biên Tạo ROUTE_REPLY gửi về S Kết thúc truy vấn Gửi dữ liệu Đ S S Đ

Hình 2.12. Sơ đồ cơ chế định tuyến ZRP

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

Một phần của tài liệu Nghiên cứu một số giao thức định tuyến trên mạng manet (Trang 37)