(57)【要約】【課題】ネットワーク中継装置のＣＰＵを交換することなく、ネットワーク中継装置に接続するだけで、ネットワーク中継装置のスループットを向上させる中継補助装置を提供する。【解決手段】中継補助装置は、ネットワーク中継装置におけるフレーム（パケット）の各入出力ポートに接続して使用する。中継補助装置は、ネットワーク中継装置を経由する、フロー情報（宛先ＩＰアドレス及び宛先ポート）が同じイーサネット（登録商標）フレームを複数連結して連結フレームを生成し、この連結フレームをネットワーク中継装置へ出力する。また、中継補助装置は、ネットワーク中継装置から出力された別のノード宛の連結フレームを、元の複数のイーサネット（登録商標）フレームに分割し、各イーサネット（登録商標）フレームを別のノード宛に出力する。中継補助装置は、このような処理を行うことで、ネットワーク中継装置のスループットを改善する。【選択図】図２
2008228069.tif 000002
【特許請求の範囲】
【請求項１】
ネットワーク中継装置の入出力ポートに接続する中継補助装置であって、
ネットワーク中継装置へ送られてきたフレームを一時的に記憶するフレーム記憶部と、
前記フレーム記憶部が記憶するフレームのフロー情報を確認するフロー確認部と、
前記フロー確認部が確認したフロー情報が同じフレームを複数連結して、フレームレングスが前記ネットワーク中継装置の取り扱える最大値以下となる連結フレームを生成し、その連結フレームを前記ネットワーク中継装置に出力するフレーム連結部と、
前記ネットワーク中継装置が出力した連結フレームを一時的に記憶する連結フレーム記憶部と、
前記連結フレーム記憶部が記憶する連結フレームに含まれる複数のフレームの各ヘッダ情報を確認するヘッダ確認部と、
前記ヘッダ確認部が確認したヘッダ情報に基づいて連結フレームを複数のフレームに分割し、各フレームをその宛先に送信するフレーム分割部と、
を備えたことを特徴とする中継補助装置。
【請求項２】
前記フロー確認部が確認したフロー情報を第１宛先情報として登録し、前記ヘッダ確認部が確認した複数のフレームの各ヘッダ情報に含まれるフロー情報を第２宛先情報として登録する宛先テーブルを記憶する宛先情報記憶部を備え、
前記フレーム連結部は、前記フロー確認部が確認したフレームのフロー情報が、前記宛先テーブルに前記第１宛先情報及び前記第２宛先情報として登録されていると、そのフレームをフロー情報が同じ他のフレームと連結する請求項１に記載の中継補助装置。
【請求項３】
前記フレーム連結部は、フロー情報が同じフレームを複数連結する際に、先頭のフレームのヘッダをコピーして連結フレームのヘッダとし、また、この連結フレーム全体のデータに基づいて、この連結フレームのヘッダに含まれるパケット長及びヘッダチェックサムの情報を変更するとともに、この連結フレームのフレームチェックシーケンスを生成する請求項１乃至２のいずれかに記載の中継補助装置。
【請求項４】
連結フレームの生成を開始すると、一定時間を計時するタイマを備え、
前記フレーム連結部は、フレームレングスが前記ネットワーク中継装置の取り扱える最大値以下で、かつ閾値以上の連結フレームを、一定時間以内に生成して前記ネットワーク中継装置に出力し、
連結フレームの生成を開始してから一定時間が経過した場合には、フレームレングスが閾値以下であっても、その連結フレームを前記ネットワーク中継装置に出力する請求項１乃至３のいずれかに記載の中継補助装置。
【請求項５】
前記フレーム分割部は、連結フレームを複数のフレームに分割する際に、連結フレームのレイヤ２ヘッダを、各フレームのレイヤ２ヘッダにコピーする請求項１乃至４のいずれかに記載の中継補助装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、ネットワーク中継装置の処理能力を向上させる中継補助装置に関する。
【背景技術】
【０００２】
現在、一般的に使用されている安価なルータは、メモリから読み出したソフトウェアをＣＰＵで実行することにより実現される、いわゆるソフトウェアルータである。ソフトウェアルータのフレーム（パケット）処理能力は、ＣＰＵの処理能力に依存する部分が大きい。そのため、ルータの処理能力を向上させる最も効果的な方法は、ＣＰＵの処理能力を向上させることである。
【０００３】
ＣＰＵの処理能力を向上させるためには、一般的にはＣＰＵを変更しなければならない。しかし、ルータは通常ＣＰＵを交換できる構成になっていない。そのため、ルータのＣＰＵの処理能力を向上させるためには、新たに高性能なＣＰＵを搭載した別のルータを購入して、そのルータに置き換えなければならない。
【０００４】
また、ルータは、フレームのヘッダを解釈して送信処理するので、単位時間内に処理できるフレーム数には限界があり、フレームレングスにかかわらず単位時間あたりの処理フレーム数の最大値はほぼ一定である。そのため、フレームレングスが小さくなるにつれて、単位時間あたりの処理能力（データ転送速度）であるスループットが低下する。
【０００５】
そこで、従来、ルータのスループットを向上させる構成としては、例えば、音声ＩＰパケットのリアルタイム性を損なわず、全体のスループットを向上できるゲートウェイ装置及びルータ装置があった（特許文献１参照。）。この発明では、ＩＰ通信網を用いてリアルタイム通信を行うシステムにおいて、リアルタイムパケットの通信の呼が設定されている場合にのみ、非リアルタイムパケットに対するパケット分割を行うことにより、回線使用効率（スループット）を向上できる。
【特許文献１】特開２００２−１５８７０２号公報
【発明の開示】
【発明が解決しようとする課題】
【０００６】
しかしながら、特許文献１の発明においても、さらにスループットを向上させるためには、前記のように、高性能なＣＰＵを搭載したネットワーク中継装置に交換しなければならなかった。また、取り扱うフレームの大半が、種類や宛先の異なるリアルタイムパケットの場合には、従来の装置では効率良くフレームを送信することができないことがあった。
【０００７】
そこで、本発明は、ネットワーク中継装置のＣＰＵを交換することなく、ネットワーク中継装置に接続するだけで、ネットワーク中継装置のスループットを向上させる中継補助装置を提供することを目的とする。
【課題を解決するための手段】
【０００８】
この発明は、上記の課題を解決するための手段として、以下の構成を備えている。
【０００９】
（１）ネットワーク中継装置の入出力ポートに接続する中継補助装置であって、
ネットワーク中継装置へ送られてきたフレームを一時的に記憶するフレーム記憶部と、
前記フレーム記憶部が記憶するフレームのフロー情報を確認するフロー確認部と、
前記フロー確認部が確認したフロー情報が同じフレームを複数連結して、フレームレングスが前記ネットワーク中継装置の取り扱える最大値以下となる連結フレームを生成し、その連結フレームを前記ネットワーク中継装置に出力するフレーム連結部と、
前記ネットワーク中継装置が出力した連結フレームを一時的に記憶する連結フレーム記憶部と、
前記連結フレーム記憶部が記憶する連結フレームに含まれる複数のフレームの各ヘッダ情報を確認するヘッダ確認部と、
前記ヘッダ確認部が確認したヘッダ情報に基づいて連結フレームを複数のフレームに分割し、各フレームをその宛先に送信するフレーム分割部と、
を備えたことを特徴とする。
【００１０】
ネットワーク中継装置は、フレームのヘッダ情報を解釈して送信処理するので、単位時間内に処理できるフレーム数には限界があり、フレームレングスにかかわらず単位時間あたりの処理フレーム数の最大値はほぼ一定である。そのため、フレームレングスが短くなるにつれて、単位時間あたりに処理できる情報量であるスループットが低下する傾向にある。この構成においては、中継補助装置は、ネットワーク中継装置に対して送られてきたフロー情報が同じ複数のフレームを、フレームレングスが前記ネットワーク中継装置の取り扱える最大値以下となるように連結してネットワーク中継装置に出力する。また、中継補助装置は、ネットワーク中継装置が連結フレームを出力すると、連結フレームに含まれる複数のフレームのヘッダ情報を確認し、ヘッダ情報に基づいて複数のフレームに分割し、各フレームを同じ宛先に送信する。したがって、中継補助装置をネットワーク中継装置の入出力ポートに接続することで、ネットワーク中継装置のフレーム（パケット）処理能力を向上させることができ、安定したスループットを維持できる。また、中継補助装置は、ネットワーク中継装置が出力した連結フレームを連結前の複数のフレームに分割して出力するので、他のノードでは、フレームの内部データを問題なく使用できる。ここで、フロー情報とは、宛先ＩＰアドレス及び宛先ポートである。
【００１１】
（２）前記フロー確認部が確認したフロー情報を第１宛先情報として登録し、前記ヘッダ確認部が確認した複数のフレームの各ヘッダ情報に含まれるフロー情報を第２宛先情報として登録する宛先テーブルを記憶する宛先情報記憶部を備え、
前記フレーム連結部は、前記フロー確認部が確認したフレームのフロー情報が、前記宛先テーブルに前記第１宛先情報及び前記第２宛先情報として登録されていると、そのフレームをフロー情報が同じ他のフレームと連結することを特徴とする。
【００１２】
中継補助装置のフロー確認部とヘッダ確認部のどちらか一方のみで確認されたフロー情報を含むフレームは、中継補助装置を通過するフレームではなく、例えばネットワーク中継装置宛のフレームやネットワーク中継装置から出力されたフレームである。そのため、これらのフレームをフレーム連結部で連結すると、ネットワーク中継装置では、自身宛のフレームの内部データを確認できなくなる。この構成においては、中継補助装置は、フロー確認部とヘッダ確認部が共に確認したフロー情報を含むフレームを連結対象とし、それ以外のフレームを連結しない。したがって、中継補助装置は、複数のフレームを連結するので、ネットワーク中継装置のスループットを向上させることができる。また、ネットワーク中継装置は、自身宛のフレームの内部データを問題なく使用できる。
【００１３】
（３）前記フレーム連結部は、フロー情報が同じフレームを複数連結する際に、先頭のフレームのヘッダをコピーして連結フレームのヘッダとし、また、この連結フレーム全体のデータに基づいて、この連結フレームのヘッダに含まれるパケット長及びヘッダチェックサムの情報を変更するとともに、この連結フレームのフレームチェックシーケンスを生成することを特徴とする。
【００１４】
この構成においては、フレーム連結部は、連結フレームを生成する際に、その連結フレームに応じたヘッダ情報に変更する。すなわち、フレーム連結部は、フロー情報が同じフレームを複数連結するので、先頭フレームのヘッダをコピーして、連結フレームのヘッダとし、この連結フレーム全体のデータに基づいて、この連結フレームのヘッダに含まれるパケット長及びヘッダチェックサムの情報を変更するとともに、この連結フレームのフレームチェックシーケンスを生成する。したがって、ネットワーク中継装置は、フロー情報が同じフレームを複数連結した連結フレームであっても、そのヘッダ情報を参照して指定された宛先アドレス及び宛先ポートへ適切に連結フレームを送信することができる。
【００１５】
（４）連結フレームの生成を開始すると、一定時間を計時するタイマを備え、
前記フレーム連結部は、フレームレングスが前記ネットワーク中継装置の取り扱える最大値以下で、かつ閾値以上の連結フレームを、一定時間以内に生成して前記ネットワーク中継装置に出力し、
連結フレームの生成を開始してから一定時間が経過した場合には、フレームレングスが閾値以下であっても、その連結フレームを前記ネットワーク中継装置に出力することを特徴とする。
【００１６】
この構成においては、フレーム連結部は、単体のフレームを保持したりフレームの連結を行ったりして連結フレームの生成を開始してから一定時間が経過すると、フレームレングスが閾値以下であってもその連結フレームを前記ネットワーク中継装置に出力する。したがって、連結フレームのフレームレングスが閾値を超えないために、いつまでもフレームを保持し続けて、データ送信が滞ることが無く、データの遅延をこの一定時間以内に抑制できる。
【００１７】
（５）前記フレーム分割部は、連結フレームを複数のフレームに分割する際に、連結フレームのレイヤ２ヘッダを、各フレームのレイヤ２ヘッダにコピーすることを特徴とする。
【００１８】
この構成においては、フレーム分割部は、連結フレームを複数のフレームに分割する際に、連結フレームのレイヤ２ヘッダを、各フレームのレイヤ２ヘッダにコピーして、各フレームのヘッダを適正なものに変更する。したがって、中継補助装置から出力される各フレームを問題なく、各宛先へ送信できる。
【発明の効果】
【００１９】
本発明の中継補助装置によれば、ネットワーク中継装置を経由するフロー情報が同じフレームを複数連結して、フレームレングスが、ネットワーク中継装置が扱える最大長以下の連結フレームを生成する。そして、中継補助装置は、この連結フレームをネットワーク中継装置に出力する。これにより、ネットワーク中継装置のトータルのスループットを向上させることができるので、ルータのＣＰＵを交換することなく、ルータの処理能力を向上させることができる。また、中継補助装置は、ネットワーク中継装置が出力した連結フレームを連結前の複数のフレームに分割して出力するので、他のノードでは、フレームの内部データを問題なく使用できる。
【発明を実施するための最良の形態】
【００２０】
図１は、ネットワーク中継装置及び中継補助装置を含むネットワークシステムの一例を示すブロック図である。ここで、ネットワーク中継装置とは、ノード間でやりとりされるデータを中継する装置であり、例えば、ルータ、スイッチングハブ、レイヤ３スイッチ等の装置である。
【００２１】
中継補助装置は、ネットワーク中継装置におけるフレーム（パケット）の各入出力ポートに接続して使用する。中継補助装置は、ネットワーク中継装置を経由する、フロー情報（宛先ＩＰアドレス及び宛先ポート）が同じイーサネット（登録商標）フレームを複数連結して連結フレームを生成し、この連結フレームをネットワーク中継装置へ出力する。また、中継補助装置は、ネットワーク中継装置から出力された別のノード宛の連結フレームを、元の複数のイーサネット（登録商標）フレームに分割し、各イーサネット（登録商標）フレームを別のノード宛に出力する。中継補助装置は、このような処理を行うことで、ネットワーク中継装置のスループットを改善する。
【００２２】
以下の説明では、ネットワーク中継装置の一例であるルータの各入出力ポートに中継補助装置を接続して使用する場合を例に挙げて説明する。なお、ルータ（ネットワーク中継装置）と中継補助装置は、別体に限るものではなく、ルータ（ネットワーク中継装置）が中継補助装置を内蔵する構成であっても良い。また、中継補助装置は、ＩＰアドレスやＭＡＣアドレスは付与されないものとする。以下、中継補助装置やルータを含むネットワークシステムについて説明する。
【００２３】
ネットワークシステム１は、ルータ２〜４、中継補助装置５〜１０、電話機１１、ハブ１２，１３、ＰＣ（パーソナルコンピュータ）１４〜１６、及び音声会議装置１７，１８により構成されている。ルータ２には、中継補助装置５〜８及び電話機１１が接続されている。また、ルータ３には中継補助装置９が、ルータ４には中継補助装置１０が、それぞれ接続されている。さらに、中継補助装置５，６には、それぞれハブ１２，１３が接続されている。加えて、ハブ１２にはＰＣ１４，１５と音声会議装置１７が、ハブ１３にはＰＣ１６と音声会議装置１８が、それぞれ接続されている。
【００２４】
ここで、中継補助装置は、ルータの入出力ポートにそれぞれ接続して使用する装置である。そのため、隣接するルータ間には、２台の中継補助装置が接続されることになる。例えば、図１に示すように、ルータ２，３間に中継補助装置７，９を接続し、ルータ２，４間に中継補助装置８，１０を接続している。
【００２５】
また、以下の説明では、説明を簡略化するために、主にルータ２に接続された中継補助装置５、６の間で通信する場合を例に挙げて説明する。中継補助装置５〜１０は、それぞれ同じ構成であるが、図１には中継補助装置５と中継補助装置６のみ詳細な構成を図示している。
【００２６】
ルータ２は、不図示のメモリから読み出したソフトウェアを不図示のＣＰＵで実行することにより実現されるソフトウェアルータであり、入出力ポートｐｏｒｔ１〜ｐｏｒｔ５と、電話用ポートＴＥＬ６を備えている。入出力ポートｐｏｒｔ１には中継補助装置５が、入出力ポートｐｏｒｔ２には中継補助装置６が、入出力ポートｐｏｒｔ３には中継補助装置７が、入出力ポートｐｏｒｔ４には中継補助装置８が、及び電話用ポートＴＥＬ６には電話機１１が、それぞれ接続されている。入出力ポートｐｏｒｔ５にはノードは接続されていない。ルータ２は、各入出力ポートや電話用ポートから入力されたフレーム（パケット）の宛先ＩＰアドレスを確認して、不図示のルーティングテーブルを参照し、その宛先ＩＰアドレスに応じたポートからフレーム（パケット）を送出する。
【００２７】
中継補助装置５は、ポート２１、バッファメモリ２３、フロー／フレーム認識部２５、フレーム連結部２７、タイマ２８、ポート２９、バッファメモリ３１、フレーム認識部３３、フレーム分割部３５、及び記憶部３７を備えている。中継補助装置６は、同様に、ポート４１、バッファメモリ４３、フロー／フレーム認識部４５、フレーム連結部４７、タイマ４８、ポート４９、バッファメモリ５１、フレーム認識部５３、フレーム分割部５５、及び記憶部５７を備えている。
【００２８】
ポート２１（４１）は、中継補助装置５（６）が別のノード（ネットワーク機器や端末装置等）とフレームをやりとりするためのインタフェースである。図１には、中継補助装置５のポート２１にはハブ１２を接続し、中継補助装置６のポート４１にはハブ１３を接続した場合を示している。
【００２９】
バッファメモリ２３（４３）は、他のノードからルータ２に対して送られてきたフレームやルータ２を経由するフレームを一時的に記憶する。
【００３０】
フロー／フレーム認識部２５（４５）は、バッファメモリ２３（４３）が記憶するフレームを順番に読み出して、各フレームに含まれるフロー情報（宛先のＩＰアドレス及び宛先のポート番号）を確認し、このフロー情報とともにフレーム連結部２７（４７）にフレームを出力する。
【００３１】
フレーム連結部２７（４７）は、フロー／フレーム認識部２５（４５）が確認したフロー情報に基づいて、フロー情報が同じフレームを連結する。これは、ルータは、宛先ＩＰアドレスが同じフレーム（パケット）であっても、データの種類に応じて、ルーティングが異なる場合があり、各フレームの送信効率が悪くなる可能性があるからである。
【００３２】
フレーム連結部２７（４７）は、以下の条件に基づいてフレームを連結する。すなわち、
１．フレーム連結部２７（４７）は、特定のフレームレングス（フレームレングスの閾値）以下のＩＰフレーム（ＴＣＰ／ＵＤＰ）を連結対象とする。これは、フレームの連結後に、連結フレームのレングスをルータ２が取り扱えるレングス（最大レングス）以下に留める必要があるからである。そのため、フレーム連結部２７は、特定のレングスを超えたフレームを、連結せずにそのまま出力する。
【００３３】
また、フレーム連結部２７（４７）は、上記のようにＩＰフレーム（ＴＣＰ／ＵＤＰ）のみを連結対象にしているので、例えば、FNA/SNAやAppleTalk（登録商標）等のその他のプロトコルのフレームは、連結せずにそのまま出力する。
【００３４】
２．フレーム連結部２７（４７）は、この最大レングスにできるだけ近いレングスになるように、フレームレングスが閾値以下の場合には、２つ以上のフレームを連結して連結フレームを生成する。
【００３５】
３．フレーム連結部２７（４７）は、ルータ２を経由するフレームを連結対象としている。つまり、ルータ２に接続された電話機１１等の装置が宛先である、ルータ２の内部で完結するフレームは、ＴＣＰ／ＵＤＰプロトコルのフレームであっても連結対象から除外している。そのため、フレーム連結部２７（４７）は、記憶部３７（５７）が記憶するルータ２のＩＰアドレス情報を参照して、例えばルータ２宛のフレームについては、連結処理を行わずにそのまま出力する。
【００３６】
４．フレーム連結部２７（４７）は、フロー情報が同じフレームを連結する際には、各フレームのヘッダ情報は残しておく。これにより、フレーム分割部３５（５５）で連結フレームを分割する際には、各フレームを容易に認識できる。また、フレーム連結部２７（４７）は、連結フレームにおける先頭フレームのヘッダをコピーして、連結フレームのヘッダにし、ＦＣＳ（Frame Check Sequence）のＣＲＣ（Cyclic Redundancy Check）情報として、連結フレームに応じたものを作成する。
【００３７】
例えば、一般的にイーサネット（登録商標）フレームの最大フレームレングスは１５１８バイトであり、内部データの最大レングスは１５００バイトである。また、イーサネット（登録商標）で許される最小のフレームレングスは６４バイトであり、内部データの最小レングスは４６バイトである。この場合、（［内部データの最大レングス１５００バイト］−［ＩＰフレームの最小レングス６４バイト］）＝１４３６バイト未満のフレームであれば、その直後に最小のフレームレングス６４バイトのフレームを受信した場合には、２つのフレームを連結して出力することが可能である。そのため、フレーム連結部２７（４７）には、上記のように、連結処理が可能か否かを判定するためのフレームレングスの閾値を１４３６バイトに設定する。
【００３８】
また、音声会議装置１７から音声会議装置１８へ送られる音声フレームレングスが３００バイトの場合、イーサネット（登録商標）フレームの最大長は１５１８バイトなので、３００バイトのフレームを５個まで連結可能である。一方、例えばＰＣ１４からＰＣ１６へ送られる文章データのフレームのフレームレングスが１５００バイトの場合には、前記の閾値を超えるフレームレングスであり、２つのフレームを連結すると最大長１５１８バイトを超えるため、連結せずにそのままルータ２へ出力する。
【００３９】
フレーム連結部２７（４７）は、連結フレームを生成すると、この連結フレームをポート２９（４９）からルータ２へ出力する。
【００４０】
また、フレーム連結部２７（４７）は、一定時間を計時するタイマ２８（４８）を備えており、フレーム連結部２７（４７）で、フレームレングスがルータ２の取り扱える最大値以下で、かつ閾値以上の連結フレームを、一定時間以内に生成してルータ２へ出力する。さらに、フレーム連結部２７（４７）は、フレームの連結を開始してから、フレームレングスが一定値（閾値）を超えるまでに一定時間が経過した場合には、そのフレームレングスが一定値以下であっても、そのフレームを出力する。これにより、連結フレームのフレームレングスが閾値を超えないために、いつまでもフレームを保持し続けて、データの送信が滞ることが無く、データの遅延をこの一定時間以内に抑制できる。
【００４１】
ポート２９（４９）は、中継補助装置５（６）がルータ２とフレームをやりとりするためのインタフェースである。
【００４２】
バッファメモリ３１（５１）は、ルータ２が別のノード宛に出力した連結フレームや通常のフレームを一時的に記憶する。
【００４３】
フレーム認識部３３（５３）は、バッファメモリ３１（５１）が記憶するフレームの内容を確認する。すなわち、連結フレームのヘッダ情報、及び連結フレームに含まれる各フレームのヘッダ情報を確認（認識）する。
【００４４】
フレーム分割部３５（５５）は、フレーム認識部３３（５３）が認識した連結フレーム内の各フレームのヘッダ情報に基づいて、連結フレームを元のフレームに分割して出力する。また、フレーム分割部３５（５５）は、連結フレームを分割する際に、連結フレームのヘッダ情報からレイヤ２ヘッダ情報（ＭＡＣアドレス情報）を取得して、分割後の各フレームのレイヤ２ヘッダに、連結フレームから取得したレイヤ２ヘッダ情報をコピーする。
【００４５】
記憶部３７（５７）は、ルータ２のＩＰアドレス情報や、各フレームに含まれるフロー情報や通過方向情報が登録された宛先テーブルを記憶している。
【００４６】
ここで、中継補助装置５（６）は、ルータ２を経由するイーサネット（登録商標）フレームを連結して連結フレームを生成する際には、記憶部３７（５７）に設けられた宛先テーブルを参照して、イーサネット（登録商標）フレームを連結して良いか否かを判定している。例えば、宛先ＩＰアドレスがルータ２であるフレームを連結フレーム化すると、ルータ２内で処理できなくなる。そのため、中継補助装置５（６）では、このような装置のＩＰアドレスを、記憶部３７（５７）の宛先テーブルに予めマニュアルで設定しておくことが可能である。
【００４７】
また、中継補助装置５（６）は、自身を通過するフレームに含まれるフロー情報（宛先ＩＰアドレス情報及びポート番号情報）を収集して、記憶部３７の宛先テーブルに記憶させることも可能である。この際、中継補助装置５（６）は、ルータ２の各入出力ポートに接続されている他の中継補助装置と、宛先テーブルに記録された、各中継補助装置を通過するフレームに含まれるフロー情報の同期を、定期的に行っている。これにより、ルータ２を経由するイーサネット（登録商標）フレームのフロー情報を共有化して、ルータ２を経由するイーサネット（登録商標）フレームのみを連結フレーム化することができる。
【００４８】
図２は、宛先テーブルの一例を示す図であり、（Ａ）は同期前、（Ｂ）は同期後の状態を示す図である。図２では、フロー情報が登録されている状態を１と表記し、フロー情報（宛先ＩＰアドレス及びポート番号情報）が登録されていない状態を０と表記している。中継補助装置５は、例えば、ハブ１２から出力されたフレームに含まれるフロー情報をフロー／フレーム認識部２５で収集し、このフロー情報（第１宛先情報）を記憶部３７の宛先テーブルに登録する。また、フロー／フレーム認識部２５がこのフロー情報を確認したことを、宛先テーブルの通過方向情報ＩＮに登録する。また、中継補助装置５は、ルータ２から出力されたフレームに含まれるフロー情報（宛先ＩＰアドレス及びポート番号情報）をフレーム認識部３３で収集し、このフロー情報（第２宛先情報）を記憶部３７の宛先テーブルに登録する。また、フレーム認識部３３がこのフロー情報を確認したことを、宛先テーブル通過方向情報ＯＵＴに登録する。同様に、中継補助装置６は、ポート４１，４９から入力されたフレームについて、フロー／フレーム認識部４５及びフレーム認識部５３でフロー情報を収集して、記憶部５７の宛先テーブルに登録する。また、中継補助装置７，８においても同様に、通過するフレームに含まれるフロー情報の収集、登録が行われる。
【００４９】
また、中継補助装置５〜８は、定期的に登録したフロー情報の同期を行うので、ルータ２を経由するイーサネット（登録商標）フレームのフロー情報の情報を共有化できる。例えば、図２（Ｂ）に示すように、同期を行うことにより、ルータ２を経由して別のノードに送られたフレームについては、宛先テーブルの通過方向情報ＩＮ及びＯＵＴが共に登録される（矢印で示す欄）。したがって、中継補助装置は、宛先テーブルの通過方向情報ＩＮ及びＯＵＴが共に登録されているフロー情報を含むフレームについては、連結フレーム化する。
【００５０】
一方、各中継補助装置が同期を行っても、宛先テーブルの通過方向情報ＩＮまたはＯＵＴの片方のみが登録されているフロー情報は、ルータ２か、またはルータに接続された別の機器等のものである。そのため、中継補助装置は、これらのフロー情報を含むフレームを連結フレーム化しない。
【００５１】
ここで、中継補助装置５〜８は、図１には、別体の構成の場合を実線にて示しているが、これに限らず、図１において点線で示すように一体的に構成することも可能である。この場合には、各中継補助装置に設けている記憶部は、中継補助装置全体に１つだけ設けるようにすることで、この記憶部に記憶させる宛先テーブルの情報を同期させることなく中継補助装置全体で共用できる。
【００５２】
次に、中継補助装置におけるイーサネット（登録商標）フレームの連結・分割処理について図３〜図７を用いて説明する。図３は、中継補助装置の処理を示す概念図であり、図３（Ａ）は各ヘッダの詳細構成図、図３（Ｂ）はイーサネット（登録商標）フレームの構成図、図３（Ｃ）は連結前のイーサネット（登録商標）フレームを示す図、図３（Ｄ），図３（Ｅ）は連結フレームの構成図、図３（Ｆ）は、分割後のイーサネット（登録商標）フレームを示す図、及び図３（Ｇ）はイーサネット（登録商標）フレームの構成図である。図４・図５は、中継補助装置のフレーム連結処理を説明するためのフローチャートである。図６は、ルータのフレーム処理動作を説明するためのフローチャートである。図７は、中継補助装置のフレーム分割処理を説明するためのフローチャートである。以下の説明では、音声会議装置１７からルータ２を経由して音声会議装置１８に送信されるフレームが、中継補助装置５により連結され、中継補助装置６により分割される場合を例に挙げて説明する。
【００５３】
図３（Ｂ）に示すように、イーサネット（登録商標）フレームは、先頭から、レイヤ２ヘッダ、レイヤ３ヘッダ、ＴＣＰヘッダ（またはＵＤＰヘッダ）、内部データ、及びＦＣＳ（Frame Check Sequence）の順に各データを並べた構成である。また、図３（Ａ）に示すように、レイヤ２ヘッダは、宛先ＭＡＣアドレス情報、送信元ＭＡＣアドレス情報、及びフレームタイプ情報を含んでいる。レイヤ３ヘッダは、パケット長（レングス）情報、ＴＴＬ（time to live：生存時間）、プロトコル情報、ヘッダチェックサム情報、送信元ＩＰアドレス情報、及び宛先ＩＰアドレス情報を含んでいる。ＴＣＰヘッダは、送信元ポート番号情報、宛先ポート番号情報、シーケンス番号情報、及びチェックサム情報を含んでいる。
【００５４】
図４に示すように、中継補助装置５は、ハブ１２からのフレームを受信するまで待機している（ｓ１：Ｎ）。中継補助装置５は、ハブ１２からのフレームを受信すると（ｓ１：Ｙ）、バッファメモリ２３に一時的に記憶させる（ｓ２）。
【００５５】
フロー／フレーム認識部２５は、バッファメモリ２３が記憶するフレームのＬ３ヘッダ及びＴＣＰ（ＵＤＰ）ヘッダを読み出して、フレームのフロー情報（宛先ＩＰアドレス及び宛先ポート番号）を収集し、記憶部３７の宛先テーブルにおけるこのフロー情報の有無を確認する（ｓ３）。
【００５６】
フロー／フレーム認識部２５は、宛先テーブルにこのフロー情報が無ければ（ｓ４：Ｎ）、このフロー情報と通過方向情報ＩＮを宛先テーブルに登録する（ｓ５）。続いて、フロー／フレーム認識部２５は、このフレームをフレーム連結部２７に出力し、フレーム連結部２７は、このフレームを連結することなくポート２９からルータ２へ出力する（ｓ６）。そして、中継補助装置５は、ステップｓ１以降の処理を実行する。
【００５７】
一方、フロー／フレーム認識部２５は、宛先テーブルにこのフロー情報が有る場合には（ｓ４：Ｙ）、記憶部３７が記憶する宛先テーブルのフロー情報の通過方向情報ＩＮ・ＯＵＴを読み出す（ｓ７）。
【００５８】
フロー／フレーム認識部２５は、通過方向情報ＩＮ・ＯＵＴが共に登録されていると（ｓ８：Ｙ）、続いて、このフレームのＬ３ヘッダにおけるプロトコルを確認して、ＴＣＰまたはＵＤＰプロトコルであるか否かを確認する。フロー／フレーム認識部２５は、このフレームのプロトコルがＴＣＰまたはＵＤＰであると（ｓ９：Ｙ）、さらに、そのフレームのフレームレングス（フレームレングス）が、閾値である１４３６バイト未満であるか否かを確認する（ｓ１０）。
【００５９】
フロー／フレーム認識部２５は、ＩＰフレームのフレームレングスが閾値１４３６バイト未満の場合には（ｓ１０：Ｙ）、そのフレームをフレーム連結部２７に出力する（ｓ１１）。
【００６０】
また、ステップｓ８において通過方向情報ＩＮ・ＯＵＴの一方のみが登録されている場合（ｓ８：Ｎ）、ステップｓ９においてＴＣＰ／ＵＤＰ以外のプロトコルのフレームである場合（ｓ９：Ｎ）、及びステップｓ１０においてフレームレングスが閾値以上の場合（ｓ１０：Ｎ）には、ステップｓ６の処理を行う。
【００６１】
フレーム連結部２７は、フロー／フレーム認識部２５から送られてきたフレームのフロー情報を確認し（ｓ１２）、同じフロー情報のフレームを連結中でなければ（ｓ１３：Ｎ）、そのフレームを保持するとともに、タイマ２８で計時を開始する（ｓ１４）。そして、ステップｓ１以降の処理を行う。
【００６２】
一方、フレーム連結部２７は、同じフロー情報のフレームを保持しているか、または連結中のフレームがあれば（ｓ１３：Ｙ）、このフレームまたは連結中のフレームについて計時を開始してから、一定時間が経過したか否かを確認する（ｓ１５）。フレーム連結部２７は、一定時間が経過していない場合には（ｓ１５：Ｎ）、このフレームを連結するとフレームレングスが、ルータ２が取り扱える最大長（以下、最大長と称する。）を超えるか否かを確認する（ｓ１６）。
【００６３】
連結中であるフロー情報の同じフレームの合計フレームレングスが最大長以下の場合には（ｓ１６：Ｙ）、現在フレーム連結部２７が保持しているフレームまたは連結中のフレームに対して、このフレームを連結する（ｓ１７）。そして、ステップｓ１以降の処理を行う。
【００６４】
また、連結中であるフロー情報の同じフレームの合計フレームレングスが第２閾値を超える場合に（ｓ１６：Ｎ）、現在フレーム連結部２７が保持しているのが、連結中のフレームではなく、単体のフレームの場合には（ｓ１８：Ｙ）、そのままポート２９から出力する（ｓ１９）。一方、現在フレーム連結部２７が保持しているのが連結中のフレームの場合には（ｓ１８：Ｎ）、図３（Ｄ）に示すように、連結フレームの内部データとなる先頭フレーム（図３（Ｄ）ではフレーム１）のヘッダ情報をコピーして、連結フレームのヘッダとする。また、連結フレームのフレームレングスは先頭フレームのパケット長と異なるので、レイヤ３ヘッダのフレームレングス情報と、ヘッダチェックサム情報については変更する。さらに、中継補助装置５は、連結フレームを生成する際には、連結フレーム全体の情報に基づいてＣＲＣ情報を生成して、ＦＣＳとして記録する（ｓ２０）。
【００６５】
例えば、音声会議装置１７から音声会議装置１８にルータ２を経由して、図３（Ｃ）に示したように、フレームレングス２５６バイトの音声データのフレームが連続的に送信されている場合に、バッファメモリ２３がフレーム１〜フレーム５を記憶した状態では、フレーム１〜フレーム５の合計フレームレングスは、１２８０バイト（≦１４３６バイト）である。しかし、バッファメモリ２３がフレーム１〜フレーム６を記憶した状態になると、フレーム１〜フレーム６の合計フレームレングスは、１５３６バイト（＞１４３６バイト）になり、閾値を超えた状態になる。そこで、フレーム認識部２５は、フレーム１からフレーム５までのフレームを連結して、図３（Ｄ）に示すように連結フレームの内部データを生成する。
【００６６】
また、図３（Ｃ）・（Ｄ）に示すように、フレーム１〜フレーム５をこの順に連結して連結フレームを生成する場合、先頭のフレーム１のヘッダ情報をコピーし、レイヤ３ヘッダのフレームレングス情報とヘッダチェックサム情報を変更する。そして、連結フレーム全体のチェック用にＣＲＣを生成して、ＦＣＳとして記録する。
【００６７】
なお、図３（Ｃ）・（Ｄ）に示すフレーム１〜フレーム６は、それぞれ図３（Ｂ）に示したイーサネット（登録商標）フレームの構成図のとおり、Ｌ２ヘッダ・Ｌ３ヘッダ・ＴＣＰヘッダ・内部データ・ＦＣＳから成る構成である。
【００６８】
中継補助装置５は、連結フレームを生成すると、この連結フレームをポート２９からルータ２に対して出力する（ｓ２１）。そして、ステップｓ１以降の処理を行う。
【００６９】
図６に示すように、ルータ２は、いずれかのポートからイーサネット（登録商標）フレームを受信したことを検出するまで待機しており（ｓ４１：Ｎ）、中継補助装置５が出力したイーサネット（登録商標）フレームを受信すると（ｓ４１：Ｙ）、このフレームのレイヤ２ヘッダ情報及びＦＣＳを削除して、レイヤ３ヘッダ情報のフロー情報を確認する（ｓ４２）。ルータ２は、宛先ＩＰアドレス情報がルータ２自身のＩＰアドレスであるＵＤＰパケットやＶｏＩＰパケットの場合には（ｓ４３：Ｙ）、このパケットを電話ポート６から電話機１１に出力する（ｓ４４）。そして、ルータ２は、ステップｓ４１以降の処理を行う。
【００７０】
一方、ルータ２は、宛先ＩＰアドレス情報がルータ２以外のＩＰアドレスの場合には（ｓ４３：Ｎ）、不図示のルーティングテーブル及びＡＲＰテーブルを参照して、レイヤ２ヘッダ情報のＭＡＣアドレス情報を変更する。すなわち、ルータ２自身のＭＡＣアドレス情報を送信元ＭＡＣアドレス情報に記録し、ハブ１３のＭＡＣアドレス情報を宛先ＭＡＣアドレス情報に記録する（ｓ４５）。また、ルータ２は、レイヤ３ヘッダのＴＴＬを変更し、このフレームのＣＲＣを計算してＦＣＳに記録する（ｓ４６）。そして、ルータ２は、図３（Ｅ）に示すような連結フレームをポート２から中継補助装置６へ出力する（ｓ４７）。そして、ルータ２は、ステップｓ４１以降の処理を行う。
【００７１】
図７に示すように、中継補助装置６は、フレームを受信するまで待機しており（ｓ６１：Ｎ）、ルータ２が出力した単体のフレームまたは連結フレームを受信すると（ｓ６１：Ｙ）、ルータ２が出力した単体のフレームまたは連結フレームをバッファメモリ５１で一時的に記憶する（ｓ６２）。
【００７２】
フレーム認識部５３は、バッファメモリ５１から単体のフレームまたは連結フレームを読み出して、このフレームの内部データを確認し（ｓ６３）、このフレームが連結フレームであるか否かを確認する（ｓ６４）。フレーム認識部５３は、このフレームが単体のフレームの場合には（ｓ６４：Ｎ）、フレーム分割部５５にその旨の情報とともに出力し（ｓ６５）、フレーム分割部５５は、この単体のフレームに対して分割処理を行わずにポート４１からハブ１３へ出力する（ｓ６６）。
【００７３】
一方、フレーム認識部５３は、このフレームが連結フレームの場合には（ｓ６４：Ｙ）、その旨の情報とともにこの連結フレームをフレーム分割部５５へ出力する（ｓ６７）。
【００７４】
フレーム分割部５５は、連結フレームを受け取ると、この連結フレームのレイヤ２ヘッダ情報をコピーするとともに、ヘッダ及びＦＣＳを削除する（ｓ６８）。続いて、内部データを構成する各フレームのヘッダ情報に基づいて、元のフレームに分割する（ｓ６９）。
【００７５】
例えば、図３（Ｅ），（Ｆ）に示すように、連結フレームの内部データをフレーム１〜フレーム５に分割する。また、フレーム分割部５５は、分割した各フレームのヘッダにおけるレイヤ２ヘッダ情報を、ステップｓ６８でコピーしておいた連結フレームのレイヤ２ヘッダ情報に置き換える（ｓ７０）。また、フレーム分割部５５は、各フレームのレイヤ３ヘッダにおけるＴＴＬ情報及びヘッダチェックサム情報を変更する（ｓ７１）。そして、フレーム分割部５５は、ヘッダ情報を更新した各フレームをポート４１からハブ１３へ出力する（ｓ７２）。そして、中継補助装置５は、ステップｓ６１以降の処理を実行する。
【００７６】
このように、中継補助装置５は、ルータ宛の複数のフレームについて、フロー情報が同じフレームを連結してルータに出力するので、ルータが単位時間あたりに処理できるフレーム数は決まっているが、ルータ２と中継補助装置５をトータルで見ると、処理能力（スループット）を向上させることが可能になる。
【００７７】
また、中継補助装置は、ルータ２の全てのフレーム入出力ポートに設けても、一部のフレーム入出力ポートに設けても良い。中継補助装置をルータの一部のポートに取り付ける場合には、中継補助装置を取り付けたポートに接続されるノードのＩＰアドレスを記憶部で記憶しておく必要がある。
【００７８】
また、中継補助装置は、近時、導入されつつあるギガビットイーサネット（登録商標）を用いたネットワークシステムに好適である。ルータ２，３，４が、ギガビットイーサネット（登録商標）に対応する、ジャンボフレーム（イーサネット（登録商標）標準の最大フレームサイズ１５１８バイトを超えるフレームサイズのこと。）を取り扱えるルータで、通常のイーサネット（登録商標）フレームも取り扱う場合には、本発明の中継補助装置は特に有効である。例えば、ルータ２，３，４が取り扱えるジャンボフレームの最大レングスを、一例として９０００バイトとする。この場合、中継補助装置５〜１０に対して、連結処理が可能か否かを判定するための閾値として、この９０００バイトに対応した値を設定することで、１５１８バイトのイーサネット（登録商標）フレームであっても５つのフレームを連結した連結フレームを１つのフレームとして取り扱うことができるので、各ルータのスループットを大幅に改善できる。
【００７９】
なお、以上の説明では、ネットワーク機器としてルータを用いた場合について説明したが、本発明はこれに限らず、他のネットワーク機器に中継補助装置を接続して使用することも可能である。
【図面の簡単な説明】
【００８０】
【図１】ネットワーク中継装置及び中継補助装置を含むネットワークシステムの一例を示すブロック図である。
【図２】宛先テーブルの一例を示す図である。
【図３】中継補助装置の処理を示す概念図である。
【図４】中継補助装置のフレーム連結処理を説明するためのフローチャートである。
【図５】中継補助装置のフレーム連結処理を説明するためのフローチャートである。
【図６】ルータのフレーム処理動作を説明するためのフローチャートである。
【図７】中継補助装置のフレーム分割処理を説明するためのフローチャートである。
【符号の説明】
【００８１】
１…ネットワークシステム
２，３，４…ルータ
５〜１０…中継補助装置
１２，１３…ハブ
１４〜１６…ＰＣ
１７，１８…音声会議装置
２１，４１…ポート
２３，３１，４３，５１…バッファメモリ
２５，４５…フロー／フレーム認識部
２７，４７…フレーム連結部
２８，４８…タイマ
２９，４９…ポート
３１，５１…バッファメモリ
３３，５３…フレーム認識部
３５，５５…フレーム分割部
３７，５７…記憶部
【図１】
2008228069.tif 000003
【図２】
2008228069.tif 000004
【図３】
2008228069.tif 000005
【図４】
2008228069.tif 000006
【図５】
2008228069.tif 000007
【図６】
2008228069.tif 000008
【図７】
2008228069.tif 000009