Trước khi tìm hiểu về giao thức định tuyến RPL, chúng ta cần hiểu rõ về một số thuật ngữ thường được sử dụng trong giao thức định tuyến RPL.
DAG (Directed Acyclic Graph): Là một đồ thị định hướng có đặc điểm là tất cả các cạnh được định hướng sao cho không tồn tại một vòng kín nào. Tất cả các cạnh chứa trong các tuyến đường được định hướng và kết thúc tại một hoặc nhiều nút gốc.
Nút gốc DAG (DAG root): Là nút kết thúc trong DAG. Tất cả các tuyến đường trong DAG đều kết thúc tại DAG root.
DODAG (Destination Oriented DAG): Là một DAG kết thúc tại chỉ một đích đến.
Nút gốc DODAG (DODAG root): Là một nút nút gốc của một DODAG. DODAG root có thể đóng vai trò như một bộ định tuyến biên (border router) cho DODAG.
Thứ bậc (Rank) của một nút: Rank của một nút xác định vị trí tương đối của nút đó so với nút gốc. Rank của các nút tăng theo chiều hướng xuống và giảm theo chiều hướng lên trong một DODAG. Rank của một nút được tính toán phụ thuộc vào hàm mục tiêu.
Hàm mục tiêu (Objective Function): Một hàm mục tiêu xác định các thước đo định tuyến, các mục tiêu tối ưu hóa và các hàm có liên quan được sử dụng
để tính toán Rank. Hàm mục tiêu quyết định đến việc lựa chọn nút cha trong DODAG.
Nhận dạng hàm mục tiêu (Objective Code Point): Là một số nhận dạng để xác định DODAG sử dụng hàm mục tiêu nào.
RPLInstanceID: Là một số nhận dạng duy nhất trong một mạng. Các DODAG có cùng một RPLInstanceID thì chúng sẽ sử dụng cùng một hàm mục tiêu.
RPLInstance: Là một tập hợp của một hay nhiều DODAG có cùng một RPLInstanceID. Hầu hết các trường hợp, một nút RPL có thể thuộc về một DODAG trong một RPLInstance. Mỗi RPL Instance hoạt động độc lập với các RPLInstance khác.
Hình 2.6: Ví dụ về RPL Instance.
Nhận dạng DODAG (DODAGID): Là số nhận dạng một DODAG root. Một
DODAGID là duy nhất bên trong phạm vi của một RPLInstance. Sự kết hợp giữa (RPLInstanceID, DODAGID) sẽ xác định duy nhất một DODAG.
Phiên bản DODAG (DODAG Version): Tương ứng với một lần lặp (phiên
bản) của một DODAG với DODAGID cho trước.
Số phiên bản DODAG (DODAGVersion Number): Số phiên bản DODAG là
một bộ đếm tuần tự và được tăng lên một bởi nút gốc để hình thành một phiên bản DODAG mới. Một phiên bản DODAG được xác định duy nhất bởi sự kết hợp của (RPLInstanceID, DODAGID, DODAGVersion Number).
Hình 2.7: Ví dụ về DODAGVersion Number.
Mục tiêu (Goal): Là một mục tiêu ứng dụng cụ thể được xác định bên ngoài phạm vi của giao thức RPL. Bất kỳ một nút gốc DODAG root nào cũng cần phải biết về mục tiêu này để xác định xem mục tiêu có thể được đáp ứng hay không. Một ví dụ về Goal là xây dựng DODAG theo một hàm mục tiêu cụ thể để giữ kết nối đến các máy chủ (ví dụ như sử dụng hàm mục tiêu để tối thiểu một thước đo định tuyến và được kết nối với một máy chủ cơ sở dữ liệu để lưu trữ dữ liệu thu thập được).
Grounded: Một DODAG được gọi là grounded khi nút gốc DODAG có thể
đáp ứng được mục tiêu.
Floating: Một DODAG được gọi là floating nếu nó không phải là grounded. Một DODAG floating có thể không có các đặc tính cần thiết để đáp ứng được mục tiêu. Tuy nhiên, nó có thể cung cấp kết nối đến các nút khác trong DODAG.
DODAG parent: Parent của một nút đang xét trong DODAG là một trong các nút kế tiếp gần nhất trên tuyến đường hướng đến nút gốc. Rank của một DODAG parent thấp hơn rank của nút đang xét đó.
Sub-DODAG: Sub-DODAG của một nút là một tập hợp các nút có các tuyến
đường đến nút gốc thông qua nút đó. Các nút trong sub-DODAG của một nút có rank lớn hơn rank của nút đó.
DODAG cục bộ (Local DODAG): Các DODAG cục bộ chỉ chứa một nút gốc và chúng cho phép nút gốc đó bố trí và quản lý một RPL Instance (được xác định bởi một RPLInstanceID cục bộ) mà không cần phải phối hợp với
các nút gốc khác. Thông thường, việc này được thực hiện để tối ưu các tuyến đường tới một đích đến trong mạng SON.
DODAG toàn cục (Global DODAG): Một DODAG toàn cục sử dụng một nhận dạng RPLInstanceID toàn cục và có thể có sự phối hợp của một vài nút gốc.