trên mỗi giao diện của nút. Mục đích chính của bản tin Hello cho phép mỗi nút có thể khám phá tuyến trực tiếp tới hàng xóm của nó. Bản tin Hello được quảng bá từng chặng một (hop-by-hop) và phải không được truyền trước đó. Bản tin Hello bao gồm tên của nút khởi tạo, hàng xóm trực tiếp mà nút khởi tạo truyền bản tin khám phá, và các nút mà nút khởi tạo chọn làm MPRs. Khi một nút nghe thấy bản tin Hello, nó kiểm tra liệu bản tin đó có phải được phát sinh từ hàng xóm mới hay không, và nếu đúng, nút sẽ cập nhật vào danh sách hàng xóm trực tiếp của nút. Bản tin Hello rất quan trọng trong việc hỗ trợ khái niệm MPR. Mỗi nút kiểm tra bản tin Hello nhận được từ hàng xóm của nó để xem nó liệu có được lựa chọn làm MPR của bất kỳ hàng xóm nào không. Nếu vậy, nút sẽ phát tràn lan các cập nhật định tuyến được phát sinh từ các hàng xóm mà đã chọn nó là MPR. Mỗi nút cũng có thể khám phá liệu các nút có là hàng xóm hai bước từ bản tin Hello, bởi vì danh sách các hàng xóm hai bước đã được liệt kê trong bản tin Hello của nút hàng xóm trực tiếp của nó. Mỗi nút lựa chọn MPR trên cơ sở hàng xóm hai bước, do vậy mỗi hàng xóm hai bước phải nhận được bản tin MPR.
Bản tin điều khiển topo được truyền đi với mục đích cung cấp cho mỗi nút trong mạng các thông tin liên kết trạng thái đầy đủ để cho phép tính toán được tuyến đường.
2.3.3 Tính toán tuyến
Thông tin trạng thái liên kết đưa ra được thực hiện thông qua trao đổi định kỳ các bản tin, cũng giống như cấu hình giao diện của các nút, bảng định tuyến của mỗi nút có thể được tính toán.
2.4 DYNAMIC SOURCE ROUTING (DSR)
Giao thức định tuyến nguồn động DSR là giao thức định tuyến đơn giản và hiệu quả. Giao thức này được thiết kế để sử dụng trong các mạng Ad hoc vô tuyến đa chặng có tốc độ di chuyển cao của các nút. Các nút này phối hợp với nhau để chuyển tiếp các gói tin. Do vậy gói tin có thể được chuyển đến các nút không nằm trong vùng phủ sóng của chính nút đó. Khi các nút trong mạng di chuyển, tham gia hoặc rời khỏi mạng thì toàn bộ các thủ tục định tuyến được xác định và duy trì một cách tự động bởi giao thức định tuyến DSR.
DSR bao gồm 2 cơ chế cơ bản: Khám phá tuyến (Route Discovery) và Duy trì tuyến (Route Maintenance). Khám phá tuyến và Duy trì tuyến hoạt động hoàn toàn theo yêu cầu.
2.4.1 Định tuyến nguồn
DSR phát hiện và sử dụng các tuyến nguồn. Nút gửi tin sẽ phải nắm đươc toàn bộ thông tin về trình tự sắp xếp của các chặng (vị trí các nút) của mạng tới một nút đích. Mỗi gói tin được định tuyến sẽ mang thông tin về danh sách các chặng này trong tiêu đề. Ưu điểm quan trọng của thủ tục định tuyến nguồn là các nút trung gian không cần phải duy trì việc cập nhật thông tin định tuyến khi chuyển tiếp các gói tin bởi vì bản thân các gói đã mang thông tin quyết định việc định tuyến (danh sách đầy đủ các nút theo trình tự mà gói phải đi qua).
Việc tập hợp thông tin về topo mạng tại nút nguồn của mỗi gói cho phép nút nguồn phân phát các gói tin một cách hiệu quả trong mạng. Điều này rất thích hợp với việc quản lý tài nguyên trong mạng Ad hoc.
Giao thức định tuyến dựa trên các tuyến nguồn còn có thêm 2 lợi ích. Thứ nhất, giao thức có thể chứng minh được một cách đơn giản tính không lặp vòng bởi vì tuyến nguồn được sử dụng để điều khiển định tuyến các gói. Thứ hai, mỗi tuyến nguồn là một bản kê sẵn về một đường truyền cụ thể, tin cậy để truyền các thông tin qua mạng.
DSR sử dụng các tuyến nguồn và mỗi gói được định tuyến dựa trên một tuyến nguồn khám phá được, tuy nhiên những cải thiện gần đây đối với DSR đã cho phép hầu hết các gói tin không phải mang theo phần tiêu đề chứa thông tin đầy đủ về tuyến nguồn.
2.4.2 Khám phá tuyến
Khám phá tuyến được thực hiện bằng cách phát tràn lan yêu cầu qua mạng để tìm kiếm một tuyến tới đích nào đó. Trong dạng đơn giản nhất, nút nguồn A muốn khám phá một tuyến tới nút đích D thì A sẽ phát quảng bá gói tin Yêu cầu tuyến RREQ và gói này tiếp tục được quảng bá bởi các nút trung gian cho đến khi nó đến được nút đích D. Trong cơ chế này, nhiều tối ưu hóa được sử dụng để giới hạn tần số và phạm vi của các Khám phá tuyến.
Khi một nút S muốn gửi một gói tin đến D, đầu tiên nó sẽ đặt vào phần tiêu đề của gói tin đó một tuyến nguồn trong đó chỉ ra thứ tự của các chặng mà gói tin sẽ phải đi qua. Thông thường, nút S sẽ đạt được một tuyến nguồn thích hợp thông qua việc tìm kiếm trong Bộ nhớ tuyến của nó các tuyến đã biết trước đây. Tuy nhiên nếu không tìm thấy tuyến nào trong Bộ nhớ tuyến, nó sẽ khởi tạo thủ tục Tìm kiếm tuyến động để tìm ra một tuyến nguồn tới D. Trong trường hợp này ta gọi nút S là nút nguồn còn nút D là nút đích trong thủ tục Khám phá tuyến.
Trước khi khởi tạo một gói tin RREQ, nút nguồn chọn một nhận dạng yêu cầu (Request_id) đặt trong gói tin RREQ. Cặp <địa chỉ nút nguồn, nhận dạng yêu cầu> là duy nhất.
+---+ +---+ +---+ +---+ +---+ | A |---->| B |---->| C |---->| D |---->| E | +---+ +---+ +---+ +---+ +---+ | | | | v v v v Hình 2.5 Khám phá tuyến trong DSR