Chương 3 Thuật toán định tuyến theo vùng ZRP 3.1 Giới thiệu chung
3.2.2. Định tuyến liên vùng
Trong khi thành phần định tuyến nội vùng IARP duy trì thông tin định tuyến tới các trạm làm việc nằm trong vùng định tuyến thì thành phần định tuyến liên vùng IERP (IntErzone Routing Protocol) sẽ tìm đường tới các trạm làm việc đích ngoài vùng định tuyến, khi có nhu cầu trao đổi số liệu với các trạm đích đó.
Như đã biết, khi một trạm làm việc có nhu cầu truyền dữ liệu với một trạm khác trong vùng định tuyến của nó, thông tin định tuyến được cung cấp ngay lập tức, bởi IARP là một thuật toán định tuyến trước. Nhưng nếu trạm làm việc đích không nằm trong vùng định tuyến, thành phần định tuyến liên vùng IERP sẽ chịu trách nhiệm cung cấp thông tin định tuyến, bắt đầu bằng việc phát đi một gói tin yêu cầu định tuyến để tìm đường đến trạm làm việc đích. Điều khác biệt so với các thuật toán định tuyến theo yêu cầu khác là IERP không gửi gói tin yêu cầu định tuyến qua từng trạm làm việc lân cận mà sẽ tận dụng cấu trúc vùng định tuyến để áp dụng giải pháp gửi truy vấn ngoại biên (được trình bày trong mục 3.2.3). Thông tin về cấu trúc vùng định tuyến được cung cấp chính bởi thành phần định tuyến nội vùng IARP.
Giống như các thuật toán định tuyến theo yêu cầu khác, quá trình định tuyến của IERP chia làm hai giai đoạn: giai đoạn truy vấn định tuyến (route request) và giai đoạn trả lời định tuyến (route reply). Giai đoạn truy vấn bắt đầu khi một trạm S có nhu cầu định tuyến tới một trạm D khác nhưng không tìm thấy thông tin định tuyến trong bảng
định tuyến của nó (đồng nghĩa với việc trạm làm việc đích D nằm ngoài vùng định tuyến của S). Khi đó S sẽ gửi gói tin yêu cầu định tuyến đến các trạm làm việc ngoại biên (lưu ý là trong các thuật toán định tuyến trước, chẳng hạn thuật toán AODV đã xem xét ở trên, gói tin yêu cầu định tuyến được gửi quảng bá tới các trạm lân cận). Các gói tin yêu cầu định tuyến cũng được phân biệt bởi cặp giá trị <địa chỉ trạm làm việc nguồn, số hiệu gói tin yêu cầu định tuyến>. Nếu một trạm làm việc nhận được gói tin yêu cầu định tuyến mới, mà nó không biết đường đi tới trạm đích yêu cầu, nó tiếp tục chuyển gói tin yêu cầu định tuyến đến các trạm làm việc ngoại biên của nó. Theo cách này, gói tin yêu cầu định tuyến sẽđược gửi đi toàn mạng, nhanh hơn so với cách gửi quảng bá thông thường áp dụng trong các thuật toán định tuyến theo yêu cầu khác. Các gói tin yêu cầu định tuyến lặp lại, nhận được sau đó, sẽ bị loại bỏ.
Giai đoạn trả lời bắt đầu nếu một trạm làm việc nhận được gói tin yêu cầu định tuyến và nó biết được đường đi tới trạm đích yêu cầu. Có thể chính nó là trạm đích được yêu cầu hoặc trạm đích đang thuộc vùng định tuyến của nó. Khi đó, gói tin trả lời (route reply) chứa thông tin định tuyến đến trạm đích sẽđược gửi trở về trạm làm việc nguồn.
Để thuận tiện cho việc chuyển gói tin trả lời về trạm nguồn, trong quá trình truy vấn định tuyến, thông tin vềđường đi từ trạm làm việc đích đến trạm làm việc hiện thời sẽ được tích lũy dần trong gói tin yêu cầu định tuyến. Trước khi chuyển tiếp gói tin yêu cầu định tuyến, trạm làm việc hiện thời sẽ tự thêm địa chỉ của chính nó, cùng với giá trị thước đo định tuyến tương ứng vào gói tin yêu cầu định tuyến, rồi mới chuyển gói tin cho trạm kế tiếp. Khi gói tin yêu cầu định tuyến đến được trạm đích thì thứ tựđịa chỉ của các trạm làm việc lưu trong gói tin yêu cầu định tuyến chính là đường đi từ trạm nguồn tới trạm đích. Thứ tự địa chỉ này sẽ được đảo ngược lại và sao chép vào gói tin trả lời định tuyến. Đó cũng chính là đường đi cần thiết để gửi gói tin trả lời về cho trạm làm việc nguồn. Trạm nguồn sẽ nhận được toàn bộ thông tin định tuyến đến trạm làm việc đích nhờ vào gói tin trả lời định tuyến.
Cũng có thể sử dụng cách, thay vì thêm địa chỉ các trạm làm việc trung chuyển vào gói tin yêu cầu định tuyến, mỗi trạm trung chuyển sẽ ghi nhớ trạm làm việc vừa chuyển tới nó gói tin yêu cầu định tuyến làm trạm kế cận (next hop) để sau này chuyển tiếp gói tin trả lời trở về trạm làm việc nguồn. Cách tương tự được áp dụng trong giai đoạn trả lời định tuyến: mỗi trạm làm việc trên đường gói tin trả lời định tuyến trở về sẽ lưu giữđịa chỉ của trạm vừa chuyển gói tin cho nó làm trạm kế cận trong đường đi tới trạm đích và sau đó các gói dữ liệu sẽđược chuyển theo đường này. Cách thức vừa đề cập làm giảm bớt kích thước gói tin yêu cầu định tuyến cũng như kích thước gói tin trả lời, nhưng thông tin định tuyến sẽđược phân phối cho các trạm trên đường đi lưu giữ bằng việc các trạm này ghi nhớ các trạm làm việc kế cận (next hop) để tới được trạm đích.
Hình 19 minh họa phương thức làm việc của thành phần định tuyến liên vùng IERP, trong đó trạm làm việc S muốn gửi dữ liệu đến trạm D. Sau khi kiểm tra trong bảng định tuyến đang lưu giữ, không thấy có địa chỉ của trạm làm việc D, S sẽ gửi gói tin yêu cầu định tuyến đến tất cả các trạm làm việc ngoại biên của nó, bao gồm A, B và C. Khi nhận được gói tin yêu cầu định tuyến, các trạm làm việc này sẽ kiểm tra bảng định tuyến của chúng, và vì không thấy địa chỉ trạm đích D, chúng xác định rằng D không nằm trong vùng định tuyến của chúng nên gói tin yêu cầu định tuyến được tiếp tục gửi đến các trạm ngoại biên tương ứng: A gửi đến E, F; B gửi đến G. Lưu ý rằng, các trạm A, B, C sẽ không gửi gói tin yêu cầu định tuyến lại cho S vì vùng định tuyến của S được coi là đã từng xử lý truy vấn. G sau khi kiểm tra truy vấn, thấy trạm làm việc đích D thuộc vùng định tuyến của mình, nên sẽ gửi gói tin trả lời định tuyến về cho S. Do vậy, S biết đường đi đến D là S-B-G-D. Mũi tên liền trong hình minh họa chỉ hướng đi của các gói tin yêu cầu định tuyến. Mũi tên đứt nét biểu diễn đường đi của gói tin trả lời định tuyến. Hình 19 chỉ biểu diễn các trạm làm việc ngoại biên, không thể hiện các trạm làm việc nội vùng, trừ trạm làm việc nội vùng D (cũng đồng thời là trạm đích) trong vùng định tuyến của G.
Hình 19. Cách thức làm việc của thành phần định tuyến liên vùng IERP
Sau khi đã tìm được đường đi tới trạm làm việc đích, việc truyền dữ liệu có thể được thực hiện. Trong quá trình truyền dữ liệu, IERP vẫn có thể tiếp tục cải thiện
thông tin định tuyến đang có theo từng đoạn nhờ vào thông tin trong mỗi vùng định tuyến cung cấp bởi IARP. Nếu phát hiện được đường đi mới ngắn hơn, dữ liệu sẽđược chuyển theo đường đi mới. Tương tự, trong trường hợp xảy ra mất kết nối tại một điểm nào đó, thông tin định tuyến cục bộ nội vùng sẽ được sử dụng để tìm một đường đi khác, nếu có thể. Đây chính là khả năng bảo trì định tuyến, dựa vào thông tin của vùng định tuyến (zone-based route maintenance).
Hoàn toàn có thể sửa đổi một thuật toán định tuyến theo yêu cầu để trở thành thành phần định tuyến liên vùng IERP của thuật toán định tuyến theo vùng ZRP, với các lưu ý sửa đổi sau:
• Hủy bỏ các các chức năng định kỳ cập nhật thông tin định tuyến cục bộ tới các trạm làm việc lân cận vì chức năng trên đã được thành phần định tuyến nội vùng IARP đảm nhiệm.
• IERP cần phải hỗ trợ tính năng truy xuất bảng định tuyến đã được xây dựng bởi thành phần IARP và sử dụng được các thông tin định tuyến này.
• Có thể triển khai các chức năng bảo trì trực tuyến (on-line maintenance) thông tin định tuyến ngay trong quá trình truyền dữ liệu, như việc sửa lỗi định tuyến (route repair) và sử dụng đường đi ngắn hơn (route shortening).
• Thay thế chức năng quảng bá gói tin yêu cầu định tuyến broadcast() bằng việc gọi chức năng gửi truy vấn ngoại biên bordercast() cung cấp bởi thành phần BRP.
• Hủy bỏ chức năng kết thúc truy vấn dư thừa (chức năng điều khiển quảng bá). Việc điều khiển truy vấn dư thừa đã được thành phần BRP đảm nhiệm. Tuy nhiên, IERP có thể loại bỏ các gói tin yêu cầu định tuyến dựa vào các điều kiện khác như việc truy vấn đã được thực hiện thành công, vượt quá thước đo chất lượng dịch vụ, thời gian tồn tại của gói tin đã quá hạn (hạn chế độ sâu tìm kiếm), vv…