OLSR là một giao thức định tuyến tiên phong cho mạng AD-HOCs[1][2]. Nó khá phù hợp với những mạng di động lớn và dày đặc cũng như sự tối ưu hóa đã hoàn thành việc dùng MPR làm việc ăn ý trong hình thưc này. Với mạng lớn và dày đặc hơn hì sự tối ưu hóa hơn có thể được hoàn thành cũng như so sánh được với thuật toán trạng thái liên kết điển hình. OLSR dùng định tuyến hop-by- hop, ví dụ như mỗi nút sử dụng thông tin của nó tới các gói định tuyến.
OLSR khá phù hợp với mạng mà lưu lượng là ngẫu nhiên và bất đinh giữa một tập hợp những nút lớn hơn và gần như trở thành duy nhất giữa một tập hợp những nút đặc biệt. Cũng như một giao thức tiên phong, OLSR cũng phù hợp cho những kịch bản nối những cáp truyền thông thay đổi qua thời gian: thêm vào đó, lưu lượng không điều khiển được tạo thành trong hoàn cảnh này từ khi những định tuyến được sửa chữa cho tất cả những điểm đich tại cùng một thời điểm.
2.5 Giao thức định tuyến không dây ( WRP )
The Wireless Routing Protocol ( WRP ) thuộc lớp thuật toán tìm đường dẫn. Để tránh bài toán phải tính đến vô cùng phải cưỡng bức mỗi nút thực hiện định tuyến liên tục kiểm tra thông tin trước đó được tất cả các nút lân cận báo cáo về. Điều này loại bỏ việc lặp lại không xác định và cho độ hội tụ tuyến nhanh hơn khi xảy ra sự cố trên đường thông .
Trong WRP, các nút cần biết về sự tồn tại của các nút lân cận từ một số bản tin đặc biệt. Nếu một nút không phải đang gởi gói, nó phải gửi một bản tin HELLO trong một khoảng thời gian xác định để đảm bảo thông tin kết nối được
phản ánh một cách chính xác. Ngược lại, việc thiếu thiếu các bản tin từ nút có thể xác định sự cố đường thông vô tuyến và gây nên cảnh báo sai. Khi một nút thu được bản tin HELLO từ một nút mới, thông tin nút mới đó được thêm vào bảng định tuyến của nó, và nó sẽ gởi đến nút mới một bản sao thông tin bảng định tuyến của nó.
WRP phải duy trì 4 bảng, đó là: Bảng cự ly, Bảng định tuyến, Bảng chi phí đường truyền, và Bảng ghi danh sách phát lại bản tin (MRL). Bảng ghi cự ly cho biết số chặng giữa một nút và nút đích của nó. Bảng ghi định tuyến cho biết nút ở chặng kế tiếp. Bảng ghi chi phí đường thông phản ánh độ trễ theo từng đường thông cụ thể. MRL chứa số thứ tự của bản tin cập nhật, bộ đếm số bản tin truyền lại, việc nhận biết vector cờ cần thiết, và danh sách thông tin cập nhật được gởi trong bản tin cập nhật. Các bản tin MRL cập nhật bản tin cần được phát lại và các nút lân cận phải biết về điều này.
Để đảm bảo rằng thông tin định tuyến chính xác, các nút phải gởi bản tin cập nhật định kỳ đến các nút lân cận của nó. Bản tin cập nhật chứa thông tin cập nhật (danh sách nút đích, khoảng cách đến đích, các nút trước nút đích) cũng như danh sách các đáp ứng mà nút xác định được phải nhận biết để cập nhật. Một nút gửi các bản tin cập nhật sau khi xử lý thông tin cập nhật từ các nút lân cận hay khi phát hiện có sự thay đổi đường truyền. Khi sự cố đường thông xảy ra, các nút phát hiện sự cố sẽ gởi các bản tin cập nhật đến các nút lân cận của chúng, và các nút này sẽ hiệu chỉnh các thực thể trong Bảng ghi cự ly, đồng thời kiểm tra các đường dẫn mới khả thi thông qua các nút khác.
2.6 Định tuyến nguồn động (DSR)
Giao thức DSR (Dynamic Source Routing) là một giao thức định tuyến theo yêu cầu từ nút nguồn. Trong đó, các nút di động cần duy trì bộ nhớ đệm về tuyến chứa các tuyến nguồn mà nút di động nhận biết được. Các thực thể trong bộ nhớ đệm tuyến được cập nhật liên tục.
Hình 2-5: Định tuyến nguồn động DSR
Giao thức này bao gồm 2 giai đoạn chính: a) Khám phá tuyến, b) Duy trì tuyến (Hình 3). Khi một nút di động gởi một gói đến một nút đích nào đó, trước hết nó phải tham vấn bộ nhớ đệm tuyến để xác định là nó đã có một tuyến để đến đích chưa. Nếu nó có một tuyến chưa hết hiệu lực để đến đích, nó sẽ sử dụng tuyến này để gởi gói đi. Trái lại, nếu không có một tuyến như thế, nó phải khởi đầu một quá trình khám phá tuyến bằng cách phát quảng bá một gói yêu cầu tuyến. Bản tin yêu cầu này chứa địa chỉ đích, cùng với địa chỉ nút nguồn và số nhận dạng duy nhất. Mỗi nút nhận được gói này sẽ tiến hành kiểm tra là nó có biết một tuyến nào để đến đích không. Nếu không, nó thêm địa chỉ của nó vào Bảng ghi định tuyến của gói và sau đó chuyển tiếp gói trên các đường truyền ngõ ra. Để giới hạn số yêu cầu tuyến phát trên các đường truyền ngõ ra của nút, một nút chỉ chuyển tiếp yêu cầu tuyến nếu nó chưa biết yêu cầu đó và nếu địa chỉ của nút di động chưa xuất hiện trong Bảng ghi tuyến. Một đáp ứng tuyến được tạo ra khi hoặc là yêu cầu tuyến đạt đến đích hoặc là khi nó đạt đến một nút trung gian chứa trong bộ nhớ đệm tuyến của nó một tuyến đến đích chưa hết hiệu lực. Đến lúc gói có thể đạt đến đích hay đến một nút trung gian như thế, nó chứa một Bảng ghi tuyến cho biết số tuần tự chặng đã trải qua.
Nếu nút tạo ra đáp ứng tuyến là đích thì nó đặt Bảng ghi tuyến chứa trong yêu cầu tuyến vào đáp ứng tuyến. Nếu nút tương ứng là một nút trung gian, nó gắn thêm tuyến trong bộ nhớ đệm của nó vào Bảng ghi tuyến và sau đó tạo ra một đáp ứng tuyến. Để trả về đáp ứng tuyến, nút tương ứng phải có một tuyến để khởi đầu. Nếu nó có một tuyến để khởi đầu trong bộ nhớ đệm tuyến của nó, nó có thể sử dụng tuyến đó. Trái lại, nếu các đường truyền đối xứng được hỗ trợ, nút có thể khởi đầu một quá trình khám phá tuyến của nó và tiếp tục gởi đi đáp ứng tuyến trên một yêu cầu tuyến mới.
Việc duy trì tuyến được hoàn thành thông qua sử dụng các gói lỗi tuyến và các bản tin xác nhận. Các gói lỗi tuyến được tạo ra ở một nút khi lớp liên kết dữ liệu gặp sự cố đường truyền. Nút nguồn luôn luôn bị dừng khi một tuyến bị cắt xén. Khi nhận được một gói lỗi tuyến, chặng bị lỗi sẽ bị loại bỏ khỏi bộ nhớ đệm tuyến của nút và tất cả các tuyến chứa chặng này đều bị cắt ở điểm đó. Ngoài các bản tin lỗi tuyến, các bản tin xác nhận được sử dụng để xác minh sự hoạt động chính xác của các đường thông tuyến. Các bản tin xác nhận như thế bao gồm cả xác nhận thụ động (khi nút di động có thể nghe việc chuyển tiếp gói ở chặng kế tiếp trên tuyến).
2.7 Giao thức định tuyến tuần tự tạm thời TORA
TORA là giao thức định tuyến được phát triển cho các mạng vô tuyến di động đa bước, nó sử dụng khuôn dạng gói tin IP trong một hệ thống tự trị. TORA không hoàn toàn là một loại giao thức định tuyến vector khoảng cách mà cũng không phải là một giao thức trạng thái đường liên kết mà nod là một bộ các thuật toán theo kiểu thuật toán “đảo ngược liên kết - link-reveral”. Phản ứng của giao thức được thực hiện như một thứ tự sắp xếp tạm thời các tính toán quá trình lan truyền. Mỗi tính toán bao gồm thứ tự của các đảo ngược liên kết trực tiếp. Giao thức này có khả năng tương thích cao và ổn định với các mạng di động lớn và mật độ cao. Trong các mạng này, phản ứng của giao thức đối với lỗi liên kết chỉ liên quan đến một “thông qua đơn - single pass” nội bộ của thuật toán phân tán. Thực thi mong muốn có thể đạt được thông qua việc sử dụng một đồng hồ logic hoặc vật lý để thiết lập “thứ tự tạm thời” của sự kiện thay đổi cấu hình mạng. Hoạt động của TORA phù hợp trong các điều kiện này nhờ các đặc điểm sau:
Thực thi phân tán.
Mục đích cung cấp các đường truyền không lặp.
Cung cấp nhiều đường truyền nhằm mục đích giảm tần số phản ứng các thay đổi mạng hoặc khả năng nghẽn và xung đột.
Thiết lập đường truyền nhanh chóng.
Giảm thiểu chi phí định tuyến bằng cách sử dụng thuật toán định vị khi đối với các trường hợp thay đổi cấu hình trong điều kiện có thể. Việc này có thể tiết kiệm băng thông và tăng độ ổn định của giao thức .
Đối với TORA, xác định đường đi ngắn nhất là không quan trong và nó cũng không cần thiết phai duy trì các tuyến đường giữa mọi cặp nguồn đích tại tất cả các thời điểm (giống như OLSR). Chi phí phát sinh để thiết lập một tuyến giữa một cặp nguồn - đích sẽ là lẵng phí nếu nguồn không yêu. TORA được thiết kể để giảm thiểu phản ứng đối với các thay đổi của cấu hình mạng. Các bản tin điều khiển được trao đổi trong một bộ rất nhỏ gần nhau và mang tính nội bộ mà không tập trung đến một chức năng cụ thể nào. TORA bao gồm cơ chế thứ hai cho phép lan truyền các bản tin điều khiển có tác động sâu rộng trong một số ít trường hợp nhằm tối ưu hóa tuyến đường và xác nhận các trạng thái mềm. Lan truyền này diễn ra theo chu kỳ với tỷ lệ rất ít phụ thuộc vào độ linh động của cấu hình mạng.
TORA chỉ yêu cầu các nút duy trì thông tin về các nút lân cận một bước. Nó đảm bảo tất cả các tuyến là không lặp và cung cấp khả năng duy trì nhiều tuyến đường giữa các cặp nguồn - đích bất kỳ có yêu cầu liên kết cho truyền thông của chúng. TORA là một giao thức kiểu khởi tạo nguồn và nhanh chóng thiết lập được các tuyến đường khi có yêu cầu. Khi có thay đổi cấu hình mạng giao thức nhanh chóng thiết lập lại các tuyến đường. Khả năng khởi tạo và phản ứng với thay đổi trong mạng là không thường xuyên nhằm giảm chi phí định tuyến của giao thức. Khi giao thức phát hiện có sự cố trong một phần mạng nó sẽ xóa tất cả các tuyến đường lỗi.
2.7.1 Chức năng giao thức
TORA được thiết kế để làm việc dựa trên các cơ chế hoạt động của lớp thấp hơn đó là các giao thức cung cấp một số thông tin cơ bản giữa các router lân cận sau đây:
Cơ chế cảm nhận trạng thái liên kết và tìm kiếm nút lân cận. Khả năng tin cậy, chuyển tiếp các gói tin điều khiển theo yêu cầu. Cơ chế ánh xạ và phân giải địa chỉ lớp mạng và lớp liên kết dữ liệu. Nhận thực bảo mật.
TORA gán hướng cho các liên kết giữ các router nhằm thực hiện cấu trúc định tuyến được sử dụng để chuyển tiếp các gói dữ liệu tới đích. Một router gán một hướng “luồng lên hoặc luồng xuống” cho liên kết với mỗi router lân cận dựa trên các giá trị của một thông số liên kết với mỗi router. Thông số này được duy trì bởi một router có thể nhận biết thông qua “độ cao” của router (ví dụ các liên kết được hướng từ router cao hơn đến router thấp hơn). Ý nghĩa của “độ cao” và gán hướng liên kết là các router chỉ có thể chuyển tiếp các gói dữ liệu theo đường xuống (downstream). Nếu liên kết từ giữa hai router lân cận nhau không được định nghĩa “độ cao” và gán hướng liên kết thì xem như không thể dùng để chuyển tiếp thông tin. “Độ cao” của các router và gán hướng liên kết thực hiện một kiến trúc định tuyến đa đường và không lặp trong đó tất cả các đường từ nguồn tới đích được truyền theo đường xuống. Hình 2.5 miêu tả tương quan độ cao giữa các router trong mạng. Ta thấy rằng, C gần với đích hơn B khi nhưng thông số độ cao của C lại lơn hơn so với B. Nhìn vào hình ta có tương quan “độ cao” giữa các router như sau: HC > HB > HE > HDEST; HD > HA > HB > HE > HDEST.
Hình 2.6: Tương quan “độ cao” của các router trong mạng
TORA có thể chia thành bốn chức năng chính bao gồm: tạo đường, duy trì đường, xóa đường và tối ưu đường. Tạo đường tương ứng với việc lựa chọn các độ cao để xác định hướng tuần tự của các liên kết tới đích trong mạng hoặc một phần mạng chưa được định hướng trước đó. Duy trì đường liên quan đến việc thích ứng cơ chế định tuyến khi cấu hình mạng thay đổi. Ví dụ, do lỗi một số liên kết đường xuống hay một vài hướng liên kết tạm thời không còn dẫn tới đích được nữa. Sự kiện này khởi tạo một quá trình đảo ngược liên kết có hướng (do phải lựa chọn lại “độ cao” của các router) thực hiện định hướng lại kiến trúc định tuyến để tất cả các đường liên kết có hướng lại có thể dẫn tới đích. Trong trường hợp mạng bị phân chia, các liên kết bị cắt đứt sẽ phải gán mác vô hướng để thực hiện xóa các tuyến lỗi. Trong quá trình xóa dường này, các router thiết lập “độ cao” của chúng tới “không” và các liên kết kế cận sẽ trở thành vô hướng. Ngoài ra TORA cũng có cơ chế để tối ưu các tuyến đường trong đó các router sẽ chọn lại “độ cao” của chúng theo thứ tự để cải thiện kiến trúc định tuyến. TORA đạt được bố chức nhăng này thông qua sử dụng bốn gói tin điều khiển khác nhau bao gồm: truy vấn (QRY), cập nhật (UPD), xóa (CLR) và tối ưu hóa (OPT).
2.7.2 Tạo đường trong TORA
Việc tạo các tuyến đường tới đích có thể được thực hiện theo yêu cầu hoặc theo chu kỳ. Trong mọi trường hợp, các router lựa chọn độ cao và gán hướng cho các liên kết giữa các router lân cận.
Trong chế độ thực hiện theo yêu cầu, việc tạo đường đạt được thông qua một cơ chế truy vấn - phản hồi sử dụng các gói tin QRY và UPD. Một nguồn
khời tạo quá trình bằng việc gửi một gói QRY tới các lân cận của nó định nghĩa đích cho tuyến đường được yêu cầu. Gói tin QRY được lan truyền (được xử lý và chuyển tiếp bởi các router lân cận) cho tới khi nó được nhận bởi một hoặc nhiều router có tuyến đường tới đích. Khi gói tin QRY đã được chuyển đi, các router sẽ xóa tất cả các gói tin QRY được nhận sau đó có cùng đích. Các router có đường tới đích phản hồi QRY bằng cách gửi gói tin UPD tới các router lân cận định nghĩa đích liên quan và “độ cao” của router đã gửi gói tin UPD. Các router duy trì thời điểm gói tin UPD được gửi gần nhất và thời điểm đường liên kết tới các router lân cận đi vào hoạt động để giảm các phản hồi thừa cho một yêu cầu đường. Khi một router nhận được gói tin UPD nó thiết lập “độ cao” của nó và gửi một gói UPD tới các lân cận của nó định nghĩa đích liên quan và “độ cao” mới của nó. Từ đó, các router trong mạng lựa chọn “độ cao” cho đích được yêu cầu. Việc học “độ cao” của các router lân cận cho đích yêu cầu và gán các hướng cho liên kết dựa trên các độ cao này.
Trong chế độ thực hiện theo chu kỳ, router nguồn khởi tạo quá trình tạo đường bằng cách gửi một gói tin OPT sẽ được xử lý và chuyển tiếp bởi các bởi các router lân cận. Gói tin OPT định nghĩa đích đến, chế độ hoạt đọng cho đích và “độ cao” của router gửi gói tin OPT. Gói tin này cũng chứa số thứ tự được sử dụng để xác định tính duy nhất của gói tin và đảm bảo rằng mỗi router xử lý và chuyển tiếp gói tin OPT cho một nguồn nhiều nhất một lần. Khi gói tin OPT được chuyển đi, router thiết lập chế độ hoạt động tương ứng, chọn lại “độ cao”