Xuất cấu trúc và hoạt động của PLA DFM trên kiến trúc mạng SDN/Openflow

Một phần của tài liệu (LUẬN án TIẾN sĩ) nghiên cứu năng lực cạnh tranh của điểm đến du lịch thừa thiên huế, việt nam (Trang 82 - 87)

2.4. Giải pháp đánh dấu gói tin PLA DFM phục vụ truy vết nguồn tấn công

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 nguyên 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.

Hình 2.23. Phân bố chiều dài của gói tin thứ nhất từ bộ dữ liệu CAIDA b). Các trường hợp đánh dấu b). Các trường hợp đánh dấu

Dựa vào kích thước gói tin FL so với ngưỡng MT và lượng thơng tin đánh dấu của mỗi luồng, PLA DFM thực hiện đánh dấu theo 2 trường hợp:

Trường hợp 1: FL ≤ MT, PLA DFM sử dụng 16 bits của trường ID và 48 bits trường Options để chứa thơng tin đánh dấu.

Trường hợp 2: FL > MT, thông tin đánh dấu được đưa vào một số trường tiêu đề ít được sử dụng của K gói tin đầu tiên giống như kỹ thuật DFM.

Hình 2.24. Đánh dấu gói tin PLA DFM

Để tránh những xung đột có thể gây ra đối với dịch vụ DSCP quy định bởi RFC 2474 [124] và ECN quy định bởi RFC 3168 [125], PLA DFM không sử dụng trường TOS để chứa thông tin đánh dấu. Do vậy, chỉ có hai trường hợp được sử dụng trong kỹ thuật PLA DFM:

K=3: Sử dụng các trường Identification, Reserved Flag và Fragment Offset, tổng kích

thước có thể sử dụng sẽ là T= 30 bits. Do có sự phân đoạn thơng tin đánh dấu, có M=20 bits cho việc phân mảnh thơng tin đánh dấu, mỗi gói tin được đánh dấu cần S=log2 (60/20) = 2 bits

dành cho thứ tự các phân đoạn.

K=5: Các trường Identification và Reserved Flag sẽ được sử dụng. Trong trường hợp

này, các giá trị T=17, M=12 và S=3.

Khi thông tin đánh dấu bị chia cắt và gửi đi trong các gói tin khác nhau, nếu có nhiều nguồn cùng lúc giả mạo cùng thuộc tính của một luồng và gửi các gói tin đến cùng 1 địa chỉ đích thì máy đích sẽ khơng phân biệt được nguồn gốc của các phân đoạn đánh dấu nhận được và do đó có thể traceback sai. Để tránh tấn cơng dạng này, PLA DFM đề xuất sử dụng một giá trị kiểm tra (checksum) thông tin đánh dấu. Tuy nhiên, khi đó địi hỏi phải thêm khơng gian trong mỗi gói tin đánh dấu.

• Trường hợp K = 3, T = 30 bits, Marked Flag = 1 bit, M = 20 bits dành cho phân đoạn thông tin đánh dấu, S = 2 bits để đánh thứ tự phân đoạn thì sẽ có tới C = 7 bits trong mỗi gói tin được sử dụng để chứa giá trị checksum. Do đó, trường hợp K = 3 có đủ không gian chứa thông tin đánh dấu cho cả tùy chọn có hay khơng sử dụng giá trị checksum.

• Trường hợp K = 5, T = 17 bit, Marked Flag = 1 bit, M = 12 bits dành cho phân đoạn thông tin đánh dấu, S=3 bits để đánh thứ tự phân đoạn thì sẽ khơng có đủ khơng gian cho giá trị checksum. Do vậy, để sử dụng tuỳ chọn checksum, cần có K = 7 gói tin đầu tiên của luồng chứa thông tin đánh dấu với các tham số là M = 12, S = 3, và C = 4.

c). Giá trị ngưỡng MT:

Bảng 2.10. Một số giá trị MTU của các loại đường truyền phổ biến và giá trị MT tương ứng

Mạng vật lý MTU MT Point to Point (RFC1661) 296 288 ARCNET 508 500 X. 25 576 568 IEEE 802.3 1492 1484 Ethernet 1500 1492

Nếu chọn giá trị MT nhỏ sẽ làm giảm tỷ lệ số lượng luồng được đánh dấu theo cách này, dẫn tới tỷ lệ đánh dấu thấp hơn, nhưng lại loại bỏ được nguy cơ phân mảnh các gói tin đánh dấu. Giá trị MT (Bảng 2.10) được lựa chọn dựa trên giá trị MTU nhỏ nhất của các phân đoạn mạng trong đường truyền thơng tin phổ biến hiện nay.

Q trình đánh dấu PLA DFM

Thuật toán đánh dấu PLA DFM với tuỳ biến sử dụng giá trị checksum được diễn giải trong Bảng 2.11.

Bảng 2.11. Kỹ thuật PLA DFM với tuỳ biến giá trị Checksum

PLA_DFM.Marking

// Input: arrival_packets // Output: marked_packets

1: FOR EACH arrival_packet

2: IF arrival_packet belongs to an existed active current_flow THEN

3: IF current_flow.NeededPackets >0 THEN

4: Call current_flow.DFM_Marking with arrival_packet

5: ELSE

6: INIT new_active_flow

7: OBTAIN Marking_Information

8: IF arrival_packet.Total_length <= MT THEN

9: SET arrival_packet.Ihl_field to arrival_packet.Ihl_field + 2 10: PUT Marking_Information into arrival_packet.Id_field

and arrival_packet.Options_field

11: SET arrival_packet.Reserved_Flag to 1

12: SET new_active_flow.NeededPackets to 0

13: ELSE

14: CALCULATE DFM_Check_Sum with Marking_Information

15: PUT Marking_Information and DFM_Check_Sum

into arrival_packet Marking_Segments_Array

16: SET new_active_flow.NeededPackets to K

17: CALL current_flow.DFM_Marking with arrival_packet

18: RECALCULATE arrival_packet.IP_Header_Checksum 19: output_packet = arrival_packet

20: FORWARD output_packet 22: FOR EACH active_flow

22: IF active_flows.Is_TimeOut THEN

23: DISPOSE active_flow 24: flow.DFM_Marking (packet)

25: PUT flow.Marking_Segments_Array[K-flow.NeededPackets] Into packet.Id_field and packet.FragmentOffset_field 26: SET packet.Reserved_Flag to 1

27: DECREAMENT flow.NeededPackets

Quá trình xử lý bản tin packet-in để thực hiện đánh dấu PLA DFM các luồng như mô tả trong Hình 2.25.

Hình 2.25. Q trình đánh dấu gói tin PLA DFM tại Bộ điều khiển mạng SDN/Openflow

Một phần của tài liệu (LUẬN án TIẾN sĩ) nghiên cứu năng lực cạnh tranh của điểm đến du lịch thừa thiên huế, việt nam (Trang 82 - 87)

Tải bản đầy đủ (PDF)

(139 trang)