JP2008228069A - 中継補助装置 - Google Patents
中継補助装置 Download PDFInfo
- Publication number
- JP2008228069A JP2008228069A JP2007065375A JP2007065375A JP2008228069A JP 2008228069 A JP2008228069 A JP 2008228069A JP 2007065375 A JP2007065375 A JP 2007065375A JP 2007065375 A JP2007065375 A JP 2007065375A JP 2008228069 A JP2008228069 A JP 2008228069A
- Authority
- JP
- Japan
- Prior art keywords
- frame
- information
- header
- concatenated
- frames
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
【課題】ネットワーク中継装置のCPUを交換することなく、ネットワーク中継装置に接続するだけで、ネットワーク中継装置のスループットを向上させる中継補助装置を提供する。
【解決手段】中継補助装置は、ネットワーク中継装置におけるフレーム(パケット)の各入出力ポートに接続して使用する。中継補助装置は、ネットワーク中継装置を経由する、フロー情報(宛先IPアドレス及び宛先ポート)が同じイーサネット(登録商標)フレームを複数連結して連結フレームを生成し、この連結フレームをネットワーク中継装置へ出力する。また、中継補助装置は、ネットワーク中継装置から出力された別のノード宛の連結フレームを、元の複数のイーサネット(登録商標)フレームに分割し、各イーサネット(登録商標)フレームを別のノード宛に出力する。中継補助装置は、このような処理を行うことで、ネットワーク中継装置のスループットを改善する。
【選択図】図2
【解決手段】中継補助装置は、ネットワーク中継装置におけるフレーム(パケット)の各入出力ポートに接続して使用する。中継補助装置は、ネットワーク中継装置を経由する、フロー情報(宛先IPアドレス及び宛先ポート)が同じイーサネット(登録商標)フレームを複数連結して連結フレームを生成し、この連結フレームをネットワーク中継装置へ出力する。また、中継補助装置は、ネットワーク中継装置から出力された別のノード宛の連結フレームを、元の複数のイーサネット(登録商標)フレームに分割し、各イーサネット(登録商標)フレームを別のノード宛に出力する。中継補助装置は、このような処理を行うことで、ネットワーク中継装置のスループットを改善する。
【選択図】図2
Description
本発明は、ネットワーク中継装置の処理能力を向上させる中継補助装置に関する。
現在、一般的に使用されている安価なルータは、メモリから読み出したソフトウェアをCPUで実行することにより実現される、いわゆるソフトウェアルータである。ソフトウェアルータのフレーム(パケット)処理能力は、CPUの処理能力に依存する部分が大きい。そのため、ルータの処理能力を向上させる最も効果的な方法は、CPUの処理能力を向上させることである。
CPUの処理能力を向上させるためには、一般的にはCPUを変更しなければならない。しかし、ルータは通常CPUを交換できる構成になっていない。そのため、ルータのCPUの処理能力を向上させるためには、新たに高性能なCPUを搭載した別のルータを購入して、そのルータに置き換えなければならない。
また、ルータは、フレームのヘッダを解釈して送信処理するので、単位時間内に処理できるフレーム数には限界があり、フレームレングスにかかわらず単位時間あたりの処理フレーム数の最大値はほぼ一定である。そのため、フレームレングスが小さくなるにつれて、単位時間あたりの処理能力(データ転送速度)であるスループットが低下する。
そこで、従来、ルータのスループットを向上させる構成としては、例えば、音声IPパケットのリアルタイム性を損なわず、全体のスループットを向上できるゲートウェイ装置及びルータ装置があった(特許文献1参照。)。この発明では、IP通信網を用いてリアルタイム通信を行うシステムにおいて、リアルタイムパケットの通信の呼が設定されている場合にのみ、非リアルタイムパケットに対するパケット分割を行うことにより、回線使用効率(スループット)を向上できる。
特開2002−158702号公報
しかしながら、特許文献1の発明においても、さらにスループットを向上させるためには、前記のように、高性能なCPUを搭載したネットワーク中継装置に交換しなければならなかった。また、取り扱うフレームの大半が、種類や宛先の異なるリアルタイムパケットの場合には、従来の装置では効率良くフレームを送信することができないことがあった。
そこで、本発明は、ネットワーク中継装置のCPUを交換することなく、ネットワーク中継装置に接続するだけで、ネットワーク中継装置のスループットを向上させる中継補助装置を提供することを目的とする。
この発明は、上記の課題を解決するための手段として、以下の構成を備えている。
(1)ネットワーク中継装置の入出力ポートに接続する中継補助装置であって、
ネットワーク中継装置へ送られてきたフレームを一時的に記憶するフレーム記憶部と、
前記フレーム記憶部が記憶するフレームのフロー情報を確認するフロー確認部と、
前記フロー確認部が確認したフロー情報が同じフレームを複数連結して、フレームレングスが前記ネットワーク中継装置の取り扱える最大値以下となる連結フレームを生成し、その連結フレームを前記ネットワーク中継装置に出力するフレーム連結部と、
前記ネットワーク中継装置が出力した連結フレームを一時的に記憶する連結フレーム記憶部と、
前記連結フレーム記憶部が記憶する連結フレームに含まれる複数のフレームの各ヘッダ情報を確認するヘッダ確認部と、
前記ヘッダ確認部が確認したヘッダ情報に基づいて連結フレームを複数のフレームに分割し、各フレームをその宛先に送信するフレーム分割部と、
を備えたことを特徴とする。
ネットワーク中継装置へ送られてきたフレームを一時的に記憶するフレーム記憶部と、
前記フレーム記憶部が記憶するフレームのフロー情報を確認するフロー確認部と、
前記フロー確認部が確認したフロー情報が同じフレームを複数連結して、フレームレングスが前記ネットワーク中継装置の取り扱える最大値以下となる連結フレームを生成し、その連結フレームを前記ネットワーク中継装置に出力するフレーム連結部と、
前記ネットワーク中継装置が出力した連結フレームを一時的に記憶する連結フレーム記憶部と、
前記連結フレーム記憶部が記憶する連結フレームに含まれる複数のフレームの各ヘッダ情報を確認するヘッダ確認部と、
前記ヘッダ確認部が確認したヘッダ情報に基づいて連結フレームを複数のフレームに分割し、各フレームをその宛先に送信するフレーム分割部と、
を備えたことを特徴とする。
ネットワーク中継装置は、フレームのヘッダ情報を解釈して送信処理するので、単位時間内に処理できるフレーム数には限界があり、フレームレングスにかかわらず単位時間あたりの処理フレーム数の最大値はほぼ一定である。そのため、フレームレングスが短くなるにつれて、単位時間あたりに処理できる情報量であるスループットが低下する傾向にある。この構成においては、中継補助装置は、ネットワーク中継装置に対して送られてきたフロー情報が同じ複数のフレームを、フレームレングスが前記ネットワーク中継装置の取り扱える最大値以下となるように連結してネットワーク中継装置に出力する。また、中継補助装置は、ネットワーク中継装置が連結フレームを出力すると、連結フレームに含まれる複数のフレームのヘッダ情報を確認し、ヘッダ情報に基づいて複数のフレームに分割し、各フレームを同じ宛先に送信する。したがって、中継補助装置をネットワーク中継装置の入出力ポートに接続することで、ネットワーク中継装置のフレーム(パケット)処理能力を向上させることができ、安定したスループットを維持できる。また、中継補助装置は、ネットワーク中継装置が出力した連結フレームを連結前の複数のフレームに分割して出力するので、他のノードでは、フレームの内部データを問題なく使用できる。ここで、フロー情報とは、宛先IPアドレス及び宛先ポートである。
(2)前記フロー確認部が確認したフロー情報を第1宛先情報として登録し、前記ヘッダ確認部が確認した複数のフレームの各ヘッダ情報に含まれるフロー情報を第2宛先情報として登録する宛先テーブルを記憶する宛先情報記憶部を備え、
前記フレーム連結部は、前記フロー確認部が確認したフレームのフロー情報が、前記宛先テーブルに前記第1宛先情報及び前記第2宛先情報として登録されていると、そのフレームをフロー情報が同じ他のフレームと連結することを特徴とする。
前記フレーム連結部は、前記フロー確認部が確認したフレームのフロー情報が、前記宛先テーブルに前記第1宛先情報及び前記第2宛先情報として登録されていると、そのフレームをフロー情報が同じ他のフレームと連結することを特徴とする。
中継補助装置のフロー確認部とヘッダ確認部のどちらか一方のみで確認されたフロー情報を含むフレームは、中継補助装置を通過するフレームではなく、例えばネットワーク中継装置宛のフレームやネットワーク中継装置から出力されたフレームである。そのため、これらのフレームをフレーム連結部で連結すると、ネットワーク中継装置では、自身宛のフレームの内部データを確認できなくなる。この構成においては、中継補助装置は、フロー確認部とヘッダ確認部が共に確認したフロー情報を含むフレームを連結対象とし、それ以外のフレームを連結しない。したがって、中継補助装置は、複数のフレームを連結するので、ネットワーク中継装置のスループットを向上させることができる。また、ネットワーク中継装置は、自身宛のフレームの内部データを問題なく使用できる。
(3)前記フレーム連結部は、フロー情報が同じフレームを複数連結する際に、先頭のフレームのヘッダをコピーして連結フレームのヘッダとし、また、この連結フレーム全体のデータに基づいて、この連結フレームのヘッダに含まれるパケット長及びヘッダチェックサムの情報を変更するとともに、この連結フレームのフレームチェックシーケンスを生成することを特徴とする。
この構成においては、フレーム連結部は、連結フレームを生成する際に、その連結フレームに応じたヘッダ情報に変更する。すなわち、フレーム連結部は、フロー情報が同じフレームを複数連結するので、先頭フレームのヘッダをコピーして、連結フレームのヘッダとし、この連結フレーム全体のデータに基づいて、この連結フレームのヘッダに含まれるパケット長及びヘッダチェックサムの情報を変更するとともに、この連結フレームのフレームチェックシーケンスを生成する。したがって、ネットワーク中継装置は、フロー情報が同じフレームを複数連結した連結フレームであっても、そのヘッダ情報を参照して指定された宛先アドレス及び宛先ポートへ適切に連結フレームを送信することができる。
(4)連結フレームの生成を開始すると、一定時間を計時するタイマを備え、
前記フレーム連結部は、フレームレングスが前記ネットワーク中継装置の取り扱える最大値以下で、かつ閾値以上の連結フレームを、一定時間以内に生成して前記ネットワーク中継装置に出力し、
連結フレームの生成を開始してから一定時間が経過した場合には、フレームレングスが閾値以下であっても、その連結フレームを前記ネットワーク中継装置に出力することを特徴とする。
前記フレーム連結部は、フレームレングスが前記ネットワーク中継装置の取り扱える最大値以下で、かつ閾値以上の連結フレームを、一定時間以内に生成して前記ネットワーク中継装置に出力し、
連結フレームの生成を開始してから一定時間が経過した場合には、フレームレングスが閾値以下であっても、その連結フレームを前記ネットワーク中継装置に出力することを特徴とする。
この構成においては、フレーム連結部は、単体のフレームを保持したりフレームの連結を行ったりして連結フレームの生成を開始してから一定時間が経過すると、フレームレングスが閾値以下であってもその連結フレームを前記ネットワーク中継装置に出力する。したがって、連結フレームのフレームレングスが閾値を超えないために、いつまでもフレームを保持し続けて、データ送信が滞ることが無く、データの遅延をこの一定時間以内に抑制できる。
(5)前記フレーム分割部は、連結フレームを複数のフレームに分割する際に、連結フレームのレイヤ2ヘッダを、各フレームのレイヤ2ヘッダにコピーすることを特徴とする。
この構成においては、フレーム分割部は、連結フレームを複数のフレームに分割する際に、連結フレームのレイヤ2ヘッダを、各フレームのレイヤ2ヘッダにコピーして、各フレームのヘッダを適正なものに変更する。したがって、中継補助装置から出力される各フレームを問題なく、各宛先へ送信できる。
本発明の中継補助装置によれば、ネットワーク中継装置を経由するフロー情報が同じフレームを複数連結して、フレームレングスが、ネットワーク中継装置が扱える最大長以下の連結フレームを生成する。そして、中継補助装置は、この連結フレームをネットワーク中継装置に出力する。これにより、ネットワーク中継装置のトータルのスループットを向上させることができるので、ルータのCPUを交換することなく、ルータの処理能力を向上させることができる。また、中継補助装置は、ネットワーク中継装置が出力した連結フレームを連結前の複数のフレームに分割して出力するので、他のノードでは、フレームの内部データを問題なく使用できる。
図1は、ネットワーク中継装置及び中継補助装置を含むネットワークシステムの一例を示すブロック図である。ここで、ネットワーク中継装置とは、ノード間でやりとりされるデータを中継する装置であり、例えば、ルータ、スイッチングハブ、レイヤ3スイッチ等の装置である。
中継補助装置は、ネットワーク中継装置におけるフレーム(パケット)の各入出力ポートに接続して使用する。中継補助装置は、ネットワーク中継装置を経由する、フロー情報(宛先IPアドレス及び宛先ポート)が同じイーサネット(登録商標)フレームを複数連結して連結フレームを生成し、この連結フレームをネットワーク中継装置へ出力する。また、中継補助装置は、ネットワーク中継装置から出力された別のノード宛の連結フレームを、元の複数のイーサネット(登録商標)フレームに分割し、各イーサネット(登録商標)フレームを別のノード宛に出力する。中継補助装置は、このような処理を行うことで、ネットワーク中継装置のスループットを改善する。
以下の説明では、ネットワーク中継装置の一例であるルータの各入出力ポートに中継補助装置を接続して使用する場合を例に挙げて説明する。なお、ルータ(ネットワーク中継装置)と中継補助装置は、別体に限るものではなく、ルータ(ネットワーク中継装置)が中継補助装置を内蔵する構成であっても良い。また、中継補助装置は、IPアドレスやMACアドレスは付与されないものとする。以下、中継補助装置やルータを含むネットワークシステムについて説明する。
ネットワークシステム1は、ルータ2〜4、中継補助装置5〜10、電話機11、ハブ12,13、PC(パーソナルコンピュータ)14〜16、及び音声会議装置17,18により構成されている。ルータ2には、中継補助装置5〜8及び電話機11が接続されている。また、ルータ3には中継補助装置9が、ルータ4には中継補助装置10が、それぞれ接続されている。さらに、中継補助装置5,6には、それぞれハブ12,13が接続されている。加えて、ハブ12にはPC14,15と音声会議装置17が、ハブ13にはPC16と音声会議装置18が、それぞれ接続されている。
ここで、中継補助装置は、ルータの入出力ポートにそれぞれ接続して使用する装置である。そのため、隣接するルータ間には、2台の中継補助装置が接続されることになる。例えば、図1に示すように、ルータ2,3間に中継補助装置7,9を接続し、ルータ2,4間に中継補助装置8,10を接続している。
また、以下の説明では、説明を簡略化するために、主にルータ2に接続された中継補助装置5、6の間で通信する場合を例に挙げて説明する。中継補助装置5〜10は、それぞれ同じ構成であるが、図1には中継補助装置5と中継補助装置6のみ詳細な構成を図示している。
ルータ2は、不図示のメモリから読み出したソフトウェアを不図示のCPUで実行することにより実現されるソフトウェアルータであり、入出力ポートport1〜port5と、電話用ポートTEL6を備えている。入出力ポートport1には中継補助装置5が、入出力ポートport2には中継補助装置6が、入出力ポートport3には中継補助装置7が、入出力ポートport4には中継補助装置8が、及び電話用ポートTEL6には電話機11が、それぞれ接続されている。入出力ポートport5にはノードは接続されていない。ルータ2は、各入出力ポートや電話用ポートから入力されたフレーム(パケット)の宛先IPアドレスを確認して、不図示のルーティングテーブルを参照し、その宛先IPアドレスに応じたポートからフレーム(パケット)を送出する。
中継補助装置5は、ポート21、バッファメモリ23、フロー/フレーム認識部25、フレーム連結部27、タイマ28、ポート29、バッファメモリ31、フレーム認識部33、フレーム分割部35、及び記憶部37を備えている。中継補助装置6は、同様に、ポート41、バッファメモリ43、フロー/フレーム認識部45、フレーム連結部47、タイマ48、ポート49、バッファメモリ51、フレーム認識部53、フレーム分割部55、及び記憶部57を備えている。
ポート21(41)は、中継補助装置5(6)が別のノード(ネットワーク機器や端末装置等)とフレームをやりとりするためのインタフェースである。図1には、中継補助装置5のポート21にはハブ12を接続し、中継補助装置6のポート41にはハブ13を接続した場合を示している。
バッファメモリ23(43)は、他のノードからルータ2に対して送られてきたフレームやルータ2を経由するフレームを一時的に記憶する。
フロー/フレーム認識部25(45)は、バッファメモリ23(43)が記憶するフレームを順番に読み出して、各フレームに含まれるフロー情報(宛先のIPアドレス及び宛先のポート番号)を確認し、このフロー情報とともにフレーム連結部27(47)にフレームを出力する。
フレーム連結部27(47)は、フロー/フレーム認識部25(45)が確認したフロー情報に基づいて、フロー情報が同じフレームを連結する。これは、ルータは、宛先IPアドレスが同じフレーム(パケット)であっても、データの種類に応じて、ルーティングが異なる場合があり、各フレームの送信効率が悪くなる可能性があるからである。
フレーム連結部27(47)は、以下の条件に基づいてフレームを連結する。すなわち、
1.フレーム連結部27(47)は、特定のフレームレングス(フレームレングスの閾値)以下のIPフレーム(TCP/UDP)を連結対象とする。これは、フレームの連結後に、連結フレームのレングスをルータ2が取り扱えるレングス(最大レングス)以下に留める必要があるからである。そのため、フレーム連結部27は、特定のレングスを超えたフレームを、連結せずにそのまま出力する。
1.フレーム連結部27(47)は、特定のフレームレングス(フレームレングスの閾値)以下のIPフレーム(TCP/UDP)を連結対象とする。これは、フレームの連結後に、連結フレームのレングスをルータ2が取り扱えるレングス(最大レングス)以下に留める必要があるからである。そのため、フレーム連結部27は、特定のレングスを超えたフレームを、連結せずにそのまま出力する。
また、フレーム連結部27(47)は、上記のようにIPフレーム(TCP/UDP)のみを連結対象にしているので、例えば、FNA/SNAやAppleTalk(登録商標)等のその他のプロトコルのフレームは、連結せずにそのまま出力する。
2.フレーム連結部27(47)は、この最大レングスにできるだけ近いレングスになるように、フレームレングスが閾値以下の場合には、2つ以上のフレームを連結して連結フレームを生成する。
3.フレーム連結部27(47)は、ルータ2を経由するフレームを連結対象としている。つまり、ルータ2に接続された電話機11等の装置が宛先である、ルータ2の内部で完結するフレームは、TCP/UDPプロトコルのフレームであっても連結対象から除外している。そのため、フレーム連結部27(47)は、記憶部37(57)が記憶するルータ2のIPアドレス情報を参照して、例えばルータ2宛のフレームについては、連結処理を行わずにそのまま出力する。
4.フレーム連結部27(47)は、フロー情報が同じフレームを連結する際には、各フレームのヘッダ情報は残しておく。これにより、フレーム分割部35(55)で連結フレームを分割する際には、各フレームを容易に認識できる。また、フレーム連結部27(47)は、連結フレームにおける先頭フレームのヘッダをコピーして、連結フレームのヘッダにし、FCS(Frame Check Sequence)のCRC(Cyclic Redundancy Check)情報として、連結フレームに応じたものを作成する。
例えば、一般的にイーサネット(登録商標)フレームの最大フレームレングスは1518バイトであり、内部データの最大レングスは1500バイトである。また、イーサネット(登録商標)で許される最小のフレームレングスは64バイトであり、内部データの最小レングスは46バイトである。この場合、([内部データの最大レングス1500バイト]−[IPフレームの最小レングス64バイト])=1436バイト未満のフレームであれば、その直後に最小のフレームレングス64バイトのフレームを受信した場合には、2つのフレームを連結して出力することが可能である。そのため、フレーム連結部27(47)には、上記のように、連結処理が可能か否かを判定するためのフレームレングスの閾値を1436バイトに設定する。
また、音声会議装置17から音声会議装置18へ送られる音声フレームレングスが300バイトの場合、イーサネット(登録商標)フレームの最大長は1518バイトなので、300バイトのフレームを5個まで連結可能である。一方、例えばPC14からPC16へ送られる文章データのフレームのフレームレングスが1500バイトの場合には、前記の閾値を超えるフレームレングスであり、2つのフレームを連結すると最大長1518バイトを超えるため、連結せずにそのままルータ2へ出力する。
フレーム連結部27(47)は、連結フレームを生成すると、この連結フレームをポート29(49)からルータ2へ出力する。
また、フレーム連結部27(47)は、一定時間を計時するタイマ28(48)を備えており、フレーム連結部27(47)で、フレームレングスがルータ2の取り扱える最大値以下で、かつ閾値以上の連結フレームを、一定時間以内に生成してルータ2へ出力する。さらに、フレーム連結部27(47)は、フレームの連結を開始してから、フレームレングスが一定値(閾値)を超えるまでに一定時間が経過した場合には、そのフレームレングスが一定値以下であっても、そのフレームを出力する。これにより、連結フレームのフレームレングスが閾値を超えないために、いつまでもフレームを保持し続けて、データの送信が滞ることが無く、データの遅延をこの一定時間以内に抑制できる。
ポート29(49)は、中継補助装置5(6)がルータ2とフレームをやりとりするためのインタフェースである。
バッファメモリ31(51)は、ルータ2が別のノード宛に出力した連結フレームや通常のフレームを一時的に記憶する。
フレーム認識部33(53)は、バッファメモリ31(51)が記憶するフレームの内容を確認する。すなわち、連結フレームのヘッダ情報、及び連結フレームに含まれる各フレームのヘッダ情報を確認(認識)する。
フレーム分割部35(55)は、フレーム認識部33(53)が認識した連結フレーム内の各フレームのヘッダ情報に基づいて、連結フレームを元のフレームに分割して出力する。また、フレーム分割部35(55)は、連結フレームを分割する際に、連結フレームのヘッダ情報からレイヤ2ヘッダ情報(MACアドレス情報)を取得して、分割後の各フレームのレイヤ2ヘッダに、連結フレームから取得したレイヤ2ヘッダ情報をコピーする。
記憶部37(57)は、ルータ2のIPアドレス情報や、各フレームに含まれるフロー情報や通過方向情報が登録された宛先テーブルを記憶している。
ここで、中継補助装置5(6)は、ルータ2を経由するイーサネット(登録商標)フレームを連結して連結フレームを生成する際には、記憶部37(57)に設けられた宛先テーブルを参照して、イーサネット(登録商標)フレームを連結して良いか否かを判定している。例えば、宛先IPアドレスがルータ2であるフレームを連結フレーム化すると、ルータ2内で処理できなくなる。そのため、中継補助装置5(6)では、このような装置のIPアドレスを、記憶部37(57)の宛先テーブルに予めマニュアルで設定しておくことが可能である。
また、中継補助装置5(6)は、自身を通過するフレームに含まれるフロー情報(宛先IPアドレス情報及びポート番号情報)を収集して、記憶部37の宛先テーブルに記憶させることも可能である。この際、中継補助装置5(6)は、ルータ2の各入出力ポートに接続されている他の中継補助装置と、宛先テーブルに記録された、各中継補助装置を通過するフレームに含まれるフロー情報の同期を、定期的に行っている。これにより、ルータ2を経由するイーサネット(登録商標)フレームのフロー情報を共有化して、ルータ2を経由するイーサネット(登録商標)フレームのみを連結フレーム化することができる。
図2は、宛先テーブルの一例を示す図であり、(A)は同期前、(B)は同期後の状態を示す図である。図2では、フロー情報が登録されている状態を1と表記し、フロー情報(宛先IPアドレス及びポート番号情報)が登録されていない状態を0と表記している。中継補助装置5は、例えば、ハブ12から出力されたフレームに含まれるフロー情報をフロー/フレーム認識部25で収集し、このフロー情報(第1宛先情報)を記憶部37の宛先テーブルに登録する。また、フロー/フレーム認識部25がこのフロー情報を確認したことを、宛先テーブルの通過方向情報INに登録する。また、中継補助装置5は、ルータ2から出力されたフレームに含まれるフロー情報(宛先IPアドレス及びポート番号情報)をフレーム認識部33で収集し、このフロー情報(第2宛先情報)を記憶部37の宛先テーブルに登録する。また、フレーム認識部33がこのフロー情報を確認したことを、宛先テーブル通過方向情報OUTに登録する。同様に、中継補助装置6は、ポート41,49から入力されたフレームについて、フロー/フレーム認識部45及びフレーム認識部53でフロー情報を収集して、記憶部57の宛先テーブルに登録する。また、中継補助装置7,8においても同様に、通過するフレームに含まれるフロー情報の収集、登録が行われる。
また、中継補助装置5〜8は、定期的に登録したフロー情報の同期を行うので、ルータ2を経由するイーサネット(登録商標)フレームのフロー情報の情報を共有化できる。例えば、図2(B)に示すように、同期を行うことにより、ルータ2を経由して別のノードに送られたフレームについては、宛先テーブルの通過方向情報IN及びOUTが共に登録される(矢印で示す欄)。したがって、中継補助装置は、宛先テーブルの通過方向情報IN及びOUTが共に登録されているフロー情報を含むフレームについては、連結フレーム化する。
一方、各中継補助装置が同期を行っても、宛先テーブルの通過方向情報INまたはOUTの片方のみが登録されているフロー情報は、ルータ2か、またはルータに接続された別の機器等のものである。そのため、中継補助装置は、これらのフロー情報を含むフレームを連結フレーム化しない。
ここで、中継補助装置5〜8は、図1には、別体の構成の場合を実線にて示しているが、これに限らず、図1において点線で示すように一体的に構成することも可能である。この場合には、各中継補助装置に設けている記憶部は、中継補助装置全体に1つだけ設けるようにすることで、この記憶部に記憶させる宛先テーブルの情報を同期させることなく中継補助装置全体で共用できる。
次に、中継補助装置におけるイーサネット(登録商標)フレームの連結・分割処理について図3〜図7を用いて説明する。図3は、中継補助装置の処理を示す概念図であり、図3(A)は各ヘッダの詳細構成図、図3(B)はイーサネット(登録商標)フレームの構成図、図3(C)は連結前のイーサネット(登録商標)フレームを示す図、図3(D),図3(E)は連結フレームの構成図、図3(F)は、分割後のイーサネット(登録商標)フレームを示す図、及び図3(G)はイーサネット(登録商標)フレームの構成図である。図4・図5は、中継補助装置のフレーム連結処理を説明するためのフローチャートである。図6は、ルータのフレーム処理動作を説明するためのフローチャートである。図7は、中継補助装置のフレーム分割処理を説明するためのフローチャートである。以下の説明では、音声会議装置17からルータ2を経由して音声会議装置18に送信されるフレームが、中継補助装置5により連結され、中継補助装置6により分割される場合を例に挙げて説明する。
図3(B)に示すように、イーサネット(登録商標)フレームは、先頭から、レイヤ2ヘッダ、レイヤ3ヘッダ、TCPヘッダ(またはUDPヘッダ)、内部データ、及びFCS(Frame Check Sequence)の順に各データを並べた構成である。また、図3(A)に示すように、レイヤ2ヘッダは、宛先MACアドレス情報、送信元MACアドレス情報、及びフレームタイプ情報を含んでいる。レイヤ3ヘッダは、パケット長(レングス)情報、TTL(time to live:生存時間)、プロトコル情報、ヘッダチェックサム情報、送信元IPアドレス情報、及び宛先IPアドレス情報を含んでいる。TCPヘッダは、送信元ポート番号情報、宛先ポート番号情報、シーケンス番号情報、及びチェックサム情報を含んでいる。
図4に示すように、中継補助装置5は、ハブ12からのフレームを受信するまで待機している(s1:N)。中継補助装置5は、ハブ12からのフレームを受信すると(s1:Y)、バッファメモリ23に一時的に記憶させる(s2)。
フロー/フレーム認識部25は、バッファメモリ23が記憶するフレームのL3ヘッダ及びTCP(UDP)ヘッダを読み出して、フレームのフロー情報(宛先IPアドレス及び宛先ポート番号)を収集し、記憶部37の宛先テーブルにおけるこのフロー情報の有無を確認する(s3)。
フロー/フレーム認識部25は、宛先テーブルにこのフロー情報が無ければ(s4:N)、このフロー情報と通過方向情報INを宛先テーブルに登録する(s5)。続いて、フロー/フレーム認識部25は、このフレームをフレーム連結部27に出力し、フレーム連結部27は、このフレームを連結することなくポート29からルータ2へ出力する(s6)。そして、中継補助装置5は、ステップs1以降の処理を実行する。
一方、フロー/フレーム認識部25は、宛先テーブルにこのフロー情報が有る場合には(s4:Y)、記憶部37が記憶する宛先テーブルのフロー情報の通過方向情報IN・OUTを読み出す(s7)。
フロー/フレーム認識部25は、通過方向情報IN・OUTが共に登録されていると(s8:Y)、続いて、このフレームのL3ヘッダにおけるプロトコルを確認して、TCPまたはUDPプロトコルであるか否かを確認する。フロー/フレーム認識部25は、このフレームのプロトコルがTCPまたはUDPであると(s9:Y)、さらに、そのフレームのフレームレングス(フレームレングス)が、閾値である1436バイト未満であるか否かを確認する(s10)。
フロー/フレーム認識部25は、IPフレームのフレームレングスが閾値1436バイト未満の場合には(s10:Y)、そのフレームをフレーム連結部27に出力する(s11)。
また、ステップs8において通過方向情報IN・OUTの一方のみが登録されている場合(s8:N)、ステップs9においてTCP/UDP以外のプロトコルのフレームである場合(s9:N)、及びステップs10においてフレームレングスが閾値以上の場合(s10:N)には、ステップs6の処理を行う。
フレーム連結部27は、フロー/フレーム認識部25から送られてきたフレームのフロー情報を確認し(s12)、同じフロー情報のフレームを連結中でなければ(s13:N)、そのフレームを保持するとともに、タイマ28で計時を開始する(s14)。そして、ステップs1以降の処理を行う。
一方、フレーム連結部27は、同じフロー情報のフレームを保持しているか、または連結中のフレームがあれば(s13:Y)、このフレームまたは連結中のフレームについて計時を開始してから、一定時間が経過したか否かを確認する(s15)。フレーム連結部27は、一定時間が経過していない場合には(s15:N)、このフレームを連結するとフレームレングスが、ルータ2が取り扱える最大長(以下、最大長と称する。)を超えるか否かを確認する(s16)。
連結中であるフロー情報の同じフレームの合計フレームレングスが最大長以下の場合には(s16:Y)、現在フレーム連結部27が保持しているフレームまたは連結中のフレームに対して、このフレームを連結する(s17)。そして、ステップs1以降の処理を行う。
また、連結中であるフロー情報の同じフレームの合計フレームレングスが第2閾値を超える場合に(s16:N)、現在フレーム連結部27が保持しているのが、連結中のフレームではなく、単体のフレームの場合には(s18:Y)、そのままポート29から出力する(s19)。一方、現在フレーム連結部27が保持しているのが連結中のフレームの場合には(s18:N)、図3(D)に示すように、連結フレームの内部データとなる先頭フレーム(図3(D)ではフレーム1)のヘッダ情報をコピーして、連結フレームのヘッダとする。また、連結フレームのフレームレングスは先頭フレームのパケット長と異なるので、レイヤ3ヘッダのフレームレングス情報と、ヘッダチェックサム情報については変更する。さらに、中継補助装置5は、連結フレームを生成する際には、連結フレーム全体の情報に基づいてCRC情報を生成して、FCSとして記録する(s20)。
例えば、音声会議装置17から音声会議装置18にルータ2を経由して、図3(C)に示したように、フレームレングス256バイトの音声データのフレームが連続的に送信されている場合に、バッファメモリ23がフレーム1〜フレーム5を記憶した状態では、フレーム1〜フレーム5の合計フレームレングスは、1280バイト(≦1436バイト)である。しかし、バッファメモリ23がフレーム1〜フレーム6を記憶した状態になると、フレーム1〜フレーム6の合計フレームレングスは、1536バイト(>1436バイト)になり、閾値を超えた状態になる。そこで、フレーム認識部25は、フレーム1からフレーム5までのフレームを連結して、図3(D)に示すように連結フレームの内部データを生成する。
また、図3(C)・(D)に示すように、フレーム1〜フレーム5をこの順に連結して連結フレームを生成する場合、先頭のフレーム1のヘッダ情報をコピーし、レイヤ3ヘッダのフレームレングス情報とヘッダチェックサム情報を変更する。そして、連結フレーム全体のチェック用にCRCを生成して、FCSとして記録する。
なお、図3(C)・(D)に示すフレーム1〜フレーム6は、それぞれ図3(B)に示したイーサネット(登録商標)フレームの構成図のとおり、L2ヘッダ・L3ヘッダ・TCPヘッダ・内部データ・FCSから成る構成である。
中継補助装置5は、連結フレームを生成すると、この連結フレームをポート29からルータ2に対して出力する(s21)。そして、ステップs1以降の処理を行う。
図6に示すように、ルータ2は、いずれかのポートからイーサネット(登録商標)フレームを受信したことを検出するまで待機しており(s41:N)、中継補助装置5が出力したイーサネット(登録商標)フレームを受信すると(s41:Y)、このフレームのレイヤ2ヘッダ情報及びFCSを削除して、レイヤ3ヘッダ情報のフロー情報を確認する(s42)。ルータ2は、宛先IPアドレス情報がルータ2自身のIPアドレスであるUDPパケットやVoIPパケットの場合には(s43:Y)、このパケットを電話ポート6から電話機11に出力する(s44)。そして、ルータ2は、ステップs41以降の処理を行う。
一方、ルータ2は、宛先IPアドレス情報がルータ2以外のIPアドレスの場合には(s43:N)、不図示のルーティングテーブル及びARPテーブルを参照して、レイヤ2ヘッダ情報のMACアドレス情報を変更する。すなわち、ルータ2自身のMACアドレス情報を送信元MACアドレス情報に記録し、ハブ13のMACアドレス情報を宛先MACアドレス情報に記録する(s45)。また、ルータ2は、レイヤ3ヘッダのTTLを変更し、このフレームのCRCを計算してFCSに記録する(s46)。そして、ルータ2は、図3(E)に示すような連結フレームをポート2から中継補助装置6へ出力する(s47)。そして、ルータ2は、ステップs41以降の処理を行う。
図7に示すように、中継補助装置6は、フレームを受信するまで待機しており(s61:N)、ルータ2が出力した単体のフレームまたは連結フレームを受信すると(s61:Y)、ルータ2が出力した単体のフレームまたは連結フレームをバッファメモリ51で一時的に記憶する(s62)。
フレーム認識部53は、バッファメモリ51から単体のフレームまたは連結フレームを読み出して、このフレームの内部データを確認し(s63)、このフレームが連結フレームであるか否かを確認する(s64)。フレーム認識部53は、このフレームが単体のフレームの場合には(s64:N)、フレーム分割部55にその旨の情報とともに出力し(s65)、フレーム分割部55は、この単体のフレームに対して分割処理を行わずにポート41からハブ13へ出力する(s66)。
一方、フレーム認識部53は、このフレームが連結フレームの場合には(s64:Y)、その旨の情報とともにこの連結フレームをフレーム分割部55へ出力する(s67)。
フレーム分割部55は、連結フレームを受け取ると、この連結フレームのレイヤ2ヘッダ情報をコピーするとともに、ヘッダ及びFCSを削除する(s68)。続いて、内部データを構成する各フレームのヘッダ情報に基づいて、元のフレームに分割する(s69)。
例えば、図3(E),(F)に示すように、連結フレームの内部データをフレーム1〜フレーム5に分割する。また、フレーム分割部55は、分割した各フレームのヘッダにおけるレイヤ2ヘッダ情報を、ステップs68でコピーしておいた連結フレームのレイヤ2ヘッダ情報に置き換える(s70)。また、フレーム分割部55は、各フレームのレイヤ3ヘッダにおけるTTL情報及びヘッダチェックサム情報を変更する(s71)。そして、フレーム分割部55は、ヘッダ情報を更新した各フレームをポート41からハブ13へ出力する(s72)。そして、中継補助装置5は、ステップs61以降の処理を実行する。
このように、中継補助装置5は、ルータ宛の複数のフレームについて、フロー情報が同じフレームを連結してルータに出力するので、ルータが単位時間あたりに処理できるフレーム数は決まっているが、ルータ2と中継補助装置5をトータルで見ると、処理能力(スループット)を向上させることが可能になる。
また、中継補助装置は、ルータ2の全てのフレーム入出力ポートに設けても、一部のフレーム入出力ポートに設けても良い。中継補助装置をルータの一部のポートに取り付ける場合には、中継補助装置を取り付けたポートに接続されるノードのIPアドレスを記憶部で記憶しておく必要がある。
また、中継補助装置は、近時、導入されつつあるギガビットイーサネット(登録商標)を用いたネットワークシステムに好適である。ルータ2,3,4が、ギガビットイーサネット(登録商標)に対応する、ジャンボフレーム(イーサネット(登録商標)標準の最大フレームサイズ1518バイトを超えるフレームサイズのこと。)を取り扱えるルータで、通常のイーサネット(登録商標)フレームも取り扱う場合には、本発明の中継補助装置は特に有効である。例えば、ルータ2,3,4が取り扱えるジャンボフレームの最大レングスを、一例として9000バイトとする。この場合、中継補助装置5〜10に対して、連結処理が可能か否かを判定するための閾値として、この9000バイトに対応した値を設定することで、1518バイトのイーサネット(登録商標)フレームであっても5つのフレームを連結した連結フレームを1つのフレームとして取り扱うことができるので、各ルータのスループットを大幅に改善できる。
なお、以上の説明では、ネットワーク機器としてルータを用いた場合について説明したが、本発明はこれに限らず、他のネットワーク機器に中継補助装置を接続して使用することも可能である。
1…ネットワークシステム
2,3,4…ルータ
5〜10…中継補助装置
12,13…ハブ
14〜16…PC
17,18…音声会議装置
21,41…ポート
23,31,43,51…バッファメモリ
25,45…フロー/フレーム認識部
27,47…フレーム連結部
28,48…タイマ
29,49…ポート
31,51…バッファメモリ
33,53…フレーム認識部
35,55…フレーム分割部
37,57…記憶部
2,3,4…ルータ
5〜10…中継補助装置
12,13…ハブ
14〜16…PC
17,18…音声会議装置
21,41…ポート
23,31,43,51…バッファメモリ
25,45…フロー/フレーム認識部
27,47…フレーム連結部
28,48…タイマ
29,49…ポート
31,51…バッファメモリ
33,53…フレーム認識部
35,55…フレーム分割部
37,57…記憶部
Claims (5)
- ネットワーク中継装置の入出力ポートに接続する中継補助装置であって、
ネットワーク中継装置へ送られてきたフレームを一時的に記憶するフレーム記憶部と、
前記フレーム記憶部が記憶するフレームのフロー情報を確認するフロー確認部と、
前記フロー確認部が確認したフロー情報が同じフレームを複数連結して、フレームレングスが前記ネットワーク中継装置の取り扱える最大値以下となる連結フレームを生成し、その連結フレームを前記ネットワーク中継装置に出力するフレーム連結部と、
前記ネットワーク中継装置が出力した連結フレームを一時的に記憶する連結フレーム記憶部と、
前記連結フレーム記憶部が記憶する連結フレームに含まれる複数のフレームの各ヘッダ情報を確認するヘッダ確認部と、
前記ヘッダ確認部が確認したヘッダ情報に基づいて連結フレームを複数のフレームに分割し、各フレームをその宛先に送信するフレーム分割部と、
を備えたことを特徴とする中継補助装置。 - 前記フロー確認部が確認したフロー情報を第1宛先情報として登録し、前記ヘッダ確認部が確認した複数のフレームの各ヘッダ情報に含まれるフロー情報を第2宛先情報として登録する宛先テーブルを記憶する宛先情報記憶部を備え、
前記フレーム連結部は、前記フロー確認部が確認したフレームのフロー情報が、前記宛先テーブルに前記第1宛先情報及び前記第2宛先情報として登録されていると、そのフレームをフロー情報が同じ他のフレームと連結する請求項1に記載の中継補助装置。 - 前記フレーム連結部は、フロー情報が同じフレームを複数連結する際に、先頭のフレームのヘッダをコピーして連結フレームのヘッダとし、また、この連結フレーム全体のデータに基づいて、この連結フレームのヘッダに含まれるパケット長及びヘッダチェックサムの情報を変更するとともに、この連結フレームのフレームチェックシーケンスを生成する請求項1乃至2のいずれかに記載の中継補助装置。
- 連結フレームの生成を開始すると、一定時間を計時するタイマを備え、
前記フレーム連結部は、フレームレングスが前記ネットワーク中継装置の取り扱える最大値以下で、かつ閾値以上の連結フレームを、一定時間以内に生成して前記ネットワーク中継装置に出力し、
連結フレームの生成を開始してから一定時間が経過した場合には、フレームレングスが閾値以下であっても、その連結フレームを前記ネットワーク中継装置に出力する請求項1乃至3のいずれかに記載の中継補助装置。 - 前記フレーム分割部は、連結フレームを複数のフレームに分割する際に、連結フレームのレイヤ2ヘッダを、各フレームのレイヤ2ヘッダにコピーする請求項1乃至4のいずれかに記載の中継補助装置。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007065375A JP2008228069A (ja) | 2007-03-14 | 2007-03-14 | 中継補助装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2007065375A JP2008228069A (ja) | 2007-03-14 | 2007-03-14 | 中継補助装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2008228069A true JP2008228069A (ja) | 2008-09-25 |
Family
ID=39846117
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2007065375A Pending JP2008228069A (ja) | 2007-03-14 | 2007-03-14 | 中継補助装置 |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2008228069A (ja) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010119043A (ja) * | 2008-11-14 | 2010-05-27 | Mitsubishi Electric Corp | データ送受信装置 |
CN102377633A (zh) * | 2010-08-06 | 2012-03-14 | 北京乾唐视联网络科技有限公司 | 一种接入网设备的通信连接方法及系统 |
-
2007
- 2007-03-14 JP JP2007065375A patent/JP2008228069A/ja active Pending
Cited By (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2010119043A (ja) * | 2008-11-14 | 2010-05-27 | Mitsubishi Electric Corp | データ送受信装置 |
CN102377633A (zh) * | 2010-08-06 | 2012-03-14 | 北京乾唐视联网络科技有限公司 | 一种接入网设备的通信连接方法及系统 |
CN102377633B (zh) * | 2010-08-06 | 2014-10-08 | 北京乾唐视联网络科技有限公司 | 一种接入网设备的通信连接方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4627669B2 (ja) | パケット転送装置およびその転送制御方式 | |
JP3037476B2 (ja) | Atmセル組立・分解方式 | |
US9807134B2 (en) | Method and device for filtering media packets | |
CN102714629B (zh) | 通信系统、转发节点、路径管理服务器以及通信方法 | |
TWI284469B (en) | A network system having a plurality of switches capable of improving transmission efficiency and method thereof | |
JP4893581B2 (ja) | 多重化通信システム、送信処理装置、受信処理装置、多重化通信方法、送信処理方法、および受信処理方法 | |
JP4547349B2 (ja) | ネットワーク型ルーティング機構 | |
US20140198793A1 (en) | Traffic forwarding in a point multi-point link aggregation using a link selector data table | |
JP2009526426A (ja) | パケット伝送 | |
JP2006217597A (ja) | パケットの流失を抑制するためのルーティング方法及び装置 | |
KR100636273B1 (ko) | 이더넷을 통한 mpls 멀티캐스트 패킷 전송 장치 및 방법 | |
CN112154627B (zh) | 服务相关的路由方法和装置 | |
JP3075163B2 (ja) | マルチポートフレーム交換方式 | |
JP5060572B2 (ja) | データ通信装置及び方法 | |
CN102893560B (zh) | 一种数据流传送方法及网络设备 | |
US7420988B1 (en) | Network relay protocol having timed packet aggregation | |
US20120155268A1 (en) | Packet relay device | |
JPH11168492A (ja) | ルータの中継方法及びルータ装置 | |
JP5672836B2 (ja) | 通信装置、通信方法、および通信プログラム | |
JP2008228069A (ja) | 中継補助装置 | |
CN115695523A (zh) | 一种数据传输控制方法、装置、电子设备及存储介质 | |
JP2022120845A5 (ja) | ||
JP2000261478A (ja) | ゲートウェイ装置、送信方法、受信方法および情報記録媒体 | |
US7620042B2 (en) | Apparatus and method for inter-processor communications in a multiprocessor routing node | |
JP2005101690A (ja) | 中継装置及び中継方法 |