(57)【要約】【課題】イーサネットに準拠したネットワークでは、ノード間のフレーム転送の際は、フレームとフレームの間に所定の間隔（フレーム間ギャップ）を確保することが規定されている。このため、多数の比較的短いパケットをフレームにカプセル化して連続的に送信する場合は、一定時間内に転送できるデータ量が少なくなり、データの転送効率が低下する問題があった。【解決手段】イーサネット準拠のネットワークにおけるフレーム転送方法において、各方路より受信したフレームをその転送先となる方路別に蓄積し、フレーム間ギャップを含むフレームの送信開始から次のフレームの送信開始までの時間内に、転送先となる方路に蓄積された複数のフレームからパケットを抽出し、所定の最大値を越えない範囲で最大長となる一個のパケットに合成して送信することにより、フレーム間ギャップによるデータ転送効率の低下を抑止した、効率的なフレーム転送を実現する。【選択図】図５
2005045675.tif 000002
【特許請求の範囲】
【請求項１】
イーサネット準拠のネットワークのノード間でフレームを転送するフレーム転送方法において、
各方路より受信した前記フレームを、前記フレームの転送先となる転送先方路別に蓄積する送信キューを備え、
前記送信キューに蓄積されている１以上のフレームを一個のフレームに合成して前記転送先方路へ送信する、
ことを特徴とするフレーム転送方法。
【請求項２】
請求項１に記載のフレーム転送方法において、
前記送信キューに２以上のフレームが蓄積されている場合は、２以上の前記フレームにカプセル化されているパケットを抽出して１個の合成パケットとし、前記合成パケットをタイプフィールドに所定の識別コードを設定したフレームにカプセル化して前記転送先方路へ送信し、
前記送信キューに１個のフレームのみが蓄積されている場合は、前記転送先方路へそのまま送信する、
ことを特徴とするフレーム転送方法。
【請求項３】
請求項１ないし請求項２のいずれかに記載のフレーム転送方法において、
前記転送先方路へのフレーム送信の可否を制御する監視タイマーを備え、
前記監視タイマーは、前記転送先方路へのフレームの送信完了時点に所定のタイマー値で起動され、前記監視タイマー動作中は前記転送先方路へのフレームの送信を抑止し、
前記フレームの送信は、前記送信キューへのフレーム格納時に前記監視タイマーがタイムアウト完了状態の場合にのみ行う、
ことを特徴とするフレーム転送方法。
【請求項４】
請求項１に記載のフレーム転送方法において、
フレームの新しい転送先アドレスを認識した時点で、前記転送先アドレスが示す転送先ノードに対して、前記転送先ノードが前記合成パケットを受信して処理する機能を実装しているか否かを問い合わせる機能問合せパケットを含んだフレームを送信し、
前記機能問合せパケットを含んだフレームに対する応答が返送されてきた前記転送先ノードについては、前記合成パケットを受信し処理する機能を実装していると判定する、
ことを特徴とするフレーム転送方法。
【請求項５】
イーサネット準拠のネットワークのノード間でフレームを転送するフレーム転送装置において、
受信した前記フレームを、前記フレームの転送先となる転送先方路別に蓄積する送信キューと、
前記送信キューに蓄積されている１以上のフレームを一個のフレームに合成して前記転送先方路へ送信する手段を備える、
ことを特徴とするフレーム転送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、イーサネットに準拠するネットワークでのフレーム転送方法およびフレーム転送装置に関し、特に、同一方路向けの複数のフレームにカプセル化されているパケットを１個のパケットに合成して転送することにより、効率よいフレーム転送を行うフレーム転送方法およびフレーム転送装置に関する。
【０００２】
イーサネットに準拠したネットワークでは、フレーム転送の際は、フレームとフレームの間に所定の間隔（フレーム間ギャップ）を確保することが規定されている。多数の比較的短いパケットをフレームにカプセル化して連続的に送信する場合には、このフレーム間ギャップによるフレームの転送効率低下が予想され、フレーム間ギャップによる影響を抑制してフレーム転送を効率的に行う方法の実現が望まれている。
【背景技術】
【０００３】
従来のパケット交換網においては、パケット転送方法の一つとして、パケット交換装置からパケットを転送する際に、その最終宛先が同じパケットについてはそれらのパケットを一個のパケットに合成して転送することにより、パケットのヘッダ部の伝送量を削減してパケットの転送効率を上げる方法が提案されている（特許文献１および特許文献２参照。）。
【０００４】
また、従来のイーサネット準拠のネットワークでパケットを交換する際は、ネットワークを構成する各ノード間では、パケットをイーサネットで規定された形式のフレームにカプセル化し、フレームとフレームの間にフレーム間ギャップと呼ばれる所定の時間間隔を確保した形でフレームの転送を行う。そして、パケットは、パケットの転送経路となる各ノードを経由する毎に別のフレームにカプセル化されながら、最終的な宛先へ届けられる。
【０００５】
図１は、従来技術のフレーム転送方法で、イーサネットに準拠したフレームの転送方法を示している。
【０００６】
ネットワーク200aより、ネットワーク200bを宛先とするパケットP(1)、P(2)、および、ネットワーク200cを宛先とするパケットP(3)を送信した場合の、各パケットの転送経路を点線矢印で示したものである。ここで、各パケットは実際はフレームにカプセル化されて転送されるが、図１ではパケットのみを抽出して表示している。
【０００７】
フレーム転送装置100aは、ポートＡよりネットワーク200aから送信されたパケットP(1)、P(2)、P(3)を受信すると、自装置内に保持しているルーティングテーブルを参照して、パケットP(1)、P(2)、P(3)のヘッダ部に含まれているパケットの宛先アドレスに対応するフレームの転送先方路となる転送先ポートを特定し、特定した転送先ポートへ各パケットをフレームにカプセル化して転送する。図１に示す例では、パケットP(1)、P(2)、P(3)はフレーム転送装置100bとリンクしているポートＢへ転送される。
【０００８】
フレーム転送装置100bは、パケットP(1)、P(2)、P(3)を含んだフレームをポートＣより受信すると、自装置が保持するルーティングテーブルを参照して、受信したパケットP(1)、P(2)、P(3)のヘッダ部に含まれているパケット宛先アドレスに対応するフレームの転送先ポートを特定し、該転送先へ各パケットをフレームにカプセル化して転送する。図１に示す例では、パケットP(1)、P(3)はネットワーク200bとリンクしているポートＤへ、パケットP(2)はフレーム転送装置100cとリンクしているポートＥへ転送される。
【０００９】
フレーム転送装置100cは、パケットP(2)を含んだフレームをポートＦより受信すると、自装置が保持するルーティングテーブルを参照して、受信したパケットP(2)のヘッダ部に含まれているパケット宛先アドレスに対応するフレームの転送先ポートを特定し、該転送先ポートへ各パケットをフレームへカプセル化して転送する。図１に示す例では、パケットP(2)はネットワーク200cとリンクしているポートＧへ転送される。
【００１０】
イーサネットでは、送信するフレームの間に「フレーム間ギャップ」という９６ビット時間に相当する最低限のスペースを挿入するように規定されている。フレーム間ギャップの実際の時間はネットワークで使用しているデータレートによって異なり、例えば、１０Ｍｂｐｓのデータレートの場合は９．６μｓとなる。従って、イーサネットに準拠したネットワーク内でフレームを転送する場合は、上記のフレーム間ギャップが示す時間以上間隔を空けてフレームを送信する必要がある。
【００１１】
図２は、従来技術のイーサネット準拠のフレーム構成である。
【００１２】
K01はプリアンブルで、８バイトの同期信号である。K02は宛先アドレスで、フレームの送信先ノードを示す６バイトのイーサネット上のアドレス情報である。K03は送信元アドレスで、フレームを送信するノードを示す６バイトのイーサネット上のアドレス情報である。K04はタイプで、フレームのデータ部に格納されるパケットのプロトコルの種別を示す２バイトの識別コードである。K05はデータ部で、フレームの送信側ノードから受信側ノードへ引き渡されるデータであり、イーサネットでは46〜1500バイトの範囲の長さに制限される。K06はＦＣＳ(Frame Check Sequence)で、宛先アドレスK02、送信元アドレスK03、タイプK04、および、データ部K05を対象に、フレーム伝送時のビット誤りを検出するためのＣＲＣ(Cyclic Redundancy Check)チェックを行う。K07はパケットで、フレームのデータ部K05へカプセル化された形で各ノード間を転送され、本パケットの図示していないヘッダ部に設定されている宛先アドレスへ届けられる。
【００１３】
図２において、括弧内の数値は、該当部分のデータ長をバイト単位で示した数値である。
【００１４】
図３は、従来技術のフレーム転送時のタイムチャートで、イーサネットにおいて、フレーム転送装置の受信ポートＢ、Ｃ、Ｄから受信された各フレームのデータ部にそれぞれカプセル化されているパケットP(1)、P(2)、P(3)が、フレームに再カプセル化された後、送信ポートＡからフレームとして送信されるときのタイムチャートを示している。ここでは、フレームを受信しているポートを受信ポートとし、フレームを送信しているポートを送信ポートとして別に表示しているが、実際は同一のポートで送信および受信を行うことができる。
【００１５】
送信ポートＡから送信されるフレームF01、F02、F03、F04、F05は、イーサネットの規定により、９６バイト時間以上のフレーム間ギャップG01、G02、G03、G04の間隔をとって送信される。ここでは、図３内のT1が示すフレームF02の送信開始から次のフレームの送信開始までの時間内に受信ポートＢ、Ｃ、Ｄで受信されたフレームにカプセル化されているパケットP(1)、P(2)、P(3)を抽出し、それぞれ、フレームF03、F04、F05のデータ部として再カプセル化し、９６ビット時間以上のフレーム間ギャップG02、G03およびG04の間隔を空けて送信している。従って、複数のパケットを同一の転送先ポートへ送信する場合も、各パケットを別々のフレームにカプセル化して転送することになり、短いパケットを連続して送信する場合は、フレーム間ギャップが各フレームの間にはいり、一定時間に送信可能なデータ量の総計がその分小さくなり、フレーム転送の効率が低下する。
【００１６】
例えば、図１の従来技術のフレーム転送方法において、ネットワーク200aを送信元としネットワーク200cを宛先とするパケットP(2)と、ネットワーク200aを送信元としネットワーク200bを宛先とするパケットP(1)、P(3)は、パケット転送装置100aとパケット転送装置100bの間の転送経路は共通であり、該転送経路では図３の従来技術のフレーム転送時のタイムチャートで示すような状況となり、該転送経路では転送するパケットの長さが短い程、フレーム間ギャップが占める時間の比率が大となり、一定時間内のデータ転送効率が低下することになる。
【特許文献１】特開平２−１６６８５６号公報（第３〜５頁、第２〜４図）
【特許文献２】特開昭６３−１９７１４８号公報（第２〜３頁、第３図）
【発明の開示】
【発明が解決しようとする課題】
【００１７】
従来のイーサネットに準拠したネットワークでのノード間のフレーム転送の方法では、転送するフレームの間にフレーム間ギャップを確保する必要があり、特に、短いサイズのフレームを短時間で多数転送する場合は、一定時間内に転送できるデータ量が少なくなり、データの転送効率が低下する問題がある。
【００１８】
本発明は、イーサネット準拠のネットワークにおけるノード間のフレーム転送方法において、転送先となる方路にフレームを送信中またはフレーム間ギャップの時間内に、各方路から受信した転送先方路向けのフレームを蓄積し、蓄積された複数のフレームより、各フレームにカプセル化されているパケットを抽出して一個のパケットに合成して転送先方路へ転送することにより、フレーム間ギャップによるフレーム転送の効率低下を抑止できるフレーム転送方法およびフレーム転送装置を提供することを目的とする。
【課題を解決するための手段】
【００１９】
第１の発明は、イーサネット準拠のネットワークのノード間でフレームを転送するフレーム転送方法において、各方路より受信した前記フレームを、前記フレームの転送先となる転送先方路別に蓄積する送信キューを備え、前記送信キューに蓄積されている１以上のフレームを一個のフレームに合成して前記転送先方路へ送信する、ように構成した。
【００２０】
第１の発明によれば、フレーム送信開始から次のフレーム送信開始までの時間に送信キューに蓄積された複数フレーム内のパケットは、一個のフレームに合成されて送信されるため、従来技術のように複数のフレームのままの形で送信される場合に比して、フレーム間ギャップの数が少なくなる分だけ、一定時間内に送信されるデータ量が増大し、より効率的なフレーム転送が可能となる。
【００２１】
第２の発明は、上記第１の発明において、前記送信キューに２以上のフレームが蓄積されている場合は、２以上の前記フレームにカプセル化されているパケットを抽出して１個の合成パケットとし、前記合成パケットをタイプフィールドに所定の識別コードを設定したフレームにカプセル化して前記転送先方路へ送信し、前記送信キューに１個のフレームのみが蓄積されている場合は、前記転送先方路へそのまま送信する、ように構成した。
【００２２】
第２の発明によれば、従来技術によるルーティングテーブルを用いて、受信したフレーム内にカプセル化されているパケットを抽出して、同一の方路へ転送される複数のパケットを合成して一個のフレームにカプセル化して効率よく送信することができる。また、合成されたパケットをカプセル化したフレームを従来技術によるフレームとは識別して処理することができ、従来技術によるフレームと本発明による合成フレームが混在した形態でも適切に処理できる。
【００２３】
第３の発明は、上記第１および第２の発明において、前記転送先方路へのフレーム送信の可否を制御する監視タイマーを備え、前記監視タイマーは、前記転送先方路へのフレームの送信完了時点に所定のタイマー値で起動され、前記監視タイマー動作中は前記転送先方路へのフレームの送信を抑止し、前記フレームの送信は、前記送信キューへのフレーム格納時に前記監視タイマーがタイムアウト完了状態の場合にのみ行う、ように構成した。
【００２４】
第３の発明によれば、フレーム送信中およびフレーム間ギャップの間に送信キューに蓄積されたフレームを、イーサネットで規定されているフレーム間ギャップを確保しながら効率よく合成して転送することができる。
【００２５】
第４の発明は、上記第１の発明において、フレームの新しい転送先アドレスを認識した時点で、前記転送先アドレスが示す転送先ノードに対して、前記転送先ノードが前記合成パケットを受信して処理する機能を実装しているか否かを問い合わせる機能問合せパケットを含んだフレームを送信し、前記機能問合せパケットを含んだフレームに対する応答が返送されてきた前記転送先ノードについては、前記合成パケットを受信し処理する機能を実装していると判定する、ように構成した。
【００２６】
第４の発明によれば、本発明によるフレーム転送機能を実装していないノードがネットワーク内に存在する場合でも、自動的にそれを識別して、該ノードが処理できる形式のフレーム形式でフレーム転送を行うことができ、従来技術によるフレーム転送装置と本発明のフレーム転送装置とが混在した柔軟なネットワーク構築が可能となる。
【発明の効果】
【００２７】
本発明は、イーサネット準拠のネットワークにおけるフレーム転送方法において、各方路より受信したフレームをその転送先となる方路別に蓄積し、フレーム間ギャップを含むフレームの送信開始から次のフレームの送信開始までの時間内に、転送先となる方路に蓄積された複数のフレームからパケットを抽出し、所定の最大値を越えない範囲で最大長となる一個のパケットに合成して送信する、ように構成した。
【００２８】
これにより、多数の比較的短いパケットをフレームにカプセル化して連続的に送信する場合においても、フレーム間ギャップによるデータ転送効率の低下を抑止した、効率的なフレーム転送を実現できるようになる。
【発明を実施するための最良の形態】
【００２９】
【実施例１】
【００３０】
図４は、本発明のフレーム転送方法である。
ネットワーク200aより、ネットワーク200bを宛先とするパケットP(1)、P(2)、および、ネットワーク200cを宛先とするパケットP(3)を送信した場合の、各パケットの転送経路を点線矢印で示したものである。ここで、各パケットは実際はフレームにカプセル化されて転送されるが、ここではパケットのみを抽出して表示している。
【００３１】
フレーム転送装置100aは、ポートＡよりパケットP(1)、P(2)、P(3)を受信すると、受信したパケットP(1)、P(2)、P(3)内のヘッダ部に設定されている送信先アドレスを基にルーティングテーブルを検索してフレームの転送先方路となる転送先ポートを特定する。ここでは、３個のパケットP(1)、P(2)、P(3)の転送先は全て同じ転送先ポートＢとなるため、それらを一個のパケットP(1,2,3)に合成してフレームにカプセル化した後、所定のフレーム間ギャップを確保して転送先ポートＢへ送信する。
【００３２】
フレーム転送装置100bは、フレーム転送装置100aから転送されてきた合成されたパケットP(1,2,3)を含むフレームをポートＣより受信すると、パケットP(1,2,3)より合成前のパケットP(1)、P(2)、P(3)を抽出する。そして、その抽出したパケット毎に、該パケットのヘッダ部に設定されている送信先アドレスを基にルーティングテーブルを検索して転送先ポートを特定する。ここでは、パケットP(1)、P(3)の送信先アドレスはネットワーク200bのため、ネットワーク200bにリンクしているポートＤを転送先ポートとして、それぞれフレームにカプセル化し所定のフレーム間ギャップを確保して送信し、パケットP(2)の送信先アドレスはネットワーク200cのため、フレーム転送装置100cとリンクしているポートＥを転送先ポートとして、パケットP(2)をフレームにカプセル化し所定のフレーム間ギャップを確保して送信する。
【００３３】
フレーム転送装置100cは、フレーム転送装置100bから転送されてきたパケットP(2)を含むフレームをポートＦより受信すると、パケットP(2)のヘッダ部に設定されている送信先アドレスを基にルーティングテーブルを検索してフレームの転送先ポートを特定する。ここでは、送信先アドレスがネットワーク200cのため、ポートＧを転送先ポートとし、パケットP(2)をフレームにカプセル化した後ポートＧへ所定のフレーム間ギャップを確保して送信する。
【００３４】
図５は、本発明のフレーム転送時のタイムチャートである。
【００３５】
フレーム転送装置の受信ポートＢ、Ｃ、Ｄから受信されたフレームにカプセル化されているパケットP(1)、P(2)、P(3)が、１個のパケットP(1,2,3)に合成されフレームF03内にカプセル化されて、送信ポートＡから送信されるときのタイムチャートを示している。
【００３６】
送信ポートＡから送信されるフレームF01、F02、F03は、イーサネットの規定により、フレーム間ギャップG01、G02の間隔をとって送出される。ここで、図５のT1が示すフレームF02の送信開始から次のフレームF03の送信開始までの時間内に、受信ポートＢ、Ｃ、Ｄから受信されたフレームに含まれるパケットP01、P02、P03は、一個のパケットP(1,2,3)に合成された後、フレームF03のデータ部としてカプセル化されて送信される。
【００３７】
パケットの合成は、送信ポート毎に、送信キューおよびフレーム間ギャップを監視する監視タイマーを設け、監視タイマーがタイムアウトした時点で送信キュー内に蓄積されている複数のフレームからパケットを抽出して、一個のパケットに合成する。ここで、パケットの合成は、合成されたパケットの長さが所定の値以内の範囲で最大となるように送信キューから取出すべきパケットの数を示す合成対象パケット数を管理し、該送信キューの先頭から該合成対象パケット数が示す個数のフレームを取出して行う。
【００３８】
これにより、フレーム間ギャップを含むフレームの送信開始から次のフレーム送信開始までの時間内に送信キューに蓄積したフレーム内のパケットを、イーサネットで許容される最大長である1500バイト以内で、かつ、最大の長さのパケットに合成し、所定のフレーム間ギャップを確保しながら、効率よくパケット転送ができるようになる。
【００３９】
図６は、本発明のパケット合成時のフレーム構成である。
【００４０】
K10はフレームの全体構成で、K01〜K06の意味は図２の従来技術のイーサネット準拠のフレーム構成で説明したものと同じであるため、ここでは説明を割愛する。ここで、本発明によるパケット合成時は、K04のタイプフィールドには現在イーサネットとしては割り当てられていない所定の識別コードを設定することにより、合成パケットを含んだフレームを受信した側で、該フレームが本発明によるフレーム転送装置から送信されてきたフレームであることを認識できる。
【００４１】
L10は、フレームK10のデータ部K05にカプセル化される合成パケットの構成を示している。ここでは、３個のパケットP(1)、P(2)、P(3)が一個のパケットL10に合成された場合を例示している。L01はパケット種別で、本パケットが合成パケットであることを示す識別コードで、例えば”0”が設定しておく。L02は、パケット数で合成の対象となったパケットの数を示す。L03、L04、L05は、それぞれ、合成の対象となったパケットP(1)、P(2)、P(3)の長さであり、L06、L07、L08は、それぞれ、合成の対象となったパケットP(1)、P(2)、P(3)である。ここで、パケットの長さが格納されるL03、L04、L05は、パケット本体が格納されるL06、L07、L08とそれぞれ対応するように配置される。これにより、合成パケットから元の合成前のパケットを抽出する際に、抽出すべきパケットの格納されている領域のアドレスが容易に算出できる。
【００４２】
図６は合成対象のパケット数が３の場合を示しているが、パケット数が４以上の場合も同様である。ただし、合成されたパケット全体の長さは、イーサネットで規定されている最大パケット長である1500バイト以下になるように調整される。
【００４３】
図７は、本発明のフレーム転送装置の実装機能確認シーケンスで、フレーム転送装置100aが、本発明による合成パケットを受信し処理する機能を、フレームの転送先となるフレーム転送装置100bが実装しているか否かを確認するときのシーケンスを示している。フレーム転送装置100aは、まだ、フレーム転送装置100bのイーサネットアドレスを認識していない状態からの処理シーケンスを示している。  S01. フレーム転送装置100aは、自装置がそのイーサネットアドレスを認識していないノードであるフレーム転送装置100bとのデータ受け渡し要求が発生した時点で、フレーム転送装置100bのイーサネットアドレスを獲得するために、従来技術であるアドレス解決プロトコル（ARP; Address Resolution Protocol)に準拠して、ARPパケットをフレーム転送装置100bへ送信する。
【００４４】
S02. ARPパケットを受信したフレーム転送装置100bは、自装置のイーサネットアドレスを格納したARP応答パケットを、フレーム転送装置100aへ返送する。
【００４５】
S03. フレーム転送装置100aは、受信したARP応答パケットからフレーム転送装置100bのイーサネットアドレスを抽出した後、フレーム転送装置100bが本発明の合成パケットを受信する機能を実装しているか否かを確認するために、機能問合せパケットをフレーム転送装置100bへ送信する。
【００４６】
S04. フレーム転送装置100bは、機能問合せパケットを受信すると、自装置が本発明による合成パケットを受信する機能を実装している場合は確認応答パケットを返送し、該機能を実装していないときは、確認応答を返送しない。
【００４７】
S05. フレーム転送装置100aは、フレーム転送装置100bから確認応答パケットを受信したときは、フレーム転送装置100bは本発明による合成パケットを受信できると判断して、各転送先ポート毎に設けられる転送モードフラグを”ON”に設定する。以後、フレーム転送装置100bとリンクしている転送先ポートへのフレーム送信の際は、本発明のフレーム転送方法に従って合成パケットを送信する。
【００４８】
フレーム転送装置100bから確認応答パケットが返送されないときは、フレーム転送装置100bは本発明による合成パケットを受信できないと判断し、以後、従来技術のフレーム転送方法でフレームを送信する。ここで、各転送先ポート毎に設けられる転送モードフラグは、初期値である”OFF”のままとしておく。
【００４９】
図８は、本発明のフレーム転送装置の機能問合せ/確認応答パケットの構成である。
【００５０】
本パケットは、本パケットを含んだフレームの転送先ノードとなるフレーム転送装置が、本発明による合成パケットを含んだフレームを受信して処理する機能を実装しているか否かを問合せて、その応答を受信するために用いる。
【００５１】
K10はフレームの構成を示しており、K01〜K06の意味については、図２の従来技術のイーサネット準拠のフレーム構成と同じであり、ここでは説明を割愛する。ここで、K04のタイプフィールドに設定される識別コードは、図６の本発明のパケット合成時のフレーム構成の場合と同じ値であり、イーサネットとして未使用の所定のコードを設定しておく。
【００５２】
M10は、フレームK10のデータ部K05に格納されるパケットの構成を示しており、M01はパケット種別で、例えば、機能問合せパケットの場合は”1”で、その応答として返送される確認応答パケットは”2”とする。
【００５３】
M02はパディングで、イーサネットで規定されているデータ部K06の最小値である４６バイトの領域を確保するために、４５バイト分の”0”を設定しておく。
【００５４】
機能問合せパケットを送信したフレーム転送装置は、フレームの転送先のフレーム転送装置から確認応答パケットを含むフレームを受信したときは、転送先のパケット転送装置は本発明による合成パケットを受信して処理する機能を実装していると判定する。
【００５５】
図９は、本発明のフレーム転送装置の構成である。
【００５６】
フレーム受信部1a、パケット分解部2aは受信ポートRaに対応して設けられ、フレーム受信部1b、パケット分解部2bは受信ポートRbに対応して設けられる。受信ポートが３個以上設けられる場合も同様である。
【００５７】
また、送信キュー5a、パケット合成部6a、フレーム送信部7a、送信制御部8a、タイマー監視部9aは送信ポートSaに対応して設けられ、送信キュー5b、パケット合成部6b、フレーム送信部7b、送信制御部8b、タイマー監視部9bは送信ポートSbに対応して設けられる。送信ポートが３個以上設けられる場合も同様である。
【００５８】
ここで、処理の流れを明確に表現するためにポートを受信ポートと送信ポートに識別して記載しているが、実際は同一のポートが受信ポートおよび送信ポート双方の機能を有している。
【００５９】
フレーム受信部1aは、受信ポートRaから受信したフレームのタイプフィールドを判定し、本発明で定義した所定の識別コードに設定されていない場合は、従来技術によるイーサネットのフレームと見なし、受信したフレーム内のパケットをルーティング解決部３へ引き渡して、従来技術によるパケットのルーティング解決を行う。
【００６０】
上記タイプフィールドが、本発明で定義した所定の識別コードに設定されている場合は、受信したフレームのデータ部にカプセル化されているパケットを取出し、該パケットのパケット種別を判定する。
【００６１】
上記パケット種別が”0”のときは、本発明による合成パケットであるため、受信したフレームをパケット分解部2aに引き渡す。
【００６２】
パケット分解部2aは、引き渡されたフレーム内のデータ部にカプセル化されているパケットを取出し、該パケットの中に格納されている複数の合成前のパケットをその配置順に取出して、ルーティング解決部３へ引き渡す。
【００６３】
上記パケット種別が”1”で、機能問合せパケットを示しているときは、受信したフレームを実装機能確認部10に引き渡す。
【００６４】
上記パケット種別が”2”で、機能問合せパケットに対する応答パケットを示しているときは、受信したフレームを実装機能確認部10に引き渡す。
【００６５】
受信ポートRbからフレームを受信した場合は、フレーム受信部1bおよびパケット分解部2bにて、上記の受信ポートRaからフレームを受信した場合と同様の処理を行う。受信ポートが３個以上の場合も同様である。
【００６６】
ルーティング解決部３は、フレーム受信部1a、1bおよびパケット分解部2a、2bから引き渡されたパケットのヘッダ部に設定されているパケットの送信先アドレスを基にルーティングテーブル11を検索して、該パケットの次の転送先となるノードのアドレスと転送先ポートを特定して、該パケットと転送先ノードのアドレスおよび転送先ポート情報を、フレーム生成分配部４へ引き渡す。
【００６７】
フレーム生成分配部４は、ルーティング処理部３から引き渡されたパケットと転送先ノードアドレスおよび転送先ポート情報を基に、該転送先ノードアドレスをイーサネットの宛先アドレスとして、該パケットをカプセル化したフレームを生成し、該転送先ポートに対応して設けられる送信制御部に引き渡す。
【００６８】
送信制御部8aは、フレーム生成分配部４からフレームを引き渡されると、該フレームのデータ部にカプセル化されているパケットの長さを抽出してパケット長とし、該フレームの先頭に該パケット長を付加した形のデータを、送信キュー5aに格納する。ここで、パケット長の抽出方法としては、例えば、該フレームにカプセル化されているパケット内のヘッダ部に設定されているパケット長を用いることができる。
【００６９】
送信キュー5aへフレームを格納すると同時に、送信キュー5a内に保持されている合成対象パケット数を更新する。この合成対象パケット数は、送信キュー5a内に蓄積されているフレーム内を先頭から順に取出して、該フレーム内のパケットの合成した場合に、イーサネットで規定されているパケット長の最大値を超えない範囲で、合成パケットの長さが最大になるようにするために、送信キュー5aから取出すべきパケットの数、つまり、フレームの数を示している。
【００７０】
次に、タイマー監視部9aからタイムアウトの通知が既にあったか否かを判定し、タイムアウト通知済みの場合のみ、パケット合成部6aを起動する。これにより、フレーム間ギャップを含んだフレーム送信開始から次のフレーム送信開始までの時間は、フレームの送信が抑止され、イーサネットに規定されているフレーム間ギャップを確保した形でのフレーム転送が可能となる。
【００７１】
送信キュー5aは、送信制御部8aから引き渡されたパケット長が付加されたフレームを、ＦＩＦＯ(First In First Out)方式で蓄積するバッファ領域である。つまり、フレーム生成分配部４から引き渡されたパケット長が付加されたフレームは送信キューの最後尾の領域に格納され、パケット合成転送部6aにより先頭領域から順に取出される。また、合成すべきパケット数を記憶する合成対象パケット数カウンタの領域、合成後のパケット長を記憶する合成パケット長カウンタの領域、および転送先となるノードが合成パケットを受信して処理する機能を実装しているか否かを示す転送モードフラグを記憶する領域を保持している。
【００７２】
パケット合成部6aは、送信制御部8aから起動され、転送モードフラグが”OFF”、つまり、送信ポートSaにリンクされているノードが合成パケットを受信して処理する機能を実装していない場合は、送信キュー5aよりフレームを１個取出して、フレーム送信部7aへ引き渡し、転送モードフラグが”ON”、つまり、送信ポートSaにリンクされているノードが合成パケットを受信して処理する機能を実装している場合は、次のパケット合成処理を行う。これにより、本発明による合成パケットを処理できるノードと、従来技術のノードが混在したネットワークにおいても、該ノードが実装している機能に応じたフレーム転送を行うことができ、柔軟なネットワークの構築と運用が可能となる。
【００７３】
パケットの合成処理としては、送信キュー5aにフレームが２個以上蓄積されているときは、送信キュー5aに蓄積されているパケット長が付加されたフレームを先頭から順に取出し、パケット長と該フレーム内のデータ部にカプセル化されているパケットを、取出した順に図６の本発明のパケット合成時のフレーム構成に示すように配置して、１個のパケットに合成する。ここで、パケット送信キュー5aからのフレームの取出しは、送信キュー内に保持されている合成対象パケット数が示す個数のフレームを先頭から取出し、て行う。これにより、合成後のパケットの長さはイーサネットで規定されている最大パケット長の1500バイト以下の範囲で、最大の長さにすることができ、効率的なフレーム転送を実現できる。合成したパケットは、フレームにカプセル化された後、フレーム送信部7aに引き渡される。
【００７４】
送信キュー5aにフレームが１個しか蓄積されていないときは、パケット合成を行う必要がないため、該フレームをそのままフレーム送信部7aに引き渡す。
【００７５】
フレーム送信部7aは、引き渡されたフレームを対応する送信ポートSaへ送信すると同時に、送信完了時点でその旨をタイマー監視部9aへ通知する。
【００７６】
タイマー監視部9aは、フレーム送信部7aからのフレーム送信完了の通知時に、所定のタイマー値のタイマーを起動し、そのタイムアウト時に送信制御部8aへその旨通知してタイマーを停止する。このタイマー値を、イーサネットで規定されているフレーム間ギャップの最小値に設定することにより、イーサネットに準拠したフレーム転送を実現できる。
【００７７】
上記では、送信ポートSaへフレームを転送する際の送信キュー5a、パケット合成部6a、フレーム送信部7a、送信制御部8a、タイマー監視部9aの動作を説明したが、送信ポートSbへフレームを転送する際の送信キュー5b、パケット合成部6b、フレーム送信部7b、送信制御部8b、タイマー監視部9bの動作内容も同様である。また、送信ポートが３個以上の場合についても同様である。
【００７８】
実装機能確認応答部10は、フレーム受信部1a、1bから引き渡されたフレーム内のパケットのパケット種別を判定し、機能問合せパケットの場合は、受信したフレームの送信元アドレスを宛先アドレスとし、所定の識別コードをタイプフィールドに設定したフレームのデータ部に確認応答パケットを格納して、機能問合せパケットを受信したポートに対応するフレーム送信部へ引き渡す。これにより、確認応答パケットが機能問合せパケットを送信したノードつまりフレーム転送装置へ返送される。
【００７９】
フレーム受信部1a、1bから引き渡されたフレーム内のパケットのパケット種別が機能問合せパケットに対する応答パケットの場合は、該フレームの送信元となるノードは本発明による合成パケットを受信して処理する機能を実装しているフレーム転送装置であると見なし、該ノード向けの送信ポートに対応する送信キュー内の転送モードフラグを”ON”に設定する。この転送モードフラグを参照して、本発明によるパケットの合成を行うか否か判定することにより、本発明による合成パケットを処理できるノードとそうでない従来技術によるノードが混在したネットワークにおいても、それを自動的に判別して、転送先ノードの実装機能に適したフレーム転送を行うことができる。
【００８０】
ルーティングテーブル11は、従来技術で実現されるテーブルで、フレームにカプセル化されるパケットのヘッダ部に格納されているパケットの送信先アドレスと、該パケットをカプセル化したフレームの次の転送先となるノードのイーサネットアドレス（ＭＡＣアドレス）および転送先ポートの識別情報とを対応付ける情報を記憶している。従って、パケットの送信先アドレスをキーにして本テーブルを検索することにより、該パケットの転送先ノードのイーサネットアドレスおよび転送先ポートを特定することができる。
【００８１】
図10は、本発明のフレーム転送装置の動作フローチャート（１）で、送信制御部の動作フローチャートを示している。
【００８２】
S01. フレーム生成分配部４から引き渡されたフレームより、該フレームにカプセル化されているパケットの長さを抽出し、該フレームの先頭に該パケット長を付加した形で、送信キューに格納する。
【００８３】
パケット長の抽出方法としては、例えば、カプセル化されるパケットがＩＰパケットの場合は、カプセル化されているパケットのヘッダ部内に設けられるＩＰパケット長のフィールドより抽出することができる。
【００８４】
S02. 送信キュー内に保持されている合成対象パケット数カウンタを、カウントアップする。
【００８５】
S03. 送信キュー内に保持されている合成後のパケット長を示す合成パケット長カウンタに、上記ステップS01で抽出したパケット長を加算する。
【００８６】
S04. 合成パケット長カウンタの値が、所定の値より大きいか否か判定し、大きい場合は(YES)、次のステップS05へ移行し、所定の値より大きくない、つまり、所定の値以下の場合は(NO)、ステップS06へ移行する。
【００８７】
S05. 合成対象パケット数カウンタから”1”を減算し、かつ、合成パケット長カウンタからステップS03で加算したパケット長の値を減算しておく。これにより、後述するパケット合成部において、所定の値以下で最大の長さのパケットを合成するために送信キューから取出すべきパケットの数を合成対象パケット数カウンタに保持しておくことができる。
【００８８】
S06. 監視タイマーが既にタイムアウトしているか否かを判定し、タイムアウト済の場合は(YES)、次のステップS07へ移行し、まだタイムアウトしていない場合は(NO)、処理を終了する。これにより、監視タイマー値をイーサネットで規定されているフレーム間ギャップの最小値とすることにより、適正なフレーム間ギャップを確保した形でのフレーム転送が可能となる。
【００８９】
S07. パケット合成部を起動して、処理を終了する。
【００９０】
図11は、本発明のパケット転送装置の動作フローチャート（２）で、パケット合成部の動作フローチャートを示している。
【００９１】
S01. 転送モードフラグを判定し、”ON”ならば(YES)、転送先ノードは本発明によるフレーム転送装置のため、次のステップS02へ移行し、”OFF”ならば(NO)、転送先ノードは従来技術によるフレーム転送装置ため、ステップS07へ移行する。
【００９２】
これにより、従来技術のフレーム転送方法によるフレーム転送装置と、本発明のフレーム転送方法によるフレーム転送装置は混在したネットワークにおいても、適切にフレーム転送ができる。
【００９３】
S02. 送信キューに２個以上のフレームが蓄積されているか否か、つまり、合成対象パケット数カウンタが”2”以上か否かを判定し、２個以上蓄積されていれば(YES)、パケットの合成が必要と見なして次のステップS03へ移行し、２個以上のフレームが蓄積されていない場合、つまり、１個以下の場合は(NO)、パケットの合成は不要と見なしてステップS07へ移行する。
【００９４】
S03. 送信キューより、合成対象パケット数カウンタが示す個数のフレームを取り出し、各フレームに付加されているパケット長、および、各フレームにカプセル化されているパケットを抽出して記憶する。ここで、合成対象パケット数カウンタには、イーサネットで規定されたパケット長の最大値以下の範囲で最大の長さのパケットを合成するために送信キューから取出すべきパケットの数が保持されているため、ここで送信キューの先頭から取出した複数のパケットを合成してフレームにカプセル化して転送すれば、最も効率的なフレーム転送が行えるようになる。
【００９５】
S04. 合成対象パケット数カウンタおよび合成パケット長カウンタをリセットする。
【００９６】
S05. ステップS03で記憶したパケット長およびパケットを基に、図６のパケット合成時のフレーム構成に示した形式のパケットを合成して、フレームのデータ部にカプセル化し、送信フレームを生成する。
【００９７】
S06. 送信フレームを、フレーム送信部へ引き渡し、処理を終了する。
【００９８】
S07. 送信キューよりフレームを１個取り出し、それを送信フレームとする。送信キューの蓄積されているフレームがないときは、なにもしない。
【００９９】
S08. 合成対象パケット数カウンタおよび合成パケット長カウンタをリセットして、ステップS06へ移行する。
【０１００】
以上の本発明の実施の形態においては、ネットワークのノードとなるフレーム転送装置を３台とし、転送するパケットの数を３個と、また、パケットの送信元および送信先となるネットワークの数をが３の場合を実施例として説明したが、フレーム転送装置の数、パケットの数、ネットワークの数については、これに限定されず任意の数が可能である。
【０１０１】
フレーム転送装置の構成、パケット合成時のパケット構成、機能問合せ/確認応答パケットの構成、については、これに限定されず、様々な変形が可能であるが、本発明の本質には影響を与えるものではない。
【０１０２】
以上述べた本発明の実施の態様は、以下の付記の通りである。
【０１０３】
（付記１）  イーサネット準拠のネットワークのノード間でフレームを転送するフレーム転送方法において、
各方路より受信した前記フレームを、前記フレームの転送先となる転送先方路別に蓄積する送信キューを備え、
前記送信キューに蓄積されている１以上のフレームを一個のフレームに合成して前記転送先方路へ送信する、
ことを特徴とするフレーム転送方法。
【０１０４】
（付記２）  付記１に記載のフレーム転送方法において、
前記フレームにカプセル化されたパケット内のパケット宛先アドレスに前記フレームの転送先方路および転送先アドレスを対応付けるルーティングテーブルを備え、
受信した前記フレームから前記パケットを抽出し、
前記パケットに含まれるパケット宛先アドレスを基に前記ルーティングテーブルを検索して前記転送先方路および前記転送先アドレスを特定し、前記転送先アドレスを宛先アドレスとするフレームに前記パケットをカプセル化して、前記転送先方路に対応する送信キューに蓄積するフレーム蓄積処理を行う、
ことを特徴とするフレーム転送方法。
【０１０５】
（付記３）  付記１に記載のフレーム転送方法において、
前記送信キューに２以上のフレームが蓄積されている場合は、２以上の前記フレームにカプセル化されているパケットを抽出して１個の合成パケットとし、前記合成パケットをタイプフィールドに所定の識別コードを設定したフレームにカプセル化して前記転送先方路へ送信し、
前記送信キューに１個のフレームのみが蓄積されている場合は、前記転送先方路へそのまま送信する、
ことを特徴とするフレーム転送方法。
【０１０６】
（付記４）  付記３に記載のフレーム転送方法において、
前記フレーム受信時は、前記タイプフィールドが所定の識別コードに設定されているときは、受信した前記フレームにカプセル化されているパケットを、前記合成パケットとみなして合成前のパケットを抽出し、
抽出された合成前の前記パケットについて、前記フレーム蓄積処理を行う、
ことを特徴とするフレーム転送方法。
【０１０７】
（付記５）  付記３に記載のフレーム転送方法において、
前記送信キューは、前記パケット合成の対象となるパケット数を示す合成対象パケット数を保持し、
前記合成対象パケット数は、前記送信キューの先頭から順に選択したフレームにカプセル化されているパケットの数で、かつ、合成後のパケット長がイーサネットで規定されている最大値を超えない範囲で最大となるパケットの数を示し、
前記パケットの合成は、前記送信キューの先頭から前記合成対象パケット数が示す数のフレームにカプセル化されているパケットを対象として行う、
ことを特徴とするフレーム転送方法。
【０１０８】
（付記６）  付記５に記載のフレーム転送方法において、
前記合成パケットは、合成の対象となるパケットのパケット数、合成の対象となるパケットのパケット長の列、および、合成の対象となるパケットの列、の順に配置し、
前記パケット長の列は、合成の対象となるパケットの列と同じ順番に配置する、
ことを特徴とするフレーム転送方法。
【０１０９】
（付記７）  付記１ないし付記６のいずれかに記載のフレーム転送方法において、
前記転送先方路へのフレーム送信の可否を制御する監視タイマーを備え、
前記監視タイマーは、前記転送先方路へのフレームの送信完了時点に所定のタイマー値で起動され、前記監視タイマー動作中は前記転送先方路へのフレームの送信を抑止し、
前記フレームの送信は、前記送信キューへのフレーム格納時に前記監視タイマーがタイムアウト完了状態の場合にのみ行う、
ことを特徴とするフレーム転送方法。
【０１１０】
（付記８）  付記７に記載のフレーム転送方法において、
前記監視タイマーのタイマー値は、イーサネットで規定されているフレーム間ギャップの最小値とする、
ことを特徴とするフレーム転送方法。
【０１１１】
（付記９）  付記１に記載のフレーム転送方法において、
フレームの新しい転送先アドレスを認識した時点で、前記転送先アドレスが示す転送先ノードに対して、前記転送先ノードが前記合成パケットを受信して処理する機能を実装しているか否かを問い合わせる機能問合せパケットを含んだフレームを送信し、
前記機能問合せパケットを含んだフレームに対する応答が返送されてきた前記転送先ノードについては、前記合成パケットを受信し処理する機能を実装していると判定する、
ことを特徴とするフレーム転送方法。
【０１１２】
（付記１０）  イーサネット準拠のネットワークのノード間でフレームを転送するフレーム転送装置において、
受信した前記フレームを、前記フレームの転送先となる転送先方路別に蓄積する送信キューと、
前記送信キューに蓄積されている１以上のフレームを一個のフレームに合成して前記転送先方路へ送信する手段を備える、
ことを特徴とするフレーム転送装置。
【０１１３】
（付記１１）  付記１０に記載のフレーム転送装置において、
前記フレームにカプセル化されたパケット内のパケット宛先アドレスに前記フレームの転送先方路および転送先アドレスを対応付けるルーティングテーブルと、
受信したフレームから前記パケットを抽出する手段と、
前記パケットに含まれるパケット宛先アドレスを基に前記ルーティングテーブルを検索して前記転送先方路および前記転送先アドレスを特定し、前記転送先アドレスを宛先アドレスとするフレームに前記パケットをカプセル化して、前記転送先方路に対応する送信キューに蓄積するフレーム蓄積処理を行う手段を備える、
ことを特徴とするフレーム転送装置。
【０１１４】
（付記１２）  付記１０に記載のフレーム転送装置において、
前記送信キューに２以上のフレームが蓄積されている場合は、２以上の前記フレームにカプセル化されているパケットを抽出して１個の合成パケットとし、前記合成パケットをタイプフィールドに所定の識別コードを設定したフレームにカプセル化して前記転送先方路へ送信する手段と、
前記送信キューに１個のフレームのみが蓄積されている場合は、前記転送先方路へそのまま送信する手段を備える、
ことを特徴とするフレーム転送装置。
【０１１５】
（付記１３）  付記１２に記載のフレーム転送装置において、
前記フレーム受信時は、前記タイプフィールドが所定の識別コードに設定されているときは、受信した前記フレームにカプセル化されているパケットを、前記合成パケットとみなして合成前のパケットを抽出する手段と、
抽出された合成前の前記パケットについて、前記フレーム格納処理を行う手段を備える、
ことを特徴とするフレーム転送装置。
【０１１６】
（付記１４）  付記１２に記載のフレーム転送装置において、
前記送信キューは、前記パケット合成の対象となるパケット数を示す合成対象パケット数を保持する手段と、
前記合成対象パケット数を、前記送信キューの先頭から順に選択したフレームにカプセル化されているパケットの数で、かつ、合成後のパケット長がイーサネットで規定されている最大値を超えない範囲で最大となるパケットの数を示しように調整する手段と、
前記パケットの合成を、前記送信キューの先頭から前記合成対象パケット数が示す数のフレームにカプセル化されているパケットを対象として行う手段を備える、
ことを特徴とするフレーム転送装置。
【０１１７】
（付記１５）  付記１４に記載のフレーム転送装置において、
前記合成パケットを、合成の対象となるパケットのパケット数、合成の対象となるパケットのパケット長の列、および、合成の対象となるパケットの列、の順に配置する手段と、
前記パケット長の列を、合成の対象となるパケットの列と同じ順番に配置する手段を備える、
ことを特徴とするフレーム転送装置。
【０１１８】
（付記１６）  付記１０ないし付記１５のいずれかに記載のフレーム転送装置において、
前記転送先方路へのフレーム送信の可否を制御する監視タイマーと、
前記監視タイマーを、前記転送先方路へのフレームの送信完了時点に所定のタイマー値で起動して、前記監視タイマー動作中は前記転送先方路へのフレームの送信を抑止する手段と、
前記フレームの送信を、前記送信キューへのフレーム格納時に前記監視タイマーがタイムアウト完了状態の場合にのみ行う手段を備える、
ことを特徴とするフレーム転送装置。
【０１１９】
（付記１７）  付記１６に記載のフレーム転送装置において、
前記監視タイマーのタイマー値を、イーサネットで規定されているフレーム間ギャップの最小値とする手段を備える、
ことを特徴とするフレーム転送装置。
【０１２０】
（付記１８）  付記１０に記載のフレーム転送装置において、
フレームの新しい転送先アドレスを認識した時点で、前記転送先アドレスが示す転送先ノードに対して、前記転送先ノードが前記合成パケットを受信して処理する機能を実装しているか否かを問い合わせる機能問合せパケットを含んだフレームを送信する手段と、
前記機能問合せパケットを含んだフレームに対する応答が返送されてきた前記転送先ノードについては、前記合成パケットを受信し処理する機能を実装していると判定する手段を備える、
ことを特徴とするフレーム転送装置。
【図面の簡単な説明】
【０１２１】
【図１】従来技術のフレーム転送方法
【図２】従来技術のイーサネット準拠のフレーム構成
【図３】従来技術のフレーム転送時のタイムチャート
【図４】本発明のフレーム転送方法
【図５】本発明のフレーム転送時のタイムチャート
【図６】本発明のパケット合成時のフレーム構成
【図７】本発明のフレーム転送装置の実装機能確認シーケンス
【図８】本発明のフレーム転送装置の機能問合せ/確認応答パケットの構成
【図９】本発明のフレーム転送装置の構成
【図１０】本発明のフレーム転送装置の動作フローチャート（１）
【図１１】本発明のフレーム転送装置の動作フローチャート（２）
【符号の説明】
【０１２２】
1a,1b  フレーム受信部
2a,2b  パケット分解部
3     ルーティング解決部
4     フレーム生成分配部
5a,5b  送信キュー
6a,6b  パケット合成部
7a,7b  フレーム送信部
8a,8b  送信制御部
9a,9b  タイマー監視部
10     実装機能確認応答部
100a,100b,100c  フレーム転送装置
200a,200b,200c  ネットワーク
P(1),P(2),P(3)  パケット
P(1,2,3)   合成パケット
K01  プリアンブル
K02  宛先アドレス
K03  送信元アドレス
K04  タイプ
K05  データ部
K06  ＦＣＳ
F01〜F05  フレーム
G01〜G04  フレーム間ギャップ
【図１】
2005045675.tif 000003
【図２】
2005045675.tif 000004
【図３】
2005045675.tif 000005
【図４】
2005045675.tif 000006
【図５】
2005045675.tif 000007
【図６】
2005045675.tif 000008
【図７】
2005045675.tif 000009
【図８】
2005045675.tif 000010
【図９】
2005045675.tif 000011
【図１０】
2005045675.tif 000012
【図１１】
2005045675.tif 000013