Để nâng cao hiệu năng đánh dấu và tăng tỷ lệ traceback thành cơng, một trong những tiêu chí quan trọng đó là cần giảm số lượng gói tin đánh dấu trong mỗi luồng lưu lượng. Mặc dù số lượng và kích thước tổng của các gói tin được đánh dấu giảm nhiều và tỷ lệ traceback thành công cao hơn khi so sánh với kỹ thuật DPM, nhưng DFM vẫn cần K gói tin đầu tiên mỗi luồng để lưu giữ thơng tin đánh dấu. Khi luồng có ít hơn K gói tin thì khơng thể đánh dấu thành cơng và do đó máy đích sẽ khơng thể traceback địa chỉ vùng phát sinh gói tin. Để khảo sát tỷ lệ đánh dấu thành công trong kỹ thuật DFM, 5 triệu luồng lưu lượng từ bộ dữ liệu CAIDA [107] [108] được lựa chọn và phân tích theo luồng bằng cơng cụ Scapy [109] với giá trị inactive timeout và
active timeout lần lượt là 15 giây và 30 phút (lấy theo giá trị mặc định của giao thức NetFlow
[126]). Kết quả phân tích được thể hiện như trong đồ thị Hình 2.21. Theo kết quả phân tích, các luồng có 1 gói tin chiếm tỷ lệ lớn (trên 40%). Với phân bố này, thậm chí với trường hợp K=2, tỷ lệ đánh dấu thành công vẫn khá thấp (dưới 60%).
2.4.3. Đề xuất cấu trúc và hoạt động của PLA DFM trên kiến trúc mạng SDN/Openflow SDN/Openflow
Cấu trúc hệ thống đánh dấu PLA DFM
Trong kỹ thuật DFM, số lượng gói tin cần để đánh dấu càng cao thì tỷ lệ đánh dấu thành
công càng thấp. Để tăng khả năng đánh dấu thành công, thông tin đánh dấu phải được lưu trữ trong càng ít gói tin càng tốt. Để thực hiện điều đó, chúng ta có thể nâng số bits có thể đánh dấu trong một gói tin. Theo nguyên tắc hoạt động của SDN, những gói tin đầu tiên của một luồng có thể được gửi tới Bộ điều khiển nhờ sự kiện table-miss và thông qua bản tin packet-in. Dựa vào cơ chế này, Bộ điều khiển có thể ghi thơng tin đánh dấu vào những gói tin đầu tiên của luồng trước khi lưu chuyển chúng trên Internet.
Dựa trên nguyên tắc chung ở Hình 1.9, cấu trúc hệ thống giải pháp đánh dấu gói tin PLA DFM được mơ tả trong Hình 2.22. Theo đó, q trình đánh dấu gói tin chỉ thực hiện trên bộ chuyển mạch biên đối với lưu lượng từ trong mạng nội bộ đi ra Internet:
Hình 2.22. Cấu trúc hệ thống giải pháp đánh dấu gói tin PLA DFM dựa trên kiến trúc SDN/Openflow
• Thơng tin đánh dấu bao gồm (i) 32 bits In-portIP, (ii) 12 bits giá trị NIID và (iii) 16
bits giá trị NodeID.
• Module PLA DFM thực hiện chức năng nhận dạng luồng và chèn thông tin đánh dấu vào các gói tin đầu tiên của luồng theo cơ chế SDN/Openflow trước khi chuyển tiếp gói tin tới Internet bằng action Packet Out.
• Các luồng TCP/UDP được xác định bằng 5 tham số, các luồng ICMP được xác định bằng 6 tham số giống như đối với DFM đã trình bày trong mục 2.4.2.3 với thời gian inactive
timeout và activetimeout tương ứng với idle-timeout và hard-timeout của các mục luồng quy
định bởi các ứng dụng trên SDN/Openflow. Nguyên lý đánh dấu gói tin PLA DFM
a). Nguyên tắc đánh dấu
PLA DFM đánh dấu theo ngun tắc:
• Đưa tối đa có thể các thơng tin đánh dấu vào gói tin đầu tiên nhằm giảm số lượng gói tin đánh dấu.
• Thiết lập một giá trị ngưỡng MT để tránh phân mảnh gói tin khi chúng được truyền qua các phân đoạn mạng khác nhau.
Với dung lượng thông tin đánh dấu của một luồng là 60 bits, DFM không thể đánh dấu trọn vẹn trong 1 gói tin với các trường tiêu đề đề xuất như trong Bảng 2.9. Để giải quyết vấn đề này, trong PLA DFM, trường Options sẽ được sử dụng với chiều dài mở rộng tối đa là 8 bytes. Tuy
nhiên khi đó chiều dài tổng của gói tin sau khi đánh dấu bị tăng lên và có thể vượt ngưỡng MTU dẫn tới sự phân mảnh gói tin [127]. Để xử lý vấn đề này, một giá trị ngưỡng MT được thiết lập áp dụng quy tắc: nếu gói tin đầu tiên của luồng nhỏ hơn MT, trường Options được sử dụng,
ngược lại luồng sẽ đánh dấu theo DFM, khi đó PLA DFM sẽ cải thiện đáng kể khả năng đánh dấu và tỷ lệ traceback thành công.