(57)【要約】【課題】一つのポートに対して複数のパケット処理回路を備える中継装置において、各パケット処理回路に割り当てられている通信帯域を有効に活用すること。【解決手段】中継装置であって、複数のポートと、ポート１つに対して複数設けられる受信側回路と、ポート１つに対して複数設けられる送信側回路と、ポートに外部から入力された単位データのヘッダ情報に応じて、中継処理を受信側回路及び送信側回路に割り当てる分散部と、ヘッダ情報毎に、分散部によって割り当てられた受信側回路及び送信側回路と、当該単位データが送出されるべきポートとが登録されたフローテーブルを記憶するフロー記憶部と、を備え、受信側回路は、フローテーブルの内容に応じて、自身に入力された単位データを、所定のポートの所定の送信側回路へ伝送し、送信側回路は、受信側回路から入力された単位データを、ポートから外部へ送出する、ことを特徴とする。【選択図】図２
2011171997.tif 000002
【特許請求の範囲】
【請求項１】
複数のポートと、
前記ポート１つに対して複数設けられる受信側回路と、
前記ポート１つに対して複数設けられる送信側回路と、
前記ポートに外部から入力された単位データのヘッダ情報に応じて、中継処理を前記受信側回路及び前記送信側回路に割り当てる分散部と、
前記ヘッダ情報毎に、前記分散部によって割り当てられた前記受信側回路及び前記送信側回路と、当該単位データが送出されるべきポートとが登録されたフローテーブルを記憶するフロー記憶部と、を備え、
前記受信側回路は、前記フローテーブルの内容に応じて、自身に入力された前記単位データを、所定のポートの所定の送信側回路へ伝送し、
前記送信側回路は、前記受信側回路から入力された前記単位データを、前記ポートから外部へ送出する、
ことを特徴とする中継装置。
【請求項２】
前記ポートに外部から入力された単位データのヘッダ情報に応じた前記フローテーブルが、前記フロー記憶部に記憶されていない場合に、当該単位データのヘッダ情報に応じた新たなフローテーブルを生成し前記フロー記憶部に記憶させる登録部をさらに備え、
前記分散部は、前記登録部が新たなフローテーブルを生成した場合に前記割り当てを行う、
ことを特徴とする請求項１に記載の中継装置。
【請求項３】
前記分散部は、前記ヘッダ情報に基づいてハッシュ演算を行い、ハッシュ演算の結果に応じて前記割り当てを行うことを特徴とする請求項１又は２に記載の中継装置。
【請求項４】
複数のポートと、前記ポート１つに対して複数設けられる受信側回路と、前記ポート１つに対して複数設けられる送信側回路と、前記ヘッダ情報毎に前記受信側回路及び前記送信側回路と当該単位データが送出されるべきポートとが登録されたフローテーブルを記憶するフロー記憶部と、を備える中継装置が、
前記ポートに外部から入力された単位データのヘッダ情報に応じて、中継処理を前記受信側回路及び前記送信側回路に割り当てる分散ステップと、
前記受信側回路によって、前記フローテーブルの内容に応じて、自身に入力された前記単位データを、所定のポートの所定の送信側回路へ伝送するステップと、
前記送信側回路によって、前記受信側回路から入力された前記単位データを、前記ポートから外部へ送出するステップと、
を備える中継方法。
【請求項５】
複数のポートと、前記ポート１つに対して複数設けられる受信側回路と、前記ポート１つに対して複数設けられる送信側回路と、前記ヘッダ情報毎に前記受信側回路及び前記送信側回路と当該単位データが送出されるべきポートとが登録されたフローテーブルを記憶するフロー記憶部と、を備え、前記受信側回路は前記フローテーブルの内容に応じて自身に入力された前記単位データを所定のポートの所定の送信側回路へ伝送し、前記送信側回路は前記受信側回路から入力された前記単位データを前記ポートから外部へ送出する、ことを特徴とするコンピュータに対し、
前記ポートに外部から入力された単位データのヘッダ情報に応じて、中継処理を前記受信側回路及び前記送信側回路に割り当てる分散ステップを実行させるためのコンピュータプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワークにおいてデータを送信先へ中継する中継技術に関する。
【背景技術】
【０００２】
従来、ルーティング処理の結果をＩＰフローテーブルとして保持しておくことによってマイクロプロセッサの処理の負担を軽減する技術が提案されている（特許文献１参照）。このような技術では、ＩＰフローテーブルが登録されていた場合には、マイクロプロセッサによるルーティング処理は行われない。その代わり、ＩＰフローテーブルに示されるルーティング処理結果に基づいて、パケット処理実行回路が適切なポートへＩＰパケットを転送する。このようなパケット処理実行回路は、例えばＡＳＩＣ（Application Specific Integrated Circuit）等のハードウェアを用いて構成される。
【０００３】
このような技術が搭載された中継装置の中には、一つのポートに対して複数のＡＳＩＣを備えるものも提案されている。一つのポートに対して複数のＡＳＩＣを備える場合、新たなＩＰフローテーブルをどのＡＳＩＣに処理させるか割り当てる処理が行われる。図９は、従来のＩＰフローテーブルの割り当て方法の概略を表す図である。例えば、特定のＡＳＩＣにＩＰフローテーブルを登録させる方法や、各ＡＳＩＣに順番にＩＰフローテーブルを登録する方法が採られていた。図９の場合は、各ＡＳＩＣに対して順番にＩＰフローテーブルが割り当てられている。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２０００−２９５２７４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
しかしながら、従来のようなＩＰフローテーブルの割り当て方法では、ＩＰフローテーブルが複数のＡＳＩＣに対して均等に割り当てられていなかった。この場合、ＩＰフローテーブルが特定のＡＳＩＣに偏って割り当てられてしまう。そのため、あるＡＳＩＣでは、処理可能な通信帯域の上限にＩＰフローが達してしまうのに対して、他のＡＳＩＣでは通信帯域に余裕があるにも拘わらずＩＰフローが割り当てられないということが生じてしまっていた。すなわち、各ＡＳＩＣの通信帯域を有効活用できないという問題があった。
【０００６】
上記事情に鑑み、本発明は、一つのポートに対して複数のパケット処理回路を備える中継装置において、各パケット処理回路に割り当てられている通信帯域を有効に活用することが可能となる技術を提供することを目的としている。
【課題を解決するための手段】
【０００７】
本発明の一態様は、中継装置であって、複数のポートと、前記ポート１つに対して複数設けられる受信側回路と、前記ポート１つに対して複数設けられる送信側回路と、前記ポートに外部から入力された単位データのヘッダ情報に応じて、中継処理を前記受信側回路及び前記送信側回路に割り当てる分散部と、前記ヘッダ情報毎に、前記分散部によって割り当てられた前記受信側回路及び前記送信側回路と、当該単位データが送出されるべきポートとが登録されたフローテーブルを記憶するフロー記憶部と、を備え、前記受信側回路は、前記フローテーブルの内容に応じて、自身に入力された前記単位データを、所定のポートの所定の送信側回路へ伝送し、前記送信側回路は、前記受信側回路から入力された前記単位データを、前記ポートから外部へ送出する、ことを特徴とする。
【０００８】
本発明の一態様は、中継方法であって、複数のポートと、前記ポート１つに対して複数設けられる受信側回路と、前記ポート１つに対して複数設けられる送信側回路と、前記ヘッダ情報毎に前記受信側回路及び前記送信側回路と当該単位データが送出されるべきポートとが登録されたフローテーブルを記憶するフロー記憶部と、を備える中継装置が、前記ポートに外部から入力された単位データのヘッダ情報に応じて、中継処理を前記受信側回路及び前記送信側回路に割り当てる分散ステップと、前記受信側回路によって、前記フローテーブルの内容に応じて、自身に入力された前記単位データを、所定のポートの所定の送信側回路へ伝送するステップと、前記送信側回路によって、前記受信側回路から入力された前記単位データを、前記ポートから外部へ送出するステップと、を備える。
【０００９】
本発明の一態様は、複数のポートと、前記ポート１つに対して複数設けられる受信側回路と、前記ポート１つに対して複数設けられる送信側回路と、前記ヘッダ情報毎に前記受信側回路及び前記送信側回路と当該単位データが送出されるべきポートとが登録されたフローテーブルを記憶するフロー記憶部と、を備え、前記受信側回路は前記フローテーブルの内容に応じて自身に入力された前記単位データを所定のポートの所定の送信側回路へ伝送し、前記送信側回路は前記受信側回路から入力された前記単位データを前記ポートから外部へ送出する、ことを特徴とするコンピュータに対し、前記ポートに外部から入力された単位データのヘッダ情報に応じて、中継処理を前記受信側回路及び前記送信側回路に割り当てる分散ステップを実行させるためのコンピュータプログラムである。
【発明の効果】
【００１０】
本発明により、一つのポートに対して複数のパケット処理回路を備える中継装置において、各パケット処理回路に割り当てられている通信帯域を有効に活用することが可能となる。
【図面の簡単な説明】
【００１１】
【図１】中継装置の機能構成を表す概略ブロック図である。
【図２】受信部の機能構成を表す概略ブロック図である。
【図３】送信部の機能構成を表す概略ブロック図である。
【図４】ＩＰフローテーブルの概略を表す概略図である。
【図５】分散部の処理の概略を表す図である。
【図６】分散部による分散処理の第一のアルゴリズムの概略を表す図である。
【図７】分散部による分散処理の第二のアルゴリズムの概略を表す図である。
【図８】中継装置の動作の流れを表すフローチャートである。
【図９】従来のＩＰフローテーブルの割り当て方法の概略を表す図である。
【発明を実施するための形態】
【００１２】
図１は、中継装置１の機能構成を表す概略ブロック図である。中継装置１は、外部ネットワークからＩＰフローを受信し、外部ネットワークの所定の装置へ転送することによって、ＩＰフローの中継を行う。ＩＰフローは、同一の送信元から同一の送信先へ伝送される１以上のＩＰパケットから構成される。中継装置１は、例えばレイヤ３スイッチ等の装置として実現される。
【００１３】
中継装置１は、複数の受信部１０（１０−１〜１０−４）と、複数の送信部２０（２０−１〜２０−４）と、ルーティングテーブル記憶部３０を備える。図１では、中継装置１は受信部１０及び送信部２０をそれぞれ４つずつ備えるように図示されているが、受信部１０及び送信部２０の数はそれぞれ４つに限定されない。複数の受信部１０及び複数の送信部２０は、中継装置１に設けられたポート毎に配置される。各受信部１０は、複数の送信部２０と接続されており、外部ネットワークから受信したＩＰパケットを所定の送信部２０へ伝送する。送信部２０は、受信部１０から伝送されてきたＩＰパケットを、外部ネットワークへ送出する。ルーティングテーブル記憶部３０は、磁気記憶装置や半導体記憶装置などの記憶装置を用いて構成され、ルーティングテーブルを記憶する。
【００１４】
なお、各受信部１０が伝送するデータは、上述したＩＰパケットに限られる必要はなく、ＩＰフローを構成するＰＤＵ（Protocol Data Unit）であればどのようなデータであっても良い。以下の説明では、ＩＰパケットを例に用いる。
【００１５】
図２は、受信部１０の機能構成を表す概略ブロック図である。受信部１０は、受信ポート１０１、ＩＰフロー記憶部１０２、切り替え回路１０３、複数の受信側回路１０４（１０４−１〜１０４−６）、登録部１０５、分散部１０６を備える。受信部１０の通信帯域は、複数の受信側回路１０４に分散して割り当てられる。例えば、受信部１０の受信ポート１０１における通信帯域が１０Ｇｂｐｓである場合に、受信側回路１０４−１〜１０４−４にはそれぞれ２Ｇｂｐｓが割り当てられ、受信側回路１０４−５及び受信側回路１０４−６にはそれぞれ１Ｇｂｐｓが割り当てられても良い。
【００１６】
受信ポート１０１は、外部ネットワークとのインタフェースであり、外部ネットワークからＩＰパケットを受信する。なお、図２及び図３では、受信部１０と送信部２０にそれぞれ受信ポート１０１と送信ポート２０２が設けられているように図示されるが、受信ポート１０１と送信ポート２０２とは同一のポートとして構成されても良い。この場合、各ポートは、受信ポート１０１及び送信ポート２０２として機能する。
【００１７】
ＩＰフロー記憶部１０２は、磁気記憶装置や半導体記憶装置などの記憶装置を用いて構成され、受信部１０において既に定義されているＩＰフローテーブルを記憶する。各ＩＰフローテーブルは、複数の受信側回路１０４のいずれかに割り当てられている。切替回路１０３は、ＩＰフロー記憶部１０２に記憶されているＩＰフローテーブルの内容に応じて、受信ポート１０１によって受信されたＩＰパケットを、対応する受信側回路１０４へ伝送する。受信側回路１０４は、ＡＳＩＣ（Application Specific Integrated Circuit）やＰＬＤ（Programmable Logic Device）やＦＰＧＡ（Field Programmable Gate Array）等のハードウェアを用いて構成される。受信側回路１０４は、ＩＰフローテーブルの内容に応じて、切替回路１０３から伝送されてきたＩＰパケットを、所定の送信部２０の送信側回路２０１へ伝送する。
【００１８】
登録部１０５及び分散部１０６は、バスで接続されたＣＰＵ（Central Processing Unit）やメモリや補助記憶装置などがプログラムを実行することによって実現される。なお、登録部１０５及び分散部１０６の機能の全て又は一部は、ＡＳＩＣやＰＬＤやＦＰＧＡ等のハードウェアを用いて実現されても良い。登録部１０５は、受信ポート１０１によって受信されたＩＰパケットが、ＩＰフロー記憶部１０２に記憶されたいずれのＩＰフローテーブルにも定義されていない場合に、新たなＩＰフローテーブルを定義してＩＰフロー記憶部１０２に登録する。分散部１０６は、登録部１０５によって新たなＩＰフローテーブルが定義された場合に、新たに定義されたＩＰフローテーブルを割り当てる受信側回路１０４及び送信側回路２０１を選択する。そして、分散部１０６は、選択した受信側回路１０４及び送信側回路２０１に対して、新たに定義されたＩＰフローテーブルを割り当てる。
【００１９】
図３は、送信部２０の機能構成を表す概略ブロック図である。送信部２０は、複数の送信側回路２０１（２０１−１〜２０１−６）、送信ポート２０２を備える。送信部２０の通信帯域は、複数の送信側回路２０１に分散して割り当てられる。例えば、送信部２０の送信ポート２０２における通信帯域が１０Ｇｂｐｓである場合に、送信側回路２０１−１〜２０１−４にはそれぞれ２Ｇｂｐｓが割り当てられ、送信側回路２０１−５及び送信側回路２０１−６にはそれぞれ１Ｇｂｐｓが割り当てられても良い。
【００２０】
送信側回路２０１は、ＡＳＩＣやＰＬＤやＦＰＧＡ等のハードウェアを用いて構成される。送信側回路２０１は、受信側回路１０４から伝送されてきたＩＰパケットを、送信ポート２０２へ伝送する。送信ポート２０２は、外部ネットワークとのインタフェースであり、外部ネットワークへＩＰパケットを送出する。
【００２１】
図４は、ＩＰフローテーブルの概略を表す概略図である。ＩＰフローテーブルは、ＩＰフロー毎に定義される。ＩＰフローテーブルは、対象となるＩＰフローの宛先ＩＰアドレス、宛先ポート、送信元ＩＰアドレス、送信元ポート、受信ポート、送信ポート、受信側回路ＩＤ、送信側回路ＩＤの各値を有する。
【００２２】
宛先ＩＰアドレスは、ＩＰフローの送信先となる通信装置のＩＰアドレスを表す。宛先ポートは、ＩＰフローの送信先となる通信装置におけるポート番号を表す。送信元ＩＰアドレスは、ＩＰフローの送信元となる通信装置のＩＰアドレスを表す。送信元ポートは、ＩＰフローの送信元となる通信装置におけるポート番号を表す。
【００２３】
受信ポートは、ＩＰフローが受信された受信部１０の受信ポート１０１の識別情報を表す。例えば、中継装置１が備える受信部１０−１〜１０−４の受信ポート１０１に対して、それぞれ１０１１〜１０１４の識別情報が付与されている場合は、該当する受信ポート１０１に付与された識別情報が、ＩＰフローテーブルの受信ポートの情報として格納される。
【００２４】
送信ポートは、ＩＰフローが送出されるべき送信部２０の送信ポート２０２の識別情報を表す。例えば、中継装置１が備える送信部２０−１〜２０−４の送信ポート２０２に対して、それぞれ２０２１〜２０２４の識別情報が付与されている場合は、該当する送信ポート２０２に付与された識別情報が、ＩＰフローテーブルの送信ポートの情報として格納される。
【００２５】
受信側回路ＩＤは、分散部１０６によってＩＰフローが割り当てられた受信側回路１０４を表す識別情報を表す。例えば、中継装置１の受信部１０が備える複数の受信側回路１０４−１〜１０４−６に対して、それぞれ１０４１〜１０４６の識別情報が付与されている場合は、該当する受信側回路１０４に付与された識別情報が、ＩＰフローテーブルの受信側回路ＩＤの情報として格納される。
【００２６】
送信側回路ＩＤは、分散部１０６によってＩＰフローが割り当てられた送信側回路２０１を表す識別情報を表す。例えば、中継装置１の送信部２０が備える複数の送信側回路２０１−１〜２０１−６に対して、それぞれ２０１１〜２０１６の識別情報が付与されている場合は、該当する送信側回路２０１に付与された識別情報が、ＩＰフローテーブルの送信側回路ＩＤの情報として格納される。
【００２７】
図５は、分散部１０６の処理の概略を表す図である。登録部１０５が新たなＩＰフローテーブル１２０（１２０−１〜１２０−３）を定義してＩＰフロー記憶部１０２に登録すると、分散部１０６は、新たなＩＰフローテーブル１２０毎に分散処理を行い、割り当て先となる受信側回路１０４及び送信側回路２０１を選択する。分散処理では、分散部１０６は、処理の対象となっているＩＰフローテーブル１２０の１又は複数の値を参照し、参照した値に基づいて割り当て先を選択する。そして、分散部１０６は、選択された受信側回路１０４に対応する管理テーブル１１０（１１０−１〜１１０−６）と、選択された送信側回路１０４に対応する管理テーブルに対し、ＩＰフローテーブル１２０をリンクさせる。分散部１０６は、例えば、管理テーブル１１０に対し、ＩＰフローテーブル１２０が格納されているメモリ空間のアドレスを指すポインタを登録することによって、リンクを行う。一つの管理テーブル１１０に対し、複数のＩＰフローテーブル１２０のポインタが登録されても良い。なお、図５では、受信側回路１０４に対応する管理テーブル１１０のみを図示しているが、送信側回路２０１にも同様に管理テーブルが存在する。また、以下に示す図６においても同様である。
【００２８】
図６は、分散部１０６による分散処理の第一のアルゴリズムの概略を表す図である。第一のアルゴリズムでは、分散部１０６は、処理の対象となっているＩＰフローテーブル１２０毎に送信元ＩＰアドレスの値及び宛先ＩＰアドレスの値を参照する。そして、分散部１０６は、参照した値を用いてハッシュ値を算出し、算出されたハッシュ値に応じた受信側回路１０４及び送信側回路２０１を選択する。分散部１０６は、ハッシュ値の算出には、例えばＣＲＣ（Cyclic Redundancy Check）演算などの既存アルゴリズムを使用する。また、分散部１０６は、予めハッシュ値と受信側回路１０４及び送信側回路２０１とを対応付けたテーブルを記憶しており、このテーブルに基づいて上記の選択を行う。
【００２９】
図６に示される管理テーブル１１０−１〜１１０−６は、それぞれ受信側回路１０４−１〜１０４−６に対応する管理テーブルである。図６の場合、分散部１０６は、分散処理の結果、ＩＰフローテーブル１２０−１を管理テーブル１１０−１にリンクし、ＩＰフローテーブル１２０−２を管理テーブル１１０−３にリンクし、ＩＰフローテーブル１２０−３を管理テーブル１１０−５にリンクする。
【００３０】
図７は、分散部１０６による分散処理の第二のアルゴリズムの概略を表す図である。第二のアルゴリズムでは、分散部１０６は、処理の対象となっているＩＰフローテーブル１２０毎に受信ポートの値を参照する。そして、分散部１０６は、参照した値を用いてハッシュ値を算出し、算出されたハッシュ値に応じた送信側回路２０１を選択する。なお、この方法は、送信側回路２０１を選択する場合に使用される。したがって、受信側回路１０４を選択する際には、分散部１０６は他のアルゴリズムを用いて選択を行う。
【００３１】
図７に示される管理テーブル１１０−１〜１１０−６は、それぞれ送信側回路２０１−１〜２０１−６に対応する管理テーブルである。図７の場合、分散部１０６は、分散処理の結果、ＩＰフローテーブル１２０−１を管理テーブル１１０−１にリンクし、ＩＰフローテーブル１２０−２を管理テーブル１１０−３にリンクし、ＩＰフローテーブル１２０−３を管理テーブル１１０−４にリンクする。
【００３２】
図８は、中継装置１の動作の流れを表すフローチャートである。まず、受信ポート１０１が、外部ネットワークからＩＰパケットを受信する（ステップＳ１０１）。次に、切替回路１０３が、受信ポート１０１によって受信されたＩＰパケットのヘッダのうち、宛先ＩＰアドレス、宛先ポート、送信元ＩＰアドレス、送信元ポートの各値を参照する（ステップＳ１０２）。そして、切替回路１０３が、ステップＳ１０２で参照した全ての値が一致するＩＰフローテーブル１２０を、ＩＰフロー記憶部１０２に記憶されているＩＰフローテーブル１２０の中から検索する。このようなＩＰフローテーブル１２０が検索された場合、すなわち受信されたＩＰパケットに対応したＩＰフローテーブル１２０が定義済みである場合（ステップＳ１０３−ＹＥＳ）、切替回路１０３は、検索されたＩＰフローテーブル１２０を参照する。そして、切替回路１０３は、検索されたＩＰフローテーブル１２０の受信側回路ＩＤに対応する受信側回路１０４（例えば受信側回路１０４−１）にＩＰパケットを伝送する（ステップＳ１０６）。
【００３３】
一方、ステップＳ１０３において、上記各値の全てが一致するＩＰフローテーブル１２０が検索されなかった場合、すなわち受信されたＩＰパケットに対応したＩＰフローテーブル１２０が定義されていない場合（ステップＳ１０３−ＮＯ）、切替回路１０３は、その旨を登録部１０５へ通知する。登録部１０５は、切替回路１０３から上記通知を受けると、受信されたＩＰパケットに応じた新たなＩＰフローテーブルを登録する（ステップＳ１０４）。具体的には、登録部１０５は、受信されたＩＰパケットのヘッダから、宛先ＩＰアドレス、宛先ポート、送信元ＩＰアドレス、送信元ポートの各値を取得し、新たなＩＰフローテーブルの値として設定する。また、登録部１０５は、ルーティングテーブル記憶部３０を参照し、宛先ＩＰアドレス、宛先ポート、送信元ＩＰアドレス、送信元ポートの各値に応じて、当該ＩＰパケットを送出すべき送信ポート２０２の識別情報を判定し、ＩＰフローテーブル１２０の送信ポートの値として設定する。また、登録部１０５は、当該ＩＰパケットが受信された受信ポート１０１の識別情報を、ＩＰフローテーブル１２０の受信ポートの値として設定する。なお、この時点では、登録部１０５が新たに登録したＩＰフローテーブル１２０には、受信側回路ＩＤ及び送信側回路ＩＤの値は設定されていない。
【００３４】
次に、分散部１０６が、新たなＩＰフローテーブル１２０の割り当て先となる受信側回路１０４及び送信側回路２０１を選択する（ステップＳ１０５）。そして、分散部１０６は、新たなＩＰフローテーブル１２０の受信側回路ＩＤ及び送信側回路ＩＤの値として、選択結果に応じた値を登録する。以上の処理によって、新たなＩＰフローテーブル１２０に対して全ての値が設定されたこととなる。この後、切替回路１０３は、新たに登録されたＩＰフローテーブル１２０の受信側回路ＩＤに対応する受信側回路１０４にＩＰパケットを伝送する（ステップＳ１０６）。
【００３５】
次に、受信側回路１０４は、切替回路１０３から伝送されてきたＩＰパケットを受信すると、自身に対応する管理テーブル１１０にアクセスし、管理テーブル１１０のポインタの先にあるＩＰフローテーブル１２０を参照する。そして、伝送されてきたＩＰパケットの宛先ＩＰアドレス、宛先ポート、送信元ＩＰアドレス、送信元ポートの各値が一致するＩＰフローテーブル１２０を検索する。そして、受信側回路１０４は、検索されたＩＰフローテーブル１２０の送信ポート及び送信側回路ＩＤの各値を参照し、該当する送信部２０の送信側回路２０１に対してＩＰパケットを伝送する（ステップＳ１０７）。送信側回路２０１は、受信側回路１０４からＩＰパケットを受信すると、送信ポート２０２を介して外部ネットワークへＩＰパケットを送出する（ステップＳ１０８）。
【００３６】
このように構成された中継装置１では、複数の受信側回路１０４及び送信側回路２０１に対してＩＰフローの割り当てを行う際に、分散部１０６によって、ＩＰフローテーブル１２０の内容に基づいたハッシュ値に応じて受信側回路１０４及び送信側回路２０１が選択される。そのため、ＩＰフローが特定の受信側回路１０４や送信側回路２０１に対して偏って割り当てられてしまうことを抑止し、全ての受信側回路１０４及び送信側回路２０１に対して均等にＩＰフローを分散させることができる。したがって、各受信側回路１０４及び送信側回路２０１に割り当てられている通信帯域を有効に活用することが可能となる。
【００３７】
＜変形例＞
分散部１０６は、上述したような分散処理のアルゴリズムを複数備え、管理者などによって適宜選択可能となるように構成されても良い。このように構成されることによって、中継装置１が設置される環境や、ＩＰフローの傾向などに応じて、最適な分散処理のアルゴリズムを管理者が選択することが可能となる。したがって、最適な分散処理により、ＩＰフローを複数のＡＳＩＣチップに均等に分散させることで、各ポートの通信帯域をより有効に利用することが可能となる。
また、受信側回路１０４及び送信側回路２０１は、ＩＰパケットに対し、セキュリティに関する処理や、ＱｏＳ（Quality of Service）などに関する処理を行う様に構成されても良い。
【００３８】
以上、この発明の実施形態について図面を参照して詳述してきたが、具体的な構成はこの実施形態に限られるものではなく、この発明の要旨を逸脱しない範囲の設計等も含まれる。
【符号の説明】
【００３９】
１…中継装置，  １０…受信部，  ２０…送信部，  ３０…ルーティングテーブル記憶部，  １０１…受信ポート，  １０２…ＩＰフロー記憶部，  １０３…切替回路，  １０４…受信側回路，  １０５…登録部，  １０６…分散部，  ２０１…送信側回路，  ２０２…送信ポート
【図１】
2011171997.tif 000003
【図２】
2011171997.tif 000004
【図３】
2011171997.tif 000005
【図４】
2011171997.tif 000006
【図５】
2011171997.tif 000007
【図６】
2011171997.tif 000008
【図７】
2011171997.tif 000009
【図８】
2011171997.tif 000010
【図９】
2011171997.tif 000011