仮想包囲方形に基づくパラメータフィルタの設計と実装
11
0
0
全文
(2) 電子情報通信学会論文誌 2004/5 Vol. J87–D–I No. 5. 案手法では,パラメータフィルタの特性に対応するた め,仮想的な包囲方形表現を導入し,R*-tree に対し てデータ挿入アルゴリズムに変更を加えた.本提案の 有効性を示すために,パラメータフィルタを実装し, 評価実験を行った.その結果,処理速度が改善され, サービスに特化した従来の実装と比較しても,フィル タ数が多い場合に提案手法が優れていることが明らか になった.. した.. Rmid = f1 (Rall , d). (2). Rresult = f2 (Rmid , d). (3). ここで,f1 はレコード郡全体からフィルタルールが d を満足するすべてのレコード群 Rmid を選択し,f2 はサービスごとのルールに従って Rmid から Rresult を選択する.. 2. パラメータフィルタ. パラメータフィルタを 2 段階に分割したことで,以 下の利点がある.第 1 ステージは,個々の分類レコー. インターネットサービスプロバイダ(ISP)はデータ 転送の優先処理,帯域保証など品質を向上させるサー ビスを提供しようとしている.ISP は顧客とサービス 品質保証契約(SLAs; Service Level Agreements)を 結び,SLA に沿ったフィルタルールとアクションの組 を基幹ルータに設定する.この組を分類レコードと呼 ぶ.分類レコードがルータに設定されると,転送デー タは分類されて必要に応じてアクションが適用される. 複雑化するネットワークにおいて,高度化・多様化 するサービスを実現するためには,複数のパラメータ によって分類レコードのフィルタルールを構成しなけ ればならない.また,複数のサービスが並行して運用. ドに対してフィルタルールと転送データの一致不一致 の判定をするだけで,全分類レコードから Rmid を 抽出できる.第 1 ステージはサービスに依存せずに 処理を行うため,汎用的に設計・実装できる.第 2 ス テージは,Rmid からサービスごとのポリシに従って,. Rmid から Rresult を選択する.サービス依存処理は 第 2 ステージで完結しているため,第 2 ステージ置換 えのみによりパラメータフィルタを異なるサービスに 応用できる. データが 4 ビット長ビット列と整数値の属性値をもち, それぞれビットマスク一致と範囲一致のフィルタルー ルで比較するパラメータフィルタを考える.パラメータ. されるため,複数の分類レコードのフィルタが同時に. フィルタは,表 1 に示す 4 分類レコードを保持するも. 一つの転送データに適合する.サービスごとに適用す. のとする.このとき,Rall = R1 , R2 , R3 , R4 となり,. るポリシが異なるため,複数の分類レコードが競合す る場合,ルータは競合を適切に解決し,転送データに 適用するアクションを決定する必要がある.しかし, ポリシごとに競合関係は異なるため,フィルタルール のみにより一意に分類レコードを選択できない. これらの問題に対して,我々は KUMA’s Universal. Parameter Filter(KUPF)[1] を提案した.従来の分 類機構は,フィルタをもとにして転送データを分類す る.これに対し,KUPF のモデルは,転送データに適 用するアクションをもつ分類レコードを転送データを もとに選択する.この概念をパラメータフィルタと呼 ぶ.この概念では,適用するアクションをもつレコー ド Rresult は,ある手順 f により以下のように導か. f1 はビットマスク一致と範囲一致による入力データと フィルタルールの比較となる.データ d = (0100, 5) が 与えられたとき,ビットマスク一致は R1 , R2 , R3 , R4 すべてが一致し,範囲一致は R1 , R2 , R3 が一致する. その結果,Rmid = R1 , R2 , R3 となる.R1 , R2 , R3 のアクションが競合するとき,競合は f2 が解決する. ポリシが範囲一致条件の範囲の大きさが小さいレコー ドを優先する場合,範囲が 0–100 の R1 ,4–6 の R3 より 4–5 の R2 が優先されるので,Rresult = R2 と なり,データ d に適用するアクションは A2 に決定さ れる. 分 類 機 構 の 一 例 と し て ,経 路 検 索 が あ る .4.3 BSD Reno release 以降の BSD UNIX では,Classless. れる.. Rresult = f (Rall , d). (1). ここで,Rall はサービスのポリシを記述するルール 群に対応する分類レコード群を,d は処理する各デー タを表す.KUPF はパラメータフィルタを,第 1 ス テージ (2) と第 2 ステージ (3) の 2 段階の処理に分割 600. Table 1. 表 1 分類レコードの例 Example of classification records.. record R1 R2 R3 R4. bits/mask 0000/0000 0000/1001 0100/0110 0100/0110. range 0–100 4–5 4–6 94–95. action A1 A2 A3 A4.
(3) 論文/仮想包囲方形に基づくパラメータフィルタの設計と実装. Inter-Domain Routing(CIDR)[3], Variable Length Subnet Mask(VLSM)[4] が必要とする最長一致検索 を効率良く検索するために,Radix Tree [5] を採用し ている.Radix Tree は,マスク付きアドレスの経路表 から経路を効率良く検索できる.しかし,Radix Tree. 元空間上のデータ領域を最小包囲方形(MBR; Minimum Bounding Rectangle)で表現する.MBR は,. の特性上,検索空間は 1 次元であり,利用は単一アド. を対角とする長方形となる.MBR 利用により,複雑な. データ領域を包囲する方形で,かつ各辺が空間軸に平行 である領域である.2 次元上の MBR の例を図 1 に示 す.斜線領域の MBR は,2 点 P1 (x1 , y1 ), P2 (y1 , y2 ). レス空間上の検索に限定される.パラメータフィルタ. データ領域を簡単化して表現できる.R-tree はデータ. は一般に複数パラメータで構成される多次元のフィル. 領域の MBR を葉ノードとした多分木である(図 2).. タルールをもつため,Radix Tree のような 1 次元空. 各ノードは MBR と複数の子ノードへのポインタを. 間を対象とした従来の経路検索手法は適用できない.. 要素とする.各ノードの MBR は,子ノードの MBR. そのため,KUPF では第 1 ステージにおいて逐次検. すべてを含む MBR とする.根ノードは全データ領域. 索を用いており,多数の分類レコードある場合に処理. を含む MBR となる.データ検索時は,根ノードから. 時間が長くなる要因となっている.. 葉ノードまで順に,検索データのオブジェクトと交差 する MBR を要素とするノードをたどっていく.検索. 3. R*-tree. データの領域と葉ノードのデータ領域が交差すれば,. 多次元空間上で効率的に検索できる手法として R-. 検索結果となる.図 2 の “×” で示された点で表され. tree [6] が知られている.R-tree は多次元空間上の領 域を包囲方形で表し,その包囲方形を葉ノードとする. るデータを検索するとき,探索木のノードを (1) → (2) → (3) → の順にたどる.方形 R13 のオブジェク. 階層化された探索木を用いて検索する.R*-tree [2] は. ト(斜線部分)と点 “×” を比較すると交差しており,. R-tree の改良手法で,データ挿入アルゴリズムの改善. 検索結果となる.. により性能を向上させている.. R-tree は,データの扱いを容易にするために,多次. 4. R*-tree の パ ラ メ ー タ フィル タ へ の 適用 R*-tree はデータオブジェクトをすべて MBR で表 現する.そのため,パラメータフィルタに R*-tree を 適用するには,フィルタルールを多次元空間上の方形 で表現する必要がある.フィルタルールのパラメータ には以下の特性がある.. 図 1 MBR の例. Fig. 1 An example of MBR.. •. パラメータごとに定義域が著しく異なる.. •. パラメータの区間がフィルタごとに著しく異な. る.特に,あらゆるデータに適合するワイルドカード. 図 2 R-tree の構成 Fig. 2 Structure of R-tree.. 601.
(4) 電子情報通信学会論文誌 2004/5 Vol. J87–D–I No. 5. は,全区間のパラメータになる.. •. 1 次元上の区間で表現できないパラメータが. ある. これらの特性は,各パラメータを多次元空間上の各次 元の区間に変換するとき,探索木を構築するときの問 題となる.本提案では,仮想包囲方形(VBR; Virtual. Bounding Rectangle)[7] の導入,パラメータフィル タに適したデータ挿入アルゴリズムの適用によりこれ らの問題を解決した.. 4. 1 仮想包囲方形を用いた正規化 パラメータフィルタでは,パラメータごとに著しく 異なる定義域のパラメータを扱う.一例として TCP,. UDP のポート番号と IPv6 アドレスがある.TCP, UDP ポート番号は符号なし 16 ビット長整数で,IPv6 アドレスは 128 ビット長のビット列である.ビット列 は整数とみなすことが可能だが,16 ビット長と 128 ビット長では定義域の広さが著しく異なる.R*-tree. 在し,式 (4) が成立するとき,X ,Y はマスク M に おいてビットマスク一致する.. xi · mi = bi · mi (i = 1, . . . , n). (4) ✷. ビットマスク一致は各ビットごとの比較であるため, パラメータそのものを座標軸上の区間で表現できない. パラメータを VBR の 1 辺として扱うために,ビット 列中の ‘0’, ‘1’ の数に着目したビットマスク一致の区 間表現を提案する.はじめに以下の関数を定義する.. . f (x) =. −1 +1. . f0 (b, m) =. f1 (b, m) =. (x = 0) (x = 1). (5). +1. (b = 1 ∧ m = 1). −1. (otherwise). −1 +1. (b = 0 ∧ m = 1) (otherwise). (6). (7). の探索木構築には,ノードを挿入するノードの選択, ノードを分割する軸の選択において Area, Length,. Margin の値を使う.軸ごとに単位が異なり定義域が 著しく異なる場合,これらの値は定義域が広い軸の影 響を多く受ける.そのため,方形の分割は定義域の広. X と B がマスク M においてビットマスク一致する とき,X = {x1 , x2 , . . . , xn },B = {b1 , b2 , . . . , bn }, M = {m1 , m2 , . . . , mn } として次式が成立する. f0 (bi , mi ) ≤ f (xi ) ≤ f1 (bi , mi ),. い軸に偏り,検索性能が低下する.性能改善には Area,. Length, Margin の正規化が有効である [8]. 本論文では,仮想包囲方形(VBR; Virtual Bounding Rectangle)[7] の導入による正規化を提案する. VBR は,MBR を包含し,かつ近似する方形で,親 ノードを基準とした各次元のサイズが数ビットの相対. (8). (i = 1, 2, . . . , n) これより,ビットマスク一致の必要条件として以下が 得られる.. . f0 (bi , mi ) ≤. 1≤i≤n. . f (xi ) ≤. 1≤i≤n. . f1 (bi , mi ). 1≤i≤n. 座標によりノードの方形を表す.VBR は座標値を少. (9). ないビット数データに近似することでデータ処理を軽 減する提案だが,我々は,子ノードの方形を相対座標. マスク M におけるビットマスク一致より多くの値に. に変換することに着目した.親ノードを基準とした相. 一致するマスクとして,マスク M のビットの一つを 0 にしたマスク M = {m1 , m2 , . . . , mn } を考える. ある j(1 ≤ j ≤ n) について次式が成立する.. 対座標を次元ごとに定義域の異なる探索木に用いれば, 親ノードごとに Area, Length, Margin が正規化され る.これにより,定義域の格差を要因とする探索木の 偏りを解消できる.. 4. 2 ビットマスク一致の区間表現. f0 (bj , mj ) = f0 (bj , mj ) − 1 f1 (bj , mj ) = f1 (bj , mj ) + 1. ビット列からなるパラメータを考えるとき,特定の. f0 (bi , mi ) = f0 (bi , mi ). ビットの ‘0’, ‘1’ に注目してパラメータを比較するこ. f1 (bi , mi ) = f1 (bi , mi ). とがある.IP ヘッダの ToS フィールドのビット値に. (1 ≤ i ≤ n ∧ i = j). るパケット分類はこの一例である.ビット単位のパラ メータ比較をビットマスク一致と呼ぶ. [定義 1] n ビット長ビット列 X = {x1 , x2 , . . . , xn },. Y = {y1 , y2 , . . . , yn },M = {m1 , m2 , . . . , mn } が存 602. ゆえに,. . 1≤i≤n. f0 (bi , mi ) <. 1≤i≤n. f0 (bi , mi ). (10).
(5) 論文/仮想包囲方形に基づくパラメータフィルタの設計と実装. . f1 (bi , mi ) <. 1≤i≤n. . f1 (bi , mi ). (11). 1≤i≤n. したがって,ビットマスク一致は式 (9) の第 1 項を 下限,第 3 項を上限とする区間で表現できる.この 区間表現を用いて,ビットマスク一致のパラメータを. VBR の 1 辺に変換する. 4. 3 手続き ChooseSplitIndex と交差面積 一つの親ノードの子ノードが上限を超えると,親ノー ドが二つに分割される.子ノードをどちらの親ノード に分配するか決めるとき,手続き ChooseSplitIndex が使われる.この手続きは,分割した領域の交差領域 の面積(交差面積)が最小となる分割を選択する.定 義域の全区間を辺とする MBR をもつ子ノードがある 場合,小さな MBR をもつ子ノードが全区間を辺とす る MBR と同じ親ノードに分配される.図 3 で方形. R1 は 2 辺が全区間を辺とする MBR,方形 R2, R3 は 小さな方形の MBR とする.R2, R3 は横長の長方形 で,互いの一部が重なっている.これら三つの方形を 二つに分割する. (R1), (R2, R3)の二つに分割する場 合,交差領域は R2 と R3 を含む MBR となる. (R1,. R2), (R3)若しくは(R1, R3), (R2)の二つに分割 する場合,交差領域はそれぞれ R3 若しくは R2 の方 形となる.そのため,分割した領域の交差領域が最小 となる分割を選択すると,R2 若しくは R3 のどちら かが R1 と同じ親ノードに分配される. 以上の理由により,全区間を辺とする MBR をもつ 子ノードの親ノードは,他の子ノードをノード数の上 限までもつ.同じ親ノードの子ノードが別の次元の辺 で大きな区間をもつ場合,互いに引き寄せ合うため, 巨大な MBR をもつノードは分割されない一方で,隣 接する小さな MBR をもつノードは分割される.その ため,探索木でノードが特定のノードの下に偏り,検 索性能が低下する.パラメータフィルタでは,ワイル ドカードにより全区間が頻繁に現れるため,この問題. ノード分割時のノードの偏りを避けるために,子ノー ド数を考慮した交差領域の比較法を提案する.R*-tree では交差面積の値をそのまま比較するが,これを面 積が小さい MBR をもつ方の親ノードの子ノード数 で割った値で比較する.この比較法は,小さい MBR をもつ親ノードの子ノード数について,1 ノード当り の交差面積で比較するため,交差面積が倍となっても ノード数増加が倍以下となる分割が選択される.図 3 では, (R1), (R2, R3)の交差面積は 2 で割り, (R1,. R2), (R3)若しくは(R1, R3), (R2)の領域は 1 で 割り,比較する.この場合, (R1), (R2, R3)の分割が 選択される.これにより,隣接する小さな MBR 群が 巨大な MBR から分離される. 4. 4 手続き ChooseSubtree と交差コスト,領域 コスト 手続き ChooseSubtree は,探索木にデータを挿入 する部分木を決定する.この手続きは,挿入データの. MBR をある子ノードに追加したときに,子ノード間 の交差領域の面積増加(交差コスト),子ノードの方 形領域の面積増加(領域コスト)が最小となる子ノー ドを選択する.ある子ノード N の MBR が定義域の 全領域となる場合,その MBR はそれ以上大きくなら ないため,ノード N を選択した場合の交差コスト,領 域コストは挿入データに関係なく 0 となる.したがっ て,手続き ChooseSubtree は常にノード N を選択す るため,探索木に偏りが生じる.パラメータフィルタ では,ワイルドカードにより全区間が頻繁に現れるた め,この問題が顕在化する. データ挿入時に全領域方形と小さな方形が分割され るように,追加されるノードの交差面積,領域面積を 考慮した交差コスト,領域コストの算出法を提案する.. R*-tree ではノード追加前から追加後の面積増加をコ ストと考え,次式によりにコストを算出する.. (交差コスト) = (ノード追加後交差面積) − (ノード追加前交差面積) (12). が顕在化する.. (領域コスト) = (ノード追加後領域面積) − (ノード追加前領域面積) (13) 本提案では,ノード追加前から追加後の面積増加に加 えて,追加されるノードについて追加される前から追 加された後の面積増加もコストと考え,次式によりコ ストを算出する. 図 3 手続き ChooseSplitIndex と交差面積 Fig. 3 Procedure ChooseSplitIndex and overlap area.. (交差コスト) = 2 · (ノード追加後交差面積) 603.
(6) 電子情報通信学会論文誌 2004/5 Vol. J87–D–I No. 5. . − (ノード追加前交差面積) − (追加ノード交差面積). (14). v1 = q0 +. r1 (q1 − q0 ) p1 − p0. (17). (領域コスト) = 2 · (ノード追加後領域面積). 図 4 は,R1 , R2 , R3 がある探索木のノードが分割. − (ノード追加前領域面積). される様子を示している.4. 3 の算出法による子ノー. − (追加ノード領域面積). (15). ド数を考慮した交差面積を表 3 に示す.これより,交 差面積が最小の (R1 ), (R2 , R3 ) の分割が選択される.. これにより,領域面積の大きい子ノードへ挿入データ. 図 5 は,R1 , R2 , R4 がある探索木に R3 が挿入さ. の MBR を追加する場合のコストが大きくなり,定義. れる様子を示している.4. 4 の式 (14),(15) による. 域の全領域を MBR とするノードから小さな MBR を. 交差コスト,領域コストを表 4 に示す.これより,交. もつノードが分離される.. 差コストが最小の R2 の部分木が選択される.. 4. 5 探索木の作成 表 1 の分類レコードを用いて,探索木のノード分. 5. 評. 価. 割,データ挿入部分木の決定を説明する.この説明で. 本提案の効果を検証するために,VBR を用いた. は,仮想包囲方形の座標値を −4 から +4 の整数値. KUPF(KUPF-VR)を実装し,従来手法との比較実 験を行った.比較対象として,従来の KUPF と IP パ ケット処理に特化した ALTQ [9] を用いた.. とする.R1 を基準とした,仮想包囲方形の座標軸上 の区間を表 2 に示す.ビットマスク一致の区間は,式. (9) により得られる.範囲一致の区間は範囲を 0 から. 5. 1 測定システム. 100 の値域から −4 から 4 の整数値に正規化した値で, p0 = 0,p1 = 100,q0 = −4,q1 = 4 として,範囲 r0 –r1 に対して次式により [v0 , v1 ] と得られる.. 性 能 測 定 ネット ワ ー ク を 図 6 に 示 す.Sender,. v0 = q0 +. Table 2 record R1 R2 R3 R4. r0 (q1 − q0 ) p1 − p0. 表3 交差面積 Table 3 Overlap area.. (16). division (R1 ), (R2 , R3 ) (R1 , R2 ), (R3 ) (R1 , R3 ), (R2 ). overlap area(R*-tree) 3(6) 4(4) 4(4). 表 2 仮想包囲方形の例 Example of virtual bounding rectangle. bits/mask 0000/0000 0000/1001 0100/0110 0100/0110. interval range [−4, 4] 0–100 [−4, 0] 4–5 [−2, 2] 4–6 [−2, 2] 94–95. interval [−4, 4] [−4, −3] [−4, −3] [3, 4]. Fig. 5. 図 5 挿入部分木選択 Choosing insertion subtree.. 表 4 交差コスト,領域コスト Table 4 Overlap cost and area cost.. 図 4 ノード分割 Fig. 4 Splitting node.. 604. subtree overlap cost(R*-tree) area cost(R*-tree) R1 6(0) 60(0) R2 4(2) 4(2) R4 10(6) 8(4).
(7) 論文/仮想包囲方形に基づくパラメータフィルタの設計と実装 表 6 実験に用いたフィルタ Table 6 Filter for experiments. filter interface protocol dst. address IPv4 host fxp0 UDP 192.168.4.0 – IPv4 net fxp0 UDP 192.168.4.0/28 – fxp0 UDP fec0:0:0:4::0 – IPv6 host IPv6 net fxp0 UDP fec0:0:0:4000::/64 –. dst. port 10,000 – 10,099 10,000 – 10,099 10,000 – 10,099 10,000 – 10,099. レス・フローラベルがワイルドカードのフィルタは, ワイルドカード用の線形リストに保持する.検索時に は,パケットの終点アドレス,フローラベルからハッ シュ値を求め,ハッシュ値に対応する線形リストを逐 図 6 測定ネットワーク Fig. 6 Network for measurement.. 次検索する.ハッシュ値に対応する線形リストで検索 が失敗した場合は,ワイルドカード用の線形リストを. Table 5. 表5 実験環境 Environment of experiments.. CPU Memory Interface OS. Pentium III (1 GHz) 512 Mbytes Intel i82559 NetBSD 1.6.1. 逐次検索する.ALTQ は,IPv4 host フィルタにおい てはフィルタ数に関係なくほぼ一定の処理時間を維持 しているが,IPv4 network, IPv6 host/network にお いてはフィルタ数の増加につれて処理時間が急激に増 加している.ネットマスク長が 32 の IPv4 アドレスの フィルタに対してのみ,ALTQ はハッシュテーブルに. Router, Receiver の 性 能 は 表 5 の と お り で あ る . Sender から送 出されたテストパ ケットは ,Router で IP 転送され Receiver に届く.Router 入力時にパ ケットはフィルタルールに従って分類され,IP ヘッダ 中の ToS フィールドの値が書き換えられる.テストパ ケットは,毎秒 1,000 パケット送出し,終点アドレス, 終点ポートを 1 パケットおきに変化させた.パケット の分類と ToS フィールド書換えの処理時間を RDTSC (Read Time-Stamp Counter)命令を用いて測定し た.測定結果として,100 回の計測の平均値 14 サンプ ル中の中間値 10 サンプルの平均値を用いた.1 ノード 当りの子ノード数の上限値は 50,下限値は 20 とした.. 5. 2 測 定 結 果 従来手法との比較を行うため,表 6 のフィルタを 用いて処理時間を測定した.測定結果を図 7 に示す. グラフの “(M)”,“(N)” は,テストパケットの違いを. よる高速化が有効に働いたため,この結果が得られた と考えられる.これに対して,KUPF-VR は IP アド レスに特化しない高速化を行っているため,フィルタ の違いに関係なく処理時間が同じ傾向を示している.. KUPF-VR は ALTQ に比べ,フィルタ数の増加によ る処理時間の増加は緩やかである.そのため,ALTQ 処理時間がほぼ一定の IPv4 host を除き,フィルタ数 が多い場合は KUPF-VR が優れた性能を示している. インターネット上で維持されている全経路数は約. 124,000 経路 [10] である.IPv4 host フィルタにおい て,全経路数にほぼ等しい 100,000 経路までフィルタ 数を増やした場合の結果を図 9 に示す.この結果は, フィルタ数が 100,000 を超えるとき,フィルタに適合 しないパケットの処理時間が逆転し,KUPF-VR の方 が優れていることを示す.. 5. 3 メモリ使用量. 表し,それぞれいずれかのフィルタに適合する場合. KUPF-VR は探索木を構築するため,KUPF に比. と,いずれのフィルタにも適合しない場合を示す.い. べメモリ使用量が増加する.表 7 に KUPF と KUPF-. ずれのフィルタにおいても,KUPF-VR は KUPF に. ALTQ の比較を図 8 に示す.ALTQ は,IPv4 の場合. VR のメモリ使用量を示す.IPv4 network フィルタ の場合,KUPF-VR は探索木のために,1 ノード当り 164 バイトを KUPF より多く使用する.100,000 フィ. にはネットマスク長が 32 の終点アドレス,IPv6 の場. ルタを登録する場合,探索木の高さごとのノード数. 合にはフローラベルから生成したハッシュ値ごとの線. を 100,000 ノード,3,000 ノード,100 ノード,1 ノー. 形リストにフィルタを保持する.終点アドレスのネッ. ドとして,KUPF-VR は約 200 M バイトを使用する.. トマスク長が 32 でないフィルタ,若しくは終点アド. 今日のインターネット上の基幹ルータは 100 M バイト. 比べ性能が改善していることが分かる.KUPF-VR と. 605.
(8) 電子情報通信学会論文誌 2004/5 Vol. J87–D–I No. 5. Fig. 7. 図 7 フィルタ数に対する処理時間変動 Processing time with varying number of filters.. 程度から数百 M バイトのメモリを実装している.そ. 正規化し,パラメータを仮想的な多次元空間上の区間. のため,KUPF-VR を用いてインターネット上ので維. で表現する.これに多次元空間上の検索手法を適用し. 持されている全経路数とほぼ同数の 100,000 フィルタ. て,第 1 ステージの高速化を目指した.. を利用することも可能だと考えられる.. 6. 考. 察. KUPF は,2 段階処理モデルを導入することで,サー. 探索木は正規化されたパラメータをもとに構築され ているため,パラメータの種類に関係なく,同じ実装 で高速に検索することが可能である.新しい種類のパ ラメータの KUPF-VR への導入は,パラメータを正. ビス非依存の第 1 ステージとサービス依存の第 2 ス. 規化するモジュールの実装だけで可能である.また,. テージにパラメータフィルタの処理を分離する.第 1. パラメータフィルタは汎用性が高いため,ハードウェ. ステージでは,サービスごとのポリシに依存する処理. ア実装を実現できた場合には多様なサービスに適用可. は必要ないが,整数値一致,ビットマスク一致,ビッ. 能である.. ト列プレフィックス一致等,様々なパラメータの比較. もう一つの方向として,特殊化による高速化がある.. 演算処理を行う.これら個々のパラメータの探索にお. ALTQ は,特定のパラメータをもとにしたハッシュ. いては,ハッシュテーブル,2 分木,区分木,基数探. テーブルで高速化を行っている.また,汎用化のため. 索などの高速化高速化手法があるが,複数のパラメー. のオーバヘッドがない.そのため,フィルタがそのパ. タを組み合わせた探索には適用できない.この問題を. ラメータのハッシュ値で適切に分散する場合は,非常. 解決するために,KUPF-VR ではパラメータをすべて. に高速に検索が行える.逆に,ハッシュ値が分散しな. 606.
(9) 論文/仮想包囲方形に基づくパラメータフィルタの設計と実装. Fig. 8. 図 8 フィルタ数に対する処理時間変動(ALTQ, KUPF-VR) Processing time with varying number of filters. (ALTQ, KUPF-VR). 表 7 メモリ使用量 Table 7 Memory usage. #filters KUPF 1 140 Bytes 100,000 14 MBytes. KUPF-VR 304 Bytes 200 MBytes. い場合は逐次探索となり,処理が遅くなる.また,新 しい種類のパラメータをフィルタに導入した場合,検 索処理の実装を変更する必要があり,そのパラメータ に適した効率化をしない限り高速化を望めない.. 7. 今後の課題 多様なサービスをネットワーク上で展開する場合, 図 9 IPv4 ホ ス ト フィル タ 数 に 対 す る 処 理 時 間 変 動 (ALTQ, KUPF-VR) Fig. 9 Processing time with varying number of filters for IPv4 hosts. (ALTQ, KUPF-VR). 当然サービスごとのポリシが競合する場合がある.競 合は,単一ノード内で発生する場合だけでなく,ネッ トワーク上の複数ノードが関係することで発生する場 合がある.この場合,ポリシの競合の発見は困難を伴 607.
(10) 電子情報通信学会論文誌 2004/5 Vol. J87–D–I No. 5. う.複雑化したネットワークの安定運用には,ネット. 対応するためには,KUPF においてもルーチングス. ワーク上の複数ノードを考慮したポリシ競合の検出が. ケーラビリティを考慮した実装の検討が必要である.. 必要である.パラメータフィルタのモデルにより,こ れらのポリシ競合の検証が可能になる.. 8. む す び. KUPF フレームワークはパラメータフィルタを抽. 本論文では,仮想的な包囲方形を導入した多次元空. 象化したモデルで実装しているため,汎用性が高い反. 間検索手法によるパラメータフィルタの高速化を提案. 面,処理速度性能が犠牲となっている.処理速度性能. した.仮想的な包囲方形は,フィルタルールを多次元. を向上させる手法としては,KUPF 各ステージごと. 空間上の方形で表現するとともに,探索木の構築を検. の高速化,ステージ間連携による高速化,ハードウェ. 索に適したものにする.本提案を実装した KUPF-VR. ア処理導入による高速化がある.第 1 ステージ高速化. は,従来の KUPF の検索速度を向上させ,IP パケッ. は,本研究により検索速度高速化を実現した.第 2 ス. ト処理に特化した ALTQ に比べてもフィルタルール. テージはサービス依存の個別実装となるため,KUPF. が多い場合に性能が上回ることが明らかになった.. フレームワークとして第 2 ステージ単体での高速化は できない.. KUPF-VR 探索木は正規化されたパラメータをも とに構築されているため,パラメータの種類に関係な. これに対し,第 1 ステージ処理中に第 2 ステージ. く,同じ実装で高速に検索することが可能である.新. の呼出しを先読み的に実行することで,ステージ間連. しい種類のパラメータの KUPF-VR への導入は,パ. 携による高速化の余地がある.例えば,最善一致検索. ラメータを正規化するモジュールの実装だけで可能で. において,ある分類レコードが入力データの条件を満. ある.本研究による改善は,複数のサービスポリシに. たす場合,この分類レコードより一致度が低い分類レ. 対応可能な一般化した通信データ分類機構の実現を目. コード検索を省略することよる最適化が可能である.. 指す KUPF の目標に適していると考えられる.. パラメータフィルタ外部の最適化としては,複数の. 本提案は,KUPF 第 1 ステージを改良することで. サービス処理機構による個別の分類機構をパラメータ. 性能向上を図ったが,第 2 ステージに変更はなく改良. フィルタとして KUPF に集約することで,重複する. の余地がある.KUPF は第 1 ステージ,第 2 ステー. 処理の効率化が考えられる.. ジが独立した構成である.この構成は,モデルに忠実. KUPF-VR は仮想包囲方形導入によりパラメータ比. な実装であるが,検索速度性能向上の妨げとなってい. 較を単純化している.そのため,ハードウェア処理導. る.今後,第 2 ステージを改良し,第 1 ステージと連. 入はパラメータの柔軟性が高いにもかかわらず比較的. 携することで,更に性能を向上させる予定である.ま. 容易だと考えられる.今後,これらの手法を組み合わ. た,多様なサービスをネットワーク上で展開する際に. せることで,KUPF の汎用性を維持しつつ処理速度の. 必要な,ポリシ競合を検出するシステム実現について. 向上が達成できると考える.. 可能性を探りたい.. 従来,ルーチングスケーラビリティは経路表と経路 制御プログラムの処理能力で述べられてきた.経路表. 文 [1]. 献. M. Kakiuchi, N. Morishima, Y. Nakamura, K.. に保持可能な経路数と,IP 転送時の終点アドレスか. Fujikawa, and H. Sunahara, “KUPF: 2-phase selec-. らの経路表検索の所要時間が大きな要因であった.し. tion model of classification records,” Proc. 2003 Symposium on Applications and the Internet Workshops,. かし,今日では始点アドレス偽装確認のための始点ア ドレスによる経路表検索も行われ,経路表の処理項目. pp.262–265, Orlando, United States, Jan. 2003. [2]. N. Beckmann, H.P. Kriegel, R. Schneider, and B.. が増えている.更にこれより複雑なポリシールーチン. Seeger, “The R*-tree: An efficient and robust access. グ,パケットフィルタリング等を行う場合,複数のパ. method for points and rectangles,” Proc. 1990 ACM SIGMOD International Conference on Management. ラメータを扱う必要があるために経路表だけでは機能. of Data, pp.322–331, Atlantic City, United States,. が足りず,アクセスリスト等のパケット分類機構が必 要である.これらの処理を基幹ルータのルーチングス. 1990. [3]. inter-domain routing (CIDR): An address assignment. ケーラビリティと同程度で処理しようとすると,ソフ トウェア処理によるアクセスリストでは処理できず, 高価なハードウェアが必要となる.このような分野に 608. V. Fuller, T. Li, J. Yu, and K. Varadhan, “Classless and agg regation strategy,” RFC 1519, Sept. 1993.. [4]. P. Almquist and F. Kastenholz, “Towards requirements for IP routers,” RFC 1716, Nov. 1994..
(11) 論文/仮想包囲方形に基づくパラメータフィルタの設計と実装 [5]. K. Sklower, “A tree-based packet routing table for berkeley UNIX,” Proc. Winter ’91 USENIX Conference, pp.93–99, Dallas, United States, Jan. 1991.. [6]. A. Guttman, “R-trees: A dynamic index structure for spatial searching,” Proc. 1984 ACM SIGMOD International Conference on Management of Data, pp.47– 57, Boston, United States, 1984.. [7]. 櫻井保志,吉川正俊,植村俊亮,“仮想包囲矩形に基づく 多次元データ集合に対する近傍探索, ” 情処学論,vol.40, no.SIG03, pp.68–79, Feb. 1999.. [8]. [9]. 砂原. 秀樹 (正員). 1983 慶大・工・電気卒.1988 同大大学 院博士課程了.同年電通大・情報・助手. 1994 奈良先端科学技術大学院大学・情報科. 学センター・助教授を経て,2001 同教授. 工博.インターネット,大規模広域分散環 境,ネットワーク,並列処理,オペレーティ ングシステム,電子図書館に関する研究に従事.情報処理学会, ACM,IEEE,Internet Society 各会員.. 堀之口浩征,黒木 進,牧之内顕文,“時空間データベー スインデックス正規化 R*-tree の実装と性能テスト, ” 情 処学論,vol.40, no.3, pp.1225–1235, March 1999. K. Cho, “A framework for alternate queueing: Towards traffic management by PC-UNIX based routers,” Proc. USENIX 1998 Annual Technical Conference, New Orleans, United States, June 1998.. [10]. “CIDR report,” http://www.cidr-report.org/. (平成 15 年 9 月 1 日受付,12 月 12 日再受付). 垣内. 正年. 1998 阪大・工・応用物理卒.2000 奈良 先端科学技術大学院大学情報科学研究科博. 士前期課程了.2003 同大情報科学研究科・ 博士後期課程研究指導認定退学.2004 同 大情報科学センター・助手.インターネッ ト制御に関する研究に従事.情報処理学会 会員.. 森島. 直人. 1996 京大・工・数理卒.1998 奈良先端 科学技術大学院大学情報科学研究科博士前. 期課程了.通信会社の法人営業部門におけ る社内ネットワーク構築運用等の業務を経 て,2002 奈良先端科学技術大学院大学情 報科学研究科博士後期課程了.現在,同大 附属図書館研究開発室・助手.広域経路制御,トラヒック優先 制御などの研究を行う.また,WIDE Project のメンバとして 広域ネットワークの研究に従事し,特に西日本におけるネット ワークの管理運用を行っている.. 609.
(12)
図
+2
関連したドキュメント
の変化は空間的に滑らかである」という仮定に基づいて おり,任意の画素と隣接する画素のフローの差分が小さ くなるまで推定を何回も繰り返す必要がある
「文字詞」の定義というわけにはゆかないとこ ろがあるわけである。いま,仮りに上記の如く
2.1で指摘した通り、過去形の導入に当たって は「過去の出来事」における「過去」の概念は
目的 これから重機を導入して自伐型林業 を始めていく方を対象に、基本的な 重機操作から作業道を開設して行け
輸入貨物の包装(当該貨物に含まれるものとされる包装材料(例えばダンボール紙、緩衝
第五章 研究手法 第一節 初期仮説まとめ 本節では、第四章で導出してきた初期仮説のまとめを行う。
[r]
区内の中学生を対象に デジタル仮想空間を 使った防災訓練を実 施。参加者は街を模し た仮想空間でアバター を操作して、防災に関