JP2017537566A - ルーティングテーブルのメンテナンス方法、装置及び記憶媒体 - Google Patents
ルーティングテーブルのメンテナンス方法、装置及び記憶媒体 Download PDFInfo
- Publication number
- JP2017537566A JP2017537566A JP2017539484A JP2017539484A JP2017537566A JP 2017537566 A JP2017537566 A JP 2017537566A JP 2017539484 A JP2017539484 A JP 2017539484A JP 2017539484 A JP2017539484 A JP 2017539484A JP 2017537566 A JP2017537566 A JP 2017537566A
- Authority
- JP
- Japan
- Prior art keywords
- routing
- node
- updated
- intermediate node
- ipv6
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000012423 maintenance Methods 0.000 title claims abstract description 41
- 238000000034 method Methods 0.000 title claims abstract description 26
- 238000012545 processing Methods 0.000 description 10
- 238000004590 computer program Methods 0.000 description 6
- 238000010586 diagram Methods 0.000 description 6
- 238000001514 detection method Methods 0.000 description 2
- 230000003068 static effect Effects 0.000 description 2
- 241000712062 Patricia Species 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000012217 deletion Methods 0.000 description 1
- 230000037430 deletion Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/54—Organization of routing tables
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/48—Routing tree calculation
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/74—Address processing for routing
- H04L45/741—Routing in networks with a plurality of addressing schemes, e.g. with both IPv4 and IPv6
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本発明の実施例はルーティングテーブルのメンテナンス方法を開示し、前記方法は、更新対象であるIPV6ルーティングエントリ内のマスク長さに基づいて、IPV6ルーティングテーブル内のマスクテーブルをクエリし、前記更新対象であるIPV6ルーティングエントリに対応するマスク構造を獲得することと、前記更新対象であるIPV6ルーティングエントリ及び前記更新対象であるIPV6ルーティングエントリに対応するマスク構造に基づいて、前記IPV6ルーティングテーブル構造内のルーティングツリーを検索し、前記ルーティングツリーのバックトラッキングの開始ノードを取得することと、前記バックトラッキングの開始ノードから、前記ルーティングツリーの頂点へバックトラッキングし、前記更新対象であるIPV6ルーティングエントリの更新位置を取得し、前記更新対象であるIPV6ルーティングテーブル構造内のユニバーサルチェーンを更新することとを含む。本発明の実施例はさらに、ルーティングテーブルのメンテナンス装置及び記憶媒体を開示している。【選択図】図2
Description
本発明はデータネットワーク通信技術に関し、特にルーティングテーブルのメンテナンス方法、装置及び記憶媒体に関する。
インターネットプロトコルのバーション6(IPV6:Internet Protocol Version 6)の大規模のネットワーク構築の展開に伴い、合理的、効率的にipv6のルーティングを管理することは、ルーターに関するソフトウェア設計の鍵になっている。IPV6ルーティングの長さが128ビットであるため、Donald R.Morrison氏により提案されたパトリシア(Patricia)ツリーの構想に基づいて設計された基数(radix)ツリーアルゴリズムは、非常に長い、可変長のキー値の処理に適している特性で、IPV6のルーティング管理において優先的に選択されるアルゴリズムになっている。
但し、現在オープンソースのradixツリーアルゴリズムは、ツリーアルゴリズムを用いて動的にマスクを生成して管理している。図1に示すような従来のオープンソースのradixツリーアルゴリズムによって生成されたルーティングテーブルの構成構造から分かるように、ルーティングテーブルはマスクツリー、ルーティングツリー及びユニバーサルチェーンからなる。ここで、円形ノードは中間ノードを表し、背景色が真っ白になっているものが根ノードであり、背景色が横線の陰影になっているものが普通ノードであり、ノード内の数値が分枝の位置を表す。矩形ノードは葉ノードであり、背景色が真っ白になっているものが根ノードであり、背景色が陰影になっているものが普通ノードであり、ノード内の内容がルーティングプレフィックスとマスクである。六角形ノードはユニバーサルチェーン節点であり、ノード内の内容が該節点に対応するマスク長さである。また、該ルーティングツリーは非連続マスク分枝に対するサポートも含まれ、つまりルーティングツリーを検索する時に、非連続マスクの分岐に対して判断、処理を行う必要がある。
図1に示されているルーティングテーブルの構成構造から分かるように、毎回、ルーティングテーブルのメンテナンスの時に、対応するマスクが既に存在しているか否かを決定するために、マスクツリーのルックアップが必要である。また、ユニバーサルチェーンの管理などのメンテナンスの時にも、複雑なバイト比較とシフト演算を行ったため、アルゴリズムの時間複雑性を大きく増大させた。
上記の技術問題を解決するために、本発明の実施例は、ルーティングテーブルのメンテナンス方法、装置及び記憶媒体を提供して、空間複雑性を増大する前提で、時間複雑性を減らして、効率的にルーティングテーブルのメンテナンスを行うことにある。
本発明の実施例の技術案は下記のように実現される。
本発明の実施例はルーティングテーブルのメンテナンス方法を提供し、前記ルーティングテーブルのメンテナンス方法は、
更新対象であるIPV6ルーティングエントリ内のマスク長さに基づいて、IPV6ルーティングテーブル内のマスクテーブルをクエリし、前記更新対象であるIPV6ルーティングエントリに対応するマスク構造を獲得することと、
前記更新対象であるIPV6ルーティングエントリ及び前記更新対象であるIPV6ルーティングエントリに対応するマスク構造に基づいて、前記IPV6ルーティングテーブル構造内のルーティングツリーを検索し、前記ルーティングツリーのバックトラッキングの開始ノードを取得することと、
前記バックトラッキングの開始ノードから、前記ルーティングツリーの頂点へバックトラッキングし、前記更新対象であるIPV6ルーティングエントリの更新位置を取得することと、を含み、
前記IPV6ルーティングテーブルは、マスク長さとマスク構造に対応する2次元のインデックステーブル及びルーティングツリーを含み、前記ルーティングツリーは非連続マスク分枝を切り取った後のルーティングツリーである。
更新対象であるIPV6ルーティングエントリ内のマスク長さに基づいて、IPV6ルーティングテーブル内のマスクテーブルをクエリし、前記更新対象であるIPV6ルーティングエントリに対応するマスク構造を獲得することと、
前記更新対象であるIPV6ルーティングエントリ及び前記更新対象であるIPV6ルーティングエントリに対応するマスク構造に基づいて、前記IPV6ルーティングテーブル構造内のルーティングツリーを検索し、前記ルーティングツリーのバックトラッキングの開始ノードを取得することと、
前記バックトラッキングの開始ノードから、前記ルーティングツリーの頂点へバックトラッキングし、前記更新対象であるIPV6ルーティングエントリの更新位置を取得することと、を含み、
前記IPV6ルーティングテーブルは、マスク長さとマスク構造に対応する2次元のインデックステーブル及びルーティングツリーを含み、前記ルーティングツリーは非連続マスク分枝を切り取った後のルーティングツリーである。
好ましくは、前記更新対象であるIPV6ルーティングエントリ及び前記更新対象であるIPV6ルーティングエントリに対応するマスク構造に基づいて、前記IPV6ルーティングテーブル構造内のルーティングツリーを検索し、前記ルーティングツリーのバックトラッキングの開始ノードを取得することは、
前記ルーティングツリーの各中間ノードに記録されている方向情報に基づいて、前記更新対象であるIPV6ルーティングエントリと比較し、経路内の中間ノードの記録と合致する分枝の位置、及びバイトマスク特性と合致する葉ノードを獲得し、該葉ノードをバックトラッキングの開始ノードとすることを含む。
前記ルーティングツリーの各中間ノードに記録されている方向情報に基づいて、前記更新対象であるIPV6ルーティングエントリと比較し、経路内の中間ノードの記録と合致する分枝の位置、及びバイトマスク特性と合致する葉ノードを獲得し、該葉ノードをバックトラッキングの開始ノードとすることを含む。
好ましくは、前記バックトラッキングの開始ノードから、前記ルーティングツリーの頂点へバックトラッキングし、前記更新対象であるIPV6ルーティングエントリの更新位置を取得することは、
前記バックトラッキングの開始ノードから、前記更新対象である中間ノードの親中間ノードと子中間ノードをクエリすることと、
前記更新対象である中間ノードの親中間ノードと子中間ノードに対してそれぞれ検出を行い、前記ルーティングツリー上の前記更新対象である中間ノードの更新位置を決定することと、
前記ルーティングツリーで、前記更新対象である中間ノードと葉ノードを更新することと、を含み、
前記更新対象である中間ノードのキー値は前記更新対象であるIPV6ルーティングエントリのマスク長さであり、前記更新対象である中間ノードと葉ノードは、共に前記更新対象であるIPV6ルーティングエントリのキー値の属性を表す。
前記バックトラッキングの開始ノードから、前記更新対象である中間ノードの親中間ノードと子中間ノードをクエリすることと、
前記更新対象である中間ノードの親中間ノードと子中間ノードに対してそれぞれ検出を行い、前記ルーティングツリー上の前記更新対象である中間ノードの更新位置を決定することと、
前記ルーティングツリーで、前記更新対象である中間ノードと葉ノードを更新することと、を含み、
前記更新対象である中間ノードのキー値は前記更新対象であるIPV6ルーティングエントリのマスク長さであり、前記更新対象である中間ノードと葉ノードは、共に前記更新対象であるIPV6ルーティングエントリのキー値の属性を表す。
好ましくは、前記ルーティングテーブルのメンテナンス方法はさらに、前記更新対象である中間ノードの葉ノードの兄弟ノードに対応するユニバーサルチェーン節点から、前記ルーティングツリーの中間ノード上にバックトラッキングし、前記更新対象であるIPV6ルーティングエントリに対応するマスク長さとバックトラッキングする時のルーティングツリーの中間ノードに対応するユニバーサルチェーン節点に基づいて、前記ユニバーサルチェーンを更新することを含む。
一方、本発明の実施例はルーティングテーブルのメンテナンス装置を提供し、前記ルーティングテーブルのメンテナンス装置は、
更新対象であるIPV6ルーティングエントリ内のマスク長さに基づいて、IPV6ルーティングテーブル内のマスクテーブルをクエリし、前記更新対象であるIPV6ルーティングエントリに対応するマスク構造を獲得するように構成されるクエリユニットと、
前記クエリユニットによって獲得された更新対象であるIPV6ルーティングエントリ及び前記更新対象であるIPV6ルーティングエントリに対応するマスク構造に基づいて、前記IPV6ルーティングテーブル構造内のルーティングツリーを検索し、前記ルーティングツリーのバックトラッキングの開始ノードを取得するように構成される検索ユニットと、
前記検索ユニットによって取得されたバックトラッキングの開始ノードから、前記ルーティングツリーの頂点へバックトラッキングし、前記更新対象であるIPV6ルーティングエントリの更新位置を取得するように構成されるバックトラッキングユニットと、を含み、
前記IPV6ルーティングテーブルは、マスク長さとマスク構造に対応する2次元のインデックステーブル及びルーティングツリーを含み、前記ルーティングツリーは非連続マスク分枝を切り取った後のルーティングツリーである。
更新対象であるIPV6ルーティングエントリ内のマスク長さに基づいて、IPV6ルーティングテーブル内のマスクテーブルをクエリし、前記更新対象であるIPV6ルーティングエントリに対応するマスク構造を獲得するように構成されるクエリユニットと、
前記クエリユニットによって獲得された更新対象であるIPV6ルーティングエントリ及び前記更新対象であるIPV6ルーティングエントリに対応するマスク構造に基づいて、前記IPV6ルーティングテーブル構造内のルーティングツリーを検索し、前記ルーティングツリーのバックトラッキングの開始ノードを取得するように構成される検索ユニットと、
前記検索ユニットによって取得されたバックトラッキングの開始ノードから、前記ルーティングツリーの頂点へバックトラッキングし、前記更新対象であるIPV6ルーティングエントリの更新位置を取得するように構成されるバックトラッキングユニットと、を含み、
前記IPV6ルーティングテーブルは、マスク長さとマスク構造に対応する2次元のインデックステーブル及びルーティングツリーを含み、前記ルーティングツリーは非連続マスク分枝を切り取った後のルーティングツリーである。
好ましくは、前記検索ユニットは、前記ルーティングツリーの各中間ノードに記録されている方向情報に基づいて、前記更新対象であるIPV6ルーティングエントリと比較し、経路内の中間ノードの記録と合致する分枝の位置、及びバイトマスク特性と合致する葉ノードを獲得し、該葉ノードをバックトラッキングの開始ノードとするように構成される。
好ましくは、前記バックトラッキングユニットは、前記バックトラッキングの開始ノードから、前記更新対象である中間ノードの親中間ノードと子中間ノードをクエリするように構成され、前記更新対象である中間ノードのキー値は前記更新対象であるIPV6ルーティングエントリのマスク長さであり、
前記バックトラッキングユニットはさらに、前記更新対象である中間ノードの親中間ノードと子中間ノードに対してそれぞれ検出を行い、前記ルーティングツリー上の前記更新対象である中間ノードの更新位置を決定するように構成され、
前記バックトラッキングユニットはさらに、前記ルーティングツリーで、前記更新対象である中間ノードと葉ノードを更新するように構成され、前記更新対象である中間ノードと葉ノードは、共に前記更新対象であるIPV6ルーティングエントリのキー値の属性を表す。
前記バックトラッキングユニットはさらに、前記更新対象である中間ノードの親中間ノードと子中間ノードに対してそれぞれ検出を行い、前記ルーティングツリー上の前記更新対象である中間ノードの更新位置を決定するように構成され、
前記バックトラッキングユニットはさらに、前記ルーティングツリーで、前記更新対象である中間ノードと葉ノードを更新するように構成され、前記更新対象である中間ノードと葉ノードは、共に前記更新対象であるIPV6ルーティングエントリのキー値の属性を表す。
好ましくは、前記バックトラッキングユニットはさらに、前記更新対象である中間ノードの葉ノードの兄弟ノードに対応するユニバーサルチェーン節点から、前記ルーティングツリーの中間ノード上にバックトラッキングし、前記更新対象であるIPV6ルーティングエントリに対応するマスク長さとバックトラッキングする時のルーティングツリーの中間ノードに対応するユニバーサルチェーン節点に基づいて、前記ユニバーサルチェーンを更新するように構成される。
本発明の実施例に提供されたルーティングテーブルのメンテナンス方法、装置及び記憶媒体によれば、ルーティングテーブルの構成構造に対する変更を通して、空間複雑性を増大する前提で、時間複雑性を減らして、効率的にルーティングテーブルのメンテナンスを行う目的を実現する。
本発明の実施例の図面を結合して、本発明の実施例の技術案を明確的、全面的に説明する。
本発明の実施例の基本的な構想は、従来のIPV6ルーティング管理をサポートするradixツリーのアルゴリズムに用いられているマスクツリーを静的な配列に変更し、また、radixツリーの非連続マスクに関する判断と処理の分岐を切り取ることであり、それによって、空間複雑性を増大する前提で、時間複雑性を減らして、効率的にルーティングテーブルのメンテナンスを行う目的を実現する。
図2は本発明の実施例に提供されているルーティングテーブルのメンテナンス方法のフローを示している。便宜上、本発明の実施例はルーティングテーブルのエントリの更新を例として説明し、ルーティングテーブルのエントリの削除とルーティングテーブルのエントリの追加が類似していると理解可能であり、本発明の実施例ではそれ以上記述しない。該方法は、S201〜S203を含むことが可能である。
S201において、更新対象であるIPV6ルーティングエントリ内のマスク長さに基づいて、IPV6ルーティングテーブル内のマスクテーブルをクエリし、前記更新対象であるIPV6ルーティングエントリに対応するマスク構造を獲得する。
なお、本発明の実施例におけるIPV6ルーティングテーブルの構成構造は、図1に示されている従来技術のルーティングテーブルの構成構造と異なり、具体的に、図3に示されている本発明の実施例に提供されるIPV6ルーティングテーブルの構成構造を参照することが可能である。図1と比較すれば、まず、本発明の実施例では、ルーティングテーブル内のマスクツリーを、マスク長さとマスク構造に対応する2次元のインデックステーブルに変更し、本実施例においてはマスクテーブルとも称する。マスクテーブルの具体的な形式は、初期に設定されている129個のSOCKET構造のマスク要素を含む一つの2次元の静的な配列であっても良く、これについて本発明の実施例では具体的に限定しない。マスクツリーの代わりにマスクテーブルを用いることによって、マスクテーブルを記憶するために、余分に約3.53KBのスペース(即ち、129個のSOCKET構造のマスク要素の大きさ)を増やしたが、ルーティングメンテナンスにおいて、マスク構造のルックアップをツリーのルックアップからインデックステーブルの線形ルックアップに変更し、大きく時間複雑性を減少することが可能である。
次に、本発明の実施例では、IPV6ルーティングテーブル構造のルーティングツリーの非連続マスクに関する処理分岐を予め切り取ることによって、ルーティングツリーに対するメンテナンスの中から、非連続マスクに対する判断と処理を取り除き、そのため、メンテナンスの時間複雑性をさらに減少することが可能である。
なお、本発明の実施例に提供される技術案を明確に説明するために、便宜上、本実施例において、更新対象であるIPV6ルーティングエントリがffff:ffff:ff00::/40であることを例とし、具体的に図4を参照する。当業者は、本発明の実施例に提供される技術案を、その他のIPV6ルーティングエントリの更新に適用することが可能であることを理解することが可能であり、本発明の実施例では具体的に限定しない。
S202において、前記更新対象であるIPV6ルーティングエントリ及び前記更新対象であるIPV6ルーティングエントリに対応するマスク構造に基づいて、前記IPV6ルーティングテーブル構造内のルーティングツリーを検索し、前記ルーティングツリーのバックトラッキングの開始ノードを取得する。
一つの具体的な実施例において、S202は、具体的に、前記ルーティングツリーの各中間ノードに記録されている方向情報に基づいて、前記更新対象であるIPV6ルーティングエントリと比較し、経路内のすべての中間ノードの方向キー値要求と合致する一つの葉ノードを獲得し、該葉ノードをバックトラッキングの開始ノードとすることを含む。
本実施例において、具体的に、図3のルーティングツリーの各中間ノードに記録されている分枝の位置とバイトマスクに基づいて、葉ノードffff:ffff:ffff::/30を取得することができる。
S203において、前記バックトラッキングの開始ノードから、前記ルーティングツリーの頂点へバックトラッキングし、前記更新対象であるIPV6ルーティングエントリの更新位置を取得する。
一つの具体的な実施例において、S203は、具体的に、下記を含むことが可能である。
まず、前記バックトラッキングの開始ノードから、前記更新対象である中間ノードの親中間ノードと子中間ノードをクエリし、ここで、前記更新対象である中間ノードのキー値が前記更新対象であるIPV6ルーティングエントリのマスク長さである。
次に、前記更新対象である中間ノードの親中間ノードと子中間ノードに対してそれぞれ検出を行い、前記ルーティングツリー上の前記更新対象である中間ノードの更新位置を決定する。
最後、前記ルーティングツリーで、前記更新対象である中間ノードと葉ノードを更新し、ここで、前記更新対象である中間ノードと葉ノードは、共に、前記更新対象であるIPV6ルーティングエントリのルーティングツリーに追加する必須属性を表し、本実施例においてキー値の属性が好ましい。
本実施例において、具体的に、図4に示されている更新対象であるIPV6ルーティングエントリffff:ffff:ff00::/40に対応している更新対象である中間ノードのキー値は40であり、更新対象である中間ノードの左の葉ノードは更新対象であるIPV6ルーティングエントリffff:ffff:ff00::/40である。そのため、ffff:ffff:ff00::/40の更新位置を獲得することは、下記のようになる。
まず、葉ノードffff:ffff:ffff::/30からツリーの頂点へバックトラッキングし、更新対象である中間ノード40をぴったり挟むことができる二つの内部ノードを探し、更新対象である中間ノード40の親中間ノード32と子中間ノード48をクエリして獲得する。
次に、親中間ノード32に対して検出を行い、更新対象である中間ノード40を親中間ノード32の右サブツリー上に更新すべきであることを知ることができる。そのため、新しく更新する中間ノードの分枝の位置が40である。
最後、更新対象である中間ノード40の左の子ノードは新しい葉ノードであり、その値がffff:ffff:ff00::/40である。更新対象である中間ノード40の右の子ノードは中間ノード48を根とするサブツリーである。
上記S201〜S203を通して、一回のルーティングテーブルのエントリの更新が完了する。その中、マスク構造のルックアップをツリーのルックアップからインデックステーブルの線形ルックアップに変更し、また、ルーティングツリーの非連続マスクに対する判断と処理を取り除くことによって、時間複雑性を大きく減少することが可能である。
また、図5に示すように、ルーティングツリーのノードを更新した後に、本方法はさらに、S204を含む。
S204において、前記更新対象である中間ノードの葉ノードの兄弟ノードに対応するユニバーサルチェーン節点から、前記ルーティングツリーの中間ノード上にバックトラッキングし、前記更新対象であるIPV6ルーティングエントリに対応するマスク長さとバックトラッキングする時のルーティングツリーの中間ノードに対応するユニバーサルチェーン節点に基づいて、前記ユニバーサルチェーンを更新する。
本実施例において、具体的に、新しい葉ノードffff:ffff:ff00::/40の兄弟ノードから、即ち中間ノード48から、上にルーティングツリーをバックトラッキングし、中間ノード48に対応しているユニバーサルチェーン節点が存在しないため、中間ノード32まで上にバックトラッキングを継続し、中間ノード32がユニバーサルチェーン節点mklist:/32を指しているが、新しい葉ノードffff:ffff:ff00::/40に対応しているルーティングを、中間ノード32を根とするサブツリーのユニバーサルルーティングとすることができないため、根ノードまで継続的に上にバックトラッキングしてからフローを終了する。新しい葉ノードffff:ffff:ff00::/40に対応しているルーティングが、必ず中間ノード40を根とするサブツリーのユニバーサルルーティングであるため、ユニバーサルチェーン節点mklist:/40も中間ノードに対応しているユニバーサルチェーン節点である。
上記のS201〜S204によって、ルーティングテーブルのエントリの追加が完了し、図6を参照して、ルーティングテーブルのエントリを追加した後のルーティングテーブルの構成構造を示している。以上、ルーティングテーブルのエントリの追加を例としてルーティングテーブルのメンテナンスについて説明しているが、当業者にとって、創造的な労力を払わず、その他のルーティングテーブルに対するメンテナンスにも適用できることを理解することが可能であり、本発明の実施例において具体的な説明を省略する。
本発明の実施例はさらにコンピュータ読み取り可能な記憶媒体を提供し、該コンピュータ読み取り可能な記憶媒体が命令セットを含み、前記命令セットが前記ルーティングテーブルのメンテナンス方法を実行することに用いられる。
本発明の実施例に提供されるルーティングテーブルのメンテナンス方法は、ルーティングテーブルの構成構造に対する変更を行うことによって、空間複雑性を増大する前提で、時間複雑性を減らして、効率的にルーティングテーブルのメンテナンスを行う目的を実現する。
上記実施例と同様な技術構想によって、図7を参照し、本発明の実施例に提供されるルーティングテーブルのメンテナンス装置70の構成を示している。該装置70は、IPV6ルーティング機能が付いているルーターに適用することが可能であり、図7に示すように、該装置70は、クエリユニット701、検索ユニット702及びバックトラッキングユニット703を含むことが可能である。
クエリユニット701は、更新対象であるIPV6ルーティングエントリ内のマスク長さに基づいて、IPV6ルーティングテーブル内のマスクテーブルをクエリし、前記更新対象であるIPV6ルーティングエントリに対応するマスク構造を獲得するように構成される。ここで、前記IPV6ルーティングテーブルは、マスク長さとマスク構造に対応する2次元のインデックステーブル及びルーティングツリーを含み、前記ルーティングツリーは非連続マスク分枝を切り取った後のルーティングツリーである。
前記検索ユニット702は、前記クエリユニット701によって獲得された更新対象であるIPV6ルーティングエントリ及び前記更新対象であるIPV6ルーティングエントリに対応するマスク構造に基づいて、前記IPV6ルーティングテーブル構造内のルーティングツリーを検索し、前記ルーティングツリーのバックトラッキングの開始ノードを取得するように構成される。
前記バックトラッキングユニット703は、前記検索ユニット702によって取得されたバックトラッキングの開始ノードから、前記ルーティングツリーの頂点へバックトラッキングし、前記更新対象であるIPV6ルーティングエントリの更新位置を取得するように構成される。
上記技術案において、前記検索ユニット702は、前記ルーティングツリーの各中間ノードに記録されている方向情報に基づいて、前記更新対象であるIPV6ルーティングエントリと比較し、中間ノードに記録されている方向キー値の要求と合致する葉ノードを獲得し、該葉ノードをバックトラッキングの開始ノードとするように構成される。
上記技術案において、前記バックトラッキングユニット703は、前記バックトラッキングの開始ノードから、前記更新対象である中間ノードの親中間ノードと子中間ノードをクエリするように構成され、ここで、前記更新対象である中間ノードのキー値が前記更新対象であるIPV6ルーティングエントリのマスク長さである。
前記バックトラッキングユニット703はさらに、前記更新対象である中間ノードの親中間ノードと子中間ノードに対してそれぞれ検出を行い、前記ルーティングツリー上の前記更新対象である中間ノードの更新位置を決定するように構成されるように構成される。
前記バックトラッキングユニット703はさらに、前記ルーティングツリーで、前記更新対象である中間ノードと葉ノードを更新するように構成され、ここで、前記更新対象である中間ノードと葉ノードは、共に、前記更新対象であるIPV6ルーティングエントリのキー値属性を表す。
上記技術案において、前記バックトラッキングユニット703はさらに、前記更新対象である葉ノードの兄弟ノードに対応するユニバーサルチェーン節点から、前記ルーティングツリーの中間ノード上にバックトラッキングし、前記更新対象であるIPV6ルーティングエントリに対応するマスク長さとバックトラッキングする時のルーティングツリーの中間ノードに対応するユニバーサルチェーン節点に基づいて、前記ユニバーサルチェーンを更新するように構成される。
本発明の実施例に提供されるルーティングテーブルのメンテナンス装置は、ルーティングテーブルの構成構造に対する変更を行うことによって、空間複雑性を増大する前提で、時間複雑性を減らして、効率的にルーティングテーブルのメンテナンスを行う目的を実現する。
実際応用において、前記クエリユニット701、検索ユニット702、バックトラッキングユニット703は、いずれも中央処理装置(CPU)、マイクロプロセッサ(MPU)、デジタルシグナルプロセッサ(DSP)又は現場でのプログラム可能なゲートアレイ(FPGA)などによって実現されても良く、前記CPU、DSP、FPGAがいずれもルーティングテーブルのメンテナンス装置に内蔵されることができる。
当業者にとって、本発明の実施例が方法、システム、またはコンピュータ製品として提供することが可能であることは明らかである。従って、本発明は、ハードウエア実施例、ソフトウエア実施例、またはソフトウエアとハードウエアとを組み合わせる実施例の形式を採用して可能である。また、本発明は、コンピュータでの使用可能なプログラムコードを含むコンピュータでの使用可能な、一つまたは複数の記憶媒体(磁気ディスク装置と光記憶装置などを含むが、それに限らない)上で、実施したコンピュータプログラム製品の形式を採用しても良い。
本発明は、本発明の実施例による方法、装置(システム)及びコンピュータプログラム製品のフローチャート及び/或いはブロック図を参照して記載されている。コンピュータプログラム命令によって、フローチャート及び/或いはブロック図の各々のフロー及び/或いはブロック、また、フローチャート及び/或いはブロック図中のフロー及び/或いはブロックとの結びつきを実現することを理解すべきである。これらのコンピュータプログラム命令を汎用コンピュータ、専用コンピュータ、埋め込みプロセッサ、またはその他のプログラム可能なデータ処理装置のプロセッサに提供して機器を作成し、コンピュータまたはその他のプログラム可能なデータ処理装置のプロセッサにより実行される命令を通して、フローチャートの一つまたは複数のフロー、及び/またはブロック図の一つのブロックまたは複数のブロックの中で指定された機能を実現するための装置を生成させることが可能である。
これらのコンピュータプログラム命令は、コンピュータまたはその他のプログラム可能なデータ処理装置に、特定の方式で動作させるコンピュータの読み取り可能な記憶装置に記憶してもよく、当該コンピュータの読み取り可能な記憶装置に記憶されている命令で命令装置を含む製品を生成させ、当該命令装置は、フローチャートの一つまたは複数のフロー、及び/またはブロック図の一つのブロックまたは複数のブロックで指定された機能を実現する。
これらのコンピュータプログラム命令は、コンピュータまたはその他のプログラム可能なデータ処理装置にインストールされてもよく、コンピュータで実現する処理を生成するように、コンピュータまたはその他のプログラム可能なデータ処理装置に、一連の操作ステップを実行させ、それによって、コンピュータまたはその他のプログラム可能なデータ処理装置で実行される命令は、フローチャートの一つまたは複数のフロー、及び/またはブロック図の一つのブロックまたは複数のブロックで指定された機能を実現するためのステップを提供する。
以上は本発明の好ましい実施例に過ぎなく、本発明の保護範囲を限定するものではない。
本発明の実施例によれば、ルーティングテーブルの構成構造に対する変更を行うことによって、空間複雑性を増大する前提で、時間複雑性を減らして、効率的にルーティングテーブルのメンテナンスを行う目的を実現する。
Claims (9)
- ルーティングテーブルのメンテナンス方法であって、
更新対象であるIPV6ルーティングエントリ内のマスク長さに基づいて、IPV6ルーティングテーブル内のマスクテーブルをクエリし、前記更新対象であるIPV6ルーティングエントリに対応するマスク構造を獲得することと、
前記更新対象であるIPV6ルーティングエントリ及び前記更新対象であるIPV6ルーティングエントリに対応するマスク構造に基づいて、前記IPV6ルーティングテーブル構造内のルーティングツリーを検索し、前記ルーティングツリーのバックトラッキングの開始ノードを取得することと、
前記バックトラッキングの開始ノードから、前記ルーティングツリーの頂点へバックトラッキングし、前記更新対象であるIPV6ルーティングエントリの更新位置を取得することと、を含み、
前記IPV6ルーティングテーブルは、マスク長さとマスク構造に対応する2次元のインデックステーブル及びルーティングツリーを含み、前記ルーティングツリーは非連続マスク分枝を切り取った後のルーティングツリーである、
前記ルーティングテーブルのメンテナンス方法。 - 前記更新対象であるIPV6ルーティングエントリ及び前記更新対象であるIPV6ルーティングエントリに対応するマスク構造に基づいて、前記IPV6ルーティングテーブル構造内のルーティングツリーを検索し、前記ルーティングツリーのバックトラッキングの開始ノードを取得することは、
前記ルーティングツリーの各中間ノードに記録されている方向情報に基づいて、前記更新対象であるIPV6ルーティングエントリと比較し、経路内の中間ノードの記録と合致する分枝の位置、及びバイトマスク特性と合致する葉ノードを獲得し、該葉ノードをバックトラッキングの開始ノードとすること、
を含む、請求項1に記載のルーティングテーブルのメンテナンス方法。 - 前記バックトラッキングの開始ノードから、前記ルーティングツリーの頂点へバックトラッキングし、前記更新対象であるIPV6ルーティングエントリの更新位置を取得することは、
前記バックトラッキングの開始ノードから、前記更新対象である中間ノードの親中間ノードと子中間ノードをクエリすることと、
前記更新対象である中間ノードの親中間ノードと子中間ノードに対してそれぞれ検出を行い、前記ルーティングツリー上の前記更新対象である中間ノードの更新位置を決定することと、
前記ルーティングツリーで、前記更新対象である中間ノードと葉ノードを更新することと、を含み、
前記更新対象である中間ノードのキー値は前記更新対象であるIPV6ルーティングエントリのマスク長さであり、前記更新対象である中間ノードと葉ノードは、共に前記更新対象であるIPV6ルーティングエントリのキー値の属性を表す、
請求項1に記載のルーティングテーブルのメンテナンス方法。 - 前記更新対象である中間ノードの葉ノードの兄弟ノードに対応するユニバーサルチェーン節点から、前記ルーティングツリーの中間ノード上にバックトラッキングし、前記更新対象であるIPV6ルーティングエントリに対応するマスク長さとバックトラッキングする時のルーティングツリーの中間ノードに対応するユニバーサルチェーン節点に基づいて、前記ユニバーサルチェーンを更新すること、
をさらに含む、請求項1〜3のいずれか1項に記載のルーティングテーブルのメンテナンス方法。 - ルーティングテーブルのメンテナンス装置であって、
更新対象であるIPV6ルーティングエントリ内のマスク長さに基づいて、IPV6ルーティングテーブル内のマスクテーブルをクエリし、前記更新対象であるIPV6ルーティングエントリに対応するマスク構造を獲得するように構成されるクエリユニットと、
前記クエリユニットによって獲得された更新対象であるIPV6ルーティングエントリ及び前記更新対象であるIPV6ルーティングエントリに対応するマスク構造に基づいて、前記IPV6ルーティングテーブル構造内のルーティングツリーを検索し、前記ルーティングツリーのバックトラッキングの開始ノードを取得するように構成される検索ユニットと、
前記検索ユニットによって取得されたバックトラッキングの開始ノードから、前記ルーティングツリーの頂点へバックトラッキングし、前記更新対象であるIPV6ルーティングエントリの更新位置を取得するように構成されるバックトラッキングユニットと、を含み、
前記IPV6ルーティングテーブルは、マスク長さとマスク構造に対応する2次元のインデックステーブル及びルーティングツリーを含み、前記ルーティングツリーは非連続マスク分枝を切り取った後のルーティングツリーである、
前記ルーティングテーブルのメンテナンス装置。 - 前記検索ユニットは、前記ルーティングツリーの各中間ノードに記録されている方向情報に基づいて、前記更新対象であるIPV6ルーティングエントリと比較し、経路内の中間ノードの記録と合致する分枝の位置、及びバイトマスク特性と合致する葉ノードを獲得し、該葉ノードをバックトラッキングの開始ノードとするように構成される、
請求項5に記載のルーティングテーブルのメンテナンス装置。 - 前記バックトラッキングユニットは、前記バックトラッキングの開始ノードから、前記更新対象である中間ノードの親中間ノードと子中間ノードをクエリするように構成され、前記更新対象である中間ノードのキー値は前記更新対象であるIPV6ルーティングエントリのマスク長さであり、
前記バックトラッキングユニットはさらに、前記更新対象である中間ノードの親中間ノードと子中間ノードに対してそれぞれ検出を行い、前記ルーティングツリー上の前記更新対象である中間ノードの更新位置を決定するように構成され、
前記バックトラッキングユニットはさらに、前記ルーティングツリーで、前記更新対象である中間ノードと葉ノードを更新するように構成され、前記更新対象である中間ノードと葉ノードは、共に前記更新対象であるIPV6ルーティングエントリのキー値の属性を表す、
請求項5に記載のルーティングテーブルのメンテナンス装置。 - 前記バックトラッキングユニットはさらに、前記更新対象である中間ノードの葉ノードの兄弟ノードに対応するユニバーサルチェーン節点から、前記ルーティングツリーの中間ノード上にバックトラッキングし、前記更新対象であるIPV6ルーティングエントリに対応するマスク長さとバックトラッキングする時のルーティングツリーの中間ノードに対応するユニバーサルチェーン節点に基づいて、前記ユニバーサルチェーンを更新するように構成される、
請求項5〜7のいずれか1項に記載のルーティングテーブルのメンテナンス装置。 - コンピュータ読み取り可能な記憶媒体であって、
請求項1〜4のいずれか1項に記載のルーティングテーブルのメンテナンス方法を実行するための命令セットを含む、前記コンピュータ読み取り可能な記憶媒体。
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201410567709.XA CN105591915A (zh) | 2014-10-22 | 2014-10-22 | 一种路由表的维护方法和装置 |
CN201410567709.X | 2014-10-22 | ||
PCT/CN2015/071147 WO2016061925A1 (zh) | 2014-10-22 | 2015-01-20 | 一种路由表的维护方法、装置及存储介质 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2017537566A true JP2017537566A (ja) | 2017-12-14 |
Family
ID=55760123
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2017539484A Pending JP2017537566A (ja) | 2014-10-22 | 2015-01-20 | ルーティングテーブルのメンテナンス方法、装置及び記憶媒体 |
Country Status (4)
Country | Link |
---|---|
JP (1) | JP2017537566A (ja) |
KR (1) | KR20170067804A (ja) |
CN (1) | CN105591915A (ja) |
WO (1) | WO2016061925A1 (ja) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106993315B (zh) * | 2017-03-29 | 2020-04-14 | 常熟理工学院 | 一种基于定位信息的移动网络通信实现方法 |
CN110365585B (zh) * | 2018-03-26 | 2021-08-03 | 武汉大学 | 一种基于多代价指标的路由裁剪优化方法 |
CN108809514B (zh) | 2018-04-23 | 2021-01-12 | 华为技术有限公司 | 一种数据传输方法及相关设备 |
CN112565089B (zh) * | 2020-11-30 | 2022-06-21 | 锐捷网络股份有限公司 | 一种路由信息的处理方法及装置 |
CN115225572B (zh) * | 2022-07-13 | 2023-05-26 | 阿里巴巴(中国)有限公司 | 路由信息的处理方法、装置、电子设备和存储介质 |
CN117040943B (zh) * | 2023-10-10 | 2023-12-26 | 华中科技大学 | 基于IPv6地址驱动的云网络内生安全防御方法和装置 |
Family Cites Families (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1148929C (zh) * | 2000-03-29 | 2004-05-05 | 华为技术有限公司 | Ip查找的一种快速修改方法 |
JP3813136B2 (ja) * | 2003-04-25 | 2006-08-23 | インターナショナル・ビジネス・マシーンズ・コーポレーション | 通信制御装置、通信制御方法、通信制御プログラム、通信制御用データ構造 |
CN100456840C (zh) * | 2003-11-25 | 2009-01-28 | 华为技术有限公司 | 将lpm算法拆分到两个cpu的方法 |
CN100486227C (zh) * | 2006-10-31 | 2009-05-06 | 成都迈普产业集团有限公司 | 路由表查找方法 |
CN101576877A (zh) * | 2009-06-16 | 2009-11-11 | 程治永 | 一种快速分词的实现方法 |
CN102035727B (zh) * | 2010-11-17 | 2013-01-09 | 杭州华三通信技术有限公司 | 一种路由的处理方法和设备 |
CN102281196B (zh) * | 2011-08-11 | 2017-10-10 | 中兴通讯股份有限公司 | 决策树生成方法及设备、基于决策树报文分类方法及设备 |
CN103780491B (zh) * | 2012-10-23 | 2018-01-23 | 上海博达数据通信有限公司 | 一种实现IPv6快速路由查找的方法 |
-
2014
- 2014-10-22 CN CN201410567709.XA patent/CN105591915A/zh not_active Withdrawn
-
2015
- 2015-01-20 WO PCT/CN2015/071147 patent/WO2016061925A1/zh active Application Filing
- 2015-01-20 JP JP2017539484A patent/JP2017537566A/ja active Pending
- 2015-01-20 KR KR1020177011616A patent/KR20170067804A/ko not_active Application Discontinuation
Non-Patent Citations (1)
Title |
---|
GARY R. WRIGHT, W. RICHARD STEVENS, TCP/IP ILLUSTRATED, VOLUME 2, THE IMPLEMENTATION, JPN6018019828, 1995, pages 562 - 567 * |
Also Published As
Publication number | Publication date |
---|---|
WO2016061925A1 (zh) | 2016-04-28 |
CN105591915A (zh) | 2016-05-18 |
KR20170067804A (ko) | 2017-06-16 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP2017537566A (ja) | ルーティングテーブルのメンテナンス方法、装置及び記憶媒体 | |
US9996581B2 (en) | Real-time saved-query updates for a large graph | |
CN104809190B (zh) | 一种树形结构数据的数据库存取方法 | |
CN103561133A (zh) | 一种ip地址归属信息索引方法及快速查询方法 | |
WO2015127721A1 (zh) | 数据匹配的方法、装置及计算机存储介质 | |
WO2017078929A1 (en) | Virtual edge of a graph database | |
JP5960863B1 (ja) | 検索装置、検索方法、プログラム、及び記録媒体 | |
WO2014117353A1 (en) | Incremental update of a shape graph | |
US9294390B2 (en) | Hash table storage and search methods and devices | |
TWI652586B (zh) | 基於社交網路的群組查找方法和裝置 | |
US10771386B2 (en) | IP routing search | |
JP2011029829A5 (ja) | ||
CN102045412B (zh) | IPv6地址前缀压缩存储方法及设备 | |
CN103729427B (zh) | 一种基于自定义多级流表增量更新的流表转换方法 | |
CN107276916A (zh) | 基于协议无感知转发技术的交换机流表管理方法 | |
CN105574076B (zh) | 一种基于Bloom Filter的键值对存储结构及方法 | |
CN107807976B (zh) | Ip归属地查询方法和装置 | |
US11888743B1 (en) | Network device storage of incremental prefix trees | |
US20180267987A1 (en) | Hash-based mount point lookup in virtual file systems | |
CN106789668B (zh) | 一种处理报文的方法和装置 | |
WO2016184069A1 (zh) | 一种路由查询方法及装置 | |
JP2012252694A (ja) | オントロジースキーマーに基づくインスタンス経路の探索方法及び装置 | |
CN104809170A (zh) | 一种云环境下面向树型数据的存储方法 | |
TWI409650B (zh) | 在資料模型中查找參數的方法 | |
WO2018006791A1 (zh) | 一种网管业务数据管理方法和网管业务数据管理装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20180605 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20190108 |