Với một gói P đi vào và do đó các d-tuple, các chiều d phân loại gói tinlà tìm các quy tắc Rm với ưu tiên cao nhất trong số tất cả các quy tắc RJ phù hợpvới d tuple.. Nhìn chung, c
Trang 1PHÂN LOẠI CÁC GÓI IP
Trang 21.1.Giới thiệu:
Theo truyền thống, các bộ định tuyến Internet chỉ cung cấp dịch vụ tốtnhất bằng cách xử lý mỗi gói tin gửi đến theo cách tương tự Với sự xuất hiện củacác ứng dụng mới, nhà cung cấp dịch vụ internet (ISP) sẽ giống như các bộ địnhtuyến để cung cấp QoS cấp độ khác nhau cho các ứng dụng khác nhau Để đáp ứngcác yêu cầu, QoS, router cần phải thực hiện cơ chế mới, chẳng hạn như kiểm soátnhập liệu, dự phòng tài nguyên, sắp xếp mỗi luồng và lập lịch biểu công bằng Tuynhiên, một điều kiện tiên quyết để triển khai các cơ chế này là các router có thểphân biệt và phân loại các luồng dữ liệu trong các lưu lượng khác nhau Chúng tagọi các bộ định tuyến như dòng thiết bị định tuyến nhận thức được Một bộ địnhtuyến lưu lượng được phân biệt từ một bộ định tuyến truyền thống ở chỗ nó có khảnăng theo dõi các luồng đi ngang qua và áp dụng các lớp khác nhau của dịch vụcho mỗi luồng
Lưu lượng được quy định bởi các quy tắc và mỗi quy tắc bao gồm cáchoạt động so sánh các trường gói tin có giá trị nhất định Chúng ta gọi một phânloại của một bộ quy tắc, được hình thành dựa trên tiêu chuẩn được áp dụng để phânloại các gói dữ liệu đối với một ứng dụng mạng cung cấp Cho một phân loại cácthuộc tính xác định gói tin hoặc nội dung, gói phân loại là quá trình xác định cácquy tắc, quy định này mà một gói tin phù hợp hoặc thích nghi Để minh họa chocác loại dịch vụ có thể được cung cấp bởi một bộ định tuyến flow-aware với khảnăng phân loại gói tin, chúng ta sử dụng một ví dụ phân loại chỉ ra trong Bảng 1.1.Giả sử phân loại này được lưu trữ trong các bộ định tuyến R trong mạng , ví dụ chỉ
Trang 3R1 128.238/16 * TCP =Telnet * Từ chối
R2 176.110/16 196.27.43/24 UDP * RTP Gửi tới cổng số 3
R3 196.27.43/24 134.65/16 TCP * * Ngắt lưu lượng
nếu tốc độ > 10Mbps
R4 * * * * * Cho phép
Hình 1.1: Ví dụ về phân loại mạng
Chỉ với bốn quy tắc trong ví dụ phân loại, các router X cung cấp các dịch
vụ sau:
Lọc gói Quy tắc R1 khóa tất cả các kết nối telnet từ bên ngoài vào mạng
A, trong đó có thể là một mạng tìm kiếm riêng
Định tuyến lưu lượng Quy tắc R2 cho phép các router chuyển tiếp tất cả
lưu lượng truy cập thời gian thực sử dụng giao thức vận chuyển thời gian thực(RTP) trong lớp ứng dụng từ Net B tới Net D thông qua mạng lưới máy ATM ởdưới cùng của hình 3.1
Lưu lượng hoạt động Quy tắc R3 giới hạn tổng số kiểm soát giao thức
truyền tải (TCP) tỷ lệ lưu lượng truy cập từ C sang B lên đến 10 Mbps
Trang 4Một mô tả chính thức của các phân loại, quy tắc, và phân loại gói tin đượcđưa ra trong cách làm của Lakshman và Stiliadis Chúng ta sẽ sử dụng những kýhiệu và thuật ngữ trong suốt chương này.
Matching the packet header to the rules in the classifier
Hình 1.2: Phân loại gói
1 Một phân loại C bao gồm N quy định, RJ, 1 ≤ j ≤ N, nơi RJ gồm có bathực thể:
(a) Một xuất hiện thường thấy RJ [i], 1 ≤ i ≤ d, trên từng trường đầu d củagói
(b) Một số lượng, Pri (RJ), chỉ ra các ưu tiên của các quy tắc trong phânloại này
(c) Một hoạt động, được gọi là hoạt động (RJ)
2 Một gói tin gửi đến P với tiêu đề coi như là d-tuple (P1, P2, , Pd) đượccho là phù hợp RJ, nếu và chỉ nếu, Pi chặn RJ [i], với 1 ≤ i ≤ d
Trang 53 Với một gói P đi vào và do đó các d-tuple, các chiều d phân loại gói tin
là tìm các quy tắc Rm với ưu tiên cao nhất trong số tất cả các quy tắc RJ phù hợpvới d tuple Như được thể hiện trong hình 1.2, một phần đầu gói, bao gồm địa chỉnguồn IP (32 bit), địa chỉ đích (32 bit), số cổng nguồn (16 bit), đến số cổng đích(16 bit), và các loại giao thức (8 bit) 1, được sử dụng để phù hợp với quy tắc (s)trong phân loại này Việc với một ưu tiên cao nhất là lựa chọn và hành động của nótương ứng được áp dụng cho gói
Trong phân loại như thể hiện trong Bảng 1.1, từng có 5 nguyên tắc biểuthức thông thường trên 5 trường tiêu đề gói từ lớp mạng tới lớp ứng dụng Mỗibiểu hiện có thể là một tiền tố đơn giản/chiều dài hoặc phân loại điều hành /hệ số.Các phân loại tiền tố / chiều dài có đích đến như trong tra cứu IP, trong khi các nhàđiều hành/hệ số có thể được tổng quát hơn, chẳng hạn như bằng 23, phạm vi trong256-1023, và lớn hơn 1023 Hơn nữa, ký tự đại diện cho phép sẽ được chèn vào đểphù hợp với bất kỳ giá trị nào Lưu ý rằng R4 trong Bảng 1.1 phù hợp với bất kỳgói tin nào gửi đến do đặc điểm kỹ thuật “tất cả các ký tự tiêu chuẩn"của nó, cónghĩa là những ưu tiên của quy định này có hiệu lực khi một gói tin phù hợp với cảhai R4 và các quy định khác
Giả sử có một bộ quy tắc C = RJ (1 ≤ j ≤ N) và quy tắc mỗi cổng RJ có dtrường Các trường được dán nhãn là Fi (1 ≤ i ≤ d) và RJ được ký hiệu là Rj1, Rj2, , Rjd Bảng 1.2 cho thấy một ví dụ phân loại với bảy nguyên tắc trong bốntrường Hai trường đầu tiên, F1 và F2, được quy định trong các tiền tố và hai trườngcuối cùng, F3 và F4, được quy định trong phạm vi Cột cuối cùng cho thấy các hànhđộng kết hợp với các quy tắc F1 và F2 có thể được xử lý hiệu quả hơn bằng cách sửdụng thử TCAM như trong Chương 2 Mặt khác, F3 và F4 có thể được xử lý hiệuquả hơn bởi chiếu các số vào phạm vi khác nhau và sau đó thực hiện phạm vi tra
Trang 6thứ tự ưu tiên giảm dần, có nghĩa là, R1 có ưu tiên cao nhất Điều này đặt quy tắc
sẽ được sử dụng để minh họa cho một số các thuật toán được mô tả sau đó
Bảng 1.2: Ví dụ về bảy nguyên tắc trong 4 trường:
Nguyên tắc F1 F2 F3 F4 Hành động
Một vài số liệu hiệu suất [3] được sử dụng để so sánh và phân tích cácthuật toán phân loại gói tin:
Tốc độ tìm kiếm Liên kết tốc độ cao yêu cầu phân loại nhanh Ví dụ, giả
sử một 40-byte cỡ tối thiểu các gói IP, liên kết hoạt động ở 10 Gbps có thể mang31.250.000 gói / giây (mpps) Thời gian phân loại được giới hạn đến 32 ns
Yêu cầu bảo quản Lưu trữ có nghĩa là bộ nhớ nhỏ tốc độ truy cập nhanh
và tiêu thụ điện năng thấp, mà là quan trọng cho phần mềm dựa trên thuật phần cứng dựa trên bộ nhớ cache và các thuật toán-SRAM
toán-Khả năng mở rộng trong phân loại Kích thước Kích thước của phân
loại phụ thuộc vào các ứng dụng Đối với một bộ định tuyến metro / edge thực hiệnviệc nhận biết lưu lượng là rất nhỏ, số lượng các dòng chảy là từ 128k tới 1 triệu
Rõ ràng, con số này tăng lên khi tốc độ liên kết tăng
Khả năng mở rộng trong trường Header Khi có thêm các dịch vụ phức
tạp được cung cấp, các trường Header cần phải được thêm vào
Trang 7Thời gian cập nhật Khi các phân loại được thay đổi, chẳng hạn như một
xóa hoặc chèn vào, cấu trúc dữ liệu cần được cập nhật Một số ứng dụng như recognition đòi hỏi thời gian cập nhật ngắn Nếu không, việc thực hiện phân loại
flow-bị hủy
Tính linh hoạt trong Đặc điểm kỹ thuật Khả năng của một thuật toán
để xử lý một loạt các chi tiết kỹ thuật quy định, chẳng hạn như tiền tố / chiều dài,nhà điều hành /hệ số, và ký tự đại diện, cho phép nó được áp dụng cho các trườnghợp khác nhau
Tìm kiếm tuyến tính là các thuật toán đơn giản nhất để phân loại gói tin.Các bộ quy tắc có thể được tổ chức thành một mảng hoặc liên kết một danh sáchtheo thứ tự tăng chi phí Với một tiêu đề gói tin gửi đến, các quy tắc được kiểm tratừng cái một cho đến khi một cái phù hợp được tìm thấy Đối với một quy tắc phânloại N, cả thời gian lưu trữ và truy vấn phức tạp là O (N), làm cho kế hoạch nàykhông khả thi đối với các bộ quy tắc lớn
Nhiều gói tin hệ thống phân loại hiệu quả đã được đề xuất và được mô tảtrong các phần sau
1.2: Phân loại trie gốc.
1.2.1- Trie phân cấp
Trie phân cấp là một phần mở rộng đơn giản của một chiều trie đến mộtkích thước đa trie , mỗi chiều đại diện cho một trường Nó còn được gọi là đa cấptrie, trie quay lui, tìm kiếm, hoặc đơn trie tới đa trie
trường đầu tiên của bộ quy tắc C trong Bảng 1.2 thể hiện trong hình 1.3 Ở đây,chúng tôi chỉ tính F1 và F2, vì chúng là tiền tố và có thể dễ dàng xử lý bằng cách sửdụng nhiều trie Các nút ellipse thuộc về các nút F1 đơn trie và vòng thuộc về F2 đa
Trang 8trie bởi vì chúng ta có bốn tiền tố khác biệt trong trường F1 của C Mỗi nút màuxám có dán nhãn với một quy tắc RJ, có nghĩa là nếu nút này đạt được trong quátrình tìm kiếm, RJ được tương quan Nhìn chung, các trie phân cấp có thể được xâydựng như sau: một trie cơ số nhị phân, được gọi là F1 trie đầu tiên được xây dựngcho các thiết lập của tiền tố {Rj1} thuộc F1 của tất cả các quy tắc Thứ hai, đối vớimỗi tiền tố p trong trie F1, một (d - 1) chiều dọc là trie đệ quy Tp xây dựng đối vớinhững quy tắc xác định chính xác p trong F1, đó là các bộ quy tắc {RJ | Rj1 = p} Trie Tp được kết nối với p bởi một con trỏ trie tiếp theo được lưu trữ tại nút p.
Phân loại Phân loại cho một gói tin đến với các tiêu đề (v2, v1,vd) nênđược thực hiện trong các thủ tục sau đây: Các thuật toán truy vấn đi qua các trie F1
dựa trên v1, nếu một con trỏ trie tiếp theo được gặp nhau, các thuật toán sẽ diễn ravới con trỏ và truy vấn (d - 1) phân cấp trie chiều đệ quy
Đối với các quy tắc trên tập C, được đưa ra một gói tin đến (001, 110),quá trình tìm kiếm bắt đầu từ F1 trie để tìm ra phù hợp với tiền tố tốt nhất của '001' Sau khi nút "D" trong trie F1 đạt được, các con trỏ trie tiếp theo được sử dụng đểhướng dẫn việc tìm kiếm vào trong trie F2 để tìm tất cả các tiền tố phù hợp của '110' Rõ ràng, cả hai nút R2 và nút R1 là đạt, tuy nhiên, chỉ R1 được ghi do ưu tiên caohơn của nó Bây giờ quá trình tìm kiếm các track trước tới nút 'B', là mức sơ khởithấp nhất của nút "D" trong trie F1 Một lần nữa, chúng ta sử dụng con trỏ trie kếtiếp ở đây để tìm kiếm các F2 trie
Trang 9
Hình 1.3: Phân cấp cấu trúc dữ liệu trie cho F1 và F2 của các quy tắc trongBảng 1.2
Thủ tục này được lặp đi lặp lại cho đến khi không có nút khởi đầu của nút
"D" có sẵn để được tìm kiếm Trong ví dụ này, quá trình tìm kiếm kết thúc tại nút xvà toàn bộ đường đi được mô tả bằng đường nét đứt trong hình 1.3 Trong chỗ giaonhau này, ba nút được tìm thấy, R1, R2, và R6 R1 được trở lại như nguyên tắc ưutiên cao nhất xuất hiện Quá trình quay lại là cần thiết vì '001 'của các gói đi vào cóthể phù hợp với một số tiền tố trong trường đầu tiên và chúng ta không biết trước
đó trie F2 có chứa tiền tố (es) phù hợp với '110' Hơn nữa, tất cả các nút phải đượctìm thấy để đảm bảo rằng một trong những ưu tiên cao nhất được trả về
Chú thích.Cấu trúc trie là một trong hầu hết các thuật toán lưu trữ tối ưu.Đối với một bộ quy tắc N, mỗi trong số đó là với trường phụ d và độ dài tối đa củamỗi trường là W, sau đó lưu trữ phức tạp là O (dW) Các cấu trúc dữ liệu là đơngiản và dễ dàng để duy trì mức sử dụng của một thời gian dài tìm kiếm Trie giaonhau mang track trở lại trong một nỗ lực để tìm tất cả các quy định phù hợp domức độ ưu tiên không thể hiệu quả bằng cách này để phản ánh cấu trúc dữ liệu.Thời gian tìm kiếm truy xuất là O (W d).Trie Fd có độ rộng của W và do đó mất O(W) để tìm kiếm.Trie Fd cũng có một chiều rộng W, trong đó mỗi nút có một trie
Trang 10Với cảm ứng, thời gian truy vấn trở thành O (W d) Cập nhật tác hợp có thể đượcthực hiện trong O (d 2 W) vì mỗi trường quy luật cập nhật được lưu trữ trong một
vị trí chính xác ở F độ rộng tối đa O(dW)
1.2.2- Trie sơ lược
Các trie sơ lược là một phiên bản sửa đổi của trie phân cấp Phản hồi là đểtránh trong quá trình truy vấn cho một trie sơ lược
một tiền tố hợp lệ) sao chép tất cả các quy định trong quy luật thiết đặt ban đầu vào
bộ quy tắc riêng của chính nó và sau đó xây dựng các kích thước trie kế tiếp dựatrên các bộ quy tắc mới
Một ví dụ về các trie sơ lược 2 đường biểu thị trường F1 và F2 của các quytắc C (Bảng 1.2) được thể hiện trong hình 3.4 Lưu ý rằng trong Hình 1.3 quản lý
bộ trie node F1-A, B, và D là R7 {}, {R4, R5, R6}, và {R1, R2}, tương ứng Trongkhi trong hình 1.4, chúng được R7 {}, {R4, R5, R6, R7}, và {R1, R2, R4, R5, R6,R7}, nơi mà các quy tắc đã được nhân đôi
tố d liên tiếp dài nhất trên mỗi chiều của trie sơ lược Cho một tuple 2 (001, 110),đường truy vấn được miêu tả bằng đường nét đứt trong hình 1.4 R1 được trở lạinhư nguyên tắc ưu tiên cao nhất xuất hiện Nhiều quy tắc có thể gặp phải dọc theođường dẫn và ưu tiên cao nhất được ghi lại Các nút R2 trên đường dẫn được cho làbao gồm các quy tắc R2 và R6, nhưng chỉ được giữ R2 do ưu tiên cao hơn của nó
Chú thích. Cấu trúc trie cần được phản hồi vì các quy luật thiết đặt đượckết hợp với các node F1 trie là rời rạc với nhau Trie sơ lược loại bỏ nhu cầu này vàgiảm độ phức tạp thời gian truy vấn để chỉ O (dW) tại các chi phí lưu trữ phức tạptăng lên, O (N d dW), vì một nguyên tắc có thể cần phải được nhân đôi lên đến N dlần Sự phức tạp cập nhật cũng là O (N d)
Trang 11(2-"0" được kết hợp ở nút x và điểm nút R7 trong trie F2-A như trong hình 1.5 Cáccon trỏ chuyển đổi được mô tả bởi các mũi tên cong đứt Trong thực tế, con trỏchuyển mạch nhãn "0" ở nút x’ thay thế các con trỏ 0 trong trie sơ lược.
Nếu trie phân cấp và trie sơ lược đã được xây dựng để cho phân loại C,cấu trúc các trie lưới của C có thể được xây dựng bằng cách thêm các con trỏ tới
Trang 12ps, dán nhãn với 0/1 được đưa vào node y bất cứ khi nào trie sơ lược chứa một điểm 0/1 đến một nút z khác trong khi y thì không Node z có thể có một số đối tác trong trie phân cấp, nhưng các điểm ps của nó được chứa trong trie-F2 đó là 'điểmgần nhất' cho trie có chứa node-F2 y Ví dụ, node x và node x’ trong hình 1,4 và 1,5 đều là đối tác của node x’’ trong hình 1.4 Tuy nhiên, con trỏ chuyển đổi tại các node điểm y tới node x’ từ node B là gần node D hơn so với node A Nếu các con
trỏ chuyển đổi được xem giống như các điểm 0/1, thủ tục truy vấn giống hệt nhưtrong trie sơ lược
Cấu trúc các trie lưới hoạt động tốt trên cả thời gian truy vấn và lưu trữphức tạp, nhưng thông tin cập nhật gia tăng rất phức tạp vì một số con trỏ có thểtrỏ đến một node duy nhất Nếu node này được gỡ bỏ, một node mới cần phải đượctạo ra và các con trỏ cần phải được cập nhật để trỏ đến các node mới
Hình 1.5 Ví dụ về cấu trúc các trie lưới cho các nguyên tắc quy định tạiBảng 1.2
1.2.4- Đề án mở rộng hai chiều
Baboescu et al đã giới thiệu một phương pháp phân loại mới EGT-PC cho
bộ định tuyến lõi Ý tưởng chính là sử dụng các đặc điểm quy định của cơ sở dữliệu, chúng được phát triển trong các bộ định tuyến lõi để giảm sự phức tạp của tìmkiếm đa chiều giống như của một tìm kiếm 2D Bằng cách quan sát thống kê phân
Trang 13loại trong các bộ định tuyến lõi của ISP 1 Tier, họ thấy rằng mỗi gói phù hợp tại ítnhất một điểm đến cặp tiền tố nguồn khác nhau (SIP, DIP) đã trình bày trong quytắc thiết lập Nói cách khác, nếu chúng ta dự thảo quy tắc thiết lập để chỉ cáctrường nguồn và đích, gói tin không phù hợp với nhiều hơn một số lượng nhỏ cácquy tắc trong tập mới của quy tắc Lưu ý rằng đây là điểm nhấn không đúng chonhững trường đơn lẻ vì những ký tự đại diện: một gói duy nhất có thể phù hợp vớihàng trăm quy tắc khi xem xét bất kỳ một trường biệt lập nào Dựa trên những ký
tự này, họ thể hiện ý tưởng về một phương pháp phân loại 2D đơn giản, như thểhiện trong hình 1.6 Ý tưởng đó là ban đầu sử dụng một vài hiệu ứng 2D kết hợp
để tìm tất cả các cặp khác biệt nguồn tiền tố đích (S1, D1), , (St, Dt) phù hợpvới một header Đối với mỗi cặp khác nhau (Si, Di) có một mảng tuyến tính hoặcdanh sách tất cả các quy tắc có chứa (Si, Di) trong mã nguồn và các trường đích
Hình 1.6- Chính sách mở rộng tìm kiếm 2D
Như trong hình 1.6 (S1, D1) có chứa các quy tắc, R5, R6, R2, và R4 Lưu
ý rằng quy luật chỉ có thể được liên kết với một cặp tiền tố nguồn-đích Mặt khác,người ta có thể muốn sao chép các quy tắc để giảm số lượng các điểm đến cặp tiền
tố nguồn xem xét trong tìm kiếm để giảm thời gian tìm kiếm Khi tìm kiếm mộtquy tắc cho một khóa nào đó, nhiều cặp tiền tố nguồn-đích có thể tương thích vớiphím Ví dụ: (*, 000) và (1 *, 0 *) phù hợp với một phím tiền tố (111, 000) Kết
Trang 14nữa với phần còn lại của khoá Ví dụ, nếu (S1, D1) tương thích, tất cả các quy tắc,R5, R6, R2, và R4, được tìm kiếm lần nữa, ví dụ, các số cổng của khoá.
1.2.5- Trường phân loại mức trie(FLTC)
Một trường phân loại mức trie (FLTC) sử dụng một cấu trúc trường mứctrie (FLT) được tổ chức trong một trường cấu trúc phân cấp Các cấu trúc dữ liệuphân loại đã được tối ưu cho TCAM tìm kiếm đa đường được phát triển cho cácphạm vi tiền tố và trường tương ứng Quá trình truy vấn (tìm kiếm) cũng được thựchiện bởi trường.Với việc thực thi chính xác, mỗi truy vấn chỉ cần yêu cầu nhớ mộtvài bộ nhớ truy cập trung bình, và do đó phân loại tốc độ cao rất có thể đạt được.Các yêu cầu lưu trữ của FLTC có thể là lý do chia sẻ thuộc tính của các node FLT.Mặc dù nút chia sẻ làm cho các quá trình cập nhật (chèn và xóa bỏ) đơn giản hơn,
sự phức tạp của các hoạt động cập nhật vẫn còn thấp vì mỗi hoạt động chỉ ảnhhưởng một phần nhỏ của cấu trúc dữ liệu Các FLTC dễ dàng có thể hỗ trợ phânloại lớn, ví dụ, với 100.000 đến 1.000.000 quy tắc, mà không làm giảm hiệu suấttruy vấn
Các chỉ tiêu phân loại cấu trúc FLT với nhiều lĩnh vực, mỗi một trong số
đó được quy định ở định dạng tiền tố hoặc định dạng băng Hình 1.7 cho thấy FLTxây dựng từ các phân loại trong Bảng 1.2 FLT được xác định để có các thuộc tínhsau đây:
1 Nó được tổ chức trong một phạm vi cấu trúc phân cấp của trường Độ
sâu của FLT một bằng với số trường, d Trong hình 1.7, có bốn cấp độ của các nút,
tổ chức từ F1 đến F4 0,2
2 Mỗi node trong FLT có chứa một bộ quy tắc, nó cũng là một tập hợpcon của bộ quy tắc node Các node gốc của FLT được xác định để chứa tất cả cácquy tắc trong phân loại này
Trang 153 Node a trong các mức 3 thứ i tạo ra nút con của nó trong mức(i + 1)
dựa trên các giá trị Fi của tất cả các quy tắc có trong nút a Tùy thuộc vào đặc điểm
kỹ thuật của Fi, có hai thủ tục khác nhau cho thế hệ node con:
Nếu Fi được quy định trong định dạng tiền tố, số lượng các nút con của a bằng với số tiền tố khác nhau trong trường Fi của các quy tắc của a Mỗi nút con
được kết hợp với một tiền tố khác nhau.Giả sử node con b được kết hợp với tiền tố
p, giá trị Fi của quy tắc r có trong bộ quy tắc của b hoặc tương tự hoặc là tiền tố của p Ví dụ, các nút gốc trong hình 1.7 có tất cả bảy nguyên tắc và có bốn tiền tố khác nhau, *, 0*, 00*, và *10, trong trường F 1, do đó, bốn node con được tạo ra
Node x liên kết với tiền tố *0 chứa bốn quy tắc, R4-R7 Giá trị F1 của R4-R6 là 0*,
đó là tiền tố liên quan, các giá trị F 1 của R7 là *, là một tiền tố của 0*
a)
R1 – R7
Trang 16
c)
d)Hình 1.7 Ví dụ về các FLT bốn chiều (A) Cấp 1, (b) Cấp 2; (c) Cấp 3, (d)Cấp 4
Nếu Fi được quy định trong định dạng băng, đối tượng ban đầu đưa tất cả
các băng (được lấy từ các trường Fi của bộ quy tắc a) vào một số dòng và có được một tập các khoảng cách Đối với mỗi khoảng cách I, một node con b được tạo ra Một giá trị r được chứa trong quy tắc thiết lập b nếu và chỉ nếu, phạm vi quy định bởi trường Fi của r bao gồm I Ví dụ, node y tạo ra ba nút con, node y’ với khoảng [10, 10], mà là một điểm duy nhất, node y’’’ với khoảng [6, 6], và node y’’ với
khoảng thời gian [4, 5] và [7, 8] (trong thực tế, có cả hai con trỏ trỏ đến y), nhưđược chỉ ra trong hình 3.7
Trang 174 Quy tắc thiết lập của một node a trong các mức độ thứ i là duy nhất trong các thiết đặt của tất cả các node ở mức thứ i Nếu hai nút trong mức(i - 1), b,
c, có một node con a chung, sau đó chỉ có một node, là node a, được tạo ra và chia
sẻ nó Hình 1.7 cho thấy node chia sẻ diễn ra khi node được trỏ đến bởi nhiều contrỏ
một trong hai hoặc nhiều hình thức tiền tố và đặc điểm kỹ thuật đều có cấu trúcriêng của mình ủng hộ dữ liệu và thuật toán tìm kiếm, chúng tôi nhóm các lĩnh vựcvới các thông số kỹ thuật tương tự nhau Trong hầu hết các trường hợp, một phânloại của các trường có hai nhóm; nhóm đầu tiên ở dạng tiền tố và nhóm thứ hai ởdạng băng Trong Bảng 1.2, F1 và F2 nằm trong nhóm đầu tiên và F3 và F4 đượctrong nhóm thứ hai FLT được tổ chức để các trường của các nhóm đầu tiên xuấthiện ở các cấp trên và các trường thứ hai xuất hiện ở các cấp thấp hơn Đối vớinhóm đầu tiên mà chỉ có trường tiền tố tồn tại, TCAM có thể được sử dụng để lưutrữ các tiền tố và tìm kiếm trong số đó Từ TCAM có thể phục vụ cùng một lúcnhiều trường, các truy vấn của nhóm đầu tiên của trường có thể được thực hiệntrong một truy cập TCAM duy nhất Hình 1.8 cho thấy FLT nén bắt nguồn từ cácphân loại trong Bảng 1.2 và trie cấu trúc trong hình 1.7 Bây giờ chỉ có một cấp độhiện tại cho các trường F1 và F2 Các node gốc có bảy node con đầu tiên nằmtrong cấp độ thứ ba trong hình 1.7 Mỗi cấp nút thứ hai có một cặp tiền tố F1/F2liên kết với nó Mỗi cặp tiền tố đó là nội dung của một mục trong TCAM này
Trang 18
Hình 1.8 Ví dụ về các FLT nén bốn chiều
BẢNG 1.3- Nội dung TCAM cho các FLT nén
Entry Cặp tiền tố Tên node Tổng chiều dài từ cặp Tiền tố
Các cặp tiền tố bắt nguồn từ cấu trúc trie trong hình 1.7 Đối với mỗi node
a trong cấp độ thứ ba trong hình 1.7, tương ứng với các nút trong cấp độ thứ hai trong hình 1.8, chúng tôi tìm thấy một đường dẫn từ node gốc đến a với tổng chiều
dài tiền tố nhỏ nhất Các tiền tố dọc theo đường dẫn này tạo thành cặp tiền tố liên
kết với a trong hình 1.8 Tất cả các cặp tiền tố được sắp xếp theo thứ tự giảm dần
của độ dài tiền tố (tổng của độ dài của hai tiền tố) trong TCAM này Đối với cặp
Trang 19tiền tố có cùng độ dài, trật tự tương đối của họ có thể được tùy tiện Nội dung củaTCAM cho FLT nén trong hình 3.8 được trình bày trong Bảng 1.3.
Bằng cách sắp xếp các cặp tiền tố thứ tự tăng dần trong TCAM (nghĩa làdài nhất phù hợp với cặp tiền tố sẽ được tìm thấy), chúng tôi có thể đảm bảo kếtquả tìm kiếm từ TCAM để được chính xác, ví dụ, các nút thích hợp ở cấp độ thứhai được xác định tiếp tục quá trình truy vấn toàn bộ Một bằng chứng ngắn sau:
Khi tìm kiếm các TCAM với một khoá A/ B, nếu hai mục với tiền tố cặpA1/B1 và A2/B2 là lần xuất hiện, sẽ có hai kịch bản Không mất tính tổng quát,chúng tôi giả định A1 ≺ A2, có nghĩa là A1 là một tiền tố của A2
Trong kịch bản đầu tiên, nơi B1 ≺ B2, độ dài của A2/B2 là lớn hơn so vớicác A1/B1, Do đó, danh mục B2/A2 là đầu ra giống như kết quả Đó là một kết
quả chính xác vì tất cả các quy tắc trong node a (tương ứng với A1/B1) cũng có trong node b (tương ứng với A2/B2), được đảm bảo bằng thuộc tính của FLT, và node b được chọn.
Trong kịch bản thứ hai, nơi B1≺ B2, một mục với cặp tiền tố A2/B1 phảitồn tại, đó là bảo đảm quá trình phát sinh của FLT này Vì độ dài của A2/B1 lớnhơn của cả hai A2/B2 và A1/B1, mục với A2/B1 là đầu ra như kết quả Đó là một
kết quả đúng bởi vì tất cả các quy tắc trong nút cả và node b được chứa trong node
c (tương ứng với A2/B1).
Kết luận trên có thể dễ dàng mở rộng cho các trường tiền tố nhiều hơnhai Cho một gói tin header được phân loại, các trường thuộc nhóm đầu tiên đượcchiết xuất và trình bày cho TCAM để tìm kiếm Đầu ra từ TCAM biểu thị mộtnode ở mức thứ hai để được truy cập tiếp theo Từ TCAM đã cung cấp chỗ ở chotất cả các trường tiền tố, phần còn lại của quá trình truy vấn dựa trên nhiều lĩnhvực
Trang 20Trường phân loại băng Đối với các nút hiện có trong mức thứ hai hoặc
thấp hơn, chúng tôi đề xuất sử dụng một cây tìm kiếm đa đường (cây tìm kiếm đường) để tổ chức cấu trúc dữ liệu tại mỗi nút
k-a)
các điểm tới các node trong mức kế tiếp
b)
Hình 1.9 Ví dụ về cơ cấu tổ chức node trong cây tìm kiếm ba chiều (A)
Có nguồn gốc trong khoảng thời gian bằng cách bảo vệ phạm vi, (b) cơ cấu Nodecho một cây tìm kiếm ba đường
Ví dụ, có một node a trong các mức độ thứ i (i> 1) của FLT được nén Sau kế hoạch các trường Fi của bộ quy tắc a trên một số dòng, bảy khoảng, I1 để I7,thu được với tám điểm cuối cùng, E1 để E8, như trong hình 1.9a Nếu chúng ta sửdụng một cây tìm kiếm ba đường để tổ chức những khoảng thời gian, kết quả đượcthể hiện trong hình 3.9b Nó là một cây hai lớp với bốn khối (để tránh nhầm lẫnvới giới hạn “lớp” và “node” trong FLT, chúng ta sử dụng giới hạn “lớp” và 'khối'trong cây tìm kiếm k đường)
Mỗi khối chứa lên đến con trỏ k và k - 1 điểm kết thúc Các con trỏ vàomột khối nội những điểm tới những khối khác trong cây tìm kiếm đa đường, trong
E 1 E 2 E 3 P E 4 E 5 E 6 E 7 E 8
I 1 I 2 I 3 I 4 I 5 I 6 I 7
Trang 21khi con trỏ ở một điểm khối lá đến một (i + 1) nút thứ cấp trong FLT nén Chúngtôi sử dụng một ví dụ để minh họa quá trình tìm kiếm theo cây tìm kiếm k đường.Giả sử điểm P tồn tại trong khoảng I3, bắt đầu quá trình tìm kiếm từ các khối gốc x.
Bằng cách so sánh P với hai điểm đầu cuối, E3 và E6, lưu trữ trong x, chúng ta biết
thứ tự trong số đó là E3 <P <E6 Vì vậy, các con trỏ thứ hai là theo sau để chặn y
trong lớp thứ hai Tương tự như vậy, bằng cách so sánh P với hai điểm đầu cuối, E4
và E5, chúng ta biết rằng con trỏ đầu tiên kết hợp với khoảng I3 nên được theo sau
để một nút trong cấp độ kế tiếp của nén FLT
Việc tìm kiếm đa đường là một thuật toán hiệu quả cho các phạm vi tracứu các vấn đề Số lớp cây tìm kiếm k đường có thể được xác định bởi M logk nơi
M là số các khoảng thời gian Từ việc bổ xung những điểm hiển thị, từng khốitrong cây tìm kiếm k đường là một đơn vị cơ bản được lưu trữ trong bộ nhớ, màđòi hỏi một bộ nhớ truy cập cho một hoạt động đọc/ghi Do vậy, trong một quátrình tìm kiếm, số lượng truy cập bộ nhớ bằng số lớp cây tìm kiếm k đường, làlogk M Các số k ở đây là hạn chế bởi kích thước khối, được xác định bởi các băngthông bộ nhớ
Quá trình truy vấn của một FLT bắt đầu từ TCAM cho tất cả các lĩnh vựctiền tố Sau khi thống nhất nhiều trường, quá trình truy vấn tiến hành thu được mộtmức (hoặc một lĩnh vực) tại một thời điểm và ở mỗi cấp một cây tìm kiếm k đườngđược thực hiện để tìm mức node kế tiếp cho truy cập Quá trình truy vấn kết thúckhi một node lá đạt được và xuất hiện một quy luật (nếu có) được trả về cho kếtquả
1.3- Thuật toán hình học
1.3.1- Mở đầu
Như đã đề cập trước đây, từng lĩnh vực phân loại có thể được quy định tại
Trang 22hình học hiển thị, cả hai thông số kỹ thuật có thể được giải thích bởi một phạm vi(hoặc khoảng) trên một số dòng Như vậy, một nguyên tắc với hai trường đại diện
cho một hình chữ nhật trong không gian Euclide 2D và nguyên tắc với trường d đại
diện cho kích thước siêu hình Phân loại là một tập hợp của những siêu hình chữnhật với các ưu tiên liên quan Với một header gói tin (d-tuple), nó đại diện cho
một điểm P trong không gian d chiều Vấn đề phân loại gói tin tương đương với
việc tìm kiếm các ưu tiên cao nhất siêu hình chữ nhật mà bao bọc P Hình 1.10cung cấp cho các đại diện hình học của F1 và F2 của phân loại trong Bảng 1.2 vớihình chữ nhật chồng lên nhau theo các ưu tiên của họ Với điểm P (0010, 1100), nólà đơn giản để tìm ra những ưu tiên cao nhất phù hợp với quy tắc R1
Có một số vấn đề tiêu chuẩn trong lĩnh vực tính toán hình học tương tựnhư gói phân loại [7] Một là vấn đề địa điểm đó được định nghĩa là việc tìm kiếmcác khu vực bao quanh của một điểm, được đưa ra một tập hợp các vùng khôngchồng chéo Lý thuyết giới hạn cho vị trí điểm trong N (hyper-) hình chữ nhật khuvực và d> 3 kích thước là O (log N) thời gian với O (N d) không gian, hoặc O ((logN) d-1) thời gian với O (N) không gian Gói phân loại ít nhất cũng khó khăn như vịtrí điểm từ (hyper-) hình chữ nhật được phép chồng chéo lên nhau Kết luận nàyhàm ý rằng việc phân loại gói tin trong trường hợp xấu nhất là vô cùng phức tạp
Các thuật toán phân loại gói của các thể loại này luôn luôn liên quan đếnviệc giải thích nhiều trên các trường nhất định của phân loại này Nếu các tiền tốhoặc các vùng trong một trường phân loại được thiết lập trên số dòng[0, 2W - 1],một tập hợp các dãy phân chia sơ cấp (hoặc khoảng) thu được và ghép nối củanhững phạm vi sơ cấp đường số nguyên Ví dụ, có 4 phạm vi về kích thước của F1
và 5 dao động về kích thước F2, như thể hiện trong hình 1.10 Cho một số Z trêndòng số, phạm vi tra cứu vấn đề được định nghĩa là định vị phạm vi sơ cấp (hoặckhoảng) có chứa Z Một cách để xác định vị trí số trên một phạm vi là sử dụng tìm
Trang 23kiếm k đường mô tả trong phần trước Để đơn giản, chúng tôi sử dụng nhiều (hoặckhoảng) thay vì phạm vi sơ cấp (hoặc khoảng), trừ khi quy định rõ ràng Như thế
nó là một tiền tố đại diện cho một phạm vi trên dòng số
Hình 1.10 biểu diễn hình học của phân loại trong Bảng 1.2
Mặt khác, một dãy bất kỳ có thể cần tới 2W - 2 tiền tố cho đại diện [3].Đây là một kết luận hữu ích cho việc phân tích sự phức tạp gia tăng lưu trữ củamột số thuật toán phân loại mà chỉ hỗ trợ tiền tố đặc điểm kỹ thuật tốt Quá trìnhchuyển đổi một dãy bất kỳ vào một hoặc một số tiền tố được gọi là dãy tách
1.3.2- Đề án Cross.
Srinivansan et al [4] đề xuất một chương trình cross-SX thích hợp chomột số tùy ý của các lĩnh vực và loại hình trường hoặc của đặc tả Chương trình
SX qua các công trình bằng cách thực hiện d phạm vi tra cứu hoạt động, một trêntừng lĩnh vực, và sáng tác những kết quả này để tính toán chỉ số một bảng tiền trả
về nguyên tắc ưu tiên cao nhất xuất hiện
Xem F1 và F2 của phân loại C của Bảng 1.2 Đối với bước đầu tiên, cácthông số kỹ thuật quy định trong các trường F1 và F2 được ước lượng bởi hai
Trang 24[4]}, thu được như thể hiện trong hình 3.11 ( Mỗi cặp phạm vi (r1 [i], r2 [j]),tương ứng với một hình chữ nhật nhỏ với tính toán tốt nhất phù hợp trước một quytắc văn bản bên trong '-' nghĩa là không có quy tắc kết hợp tồn tại) Bảng tính toántrước toàn bộ được thể hiện trong hình 1.11 nếu chúng ta tổ chức các bảng trongmột định dạng ma trận 2D.
Như vậy, với một tuple-2 (p1, p2), hai phạm vi tra cứu được thực hiệntrên mỗi khu vực thiết lập và hai dãy kết hợp trở lại bao gồm chỉ mục các bảng tínhtoán trước Ví dụ, nếu p1 = p2 = 0010 và 1100, hai phạm vi quay lại (r1 [0], r2[3]), cho chúng ta biết rằng R1 là nguyên tắc kết hợp tốt nhất Về phân loại chiều dnói chung, bộ phạm vi d thu được bằng cách chiếu các đặc điểm kỹ thuật quy định
về kích thước trên mỗi chiều và mỗi chỉ mục trong chiều d có thể được tính toántrước trong cùng một cách như ví dụ trên
Đề án cross-SX có một truy vấn phức tạp thời gian thích hợp của O (d •TRL), nơi TRL là thời gian phức tạp của việc tìm kiếm một phạm vi một chiều.Tuy nhiên, nó bị phá hủy là một vấn đề của bộ nhớ, trong trường hợp xấu nhất,bảng cross-product có thể có các mục O (N d) Như vậy, theo yêu cầu chương trìnhcross-SX cùng với bộ nhớ đệm quy tắc được đề xuất để phân loại lớn hơn 50 quytắc trong năm chiều Gia tăng các cập nhật cần xây dựng lại bảng cross-product, vìvậy nó không thể hỗ trợ phân loại động
Trang 25
r1[0] r1[1] r1[2] r1[3]
F 2
F 1
Hình 1.11 Hình đặc trưng của thuật toán qua SX
1.3.3- Giao điểm ánh xạ bit
Đề án giao điểm ánh xạ bit được đề xuất bởi Lakshman et al [8] áp dụngcho gói phân loại đa chiều với một trong hai loại hình đặc điểm kỹ thuật trong từnglĩnh vực Đề án này được dựa trên quan sát các bộ quy tắc, S, phù hợp với một góitin là giao điểm của bộ d, Si, nơi Si là tập hợp các quy tắc phù hợp với gói trongchiều đơn thứ i
Hình 1.12 có một ví dụ để minh họa cho đề án công việc giao điểm ánh xạbit diễn ra thế nào Bốn quy tắc của một phân loại 2D được mô tả như là bốn hìnhchữ nhật trong hình 1.12 và dự kiến trên các đường số hai Hai phạm vi thiết đặt{X1, , X6} và {Y1, , Y6} có nguồn gốc ở mỗi kích thước của các đề án quytắc Mỗi khoảng thời liên kết với một bitmap 4-bit precomputed với mỗi bit đại
Trang 26diện cho một nguyên tắc Một "1" trong bitmap của XK / biểu thị YK rằng quy tắc
có chứa (phù hợp) XK / YK trong / kích thước Y X
Cho một gói P(p1, p2), hai phạm vi tra cứu (ví dụ, bằng cách sử dụng mộtcây tìm kiếm đường trong hình 1.9.) được thực hiện trong mỗi khoảng thiết lập vàhai khoảng thiết lập, Xi và YJ, có chứa p1 và p2, được xác định Sau đó, bitmapkết quả, thu được bằng các giao lộ (một phép toán đơn giản và hoạt động) của cácbitmap của Xi và YJ, cho thấy tất cả các quy tắc phù hợp cho P Nếu các quy tắcđược sắp xếp thứ tự giảm dần ưu tiên, chữ đầu tiên "1" trong bitmap biểu thịnguyên tắc ưu tiên cao nhất Nó là đơn giản để mở rộng chương trình áp dụng chomột phân loại đa chiều Khi mỗi bitmap là N bit rộng, và có O (N) phạm vi trongtừng kích thước d, không gian lưu trữ tiêu thụ là O (DN 2) Thời gian truy vấn là O(d • DN + TRL / w), nơi TRL là thời gian để thực hiện một phạm vi tra cứu và w làchiều rộng bộ nhớ Thời gian tính toán có thể được giảm theo hệ số d bằng cáchnhìn lên mỗi chiều độc lập song song Cập nhật cộng dồn không được hỗ trợ Đượcbiết, chương trình có thể hỗ trợ lên đến 512 quy định với một FPGA 33-MHz vànăm SRAMs 1-Mbyte, phân loại 1 mpps [8] Đề án hoạt động tốt cho một số nhỏcác quy tắc trong nhiều khía cạnh, nhưng bị gia tăng bậc hai trong lưu trữ và tăngtuyến tính trong thời gian phân loại với kích cỡ phân loại
Intervals on Y
Trang 27Hình 1.12 Hình học giải thích của đề án chèn bitmap cho một phân loại
2D
1.3.4- Phân loại gói song song(P 2 C)
Lunteren et al [9] đề xuất một chương trình phân loại nhiều trường nhanhchóng dựa trên phạm vi tìm kiếm độc lập và mã hóa nguyên thủy Ý tưởng là cácdãy trong mỗi chiều đầu tiên được mã hóa thành một số vector mã Sau đó cho mộthoạt động phân loại cụ thể, P2 C thực hiện không phân biệt song song với tìm kiếmtrong từng kích thước (sub-range) để có được mã số vectơ tương ứng Và sau đócác vectơ tìm thấy tại tất cả các kích thước được kết hợp với nhau để thực hiện mộthợp tam phân trong TCAM để cuối cùng đạt được kết quả phân loại nhiều trường.Phạm vi được định nghĩa là khoảng thời gian chia ranh giới của tất cả các quy tắc,như thể hiện trong hình 1.13, ví dụ, X8 X0-trên trục X và Y0-Y6 trên trục Y là tất
cả các vùng Và nó là đơn giản mà mỗi dãy có một điều kiện duy nhất phù hợp
Những dãy trên mỗi chiều phân chia vào một số 'lưới'siêu phẳng (như mô
tả trong hình 1.13.), Mỗi lưới có thể được đại diện bởi d-tuple trong các phạm vi vàquy tắc với những ưu tiên cao nhất bao gồm một trong những tấm lưới được địnhnghĩa là "quy luật tương ứng với lưới điện” Ví dụ, như trường hợp ở hình 1.13,các lưới điện được xác định bởi 2-tuple (X2, Y2) tương ứng với R4, và các mạnglưới được xác định bằng (X5, Y4) tương ứng với R1, với giả định rằng R1 là ưu tiêncao hơn
X 1 X 2 X 3 X 4 X 5 X 6 Intervals on X
4 1 1 1 1 1 1 Rule 3 1 1 0 0 0 0
2 0 0 0 1 1 0
1 0 1 1 1 0 0
Trang 28Theo nguyên tắc này, nếu các đáp ứng liên kết của các tuple trong cácphạm vi và các quy tắc được tính toán trước, các hoạt động phân loại sau đó đưa rangoài: (1) để tìm các dãy tương ứng của khóa chuyển đưa ra trên mỗi chiều songsong ; (2) kết hợp các dãy vào một khóa để tìm ra quy luật tương ứng.
Trong P2 C, các dãy được mã hóa toàn bộ thành các vector mã, trongbước đầu tiên, phạm vi được tìm thấy ở dạng vector mã và sau đó các vector mãđược kết hợp với nhau và đặt trong một TCAM để đạt được kết quả phân loại đachiều cuối cùng
Mã hóa các dãy.Như trong Hình 1.14, các lớp (đường đứt) được xác địnhtheo các ưu tiên của các quy tắc và mối quan hệ chồng lên nhau giữa chúng Các
ưu tiên cao hơn của một nguyên tắc là lớp cao hơn tương ứng thuộc về kích thước,các quy tắc không chồng chéo có thể được trong cùng một lớp
'Lớp' là đơn vị tối thiểu trong việc phân công các bit mã Chữ số nhị phântrên các dòng phạm vi mã vectơ được phân công vào lớp này, đại diện các điềukiện phù hợp của các dãy tương ứng, chẳng hạn như '01 'và '10' trong hình 1.14a
Ba kiểu phạm vi mã hóa, như trong Hình 1.14, đã được đề xuất để phù hợp cho cácmôi trường khác nhau, để có được kết quả tối ưu mã hóa (với các bit thấp nhấtđược giao)
Các kết quả tương ứng được cung cấp bởi ba kiểu mã hóa được cho trongBảng 1.4, theo kiểu mã hóa trong Hình 1.14 Sau đó, theo các mối quan hệ của cácquy tắc và phạm vi (như trong hình 1.13), các điều kiện phù hợp với các quy tắctrong kích thước X được cho trong Bảng 1.5 Các hình thức tam phân phù hợp vớiđiều kiện kích thước Y có thể thu được tương tự
Khi một gói tin đến, nó được ánh xạ tới một phạm vi độc lập Phạm vitương ứng với một mã số, mà sau đó được kết hợp với các mã số của khoảng
Trang 29không gian khác Phạm vi các mã sau đó được kết hợp sử dụng tra cứu các TCAM
để tìm ra quy tắc ưu tiên cao nhất
Bảng 1.4- Kết quả mức trung cho phạm vi các vector
Phân loại
Phạm vi
Kiểu 1 0100 0101 0001 0011 1011 1010 0010 Kiểu 2 100 101 001 011 111 110 010 Kiểu 3 0100 0101 0001 0010 1010 1011 0011
Bảng 1.5- Các điều kiện phù hợp phạm vi tam phân
Trang 30nhất, và một cho truy cập TCAM) [9] Các yêu cầu bộ nhớ được báo cáo là tươngđối tốt vì phương pháp mã hóa được sử dụng.
Thuật toán đã được thiết kế sao cho bất kỳ quy tắc chèn hay loại bỏ sẽkhông tác động đến mã số cho các quy tắc hiện có Hơn nữa, so với hầu hết các hệthống phân loại các gói tin, P2 C lưu các dữ liệu liên quan đến một nguyên tắc đơntại các địa điểm rất ít, thường là một vị trí trong mỗi cơ cấu trường tìm kiếm và tạimột địa điểm trong TCAM (ví dụ, tổng cộng 6 địa điểm trong 5 -tuple phân loại).Kết quả là, bản cập nhật chỉ cần vài sửa đổi gia tăng của các địa điểm rất trong cáccấu trúc dữ liệu, cho phép cập nhật nhanh chóng hiệu quả với tỷ lệ a >10.000/giây Những bản cập nhật có thể được thực hiện mà không làm gián đoạnhoạt động phân loại
1.3.5- Khu vực gốc quadtree
Buddhikot et al [10] đề xuất Area-based quadtree (AQT) cơ cấu cho phânloại 2D với các đặc điểm kỹ thuật tiền tố trong cả hai trường như trong hình 1.15a
So sánh với một cây nhị phân, các nút của quadtree có thể có đến bốn nhánh convà bốn con trỏ có nhãn với 00, 01, 10, và 11 như hình 1.15b Mỗi nút trong AQTđại diện cho một không gian 2D đó là đồng đều chia ra thành bốn góc phần tưtương ứng với bốn nhánh con của nó Ví dụ, các nút gốc của Hình 1.15b biểu thịtoàn bộ vuông 1.15a hình và do đó trong bốn nhánh con đại diện cho bốn góc phần
tư, SW (tây nam), NW (Tây Bắc), SE (đông nam), và NE (đông bắc), tương ứng Nếu không gian 2D đại diện bởi các nút gốc được thể hiện như một cặp tiền tố (*,
*), do đó bốn góc phần tư (0 *, 0 *), (0 *, 1 *), (1 *, 0 *), và (1 *, 1 *) với mỗi tiền
tố biểu thị một dãy trong một chiều
Đối với một số phân loại C, AQT được xây dựng như sau Một quy tắc S(u) có chứa tất cả các quy tắc của C được kết hợp với các nút gốc u u được mởrộng với bốn nhánh con (không gian phân hủy (*, *)) từng liên kết với một bộ quy