(57)【要約】【課題】回路構成を簡素化し、ブロードキャストやマルチキャストによるパケットのコピー時間を抑制する。【解決手段】パケット分離手段１は、パケットＡ１をデータ部Ａ２とヘッダ部Ａ３とに分離する。記憶手段２は、データ部Ａ２を記憶する。装置内パケット生成手段３は、記憶されたデータ部Ａ２のアドレスを含む固定長の内部ヘッダＡ４をヘッダ部Ａ３に付加し装置内パケットを生成する。方路検索手段４は、ヘッダ部Ａ３に基づいて装置内パケットの方路を検索する。キュー５ａ，５ｂ，…，５ｎは、パケットを送受信するポートに対応して設けられ、方路検索手段４からの装置内パケットを一時的に記憶する。読み出し手段６は、装置内パケットのヘッダ部Ａ３のアドレスに基づいて、記憶手段２からデータ部Ａ５を読み出す。パケット生成手段７は、データ部Ａ５と装置内パケットのヘッダ部Ａ３とによって出力パケットＡ６を生成する。【選択図】図１
2007228227.tif 000002
【特許請求の範囲】
【請求項１】
パケットをルーティングする通信装置において、
前記パケットを可変長のデータ部と固定長のヘッダ部とに分離するパケット分離手段と、
前記データ部を記憶する記憶手段と、
前記記憶手段に記憶した前記データ部のアドレスを含む固定長の内部ヘッダを前記ヘッダ部に付加し、装置内パケットを生成する装置内パケット生成手段と、
前記装置内パケットの前記ヘッダ部に基づいて方路検索する方路検索手段と、
前記パケットを出力するポートに対応して設けられ、前記方路検索された前記装置内パケットを一時的に記憶するキューと、
前記キューから出力される前記装置内パケットの前記内部ヘッダの前記アドレスに基づいて、前記記憶手段から前記データ部を読み出す読み出し手段と、
前記読み出し手段によって読み出された前記データ部と前記装置内パケットの前記ヘッダ部とによって出力パケットを生成するパケット生成手段と、
を有することを特徴とする通信装置。
【請求項２】
前記装置内パケット生成手段は、前記内部ヘッダに前記データ部のチェックサム値を含めることを特徴とする請求項１記載の通信装置。
【請求項３】
前記パケット生成手段は、前記読み出し手段によって読み出された前記データ部のチェックサム値と前記装置内パケットの前記データ部のチェックサム値とを比較し、比較結果に基づいて前記出力パケットを生成することを特徴とする請求項２記載の通信装置。
【請求項４】
前記装置内パケット生成手段は、前記内部ヘッダに前記データ部の長さを含めることを特徴とする請求項１記載の通信装置。
【請求項５】
前記読み出し手段は、前記装置内パケットの前記内部ヘッダの前記アドレスと前記長さとに基づいて、前記データ部を読み出すことを特徴とする請求項４記載の通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は通信装置に関し、特にパケットをルーティングする通信装置に関する。
【背景技術】
【０００２】
レイヤ２スイッチは、ＯＳＩ参照モデルにおけるデータリンク層（レイヤ２）のパケットの転送を行う。イーサネット（登録商標）は、ＬＡＮ（Local Area Network）の代表的な接続方式であり、このＯＳＩ参照モデルのレイヤ２にあたる。
【０００３】
図１３は、レイヤ２スイッチのルーティング制御を説明する図である。図に示すパケット１３１ａ，１３１ｂ，…，１３１ｎは、図示していないｎ個の入力ポートから入力されたパケットを示す。入力されたパケット１３１ａ，１３１ｂ，…，１３１ｎは、ヘッダ情報に従ってルーティングされ、図示していないｎ個の出力ポートに対応したキュー１３２ａ，１３２ｂ，…，１３２ｎに書き込まれる。キュー１３２ａ，１３２ｂ，…，１３２ｎに書き込まれたパケット１３１ａ，１３１ｂ，…，１３１ｎは、対応する出力ポートから出力されることになる。なお、パケットのルーティングは、パケット単位（イーサフレームヘッダ＋データ）で行われる。
【０００４】
キュー１３２ａ，１３２ｂ，…，１３２ｎに書き込まれたパケット１３１ａ，１３１ｂ，…，１３１ｎは、読み出しバッファ１３３ａ，１３３ｂ，…，１３３ｎに読み出される。読み出しバッファ１３３ａ，１３３ｂ，…，１３３ｎに読み出されたパケット１３１ａ，１３１ｂ，…，１３１ｎは、読み出し制御部１３４によって読み出され、図示していない出力ポートに出力される。図のパケット１３５ａ，１３５ｂ，…，１３５ｎは、出力ポートに出力されるパケットを示している。
【０００５】
レイヤ２スイッチは、入力されるパケットを１：１で出力するだけでなく、ブロードキャストやマルチキャストの場合、コピーして多方路に出力する。パケットがブロードキャストやマルチキャストされる場合、そのパケットは、コピーされてキュー１３２ａ，１３２ｂ，…，１３２ｎに書き込まれる。例えば、図に示すＰ５，Ｐ６のパケット１３１ｎがブロードキャストまたはマルチキャストされるとする。この場合、Ｐ５，Ｐ６のパケット１３１ｎは、全てのキュー１３２ａ，１３２ｂ，…，１３２ｎにコピーして書き込まれ、各出力ポートから、図のパケット１３５ａ，１３５ｂ，…，１３５ｎに示すように出力される。
【０００６】
図１４は、パケットのコピー制御を説明する図である。図に示すように、入力ポートから入力されたパケット１４１は、ｎ個にコピーされ、キュー１３２ａ，１３２ｂ，…，１３２ｎに書き込まれる。キュー１３２ａ，１３２ｂ，…，１３２ｎに書き込まれたパケット１４１は、各出力ポートから出力される。なお、図１４では、図１３で説明した読み出しバッファ１３３ａ，１３３ｂ，…，１３３ｎおよび読み出し制御部１３４を省略している。
【０００７】
ところで、パケット長は可変であるため、キュー１３２ａ，１３２ｂ，…，１３２ｎからパケットを読み出すには、読み出すパケットの長さを考慮して行わなければならない。また、パケットがキュー１３２ａ，１３２ｂ，…，１３２ｎにコピーされる時間は、パケットの長さ×コピー数に比例し、パケット長によって書き込む時間が異なる。
【０００８】
図１５は、パケット長によるコピー制御の違いを説明する図である。図に示すように、ｍ個の最短のパケット１５１または１個の最長のパケット１５２が入力されるとする。パケット１５１は、最長のパケット１５２と同量のデータ量であるとする。
【０００９】
パケット１５２をコピーする場合、コピー回数は、ｎ回（ｎ：出力ポート数）で済む。これに対し、パケット１５１をコピーする場合、コピー回数は、ｎ×ｍ回となる。従って、同じデータ量において、パケット長の短いパケットは、パケット長の長いパケットに対し、コピー処理回数が多くなり、転送効率が低下する。また、パケット１５１，１５２に示すようにパケット長が異なる場合、キュー１３２ａ，１３２ｂ，…，１３２ｎからパケットを読み出す回路は、読み出すパケットの長さを考慮して読み出さなければならない。
【００１０】
なお、従来、ホストコンピュータにおけるメモリ間コピーを廃して、メモリの使用効率を向上したネットワークアダプタが提供されている（例えば、特許文献１参照）。
【特許文献１】特願２００５−８４００２号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
このように、パケット長は可変であるため、キューからパケットを読み出すには、パケット長を考慮して読み出す必要があり、そのための回路構成が複雑になるという問題点があった。
【００１２】
また、ブロードキャストやマルチキャストによって、パケットがキューにコピーされる場合、パケット長が短ければコピー時間が長くなるという問題点があった。
本発明はこのような点に鑑みてなされたものであり、回路構成を簡素化することができる通信装置を提供することを目的とする。
【００１３】
また、ブロードキャストやマルチキャストによるキューへのコピー時間を抑制できる通信装置を提供することを目的とする。
【課題を解決するための手段】
【００１４】
本発明では上記問題を解決するために、図１に示すようなパケットＡ１をルーティングする通信装置において、パケットＡ１を可変長のデータ部Ａ２と固定長のヘッダ部Ａ３とに分離するパケット分離手段１と、データ部Ａ２を記憶する記憶手段２と、記憶手段２に記憶したデータ部Ａ２のアドレスを含む固定長の内部ヘッダＡ４をヘッダ部Ａ３に付加し、装置内パケットを生成する装置内パケット生成手段３と、装置内パケットのヘッダ部Ａ３に基づいて方路検索する方路検索手段４と、パケットを出力するポートに対応して設けられ、方路検索された装置内パケットを一時的に記憶するキュー５ａ，５ｂ，…，５ｎと、キュー５ａ，５ｂ，…，５ｎから出力される装置内パケットの内部ヘッダＡ４のアドレスに基づいて、記憶手段２からデータ部Ａ５を読み出す読み出し手段６と、読み出し手段６によって読み出されたデータ部Ａ５と装置内パケットのヘッダ部Ａ３とによって出力パケットＡ６を生成するパケット生成手段７と、を有することを特徴とする通信装置が提供される。
【００１５】
このような通信装置によれば、パケットＡ１をデータ部Ａ２と固定長のヘッダ部Ａ３とに分離し、データ部Ａ２を記憶手段２に記憶する。装置内パケット生成手段３は、記憶手段２に記憶したデータ部Ａ２のアドレスを含む固定長の内部ヘッダＡ４を、分離したヘッダ部Ａ３に付加し、装置内パケットを生成する。
【００１６】
これにより、キュー５ａ，５ｂ，…，５ｎに一時記憶される装置内パケットの長さは、一定となるので、キュー５ａ，５ｂ，…，５ｎから装置内パケットを読み出すのに、その長さを考慮せずに読み出すことができる。
【００１７】
また、キュー５ａ，５ｂ，…，５ｎに一時記憶される装置内パケットは、データ部Ａ２が含まれないので、ブロードキャストやマルチキャストにおける装置内パケットのキュー５ａ，５ｂ，…，５ｎへのコピー時間を短縮できる。
【発明の効果】
【００１８】
本発明の通信装置では、キューに一時記憶される装置内パケットの長さを一定となるようにした。これによって、キューから装置内パケットを読み出すのに、その長さを考慮せずに読み出すことができ、そのための回路構成を簡素化することができる。
【００１９】
また、キューに一時記憶される装置内パケットは、データ部が含まれないので、ブロードキャストやマルチキャストにおける装置内パケットのキューへのコピー時間を短縮することができる。
【発明を実施するための最良の形態】
【００２０】
以下、本発明の原理を図面を参照して詳細に説明する。
図１は、通信装置の概要を示した図である。図に示すように通信装置は、パケット分離手段１、記憶手段２、装置内パケット生成手段３、方路検索手段４、キュー５ａ，５ｂ，…，５ｎ、読み出し手段６、およびパケット生成手段７を有している。
【００２１】
パケット分離手段１は、ネットワークから受信されたパケットＡ１を、データ部Ａ２とヘッダ部Ａ３とに分離する。ヘッダ部Ａ３は、固定長である。
記憶手段２は、パケット分離手段１によって分離されたデータ部Ａ２を記憶する。
【００２２】
装置内パケット生成手段３は、記憶手段２に記憶されたデータ部Ａ２のアドレスを含む固定長の内部ヘッダＡ４を、分離されたヘッダ部Ａ３に付加し、装置内パケットを生成する。
【００２３】
方路検索手段４は、装置内パケットのヘッダ部Ａ３に基づいて装置内パケットの方路を検索する。
キュー５ａ，５ｂ，…，５ｎは、図示していないがパケットを出力するポートに対応して設けられている。キュー５ａ，５ｂ，…，５ｎは、方路検索手段４から出力される装置内パケットを一時的に記憶し、帯域制御を行って出力する。
【００２４】
読み出し手段６は、キュー５ａ，５ｂ，…，５ｎから出力される装置内パケットの内部ヘッダＡ４のアドレスに基づいて、記憶手段２からデータ部Ａ５を読み出す。
パケット生成手段７は、読み出し手段６によって読み出されたデータ部Ａ５と装置内パケットのヘッダ部Ａ３とによって出力パケットＡ６を生成する。なお、出力パケットＡ６は、パケットＡ１をルーティングした結果のパケットとなる。
【００２５】
このように、パケット分離手段１によって、パケットＡ１をデータ部Ａ２と固定長のヘッダ部Ａ３とに分離し、データ部Ａ２を記憶手段２に記憶する。装置内パケット生成手段３は、記憶手段２に記憶したデータ部Ａ２のアドレスを含む固定長の内部ヘッダＡ４をヘッダ部Ａ３に付加し、装置内パケットを生成する。
【００２６】
これにより、キュー５ａ，５ｂ，…，５ｎに一時記憶される装置内パケットの長さは一定となり、キュー５ａ，５ｂ，…，５ｎから装置内パケットを読み出すのに、その長さを考慮せずに読み出すことができ、そのための回路構成を簡素化することができる。
【００２７】
また、キュー５ａ，５ｂ，…，５ｎに一時記憶される装置内パケットは、データ部Ａ２が含まれないので、ブロードキャストやマルチキャストにおける装置内パケットのキュー５ａ，５ｂ，…，５ｎへのコピー時間を短縮することができる。
【００２８】
次に、本発明の通信装置をレイヤ２スイッチに適用した場合の第１の実施の形態を図面を参照して詳細に説明する。
図２は、第１の実施の形態に係るレイヤ２スイッチのブロック構成図である。図に示すように、レイヤ２スイッチ１０は、入出力ポート１１ａ，１１ｂ，…，１１ｎ、フィジカルレイヤチップ（以下、ＰＨＹ）１２、パケット分離部１３、共有バッファ１４、装置内パケット生成部１５、方路検索部１６、出力制御部１７、パケット読み出し処理部１８、およびパケット組み立て部１９を有している。
【００２９】
ＰＨＹ１２は、物理メディアを直接制御し、例えば、入出力ポート１１ａ，１１ｂ，…，１１ｎに入出力されるパケット（イーサパケット）の信号制御を行う。
パケット分離部１３は、入出力ポート１１ａ，１１ｂ，…，１１ｎより入力されたパケットをデータ部とイーサフレームヘッダとに分離する。パケット分離部１３は、分離したデータ部を共有バッファ１４に格納し、分離したイーサフレームヘッダを装置内パケット生成部１５に出力する。
【００３０】
共有バッファ１４は、パケット分離部１３によって分離されたパケットのデータ部を記憶するバッファである。共有バッファ１４は、例えば、ＲＡＭ（Random Access Memory）などのメモリによって構成される。
【００３１】
装置内パケット生成部１５は、パケット分離部１３によって分離されたパケットのイーサフレームヘッダに、装置内ヘッダを付加する。装置内ヘッダには、共有バッファ１４に格納されたデータ部のアドレスとそのデータ部の長さとが格納される。装置内パケット生成部１５は、装置内ヘッダを付加したイーサフレームヘッダ（以下、装置内パケット）を方路検索部１６に出力する。
【００３２】
方路検索部１６は、ＣＡＭ（Contents Addressable Memory）を有し、装置内パケット生成部１５から出力される装置内パケットのイーサフレームヘッダに基づいて、装置内パケットの方路検索を行う。方路検索部１６は、方路検索した装置内パケットを出力制御部１７に出力する。
【００３３】
出力制御部１７は、方路検索部１６から出力される装置内パケットの帯域制御を行う。出力制御部１７は、設定された帯域に従って装置内パケットの帯域制御を行い、パケット読み出し処理部１８に出力する。
【００３４】
パケット読み出し処理部１８は、出力制御部１７から出力される装置内パケットの装置内ヘッダに基づいて、共有バッファ１４からデータ部を取得する。すなわち、パケット読み出し処理部１８は、装置内パケットの装置内ヘッダに示されるアドレスと長さとに基づいて、装置内パケットのイーサフレームヘッダに対応するデータ部を共有バッファ１４から取得する。パケット読み出し処理部１８は、共有バッファ１４から取得したデータ部と装置内パケットとをパケット組み立て部１９に出力する。
【００３５】
パケット組み立て部１９は、パケット読み出し処理部１８から出力されるデータ部と装置内パケットとを組み合わせる。そして、パケット組み立て部１９は、装置内パケットの装置内ヘッダを削除し、ＰＨＹ１２に出力する。
【００３６】
次に、パケットの分離について説明する。
図３は、パケットの分離を説明する図である。矢印Ｐ１には、可変長のデータ部２１と固定長のイーサフレームヘッダ２２とから構成されるパケットを示している。レイヤ２スイッチ１０は、矢印Ｐ１に示すパケットを矢印Ｐ２に示すように分離する。そして、レイヤ２スイッチ１０は、矢印Ｐ３に示すように、可変長のデータ部２１を共有バッファ１４に格納し、固定長のイーサフレームヘッダ２２に、装置内ヘッダ２３を付加してルーティング処理を行う。
【００３７】
このように、レイヤ２スイッチ１０は、パケットを可変長部分と固定長部分とに分離してルーティング処理をすることによって、回路構成を簡略化し、パケットをブロードキャストやマルチキャストするときに行われるコピー処理に要する時間を低減する。
【００３８】
次に、パケットのデータ構成例について説明する。
図４は、パケットのデータ構成例を示した図である。図に示すパケット３０は、イーサパケットであり、データ部３１とイーサフレームヘッダ３２とに分けることができる。なお、図中の括弧内の数字は、バイト数を示す。
【００３９】
データ部３１のＤＡＴＡには、上位のプロトコルデータが格納される。ＦＣＳ（Frame Check Sequence）には、伝送中のエラーチェックを行うためのデータが格納される。
イーサフレームヘッダ３２のＭＡＣ−ＤＡには、パケット３０の宛先アドレスが格納される。ＭＡＣ−ＳＡには、パケット３０の送信元のアドレスが格納される。ＴＰＩＤ（Tag Protocol Identifier）には、タグプロトコル識別子が格納される。デフォルトでは、ＶＷＡＮ（Virtual Wide Area Network）タグを示す‘０ｘ８１００’が格納される（変更可能）。ＴＣＩ（Tag Control Information）には、タグの制御情報が格納される。ＶＩＤには、ＶＬＡＮ（Virtual Local Area Network）（ＶＷＡＮ）を識別するための識別子が格納される。ＣＦＩには、キャノニカル形式の識別子が格納される。ｐｒｉには、パケット３０の優先度を示すプライオリティビットが格納される。Ｔｙｐｅ／Ｌｅｎｇｔｈには、データ部３１の長さ（パディングを除く）が格納される。
【００４０】
次に、装置内パケット生成部１５から出力される装置内パケットのデータ構成例について説明する。
図５は、装置内パケットのデータ構成例を示した図である。図に示すように、装置内パケット４１は、イーサフレームヘッダ４３に装置内ヘッダ４２を付加したものである。図には、データ部４４も示してある。装置内パケット４１の装置内ヘッダ４２は、領域４２ａ，４２ｂを有し、領域４２ａには、共有バッファ１４に格納されたデータ部４４のアドレスが格納される。領域４２ｂには、共有バッファ１４に格納されたデータ部４４の長さ（レングス）が格納される。アドレスとレングスは、装置内パケット生成部１５によって領域４２ａ，４２ｂに格納される。
【００４１】
なお、装置内ヘッダ４２の領域４２ａの大きさは、共有バッファ１４のアドレス幅にもよるが、例えば、４バイトの大きさとする。領域４２ｂの大きさは、データ部４４の大きさにもよるが、例えば、２バイトの大きさとする。
【００４２】
次に、レイヤ２スイッチ１０のルーティング制御について説明する。
図６は、レイヤ２スイッチのルーティング制御を説明する図である。図には、図２で説明した共有バッファ１４と出力制御部１７が示してある。出力制御部１７は、図に示すようにキュー１７ａ，１７ｂ，…，１７ｎを有している。キュー１７ａ，１７ｂ，…，１７ｎは、入出力ポート１１ａ，１１ｂ，…，１１ｎに対応している。
【００４３】
図に示す装置内パケット５１ａ，５１ｂ，…，５１ｎは、図２の方路検索部１６から出力された装置内パケットを示している。装置内パケット５１ａ，５１ｂ，…，５１ｎは、イーサフレームヘッダに基づいて方路検索が行われ、所定のキュー１７ａ，１７ｂ，…，１７ｎに格納される。
【００４４】
出力制御部１７は、帯域制御を行って、キュー１７ａ，１７ｂ，…，１７ｎに格納された装置内パケットを出力する。図の装置内パケット５２ａ，５２ｂ，…，５２ｎは、帯域制御して出力された装置内パケットを示している。
【００４５】
出力制御部１７から出力された装置内パケット５２ａ，５２ｂ，…，５２ｎは、図２で説明したパケット読み出し処理部１８に入力される。パケット読み出し処理部１８は、装置内パケット５２ａ，５２ｂ，…，５２ｎの装置内ヘッダに示されるアドレスとレングスとに基づいて、イーサフレームヘッダに対応するデータ部を共有バッファ１４から取得する。
【００４６】
共有バッファ１４から取得されたデータ部は、装置内パケット５２ａ，５２ｂ，…，５２ｎから装置内ヘッダを削除して残ったイーサフレームヘッダに付加される。図のパケット５３ａ，５３ｂ，…，５３ｎは、イーサフレームヘッダにデータ部が付加されたパケットを示している。パケット５３ａ，５３ｂ，…，５３ｎは、図２で説明した入出力ポート１１ａ，１１ｂ，…，１１ｎから出力されることになる。
【００４７】
次に、パケットの組み立てについて説明する。
図７は、パケットの組み立てを説明する図である。図には、装置内ヘッダ６１ａとイーサフレームヘッダ６１ｂとから構成された装置内パケット６１および共有バッファ１４が示してある。
【００４８】
共有バッファ１４に格納されているパケットのデータ部６２は、装置内ヘッダ６１ａのアドレスとレングスとに基づいて取得される。例えば、装置内ヘッダ６１ａで示されるアドレスからレングスまで取得したデータがデータ部６２となる。取得されたデータ部６２は、装置内パケット６１の装置内ヘッダ６１ａを削除したイーサフレームヘッダ６１ｂが付加される。これにより、パケットが生成され、入出力ポート１１ａ，１１ｂ，…，１１ｎから出力されることになる。
【００４９】
次に、パケットをブロードキャストやマルチキャストする場合におけるコピー制御について説明する。
図８は、パケットのコピー制御を説明する図である。図には、共有バッファ１４と出力制御部１７が示してある。
【００５０】
パケットがブロードキャストまたはマルチキャストされる場合、図に示す装置内パケット７１は、図２の方路検索部１６によってｎ個にコピーされ、出力制御部１７のキュー１７ａ，１７ｂ，…，１７ｎに出力される。
【００５１】
出力制御部１７は、帯域制御を行って、キュー１７ａ，１７ｂ，…，１７ｎに格納された装置内パケット７１を出力する。図の装置内パケット７２ａ，７２ｂ，…，７２ｎは、帯域制御して出力された装置内パケットを示している。
【００５２】
出力制御部１７から出力された装置内パケット７２ａ，７２ｂ，…，７２ｎは、図２で説明したパケット読み出し処理部１８に出力される。パケット読み出し処理部１８は、装置内パケット７２ａ，７２ｂ，…，７２ｎの装置内ヘッダに示されるアドレスとレングスとに基づいて、イーサフレームヘッダに対応するデータ部を共有バッファ１４から取得する。
【００５３】
共有バッファ１４から取得されたデータ部は、装置内パケット７２ａ，７２ｂ，…，７２ｎから装置内ヘッダを削除して残ったイーサフレームヘッダに付加される。図のパケット７３ａ，７３ｂ，…，７３ｎは、イーサフレームヘッダにデータ部が付加されたパケットを示している。パケット７３ａ，７３ｂ，…，７３ｎは、図２で説明した入出力ポート１１ａ，１１ｂ，…，１１ｎから出力されることになる。
【００５４】
次に、コピー時間の短縮について説明する。
図９は、コピー時間の短縮を説明する図である。図のパケット８１ａ，８１ｂ，…，８１ｎは、従来のレイヤ２スイッチによってコピー処理されるパケットを示している。装置内パケット８２ａ，８２ｂ，…，８２ｎは、図２のレイヤ２スイッチ１０によってコピー処理される装置内パケットを示している。また、図には、パケット８１ａ，８１ｂ，…，８１ｎと装置内パケット８２ａ，８２ｂ，…，８２ｎのコピー時間を示すためのクロックの例が示されている。例えば、パケット８１ａは、コピーするのに、５クロックかかることが分かる。
【００５５】
キュー１７ａ，１７ｂ，…，１７ｎは、入出力ポート１１ａ，１１ｂ，…，１１ｎに対応して設けられ、入出力ポート１１ａ，１１ｂ，…，１１ｎの数だけ存在する。レイヤ２スイッチ１０に入力されたパケット８１ａ，８１ｂ，…，８１ｎは、イーサフレームヘッダに基づいて、出力すべき入出力ポート１１ａ，１１ｂ，…，１１ｎが識別され、対応するキュー１７ａ，１７ｂ，…，１７ｎに格納される。パケット８１ａ，８１ｂ，…，８１ｎのそれぞれは、キュー１７ａ，１７ｂ，…，１７ｎのそれぞれにシリアルに書き込まれ、書き込み時間は、図のクロックに示す時間かかることになる。
【００５６】
従来のレイヤ２スイッチは、データ部も含めたパケット８１ａ，８１ｂ，…，８１ｎをキュー１７ａ，１７ｂ，…，１７ｎに書き込んでいた。これに対し、図２のレイヤ２スイッチ１０では、イーサフレームヘッダと装置内ヘッダで構成される固定長の装置内パケット８２ａ，８２ｂ，…，８２ｎをキュー１７ａ，１７ｂ，…，１７ｎに書き込む。従って、キュー１７ａ，１７ｂ，…，１７ｎに書き込む時間が短縮される。
【００５７】
すなわち、キュー１７ａ，１７ｂ，…，１７ｎに装置内パケット８２ａ，８２ｂ，…，８２ｎが書き込まれる時間は、装置内パケットの長さ（固定長）×ポート数に比例する値となり、従来のパケット長（可変長）×コピー数に比例した値より小さくなる。また、最短パケットと比較しても、パケット長＞装置内パケットの長さとなるので、コピー処理の時間を短縮することができる。さらに、装置内パケットは固定長なので、パケット長に依存せず、コピー処理の時間が均一化される。
【００５８】
また、連続したパケットをキュー１７ａ，１７ｂ，…，１７ｎに書き込む場合、最初のパケットが書き込まれるまで次のパケットは待たされる（ブロッキングされる）。コピー数が増えるほど、キュー１７ａ，１７ｂ，…，１７ｎに書き込む時間が必要となり、従来のレイヤ２スイッチの場合、ブロッキング時間が長くなって、スループットが下がる。これに対し、図２のレイヤ２スイッチ１０の場合、装置内パケットの長さが短いため、ブロッキングの時間は少なく、スループットが向上する。
【００５９】
さらに、装置内パケットは固定長なので、キュー１７ａ，１７ｂ，…，１７ｎから装置内パケットを読み出す回路は、一定の大きさのデータを読み出せばよく、可変長のデータを読み出す場合の回路に比べ、構成を簡素化できる。
【００６０】
このように、レイヤ２スイッチ１０は、パケットを可変長のデータ部と固定長のイーサフレームヘッダとに分離し、データ部を共有バッファ１４に記憶する。装置内パケット生成部１５は、共有バッファ１４に記憶したデータ部のアドレスと長さとを含む固定長の装置内ヘッダをイーサフレームヘッダに付加し、装置内パケットを生成する。
【００６１】
これにより、キュー１７ａ，１７ｂ，…，１７ｎに一時記憶される装置内パケットの長さは一定となり、キュー１７ａ，１７ｂ，…，１７ｎから装置内パケットを読み出すのに、パケットの長さを考慮せずに読み出すことができ、回路構成を簡素化することができる。
【００６２】
また、キュー１７ａ，１７ｂ，…，１７ｎに一時記憶される装置内パケットは、データ部が含まれないので、ブロードキャストやマルチキャストにおける装置内パケットのキュー１７ａ，１７ｂ，…，１７ｎへのコピー時間を短縮することができる。また、パケット転送効率を向上することができる。
【００６３】
次に、本発明の第２の実施の形態を、図面を参照して詳細に説明する。第２の実施の形態では、装置内ヘッダに、パケット組み立て時の正常性を確認するためのチェックサムを格納する。
【００６４】
図１０は、第２の実施の形態に係るレイヤ２スイッチのブロック構成図である。図１０において、図２と同じ部分には同じ符号を付し、その説明を省略する。
パケット分離部９１は、入出力ポート１１ａ，１１ｂ，…，１１ｎより入力されたパケットをデータ部とイーサフレームヘッダとに分離する。パケット分離部９１は、分離したデータ部のチェックサム値を算出する。パケット分離部９１は、分離したデータ部を共有バッファ１４に格納し、算出したチェックサム値と分離したイーサフレームヘッダとを装置内ヘッダ生成部９２に出力する。
【００６５】
装置内ヘッダ生成部９２は、パケット分離部９１によって分離されたパケットのイーサフレームヘッダに、装置内ヘッダを付加する。装置内ヘッダには、共有バッファ１４に格納されたデータ部のアドレスとそのデータ部の長さとチェックサム値とが格納される。装置内ヘッダ生成部９２は、装置内ヘッダを付加したイーサフレームヘッダ（以下、装置内パケット）を方路検索部１６に出力する。
【００６６】
パケット組み立て部９３は、パケット読み出し処理部１８から出力されるデータ部と装置内パケットとを組み合わせ、装置内パケットの装置内ヘッダを削除し、パケットを生成する。パケット組み立て部９３は、生成したパケットのデータ部のチェックサム値を算出し、装置内パケットの装置内ヘッダに含まれているチェックサム値と比較する。チェックサム値が一致していれば、生成したパケットをＰＨＹ１２に出力し、チェックサム値が一致していなければ、生成したパケットを破棄する。
【００６７】
次に、第２の実施の形態に係る装置内パケットについて説明する。
図１１は、装置内パケットのデータ構成例を示した図である。図に示すように装置内パケット１０１は、装置内ヘッダ１０２とイーサフレームヘッダ１０３とから構成される。
【００６８】
装置内ヘッダ１０２は、領域１０２ａ〜１０２ｃを有している。領域１０２ａには、図１０に示す共有バッファ１４に格納されるデータ部のアドレスが格納される。領域１０２ｂには、共有バッファ１４に格納されるデータ部の長さ（レングス）が格納される。領域１０２ｃには、共有バッファ１４に格納されるデータ部のチェックサム値が格納される。
【００６９】
アドレスとレングスは、装置内ヘッダ生成部９２によって領域１０２ａ，１０２ｂに格納される。チェックサム値は、パケット分離部９１によって算出され、装置内ヘッダ生成部９２によって領域１０２ｃに格納される。領域１０２ｃの大きさは、例えば、２バイトとする。
【００７０】
次に、パケットの組み立てについて説明する。
図１２は、パケットの組み立てを説明する図である。図にはパケット組み立て部９３が示してある。パケット組み立て部９３は、正常性チェック部９３ａ，９３ｂ，…，９３ｎを有している。
【００７１】
パケット組み立て部９３には、パケット読み出し処理部１８から装置内パケット１１１ａ，１１１ｂ，…，１１１ｎとデータ部１１２ａ，１１２ｂ，…，１１２ｎとが入力される。パケット組み立て部９３は、入力された装置内パケット１１１ａ，１１１ｂ，…，１１１ｎとデータ部１１２ａ，１１２ｂ，…，１１２ｎとを組み合わせ、装置内パケット１１１ａ，１１１ｂ，…，１１１ｎの装置内ヘッダを削除し、パケットを生成する。
【００７２】
正常性チェック部９３ａ，９３ｂ，…，９３ｎは、生成されたパケットのデータ部のチェックサム値を算出し、装置内パケット１１１ａ，１１１ｂ，…，１１１ｎの装置内ヘッダに含まれているチェックサム値と比較する。チェックサム値が一致すれば、共有バッファ１４から読み出されたデータ部は、適正なものであると判断し、組み立てたパケットをＰＨＹ１２に出力する。チェックサム値が一致しなければ、共有バッファ１４から読み出されたデータ部は、不適正なものであると判断し、組み立てたパケットを破棄する。
【００７３】
このように、データ部のチェックサム値を確認することで、不適切なパケットの出力を抑制することができ、信頼性を向上させることができる。
【図面の簡単な説明】
【００７４】
【図１】通信装置の概要を示した図である。
【図２】第１の実施の形態に係るレイヤ２スイッチのブロック構成図である。
【図３】パケットの分離を説明する図である。
【図４】パケットのデータ構成例を示した図である。
【図５】装置内パケットのデータ構成例を示した図である。
【図６】レイヤ２スイッチのルーティング制御を説明する図である。
【図７】パケットの組み立てを説明する図である。
【図８】パケットのコピー制御を説明する図である。
【図９】コピー時間の短縮を説明する図である。
【図１０】第２の実施の形態に係るレイヤ２スイッチのブロック構成図である。
【図１１】装置内パケットのデータ構成例を示した図である。
【図１２】パケットの組み立てを説明する図である。
【図１３】レイヤ２スイッチのルーティング制御を説明する図である。
【図１４】パケットのコピー制御を説明する図である。
【図１５】パケット長によるコピー制御の違いを説明する図である。
【符号の説明】
【００７５】
１  パケット分離手段
２  記憶手段
３  装置内パケット生成手段
４  方路検索手段
５ａ，５ｂ，…，５ｎ  キュー
６  読み出し手段
７  パケット生成手段
Ａ１  パケット
Ａ２，Ａ５  データ部
Ａ３  ヘッダ部
Ａ４  内部ヘッダ
Ａ６  出力パケット
【図１】
2007228227.tif 000003
【図２】
2007228227.tif 000004
【図３】
2007228227.tif 000005
【図４】
2007228227.tif 000006
【図５】
2007228227.tif 000007
【図６】
2007228227.tif 000008
【図７】
2007228227.tif 000009
【図８】
2007228227.tif 000010
【図９】
2007228227.tif 000011
【図１０】
2007228227.tif 000012
【図１１】
2007228227.tif 000013
【図１２】
2007228227.tif 000014
【図１３】
2007228227.tif 000015
【図１４】
2007228227.tif 000016
【図１５】
2007228227.tif 000017