通信装置および通信方法
【課題】伝送フレームの伝送効率の向上と遅延の抑制を適切に図ることができる。
【解決手段】分割部は、フレームを所定サイズのユニットに分割する。振り分け部は、ユニットを複数のリンクに振り分ける。格納部は、複数のリンクのそれぞれに対応し、振り分け部によって振り分けられたユニットを、他の通信装置に伝送する伝送フレームのペイロードに格納する。タイマ部は、フレームの優先度に基づいたタイムアウト時間を計測する。送信制御部は、伝送フレームのペイロードに格納されたユニットが所定サイズに達するか、または、タイマ部によるタイムアウト時間を経過したかによって、伝送フレームを他の通信装置に伝送する。
【解決手段】分割部は、フレームを所定サイズのユニットに分割する。振り分け部は、ユニットを複数のリンクに振り分ける。格納部は、複数のリンクのそれぞれに対応し、振り分け部によって振り分けられたユニットを、他の通信装置に伝送する伝送フレームのペイロードに格納する。タイマ部は、フレームの優先度に基づいたタイムアウト時間を計測する。送信制御部は、伝送フレームのペイロードに格納されたユニットが所定サイズに達するか、または、タイマ部によるタイムアウト時間を経過したかによって、伝送フレームを他の通信装置に伝送する。
【発明の詳細な説明】
【技術分野】
【0001】
本件はフレームを複数のリンクに分散して通信を行う通信装置および通信方法に関する。
【背景技術】
【0002】
通信帯域を増加させる技術にリンクアグリゲーション技術がある。リンクアグリゲーションは、イーサネット(登録商標)フレームを複数の物理リンクに分散させて送信する技術であり、IEEE802.3adで標準化され、現在は802.3−2005の43章で定義されている。
【0003】
図12は、リンクアグリゲーションにおけるフレームの順序逆転を説明する図である。図12に示す通信装置101,102は、リンク103,104を介して接続されている。図12に示す四角は、通信装置101,102で送受信されるフレームを示し、四角内の数字は、フレームの送受信の順番を区別するために示している。
【0004】
リンクアグリゲーションでは、例えば、MAC(Media Access Control)アドレスやIP(Internet Protocol)アドレス、VLAN ID(Virtual Local Area Network IDentifier)に基づいて、フレームを複数のリンク103,104に振り分けるアルゴリズムがある。これは、イーサネットでは、基本的にフレームの順序逆転を許さないという要件に基づくものであり、受信したフレームを単純にリンク103,104に交互に振り分けると、フレーム順序が逆転するからである。
【0005】
例えば、図12に示すように、リンク103,104のリンク長が異なるとする。この場合、通信装置101は、1,2,3,4,5と順番にフレームを受信し、リンク103,104に交互に振り分けしているが、通信装置102は、2,1,4,3,5という順序でフレームを受信する。
【0006】
そこで、リンクアグリゲーションでは、MACアドレスやIPアドレス、VLAN IDなどをキーとし、少なくとも同じ通信(カンバセーションという)においては、フレームの順序逆転を回避するようにしている。すなわち、送信元と宛先の同じフレームは、カンバセーションとしてリンクに振り分け、同じカンバセーションに属するフレーム間では、フレームの順序逆転が発生しないようにする。
【0007】
図13は、カンバセーションを説明する図である。図13に示す通信装置111,112は、リンク113,114を介して接続されている。端末115a,115bは、通信装置111,112を介して通信し、端末116a,116bは、通信装置111,112を介して通信する。図13の四角は、端末115a,115bで送受信されるフレームを示し、三角は、端末116a,116bで送受信されるフレームを示す。四角内の数字および三角内の数字は、フレームの送受信の順番を区別するために示している。
【0008】
通信装置111は、MACアドレスなどに基づいて、端末115aから受信したフレームをリンク113に出力し、端末116aから受信したフレームをリンク114に出力する。通信装置112は、MACアドレスなどに基づいて、リンク113から受信したフレームを端末115bに送信し、リンク114から受信したフレームを端末116bに送信する。これにより、端末115a,115bのカンバセーションおよび端末116a,116bのカンバセーションでは、図13の四角および三角に示すように、フレームの順序が維持される。
【0009】
リンクアグリゲーションでは、n本のリンクでフレームを送信しても、通信帯域は必ずしもn倍になるとは限らない。例えば、あるリンクでは、トラフィックが大量なのに、他のリンクでは、トラフィックが各段に少ない場合などで生じる。
【0010】
図14は、通信帯域の偏りを説明する図である。図14において、図13と同じものには同じ符号を付し、その説明を省略する。図14に示すように、端末115a,115b間のトラフィックが、端末116a,116b間のトラフィックより大きいとする。この場合、2本のリンク113,114で通信を行っても、通信帯域は、1本の場合に対し、2倍とはならない。
【0011】
そこで、複数の可変長フレームを所定サイズ単位にユニット化し、1つの広帯域ポートとしてアグリゲートされた複数のポートの各々へユニットを振り分けて送信する技術が提案されている(例えば、特許文献1参照)。これによれば、アグリゲートされた複数のポートに、均等にトラフィックを分散させ、通信帯域を有効に利用することができる。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開2005−252333号公報
【発明の概要】
【発明が解決しようとする課題】
【0013】
しかし、フレームを分割したユニットを、例えば、イーサネットフレームなどの伝送フレームにカプセル化して送信する場合、伝送フレームの伝送効率と伝送フレームの遅延との間にトレードオフの関係が存在するという問題点があった。
【0014】
図15は、イーサネットフレームのフレーム構成例を示した図である。図15に示すように、イーサネットフレームは、宛先アドレス、送信元アドレス、およびイーサネットタイプを含むヘッダを有している。また、イーサネットフレームは、ペイロードとFCS(Frame Check Sequence)とを有している。イーサネットフレームは、1つ前のフレームとの間に、フレーム間ギャップとして少なくとも20バイト以上開けなければならない。
【0015】
フレーム間ギャップを含まないイーサネットフレームの最大フレーム長は、1518バイトである。ユニットをペイロードに1500バイト最大に格納すると、フレーム間ギャップも含めたイーサネットフレームのユニットを伝送する伝送効率は、1500/1538=97.5%となる。一方、例えば、ペイロードにユニットを100バイトしか格納せずに送信する場合は、伝送効率は、100/138=72.5%となる。すなわち、ユニットのペイロードへの格納数が少ないと、伝送効率が低下する。
【0016】
従って、ユニットをペイロードに1500バイト最大に格納してから、FCSを付加して送信するようにすると、イーサネットフレームの伝送効率は向上する。しかし、ユニットがペイロードに1500バイト格納されない限り、イーサネットフレームは送信されないので、送信するユニットがない場合、フレーム送信に遅延が生じる。
【0017】
このように、ユニット化されたフレームを、例えば、イーサネットフレームなどの伝送フレームにカプセル化して送信する場合、伝送フレームの伝送効率とフレーム遅延との間にトレードオフの関係が存在する。
【0018】
本件はこのような点に鑑みてなされたものであり、伝送フレームの伝送効率の向上と遅延の抑制を適切に図ることができる通信装置および通信方法を提供することを目的とする。
【課題を解決するための手段】
【0019】
上記課題を解決するために、フレームを複数のリンクに分散して通信を行う通信装置が提供される。この通信装置は、前記フレームを所定サイズのユニットに分割する分割部と、前記ユニットを前記複数のリンクに振り分ける振り分け部と、前記複数のリンクのそれぞれに対応して、前記振り分け部によって振り分けられた前記ユニットを伝送フレームのペイロードに格納する格納部と、前記フレームの優先度に基づいたタイムアウト時間を計測するタイマ部と、前記伝送フレームのペイロードに格納された前記ユニットが所定サイズに達するか、または、前記タイムアウト時間を経過したかによって、前記伝送フレームを前記複数のリンクから他の通信装置に送信する送信制御部と、を有する。
【発明の効果】
【0020】
開示の通信装置によれば、伝送フレームの伝送効率の向上と遅延の抑制を適切に図ることができる。
【図面の簡単な説明】
【0021】
【図1】第1の実施の形態に係る通信装置を示した図である。
【図2】第2の実施の形態に係る通信装置を用いた通信ネットワークを示した図である。
【図3】イーサネットフレームのフレーム構成例を示した図である。
【図4】通信装置のブロック図である。
【図5】タイムアウトテーブルのデータ構成例を示した図である。
【図6】フレームのユニット分割およびリンク伝送フレームを説明する図である。
【図7】受信側の通信装置のブロック図である。
【図8】通信装置の送信動作の状態遷移を示した図である。
【図9】リンクを増減するときの通信装置の動作を示したフローチャートである。
【図10】第3の実施の形態に係る通信装置のブロック図である。
【図11】第4の実施の形態に係る通信装置のブロック図である。
【図12】リンクアグリゲーションにおけるフレームの順序逆転を説明する図である。
【図13】カンバセーションを説明する図である。
【図14】通信帯域の偏りを説明する図である。
【図15】イーサネットフレームのフレーム構成例を示した図である。
【発明を実施するための形態】
【0022】
以下、第1の実施の形態を、図面を参照して詳細に説明する。
図1は、第1の実施の形態に係る通信装置を示した図である。図1に示すように通信装置は、分割部1、振り分け部2、格納部3a〜3n、タイマ部4、および送信制御部5a〜5nを有している。
【0023】
分割部1は、他の通信装置に送信するフレームを所定サイズのユニットに分割する。
振り分け部2は、分割部1によって分割されたユニットを複数のリンクに振り分ける。例えば、格納部3a〜3nは、複数のリンクに対応して設けられており、振り分け部2は、ユニットを格納部3a,3b,…,3n,3a,3b,…と順番に振り分ける。
【0024】
格納部3a〜3nは、複数のリンクのそれぞれに対応して、振り分け部2によって振り分けられたユニットを伝送フレームのペイロードに格納する。
タイマ部4は、フレームの優先度に基づいたタイムアウト時間を計測する。例えば、優先度の高いフレームは、優先度の低いフレームに対してフレーム遅延が許されないためタイムアウト時間を短く計測する。優先度の低いフレームは、例えば、フレーム遅延が許容される範囲でタイムアウト時間を長く計測する。
【0025】
送信制御部5a〜5nは、伝送フレームのペイロードに格納されたユニットが所定サイズに達するか、または、タイマ部4によって計測されるタイムアウト時間が経過したかによって、格納部3a〜3nによりペイロードにユニットが格納された伝送フレームを複数のリンクから他の通信装置に送信する。
【0026】
ここで、上記したように、タイマ部4は、フレームの優先度が低い場合、優先度の高い場合に比べ、タイムアウト時間を長く計測する。従って、優先度の低いフレームのユニットは、伝送フレームのペイロードに多く格納することができる。一方、優先度の高いフレームのユニットは、伝送フレームのペイロードに格納される数は少ないが、伝送フレームの遅延を抑制できる。
【0027】
このように、通信装置は、フレームを所定サイズのユニットに分割して、複数のリンクに振り分ける。そして、ユニットを他の通信装置に伝送する伝送フレームのペイロードに格納し、伝送フレームのペイロードに格納されたユニットが所定サイズに達するか、または、フレームの優先度に基づいたタイムアウト時間を経過したかによって、伝送フレームを他の通信装置に伝送する。これにより、伝送フレームの伝送効率の向上と遅延の抑制を適切に図ることができる。
【0028】
次に、第2の実施の形態を、図面を参照して詳細に説明する。
図2は、第2の実施の形態に係る通信装置を用いた通信ネットワークを示した図である。図2には、例えば、図示しない端末または通信装置からフレームを受信して通信装置12に送信する通信装置11と、通信装置11から送信されたフレームを受信して、図示しない端末または通信装置へ送信する通信装置12が示してある。通信装置11,12は、例えば、L(Layer)2スイッチまたはL3スイッチである。
【0029】
通信装置11,12は、n本のリンク13a〜13nで接続され、リンクアグリゲーションを適用して通信を行っている。通信装置11,12は、n本のリンク13a〜13nを1本のリンクとみなし、並列にフレームを送信することにより、通信帯域を向上させている。また、図2の通信システムでは、n本のリンク13a〜13nで通信装置11,12が接続されているため、リンク13a〜13nのうちm(m<n)本が断線して通信できなくなった場合でも、残りのリンク13a〜13nを利用して、通信を続けることができる。上記では、通信装置11がフレームを通信装置12に送信するとしているが、通信装置12が通信装置11にフレームを送信するようにしてもよい。
【0030】
通信装置11は、リンク13a〜13nに対応したリンク処理部を有している。通信装置11は、端末または通信装置から受信したフレームを所定サイズのユニットに分割し、ユニットをリンク13a〜13nに対応したリンク処理部に順番に振り分ける。リンク処理部は、振り分けられたユニットをリンク伝送フレームのペイロードに格納し、ペイロードのユニットのサイズが所定サイズに達するか、または、タイムアウト時間の経過を契機に、リンク伝送フレームをリンク13a〜13nに送出する。
【0031】
通信装置11は、例えば、受信したフレームのQoS(Quality of Service)に基づいて、タイムアウト時間を計測する。Qosとは、通信しているサービスあるいはアプリケーションが、ネットワークの中でIPパケットやイーサネットフレームをどう扱ってほしいのかを示すものであり、優先度ということができる。
【0032】
例えば、VoIP(Voice over IP)のようなリアルタイムで通信が要求されるものは、遅延が大きくなると通信が成り立たなくなるため、小さな遅延が要求される。また、金融のトランザクションなどでは、トラフィックそのものは大きくないが、レスポンスの速さ(ネットワークとして遅延が小さいこと)に加えて、パケット廃棄も極小であることが望まれる。一方、Webを閲覧するような場合は、それほど遅延やパケット廃棄は重要視されない。よって、VoIPやトランザクションの優先度は高く、Webなどの通信は、優先度を低くするのが一般的である。
【0033】
そこで、通信装置11は、優先度の低いフレームを受信した場合、タイムアウト時間を長く設定し、リンク伝送フレームのペイロードに多くのユニットが格納されるようにして、リンク伝送フレームのユニットの伝送効率の向上を図る。一方、通信装置11は、優先度の高いフレームを受信した場合、タイムアウト時間を短く設定し、フレーム遅延を抑制する。
【0034】
図3は、イーサネットフレームのフレーム構成例を示した図である。図3に示すように、イーサネットフレームは、宛先アドレス、送信元アドレス、イーサネットタイプ、およびVLANタグを含むヘッダを有している。また、イーサネットフレームは、ペイロードとFCSとを有している。VLANタグは、図3に示すように、PRI(Priority)、C(Canonical format indicator)、およびVLAN IDのフィールドを有している。
【0035】
イーサネットフレームは、VLANタグのPRIによってフレームの優先度を指定することができる。PRIは、3ビットあるため、最大で8種類の優先度を指定することが可能である。
【0036】
なお、IPパケットでは、ToS(Type of Service)と呼ばれるフィールドを有し、これを用いて、パケットの優先度やQoSを指定することができる。従って、通信装置11は、端末または通信装置から受信したIPパケットのToSに基づいてタイムアウト時間を設定してもよい。
【0037】
図4は、通信装置のブロック図である。図4に示すように、通信装置11は、フレームキュー21、ユニット分割部22、振り分け部23、タイムアウトテーブル24、タイマ部25、およびリンク処理部26a〜26nを有している。なお、通信装置12も図4のブロックを有していてもよい。
【0038】
フレームキュー21には、通信装置12に送信するフレームが格納される。フレームは、例えば、イーサネットフレームである。
ユニット分割部22は、フレームキュー21に格納されたフレームを所定サイズのユニットに分割する。
【0039】
振り分け部23は、ユニット分割部22によって分割されたフレームのユニットを、リンク処理部26a〜26nに振り分ける。振り分け部23は、例えば、ユニットをリンク処理部26a,…,26n,26a,…とラウンドロビンにより振り分ける。
【0040】
振り分け部23は、ユニット分割部22で分割されたユニットが、通信装置12において元のフレームに復元できるように、ユニットに復元情報を付加する。振り分け部23は、後述するように、分割したフレームの先頭のユニットから、リンク13a〜13nの数分、ユニットに復元情報を付加する。また、振り分け部23は、全てのリンク13a〜13nにおいてユニットの数が揃うようにパディングを付加する。また、振り分け部23は、最後のユニットの大きさが所定サイズに満たない場合には、そのユニットが所定サイズとなるようにパディングを付加する。
【0041】
タイムアウトテーブル24は、フレームの優先度とタイムアウト値とを対応付けて記憶している。
図5は、タイムアウトテーブルのデータ構成例を示した図である。図5に示すように、タイムアウトテーブル24は、優先度の欄とタイムアウト値の欄を有している。優先度の欄には、フレームのVLANタグのPRIに対応する値が格納される。すなわち、フレームの優先度が格納される。値が小さいほど優先度は高くなっている。
【0042】
タイムアウト値の欄には、タイムアウト時間を計測するためのタイムアウト値が格納される。優先度が高いほどタイムアウト値は小さい値となっている。タイムアウト値は、例えば、数μs〜数百μsの値である。
【0043】
図4の説明に戻る。タイマ部25は、フレームキュー21に格納されたフレームのVLANタグからPRIを取得し、フレームキュー21に格納されたフレームの優先度を認識する。タイマ部25は、認識した優先度に基づいてタイムアウトテーブル24を参照し、タイムアウト値を取得する。タイマ部25は、取得したタイムアウト値をタイマにセットして動作させ、タイムアウト時間を計測する。タイマ部25は、タイムアウト時間が経過すると、リンク処理部26a〜26nにタイムアウト信号を出力する。
【0044】
タイマ部25は、リンク処理部26a〜26nにおいて、リンク伝送フレームの空のペイロードに最初にユニットが格納されるときタイマをリセットする。そして、タイマ部25は、最初にペイロードに格納されるユニットのフレームの優先度をフレームキュー21から取得する。すなわち、タイムアウト時間は、リンク伝送フレームのペイロードにユニットが格納され、リンク13a〜13nに送出されるまでは更新されず、リンク伝送フレームがリンク13a〜13nに送出されると更新される。
【0045】
リンク処理部26a〜26nは、リンク13a〜13nに対応して設けられている。例えば、リンク処理部26aは、リンク13aに対応して設けられ、リンク処理部26nは、リンク13nに対応して設けられている。
【0046】
リンク処理部26aは、MAC情報生成部26aa、送信制御部26ab、格納部26ac、物理ポートキュー26ad、およびPHY(PHYsical)部26aeを有している。リンク処理部26nは、MAC情報生成部26na、送信制御部26nb、格納部26nc、物理ポートキュー26nd、およびPHY部26neを有している。図示していないリンク処理部もリンク処理部26a,26nと同様の各部を有している。以下では、リンク処理部26aの各部についてのみ説明する。
【0047】
MAC情報生成部26aaは、通信装置12へ送信するリンク伝送フレームのヘッダおよびトレイラを生成し、格納部26acに出力する。ヘッダには、例えば、送信元MACアドレス、宛先MACアドレス、イーサネットタイプの情報が含まれる。また、トレイラには、リンク伝送フレームを受信する通信装置12において、リンク伝送フレームが適切に受信されたか否かを判断するためのFCSが含まれる。
【0048】
MAC情報生成部26aaは、物理ポートキュー26adが空になったとき、すなわち、物理ポートキュー26adで生成されたリンク伝送フレームがリンク13aに送出されたときヘッダを生成し、格納部26acに出力する。また、MAC情報生成部26aaは、送信制御部26abからのFCS生成指示を受けてトレイラを生成し、格納部26acに出力する。
【0049】
送信制御部26abは、物理ポートキュー26adからリンク伝送フレームのペイロードがフル(Full)になった旨の通知を受けると、MAC情報生成部26aaにFCS生成指示を出力し、物理ポートキュー26adにリンク伝送フレームを送信するように送信要求を行う。また、送信制御部26abは、タイマ部25からタイムアウト信号が出力されると、MAC情報生成部26aaにFCS生成指示を出力し、物理ポートキュー26adにリンク伝送フレームを送信するように送信要求を行う。
【0050】
すなわち、送信制御部26abは、タイムアウト時間の経過によってリンク伝送フレームを通信装置12に送信することとなった場合、物理ポートキュー26adのリンク伝送フレームにトレイラが付加されるようにし、送信要求を行う。また、送信制御部26abは、タイムアウト時間を経過していないが、リンク伝送フレームのペイロードがいっぱいとなり、リンク伝送フレームを通信装置12に送信することとなった場合、物理ポートキュー26adのリンク伝送フレームにトレイラが付加されるようにし、送信要求を行う。
【0051】
格納部26acは、振り分け部23によって振り分けられたユニットおよびMAC情報生成部26aaから出力されるヘッダおよびトレイラを物理ポートキュー26adに格納する。
【0052】
物理ポートキュー26adには、MAC情報生成部26aaによって生成されたヘッダおよびトレイラが格納される。また、振り分け部23によって振り分けられたユニットが格納される。物理ポートキュー26adには、MAC情報生成部26aaによって生成されたヘッダが格納され、次いで、振り分け部23によって振り分けられたユニットが格納され、最後にトレイラが格納される。従って、物理ポートキュー26adでは、通信装置12に送信する、例えば、イーサネットフレームのリンク伝送フレームが生成される。
【0053】
物理ポートキュー26adは、リンク伝送フレームのペイロードがユニットでいっぱいになった場合、その旨を送信制御部26abに通知する。また、物理ポートキュー26adは、送信制御部26abから通知される送信要求によって、物理ポートキュー26ad内で組み上がったリンク伝送フレームをPHY部26aeに出力する。
【0054】
PHY部26aeは、例えば、イーサネットの物理レイヤ処理を行い、伝送路符号化などの処理を行う。PHY部26aeは、物理ポートキュー26adから出力されるリンク伝送フレームをリンク13aに出力する。
【0055】
図6は、フレームのユニット分割およびリンク伝送フレームを説明する図である。図6には、図4のフレームキュー21に格納されたフレーム31が示してある。また、図6には、フレーム31をユニット分割部22によって分割したユニット41〜46が示してある。また、図6には、リンク処理部51,52が示してある。図6では、図4のリンク処理部26a〜26nが2個の場合を示している。
【0056】
ユニット分割部22は、フレーム31を所定サイズのユニットに分割する。例えば、ユニット分割部22は、図6に示すように、フレーム31を6個のユニット41〜46に分割する。なお、フレーム31は、所定サイズで割り切れるとは限らない。例えば、図6に示すように、フレーム31の最後に分割されたユニット46は、他のユニット41〜45よりサイズが小さくなる場合がある。
【0057】
振り分け部23は、ユニット分割部22によって分割されたユニット41〜46を、リンク処理部51,52に順に振り分ける。例えば、振り分け部23は、図6に示すように、ユニット41をリンク処理部51に振り分け、ユニット42をリンク処理部52に振り分け、ユニット43をリンク処理部51に振り分け、以下同様にユニット44〜46を順に振り分ける。
【0058】
振り分け部23は、フレームを分割したユニットの先頭から、リンクの数分、復元情報を付加する。例えば、図6の例の場合、リンクの数は2であるので、振り分け部23は、フレーム31の先頭から2つのユニット41,42に復元情報41a,42aを付加する。復元情報は、ユニット41,42の先頭に付加される。
【0059】
また、振り分け部23は、全てのリンクおいてユニット数が揃うようにパディングを付加する。また、振り分け部23は、最後のユニットの大きさが所定サイズに満たない場合には、そのユニットが所定サイズとなるようにパディングを付加する。
【0060】
例えば、図6の例の場合、最後のユニット46は所定サイズに満たないので、振り分け部23は、最後のユニット46が所定サイズとなるようにパディング(図6中ではP)46aを付加する。
【0061】
また、図6の例の場合、2つのリンク(リンク処理部51,52)のユニット数は、それぞれ3で揃っている。ここで、仮にユニット46が存在しないとすると(フレーム31がユニット41〜45で割り切れたとすると)、リンク処理部51のユニット数は3で、リンク処理部52のユニット数は2となり、2つのリンクのユニット数が揃わない。この場合、振り分け部23は、2つのリンクのユニット数が揃うように、パディングをリンク伝送フレームに付加し、2つのリンクのユニット数を3に揃える。図6では、リンク処理部52のユニット46に示す部分が全てパディングとなるようにする。
【0062】
復元情報41a,42aには、復元情報41a,42aを識別するための識別子、ユニット41〜46のリンク処理部51,52への振り分け順を示すシーケンス番号、およびフレーム31の長さを示す長さ情報が含まれる。
【0063】
識別子は、例えば、「0x7e」というコードである。従って、通信装置12では、前に送信されたフレームの続きのユニットでない限り、リンク伝送フレームのペイロードの先頭には、「0x7e」というコードが付加されていることが期待される。これにより、通信装置12は、フレームの先頭を認識することができる。
【0064】
シーケンス番号は、ユニット41〜46の振り分け順を示すための番号である。例えば、ユニット41は、最初にリンク処理部51に振り分けられるので、復元情報41aのシーケンス番号には「1」が付加される。ユニット42は、2番目にリンク処理部52に振り分けられるので、復元情報42aのシーケンス番号には「2」が付加される。これにより、受信側の通信装置12では、受信したシーケンス番号をリンクアグリゲーションが組まれたポート間で比較し、シーケンス番号の順に受信したユニットを組み上げれば、フレーム31を復元できる。
【0065】
長さ情報は、フレーム31の長さを示す。これにより、通信装置12では、受信した長さ情報によってフレームの終了箇所を認識でき、余りがあれば、パディングであると認識して廃棄することができる。
【0066】
なお、フレーム31には、FCSが付加されているので、通信装置12は、FCSに基づいて組み上がったフレーム31が正しく元のフレームに再生できているかチェックすることができる。
【0067】
図7は、受信側の通信装置のブロック図である。図7に示すように、通信装置12は、リンク処理部61a〜61nおよび復元部62を有している。
リンク処理部61a〜61nは、リンク13a〜13nに対応して設けられている。リンク処理部61a〜61nは、PHY処理部およびMAC処理部を備え、リンク13a〜13nが光ファイバであれば、SFP(Small Form factor Pluggable)によって通信装置11から送信されるリンク伝送フレームを受信する。リンク処理部61a〜61nは、受信したリンク伝送フレームのFCSによって、フレームが正しく送信されたかのチェックを行う。リンク処理部61a〜61nは、受信したリンク伝送フレームのペイロードを抽出し、復元部62に出力する。
【0068】
復元部62は、ペイロードに格納されているユニットのコード「0x7e」に基づいて、ユニットに付加された復元情報を認識するとともに、復元するフレームの先頭を認識する。また、復元部62は、復元情報に含まれるシーケンス番号から、ポート間(リンク13a〜13n)にユニットが振り分けられた順を認識し、認識した順にユニットを結合する。また、復元部62は、復元情報に含まれる長さから、ユニットに付加されたパディングを認識し、それを破棄する。復元部62は、復元したフレームのFCSに基づいて、復元したフレームが正しく復元できたか否か判断する。
【0069】
図8は、通信装置の送信動作の状態遷移を示した図である。〔状態S1〕状態S1は、例えば、通信装置11の電源投入時の状態を示す。状態S1では、物理ポートキュー26ad〜26ndは、空の状態となる。通信装置11は、初期設定処理が終了すると、状態S2へ遷移する。
【0070】
〔状態S2〕状態S2では、MAC情報生成部26aa〜26naは、リンク伝送フレームのヘッダを生成する。生成されたリンク伝送フレームのヘッダは、格納部26ac〜26ncによって、物理ポートキュー26ad〜26ndに格納される。
【0071】
状態S2において、前回のリンク伝送フレームで送信したフレームの継続したユニットがなければ、通信装置11は、状態S3に遷移する。
状態S2において、前回のリンク伝送フレームで送信したフレームの継続したユニットがあれば、通信装置11は、状態S4に遷移する。例えば、前回伝送したリンク伝送フレームのペイロードが、フレームの全てのユニットが格納される前にフルになった場合、状態S4に遷移する。
【0072】
〔状態S3〕状態S3では、通信装置11は、フレームのフレームキュー21への格納待ちを行う。すなわち、通信装置11は、端末または他の通信装置からのフレームの到着待ちを行う。
【0073】
状態S3において、通信装置11は、端末または他の通信装置からフレームが到着した場合、状態S4へ遷移する。
状態S3において、通信装置11は、端末または他の通信装置からフレームが到着せずにタイムアウトした場合、状態S5へ遷移する。
【0074】
〔状態S4〕状態S4では、ユニット分割部22は、フレームをユニットに分割し、振り分け部23は、ユニットをリンク処理部26a〜26nに振り分ける。すなわち、ユニットは、物理ポートキュー26ad〜26ndに格納される。
【0075】
タイマ部25は、物理ポートキュー26ad〜26ndにリンク伝送フレームのヘッダのみが格納されている状態で、物理ポートキュー26ad〜26ndに最初にユニットが格納される場合、タイマをリセットし、タイムアウトテーブル24から取得したタイムアウト値をセットする。
【0076】
状態S4において、タイムアウト時間が経過することなく、ユニットのペイロードへの格納が完了すると、通信装置11は、状態S3へ遷移する。
状態S4において、タイムアウト時間が経過し、または、ペイロードのユニットの格納がフルになると、通信装置11は、状態S5へ遷移する。
【0077】
〔状態S5〕状態S5では、通信装置11は、リンク伝送フレームにFCSを付加し、リンク伝送フレームを通信装置12に送信する。なお、通信装置11は、タイムアウト時間が経過して状態S5に遷移した場合、リンク13a〜13nのそれぞれのユニット数が揃ってから、FCSを付加する。通信装置11は、リンク伝送フレームの送信が完了すると、状態S2へ遷移する。
【0078】
このように、通信装置11は、フレームを所定サイズのユニットに分割して、複数のリンクに振り分ける。そして、ユニットを通信装置12に伝送するリンク伝送フレームのペイロードに格納し、リンク伝送フレームのペイロードに格納されたユニットが所定サイズに達するか、または、フレームの優先度に基づいたタイムアウト時間を経過したかによって、リンク伝送フレームを通信装置12に伝送する。これにより、リンク伝送フレームの伝送効率の向上と遅延の抑制を適切に図ることができる。
【0079】
次に、第2の実施の形態を、図面を参照して詳細に説明する。リンクアグリゲーションでは、リンク障害に応じて使用するポートを減らしたり、通信容量の不足に応じてリンク数を増やしたりと、リンクの増減が可能である。そこで、第2の実施の形態では、リンクを増減する場合の通信装置について説明する。
【0080】
第2の実施の形態では、通信装置11のブロック図は、図4と同様になるが、振り分け部23とリンク処理部26a〜26nの動作が異なる。以下では、図4のブロック図を用いて、リンクを増減する場合の通信装置11の動作について説明する。なお、通信装置11は、オペレータが操作する端末と接続されているとする。
【0081】
図9は、リンクを増減するときの通信装置の動作を示したフローチャートである。
〔ステップS11〕振り分け部23は、オペレータが操作する端末からリンク13a〜13nの増減指示があるか否か判断する。振り分け部23は、増減指示がある場合、ステップS12へ進む。振り分け部23は、増減指示がない場合、リンク増減の処理を終了し、通常の処理を行う。
【0082】
〔ステップS12〕振り分け部23は、フレームの区切り(トレイラ)でユニットの振り分けを停止する。すなわち、振り分け部23は、1つのフレームの全ユニットがリンク処理部26a〜26nに振り分けられた後、ユニットの振り分け動作を停止する。振り分け部23は、パディングが必要ならばパディングを付加する。
【0083】
リンク処理部26a〜26nの送信制御部26ab〜26nbは、物理ポートキュー26ad〜26ndに格納されているリンク伝送フレームをリンク13a〜13nに送出する。
【0084】
〔ステップS13〕リンク13a〜13nの増減を実施する。
〔ステップS14〕振り分け部23は、新たなリンク13a〜13n(新たなリンク処理部26a〜26n)に対して、ユニットの振り分けを開始する。このとき、MAC情報生成部26aa〜26naは、物理ポートキュー26ad〜26ndにリンク伝送フレームのヘッダを出力する。
【0085】
このように、通信装置11は、オペレータからのリンクの増減指示があると、フレームの区切りでユニットの振り分けを停止する。これにより、リンクの増減が可能となる。
次に、第3の実施の形態を、図面を参照して詳細に説明する。第1の実施の形態では、リンク伝送フレームがリンクに送出されるとタイムアウト時間が更新される。第3の実施の形態では、新たなフレームのユニットが複数のリンクに振り分けられるとき、新たなフレームの優先度に基づくタイムアウト時間と、現在計測しているタイムアウト時間とを比較する。そして、新たなタイムアウト時間が現在計測しているタイムアウト時間より短い場合、新たなタイムアウト時間を計測する。
【0086】
図10は、第3の実施の形態に係る通信装置のブロック図である。図10に示すように通信装置11は、タイマ部71および比較部72を有している。図10には、図4で示したフレームキュー21およびタイムアウトテーブル24も示している。なお、図10に図示していない通信装置11の他のブロックは、図4のブロックと同様であり、その説明を省略する。
【0087】
タイマ部71は、リンク伝送フレームがリンク13a〜13nに送出されなくても、新たなフレームのユニットがリンク処理部26a〜26nに振り分けられるとき、その新たなフレームのPRIを取得する。タイマ部71は、取得したPRIをタイムアウトテーブル24に出力する。また、タイマ部71は、PRIを取得すると、タイマでタイムアウト値からダウンカウントしていたカウント値を比較部72に出力する。
【0088】
タイムアウトテーブル24は、タイマ部71から出力されるPRIに対応したタイムアウト値を比較部72に出力する。
比較部72は、タイムアウトテーブル24から出力されるタイムアウト値とタイマ部71から出力されるタイマのカウント値を比較する。すなわち、比較部72は、現在計測しているタイムアウト時間の残り時間と、新たなフレームのタイムアウト時間とを比較する。比較部72は、タイムアウトテーブル24から出力されるタイムアウト値が、タイマ部71から出力されるカウント値より小さければ、タイムアウトテーブル24から出力されるタイムアウト値をタイマ部71に出力する。
【0089】
タイマ部71は、比較部72からタイムアウト値が出力されると、そのタイムアウト値をタイマにセットし、タイムアウト時間を計測する。すなわち、タイマ部71は、新たなフレームによるタイムアウト時間が現在計測しているタイムアウト時間の残り時間より短ければ、新たなフレームによるタイムアウト時間を計測する。
【0090】
このように、通信装置11は、新たなフレームのユニットがリンク13a〜13nに振り分けられるとき、その新たなフレームの優先度を取得し、その優先度に対応したタイムアウト値を取得する。そして、現在測定しているアウトタイム時間の残り時間と、新たに取得したタイムアウト時間を比較し、新たなタイムアウト時間の方が短い場合、新たなタイムアウト時間を計測する。これにより、通信装置11は、優先度の高いフレームを受信した場合、その優先度を反映してフレーム遅延を抑制することができる。
【0091】
次に、第4の実施の形態を、図面を参照して詳細に説明する。第4の実施の形態では、複数のリンクアグリゲーションを有する場合について説明する。
図11は、第4の実施の形態に係る通信装置のブロック図である。図11に示すように、通信装置11は、フレームキュー81、ユニット分割部82、振り分け部83、優先度振り分け部84、タイムアウトテーブル89、タイムアウト値振り分け部90、LAG(Link Aggregation Group)グループタイマGT1,GT2、およびLAGグループG1,G2を有している。
【0092】
通信装置11は、リンクアグリゲーションのグループを2つ有している。LAGグループG1は、リンク処理部91a〜91cを有し、LAGグループG2は、リンク処理部92a,92bを有している。リンク処理部91a〜91c,92a,92bは、図4で説明したリンク処理部26aと同様のブロックを有し、その説明を省略する。
【0093】
リンクアグリゲーションは、例えば、顧客先ごとにグループ化される。例えば、顧客Aには、LAGグループG1を割り当て、顧客Bには、LAGグループG2を割り当てる。これにより、顧客Aは、3つのリンクが割り当てられて通信を行うことができる。顧客Bは、2つのリンクが割り当てられて通信を行うことができる。
【0094】
通信装置11は、LAGグループG1,G2ごとにLAGグループタイマGT1,GT2を有している。LAGグループタイマGT1は、タイマ部85および比較部86を有している。LAGグループタイマGT2は、タイマ部87および比較部88を有している。
【0095】
LAGグループタイマGT1,GT2は、LAGグループG1,G2ごとにタイムアウト時間を計測する。従って、LAGグループG1のリンク処理部91a〜91cは、LAGグループタイマGT1からタイムアウト信号が出力されると、物理ポートキューに格納されているリンク伝送フレームをリンクに送出する。LAGグループG2のリンク処理部92a,92bは、LAGグループタイマGT2からタイムアウト信号が出力されると、物理ポートキューに格納されているリンク伝送フレームをリンクに送出する。
【0096】
フレームキュー81には、通信装置12に送信するフレームが格納される。
ユニット分割部82は、フレームキュー81に格納されたフレームを所定サイズのユニットに分割する。
【0097】
振り分け部83は、ユニット分割部22によって分割されたフレームのユニットを、フレームに含まれるグループ情報に基づいて、LAGグループG1,G2に振り分ける。例えば、振り分け部83は、フレームの宛先アドレスによって、ユニットが顧客A宛なのか顧客B宛なのか認識することができ、ユニットをLAGグループG1,G2に振り分けることができる。振り分け部83は、VLAN IDによって、ユニットをLAGグループG1,G2に振り分けるようにしてもよい。
【0098】
振り分け部83は、さらに、LAGグループG1に振り分けたユニットをリンク処理部91a〜91cに順に振り分け、LAGグループG2に振り分けたユニットをリンク処理部92a,92bに順に振り分ける。
【0099】
優先度振り分け部84は、LAGグループG1,G2に振り分けられるユニットのフレームのPRIを取得し、そのフレームに含まれるグループ情報に基づいて、取得したPRIをLAGグループタイマGT1,GT2に振り分ける。
【0100】
例えば、優先度振り分け部84は、取得したPRIのフレームの宛先アドレスが顧客A宛の場合、取得したPRIをLAGグループタイマGT1に出力する。優先度振り分け部84は、取得したPRIのフレームの宛先アドレスが顧客B宛の場合、取得したPRIをLAGグループタイマGT2に出力する。
【0101】
タイマ部85は、優先度振り分け部84によって振り分けられたPIRをタイムアウトテーブル89に出力する。また、タイマ部85は、優先度振り分け部84からPRIが出力されると、タイマでタイムアウト値からダウンカウントしていたカウント値を比較部86に出力する。
【0102】
比較部86は、タイムアウトテーブル89から出力されるタイムアウト値とタイマ部85から出力されるタイマのカウント値を比較する。比較部86は、タイムアウトテーブル89から出力されるタイムアウト値が、タイマ部85から出力されるカウント値より小さければ、タイムアウトテーブル89から出力されるタイムアウト値をタイマ部85に出力する。
【0103】
タイマ部85は、比較部86からタイムアウト値が出力されると、そのタイムアウト値をタイマにセットする。LAGグループタイマGT2のタイマ部87および比較部88は、LAGグループタイマGT1のタイマ部85および比較部86と同様であるので、その説明を省略する。
【0104】
タイムアウトテーブル89は、タイマ部85,87から出力されるPRIに対応したタイムアウト値をタイムアウト値振り分け部90に出力する。
タイムアウト値振り分け部90は、LAGグループG1,G2に振り分けられるユニットのフレームに含まれるグループ情報に基づいて、タイムアウトテーブル89から出力されるPRIに対応したタイムアウト値を比較部86,88に振り分けて出力する。
【0105】
例えば、タイムアウト値振り分け部90は、LAGグループG1,G2に振り分けられるユニットのフレームの宛先アドレスが顧客A宛の場合、タイムアウト値をLAGグループタイマGT1の比較部86に出力する。また、タイムアウト値振り分け部90は、LAGグループG1,G2に振り分けられるユニットのフレームの宛先アドレスが顧客B宛の場合、タイムアウト値をLAGグループタイマGT2の比較部88に出力する。
【0106】
このように、通信装置11は、ユニットを複数のリンクのLAGグループG1,G2ごとに振り分け、さらに、LAGグループG1,G2内の複数のリンクで振り分けるようにした。これにより、複数のリンクがグループ化された場合でも、リンク伝送フレームの伝送効率の向上と遅延の抑制を適切に図ることができる。
【0107】
なお、図11において、比較部86,88を省略することもできる。この場合、タイマ部85,87は、LAGグループG1,G2からリンク伝送フレームが送出されると、タイムアウト時間を更新する。
【0108】
(付記1) フレームを複数のリンクに分散して通信を行う通信装置において、
前記フレームを所定サイズのユニットに分割する分割部と、
前記ユニットを前記複数のリンクに振り分ける振り分け部と、
前記複数のリンクのそれぞれに対応して、前記振り分け部によって振り分けられた前記ユニットを伝送フレームのペイロードに格納する格納部と、
前記フレームの優先度に基づいたタイムアウト時間を計測するタイマ部と、
前記伝送フレームのペイロードに格納された前記ユニットが所定サイズに達するか、または、前記タイムアウト時間を経過したかによって、前記伝送フレームを前記複数のリンクから他の通信装置に送信する送信制御部と、
を有することを特徴とする通信装置。
【0109】
(付記2) 前記振り分け部は、前記他の通信装置が前記ユニットから元の前記フレームを復元できるように、分割した前記フレームの先頭の前記ユニットから前記複数のリンクの数分、前記ユニットに復元情報を付加することを特徴とする付記1記載の通信装置。
【0110】
(付記3) 前記復元情報には、前記復元情報を識別するための識別子、前記ユニットの前記複数のリンクへの振り分け順を示すシーケンス番号、および前記フレームの長さを示す長さ情報が含まれることを特徴とする付記2記載の通信装置。
【0111】
(付記4) 前記振り分け部は、前記複数のリンクにおいて前記ユニットの数が揃うようにパディングを付加することを特徴とする付記1記載の通信装置。
(付記5) 前記振り分け部は、前記フレームの最後に分割された前記ユニットの大きさが所定サイズに分割されない場合、所定サイズになるようにパディングを付加することを特徴とする付記1記載の通信装置。
【0112】
(付記6) 前記振り分け部は、前記複数のリンクの増減指示を受けると、前記フレームの区切りで前記ユニットの振り分けを停止することを特徴とする付記1記載の通信装置。
【0113】
(付記7) 前記タイマ部は、前記伝送フレームが前記他の通信装置に送信されると前記タイムアウト時間を更新して計測することを特徴とする付記1記載の通信装置。
(付記8) 前記タイマ部は、新たな前記フレームの前記ユニットが前記複数のリンクに振り分けられるとき、新たな前記フレームの優先度に基づく新タイムアウト時間が、現在計測している現タイムアウト時間の残り時間より短い場合、前記新タイムアウト時間を計測することを特徴とする付記1記載の通信装置。
【0114】
(付記9) 前記新タイムアウト時間と前記現タイムアウト時間の残り時間とを比較する比較部を有することを特徴とする付記8記載の通信装置。
(付記10) 前記複数のリンクはグループ化され、前記振り分け部は、前記ユニットを前記複数のリンクのグループごとに振り分け、さらに、前記グループ内の前記複数のリンクごとに振り分けることを特徴とする付記1記載の通信装置。
【0115】
(付記11) 前記タイマ部は、前記グループごとに前記タイムアウト時間を計測することを特徴とする付記10記載の通信装置。
(付記12) フレームを複数のリンクに分散して通信を行う通信装置の通信方法において、
前記フレームを所定サイズのユニットに分割し、
前記ユニットを前記複数のリンクに振り分けし、
前記複数のリンクのそれぞれに対応して、振り分けられた前記ユニットを伝送フレームのペイロードに格納し、
前記伝送フレームのペイロードに格納された前記ユニットが所定サイズに達するか、または、前記フレームの優先度に基づいたタイムアウト時間を経過したかによって、前記伝送フレームを前記複数のリンクから他の通信装置に送信する、
ことを特徴とする通信方法。
【符号の説明】
【0116】
1 分割部
2 振り分け部
3a〜3n 格納部
4 タイマ部
5a〜5n 送信制御部
【技術分野】
【0001】
本件はフレームを複数のリンクに分散して通信を行う通信装置および通信方法に関する。
【背景技術】
【0002】
通信帯域を増加させる技術にリンクアグリゲーション技術がある。リンクアグリゲーションは、イーサネット(登録商標)フレームを複数の物理リンクに分散させて送信する技術であり、IEEE802.3adで標準化され、現在は802.3−2005の43章で定義されている。
【0003】
図12は、リンクアグリゲーションにおけるフレームの順序逆転を説明する図である。図12に示す通信装置101,102は、リンク103,104を介して接続されている。図12に示す四角は、通信装置101,102で送受信されるフレームを示し、四角内の数字は、フレームの送受信の順番を区別するために示している。
【0004】
リンクアグリゲーションでは、例えば、MAC(Media Access Control)アドレスやIP(Internet Protocol)アドレス、VLAN ID(Virtual Local Area Network IDentifier)に基づいて、フレームを複数のリンク103,104に振り分けるアルゴリズムがある。これは、イーサネットでは、基本的にフレームの順序逆転を許さないという要件に基づくものであり、受信したフレームを単純にリンク103,104に交互に振り分けると、フレーム順序が逆転するからである。
【0005】
例えば、図12に示すように、リンク103,104のリンク長が異なるとする。この場合、通信装置101は、1,2,3,4,5と順番にフレームを受信し、リンク103,104に交互に振り分けしているが、通信装置102は、2,1,4,3,5という順序でフレームを受信する。
【0006】
そこで、リンクアグリゲーションでは、MACアドレスやIPアドレス、VLAN IDなどをキーとし、少なくとも同じ通信(カンバセーションという)においては、フレームの順序逆転を回避するようにしている。すなわち、送信元と宛先の同じフレームは、カンバセーションとしてリンクに振り分け、同じカンバセーションに属するフレーム間では、フレームの順序逆転が発生しないようにする。
【0007】
図13は、カンバセーションを説明する図である。図13に示す通信装置111,112は、リンク113,114を介して接続されている。端末115a,115bは、通信装置111,112を介して通信し、端末116a,116bは、通信装置111,112を介して通信する。図13の四角は、端末115a,115bで送受信されるフレームを示し、三角は、端末116a,116bで送受信されるフレームを示す。四角内の数字および三角内の数字は、フレームの送受信の順番を区別するために示している。
【0008】
通信装置111は、MACアドレスなどに基づいて、端末115aから受信したフレームをリンク113に出力し、端末116aから受信したフレームをリンク114に出力する。通信装置112は、MACアドレスなどに基づいて、リンク113から受信したフレームを端末115bに送信し、リンク114から受信したフレームを端末116bに送信する。これにより、端末115a,115bのカンバセーションおよび端末116a,116bのカンバセーションでは、図13の四角および三角に示すように、フレームの順序が維持される。
【0009】
リンクアグリゲーションでは、n本のリンクでフレームを送信しても、通信帯域は必ずしもn倍になるとは限らない。例えば、あるリンクでは、トラフィックが大量なのに、他のリンクでは、トラフィックが各段に少ない場合などで生じる。
【0010】
図14は、通信帯域の偏りを説明する図である。図14において、図13と同じものには同じ符号を付し、その説明を省略する。図14に示すように、端末115a,115b間のトラフィックが、端末116a,116b間のトラフィックより大きいとする。この場合、2本のリンク113,114で通信を行っても、通信帯域は、1本の場合に対し、2倍とはならない。
【0011】
そこで、複数の可変長フレームを所定サイズ単位にユニット化し、1つの広帯域ポートとしてアグリゲートされた複数のポートの各々へユニットを振り分けて送信する技術が提案されている(例えば、特許文献1参照)。これによれば、アグリゲートされた複数のポートに、均等にトラフィックを分散させ、通信帯域を有効に利用することができる。
【先行技術文献】
【特許文献】
【0012】
【特許文献1】特開2005−252333号公報
【発明の概要】
【発明が解決しようとする課題】
【0013】
しかし、フレームを分割したユニットを、例えば、イーサネットフレームなどの伝送フレームにカプセル化して送信する場合、伝送フレームの伝送効率と伝送フレームの遅延との間にトレードオフの関係が存在するという問題点があった。
【0014】
図15は、イーサネットフレームのフレーム構成例を示した図である。図15に示すように、イーサネットフレームは、宛先アドレス、送信元アドレス、およびイーサネットタイプを含むヘッダを有している。また、イーサネットフレームは、ペイロードとFCS(Frame Check Sequence)とを有している。イーサネットフレームは、1つ前のフレームとの間に、フレーム間ギャップとして少なくとも20バイト以上開けなければならない。
【0015】
フレーム間ギャップを含まないイーサネットフレームの最大フレーム長は、1518バイトである。ユニットをペイロードに1500バイト最大に格納すると、フレーム間ギャップも含めたイーサネットフレームのユニットを伝送する伝送効率は、1500/1538=97.5%となる。一方、例えば、ペイロードにユニットを100バイトしか格納せずに送信する場合は、伝送効率は、100/138=72.5%となる。すなわち、ユニットのペイロードへの格納数が少ないと、伝送効率が低下する。
【0016】
従って、ユニットをペイロードに1500バイト最大に格納してから、FCSを付加して送信するようにすると、イーサネットフレームの伝送効率は向上する。しかし、ユニットがペイロードに1500バイト格納されない限り、イーサネットフレームは送信されないので、送信するユニットがない場合、フレーム送信に遅延が生じる。
【0017】
このように、ユニット化されたフレームを、例えば、イーサネットフレームなどの伝送フレームにカプセル化して送信する場合、伝送フレームの伝送効率とフレーム遅延との間にトレードオフの関係が存在する。
【0018】
本件はこのような点に鑑みてなされたものであり、伝送フレームの伝送効率の向上と遅延の抑制を適切に図ることができる通信装置および通信方法を提供することを目的とする。
【課題を解決するための手段】
【0019】
上記課題を解決するために、フレームを複数のリンクに分散して通信を行う通信装置が提供される。この通信装置は、前記フレームを所定サイズのユニットに分割する分割部と、前記ユニットを前記複数のリンクに振り分ける振り分け部と、前記複数のリンクのそれぞれに対応して、前記振り分け部によって振り分けられた前記ユニットを伝送フレームのペイロードに格納する格納部と、前記フレームの優先度に基づいたタイムアウト時間を計測するタイマ部と、前記伝送フレームのペイロードに格納された前記ユニットが所定サイズに達するか、または、前記タイムアウト時間を経過したかによって、前記伝送フレームを前記複数のリンクから他の通信装置に送信する送信制御部と、を有する。
【発明の効果】
【0020】
開示の通信装置によれば、伝送フレームの伝送効率の向上と遅延の抑制を適切に図ることができる。
【図面の簡単な説明】
【0021】
【図1】第1の実施の形態に係る通信装置を示した図である。
【図2】第2の実施の形態に係る通信装置を用いた通信ネットワークを示した図である。
【図3】イーサネットフレームのフレーム構成例を示した図である。
【図4】通信装置のブロック図である。
【図5】タイムアウトテーブルのデータ構成例を示した図である。
【図6】フレームのユニット分割およびリンク伝送フレームを説明する図である。
【図7】受信側の通信装置のブロック図である。
【図8】通信装置の送信動作の状態遷移を示した図である。
【図9】リンクを増減するときの通信装置の動作を示したフローチャートである。
【図10】第3の実施の形態に係る通信装置のブロック図である。
【図11】第4の実施の形態に係る通信装置のブロック図である。
【図12】リンクアグリゲーションにおけるフレームの順序逆転を説明する図である。
【図13】カンバセーションを説明する図である。
【図14】通信帯域の偏りを説明する図である。
【図15】イーサネットフレームのフレーム構成例を示した図である。
【発明を実施するための形態】
【0022】
以下、第1の実施の形態を、図面を参照して詳細に説明する。
図1は、第1の実施の形態に係る通信装置を示した図である。図1に示すように通信装置は、分割部1、振り分け部2、格納部3a〜3n、タイマ部4、および送信制御部5a〜5nを有している。
【0023】
分割部1は、他の通信装置に送信するフレームを所定サイズのユニットに分割する。
振り分け部2は、分割部1によって分割されたユニットを複数のリンクに振り分ける。例えば、格納部3a〜3nは、複数のリンクに対応して設けられており、振り分け部2は、ユニットを格納部3a,3b,…,3n,3a,3b,…と順番に振り分ける。
【0024】
格納部3a〜3nは、複数のリンクのそれぞれに対応して、振り分け部2によって振り分けられたユニットを伝送フレームのペイロードに格納する。
タイマ部4は、フレームの優先度に基づいたタイムアウト時間を計測する。例えば、優先度の高いフレームは、優先度の低いフレームに対してフレーム遅延が許されないためタイムアウト時間を短く計測する。優先度の低いフレームは、例えば、フレーム遅延が許容される範囲でタイムアウト時間を長く計測する。
【0025】
送信制御部5a〜5nは、伝送フレームのペイロードに格納されたユニットが所定サイズに達するか、または、タイマ部4によって計測されるタイムアウト時間が経過したかによって、格納部3a〜3nによりペイロードにユニットが格納された伝送フレームを複数のリンクから他の通信装置に送信する。
【0026】
ここで、上記したように、タイマ部4は、フレームの優先度が低い場合、優先度の高い場合に比べ、タイムアウト時間を長く計測する。従って、優先度の低いフレームのユニットは、伝送フレームのペイロードに多く格納することができる。一方、優先度の高いフレームのユニットは、伝送フレームのペイロードに格納される数は少ないが、伝送フレームの遅延を抑制できる。
【0027】
このように、通信装置は、フレームを所定サイズのユニットに分割して、複数のリンクに振り分ける。そして、ユニットを他の通信装置に伝送する伝送フレームのペイロードに格納し、伝送フレームのペイロードに格納されたユニットが所定サイズに達するか、または、フレームの優先度に基づいたタイムアウト時間を経過したかによって、伝送フレームを他の通信装置に伝送する。これにより、伝送フレームの伝送効率の向上と遅延の抑制を適切に図ることができる。
【0028】
次に、第2の実施の形態を、図面を参照して詳細に説明する。
図2は、第2の実施の形態に係る通信装置を用いた通信ネットワークを示した図である。図2には、例えば、図示しない端末または通信装置からフレームを受信して通信装置12に送信する通信装置11と、通信装置11から送信されたフレームを受信して、図示しない端末または通信装置へ送信する通信装置12が示してある。通信装置11,12は、例えば、L(Layer)2スイッチまたはL3スイッチである。
【0029】
通信装置11,12は、n本のリンク13a〜13nで接続され、リンクアグリゲーションを適用して通信を行っている。通信装置11,12は、n本のリンク13a〜13nを1本のリンクとみなし、並列にフレームを送信することにより、通信帯域を向上させている。また、図2の通信システムでは、n本のリンク13a〜13nで通信装置11,12が接続されているため、リンク13a〜13nのうちm(m<n)本が断線して通信できなくなった場合でも、残りのリンク13a〜13nを利用して、通信を続けることができる。上記では、通信装置11がフレームを通信装置12に送信するとしているが、通信装置12が通信装置11にフレームを送信するようにしてもよい。
【0030】
通信装置11は、リンク13a〜13nに対応したリンク処理部を有している。通信装置11は、端末または通信装置から受信したフレームを所定サイズのユニットに分割し、ユニットをリンク13a〜13nに対応したリンク処理部に順番に振り分ける。リンク処理部は、振り分けられたユニットをリンク伝送フレームのペイロードに格納し、ペイロードのユニットのサイズが所定サイズに達するか、または、タイムアウト時間の経過を契機に、リンク伝送フレームをリンク13a〜13nに送出する。
【0031】
通信装置11は、例えば、受信したフレームのQoS(Quality of Service)に基づいて、タイムアウト時間を計測する。Qosとは、通信しているサービスあるいはアプリケーションが、ネットワークの中でIPパケットやイーサネットフレームをどう扱ってほしいのかを示すものであり、優先度ということができる。
【0032】
例えば、VoIP(Voice over IP)のようなリアルタイムで通信が要求されるものは、遅延が大きくなると通信が成り立たなくなるため、小さな遅延が要求される。また、金融のトランザクションなどでは、トラフィックそのものは大きくないが、レスポンスの速さ(ネットワークとして遅延が小さいこと)に加えて、パケット廃棄も極小であることが望まれる。一方、Webを閲覧するような場合は、それほど遅延やパケット廃棄は重要視されない。よって、VoIPやトランザクションの優先度は高く、Webなどの通信は、優先度を低くするのが一般的である。
【0033】
そこで、通信装置11は、優先度の低いフレームを受信した場合、タイムアウト時間を長く設定し、リンク伝送フレームのペイロードに多くのユニットが格納されるようにして、リンク伝送フレームのユニットの伝送効率の向上を図る。一方、通信装置11は、優先度の高いフレームを受信した場合、タイムアウト時間を短く設定し、フレーム遅延を抑制する。
【0034】
図3は、イーサネットフレームのフレーム構成例を示した図である。図3に示すように、イーサネットフレームは、宛先アドレス、送信元アドレス、イーサネットタイプ、およびVLANタグを含むヘッダを有している。また、イーサネットフレームは、ペイロードとFCSとを有している。VLANタグは、図3に示すように、PRI(Priority)、C(Canonical format indicator)、およびVLAN IDのフィールドを有している。
【0035】
イーサネットフレームは、VLANタグのPRIによってフレームの優先度を指定することができる。PRIは、3ビットあるため、最大で8種類の優先度を指定することが可能である。
【0036】
なお、IPパケットでは、ToS(Type of Service)と呼ばれるフィールドを有し、これを用いて、パケットの優先度やQoSを指定することができる。従って、通信装置11は、端末または通信装置から受信したIPパケットのToSに基づいてタイムアウト時間を設定してもよい。
【0037】
図4は、通信装置のブロック図である。図4に示すように、通信装置11は、フレームキュー21、ユニット分割部22、振り分け部23、タイムアウトテーブル24、タイマ部25、およびリンク処理部26a〜26nを有している。なお、通信装置12も図4のブロックを有していてもよい。
【0038】
フレームキュー21には、通信装置12に送信するフレームが格納される。フレームは、例えば、イーサネットフレームである。
ユニット分割部22は、フレームキュー21に格納されたフレームを所定サイズのユニットに分割する。
【0039】
振り分け部23は、ユニット分割部22によって分割されたフレームのユニットを、リンク処理部26a〜26nに振り分ける。振り分け部23は、例えば、ユニットをリンク処理部26a,…,26n,26a,…とラウンドロビンにより振り分ける。
【0040】
振り分け部23は、ユニット分割部22で分割されたユニットが、通信装置12において元のフレームに復元できるように、ユニットに復元情報を付加する。振り分け部23は、後述するように、分割したフレームの先頭のユニットから、リンク13a〜13nの数分、ユニットに復元情報を付加する。また、振り分け部23は、全てのリンク13a〜13nにおいてユニットの数が揃うようにパディングを付加する。また、振り分け部23は、最後のユニットの大きさが所定サイズに満たない場合には、そのユニットが所定サイズとなるようにパディングを付加する。
【0041】
タイムアウトテーブル24は、フレームの優先度とタイムアウト値とを対応付けて記憶している。
図5は、タイムアウトテーブルのデータ構成例を示した図である。図5に示すように、タイムアウトテーブル24は、優先度の欄とタイムアウト値の欄を有している。優先度の欄には、フレームのVLANタグのPRIに対応する値が格納される。すなわち、フレームの優先度が格納される。値が小さいほど優先度は高くなっている。
【0042】
タイムアウト値の欄には、タイムアウト時間を計測するためのタイムアウト値が格納される。優先度が高いほどタイムアウト値は小さい値となっている。タイムアウト値は、例えば、数μs〜数百μsの値である。
【0043】
図4の説明に戻る。タイマ部25は、フレームキュー21に格納されたフレームのVLANタグからPRIを取得し、フレームキュー21に格納されたフレームの優先度を認識する。タイマ部25は、認識した優先度に基づいてタイムアウトテーブル24を参照し、タイムアウト値を取得する。タイマ部25は、取得したタイムアウト値をタイマにセットして動作させ、タイムアウト時間を計測する。タイマ部25は、タイムアウト時間が経過すると、リンク処理部26a〜26nにタイムアウト信号を出力する。
【0044】
タイマ部25は、リンク処理部26a〜26nにおいて、リンク伝送フレームの空のペイロードに最初にユニットが格納されるときタイマをリセットする。そして、タイマ部25は、最初にペイロードに格納されるユニットのフレームの優先度をフレームキュー21から取得する。すなわち、タイムアウト時間は、リンク伝送フレームのペイロードにユニットが格納され、リンク13a〜13nに送出されるまでは更新されず、リンク伝送フレームがリンク13a〜13nに送出されると更新される。
【0045】
リンク処理部26a〜26nは、リンク13a〜13nに対応して設けられている。例えば、リンク処理部26aは、リンク13aに対応して設けられ、リンク処理部26nは、リンク13nに対応して設けられている。
【0046】
リンク処理部26aは、MAC情報生成部26aa、送信制御部26ab、格納部26ac、物理ポートキュー26ad、およびPHY(PHYsical)部26aeを有している。リンク処理部26nは、MAC情報生成部26na、送信制御部26nb、格納部26nc、物理ポートキュー26nd、およびPHY部26neを有している。図示していないリンク処理部もリンク処理部26a,26nと同様の各部を有している。以下では、リンク処理部26aの各部についてのみ説明する。
【0047】
MAC情報生成部26aaは、通信装置12へ送信するリンク伝送フレームのヘッダおよびトレイラを生成し、格納部26acに出力する。ヘッダには、例えば、送信元MACアドレス、宛先MACアドレス、イーサネットタイプの情報が含まれる。また、トレイラには、リンク伝送フレームを受信する通信装置12において、リンク伝送フレームが適切に受信されたか否かを判断するためのFCSが含まれる。
【0048】
MAC情報生成部26aaは、物理ポートキュー26adが空になったとき、すなわち、物理ポートキュー26adで生成されたリンク伝送フレームがリンク13aに送出されたときヘッダを生成し、格納部26acに出力する。また、MAC情報生成部26aaは、送信制御部26abからのFCS生成指示を受けてトレイラを生成し、格納部26acに出力する。
【0049】
送信制御部26abは、物理ポートキュー26adからリンク伝送フレームのペイロードがフル(Full)になった旨の通知を受けると、MAC情報生成部26aaにFCS生成指示を出力し、物理ポートキュー26adにリンク伝送フレームを送信するように送信要求を行う。また、送信制御部26abは、タイマ部25からタイムアウト信号が出力されると、MAC情報生成部26aaにFCS生成指示を出力し、物理ポートキュー26adにリンク伝送フレームを送信するように送信要求を行う。
【0050】
すなわち、送信制御部26abは、タイムアウト時間の経過によってリンク伝送フレームを通信装置12に送信することとなった場合、物理ポートキュー26adのリンク伝送フレームにトレイラが付加されるようにし、送信要求を行う。また、送信制御部26abは、タイムアウト時間を経過していないが、リンク伝送フレームのペイロードがいっぱいとなり、リンク伝送フレームを通信装置12に送信することとなった場合、物理ポートキュー26adのリンク伝送フレームにトレイラが付加されるようにし、送信要求を行う。
【0051】
格納部26acは、振り分け部23によって振り分けられたユニットおよびMAC情報生成部26aaから出力されるヘッダおよびトレイラを物理ポートキュー26adに格納する。
【0052】
物理ポートキュー26adには、MAC情報生成部26aaによって生成されたヘッダおよびトレイラが格納される。また、振り分け部23によって振り分けられたユニットが格納される。物理ポートキュー26adには、MAC情報生成部26aaによって生成されたヘッダが格納され、次いで、振り分け部23によって振り分けられたユニットが格納され、最後にトレイラが格納される。従って、物理ポートキュー26adでは、通信装置12に送信する、例えば、イーサネットフレームのリンク伝送フレームが生成される。
【0053】
物理ポートキュー26adは、リンク伝送フレームのペイロードがユニットでいっぱいになった場合、その旨を送信制御部26abに通知する。また、物理ポートキュー26adは、送信制御部26abから通知される送信要求によって、物理ポートキュー26ad内で組み上がったリンク伝送フレームをPHY部26aeに出力する。
【0054】
PHY部26aeは、例えば、イーサネットの物理レイヤ処理を行い、伝送路符号化などの処理を行う。PHY部26aeは、物理ポートキュー26adから出力されるリンク伝送フレームをリンク13aに出力する。
【0055】
図6は、フレームのユニット分割およびリンク伝送フレームを説明する図である。図6には、図4のフレームキュー21に格納されたフレーム31が示してある。また、図6には、フレーム31をユニット分割部22によって分割したユニット41〜46が示してある。また、図6には、リンク処理部51,52が示してある。図6では、図4のリンク処理部26a〜26nが2個の場合を示している。
【0056】
ユニット分割部22は、フレーム31を所定サイズのユニットに分割する。例えば、ユニット分割部22は、図6に示すように、フレーム31を6個のユニット41〜46に分割する。なお、フレーム31は、所定サイズで割り切れるとは限らない。例えば、図6に示すように、フレーム31の最後に分割されたユニット46は、他のユニット41〜45よりサイズが小さくなる場合がある。
【0057】
振り分け部23は、ユニット分割部22によって分割されたユニット41〜46を、リンク処理部51,52に順に振り分ける。例えば、振り分け部23は、図6に示すように、ユニット41をリンク処理部51に振り分け、ユニット42をリンク処理部52に振り分け、ユニット43をリンク処理部51に振り分け、以下同様にユニット44〜46を順に振り分ける。
【0058】
振り分け部23は、フレームを分割したユニットの先頭から、リンクの数分、復元情報を付加する。例えば、図6の例の場合、リンクの数は2であるので、振り分け部23は、フレーム31の先頭から2つのユニット41,42に復元情報41a,42aを付加する。復元情報は、ユニット41,42の先頭に付加される。
【0059】
また、振り分け部23は、全てのリンクおいてユニット数が揃うようにパディングを付加する。また、振り分け部23は、最後のユニットの大きさが所定サイズに満たない場合には、そのユニットが所定サイズとなるようにパディングを付加する。
【0060】
例えば、図6の例の場合、最後のユニット46は所定サイズに満たないので、振り分け部23は、最後のユニット46が所定サイズとなるようにパディング(図6中ではP)46aを付加する。
【0061】
また、図6の例の場合、2つのリンク(リンク処理部51,52)のユニット数は、それぞれ3で揃っている。ここで、仮にユニット46が存在しないとすると(フレーム31がユニット41〜45で割り切れたとすると)、リンク処理部51のユニット数は3で、リンク処理部52のユニット数は2となり、2つのリンクのユニット数が揃わない。この場合、振り分け部23は、2つのリンクのユニット数が揃うように、パディングをリンク伝送フレームに付加し、2つのリンクのユニット数を3に揃える。図6では、リンク処理部52のユニット46に示す部分が全てパディングとなるようにする。
【0062】
復元情報41a,42aには、復元情報41a,42aを識別するための識別子、ユニット41〜46のリンク処理部51,52への振り分け順を示すシーケンス番号、およびフレーム31の長さを示す長さ情報が含まれる。
【0063】
識別子は、例えば、「0x7e」というコードである。従って、通信装置12では、前に送信されたフレームの続きのユニットでない限り、リンク伝送フレームのペイロードの先頭には、「0x7e」というコードが付加されていることが期待される。これにより、通信装置12は、フレームの先頭を認識することができる。
【0064】
シーケンス番号は、ユニット41〜46の振り分け順を示すための番号である。例えば、ユニット41は、最初にリンク処理部51に振り分けられるので、復元情報41aのシーケンス番号には「1」が付加される。ユニット42は、2番目にリンク処理部52に振り分けられるので、復元情報42aのシーケンス番号には「2」が付加される。これにより、受信側の通信装置12では、受信したシーケンス番号をリンクアグリゲーションが組まれたポート間で比較し、シーケンス番号の順に受信したユニットを組み上げれば、フレーム31を復元できる。
【0065】
長さ情報は、フレーム31の長さを示す。これにより、通信装置12では、受信した長さ情報によってフレームの終了箇所を認識でき、余りがあれば、パディングであると認識して廃棄することができる。
【0066】
なお、フレーム31には、FCSが付加されているので、通信装置12は、FCSに基づいて組み上がったフレーム31が正しく元のフレームに再生できているかチェックすることができる。
【0067】
図7は、受信側の通信装置のブロック図である。図7に示すように、通信装置12は、リンク処理部61a〜61nおよび復元部62を有している。
リンク処理部61a〜61nは、リンク13a〜13nに対応して設けられている。リンク処理部61a〜61nは、PHY処理部およびMAC処理部を備え、リンク13a〜13nが光ファイバであれば、SFP(Small Form factor Pluggable)によって通信装置11から送信されるリンク伝送フレームを受信する。リンク処理部61a〜61nは、受信したリンク伝送フレームのFCSによって、フレームが正しく送信されたかのチェックを行う。リンク処理部61a〜61nは、受信したリンク伝送フレームのペイロードを抽出し、復元部62に出力する。
【0068】
復元部62は、ペイロードに格納されているユニットのコード「0x7e」に基づいて、ユニットに付加された復元情報を認識するとともに、復元するフレームの先頭を認識する。また、復元部62は、復元情報に含まれるシーケンス番号から、ポート間(リンク13a〜13n)にユニットが振り分けられた順を認識し、認識した順にユニットを結合する。また、復元部62は、復元情報に含まれる長さから、ユニットに付加されたパディングを認識し、それを破棄する。復元部62は、復元したフレームのFCSに基づいて、復元したフレームが正しく復元できたか否か判断する。
【0069】
図8は、通信装置の送信動作の状態遷移を示した図である。〔状態S1〕状態S1は、例えば、通信装置11の電源投入時の状態を示す。状態S1では、物理ポートキュー26ad〜26ndは、空の状態となる。通信装置11は、初期設定処理が終了すると、状態S2へ遷移する。
【0070】
〔状態S2〕状態S2では、MAC情報生成部26aa〜26naは、リンク伝送フレームのヘッダを生成する。生成されたリンク伝送フレームのヘッダは、格納部26ac〜26ncによって、物理ポートキュー26ad〜26ndに格納される。
【0071】
状態S2において、前回のリンク伝送フレームで送信したフレームの継続したユニットがなければ、通信装置11は、状態S3に遷移する。
状態S2において、前回のリンク伝送フレームで送信したフレームの継続したユニットがあれば、通信装置11は、状態S4に遷移する。例えば、前回伝送したリンク伝送フレームのペイロードが、フレームの全てのユニットが格納される前にフルになった場合、状態S4に遷移する。
【0072】
〔状態S3〕状態S3では、通信装置11は、フレームのフレームキュー21への格納待ちを行う。すなわち、通信装置11は、端末または他の通信装置からのフレームの到着待ちを行う。
【0073】
状態S3において、通信装置11は、端末または他の通信装置からフレームが到着した場合、状態S4へ遷移する。
状態S3において、通信装置11は、端末または他の通信装置からフレームが到着せずにタイムアウトした場合、状態S5へ遷移する。
【0074】
〔状態S4〕状態S4では、ユニット分割部22は、フレームをユニットに分割し、振り分け部23は、ユニットをリンク処理部26a〜26nに振り分ける。すなわち、ユニットは、物理ポートキュー26ad〜26ndに格納される。
【0075】
タイマ部25は、物理ポートキュー26ad〜26ndにリンク伝送フレームのヘッダのみが格納されている状態で、物理ポートキュー26ad〜26ndに最初にユニットが格納される場合、タイマをリセットし、タイムアウトテーブル24から取得したタイムアウト値をセットする。
【0076】
状態S4において、タイムアウト時間が経過することなく、ユニットのペイロードへの格納が完了すると、通信装置11は、状態S3へ遷移する。
状態S4において、タイムアウト時間が経過し、または、ペイロードのユニットの格納がフルになると、通信装置11は、状態S5へ遷移する。
【0077】
〔状態S5〕状態S5では、通信装置11は、リンク伝送フレームにFCSを付加し、リンク伝送フレームを通信装置12に送信する。なお、通信装置11は、タイムアウト時間が経過して状態S5に遷移した場合、リンク13a〜13nのそれぞれのユニット数が揃ってから、FCSを付加する。通信装置11は、リンク伝送フレームの送信が完了すると、状態S2へ遷移する。
【0078】
このように、通信装置11は、フレームを所定サイズのユニットに分割して、複数のリンクに振り分ける。そして、ユニットを通信装置12に伝送するリンク伝送フレームのペイロードに格納し、リンク伝送フレームのペイロードに格納されたユニットが所定サイズに達するか、または、フレームの優先度に基づいたタイムアウト時間を経過したかによって、リンク伝送フレームを通信装置12に伝送する。これにより、リンク伝送フレームの伝送効率の向上と遅延の抑制を適切に図ることができる。
【0079】
次に、第2の実施の形態を、図面を参照して詳細に説明する。リンクアグリゲーションでは、リンク障害に応じて使用するポートを減らしたり、通信容量の不足に応じてリンク数を増やしたりと、リンクの増減が可能である。そこで、第2の実施の形態では、リンクを増減する場合の通信装置について説明する。
【0080】
第2の実施の形態では、通信装置11のブロック図は、図4と同様になるが、振り分け部23とリンク処理部26a〜26nの動作が異なる。以下では、図4のブロック図を用いて、リンクを増減する場合の通信装置11の動作について説明する。なお、通信装置11は、オペレータが操作する端末と接続されているとする。
【0081】
図9は、リンクを増減するときの通信装置の動作を示したフローチャートである。
〔ステップS11〕振り分け部23は、オペレータが操作する端末からリンク13a〜13nの増減指示があるか否か判断する。振り分け部23は、増減指示がある場合、ステップS12へ進む。振り分け部23は、増減指示がない場合、リンク増減の処理を終了し、通常の処理を行う。
【0082】
〔ステップS12〕振り分け部23は、フレームの区切り(トレイラ)でユニットの振り分けを停止する。すなわち、振り分け部23は、1つのフレームの全ユニットがリンク処理部26a〜26nに振り分けられた後、ユニットの振り分け動作を停止する。振り分け部23は、パディングが必要ならばパディングを付加する。
【0083】
リンク処理部26a〜26nの送信制御部26ab〜26nbは、物理ポートキュー26ad〜26ndに格納されているリンク伝送フレームをリンク13a〜13nに送出する。
【0084】
〔ステップS13〕リンク13a〜13nの増減を実施する。
〔ステップS14〕振り分け部23は、新たなリンク13a〜13n(新たなリンク処理部26a〜26n)に対して、ユニットの振り分けを開始する。このとき、MAC情報生成部26aa〜26naは、物理ポートキュー26ad〜26ndにリンク伝送フレームのヘッダを出力する。
【0085】
このように、通信装置11は、オペレータからのリンクの増減指示があると、フレームの区切りでユニットの振り分けを停止する。これにより、リンクの増減が可能となる。
次に、第3の実施の形態を、図面を参照して詳細に説明する。第1の実施の形態では、リンク伝送フレームがリンクに送出されるとタイムアウト時間が更新される。第3の実施の形態では、新たなフレームのユニットが複数のリンクに振り分けられるとき、新たなフレームの優先度に基づくタイムアウト時間と、現在計測しているタイムアウト時間とを比較する。そして、新たなタイムアウト時間が現在計測しているタイムアウト時間より短い場合、新たなタイムアウト時間を計測する。
【0086】
図10は、第3の実施の形態に係る通信装置のブロック図である。図10に示すように通信装置11は、タイマ部71および比較部72を有している。図10には、図4で示したフレームキュー21およびタイムアウトテーブル24も示している。なお、図10に図示していない通信装置11の他のブロックは、図4のブロックと同様であり、その説明を省略する。
【0087】
タイマ部71は、リンク伝送フレームがリンク13a〜13nに送出されなくても、新たなフレームのユニットがリンク処理部26a〜26nに振り分けられるとき、その新たなフレームのPRIを取得する。タイマ部71は、取得したPRIをタイムアウトテーブル24に出力する。また、タイマ部71は、PRIを取得すると、タイマでタイムアウト値からダウンカウントしていたカウント値を比較部72に出力する。
【0088】
タイムアウトテーブル24は、タイマ部71から出力されるPRIに対応したタイムアウト値を比較部72に出力する。
比較部72は、タイムアウトテーブル24から出力されるタイムアウト値とタイマ部71から出力されるタイマのカウント値を比較する。すなわち、比較部72は、現在計測しているタイムアウト時間の残り時間と、新たなフレームのタイムアウト時間とを比較する。比較部72は、タイムアウトテーブル24から出力されるタイムアウト値が、タイマ部71から出力されるカウント値より小さければ、タイムアウトテーブル24から出力されるタイムアウト値をタイマ部71に出力する。
【0089】
タイマ部71は、比較部72からタイムアウト値が出力されると、そのタイムアウト値をタイマにセットし、タイムアウト時間を計測する。すなわち、タイマ部71は、新たなフレームによるタイムアウト時間が現在計測しているタイムアウト時間の残り時間より短ければ、新たなフレームによるタイムアウト時間を計測する。
【0090】
このように、通信装置11は、新たなフレームのユニットがリンク13a〜13nに振り分けられるとき、その新たなフレームの優先度を取得し、その優先度に対応したタイムアウト値を取得する。そして、現在測定しているアウトタイム時間の残り時間と、新たに取得したタイムアウト時間を比較し、新たなタイムアウト時間の方が短い場合、新たなタイムアウト時間を計測する。これにより、通信装置11は、優先度の高いフレームを受信した場合、その優先度を反映してフレーム遅延を抑制することができる。
【0091】
次に、第4の実施の形態を、図面を参照して詳細に説明する。第4の実施の形態では、複数のリンクアグリゲーションを有する場合について説明する。
図11は、第4の実施の形態に係る通信装置のブロック図である。図11に示すように、通信装置11は、フレームキュー81、ユニット分割部82、振り分け部83、優先度振り分け部84、タイムアウトテーブル89、タイムアウト値振り分け部90、LAG(Link Aggregation Group)グループタイマGT1,GT2、およびLAGグループG1,G2を有している。
【0092】
通信装置11は、リンクアグリゲーションのグループを2つ有している。LAGグループG1は、リンク処理部91a〜91cを有し、LAGグループG2は、リンク処理部92a,92bを有している。リンク処理部91a〜91c,92a,92bは、図4で説明したリンク処理部26aと同様のブロックを有し、その説明を省略する。
【0093】
リンクアグリゲーションは、例えば、顧客先ごとにグループ化される。例えば、顧客Aには、LAGグループG1を割り当て、顧客Bには、LAGグループG2を割り当てる。これにより、顧客Aは、3つのリンクが割り当てられて通信を行うことができる。顧客Bは、2つのリンクが割り当てられて通信を行うことができる。
【0094】
通信装置11は、LAGグループG1,G2ごとにLAGグループタイマGT1,GT2を有している。LAGグループタイマGT1は、タイマ部85および比較部86を有している。LAGグループタイマGT2は、タイマ部87および比較部88を有している。
【0095】
LAGグループタイマGT1,GT2は、LAGグループG1,G2ごとにタイムアウト時間を計測する。従って、LAGグループG1のリンク処理部91a〜91cは、LAGグループタイマGT1からタイムアウト信号が出力されると、物理ポートキューに格納されているリンク伝送フレームをリンクに送出する。LAGグループG2のリンク処理部92a,92bは、LAGグループタイマGT2からタイムアウト信号が出力されると、物理ポートキューに格納されているリンク伝送フレームをリンクに送出する。
【0096】
フレームキュー81には、通信装置12に送信するフレームが格納される。
ユニット分割部82は、フレームキュー81に格納されたフレームを所定サイズのユニットに分割する。
【0097】
振り分け部83は、ユニット分割部22によって分割されたフレームのユニットを、フレームに含まれるグループ情報に基づいて、LAGグループG1,G2に振り分ける。例えば、振り分け部83は、フレームの宛先アドレスによって、ユニットが顧客A宛なのか顧客B宛なのか認識することができ、ユニットをLAGグループG1,G2に振り分けることができる。振り分け部83は、VLAN IDによって、ユニットをLAGグループG1,G2に振り分けるようにしてもよい。
【0098】
振り分け部83は、さらに、LAGグループG1に振り分けたユニットをリンク処理部91a〜91cに順に振り分け、LAGグループG2に振り分けたユニットをリンク処理部92a,92bに順に振り分ける。
【0099】
優先度振り分け部84は、LAGグループG1,G2に振り分けられるユニットのフレームのPRIを取得し、そのフレームに含まれるグループ情報に基づいて、取得したPRIをLAGグループタイマGT1,GT2に振り分ける。
【0100】
例えば、優先度振り分け部84は、取得したPRIのフレームの宛先アドレスが顧客A宛の場合、取得したPRIをLAGグループタイマGT1に出力する。優先度振り分け部84は、取得したPRIのフレームの宛先アドレスが顧客B宛の場合、取得したPRIをLAGグループタイマGT2に出力する。
【0101】
タイマ部85は、優先度振り分け部84によって振り分けられたPIRをタイムアウトテーブル89に出力する。また、タイマ部85は、優先度振り分け部84からPRIが出力されると、タイマでタイムアウト値からダウンカウントしていたカウント値を比較部86に出力する。
【0102】
比較部86は、タイムアウトテーブル89から出力されるタイムアウト値とタイマ部85から出力されるタイマのカウント値を比較する。比較部86は、タイムアウトテーブル89から出力されるタイムアウト値が、タイマ部85から出力されるカウント値より小さければ、タイムアウトテーブル89から出力されるタイムアウト値をタイマ部85に出力する。
【0103】
タイマ部85は、比較部86からタイムアウト値が出力されると、そのタイムアウト値をタイマにセットする。LAGグループタイマGT2のタイマ部87および比較部88は、LAGグループタイマGT1のタイマ部85および比較部86と同様であるので、その説明を省略する。
【0104】
タイムアウトテーブル89は、タイマ部85,87から出力されるPRIに対応したタイムアウト値をタイムアウト値振り分け部90に出力する。
タイムアウト値振り分け部90は、LAGグループG1,G2に振り分けられるユニットのフレームに含まれるグループ情報に基づいて、タイムアウトテーブル89から出力されるPRIに対応したタイムアウト値を比較部86,88に振り分けて出力する。
【0105】
例えば、タイムアウト値振り分け部90は、LAGグループG1,G2に振り分けられるユニットのフレームの宛先アドレスが顧客A宛の場合、タイムアウト値をLAGグループタイマGT1の比較部86に出力する。また、タイムアウト値振り分け部90は、LAGグループG1,G2に振り分けられるユニットのフレームの宛先アドレスが顧客B宛の場合、タイムアウト値をLAGグループタイマGT2の比較部88に出力する。
【0106】
このように、通信装置11は、ユニットを複数のリンクのLAGグループG1,G2ごとに振り分け、さらに、LAGグループG1,G2内の複数のリンクで振り分けるようにした。これにより、複数のリンクがグループ化された場合でも、リンク伝送フレームの伝送効率の向上と遅延の抑制を適切に図ることができる。
【0107】
なお、図11において、比較部86,88を省略することもできる。この場合、タイマ部85,87は、LAGグループG1,G2からリンク伝送フレームが送出されると、タイムアウト時間を更新する。
【0108】
(付記1) フレームを複数のリンクに分散して通信を行う通信装置において、
前記フレームを所定サイズのユニットに分割する分割部と、
前記ユニットを前記複数のリンクに振り分ける振り分け部と、
前記複数のリンクのそれぞれに対応して、前記振り分け部によって振り分けられた前記ユニットを伝送フレームのペイロードに格納する格納部と、
前記フレームの優先度に基づいたタイムアウト時間を計測するタイマ部と、
前記伝送フレームのペイロードに格納された前記ユニットが所定サイズに達するか、または、前記タイムアウト時間を経過したかによって、前記伝送フレームを前記複数のリンクから他の通信装置に送信する送信制御部と、
を有することを特徴とする通信装置。
【0109】
(付記2) 前記振り分け部は、前記他の通信装置が前記ユニットから元の前記フレームを復元できるように、分割した前記フレームの先頭の前記ユニットから前記複数のリンクの数分、前記ユニットに復元情報を付加することを特徴とする付記1記載の通信装置。
【0110】
(付記3) 前記復元情報には、前記復元情報を識別するための識別子、前記ユニットの前記複数のリンクへの振り分け順を示すシーケンス番号、および前記フレームの長さを示す長さ情報が含まれることを特徴とする付記2記載の通信装置。
【0111】
(付記4) 前記振り分け部は、前記複数のリンクにおいて前記ユニットの数が揃うようにパディングを付加することを特徴とする付記1記載の通信装置。
(付記5) 前記振り分け部は、前記フレームの最後に分割された前記ユニットの大きさが所定サイズに分割されない場合、所定サイズになるようにパディングを付加することを特徴とする付記1記載の通信装置。
【0112】
(付記6) 前記振り分け部は、前記複数のリンクの増減指示を受けると、前記フレームの区切りで前記ユニットの振り分けを停止することを特徴とする付記1記載の通信装置。
【0113】
(付記7) 前記タイマ部は、前記伝送フレームが前記他の通信装置に送信されると前記タイムアウト時間を更新して計測することを特徴とする付記1記載の通信装置。
(付記8) 前記タイマ部は、新たな前記フレームの前記ユニットが前記複数のリンクに振り分けられるとき、新たな前記フレームの優先度に基づく新タイムアウト時間が、現在計測している現タイムアウト時間の残り時間より短い場合、前記新タイムアウト時間を計測することを特徴とする付記1記載の通信装置。
【0114】
(付記9) 前記新タイムアウト時間と前記現タイムアウト時間の残り時間とを比較する比較部を有することを特徴とする付記8記載の通信装置。
(付記10) 前記複数のリンクはグループ化され、前記振り分け部は、前記ユニットを前記複数のリンクのグループごとに振り分け、さらに、前記グループ内の前記複数のリンクごとに振り分けることを特徴とする付記1記載の通信装置。
【0115】
(付記11) 前記タイマ部は、前記グループごとに前記タイムアウト時間を計測することを特徴とする付記10記載の通信装置。
(付記12) フレームを複数のリンクに分散して通信を行う通信装置の通信方法において、
前記フレームを所定サイズのユニットに分割し、
前記ユニットを前記複数のリンクに振り分けし、
前記複数のリンクのそれぞれに対応して、振り分けられた前記ユニットを伝送フレームのペイロードに格納し、
前記伝送フレームのペイロードに格納された前記ユニットが所定サイズに達するか、または、前記フレームの優先度に基づいたタイムアウト時間を経過したかによって、前記伝送フレームを前記複数のリンクから他の通信装置に送信する、
ことを特徴とする通信方法。
【符号の説明】
【0116】
1 分割部
2 振り分け部
3a〜3n 格納部
4 タイマ部
5a〜5n 送信制御部
【特許請求の範囲】
【請求項1】
フレームを複数のリンクに分散して通信を行う通信装置において、
前記フレームを所定サイズのユニットに分割する分割部と、
前記ユニットを前記複数のリンクに振り分ける振り分け部と、
前記複数のリンクのそれぞれに対応して、前記振り分け部によって振り分けられた前記ユニットを伝送フレームのペイロードに格納する格納部と、
前記フレームの優先度に基づいたタイムアウト時間を計測するタイマ部と、
前記伝送フレームのペイロードに格納された前記ユニットが所定サイズに達するか、または、前記タイムアウト時間を経過したかによって、前記伝送フレームを前記複数のリンクから他の通信装置に送信する送信制御部と、
を有することを特徴とする通信装置。
【請求項2】
前記振り分け部は、前記他の通信装置が前記ユニットから元の前記フレームを復元できるように、分割した前記フレームの先頭の前記ユニットから前記複数のリンクの数分、前記ユニットに復元情報を付加することを特徴とする請求項1記載の通信装置。
【請求項3】
前記振り分け部は、前記複数のリンクにおいて前記ユニットの数が揃うようにパディングを付加することを特徴とする請求項1記載の通信装置。
【請求項4】
前記振り分け部は、前記フレームの最後に分割された前記ユニットの大きさが所定サイズに分割されない場合、所定サイズになるようにパディングを付加することを特徴とする請求項1記載の通信装置。
【請求項5】
前記振り分け部は、前記複数のリンクの増減指示を受けると、前記フレームの区切りで前記ユニットの振り分けを停止することを特徴とする請求項1記載の通信装置。
【請求項6】
前記タイマ部は、前記伝送フレームが前記他の通信装置に送信されると前記タイムアウト時間を更新して計測することを特徴とする請求項1記載の通信装置。
【請求項7】
前記タイマ部は、新たな前記フレームの前記ユニットが前記複数のリンクに振り分けられるとき、新たな前記フレームの優先度に基づく新タイムアウト時間が、現在計測している現タイムアウト時間の残り時間より短い場合、前記新タイムアウト時間を計測することを特徴とする請求項1記載の通信装置。
【請求項8】
前記複数のリンクはグループ化され、前記振り分け部は、前記ユニットを前記複数のリンクのグループごとに振り分け、さらに、前記グループ内の前記複数のリンクごとに振り分けることを特徴とする請求項1記載の通信装置。
【請求項9】
前記タイマ部は、前記グループごとに前記タイムアウト時間を計測することを特徴とする請求項8記載の通信装置。
【請求項10】
フレームを複数のリンクに分散して通信を行う通信装置の通信方法において、
前記フレームを所定サイズのユニットに分割し、
前記ユニットを前記複数のリンクに振り分けし、
前記複数のリンクのそれぞれに対応して、振り分けられた前記ユニットを伝送フレームのペイロードに格納し、
前記伝送フレームのペイロードに格納された前記ユニットが所定サイズに達するか、または、前記フレームの優先度に基づいたタイムアウト時間を経過したかによって、前記伝送フレームを前記複数のリンクから他の通信装置に送信する、
ことを特徴とする通信方法。
【請求項1】
フレームを複数のリンクに分散して通信を行う通信装置において、
前記フレームを所定サイズのユニットに分割する分割部と、
前記ユニットを前記複数のリンクに振り分ける振り分け部と、
前記複数のリンクのそれぞれに対応して、前記振り分け部によって振り分けられた前記ユニットを伝送フレームのペイロードに格納する格納部と、
前記フレームの優先度に基づいたタイムアウト時間を計測するタイマ部と、
前記伝送フレームのペイロードに格納された前記ユニットが所定サイズに達するか、または、前記タイムアウト時間を経過したかによって、前記伝送フレームを前記複数のリンクから他の通信装置に送信する送信制御部と、
を有することを特徴とする通信装置。
【請求項2】
前記振り分け部は、前記他の通信装置が前記ユニットから元の前記フレームを復元できるように、分割した前記フレームの先頭の前記ユニットから前記複数のリンクの数分、前記ユニットに復元情報を付加することを特徴とする請求項1記載の通信装置。
【請求項3】
前記振り分け部は、前記複数のリンクにおいて前記ユニットの数が揃うようにパディングを付加することを特徴とする請求項1記載の通信装置。
【請求項4】
前記振り分け部は、前記フレームの最後に分割された前記ユニットの大きさが所定サイズに分割されない場合、所定サイズになるようにパディングを付加することを特徴とする請求項1記載の通信装置。
【請求項5】
前記振り分け部は、前記複数のリンクの増減指示を受けると、前記フレームの区切りで前記ユニットの振り分けを停止することを特徴とする請求項1記載の通信装置。
【請求項6】
前記タイマ部は、前記伝送フレームが前記他の通信装置に送信されると前記タイムアウト時間を更新して計測することを特徴とする請求項1記載の通信装置。
【請求項7】
前記タイマ部は、新たな前記フレームの前記ユニットが前記複数のリンクに振り分けられるとき、新たな前記フレームの優先度に基づく新タイムアウト時間が、現在計測している現タイムアウト時間の残り時間より短い場合、前記新タイムアウト時間を計測することを特徴とする請求項1記載の通信装置。
【請求項8】
前記複数のリンクはグループ化され、前記振り分け部は、前記ユニットを前記複数のリンクのグループごとに振り分け、さらに、前記グループ内の前記複数のリンクごとに振り分けることを特徴とする請求項1記載の通信装置。
【請求項9】
前記タイマ部は、前記グループごとに前記タイムアウト時間を計測することを特徴とする請求項8記載の通信装置。
【請求項10】
フレームを複数のリンクに分散して通信を行う通信装置の通信方法において、
前記フレームを所定サイズのユニットに分割し、
前記ユニットを前記複数のリンクに振り分けし、
前記複数のリンクのそれぞれに対応して、振り分けられた前記ユニットを伝送フレームのペイロードに格納し、
前記伝送フレームのペイロードに格納された前記ユニットが所定サイズに達するか、または、前記フレームの優先度に基づいたタイムアウト時間を経過したかによって、前記伝送フレームを前記複数のリンクから他の通信装置に送信する、
ことを特徴とする通信方法。
【図1】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【図2】
【図3】
【図4】
【図5】
【図6】
【図7】
【図8】
【図9】
【図10】
【図11】
【図12】
【図13】
【図14】
【図15】
【公開番号】特開2011−49659(P2011−49659A)
【公開日】平成23年3月10日(2011.3.10)
【国際特許分類】
【出願番号】特願2009−194423(P2009−194423)
【出願日】平成21年8月25日(2009.8.25)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
【公開日】平成23年3月10日(2011.3.10)
【国際特許分類】
【出願日】平成21年8月25日(2009.8.25)
【出願人】(000005223)富士通株式会社 (25,993)
【Fターム(参考)】
[ Back to top ]