(57)【要約】【課題】ネットワークノードにおいて、ルーティングモジュールのリソース量を抑制し、及び、メインプロセッサモジュールの急激な負荷率変動を抑制する。【解決手段】回線収容ボード上に、拡張機能に応じて実行する機能を変更可能なプロセッサ５２と、拡張機能に応じてパケットの取り扱い方法を変更可能なブリッジ５１と、拡張機能（加工・応答・統計収集等）に必要な情報を格納するメモリ５３とを設ける。ブリッジ５１は、パケットの入力元毎にパケットの出力先が予め設定され、パケット転送部、回線ＩＦ６０−２及びプロセッサ５２から入力されたパケットを、設定に従い出力する。例えば、回線ＩＦ６０−２から受信したパケットがブリッジ５１によりプロセッサ５２に転送され、プロセッサ５１が拡張機能を実行することにより、回線ＩＦ６０−２から受信されたパケットがパケット転送部に入力される前に拡張機能が実行される。【選択図】図２
2008060763.tif 000002
【特許請求の範囲】
【請求項１】
受信されたパケットを他の装置に転送するパケット転送機能を有するネットワークノードにおいて、該パケット転送以外の拡張機能を実行するためのネットワークノードであって、
第１のネットワークに接続するための第１の回線収容部と、
第２のネットワークに接続するための第２の回線収容部と、
パケットの宛先アドレスと、該パケットを出力するための出力先情報とが対応して記憶された転送データベースを有し、入力されたパケットの宛先アドレスに基づき該転送データベースを参照して、対応する出力先情報に従いパケットを前記第１及び第２の回線収容部に転送するパケット転送部と
を備え、
前記第１及び／又は第２の回線収容部は、
第１又は第２のネットワークに接続される回線を収容するための回線インタフェースと、
予め定められた前記拡張機能を実行するための情報が予め記憶される記憶部と、
入力されるパケットに含まれる情報と、前記記憶部に記憶された情報とに基づき前記拡張機能を実行するプロセッサと、
パケットの入力元毎に該パケットの出力先が予め設定され、前記パケット転送部、前記回線インタフェース、及び、前記プロセッサから入力されたパケットを、該設定に従い、前記パケット転送部、前記回線インタフェース、及び、前記プロセッサのいずれかに出力するブリッジと
を有し、
前記回線インタフェースから受信したパケットが前記ブリッジにより前記プロセッサに転送され、前記プロセッサが該パケットに基づき前記拡張機能を実行することにより、前記回線インタフェースから受信された該パケットが前記パケット転送部に入力される前に前記拡張機能が実行される、及び／又は、
前記パケット転送部から受信したパケットが前記ブリッジにより前記プロセッサに転送され、前記プロセッサが該パケットに基づき前記拡張機能を実行することにより、前記パケット転送部により転送された該パケットが前記回線インタフェースから出力される前に前記拡張機能が実行される前記ネットワークノード。
【請求項２】
前記ブリッジ及び前記プロセッサに接続される制御部
をさらに備え、
前記制御部は、所望のタイミングで
前記プロセッサに、予め定められた前記拡張機能を設定し、
該拡張機能を実行するための情報を前記記憶部に記憶し、
該拡張機能に応じた、パケットの入力元毎の出力先を前記ブリッジに設定する請求項１に記載のネットワークノード。
【請求項３】
前記拡張機能は、
プライベートアドレスとグローバルアドレスを変換するアドレス変換機能、
パケットのフロー情報毎に、所定時間内における該パケットの受信数を示す統計情報を収集し、該統計情報に従いパケットのフィルタリングポリシーを変更するフィルタ更新機能、及び、
前記回線インタフェースを介して端末から受信したパケットに対して、前記プロセッサが応答する代理応答機能
のいずれかである請求項１に記載のネットワークノード。
【請求項４】
前記ブリッジに、パケットの入力元毎の出力先を設定する制御部
をさらに備え
前記拡張機能は、前記プロセッサがプライベートアドレスとグローバルアドレスを変換するアドレス変換機能であり、
前記ブリッジは、前記制御部により、
前記回線インタフェースから入力した第１のパケットを前記プロセッサに転送し、及び、該プロセッサにより拡張機能が実行され返信された前記第１のパケットを前記パケット転送部に転送するように設定され、及び、
前記パケット転送部から入力した第２のパケットを前記プロセッサに転送し、及び、該プロセッサにより拡張機能が実行され返信された前記第２のパケットを前記前記回線インタフェースに転送するように設定される請求項１に記載のネットワークノード。
【請求項５】
前記第１の回線収容部は、外部ネットワークに接続され、
前記第２の回線収容部は、内部ネットワークに接続され、
前記記憶部は、内部ネットワーク内でのプライベートアドレスと、該プライベートアドレスに対応する外部ネットワークでのグローバルアドレスとが記憶されたアドレス変換テーブルを有し、
前記転送データベースは、記憶される宛先アドレスに外部ネットワークのグローバルアドレスと、対応する出力先情報に前記第１の回線収容部の識別子とが用いられ、及び、記憶される宛先アドレスに内部ネットワークのプライベートアドレスと、対応する出力先情報に前記第２の回線収容部の識別子とが用いられ、
前記プロセッサは、
前記回線インタフェースを介して、宛先アドレスにグローバルアドレスを用いた内部ネットワーク宛てのパケットが入力される際、
入力されたパケットの該宛先アドレスに基づき前記アドレス変換テーブルを参照し、対応するプライベートアドレスを取得し、入力されたパケットの宛先アドレスを取得したプライベートアドレスに書き換えて、前記パケット転送部に向けて出力し、
前記パケット転送部は、宛先アドレスがプライベートアドレスに書き換えられた入力パケットの該宛先アドレスに基づき、前記転送データベースを参照し、対応する出力先情報に従い該入力パケットを前記第２の回線収容部に出力し、
前記第２の回線収容部は、該パケットを内部ネットワークに出力する請求項４に記載のネットワークノード。
【請求項６】
前記ブリッジに、パケットの入力元毎の出力先を設定する制御部
をさらに備え、
前記拡張機能は、前記プロセッサが、パケットのフロー情報毎に、所定時間内における該パケットの受信数を示す統計情報を収集し、該統計情報に従いパケットのフィルタリングポリシーを策定するフィルタ更新機能であり、
前記ブリッジは、前記制御部により、
前記回線インタフェースから入力した第１のパケットを前記プロセッサに転送し、及び、該プロセッサにより拡張機能が実行され返信された前記第１のパケットを前記パケット転送部に転送するように設定され、及び、
前記パケット転送部から入力した第２のパケットを前記回線インタフェースに転送するように設定された請求項１に記載のネットワークノード。
【請求項７】
前記ブリッジに、パケットの入力元毎の出力先を設定する制御部
をさらに備え、
前記拡張機能は、前記プロセッサが、パケットのフロー情報毎に、所定時間内における該パケットの受信数を示す統計情報を収集し、該統計情報に従いパケットのフィルタリングポリシーを策定するフィルタ更新機能であり、
前記ブリッジは、前記制御部により、
前記回線インタフェースから入力した第１のパケットを複製し、該複製を前記プロセッサに転送し、及び、入力した第１のパケットを前記パケット転送部に転送するように設定され、及び、
前記パケット転送部から入力した第２のパケットを前記前記回線インタフェースに転送するように設定された請求項１に記載のネットワークノード。
【請求項８】
前記パケット転送部は、パケットのフロー情報に対応して、パケットの廃棄指示又は優先度の変更指示を含むポリシー情報が記憶されたパケットフィルタデータベースをさらに有し、該パケットのフロー情報に基づき前記パケットフィルタデータベースを参照して対応するポリシー情報を取得し、前記転送データベースの出力先情報及び取得されたポリシー情報に従い、パケットを前記第１及び第２の回線収容部に転送し又はパケットを廃棄し、
前記記憶部は、パケットのフロー情報毎に、所定時間内における該パケットの受信数を示す統計情報が記憶されるフロー統計テーブルを有し、
前記プロセッサは、
前記回線インタフェースを介してパケットが入力される際、入力されたパケットのフロー情報に基づき、前記フロー統計テーブルの該当するフロー情報に対応する統計情報を増加し、
該統計情報が予め定められた閾値を超えるフロー情報を識別し、該フロー情報と予め定められたポリシー情報とを含むフィルタ情報を生成して、前記制御部に出力し、
前記制御部は、前記プロセッサからフィルタ情報が入力される際、該フィルタ情報に従い、前記パケットフィルタデータベースのフロー情報とポリシー情報とを更新する請求項６又は７に記載のネットワークノード。
【請求項９】
前記ブリッジに、パケットの入力元毎の出力先を設定する制御部
をさらに備え、
前記拡張機能は、前記プロセッサが、前記回線インタフェースを介して端末から受信した所定のパケットに対して、前記プロセッサが応答する代理応答処理であり、
前記ブリッジは、前記制御部により、
前記回線インタフェースから入力された前記所定のパケットを前記プロセッサに出力し、及び、該プロセッサにより拡張機能が実行され返信された前記端末に対する応答の為のパケットを、前記回線インタフェースに出力するように設定された請求項１に記載のネットワークノード。
【請求項１０】
前記記憶部は、ゲートウェイを担うノードのＩＰアドレスと、該ノードのＭＡＣアドレスとが対応して記憶されたテーブルを有し、
前記プロセッサは、
前記回線インタフェースを介して、第１のネットワーク内の端末から、ゲートウェイを担うノードのＩＰアドレスを含むＭＡＣアドレス取得要求を受信し、
受信されたＭＡＣアドレス取得要求に含まれる該ゲートウェイを担うノードのＩＰアドレスに基づき前記テーブルを参照し、対応するＭＡＣアドレスを取得し、
取得されたＭＡＣアドレスを含むＭＡＣアドレス取得応答を、前記回線インタフェースを介して、前記端末に向けて送信する請求項９に記載のネットワークノード。
【請求項１１】
前記パケット転送部は、
パケットのヘッダ情報と、該ヘッダ情報に対応する該パケットの転送可否を示すポリシー情報とを格納するパケットフィルタデータベースをさらに有し、
入力されるパケットのヘッダ情報に基づき、前記パケットフィルタデータベースを参照して、対応するポリシー情報を取得し、該ポリシー情報に基づいてパケットを廃棄又は出力する請求項１に記載のネットワークノード。
【請求項１２】
前記パケット転送部は、
前記制御部からの指示に従い、前記転送データベースと前記パケットフィルタデータベースとに情報を設定し、及び、該転送データベースと該パケットフィルタデータベースとを検索する為のパケット転送用プロセッサを有することを特徴とする請求項２に記載のネットワークノード。
【請求項１３】
前記制御部に接続され、前記ネットワークノードの管理者により操作される管理端末により、前記第１の回線収容部で実行する前記拡張機能と、該拡張機能を実行するための前記情報とが、任意のタイミングで前記制御部に入力され、前記第１の回線収容部に設定される請求項２に記載のネットワークノード。
【請求項１４】
前記ブリッジが、
前記回線インタフェースから入力されたパケットを複製し、
複製されたパケットを前記プロセッサに出力し、及び、入力されたパケットを前記パケット転送部に出力する請求項１に記載のネットワークノード。
【請求項１５】
前記プロセッサが、
設定された該拡張機能に基づいて、パケット又は該パケットの複製を加工し、
加工済みの該パケット又は該複製を、前記ブリッジに出力することを特徴とする請求項１に記載のネットワークノード。
【請求項１６】
前記記憶部が、
パケットのヘッダ情報又は該パケットの複製のヘッダ情報と、該ヘッダ情報に対応する拡張機能を実行するための前記情報とを格納することを特徴とする請求項１に記載のネットワークノード。
【請求項１７】
前記プロセッサが、
前記記憶部に、前記制御部からの指示に従い、拡張機能を実行するための前記情報を設定し、
パケットのヘッダ情報又は該パケットの複製のヘッダ情報を検索キーとして前記記憶部を検索し、
検索結果として得られる情報に基づいて、前記拡張機能を実行することを特徴とする請求項１６に記載のネットワークノード。
【請求項１８】
受信されたパケットを他の装置に転送するパケット転送機能を有するネットワークノードにおいて、該パケット転送以外の拡張機能を実行するためのネットワークノードであって、
外部ネットワークに接続するための第１の回線収容部と、
内部ネットワークに接続するための第２の回線収容部と、
パケットの宛先アドレスと、該パケットを出力するための出力先情報とが対応して記憶された転送データベースを有し、入力されたパケットの宛先アドレスに基づき該転送データベースを参照して、対応する出力先情報に従いパケットを前記第１及び第２の回線収容部に転送するパケット転送部と
を備え、
前記第１の回線収容部は、
外部ネットワークに接続される回線を収容するための回線インタフェースと、
内部ネットワーク内でのプライベートアドレスと、該プライベートアドレスに対応する外部ネットワークでのグローバルアドレスとが記憶されたアドレス変換テーブルと、
前記拡張機能として、前記アドレス変換テーブルを参照してプライベートアドレスとグローバルアドレスとを変換するプロセッサと
を有し、
前記転送データベースは、記憶される宛先アドレスに外部ネットワークのグローバルアドレスと、対応する出力先情報に前記第１の回線収容部の識別子とが用いられ、及び、記憶される宛先アドレスに内部ネットワークのプライベートアドレスと、対応する出力先情報に前記第２の回線収容部の識別子とが用いられ、
前記プロセッサは、
前記回線インタフェースを介して、宛先アドレスにグローバルアドレスを用いた内部ネットワーク宛てのパケットが入力される際、
入力されたパケットの該宛先アドレスに基づき前記アドレス変換テーブルを参照し、対応するプライベートアドレスを取得し、入力されたパケットの宛先アドレスを取得されたプライベートアドレスに書き換えて、前記パケット転送部に出力し、
前記パケット転送部は、宛先アドレスがプライベートアドレスに書き換えられた入力パケットの該宛先アドレスに基づき、前記転送データベースを参照し、対応する出力先情報に従い該入力パケットを前記第２の回線収容部に出力し、
前記第２の回線収容部は、該パケットを内部ネットワークに出力する前記ネットワークノード。
【請求項１９】
前記第２の回線収容部は、宛先アドレスにグローバルアドレス、及び、送信元アドレスにプライベートアドレスを用いた外部ネットワーク宛てのパケットが入力される際、前記パケット転送部へ該パケットを出力し、
前記パケット転送部は、宛先アドレスがグローバルアドレスの入力パケットの該宛先アドレスに基づき、前記転送データベースを参照して対応する出力先情報を取得し、取得された出力先情報に従い該パケットを前記第１の回線収容部に出力し、
前記第１の回線収容部の前記プロセッサが、入力されたパケットの送信元アドレスに基づき前記アドレス変換テーブルを参照して、対応するグローバルアドレスを取得し、入力されたパケットの送信元アドレスを取得したグローバルアドレスに書き換え、
該パケットを外部ネットワークに出力する請求項１８に記載のネットワークノード。
【請求項２０】
受信されたパケットを他の装置に転送するパケット転送機能を有するネットワークノードにおいて、該パケット転送以外の拡張機能を実行するためのネットワークノードであって、
第１のネットワークに接続するための第１の回線収容部と、
第２のネットワークに接続するための第２の回線収容部と、
パケットの宛先アドレスと、該パケットを出力するための出力先情報とが対応して記憶された転送データベースと、パケットのフロー情報に対応して、パケットの廃棄指示又は優先度の変更指示を含むポリシー情報が記憶されたパケットフィルタデータベースとを有し、入力されたパケットの宛先アドレスに基づき前記転送データベースを参照して対応する出力先情報を取得し、及び、該パケットのフロー情報に基づき前記パケットフィルタデータベースを参照して対応するポリシー情報を取得し、取得された出力先情報及びポリシー情報に従い、パケットを前記第１及び第２の回線収容部に転送する又はパケットを廃棄するパケット転送部と
を備え、
前記第１の回線収容部は、
第１のネットワークに接続される回線を収容するための回線インタフェースと、
パケットのフロー情報毎に、所定時間内における該パケットの受信数を示す統計情報が記憶されるフロー統計テーブルと、
前記拡張機能として、パケットのフロー情報毎の前記統計情報を収集し、該統計情報に従いパケットのフィルタリングポリシーを変更するプロセッサと
を有し、
前記プロセッサは、
前記回線インタフェースを介してパケットが入力される際、入力されたパケットのフロー情報に基づき、前記フロー統計テーブルの該当するフロー情報に対応する統計情報を増加し、
該統計情報が予め定められた閾値を超えるフロー情報を識別し、該フロー情報と予め定められたポリシー情報とを含む、前記パケットフィルタデータベースを更新するためのフィルタ情報を生成して出力する前記ネットワークノード。
【請求項２１】
前記パケットフィルタデータベースを更新するための制御部
をさらに備え、
前記制御部は、前記プロセッサからフィルタ情報が入力される際、該フィルタ情報に従い、前記パケットフィルタデータベースのフロー情報とポリシー情報とを更新する請求項２０に記載のネットワークノード。
【請求項２２】
受信されたパケットを他の装置に転送するパケット転送機能を有するネットワークノードにおいて、該パケット転送以外の拡張機能を実行するためのネットワークノードであって、
第１のネットワークに接続するための第１の回線収容部と、
第２のネットワークに接続するための第２の回線収容部と、
パケットの宛先アドレスと、該パケットを出力するための出力先情報とが対応して記憶された転送データベースを有し、入力されたパケットの宛先アドレスに基づき該転送データベースを参照して、対応する出力先情報に従いパケットを前記第１及び第２の回線収容部に転送するパケット転送部と
を備え、
前記第１の回線収容部は、
第１のネットワークに接続される回線を収容するための回線インタフェースと、
ゲートウェイを担うノードのＩＰアドレスと、該ノードのＭＡＣアドレスとが対応して記憶されたテーブルと、
前記拡張機能を実行するプロセッサと
を有し、
前記プロセッサは、
前記回線インタフェースを介して、第１のネットワーク内の端末から、ゲートウェイを担うノードのＩＰアドレスを含むＭＡＣアドレス取得要求を受信し、
受信されたＭＡＣアドレス取得要求に含まれる該ゲートウェイを担うノードのＩＰアドレスに基づき前記テーブルを参照し、対応するＭＡＣアドレスを取得し、
取得されたＭＡＣアドレスを含むＭＡＣアドレス取得応答を、前記回線インタフェースを介して、前記端末に送信する前記ネットワークノード。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークノード（以下、ノード）に係り、特に、パケットを転送するノードに装着可能な回線収容ボードおいて、パケットへの付加機能処理を実行し、さらに、ノードが送受信するトラフィック状況に応じてノード内データベースの更新を促すことが可能な回線収容ボードを備えるネットワークノードに関する。
【背景技術】
【０００２】
ノードで受信したパケットに対する暗号化等の付加機能処理を実現する手段として、付加機能処理に特化したプロセッサを搭載する回線収容ボードを用いる方式が開示されている（例えば、特許文献１参照）。特許文献１では、ノードにて付加機能処理を適用すべきパケットが受信されると、回線制御モジュールに接続される第１のルーティングモジュールは、パケットを送信回線に向けて出力せず、機能実行モジュールに向けて出力する。機能実行モジュール内の機能アクセラレータは、入力されたパケットを加工し、加工後のパケットを機能実行モジュールに接続される第２のルーティングモジュールへ出力する。機能実行モジュールおよび接続される第２のルーティングモジュールは、加工後パケットが入力されると、加工後パケットのヘッダ情報に基づいて出力先情報の検索を実行し、検索結果として得られる送信先の回線制御モジュールに向けて加工後パケットを出力する。即ち、特許文献１のネットワークノードでは、第１及び第２のルーティングモジュールにおいて、入力パケットを加工する前のヘッダ情報に基づく出力先情報検索と、加工後パケットのヘッダ情報に基づく出力先情報検索とが実行されている。
【０００３】
端末は、ローカルなＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ネットワーク内部で使用可能なプライベートＩＰアドレスを用いる場合がある。ノードにおいて、端末から送信されたパケットを外部のネットワークに転送する際の付加機能処理として、ＮＡＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｔｒａｎｓｌａｔｉｏｎ）処理を適用する場合がある。ＮＡＴ処理は、プライベートＩＰアドレスを他のネットワークと通信する為に必要なグローバルＩＰアドレスへ変換する。
【０００４】
パケットの出力先情報検索の検索キーに宛先アドレスと送信元アドレスとを用いる特許文献１に対し、ノードの経路検索部がパケットの経路情報を検索する為に必要な検索キーとして、パケットの宛先アドレスだけを用いる方式が開示されている（例えば、特許文献２参照）。
【特許文献１】特開２００２−２８１０７２号公報
【特許文献２】特開２００５−３３３２２０号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１では、機能実行モジュールにおいて、パケットの付加機能処理について述べられているが、ノードが送受信するトラフィック状況に応じた情報（例えば、フィルタ情報）の生成と、生成した情報の活用（例えば、生成した情報に基づくパケットフィルタリング）とについてはいずれも開示されていない。
【０００６】
また、特許文献１の機能実行モジュールは、装置制御を担当するメインプロセッサモジュールの負荷上昇抑制を視野に入れている。しかし、メインプロセッサモジュールでの負荷上昇を抑制する為に機能実行モジュールがパケットの付加機能処理を実行する場合においても、パケットは常に機能実行モジュールに接続された上記第２のルーティングモジュールを経由する。言い換えると、特許文献１のノードは、そのルーティングモジュールに一定の負荷が掛かる。従って、機能実行モジュールによる付加機能処理の実行だけでは、ノードを構成する全モジュールの負荷上昇を抑制することができない場合がある。
【０００７】
更に、特許文献１のノードが外部ネットワークへ送信するパケットに対してＮＡＴを適用することを想定した場合、以下のように、パケットの転送に用いるデータベースのリソース量は抑えにくい。
【０００８】
例えば、内部ネットワークから外部ネットワークへパケットを送信する場合、パケットの送信元アドレス変換が必要である。ノードにてＮＡＴ処理を実行する際、ルーティングモジュールは、加工後パケットに対する出力先情報検索に必要な情報（検索キー）として、アドレスを変換しない宛先アドレスとアドレス変換後の送信元アドレスとを少なくとも用いると考えられる。
【０００９】
また、ノードにおいて、外部ネットワークからのパケット受信時にＮＡＴ処理を実行する場合、受信パケットの宛先アドレスを変換する。例えば、グローバルＩＰアドレスをプライベートＩＰアドレスに変換する。このとき、ルーティングモジュールは、加工後パケットに対する出力先情報検索に必要な検索キーとして、アドレス変換後の宛先アドレスとアドレスを変換しない送信元アドレスとを少なくとも用いると考えられる。したがって、変換前、変換後のアドレスの組み合わせが多くなり、パケット転送に用いるデータベースのリソース量が多くなる。
【００１０】
リソース量を抑える手段として、例えば、特許文献２に記載の出力先情報検索方式が挙げられる。しかし、特許文献２に記載される出力先情報検索方式を特許文献１のノードに実装すると、プライベートＩＰアドレスを用いる端末から送信されるパケットを外部のネットワークに転送する前提では、ＮＡＴ適用前パケットとＮＡＴ適用後パケットとの宛先アドレスが同一である為、上述の第２のルーティングモジュールは、パケットの宛先に基づき機能実行モジュールにパケットを転送する。したがって、ルーティングモジュールと機能実行モジュールとの間でパケットがループ状態に陥ることになる。
また、制御パケットへの応答や、攻撃パケットに対するノード内の装置制御部の急激な付加変動は、ノード全体の安定性を欠き、ネットワークの信頼性低下を招く可能性がある。
【００１１】
本発明は、以上の点に鑑み、ネットワークノードの回線を収容するボードにおいて、入力されるパケットを識別し、パケットの種別に応じたハンドリング（加工・応答・統計収集などの処理）を実行し、ハンドリングにより、ノードを構成する各モジュールがパケットをルーティング或いはハンドリングする為の負荷を抑制することを目的とする。また、本発明は、装置制御部の安定性を高めることを目的とする。
【００１２】
本発明は、パケット転送に必要なノード内のリソース量を抑えることを目的のひとつとする。また、本発明は、ノード内でパケットをループ状態に陥らせないことを目的のひとつとする。さらに、本発明は、プライベートアドレスとグローバルアドレスの変換を回線ボードで行い、パケット転送のためのデータベースのリソース量を抑えることを目的のひとつとする。
【００１３】
また、本発明は、トラヒック傾向に基づくパケットフィルタの更新をパケット転送部に促すことを目的のひとつとする。例えば、本発明は、ネットワークにおけるセキュリティが重要になっていることに鑑み、回線収容ボードを通過するトラフィック傾向を分析し、パケットフローの通過可否の決定に必要なパケットフィルタの更新をメインプロセッサモジュールに促すことを目的とする。
本発明は、回線収容ボードが、制御パケットに対する代理応答を行うことを目的のひとつとする。
【課題を解決するための手段】
【００１４】
本発明では、上記課題を解決する為、回線制御モジュールとルーティングモジュール間のブリッジと、パケットのハンドリングに特化した拡張機能実行用プロセッサと、拡張機能の実行に必要な情報を格納する拡張機能用メモリ（ポリシーデータベース）とを回線収容ボード上に設ける。該拡張機能実行用プロセッサは該ブリッジに接続され、拡張機能用メモリは該拡張機能実行用プロセッサと接続される。
【００１５】
該ブリッジは、該回線制御モジュール／該ルーティングモジュールからパケットが入力されると、該パケットの識別を実行する。該ブリッジでは、パケット識別の結果により、該回線収容ボードで実現する拡張機能に応じて該パケットの出力方法が異なる。例えば、該回線収容ボードにおいて該パケットをハンドリングさせる必要がある場合、該ブリッジは該パケットを拡張機能実行用プロセッサに出力する。
【００１６】
また、該回線収容ボードに入力されるパケットの統計を収集する必要がある場合、パケット或いはパケットのコピーを該拡張機能実行用プロセッサに出力する。なお、コピーは該ブリッジにて生成されることができる。更に、該ブリッジは、入力されたパケットのハンドリング／統計収集を要しないと判断した場合、該パケットを該ルーティングモジュール／該回線収容モジュールに出力する。
【００１７】
該拡張機能実行用プロセッサは、入力された該パケットに対する加工・応答（ハンドリング）内容の決定に際し、ハンドリングに必要なコンテンツが格納されたデータベースを検索する。該拡張機能実行用プロセッサは、該パケットに対し、検索結果のコンテンツに示されるハンドリングを実行後、ハンドリング済のパケットを該ブリッジに向けて出力する（但し、該コンテンツが“該パケットの廃棄指示”である場合、該拡張機能実行用プロセッサは該パケットを廃棄する）。また、該拡張機能実行用プロセッサが該パケット／該コピーの統計収集を実行する場合、該パケット／該コピーのヘッダからフロー情報を抽出し、フロー毎の統計を収集する。その後、該拡張機能実行用プロセッサは、フロー情報が抽出された該パケットを該ブリッジに向けて出力する。因みに、フロー情報が抽出された該コピーは、該拡張機能実行用プロセッサにて廃棄される。
【００１８】
該拡張機能実行用プロセッサから該パケットを入力された該ブリッジは、上述したループの発生を防止する為、該パケット内の情報に基づき、該パケットを回線制御モジュール／ルーティングモジュールに向けて出力する。
【００１９】
該拡張機能実行用プロセッサは、該回線収容ボードにて該パケット／該コピーの統計を収集する際、該統計からトラフィックの傾向を分析する。傾向分析の結果、該拡張機能実行用プロセッサは、排除すべきパケットフローをノード内で廃棄させる為、ノード内パケットフィルタの更新に必要なフィルタ情報を生成する。この後、該拡張機能実行用プロセッサは、上述のメインプロセッサモジュールに向けて該フィルタ情報を出力する。該フィルタ情報を入力された該メインプロセッサモジュールは、該フィルタ情報に基づいてパケットフィルタの更新に必要なフィルタフローと該パケットフィルタ更新を要求する信号を発行する。
【００２０】
本発明の第１の解決手段によると、
受信されたパケットを他の装置に転送するパケット転送機能を有するネットワークノードにおいて、該パケット転送以外の拡張機能を実行するためのネットワークノードであって、
第１のネットワークに接続するための第１の回線収容部と、
第２のネットワークに接続するための第２の回線収容部と、
パケットの宛先アドレスと、該パケットを出力するための出力先情報とが対応して記憶された転送データベースを有し、入力されたパケットの宛先アドレスに基づき該転送データベースを参照して、対応する出力先情報に従いパケットを前記第１及び第２の回線収容部に転送するパケット転送部と
を備え、
前記第１及び／又は第２の回線収容部は、
第１又は第２のネットワークに接続される回線を収容するための回線インタフェースと、
予め定められた前記拡張機能を実行するための情報が予め記憶される記憶部と、
入力されるパケットに含まれる情報と、前記記憶部に記憶された情報とに基づき前記拡張機能を実行するプロセッサと、
パケットの入力元毎に該パケットの出力先が予め設定され、前記パケット転送部、前記回線インタフェース、及び、前記プロセッサから入力されたパケットを、該設定に従い、前記パケット転送部、前記回線インタフェース、及び、前記プロセッサのいずれかに出力するブリッジと
を有し、
前記回線インタフェースから受信したパケットが前記ブリッジにより前記プロセッサに転送され、前記プロセッサが該パケットに基づき前記拡張機能を実行することにより、前記回線インタフェースから受信された該パケットが前記パケット転送部に入力される前に前記拡張機能が実行される、及び／又は、
前記パケット転送部から受信したパケットが前記ブリッジにより前記プロセッサに転送され、前記プロセッサが該パケットに基づき前記拡張機能を実行することにより、前記パケット転送部により転送された該パケットが前記回線インタフェースから出力される前に前記拡張機能が実行される前記ネットワークノードが提供される。
【００２１】
本発明の第２の解決手段によると、
受信されたパケットを他の装置に転送するパケット転送機能を有するネットワークノードにおいて、該パケット転送以外の拡張機能を実行するためのネットワークノードであって、
外部ネットワークに接続するための第１の回線収容部と、
内部ネットワークに接続するための第２の回線収容部と、
パケットの宛先アドレスと、該パケットを出力するための出力先情報とが対応して記憶された転送データベースを有し、入力されたパケットの宛先アドレスに基づき該転送データベースを参照して、対応する出力先情報に従いパケットを前記第１及び第２の回線収容部に転送するパケット転送部と
を備え、
前記第１の回線収容部は、
外部ネットワークに接続される回線を収容するための回線インタフェースと、
内部ネットワーク内でのプライベートアドレスと、該プライベートアドレスに対応する外部ネットワークでのグローバルアドレスとが記憶されたアドレス変換テーブルと、
前記拡張機能として、前記アドレス変換テーブルを参照してプライベートアドレスとグローバルアドレスとを変換するプロセッサと
を有し、
前記転送データベースは、記憶される宛先アドレスに外部ネットワークのグローバルアドレスと、対応する出力先情報に前記第１の回線収容部の識別子とが用いられ、及び、記憶される宛先アドレスに内部ネットワークのプライベートアドレスと、対応する出力先情報に前記第２の回線収容部の識別子とが用いられ、
前記プロセッサは、
前記回線インタフェースを介して、宛先アドレスにグローバルアドレスを用いた内部ネットワーク宛てのパケットが入力される際、
入力されたパケットの該宛先アドレスに基づき前記アドレス変換テーブルを参照し、対応するプライベートアドレスを取得し、入力されたパケットの宛先アドレスを取得されたプライベートアドレスに書き換えて、前記パケット転送部に出力し、
前記パケット転送部は、宛先アドレスがプライベートアドレスに書き換えられた入力パケットの該宛先アドレスに基づき、前記転送データベースを参照し、対応する出力先情報に従い該入力パケットを前記第２の回線収容部に出力し、
前記第２の回線収容部は、該パケットを内部ネットワークに出力する前記ネットワークノードが提供される。
【００２２】
本発明の第３の解決手段によると、
受信されたパケットを他の装置に転送するパケット転送機能を有するネットワークノードにおいて、該パケット転送以外の拡張機能を実行するためのネットワークノードであって、
第１のネットワークに接続するための第１の回線収容部と、
第２のネットワークに接続するための第２の回線収容部と、
パケットの宛先アドレスと、該パケットを出力するための出力先情報とが対応して記憶された転送データベースと、パケットのフロー情報に対応して、パケットの廃棄指示又は優先度の変更指示を含むポリシー情報が記憶されたパケットフィルタデータベースとを有し、入力されたパケットの宛先アドレスに基づき前記転送データベースを参照して対応する出力先情報を取得し、及び、該パケットのフロー情報に基づき前記パケットフィルタデータベースを参照して対応するポリシー情報を取得し、取得された出力先情報及びポリシー情報に従い、パケットを前記第１及び第２の回線収容部に転送する又はパケットを廃棄するパケット転送部と
を備え、
前記第１の回線収容部は、
第１のネットワークに接続される回線を収容するための回線インタフェースと、
パケットのフロー情報毎に、所定時間内における該パケットの受信数を示す統計情報が記憶されるフロー統計テーブルと、
前記拡張機能として、パケットのフロー情報毎の前記統計情報を収集し、該統計情報に従いパケットのフィルタリングポリシーを変更するプロセッサと
を有し、
前記プロセッサは、
前記回線インタフェースを介してパケットが入力される際、入力されたパケットのフロー情報に基づき、前記フロー統計テーブルの該当するフロー情報に対応する統計情報を増加し、
該統計情報が予め定められた閾値を超えるフロー情報を識別し、該フロー情報と予め定められたポリシー情報とを含む、前記パケットフィルタデータベースを更新するためのフィルタ情報を生成して出力する前記ネットワークノードが提供される。
【００２３】
本発明の第４の解決手段によると、
受信されたパケットを他の装置に転送するパケット転送機能を有するネットワークノードにおいて、該パケット転送以外の拡張機能を実行するためのネットワークノードであって、
第１のネットワークに接続するための第１の回線収容部と、
第２のネットワークに接続するための第２の回線収容部と、
パケットの宛先アドレスと、該パケットを出力するための出力先情報とが対応して記憶された転送データベースを有し、入力されたパケットの宛先アドレスに基づき該転送データベースを参照して、対応する出力先情報に従いパケットを前記第１及び第２の回線収容部に転送するパケット転送部と
を備え、
前記第１の回線収容部は、
第１のネットワークに接続される回線を収容するための回線インタフェースと、
ゲートウェイを担うノードのＩＰアドレスと、該ノードのＭＡＣアドレスとが対応して記憶されたテーブルと、
前記拡張機能を実行するプロセッサと
を有し、
前記プロセッサは、
前記回線インタフェースを介して、第１のネットワーク内の端末から、ゲートウェイを担うノードのＩＰアドレスを含むＭＡＣアドレス取得要求を受信し、
受信されたＭＡＣアドレス取得要求に含まれる該ゲートウェイを担うノードのＩＰアドレスに基づき前記テーブルを参照し、対応するＭＡＣアドレスを取得し、
取得されたＭＡＣアドレスを含むＭＡＣアドレス取得応答を、前記回線インタフェースを介して、前記端末に送信する前記ネットワークノードが提供される。
【発明の効果】
【００２４】
本発明によると、ネットワークノードの回線を収容するボードにおいて、入力されるパケットを識別し、パケットの種別に応じたハンドリング（加工・応答・統計収集などの処理）を実行し、ハンドリングにより、ノードを構成する各モジュールがパケットをルーティング或いはハンドリングする為の負荷を抑制することができる。また、本発明によると、装置制御部の安定性を高めることができる。
【００２５】
本発明によると、パケット転送に必要なノード内のリソース量を抑えることができる。また、本発明によると、ノード内でパケットをループ状態に陥らせないことができる。さらに、本発明によると、プライベートアドレスとグローバルアドレスの変換を回線ボードで行い、パケット転送のためのデータベースのリソース量を抑えることができる。また、ブリッジが入力されるパケットを識別することにより、ルーティングモジュールと拡張機能実行用プロセッサとの間でパケットがループ状態に陥ることを回避でき、且つルーティングモジュールがパケットの転送する際に用いるデータベースのリソース量を、例えば特許文献１の装置より抑制できる。
【００２６】
本発明によると、トラヒック傾向に基づくパケットフィルタの更新をパケット転送部に促すことができる。例えば、本発明によると、ネットワークにおけるセキュリティが重要になっていることに鑑み、回線収容ボードを通過するトラフィック傾向を分析し、パケットフローの通過可否の決定に必要なパケットフィルタの更新をメインプロセッサモジュールに促すことができる。
【００２７】
本発明によると、拡張機能実行用プロセッサにより、回線収容ボードに入力されたトラフィックの分析が可能になり、分析結果に基づき上述したフィルタ情報を生成することが可能である。拡張機能実行用プロセッサがフィルタ情報を上述のメインプロセッサモジュールへ出力することにより、メインプロセッサモジュールはフィルタ情報を用いてノード内のパケットフィルタを動的に更新可能である。
【００２８】
本発明によると、回線収容ボードが、制御パケットに対する代理応答を行うことができる。また、ブリッジが通常のパケット転送では送信できないパケットを認識すると、パケットを拡張機能実行用プロセッサに出力する。この後、拡張機能実行用プロセッサがメインプロセッサモジュールの代わりにパケットに対する応答を実行することにより、メインプロセッサモジュールの負荷を低減できる。
【００２９】
以上から、本発明により、ネットワークノードを構成する各モジュールに対し、パケットあたりの転送負荷の上昇が抑制できると共に、装置動作の安定性が維持できる。また、パケットフィルタの動的更新によって、ネットワークの安定性も維持可能になる。
【発明を実施するための最良の形態】
【００３０】
１．第１の実施の形態
１−１．  システム構成
以下、第１の実施の形態について図面を参照して説明する。ここでは、ノードの拡張機能処理として、ＮＡＴに関して述べる。但し、適用する装置、パケットの種類はこれらに限られない。
【００３１】
図１は、ノード装置（ネットワークノード）を構成するブロック図である。
ノード装置１０は、装置制御部（制御部）２０と、パケット転送部３０と、回線収容ボード（第２の回線収容部）４０と、機能拡張ボード（第１の回線収容部）５０とを備える。また、ノード装置１０は、信号線Ｌ７を介して管理端末１５と接続される。なお、図１の例では、回線収容ボード４０と機能拡張ボード５０は、それぞれひとつずつ図示しているが、それぞれ複数備えてもよい。また、複数の機能拡張ボード５０がそれぞれ異なる機能を実行してもよい。
【００３２】
図３は、装置制御部２０の構成図である。
装置制御部２０は、装置制御プロセッサ２１と装置制御用メモリ２２とを有する。装置制御プロセッサ２１は、パケットを他のネットワーク装置へ転送する為に必要な、後述するパケット転送用データベースや、パケット転送可否を決定するための、後述するパケットフィルタへ、信号線Ｌ１を介してアクセスする。また、装置制御プロセッサ２１は、他のネットワーク装置に送信すべき制御パケットの発行や、他のネットワーク装置から受信した制御パケットに応じた動作を実行する。装置制御用メモリ２２の用途として、例えば、パケット転送部３０内のパケット転送用データベース３２とパケットフィルタ３３とに設定する情報の保持等が挙げられる。
【００３３】
装置制御部２０は、機能拡張ボード５０のブリッジ及びプロセッサに接続される。装置制御部２０は、所望のタイミングで、機能拡張ボード５０のプロセッサに予め定められた拡張機能を設定する。また、装置制御部２０は、拡張機能を実行するための情報を機能拡張ボード５０の記憶部に記憶する。また、装置制御部２０は、拡張機能に応じた、パケットの入力元毎の出力先をブリッジに設定する。
【００３４】
なお、拡張機能は、例えば、プライベートアドレスとグローバルアドレスを変換するアドレス変換機能、パケットのフロー情報毎に、所定時間内における該パケットの受信数を示す統計情報を収集し、該統計情報に従いパケットのフィルタリングポリシーを変更するフィルタ更新機能、及び、前記回線インタフェースを介して端末から受信したパケットに対して、前記プロセッサが応答する代理応答機能とすることができるが、これらに限られず、パケット転送機能以外の適宜の機能であってもよい。なお、フィルタ更新機能、代理応答機能については、後に別の実施の形態として説明する。
【００３５】
図４は、パケット転送部３０の構成図である。
パケット転送部３０は、パケット転送用プロセッサ３１と、パケット転送用データベース（転送データベース）３２と、パケットフィルタ（パケットフィルタデータベース）３３とを有する。パケット転送において、パケット転送用プロセッサ３１は、パケットが入力されると、パケットを宛先に向けて出力する。詳述すると、パケット転送用プロセッサ３１は、パケットの送信回線を決定する為に、パケット転送用データベース３２を検索する。
【００３６】
図１２に、パケット転送用データベース３２の構成例を示す。
パケット転送用データベース３２は、例えば、宛先アドレスと、宛先アドレスに対応する出力インタフェース情報（出力先情報）とが対応して記憶される。ここで、出力インタフェース情報は、例えば、回線収容ボード４０、機能拡張ボード５０を指し、さらに、各ボードが有するポートのポート情報を含んでも良い。
【００３７】
パケット転送用データベース３２の検索において、パケット転送用プロセッサ３１は、入力したパケットに記載の宛先アドレスから検索キーを生成し、検索キーとパケット転送用データベース３２における検索キーとの比較要素（テーブルに記憶された宛先アドレス）との一致比較を実行する。一致比較の結果、検索キーと一致する比較要素が存在する場合、パケット転送用データベース３２から比較要素に対応する検索結果（出力インタフェース情報）を取得する。その後、パケット転送用プロセッサ３１は、検索結果として得られた送信インタフェースに向けてパケットを出力する。
【００３８】
図１３に、パケットフィルタ３３の構成例を示す。
パケットフィルタ３３は、例えば、送信元アドレス、宛先アドレス、送信元ポート番号、宛先ポート番号の組み合わせと、その組み合わせに対応するポリシー情報とを含む。尚、パケット転送用プロセッサ３１によるパケットフィルタ３３の検索は、パケット転送用データベース３２の検索と同様の方法で実行され、ポリシー情報が取得される。パケット転送用プロセッサ３１は、取得されたポリシー情報に応じた処理を実行する。ポリシー情報は、例えば、パケットの転送可否を示す。また、パケットの廃棄指示、優先度変更などの情報であってもよい。
【００３９】
また、パケット転送用プロセッサ３１は、ノード装置１０宛の制御パケットが信号線Ｌ２或いは信号線Ｌ３から入力されると、信号線Ｌ５経由で制御パケットを装置制御部２０に出力する。
【００４０】
図５は、回線収容ボード４０の構成図である。
回線収容ボード４０内の回線インタフェース６０−１は、収容する各回線から受信したパケットをパケット転送部３０に向けて出力し、パケット転送部３０から入力されたパケットを出力先情報検索結果に記載のインタフェースから送信する。
【００４１】
図２は、機能拡張ボード５０の構成図である。
機能拡張ボード５０は、回線インタフェース６０−２と、ブリッジ５１と、拡張機能実行用プロセッサ（プロセッサ）５２と、拡張機能用メモリ（記憶部）５３とを有する。本実施の形態の拡張機能用メモリ５３には、例えば、ＮＡＴ処理に必要なアドレス変換テーブル５３０１を構成する。
【００４２】
図１４に、アドレス変換テーブル５３０１の構成図を示す。
アドレス変換テーブル５３０１は、機能拡張ボード５０で送受信されるパケットヘッダ情報（送信元ＩＰアドレス・宛先ＩＰアドレス・送信元ポート番号・宛先ポート番号の組み合わせ）と、パケットのＩＰアドレスを変換する為の変換後のＩＰアドレスおよびパケットのポート番号を変換する為のポート番号とが対応して記憶される。例えば、送信元ＩＰアドレスがプライベートＩＰアドレスであり、検索結果のＩＰアドレスがグローバルＩＰアドレスである。また、宛先ＩＰアドレスがグローバルＩＰアドレスであり、検索結果のＩＰアドレスがプライベートＩＰアドレスである。
【００４３】
機能拡張ボード５０へ入力されるパケットにＮＡＴ処理を適用するか否かに関しては、ノード装置１０の管理者が管理端末１５から設定することができる。ＮＡＴ処理の適用要否情報は、信号線Ｌ７を介して管理端末１５から装置制御用プロセッサ２１へ入力される。装置制御用プロセッサ２１は、適用要否情報を信号線Ｌ４と信号線Ｌ６とに出力する。信号線Ｌ４から適用要否情報を入力された拡張機能実行用プロセッサ５２は、適用要否情報を記録する。また、信号線Ｌ６から適用要否情報を入力されたブリッジ５１も適用要否情報を記録する。尚、適用要否情報の設定は、管理者が任意のタイミングで変更可能とする。
ブリッジ５１は、パケットが入力されると、パケットが入力前に他のブロックで実行されたハンドリング内容とパケットの入力元とに応じて、出力先を決定する。
【００４４】
１−２．  ブリッジの動作
図６は、ブリッジ５１におけるパケットの出力先を決定するための処理フローである。本実施の形態では、機能拡張ボード５０にてＮＡＴ処理を適用する場合について述べる。
ブリッジ５１は、パケットが入力されると（ステップ７００）、パケットがパケット転送部３０から入力されたか否かを判断する（ステップ７０１）。例えば、信号線Ｌ３から入力されていれば、パケット転送部３０から入力されたと判断する。パケットがパケット転送部３０から入力された場合（ステップ７０１、Ｙｅｓ）、ブリッジ５１はパケットを信号線Ｌ５０１経由で拡張機能実行用プロセッサ５２へ出力する（ステップ７０３）。
【００４５】
一方、パケットがパケット転送部３０から入力されていない場合（ステップ７０１、Ｎｏ）、ブリッジ５１は、回線インタフェース６０−２から入力されたか否かを判断する（ステップ７０４）。例えば、パケットが信号線Ｌ５０３を介して入力されていれば、回線インタフェース６０−２から入力されたと判断する。パケットが回線インタフェース６０−２から入力された場合（ステップ７０４、Ｙｅｓ）、ブリッジ５１はパケットを拡張機能実行用プロセッサ５２へ出力する（ステップ７０３）。
【００４６】
パケットの入力元がパケット転送部３０と回線インタフェース６０−２との何れでも無い場合（ステップ７０４、Ｎｏ）、ブリッジ５１は、パケットが拡張機能実行用プロセッサ５２から入力されたと判断し、パケットが外部ネットワークからノード装置１０へ送信されたかものか否かを判断する（ステップ７０５）。このとき、ブリッジ５１は、パケットに記載される情報（例えば、出力先情報）に基づき、ステップ７０５を実行する。パケットが内部ネットワークから送信されたパケットである場合、又は、出力先情報が付加されている場合、ブリッジ５１は拡張機能実行用プロセッサ５２によりハンドリングされた入力パケットを、回線インタフェース６０−２へ出力する（ステップ７０６）。また、パケットが外部ネットワークから受信されたパケットである場合、又は、出力先情報が付加されていない場合、ブリッジ５１は拡張機能実行用プロセッサ５２によりハンドリングされた入力パケットを、パケット転送部３０へ向けて出力する（ステップ７０７）。
【００４７】
以上の処理により、回線インタフェース６０−２から入力したパケット（第１のパケット）は拡張機能実行用プロセッサ５２に転送され、及び、拡張機能実行用プロセッサ５２により拡張機能が実行され返信された第１のパケットはパケット転送部３０に転送される。また、パケット転送部３０から入力したパケット（第２のパケット）は拡張機能実行用プロセッサ５２に転送され、及び、拡張機能実行用プロセッサ５２により拡張機能が実行され返信された第２のパケットは回線インタフェース６０−２に転送される。このようなパケットの入力元毎の出力先は、例えば、拡張機能実行用プロセッサ５２で実行する拡張機能に応じて、装置制御部２０により設定されることができる。
【００４８】
図７は、ネットワークを伝送する可変長パケットのフォーマットの例を示す説明図である。
ネットワークを伝送するパケット８００は、ヘッダ８１０とペイロード８５０とを含む。ヘッダ８１０は、Ｌ２ヘッダ８２０と、Ｌ３ヘッダ８３０と、Ｌ４ヘッダ８４０とを含む。Ｌ２ヘッダ８２０は、パケット８００のＬ３プロトコルや伝送する回線媒体などを含むタイプ８２１と、パケット８００を転送すべきネットワーク装置の物理アドレスである宛先ＭＡＣアドレス８２２と、パケット８００を他のネットワークに送信するネットワーク装置の物理アドレスである送信元ＭＡＣアドレス８２３とを含む。また、Ｌ３ヘッダ８３０は、パケット８００の送信優先度等が含まれるＬ３制御情報８３１と、パケット８００の宛先を示す宛先ＩＰアドレス８３２と、パケット８００の送信元を示す送信元ＩＰアドレス８３３とを含む。更に、Ｌ４ヘッダ８４０は、通信の信頼性を確保する為に必要なＬ４制御情報８４１と、パケットが宛先のネットワーク装置に望むサービスを示す宛先ポート番号８４２と、パケット８００のフローを識別する為に必要な送信元ポート番号８４３とを含む。
【００４９】
図８は、本実施の形態における接続状態の例である。
以下、上記を踏まえた上で、ノード装置１０から外部ネットワークに送信するパケット（送信パケット）と、ノード装置１０が外部ネットワークから受信するパケット（受信パケット）とへ対するノード装置１０におけるＮＡＴ処理を説明する。本実施の形態では、図８に示すように、機能拡張ボード５０が外部ネットワークと接続される回線を収容し、回線収容ボード４０は内部ネットワークに接続する回線を収容することを前提とする。なお、図８では、装置制御部２０とパケット転送部３０は省略している。
【００５０】
１−３．  送信パケットに対するＮＡＴ処理
まず、外部ネットワークへ送信する際の処理について説明する。
回線収容ボード４０の回線インタフェース６０−１は、内部ネットワークに属するネットワーク装置から送信されたパケット８００を受信すると、パケット８００を信号線Ｌ２に出力する。このパケットの宛先は、例えば外部ネットワークの装置であり、グローバルＩＰアドレスを用いている。また、送信元のＩＰアドレスは、例えば、端末のプライベートＩＰアドレスを用いている。
【００５１】
信号線Ｌ２からパケット８００を入力されたパケット転送用プロセッサ３１は、パケット転送用データベース３２に格納されるパケット８００の出力先情報を検索する為の検索キー（出力先検索キー）と、パケットフィルタ３３に格納されるパケット８００へ適用すべきポリシー情報を得る為の検索キー（ポリシー検索キー）とを生成する。例えば、出力先検索キーは、入力パケットの宛先アドレスを含む。また、例えば、ポリシー検索キーは、入力パケットの送信元アドレス、宛先アドレス、宛先ポート番号、送信元ポート番号を含む。また、出力先検索キーをパケット転送用データベース３２と一致比較させる為のコマンド（出力先検索コマンド）と、ポリシー検索キーをパケットフィルタ３３と一致比較させる為のコマンド（ポリシー検索コマンド）とを生成する。この後、パケット転送用プロセッサ３１は、信号線Ｌ３０１へ出力先検索キーと出力先検索コマンドを出力し、パケット転送用データベース３２を検索する。パケット転送用プロセッサ３１は、信号線Ｌ３０２にポリシー検索キーとポリシー検索コマンドとを出力し、パケットフィルタ３３を検索する。尚、出力先検索キーやポリシー検索キーに一致比較される条件を設定するデバイスとして、例えば、特許文献２などで述べられているＣＡＭ（Ｃｏｎｔｅｎｔ  Ａｄｄｒｅｓｓａｂｌｅ  Ｍｅｍｏｒｙ）を用いて良い。
【００５２】
上記検索の結果として、パケット転送用データベース３２からパケット８００に対する出力先情報（ＩＰアドレス、ポート番号）が得られ、パケットフィルタ３３からパケット８００に対するポリシー情報が得られる。ポリシー情報として、例えばパケット８００に対する送信優先度の変更指示や廃棄指示が挙げられる。ポリシー情報として送信優先度の変更が指示される場合、変更を指示する情報と変更後の送信優先度とが得られる。また、ポリシー情報として廃棄が指示される場合、パケット転送用プロセッサ３１はパケットを廃棄する。また、ポリシー情報として送信優先度が指示される場合、パケット転送用プロセッサ３１はパケットのＬ３制御情報８３１の優先度を、得られた送信優先度に変更する。ポリシー情報として廃棄が指示されない場合、パケット転送用プロセッサ３１は、パケット８００に、得られた出力先情報９１０を付加し、出力先情報付パケット９００を信号線Ｌ３に出力する。なお、ノード装置１０は、内部ネットワークに送信する場合は信号線Ｌ２へ出力し、外部ネットワークに送信する場合は信号線Ｌ３へ出力する。ここでは、入力パケットは、外部ネットワーク宛てであるので、信号線Ｌ３に出力される。
【００５３】
機能拡張ボード５０では、図６のフローチャートに従い、ブリッジ５１が信号線Ｌ３から入力された出力先情報付パケット９００を信号線Ｌ５０１に出力する。信号線Ｌ５０１から出力先情報付パケット９００を入力された拡張機能実行用プロセッサ５２は、出力先情報付パケット９００の送信元ＩＰアドレス８３３−１（ここではプライベートＩＰアドレス）を変換する為、出力先情報付パケット９００のＬ３ヘッダ８３０から検索キー（変換用検索キー）を生成する。例えば、変換用検索キーは、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号を含む。拡張機能実行用プロセッサ５２は、生成された検索キーに基づき、上述のアドレス変換テーブル５３０１を検索する。拡張機能実行用プロセッサ５２は、アドレス変換テーブル５３０１を検索する際、変換用検索キーと変換に必要な検索コマンド（変換情報検索コマンド）とを信号線Ｌ５０２へ出力する。アドレス変換テーブル５３０１は、パケット転送用データベース３２と同様の方法で検索される。
【００５４】
拡張機能実行用プロセッサ５２は、変換すべき（変換後の）送信元ＩＰアドレス８３３−２（ここではグローバルＩＰアドレス）が検索結果として得られる場合、得られた送信元ＩＰアドレス８３３−２を用いて出力先情報付パケット９００の送信元ＩＰアドレス８３３を書き換える。
【００５５】
プライベートＩＰアドレスを用いる複数の端末から送信されるパケットフローが同一のグローバルＩＰアドレスを送信元アドレスとして共有する場合、パケットフローを識別する為、送信元ポート番号８４３を変換することができる。例えば、フロー毎に異なる送信元ポート番号８４３を割り当てる必要がある。これは、ＮＡＰＴ（Ｎｅｔｗｏｒｋ  Ａｄｄｒｅｓｓ  Ｐｏｒｔ  Ｔｒａｎｓｌａｔｉｏｎ）と呼ばれている。拡張機能実行用プロセッサ５２がＮＡＰＴを実行する場合、変換用検索キーを生成する際、Ｌ３ヘッダ８３０とＬ４ヘッダ８４０とを用いる。このとき、上記アドレス変換テーブル５３０１には、宛先ＩＰアドレス８３２と送信元ＩＰアドレス８３３とに加え、少なくとも宛先ポート番号８４２と送信元ポート番号８４３とが設定されていなければならない。送信パケットのフロー情報とフローに対応する変換情報（例えば、送信元ＩＰアドレスおよび送信元ポート番号）とがアドレス変換テーブル５３０１に設定されていない場合、アドレス変換テーブル５３０１検索時において、変換情報は示されない。このとき、拡張機能実行用プロセッサ５２は、フローに対応する変換情報を割り当てた後、フローと変換情報とをアドレス変換テーブル５３０１に設定する。尚、ポート番号の数が有限である為、アドレス変換テーブル５３０１に設定されたフローと変換情報は一定時間後に消去しても良い。
【００５６】
拡張機能実行用プロセッサ５２は、アドレス変換テーブル５３０１の検索結果として得られる送信元ポート番号８４３−２（グローバルＩＰアドレス用ポート番号）を用い、出力先情報付パケット９００の送信元ポート番号８４３をポート変換前の送信元ポート番号８４３−１（プライベートＩＰアドレス用ポート番号）から変換する。なお、ポート番号変換は、上述した送信元ＩＰアドレス８３３の変換と同時に実行することができる。この後、拡張機能実行用プロセッサ５２は、送信元ＩＰアドレス８３３と送信元ポート番号８４３とを変換した出力先情報付パケット９００を信号線Ｌ５０１に出力する。
【００５７】
信号線Ｌ５０１から出力先情報付パケット９００を入力されたブリッジ５１は、例えば、上述の図６のフローチャートに従い、出力先情報付パケット９００を信号線Ｌ５０３に出力する。その後、信号線Ｌ５０３から出力先情報付パケット９００を入力された回線インタフェース６０−２は、出力先情報付パケット９００から出力先情報９０１を除去する。このときパケットはパケット８００の状態になる。また、回線インタフェース６０−２は、パケット８００を出力先情報９０１に記載の回線から送信する。
なお、拡張機能実行用プロセッサ５２は、上述の処理以外にも、プライベートアドレスとグローバルアドレスを変換する適宜の処理を用いても良い。
【００５８】
１−４．  受信パケットに対するＮＡＴ処理
次に、外部ネットワークからパケットを受信する際の処理について説明する。
機能拡張ボード５０の回線インタフェース６０−２は、外部ネットワークに属するネットワーク装置から送信されたパケット８００を受信すると、パケット８００を信号線Ｌ５０３に出力する。このパケットの宛先は、例えば内部ネットワークの装置であり、ここではグローバルＩＰアドレスを用いている。
【００５９】
信号線Ｌ５０３からパケット８００を入力されたブリッジ５１は、図６のフローチャートに従い、パケット８００を信号線Ｌ５０１へ出力する。信号線Ｌ５０１からパケット８００を入力された拡張機能実行用プロセッサ５２は、パケット８００の宛先ＩＰアドレス８３２−２（グローバルＩＰアドレス）を変換する為、パケット８００のＬ３ヘッダ８３０から変換用検索キーを生成する。例えば、変換用検索キーは、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号を含む。拡張機能実行用プロセッサ５２は、生成された検索キーに基づき、上述のアドレス変換テーブル５３０１を検索する。なお、機能拡張ボード５０において上述のＮＡＰＴを実行する場合、拡張機能実行用プロセッサ５２は、上述と同様に変換用検索キーを生成する要素として、Ｌ３ヘッダ８３０とＬ４ヘッダ８４０とを用いる。拡張機能実行用プロセッサ５２は、アドレス変換テーブル５３０１を検索する際、変換用検索キーと変換情報検索コマンドとを信号線Ｌ５０２へ出力する。
【００６０】
変換すべき宛先ＩＰアドレス８３２−１（プライベートＩＰアドレス）が検索結果として得られる場合、拡張機能実行用プロセッサ５２は宛先ＩＰアドレス８３２−１を用いてパケット８００の宛先ＩＰアドレス８３２を書き換える。
【００６１】
また、ＮＡＰＴを実行する場合、拡張機能実行用プロセッサ５２は、アドレス変換テーブル５３０１の検索結果として得られる宛先ポート番号８４２−１（プライベートＩＰアドレス用ポート番号）を用い、パケット８００の宛先ポート番号８４２をポート変換前の宛先ポート番号８４２−２（グローバルＩＰアドレス用ポート番号）から変換する。なお、ポート番号変換は、上述した宛先ＩＰアドレス８３２の変換と同時に実行することができる。拡張機能実行用プロセッサ５２は、上記の変換動作を実行後、パケット８００を信号線Ｌ５０１に出力する。
【００６２】
受信パケットのフロー情報とフローに対応する変換情報（宛先ＩＰアドレスおよび宛先ポート番号）とがアドレス変換テーブル５３０１に設定されていない場合、アドレス変換テーブル５３０１検索時において、変換情報は示されない。このとき、拡張機能実行用プロセッサ５２は、受信パケットを外部ネットワークからの攻撃と判断し、受信パケットを廃棄することができる。但し、受信パケットがＩＰネットワーク上の障害通知等に用いられるＩＣＭＰ（Ｉｎｔｅｒｎｅｔ  Ｃｏｎｔｒｏｌ  Ｍｅｓｓａｇｅ  Ｐｒｏｔｏｃｏｌ）パケットである場合、拡張機能実行用プロセッサ５２はＩＣＭＰパケットを廃棄しないで信号線Ｌ５０１に出力する。ＩＣＭＰパケットは、例えば装置制御部２０でハンドリングされる。
【００６３】
信号線Ｌ５０１からパケット８００を入力されたブリッジ５１は、図６のフローチャートに従い、パケット８００を信号線Ｌ３に出力する。
信号線Ｌ３からパケット８００を入力されたパケット転送用プロセッサ３１は、パケット転送用データベース３２やパケットフィルタ３３を検索する。なお、パケット転送用プロセッサ３１による検索動作は、既に述べているものと同様であるので、ここでは省略する。なお、ここでは出力先情報として内部ネットワークに対応した回線インタフェース６０−１が得られる。パケット転送用プロセッサ３１は、上記検索動作の後、出力先情報付パケット９００を信号線Ｌ２へ出力する。
【００６４】
信号線Ｌ２から出力先情報付パケット９００を入力された回線インタフェース６０−１は、出力先情報付パケット９００から出力先情報９０１を除去する。このときパケットはパケット８００の状態になる。また、回線インタフェース６０−１は、パケット８００を出力先情報９０１に記載の回線から送信する。
【００６５】
本実施の形態により、パケット転送用データベース３２のリソース量を抑制可能なＮＡＴ／ＮＡＰＴ機能を提供可能である。本実施の形態では特に触れなかったが、パケットヘッダへ対する拡張機能は、ＩＰアドレスの変換などを実行するＮＡＴ／ＮＡＰＴ機能に拘らず、入力パケットにＩＰヘッダを付加するＩＰトンネリングやＩＰｓｅｃを適用しても良い。
なお、拡張機能実行用プロセッサ５２は、上述の処理以外にも、プライベートアドレスとグローバルアドレスを変換する適宜の処理を用いても良い。
【００６６】
図１９、図２０は、転送データベースのリソース抑制の説明図である。
図中、「Ａｐｒｉ」は、内部ネットワーク内の端末Ａのプライベートアドレスであり、「Ａ’ｇｌｏ」は、「Ａｐｒｉ」に対応するグローバルアドレスである。また、「Ｂｇｌｏ」は、外部ネットワークの端末Ｂのグローバルアドレスである。矢印付き実線は、外部ネットワークへのパケットを示し、一方、矢印付き破線は、内部ネットワークへのパケットを示す。
【００６７】
図１９（ａ）は、例えば、従来の装置のようにＮＡＴ処理を実行するプロセッサと回線インタフェースが、パケット転送部を介して接続される場合の構成例である。この場合、パケット転送部の転送テーブルには、ＣＰＵへ転送するためのエントリと、インタフェースへ転送するためのエントリを設定する必要がある（図１９（ｂ））。さらに、外部ネットワークへ送信する際には宛先アドレスはグローバルアドレスであるため、宛先アドレスのみで転送テーブルを構成することが困難である。仮に、宛先アドレスだけで構成すると、例えば、宛先アドレスが外部ネットワークの装置のグローバルアドレスに対応して、出力先をプロセッサとすると、プロセッサからのパケットも再度プロセッサに転送させることになり、ループ状態に陥る。したがって、送信元アドレス及び宛先アドレスに対応して、出力先情報を記憶することになる。
【００６８】
図２０は、本実施の形態のパケットの流れ及び転送データベースの例である。本実施の形態では、機能拡張ボード５０（図２０のＩＦ−２）でＮＡＴ処理が実行されるため、パケット転送部では、外部ネットワークの装置宛てのパケットは機能拡張ボード５０に出力し、内部ネットワークの装置宛てのパケットは回線インタフェースボード４０（図２０のＩＦ−１）に出力すればよい。したがって、転送テーブルは、少なくとも、宛先アドレスに対応して出力先情報を記憶すればよい。さらに、プロセッサへ転送するためのエントリも不要である。
【００６９】
図２０（ｂ）に示すように、本実施の形態の転送データベースは、一例として、記憶される宛先アドレスに外部ネットワークのグローバルアドレスと、対応する出力先情報に機能拡張ボード５０の識別子とが用いられ、及び、記憶される宛先アドレスに内部ネットワークのプライベートアドレスと、対応する出力先情報に回線インタフェースボードの識別子とが用いられる。
【００７０】
２．第２の実施の形態
２−１．  システム構成
本実施の形態は、ノードの拡張機能処理として、パケット統計収集を契機とするトラフィック傾向の分析に基づいたパケットフィルタの更新に関して述べる。本実施の形態では、第１の実施の形態と同様に、機能拡張ボード５０が外部ネットワークと接続される回線を収容し、回線収容ボード４０は内部ネットワークに接続する回線を収容することを前提とする（例えば図８参照）。但し、本実施の形態では、内部ネットワークで用いられるＩＰアドレスはグローバルＩＰアドレスとし、機能拡張ボード５０でパケットに対するＮＡＴおよびＮＡＰＴ処理を実行しないものとして説明する。なお、内部ネットワークでプライベートＩＰアドレスを用いる場合、上述の第１の実施の形態と組み合わせることにより、ＮＡＴ処理等を実行するようにしてもよい。
【００７１】
図１５は、フロー統計テーブル５３０２の構成図を示す。
本実施の形態の拡張機能用メモリ５３には、パケットフロー毎の統計収集に必要なフロー統計テーブル５３０２を記憶する。図１５に例示されるフロー統計テーブル５３０２は、機能拡張ボード５０で送受信されるパケットフロー（例えば、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号の組み合わせ）と、パケットフローの統計情報とを含む。統計情報は、例えば、所定時間内におけるパケットの受信数を示す。ノード装置１０の他の構成は、上述の第１の実施の形態と同様である。
【００７２】
２−２．  ブリッジの動作
図９は、パケットの入力元／パケットの複製を生成する要否に対するブリッジ５１の動作を示すフローチャートである。
本実施の形態では、機能拡張ボード５０内のブリッジ５１は、図９のフローチャートに従い、ブリッジ５１に入力されるパケットに対するハンドリング方法を決定する。
【００７３】
ブリッジ５１は、パケットが入力されると（ステップ７００）、パケットの入力元がパケット転送部３０或いは回線インタフェース６０−２であるか否か識別する（ステップ７０１、ステップ７０４）。パケットの入力元がパケットの入力元がパケット転送部３０或いは回線インタフェース６０−２の何れでもない場合、ステップ７０５に移る。なお、ステップ７０５〜７０７に関しては、上述の第１の実施の形態と同様である為、ここでは省略する。
【００７４】
一方、パケットの入力元がパケットの入力元がパケット転送部３０或いは回線インタフェース６０−２の何れかである場合、ブリッジ５１はパケットのコピーを生成する要否を判断する（ステップ７０２）。
【００７５】
パケットのコピーを生成する要否は、例えば、ノード装置１０の管理者が管理端末１５から予め設定する。コピーの生成要否情報は、信号線Ｌ７を介して装置制御用プロセッサ２１へ入力される。装置制御用プロセッサ２１は、生成要否情報を信号線Ｌ４と信号線Ｌ６とに出力する。信号線Ｌ４から生成要否情報を入力された拡張機能実行用プロセッサ５２は生成要否情報を記録する。また、信号線Ｌ６から生成要否情報を入力されたブリッジ５１も生成要否情報を記録する。尚、生成要否情報の設定は、管理者が任意のタイミングで変更可能とする。
【００７６】
パケットのコピーを生成する設定が為されている場合（ステップ７０２、Ｙｅｓ）、ブリッジ５１は、パケットのコピーを生成し（ステップ７０８）、コピーを信号線Ｌ５０１経由で拡張機能実行用プロセッサ５２に向けて出力する（ステップ７０９）。その後、ブリッジ５１は、パケットの入力元がパケット転送部３０であるか否かを判断する（ステップ７１０）。ステップ７１０の結果、ブリッジ５１は、パケットの入力元がパケット転送部３０である場合には（ステップ７１０、Ｙｅｓ）、パケットを回線インタフェース６０−２へ向けて出力する（ステップ７１１）。一方、ブリッジ５１は、パケットの入力元がパケット転送部３０ではない（すなわち、回線インタフェース６０−２である）場合には（ステップ７１０、Ｎｏ）、パケットをパケット転送部３０へ向けて出力する（ステップ７１２）。
ブリッジ５１にパケットのコピーを生成する設定が為されていない場合（ステップ７０２、Ｎｏ）、ブリッジ５１はパケットを信号線Ｌ５０１経由で拡張機能実行用プロセッサ５２に向けて出力する（ステップ７０３）。
【００７７】
以上の処理により、回線インタフェース６０−２から入力した第１のパケットがプロセッサ５２に転送され、及び、プロセッサ５２により拡張機能が実行され返信された第１のパケットがパケット転送部３０に転送される。また、パケット転送部３０から入力した第２のパケットは回線インタフェース６０−２に転送される。
【００７８】
２−３．  統計収集及びフィルタ更新処理
パケット統計収集を契機とするトラフィック傾向の分析には、パケット／コピーの統計情報から攻撃フローを検出する為に用いられる「時間当たりの閾値」が予め設定される。閾値は、例えば、管理者が管理端末１５から設定する。信号線Ｌ７から閾値を入力された装置制御用プロセッサ２１は、閾値を信号線Ｌ４に出力する。信号線Ｌ４から閾値を入力された拡張機能実行用プロセッサ５２は閾値を適宜のメモリに記録する。
【００７９】
上記を踏まえた上で、受信パケットへ対し、ノード装置１０におけるトラフィック分析に基づくパケットフィルタの更新に関して、以下説明する。
機能拡張ボード５０内の回線インタフェース６０−２は、外部ネットワークから送信されたパケット８００を受信すると、パケット８００を信号線Ｌ５０３に出力する。
【００８０】
信号線Ｌ５０３からパケット８００を入力されたブリッジ５１は、図９のフローチャートに従い、パケット８００のコピーを生成するか否かを判断する。コピーを生成する場合、ブリッジ５１は、生成したコピーを信号線Ｌ５０１に出力し、パケット８００を信号線Ｌ３へ出力する。また、コピーを生成しない場合、ブリッジ５１は、パケット８００を信号線Ｌ５０１に出力する。
【００８１】
図１７は、統計情報の収集のフローチャートである。
拡張機能実行用プロセッサ５２は、信号線Ｌ５０１からパケット８００／コピーを入力すると（ステップ１０１）、パケット８００／コピーが属するフロー毎の統計を収集する為、パケット８００／コピーのヘッダ８１０からパケットフローの識別に必要な検索キー（フロー検索キー）を生成する（ステップ１０３）。フロー検索キーは、例えば、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号を含む。拡張機能実行用プロセッサ５２は、上述したフロー統計テーブル５３０２を検索する際、フロー検索キーとパケットフロー毎の統計収集に必要な検索コマンド（フロー検索コマンド）とを信号線Ｌ５０２に出力する。
【００８２】
フロー統計テーブル５３０２は、パケット転送用データベース３２と同様の方法で検索される。フロー統計テーブル５３０２からパケットフローの統計値を検索結果として読み出せる場合（フロー検索キーに一致するエントリがある場合）、拡張機能実行用プロセッサ５２は、統計値を例えば１だけ増分し、１だけ増分した統計値を読み出したアドレスに書き戻す（ステップ１０５）。すなわち、受信パケット数を計測する。このとき、拡張機能実行用プロセッサ５２にコピーが入力される場合、拡張機能実行用プロセッサ５２は統計情報が収集されたコピーを廃棄する。また、拡張機能実行用プロセッサ５２にパケット８００が入力される場合、拡張機能実行用プロセッサ５２は統計情報が収集されたパケット８００を信号線Ｌ５０１に出力する。信号線Ｌ５０１からパケット８００を入力されたブリッジは、図９のフローチャートに従い、パケット８００を信号線Ｌ３に出力する。信号線Ｌ３からパケット８００を入力されたパケット転送用プロセッサ３１におけるハンドリングに関しては、上述の第１の実施の形態と同様である為、ここでは省略する。
【００８３】
パケット８０／コピーのフロー情報とフローに対応する統計情報とがフロー統計テーブル５３０２に設定されていない場合、フロー統計テーブル５３０２検索の際、統計情報は示されない。このとき、拡張機能実行用プロセッサ５２は、フローに対応する初期化済み統計情報（例えば０）を割り当てた後、フローと初期化済み統計情報とをフロー統計テーブル５３０２に設定する。
【００８４】
図１８は、パケットフィルタ更新の処理のフローチャートである。
拡張機能実行用プロセッサ５２は、例えば一定時間毎にフロー統計テーブル５３０２を検査（ポーリング）する（ステップ１１１）。ポーリングの結果、或るフローの統計情報が設定された閾値を越える場合（ステップ１１３、Ｙｅｓ）、拡張機能実行用プロセッサ５２は、そのフロー情報のパケットを外部ネットワークからの攻撃と判断する。この後、拡張機能実行用プロセッサ５２は、そのフローが攻撃フローであることを示す情報（フィルタ情報）を生成し（ステップ１１５）、フィルタ情報（攻撃情報）を信号線Ｌ４を介して装置制御用プロセッサ２１に出力する（ステップ１１７）。フィルタ情報は、例えば、閾値を超えた統計情報に対応する送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号を含む。なお、拡張機能実行用プロセッサ５２は、一定時間毎に、フロー統計テーブル５３０２の統計情報をリセットしても良い。
【００８５】
装置制御用プロセッサ２１は、パケットフィルタを更新する（ステップ１１９）。具体的には、信号線Ｌ４からフィルタ情報を入力された装置制御用プロセッサ２１は、装置制御用メモリ２２にアクセスして、パケットフィルタ３３の空きアドレスを調査する。この後、装置制御用プロセッサ２１は、フィルタ情報に基づいてパケットフィルタ３３の更新に必要なフィルタフローとパケットフィルタ更新を要求する信号（フィルタ更新要求）とを生成し、フィルタフローとフィルタ更新要求とを信号線Ｌ１に出力する。なお、フィルタフローは、例えば、送信元ＩＰアドレス、宛先ＩＰアドレス、送信元ポート番号、宛先ポート番号を含む。また、フィルタ更新要求は空きアドレスを含む。
【００８６】
信号線Ｌ１からフィルタフローとフィルタ更新要求とを入力されたパケット転送用プロセッサ３１は、フィルタフローとパケットフィルタ３３への書き込みに必要なコマンドとを生成し、信号線Ｌ３０２へ出力する。例えば、パケットフィルタ３３において、入力されたフィルタフローに対応するポリシー情報が「パケット廃棄」に書き換えられる。なお、装置制御用プロセッサ２１がパケットフィルタ３３を更新する以外にも、拡張機能実行用プロセッサ５２が直接パケットフィルタ３３を更新してもよい。
本実施の形態により、受信パケットへのトラフィック分析に基づくパケットフィルタ３３の更新が実現可能になる。
【００８７】
３．第３の実施の形態
３−１．  システム構成
本実施の形態では、ノードの拡張機能として、拡張機能実行用プロセッサ５２が装置制御用プロセッサ２１の代わりに応答すること（代理応答）について述べる。本実施の形態では、代理応答として、内部ネットワークに属する端末が外部のネットワークと通信する際、端末から送信されるパケットが通過する「ゲートウェイ（複数の異なるネットワークを接続するネットワーク装置）」のＭＡＣアドレスを得るために必要なＡＲＰ（Ａｄｄｒｅｓｓ  Ｒｅｓｏｌｕｔｉｏｎ  Ｐｒｏｔｏｃｏｌ）ついて述べる。
【００８８】
図１１は、本実施の形態における接続状態の例である。
本実施の形態では、図１１に示すように、機能拡張ボード５０を内部ネットワークに接続し、回線収容ボード４０を外部ネットワークに接続する。尚、本実施の形態で用いるＩＰアドレスは、内部ネットワーク、外部ネットワークともにグローバルＩＰアドレスとするものとして説明する。なお、例えば、回線収容ボード４０を第１の実施の形態の機能拡張ボード５０としてＮＡＴ処理を実行するようにして、内部ネットワークではプライベートアドレスを用いてもよい。なお、図１１では、回線収容ボード４０、機能拡張ボード５０以外の構成については省略している。
【００８９】
図１６は、後段処理情報テーブル５３０３の構成図である。
本実施の形態の拡張機能用メモリ５３には、拡張機能実行用プロセッサ５２へ入力されたパケット８００に適用すべき後段処理の決定に必要な後段処理情報テーブル５３０３を記憶する。図１６に例示される後段処理情報テーブル５３０３は、機能拡張ボード５０で受信されるパケット８００のＬ２ヘッダ成分（例えば、宛先ＭＡＣアドレス）およびペイロード８５０の成分（例えば、装置ＩＰアドレス）と、パケット８００に適用すべき後段処理情報（例えば、装置ＭＡＣアドレス）とを含む。なお、ノード装置１０の他の構成は、上述の第１の実施の形態と同様である。
【００９０】
パケット８００の送信元端末は、パケット８００を外部ネットワーク装置に向けて送信する際、ノード装置１０の装置ＭＡＣアドレスを知っておく必要がある。送信元端末は、ノード装置１０の装置ＭＡＣアドレスを取得する為、ＭＡＣアドレスの取得申請（ＡＲＰ要求）パケットを送信する。このとき、送信元端末は、ＡＲＰ要求パケットの宛先ＭＡＣアドレス８２２に格納する情報として、ＡＲＰ要求パケットを内部ネットワークの全ネットワーク装置に向けて送信する為のブロードキャストアドレスを用いる。ここで、ＡＲＰ要求パケットのペイロード８５０には、上述したゲートウェイを担うノード装置１０の装置ＩＰアドレスが用いられる。また、タイプ８２１には、ＡＲＰ要求を示すコードが記述される。
【００９１】
ＡＲＰ要求パケットを受信したノード装置１０は、ＡＲＰ要求パケットに記載の装置ＩＰアドレスと対応付けられる装置ＭＡＣアドレスを送信元端末へ通知する。この通知をＡＲＰ応答と呼ぶ。ＡＲＰ応答を示すパケットのタイプ８２１には、ＡＲＰ応答を示すコードが記述される。
【００９２】
ＡＲＰ応答パケットを受信した送信元端末は、ゲートウェイのＭＡＣアドレスとして、ノード装置１０の装置ＭＡＣアドレスを登録する。その後、送信元端末は、パケット８００を外部ネットワーク装置に向けて送信する際、宛先ＭＡＣアドレスにノード装置１０の装置ＭＡＣアドレスを用いる。
【００９３】
上述した代理応答の要否は、例えば、ノード装置１０の管理者が管理端末１５を用いて予め設定する。代理応答要否情報は、信号線Ｌ７を介して装置制御用プロセッサ２１へ入力される。装置制御用プロセッサ２１は、代理応答要否情報を信号線Ｌ６に出力する。また、装置制御用プロセッサ２１は、上述したゲートウェイのＩＰアドレスに対応する装置ＭＡＣアドレスと、代理応答要否情報とを信号線Ｌ４に出力する。信号線Ｌ４から代理応答要否情報と装置ＭＡＣアドレスとを入力された拡張機能実行用プロセッサ５２は、入力情報に基づいて後段処理情報テーブル５３０３を更新する。また、信号線Ｌ６から代理応答要否情報を入力されたブリッジ５１は代理応答要否情報を記録する。尚、代理応答要否情報の設定は、管理者が任意のタイミングで変更可能とする。
【００９４】
３−２．  ブリッジの動作
図１０は、応答が必要なパケット／応答パケットに対するブリッジ５１の動作を示すフローチャートである。機能拡張ボード５０において代理応答を実行する設定が為されている場合、機能拡張ボード５０のブリッジ５１は、図１０のフローチャートに従い、ブリッジ５１へ入力されるパケットに対するハンドリング方法を決定する。
【００９５】
ブリッジ５１は、パケットが入力されると（ステップ７００）、パケットの入力元がパケット転送部３０或いは回線インタフェース６０−２であるか否かを識別する（ステップ７０１及びステップ７０４）。パケットの入力元がパケット転送部３０である場合（ステップ７０１、Ｙｅｓ）、ブリッジ５１はパケットを信号線Ｌ５０３経由で回線インタフェース６０−２へ向けて出力する（ステップ７０６）。また、パケットの入力元が回線インタフェース６０−２である場合（ステップ７０４、Ｙｅｓ）、ブリッジ５１は、パケットを信号線Ｌ５０１経由で拡張機能実行用プロセッサ５２へ向けて出力する（ステップ７０３）。
【００９６】
一方、パケットの入力元が、パケット転送部３０或いは回線インタフェース６０−２のいずれでもない（すなわち拡張機能実行用プロセッサ５２である）場合（ステップ７０１及び７０４のいずれもＮｏ）、ブリッジ５１は、パケットに付加される出力先情報９１０に記載の送信指示情報を識別する（ステップ７１３）。ここで、出力先情報９１０は、拡張機能実行用プロセッサ５２で付加される。なお、詳細は後述する。このとき、ブリッジ５１は、送信指示情報に基づき、内部ネットワークへの送信指示である場合は上述のステップ７０６を実行し、出力先情報が内部ネットワークへの送信指示でない場合は上述したステップ７０７を実行する。ステップ７０７では、ブリッジ５１は、パケットをパケット転送部に向けて出力する。なお、拡張機能実行用プロセッサ５２は、ステップ７０６或いはステップ７０７を実行する際、パケットに付加された出力先情報９１０を廃棄する。
【００９７】
機能拡張ボード５０において代理応答を実行する設定が為されていない場合、ブリッジ５１は、信号線Ｌ５０３から入力されたパケットをＬ３に出力し、信号線Ｌ３から入力されたパケットをＬ５０３に出力する。
【００９８】
以上の処理により、回線インタフェース６０−２から入力したパケットがプロセッサ５２に転送され、及び、プロセッサ５２により拡張機能が実行され返信されたパケットが回線インタフェース６０−２に転送される。
【００９９】
３−３．  代理応答処理
上記のことを踏まえた上で、ノードの拡張機能処理として、拡張機能実行用プロセッサ５２による代理応答に関して、以下説明する。
ノード装置１０−１の機能拡張ボード５０において、回線インタフェース６０−２は、内部ネットワークに属する端末から送信されたＡＲＰ要求パケットを受信すると、ＡＲＰ要求パケットを信号線Ｌ５０３に出力する。ＡＲＰ要求パケットは、上述の通り、宛先アドレスとしてのブロードキャストアドレスと、ノード装置１０のＩＰアドレスと、ＡＲＰ要求を示すコードとを含む。
【０１００】
信号線Ｌ５０３からＡＲＰ要求パケットを入力されたブリッジ５１は、図１０のフローチャートに従い、ＡＲＰ要求パケットを信号線Ｌ５０１に出力する。信号線Ｌ５０１からＡＲＰ要求パケットを入力された拡張機能実行用プロセッサ５２は、ＡＲＰ要求に対する代理応答処理を実行する。
【０１０１】
例えば、拡張機能実行用プロセッサ５２は、ＡＲＰ要求パケットに適用すべき後段処理を決定する為、ＡＲＰ要求パケットのＬ２ヘッダ８２０（例えば宛先アドレス）と、ペイロード８５０内に含まれるノード装置１０のＩＰアドレスとを含む、後段処理の取得に必要な検索キー（後段処理検索キー）を生成し、上述した後段処理情報テーブル５３０３を検索する。例えば、拡張機能実行用プロセッサ５２は、後段処理情報テーブル５３０３を検索する際、後段処理検索キーとＡＲＰ要求パケットに適用すべき後段処理の検索に必要な検索コマンド（後段処理検索コマンド）とを信号線Ｌ５０２へ出力する。
【０１０２】
後段処理検索キーに一致するエントリがあることにより、後段処理情報テーブル５３０３からノード装置１０の装置ＭＡＣアドレスを検索結果として得られる場合、拡張機能実行用プロセッサ５２は、ＡＲＰ要求パケットに対する応答としてＡＲＰ応答パケットを生成する。ここでは、検索結果として得られた装置ＭＡＣアドレスをペイロード８５０に格納する。また、タイプ８２１にはＡＲＰ応答を示すコードが記述される。このとき、拡張機能実行用プロセッサ５２は、ＡＲＰ要求パケットを廃棄する。また、拡張機能実行用プロセッサ５２は、ＡＲＰ応答パケットに付加する出力先情報９１０を生成する。例えば、出力先情報９１０には、ＡＲＰ応答パケットを内部ネットワークに向けて送信すべき旨を記載する。例えば、ＡＲＰ要求に含まれる送信元アドレス（端末のアドレス）を記載しても良い。この後、拡張機能実行用プロセッサ５２は、出力先情報９１０が付加されたＡＲＰ応答パケットを信号線Ｌ５０１に出力する。信号線Ｌ５０１から出力先情報が付加されたＡＲＰ応答パケットが入力されたブリッジ５１は、出力先情報９１０の記載内容に基づき、ＡＲＰ応答パケットを信号線Ｌ５０３に出力する（上述のステップ７０６に相当）。このとき、ブリッジ５１は、上述したように、出力先情報９１０を廃棄する。なお、代理応答処理は、上述の例以外にも適宜の手段を用いても良い。
【０１０３】
一方、後段処理検索キーに一致するエントリがないことにより、後段処理情報テーブル５３０３からノード装置１０の装置ＭＡＣアドレスを検索結果として得られない場合、拡張機能実行用プロセッサ５２は、ＡＲＰ要求パケットに付加する出力先情報９１０を生成する。ここでは、出力先情報９１０には、ＡＲＰ要求パケットをパケット転送部３０に向けて送信すべき旨を記載する。この後、拡張機能実行用プロセッサ５２は、出力先情報９１０が付加されたＡＲＰ要求パケットを信号線Ｌ５０１に出力する。信号線Ｌ５０１から出力先情報が付加されたＡＲＰ要求パケットを入力されたブリッジ５１は、出力先情報９１０の記載内容に基づき、ＡＲＰ要求パケットを信号線Ｌ３に出力する（上述のステップ７０６に相当）。このとき、ブリッジ５１は、上述したように、出力先情報９１０を廃棄する。尚、信号線Ｌ３からＡＲＰ要求パケットを入力されたパケット転送用プロセッサ３１は、ＡＲＰ要求パケットを信号線Ｌ５経由で装置制御用プロセッサ２１に向けて出力しても良い。
【０１０４】
本実施の形態により、機能拡張ボードにおいてＡＲＰ要求パケット等の制御パケットがハンドリング可能となり、装置制御部２０の急激な負荷率変動を抑制できる。即ち、ノード装置１０の安定動作が見込まれ、ネットワークの高信頼化が期待できる。
【０１０５】
本実施の形態では特に触れなかったが、入力パケットに対する応答は、ＡＲＰ応答だけに拘らず、認証等を要求するユーザのパケット（セッション要求）への応答（セッション応答）に適用しても良い。尚、セッション応答の一例として、ユーザの端末に対するグローバルＩＰアドレスの払い出しが挙げられる。
【０１０６】
４．付記
以上の説明から明らかなように、本発明によれば、ネットワークノードの拡張機能として実現する機能により、ブリッジ・プロセッサ・メモリの機能を再構成可能な機能拡張ボードを提供できる。
【０１０７】
上述のようなノードの構成によれば、例えば、ＮＡＴ、統計の基づくパケットフィルタの更新、代理応答等の所望の拡張機能を同じ構成で実現できる。また、装置制御部により拡張機能に応じて、必要な情報、処理プログラム、ブリッジの動作を機能拡張ボードに、設定できる。また、拡張機能に応じて、必要な情報、処理プログラム、ブリッジの動作があらかじめ機能拡張ボードに設定され、これらのボードを脱着することで、所望の拡張機能を有するネットワークノードを構成できる。
【産業上の利用可能性】
【０１０８】
本発明は、拡張機能を実行可能な回線収容ボードを用いるネットワークノードへ適用可能である。
【図面の簡単な説明】
【０１０９】
【図１】ノード装置１０の構成図。
【図２】機能拡張ボード５０の構成図。
【図３】装置制御部２０の構成図。
【図４】パケット転送部３０の構成図。
【図５】回線収容ボード４０の構成図。
【図６】加工が必要なパケット／加工済パケットに対するブリッジ５１の動作を示すフローチャート。
【図７】ネットワークを伝送する可変長パケットのフォーマットの例を示す説明図。
【図８】機能拡張ボード５０が外部ネットワークに接続される回線を収容し、回線収容ボード４０が内部ネットワークに接続される回線を収容する状態を示す説明図。
【図９】パケットの入力元／パケットの複製を生成する要否に対するブリッジ５１の動作を示すフローチャート。
【図１０】応答が必要なパケット／応答パケットに対するブリッジ５１の動作を示すフローチャート。
【図１１】機能拡張ボード５０が内部ネットワークに接続される回線を収容し、回線収容ボード４０が外部ネットワークに接続される回線を収容する状態を示す説明図。
【図１２】パケット転送用データベース３２の構成図。
【図１３】パケットフィルタ３３の構成図。
【図１４】アドレス変換テーブル５３０１の構成図。
【図１５】フロー統計テーブル５３０２の構成図。
【図１６】後段処理情報テーブル５３０３の構成図。
【図１７】統計情報の収集のフローチャート。
【図１８】パケットフィルタ更新の処理のフローチャート。
【図１９】転送データベースのリソース抑制の説明図（１）。
【図２０】転送データベースのリソース抑制の説明図（２）。
【符号の説明】
【０１１０】
１０  ノード装置
１５  管理端末
２０  装置制御部
２１  装置制御プロセッサ
２２  装置制御用メモリ
３０  パケット転送部
３１  パケット転送用プロセッサ
３２  パケット転送用データベース
３３  パケットフィルタ
４０  回線収容ボード
５０  機能拡張ボード
５１  ブリッジ
５２  拡張機能実行用プロセッサ
５３  拡張機能用メモリ
５３０１  アドレス変換テーブル
５３０２  フロー統計テーブル
５３０３  後段処理情報テーブル
６０  回線インタフェース
８００  パケット
９００  出力先情報付パケット
【図１】
2008060763.tif 000003
【図２】
2008060763.tif 000004
【図３】
2008060763.tif 000005
【図４】
2008060763.tif 000006
【図５】
2008060763.tif 000007
【図６】
2008060763.tif 000008
【図７】
2008060763.tif 000009
【図８】
2008060763.tif 000010
【図９】
2008060763.tif 000011
【図１０】
2008060763.tif 000012
【図１１】
2008060763.tif 000013
【図１２】
2008060763.tif 000014
【図１３】
2008060763.tif 000015
【図１４】
2008060763.tif 000016
【図１５】
2008060763.tif 000017
【図１６】
2008060763.tif 000018
【図１７】
2008060763.tif 000019
【図１８】
2008060763.tif 000020
【図１９】
2008060763.tif 000021
【図２０】
2008060763.tif 000022