• 沒有找到結果。

核心布署法(Core Deployment)

在文檔中 中 華 大 學 (頁 38-42)

第三章、 論文方法

3.4 布署方法

3.4.1 核心布署法(Core Deployment)

核心布署法的想法就是將建議布署的節點(Deploy node)所圍住的範圍作為保 護的區域(Scope),圈外的路由器設置穿隧追蹤器,而各圈內的中心節點設置過濾追 蹤器及標記追蹤器,如下圖所示。當圈內的攻擊節點送出惡意封包至其他圈內的節點,

將會被圈外的穿隧追蹤器所轉傳至圈內的中心追蹤器,依系統的程序送給標記追蹤器 或是過濾追蹤器。

Figure 11 核心布署法之概念圖

根據 Algorithm 1 的虛擬程式碼,在搜尋最佳的建議布署節點的開始,我們計算 各種保護區域的大小,並取得各種保護區域大小的布建結果(Algorithm 1, Line 2~11), 最後我們依照這些布建結果的建議布建節點的數量作為考量,若是建議的布建節點數 量小於等於「穿隧追蹤器的數量」,則加入建議布署節點資格符合的串列(Algorithm 1, Line 7~9),最後我們會在將布署節點資訊符合的串列進行數量多到小的排序

(Algorithm 1, Line 12),並選出一種布署結果的節點數量最貼近於我們所擁有的穿隧 追蹤器的數量的布署結果作為最終確定的布署結果(Algorithm 1, Line 13)。

Algorithm 1: Searching optimal deployment

1 2 3 4 5

List<Deployment> dList

for K = 1 to networkTopology.Diameter do int N = 0

do

last_deploy = try_deploy

29

6 7 8 9 10 11 12 13

try_deploy.Deploy(N++)

if try_deploy.DeployNode.Count <= numberOfTunnelingTracers do dList.Add(try_deploy)

end if

while try_deploy.Except(last_deploy).Count() == 0 end for

dList.OrderBy(DeployNodes.Count) Final_Deployment = dList.Last()

Table 2 核心布署法-搜尋最佳化布署結果

根據 Algorithm 2 及 Algorithm 3 的虛擬程式碼,首先將從所有的保護區塊中找出 其中心節點,並加入中心節點串列(Algorithm 2, Line 2~4),最後再將中心節點串列 中的節點再依其所在的網路拓撲結構位置,以網路拓撲結構之中心至外圍進行排序,

得到一個越靠近中心位置的節點至離中心節點越遠的節點序列(Algorithm 2, Line 5)。

排序過後的中心節點串列,將先依過濾追蹤器的數量進行布署,(Algorithm 2, Line 8~10)若是過濾追蹤器的數量超過已排序的中心節點數量,則會開始重複的向 其他圈內節點進行布署,直至過濾追蹤器布署完畢(Algorithm 2, Line 10~17)。

當過濾追蹤器布署完畢後,則會開始布署標記追蹤器(Algorithm 3, Line 3~5),

標記追蹤器的布署方式就如同過濾追蹤器,將會布署在中心節點上,若是中心節點都 布署完畢後,則會開始布署於其他保護區塊內的節點(Algorithm 3, Line 5~12)。

Algorithm 2: Deploy filtering tracers

1 2 3 4 5 6 7

List centerNode

foreach scope in Final_Deployment.AllRoundScope do centerNode.Add(scope.FindCenterNode())

end foreach

centerNode.OrderBy(Eccentricity) for i = 0 to numberOfFilteringTracer do

node = centerNode.Find(node.Tracer== TracerType.None)

30

8 9 10 11 12 13

14 15 16 17 18

if node != null do

node.Tracer = TracerType.Filtering else

int j = i do

scope =

Final_Deployment.AllRoundScope.Find(tmp_scope.Exist(centerNode[j+

+]))

node = scope.Find(node.Tracer == TracerType.None) while node == null

node.Tracer = TracerType.Filtering end if

end for

Table 3 核心布署法-布署過濾追蹤器

Algorithm 3: Deploy marking tracers

1 2 3 4 5 6 7 8

9 10 11 12 13

for i = 0 to numberOfMarkingTracer do

node = centerNode.Find(node.Tracer== TracerType.None) if node != null do

node.Tracer = TracerType. Marking else

int j = i do

scope =

Final_Deployment.AllRoundScope.Find(tmp_scope.Exist(centerNode[j+

+]))

node = scope.Find(node.Tracer == TracerType.None) while node == null

node.Tracer = TracerType. Marking end if

end for

Table 4 核心布署法-布署標記追蹤器

31

根據 Algorithm 4 的虛擬程式碼,當過濾追蹤器及標記追蹤器都布署完畢後,就 會開始布署穿隧追蹤器,布署的位置即為建議的布署節點位置(Algorithm 4, Line 1~3)。

Algorithm 4: Deploy tunneling tracers

1 2 3

foreach node in Final_Deployment.DeployNodes do node.Tracer = TracerType.Tunneling

end foreach

Table 5 核心布署法-布署穿隧追蹤器

以下圖為例,布署的追蹤器數量即為網路拓撲中的路由器數量之 50%(9 個追蹤 器),再由此 9 個追蹤器上選擇 50%的穿隧追蹤器(5 個穿隧追蹤器)、20%的標記追 蹤器(2 個標記追蹤器)及 10%的過濾追蹤器進行(1 個過濾追蹤器)布署,粉紅色 的節點為穿隧追蹤器、橙色的節點為標記追蹤器、藍色的過濾追蹤器。

Figure 12 經核心布署法布署後的網路拓撲結構結果

32

在文檔中 中 華 大 學 (頁 38-42)

相關文件