JP3842250B2 - 経路制御装置、経路制御方法及びそのプログラム - Google Patents

経路制御装置、経路制御方法及びそのプログラム Download PDF

Info

Publication number
JP3842250B2
JP3842250B2 JP2003272070A JP2003272070A JP3842250B2 JP 3842250 B2 JP3842250 B2 JP 3842250B2 JP 2003272070 A JP2003272070 A JP 2003272070A JP 2003272070 A JP2003272070 A JP 2003272070A JP 3842250 B2 JP3842250 B2 JP 3842250B2
Authority
JP
Japan
Prior art keywords
tree
route
information
leaf
registration
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.)
Expired - Fee Related
Application number
JP2003272070A
Other languages
English (en)
Other versions
JP2005033621A (ja
Inventor
雅州 岡田
埋彦 近藤
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
International Business Machines Corp
Original Assignee
International Business Machines Corp
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by International Business Machines Corp filed Critical International Business Machines Corp
Priority to JP2003272070A priority Critical patent/JP3842250B2/ja
Priority to US10/883,212 priority patent/US7460540B2/en
Priority to CNB200410062115XA priority patent/CN1305278C/zh
Publication of JP2005033621A publication Critical patent/JP2005033621A/ja
Application granted granted Critical
Publication of JP3842250B2 publication Critical patent/JP3842250B2/ja
Priority to US12/103,936 priority patent/US7817582B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/54Organization of routing tables

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Description

本発明は、経路制御装置に関し、さらに詳しくは、ネットワーク内の複数のホストコンピュータ及び他のネットワークとフレームを受信し、かつ転送する経路制御装置に関する。
ルータやレイヤ3スイッチ等の経路制御装置が行う経路検索の手法の1つにツリー法がある。ツリー法では、MACアドレスやIPアドレス等の宛先アドレス情報を木構造(ツリー)に配置する。経路検索時には、経路制御装置は検索キー(アドレス情報)に従って節点(以下、ノードと称する)をたどり、外部節点(以下リーフと称する)に到達したときに、経路情報を取得する。経路制御装置が表1に示す7ビットの宛先アドレス情報に対する経路情報を有する場合のツリー構造の一例を図10に示す。
Figure 0003842250
図10のツリーはパトリシアツリーで構成される。各ノードN内の数値はそのノードNに属しているリーフLに登録されている宛先アドレス情報同士が持つ共通の上位ビット数を示す。例えば、ノードN3に注目すると、ノードN3に属しているリーフL内の宛先アドレス情報は「1000010」、「1000011」、「1000111」であり、3つの宛先アドレス情報の上位4ビット分「1000」が共通している。そのため、ノードN3内の数値は「4」となる。
ノードN3からエッジ(枝)が2本に分かれているが、これはノードN3に属するリーフL内の宛先アドレス情報の上位5ビット目の数値が「0」か「1」かにより分かれている。先ほどの3つの宛先アドレス情報のうち、「1000010」及び「1000011」の上位5ビット目は「0」であるため、これらの宛先アドレス情報を有するリーフLは「0」のエッジに属する。一方、「1000111」は上位5ビット目が「1」であるため、この宛先アドレス情報を有するリーフLは「1」のエッジに属する。
従来の経路制御装置が外部から宛先アドレス情報「1000010」を有するフレームを受信した場合、経路制御装置は受信したフレームから宛先アドレス情報「1000010」を抽出する。経路制御装置は抽出した宛先アドレス情報を検索キーとして図10に示したパトリシアツリーを用いて経路検索を行う。図10において経路検索はルートRから出発する。検索キーは上位1ビット目が「1」であるため、ルートRから「1」のエッジに進み、ノードN1に到達する。ノードN1内の数値は「1」であるため(すなわち、ノードN1に属するリーフLの宛先アドレス情報は上位1ビット目が全て「1」である)、ノードN1から延びる「0」と「1」のエッジは上位2ビット目の数値により分かれている。検索キー(「1000010」)は上位2ビット目が「0」であるため、「0」のエッジを進み、ノードN2に到達する。ノードN2内の数値は「2」であるため、検索キーの上位3ビット目の数値「0」に基づいて、「0」のエッジを進み、ノードN3に到達する。同様の方法によりノードN4に到達し、最終的にリーフL1を検索する。リーフLには宛先アドレス情報の他に、その宛先アドレス情報を有するフレームが向かうべき場所を示した経路情報が登録されている。経路制御装置はリーフL1内の経路情報を取得し、その経路情報に基づいて受信したフレームを転送する。
このように、従来の経路制御装置の検索方法では、検索時に複数のノードN1〜N4を通過しなければならない。通過するノードNの数が多いほど、検索時間がかかるため、通過するノードの数は少ないほうが好ましい。
そこで下記の特許文献1では、新たなツリー構造による経路検索が提案されている。特許文献1では、「ダイレクトテーブル」を有するツリー構造を用いて経路検索が行われる。図11に、表1の宛先アドレス情報を有する複数のリーフLについての特許文献1に基づくツリー構造を示す。図11を参照して、ダイレクトテーブルを有するツリー構造では、図10でのルートRの代わりにダイレクトテーブルDTを設ける。ダイレクトテーブルDTには、宛先アドレス情報の上位3ビット分の8通りの組合せ(以下、各組合せをDTエントリ0〜7と称する。)が登録されている。同じDTエントリに属するリーフLが複数存在する場合は、従来と同様にノードNが設けられる。図11では、DTエントリ4(上位ビット数が「100」)に属するリーフLは3つ(宛先アドレス情報=「1000010」、「1000011」、「1000111」)あるため、DTエントリ4は図10と同じくノードN3及びノードN4を有する。ダイレクトテーブルDTを設けることで、経路検索時においてリーフLにたどり着くまでに通過しなければならないノードNの数(以下、ノード段数と称する)を減らすことができる。たとえば、経路検索時に宛先アドレス情報「1000010」を有するリーフL1にたどり着くまで、図10のツリー構造ではノードN1〜N4まで4つのノードNを通過する必要があるが、図11のツリー構造では、ダイレクトテーブルDTがあるため、DTエントリ4から出発してノードN3、N4と2つのノードNを通過すれば目的のリーフL1にたどり着くことができる。よってダイレクトテーブルDTを有するツリー構造はノード段数を減らすことができ、その結果、検索時間の短縮を可能とする。
しかしながら、ダイレクトテーブルDTを有するツリー構造であっても、複数のリーフLが有する宛先アドレス情報によってノードNの段数は変動する。ダイレクトテーブルDTを有するツリー構造で、1つのDTエントリに8つのリーフLが属している場合のツリー構造を図12に示す。図12(A)では、ノードN10、N11に属するリーフLはそれぞれ4つであり、リーフLが均等に分散している。このとき、図中のリーフL2に到達するまでのノード段数は2となる。一方、図12(B)は、リーフLが最も不均等に分散した場合のツリー構造である。図12(B)では、リーフL2に到達するためのノード段数が7となってしまう。よって、たとえダイレクトテーブルDTを有するツリー構造であっても、ツリー構造内のリーフに偏りが発生するとノード段数が増加し、結果として経路検索に時間がかかる。
特開2001−357071号公報 特開2001−229169号公報 特開2000−188608号公報 特開平10−210052号公報 特開平6−139280号公報
本発明の目的は、経路情報をツリー構造にした場合のリーフの偏りを抑制できる経路制御装置を提供することである。
また、本発明の他の目的は、経路検索時間を短くできる経路制御装置を提供することである。
本発明による経路制御装置は、ネットワーク内の複数のホストコンピュータ及び他のネットワーからフレーム受信し、かつ転送する経路制御装置であって、ルーティングテーブルと、検索エンジンと、受信転送手段と、登録手段とを備える。ルーティングテーブルは宛先アドレス情報と宛先アドレス情報に対応する経路情報とを含む複数のリーフを木構造で記憶する。ルーティングテーブルは複数のメンバーツリーを含み、各メンバーツリーのルートは互いに同じエントリを有する。検索エンジンの各々受信したフレームに含まれる宛先アドレス情報を検索キーとして、互いに異なるメンバーツリーからリーフを検索する。受信転送手段は、フレームを受信し、検索エンジンのいずれかが、検索キーに対応するリーフを検索したとき、検索したリーフに含まれる経路情報に基づいて受信したフレームを転送する。登録手段は、ルーティングテーブルに新たなリーフを登録するとき、複数のメンバーツリーのうち、リーフ数が最も少ないメンバーツリーに新たなリーフを登録する。
本発明による経路制御装置は、ルーティングテーブルの木構造を複数のメンバーツリーとし、各メンバーツリーのルートは互いに同じエントリを有する。その結果、ルートに対して1つのツリーを形成する場合と比較して、メンバーツリーに登録されるリーフ数は少なくなる。従来1つのツリーに登録していた複数のリーフを複数のメンバーツリーに分散できるからである。そのため、経路検索時にリーフにたどり着くために通過するノード数も減少し、木構造中でのリーフの偏りを防止できる。
また、本発明による経路制御装置は、複数の検索エンジンを使って複数のメンバーツリーを検索する。このとき、各検索エンジンで検索するメンバーツリーは異なる。よって、従来のようにルーティングテーブル内で1つの木構造を構成する場合と比較して、検索時間を大幅に短縮できる。
また、同じ木構造内の複数のメンバーツリー間で登録されるリーフ数が不均等にならない。その結果、各メンバーツリーにおいてリーフにたどり着くまでに通過するノード数を均等にすることができる。
好ましくは、ルートは、ダイレクトテーブルを含む。ダイレクトテーブルは、宛先アドレス情報内の上位N(Nは自然数)ビット数分の複数の組合せ情報を記録する。各ルートのダイレクトテーブルは、当該他のルートのダイレクトテーブルと同じ組合せ情報を有する。
この場合、複数のメンバーツリーはダイレクトテーブルを有するため、ノードの数を減少できる。また、メンバーツリーごとのダイレクトテーブル内の組合せ情報は同じである。よって、従来1つの木構造であったものを複数のメンバーツリーに分けた状態にできる。その結果、ツリーごとに属するリーフの数は従来の木構造より減少する。その結果、リーフの偏りを減少できる。
好ましくはさらに、経路制御装置は作成手段を備える。作成手段は外部から入力されたメンバーツリー数情報に基づいて、ルーティングテーブル内に複数のメンバーツリーを含む木構造を作成する。
この場合、ルーティングテーブル内のメンバーツリー数を任意に設定できる。
好ましくはさらに、経路制御装置は登録情報ファイルを備える。登録情報ファイルは新たなリーフを登録するメンバーツリーを示す登録先情報を記憶する。登録手段は、外部から新たなリーフを受けたとき、登録先情報にもとづいて新たなリーフを登録し、登録後、登録先情報を登録されたリーフ数が最も少ないメンバーツリーに変更する。
この場合、経路制御装置は予め登録情報ファイルに登録された登録先情報に基づいてリーフを登録すれば、各メンバーツリーに登録されるリーフ数を均等に分散できる。
好ましくは、登録手段は新たなリーフを登録後、ラウンドロビン方式により登録先情報を変更する。
この場合、登録先情報を変更する場合、ラウンドロビン方式に基づいて変更するため、登録されたリーフ数が最も少ないメンバーツリーが登録先情報となる。
本発明による経路制御方法は、ネットワーク内の複数のホストコンピュータ及び他のネットワークとフレームを受信し、かつ転送する経路制御装置を用いた経路制御方法であって、経路制御装置は宛先アドレス情報と宛先アドレス情報に対応する経路情報とを含む複数のリーフを木構造で記憶するルーティングテーブルと、複数の検索エンジンとを備え、ルーティングテーブルは複数のメンバーツリーを含み、各メンバーツリーのルートは互いに同じエントリを有し、経路制御方法は、外部からフレームを受信するステップと、フレームから宛先アドレス情報を抽出するステップと、抽出された宛先アドレス情報を検索キーとして、複数の検索エンジンの各々が互いに異なるメンバーツリーを検索するステップと、検索するステップで検索エンジンのいずれかが検索キーに対応するリーフを検索したとき、検索されたリーフの有する経路情報に基づいてフレームを転送するステップと、ルーティングテーブルに新たなリーフを登録するとき、複数のメンバーツリーのうち、リーフ数が最も少ないメンバーツリーに新たなリーフを登録するステップとを備える。
本発明による経路制御方法に用いられる経路制御装置は、ルーティングテーブルの木構造を複数のメンバーツリーとし、各メンバーツリーのルートは互いに同じエントリを有する。その結果、ルートに対して1つのツリーを形成する場合と比較して、メンバーツリーに登録されるリーフ数は少なくなる。従来1つのツリーに登録していた複数のリーフを複数のメンバーツリーに分散できるからである。そのため、経路検索時にリーフにたどり着くために通過するノード数も減少し、木構造中でのリーフの偏りを防止できる。
また、本発明による経路制御方法は、複数の検索エンジンを使って複数のメンバーツリーを検索する。このとき、各検索エンジンで検索するメンバーツリーは異なる。よって、従来のようにルーティングテーブル内で同じルートに1つの木構造を構成する場合と比較して、検索時間を大幅に短縮できる。
また、同じ木構造内の複数のメンバーツリー間で登録されるリーフ数が不均等にならない。その結果、各メンバーツリーにおいてリーフにたどり着くまでに通過するノード数を均等にすることができる。
好ましくは、ルートは、ダイレクトテーブルを含む。ダイレクトテーブルは、宛先アドレス情報内の上位N(Nは自然数)ビット数分の複数の組合せ情報を記録する。各ルートのダイレクトテーブルは、当該他のルートのダイレクトテーブルと同じ組合せ情報を有する。
この場合、複数のメンバーツリーはダイレクトテーブルを有するため、ノードの数を減少できる。また、メンバーツリーごとのダイレクトテーブル内の組合せ情報は同じである。よって、従来1つの木構造であったものを複数のメンバーツリーに分けた状態にできる。その結果、ツリーごとに属するリーフの数は従来の木構造より減少する。その結果、リーフの偏りを減少できる。
好ましくは経路制御装置はさらに、新たなリーフの登録先メンバーツリーを示す登録先情報を記憶した登録情報ファイルを備え、経路制御方法はさらに、登録するステップで、登録先情報に基づいて新たなリーフを登録し、登録後に登録先情報を登録されたリーフ数が最も少ないメンバーツリーに変更するステップを含む。
この場合、経路制御装置は予め登録情報ファイルに登録された登録先情報に基づいてリーフを登録すれば、各メンバーツリーに登録されるリーフ数を均等に分散できる。
好ましくは、変更するステップはラウンドロビン方式により登録先情報を変更する。
この場合、登録先情報を変更する場合、ラウンドロビン方式に基づいて変更するため、登録されたリーフ数が最も少ないメンバーツリーが登録先情報となる。
以下、図面を参照し、本発明の実施の形態を詳しく説明する。図中同一又は相当部分には同一符号を付してその説明を援用する。
1.ロジカルツリーについて
本発明の実施の形態で経路検索に用いる木構造は、複数のメンバーツリーで構成されるロジカルツリー構造とする。以下、ロジカルツリー構造について説明する。
図1(A)を参照して、ロジカルツリーLTは複数のメンバーツリーMT1、MT2で構成されるツリー構造である。2つのメンバーツリーMT1,MT2のダイレクトテーブルDT1,DT2は共に同じDTエントリ0〜n(nは自然数)を備える。つまり、従来は1つのルート(図1ではダイレクトテーブルDT)に対して1つのツリーを構成していたのに対して、本実施の形態では同じルートを複数用意して、それぞれのルートのツリー(メンバーツリーMT)を構成する。各メンバーツリーMT1、MT2はリーフLの数が同じになるように構成される。なお、図1(A)はメンバーツリーMTごとにルート(ダイレクトテーブルDT1、DT2)を用意したが、図1(B)に示すように、各メンバーツリーMTが1つのルート(ダイレクトテーブルDT)を共用してもよい。メンバーツリーMTの作成方法については後述する。
図2(A)はダイレクトテーブルDT0を用いた従来の木構造である。このとき、ダイレクトテーブルDT0内のDTエントリ1に属するリーフLの数を8とし、各リーフLに到達するまでのノード段数を2とする。図2(A)に示したダイレクトテーブルDT0を持つ木構造を本発明のロジカルツリー構造で表すと図2(B)となる。図2(B)ではロジカルツリーLT内に2つのメンバーツリーMT1、MT2を構成する。メンバーツリーMT1はダイレクトテーブルDT1を、メンバーツリーMT2はダイレクトテーブルDT2をそれぞれ備える。ダイレクトテーブルDT1及びDT2はダイレクトテーブルDT0と同じDTエントリ0〜nを備える。メンバーツリーMT1のDTエントリ1に属するリーフLの数及びメンバーツリーMT2のDTエントリ1に属するリーフLの数はともに4となり、図2(A)の場合の半分となる。よって、ノード段数も1に減少する。
以上より、DTエントリに属するリーフ数が同じ場合、従来の木構造と比較して、ロジカルツリー構造により複数のメンバーツリーMTを構成した方が目的のリーフLに到達するまでのノード段数が少なくなる。
図2はリーフLが最も均等に分配された場合のツリー構造である。そこで、リーフLの偏りが最も大きい場合のツリー構造について図3に示す。図3(A)は従来の木構造であり、DTエントリ1において、リーフLに到達するまでの最大ノード段数は6となる。一方、図3(B)は2つのメンバーツリーMT1、MT2を有するロジカルツリー構造を構成する場合である。図3(B)では、各メンバーツリーMT1、MT2におけるDTエントリ1に属するリーフ数はともに4であり、リーフLに到達するまでの最大ノード段数を2に抑えることができる。
以上より、ロジカルツリー構造とすることで、目的のリーフLに到達するまでのノード段数を減らすことができる。さらに、ロジカルツリーLTは複数のメンバーツリーMTで構成されるため、経路制御装置に複数の検索エンジンを設けることで、各メンバーツリーMTを並列に検索することができる。この場合、検索時間は短縮される。なお、図1〜図3では、ダイレクトテーブルDTをルートRにもつツリー構造で説明したが、本発明は通常のルートRを有するツリー構造でも適用できる。さらに、パトリシアツリー以外の探索木でも適用可能である。
以下、ルーティングテーブルにロジカルツリーを有する経路制御装置について説明する。
2.経路制御装置の全体構成
図4を参照して、経路制御装置10は、アプリケーション1と、ロジカルツリー制御API(Application Program Interface)2と、ロジカルツリーマネージャ3と、検索部4と、登録情報ファイル51と、ルーティングテーブル52と、ロジカルツリー検索コントローラ6と、アプリケーションピココード7とを備える。アプリケーション1とロジカルツリー制御API2とロジカルツリーマネージャ3とでルーティングテーブル52内に複数のメンバーツリーMTを含むロジカルツリーLTを作成する。アプリケーションピココード7はネットワーク内の複数のホストコンピュータ及び他のネットワークからフレームを受信し、経路情報に基づいて受信したフレームを転送する。
アプリケーション1はルーティングテーブル52内に登録されたロジカルツリーLTの管理を行う。具体的には、アプリケーション1はルーティングテーブル52内のロジカルツリーLTの作成、削除、リーフLの追加、削除を指示する。アプリケーション1は経路制御装置10の初期設定時にロジカルツリーLTの作成を指示する。また、何らかの理由で経路制御装置10がソフトリセットされた場合、アプリケーション1はルーティングテーブル52内のロジカルツリーLTの削除を指示する。また、経路制御装置10は隣接する経路制御装置と経路情報の授受を行うが、このとき隣接する経路制御装置から新たな経路情報を受ければ、新に追加された経路情報に基づいてリーフLの追加を指示する。また、隣接する経路制御装置から経路情報を受けた結果、経路制御装置10が有するリーフLを削除する必要がある場合は、リーフLの削除を指示する。
ロジカルツリー制御API2はアプリケーション1とロジカルツリーマネージャ3との仲介を行う。ロジカルツリーマネージャ3はロジカルツリー制御API2を介してアプリケーション1から出力される指示及び経路情報に基づいて、ロジカルツリーの作成、削除、リーフLの追加、削除を行う。ルーティングテーブル52にはロジカルツリーLTが記憶されている。図1で示した通り、ロジカルツリーLTは複数のメンバーツリーMT1,MT2で構成される。図4中ではルーティングテーブル52内に1つのロジカルツリーLTしか示してないが、ロジカルツリーLTは複数登録されてもよい。ロジカルツリーLTの数は、経路制御装置10が管理する経路情報の種類により決定される。たとえば、経路制御装置10がMACアドレスに関する経路情報とIPアドレスに関する経路情報とをルーティングテーブル52に登録するのであれば、ルーティングテーブル52内にはMACアドレス用のロジカルツリーLTとIPアドレス用のロジカルツリーLTとが設定される。また、図4中ではロジカルツリーLT内に2つのメンバーツリーMT1、MT2が示されているが、メンバーツリーMTは3以上あってもよい。メンバーツリーMTの数は後述する検索部4内の検索エンジンSEの数に基づいて決定される。
アプリケーションピココード7は外部からフレームを受け、フレームが向かうべき場所へ向けてそのフレームを転送する(フォワーディング)。具体的にはアプリケーションピココード7は経路制御装置10と同じネットワーク内の複数のホストから送信されるフレームまたは他のネットワークの経路制御装置から送信されたフレームを受け、フレームから宛先アドレス情報を抽出し、抽出した宛先アドレス情報に基づいて経路情報を取得し、取得した経路情報に基づいてフレームを送信する。
ロジカルツリー検索コントローラ6はアプリケーションピココード7により抽出されたアドレス情報を検索キーとして、検索部4を用いてロジカルツリーLT内に検索キーに一致するリーフLがあるか否か検索する。検索部4には2つの検索エンジンSE1及びSE2が設置される。検索部4は、ロジカルツリーマネージャ3又はロジカルツリー検索コントローラ6の指示を受け、ルーティングテーブル52内のロジカルツリーLTを検索する。登録情報ファイル51はルーティングテーブル52に登録されているロジカルツリーLTのロジカルツリーIDや、そのロジカルツリーLTに含まれる各メンバーツリーMTのIDを記憶する。さらに後述するように、新たなリーフLを登録する登録先メンバーツリーIDも記憶する。
3.ロジカルツリー作成及び編集動作
以下、経路制御装置10を用いたロジカルツリーの設定及び編集動作について説明する。アプリケーション1がロジカルツリーの作成や編集等の指示を出し、ロジカルツリー制御API2がその指示に基づいてロジカルツリーマネージャ3用のメッセージを作成し、メッセージを受けたロジカルツリーマネージャがロジカルツリーの作成や編集を行う。
3.1.初期設定処理(ロジカルツリー作成処理)
ロジカルツリー作成処理(S500)は経路制御装置10をネットワークに接続させたとき(初期設定時)に行われる。図5を参照して、経路制御装置10をネットワークに接続し、起動させる(S101)。このとき、アプリケーション1はロジカルツリーの作成を指示する(S102)。具体的には、ロジカルツリー制御API2に対してロジカルツリー作成用のAPIの呼出(APIコール)を行う。なお、このときロジカルツリーLTを作成するための種々の条件(パラメータ)をロジカルツリー制御API2に送信する。パラメータは、作成すべきロジカルツリーLTのID、ロジカルツリーLTの種類、ロジカルツリーLT中のメンバーツリーMTの数、検索時に利用する利用検索エンジン数等である。ロジカルツリーLTの種類は経路検索時の検索方法に基づいて分けられる。たとえば、経路制御装置10がMACアドレス用の経路情報を管理する場合、経路検索方法はFM(Full Match)で行うのが好ましい。FMとはフレームの宛先MACアドレスとルーティングテーブル52のリーフLに登録されている宛先アドレス情報とを比較して、両者が完全に一致(Full Match)した場合に経路を決定する方法である。このときのロジカルツリーLTの種類は「FMタイプ」となる。また、経路制御装置10がIPアドレス用の経路情報を管理する場合、経路検索方法はLPM(Longest Prefix Match:最長一致検索)が好ましい。LPMとは、フレームの宛先IPアドレスとルーティングテーブル52のリーフLに登録されている宛先アドレス情報とを比較して、IPアドレスと宛先アドレス情報との一致している部分が一番長いリーフLが持つ経路情報を最適な経路情報と判断する方法である。この場合のロジカルツリーLTの種類は「LPMタイプ」となる。パラメータ中の利用検索エンジン数は経路検索時に利用する検索エンジンSEの数を示す。経路制御装置10では、パラメータにより指定したロジカルツリーIDの経路検索時に利用する検索エンジン数は最大「2」とすることができる。なお、経路制御装置10にn(nは0を除く自然数)個の検索エンジンSEがある場合、利用検索エンジン数はn以下であればよい。また、パラメータ内のメンバーツリーMTの数は経路制御装置10の管理者等により外部から入力される任意の数である。
たとえば、経路制御装置10がMACアドレスに関する経路情報をロジカルツリーLTとしてルーティングテーブル52に登録する場合を考える。このときロジカルツリーLTは2つのメンバーツリーMTで構成されるように登録すると仮定する。この場合、ステップS102では、ロジカルツリーIDを任意の数(たとえば、ID=65)、ロジカルツリーの種類を「FMタイプ」、メンバーツリー数を「2」、利用検索エンジン数を「2」(経路制御装置10には2つの検索エンジンSEがあるため)とし、これらをパラメータとしてロジカルツリー制御API2に送信する。
ロジカルツリー制御API2はアプリケーション1からロジカルツリー作成指示を受け、メッセージ作成処理を実行する(S21)。具体的には、ロジカルツリー制御API2はアプリケーション1からロジカルツリー作成指示を受け(S201)、受けた指示中のパラメータをチェックする(S202)。指示中のパラメータに異常がある場合は、アプリケーション1にエラー通知を送信する(S203)。たとえば、経路制御装置10には検索エンジンSEが2つしかないにもかかわらず、パラメータ中の利用検索エンジン数が「3」となっていた場合は、エラー通知を送信する。アプリケーション1はエラー通知を受け(S103)、何らかの異常が発生したと判断し(S104)、異常が発生した旨を経路制御装置10のユーザ又は管理者に伝える。たとえば経路制御装置10は警告音を出したり、図示しないディスプレイに異常が発生した旨を表示する(S105)。
一方、ステップS202でのパラメータチェックの結果パラメータが正常である場合、ロジカルツリー制御API2はロジカルツリー作成要求のメッセージを作成し、(S204)。ロジカルツリーマネージャ3にそのメッセージを送信する(S205)。なお、メッセージにはステップS201で受信したパラメータも含まれる。
ロジカルツリーマネージャ3はロジカルツリー制御API2からロジカルツリー作成要求メッセージを受ける(S301)。このとき、ロジカルツリーマネージャ3は受けたメッセージに含まれるパラメータ中のロジカルツリーIDが既に登録されているか否かを判断する(S302)。既にロジカルツリーIDが登録されている場合、作成しようとするロジカルツリーLTは既にルーティングテーブル52に登録されていることになるため、ロジカルツリーマネージャ3は受けたメッセージに何らかのエラーがあると判断する。よって、ロジカルツリーマネージャ3はエラー通知をロジカルツリー制御API2に送信する(S303)。ロジカルツリー制御API2はロジカルツリーマネージャ3からエラー通知を受け、通知処理を実行する(S22)。具体的には、ロジカルツリー制御API2はエラー通知を受け(S206)、エラーが発生したと判断し(S207)、エラー通知をアプリケーション1に送信する(S208)。アプリケーション1はエラー通知を受け(S103)、エラーが発生したと判断し(S104)、警告を行う(S105)。
一方、ステップS302で判断の結果ロジカルツリーLTの登録がない場合、ロジカルツリーマネージャ3はロジカルツリーLT及びメンバーツリーMTを作成する(S304)。具体的には、ロジカルツリーマネージャ3は受けたメッセージ中のパラメータに基づいてルーティングテーブル52にロジカルツリーLT及びメンバーツリーMTを作成する。パラメータ中のメンバーツリー数が「2」となっているため、ロジカルツリーマネージャ3はロジカルツリーLT内にメンバーツリーMT1及びMT2を作成する。メンバーツリーMT1及びMT2を作成後、ロジカルツリーマネージャ3は作成したロジカルツリーLTをルーティングテーブル52に登録し、また、登録情報ファイル51に表2に示す経路制御情報を登録する(S305)。
Figure 0003842250
表2を参照して、経路制御情報は、登録したロジカルツリーIDと、そのロジカルツリーID内に構成されるメンバーツリーIDと、経路検索時に利用する検索エンジン数と、リーフLの登録先を示す登録先メンバーツリーIDとを含む。登録先メンバーツリーIDについては、次項のリーフ登録処理で説明する。
登録情報ファイル51に経路制御情報を登録後、ロジカルツリーマネージャ3はロジカルツリーLTの作成の正常終了通知をロジカルツリー制御API2に送信する(S306)。
ロジカルツリー制御API2はロジカルツリーマネージャ3から正常終了通知を受信後(S206)、ロジカルツリーLTの作成が正常に終了したと判断し(S207)、正常終了通知をアプリケーション1に送信する(S209)。
アプリケーション1は、ロジカルツリー制御API2から正常終了通知を受信後(S103)、ロジカルツリーLTの作成が正常に終了したと判断する(S104)。このときアプリケーション1はアプリケーションピココード7を起動する(S106)。続いてアプリケーション1はアプリケーションピココード7が正常に起動したか否かを判断する(S107)。判断の結果正常に起動していない場合、アプリケーション1はステップS105と同じく警告処理を行う(S108)。判断の結果正常に起動している場合、アプリケーション1はアプリケーションピココード7にフレームの受信を許可する(S109)。アプリケーションピココード7はアプリケーション1から許可を得て初めてフレームを受信し、隣接する経路制御装置から経路情報を受ける。
以上の動作により経路制御装置10はロジカルツリーLT(及びメンバーツリーMT)の作成を行う。しかしながら、この初期設定時に作成されるロジカルツリーLTはリーフLを1つも持たない、いわば空の状態である。ロジカルツリーLTが複数のリーフLを持ち、経路情報として機能するために、経路制御装置10は次項に示すリーフLの登録処理を行う。
3.2.リーフ登録処理
経路制御装置10がロジカルツリーに登録されていない宛先アドレス情報を有するフレームを受信した場合や、経路制御装置10が隣接する経路制御装置との間で経路情報の授受を行った場合、経路制御装置10はロジカルツリーLTに新たなリーフLを登録するリーフ登録処理(S600)を実行する。図6を参照して、アプリケーションピココード7がルーティングテーブル52内のロジカルツリーLTによって経路検索できないフレームを受信した場合、アプリケーションピココード7からアプリケーション1にそのフレームが送信される。アプリケーション1は経路検索できなかったフレームを受信し(S121)、そのフレームが送信されるべき経路の決定を試みる(S122)。具体的には、アプリケーション1はそのフレームから宛先アドレス情報を抽出する。アプリケーション1は抽出した宛先アドレス情報を用いて経路制御装置10が属するルーティングプロトコルに従ってそのフレームが向かうべき経路情報の決定を試みる。ステップS122を実行後、そのフレームに対する経路情報が決定したか否かを判断する(S123)。判断の結果経路情報が決定できなかった場合、アプリケーション1はそのフレームを破棄する(S124)。一方、判断の結果経路情報が決定できた場合、アプリケーション1はロジカルツリー制御API2を介してロジカルツリーマネージャ3にリーフLの登録を指示する(S126)。リーフLは宛先アドレス情報とその宛先アドレス情報を有するフレームが向かうべき先を示した経路情報とを含む。ここで、アプリケーション1はロジカルツリー制御API2に対してリーフL登録用のAPIコールを実行する。なお、アプリケーション1はステップS122で抽出した宛先アドレス情報からリーフLを登録すべきロジカルツリーLTのIDを選択する。選択されたロジカルツリーIDとリーフL(宛先アドレス及び経路情報)とはパラメータとしてロジカルツリー制御API2に送信される。
ロジカルツリー制御API2はアプリケーション1からリーフ登録用のAPIコールを受け、メッセージ作成処理を実行する(S21)。
ロジカルツリーマネージャ3はロジカルツリー制御API2で作成されたメッセージを受け(S321)、リーフ登録処理を開始する(S322〜325)。初めに、ロジカルツリーマネージャ3は受信したメッセージ中のパラメータからロジカルツリーIDを読み出し、読み出したロジカルツリーIDが登録情報ファイル51内に登録されているか否かを判断する(S322)。判断の結果登録されていない場合、ロジカルツリーマネージャ3はロジカルツリー制御API2にエラー通知を送信する(S323)。ロジカルツリー制御API2はエラー通知を受け、通知処理を実行し(S22)、エラー通知をアプリケーション1に送信する。アプリケーション1はエラー通知を受け(S127)、エラーが発生したと判断し(S128)、ステップS121で受信したフレームを破棄する(S129)。
一方、ステップS322での判断の結果ロジカルツリーIDが登録されている場合、ロジカルツリーマネージャ3は登録先メンバーツリーを特定する(S324)。具体的には、登録情報ファイル51内の経路制御情報を参照し、該当するロジカルツリーIDでの登録先メンバーツリー欄を参照する。登録先メンバーツリー欄には、登録されたリーフLの数が最も少ないメンバーツリーIDが登録されている。登録先メンバーツリー欄の登録方法については後述する。たとえば、ステップS321で受けたメッセージ中のロジカルツリーIDが「65」の場合、ロジカルツリーID=65の登録先メンバーツリーMTは「MT1」となっているため、リーフLの登録先のメンバーツリーMTを「MT1」と特定する。続いて、ロジカルツリーマネージャ3は特定したメンバーツリーMT1にリーフLを登録する(S325)。
リーフLの登録を終了後、次の新たなリーフLの登録を行うときの登録先メンバーツリーMTを特定する(S30)。原則として、次回の新たなリーフLの登録は、複数のメンバーツリーMTの中で登録されたリーフLの数が最も少ないメンバーツリーMTで行われる。このメンバーツリーMTの特定はラウンドロビンにより行われる。具体的には、初めにステップS325でリーフLを登録したメンバーツリーMTがMT1か否かを判断する(S326)。判断の結果リーフLを登録したメンバーツリーMTがMT1の場合、次回のリーフLの登録先はメンバーツリーMT2とする(S327)。すなわち、登録情報ファイル51のロジカルツリーID=65における登録先メンバーツリー欄を「MT1」から「MT2」に変更する。なお、判断の結果、リーフLを登録したメンバーツリーMTがMT1でない場合、ステップS325でリーフLを登録したのはメンバーツリーMT2ということになるため、次回のリーフLの登録先メンバーツリーMTを「MT1」と変更する(S328)。
なお、本実施の形態ではメンバーツリーMTを2つ(MT1,MT2)としたが、メンバーツリー数が3以上ある場合は、メンバーツリーID順にリーフLの登録を行う(ラウンドロビン方式)。たとえば、ステップS325でメンバーツリーMT1にリーフLの登録を行った場合は、次回の登録先メンバーツリーMTはMT2となり、さらに、ステップS325でリーフLがメンバーツリーMT2に登録された場合は次回の登録先メンバーツリーMTはMT3となる。なお、メンバーツリー数がn(nは0を除く自然数)ある場合であって、ステップS325でリーフLがメンバーツリーMTnに登録されたとき、次回の登録先メンバーツリーMTはMT1となる。ラウンドロビン方式により登録先メンバーツリーIDを選定すれば、選定されたメンバーツリーMTは複数のメンバーツリーMT内で最も登録されたリーフ数が少ないメンバーツリーMTということになる。
以上の動作により、ロジカルツリーLTに複数のメンバーツリーMTがある場合、そのうちの1つのメンバーツリーMTにリーフLを集中的に登録するのではなく、リーフLを登録する度に登録先のメンバーツリーMTを順次変更する。これにより、新たなリーフLが登録されるメンバーツリーMTはロジカルツリーLT内の複数のメンバーツリーMTの中で最も登録されたリーフ数が少ないメンバーツリーMTとなる。よって、リーフLを各メンバーツリーMTに均等に振り分けて登録できる。
リーフLの登録後、ロジカルツリーマネージャ3は正常終了通知をロジカルツリー制御API2に送信する(S329)。ロジカルツリー制御API2は通知を受信後、通知処理を実行し、(S22)正常終了通知をアプリケーション1に送信する。
アプリケーション1は正常終了通知を受信後(S127)、リーフLの登録が正常に終了したと判断する(S128)。このとき、アプリケーション1はステップS121で受信したフレームをアプリケーションピココード7に送信する(S130)。アプリケーションピココード7はフレームを受信し、後述する経路検索処理を実行する。
3.3.リーフ削除処理
経路制御装置10が隣接する経路制御装置との間で経路情報の授受を行った結果、3.2.に説明したように新たなリーフLを登録する場合もあれば、リーフLを削除する場合もある。リーフLを削除する場合とは、本来ネットワーク上に存在していた経路が何らかの理由で削除されたときに発生する。以下、リーフLの削除の動作について説明する。図7を参照して、隣接する経路制御装置から経路情報を受信後、アプリケーション1はルーティングテーブル52内の特定のリーフLを削除する必要があると判断する(S131)。このとき、アプリケーション1はロジカルツリー制御API2を介してロジカルツリーマネージャ3にリーフLを削除するよう指示する(S132)。このとき、アプリケーション1は削除すべきリーフLが属するロジカルツリーのロジカルツリーIDとそのリーフLが有する宛先アドレス情報とをパラメータとして送信する。ロジカルツリー制御API2はリーフLの削除指示を受け、メッセージ作成処理を実行する(S21)。
ロジカルツリーマネージャ3はロジカルツリー制御API2が作成したメッセージを受信後(S331)、リーフL削除の対象となるロジカルツリーLTが制御情報に登録されているか否かを判断する(S332)。具体的には、ステップS331で受信したメッセージに含まれるパラメータからロジカルツリーIDを読み出し、登録情報ファイル51を参照して、読み出したロジカルツリーIDが登録されているか否かを判断する。判断の結果対象となるロジカルツリーIDが登録されていない場合、ロジカルツリーマネージャ3はロジカルツリー制御API2にエラー通知を送信する(S333)。ロジカルツリー制御API2はエラー通知を受け、通知処理を行い(S22)、アプリケーション1にエラー通知を送信する。アプリケーション1はエラー通知を受信後(S133)、エラーが発生したと判断し(S134)、警告処理を行う(S135)。
一方、判断の結果対象となるロジカルツリーIDが登録されている場合、登録情報ファイル51を参照して、そのロジカルツリーIDに属するメンバーツリーIDを取得する(S334)。メンバーツリーIDを取得後、ロジカルツリーマネージャ3は検索部4内の検索エンジンSE1及びSE2を用いて削除の対象となっているリーフLを検索する(S335)。具体的には、ロジカルツリーマネージャ3はメンバーツリーID(MT1、MT2)及びステップS331で受けたパラメータ内の宛先アドレス情報を検索キーとして検索部4に送信する。検索部4は検索エンジンSE1、SE2を用いて該当するリーフLの検索を行う。このとき、検索部4内の各検索エンジンSEはそれぞれ異なるメンバーツリーMTを検索する。すなわち、検索エンジンSE1がメンバーツリーMT1を検索する場合は、検索エンジンSE2はメンバーツリーMT2を検索する。検索時に利用する検索エンジン数は、3.1.の初期設定時にアプリケーション1から送信されるパラメータで決定されている。本実施の形態では、利用検索エンジン数を「2」としているため、検索エンジンSE1及びSE2がいずれも検索を行う。なお、検索エンジンSE1がメンバーツリーMT1、MT2のどちらを検索するかは、検索部4で決定してもよいし、3.1.の初期設定時にアプリケーション1から送信されるパラメータで指定してもよい。従来のように1つのツリー構造とするのではなく、複数のメンバーツリーMTを含むロジカルツリー構造とすることで、複数の検索エンジンの各々で異なるメンバーツリーMTを検索することができるため、検索時間が短縮される。
ロジカルツリーマネージャ3はいずれかのメンバーツリーMTの検索が終了したか否か判断する(S336)。判断は、検索部4から送信される検索終了報告に基づいて行われる。検索部4はいずれかのメンバーツリーMTの検索を終了後、検索が終了した旨と検索が終了したメンバーツリーIDと(以下、検索終了通知を称する)をロジカルツリーマネージャ3に送信する。判断の結果、いずれのメンバーツリーMTの検索も終了していない場合、ステップS336の判断動作を繰り返す。
検索部4から検索終了通知を受けたとき、ロジカルツリーマネージャ3はいずれかのメンバーツリーMTの検索が終了したと判断し(S336)、検索が終了したメンバーツリーMTで削除すべきリーフLが見つかったか否かを判断する(S337)。具体的には、検索部4から該当するリーフLが見つかったか否かの報告を受け、判断する。判断の結果該当するリーフLが見つからなかった場合、ロジカルツリーマネージャ3は検索部4が全てのメンバーツリーMTの検索を終了したか否かを判断する(S338)。全てのメンバーツリーMTの検索が終了していると判断した場合、削除すべきリーフLが存在しなかったということになるため、ロジカルツリーマネージャ3はエラー通知をロジカルツリー制御API2に送信する(S339)。ステップS339でのエラー通知後の動作は、ステップS333でのエラー通知後の動作と同じである。
一方、ステップS338で全てのメンバーツリーの検索が終了していないと判断した場合、再びステップS336に戻り、検索処理を継続する。ステップS337で削除すべきリーフLが見つかったと判断した場合、ロジカルツリーマネージャ3は該当するリーフLを削除する(S340)。
リーフLを削除した後、ロジカルツリーマネージャ3は正常終了通知を送信する(S341)。正常終了通知を受信したロジカルツリー制御API2は通知処理を実施し(S22)、正常終了通知をアプリケーション1に送信する。アプリケーション1は正常終了通知を受信後(S133)、リーフLの削除が正常に終了したと判断し(S134)、リーフL削除処理を終了する。
3.4.ロジカルツリー削除
経路制御装置10は、上述のように既に登録したリーフLを削除する場合だけでなく、ロジカルツリーLTを削除する場合もある。ロジカルツリーLTを削除する例としてソフトリセットがある。ソフトリセットとは経路制御装置10の電源をオフにすることなく、ルーティングテーブル52内のロジカルツリーLTを削除し、再作成(初期化)することをいう。以下、ソフトリセットの場合のロジカルツリー削除処理について説明する。
図8を参照して、アプリケーション1はソフトリセット要求を受信する(S111)。ソフトリセット要求はたとえば、ユーザの選択によりアプリケーション1の外部から入力される。続いて、アプリケーション1はアプリケーションピココード7にフレームの受信を停止するよう指示する(S112)。ソフトリセット中に経路制御装置10に接続されたホスト等からフレームを受けないようにするためである。フレーム受信の停止を指示後、アプリケーション1はロジカルツリー制御API2にロジカルツリーLTの削除を指示する(S113)。具体的には、ロジカルツリーLT削除用のAPIをコールする。このとき、削除すべきロジカルツリーIDがパラメータとして送信される。
ロジカルツリー削除指示を受けたロジカルツリー制御API2はメッセージ作成処理を実行する(S21)。ロジカルツリーマネージャ3はロジカルツリー制御API2からメッセージを受信後(S311)、該当するロジカルツリーLTが登録されているか否かを判断する(S312)。具体的には、メッセージに含まれるパラメータ中のロジカルツリーIDを読み出し、読み出されたロジカルツリーIDが登録情報ファイル51に登録されているか否か判断する。判断の結果、該当するロジカルツリーIDがない場合、ロジカルツリーマネージャ3はなんらかのエラーが生じたと判断し、エラー通知をロジカルツリー制御API2に送信する(S313)。ロジカルツリー制御API2はエラー通知を受信後、通知処理を実行し(S22)、エラー通知をアプリケーション1に送信する。アプリケーション1はエラー通知を受信後(S114)、エラーが発生したと判断し(S115)、警告処理を実行する(S116)。
一方、判断の結果、該当するロジカルツリーIDが登録情報ファイル51に登録されている場合、ロジカルツリーマネージャ3は登録情報ファイル51を参照して削除すべきロジカルツリーLT内のメンバーツリーID(MT1、MT2)を特定する(S314)。メンバーツリーIDを特定後、特定されたメンバーツリーを削除する(S315)。具体的には、ロジカルツリーマネージャ3は検索部4に対して削除すべきメンバーツリーIDを送信し、該当するメンバーツリーMTを削除するように指示する。指示を受けた検索部4は該当するメンバーツリーMTを検索し、削除する。
メンバーツリーMTの削除後、ロジカルツリーマネージャ3は登録情報ファイル51内のロジカルツリーIDを削除する(S316)。ロジカルツリーマネージャ3はロジカルツリーを削除後、正常終了通知をロジカルツリー制御API2に送信する(S317)。ロジカルツリー制御API2は正常終了通知を受け、通知処理(S22)を実行した後、正常終了通知をアプリケーション1に送信する。
アプリケーション1は正常終了通知を受信後(S114)、ロジカルツリーLTの削除が正常に終了したと判断する(S115)。このとき、経路制御装置10は3.1.の初期設定処理(S500)を実行する。
以上の動作により、本実施の形態による経路制御装置は一度登録したロジカルツリーを削除できる。
4.経路情報検索動作
経路情報をロジカルツリーLTに登録している経路制御装置10には、経路制御装置10が接続されたネットワーク内の複数のホストから、または、ネットワーク外の経路制御装置からフレームが送信される。経路制御装置10は複数のホストから送信された複数のフレームを受信し、経路検索により求めた経路情報に基づいて、各フレームを転送する(フォワーディング)。
図9を参照して、アプリケーションピココード7は経路制御装置10の外部からフレームを受信する(S701)。フレームを受信後、アプリケーションピココード7はフレーム内の宛先アドレス情報を検索キーとして抽出する(S702)。検索キー抽出後、アプリケーションピココード7はロジカルツリー検索コントローラ6に検索要求を送信する(S703)。検索要求には、検索対象となるロジカルツリーIDと検索キーとしての宛先アドレス情報とをパラメータとして送信する。なお、検索対象となるロジカルツリーIDは抽出された宛先アドレス情報に基づいてアプリケーションピココード7により決定される。
ロジカルツリー検索コントローラ6はアプリケーションピココード7から検索要求を受信後(S601)、検索対象となるロジカルツリーLTが登録されているか否かを判断する(S602)。具体的には、受信した検索要求に含まれるパラメータから検索対象であるロジカルツリーIDを読み出し、読み出したロジカルツリーIDが登録情報ファイル51に登録されているか否かを判断する。判断の結果登録情報ファイル51にロジカルツリーIDが登録されていない場合、ロジカルツリーIDはエラー通知をアプリケーションピココード7に送信する(S603)。アプリケーションピココード7はエラー通知を受信後(S704)、エラーが発生したと判断する(S705)。このとき、アプリケーションピココード7はステップS701で受信したフレームをアプリケーション1に送信する(S706)。アプリケーション1はフレームを受信し、3.2.で説明したリーフ登録処理を実行する(S600)。
一方、ステップS602で検索対象のロジカルツリーIDが登録されていると判断した場合、ロジカルツリー検索コントローラ6は経路検索を行う(S604〜S610)。具体的には、検索要求のパラメータ中のロジカルツリーIDに属するメンバーツリーIDを登録情報ファイル51から取得する(S604)。ロジカルツリー検索コントローラ6は取得したメンバーツリーID及び検索要求のパラメータ中の宛先アドレス情報を検索部4に送信し、検索を指令する(S605)。検索部4の検索エンジンSE1及びSE2は検索指令を受け、宛先アドレスを検索キーとして、メンバーツリーMT1及びMT2の検索を開始する。なお、検索時、各検索エンジンは互いに異なるメンバーツリーMTを検索する。たとえば、検索エンジンSE1はメンバーツリーMT1を検索し、検索エンジンSE2はメンバーツリーMT2を検索する。このように検索エンジンごとに異なるメンバーツリーMTを検索させることで、検索時間が短縮される。ステップS606からステップS609までのロジカルツリー検索コントローラ6の動作はリーフ削除処理(図7)におけるステップS336からステップS339までのロジカルツリーマネージャ3の動作と同じである。経路検索の結果、ステップS609でエラー通知が送信するということは、ステップS701で受信したフレームに対するリーフLがルーティングテーブル52に登録されていないということである。よって、アプリケーションピココード7はステップS701で受信したフレームをアプリケーション1に送信する(S706)。アプリケーション1はフレームを受信し、3.2.で説明したリーフ登録処理を実行する(S600)。
一方、経路検索の結果、宛先アドレス情報と一致したリーフLを検索した場合、ロジカルツリー検索コントローラ6は検索したリーフLをアプリケーションピココード7に送信する(S610)。アプリケーションピココード7はリーフLを受信後(S704)、リーフLを受信したことにより経路検索が正常に終了したと判断する(S705)。よって、受信したリーフLから経路情報を抽出し、ステップS701で受信したフレームの転送先を決定する(S707)。決定後、その転送先にフレームを転送する(S708)。
以上に示したように、経路制御装置10は、ルーティングテーブル52内に複数のメンバーツリーMTを有するロジカルツリーを備える。同じルートに対して1つのツリーを形成する場合と比較して、メンバーツリーMTに登録されるリーフ数は少なくなるため、経路検索時にリーフLにたどり着くために通過するノード数を減少できる。また、複数の検索エンジンSEを使って複数のメンバーツリーMTを検索し、各検索エンジンSEで検索するメンバーツリーMTを異なるようにすることで、従来と比較して、検索時間を大幅に短縮できる。
なお、本実施の形態では検索エンジンSEは2つとしたが、経路制御装置にさらに多くの検索エンジンSEがあってもよい。また、本実施の形態では、2つの検索エンジンSEに対して2つのメンバーツリーMTを作成したが、メンバーツリーMT数は検索エンジンSE数より多くてもよい。たとえば、経路制御装置10において、4つのメンバーツリーMT1〜MT4を作成してもよい。この場合、検索エンジンSE1でメンバーツリーMT1及びMT2を、検索エンジンSE2でメンバーツリーMT3及びMT4を検索すればよい。
また、リーフLが有する宛先アドレス情報がハッシュ関数によりハッシュされていてもよい。この場合、経路検索時(図9)にステップS702で抽出された検索キー(宛先アドレス情報)は、メンバーツリーMTを検索するとき(S605)に検索部4でハッシュされる。
以上、本発明の実施の形態を説明したが、上述した実施の形態は本発明を実施するための例示に過ぎない。よって、本発明は上述した実施の形態に限定されることなく、その趣旨を逸脱しない範囲内で上述した実施の形態を適宜変形して実施することが可能である。
本発明の実施の形態によるロジカルツリー構造を説明するための概念図である。 本発明の実施の形態によるロジカルツリー構造を説明するための他の例の概念図である。 本発明の実施の形態によるロジカルツリー構造を説明するための他の例の概念図である。 本発明の実施の形態による経路制御装置の全体構成を示すブロック図である。 図4の経路制御装置のロジカルツリー作成処理の動作を示すフロー図である。 図4の経路制御装置のリーフ登録処理の動作を示すフロー図である。 図4の経路制御装置のリーフ削除処理の動作を示すフロー図である。 図4の経路制御装置のロジカルツリー削除処理の動作を示すフロー図である。 図4の経路制御装置の経路検索処理の動作を示すフロー図である。 従来のツリー法によるツリー構造の一例を示す概念図である。 ダイレクトテーブルを用いたツリー構造を示す概念図である。 ツリー構造内のリーフの偏りを説明するための概念図である。
符号の説明
1 アプリケーション
2 ロジカルツリー制御API
3 ロジカルツリーマネージャ
4 検索部
6 ロジカルツリー検索コントローラ
7 アプリケーションピココード
51 登録情報ファイル
52 ルーティングテーブル
LT ロジカルツリー
MT1,MT2 メンバーツリー
SE1,SE2 検索エンジン

Claims (9)

  1. ネットワーク内の複数のホストコンピュータ及び他のネットワークからフレームを受信し、かつ転送する経路制御装置であって、
    宛先アドレス情報と前記宛先アドレス情報に対応する経路情報とを含む複数のリーフを木構造で記憶するルーティングテーブルを備え、
    前記ルーティングテーブルは複数のメンバーツリーを含み、各メンバーツリーのルートは互いに同じエントリを有し、
    前記経路制御装置はさらに、
    各々が、受信した前記フレームに含まれる宛先アドレス情報を検索キーとして、互いに異なるメンバーツリーを検索する複数の検索エンジンと、
    前記フレームを受信し、前記検索エンジンのいずれかが前記検索キーに対応するリーフを検索したとき、前記検索したリーフに含まれる経路情報に基づいて前記受信したフレームを転送する受信転送手段と、
    前記ルーティングテーブルに新たなリーフを登録するとき、前記複数のメンバーツリーのうち、リーフ数が最も少ないメンバーツリーに前記新たなリーフを登録する登録手段とを備えることを特徴とする経路制御装置。
  2. 請求項1に記載の経路制御装置であって、
    前記各ルートは、前記宛先アドレス情報内の上位N(Nは自然数)ビット数分の複数の組合せ情報を記録するダイレクトテーブルを含み、
    前記各ルートのダイレクトテーブルは、当該他のルートのダイレクトテーブルと同じ組合せ情報を記録することを特徴とする経路制御装置。
  3. 請求項1又は請求項2に記載の経路制御装置であってさらに、
    外部から入力されたメンバーツリー数情報に基づいて、前記ルーティングテーブル内に複数のメンバーツリーを含む木構造を作成する作成手段を備えることを特徴とする経路制御装置。
  4. 請求項1〜請求項3のいずれか1項に記載の経路制御装置であってさらに、
    新たなリーフを登録するメンバーツリーを示す登録先情報を記憶する登録情報ファイルを備え、
    前記登録手段は、外部から新たなリーフを受けたとき、前記登録先情報に基づいて前記新たなリーフを登録し、登録後、前記登録先情報を登録されたリーフ数が最も少ないメンバーツリーに変更することを特徴とする経路制御装置。
  5. 請求項4に記載の経路制御装置であって、
    前記登録手段は、前記新たなリーフを登録後、ラウンドロビン方式により前記登録先情報を変更することを特徴とする経路制御装置。
  6. ネットワーク内の複数のホストコンピュータ及び他のネットワークとフレームを受信し、かつ転送する経路制御装置を用いた経路制御方法であって、
    前記経路制御装置は、宛先アドレス情報と前記宛先アドレス情報に対応する経路情報とを含む複数のリーフを木構造で記憶するルーティングテーブルと、複数の検索エンジンとを備え、
    前記ルーティングテーブルは複数のメンバーツリーを含み、各メンバーツリーのルートは互いに同じエントリを有し、
    前記経路制御方法は、
    外部からフレームを受信するステップと、
    前記フレームから宛先アドレス情報を抽出するステップと、
    前記抽出された宛先アドレス情報を検索キーとして、前記複数の検索エンジンの各々が互いに異なるメンバーツリーを検索するステップと、
    前記検索するステップで前記検索エンジンのいずれかが前記検索キーに対応するリーフを検索したとき、前記検索されたリーフの有する経路情報に基づいて前記フレームを転送するステップと、
    前記ルーティングテーブルに新たなリーフを登録するとき、前記複数のメンバーツリーのうち、リーフ数が最も少ないメンバーツリーに前記新たなリーフを登録するステップとを備えることを特徴とする経路制御方法。
  7. 請求項6に記載の経路制御方法であって、
    前記各ルートは、前記宛先アドレス情報内の上位N(Nは自然数)ビット数分の複数の組合せ情報を記録するダイレクトテーブルを含み、
    前記各ルートのダイレクトテーブルは当該他のルートのダイレクトテーブルと互いに同じ組合せ情報を有することを特徴とする経路制御方法。
  8. 請求項6又は請求項7に記載の経路制御方法であって、
    前記経路制御装置はさらに、新たなリーフの登録先メンバーツリーを示す登録先情報を記憶した登録情報ファイルを備え、
    前記経路制御方法はさらに、
    前記登録するステップで、前記登録先情報に基づいて前記新たなリーフを登録し、登録後に前記登録先情報を登録されたリーフ数が最も少ないメンバーツリーに変更するステップを含むことを特徴とする経路制御方法。
  9. 請求項8に記載の経路制御方法であって、
    前記変更するステップはラウンドロビン方式により前記登録先情報を変更することを特徴とする経路制御方法。
JP2003272070A 2003-07-08 2003-07-08 経路制御装置、経路制御方法及びそのプログラム Expired - Fee Related JP3842250B2 (ja)

Priority Applications (4)

Application Number Priority Date Filing Date Title
JP2003272070A JP3842250B2 (ja) 2003-07-08 2003-07-08 経路制御装置、経路制御方法及びそのプログラム
US10/883,212 US7460540B2 (en) 2003-07-08 2004-07-01 Path controller, path control method, and program therefor
CNB200410062115XA CN1305278C (zh) 2003-07-08 2004-07-02 路径控制器、路径控制方法
US12/103,936 US7817582B2 (en) 2003-07-08 2008-04-16 Path controller, path control method, and program therefor

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2003272070A JP3842250B2 (ja) 2003-07-08 2003-07-08 経路制御装置、経路制御方法及びそのプログラム

Publications (2)

Publication Number Publication Date
JP2005033621A JP2005033621A (ja) 2005-02-03
JP3842250B2 true JP3842250B2 (ja) 2006-11-08

Family

ID=34100756

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2003272070A Expired - Fee Related JP3842250B2 (ja) 2003-07-08 2003-07-08 経路制御装置、経路制御方法及びそのプログラム

Country Status (3)

Country Link
US (2) US7460540B2 (ja)
JP (1) JP3842250B2 (ja)
CN (1) CN1305278C (ja)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN100446502C (zh) * 2005-03-14 2008-12-24 华为技术有限公司 一种网络中端对端路由快速发现的方法及路由搜索系统
CN100387018C (zh) * 2005-04-12 2008-05-07 华为技术有限公司 树型组网拓扑结构的获取及地址分配方法
US7843927B1 (en) * 2006-12-22 2010-11-30 Extreme Networks, Inc. Methods, systems, and computer program products for routing packets at a multi-mode layer 3 packet forwarding device
CN100449997C (zh) * 2006-06-02 2009-01-07 华为技术有限公司 一种组网通信系统及其节点地址的分配方法
US8488571B2 (en) * 2007-11-28 2013-07-16 Alcatel Lucent Method and apparatus for managing an IP address space of an address server in a mobility network
US7835304B2 (en) * 2007-11-28 2010-11-16 Alcatel-Lucent Usa Inc. Method and apparatus for assigning IP addresses
US8908696B2 (en) 2008-09-09 2014-12-09 At&T Intellectual Property I, L.P. Systems and methods for optimized route caching
US8331373B2 (en) 2010-03-15 2012-12-11 Extreme Networks, Inc. Methods, systems, and computer readable media for automatically selecting between internet protocol switching modes on a per-module basis in a packet forwarding device
CN103546381B (zh) * 2012-07-12 2017-06-09 华为技术有限公司 基于内部网关协议创建双向组播分发树的方法、装置及系统
US20140089778A1 (en) * 2012-09-24 2014-03-27 Amazon Technologies, Inc Progressive Image Rendering Utilizing Data URI Enhancements
US10447497B2 (en) * 2015-03-17 2019-10-15 Signify Holding B.V. Lighting network

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU4661793A (en) * 1992-07-02 1994-01-31 Wellfleet Communications Data packet processing method and apparatus
US6266706B1 (en) * 1997-09-15 2001-07-24 Effnet Group Ab Fast routing lookup system using complete prefix tree, bit vector, and pointers in a routing table for determining where to route IP datagrams
US6522632B1 (en) * 1998-05-06 2003-02-18 Avici Systems Apparatus and method for efficient prefix search
US6516319B1 (en) * 1999-05-20 2003-02-04 International Business Machines Corporation Parallelized processing device for processing search keys based upon tree structure
US6404752B1 (en) * 1999-08-27 2002-06-11 International Business Machines Corporation Network switch using network processor and methods
US6947931B1 (en) * 2000-04-06 2005-09-20 International Business Machines Corporation Longest prefix match (LPM) algorithm implementation for a network processor
US6675163B1 (en) 2000-04-06 2004-01-06 International Business Machines Corporation Full match (FM) search algorithm implementation for a network processor
US7899067B2 (en) * 2002-05-31 2011-03-01 Cisco Technology, Inc. Method and apparatus for generating and using enhanced tree bitmap data structures in determining a longest prefix match

Also Published As

Publication number Publication date
US7460540B2 (en) 2008-12-02
US20050025072A1 (en) 2005-02-03
US20080259933A1 (en) 2008-10-23
US7817582B2 (en) 2010-10-19
CN1578269A (zh) 2005-02-09
JP2005033621A (ja) 2005-02-03
CN1305278C (zh) 2007-03-14

Similar Documents

Publication Publication Date Title
US7817582B2 (en) Path controller, path control method, and program therefor
JP3149332B2 (ja) データ通信ネットワークおよびそのノードの管理方法
US7869349B2 (en) Method and system for deducing network routes by querying routers
JP4647653B2 (ja) バージョニングをベースとするトリガのためのシステムおよび方法
US20070283043A1 (en) Information delivery system, delivery request program, transfer program, delivery program, and the like
JP2001168910A (ja) データ検索システム及びパケット処理装置並びに制御方法
JP5888338B2 (ja) 通信システムおよび通信方法
WO2020010999A1 (zh) 段路由中获取数据包的转发路径的信息的方法和装置
TW201735579A (zh) 設定裝置、通信系統、通信裝置之設定更新方法及程式
US20060259963A1 (en) Configuration of VPNs
TWI241089B (en) Method and apparatus to perform network routing using multiple length trie blocks
CN111953606B (zh) 一种路由迭代循环检测方法、装置、电子设备及存储介质
JP5319626B2 (ja) ノード、パケット転送方法および通信ネットワーク
CN104184669A (zh) 昵称冲突检测方法及路由桥
JP4237506B2 (ja) 星状ネットワーク上でのグループ管理方法及び装置
US8316432B2 (en) Method for implementing security-related processing on packet and network security device
JP3882638B2 (ja) ルーティング経路管理装置、その方法、及びそのプログラム
US20210064411A1 (en) Management apparatus, management system, management method and management program
US8199756B2 (en) Forwarding apparatus, forwarding method, and computer product
WO2017122369A1 (ja) 通信システム、通信機器および通信先の切換え方法
JPH0832613A (ja) 経路選択情報の検索装置
JP4214864B2 (ja) マルチキャストmplsノードのテーブル初期登録方法及びマルチキャストmplsノードのテーブル追加登録方法及びマルチキャストmplsノードのテーブル削除方法及びマルチキャストmplsノードのテーブル検索方法及びマルチキャストmplsテーブルのポイントツーポイントのラベル登録方法及びマルチキャストmplsテーブルのポイントツーポイントのラベル検索方法及びマルチキャストmplsノードのテーブル運用方法
JP6665908B2 (ja) 通信装置、通信システム、デバイス接続制御方法およびデバイス接続制御プログラム
WO2021077967A1 (zh) 网络设备的管理方法、装置及系统
JP6945441B2 (ja) 通信装置、通信方法及び通信プログラム

Legal Events

Date Code Title Description
A977 Report on retrieval

Free format text: JAPANESE INTERMEDIATE CODE: A971007

Effective date: 20060202

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060214

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060512

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20060613

RD14 Notification of resignation of power of sub attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7434

Effective date: 20060622

A521 Request for written amendment filed

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20060628

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20060725

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20060809

R150 Certificate of patent or registration of utility model

Free format text: JAPANESE INTERMEDIATE CODE: R150

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20090818

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100818

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20100818

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110818

Year of fee payment: 5

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120818

Year of fee payment: 6

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130818

Year of fee payment: 7

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130818

Year of fee payment: 7

S111 Request for change of ownership or part of ownership

Free format text: JAPANESE INTERMEDIATE CODE: R313113

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130818

Year of fee payment: 7

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

R250 Receipt of annual fees

Free format text: JAPANESE INTERMEDIATE CODE: R250

LAPS Cancellation because of no payment of annual fees