(57)【要約】【課題】ネットワーク装置における負荷分散を行うのにあたり、トラヒック状況に即して、均等な振り分け処理を実現するパケット通信装置を提供する。【解決手段】パケット転送装置に、パケット転送処理とは独立した機能部として、統計情報収集処理部を設ける。回線対応部は、送受信するパケットのヘッダ情報を、統計情報収集処理部に転送する。統計情報収集処理部は、回線対応部から転送された送受信パケットのヘッダ情報により、統計情報を収集する。統計情報収集処理部が収集した統計情報に基づいて回線対応部に設ける検索テーブルの設定を更新する。【選択図】  図１
2004221805.tif 000002
【特許請求の範囲】
【請求項１】
パケットを送受信する複数のインタフェースと、該複数のインタフェースに接続されたスイッチと、該スイッチに接続された統計情報収集処理部と、前記パケットに付与されたヘッダ情報を解析する手段と、前記インタフェースを介して送信または受信されるパケットの量を計数する手段とを備え、
前記統計情報収集処理部は、前記解析されたヘッダ情報とパケット量とから前記複数のインタフェースで受信されるパケット量を予測し、
該予測されたパケット量に基づき、パケットを送信するインタフェースを選択することを特徴とするパケット通信装置。
【請求項２】
請求項１に記載のパケット通信装置において、前記ヘッダ情報を解析する手段と前記パケットの量を計数する手段とは、前記統計情報収集処理部に含まれることを特徴とするパケット通信装置。
【請求項３】
請求項１に記載のパケット通信装置において、前記複数のインタフェースに接続され、かつ前記ヘッダ情報を解析する手段と前記パケットの量を計数する手段とを備えた回線対応部を有することを特徴とするパケット通信装置。
【請求項４】
請求項１に記載のパケット通信装置において、前記インタフェースと前記統計情報収集処理部とを直接接続するバスを備えたことを特徴とするパケット通信装置。
【請求項５】
請求項１に記載のパケット通信装置において、前記パケットを送受信するインタフェースは，該インタフェースが送受信する少なくとも一つ以上のパケットに付与されたヘッダ部の少なくとも一部をフレームに格納する手段を有することを特徴とするパケット通信装置。
【請求項６】
請求項５に記載のパケット通信装置において、前記フレームに多重化される複数のパケットのヘッダ部の大きさは全て等しいことを特徴とするパケット通信装置。
【請求項７】
請求項５に記載のパケット通信装置において、前記多重化する手段は、前記ヘッダ情報を複数のパケットから，それぞれのパケットに付与されるヘッダに設定された該パケットの種別を表す情報に応じて，切り出すヘッダ部分の長さを決定し，一つのフレームに多重化することを特徴とするパケット通信装置。
パケット通信装置。
【請求項８】
請求項１に記載のパケット通信装置において、前記統計情報収集処理部を複数備えることを特徴とするパケット通信装置。
【請求項９】
請求項１に記載のパケット通信装置において、前記負荷分散装置に接続された拡張処理部を有し、当該拡張処理部は、受信パケットの転送が実行されるレイヤよりも上位のレイヤで実行される処理を行なうことを特徴とするパケット通信装置。
【請求項１０】
請求項３に記載のパケット通信装置において、前記回線対応部に設けられ、かつ受信パケットのヘッダ情報とパケットの転送先との対応関係を記述するテーブルを備えることを特徴とするパケット通信装置。
【請求項１１】
請求項１０に記載のパケット通信装置において、前記予測されたパケット量に基づき、前記テーブルを更新する手段を備えることを特徴とするパケット通信装置。
【請求項１２】
パケットを送受信する複数のインタフェースと、パケットの処理手段とを備えたパケット通信装置に用いられるパケット通信方法において、
前記インタフェースを介してパケットを受信するステップと、
該受信したパケットの数を計数するステップと、
前記計数したパケットの数に基づき前記複数のインタフェースの１に将来到達するパケットの数を予測するステップと、
該予測されたパケットの数に基づき送信パケットを伝送するインタフェースを選択するステップとを有するパケット通信方法。
【請求項１３】
請求項１２に記載のパケット通信方法において、複数の前記受信パケットのヘッダ情報を一つに多重化するステップを有することを特徴とするパケット通信方法。
【請求項１４】
請求項１３に記載のパケット通信方法において、受信パケットから前記ヘッダ部を固定長分だけ切り出すステップとを有することを特徴とするパケット通信方法。
【請求項１５】
請求項１４に記載のパケット通信方法において、受信パケットのヘッダ部をそれぞれのパケットに付与されるヘッダに設定された該パケットの種別を表す情報に応じた大きさだけ切り出すステップを有することを特徴とするパケット通信方法。
【請求項１６】
パケットを送受信する複数のインタフェースと、該複数のインタフェースに接続されたスイッチと、該スイッチに接続された統計情報収集処理部と、前記パケットに付与されたヘッダ情報を解析する手段と、前記インタフェースを介して送信または受信されるパケットの量を計数する手段とを備え、
前記統計情報収集処理部は、前記計数されたパケット量に基づき、パケットを送信するインタフェースを選択することを特徴とするパケット通信装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、パケット通信装置に関するものであり、特に統計情報収集方式、ならびに負荷分散方式に関する。
【０００２】
【従来の技術】
電子商取引や映像配信等、インターネットを用いた通信サービスの高度化により、トラヒック量の増加と通信速度の高速化は急激に進行している。これに伴って、ネットワーク内においてルータやサーバ等の通信装置の処理負荷が一層大きくなってきている。このため、通信装置の処理能力の向上が急務となっている。たとえば、ＷＷＷ（Ｗｏｒｌｄ  Ｗｉｄｅ  Ｗｅｂ）サービスにおいては、特定サーバへのアクセスが増加し、単一のサーバで処理をまかなうには、能力が不十分な場合が生じている。
【０００３】
また、インターネットを用いた仮想プライベート網（Ｖｉｒｔｕａｌ  Ｐｒｉｖａｔｅ  Ｎｅｔｗｏｒｋ、ＶＰＮ）サービスを実現するためには、送受信するパケット単位に行う高位レイヤ処理を通信速度に即して行うことが必要である。高位レイヤ処理としては、暗号化、ファイアウォール処理等があげられる。
【０００４】
パケットの転送方式に関しても、種々の方式が提案されている。例えば、ＩＥＥＥ８０２．３で規定されるＥｔｈｅｒｎｅｔ（登録商標）フレームによる転送、ＩＥＥＥ８０２．１Ｑで規定されるタグＶＬＡＮによる転送、ＩＥＴＦ  ＲＦＣ３０３２で規定されるＭＰＬＳ（Ｍｕｌｔｉ−Ｐｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ）による転送、ＩＥＥＥ８０２．１７委員会で標準化作業中のＲＰＲ（Ｒｅｓｉｌｉｅｎｔ  Ｐａｃｋｅｔ  Ｒｉｎｇ）による転送がある。これらは、いずれもＥｔｈｅｒｎｅｔを用いたパケット転送の方式であるが、他にも通信方式により種々のパケット転送方式がある。
【０００５】
通信装置の処理能力を向上する手法の一つとして、負荷分散技術がある。負荷分散技術は、同じ機能を持つ装置を複数台設け、これらの装置間で処理を分担することにより、各単一装置における処理負荷を低減するとともに、全体として処理能力を向上を図る方法である。
【０００６】
負荷分散技術を用いることによって、処理能力の向上の他、耐障害性の向上をも図ることが可能になる。すなわち、一台の装置に故障が発生した際においても、残りの装置が処理を引き継ぐことにより、運用を継続することが可能になる。
【０００７】
負荷分散には、装置内における処理負荷を分散することを目的とした負荷分散と、該装置に接続された他の装置（たとえば、サーバ）の処理負荷を分散することを目的とした負荷分散がある。
【０００８】
負荷分散を実現するためには、負荷分散の対象となる複数の装置に対して、適切にパケットを振り分けて転送することが必要である。
【０００９】
パケットの振り分けを実現する一つめの方式として、ラウンドロビンによる方法がある。ラウンドロビンによる方法とは、パケットを、受信した順序にしたがって、互いに異なる装置に対して振り分けていく方法である。
【００１０】
パケットの振り分けを実現する二つめの方式として、ヘッダ情報に対するハッシュ値にしたがって、パケットを振り分ける方法がある。ハッシュ値による方法とは、フローを表すヘッダ情報、たとえば、パケットの送信元ＩＰアドレスと宛先ＩＰアドレスの組を引数として、ハッシュ関数を計算し、得られた値（ハッシュ値）にしたがって、パケットの振り分け先を決定する方法である。
【００１１】
パケットの振り分けを実現する三つめの方式として、フィルタリングテーブルを用いる方法がある。フィルタリングテーブルを用いる方式とは、あらかじめ、フローと、該フローのパケットに対する振り分け先を対応付けるテーブルを用意し、パケット受信時には、パケットのヘッダに示されているフローを表す情報を検索キーとして前記テーブルを検索することによって、パケットの振り分け先を決定する方法である。
【００１２】
【発明が解決しようとする課題】
ラウンドロビンによるパケット振り分けでは、パケットの到着順にしたがって振り分けを行うため、振り分け先に対して比較的均等に分散させることが可能である。しかしながら、パケット転送による遅延時間等、処理に要する時間の差が生じうるため、同じフロー（たとえば、送信元アドレスと宛先アドレスの組）において、負荷分散対象となる装置が受信したパケットの順序と、前記の負荷分散対象が送信するパケットの順序が異なる可能性があることが問題である。前記問題を解決する方法としては、パケット受信時に、パケットに付与する内部ヘッダにおいて、シーケンス番号を付与し、パケット送信時には、シーケンス番号の順序にしたがってパケットを送信する方法がある。しかしながら、フロー数が増加すると、シーケンス番号管理の処理が複雑化することが問題となる。
【００１３】
ハッシュ値による方法では、同一フローに対しては、ハッシュ値の値が同一になるため、同じフローに対して、受信したパケットの順番にしたがって、パケットが送信されることになる。しかしながら、ハッシュ値による方法では、特定のフローが多い場合には、必ずしも均等にパケットを振り分けられない可能性のあることが問題である。
【００１４】
フィルタリングテーブルによる方法では、あらかじめフローを登録しておくことが必要である。また、フローごとのトラヒックパターンの変動に伴って、パケット振り分け先が偏る可能性があることが問題である。
【００１５】
そこで、本発明の目的は、実際のトラヒックの状況に応じて、均等な振り分けを実現することにある。
【００１６】
【課題を解決するための手段】
本発明においては、実際のトラヒックの状況に応じた均等な振り分けを実現するため、パケット量の統計情報を利用する。装置のトラヒック状況は、インタフェースを通過するパケットのパケット量を計数することにより把握できる。また、統計情報の収集を、装置内でパケットの転送処理を行う際、パケット数、バイト数の積算、およびパケットに付与されたヘッダ情報を記録することにより収集できる。
【００１７】
また、パケットに付与されたヘッダ情報のフォーマットは、パケット転送方式により、異なるため、ルータにおいては、パケット転送方式に応じた統計情報収集処理が必要となる。更に、収集すべき統計情報の項目は、装置の適用箇所等に応じて異なる。したがって、多様なパケット転送方式に対応した統計情報を収集するためには、ルータにおける処理が複雑化することが問題になる。
【００１８】
そこで，本発明においては，統計情報を収集することを目的とした専用の機能ブロックを設ける。パケットの送受信を行う回線インタフェースは，パケットに付与されたヘッダ情報を，前記の統計情報収集処理を行う機能ブロックへ転送する。これによって，パケット転送処理と統計情報収集処理を独立した機能ブロックにおいて行う。
【００１９】
パケット転送をこのように行なうことで、多様なパケット転送方式に対応した統計情報収集処理を実現可能となり、高速、高機能なパケット通信装置が可能となる。
【００２０】
具体的には、パケット通信装置内に、パケットの負荷分散を行なう手段と、インタフェースを通過するパケットの計数手段と、計数されたパケットの統計処理を行なう統計情報収集処理部を設けて、インタフェースで受信されるパケット量を予測する。負荷分散手段は、予測されたインタフェースのトラヒックを元に負荷分散制御を行なう。
【００２１】
【発明の実施の形態】
以下、図面を用いて発明の実施の形態を説明する。
【００２２】
図６は、本発明によるパケット通信装置のネットワーク構成の一例を示すものである。
【００２３】
図６の例においては、ネットワーク１００−１から１００−１１は、パケット通信装置１−１から１−１６、サーバ２−１から２−４によって構成されている。ネットワーク１００−１、１００−２においては、パケットはＲＰＲにより転送される。ネットワーク１００−３におけるパケット転送方式は、Ｅｔｈｅｒｎｅｔにより転送される。ネットワーク１００−４、１００−５、１００−８においては、パケットはＶＬＡＮにより転送される。ネットワーク１００−６、１００−９においては、パケットはＡＴＭ（Ａｓｙｎｃｈｒｏｎｏｕｓ  Ｔｒａｎｓｆｅｒ  Ｍｏｄｅ）により転送される。ネットワーク１００−７、１００−１０、１００−１１においては、パケットはＭＰＬＳにより転送される。
【００２４】
図１は、本発明によるパケット通信装置の構成の一例を示すものである。
パケット通信装置１は、物理回線の終端、パケット転送処理を行う回線対応部１１、パケットをスイッチングするスイッチ１２、装置制御を行う制御部１３、暗号化処理等、高位レイヤ処理を行う拡張処理部１４、統計情報の収集処理を行う統計情報収集処理部１５、ならびに、制御部１３と、前記回線対応部１１、スイッチ１２、拡張処理部１４とを接続し、装置内部の制御用信号の転送を行う装置内バス１６から構成される。
【００２５】
回線対応部１１と統計情報収集処理部１５の間で転送する信号の転送方法として，スイッチ１２を経由する方法，または，バス１６を経由する方法が挙げられる。どちらの方法を用いるのが適切かは，スイッチ１２のスイッチング容量や，バス１６の転送能力，または，装置内の制御信号の情報量等により異なるが、バスを経由して信号を転送することにより、制御信号がスイッチを経由せずに流れるため、パケット通信装置１が送受信するパケットのトラヒックが過負荷な状態においても，制御信号転送によるスイッチング能力の低下を防ぐことができる。
【００２６】
図１を用いて、パケット通信装置１におけるパケット処理の流れについて説明する。回線対応部１１は、受信したパケットのヘッダ情報を検索することによって、該パケットを通信装置内におけるどの回線対応部１１、または拡張処理部１４へ転送すべきかを決定し、該パケットに、該パケットの転送先を示す装置内ヘッダを付与してスイッチ１２へ転送する。スイッチ１２では、前記パケットに付与された装置内ヘッダの情報を参照することによって、適切な回線対応部１１、または拡張処理部１４に対して該パケットをスイッチングする。回線対応部１１においては、スイッチ１２からスイッチングされたパケットに対して、物理回線へ送出するためのカプセル化処理を行い、物理回線へ該パケットを送出する。また、拡張処理部１４へパケットがスイッチングされた場合においては、拡張処理部１４は該パケットに対して、暗号化処理等の高位レイヤ処理を行う。
【００２７】
本発明によるパケット通信装置が行う負荷分散処理の一つめの例は、図２１で示されるような、回線対応部１１−１が受信したパケットに対して高位レイヤ処理を行う際、処理負荷を拡張処理部１４−１から拡張処理部１４−ｍが分散するために、回線対応部１１−１から、パケット３０−１から３０−ｍを、それぞれ拡張処理部１４−１から拡張処理部１４−ｍに対して振り分ける処理である。
ここで，本実施例では，パケットを受信し，受信パケットに付与された宛先アドレスを元に，パケットの転送先を決定し，パケットを送信する処理を基本パケット転送処理と定義する。基本パケット転送処理が扱うレイヤよりも上位のレイヤが扱う処理を高位レイヤ処理と定義する。
【００２８】
本発明によるパケット通信装置が行う負荷分散処理の二つめの例は、図６のパケット通信装置１−７によるサーバ２−１またはサーバ２−２に対するパケット振分処理、または、パケット通信装置１−８によるサーバ２−３またはサーバ２−４に対するパケット振分処理である。負荷分散処理の二つめの例においては、該サーバに接続する回線対応部に対してパケットを振り分ける処理と同義である。
【００２９】
図２は、図１で示したパケット通信装置の回線対応部１１の構成の一例を示すものである。
【００３０】
回線対応部１１は、受信パケットの物理レイヤ終端を行うレイヤ１受信処理部１１２、送信パケットの物理レイヤ終端処理を行うレイヤ１送信処理部１１３、受信パケットをバッファリングする受信バッファ１１４、送信パケットをバッファリングする送信バッファ１１５、パケットの転送先の決定、パケットへのカプセル化処理、すなわち、転送時にパケットにヘッダを付与するパケット処理エンジン１１６、パケット処理エンジン１１６が、パケットに付与されたヘッダ情報と、該パケットに対する処理の対応関係に関する情報を格納する検索テーブル１１７、スイッチとのインタフェースであるスイッチインタフェース１１８、制御部との通信インタフェースである制御部インタフェース１１９、送受信パケットに付与されているヘッダ情報を格納するヘッダ格納バッファ１２０、プロセッサ１２１、メモリ１２２から構成される。検索テーブル１１７はメモリ１２２に格納される場合もある。
【００３１】
図２を用いて回線対応部１１における受信パケットに対する処理方法について説明する。レイヤ１受信処理部１１２において、光−電気変換処理等の物理レイヤ処理を行い、受信パケットバッファ１１４でパケットをバッファリングする。パケット処理エンジン１１６では、受信パケットのヘッダ情報をキーとして、検索テーブル１１７を検索し、パケットの転送先決定、ヘッダカプセル化の処理を行う。該パケットを、別の回線対応部、または拡張処理部へ転送する際には、スイッチインタフェース１１８−１からスイッチ１２へ送出する。また、スイッチインタフェース１１８−２を経由してスイッチ１２よりパケットを受信した際には、最初に、パケットを送信パケットバッファ１１５にバッファリングする。次に、パケット処理エンジン１１６は、該パケットの先頭に付与された内部ヘッダの情報をキーに検索テーブル１１７を検索し、物理回線からパケットを送出するためのカプセル化処理を行い。レイヤ１送信処理部１１３において、電気−光変換処理等の物理レイヤ処理を行い、物理回線に対してパケットを送出する。
【００３２】
また、パケット処理エンジン１１６は、パケットに付与されたヘッダ情報を切り出してヘッダ格納バッファ１２０にバッファリングし、同時に、該パケットの長さを計数する。
【００３３】
図７は、パケットを、受信側回線対応部１１からスイッチ１２を経由して送信側回線対応部１１へ転送する際のフォーマットの一例を示すものである。回線対応部１１は、受信側回線対応部１１から送信側回線対応部１１へ転送するパケット３０１の先頭に、装置内でパケットを転送するために必要な情報を設定するための装置内ヘッダ３１０を付与する。装置内ヘッダ３１０には、パケットを、パケット通信装置１から送信するために必要となる情報、すなわち、回線対応部番号、送信側の物理ポート番号、送信側物理ポートの回線種別、パケット通信装置１からの転送先装置のＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）アドレスを設定するパケット出力情報３１１、受信側回線対応部１１に関する情報、すなわち、受信側回線対応部の番号、パケットを受信した物理ポートの番号、パケットを受信した物理ポートの回線種別を設定するパケット入力情報３１２、該パケットが、ユーザデータパケットであるか、装置内制御信号のパケットであるか等、パケットの種別を表すパケット識別子３１３、装置内におけるパケットの転送優先度３１４が設定される。パケット出力情報３１１、優先度３１４への設定値は、回線対応部１１における検索テーブル１１７の検索結果により決定する。
【００３４】
図３は、検索テーブル１１７の構成の一例を示す図である。検索テーブル１１７は、検索キー１１７１と検索結果１１７２の対応を関係を表すエントリ１１７３を設ける。図３の例においては、検索キーとして、パケットの送信元ＩＰアドレスとパケットの宛先ＩＰアドレスの組を用いている。
【００３５】
図４は、本発明によるパケット通信装置における統計情報収集処理部の構成の一例を示す図である。統計情報収集処理部１５は、回線対応部から転送されたヘッダ転送フレームを格納するデータバッファ１５１、統計情報を収集するためにヘッダ情報読み取り処理を行うヘッダ情報読み取り部１５２（ヘッダ情報の解析手段）、パケット通信装置１において受信したパケットの、フローごとのパケットの量、例えばパケット数、バイト数、ビット数を計算するデータ加算部１５３（パケット量の計数手段）、データ加算部で計算した統計情報を格納する統計テーブル１５４、統計情報収集処理部１５の制御、テーブル更新処理を行うためのプロセッサ１５５、プロセッサのプログラム領域であるメモリ１５６、スイッチとのインタフェースであるスイッチインタフェース１５７、制御部との通信インタフェースである制御部インタフェース１５８等により構成される。
【００３６】
図８は、回線対応部からヘッダ情報を統計情報収集処理部に対して転送する方法の一例として、複数パケットのヘッダ情報を多重化したフレームを回線対応部において生成し、統計情報収集処理部へ転送する際のヘッダ転送フレームのフォーマットの例を示すものである。ヘッダ転送フレーム３５は、図７で示した装置内ヘッダ３１０とヘッダ領域３７から構成される。
【００３７】
回線対応部１１は、装置内ヘッダ３１０のパケット出力情報を用いて、フレーム３５の転送先として、統計情報収集処理部１５を指定する。
【００３８】
ヘッダ領域３７は、該ヘッダが付与されていたパケットの入力ポート３７１、該ヘッダの長さ３７２、該ヘッダが付与されていたパケットの長さ３７３を設定するパケット情報部３７０、およびヘッダ情報３７４から構成される。
【００３９】
ヘッダ情報３７４の長さは、物理回線におけるパケット転送方式に関わらず、固定長にしてもよい。また、ヘッダ情報３７４の長さは、物理回線におけるパケット転送方式に応じて可変長としてもよい。  一つのヘッダ転送フレーム３５には、Ｎ個のパケットのヘッダ領域３７−１から３７−ｎが格納される。
【００４０】
図８の例のように，一つのヘッダ転送フレームに複数個のパケットのヘッダ領域を格納して転送、つまりヘッダ情報を多重化して転送することにより、回線対応部１１から統計情報収集処理部１５に対してヘッダ情報を転送することに伴うオーバヘッドを削減することが可能である。
【００４１】
図４を用いて統計情報収集処理部における統計情報収集処理を説明する。
【００４２】
回線対応部１１から転送されたヘッダ転送フレーム３５は、スイッチインタフェース１５７−１を経由してデータバッファ１５１に格納される。ヘッダ情報読み取り部１５２は、データバッファ１５７−１から、ヘッダ転送フレーム３５内のヘッダ領域３７−１から３７−Ｎの、個々のヘッダ領域を切り出す。さらに、ヘッダ情報読み取り部１５２は、それぞれのヘッダ領域３７−１から３７−Ｎについて、それぞれパケット情報部３７０−１から３７０−Ｎに設定されているパケット長、および、それぞれヘッダ情報３７４−１から３７４−Ｎに設定されている送信元アドレス、宛先アドレス等、統計情報として収集すべきフロー情報を読み出す。データ加算部は１５３、ヘッダ情報読み取り部で取り出したフロー毎のパケット数、バイト数、ビット数を加算するためのレジスタを保持する。データ加算部１５３のレジスタに書き込まれたパケット数、バイト数、ビット数は、一定時間ごとに統計テーブル１５４に書き込む。
【００４３】
図５は、統計情報収集処理部１５に設ける統計テーブル１５４の構成の一例を示すものである。統計テーブル１５４には、フローを設定するフィールド１５４１と、前記フローにおける統計情報を記録するフィールド１５４２から構成されるエントリ１５４３を設ける。図５の統計テーブル１５４の例では、フロー１５４１として、パケットの送信元ＩＰアドレスと宛先ＩＰアドレスの組としている。また、収集する統計情報の項目として、該フローの入力回線対応部の識別情報１５４２１、入力物理ポートの識別情報１５４２２、および、パケット数の総計１５４２３、パケットのバイト数の総計１５４２４としている。
【００４４】
なお、ここまでの実施の形態では、ヘッダ情報は、図２２におけるヘッダ転送フレーム３５−１、のように、回線対応部１１からスイッチ１２を経由して、統計情報収集処理部１５へ転送する場合の統計情報収集処理部の構成の一例について説明した。ヘッダ情報は、図２２におけるフレーム３５−２のように、回線対応部１１から内部バス１６を経由し、統計情報収集処理部へ１５転送することも可能である。ヘッダ情報を、回線対応部１１から装置内バス１６を経由し、統計情報収集処理部へ１５転送する際には、統計情報収集処理部は制御部インタフェース１５８を経由して、装置内バス１６との間でヘッダ情報を送受信する。
【００４５】
図１０は、図８で示したヘッダ転送フレーム３５を用いて統計情報収集処理部１５へヘッダ情報を転送する際の、回線対応部１１における処理のフローチャートを示すものである。
【００４６】
回線対応部１１が物理回線からパケットを受信（ステップ５０１０）すると、パケット処理エンジン１１６は、受信パケットバッファ１１４にバッファリングした該パケットのヘッダ部分を切り出し、ヘッダ格納バッファ１２０に格納する（ステップ５０２０）。パケット処理エンジン１１６は、パケット処理エンジンが処理したパケット数を加算するパケットカウンタを保持する。パケット処理エンジン１１６は，パケットカウンタの値Ｐｎを１増やす（ステップ５０３０）。このとき、パケットカウンタの値Ｐｎが、あらかじめ設定された値Ｎ（Ｎは２以上の整数）と合致するかどうかを判定する（ステップ５０４０）。パケットカウントの値ＰｎがＮの場合には、図４で示したヘッダ転送フレーム３５を生成し、統計情報収集処理部１５に対して転送する（ステップ５０５０）。同時にパケットカウンタの値Ｐｎをリセットし（ステップ５０６０）、処理を終了する（ステップ５０７０）。ステップ５０４０においてパケットカウンタの値ＰｎがＮではない場合には、処理を終了する（ステップ５０７０）。
【００４７】
なお、回線対応部１１から統計情報収集処理部１５に対して受信パケットのヘッダ情報を転送する際、図９に示すように、一つのフレームで単一のパケットのヘッダ情報を転送してもよい。一つのフレームで単一のパケットのヘッダ情報を転送する際には、図１０のフローチャートにおいて、ステップ５０２０の処理の後、ステップ５０５０の処理を行うことによって、ヘッダ情報を回線対応部１１から統計情報収集処理部１５へ通知する。
【００４８】
ここまでの説明では、ヘッダ情報の転送処理を、パケット通信装置１が受信したパケットに対して行う場合の実施の形態を示した。ヘッダ転送処理は、パケット通信装置１が送信するパケットに対して行うことも可能である。パケット通信装置１が送信するパケットに対して、ヘッダ転送処理を行う場合には、図１０のフローチャートのステップ５０１０において、スイッチ１２から回線対応部１１へ転送されたパケットを受信することになる。
【００４９】
ここで、パケット通信装置１が処理するパケットのフォーマットの例を説明する。
【００５０】
図１２は、Ｅｔｈｅｒｎｅｔヘッダのフォーマットを示すものである。Ｅｔｈｅｒｎｅｔヘッダ６００は、宛先ＭＡＣアドレス６０１、送信元ＭＡＣアドレス６０２、カプセル化タイプを表すＴｙｐｅフィールド６０３によって構成される。
【００５１】
Ｅｔｈｅｒｎｅｔヘッダでカプセル化されているパケットの上位プロトコルは、Ｅｔｈｅｒｎｅｔヘッダ６００のＴｙｐｅフィールド６０３の値によって、識別することが可能である。
【００５２】
図１３はＥｔｈｅｒｎｅｔヘッダによりカプセル化されたＩＰパケットのフォーマットを表す。ＥｔｈｅｒｎｅｔヘッダがＩＰパケットをカプセル化する際、Ｅｔｈｅｒｎｅｔヘッダ６００のＴｙｐｅフィールド６０３には、１６進数の値８００が設定される。これによって、Ｅｔｈｅｒｎｅｔヘッダ６００の後ろには、ＩＰヘッダ６１０が設定されていることを認識することを認識できる。
【００５３】
図１４はＩＥＥＥ８０２．１Ｑで規定されるタグＶＬＡＮパケットフォーマットを示す図である。Ｅｔｈｅｒｎｅｔヘッダ６０のＴｙｐｅフィールド６０３に、１６進数の値８１００が設定されている場合、Ｅｔｈｅｒｎｅｔヘッダ６００の後ろにＶＬＡＮタグ６２０が設定されていることを認識できる。
【００５４】
図１５はＩＥＴＦ  ＲＦＣ３０３２で規定されるＭＰＬＳ（Ｍｕｌｔｉ−Ｐｒｏｔｏｃｏｌ  Ｌａｂｅｌ  Ｓｗｉｔｃｈｉｎｇ）パケットフォーマットを示す図である。Ｅｔｈｅｒｎｅｔヘッダ６０のＴｙｐｅフィールド６０３に、１６進数の値８８４７が設定されている場合、Ｅｔｈｅｒｎｅｔヘッダ６００の後ろにＳｈｉｍヘッダ６３０が設定されていることを認識できる。
【００５５】
図１６は、ＩＥＥＥ８０２．１７委員会で標準化作業中のＲＰＲ（Ｒｅｓｉｌｉｅｎｔ  Ｐａｃｋｅｔ  Ｒｉｎｇ）のパケットフォーマットを示す図である。ＲＰＲのパケットは、ＲＰＲヘッダ６３０、Ｅｔｈｅｒｎｅｔヘッダ６００、ヘッダチェックサム６３１から構成される。
【００５６】
次に、パケット通信装置１における統計情報収集処理の実施の形態について説明する。
【００５７】
図１１は、統計情報収集処理部１５における統計情報収集処理の一例を示すフローチャートである。
【００５８】
統計情報収集処理部１５において、ヘッダ転送フレーム３５を受信する（ステップ５２１０）ことを契機として、統計情報収集処理部１５は、統計情報収集処理を起動する。次に、統計情報収集処理部１５のデータ加算部１５３は，データ加算部１５３が保持するヘッダ数カウンタの値Ｈｎを１にセットする（ステップ５２２０）。次に、ヘッダ転送フレーム３５中の先頭から１番めのヘッダ領域３７−１を切り出す（ステップ５２３０）。次に、ヘッダ領域３７−１から、ヘッダ情報を検出することにより、該ヘッダが付与されていたパケットのフロー、たとえば、送信元アドレスと宛先アドレスの組を判定する（ステップ５２４０）。ここで、ヘッダ転送フレーム３５の装置内ヘッダ３１０のパケット入力情報３１２、または、パケット情報部３１０に設定された入力ポート３７１の設定値により、統計情報収集処理部１５は、前記ヘッダ領域３７−１が付与されたパケットを受信した物理回線の種類を識別することが可能である。したがって、統計情報収集処理部１５は前記ヘッダ領域３７−１のヘッダフォーマットを把握することが可能である。次に、ステップ５２４０において、統計テーブル１５４に、前記判定したフローに関するエントリ１５４３が、既に存在するものであるかどうかを判定する（ステップ５２５０）、統計テーブル１５４に該フローのエントリが存在しない場合は、エントリを新規に追加する（ステップ５２６０）。次に、該ヘッダ領域３７の先頭に付与されたパケット情報部３７０を参照する（ステップ５２７０）。これによって、パケット情報部３７０に設定されたパケット長３７３の値から、パケットのバイト数を判定し、データ加算部１５３において、該フローのバイト数、またはビット数の値を加算する。同時に該フローのパケット数を加算する（ステップ５２８０）。これらの処理を終了後、ヘッダ数カウンタの値Ｈｎが、フレーム３５に多重されているヘッダ情報の数Ｎに一致するかどうかを判定する（ステップ５２９０）。ヘッダ数カウンタの値ＨｎがＮに一致する場合は、処理を終了する（ステップ５３００）。ヘッダ数カウンタＨｎの値がＮに一致しない場合には、ヘッダ数カウンタの値Ｈｎを１増やし（ステップ５３１０）、ステップ５２３０に戻る。その後、Ｎ番めのヘッダ領域３７−Ｎに対する処理が終了するまで、同様の処理を繰り返す。
【００５９】
次に、統計情報収集処理部１５によって、回線対応部１１に設ける検索テーブル１１７を更新する処理について説明する。
【００６０】
図１７は統計情報収集処理部における、検索テーブル更新手順の一例を示すフローチャートである。
【００６１】
統計情報収集処理部１５のプロセッサ１５５は、解析処理を起動し（ステップ５４１０）、テーブル更新対象となるフローを統計テーブル１５４から抽出する（ステップ５４１０）。次に、パケットの振分先の対象、すなわち、拡張処理部１４−１から１４−ｍに対して、ステップ５４１０で抽出したフローを割り当てる（５４２０）。次にステップ５４２０で決定したパケットの振分先ごとのフローの割り当てにしたがって、検索テーブル１１７を生成する（ステップ５４３０）。統計情報収集処理部１５は、ステップ５４３０で生成した検索テーブルを回線対応部１１に配布する（ステップ５４５０）。以上により、一連の処理を終了する（ステップ５４６０）。
【００６２】
統計情報収集処理部１５による回線対応部１１に対する検索テーブルの配布は、図２３に示すように、図７で示した装置内のパケット転送フォーマットにより、スイッチ１２、または、装置内バス１６を経由して行う。
【００６３】
図１８は、図１７のステップ５４２０における、それぞれの振分先に対してフローを割り当てるアルゴリズムの一例である。
【００６４】
プロセッサ１５５は、テーブル更新対象とするフローについて、パケット数、またはバイト数の順にしたがって、フローをソーティングする（ステップ５５１０）。次に、振分先に対して、ステップ５５１０でのソーティングしたフローの昇順、または降順に１つずつフローを割り当てる（ステップ５５２０）。ここで、拡張処理部１４−１から１４−ｍに対して、それぞれ振分先番号１からｍに対応するものとし、振分先番号１から振分先番号ｍの順にフローを割り当てるものとする。振分先番号ｍまで割り当てると、次に振分先番号ｍから振分先番号１に対して、ステップ５５１０でのソーティングしたフローの昇順、または降順に１つずつフローを割り当てる（ステップ５５３０）。ステップ５５２０、ステップ５５３０の割り当て処理を、全てのフローを割り当てるまで繰り返す（ステップ５５４０、ステップ５５５０）。
【００６５】
なお、図１７、図１８のフローチャートを用いた説明では、検索テーブルの更新処理においては、検索テーブルを更新するためのフローごとのパケット数、または、バイト数として、図５で示した統計テーブルに記録された、ある一定期間にパケット通信装置１が送信または受信したパケット数やバイト数を用いた。検索テーブルを更新するために用いるフローごとのパケット数、または、バイト数としては、過去にパケット通信装置１が収集したフローごとのパケット数、または、バイト数を元に算出した、将来のフローごとのパケット数、またはバイト数の予測値を用いることも可能である。
【００６６】
図２４は、将来のフローごとのパケット数、またはバイト数の予測値を算出するために用いる統計テーブルの構成の一例を示すものである。図２４に示す統計テーブルにおいては、収集した統計情報を、１５４２−１、１５４２−２、１５４２−３のように、それぞれ、期間ｔ１−ｔ０、期間ｔ２−ｔ１、期間ｔ３−ｔ２ごとに記録する構成になっている。
【００６７】
図２５は、将来のフローごとのパケット数、またはバイト数の予測値を算出する方法の一例を説明する図である。時間ｔ０は、統計情報の収集を開始した時刻である。また、時刻ｔ３は現在時刻であり、時刻ｔ４は、次にテーブルが更新される予定の時刻である。図２５の例では、時間ｔ０からｔ３の間、フロー（１９２．１６８．１０．５、１９２．１６８．２０．２）のパケット数は単調増加している。つまり、時間ｔ０からｔ１の期間（９１−１）における、パケット通信装置１が受信したフロー（１９２．１６８．１０．５、１９２．１６８．２０．２）のパケット数がｐ１−ｐ０（９０−１）、時間ｔ１からｔ２の期間（９１−２）における、パケット通信装置１が受信したフロー（１９２．１６８．１０．５、１９２．１６８．２０．２）のパケット数がｐ２−ｐ１（９０−２）、時間ｔ３からｔ２の期間（９１−３）における、パケット通信装置１が受信したフロー（１９２．１６８．１０．５、１９２．１６８．２０．２）のパケット数がｐ３−ｐ２（９０−３）であることを示している。
ここで、時間ｔ０からｔ３のパケット数の変動を直線９２で近似する。さらに、時間ｔ３からｔ４（９１−４）において、前記の直線９２を外挿した直線９３を求める。これにより、時間ｔ３からｔ４におけるフロー（１９２．１６８．１０．５、１９２．１６８．２０．２）のパケット数が、ｐ４−ｐ３（９０−４）であると予測することができる。ここでは、パケット量の予測方法として過去のパケット数の変化を直線で近似し、その直線を時刻ｔ４に外挿することによりパケット量の予測を行ったが、パケット量の変動がもっと複雑な場合には、種々の近似曲線、または予測手法を使用して統計予測を行っても良い。
また、過去の時点でサンプリングされたパケット量のうち、データとしていずれの時刻に収集されたパケット量を用いるかは任意に決めて良い。例えば、現在時刻ｔ３で収集されたパケット量を用いずに時刻ｔ０〜ｔ２の間で収集されたデータのみを用いて統計予測を行っても良いし、例えば、時刻ｔ１で計数されたパケット量が異常に多く、異常値と判断されるような場合には、時刻ｔ０，ｔ２，ｔ３で収集されたデータのみを用いて、時刻ｔ４でのパケット量の予測を行っても良い。更に、統計予測を行わずに、現在計測されたパケット量だけに基づいて負荷分散を行っても良い。
【００６８】
ここで、統計情報の収集処理を、独立した機能部である統計情報収集処理部において行うことの利点を説明する。
【００６９】
統計情報収集処理部１５を独立した機能部とすることの利点は、装置コストの低減を図ることにある。通常のパケット転送を行う際には、パケット通信装置において統計情報収集処理は必ずしも必要がない。一方で、負荷分散等の高機能な処理を行う際においては、統計情報収集処理を行う必要が生じる。すなわち、パケット通信装置においては、統計情報収集処理は、付加機能であるといえる。したがって、統計情報収集処理部を独立に設けることにより、必要とするユーザに対してのみ統計情報収集処理を提供することが可能となり、装置コストの低減を図ることが可能である。
【００７０】
さらに、収集する統計情報を変更する際など、統計情報収集処理部のみを変更する（制御用ソフトウェアの変更、統計情報収集処理部を構成する機能モジュールの交換等）ことにより、対応が可能である。
【００７１】
なお、パケット通信装置に複数の統計情報収集処理部を設け、回線対応部から、同一のヘッダ転送フレームを、複数の統計情報収集処理部へ転送することにより、統計情報収集処理部を冗長化し、統計情報処理の負荷分散による処理能力向上や，耐障害性向上を図ることが可能である。
【００７２】
ここまでの実施の形態では、パケット通信装置１における統計情報の収集処理を、統計情報収集処理部１５において行った上で、検索テーブル１１７を更新する方法を説明した。
（実施例２）
統計情報の収集処理を、回線対応部１１において行った上で、検索テーブル１１７を更新することも可能である。以下では、回線対応部１１において統計情報の収集処理を行った上で、検索テーブル１１７を更新する方法の実施の形態を説明する。
【００７３】
回線対応部１１での統計情報の収集方法について説明する。
【００７４】
図１９は、回線対応部１１において、統計情報を収集するための構成の一例を示す図である。パケット処理エンジン１１６は、受信パケットのヘッダ領域から、収集すべきフロー情報を読み出す。また、図示していないが、パケット処理エンジン１１６はパケットカウンタを備えており、ヘッダ情報を解析する機能とパケット量を計数する機能の両方を備えている。また、該受信パケットのバイト長、ビット長を計数する。データ加算部１２４は、パケット処理エンジン１１６が取り出したフローごとのパケット数、バイト数、ビット数を加算するためのレジスタを保持する。データ加算部１２４のレジスタに書き込まれたパケット数、バイト数、ビット数は、一定時間ごとに、図５で示した、統計情報収集処理部１５に設ける統計テーブル１５４と同じフォーマットを持つ統計テーブル１２３に書き込む。
【００７５】
検索テーブルの更新処理は、回線対応部１１が行ってもよい。また、検索テーブルの更新処理は、回線対応部１１で収集した統計情報を、制御部１３に転送することにより、制御部１３で行ってもよい。
【００７６】
回線対応部１１において、検索テーブルの更新処理を行う場合は、図１７、図１８で示したフローチャートの手順にしたがって、プロセッサ１２１が処理を行う。
【００７７】
検索テーブルの更新処理を、回線対応部が行う場合には、回線対応部１１内で処理を行うため、同一回線対応部が受信するパケットのフローのみを対象として、負荷分散の振分先の更新を行う。
【００７８】
検索テーブルの更新処理を制御部１３が行う場合には、前記の統計情報収集処理部において検索テーブルの更新処理を行う場合と同様、パケット通信装置１が受信する全てのパケットのフローを対象として、負荷分散の振分先の更新を行う。
【００７９】
検索テーブルの更新処理を制御部１３が行う場合には、制御部１３は、一定時間周期、たとえば１５分間ごとに、装置内バス１６を経由して、回線対応部１１の統計テーブル１２３を読み出すことにより、各回線対応部が収集した統計情報を集約する。
【００８０】
図２０は、制御部１３の構成の一例を示す図である。制御部１３は、プロセッサ１３１、メモリ１３２、装置内バス１６とのインタフェースである装置内バスインタフェース１３３、パケット通信装置１に対する制御装置とのインタフェースであるＬＡＮコントローラ１３４から構成される。
【００８１】
制御部１３のプロセッサ１３１は、各回線対応部１１から転送された統計情報を、統合するテーブルを、メモリ１３２上に生成する。プロセッサ１３１は、前記のメモリ１３２上に生成したテーブルを元にして、図１７のフローチャートによる手順と同様の処理を行うことにより、回線対応部１１の検索テーブル１１７の内容を更新する。制御部１３は、前記の、統計情報収集処理部１５から回線対応部１１へのテーブル転送方法と同様の処理を行うことにより、回線対応部１１に対して、更新された検索テーブル１１７の内容を転送する。
【００８２】
【発明の効果】
本発明のパケット通信装置によれば、負荷分散を行う上でのフローごとのパケットの振り分け先を、実際のトラヒックの状況に応じて、変更することが可能になる。
【００８３】
また、本発明のパケット通信装置によれば、様々な利用形態に対応した統計情報収集処理を行うことが可能になる。
【図面の簡単な説明】
【図１】本発明によるパケット通信装置の構成の一例を示す図。
【図２】本発明によるパケット通信装置における回線対応部の構成の一例を示す図。
【図３】本発明によるパケット通信装置における回線対応部に設ける検索テーブルの構成の一例を示す図。
【図４】本発明によるパケット通信装置における統計情報収集処理部の構成の一例を示す図。
【図５】本発明によるパケット通信装置における統計テーブルの構成の一例を示す図。
【図６】本発明によるパケット通信装置を適用するネットワーク構成の一例を示す図。
【図７】本発明によるパケット通信装置において、回線対応部からスイッチを経由してパケットを装置内で転送する際のフォーマットの一例を示す図。
【図８】本発明によるパケット通信装置において、回線対応部から統計情報収集処理部に対して、回線対応部が受信したパケットのヘッダ情報を転送する際のフレームフォーマットの一例を示す図。
【図９】本発明によるパケット通信装置において、回線対応部から統計情報収集処理部に対して、回線対応部が受信したパケットのヘッダ情報を転送する際のフレームフォーマットの一例を示す図。
【図１０】本発明によるパケット通信装置の回線対応部において、回線対応部が受信したパケットのヘッダ情報を統計情報収集処理部に対して転送する際の手順の一例を示すフローチャート。
【図１１】本発明によるパケット通信装置の統計情報収集処理部において、統計情報を収集する手順の一例を示すフローチャート。
【図１２】Ｅｔｈｅｒｎｅｔヘッダのフォーマットを示す図。
【図１３】ＩＰヘッダ、ＴＣＰヘッダのフォーマットを示す図。
【図１４】ＶＬＡＮのフレームフォーマットを示す図。
【図１５】Ｅｔｈｅｒｎｅｔを用いたＭＰＬＳのフレームフォーマットを示す図。
【図１６】ＲＰＲのヘッダフォーマットを示す図。
【図１７】本発明による統計情報収集処理部における検索テーブル更新手順の一例を示すフローチャート。
【図１８】本発明による統計情報収集処理部において、負荷分散の振分先を決定する手順の一例を示すフローチャート。
【図１９】本発明によるパケット通信装置における回線対応部の構成の一例を示す図。
【図２０】本発明によるパケット通信装置の制御部の構成の一例を示す図。
【図２１】本発明によるパケット通信装置における負荷分散の一例を示す図。
【図２２】本発明によるパケット通信装置におけるヘッダ情報の転送方法の一例を示す図。
【図２３】本発明によるパケット通信装置における検索テーブルを配布する方法の一例を示す図。
【図２４】本発明によるパケット通信装置における統計テーブルの構成の一例を示す図。
【図２５】本発明によるパケット通信装置において、将来のパケット数の予測値を算出方法の一例を説明する図。
【符号の説明】
１  パケット通信装置
１１  回線対応部
１２  スイッチ
１３  制御部
１４  拡張処理部
１５  統計情報収集処理部
１６  装置内バス
３０  装置内部パケット転送フォーマット
３５  ヘッダ転送フレーム
１００  ネットワーク
１１７  検索テーブル
１５４  統計テーブル
３１０  装置内ヘッダ。
【図１】
2004221805.tif 000003
【図２】
2004221805.tif 000004
【図３】
2004221805.tif 000005
【図４】
2004221805.tif 000006
【図５】
2004221805.tif 000007
【図６】
2004221805.tif 000008
【図７】
2004221805.tif 000009
【図８】
2004221805.tif 000010
【図９】
2004221805.tif 000011
【図１０】
2004221805.tif 000012
【図１１】
2004221805.tif 000013
【図１２】
2004221805.tif 000014
【図１３】
2004221805.tif 000015
【図１４】
2004221805.tif 000016
【図１５】
2004221805.tif 000017
【図１６】
2004221805.tif 000018
【図１７】
2004221805.tif 000019
【図１８】
2004221805.tif 000020
【図１９】
2004221805.tif 000021
【図２０】
2004221805.tif 000022
【図２１】
2004221805.tif 000023
【図２２】
2004221805.tif 000024
【図２３】
2004221805.tif 000025
【図２４】
2004221805.tif 000026
【図２５】
2004221805.tif 000027