1.4. Giao thức OpenFlow
1.4.2. Nhận dạng và quản lý lưu lượng trên bộ chuyển mạch Openflow
Đối tượng xử lý thông tin trên các bộ chuyển mạch Openflow là các gói tin. Nhằm đưa ra các chính sách xử lý gói tin đa dạng, mềm dẻo, Openflow có thể nhận dạng và phân nhóm thơng tin ở nhiều mức như dataframe (lớp 2), packet (lớp 3) hay datagram (lớp 4) theo luồng. Sau đây là những khái niệm cơ bản trong nhận dạng, phân nhóm và quản lý lưu lượng trong Openflow.
• Luồng (flow): là một khái niệm dùng để chỉ sự nhận dạng lưu lượng trên cơ sở định
nghĩa trước các thuộc tính. Những lưu lượng có cùng thuộc tính và xuất hiện trong một phạm vi một khoảng thời gian nhất định trên bộ chuyển mạch thuộc vào cùng một luồng. Ví dụ: luồng các gói tin lớp 3 xuất phát từ cùng một địa chỉ IP nguồn, luồng các gói tin xuất phát từ cổng có số hiệu port = 4 trên một bộ chuyển mạch cụ thể,…
• Mục luồng (flow entry): Để nhận dạng và quản lý các luồng, bộ chuyển mạch sử dụng
các thông tin để so khớp với lưu lượng đến nhờ một cấu trúc thông tin gọi là mục luồng. Cấu
trúc một mục luồng được mơ tả như trong Hình 1.6.
- Các trường so khớp (Match fields): bao gồm các quy tắc để nhận dạng lưu lượng. Các
gói tin khớp với tất cả các thông tin quy định trong các trường này sẽ thuộc phạm vi xử lý của mục luồng.
- Tập lệnh xử lý (Instruction sets): bao gồm các lệnh, quy tắc xử lý gói tin được áp dụng
tại bộ chuyển mạch đối với lưu lượng của mục luồng. Thành phần quan trọng nhất trong mỗi lệnh xử lý là các actions được áp dụng đối với các gói tin khớp với mục luồng.
- Các bộ đếm (counters): Chứa thông tin thống kê về lưu lượng khớp với mục luồng.
- Mức ưu tiên (priority): chỉ cấp độ ưu tiên khi so khớp gói tin với các mục luồng.
- Thời gian chờ (timeout): quy định thời gian tồn tại của mục luồng theo sự xuất hiện của
lưu lượng.
Để tối ưu hóa các q trình nhận dạng, xử lý lưu lượng của một luồng theo các chính sách mong muốn, các ứng dụng quản trị mạng thiết lập trường so khớp, mức ưu tiên và thời gian chờ cho từng mục luồng tương ứng.
• Bảng luồng (flow table): Openflow sắp xếp và quản lý các mục luồng trong các bảng
luồng. Một bảng luồng là một tập hợp gồm nhiều mục luồng. Quản lý theo bảng luồng giúp bộ chuyển mạch phân cụm được các quy tắc quản lý lưu lượng làm cho quá trình so khớp, nhận dạng lưu lượng được tối ưu.