JP2014158084A - パケット中継装置及びパケット中継方法 - Google Patents

パケット中継装置及びパケット中継方法 Download PDF

Info

Publication number
JP2014158084A
JP2014158084A JP2013026782A JP2013026782A JP2014158084A JP 2014158084 A JP2014158084 A JP 2014158084A JP 2013026782 A JP2013026782 A JP 2013026782A JP 2013026782 A JP2013026782 A JP 2013026782A JP 2014158084 A JP2014158084 A JP 2014158084A
Authority
JP
Japan
Prior art keywords
address
packet
information
interface
network
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
Application number
JP2013026782A
Other languages
English (en)
Inventor
Kazunari Fujiwara
一成 藤原
Shinji Nozaki
信司 野崎
Kensuke Ino
賢介 猪野
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.)
Alaxala Networks Corp
Original Assignee
Alaxala Networks 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 Alaxala Networks Corp filed Critical Alaxala Networks Corp
Priority to JP2013026782A priority Critical patent/JP2014158084A/ja
Publication of JP2014158084A publication Critical patent/JP2014158084A/ja
Pending legal-status Critical Current

Links

Images

Landscapes

  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

【課題】CAMのエントリを有効に利用しながら、フィルタリング及びQoSを適切に制御する。
【解決手段】ネットワークに接続される複数のインタフェース部と、前記複数のインタフェース部から入力されたパケットのルーティングを行うルーティング処理部と、前記ルーティング処理部を制御するルーティング管理部と、を有するパケット中継装置であって、前記ルーティング処理部は、前記各インタフェース部におけるパケットの検出条件と、前記検出条件に従って検出されたパケットに適用する転送制御の内容と、を対応付ける転送制御情報を保持し、前記転送制御情報に基づいて検出したパケットの転送を制御し、前記ルーティング管理部は、前記ネットワークにおける経路状態の変更を検出した場合、前記検出した経路状態の変更に基づいて、前記転送制御情報を更新する。
【選択図】図1

Description

本発明は、パケット中継装置に関する。
本技術分野の背景技術として、特開2000−244574号公報(特許文献1)がある。この公報には、「転送エンジンは、ネットワークインタフェース部を介して受信したパケットをパケットバッファに記憶し、ヘッダ情報をヘッダRAMに記憶する。検索エンジンは、ヘッダ情報により転送先情報及びアクション情報等の転送制御情報を検索し、ヘッダRAMに書き込む。転送エンジンでは、パケットバッファ及びヘッダRAMに記憶された情報に基づいて出力パケットを作成し、転送先に出力する。スイッチ部は、出力パケットを宛先のルーティング処理部へスイッチングする。フロー検索テーブルは、パケットの転送元又は転送先情報に対応するQoS等のアクションをエントリとし、入力ポート番号毎に分割し、入力ポート番号が一致するエントリのみを検索することで高速化を図る。」と記載されている(要約参照)。
特開2000−244574号公報
上記の特許文献1に記載されたネットワーク中継装置は、パケットのフィルタリング及びQoS(Quality of Service)制御といったパケットの転送を制御する機能を有する。具体的には、特許文献1のネットワーク中継装置は、パケットを受信するインタフェース、送信するインタフェース、パケットのレイヤ2ヘッダ及びレイヤ3ヘッダ等の情報を検索キーとしてフィルタ/QoSテーブルに登録し、フィルタリング及びQoS制御の対象となるパケットを検索する。
一方、通常のネットワークでは、障害による通信断を防ぐために、ネットワーク中継装置自体及びネットワーク中継装置が備えるインタフェースを冗長化することで、トラフィック経路が冗長化される。すなわち、ネットワークに障害が発生している場合に、フィルタリング又はQoS制御の対象となるパケットが、正常時とは異なる経路を通過する場合がある。したがって、パケットがいずれの経路を通過する場合にもフィルタリング及びQoS制御を実現するためには、上記の検索キー等の情報を、正常時にはトラフィックが流れないバックアップのインタフェースにも設定する必要がある。
フィルタリング及びQoS制御を実現するために、高速な検索を可能とするCAM(Content Addressable Memory)が使用されるが、CAMのエントリは高価であり、ネットワーク中継装置に搭載できる量が限られるため、有効に使用する必要がある。
上記の課題を解決するために、本発明は、ネットワークに接続される複数のインタフェース部と、前記複数のインタフェース部から入力されたパケットのルーティングを行うルーティング処理部と、前記ルーティング処理部を制御するルーティング管理部と、を有するパケット中継装置であって、前記ルーティング処理部は、前記各インタフェース部におけるパケットの検出条件と、前記検出条件に従って検出されたパケットに適用する転送制御の内容と、を対応付ける転送制御情報を保持し、前記転送制御情報に基づいて検出したパケットの転送を制御し、前記ルーティング管理部は、前記ネットワークにおける経路状態の変更を検出した場合、前記検出した経路状態の変更に基づいて、前記転送制御情報を更新することを特徴とする。
本発明の一実施形態によれば、フィルタリング及びQoSを適切に制御しつつ、メモリのエントリを有効に利用することができる。
上記した以外の課題、構成及び効果は、以下の実施形態の説明によって明らかにされる。
本発明の実施例1のネットワーク及びネットワーク中継装置の構成を示すブロック図である。 本発明の実施例1のネットワーク中継装置のハードウェア構成を示すブロック図である。 本発明の実施例1のネットワーク中継装置におけるフィルタリング及びQoS制御の設定コマンドの説明図である。 本発明の実施例1のネットワーク中継装置が保持するIF情報管理テーブルの説明図である。 本発明の実施例1のネットワーク中継装置が保持する監視アドレステーブルの説明図である。 本発明の実施例1のネットワーク中継装置が保持するフィルタ/QoS設定情報テーブルの説明図である。 本発明の実施例1のネットワーク中継装置が保持するフィルタ/QoSテーブルの説明図である。 本発明の実施例1のネットワーク中継装置の連携モジュールが実行する処理のフローチャートである。 本発明の実施例1のネットワーク中継装置の連携モジュールが実行する監視アドレス更新処理のフローチャートである。 本発明の実施例1のネットワーク中継装置の経路管理部が監視アドレステーブルを更新する処理のフローチャートである。 本発明の実施例1のネットワーク中継装置の連携モジュールが実行するIF検索処理のフローチャートである。 本発明の実施例1のネットワーク中継装置の経路管理部が、更新された経路データに基づいて監視アドレステーブルを更新する処理のフローチャートである。 本発明の実施例1のネットワーク中継装置の連携モジュールが実行する送信IF更新処理のフローチャートである。 本発明の実施例1のネットワーク中継装置のフィルタ/QoS管理部が、連携モジュールからの通知に基づいてフィルタ/QoSテーブルを更新する処理のフローチャートである。 本発明の実施例1のネットワーク中継装置の連携モジュールが実行する監視指示処理のフローチャートである。 本発明の実施例1のネットワーク中継装置の連携モジュールが実行する受信IF更新処理のフローチャートである。 本発明の実施例1のネットワークに障害が発生した場合の通信経路を示すブロック図である。 本発明の実施例2のネットワーク及びネットワーク中継装置の構成を示すブロック図である。 本発明の実施例2のネットワーク中継装置が保持する監視IFテーブルの説明図である。 本発明の実施例2のネットワーク中継装置が保持するフィルタ/QoSテーブルの説明図である。
以下、図面を用いて本発明の実施の形態を説明する。
図1は、本発明の実施例1のネットワーク及びネットワーク中継装置1の構成を示すブロック図である。
本実施例のネットワーク中継装置1は、複数のスイッチを介して複数のネットワーク及び複数の端末と接続される。図1の例では、ネットワーク中継装置1は、スイッチ51〜54に接続される。図1に示す「SW1」〜「SW4」は、それぞれスイッチ51〜54の識別子である。スイッチ51及びスイッチ52の各々に、ネットワーク11及びネットワーク12が接続される。図1に示す「NW1」及び「NW2」は、それぞれネットワーク11及びネットワーク12の識別子である。スイッチ53には端末61を含む二つの端末が接続され、スイッチ54には別の二つの端末が接続され、さらにスイッチ53とスイッチ54が相互に接続される。図1に示す「PC1」〜「PC4」は、四つの端末の識別子であり、特に「PC1」は端末61の識別子である。
ネットワーク中継装置1は、ネットワーク間(例えばネットワーク11とネットワーク12との間)、ネットワーク(例えばネットワーク11)と端末(例えば端末61)との間、又は端末間(例えば端末61と他の端末との間)等、ネットワーク上の任意の部位の間で通信されるパケットを中継する装置であり、RM(Routing Manager)13、RP(Routing Processer)14及びNIF(Network Interface Module)15を有する。RM13は、ネットワーク中継装置1全体を制御する。RP14は、パケットの転送先の決定、フィルタリング、QoS及びパケットの転送等を制御する。
NIF15は、ネットワークと接続するための複数のインタフェース(IF)を有し、各インタフェースが受信したパケットをRP14へ転送する。図1の例では、NIF15はインタフェース41〜インタフェース44を有する。図1に表示された「IF1」〜「IF4」は、それぞれインタフェース41〜インタフェース44の識別子であり、図4、図5及び図7等で参照される。
以下、上記の各部を詳細に説明する。RM13は、CLI(Command Line Interface)16、コマンド解析部17、フィルタ/QoS管理部19、連携モジュール21、経路管理部23及び監視プロトコル25を有する。コマンド解析部17はコンフィグデータ18を保持し、フィルタ/QoS管理部19はフィルタ/QoS設定情報テーブル20を保持し、連携モジュール21はインタフェース(IF)情報管理テーブル22を保持し、経路管理部23は経路データ24及び監視アドレステーブル32を保持する。
RP14は、パケット転送エンジン26及びテーブル検索エンジン27を有し、フィルタ/QoSテーブル28及び経路テーブル29を保持する。
ユーザは、ネットワーク中継装置1を運用するための制御端末30をネットワーク中継装置1に接続する。CLI16は、制御端末30からコマンドを受け付ける。コマンド解析部17は、CLI16が受け付けたコマンドを取得すると(611)、それを解析してコンフィグデータ18に変換し、設定されたコマンドに対応する機能の制御部位(フィルタ/QoS管理部19及び連携モジュール21等)にコマンド設定通知を行う(612、613)。設定されたコマンドの一例は図3を参照して後述する。
フィルタ/QoS管理部19は、コマンド解析部17からの通知(612)に基づいて、フィルタリング及びQoS制御のコンフィグデータ18を解析し、RP14が保持するフィルタ/QoSテーブル28に設定するデータをフィルタ/QoS設定情報テーブル20によって管理する。フィルタ/QoSテーブル28は、トラフィックを中継する際の各インタフェース41〜44等におけるフィルタリング及びQoS制御に使用される。フィルタ/QoS設定情報テーブル20及びフィルタ/QoSテーブル28の詳細はそれぞれ図6及び図7を参照して後述する。
経路管理部23は、パケットの転送先を決定するための情報を含む経路テーブル29に設定するための経路データ24を管理し、ネットワーク中継装置のインタフェース41〜44等の状態及びスイッチ51〜スイッチ54等の隣接する装置から得る経路情報に基づいて経路データ24を更新する。経路データ24及び経路テーブル29は、宛先アドレスと、その宛先アドレスに送信されるパケットを出力するインタフェースとを対応付ける情報を含む。経路管理部23が経路情報を得るための経路学習の方法、得られた経路情報に基づく経路データ24の内容、及びそれに基づいて設定される経路テーブル29の内容は、従来のネットワーク中継装置におけるものと同様であってよいため、これらについての詳細な説明は省略する。
監視アドレステーブル32については、図5を参照して後述する。
監視プロトコル25は、レイヤ2であればCFM(Connectivity Fault Management)、レイヤ3であればping等によって、ネットワーク中継装置1からネットワーク上に存在する端末及びスイッチ等のネットワーク装置との疎通確認を行う。
パケット転送エンジン26は、ネットワーク中継装置1宛てのパケット及びネットワーク中継装置1が中継するパケットを、テーブル検索エンジン27によって決定された転送先に転送する(624)。
テーブル検索エンジン27は、パケット転送エンジン26から受け取ったパケットのヘッダ情報から経路テーブル29に基づいて転送先を決定し(622)、さらに、フィルタ/QoSテーブル28に基づいて特定のパケットに対するフィルタリング及びQoS制御を実現し(621)、パケット転送エンジン26にパケットを返す(623)。
連携モジュール21が保持するIF情報管理テーブル22は、監視対象のアドレスと、そのアドレス宛てのパケットを送信するインタフェース41〜44等と、そのアドレスからのパケットを受信するインタフェース41〜44等とを対応付ける情報を含む。連携モジュール21は、経路管理部23から取得した経路学習の結果及び監視プロトコル25から取得したポーリングの結果に基づいて、IF情報管理テーブル22を更新する。さらに、連携モジュール21は、更新されたIF情報管理テーブル22の情報をフィルタ/QoS管理部19に通知する。フィルタ/QoS管理部19は、通知された情報に基づいてフィルタ/QoSテーブル28を更新する。
連携モジュール21が実行する処理の詳細については図8等を参照して、IF情報管理テーブル22の詳細については図4を参照して、それぞれ後述する。
図2は、本発明の実施例1のネットワーク中継装置1のハードウェア構成を示すブロック図である。
本実施例のネットワーク中継装置1は、一つ以上のRM13と、一つ以上のRP14とを有し、それらは一つ以上のCS(クロスバスイッチ)35を介して接続される。CS35は、RM13とRP14との間、及び、RP14と他のRP14との間のパケット送受信を高速に行うスイッチである。ネットワーク中継装置1は、さらに、ネットワーク中継装置1に電力を供給する一つ以上のPS(Power Supply)31、及び、各ハードウェアモジュールを冷却する一つ以上の冷却ファン(FAN)36を有する。
RP14は、少なくとも一つのNIF15と接続される。そして、RP14は、NIF15から入力されたパケットのルーティングを行う。そして、RP14は、NIF15におけるパケットの検出条件と、検出条件に従って検出されたパケットに適用する転送制御の内容と、を対応付ける転送制御情報(例えばフィルタ/QoSテーブル28)を保持し、転送制御情報に基づいて検出したパケットの転送を制御する。
RM13は、RP14を制御する。そして、RM13は、ネットワーク上のアドレスと、パケットの検出条件と、転送制御の内容と、を対応付ける設定情報(例えば、フィルタ/QoS設定情報テーブル20)、及び、ネットワーク上のアドレスと、当該アドレス宛てのパケットを送信するNIF15と、を対応付けるインタフェース情報(例えば、IF情報管理テーブル22)を保持する。RM13は、経路学習によって、前記ネットワーク上のアドレスと、ネットワーク上のアドレス宛てのパケットを送信するNIF15と、の対応関係の変更を検出した場合、前記検出した対応関係の変更に基づいて、インタフェース情報を更新し、設定情報及び更新したインタフェース情報に基づいて、転送制御情報を更新する。
RM13内のCLI16、コマンド解析部17、フィルタ/QoS管理部19、連携モジュール21、経路管理部23及び監視プロトコル25の各々は、RM13内に実装された専用の論理回路によって実現されてもよいし、RM13内に実装されたプロセッサ(図示省略)がRM13内に実装されたRAM(Random Access Memory)等のメモリ(図示省略)に格納されたプログラムを実行することによって実現されてもよい。コンフィグデータ18、フィルタ/QoS設定情報テーブル20、IF情報管理テーブル22、経路データ24及び監視アドレステーブル32は、RM13内に実装されたRAM等のメモリに格納される。
RP14内のパケット転送エンジン26及びテーブル検索エンジン27は、RP14内に実装された専用の論理回路によって実現されてもよいし、RP14内に実装されたプロセッサ(図示省略)がRP14内に実装されたRAM等のメモリ(図示省略)に格納されたプログラムを実行することによって実現されてもよい。フィルタ/QoSテーブル28及び経路テーブル29は、RP14内に実装されたCAM(Content Addressable Memory)(図示省略)に格納される。
図3は、本発明の実施例1のネットワーク中継装置1におけるフィルタリング及びQoS制御の設定コマンドの説明図である。
コマンドプロンプト201に続いて、種々のコマンドが入力される。コマンド202〜204は、フィルタリングのフロー検出条件及び制御動作のテンプレートである。これらのコマンドに含まれる「access−list」は、これらのコマンドがフィルタリングのテンプレートであることを示し、「access−list」に続く「nw1filin」、「nw2filout」及び「pc1filin」等の名前が、それぞれのコマンドによって設定されるフロー検出条件及び制御動作のテンプレートの識別子(言い換えると、転送制御の規則のリストの識別子)である。
「permit」(すなわち通信許可)及び「deny」(すなわち通信拒否)は、フィルタリングの制御動作を表す。「permit」等に続く「1a」、「1b」、「2c」、「2d」、「2e」、「3f」及び「3g」は、フロー検出条件、すなわち、転送制御(この例ではフィルタリング)の対象となるパケットを検出する条件を表す。
本実施例では便宜的にフロー検出条件を上記のように表記しているが、本来は、レイヤ2の検出条件であれば、送信元MAC(Media Access Control)アドレス、宛先MACアドレス、イーサネットタイプ(イーサネットは登録商標)、又はVLANタグ等の情報が指定され、レイヤ3の検出条件であれば、送信元IP(Internet Protocol)アドレス、宛先IPアドレス、プロトコル番号、送信元ポート番号、又は宛先ポート番号等の情報が指定される。
コマンド205〜207の「qos−flow−list」は、これらのコマンドがQoS制御のテンプレートであることを示し、「qos−flow−list」に続く「nw1qosout」、「nw2qosin」及び「pc1qosout」等の名前が、それぞれのコマンドによって設定される転送制御の規則のリストの識別子である。
コマンド205〜207に含まれる「1h」、「1i」、「2j」、「2k」、「2l」、「3m」及び「3n」は、フロー検出条件、すなわち、転送制御(この例ではQoS)の対象となるパケットを検出する条件である。フィルタリングの場合と同様、これらは便宜的に表記されたものであり、本来はMACアドレス又はIPアドレス等の情報が指定される。
コマンド205〜207に含まれる「action」に続く文字列は、QoS制御(すなわち通信品質の制御)のための制御動作を示す。例えば、「replace_dscp 32」は、パケットのDSCP(Differentiated Services Code Point)の値を「32」に書き換えることを示す。「max_rate 10M」は、パケットの最大帯域を10Mbpsとすることを示す。「priority−class 7」は、パケットの優先度を「7」に設定することを意味する。
コマンド208、211及び214は、本実施例を実現するためのコンフィグコマンドであり、それぞれのコマンドにおいて「target−address」に続いて監視対象のアドレス(以下、監視アドレスとも記載)が設定される。図3に示す「NW1addr」、「NW2addr」及び「PC1addr」は、監視対象のアドレス番号の例を便宜的に示すものであり、具体的には、それぞれ、図1のネットワーク11(NW1)、ネットワーク12(NW2)及び端末61(PC1)のアドレスを示す。
コマンド208に続くコマンド209及び210は、ネットワーク11(NW1)のアドレスに対応するインタフェースにテンプレートを設定するコマンドである。具体的には、コマンド209は、コマンド202によって設定した識別子「nw1filin」のテンプレートを、ネットワーク11(NW1)からの受信インタフェースに設定することを示し、コマンド210は、コマンド205によって設定した識別子「nw1qosout」のテンプレートを、ネットワーク11(NW1)への送信インタフェースに設定することを示す。
なお、コマンド209及び210がそれぞれ受信インタフェース及び送信インタフェースへのテンプレートの設定を示すことは、それぞれのコマンドの末尾の「in」及び「out」によって識別される。後述するコマンド212、213、215及び216についても同様である。
コマンド211に続くコマンド212及び213は、ネットワーク12(NW2)のアドレスに対応するインタフェースにテンプレートを設定するコマンドである。具体的には、コマンド212は、コマンド203によって設定した識別子「nw2filout」のテンプレートを、ネットワーク12(NW2)への送信インタフェースに設定することを示し、コマンド213は、コマンド206によって設定した識別子「nw2qosin」のテンプレートを、ネットワーク12(NW2)からの受信インタフェースに設定することを示す。
コマンド214に続くコマンド215及び216は、端末61(PC1)のアドレスに対応するインタフェースにテンプレートを設定するコマンドである。具体的には、コマンド215は、コマンド204によって設定した識別子「pc1filin」のテンプレートを、端末61(PC1)からの受信インタフェースに設定することを示し、コマンド216は、コマンド207によって設定した識別子「pc1qosout」のテンプレートを、端末61(PC1)への送信インタフェースに設定することを示す。
図4は、本発明の実施例1のネットワーク中継装置1が保持するIF情報管理テーブル22の説明図である。
IF情報管理テーブル22は、コンフィグデータ18のtarget−addressコマンドによって設定される監視アドレスと、その監視アドレスに対するポーリング結果から得られたインタフェース情報とを管理する。具体的には、IF情報管理テーブル22は、監視アドレス101、送信インタフェース102及び受信インタフェース103を含む。
監視アドレス101は、target−addressコマンドから抽出された監視アドレスであり、target−addressコマンドの設定順に管理される。図4には図3に示すコマンドに基づいて設定されるIF情報管理テーブル22の例を示す。すなわち、監視アドレス101として、コマンド208、211及び214から抽出された監視アドレス「NW1addr」、「NW2addr」及び「PC1addr」が登録される。
送信インタフェース102は、各監視アドレスへの送信インタフェース、すなわち、各監視アドレス宛てのパケットを送信するインタフェースである。具体的には、送信インタフェース102には、後述する監視アドレステーブル(図5)から得られる出力インタフェースが登録される。
受信インタフェース103は、各監視アドレスからの受信インタフェース、すなわち、各監視アドレスからのパケットを受信するインタフェースである。具体的には、受信インタフェース103には、ネットワーク中継装置1から監視アドレス宛てのポーリングを行った際に監視アドレスからの応答パケットを受信したインタフェースが登録される。
図4には、例として、監視アドレス「NW1addr」に対応する送信経路及び受信経路が判明している状態のIF情報管理テーブル22を示す。この例において、監視アドレス101の値「NW1addr」に対応するエントリの送信インタフェース102及び受信インタフェース103としていずれも「IF1」が設定されている。この場合、監視アドレス「NW1addr」宛てのパケットはインタフェース41(IF1)から送信され、監視アドレス「NW1addr」からのパケットはインタフェース41(IF1)が受信する。
図5は、本発明の実施例1のネットワーク中継装置1が保持する監視アドレステーブル32の説明図である。
監視アドレステーブル32は、監視アドレス112及び出力インタフェース113を含み、経路管理部23によって管理される。
監視アドレス112は、IF情報管理テーブル22の監視アドレス101と同様の情報であり、同様の値が設定される。
出力インタフェース113は、IF情報管理テーブル22の送信インタフェース102に対応する。具体的には、経路管理部23が各監視アドレス112の値を宛先アドレスとして経路データ24を検索し、検索結果として取得された経路情報に含まれる出力インタフェースを出力インタフェース113として登録する。
図5には、例として、監視アドレス「NW1addr」に対応する送信経路及び受信経路が判明している状態の監視アドレステーブル32を示す。この例において、監視アドレス112の値「NW1addr」に対応するエントリの出力インタフェース113として「IF1」が設定されている。この場合、監視アドレス「NW1addr」宛てのパケットはインタフェース41(IF1)から送信される。
図6は、本発明の実施例1のネットワーク中継装置1が保持するフィルタ/QoS設定情報テーブル20の説明図である。
フィルタ/QoS設定情報テーブル20は、ユーザがネットワーク中継装置1に設定したフィルタリング及びQoS制御のコンフィグ情報に基づいて作成される。具体的には、フィルタ/QoS設定情報テーブル20は、管理番号104、監視アドレス105、フロー検出条件106及び制御動作107を含む。
なお、フィルタ/QoS設定情報テーブル20は、ネットワーク中継装置1が受信するトラフィックに対してフィルタリング及びQoS制御を設定するための受信IF用テーブル118、及び、ネットワーク中継装置1が送信するトラフィックに対してフィルタリング及びQoS制御を設定するための送信IF用テーブル119を含む。さらに、受信IF用テーブル118は、フィルタリングを設定するための受信IF用フィルタリングエントリ114及びQoS制御を設定するための受信IF用QoS制御エントリ115を含む。同様に、送信IF用テーブル119は、フィルタリングを設定するための送信IF用フィルタリングエントリ116及びQoS制御を設定するための送信IF用QoS制御エントリ117を含む。
管理番号104は、フィルタ/QoS設定情報テーブル20の受信IF用テーブル118及び送信IF用テーブル119に含まれる各エントリを、それぞれのテーブル内で一意に識別する番号である。
監視アドレス105は、フィルタリング又はQoS制御の対象のネットワーク又は端末のアドレスであり、レイヤ2であればMACアドレスが、レイヤ3であればIPアドレスが設定される。
フロー検出条件106には、フィルタリング又はQoS制御の対象となるトラフィックを検出する条件が設定される。例えば、L2ヘッダに基づいて検出する場合、送信元MACアドレス、宛先MACアドレス、イーサネットタイプ又はパケット長等が、L3ヘッダに基づいて検出する場合、送信元IPアドレス、宛先IPアドレス、プロトコル情報又はポート番号等が、フロー検出条件106として設定される。
制御動作107には、フロー検出条件を満たすパケットの転送を制御するための動作が設定される。具体的には、フィルタリングの場合はパケットの転送(permit)又は廃棄(deny)といった動作が設定され、QoS制御の場合はネットワーク中継装置1内で適用される送信優先度、レイヤ2フレームのヘッダ内の優先度情報の書き換え、又はレイヤ3パケットのヘッダ内の優先度情報の書き換え等の動作が設定される。
図6には、フィルタ/QoS設定情報テーブル20の具体例として、図3のコマンドに基づいて値が登録されたテーブルを示す。例えば、図3のコマンド208、209及び202によって、受信IF用テーブル118の監視アドレス「NW1addr」に対応するフロー検出条件「1a」と制御動作「permit」との組及びフロー検出条件「1b」と制御動作「deny」との組が登録される。さらに、コマンド208、210及び205によって、送信IF用テーブル119の監視アドレス「NW1addr」に対応するフロー検出条件「1h」と制御動作「replace_dscp 32」との組及びフロー検出条件「1i」と制御動作「max_rate 10M」との組が登録される。
図7は、本発明の実施例1のネットワーク中継装置1が保持するフィルタ/QoSテーブル28の説明図である。
フィルタ/QoSテーブル28は、RP14によって保持され、トラフィックを中継する際のフィルタリング及びQoS制御に使用される。具体的には、フィルタ/QoSテーブル28は、管理番号108、インタフェース109、フロー検出条件110及び制御動作111を含む。
フィルタ/QoS設定情報テーブル20と同様、フィルタ/QoSテーブル28は受信インタフェース用テーブル124及び送信インタフェース用テーブル125を含む。受信インタフェース用テーブル124はフィルタリングを設定するための受信IF用フィルタリングエントリ120及びQoS制御を設定するための受信IF用QoS制御エントリ121を含む。送信インタフェース用テーブル125はフィルタリングを設定するための送信IF用フィルタリングエントリ122及びQoS制御を設定するための送信IF用QoS制御エントリ123を含む。
フィルタ/QoSテーブル28は、フィルタ/QoS設定情報テーブル20及びIF情報管理テーブル22の情報に基づいてハードウェアに設定される。具体的には、フィルタ/QoSテーブル28の管理番号108、フロー検出条件110及び制御動作111には、フィルタ/QoS設定情報テーブル20の管理番号104、フロー検出条件106及び制御動作107と同じ値が登録される。
フィルタ/QoS設定情報テーブル20の監視アドレス105をキーとしてIF情報管理テーブル22の監視アドレス101が検索され、それらが一致するエントリの送信インタフェース102又は受信インタフェース103がインタフェース109に登録される。受信インタフェース用テーブル124のインタフェース109には受信インタフェース103の値が、送信インタフェース用テーブル125のインタフェース109には送信インタフェース102の値が、それぞれ登録される。
図7には、例として、監視アドレス「NW1addr」に対応する送信経路及び受信経路が判明している状態のフィルタ/QoSテーブル28を示す。この場合、監視アドレス「NW1addr」をキーとしてIF情報管理テーブル22が検索され、監視アドレス「NW1addr」に対応する送信インタフェース102の値「IF1」及び受信インタフェース103の値「IF1」が取得される。
フィルタ/QoS設定情報テーブル20において、監視アドレス「NW1addr」は、受信IF用テーブル118の管理番号「1」、「2」に対応するエントリ、及び、送信IF用テーブル119の管理番号「4」、「5」に対応するエントリに登録されている。このため、フィルタ/QoSテーブル28において、受信インタフェース用テーブル124の管理番号「1」、「2」に対応するエントリのインタフェース109として、検索された受信インタフェース103の値「IF1」が登録され、送信インタフェース用テーブル125の管理番号「4」、「5」に対応するエントリのインタフェース109として、検索された送信インタフェース102の値「IF1」が登録される。
図8は、本発明の実施例1のネットワーク中継装置1の連携モジュール21が実行する処理のフローチャートである。
連携モジュール21は、最初に、初期設定処理を実行する(ステップ301)。初期設定処理の具体的な内容は、
(1)変数及びIF情報管理テーブルの初期化、
(2)コマンド解析部17、経路管理部23、監視プロトコル25及びフィルタ/QoS管理部19と連携モジュール21との間の通信インタフェースの設定、
(3)監視プロトコル25へのポーリング指示(後述するステップ314)の実行タイミングを通知するための連携モジュール21自身宛ての通信インタフェースの設定、
(4)上記(3)で設定された通信インタフェースを使用したポーリング指示通知のシグナル登録、及び、
(5)上記(4)のシグナルのアラーム(タイマ)設定
である。
次に、連携モジュール21は、ステップ302〜319のループ処理を実行する。ループ内で、連携モジュール21は、上記(2)及び(3)で設定したいずれかの通信インタフェースが通知を受信するのを待ち(ステップ303のselect処理)、通知を受信した場合には、その通知をどの通信インタフェースが受信したか(すなわちその通知がどこからのものであるか)を判定して、その判定結果に応じた処理を実行する。
具体的には、連携モジュール21は、通知がコマンド解析部17からの通知である場合(ステップ304)、監視アドレス更新処理を実行し(ステップ305)、経路管理部23からの通知である場合(ステップ307)、送信IF更新処理を実行し(ステップ308)、監視プロトコル25からの通知である場合(ステップ310)、受信IF更新処理を実行し(ステップ311)、連携モジュール21自身によるポーリング指示からの通知である場合(ステップ313)、監視指示処理を実行し(ステップ314)、フィルタ/QoS管理部19からの通知である場合(ステップ316)、IF検索処理を実行する(ステップ317)。
連携モジュール21は、ステップ306、309、312、315及び318において、それぞれ、ステップ305、308、311、314及び317の処理が正常終了したか否かを判定し、正常終了した場合にはループに戻り、異常終了した場合にはループを終了してログ出力処理(ステップ320)を実行して図8の処理を終了する。
なお、連携モジュール21が自身によるポーリング指示からの通知(ステップ313)を受信するタイミングは、初期設定処理(ステップ301)において設定した上記(5)のタイマ、及び監視指示処理(ステップ314)で登録したタイマ(後述するステップ342)のタイムアウトが契機となり、割り込み処理によって上記(3)のポーリング指示通知が実行されたタイミングである。これによって、概ね定期的にポーリングが実行される。
以下、ネットワーク中継装置1の各部が実行する処理を詳細に説明する。
最初に、ネットワーク中継装置1に例えば図3に示すようなコマンドが設定されたときに実行される処理について説明する。
制御端末30からCLI16を経由して図3に示すコマンドが入力されると、コマンド解析部17は、入力されたコマンドからコンフィグデータ18を作成し、フィルタ/QoS管理部19及び連携モジュール21にコンフィグ設定通知を行う。
コンフィグ設定通知を受けた連携モジュール21は、コンフィグデータ18に基づいてIF情報管理テーブル22を作成し、経路管理部23へ監視アドレスを通知する。経路管理部23は、通知された監視アドレスを監視アドレステーブル32に登録する。これらの処理の詳細は図9及び図10を参照して後述する。
コンフィグ設定通知を受けたフィルタ/QoS管理部19は、コンフィグデータ18に基づいてフィルタ/QoS設定情報テーブル20を作成し、フィルタ/QoS設定情報テーブル20に含まれる情報に基づいてフィルタ/QoSテーブル28を設定する。
図9は、本発明の実施例1のネットワーク中継装置1の連携モジュール21が実行する監視アドレス更新処理のフローチャートである。
図9に示す処理は、図8のステップ304において、受信した通知がコマンド解析部17からの通知(すなわちコンフィグ設定通知)であると判定された場合に実行されるステップ305に相当する。
連携モジュール21は、受信した通知に含まれる変更種別及びアドレス情報を取得し(ステップ322)、変更種別がtarget−addressコマンドの設定通知であるか否かを判定する(ステップ323)。例えば図3に示すコマンドに基づくコンフィグ設定通知を受信した場合、変更種別はtarget−addressコマンドの設定通知であり、ステップ322ではtarget−addressに続く「NW1addr」等のアドレス情報が取得される。この場合、連携モジュール21は、IF情報管理テーブル22の空きエントリを検索し(ステップ325)、空きエントリがある場合には、検索された最初の空きエントリの監視アドレス101にステップ322で取得したアドレスを登録する(ステップ326)。
次に、連携モジュール21は、ステップ322で取得した変更種別及びアドレス情報を経路管理部23に通知する(ステップ327)。この通知を受けた経路管理部23が実行する処理については、図10を参照して後述する。
ステップ323において変更種別がtarget−addressコマンドの設定通知でないと判定された場合、連携モジュール21は、変更種別がtarget−addressコマンドの削除通知であるか否かを判定する(ステップ324)。変更種別がtarget−addressコマンドの削除通知である場合、連携モジュール21は、ステップ322で取得したアドレスと一致する監視アドレス101を有するIF情報管理テーブルのエントリを検索する(ステップ328)。ステップ322で取得したアドレスと一致する監視アドレス101を有するIF情報管理テーブル22のエントリがある場合、連携モジュール21は、当該エントリの情報を削除し(ステップ329)、続いて、ステップ327を実行する。
ステップ327が終了すると、図9に示す監視アドレス更新処理が正常終了する。一方、ステップ324において、変更種別がtarget−addressコマンドの削除通知でないと判定された場合、ステップ325において、IF情報管理テーブル22に空きエントリがないと判定された場合、及び、ステップ328において、ステップ322で取得したアドレスと一致する監視アドレス101を有するIF情報管理テーブル22のエントリがないと判定された場合には、監視アドレス更新処理が異常終了する。
図10は、本発明の実施例1のネットワーク中継装置1の経路管理部23が監視アドレステーブル32を更新する処理のフローチャートである。
経路管理部23は、連携モジュール21から図9のステップ327の通知を受けると、受信バッファから、受信した通知に含まれる変更種別及びアドレス情報を取得し(ステップ401)、変更種別がtarget−addressコマンドの設定通知であるか否かを判定する(ステップ402)。変更種別がtarget−addressコマンドの設定通知である場合、経路管理部23は、監視アドレステーブル32の空きエントリを検索し(ステップ404)、空きエントリがあれば、検索した最初の空きエントリの監視アドレス112にステップ401で取得したアドレスを登録する(ステップ405)。
次に、経路管理部23は、ステップ401で取得したアドレス情報と一致する宛先アドレスを有する経路データ24のエントリを検索する(ステップ406)。既に経路管理部23が行った経路学習によって、どのインタフェースから出力したパケットがステップ401で取得したアドレスに到達するかが判明している場合には、ステップ401で取得したアドレス情報と一致する宛先アドレスを有する経路データ24のエントリがあるため、経路管理部23は、一致する経路データの出力インタフェースを、ステップ404で検出した監視アドレステーブル32空きエントリの出力インタフェース113に登録する(ステップ407)。
次に、経路管理部23は、ステップ405で登録した監視アドレスと、ステップ407で登録した出力インタフェースとを連携モジュール21に通知する(ステップ408)。この通知を受けた連携モジュール21は、送信IF更新処理を実行する(ステップ307、308)。
ステップ402において、変更種別がtarget−addressコマンドの設定通知でないと判定された場合、経路管理部23は、変更種別がtarget−addressコマンドの削除通知であるか否かを判定する(ステップ403)。変更種別がtarget−addressコマンドの削除通知である場合、経路管理部23は、ステップ401で取得したアドレス情報と一致する監視アドレス112を有する監視アドレステーブル32のエントリを検索する(ステップ409)。ステップ409の条件を満たす監視アドレステーブル32のエントリがある場合には、経路管理部23は、該当する監視アドレステーブル32のエントリの情報を削除する(ステップ410)。
ステップ408又はステップ410が終了すると、図10に示す処理は正常終了する。また、ステップ406において、ステップ401で取得したアドレス情報と一致する宛先アドレスを有する経路データ24のエントリがないと判定された場合、まだ当該アドレス情報に対応する出力インタフェースが経路学習によって判明していないが、これから実行される経路学習によって判明する可能性があるため、ステップ407及び408は実行されずに、図10に示す処理が正常終了する。なお、経路学習によって出力インタフェースが判明した場合に実行される処理については、図12等を参照して後述する。
一方、ステップ403において、変更種別がtarget−addressコマンドの削除通知でないと判定された場合、ステップ404において、監視アドレステーブル32に空きエントリがないと判定された場合、及び、ステップ409において、ステップ401で取得したアドレスと一致する監視アドレス1112を有する監視アドレステーブル32のエントリがないと判定された場合には、図10に示す処理が異常終了する。
ここで、上記の処理が実行された場合に図4〜図7のテーブルに登録される値の具体例を説明する。図3に示すコマンドが入力された場合、図9のステップ326において、IF情報管理テーブル22の監視アドレス101に、図4に示すように、「NW1addr」、「NW2addr」及び「PC1addr」が登録される。さらに、図10のステップ405において、監視アドレステーブル32の監視アドレス112に、IF情報管理テーブル22の監視アドレス101と同じ値が登録される。
なお、この具体例では、監視アドレス宛ての経路情報がまだ学習されていない場合について説明する。このため、ステップ406において条件を満たすエントリがないと判定され、この時点で出力インタフェース113は空であり、IF情報管理テーブル22の送信インタフェース102も空である。また、監視アドレス宛ての経路情報がないため、監視プロトコル25による監視アドレス宛てのポーリングを行うことができない。このため、IF情報管理テーブル22の受信インタフェース103も空である。
一方、図3のコマンドに基づくコンフィグ設定通知を受けたフィルタ/QoS管理部19は、フィルタ/QoS設定情報テーブル20に、図6に示す値を登録する。さらに、フィルタ/QoS管理部19は、フィルタ/QoS設定情報テーブル20に登録した各エントリの監視アドレス105の値をインタフェース情報に変換するために、連携モジュール21に問い合わせを通知する。この問い合わせは、インタフェース情報に変換しようとする監視アドレス105の値を示すアドレス情報と、その監視アドレス105を送信インタフェース又は受信インタフェースのいずれの情報に変換するかを示すインタフェース種別とを含む。
この問い合わせを受けた連携モジュール21は(図8のステップ316)、監視アドレス105と同じ値の監視アドレス101に対応する送信インタフェース102又は受信インタフェース103の値を取得して応答する(ステップ317)。この処理の詳細を図11に示す。
図11は、本発明の実施例1のネットワーク中継装置1の連携モジュール21が実行するIF検索処理のフローチャートである。
図11に示す処理は、図8のステップ316において、受信した通知がフィルタ/QoS管理部19からの通知であると判定された場合に実行されるインタフェース検索処理(ステップ317)に相当する。
連携モジュール21は、受信バッファから、受信した通知に含まれるアドレス情報及びインタフェース種別を取得し(ステップ331)、取得したアドレス情報と一致する監視アドレス101を有するIF情報管理テーブル22のエントリを検索する(ステップ332)。
ステップ332の条件を満たすエントリがある場合、連携モジュール21は、ステップ331で取得したインタフェース種別が送信インタフェース又は受信インタフェースのいずれであるかを判定する(ステップ333)。
ステップ331で取得したインタフェース種別が送信インタフェースである場合、連携モジュール21は、ステップ332の条件を満たすエントリの送信インタフェース102の値と、ステップ331で取得したアドレス情報と、ステップ331で取得したインタフェース種別とをフィルタ/QoS管理部19に送信する(ステップ334)。
ステップ331で取得したインタフェース種別が受信インタフェースである場合、連携モジュール21は、ステップ332の条件を満たすエントリの受信インタフェース103の値と、ステップ331で取得したアドレス情報と、ステップ331で取得したインタフェース種別とをフィルタ/QoS管理部19に送信する(ステップ335)。
ステップ332の条件を満たすエントリがないと判定された場合、図11のインタフェース検索処理は異常終了する。
連携モジュール21からの応答を受信したフィルタ/QoS管理部19は、フィルタ/QoSテーブル28にエントリを設定する際に、連携モジュール21から取得したインタフェース情報をインタフェース109に登録する(615)。
なお、上記のように、監視アドレスに対応する経路情報がまだ学習されていない時点では、IF情報管理テーブル22の監視アドレス101に対応する送信インタフェース102及び受信インタフェース103は空である。その場合、フィルタ/QoSテーブル28のインタフェース109は空のまま設定される。管理番号108、フロー検出条件110及び制御動作111は、フィルタ/QoS設定情報テーブル20に基づいて作成される。インタフェース109が空のエントリのフロー検出条件110及び制御動作111に基づくフィルタリング及びQoS制御は行われない。
次に、ネットワーク中継装置1が監視アドレスに対する経路を学習した場合に実行する処理について説明する。
図1の例では、ネットワーク中継装置1は、ネットワーク11(NW1)への経路情報(すなわちどのインタフェースから送信したパケットがネットワーク11に到達するか)をスイッチ51(SW1)から学習し(601)、ネットワーク12(NW2)への経路情報をスイッチ52(SW2)から学習し(602)、端末61(PC1)への経路情報をスイッチ53(SW3)から学習する(603)。
すなわち、この例では、ネットワーク11(NW1)のアドレスへの送信インタフェース(すなわち出力インタフェース)はインタフェース41(IF1)であり、ネットワーク12(NW2)のアドレスへの送信インタフェースはインタフェース42(IF2)であり、端末61(PC1)のアドレスへの送信インタフェースはインタフェース43(IF3)であることが学習される。
ここで、まず、各モジュールが実行する処理の概要及び処理間の関係を説明する。経路管理部23は、NIF15のインタフェース41(IF1)〜44(IF4)等から、パケット転送エンジン26を経由して、上記のように学習された経路情報を取得し(619)、その経路情報に基づいて経路データ24及び経路テーブル29を更新し(620)、更新した情報に基づいて監視アドレステーブル32の出力インタフェース113を更新し、その出力インタフェース113とそれに対応する監視アドレス112とを連携モジュール21に通知する(616)。この処理の詳細は、図12を参照して後述する。
連携モジュール21は、受信した監視アドレス112の値と一致する監視アドレス101を有するIF情報管理テーブル22のエントリの送信インタフェース102に、受信した出力インタフェース113の値を登録し、フィルタ/QoS管理部19に送信インタフェースの更新を通知する(614)。
フィルタ/QoS管理部19は、受信した監視アドレスの値と一致する監視アドレス105を有する送信IF用テーブル119のエントリの管理番号104を特定し、特定した管理番号104と一致する管理番号108を有する送信IF用テーブル125のエントリのインタフェース109に、受信した送信インタフェースの値を登録する。
次に、各モジュールが実行する処理を詳細に説明する。
図12は、本発明の実施例1のネットワーク中継装置1の経路管理部23が、更新された経路データ24に基づいて監視アドレステーブル32を更新する処理のフローチャートである。
経路管理部23は、経路データ24の更新されたエントリの宛先アドレスと出力インタフェースとを取得し(ステップ411)、取得した宛先アドレスと一致する監視アドレス112を有する監視アドレステーブル32のエントリを検索する(ステップ412)。ステップ412の条件を満たすエントリがない場合、更新された経路データ24のエントリは監視アドレスと無関係であるため、処理は正常終了する。
ステップ412の条件を満たすエントリがある場合、経路管理部23は、そのエントリの出力インタフェース113と、ステップ411で取得した出力インタフェースとが一致するか否かを判定する(ステップ413)。両者が一致した場合、経路データ24の出力インタフェース以外の情報が更新されており、出力インタフェース113を更新する必要がないため、処理は正常終了する。
一方、両者が一致しない場合、経路管理部23は、ステップ412の条件を満たす監視アドレステーブル32のエントリの出力インタフェース113に、ステップ411で取得した経路データ24の出力インタフェースを設定し(ステップ414)、そのエントリの監視アドレス112及び出力インタフェース113の値を連携モジュール21に通知する(ステップ415)。この通知を受けた連携モジュール21は、経路管理部23からの通知を受けたと判定し(ステップ307)、送信IF更新処理を実行する(ステップ308)(図13参照)。
図13は、本発明の実施例1のネットワーク中継装置1の連携モジュール21が実行する送信IF更新処理のフローチャートである。
図13に示す処理は、図8のステップ307において、受信した通知が経路管理部23からの通知であると判定された場合に実行される送信IF更新処理(ステップ308)に相当する。
連携モジュール21は、受信バッファから、受信した通知に含まれる監視アドレス及び出力インタフェースの情報を取得し(ステップ336)、取得した監視アドレスと一致する監視アドレス101を有するIF情報管理テーブル22のエントリを検索する(ステップ337)。
ステップ337の条件を満たすIF情報管理テーブル22のエントリがない場合、経路管理部23の監視アドレステーブル32と連携モジュール21のIF情報管理テーブル22との間に不一致があるが、ステップ415からの通知が連携モジュール21に到着する前にステップ329からのtarget−addressコマンド削除通知が経路管理部23に到着した場合にはこのような不一致が発生し得るため、処理は正常終了する。
ステップ337の条件を満たすIF情報管理テーブル22のエントリがある場合、連携モジュール21は、そのエントリの送信インタフェース102に、ステップ337で取得した出力インタフェースを登録する(ステップ338)。
次に、連携モジュール21は、フィルタ/QoS管理部19に、送信インタフェースが変更されたことを示す変更種別と、ステップ336で取得した監視アドレス及び出力インタフェースとを含む送信IF変更通知を送信し(ステップ339)、処理は正常終了する。
図14は、本発明の実施例1のネットワーク中継装置1のフィルタ/QoS管理部19が、連携モジュール21からの通知に基づいてフィルタ/QoSテーブル28を更新する処理のフローチャートである。
フィルタ/QoS管理部19は、連携モジュール21から通知を受けると、受信バッファから、受信した通知に含まれる変更種別、アドレス情報及びインタフェース情報を取得し(ステップ501)、変更種別が送信インタフェースの変更であるか否かを判定する(ステップ502)。変更種別が送信インタフェースの変更である場合、フィルタ/QoS管理部19は、送信IF用フィルタ/QoS設定情報テーブル119を検索し、ステップ501で取得したアドレス情報と一致する監視アドレス105を有するエントリを検索する(ステップ504)。
ステップ504の条件を満たすエントリが一つ以上ある場合、フィルタ/QoS管理部19は、ステップ504の条件を満たす全てのエントリの管理番号104について、各管理番号104と一致する管理番号108を有する送信IF用フィルタ/QoSテーブル125のエントリを検索する(ステップ505)。そして、フィルタ/QoS管理部19は、検出された全てのエントリのインタフェース109に、ステップ501で取得したインタフェース情報を登録し(ステップ506)、処理は正常終了する。
ステップ504の条件を満たすエントリがない場合、target−addressコマンドによってフィルタリング又はQoS制御の設定がされていない可能性もあるため、ステップ505及び506を実行せずに処理は正常終了する。
ステップ502において変更種別が送信インタフェースの変更でないと判定された場合、フィルタ/QoS管理部19は、変更種別が受信インタフェースの変更であるか否かを判定する(ステップ503)。変更種別が受信インタフェースの変更であると判定された場合の処理については後述する。ステップ503において変更種別が受信インタフェースの変更でないと判定された場合、処理は異常終了する。
ここで、ネットワーク中継装置1が監視アドレスに対する経路を学習した結果に基づいて登録するテーブルの値の具体例を説明する。
図1に示すように、インタフェース41(IF1)から送信したパケットがネットワーク11(NW1)に到達し、インタフェース42(IF2)から送信したパケットがネットワーク12(NW2)に到達し、インタフェース43(IF3)から送信したパケットが端末61(PC1)に到達することが学習された場合、図12のステップ414において、経路データ24から取得された出力インタフェースに基づいて、監視アドレステーブル32の監視アドレス112の値「NW1addr」、「NW2addr」及び「PC1addr」に対応する出力インタフェース113として、それぞれ「IF1」、「IF2」及び「IF3」が登録される。
さらに、図13のステップ338において、監視アドレステーブル32の出力インタフェース113に基づいて、IF情報管理テーブル22の監視アドレス101の値「NW1addr」、「NW2addr」及び「PC1addr」に対応する送信インタフェース102として、それぞれ「IF1」、「IF2」及び「IF3」が登録される。
さらに、図14のステップ506において、監視アドレステーブル32の出力インタフェース113及び送信IF用フィルタ/QoS設定情報テーブル119に基づいて、送信IF用フィルタ/QoSテーブル125の管理番号108の値「1」〜「3」に対応するインタフェース109に「IF2」が登録され、管理番号108の値「4」及び「5」に対応するインタフェース109に「IF1」が登録され、管理番号108の値「6」及び「7」に対応するインタフェース109に「IF3」が登録される。
次に、ネットワーク中継装置1が監視アドレスへの経路情報に基づいてポーリングを実行した場合の処理について説明する。
図1には、ネットワーク中継装置1からネットワーク11(NW1)へのポーリングの送信経路及び応答経路604、ネットワーク12(NW2)へのポーリングの送信経路及び応答経路605、並びに、端末61(PC1)へのポーリングの送信経路及び応答経路606を示す。すなわち、この例では、ポーリングの結果、ネットワーク11(NW1)から送信されたパケットを受信するのはインタフェース41(IF1)であり、ネットワーク12(NW2)から送信されたパケットを受信するのはインタフェース42(IF2)であり、端末61(PC1)から送信されたパケットを受信するのはインタフェース43(IF3)であることが判明する。
ここで、まず、各モジュールが実行する処理の概要及び処理間の関係を説明する。連携モジュール21は、監視プロトコル25に対して定期的にポーリング指示を行う(617)。監視プロトコル25は、パケット転送エンジン26及びNIF15を経由して監視パケットを送信し、それに対する応答パケットを受信する。監視プロトコル25は、応答パケットから、送信元アドレス、監視アドレス及び受信インタフェースの情報を取得し、それらを連携モジュール21に通知する(617)。連携モジュール21は、IF情報管理テーブル22の受信インタフェース103が更新された場合、更新された受信インタフェース103及びそれに対応する監視アドレス101をフィルタ/QoS管理部19に通知する(614)。フィルタ/QoS管理部19は、受信した情報をフィルタ/QoS設定情報テーブル20内の情報と照合して、必要があればフィルタ/QoSテーブル28を更新する(615)。
次に、各モジュールが実行する処理を詳細に説明する。
連携モジュール21においてポーリング実行間隔のタイムアウトが発生し、シグナル処理によってポーリング開始通知が連携モジュール21自身に対して行われる。その結果、連携モジュール21は、ポーリング指示からの通知を受けたと判定し(図8のステップ313)、監視指示処理を実行する(ステップ314)(図15参照)。
図15は、本発明の実施例1のネットワーク中継装置1の連携モジュール21が実行する監視指示処理のフローチャートである。
連携モジュール21は、ポーリング開始通知を受けると、監視アドレス101に値が登録されているIF情報管理テーブル22のエントリを検索する(ステップ340)。監視アドレス101に値が登録されているIF情報管理テーブル22のエントリが一つ以上ある場合、連携モジュール21は、ポーリングの実行指示及びステップ340の条件を満たす全エントリの監視アドレス101の値を監視プロトコル25に通知し(ステップ341)、ポーリング開始通知用の実行タイマを設定する(ステップ342)。
監視アドレス101に値が登録されているIF情報管理テーブル22のエントリがない場合、連携モジュール21はステップ341を実行せずにステップ342を実行する。
ステップ341の通知を受けた監視プロトコル25は、指定された監視アドレスに対して監視パケットを送信する(図1の618)。監視パケットの送信処理及び応答パケットの受信処理は、公知の技術によって実現できるため、説明を省略する。応答パケットを受信した監視プロトコル25は、連携モジュール21に、監視アドレス及び受信したインタフェース情報を含む通知を送信する(617)。
図16は、本発明の実施例1のネットワーク中継装置1の連携モジュール21が実行する受信IF更新処理のフローチャートである。
連携モジュール21は、監視アドレス及び受信したインタフェース情報を含む通知を監視プロトコル25から受信すると(図8のステップ310)、受信IF更新処理を実行する(ステップ311)。
最初に、連携モジュール21は、受信バッファから、受信した通知に含まれるアドレス情報及びインタフェース情報を取得し(ステップ343)、取得したアドレス情報と一致する監視アドレス101を有するIF情報管理テーブル22のエントリを検索する(ステップ344)。ステップ344の条件を満たすエントリがない場合、監視プロトコル25へのポーリング実行指示の通知(ステップ341)から応答通知(ステップ310)までの間に監視対象のtarget−address設定情報が削除されている可能性もあるため、処理は正常終了する。
ステップ344の条件を満たすエントリがある場合、そのエントリの受信インタフェース103の値がステップ343で取得したインタフェース情報と一致するか否かを判定する(ステップ345)。両者が一致する場合、受信インタフェース103を更新する必要がないため、処理は正常終了する。
ステップ345において、受信インタフェース103の値がステップ343で取得したインタフェース情報と一致しない場合、監視アドレスに対応する受信インタフェースが変更されているため、連携モジュール21は、ステップ343で取得したインタフェース情報を受信インタフェース103に登録し(ステップ346)、フィルタ/QoS管理部19に対して、受信インタフェースが変更されたことを示す変更種別と、ステップ343で取得したアドレス情報及びインタフェース情報とを含む受信IF変更通知を送信し(ステップ347)、処理は正常終了する。
ここで、受信IF変更通知を受信したフィルタ/QoS管理部19がフィルタ/QoSテーブル28を更新する処理について、再び図14を参照して説明する。受信IF変更通知を受信したフィルタ/QoS管理部19がステップ501〜503で実行する処理は既に説明した通りである。
ステップ503において、変更種別が送信インタフェースの変更であると判定された場合、フィルタ/QoS管理部19は、受信IF用フィルタ/QoS設定情報テーブル118を検索し、ステップ501で取得したアドレス情報と一致する監視アドレス105を有するエントリを検索する(ステップ507)。
ステップ507の条件を満たすエントリが一つ以上ある場合、フィルタ/QoS管理部19は、ステップ507の条件を満たす全てのエントリの管理番号104について、各管理番号104と一致する管理番号108を有する受信IF用フィルタ/QoSテーブル124のエントリを検索する(ステップ508)。そして、フィルタ/QoS管理部19は、検出された全てのエントリのインタフェース109に、ステップ501で取得したインタフェース情報を登録し(ステップ509)、処理は正常終了する。
ステップ507の条件を満たすエントリがない場合、target−addressコマンドによってフィルタリング又はQoS制御の設定がされていない可能性もあるため、ステップ508及び509を実行せずに処理は正常終了する。
ここで、ネットワーク中継装置1が監視アドレスへの経路情報に基づいてポーリングを実行した結果に基づいて登録するテーブルの値の具体例を説明する。
上記のように、IF情報管理テーブル22の受信インタフェース103は、監視パケットに対する応答パケットの受信インタフェース情報に基づいて更新される。例えば、図1に示すように、ネットワーク11(NW1)からの応答パケットをインタフェース41(IF1)が受信し、ネットワーク12(NW2)からの応答パケットをインタフェース42(IF2)が受信し、端末61(PC1)からの応答パケットをインタフェース43(IF3)が受信する場合、監視アドレス101の値「NW1addr」、「NW2addr」及び「PC1addr」に対応する受信インタフェース103として、それぞれ「IF1」、「IF2」及び「IF3」が登録される。
上記のように更新された受信インタフェース103に基づいて、フィルタ/QoSテーブル28の受信IF用フィルタ/QoSテーブル124のインタフェース109が更新される。具体的には、受信IF用フィルタ/QoSテーブル124の管理番号108の値「1」及び「2」に対応するインタフェース109に「IF1」が登録され、管理番号108の値「3」及び「4」に対応するインタフェース109に「IF3」が登録され、管理番号108の値「5」〜「7」に対応するインタフェース109に「IF2」が登録される。
次に、障害によって監視アドレスへの経路変更が発生した場合にネットワーク中継装置1が実行する処理について説明する。
図17は、本発明の実施例1のネットワークに障害が発生した場合の通信経路を示すブロック図である。
図17に示すネットワーク全体の構成及びネットワーク中継装置1の構成は、ネットワーク11(NW1)とスイッチ51(SW1)との間に回線障害が発生し、インタフェース43(IF3)とスイッチ53(SW3)との間に回線障害が発生していることを除いて、図1に示したものと同じである。フィルタ/QoS設定情報テーブル20に図6に示すような値が登録され、監視アドレステーブル32、IF情報管理テーブル22及びフィルタ/QoSテーブル28に上記の具体例に示すようなインタフェース情報が登録された後に、図17に示す回線障害が発生した場合の、ネットワーク中継装置1の処理及びそれによって更新される各テーブルの値を以下に説明する。
図17に示す回線障害が発生した場合、スイッチ51(SW1)からの経路変更通知(607)及びインタフェース43(IF3)の回線ダウンによる経路変更が発生し、その経路変更に従って経路データ24及び経路テーブル29が更新される。
図17の例では、ネットワーク11(NW1)へのポーリングの送信経路及び応答経路は、インタフェース42(IF2)が送信した監視パケットがスイッチ52(SW2)を経由してネットワーク11(NW1)に到達し、インタフェース42(IF2)がスイッチ52(SW2)を経由してネットワーク11(NW1)からの応答パケットを受信する経路608に変更される。
一方、端末61(PC1)へのポーリングの送信経路及び応答経路は、インタフェース44(IF4)が送信した監視パケットがスイッチ54(SW4)及びスイッチ53(SW3)を経由して端末61(PC1)に到達し、インタフェース44(IF4)がスイッチ53(SW3)及びスイッチ54(SW4)を経由して端末61(PC1)からの応答パケットを受信する経路609に変更される。なお、この例ではネットワーク12(NW2)へのポーリングの送信経路及び応答経路605(図1)は変更されない。
上記のように経路が変更された場合、ネットワーク中継装置1は、既に説明した監視アドレスの経路を学習した場合の処理及び監視アドレスへの経路情報に基づいてポーリングを実行した場合の処理を実行する。
上記の障害によってネットワーク11(NW1)のアドレス「NW1addr」及び端末61(PC1)のアドレス「PC1addr」に対応する経路データ24及び経路テーブル29の出力インタフェースが変更される。このため、経路管理部23は、図12の処理を実行して、更新された経路データ24に基づいて、監視アドレステーブル32の監視アドレス112の値「NW1addr」及び「PC1addr」に対応する出力インタフェース113をそれぞれ「IF2」及び「IF4」に更新し(ステップ414)、更新されたエントリの情報を連携モジュール21に通知する(ステップ415)。
連携モジュール21は、監視アドレステーブル32の更新されたエントリの監視アドレス及び出力インタフェースを受信すると、受信した監視アドレスと一致するIF情報管理テーブル22の監視アドレス101を有するエントリを検索し(図13のステップ337)、検索されたエントリの送信インタフェース102に通知された出力インタフェースを登録する(ステップ338)。これによって、監視アドレス101の値「NW1addr」及び「PC1addr」に対応する送信インタフェース102がそれぞれ「IF2」及び「IF4」に更新される。さらに、連携モジュール21は、フィルタ/QoS管理部19に送信IF変更通知を送信する(ステップ339)。
フィルタ/QoS管理部19は、送信IF変更通知を受信すると、受信バッファから送信インタフェースの変更を示す変更種別と、アドレス情報と、インタフェース情報とを取得する(図14のステップ501)。そして、フィルタ/QoS管理部19は、取得したアドレス「NW1addr」及び「PC1addr」と一致する監視アドレス105を有する送信IF用フィルタ/QoS設定情報テーブル119のエントリを検索し(ステップ504)、検索されたエントリの管理番号104と一致する管理番号108を有する送信IF用フィルタ/QoSテーブル125のエントリを検索する(ステップ505)。
上記の例では、監視アドレス105が「NW1addr」である送信IF用フィルタ/QoS設定情報テーブル119のエントリの管理番号104が「4」及び「5」であるため、フィルタ/QoS管理部19は、送信IF用フィルタ/QoSテーブル125から管理番号108が「4」及び「5」であるエントリを検索し、それらのエントリのインタフェース109を「IF2」に更新する(ステップ506)。
同様に、上記の例では、監視アドレス105が「PC1addr」である送信IF用フィルタ/QoS設定情報テーブル119のエントリの管理番号104が「6」及び「7」であるため、フィルタ/QoS管理部19は、送信IF用フィルタ/QoSテーブル125から管理番号108が「6」及び「7」であるエントリを検索し、それらのエントリのインタフェース109を「IF4」に更新する(ステップ506)。
監視プロトコル25は、連携モジュールからのポーリング実行指示(ステップ347)に応じて、監視アドレス「NW1addr」及び「PC1addr」宛てのポーリングを実行する。この場合、図17に示すように、監視パケットに対する応答パケットの受信インタフェースが変更されるため、連携モジュール21は、監視プロトコル25からの受信結果に基づいて、IF情報管理テーブル22の受信インタフェース103を更新する(図16のステップ346)。上記の例では、監視アドレス101の値「NW1addr」及び「PC1addr」に対応する受信インタフェース103がそれぞれ「IF2」及び「IF4」に更新される。さらに、連携モジュール21は、フィルタ/QoS管理部19に受信IF変更通知を送信する(ステップ347)。
フィルタ/QoS管理部19は、受信IF用フィルタ/QoSテーブル124の管理番号108が「1」及び「2」であるエントリを検索し(ステップ508)、それらのエントリのインタフェース109を「IF2」に更新する(ステップ509)。同様に、フィルタ/QoS管理部19は、受信IF用フィルタ/QoSテーブル124の管理番号108が「3」及び「4」であるエントリを検索し(ステップ508)、それらのエントリのインタフェース109を「IF4」に更新する(ステップ509)。
以上の本発明の実施例1によれば、各インタフェースにフィルタリング及びQoS制御を設定するのではなく、フィルタリング及びQoS制御の対象となるネットワーク又は端末等のアドレスを指定して、指定したアドレスに対してフィルタリング及びQoSを設定することができる。例えば、ネットワーク又は端末等のアドレス等を宛先とする経路情報から得られた出力インタフェースに送信側のフィルタリング及びQoS制御を設定し、そのアドレスに対して定期的に監視パケットによるポーリングを行い、監視パケットに対する応答パケットを受信したインタフェースに受信側のフィルタリング及びQoS制御を設定する。これによって、フィルタリング及びQoS制御の機能を、トラフィックが通り得る全てのインタフェースに対して設定する必要がなくなり、経路状態に合わせて必要なインタフェースのみに設定することができる。このため、経路状態の変更に応じた適切なフィルタリング及びQoS制御を行いながら、使用されるメモリ(特に、ビット単価が高いCAM)のエントリ数を削減することができる。
以下、本発明の実施例2を、図面を使用して説明する。以下に説明する相違点を除き、実施例2のネットワーク及びネットワーク中継装置1の各部は、図1及び図2等に示された実施例1の同一の符号を付された各部と同一の機能を有するため、それらの説明は省略する。
図18は、本発明の実施例2のネットワーク及びネットワーク中継装置1の構成を示すブロック図である。
図18に示す実施例2のネットワーク中継装置1は、RP14内のフィルタ/QoSテーブル28がフィルタ/QoSテーブル33に置き換えられていること、及び、RP14が監視インタフェース(IF)テーブル34をさらに保持すること、及び、各部が実行する処理に後述する相違点があることを除いて、実施例1のネットワーク中継装置1と同じである。
連携モジュール21は、コマンド解析部17からの通知に基づいてIF情報管理テーブル22を作成し、経路管理部23及び監視プロトコル25から取得した送信インタフェース及び受信インタフェースを監視IFテーブル34に登録する。
フィルタ/QoS管理部19は、コマンド解析部17からの通知に基づいて、フィルタリング及びQoS制御のコンフィグデータ18を解析し、フィルタ/QoS設定情報テーブル20を作成し、連携モジュール内のIF情報管理テーブル22及びフィルタ/QoS設定情報テーブル20からフィルタ/QoSテーブル33を作成する。
テーブル検索エンジン27は、フィルタ/QoSテーブル33及び監視IFテーブル34を使用して(626)、フィルタリング及びQoS制御を実現する。
図19は、本発明の実施例2のネットワーク中継装置1が保持する監視IFテーブル34の説明図である。
監視IFテーブル34は、フィルタ/QoSテーブル33及び経路テーブル29と同様、RP14内に実装されたCAMに格納される。
監視IFテーブル34は、送信インタフェース141及び受信インタフェース142を含む。送信インタフェース141及び受信インタフェース142には、それぞれ、IF情報管理テーブル22の送信インタフェース102及び受信インタフェース103の値が登録される。
監視IFテーブル34は、監視IFテーブル34の各エントリの位置が、各エントリと同一の値を含むIF情報管理テーブル22のエントリの位置と同一になるように管理される。例えば、IF情報管理テーブル22の先頭のエントリの送信インタフェース102及び受信インタフェース103にそれぞれ「IF1」及び「IF1」が登録されている場合、監視IFテーブル34の先頭のエントリの送信インタフェース141及び受信インタフェース142にそれぞれ「IF1」及び「IF1」が登録される。
図19には、監視IFテーブル34のエントリの位置を示すIF位置情報140が表示されている。この例では、先頭のエントリから3番目のエントリまでのIF位置情報140がそれぞれ「1」〜「3」である。
図19には、図18に示すネットワーク構成においてネットワーク11(NW1)のアドレス「NW1addr」に対応する送信経路及び受信経路が判明している状態のテーブルを例として示す。この場合、図4に示すように、IF情報管理テーブル22の先頭のエントリに監視アドレス「NW1addr」、送信インタフェース「IF1」及び受信インタフェース「IF2」が登録されているため、監視IFテーブル34のIF位置情報「1」に対応する先頭のエントリの送信インタフェース141及び受信インタフェース142にそれぞれ「IF1」及び「IF1」が登録されている。
図20は、本発明の実施例2のネットワーク中継装置1が保持するフィルタ/QoSテーブル33の説明図である。
フィルタ/QoSテーブル33は、管理番号143、IF位置情報144、フロー検出条件145及び制御動作146を含む。これらのうち、管理番号143、フロー検出条件145及び制御動作146は、それぞれ、実施例1のフィルタ/QoSテーブル28の管理番号108、フロー検出条件110及び制御動作111と同様であり、フィルタ/QoS設定情報テーブル20の管理番号104、フロー検出条件106及び制御動作107と同じ値が登録される。
IF位置情報144は、フィルタ/QoSテーブル33の各エントリのインタフェース情報を保持する監視IFテーブル34のエントリの位置を示すポインタである。具体的には、IF位置情報144には、フィルタ/QoSテーブル33の各エントリに対応するフィルタ/QoS設定情報テーブル20のエントリの監視アドレス105と一致する監視アドレス101を有するIF情報管理テーブル22のエントリの位置を示す値が設定される。上記のようにIF情報管理テーブル22と監視IFテーブル34の各エントリの位置は一致しているため、IF位置情報144によって監視IFテーブル34のエントリの位置が示される。
なお、実施例1のフィルタ/QoSテーブル28と同様、フィルタ/QoSテーブル33は、受信IF用フィルタ/QoSテーブル151及び送信IF用フィルタ/QoSテーブル152を含む。受信IF用フィルタ/QoSテーブル151はフィルタリングを設定するための受信IF用フィルタリングエントリ147及びQoS制御を設定するための受信IF用QoS制御エントリ148を含む。送信IF用フィルタ/QoSテーブル152はフィルタリングを設定するための送信IF用フィルタリングエントリ149及びQoS制御を設定するための送信IF用QoS制御エントリ150を含む。
テーブル検索エンジン27は、パケット転送エンジン26が受信したパケットが、フィルタ/QoSテーブル33のIF位置情報144と一致する監視IFテーブル34のインタフェース情報(受信IF用フィルタ/QoSテーブル151を参照した場合は受信インタフェース142、送信IF用フィルタ/QoSテーブル152を参照した場合は送信インタフェース141)と一致するか否か、言い換えると、そのパケットがフィルタリング又はQoS制御の対象のインタフェースから受信した又は送信されるパケットであるか否かを判定する。それらが一致した場合、テーブル検索エンジン27は、そのパケットがフィルタリング又はQoS制御の対象であると判定し、制御動作146によって定められた動作を実行する。これによってフィルタリング及びQoS制御が実現される。
以下、実施例2のネットワーク中継装置1の各部が実行する処理のうち、実施例1と相違する点を説明する。
最初に、実施例2のネットワーク中継装置1に図3のコマンドが入力されたときに実行される処理について説明する。
CLI16を経由して図3に示すコマンドが入力されてから、フィルタ/QoS管理部19がフィルタ/QoS設定情報テーブル20を作成するまでの実施例2のネットワーク中継装置1の処理は、実施例1と同じである。フィルタ/QoS管理部19は、フィルタ/QoS設定情報テーブル20を作成すると、各エントリの監視アドレス105と同じ値の監視アドレス101を有するIF情報管理テーブル22のエントリの位置情報を連携モジュール21に問い合わせる。そして、フィルタ/QoS管理部19は、取得した位置情報とフィルタ/QoS設定情報テーブル20とに基づいて、フィルタ/QoSテーブル33を設定する。
監視アドレス更新処理(図9)のうち、変更種別が設定通知である場合の処理は実施例1と同じである。変更種別が削除通知である場合、連携モジュール21は、ステップ329において、ステップ328の条件を満たすIF情報管理テーブル22のエントリを削除し、さらに、そのエントリに対応する監視IFテーブル34のエントリ(すなわち送信インタフェース141及び受信インタフェース142の値)を削除する。
IF検索処理(図11)のうち、ステップ334及び335において、連携モジュール21は、ステップ331で取得したアドレス情報の代わりに、ステップ332の条件を満たすIF情報管理テーブル22のエントリの位置情報をフィルタ/QoS管理部19に通知する。
フィルタ/QoS管理部19は、図3のコマンドによる設定内容に基づいて、フィルタ/QoS設定情報テーブル20にエントリを設定し、連携モジュール21に対して、監視アドレス105をインタフェース情報に変換するための問い合わせを行う。上記のステップ334及び335について説明したように、この問い合わせに対する応答は、インタフェース情報の代わりにIF情報管理テーブル22のエントリの位置情報を含んでいるため、フィルタ/QoS管理部19は、フィルタ/QoS設定情報テーブル20に基づいてフィルタ/QoSテーブル33を設定するときに(625)、連携モジュール21から取得した位置情報をIF位置情報144として登録する。
監視アドレスに対する送信経路が学習されていない時点では、監視IFテーブル34の送信インタフェース141及び受信インタフェース142は空である(図19)。
フィルタ/QoSテーブル33の設定及びそれに基づくフィルタリング及びQoS制御は、図20を参照して説明した通りである。
なお、上記のように、監視アドレスに対する経路が判明していない時点で、監視IFテーブル34の送信インタフェース141及び受信インタフェース142は空であるが、その場合でも、IF情報管理テーブル22のエントリの位置情報及びフィルタ/QoS設定情報テーブル20に基づいて、監視IFテーブル34のエントリのIF位置情報140の値がIF位置情報144に設定される。
次に、実施例2のネットワーク中継装置1が監視アドレスに対する経路を学習した場合に実行する処理について説明する。
図18に示す経路情報の学習(601〜603)は、実施例1と同様である。
経路管理部23が経路情報を取得してから、その経路情報に基づいて連携モジュール21がIF情報管理テーブル22の送信インタフェース102を設定するまでの処理は、実施例1と同様である。実施例2の連携モジュール21は、さらに、IF情報管理テーブル22の各エントリの送信インタフェース102に設定したものと同じ値を、監視IFテーブル34の対応するエントリの送信インタフェース141にも設定する(627)。
連携モジュール21が実行する送信IF更新処理(図13)のうち、ステップ330〜338は、実施例1と同様である。
ステップ339において、連携モジュール21は、フィルタ/QoS管理部19に対する送信IF変更通知を行う代わりに、ステップ337の条件を満たすIF情報管理テーブル22のエントリと一致する監視IFテーブル34のエントリの送信インタフェース141に、ステップ338で登録した送信インタフェース102の値を登録する。
上記の処理によって、監視IFテーブルの先頭から3番目までのエントリの送信インタフェース141にそれぞれ「IF1」、「IF2」及び「IF3」が設定される。
次に、実施例2のネットワーク中継装置1が監視アドレスへの経路情報に基づいてポーリングを実行した場合の処理について説明する。
図18に示すポーリングの指示通知(617)、応答パケットの受信(618)及びインタフェース情報の通知(617)は実施例1と同様であり、例示するポーリングの送信経路及び応答経路604〜606も実施例1と同様である。連携モジュール21は、実施例1と同様にIF情報管理テーブル22の受信インタフェース103を更新し、さらに、更新したエントリと一致する監視IFテーブル34のエントリの受信インタフェース142も更新する。
連携モジュール21が実行する受信IF更新処理(図16)のうち、ステップ343〜346は実施例1と同様である。
ステップ347において、連携モジュール21は、フィルタ/QoS管理部19に対する受信IF変更通知を行う代わりに、ステップ344の条件を満たすIF情報管理テーブル22のエントリと一致する監視IFテーブル34のエントリの受信インタフェース142に、ステップ346で登録した受信インタフェース103の値を登録する。
上記の処理によって、監視IFテーブルの先頭から3番目までのエントリの受信インタフェース142にそれぞれ「IF1」、「IF2」及び「IF3」が設定される。
次に、障害によって監視アドレスへの経路変更が発生した場合に実施例2のネットワーク中継装置1が実行する処理について説明する。
ここでは、例として、図17に示したものと同様の障害によって同様の経路変更が発生した場合について説明する。この場合、上記の実施例2のネットワーク中継装置1が監視アドレスに対する経路を学習した場合に実行する処理、及び、実施例2のネットワーク中継装置1が監視アドレスへの経路情報に基づいてポーリングを実行した場合の処理が実行され、IF情報管理テーブル22、監視アドレステーブル32及び監視IFテーブル34が更新される。
具体的には、経路を学習した経路管理部23からの通知に応じた送信IF更新処理(図13)によって、連携モジュール21は、監視IFテーブル34の先頭のエントリ及び3番目のエントリの送信インタフェース141にそれぞれ「IF2」及び「IF4」を登録する。その後、ポーリングを行った監視プロトコル25からの通知に応じた受信IF更新処理(図16)によって、連携モジュール21は、監視IFテーブル34の先頭のエントリ及び3番目のエントリの受信インタフェース142にそれぞれ「IF2」及び「IF4」を登録する。
以上の本発明の実施例2によれば、連携モジュール21内で管理されるIF情報管理テーブル22の送信インタフェース102及び受信インタフェース103と同じ情報が、監視IFテーブル34としてRP14でも保持及び管理される。フィルタ/QoSテーブル33は、インタフェースの情報を直接保持する代わりに、監視IFテーブル34の送信インタフェース141又は受信インタフェースのエントリの位置を示すIF位置情報144を保持する。これによって、経路変更のためにフィルタリング又はQoS制御が適用されるインタフェースが変更された場合、監視IFテーブル34において、変更されたインタフェースに対応するエントリのみを変更することによって、各インタフェースにおける変更後の経路に対応したフィルタリング及びQoS制御を実現することができる。
一般に、一つの監視アドレスに対して複数のフィルタリング又はQoS制御が設定されることが多い。そのような場合、実施例1では、フィルタ/QoSテーブル28のエントリのうち経路が変更される監視アドレスに対応する全てのエントリのインタフェース109を更新する必要がある。これに対して、実施例2では、監視IFテーブル34のエントリのうち経路が変更される監視アドレスに対応するエントリの送信インタフェース141及び受信インタフェース142のみを変更すればよいため、インタフェース情報の更新に要する時間を短縮できる。
なお、本発明は上記した実施形態に限定されるものではなく、様々な変形例が含まれる。また、上記した実施形態は本発明を分かりやすく説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施形態の構成の一部を他の実施形態の構成に置き換えることが可能であり、また、ある実施形態の構成に他の実施形態の構成を加えることも可能である。また、各実施形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。
また、上記の各構成、機能、処理部、処理手段等は、それらの一部又は全部を、例えば集積回路で設計する等によってハードウェアで実現してもよい。また、上記の各構成、機能等は、プロセッサがそれぞれの機能を実現するプログラムを解釈し、実行することによってソフトウェアで実現してもよい。各機能を実現するプログラム、テーブル、ファイル等の情報は、不揮発性半導体メモリ、ハードディスクドライブ、SSD(Solid State Drive)等の記憶デバイス、または、ICカード、SDカード、DVD等の計算機読み取り可能な非一時的データ記憶媒体に格納することができる。
また、図面には、実施形態を説明するために必要と考えられる制御線及び情報線を示しており、必ずしも、本発明が適用された実際の製品に含まれる全ての制御線及び情報線を示しているとは限らない。実際にはほとんど全ての構成が相互に接続されていると考えてもよい。
1 ネットワーク中継装置
11、12 ネットワーク
13 Routing Manager(RM)
14 Routing Processer(RP)
15 Network Interface Module(NIF)
16 Command Line Interface(CLI)
17 コマンド解析部
18 コンフィグデータ
19 フィルタ/QoS管理部
20 フィルタ/QoS設定情報テーブル
21 連携モジュール
22 IF情報管理テーブル
23 経路管理部
24 経路データ
25 監視プロトコル
26 パケット転送エンジン
27 テーブル検索エンジン
28、33 フィルタ/QoSテーブル
29 経路テーブル
30 制御端末
31 Power Supply(PS)
32 監視アドレステーブル
34 監視IFテーブル
35 クロスバスイッチ(CS)
36 冷却ファン(FAN)
41〜44 インタフェース
51〜54 スイッチ
61 端末

Claims (14)

  1. ネットワークに接続される複数のインタフェース部と、前記複数のインタフェース部から入力されたパケットのルーティングを行うルーティング処理部と、前記ルーティング処理部を制御するルーティング管理部と、を有するパケット中継装置であって、
    前記ルーティング処理部は、
    前記各インタフェース部におけるパケットの検出条件と、前記検出条件に従って検出されたパケットに適用する転送制御の内容と、を対応付ける転送制御情報を保持し、
    前記転送制御情報に基づいて検出したパケットの転送を制御し、
    前記ルーティング管理部は、前記ネットワークにおける経路状態の変更を検出した場合、前記検出した経路状態の変更に基づいて、前記転送制御情報を更新することを特徴とするパケット中継装置。
  2. 請求項1に記載のパケット中継装置であって、
    前記経路状態の変更は、ネットワーク上のアドレスと、前記ネットワーク上のアドレス宛てのパケットを送信する前記インタフェース部と、の対応関係、及び、ネットワーク上のアドレスと、前記ネットワーク上のアドレスからのパケットを受信する前記インタフェース部と、の対応関係の少なくとも一方の変更であることを特徴とするパケット中継装置。
  3. 請求項2に記載のパケット中継装置であって、
    前記転送制御情報は、前記各インタフェース部と、前記各インタフェース部が送信又は受信するパケットの検出条件と、記検出条件に従って検出されたパケットに適用する転送制御の内容と、を対応付ける情報を含み、
    前記ルーティング管理部は、
    前記ネットワーク上のアドレスと、前記パケットの検出条件と、前記転送制御の内容と、を対応付ける設定情報、及び、前記ネットワーク上のアドレスと、当該アドレス宛てのパケットを送信する前記インタフェース部と、を対応付けるインタフェース情報を保持し、
    経路学習によって、前記ネットワーク上のアドレスと、前記ネットワーク上のアドレス宛てのパケットを送信する前記インタフェース部と、の対応関係の変更を検出した場合、前記検出した対応関係の変更に基づいて、前記インタフェース情報を更新し、
    前記設定情報及び前記更新したインタフェース情報に基づいて、前記転送制御情報を更新することを特徴とするパケット中継装置。
  4. 請求項3に記載のパケット中継装置であって、
    前記インタフェース情報は、前記ネットワーク上のアドレスと、当該アドレスからのパケットを受信する前記インタフェース部と、を対応付ける情報を含み、
    前記ルーティング管理部は、
    前記ネットワーク上のアドレス宛てのパケットを送信する前記インタフェース部から前記ネットワーク上のアドレス宛てのポーリングを実行することによって、前記ネットワーク上のアドレスと、前記ネットワーク上のアドレスからのパケットを受信する前記インタフェース部と、の対応関係の変更を検出した場合、前記検出した対応関係の変更に基づいて、前記インタフェース情報を更新し、
    前記設定情報及び前記更新したインタフェース情報に基づいて、前記転送制御情報を更新することを特徴とするパケット中継装置。
  5. 請求項4に記載のパケット中継装置であって、
    前記ルーティング管理部は、前記ネットワーク上のアドレスと、前記ネットワーク上のアドレスに送信されるパケット及び前記ネットワーク上のアドレスから受信するパケットの少なくとも一方の検出条件と、前記検出条件に従って検出されたパケットに適用される前記転送制御の内容と、を指定する設定コマンドを入力されると、前記入力された設定コマンドに従って前記設定情報を作成することを特徴とするパケット中継装置。
  6. 請求項2に記載のパケット中継装置であって、
    前記ルーティング管理部は、前記ネットワーク上のアドレスと、前記パケットの検出条件と、前記転送制御の内容と、を対応付ける設定情報、及び、前記ネットワーク上のアドレスと、当該アドレス宛てのパケットを送信する前記インタフェース部と、当該アドレスからのパケットを受信する前記インタフェース部と、を対応付けるインタフェース情報を保持し、
    前記転送制御情報は、
    前記インタフェース情報に含まれる情報のうち、前記ネットワーク上のアドレス宛てのパケットを送信する前記インタフェース部と、当該アドレスからのパケットを受信する前記インタフェース部と、を対応付けるエントリを有する第1情報と、
    前記監視インタフェース情報のエントリを指示するポインタと、前記ポインタによって指示された前記第1情報のエントリによって特定される各インタフェース部が送信又は受信するパケットの検出条件と、記検出条件に従って検出されたパケットに適用する転送制御の内容と、を対応付けるエントリを有する第2情報と、を含み、
    前記ルーティング管理部は、
    経路学習の結果に基づいて、前記ネットワーク上のアドレスと、前記ネットワーク上のアドレス宛てのパケットを送信する前記インタフェース部と、の対応関係の変更を検出した場合、前記検出した対応関係の変更に基づいて、前記インタフェース情報を更新し、
    前記ネットワーク上のアドレス宛てのパケットを送信する前記インタフェース部から前記ネットワーク上のアドレス宛てのポーリングの実行結果に基づいて、前記ネットワーク上のアドレスと、前記ネットワーク上のアドレスからのパケットを受信する前記インタフェース部と、の対応関係の変更を検出した場合、前記検出した対応関係の変更に基づいて、前記インタフェース情報を更新し、
    前記更新されたインタフェース情報に基づいて、前記第1情報を更新することを特徴とするパケット中継装置。
  7. 請求項1に記載のパケット中継装置であって、
    前記転送制御情報は、前記各インタフェース部におけるパケットのフィルタリングを制御する情報、及び、前記各インタフェース部におけるパケットの通信品質を制御する情報の少なくとも一方を含み、
    前記ルーティング処理部は、前記転送制御情報に基づいて、前記パケットのフィルタリング及び通信品質の少なくとも一方を制御することを特徴とするパケット中継装置。
  8. パケット中継装置が実行するパケット中継方法であって、
    前記パケット中継装置は、ネットワークに接続される複数のインタフェース部と、前記複数のインタフェース部から入力されたパケットのルーティングを行うルーティング処理部と、前記ルーティング処理部を制御するルーティング管理部と、を有し、
    前記ルーティング処理部は、前記各インタフェース部におけるパケットの検出条件と、前記検出条件に従って検出されたパケットに適用する転送制御の内容と、を対応付ける転送制御情報を保持し、
    前記パケット中継方法は、
    前記ルーティング処理部が、前記転送制御情報に基づいて検出したパケットの転送を制御する第1手順と、
    前記ルーティング管理部が、前記ネットワークにおける経路状態の変更を検出した場合、前記検出した経路状態の変更に基づいて、前記転送制御情報を更新する第2手順と、を含むことを特徴とするパケット中継方法。
  9. 請求項8に記載のパケット中継方法であって、
    前記経路状態の変更は、ネットワーク上のアドレスと、前記ネットワーク上のアドレス宛てのパケットを送信する前記インタフェース部と、の対応関係、及び、ネットワーク上のアドレスと、前記ネットワーク上のアドレスからのパケットを受信する前記インタフェース部と、の対応関係の少なくとも一方の変更であることを特徴とするパケット中継方法。
  10. 請求項9に記載のパケット中継方法であって、
    前記転送制御情報は、前記各インタフェース部と、前記各インタフェース部が送信又は受信するパケットの検出条件と、記検出条件に従って検出されたパケットに適用する転送制御の内容と、を対応付ける情報を含み、
    前記ルーティング管理部は、前記ネットワーク上のアドレスと、前記パケットの検出条件と、前記転送制御の内容と、を対応付ける設定情報、及び、前記ネットワーク上のアドレスと、当該アドレス宛てのパケットを送信する前記インタフェース部と、を対応付けるインタフェース情報を保持し、
    前記第2手順は、
    前記ルーティング管理部が、経路学習によって、前記ネットワーク上のアドレスと、前記ネットワーク上のアドレス宛てのパケットを送信する前記インタフェース部と、の対応関係の変更を検出した場合、前記検出した対応関係の変更に基づいて、前記インタフェース情報を更新する手順と、
    前記ルーティング管理部が、前記設定情報及び前記更新したインタフェース情報に基づいて、前記転送制御情報を更新する手順と、を含むことを特徴とするパケット中継方法。
  11. 請求項10に記載のパケット中継方法であって、
    前記インタフェース情報は、前記ネットワーク上のアドレスと、当該アドレスからのパケットを受信する前記インタフェース部と、を対応付ける情報を含み、
    前記第2手順は、
    前記ルーティング管理部が、前記ネットワーク上のアドレス宛てのパケットを送信する前記インタフェース部から前記ネットワーク上のアドレス宛てのポーリングを実行することによって、前記ネットワーク上のアドレスと、前記ネットワーク上のアドレスからのパケットを受信する前記インタフェース部と、の対応関係の変更を検出した場合、前記検出した対応関係の変更に基づいて、前記インタフェース情報を更新する手順と、
    前記ルーティング管理部が、前記設定情報及び前記更新したインタフェース情報に基づいて、前記転送制御情報を更新する手順と、を含むことを特徴とするパケット中継方法。
  12. 請求項11に記載のパケット中継方法であって、
    前記ルーティング管理部が、前記ネットワーク上のアドレスと、前記ネットワーク上のアドレスに送信されるパケット及び前記ネットワーク上のアドレスから受信するパケットの少なくとも一方の検出条件と、前記検出条件に従って検出されたパケットに適用される前記転送制御の内容と、を指定する設定コマンドを入力されると、前記入力された設定コマンドに従って前記設定情報を作成する手順をさらに含むことを特徴とするパケット中継方法。
  13. 請求項9に記載のパケット中継方法であって、
    前記ルーティング管理部は、前記ネットワーク上のアドレスと、前記パケットの検出条件と、前記転送制御の内容と、を対応付ける設定情報、及び、前記ネットワーク上のアドレスと、当該アドレス宛てのパケットを送信する前記インタフェース部と、当該アドレスからのパケットを受信する前記インタフェース部と、を対応付けるインタフェース情報を保持し、
    前記転送制御情報は、
    前記インタフェース情報に含まれる情報のうち、前記ネットワーク上のアドレス宛てのパケットを送信する前記インタフェース部と、当該アドレスからのパケットを受信する前記インタフェース部と、を対応付けるエントリを有する第1情報と、
    前記監視インタフェース情報のエントリを指示するポインタと、前記ポインタによって指示された前記第1情報のエントリによって特定される各インタフェース部が送信又は受信するパケットの検出条件と、記検出条件に従って検出されたパケットに適用する転送制御の内容と、を対応付けるエントリを有する第2情報と、を含み、
    前記第2手順は、
    前記ルーティング管理部が、経路学習の結果に基づいて、前記ネットワーク上のアドレスと、前記ネットワーク上のアドレス宛てのパケットを送信する前記インタフェース部と、の対応関係の変更を検出した場合、前記検出した対応関係の変更に基づいて、前記インタフェース情報を更新する手順と、
    前記ルーティング管理部が、前記ネットワーク上のアドレス宛てのパケットを送信する前記インタフェース部から前記ネットワーク上のアドレス宛てのポーリングの実行結果に基づいて、前記ネットワーク上のアドレスと、前記ネットワーク上のアドレスからのパケットを受信する前記インタフェース部と、の対応関係の変更を検出した場合、前記検出した対応関係の変更に基づいて、前記インタフェース情報を更新する手順と、
    前記更新されたインタフェース情報に基づいて、前記第1情報を更新する手順と、を含むことを特徴とするパケット中継方法。
  14. 請求項8に記載のパケット中継方法であって、
    前記転送制御情報は、前記各インタフェース部におけるパケットのフィルタリングを制御する情報、及び、前記各インタフェース部におけるパケットの通信品質を制御する情報の少なくとも一方を含み、
    前記第1手順において、前記ルーティング処理部は、前記転送制御情報に基づいて、前記パケットのフィルタリング及び通信品質の少なくとも一方を制御することを特徴とするパケット中継方法。
JP2013026782A 2013-02-14 2013-02-14 パケット中継装置及びパケット中継方法 Pending JP2014158084A (ja)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2013026782A JP2014158084A (ja) 2013-02-14 2013-02-14 パケット中継装置及びパケット中継方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2013026782A JP2014158084A (ja) 2013-02-14 2013-02-14 パケット中継装置及びパケット中継方法

Publications (1)

Publication Number Publication Date
JP2014158084A true JP2014158084A (ja) 2014-08-28

Family

ID=51578724

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2013026782A Pending JP2014158084A (ja) 2013-02-14 2013-02-14 パケット中継装置及びパケット中継方法

Country Status (1)

Country Link
JP (1) JP2014158084A (ja)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016092521A (ja) * 2014-10-31 2016-05-23 日立金属株式会社 中継装置及び通信システム

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JP2016092521A (ja) * 2014-10-31 2016-05-23 日立金属株式会社 中継装置及び通信システム

Similar Documents

Publication Publication Date Title
US10237177B2 (en) Transfer device and transfer system
JP5674107B2 (ja) 通信システム、制御装置、処理規則の設定方法およびプログラム
US9515868B2 (en) System and method for communication
US20180324274A1 (en) Information system, control apparatus, method of providing virtual network, and program
JP6053003B2 (ja) 伝送システム、伝送装置、及び伝送方法
JP5846221B2 (ja) ネットワークシステム、及びトポロジー管理方法
JP5660211B2 (ja) 通信経路制御システム、及び通信経路制御方法
US20170149640A1 (en) Method and apparatus for autonomously relaying statistics to a network controller in a software-defined networking network
WO2011087085A1 (ja) 計算機、ネットワーク接続切替え方法およびプログラム
WO2011155510A1 (ja) 通信システム、制御装置、パケットキャプチャ方法およびプログラム
US10212095B2 (en) Maximum transmission unit installation for switches in a software-defined network
CA2832019A1 (en) Network system, switch and connected terminal detection method
EP3200399B1 (en) Automated mirroring and remote switch port analyzer (rspan)/encapsulated remote switch port analyzer (erspan) functions using fabric attach (fa) signaling
JP6355536B2 (ja) 中継システムおよびスイッチ装置
CN110380966B (zh) 一种发现转发路径的方法及其相关设备
JPWO2014175423A1 (ja) 通信ノード、通信システム、パケット処理方法及びプログラム
US20150334019A1 (en) Routing control method and non-transitory computer-readable recording medium storing routing control program
WO2014126094A1 (ja) 通信システム、通信方法、制御装置、制御装置の制御方法及びプログラム
JP6566124B2 (ja) 通信システム、フロー制御装置、フロー処理装置及び制御方法
JP2014158084A (ja) パケット中継装置及びパケット中継方法
JP5854488B2 (ja) 通信システム、制御装置、処理規則の設定方法およびプログラム
KR20090076312A (ko) 적어도 하나 이상의 프로토콜을 지원하는 네트워크에서의라우터-id 설정 시스템 및 그 제어방법
JP2015164293A (ja) ネットワーク接続装置及びネットワーク接続方法
US10257120B2 (en) Converting an aggregated flow to a real flow for core nodes
JP2017022579A (ja) 通信システム、通信ノード、および通信システムにおける代替処理方法