(57)【特許請求の範囲】
【請求項１】
パケットを中継するパケット中継装置において、
複数のネットワーク処理部と、
該複数のネットワーク処理部を相互に接続するスイッチ部とを備え、
前記複数のネットワーク処理部が、それぞれ、
外部ネットワークからパケットを受信したとき、該パケットの属するセッションに対して定められている出力先のIF部が他のネットワーク処理部に存在することを条件にして、前記パケットと前記IF部を特定するIF特定情報とを前記スイッチ部に入力し、
前記スイッチ部が、
入力されたパケットとIF特定情報とを、該IF特定情報によって特定されるIF部を備えたネットワーク処理部に転送する構成を有し、
前記複数のネットワーク処理部が、それぞれ、
セッションを特定するセッション特定情報に対応付けて、そのセッションに属するパケットの出力先とするIF部のIF特定情報が登録されたセッションテーブルと、
前記外部ネットワークからパケットを受信したとき、該パケットの出力先にするIF部のIF特定情報を前記セッションテーブルから検索するセッション管理部と、
該セッション管理部が前記セッションテーブルから検索した前記パケットの出力先にするIF部のIF特定情報が、他のネットワーク処理部に存在するIF部を示している場合は、前記パケットと前記IF特定情報とを前記スイッチ部に入力し、前記スイッチ部を介して他のネットワーク処理部からパケットとIF特定情報とが送られてきた場合は、前記パケットを前記IF特定情報によって特定されるIF部に出力するパケット処理部とを備え、
前記各ネットワーク処理部が、それぞれ、
パケットの宛先IPアドレスに対応付けて、パケットの出力先にするIF部のIF特定情報が登録されたルーティングテーブルを備え、且つ、
前記セッション管理部が、
前記セッションテーブルから前記パケットの出力先にするIF部のIF特定情報を検索できなかった場合は、前記ルーティングテーブルから前記パケットの出力先にするIF部のIF特定情報を検索し、
前記パケット処理部が、
前記セッション管理部によって前記ルーティングテーブルから検索された前記パケットの出力先にするIF部のIF特定情報が、他のネットワーク処理部に存在するIF部を示している場合は、前記パケット、前記IF特定情報および前記パケットを受信したIF部のIF特定情報を含む追加指示を前記スイッチ部に入力する構成を有し、
前記スイッチ部が、
入力されたパケット、IF特定情報および追加指示を、前記IF特定情報によって特定されるIF部を備えたネットワーク処理部に転送する構成を有することを特徴とするパケット中継装置。
【請求項２】
請求項１に記載のパケット中継装置において、
前記セッション管理部が、
前記ルーティングテーブルから検索したIF特定情報と前記パケットが属するセッションのセッション特定情報とを対応付けて前記セッションテーブルに登録する構成を有することを特徴とするパケット中継装置。
【請求項３】
請求項１又は請求項２に記載のパケット中継装置において、
前記セッション管理部が、
前記スイッチ部を介してパケット、IF特定情報および追加指示が送られてきた場合は、前記セッションテーブルに、前記追加指示に含まれているIF特定情報を出力先のIF部を示すIF特定情報として登録すると共に、該IF特定情報に対応付けて前記パケットが属するセッションのセッション特定情報を登録する構成を有することを特徴とするパケット中継装置。
【請求項４】
請求項１から請求項３の何れかに記載のパケット中継装置において、
前記複数のネットワーク処理部が、それぞれ、
セッションを特定するセッション特定情報に対応付けて、そのセッションのポリシーが登録されたポリシーテーブルを備え、且つ、
前記セッション管理部が、
前記セッションテーブルから前記パケットの出力先にするIF部のIF特定情報を検索できなかった場合は、前記ポリシーテーブルに登録されている前記パケットが属するセッションのポリシーがパケット通過となっていることを条件にして、前記ルーティングテーブルから前記パケットの出力先にするIF部のIF特定情報を検索し、該検索したIF特定情報と前記パケットが属するセッションのセッション特定情報とを対応付けて前記セッションテーブルに登録し、前記スイッチ部を介してパケット、IF特定情報および追加指示が送られてきた場合は、前記セッションテーブルに、前記追加指示に含まれているIF特定情報を出力先のIF部を示すIF特定情報として登録すると共に、該IF特定情報に対応付けて前記パケットが属するセッションのセッション特定情報を登録する構成を有することを特徴とするパケット中継装置。
【請求項５】
請求項１から請求項３の何れかに記載のパケット中継装置において、
前記セッション管理部が、
前記外部ネットワークからセッションを終了させるパケットを受信したとき、前記セッションテーブルから前記パケットが属するセッションに関する情報を削除し、前記スイッチ部を介してパケット、IF特定情報および削除指示が入力されたとき、前記セッションテーブルから前記パケットが属するセッションに関する情報を削除する構成を有し、
前記パケット処理部が、
前記セッションを終了させるパケットの出力先とするIF部が他のネットワーク処理装置に存在する場合は、前記パケット、前記パケットの出力先とするIF部のIF特定情報および削除指示を前記スイッチ部に入力する構成を有することを特徴とするパケット中継装置。
【請求項６】
請求項１から請求項３の何れかに記載のパケット中継装置において、
前記セッション管理部が、
前記セッションテーブルに、セッション特定情報とIF特定情報との対を登録する際、予め定められているタイムアウト値も併せて登録する構成を有すると共に、所定時間毎にセッションテーブルに登録されている各タイムアウト値を一定値ずつ減算し、減算後のタイムアウト値が所定値以下となったエントリを削除する構成を有することを特徴とするパケット中継装置。
【請求項７】
パケットを中継するパケット中継装置において、
複数のネットワーク処理部と、
該複数のネットワーク処理部を相互に接続するスイッチ部とを備え、
前記複数のネットワーク処理部が、それぞれ、
外部ネットワークからパケットを受信したとき、該パケットの属するセッションに対して定められている出力先のIF部が他のネットワーク処理部に存在することを条件にして、前記パケットと前記IF部を特定するIF特定情報とを前記スイッチ部に入力し、
前記スイッチ部が、
入力されたパケットとIF特定情報とを、該IF特定情報によって特定されるIF部を備えたネットワーク処理部に転送する構成を有し、
前記複数のネットワーク処理部が、それぞれ、
セッションを特定するセッション特定情報に対応付けて、そのセッションに属するパケットの出力先とするIF部のIF特定情報が登録されたセッションテーブルと、
前記外部ネットワークからパケットを受信したとき、該パケットの出力先にするIF部のIF特定情報を前記セッションテーブルから検索するセッション管理部と、
該セッション管理部が前記セッションテーブルから検索した前記パケットの出力先にするIF部のIF特定情報が、他のネットワーク処理部に存在するIF部を示している場合は、前記パケットと前記IF特定情報とを前記スイッチ部に入力し、前記スイッチ部を介して他のネットワーク処理部からパケットとIF特定情報とが送られてきた場合は、前記パケットを前記IF特定情報によって特定されるIF部に出力するパケット処理部とを備え、
前記複数のネットワーク処理部が、それぞれ、
パケットの宛先IPアドレスに対応付けて、パケットの出力先にするIF部のIF特定情報が登録されたルーティングテーブルと、
パケットの送信元IPアドレス及び宛先IPアドレスに対応付けて、フラグメントオフセット及びパケットの出力先にするIF部のIF特定情報が登録されたエントリを有するIPフラグメンテーションテーブルとを備え、且つ、
前記セッション管理部が、
外部ネットワークを介してフラグメントIPパケットを受信したとき、前記IPフラグメンテーションテーブルに、前記フラグメントIPパケットの送信元IPアドレス、宛先IPアドレス及びフラグメントオフセットと同一の送信元IPアドレス、宛先IPアドレス及びフラグメントオフセットが登録されているエントリが存在する場合、前記エントリ中のIF特定情報を取得すると共に、前記フラグメントIPパケットのパケット長に基づいて、前記エントリ中のフラグメントオフセットを更新する構成を有することを特徴とするパケット中継装置。
【請求項８】
請求項７に記載のパケット中継装置において、
前記セッション管理部が、
前記IPフラグメンテーションテーブルに、前記エントリが存在しない場合は、前記セッションテーブル或いは前記ルーティングテーブルから前記フラグメントIPパケットの出力先にするIF部のIF特定情報を検索し、該検索したIF特定情報と、前記フラグメントIPパケット中の送信元IPアドレス、宛先IPアドレス、フラグメントオフセットとを含むエントリを追加登録する構成を有することを特徴とするパケット中継装置。
【請求項９】
請求項１から請求項８の何れかに記載のパケット中継装置において、
前記各ネットワーク処理部が、前記スイッチ部を介してパケットとIF特定情報とを受信したとき、前記パケットを前記IF特定情報によって特定されるIF部に出力する構成を有することを特徴とするパケット中継装置。
【請求項１０】
複数のネットワーク処理部を備えたパケット中継装置におけるパケット中継方法であって、
該複数のネットワーク処理部が、それぞれ、
外部ネットワークからパケットを受信したとき、該パケットの属するセッションに対して定められている出力先のIF部が他のネットワーク処理部に存在することを条件にして、前記パケットと前記IF部を特定するIF特定情報とを、該IF特定情報によって特定されるIF部を備えた他のネットワーク処理部に転送し、
前記外部ネットワークからパケットを受信したとき、該パケットの出力先にするIF部のIF特定情報を、セッションを特定するセッション特定情報に対応付けて、そのセッションに属するパケットの出力先とするIF部のIF特定情報が登録されたセッションテーブルから検索し、
前記セッションテーブルから検索した前記パケットの出力先にするIF部のIF特定情報が、他のネットワーク処理部に存在するIF部を示している場合は、前記パケットと前記IF特定情報とを前記他のネットワーク処理部に送信し、前記他のネットワーク処理部からパケットとIF特定情報とが送られてきた場合は、前記パケットを前記IF特定情報によって特定されるIF部に出力し、
前記セッションテーブルから前記パケットの出力先にするIF部のIF特定情報を検索できなかった場合は、パケットの宛先IPアドレスに対応付けて、パケットの出力先にするIF部のIF特定情報が登録されたルーティングテーブルから前記パケットの出力先にするIF部のIF特定情報を検索し、
前記ルーティングテーブルから検索された前記パケットの出力先にするIF部のIF特定情報が、他のネットワーク処理部に存在するIF部を示している場合は、前記パケット、前記IF特定情報および前記パケットを受信したIF部のIF特定情報を含む追加指示を、前記IF特定情報によって特定されるIF部を備えたネットワーク処理部に送信することを特徴とするパケット中継方法。
【請求項１１】
コンピュータを、複数のネットワーク処理部を備えたパケット中継装置の構成要素であるネットワーク処理部として機能させるためのプログラムであって、
前記コンピュータを、
外部ネットワークからパケットを受信したとき、該パケットの属するセッションに対して定められている出力先のIF部が他のネットワーク処理部に存在することを条件にして、前記パケットと前記IF部を特定するIF特定情報とを、該IF特定情報によって特定されるIF部を備えた他のネットワーク処理部に転送し、
前記外部ネットワークからパケットを受信したとき、該パケットの出力先にするIF部のIF特定情報を、セッションを特定するセッション特定情報に対応付けて、そのセッションに属するパケットの出力先とするIF部のIF特定情報が登録されたセッションテーブルから検索し、
前記セッションテーブルから検索した前記パケットの出力先にするIF部のIF特定情報が、他のネットワーク処理部に存在するIF部を示している場合は、前記パケットと前記IF特定情報とを前記他のネットワーク処理部に送信し、前記他のネットワーク処理部からパケットとIF特定情報とが送られてきた場合は、前記パケットを前記IF特定情報によって特定されるIF部に出力し、
前記セッションテーブルから前記パケットの出力先にするIF部のIF特定情報を検索できなかった場合は、パケットの宛先IPアドレスに対応付けて、パケットの出力先にするIF部のIF特定情報が登録されたルーティングテーブルから前記パケットの出力先にするIF部のIF特定情報を検索し、
前記ルーティングテーブルから検索された前記パケットの出力先にするIF部のIF特定情報が、他のネットワーク処理部に存在するIF部を示している場合は、前記パケット、前記IF特定情報および前記パケットを受信したIF部のIF特定情報を含む追加指示を、前記IF特定情報によって特定されるIF部を備えたネットワーク処理部に送信する手段として機能させるためのプログラム。
【請求項１２】
複数のネットワーク処理部を備えたパケット中継装置におけるパケット中継方法であって、
複数のネットワーク処理部が、それぞれ、
外部ネットワークからパケットを受信したとき、該パケットの属するセッションに対して定められている出力先のIF部が他のネットワーク処理部に存在することを条件にして、前記パケットと前記IF部を特定するIF特定情報とを、該IF特定情報によって特定されるIF部を備えたネットワーク処理部に転送し、
前記外部ネットワークからパケットを受信したとき、該パケットの出力先にするIF部のIF特定情報を、セッションを特定するセッション特定情報に対応付けて、そのセッションに属するパケットの出力先とするIF部のIF特定情報が登録されたセッションテーブルから検索し、
前記セッションテーブルから検索した前記パケットの出力先にするIF部のIF特定情報が、他のネットワーク処理部に存在するIF部を示している場合は、前記パケットと前記IF特定情報とを前記他のネットワーク処理部に送信し、前記他のネットワーク処理部からパケットとIF特定情報とが送られてきた場合は、前記パケットを前記IF特定情報によって特定されるIF部に出力し、
外部ネットワークを介してフラグメントIPパケットを受信したとき、  パケットの送信元IPアドレス及び宛先IPアドレスに対応付けて、フラグメントオフセット及びパケットの出力先にするIF部のIF特定情報が登録されたエントリを有するIPフラグメンテーションテーブルに、前記フラグメントIPパケットの送信元IPアドレス、宛先IPアドレス及びフラグメントオフセットと同一の送信元IPアドレス、宛先IPアドレス及びフラグメントオフセットが登録されているエントリが存在する場合、前記エントリ中のIF特定情報を取得すると共に、前記フラグメントIPパケットのパケット長に基づいて、前記エントリ中のフラグメントオフセットを更新することを特徴とするパケット中継方法。
【請求項１３】
コンピュータを、複数のネットワーク処理部を備えたパケット中継装置の構成要素であるネットワーク処理部として機能させるためのプログラムであって、
前記コンピュータを、
外部ネットワークからパケットを受信したとき、該パケットの属するセッションに対して定められている出力先のIF部が他のネットワーク処理部に存在することを条件にして、前記パケットと前記IF部を特定するIF特定情報とを、該IF特定情報によって特定されるIF部を備えたネットワーク処理部に転送し、
前記外部ネットワークからパケットを受信したとき、該パケットの出力先にするIF部のIF特定情報を、セッションを特定するセッション特定情報に対応付けて、そのセッションに属するパケットの出力先とするIF部のIF特定情報が登録されたセッションテーブルから検索し、
前記セッションテーブルから検索した前記パケットの出力先にするIF部のIF特定情報が、他のネットワーク処理部に存在するIF部を示している場合は、前記パケットと前記IF特定情報とを前記他のネットワーク処理部に送信し、前記他のネットワーク処理部からパケットとIF特定情報とが送られてきた場合は、前記パケットを前記IF特定情報によって特定されるIF部に出力し、
外部ネットワークを介してフラグメントIPパケットを受信したとき、  パケットの送信元IPアドレス及び宛先IPアドレスに対応付けて、フラグメントオフセット及びパケットの出力先にするIF部のIF特定情報が登録されたエントリを有するIPフラグメンテーションテーブルに、前記フラグメントIPパケットの送信元IPアドレス、宛先IPアドレス及びフラグメントオフセットと同一の送信元IPアドレス、宛先IPアドレス及びフラグメントオフセットが登録されているエントリが存在する場合、前記エントリ中のIF特定情報を取得すると共に、前記フラグメントIPパケットのパケット長に基づいて、前記エントリ中のフラグメントオフセットを更新する手段として機能させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】  本発明は、セッション管理を必要とするパケット中継装置に関する。
【背景技術】
【０００２】  現在WebやE-mail、携帯電話、E-commerce等によりインターネットが急速に拡大している。またVoiceover IP (VoIP)、Extensible Markup Language (XML)によるWebサービス等の新しいサービスが伸長してきている。それに伴いネットワークの高速化及びセキュリティ等の高機能の要望が高まっている。中でもTCPセッションや、Webトラヒック、VoIPトラヒックに代表される、送信元と宛先の組によって識別できる一連のトラヒックフローを「セッション」とみなして、セッション毎の通過可否判定、QoS(Quality of Service)制御、優先制御の実現が望まれている。【０００３】  TCPセッションとは、TCP／IPパケットにおいて「送信元IPアドレス」、「宛先IPアドレス」、「プロトコル」、「送信元ポート番号」、「宛先ポート番号」で特定されるパケットトラヒックフローである。TCPセッションでは、TCPヘッダ内のSYNフラグがセットされたパケット（SYNパケットと呼ぶ）の送信を契機にセッションが開始（オープン）され、FINフラグがセットされたパケット(FINパケット)の送信を契機にセッションが終了（クローズ）される。【０００４】  図１９にTCPの場合のセッション開始から終了までの状態遷移の一例を示す。クライアントとサーバ間のTCP通信の場合、まずクライアントからSYNパケットを送信する。サーバはSYNパケット受信後、SYNACKパケットを送信し、これに応答してクライアントがACKパケットを送信する。ここまでの処理によってクライアントとサーバ間でTCPのセッションが確立(Establish)する。以後、クライアントとサーバは相互にパケットの送受信を行う。セッションを終了する場合、例えばクライアントからセッション終了する場合は、クライアントからFINパケットを送信し、サーバがFINパケット受信後、ACKパケット及びFINパケットを送信し、これに応答してクライアントがACKパケットを送信する。以上でセッションが終了(Closed)する。【０００５】  UDPにおいても「送信元IPアドレス」、「宛先IPアドレス」、「プロトコル」、「送信元ポート番号」、「宛先ポート番号」にてパケットトラヒックフローを特定することが可能である。これを擬似セッションと呼ぶ。TCPと異なり、UDPにはSYN，FINフラグがパケット内に定義されていないため、明示的なセッションの開始と終了が規定されない。そこでUDPの擬似セッションでは、パケット到着をセッション開始として、タイマーによって一定時間該当するUDPパケットが到着しないことを検知して、セッション終了と判定することが一般に行われている。またVoIPにおいては、SessionInitiate Protocol (SIP)によってUDPの擬似セッションの開始と終了が明示的に通知される。【０００６】  更に、Webの通信プロトコルであるhttp，httpsでは、クライアント側であるWebブラウザとサーバ側であるWebサーバとの間で、UniformResource Locator (URL)やCookieによるセッション同定機能が存在する。クライアントとサーバ間の通信で、送信元ポートと宛先ポートの組が異なるパケットでも、同位置のURLやCookieを有していることをもって同一セッションに属したトラヒックと判定する。これらもUDP擬似セッションと同様に、パケット到着と、タイマーによるタイムアウトないしは上位プロトコルによる明示的セッション終了通知でセッション管理を実現できる。【０００７】  以上に挙げた各「セッション」では、その開始と終了の判定がパ���ット毎の頻度で実施することが要求される。「セッション」の高速動的管理がパケット中継装置に求められてきている。【０００８】  従来のセッション管理を行うパケット中継装置としては、例えば、図２０に示す構成を有するものが知られている（例えば、特開２００２−３５９６３７号公報参照）。【０００９】  図２０を参照すると、従来のパケット中継装置は、サーバ１００ａとネットワーク処理部２００とから構成される。図中、制御信号線は細線矢印、パケット伝送路は太矢印にて示している。【００１０】  サーバ１００ａは、内部にネットワーク制御部１１０ａを備えており、ネットワーク制御部１１０ａは、管理者が入力したルーティング情報、ポリシー情報を、ネットワーク処理部２００内のルーティングテーブル２１０、ポリシーテーブル２２０に書き込む。【００１１】  ネットワーク処理部２００は、パケット処理部２０１、セッション管理部２０２、ルーティング処理部２０３、IF（インタフェース）部２０４−１〜２０４−Ｍ、ルーティングテーブル２１０、ポリシーテーブル２２０及びセッションテーブル２３０を備える。パケット送受信処理、セッション管理処理、ルーティング処理等は、ネットワーク処理部２００内で行われる。【００１２】  IF部２０４−ｉ（１≦ｉ≦Ｍ）を介して外部ネットワークから入力されたパケット（未図示）は、パケット処理部２０１に送信され、パケット受信処理が行われた後、セッション管理部２０２に送信される。セッション管理部２０２では、セッションテーブル２３０を参照して、到着パケットに関する登録済セッション判定を実施する。該当するパケットの登録をセッションテーブルにて検出した場合は、セッション管理部２０２は、登録内容に従って当該パケットを出力先のIF部２０４−ｊ（１≦ｊ≦Ｍ）へ転送するために、パケット処理部２０１に転送する。セッションテーブル２３０に未登録の場合は、セッション管理部２０２は、ポリシーテーブル２２０を参照して通過可否判定を実施する。併せてルーティング処理部２０３が、ルーティングテーブル２１０を参照して出力先のIF部２０４−ｊを同定する。ポリシーテーブル２２０、ルーティングテーブル２１０にて検索した結果を、セッション管理部２０２が、新規登録セッション情報としてセッションテーブル２３０に登録する。当該パケットは、出力先インタフェースへ転送するために、パケット処理部２０１に転送する。パケット処理部２０１に転送された当該パケットは、パケット送信処理が行われた後、IF部２０４−ｊを介して外部ネットワークに出力される。【００１３】  上述した構成の従来のパケット中継装置は、全ての入出力パケットが１つのセッション管理部にて集中処理される構成となっており、セッション管理部でのパケット処理性能が装置全体の性能ボトルネックとなってしまう問題点があった。【００１４】  また、上述した従来のパケット中継装置では、フラグメント化したIPパケットに対するセッション管理が実現できていないという問題点があった。【００１５】  そこで、本発明の目的は、パケット中継装置におけるセッション管理処理性能を向上させることにある。【００１６】  また、本発明の他の目的は、フラグメントIPパケットに対するセッショ��管理を実現することにある。
【発明の開示】
【発明が解決しようとする課題】
【００１７】  本発明にかかる第１のパケット中継装置は、パケットを中継するパケット中継装置において、複数のネットワーク処理部と、該複数のネットワーク処理部を相互に接続するスイッチ部とを備え、前記複数のネットワーク処理部が、それぞれ、外部ネットワークからパケットを受信したとき、該パケットの属するセッションに対して定められている出力先のIF部が他のネットワーク処理部に存在することを条件にして、前記パケットと前記IF部を特定するIF特定情報とを前記スイッチ部に入力し、前記スイッチ部が、入力されたパケットとIF特定情報とを、該IF特定情報によって特定されるIF部を備えたネットワーク処理部に転送する構成を有し、前記複数のネットワーク処理部が、それぞれ、セッションを特定するセッション特定情報に対応付けて、そのセッションに属するパケットの出力先とするIF部のIF特定情報が登録されたセッションテーブルと、前記外部ネットワークからパケットを受信したとき、該パケットの出力先にするIF部のIF特定情報を前記セッションテーブルから検索するセッション管理部と、該セッション管理部が前記セッションテーブルから検索した前記パケットの出力先にするIF部のIF特定情報が、他のネットワーク処理部に存在するIF部を示している場合は、前記パケットと前記IF特定情報とを前記スイッチ部に入力し、前記スイッチ部を介して他のネットワーク処理部からパケットとIF特定情報とが送られてきた場合は、前記パケットを前記IF特定情報によって特定されるIF部に出力するパケット処理部とを備え、前記各ネットワーク処理部が、それぞれ、パケットの宛先IPアドレスに対応付けて、パケットの出力先にするIF部のIF特定情報が登録されたルーティングテーブルを備え、且つ、前記セッション管理部が、前記セッションテーブルから前記パケットの出力先にするIF部のIF特定情報を検索できなかった場合は、前記ルーティングテーブルから前記パケットの出力先にするIF部のIF特定情報を検索し、前記パケット処理部が、前記セッション管理部によって前記ルーティングテーブルから検索された前記パケットの出力先にするIF部のIF特定情報が、他のネットワーク処理部に存在するIF部を示している場合は、前記パケット、前記IF特定情報および前記パケットを受信したIF部のIF特定情報を含む追加指示を前記スイッチ部に入力する構成を有し、前記スイッチ部が、入力されたパケット、IF特定情報および追加指示を、前記IF特定情報によって特定されるIF部を備えたネットワーク処理部に転送する構成を有することを特徴とする。【００１８】  本発明にかかる第２のパケット中継装置は、パケットを中継するパケット中継装置において、複数のネットワーク処理部と、該複数のネットワーク処理部を相互に接続するスイッチ部とを備え、前記複数のネットワーク処理部が、それぞれ、外部ネットワークからパケットを受信したとき、該パケットの属するセッションに対して定められている出力先のIF部が他のネットワーク処理部に存在することを条件にして、前記パケットと前記IF部を特定するIF特定情報とを前記スイッチ部に入力し、前記スイッチ部が、入力されたパケットとIF特定情報とを、該IF特定情報によって特定されるIF部を備えたネットワーク処理部に転送する構成を有し、前記複数��ネットワーク処理部が、それぞれ、セッションを特定するセッション特定情報に対応付けて、そのセッションに属するパケットの出力先とするIF部のIF特定情報が登録されたセッションテーブルと、前記外部ネットワークからパケットを受信したとき、該パケットの出力先にするIF部のIF特定情報を前記セッションテーブルから検索するセッション管理部と、該セッション管理部が前記セッションテーブルから検索した前記パケットの出力先にするIF部のIF特定情報が、他のネットワーク処理部に存在するIF部を示している場合は、前記パケットと前記IF特定情報とを前記スイッチ部に入力し、前記スイッチ部を介して他のネットワーク処理部からパケットとIF特定情報とが送られてきた場合は、前記パケットを前記IF特定情報によって特定されるIF部に出力するパケット処理部とを備え、前記複数のネットワーク処理部が、それぞれ、パケットの宛先IPアドレスに対応付けて、パケットの出力先にするIF部のIF特定情報が登録されたルーティングテーブルと、パケットの送信元IPアドレス及び宛先IPアドレスに対応付けて、フラグメントオフセット及びパケットの出力先にするIF部のIF特定情報が登録されたエントリを有するIPフラグメンテーションテーブルとを備え、且つ、前記セッション管理部が、外部ネットワークを介してフラグメントIPパケットを受信したとき、前記IPフラグメンテーションテーブルに、前記フラグメントIPパケットの送信元IPアドレス、宛先IPアドレス及びフラグメントオフセットと同一の送信元IPアドレス、宛先IPアドレス及びフラグメントオフセットが登録されているエントリが存在する場合、前記エントリ中のIF特定情報を取得すると共に、前記フラグメントIPパケットのパケット長に基づいて、前記エントリ中のフラグメントオフセットを更新する構成を有することを特徴とする。【００１９】  より具体的には、本発明にかかる第３のパケット中継装置は、第２のパケット中継装置において、前記複数のネットワーク処理部（２００−１〜２００−Ｎ）が、それぞれ、セッションを特定するセッション特定情報に対応付けて、そのセッションに属するパケットの出力先とするIF部のIF特定情報が登録されたセッションテーブル（２３０−１〜２３０−Ｎ）と、前記外部ネットワークからパケットを受信したとき、該パケットの出力先にするIF部のIF特定情報を前記セッションテーブル（２３０−１〜２３０−Ｎ）から検索するセッション管理部（２０２−１〜２０２−Ｎ）と、該セッション管理部（２０２−１〜２０２−Ｎ）が前記セッションテーブル（２３０−１〜２３０−Ｎ）から検索した前記パケットの出力先にするIF部のIF特定情報が、他のネットワーク処理部に存在するIF部を示している場合は、前記パケットと前記IF特定情報とを前記スイッチ部（３００）に入力し、前記スイッチ部（３００）を介して他のネットワーク処理部からパケットとIF特定情報とが送られてきた場合は、前記パケットを前記IF特定情報によって特定されるIF部に出力するパケット処理部（２０１−１〜２０１−Ｎ）とを備えたことを特徴とする。【００２０】  また、本発明にかかる第４のパケット中継装置は、新たなセッションが確立した場合、テーブルの複写処理などの処理時間がかかる処理を行わずに、各ネットワーク処理���内のセッションテーブルの整合性を保てるようにするため、第３のパケット中継装置において、前記各ネットワーク処理部（２００−１〜２００−Ｎ）が、それぞれ、パケットの宛先IPアドレスに対応付けて、パケットの出力先にするIF部のIF特定情報が登録されたルーティングテーブル（２１０−１〜２１０−Ｎ）を備え、且つ、前記セッション管理部（２０２−１〜２０２−Ｎ）が、前記セッションテーブル（２３０−１〜２３０−Ｎ）から前記パケットの出力先にするIF部のIF特定情報を検索できなかった場合は、前記ルーティングテーブル（２１０−１〜２１０−Ｎ）から前記パケットの出力先にするIF部のIF特定情報を検索し、該検索したIF特定情報と前記パケットが属するセッションのセッション特定情報とを対応付けて前記セッションテーブル（２３０−１〜２３０−Ｎ）に登録し、前記スイッチ部（３００）を介してパケット、IF特定情報および追加指示が送られてきた場合は、前記セッションテーブル（２３０−１〜２３０−Ｎ）に、前記追加指示に含まれているIF特定情報を出力先のIF部を示すIF特定情報として登録すると共に、該IF特定情報に対応付けて前記パケットが属するセッションのセッション特定情報を登録する構成を有し、前記パケット処理部（２０１−１〜２０１−Ｎ）が、前記セッション管理部（２０２−１〜２０２−Ｎ）によって前記ルーティングテーブル（２１０−１〜２１０−Ｎ）から検索された前記パケットの出力先にするIF部のIF特定情報が、他のネットワーク処理部に存在するIF部を示している場合は、前記パケット、前記IF特定情報および前記パケットを受信したIF部のIF特定情報を含む追加指示を前記スイッチ部（３００）に入力する構成を有し、前記スイッチ部（３００）が、入力されたパケット、IF特定情報および追加指示を、前記IF特定情報によって特定されるIF部を備えたネットワーク処理部に転送する構成を有することを特徴とする。【００２１】  また、本発明にかかる第５のパケット中継装置は、セッション毎にポリシーを管理できるようにするため、第４のパケット中継装置において、前記複数のネットワーク処理部（２００−１〜２００−Ｎ）が、それぞれ、セッションを特定するセッション特定情報に対応付けて、そのセッションのポリシーが登録されたポリシーテーブル（２２０−１〜２２０−Ｎ）を備え、且つ、前記セッション管理部（２０２−１〜２０２−Ｎ）が、前記セッションテーブル（２３０−１〜２３０−Ｎ）から前記パケットの出力先にするIF部のIF特定情報を検索できなかった場合は、前記ポリシーテーブルに登録されている前記パケットが属するセッションのポリシーがパケット通過となっていることを条件にして、前記ルーティングテーブル（２１０−１〜２１０−Ｎ）から前記パケットの出力先にするIF部のIF特定情報を検索し、該検索したIF特定情報と前記パケットが属するセッションのセッション特定情報とを対応付けて前記セッションテーブル（２３０−１〜２３０−Ｎ）に登録し、前記スイッチ部（３００）を介してパケット、IF特定情報および追加指示が送られてきた場合は、前記セッションテーブル（２３０−１〜２３０−Ｎ）に、前記追加指示に含まれているIF特定情報を出力先のIF部を示すIF特定情報として登録すると共に、該IF特���情報に対応付けて前記パケットが属するセッションのセッション特定情報を登録する構成を有することを特徴とする。【００２２】  また、本発明にかかる第６のパケット中継装置は、セッション終了時に、そのセッションに関する情報をセッションテーブルから削除するために、第４のパケット中継装置において、前記セッション管理部（２０２−１〜２０２−Ｎ）が、前記外部ネットワークからセッションを終了させるパケットを受信したとき、前記セッションテーブル（２３０−１〜２３０−Ｎ）から前記パケットが属するセッションに関する情報を削除し、前記スイッチ部（３００）を介してパケット、IF特定情報および削除指示が入力されたとき、前記セッションテーブル（２３０−１〜２３０−Ｎ）から前記パケットが属するセッションに関する情報を削除する構成を有し、前記パケット処理部（２０１−１〜２０１−Ｎ）が、前記セッションを終了させるパケットの出力先とするIF部が他のネットワーク処理装置に存在する場合は、前記パケット、前記パケットの出力先とするIF部のIF特定情報および削除指示を前記スイッチ部（３００）に入力する構成を有することを特徴とする。【００２３】  また、本発明にかかる第７のパケット中継装置は、回線ダウンなどによりFINパケットを受信できない状態になっても、上記FINパケットが属するセッションによって、セッションテーブルのエントリが無駄に使用されないようにするため、第４のパケット中継装置において、前記セッション管理部（２０２−１〜２０２−Ｎ）が、前記セッションテーブル（２３０−１〜２３０−Ｎ）に、セッション特定情報とIF特定情報との対を登録する際、予め定められているタイムアウト値も併せて登録する構成を有すると共に、所定時間毎にセッションテーブルに登録されている各タイムアウト値を一定値ずつ減算し、減算後のタイムアウト値が所定値以下となったエントリを削除する構成を有することを特徴とする。【００２４】  また、本発明にかかる第８のパケット中継装置は、フラグメントIPパケットに対するセッション管理を実現できるようにするため、第３のパケット中継装置において、前記複数のネットワーク処理部（２００−１〜２００−Ｎ）が、それぞれ、パケットの宛先IPアドレスに対応付けて、パケットの出力先にするIF部のIF特定情報が登録されたルーティングテーブル（２１０−１〜２１０−Ｎ）と、パケットの送信元IPアドレス及び宛先IPアドレスに対応付けて、フラグメントオフセット及びパケットの出力先にするIF部のIF特定情報が登録されたエントリを有するIPフラグメンテーションテーブル（２４０−１〜２４０−Ｎ）とを備え、且つ、前記セッション管理部（２０２−１〜２０２−Ｎ）が、外部ネットワークを介してフラグメントIPパケットを受信したとき、前記IPフラグメンテーションテーブル（２４０−１〜２４０−Ｎ）を検索し、前記フラグメントIPパケットの送信元IPアドレス、宛先IPアドレス及びフラグメントオフセットと同一の送信元IPアドレス、宛先IPアドレス及びフラグメントオフセットが登録されているエントリが存在する場合は、前記エントリ中のIF特定情報を取得すると共に、前記フラグメントIPパケットのパケット長に基づいて、前記エントリ中のフラグメントオフセットを更新し、前記IPフラグメンテーションテーブル（２４０−１〜２４０−Ｎ）に該当するエントリが存在しない場合は、前記セッションテーブル（２３０−１〜２３０−Ｎ）或いは前記ルーティングテーブル（２１０−１〜２１０−Ｎ）から前記フラグメントIPパケットの出力先にするIF部のIF特定情報を検索し、該検索したIF特定情報と、前記フラグメントIPパケット中の送信元IPアドレス、宛先IPアドレス、フラグメントオフセットとを含むエントリを追加登録する構成を有することを特徴とする。【００２５】  本発明のパケット中継装置は、セッション管理部を複数のネットワーク処理部に分散して配置しているので、セッション管理部におけるセッション検索処理およびセッション登録追加・削除処理がボトルネックとならないようにすることができる。【００２６】  また、本発明のパケット中継装置では、セッションテーブル、ポリシーテーブル、IPフラグメンテーションテーブルの検索処理は、外部ネットワークからパケットを受信したネットワーク処理部内のセッション管理部において、１回だけ実施されるため、テーブルの検索処理がボトルネックとなることはない。【００２７】  また、本発明のパケット中継装置では、外部ネットワークから受信したパケットが新規セッションのパケットであった場合、即ちセッションテーブルに上記パケットが属するセッションに関する情報が登録されていなかった場合、入力側ネットワーク処理部にて自処理部内のセッションテーブルへセッションエントリを追加をすると共に、パケットを出力先となるIF部を有する出力側のネットワーク処理部に転送する際に追加指示も転送し、出力側ネットワーク処理部にて自処理部内のセッションテーブルへのセッションエントリの追加処理を実施している。これにより、入力・出力の対になる各ネットワーク処理部内のセッションテーブルにおいて、セッションテーブルの内容の同一化が自動的に実施されることとなり、特別なセッションテーブルの複写化処理を行うことなく、異なるネットワーク処理部内のセッションテーブルの同一性を保つことが可能となる。【００２８】  また、セッション管理部が分散されていることにより、ネットワーク処理部とスイッチ部の組み合わせにてシステム全体のセッション処理能力を向上させることが可能である。【００２９】  また、出力側ネットワーク処理部内では、新規セッションの登録処理のみを実施し、セッション検索処理、ポリシー取得処理を省略することで、入出力側ネットワーク処理部双方でセッション検索処理、ポリシー取得処理を行う方法と比較して、パケットの装置内通過時間（レイテンシー）を短縮することが可能である。 
【発明を実施するための最良の形態】
【００３０】  次に本発明の実施例について図面を参照して詳細に説明する。【００３１】  図１に本発明の実施例のパケット中継装置１の構成例を示す。【００３２】  同図において、パケット中継装置１は、サーバ１００と、複数のネットワーク処理部２００−１〜２００−Ｎと、スイッチ部３００とから構成される。【００３３】  サーバ１００は、ルーティングテーブルマスタ１１０及びポリシーテーブルマスタ１２０を含んでいる。【００３４】  サーバ１００は、複数のネットワーク処理部２００−１〜２００−Ｎと制御信号線にて接続されている。またサーバ１００は、スイッチ部３００と制御信号線、およびパケット伝送路にて接続されている。図中、制御信号線は細線矢印、パケット伝送路は太矢印にて示している。【００３５】  サーバ１００は、管理者が外部から入力したルーティング情報をルーティングテーブルマスタ１１０に書き込む。また、管理者が外部から入力したポリシー情報をポリシーテーブルマスタ１２０に書き込む。ルーティングテーブルマスタ１１０及びポリシーテーブルマスタ１２０に書き込まれたルーティング情報、ポリシー情報は、制御信号線を経由して、各ネットワーク処理部２００−１〜２００−Ｎ内のルーティングテーブル２１０−１〜２１０−Ｎ、ポリシーテーブル２２０−１〜２２０−Ｎに書き込まれる。【００３６】  複数のネットワーク処理部２００−１〜２００−Ｎは、同じ構成を取っている。代表としてネットワーク処理部２００−１を基に説明を行う。【００３７】  ネットワーク処理部２００−１は、パケット処理部２０１−１、セッション管理部２０２−１、ルーティング処理部２０３−１、複数のIF部２０４−１−１〜２０４−１−Ｍ、ルーティングテーブル２１０−１、ポリシーテーブル２２０−１、セッションテーブル２３０−１及びIPフラグメンテーションテーブル２４０−１から構成される。【００３８】  パケット処理部２０１−１は、複数のIF部２０４−１−１〜２０４−１−Ｍ、スイッチ部３００とパケット伝送路にて接続されている。【００３９】  セッション管理部２０２−１は、パケット処理部２０１−１、ルーティング処理部２０３−１、ルーティングテーブル２１０−１、ポリシーテーブル２２０−１、セッションテーブル２３０−１、IPフラグメンテーションテーブル２４０−１と制御信号線にて接続されている。【００４０】  ルーティング処理部２０３−１は、ルーティングテーブル２１０−１と制御信号線にて接続されている。【００４１】  パケット処理部２０１−１は、IF部２０４−１−１〜２０４−１−Ｍから入力される図３に示すパケット（イーサネット（登録商標）ヘッダ、IPヘッダ、TCP／UDPヘッダ及びデータを含む）を受信し、後述の図４に示す入力側パケット転送処理を行う。その際、後述の図１６に示す形式のセッション処理用パケット情報を、パケット内のあらかじめ指定されたフィールドから抽出した情報に基づいて生成し、セッション管理部２０２−１に転送する。また、パケット処理部２０１−１は、スイッチ部３００を介して他のネットワーク処理部から入力されるパケットを受信し、後述の図８に示す出力側パケット転送処理を行う。【００４２】  セッション管理部２０２−１では、セッション処理���パケット情報から各種検索キーを生成し、セッションテーブル２３０−１、IPフラグメンテーションテーブル２４０−１、ポリシーテーブル２２０−１に対する検索を実施する。またセッションテーブル２３０−１、IPフラグメンテーションテーブル２４０−１への新規エントリ追加・削除処理を実施する。更に、他のネットワーク処理部２００−２〜２００−Ｎ内のセッションテーブル２３０−２〜２３０−Ｎに対する新規エントリ追加・削除処理を実施するために必要になる情報（セッション処理動作情報など）を生成する。【００４３】  ルーティング処理部２０３−１は、セッション管理部２０２−１からルーティングテーブル２１０−１用の検索キーを受け取り、ルーティングテーブル２１０−１に対する検索を実行する。検索結果をセッション管理部２０２−１に通知する。【００４４】  セッションテーブル２３０−１〜２３０−Ｎは、本パケット中継装置１で中継されるパケットによる確立セッションを登録するテーブルである。【００４５】  ポリシーテーブルマスタ１２０、及びポリシーテーブル２２０−１〜２２０−Ｎは、本パケット中継装置１で中継されるパケット通過規則を記載したテーブルである。【００４６】  IPフラグメンテーションテーブル２４０−１〜２４０−Ｎは、本パケット中継装置１で中継されるパケットで、IPレイヤより上位のレイヤ情報でポリシー、セッション管理判定が行われる際に、フラグメント化されたIPパケットに対するポリシー、セッションを管理するためのテーブルである。【００４７】  ルーティングテーブルマスタ１１０、及びルーティングテーブル２１０−１〜２１０−Ｎは、本パケット中継装置１で中継されるパケットの出力先IF部を管理するテーブルである。【００４８】  ポリシーテーブルマスタ１２０、ポリシーテーブル２２０−１〜２２０−Ｎ、ルーティングテーブルマスタ１１０、及びルーティングテーブル２１０−１〜２１０−Ｎは、本パケット中継装置１の管理者、もしくはルーティングプロトコルのパケット内の情報にて設定されるのに対して、セッションテーブル２３０−１〜２３０−Ｎ、IPフラグメンテーションテーブル２４０−１〜２４０−Ｎは、パケット到着毎にセッション情報のテーブル追加、更新、削除処理判定がなされる。【００４９】  スイッチ部３００は、複数のネットワーク処理部２００−１〜２００−Ｎ、サーバ１００とパケット伝送路にて接続されている。複数のネットワーク処理部２００−１〜２００−Ｎ間でのパケット転送処理、外部ネットワークとサーバとのパケット転送処理（ルーティングプロトコルのパケット等の転送処理）を実施する。【００５０】  図１０、図１１、図１２にセッションテーブルの構成例を示す。セッションテーブルは、セッションID、送信元IPアドレス、送信元ポート番号、プロトコル、宛先IPアドレス、宛先ポート番号、送信元セッション状態、入力物理IF番号、出力物理IF番号から構成される。これらの項目の内、送信元IPアドレス、送信元ポート番号、プロトコル、宛先IPアドレス、宛先ポート番号が検索キーとなり、送信元セッション状態、入力物理IF番号、出力物理IF番号が検索結果となる。【００５１】  検索方法は、検索キーに対する完全一致である。セッションテーブル上に登録��れているセッションエントリに属するパケットは通過とし、テーブル検索にヒットしなかったパケットの場合は、廃棄とする。【００５２】  図１０、図１１、図１２では、例として３つのネットワーク処理部内のセッションテーブルを示している。図１０がネットワーク処理部２００−１内のセッションテーブル２３０−１、図１１がネットワーク処理部２００−２内のセッションテーブル２３０−２、図１２がネットワーク処理部２００−３内のセッションテーブル２３０−３の例である。【００５３】  図１０、図１１、図１２では、２本のセッションが登録されている様子を示している。一本はIPアドレスが192.168.1.1、ポート番号が1025とIPアドレスが192.168.10.1、ポート番号が80のTCPセッションである。もう一本は、IPアドレスが192.168.6.2、ポート番号が12300とIPアドレスが192.168.100.15、ポート番号が80のTCPセッションである。【００５４】  図１０には、セッションIDが１−１の、IPアドレス：192.168.1.1、ポート番号：1025から、IPアドレス：192.168.10.1、ポート番号：80向けのTCPセッションと、セッションIDが１−２の、IPアドレス：192.168.100.15、ポート番号：80から、IPアドレス：192.168.6.2、ポート番号：12300向けのTCPセッションとが登録されている。また、セッションID：１−１に対応付けて送信元セッション状態：Establish、入力物理IF番号：１−１、出力物理IF番号：２−１が登録され、セッションID：１−２に対応付けて送信元セッション状態：Establish、入力物理IF番号：１−２、出力物理IF番号：３−２が登録されている。なお、物理IF番号：Ｊ−Ｋと記した場合、この物理IF番号は、ネットワーク処理部２００−Ｊ内のIF部２０４−Ｊ−Ｋを示す。【００５５】  図１１には、セッションIDが２−１のセッションが登録されている。本セッションエントリは、図１０のセッションID：１−１の登録内容と対になるエントリである。【００５６】  同様に図１２にある、セッションID：３−１は図１０のセッションID：１−２と対になる。【００５７】  図１３にポリシーテーブルマスタ１２０、及びポリシーテーブル２２０−１〜２２０−Ｎの構成例を示す。【００５８】  ポリシーテーブルマスタ１２０及びポリシーテーブル２２０−１〜２２０−Ｎは、ACL-ID、送信元IPアドレス、送信元ポート番号、プロトコル、宛先IPアドレス、宛先ポート番号、ポリシーから構成される。ポリシーは、パケットの通過・廃棄を示す情報である。これらの項目の内、送信元IPアドレス、送信元ポート番号、プロトコル、宛先IPアドレス、宛先ポート番号が検索キーとなり、ポリシーが検索結果となる。【００５９】  ポリシーテーブルマスタ１２０及びポリシーテーブル２２０−１〜２２０−Ｎの検索方法は、ACL-IDの若い番号のエントリほど、優先度が高いものとして、ACL-IDの昇順に検索を行って最初に合致したエントリを検索結果とする。本ポリシーテーブルマスタ１２０及びポリシーテーブル２２０−１〜２２０−Ｎの検索方法はこれに限定されるものではなく、ACL-IDの若い番号のエントリほど、優先度が低いものとして、ACL-IDの昇順に検索を行い、最後に合致したエントリを検索結果とするルールでも良い。【００６０】  図１４にIPフラグメンテーションテーブル２４０−１〜２４０−Ｎの構成例を示す。同図ではIPフラグメンテーションテーブル２��０−１の例を示す。【００６１】  IPフラグメンテーションテーブル２４０−１は、フラグメントID、送信元IPアドレス、宛先IPアドレス、プロトコル、フラグメントフラグ及びフラグメントオフセット、ポリシー、入力物理IF番号、出力物理IF番号から構成される。これらの項目の内、送信元IPアドレス、宛先IPアドレス、プロトコルが検索キーとなり、フラグメントフラグ及びフラグメントオフセット、ポリシー、入力物理IF番号、出力物理IF番号が検索結果となる。検索方法は、検索キーに対する完全一致である。【００６２】  図１５にルーティングテーブルマスタ１１０、及びルーティングテーブル２１０−１〜２１０−Ｎの構成例を示す。【００６３】  ルーティングテーブルマスタ１１０及びルーティングテーブル２１０−１〜２１０−Ｎは、ルーティングID、宛先IPアドレス、出力物理IF番号から構成される。これらの項目の内、宛先IPアドレスが検索キーとなり、出力物理IF番号が検索結果となる。検索方法は検索キーに対する最長一致である。【００６４】  図１６にセッション処理用パケット情報の構成例を示す。【００６５】  セッション処理用パケット情報は、パケットID、入力物理IF番号、IPヘッダ、TCP／UDPヘッダ、セッション処理動作情報、ポリシー、出力物理IF番号から構成される。【００６６】  このセッション処理用パケット情報は、パケット処理部２０１−１〜２０１−Ｎとセッション管理部２０２−１〜２０２−Ｎとの間でやり取りされる情報である。パケット処理部２０１−１〜２０１−Ｎは、外部ネットワークからパケットを受信したとき、上記パケットを特定するパケットIDと、上記パケットを受信したIF部を示す入力物理IF番号と、上記パケットのIPヘッダおよびTCP／UDPヘッダを該当部分に設定し、且つセッション処理動作情報、ポリシー及び出力物理IF番号にデフォルト値を設定したセッション処理用パケット情報を生成し、セッション管理部２０２−１〜２０２−Ｎに渡す。セッション管理部２０２−１〜２０２−Ｎ及びルーティング処理部２０３−１〜２０３−Ｎは、セッション処理用パケット情報に基づいて、検索・判定処理を行い、セッション管理部２０２−１〜２０２−Ｎは、検索・判定処理結果に応じた値をセッション処理動作情報、ポリシー、出力物理IF番号に設定し、これらの情報を設定後のセッション処理用パケット情報をパケット処理部２０１−１〜２０１−Ｎに返却する。セッション処理動作情報は、セッションテーブル２３０−１〜２３０−Ｎに対する操作処理を示し、新規セッション追加、セッション維持、セッション終了がある。【００６７】  図１７に装置内拡張ヘッダの構成例を示す。同図に示すように、装置内拡張ヘッダは、セッション処理動作情報、ポリシー、入力物理IF番号、出力物理IF番号から構成される。このような構成を有する装置内拡張ヘッダは、パケット処理部２０１−１〜２０１−Ｎによって生成されるものであり、受信パケットに付加される。【００６８】  ネットワーク処理部２００−１が備えているパケット処理部２０１−１、セッション管理部２０２−１、ルーティング処理部２０３−１、IF部２０４−１−１〜２０４−１−Ｍは、ハードウェアで実現しても、プログラムで実現しても構わない。プログラムで実現する場合は、記録媒体（��ィスク、半導体メモリ等）に上記各部を実現するためのプログラムを記録しておく。このプログラムは、コンピュータからなるネットワーク処理部２００−１によって読み取られ、その動作を制御することにより、ネットワーク処理部２００−１上にパケット処理部２０１−１、セッション管理部２０２−１、ルーティング処理部２０３−１、IF部２０４−１−１〜２０４−１−Ｍを実現する。【００６９】  次に図を参照しながら本発明の実施例のパケット中継装置１の動作を示す。【００７０】  図２は本発明の実施例のパケット中継装置１とクライアント２とサーバ３との接続関係を示している。【００７１】  クライアント２は、パケット中継装置１のネットワーク処理部２００−１に属するIF部２０４−１−１と接続している。サーバ３は、パケット中継装置１のネットワーク処理部２００−Ｎに属するIF部２０４−Ｎ−１と接続している。クライアント２から送信される図３に示すパケットは、IF部２０４−１−１にて受信され、逆にクライアント２宛のパケットは、IF部２０４−１−１から送信される。サーバ３から送信されるパケットは、IF部２０４−Ｎ−１にて受信され、逆にサーバ３宛のパケットは、IF部２０４−Ｎ−１から送信される。【００７２】  以下、クライアント２からサーバ３宛のパケットがパケット中継装置１を経由して転送される際の動作を図１，図２を用いて説明する。【００７３】  クライアント２から送信されたパケットがIF部２０４−１−１に到着すると、ネットワーク処理部２００−１が後述の図４に示す入力側パケット転送処理を実施する。【００７４】  後述の図４に示す入力側パケット転送処理が行われた後、パケットはスイッチ部３００内を経由して、ネットワーク処理部２００−Ｎに転送される。【００７５】  ネットワーク処理部２００−Ｎは、後述の図８に示す出力側パケット転送処理を実施して、パケットをIF部２０４−Ｎ−１からサーバ３に送信する。【００７６】  次に、図４を参照して入力側パケット転送処理を説明する。図４は入力側パケット転送処理の処理フローを示したフローチャートである。【００７７】  IF部２０４−１−１よりパケットを受信すると（ステップ１）、パケット処理部２０１−１は、パケットのチェックサムをチェックし（ステップ２）、パケットのバッファリングを開始する（ステップ３）。【００７８】  それから、パケット処理部２０１−１は、受信したパケット内のフィールドの内容に基づいて、図１６に示す形式のセッション処理用パケット情報を生成し（ステップ４）、セッション管理部２０２−１にセッション処理用パケット情報を通知することにより、後述の図５に示すセッション管理部２０２−１におけるセッション管理部処理を開始させる（ステップ５）。【００７９】  セッション管理部２０２−１が検索結果を反映させたセッション処理用パケット情報を返答するまでの間、パケット処理部２０１−１は、パケットを保持する。この保持しているパケットと、セッション処理用パケット情報とは、セッション処理用パケット情報中のパケットIDにより対応付けられる。セッション管理部２０２−１が検索結果をセッション処理動作情報、ポリシー及び出力物理IF番号に反映させたセッション処理用パケット情報をパケッ���処理部２０１−１に返すと、パケット処理部２０１−１は、セッション処理用パケット情報内の検索・判定結果（セッション処理動作情報、ポリシー、出力物理IF番号）と、パケットを受信したIF部２０４−１−１のIF番号（入力物理IF番号）とから図１７に示す形式の装置内拡張ヘッダを生成し、パケットIDにより上記セッション処理用パケット情報と対応付けられている該当するパケットに装置内拡張ヘッダを付与する（装置内拡張ヘッダ追加処理：ステップ６）。装置内拡張ヘッダの形式は、ヘッダに限定されるものではなく、パケットとは別管理の種別情報（ディスクリプタ）でも良い。【００８０】  パケット処理部２０１−１は、装置内拡張ヘッダの内容をもとに後述の図７に示すパケット転送処理を行い（ステップ７）、パケット処理部２０１−１の外部へパケットを出力する。【００８１】  図５は、図４のステップ５において行われるセッション管理部２０２−１及びルーティング処理部２０３−１におけるセッション管理部処理の詳細な処理フローを示したフローチャートである。【００８２】  はじめに、セッション管理部２０２−１は、パケット処理部２０１−１からセッション処理用パケット情報を受信し、各テーブル用の検索キーや判定用情報を作成する（ステップ２０）。例えば、セッションテーブル用には、セッション処理用パケット情報中のIPヘッダに基づいて、送信元IPアドレス、送信元ポート番号、プロトコル、宛先IPアドレス、宛先ポート番号を含む検索キーを作成する。また、例えば、IPフラグメンテーションテーブル用には、セッション処理用パケット情報中のIPヘッダに基づいて、送信元IPアドレス、プロトコル、宛先IPアドレスを含む検索キーを作成すると共に、フラグメントオフセットを含む判定用情報を生成する。【００８３】  次に、セッション管理部２０２−１は、IPフラグメンテーションテーブル２４０−１の検索を実施する（ステップ２１）。【００８４】  検索対象のパケットがフラグメントIPパケットであり、かつIPフラグメンテーションテーブル２４０−１にフラグメント登録があり、かつ対象パケットのオフセット値（判定用情報）がIPフラグメンテーションテーブル２４０−１内記載のオフセット予測値と一致するならば、IPフラグメントとして連続したフラグメントであると判断する（ステップ２２−Ｙｅｓ）。このとき、セッション管理部２０２−１は、IPフラグメンテーションテーブル２４０−１から該当パケットが属するセッションのポリシー、該当パケットの出力先とするIF部を特定する出力物理IF番号を取得する（ステップ３０）。IPフラグメンテーションテーブル２４０−１からポリシーを取得した場合は、TCP、UDPのレイヤではデータが連続している状況なので、セッション状態の更新はない。【００８５】  ステップ３０に続いて、対象パケットのフラグメントオフセット値とパケット長から、次のパケットのフラグメントオフセット値を計算（予測）して、IPフラグメンテーションテーブル２４０−１の該当エントリのフラグメントオフセット値を更新する。また対象パケットが最終フラグメントの場合は該当エントリを削除する（ステップ３１）。その後ステップ６０に進む。【００８６】  IPフラグメントとして連続したフラグメントでないと判断した���合（ステップ２２−Ｎｏ）、セッションテーブル２３０−１の検索を実施する（ステップ２３）。【００８７】  セッションテーブル２３０−１内に、ステップ２０で生成したセッションテーブル用の検索キーと一致するエントリが存在する場合（ステップ２４−Ｙｅｓ）、該当IPパケットは登録済セッションに属するパケットと判断される。その後、セッション管理部２０２−１は、当該IPパケットのポリシーが「パケット通過」であることを取得すると共に、セッションテーブル２３０−１から送信元セッション状態、出力物理IF番号を取得する（ステップ４０）。ここで、ポリシー「パケット通過」を取得するのは、セッションテーブル２３０−１には、ポリシーが「パケット通過」となっているセッションに関する情報しか登録されないからである。【００８８】  ステップ４０に続いて、TCPパケットの場合、セッション状態更新チェックを実施する（ステップ４１）。TCPヘッダのSYN／ACK／FINフラグと、セッションテーブル２３０−１から取得した送信元セッション状態とに基づいて、送信元の新しいセッション状態を判定する。【００８９】  判定した新しいセッション状態がセッションテーブル２３０−１内の該当エントリのセッション状態から変化している場合（ステップ４２−Ｙｅｓ）、セッションテーブル２３０−１内の該当エントリのセッション状態を、判定した新しいセッション状態に更新する。また、セッション終了と判定された場合は該当エントリを削除する（ステップ４３）。その後、ステップ５０に進む。【００９０】  判定した新しいセッション状態がセッションテーブル２３０−１から取得した送信元セッション状態から変化していない場合（ステップ４２−Ｎｏ）、セッションテーブル２３０−１の更新は行わず、ステップ５０に進む。【００９１】  セッションテーブル２３０−１内に該当するエントリがない場合（ステップ２４−Ｎｏ）、セッション管理部２０２−１は、ポリシーテーブル２２０−１から該当IPパケットのポリシーを検索する（ステップ２５）。ポリシーテーブル２２０−１の検索では必ず該当パケットのポリシーが取得できる（ステップ２６）。エントリにない場合でも、デフォルトポリシーを決定しておけば良い。【００９２】  ステップ２６で取得したポリシーが「パケット通過」である場合は、後述の図６に示すルーティング情報取得処理を実施した後（ステップ２７）、ステップ２８の処理を行う。【００９３】  ステップ２８では、ＴＣＰヘッダのSYN／ACK／FINフラグから送信元のセッション状態を判定し、セッション開始であることが判明した場合には、セッションテーブル２３０−１へ新規セッションエントリを追加する。セッションテーブル２３０−１へのセッションエントリ追加では、入力パケットの送信元IPアドレス、送信元ポート番号、プロトコル、宛先IPアドレス、宛先ポート番号、送信元セッション状態、入力物理IF番号、出力物理IF番号をそのまま登録する。なお、出力物理IF番号と入力物理IF番号を比較して、パケットの転送先が同一ネットワーク処理部内のIF部である場合は、上記エントリ追加に加えて、入力パケットの送信元IPアドレス、送信元ポート番号、入力物理IF番号と、宛先IPアドレス、宛先ポート番号、出力物理IF番号とを入れ替えたエ��トリも登録する。セッションテーブル２０３−１内に、本パケットと逆向きのパケットフローに関するエントリを登録する必要があるためである。セッション開始以外の場合は、セッション管理を行わないパケットと判定して、セッションテーブル２３０−１へのセッションエントリ追加を実施しない。その後、セッション管理部２０２−１の処理は、ステップ５０に進む。【００９４】  これに対して、ステップ２６で取得したポリシーが「パケット廃棄」である場合は、セッション管理部２０２−１の処理は、ステップ２７及びステップ２８をスキップしてステップ５０に進む。【００９５】  ステップ２８、ステップ４２−Ｎｏ、ステップ４３、ステップ２６（ポリシーが「パケット廃棄」の場合）に続いて、該当パケットがフラグメントIPパケットかどうかの判定を実施する（ステップ５０）。【００９６】  該当パケットがフラグメントIPパケットであれば（ステップ５０−Ｙｅｓ）、IPフラグメンテーションテーブル２４０−１のエントリ追加を実施して（ステップ５１）、ステップ６０に進む。【００９７】  これに対して、該当パケットがフラグメントIPパケットでない場合（ステップ５０−Ｎｏ）は、ステップ６０に進む。【００９８】  最後に、該当パケットに関して取得した情報を、図１６に示す形式を有するセッション処理用パケット情報中のセッション処理動作情報（新規セッション追加／セッション維持／セッション終了）、ポリシー（通過／廃棄）、出力物理IF番号に設定し、パケット処理部２０１−１に返却する（ステップ６０）。以上により、図５のフローを終了する。【００９９】  図６は、図５のステップ２７で行うルーティング情報取得処理の詳細な処理フローを示したフローチャートである。本処理はルーティング処理部２０３−１にて実施する。ルーティング情報取得処理ではルーティングテーブル２１０−１の検索を行い（ステップ１０）、出力物理IF番号を取得して（ステップ１１）、終了する。【０１００】  図７は、図４のステップ７で行うパケット転送処理の詳細な処理フローを示したフローチャートである。パケット処理部２０１−１は、装置内拡張ヘッダ内のポリシーを参照して、該当するパケットが廃棄対象かを判定する（ステップ７０）。廃棄対象パケットである場合（ステップ７０−Ｙｅｓ）、パケット廃棄を行う（ステップ７１）。【０１０１】  廃棄対象パケットでない場合（ステップ７０−Ｎｏ）、装置内拡張ヘッダ内の出力物理IF番号を参照して該当するパケットの転送先が自ネットワーク処理部２００−１内のIF部か、他ネットワーク処理部内のIF部かを判定する（ステップ７２）。パケットの転送先が他ネットワーク処理部内のIF部である場合（ステップ７２−Ｎｏ）、スイッチ部３００にパケットを転送する（ステップ７３）。その際、装置内拡張ヘッダを付与したまま転送する。スイッチ部３００は、装置内拡張ヘッダが付与されたパケットを、装置内拡張ヘッダ中の出力物理IF番号によって特定されるIF部を備えたネットワーク処理部（この例の場合は、ネットワーク処理部２００−Ｎ）に転送する。【０１０２】  パケットの転送先が自ネットワーク処理部２００−１内のIF部２０４−１である場合（ステップ７２−Ｙｅｓ）、パケットから装置内拡張ヘッダを削除し（ステップ７４）、装置内拡張ヘッダ中の出力物理IF番号によって特定されるIF部にパケットを出力する（ステップ７５）。【０１０３】  次に、図８を参照して、スイッチ部３００を経由してネットワーク処理部２００−Ｎに到着したパケットに対する、出力側パケット転送処理について説明する。図８は出力側パケット転送処理の処理フローを示したフローチャートである。【０１０４】  スイッチ部３００を介してネットワーク処理部２００−１からのパケットを受信すると（ステップ１０１）、パケット処理部２０１−Ｎは、パケットに付加されている装置内拡張ヘッダのチェックを行い（ステップ１０２）、パケットのバッファリングを開始する（ステップ１０３）。それから、パケット処理部２０１−Ｎは、後述の図９に示すセッション管理部２０２−Ｎにおけるセッションテーブル処理を実施する（ステップ１０４）。ステップ１０４が完了するまでの間、パケット処理部２０１−Ｎはパケットを保持する。ステップ１０４の完了後、装置内拡張ヘッダの内容をもとに前述の図７に示すパケット転送処理を行い（ステップ１０５）、パケット処理部２０１−Ｎの外部へパケットを出力して終了する。【０１０５】  図９は、図８のステップ１０４において行われるセッション管理部２０２−１におけるセッションテーブル処理の詳細な処理フローを示したフローチャートである。【０１０６】  セッション管理部２０２−Ｎが、IPヘッダ、TCPヘッダ及び装置内拡張ヘッダをパケット処理部２０１−Ｎから受信し（ステップ１１１）、装置内拡張ヘッダ内のセッション処理動作情報が新規セッションエントリ追加となっているか否かの判定を行う（ステップ１２１）。【０１０７】  装置内拡張ヘッダ内のセッション処理動作情報が新規セッションエントリ追加となっている場合（ステップ１２１−Ｙｅｓ）、セッションテーブル２３０−Ｎに新規セッションエントリを追加する（ステップ１２２）。セッションテーブル２０３−Ｎへのセッションエントリ追加では、入力パケットの送信元IPアドレス、送信元ポート番号、入力物理IF番号と、宛先IPアドレス、宛先ポート番号、出力物理IF番号とを入れ替えて登録する。セッションテーブル２０３−Ｎにおけるセッションエントリは、本パケットと逆向きのパケットフローに関するエントリとして生成する必要があるためである。【０１０８】  装置内拡張ヘッダ内のセッション処理動作情報が新規セッションエントリ追加でない場合（ステップ１２１−Ｎｏ）、装置内拡張ヘッダ内のセッション処理動作情報がセッションエントリ削除となっているか否かの判定を行う（ステップ１３１）。【０１０９】  装置内拡張ヘッダ内のセッション処理動作情報がセッションエントリ削除となっている場合は（ステップ１３１−Ｙｅｓ）、セッションテーブル２３０−Ｎ内の該当するセッションエントリ削除を行う（ステップ１３２）。【０１１０】  装置内拡張ヘッダ内のセッション処理動作情報がセッションエントリ削除となっていない場合は（ステップ１３１−Ｎｏ）、装置内拡張ヘッダ内のセッション処理動作情報がセッションエントリ更新となっているか否かの判定を行う（ステップ１４１）。【０１１１】  装置内拡張ヘッダ内のセッション処理動作情報がセッシ���ンエントリ更新となっている場合は（ステップ１４１−Ｙｅｓ）、セッションテーブル２３０−Ｎ内の該当するセッションエントリ更新を行う（ステップ１４２）。【０１１２】  図８のパケット転送処理（ステップ１０５）の処理フローは、前出の図７にて説明した内容と同じである。なお、出力側パケット転送処理においては、当該ネットワーク処理部２００−Ｎ内のIF部のいずれかから、パケットが外部ネットワークへ出力されることが、既に判明している。従って、図７に示すフローでは、（ステップ７０−Ｎｏ）→（ステップ７２−Ｙｅｓ）→（ステップ７４）→（ステップ７５）が選択される。【０１１３】  一例としてクライアント２からサーバ３に対してTCPセッションが開始される際の動作を示す。【０１１４】  図１８に本発明の実施例における、クライアント２からサーバ３に対してTCPセッションが張られる際のパケット中継装置の動作を示す。 【０１１５】（セッション開始）（１）クライアント２→パケット中継装置１：ＳＹＮパケットポリシーテーブル２１０−１記載のポリシーにてパケット通過許可を判定し、セッションテーブル２３０−１に新規セッションを追加する。（２）パケット中継装置１→サーバ３：ＳＹＮパケットセッションテーブル２３０−Ｎに新規セッションを追加する。（３）サーバ３→パケット中継装置１：ＳＹＮ、ＡＣＫパケットセッションテーブル２３０−Ｎにてパケット通過許可を判定し、状態を更新する。（４）クライアント２→パケット中継装置１：ＡＣＫパケットセッションテーブル２３０−１にてパケット通過許可を判定し、状態を更新する。（５）サーバ３→パケット中継装置１：ＡＣＫパケットセッションテーブル２３０−Ｎにてパケット通過許可を判定し、状態を更新する。 【０１１６】（セッション終了）（６）クライアント２→パケット中継装置１：ＦＩＮパケットセッションテーブル２３０−１にてパケット通過許可を判定。状態を更新し、セッション削除準備をする。（７）サーバ３→パケット中継装置１：ＡＣＫパケットセッションテーブル２３０−Ｎにてパケット通過許可を判定。状態を更新し、セッション削除準備をする。（８）サーバ３→パケット中継装置１：ＦＩＮパケットセッションテーブル２３０−Ｎにてパケット通過許可を判定。（セッション削除準備中）（９）クライアント２→パケット中継装置１：ＡＣＫパケットセッションテーブル２３０−１にてパケット通過許可を判定。状態を更新し、セッション削除をする。（１０）パケット中継装置１→サーバ３：ＡＣＫパケットセッションテーブル２３０−Ｎからセッション削除をする。【０１１７】  なお、上述した実施例において、TCPセッションに関するセッション管理についてその実現手段を説明したが、TCPセッションの終了判定をタイマーによるタイムアウト処理とすることも可能である。その場合は、図１０、図１１、図１２のセッションテーブルおよび図１４のIPフラグメンテーションテーブルにタイムアウト時間の項目を設け、図１のセッション管理部２０２−１〜２０２−Ｎ、セッションテーブル２３０−１〜２３０−Ｎ、IPフラグメンテーションテーブル２４０−１〜２４０−Ｎにてタイムアウト管理処理を追加することで実現可能である。より具体的には、例えば、次のようにして実現可能である。セッションテーブル２３０−１〜２３０−Ｎ、IPフラグメンテーションテーブル２４０−１〜２４０−Ｎに新規エントリを追加登録する際、セッション管理部２０２−１〜２０２−Ｎは、追加登録する新規エントリのタイムアウト時間の項目に予め定められているタイムアウト値を設定する。セッション管理部２０２−１〜２０２−Ｎは、一定時間毎に、セッションテーブル２３０−１〜２３０−Ｎ、IPフラグメンテーションテーブル２４０−１〜２４０−Ｎの各エントリに設定されているタイムアウト値を所定値減少させる処理を行う。そして、タイムアウト値が所定値以下になったエントリを削除する。【０１１８】  本機能追加により、TCPセッションを張っていたクライアントやサーバもしくはそれらを結ぶ回線が突如ダウンし、TCPセッションの終了シーケンスが発生しない場合でも、自動的にTCPセッション登録を解除することが可能となる。同様の手法によりUDPの擬似セッションについてもセッション管理が実現可能である。また、WebトラヒックにおけるURLやCookieによるセッションの場合でも、TCPパケット内に含まれるURLやCookieをセッションの識別子として抽出することによって、同様のセッション管理が実現可能である。【０１１９】  以上説明したように、本発明のパケット中継装置は、複数のネットワーク処理部でセッション管理を分散処理するため、システム全体のセッション管理能力を向上させることが可能となる。また、ネットワーク処理部単位でセッション管理能力を増設することができる。【０１２０】  また、本発明のパケット中継装置では、セッションテーブル、ポリシーテーブル、IPフラグメンテーションテーブルの検索処理は、外部ネットワークからパケットを受信したネットワーク処理部内のセッション管理部において、１回だけ実施されるため、テーブルの検索処理がボトルネックとなることはない。【０１２１】  また、本発明のパケット中継装置では、外部ネットワークから受信したパケットが新規セッションのパケットであった場合、即ちセッションテーブルに上記パケットが属するセッションに関する情報が登録されていなかった場合、入力側ネットワーク処理部にて自処理部内のセッションテーブルへセッションエントリを追加をすると共に、パケットを出力先となるIF部を有する出力側のネットワーク処理部に転送する際に追加指示も転送し、出力側ネットワーク処理部にて自処理部内のセッションテーブルへのセッションエントリの追加処理を実施している。これにより、入力・出力の対になる各ネットワーク処理部内のセッションテーブルにおいて、セッションテーブルの内容の同一化が自動的に実施されることとなり、特別なセッションテーブルの複写化処理を行うことなく、異なるネットワーク処理部内のセッションテーブルの同一性を保つことが可能となる。【０１２２】  また、本発明のパケット中継装置は、IPフラグメンテーションテーブルを備えているので、フラグメントIPパケットに対するセッション管理を実現できる。
【図面の簡単な説明】
【０１２３】
【図１】本発明の実施例のパケット中継装置の構成図である。
【図２】本発明の実施例のパケット中継装置１とクライアント２とサーバ３との接続図である。
【図３】外部ネットワークからのパケットの構成を示す図である。
【図４】入力側パケット転送処理の処理フローを示したフローチャートである。
【図５】セッション管理部２０２−１及びルーティング処理部２０３−１におけるセッション管理部処理の処理フローを示したフローチャートである。
【図６】ルーティング情報取得処理の処理フローを示したフローチャートである。
【図７】パケット転送処理の処理フローを示したフローチャートである。
【図８】出力側パケット転送処理の処理フローを示したフローチャートである。
【図９】セッション管理部２０２−１におけるセッションテーブル処理の処理フローを示したフローチャートである。
【図１０】セッションテーブルの構成例を示した図である。
【図１１】セッションテーブルの構成例を示した図である。
【図１２】セッションテーブルの構成例を示した図である。
【図１３】ポリシーテーブルマスタ１２０、及びポリシーテーブル２２０−１〜２２０−Ｎの構成例を示した図である。
【図１４】IPフラグメンテーションテーブル２４０−１〜２４０−Ｎの構成例を示した図である。
【図１５】ルーティングテーブルマスタ１１０、及びルーティングテーブル２１０−１〜２１０−Ｎの構成例を示した図である。
【図１６】セッション処理用パケット情報の構成例を示した図である。
【図１７】装置内拡張ヘッダの構成例を示した図である。
【図１８】本発明の実施例における、パケット中継装置１の内部動作を示した図である。
【図１９】TCPセッションの開始から終了までの状態遷移の一例を示した図である。
【図２０】従来のパケット中継装置の構成を示した図である。
【図１】
0004280932.tif 000002
【図２】
0004280932.tif 000003
【図３】
0004280932.tif 000004
【図４】
0004280932.tif 000005
【図５】
0004280932.tif 000006
【図６】
0004280932.tif 000007
【図７】
0004280932.tif 000008
【図８】
0004280932.tif 000009
【図９】
0004280932.tif 000010
【図１０】
0004280932.tif 000011
【図１１】
0004280932.tif 000012
【図１２】
0004280932.tif 000013
【図１３】
0004280932.tif 000014
【図１４】
0004280932.tif 000015
【図１５】
0004280932.tif 000016
【図１６】
0004280932.tif 000017
【図１７】
0004280932.tif 000018
【図１８】
0004280932.tif 000019
【図１９】
0004280932.tif 000020
【図２０】
0004280932.tif 000021