• 沒有找到結果。

在此我們希望能夠降低必需要經過路徑之數量,首先我們觀察在執 行封包分類時,那些必須要經過路徑之特性。我們發現這些路徑到最 後都會走到的結果大致上能夠分為兩種。第一種是此封包最後會比對 到的結果,也就是優先權高的比對結果,此種結果在空間中通常只覆 蓋較小的區域。而路徑最後達到的另外一種結果是屬於百搭符號的規

25

則,這種結果的優先權較低,並且其規則所包含的區域也比較大。一 般的情況下,比對所得到的結果中優先權高的結果數量會小於優先權 較低的結果。換句話說,在比對時優先權較低的結果所經過的路徑佔 較多的數量,但是比對出來的結果卻是優先權高的規則。這表示在搜 尋時會花費較多的時間在那些最後不會比對到的規則上。另外觀察不 同封包所得到的結果,會發現優先權高的結果通常會指向不同的規則,

但是優先權較低的結果常會對到相同的百搭符號規則。這主要是因為 百搭符號規則所覆蓋的範圍較大,所以在查詢時容易查詢到這些百搭 符號規則。因此,我們認為可以利用這兩種特性來降低搜尋到優先權 較低所搜尋的路徑數量,以降低封包比對時所需要的時間花費。

圖 11 依據規則表建立多個 R*-Tree

綜合以上兩個我們所觀察到的性質,我們提出以下的方法來增進比 對時的效能。從這兩個性質可以看出,在執行封包比對的時候所搜尋 的路徑大部分是為了規則表中所佔比例較少的百搭符號規則,而且這

26 R*-Tree。透過上述的方法,建立出多重的 R*-Tree。

當我們把這些規則移出後,原本搜尋中為了這些規則所搜尋的路徑

27

五、實驗結果

本篇論文中我們使用 ClassBench [5]這個專門使用在封包分類問題 上的工具來測試我們方法的效能。此工具包含規則產生器以及流量產 生器兩部分,其中規則產生器可以產生出反映出真實情況的規則表,

而流量產生器會產生用來測試分類方法的流量。另外 ClassBench 提供 總共三種不同種類的設定檔,分別反映出不同性質的規則表,在產生 頭中的五個欄位(即 Source/Destination address、 Source/ Destination Port、 Protocol)。在此章節中我們會在不同的參數設定下實驗三種不 同的演算法,分別是位元圖交集法、R*-Tree 分類法與 R*-Tree 與位元 圖混合法。首先,我們會實驗這三種不同的演算法在不同的性質的規

28

則表下的封包比對時需要的記憶體存取次數以及記憶體的需求。接下 來是觀察節點中 MBR 的數量對比對速度上的影響。最後是實驗布隆過 濾器以及多重 R*-Tree 這兩種方法對於效能上的影響。實驗數據都是處 理十萬個封包後,其結果平均所得到的數值。

相關文件