Professional Documents
Culture Documents
Mỗi bộ định tuyến NDN duy trì ba cấu trúc dữ liệu sau:
CS: Content Store (Kho nội dung). Trong NDN, mỗi gói tin dữ liệu (D_pkt) hoạt
động theo cơ chế idempotent (giống như trong phương thức HTTP để ám chỉ việc truy
vấn nhiều lần nhưng kết quả giống nhau), tự nhận dạng (Content Name xác định dữ
liệu mà người dùng muốn) và tự xác thực (chứa chữ ký của nhà sản xuất). Do đó, mỗi
D_pkt có thể được sử dụng bởi nhiều người tiêu dùng.
Ví dụ: nhiều người dùng có thể đọc cùng một bài báo. Để tăng khả năng chia sẻ,
tiết kiệm băng thông và giảm thời gian truy xuất nội dung, bộ định tuyến NDN lưu trữ
một bản sao của D_pkt đi qua chúng (dựa trên chính sách bộ nhớ đệm cục bộ) trong
CS cho đến khi chúng được thay thế bằng nội dung mới (do kích thước bộ đệm hữu
hạn ). Việc tìm kiếm các mục CS diễn ra thông qua việc so khớp chính xác (khớp từng
phần của) tên.
• PIT: Pending Interest Table. (Bảng Quan tâm Đang Chờ). PIT duy trì một mục
cho mỗi gói tin yêu cầu (I_pkt) nhận được cho đến khi gói tin dữ liệu (D_pkt) tương
ứng được trả về hoặc thời gian sống của mục hết hạn1. Các mục PIT này được sử dụng
để chuyển tiếp D_pkt xuống tới người tiêu dùng. Việc tìm kiếm các mục PIT được
thực hiện thông qua việc so khớp chính xác (khớp từng phần của) tên.
• FIB: Forwarding Information Base. (Bảng Định Tuyến Chuyển Tiếp). FIB duy
trì thông tin về next-hop(s) và thông tin khác cho mỗi tiền tố tên đích có thể đến được.
FIB được lấp đầy bởi giao thức định tuyến và được sử dụng để chuyển tiếp I_pkt
ngược về máy chủ.
Hình 8: Quy trình tra cứu tên trong FIB của NDN [27]
Khi một gói tin dữ liệu (D_pkt) trở lại router NDN, router này sẽ tìm kiếm tất cả
các mục PIT để tìm một nút gốc phù hợp (CN). Nếu một mục PIT tương ứng được tìm
thấy, D_pkt sẽ được chuyển tiếp đến tất cả các giao diện được liệt kê trong danh sách
các giao diện đầu vào. Sau đó, mục PIT sẽ bị xóa và nội dung sẽ được lưu trữ trong CS
(Content Store) dựa trên chính sách caching địa phương, để phục vụ các yêu cầu trong
tương lai cho cùng một nội dung. Nếu không có mục tương ứng tồn tại (có thể do
lifetime của nó đã kết thúc), D_pkt sẽ bị loại bỏ.
4.3 Chuyển tiếp (Forwarding)
Đối với mạng NDN, tầng chuyển tiếp (forwarding plane) có khả năng phát hiện
các sự cố (lỗi node, liên kết hoặc gói tin) và thực hiện khôi phục. Do đó, việc định
tuyến không cần thực hiện cập nhật FIB liên tục, từ đó cải thiện tính mở rộng và ổn
định của tầng chuyển tiếp NDN. Dựa trên tính năng họ đã phân loại tầng chuyển tiếp
NDN thành tầng chuyển tiếp có khả năng mở rộng và các chiến lược chuyển tiếp. Tầng
chuyển tiếp có khả năng mở rộng hỗ trợ chuyển tiếp thông minh và trạng thái. Nhờ đó,
các router NDN có thể đo lường RTT, thông lượng, mất gói tin và đường dẫn thay thế
trong quá trình quản lý tải và tắc nghẽn.
Tầng chuyển tiếp trong NDN cũng hoạt động như một tầng điều khiển (control
plane) vì các chiến lược chuyển tiếp thực hiện tất cả các quyết định cần thiết cho việc
chuyển tiếp gói tin I_pkt / D_pkt.
Hình 16: Phân loại các kĩ thuật chuyển tiếp
4.3.1 Chuyển tiếp có khả năng mở rộng (Scalable Forwarding)
NDN chuyển tiếp dữ liệu dựa trên tên không giới hạn độ dài và có một lớp
chuyển tiếp đọc-ghi, yêu cầu cập nhật từng gói dữ liệu tại tốc độ dòng dữ liệu. Do đó,
thách thức chính của việc chuyển tiếp NDN có thể mở rộng được là cung cấp tìm kiếm
tên nhanh với chi phí bộ nhớ thấp.
A. Pending Interest Table (PIT)
Hệ thống định tuyến NDN sử dụng phương pháp NDN forwarding, trong đó mỗi
router NDN duy trì một bảng PIT cho mỗi gói tin yêu cầu. Bảng PIT này bao gồm năm
trường dữ liệu, bao gồm thông tin về tên nguồn (CN), số ngẫu nhiên (nonce), các giao
diện nhập và xuất, và thời gian đếm ngược. Sử dụng số ngẫu nhiên cùng với tên nguồn
giúp duy trì tính duy nhất của gói tin và phát hiện vòng lặp. Thông tin về giao diện
xuất và thời gian gửi giúp ước tính thời gian chuyển gói tin và hiệu suất của giao diện.
Mỗi khi gói tin được chuyển tiếp bởi router NDN, một bộ đếm thời gian được liên kết
với bảng PIT tương ứng. Nếu không có gói tin phản hồi được trả về trước khi hết thời
gian đếm ngược, bảng PIT tương ứng sẽ bị xóa.
Việc thêm mới, xóa và cập nhật bảng PIT đòi hỏi tìm kiếm bảng PIT để xác định
sự tồn tại của bảng PIT tương ứng, do đó nó tạo ra nghịch đảo hiệu suất trong việc
định tuyến NDN. Các nhà nghiên cứu đã phân loại thiết kế PIT thành hai loại: cấu trúc
dữ liệu PIT và vị trí PIT. Các nhà nghiên cứu đã sử dụng các cấu trúc dữ liệu như trie,
hash table và bloom filter để triển khai PIT trên các router có tài nguyên hạn chế để
giảm tiêu thụ bộ nhớ và thời gian truy cập.
Ngoài ra, để xử lý các yêu cầu người dùng với tốc độ đường truyền cao, các nhà
nghiên cứu cũng đã đề xuất phương pháp phân tách bảng PIT cho từng giao diện
nhập / xuất của router để tăng hiệu suất và hỗ trợ định tuyến đa đường. Tuy nhiên,
cách tiếp cận này cũng tạo ra một số hạn chế, chẳng hạn như không hỗ trợ phát hiện
vòng lặp hoặc yêu cầu thêm một số bước chuyển mạch để xử lý cả yêu cầu và phản
hồi.
Name List of List of Incoming List of Outgoing
Nonce Interfaces Interfaces
CN Nonce Interface Timer Interface ID Send- time
ID
Hình 17: Kiến trúc của PIT Entry
B. Forwarding Information Base (FIB)
FIB, một bảng trong router NDN giúp cho việc chuyển tiếp các gói tin I_pkt. FIB
bao gồm các trường dữ liệu như thời gian lỗi cũ, ưu tiên định tuyến, RTT, trạng thái và
giới hạn tốc độ. Những tiền tố tên này được công bố bằng giao thức định tuyến NDN
và được thêm vào FIB trong thời gian hội tụ định tuyến. FIB cũng duy trì trạng thái
của mỗi giao diện cho việc lấy dữ liệu, dựa trên RTT được tính toán thông qua PIT.
FIB thường xuyên kiểm tra trạng thái của mỗi giao diện kết nối với router thông qua
Interface probing. Luồng cân bằng 'một D_pkt cho mỗi I_pkt' ngăn chặn tắc nghẽn
trong NDN.
*Interface probing là một kỹ thuật được sử dụng trong mạng máy tính để kiểm
tra tính khả dụng và trạng thái của các interface hoặc giao diện mạng trên các thiết bị
mạng. Kỹ thuật này đảm bảo rằng các giao diện được liên kết với một thiết bị mạng
đang hoạt động đúng cách và có thể sử dụng để chuyển tiếp dữ liệu qua mạng. Các
giao diện được kiểm tra định kỳ bằng cách gửi các gói tin kiểm tra từ một thiết bị đến
các giao diện khác để đảm bảo tính khả dụng của chúng. Kỹ thuật interface probing
được sử dụng rộng rãi trong việc quản lý mạng máy tính để đảm bảo rằng các thiết bị
mạng và giao diện của chúng đang hoạt động ổn định và hiệu quả.
Name Prefixes Stale Interfaces Ranked by Forwarding Policies
Time
Name Prefix N Stale Interface Routing Rate
time ID preference RTT Status limit
for N