(57)【要約】  本発明の実施例はルーティングテーブルのメンテナンス方法を開示し、前記方法は、更新対象であるＩＰＶ６ルーティングエントリ内のマスク長さに基づいて、ＩＰＶ６ルーティングテーブル内のマスクテーブルをクエリし、前記更新対象であるＩＰＶ６ルーティングエントリに対応するマスク構造を獲得することと、前記更新対象であるＩＰＶ６ルーティングエントリ及び前記更新対象であるＩＰＶ６ルーティングエントリに対応するマスク構造に基づいて、前記ＩＰＶ６ルーティングテーブル構造内のルーティングツリーを検索し、前記ルーティングツリーのバックトラッキングの開始ノードを取得することと、前記バックトラッキングの開始ノードから、前記ルーティングツリーの頂点へバックトラッキングし、前記更新対象であるＩＰＶ６ルーティングエントリの更新位置を取得し、前記更新対象であるＩＰＶ６ルーティングテーブル構造内のユニバーサルチェーンを更新することとを含む。本発明の実施例はさらに、ルーティングテーブルのメンテナンス装置及び記憶媒体を開示している。【選択図】図２
2017537566.tif 000002
【特許請求の範囲】
【請求項１】
ルーティングテーブルのメンテナンス方法であって、
更新対象であるＩＰＶ６ルーティングエントリ内のマスク長さに基づいて、ＩＰＶ６ルーティングテーブル内のマスクテーブルをクエリし、前記更新対象であるＩＰＶ６ルーティングエントリに対応するマスク構造を獲得することと、
前記更新対象であるＩＰＶ６ルーティングエントリ及び前記更新対象であるＩＰＶ６ルーティングエントリに対応するマスク構造に基づいて、前記ＩＰＶ６ルーティングテーブル構造内のルーティングツリーを検索し、前記ルーティングツリーのバックトラッキングの開始ノードを取得することと、
前記バックトラッキングの開始ノードから、前記ルーティングツリーの頂点へバックトラッキングし、前記更新対象であるＩＰＶ６ルーティングエントリの更新位置を取得することと、を含み、
前記ＩＰＶ６ルーティングテーブルは、マスク長さとマスク構造に対応する２次元のインデックステーブル及びルーティングツリーを含み、前記ルーティングツリーは非連続マスク分枝を切り取った後のルーティングツリーである、
前記ルーティングテーブルのメンテナンス方法。
【請求項２】
前記更新対象であるＩＰＶ６ルーティングエントリ及び前記更新対象であるＩＰＶ６ルーティングエントリに対応するマスク構造に基づいて、前記ＩＰＶ６ルーティングテーブル構造内のルーティングツリーを検索し、前記ルーティングツリーのバックトラッキングの開始ノードを取得することは、
前記ルーティングツリーの各中間ノードに記録されている方向情報に基づいて、前記更新対象であるＩＰＶ６ルーティングエントリと比較し、経路内の中間ノードの記録と合致する分枝の位置、及びバイトマスク特性と合致する葉ノードを獲得し、該葉ノードをバックトラッキングの開始ノードとすること、
を含む、請求項１に記載のルーティングテーブルのメンテナンス方法。
【請求項３】
前記バックトラッキングの開始ノードから、前記ルーティングツリーの頂点へバックトラッキングし、前記更新対象であるＩＰＶ６ルーティングエントリの更新位置を取得することは、
前記バックトラッキングの開始ノードから、前記更新対象である中間ノードの親中間ノードと子中間ノードをクエリすることと、
前記更新対象である中間ノードの親中間ノードと子中間ノードに対してそれぞれ検出を行い、前記ルーティングツリー上の前記更新対象である中間ノードの更新位置を決定することと、
前記ルーティングツリーで、前記更新対象である中間ノードと葉ノードを更新することと、を含み、
前記更新対象である中間ノードのキー値は前記更新対象であるＩＰＶ６ルーティングエントリのマスク長さであり、前記更新対象である中間ノードと葉ノードは、共に前記更新対象であるＩＰＶ６ルーティングエントリのキー値の属性を表す、
請求項１に記載のルーティングテーブルのメンテナンス方法。
【請求項４】
前記更新対象である中間ノードの葉ノードの兄弟ノードに対応するユニバーサルチェーン節点から、前記ルーティングツリーの中間ノード上にバックトラッキングし、前記更新対象であるＩＰＶ６ルーティングエントリに対応するマスク長さとバックトラッキングする時のルーティングツリーの中間ノードに対応するユニバーサルチェーン節点に基づいて、前記ユニバーサルチェーンを更新すること、
をさらに含む、請求項１〜３のいずれか１項に記載のルーティングテーブルのメンテナンス方法。
【請求項５】
ルーティングテーブルのメンテナンス装置であって、
更新対象であるＩＰＶ６ルーティングエントリ内のマスク長さに基づいて、ＩＰＶ６ルーティングテーブル内のマスクテーブルをクエリし、前記更新対象であるＩＰＶ６ルーティングエントリに対応するマスク構造を獲得するように構成されるクエリユニットと、
前記クエリユニットによって獲得された更新対象であるＩＰＶ６ルーティングエントリ及び前記更新対象であるＩＰＶ６ルーティングエントリに対応するマスク構造に基づいて、前記ＩＰＶ６ルーティングテーブル構造内のルーティングツリーを検索し、前記ルーティングツリーのバックトラッキングの開始ノードを取得するように構成される検索ユニットと、
前記検索ユニットによって取得されたバックトラッキングの開始ノードから、前記ルーティングツリーの頂点へバックトラッキングし、前記更新対象であるＩＰＶ６ルーティングエントリの更新位置を取得するように構成されるバックトラッキングユニットと、を含み、
前記ＩＰＶ６ルーティングテーブルは、マスク長さとマスク構造に対応する２次元のインデックステーブル及びルーティングツリーを含み、前記ルーティングツリーは非連続マスク分枝を切り取った後のルーティングツリーである、
前記ルーティングテーブルのメンテナンス装置。
【請求項６】
前記検索ユニットは、前記ルーティングツリーの各中間ノードに記録されている方向情報に基づいて、前記更新対象であるＩＰＶ６ルーティングエントリと比較し、経路内の中間ノードの記録と合致する分枝の位置、及びバイトマスク特性と合致する葉ノードを獲得し、該葉ノードをバックトラッキングの開始ノードとするように構成される、
請求項５に記載のルーティングテーブルのメンテナンス装置。
【請求項７】
前記バックトラッキングユニットは、前記バックトラッキングの開始ノードから、前記更新対象である中間ノードの親中間ノードと子中間ノードをクエリするように構成され、前記更新対象である中間ノードのキー値は前記更新対象であるＩＰＶ６ルーティングエントリのマスク長さであり、
前記バックトラッキングユニットはさらに、前記更新対象である中間ノードの親中間ノードと子中間ノードに対してそれぞれ検出を行い、前記ルーティングツリー上の前記更新対象である中間ノードの更新位置を決定するように構成され、
前記バックトラッキングユニットはさらに、前記ルーティングツリーで、前記更新対象である中間ノードと葉ノードを更新するように構成され、前記更新対象である中間ノードと葉ノードは、共に前記更新対象であるＩＰＶ６ルーティングエントリのキー値の属性を表す、
請求項５に記載のルーティングテーブルのメンテナンス装置。
【請求項８】
前記バックトラッキングユニットはさらに、前記更新対象である中間ノードの葉ノードの兄弟ノードに対応するユニバーサルチェーン節点から、前記ルーティングツリーの中間ノード上にバックトラッキングし、前記更新対象であるＩＰＶ６ルーティングエントリに対応するマスク長さとバックトラッキングする時のルーティングツリーの中間ノードに対応するユニバーサルチェーン節点に基づいて、前記ユニバーサルチェーンを更新するように構成される、
請求項５〜７のいずれか１項に記載のルーティングテーブルのメンテナンス装置。
【請求項９】
コンピュータ読み取り可能な記憶媒体であって、
請求項１〜４のいずれか１項に記載のルーティングテーブルのメンテナンス方法を実行するための命令セットを含む、前記コンピュータ読み取り可能な記憶媒体。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明はデータネットワーク通信技術に関し、特にルーティングテーブルのメンテナンス方法、装置及び記憶媒体に関する。
【背景技術】
【０００２】
インターネットプロトコルのバーション６（ＩＰＶ６：Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ  Ｖｅｒｓｉｏｎ  ６）の大規模のネットワーク構築の展開に伴い、合理的、効率的にｉｐｖ６のルーティングを管理することは、ルーターに関するソフトウェア設計の鍵になっている。ＩＰＶ６ルーティングの長さが１２８ビットであるため、Ｄｏｎａｌｄ  Ｒ．Ｍｏｒｒｉｓｏｎ氏により提案されたパトリシア（Ｐａｔｒｉｃｉａ）ツリーの構想に基づいて設計された基数（ｒａｄｉｘ）ツリーアルゴリズムは、非常に長い、可変長のキー値の処理に適している特性で、ＩＰＶ６のルーティング管理において優先的に選択されるアルゴリズムになっている。
【０００３】
但し、現在オープンソースのｒａｄｉｘツリーアルゴリズムは、ツリーアルゴリズムを用いて動的にマスクを生成して管理している。図１に示すような従来のオープンソースのｒａｄｉｘツリーアルゴリズムによって生成されたルーティングテーブルの構成構造から分かるように、ルーティングテーブルはマスクツリー、ルーティングツリー及びユニバーサルチェーンからなる。ここで、円形ノードは中間ノードを表し、背景色が真っ白になっているものが根ノードであり、背景色が横線の陰影になっているものが普通ノードであり、ノード内の数値が分枝の位置を表す。矩形ノードは葉ノードであり、背景色が真っ白になっているものが根ノードであり、背景色が陰影になっているものが普通ノードであり、ノード内の内容がルーティングプレフィックスとマスクである。六角形ノードはユニバーサルチェーン節点であり、ノード内の内容が該節点に対応するマスク長さである。また、該ルーティングツリーは非連続マスク分枝に対するサポートも含まれ、つまりルーティングツリーを検索する時に、非連続マスクの分岐に対して判断、処理を行う必要がある。
【０００４】
図１に示されているルーティングテーブルの構成構造から分かるように、毎回、ルーティングテーブルのメンテナンスの時に、対応するマスクが既に存在しているか否かを決定するために、マスクツリーのルックアップが必要である。また、ユニバーサルチェーンの管理などのメンテナンスの時にも、複雑なバイト比較とシフト演算を行ったため、アルゴリズムの時間複雑性を大きく増大させた。
【発明の概要】
【０００５】
上記の技術問題を解決するために、本発明の実施例は、ルーティングテーブルのメンテナンス方法、装置及び記憶媒体を提供して、空間複雑性を増大する前提で、時間複雑性を減らして、効率的にルーティングテーブルのメンテナンスを行うことにある。
【０００６】
本発明の実施例の技術案は下記のように実現される。
【０００７】
本発明の実施例はルーティングテーブルのメンテナンス方法を提供し、前記ルーティングテーブルのメンテナンス方法は、
更新対象であるＩＰＶ６ルーティングエントリ内のマスク長さに基づいて、ＩＰＶ６ルーティングテーブル内のマスクテーブルをクエリし、前記更新対象であるＩＰＶ６ルーティングエントリに対応するマスク構造を獲得することと、
前記更新対象であるＩＰＶ６ルーティングエントリ及び前記更新対象であるＩＰＶ６ルーティングエントリに対応するマスク構造に基づいて、前記ＩＰＶ６ルーティングテーブル構造内のルーティングツリーを検索し、前記ルーティングツリーのバックトラッキングの開始ノードを取得することと、
前記バックトラッキングの開始ノードから、前記ルーティングツリーの頂点へバックトラッキングし、前記更新対象であるＩＰＶ６ルーティングエントリの更新位置を取得することと、を含み、
前記ＩＰＶ６ルーティングテーブルは、マスク長さとマスク構造に対応する２次元のインデックステーブル及びルーティングツリーを含み、前記ルーティングツリーは非連続マスク分枝を切り取った後のルーティングツリーである。
【０００８】
好ましくは、前記更新対象であるＩＰＶ６ルーティングエントリ及び前記更新対象であるＩＰＶ６ルーティングエントリに対応するマスク構造に基づいて、前記ＩＰＶ６ルーティングテーブル構造内のルーティングツリーを検索し、前記ルーティングツリーのバックトラッキングの開始ノードを取得することは、
前記ルーティングツリーの各中間ノードに記録されている方向情報に基づいて、前記更新対象であるＩＰＶ６ルーティングエントリと比較し、経路内の中間ノードの記録と合致する分枝の位置、及びバイトマスク特性と合致する葉ノードを獲得し、該葉ノードをバックトラッキングの開始ノードとすることを含む。
【０００９】
好ましくは、前記バックトラッキングの開始ノードから、前記ルーティングツリーの頂点へバックトラッキングし、前記更新対象であるＩＰＶ６ルーティングエントリの更新位置を取得することは、
前記バックトラッキングの開始ノードから、前記更新対象である中間ノードの親中間ノードと子中間ノードをクエリすることと、
前記更新対象である中間ノードの親中間ノードと子中間ノードに対してそれぞれ検出を行い、前記ルーティングツリー上の前記更新対象である中間ノードの更新位置を決定することと、
前記ルーティングツリーで、前記更新対象である中間ノードと葉ノードを更新することと、を含み、
前記更新対象である中間ノードのキー値は前記更新対象であるＩＰＶ６ルーティングエントリのマスク長さであり、前記更新対象である中間ノードと葉ノードは、共に前記更新対象であるＩＰＶ６ルーティングエントリのキー値の属性を表す。
【００１０】
好ましくは、前記ルーティングテーブルのメンテナンス方法はさらに、前記更新対象である中間ノードの葉ノードの兄弟ノードに対応するユニバーサルチェーン節点から、前記ルーティングツリーの中間ノード上にバックトラッキングし、前記更新対象であるＩＰＶ６ルーティングエントリに対応するマスク長さとバックトラッキングする時のルーティングツリーの中間ノードに対応するユニバーサルチェーン節点に基づいて、前記ユニバーサルチェーンを更新することを含む。
【００１１】
一方、本発明の実施例はルーティングテーブルのメンテナンス装置を提供し、前記ルーティングテーブルのメンテナンス装置は、
更新対象であるＩＰＶ６ルーティングエントリ内のマスク長さに基づいて、ＩＰＶ６ルーティングテーブル内のマスクテーブルをクエリし、前記更新対象であるＩＰＶ６ルーティングエントリに対応するマスク構造を獲得するように構成されるクエリユニットと、
前記クエリユニットによって獲得された更新対象であるＩＰＶ６ルーティングエントリ及び前記更新対象であるＩＰＶ６ルーティングエントリに対応するマスク構造に基づいて、前記ＩＰＶ６ルーティングテーブル構造内のルーティングツリーを検索し、前記ルーティングツリーのバックトラッキングの開始ノードを取得するように構成される検索ユニットと、
前記検索ユニットによって取得されたバックトラッキングの開始ノードから、前記ルーティングツリーの頂点へバックトラッキングし、前記更新対象であるＩＰＶ６ルーティングエントリの更新位置を取得するように構成されるバックトラッキングユニットと、を含み、
前記ＩＰＶ６ルーティングテーブルは、マスク長さとマスク構造に対応する２次元のインデックステーブル及びルーティングツリーを含み、前記ルーティングツリーは非連続マスク分枝を切り取った後のルーティングツリーである。
【００１２】
好ましくは、前記検索ユニットは、前記ルーティングツリーの各中間ノードに記録されている方向情報に基づいて、前記更新対象であるＩＰＶ６ルーティングエントリと比較し、経路内の中間ノードの記録と合致する分枝の位置、及びバイトマスク特性と合致する葉ノードを獲得し、該葉ノードをバックトラッキングの開始ノードとするように構成される。
【００１３】
好ましくは、前記バックトラッキングユニットは、前記バックトラッキングの開始ノードから、前記更新対象である中間ノードの親中間ノードと子中間ノードをクエリするように構成され、前記更新対象である中間ノードのキー値は前記更新対象であるＩＰＶ６ルーティングエントリのマスク長さであり、
前記バックトラッキングユニットはさらに、前記更新対象である中間ノードの親中間ノードと子中間ノードに対してそれぞれ検出を行い、前記ルーティングツリー上の前記更新対象である中間ノードの更新位置を決定するように構成され、
前記バックトラッキングユニットはさらに、前記ルーティングツリーで、前記更新対象である中間ノードと葉ノードを更新するように構成され、前記更新対象である中間ノードと葉ノードは、共に前記更新対象であるＩＰＶ６ルーティングエントリのキー値の属性を表す。
【００１４】
好ましくは、前記バックトラッキングユニットはさらに、前記更新対象である中間ノードの葉ノードの兄弟ノードに対応するユニバーサルチェーン節点から、前記ルーティングツリーの中間ノード上にバックトラッキングし、前記更新対象であるＩＰＶ６ルーティングエントリに対応するマスク長さとバックトラッキングする時のルーティングツリーの中間ノードに対応するユニバーサルチェーン節点に基づいて、前記ユニバーサルチェーンを更新するように構成される。
【００１５】
本発明の実施例に提供されたルーティングテーブルのメンテナンス方法、装置及び記憶媒体によれば、ルーティングテーブルの構成構造に対する変更を通して、空間複雑性を増大する前提で、時間複雑性を減らして、効率的にルーティングテーブルのメンテナンスを行う目的を実現する。
【図面の簡単な説明】
【００１６】
【図１】従来オープンソースのｒａｄｉｘツリーアルゴリズムにより生成されるルーティングテーブルの構成構造を示す図である。
【図２】本発明の実施例に提供されるルーティングテーブルのメンテナンス方法のフローを示す図である。
【図３】本発明の実施例に提供されるＩＰＶ６ルーティングテーブルの構成構造を示す図である。
【図４】本発明の実施例に提供される更新対象であるＩＰＶ６ルーティングエントリの構造を示す図である。
【図５】本発明の実施例に提供される他のルーティングテーブルのメンテナンス方法のフローを示す図である。
【図６】本発明の実施例に提供される他のＩＰＶ６ルーティングテーブルの構成構造を示す図である。
【図７】本発明の実施例に提供されるルーティングテーブルのメンテナンス装置の構成を示す図である。
【発明を実施するための形態】
【００１７】
本発明の実施例の図面を結合して、本発明の実施例の技術案を明確的、全面的に説明する。
【００１８】
本発明の実施例の基本的な構想は、従来のＩＰＶ６ルーティング管理をサポートするｒａｄｉｘツリーのアルゴリズムに用いられているマスクツリーを静的な配列に変更し、また、ｒａｄｉｘツリーの非連続マスクに関する判断と処理の分岐を切り取ることであり、それによって、空間複雑性を増大する前提で、時間複雑性を減らして、効率的にルーティングテーブルのメンテナンスを行う目的を実現する。
【００１９】
図２は本発明の実施例に提供されているルーティングテーブルのメンテナンス方法のフローを示している。便宜上、本発明の実施例はルーティングテーブルのエントリの更新を例として説明し、ルーティングテーブルのエントリの削除とルーティングテーブルのエントリの追加が類似していると理解可能であり、本発明の実施例ではそれ以上記述しない。該方法は、Ｓ２０１〜Ｓ２０３を含むことが可能である。
【００２０】
Ｓ２０１において、更新対象であるＩＰＶ６ルーティングエントリ内のマスク長さに基づいて、ＩＰＶ６ルーティングテーブル内のマスクテーブルをクエリし、前記更新対象であるＩＰＶ６ルーティングエントリに対応するマスク構造を獲得する。
【００２１】
なお、本発明の実施例におけるＩＰＶ６ルーティングテーブルの構成構造は、図１に示されている従来技術のルーティングテーブルの構成構造と異なり、具体的に、図３に示されている本発明の実施例に提供されるＩＰＶ６ルーティングテーブルの構成構造を参照することが可能である。図１と比較すれば、まず、本発明の実施例では、ルーティングテーブル内のマスクツリーを、マスク長さとマスク構造に対応する２次元のインデックステーブルに変更し、本実施例においてはマスクテーブルとも称する。マスクテーブルの具体的な形式は、初期に設定されている１２９個のＳＯＣＫＥＴ構造のマスク要素を含む一つの２次元の静的な配列であっても良く、これについて本発明の実施例では具体的に限定しない。マスクツリーの代わりにマスクテーブルを用いることによって、マスクテーブルを記憶するために、余分に約３．５３ＫＢのスペース（即ち、１２９個のＳＯＣＫＥＴ構造のマスク要素の大きさ）を増やしたが、ルーティングメンテナンスにおいて、マスク構造のルックアップをツリーのルックアップからインデックステーブルの線形ルックアップに変更し、大きく時間複雑性を減少することが可能である。
【００２２】
次に、本発明の実施例では、ＩＰＶ６ルーティングテーブル構造のルーティングツリーの非連続マスクに関する処理分岐を予め切り取ることによって、ルーティングツリーに対するメンテナンスの中から、非連続マスクに対する判断と処理を取り除き、そのため、メンテナンスの時間複雑性をさらに減少することが可能である。
【００２３】
なお、本発明の実施例に提供される技術案を明確に説明するために、便宜上、本実施例において、更新対象であるＩＰＶ６ルーティングエントリがｆｆｆｆ：ｆｆｆｆ：ｆｆ００：：／４０であることを例とし、具体的に図４を参照する。当業者は、本発明の実施例に提供される技術案を、その他のＩＰＶ６ルーティングエントリの更新に適用することが可能であることを理解することが可能であり、本発明の実施例では具体的に限定しない。
【００２４】
Ｓ２０２において、前記更新対象であるＩＰＶ６ルーティングエントリ及び前記更新対象であるＩＰＶ６ルーティングエントリに対応するマスク構造に基づいて、前記ＩＰＶ６ルーティングテーブル構造内のルーティングツリーを検索し、前記ルーティングツリーのバックトラッキングの開始ノードを取得する。
【００２５】
一つの具体的な実施例において、Ｓ２０２は、具体的に、前記ルーティングツリーの各中間ノードに記録されている方向情報に基づいて、前記更新対象であるＩＰＶ６ルーティングエントリと比較し、経路内のすべての中間ノードの方向キー値要求と合致する一つの葉ノードを獲得し、該葉ノードをバックトラッキングの開始ノードとすることを含む。
【００２６】
本実施例において、具体的に、図３のルーティングツリーの各中間ノードに記録されている分枝の位置とバイトマスクに基づいて、葉ノードｆｆｆｆ：ｆｆｆｆ：ｆｆｆｆ：：／３０を取得することができる。
【００２７】
Ｓ２０３において、前記バックトラッキングの開始ノードから、前記ルーティングツリーの頂点へバックトラッキングし、前記更新対象であるＩＰＶ６ルーティングエントリの更新位置を取得する。
【００２８】
一つの具体的な実施例において、Ｓ２０３は、具体的に、下記を含むことが可能である。
【００２９】
まず、前記バックトラッキングの開始ノードから、前記更新対象である中間ノードの親中間ノードと子中間ノードをクエリし、ここで、前記更新対象である中間ノードのキー値が前記更新対象であるＩＰＶ６ルーティングエントリのマスク長さである。
【００３０】
次に、前記更新対象である中間ノードの親中間ノードと子中間ノードに対してそれぞれ検出を行い、前記ルーティングツリー上の前記更新対象である中間ノードの更新位置を決定する。
【００３１】
最後、前記ルーティングツリーで、前記更新対象である中間ノードと葉ノードを更新し、ここで、前記更新対象である中間ノードと葉ノードは、共に、前記更新対象であるＩＰＶ６ルーティングエントリのルーティングツリーに追加する必須属性を表し、本実施例においてキー値の属性が好ましい。
【００３２】
本実施例において、具体的に、図４に示されている更新対象であるＩＰＶ６ルーティングエントリｆｆｆｆ：ｆｆｆｆ：ｆｆ００：：／４０に対応している更新対象である中間ノードのキー値は４０であり、更新対象である中間ノードの左の葉ノードは更新対象であるＩＰＶ６ルーティングエントリｆｆｆｆ：ｆｆｆｆ：ｆｆ００：：／４０である。そのため、ｆｆｆｆ：ｆｆｆｆ：ｆｆ００：：／４０の更新位置を獲得することは、下記のようになる。
【００３３】
まず、葉ノードｆｆｆｆ：ｆｆｆｆ：ｆｆｆｆ：：／３０からツリーの頂点へバックトラッキングし、更新対象である中間ノード４０をぴったり挟むことができる二つの内部ノードを探し、更新対象である中間ノード４０の親中間ノード３２と子中間ノード４８をクエリして獲得する。
【００３４】
次に、親中間ノード３２に対して検出を行い、更新対象である中間ノード４０を親中間ノード３２の右サブツリー上に更新すべきであることを知ることができる。そのため、新しく更新する中間ノードの分枝の位置が４０である。
【００３５】
最後、更新対象である中間ノード４０の左の子ノードは新しい葉ノードであり、その値がｆｆｆｆ：ｆｆｆｆ：ｆｆ００：：／４０である。更新対象である中間ノード４０の右の子ノードは中間ノード４８を根とするサブツリーである。
【００３６】
上記Ｓ２０１〜Ｓ２０３を通して、一回のルーティングテーブルのエントリの更新が完了する。その中、マスク構造のルックアップをツリーのルックアップからインデックステーブルの線形ルックアップに変更し、また、ルーティングツリーの非連続マスクに対する判断と処理を取り除くことによって、時間複雑性を大きく減少することが可能である。
【００３７】
また、図５に示すように、ルーティングツリーのノードを更新した後に、本方法はさらに、Ｓ２０４を含む。
【００３８】
Ｓ２０４において、前記更新対象である中間ノードの葉ノードの兄弟ノードに対応するユニバーサルチェーン節点から、前記ルーティングツリーの中間ノード上にバックトラッキングし、前記更新対象であるＩＰＶ６ルーティングエントリに対応するマスク長さとバックトラッキングする時のルーティングツリーの中間ノードに対応するユニバーサルチェーン節点に基づいて、前記ユニバーサルチェーンを更新する。
【００３９】
本実施例において、具体的に、新しい葉ノードｆｆｆｆ：ｆｆｆｆ：ｆｆ００：：／４０の兄弟ノードから、即ち中間ノード４８から、上にルーティングツリーをバックトラッキングし、中間ノード４８に対応しているユニバーサルチェーン節点が存在しないため、中間ノード３２まで上にバックトラッキングを継続し、中間ノード３２がユニバーサルチェーン節点ｍｋｌｉｓｔ：／３２を指しているが、新しい葉ノードｆｆｆｆ：ｆｆｆｆ：ｆｆ００：：／４０に対応しているルーティングを、中間ノード３２を根とするサブツリーのユニバーサルルーティングとすることができないため、根ノードまで継続的に上にバックトラッキングしてからフローを終了する。新しい葉ノードｆｆｆｆ：ｆｆｆｆ：ｆｆ００：：／４０に対応しているルーティングが、必ず中間ノード４０を根とするサブツリーのユニバーサルルーティングであるため、ユニバーサルチェーン節点ｍｋｌｉｓｔ：／４０も中間ノードに対応しているユニバーサルチェーン節点である。
【００４０】
上記のＳ２０１〜Ｓ２０４によって、ルーティングテーブルのエントリの追加が完了し、図６を参照して、ルーティングテーブルのエントリを追加した後のルーティングテーブルの構成構造を示している。以上、ルーティングテーブルのエントリの追加を例としてルーティングテーブルのメンテナンスについて説明しているが、当業者にとって、創造的な労力を払わず、その他のルーティングテーブルに対するメンテナンスにも適用できることを理解することが可能であり、本発明の実施例において具体的な説明を省略する。
【００４１】
本発明の実施例はさらにコンピュータ読み取り可能な記憶媒体を提供し、該コンピュータ読み取り可能な記憶媒体が命令セットを含み、前記命令セットが前記ルーティングテーブルのメンテナンス方法を実行することに用いられる。
【００４２】
本発明の実施例に提供されるルーティングテーブルのメンテナンス方法は、ルーティングテーブルの構成構造に対する変更を行うことによって、空間複雑性を増大する前提で、時間複雑性を減らして、効率的にルーティングテーブルのメンテナンスを行う目的を実現する。
【００４３】
上記実施例と同様な技術構想によって、図７を参照し、本発明の実施例に提供されるルーティングテーブルのメンテナンス装置７０の構成を示している。該装置７０は、ＩＰＶ６ルーティング機能が付いているルーターに適用することが可能であり、図７に示すように、該装置７０は、クエリユニット７０１、検索ユニット７０２及びバックトラッキングユニット７０３を含むことが可能である。
【００４４】
クエリユニット７０１は、更新対象であるＩＰＶ６ルーティングエントリ内のマスク長さに基づいて、ＩＰＶ６ルーティングテーブル内のマスクテーブルをクエリし、前記更新対象であるＩＰＶ６ルーティングエントリに対応するマスク構造を獲得するように構成される。ここで、前記ＩＰＶ６ルーティングテーブルは、マスク長さとマスク構造に対応する２次元のインデックステーブル及びルーティングツリーを含み、前記ルーティングツリーは非連続マスク分枝を切り取った後のルーティングツリーである。
【００４５】
前記検索ユニット７０２は、前記クエリユニット７０１によって獲得された更新対象であるＩＰＶ６ルーティングエントリ及び前記更新対象であるＩＰＶ６ルーティングエントリに対応するマスク構造に基づいて、前記ＩＰＶ６ルーティングテーブル構造内のルーティングツリーを検索し、前記ルーティングツリーのバックトラッキングの開始ノードを取得するように構成される。
【００４６】
前記バックトラッキングユニット７０３は、前記検索ユニット７０２によって取得されたバックトラッキングの開始ノードから、前記ルーティングツリーの頂点へバックトラッキングし、前記更新対象であるＩＰＶ６ルーティングエントリの更新位置を取得するように構成される。
【００４７】
上記技術案において、前記検索ユニット７０２は、前記ルーティングツリーの各中間ノードに記録されている方向情報に基づいて、前記更新対象であるＩＰＶ６ルーティングエントリと比較し、中間ノードに記録されている方向キー値の要求と合致する葉ノードを獲得し、該葉ノードをバックトラッキングの開始ノードとするように構成される。
【００４８】
上記技術案において、前記バックトラッキングユニット７０３は、前記バックトラッキングの開始ノードから、前記更新対象である中間ノードの親中間ノードと子中間ノードをクエリするように構成され、ここで、前記更新対象である中間ノードのキー値が前記更新対象であるＩＰＶ６ルーティングエントリのマスク長さである。
【００４９】
前記バックトラッキングユニット７０３はさらに、前記更新対象である中間ノードの親中間ノードと子中間ノードに対してそれぞれ検出を行い、前記ルーティングツリー上の前記更新対象である中間ノードの更新位置を決定するように構成されるように構成される。
【００５０】
前記バックトラッキングユニット７０３はさらに、前記ルーティングツリーで、前記更新対象である中間ノードと葉ノードを更新するように構成され、ここで、前記更新対象である中間ノードと葉ノードは、共に、前記更新対象であるＩＰＶ６ルーティングエントリのキー値属性を表す。
【００５１】
上記技術案において、前記バックトラッキングユニット７０３はさらに、前記更新対象である葉ノードの兄弟ノードに対応するユニバーサルチェーン節点から、前記ルーティングツリーの中間ノード上にバックトラッキングし、前記更新対象であるＩＰＶ６ルーティングエントリに対応するマスク長さとバックトラッキングする時のルーティングツリーの中間ノードに対応するユニバーサルチェーン節点に基づいて、前記ユニバーサルチェーンを更新するように構成される。
【００５２】
本発明の実施例に提供されるルーティングテーブルのメンテナンス装置は、ルーティングテーブルの構成構造に対する変更を行うことによって、空間複雑性を増大する前提で、時間複雑性を減らして、効率的にルーティングテーブルのメンテナンスを行う目的を実現する。
【００５３】
実際応用において、前記クエリユニット７０１、検索ユニット７０２、バックトラッキングユニット７０３は、いずれも中央処理装置（ＣＰＵ）、マイクロプロセッサ（ＭＰＵ）、デジタルシグナルプロセッサ（ＤＳＰ）又は現場でのプログラム可能なゲートアレイ（ＦＰＧＡ）などによって実現されても良く、前記ＣＰＵ、ＤＳＰ、ＦＰＧＡがいずれもルーティングテーブルのメンテナンス装置に内蔵されることができる。
【００５４】
当業者にとって、本発明の実施例が方法、システム、またはコンピュータ製品として提供することが可能であることは明らかである。従って、本発明は、ハードウエア実施例、ソフトウエア実施例、またはソフトウエアとハードウエアとを組み合わせる実施例の形式を採用して可能である。また、本発明は、コンピュータでの使用可能なプログラムコードを含むコンピュータでの使用可能な、一つまたは複数の記憶媒体（磁気ディスク装置と光記憶装置などを含むが、それに限らない）上で、実施したコンピュータプログラム製品の形式を採用しても良い。
【００５５】
本発明は、本発明の実施例による方法、装置（システム）及びコンピュータプログラム製品のフローチャート及び／或いはブロック図を参照して記載されている。コンピュータプログラム命令によって、フローチャート及び／或いはブロック図の各々のフロー及び／或いはブロック、また、フローチャート及び／或いはブロック図中のフロー及び／或いはブロックとの結びつきを実現することを理解すべきである。これらのコンピュータプログラム命令を汎用コンピュータ、専用コンピュータ、埋め込みプロセッサ、またはその他のプログラム可能なデータ処理装置のプロセッサに提供して機器を作成し、コンピュータまたはその他のプログラム可能なデータ処理装置のプロセッサにより実行される命令を通して、フローチャートの一つまたは複数のフロー、及び／またはブロック図の一つのブロックまたは複数のブロックの中で指定された機能を実現するための装置を生成させることが可能である。
【００５６】
これらのコンピュータプログラム命令は、コンピュータまたはその他のプログラム可能なデータ処理装置に、特定の方式で動作させるコンピュータの読み取り可能な記憶装置に記憶してもよく、当該コンピュータの読み取り可能な記憶装置に記憶されている命令で命令装置を含む製品を生成させ、当該命令装置は、フローチャートの一つまたは複数のフロー、及び／またはブロック図の一つのブロックまたは複数のブロックで指定された機能を実現する。
【００５７】
これらのコンピュータプログラム命令は、コンピュータまたはその他のプログラム可能なデータ処理装置にインストールされてもよく、コンピュータで実現する処理を生成するように、コンピュータまたはその他のプログラム可能なデータ処理装置に、一連の操作ステップを実行させ、それによって、コンピュータまたはその他のプログラム可能なデータ処理装置で実行される命令は、フローチャートの一つまたは複数のフロー、及び／またはブロック図の一つのブロックまたは複数のブロックで指定された機能を実現するためのステップを提供する。
【００５８】
以上は本発明の好ましい実施例に過ぎなく、本発明の保護範囲を限定するものではない。
【産業上の利用可能性】
【００５９】
本発明の実施例によれば、ルーティングテーブルの構成構造に対する変更を行うことによって、空間複雑性を増大する前提で、時間複雑性を減らして、効率的にルーティングテーブルのメンテナンスを行う目的を実現する。
【図１】
2017537566.tif 000003
【図２】
2017537566.tif 000004
【図３】
2017537566.tif 000005
【図４】
2017537566.tif 000006
【図５】
2017537566.tif 000007
【図６】
2017537566.tif 000008
【図７】
2017537566.tif 000009
【国際調査報告】
2017537566.tif 000010
2017537566.tif 000011
2017537566.tif 000012
2017537566.tif 000013