(57)【特許請求の範囲】
【請求項１】
送信元装置を識別する送信元識別情報と、宛先装置を識別する宛先識別情報と、転送制御情報と、転送データとを含む受信パケットを受信する受信手段と、
少なくとも一つの前記宛先装置と一対一対応で設けられ、各該宛先装置にパケットを送信する少なくとも一つの送信手段と、
前記送信元識別情報と、前記宛先識別情報と、前記送信手段を識別する送信手段識別情報と、前記送信手段の数を示す必要データ数と、前記受信パケットに含まれる前記転送制御情報に基づいて行う該受信パケットの修正や追加処理の内容を示す追加修正用データとを含む高速転送用データを記憶する高速転送用データ記憶手段と、
前記受信パケットに含まれる前記送信元識別情報および前記宛先識別情報を基に前記高速転送用データ記憶手段から前記高速転送用データを取得し、該取得した高速転送用データの数と該高速転送用データに含まれる前記必要データ数が示す値とが同じ場合は、前記受信パケットおよび該取得した前記高速転送用データを高速転送手段に送付し、一方、該取得した前記高速転送用データの数と該高速転送用データに含まれる前記必要データ数が示す値とが違う場合は、前記受信パケットを通常転送手段に送付する高速転送判定手段と、
前記受信パケットを前記高速転送用データと同じ数になるように複製し、各該複製した受信パケットを各前記高速転送用データに含まれる前記追加修正用データの内容に基づいて処理し、各該処理した受信パケットを各前記高速転送用データに含まれる前記送信手段識別情報が示す送信手段から送信する高速転送手段と、
前記受信パケットを前記送信手段と同じ数になるように複製し、各該複製した受信パケットに含まれる前記転送制御情報に基づいて各該受信パケットの修正や追加処理を行い、各前記送信手段から各該複製したパケットをそれぞれ送信するとともに、前記送信手段からの送信が成功した場合に前記高速転送用データを前記高速転送用データ記憶手段に記憶する通常転送手段と
から構成されたことを特徴とする通信装置。
【請求項２】
前記通常転送手段は、前記受信パケットに含まれる前記宛先識別情報が複数の宛先装置に同時に通信を行うための特定の識別情報ではない場合には、該受信パケットに含まれる前記転送制御情報に基づいて各該受信パケットの修正や追加処理を行い、前記宛先識別情報が示す宛先装置に対応した送信手段から送信するとともに、前記該送信手段からの送信が成功した場合に前記高速転送用データを前記高速転送用データ記憶手段に記憶する
ことを特徴とする請求項１に記載の通信装置。
【請求項３】
前記高速転送判定手段が前記高速転送用データ記憶手段から取得する前記高速転送用データは、前記受信パケットに含まれる前記送信元識別情報および前記宛先識別情報と、前記高速転送用データに含まれる前記送信元識別情報および前記宛先識別情報とがそれぞれ同じである
ことを特徴とする請求項１または請求項２に記載の通信装置。
【請求項４】
送信元装置を識別する送信元識別情報と、宛先装置を識別する宛先識別情報と、前記宛先装置と一対一対応で設けられ各該宛先装置にパケットを送信する送信手段を識別する送信手段識別情報と、前記送信手段の数を示す必要データ数と、前記受信パケットに含まれる転送制御情報に基づいて行う該受信パケットの修正や追加処理の内容を示す追加修正用データとを含む高速転送用データを記憶する高速転送用データ記憶手段を備える通信装置において、
前記送信元識別情報と、前記宛先識別情報と、前記転送制御情報と、転送データとを含む前記受信パケットを受信し、
前記受信パケットに含まれる前記送信元識別情報および前記宛先識別情報を基に前記高速転送用データ記憶手段から前記高速転送用データを取得し、
該取得した高速転送用データの数と該高速転送用データに含まれる前記必要データ数が示す値とが同じ場合は、前記受信パケットを前記高速転送用データと同じ数になるように複製し、各該複製した受信パケットを各前記高速転送用データに含まれる前記追加修正用データの内容に基づいて処理し、各該処理した受信パケットを各前記高速転送用データに含まれる前記送信手段識別情報が示す送信手段から送信し、
一方、該取得した前記高速転送用データの数と該高速転送用データに含まれる前記必要データ数が示す値とが違う場合は、前記受信パケットを前記送信手段と同じ数になるように複製し、各該複製した受信パケットに含まれる前記転送制御情報に基づいて各該受信パケットの修正や追加処理を行い、各前記送信手段から各該複製したパケットをそれぞれ送信するとともに、前記送信手段からの送信が成功した場合に前記高速転送用データを前記高速転送用データ記憶手段に記憶する
ことを特徴とするパケット転送方法。
【請求項５】
前記受信パケットに含まれる前記宛先識別情報が複数の宛先装置に同時に通信を行うための特定の識別情報ではない場合は、該受信パケットに含まれる前記転送制御情報に基づいて該受信パケットの修正や追加処理を行い、前記宛先識別情報が示す宛先装置に対応した送信手段から送信するとともに、前記送信手段からの送信が成功した場合に前記高速転送用データを前記高速転送用データ記憶手段に記憶する
ことを特徴とする請求項４に記載のパケット転送方法。
【請求項６】
前記受信パケットに含まれる前記送信元識別情報および前記宛先識別情報を基に前記高速転送用データ記憶手段から取得する前記高速転送用データは、前記受信パケットに含まれる前記送信元識別情報および前記宛先識別情報と、前記高速転送用データに含まれる前記送信元識別情報および前記宛先識別情報とがそれぞれ同じである
ことを特徴とする請求項４または請求項５に記載のパケット転送方法。
【請求項７】
送信元装置を識別する送信元識別情報と、宛先装置を識別する宛先識別情報と、前記宛先装置と一対一対応で設けられ各該宛先装置にパケットを送信する送信手段を識別する送信手段識別情報と、前記送信手段の数を示す必要データ数と、前記受信パケットに含まれる転送制御情報に基づいて行う該受信パケットの修正や追加処理の内容を示す追加修正用データとを含む高速転送用データを記憶する第１の記憶処理と、
前記送信元識別情報と、前記宛先識別情報と、前記転送制御情報と、転送データとを含む前記受信パケットを受信する受信処理と、
前記受信パケットに含まれる前記送信元識別情報および前記宛先識別情報を基に前記高速転送用データを取得する取得処理と、
前記取得処理で取得した高速転送用データの数と該高速転送用データに含まれる前記必要データ数が示す値とが同じ場合は、前記受信パケットを前記高速転送用データと同じ数になるように複製し、各該複製した受信パケットを各前記高速転送用データに含まれる前記追加修正用データの内容に基づいて処理し、各該処理した受信パケットを各前記高速転送用データに含まれる前記送信手段識別情報が示す送信手段から送信する第１の送信処理と、
一方、該取得した前記高速転送用データの数と該高速転送用データに含まれる前記必要データ数が示す値とが違う場合は、前記受信パケットを前記送信手段と同じ数になるように複製し、各該複製した受信パケットに含まれる前記転送制御情報に基づいて各該受信パケットの修正や追加処理を行い、各前記送信手段から各該複製したパケットをそれぞれ送信する第２の送信処理と、
前記第２の送信処理が成功した場合に前記高速転送用データを記憶する第２の記憶処理と
をコンピュータに実行させることを特徴とするパケット転送プログラム。
【請求項８】
前記取得処理で前記受信パケットに含まれる前記宛先識別情報が複数の宛先装置に同時に通信を行うための特定の識別情報ではない場合は、該受信パケットに含まれる前記転送制御情報に基づいて各該受信パケットの修正や追加処理を行い、前記宛先識別情報が示す宛先装置に対応した送信手段から送信する第３の送信処理と、
前記第３の送信処理が成功した場合に前記高速転送用データを記憶する第３の記憶処理と
をコンピュータに実行させることを特徴とする請求項７に記載のパケット転送プログラム。
【請求項９】
前記取得処理で取得する前記高速転送用データは、前記受信パケットに含まれる前記送信元識別情報および前記宛先識別情報と、前記高速転送用データに含まれる前記送信元識別情報および前記宛先識別情報とがそれぞれ同じである
ことを特徴とする請求項７または請求項８に記載のパケット転送プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、通信装置、パケット転送方法およびパケット転送プログラムに関し、特に、高速転送用データを作成して同種類のパケットの転送処理速度を速くする通信装置、パケット転送方法およびパケット転送プログラムに関する。
【背景技術】
【０００２】
ルータなどの通信装置では、パケットを転送する際に、パケットごとに、そのパケットに付与されている制御情報などを基に、当該通信装置内の種々のテーブルやデータベースを検索、参照して、そのパケットの処理方法を決定する。このような処理の中には、上記検索結果に基づいて当該パケットに制御情報を追加、修正したり、あるいは、特定の通信ポートから送信したりするような処理が含まれる。
【０００３】
また、マルチキャストやブロードキャストでの通信時には、パケットを受信した通信ポート以外の全ての通信ポートから、当該受信したパケットを複製して上記種々の処理を施したパケットを送信するフラッディングと呼ばれる処理を行う。
【０００４】
上述のような処理を行う通信装置において、通常の転送処理における処理方法や追加修正用データを含んだ、高速転送用データを作成、記憶しておき、同種類のパケットには上述のような煩雑な処理を何度も行わずに、当該高速転送用データの内容を適用することでパケットの転送処理速度を速くするための技術が知られている。
【０００５】
例えば、特許文献１には、ルータにおけるパケットのフォワーディング処理において、ある制御情報（送信元アドレス、宛先アドレスなど）を含むパケットに対する処理内容を事前にキャッシュブロックに記憶しておき、受信したパケットの制御情報が当該制御情報と同一の場合には、当該処理内容を適用することにより、受信する度に処理内容を判断して適用する通常の処理よりも処理速度を速くするための技術が記載されている。
【０００６】
関連技術として、特許文献２には、第１のトークン・リングＬＡＮに接続された送信元ホストと第２のトークン・リングＬＡＮに接続された目標ホストとの間に単一の仮想ＬＡＮ（すなわち、ルータを介して相互接続されたＬＡＮ）を動的に構成し、該送信元ホストと該目標ホストとを接続する経路情報をトークン・リング・フレームに含まれる経路指定情報フィールドに格納することにより、該送信元ホストから該目標ホストへの当該フレームの転送処理を高速化するための技術が記載されている。
【先行技術文献】
【特許文献】
【０００７】
【特許文献１】特開２０１１−０７７９５５号公報
【特許文献２】特開２０００−０７８１７３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００８】
しかしながら、上述のように、高速転送用データを作成し同種類のパケットに適用することによって転送処理速度を速くする通信装置において、マルチキャストやブロードキャストでの通信時にフラッディングを行う際に、何らかの原因で一部の通信ポートからの送信が失敗した場合、当該通信ポートから送信するパケットに適用するための高速転送用データが作成されない。そのため、その後のマルチキャストやブロードキャストでの通信時に他の通信ポートからの送信は行われるが、当該一部の通信ポートからの送信が行われないままになってしまうという問題点がある。
【０００９】
なお、特許文献１および２には、高速転送用データを作成して処理を行う通信装置において、マルチキャストやブロードキャストでの通信時にフラッディングを行う際に、使用されている複数のポートの全てから確実にパケットを送信するための技術については、何ら記載されていない。
【００１０】
本発明の目的は、上述した問題点を解決できる通信装置、パケット転送方法およびパケット転送プログラムを提供することにある。
【課題を解決するための手段】
【００１１】
本発明の通信装置は、
送信元装置を識別する送信元識別情報と、宛先装置を識別する宛先識別情報と、転送制御情報と、転送データとを含む受信パケットを受信する受信手段と、
少なくとも一つの前記宛先装置と一対一対応で設けられ、各該宛先装置にパケットを送信する少なくとも一つの送信手段と、
前記送信元識別情報と、前記宛先識別情報と、前記送信手段を識別する送信手段識別情報と、前記受信パケットに含まれる前記転送制御情報に対し所定の規則に基づいて行う追加および修正の内容を示す追加修正用データとを含む高速転送用データを記憶する高速転送用データ記憶手段と、
前記受信パケットに含まれる前記送信元識別情報および前記宛先識別情報を基に前記高速転送用データ記憶手段から前記高速転送用データを取得し、該取得した前記高速転送用データの数と前記送信手段の数とが同じ場合は、前記受信パケットおよび該取得した前記高速転送用データを高速転送手段に送付し、一方、該取得した前記高速転送用データの数と前記送信手段の数とが違う場合は、前記受信パケットを通常転送手段に送付する高速転送判定手段と、
前記受信パケットを前記高速転送用データと同じ数になるように複製し、各該複製したパケットを各前記高速転送用データに含まれる前記追加修正用データの内容に基づいて処理し、各該処理したパケットを各前記高速転送用データに含まれる前記送信手段識別情報が示す送信手段から送信する高速転送手段と、
前記受信パケットを前記送信手段と同じ数になるように複製し、各該複製したパケットに含まれる前記転送制御情報を所定の規則に基づいて追加および修正を行い、各前記送信手段から各該複製したパケットをそれぞれ送信するとともに、前記送信手段からの送信が成功した場合に前記高速転送用データを前記高速転送用データ記憶手段に記憶する通常転送手段と
から構成される。
【００１２】
また、本発明のパケット転送方法は、
送信元装置を識別する送信元識別情報と、宛先装置を識別する宛先識別情報と、前記宛先装置と一対一対応で設けられ各該宛先装置にパケットを送信する送信手段を識別する送信手段識別情報と、受信パケットに含まれる転送制御情報に対し所定の規則に基づいて行う追加および修正の内容を示す追加修正用データとを含む高速転送用データを記憶する高速転送用データ記憶手段を備える通信装置において、
前記送信元識別情報と、前記宛先識別情報と、前記転送制御情報と、転送データとを含む受信パケットを受信し、
前記受信パケットに含まれる前記送信元識別情報および前記宛先識別情報を基に前記高速転送用データ記憶手段から前記高速転送用データを取得し、
該取得した高速転送用データの数と前記送信手段の数とが同じ場合は、前記受信パケットを前記高速転送用データと同じ数になるように複製し、各該複製したパケットを各前記高速転送用データに含まれる前記追加修正用データの内容に基づいて処理し、各該処理したパケットを各前記高速転送用データに含まれる前記送信手段識別情報が示す送信手段から送信し、
一方、該取得した前記高速転送用データの数と前記送信手段の数とが違う場合は、前記受信パケットを前記送信手段と同じ数になるように複製し、各該複製したパケットに含まれる前記転送制御情報を所定の規則に基づいて追加および修正を行い、各前記送信手段から各該複製したパケットをそれぞれ送信するとともに、前記送信手段からの送信が成功した場合に前記高速転送用データを前記高速転送用データ記憶手段に記憶する
ことを特徴とする。
【００１３】
また、本発明のパケット転送プログラムは、
送信元装置を識別する送信元識別情報と、宛先装置を識別する宛先識別情報と、前記宛先装置と一対一対応で設けられ各該宛先装置にパケットを送信する送信手段を識別する送信手段識別情報と、受信パケットに含まれる転送制御情報に対し所定の規則に基づいて行う追加および修正の内容を示す追加修正用データとを含む高速転送用データを記憶する第１の記憶処理と、
前記送信元識別情報と、前記宛先識別情報と、前記転送制御情報と、転送データとを含む受信パケットを受信する受信処理と、
前記受信パケットに含まれる前記送信元識別情報および前記宛先識別情報を基に前記高速転送用データを取得する取得処理と、
前記取得処理で取得した高速転送用データの数と前記宛先装置の数とが同じ場合は、前記受信パケットを前記高速転送用データと同じ数になるように複製し、各該複製したパケットを各前記高速転送用データに含まれる前記追加修正用データの内容に基づいて処理し、各該処理したパケットを各前記高速転送用データに含まれる前記送信手段識別情報が示す送信手段から送信する第１の送信処理と、
一方、該取得した前記高速転送用データの数と前記宛先装置の数とが違う場合は、前記受信パケットを前記宛先装置の数と同じ数になるように複製し、各該複製したパケットに含まれる前記転送制御情報を所定の規則に基づいて追加および修正を行い、各前記送信手段から各該複製したパケットをそれぞれ送信する第２の送信処理と、
前記第２の送信処理が成功した場合に前記高速転送用データを記憶する第２の記憶処理と
をコンピュータに実行させる。
【発明の効果】
【００１４】
本発明には、高速転送用データを作成してパケットの転送処理を行う通信装置において、マルチキャストやブロードキャストでの通信時にフラッディングを行う際に、使用されている複数のポートの全てから確実に当該パケットを送信することができるという効果がある。
【図面の簡単な説明】
【００１５】
【図１】本発明の第１の実施形態を示すブロック図である。
【図２】第１の実施形態における高速転送用データの一例を示す図である。
【図３】第１の実施形態における通信装置１００の動作を示すフローチャートである。
【図４】本発明の第２の実施形態を示すブロック図である。
【発明を実施するための形態】
【００１６】
次に、本発明の実施形態について図面を参照して詳細に説明する。
【００１７】
［第１の実施形態］
図１は本発明の第１の実施形態を示すブロック図である。
【００１８】
図１を参照すると、本実施形態は、通信装置（「コンピュータ」とも言う。）１００と、通信装置１００と接続されたノード１７０と、通信装置１００とネットワーク１６０を介して接続されたノード１７１および１７２とから構成される。
【００１９】
通信装置１００は、高速転送判定部１１０と、後述する高速転送用データを記憶する高速転送用データ記憶部１２０と、通常転送部１３０と、高速転送制御部１４１を含む高速転送部１４０と、ノード１７０と接続されノード１７０が送信したパケットを受信する入力インターフェース部１５０と、ノード１７１とネットワーク１６０を介して接続されノード１７１にパケットを送信する出力インターフェース部１５１と、ノード１７２とネットワーク１６０を介して接続されノード１７２にパケットを送信する出力インターフェース部１５２とを含む。
【００２０】
各出力インターフェース部には、各々を識別するための固有の識別情報が割り当てられている。
【００２１】
ノード１７０、１７１および１７２は、他の通信装置または情報処理装置などであり、それぞれには各々を識別するための固有の識別情報が割り当てられている。各ノードが送信するパケットには、各該ノードを示す識別情報が送信元識別情報として含まれ、また、当該パケットの送信先のノードを示す識別情報が宛先識別情報として含まれる。なお、各ノードがマルチキャストまたはブロードキャストでの通信を行う場合は、当該ノードが送信するパケットに含まれる宛先識別情報には、マルチキャストおよびブロードキャストでの通信に用いられるそれぞれ予め定められた特定の識別情報（本実施形態ではそれぞれ「ＤＥＳＴ９９９」および「ＤＥＳＴ０００」とする）が設定される。
【００２２】
ネットワーク１６０は、インターネット等の公衆通信回線でもよいし、ＬＡＮ（Ｌｏｃａｌ  Ａｒｅａ  Ｎｅｔｗｏｒｋ）等の構内ネットワークでもよい。
【００２３】
通常転送部１３０は、通常転送制御部１３１と、高速転送用データ作成部１３２と、出力インターフェース部１５１および１５２にそれぞれ一対一対応で設けられた通常転送処理部１３３および１３４とを含む。
【００２４】
通常転送制御部１３１は、高速転送判定部１１０を介して入力インターフェース部１５０から受け取ったパケットに含まれる宛先識別情報を基に送信先のノードを決定し、該ノードと接続されている出力インターフェース部に対応した通常転送処理部に当該パケットを送付する。なお、当該宛先識別情報がマルチキャストおよびブロードキャストでの通信に用いられる予め定められたそれぞれ特定の識別情報である場合には、通常転送制御部１３１は、受け取ったパケットを複製して全ての通常転送処理部に送付する。
【００２５】
通常転送処理部１３３および１３４は、通常転送制御部１３１から受け取ったパケットを所定の規則に基づいて修正したり、当該パケットに含まれる制御情報などを基に決定した所定の処理を行い作成した新たな制御情報を追加したりした後に、各該パケットを、それぞれ対応する出力インターフェース部１５１および１５２に送付する。また、このとき、当該パケットに追加した制御情報を示す値や修正した内容を示す値である追加修正用データ、および処理後のパケットを送付した出力インターフェース部を示す識別情報等を、高速転送用データ作成部１３２に送付する。
【００２６】
高速転送用データ作成部１３２は、通常転送処理部１３３および１３４から受け取った情報を、高速転送用データとして高速転送用データ記憶部１２０に記憶する。
【００２７】
高速転送判定部１１０は、入力インターフェース部１５０から受け取ったパケットに含まれる送信元識別情報および宛先識別情報を基に、高速転送用データ記憶部１２０から高速転送用データを取得する。そして、その取得した結果に応じて当該パケットを通常転送制御部１３１、または高速転送制御部１４１に送付する。
【００２８】
高速転送制御部１４１は、高速転送判定部１１０から、上記パケットと少なくとも一つの高速転送用データとを受け取り、該パケットを該高速転送用データの個数と同じ数になるように複製する。そして、高速転送制御部１４１は、各該高速転送用データに含まれる追加修正用データの内容に基づいて各該複製したパケットを処理し、各該高速転送用データに含まれる出力インターフェース識別の識別情報が割り当てられた出力インターフェース部に送付する。
【００２９】
高速転送用データ記憶部１２０は、高速転送用データ作成部１３２が作成した高速転送用データを記憶する。
【００３０】
図２は高速転送用データ記憶部１２０に記憶される高速転送用データの一例を示す図である。
【００３１】
図２を参照すると、高速転送用データは、送信元識別と、宛先識別と、出力インターフェース識別と、必要データ数と、追加修正用データとを含む。
【００３２】
ここで、送信元識別は、入力インターフェース部１５０で受信したパケットに含まれる送信元識別情報を示す識別情報であり、宛先識別は、該受信したパケットに含まれる宛先識別情報を示す識別情報であり、出力インターフェース識別は、該受信したパケットを処理した後のパケットの送信先ノードに対応した出力インターフェース部を示す識別情報である。
【００３３】
必要データ数は、上記宛先識別がマルチキャストまたはブロードキャストでの通信に用いられるそれぞれ予め定められた特定の識別情報である場合には、通信装置１００に存在する少なくとも一つの出力インターフェース部のうちノードと接続されているものの数を示す値であり、上記宛先識別がその他の識別情報である場合は「１」である。すなわち、必要データ数は、出力インターフェース部のうちノードと接続されているものの数を示す値であるか、または「１」であるかのどちらかである。
【００３４】
追加修正用データは、通常転送処理部１３３が上記受信したパケットに追加した制御情報を示す値や修正した内容を示す値である。例えば、インターネット等の公衆回線上に仮想的な通信路を設けてデータ通信を行うカプセル化処理のためのＬ２ＴＰ（Ｌａｙｅｒ２  Ｔｕｎｎｅｌｉｎｇ  Ｐｒｏｔｏｃｏｌ）ヘッダを追加した場合はそのＬ２ＴＰヘッダを示す値を含み、また、追加したＩＰ（Ｉｎｔｅｒｎｅｔ  Ｐｒｏｔｏｃｏｌ）ヘッダを示す値などが含まれる。
【００３５】
なお、上記宛先識別がマルチキャストおよびブロードキャストでの通信に用いられるそれぞれ予め定められた特定の識別情報である場合には、送信元識別の識別情報および宛先識別の識別情報がそれぞれ同じであり、且つ出力インターフェース識別の識別情報が違う、複数の高速転送用データが高速転送用データ記憶部１２０に記憶される。
【００３６】
図２の２行目の高速転送用データの例を参照すると、送信元識別が示す送信元ノードの識別情報は「ＳＲＣ１７０」であり、宛先識別が示す送信先ノードの識別情報はマルチキャストでの通信に用いられる識別情報である「ＤＥＳＴ９９９」であり、出力インターフェース識別が示す処理後のパケットを送付する出力インターフェース部の識別情報は「ＰＯＲＴ１５１」である。そして、宛先識別の「ＤＥＳＴ９９９」がマルチキャストでの通信に用いられる識別情報であるので、必要データ数は、出力インターフェース部のうちノードと接続されている出力インターフェース部（すなわち出力インターフェース部１５１および１５２）の数を示す「２」である。追加修正用データは、上記Ｌ２ＴＰヘッダを示す「Ｌ２ＴＰヘッダ１」およびＩＰヘッダを示す「ＩＰヘッダ１」である。
【００３７】
次に、通信装置１００の動作について図３を参照して説明する。図３は、通信装置１００の動作を示すフローチャートである。
【００３８】
図３を参照すると、まず、ノード１７０が、ノード１７１宛てもしくは１７２宛てのパケット、またはマルチキャストもしくはブロードキャストでの通信を行うパケットを送信すると、入力インターフェース部１５０が当該パケットを受信し高速転送判定部１１０に送付する。
【００３９】
高速転送判定部１１０は、入力インターフェース部１５０から受け取った受信パケットに含まれる送信元識別情報および宛先識別情報を基に高速転送用データ記憶部１２０に記憶されている高速転送用データを検索し、上記送信元識別情報および上記宛先識別情報と、高速転送用データに含まれる送信元識別が示す識別情報および宛先識別が示す識別情報とがそれぞれ同じである高速転送用データを取得する（ステップＳ１００）。
【００４０】
なお、当該受信パケットがマルチキャストまたはブロードキャストでの通信を行うパケットである場合は、該パケットに含まれる宛先識別情報は予め定められた特定の識別情報であり、当該識別情報と同じ識別情報が示す宛先識別を含む高速転送用データは一つまたは複数存在するが、それらすべてを取得する。
【００４１】
ステップＳ１００で高速転送用データを取得できた場合（ステップＳ１０１で「ＹＥＳ」の場合）は、高速転送判定部１１０は、該取得した高速転送用データの個数と、該取得した高速転送用データに含まれる必要データ数が示す値とが同じ値であるか否かを判定する（ステップＳ１０２）。なお、取得した高速転送用データが複数の場合には、各該高速転送用データに含まれる必要データ数が示す値は全て同じ値であるので、どれか一つの高速転送用データに含まれる必要データ数が示す値と比較すればよい。
【００４２】
ステップＳ１０２で、取得した高速転送用データの個数と、該高速転送用データに含まれる必要データ数が示す値とが同じ値である場合（ステップ１０２で「ＹＥＳ」の場合）は、高速転送判定部１１０は、上記受信パケットおよび上記取得した少なくとも一つの高速転送用データを、高速転送制御部１４１に送付する。
【００４３】
高速転送制御部１４１は、高速転送判定部１１０から受け取ったパケットを、受け取った高速転送用データと同じ数になるように複製する（ステップＳ１０３）。
【００４４】
そして、高速転送制御部１４１は、複製した各パケットを、それぞれ各該高速転送用データと一対一に対応させ、対応させた各該高速転送用データに含まれる追加修正用データの内容に基づいて処理を行う（例えば、ＩＰヘッダとＬ２ＴＰヘッダを追加する等の処理を行う）。
【００４５】
高速転送制御部１４１は、上記処理済みのパケットを各該高速転送用データに含まれる出力インターフェース識別が示す識別情報が割り当てられた出力インターフェース部に送付し、各該出力インターフェース部は、高速転送制御部１４１から受け取った処理済みパケットを、接続しているノードに送信する（ステップＳ１０４）。
【００４６】
一方、ステップＳ１００で高速転送用データを取得できなかった場合（ステップＳ１０１で「ＮＯ」の場合）、またはステップＳ１０１で、取得した高速転送用データの個数と該高速転送用データに含まれる必要データ数が示す値とが同じ値でない場合（ステップ１０２で「ＮＯ」の場合）は、高速転送判定部１１０は、上記受信パケットを通常転送制御部１３１に送付する。
【００４７】
通常転送制御部１３１は、高速転送判定部１１０から受け取った受信パケットに含まれる宛先識別情報が、マルチキャストまたはブロードキャストでの通信に用いられるそれぞれ予め定められた特定の識別情報である場合には、受け取ったパケットを複製して全ての通常転送処理部、すなわち通常転送処理部１３３および１３４に送付する。また、当該宛先識別情報が、上記特定の識別情報以外の識別情報である場合には、当該宛先識別情報が割り当てられたノードを決定し、該ノードと接続されている出力インターフェース部に対応した通常転送処理部１３３または１３４に当該パケットを送付する（ステップＳ１０５）。
【００４８】
次に、通常転送制御部１３１から受信パケットを受け取った通常転送処理部１３３または１３４は、当該パケットに含まれる制御情報を所定の規則に基づいて修正したり、該制御情報を基に決定した所定の処理によって作成した新たな制御情報を当該パケットに追加したりした後に、出力インターフェース部１５１または１５２に送付する。そして、出力インターフェース部１５１または１５２は、受け取った処理済みパケットを接続しているノードに送信する（ステップＳ１０６）。
【００４９】
そして、出力インターフェース部１５１または１５２からノードへの送信が成功した場合には、対応する通常転送処理部１３３または１３４は、送信した処理済みパケットの送信元識別情報と、宛先識別情報と、ステップＳ１０６で当該パケットを修正した所定の処理を示す情報や当該パケットに追加した新たな制御情報と、処理後のパケットを送付した出力インターフェース部を示す識別情報とを、高速転送用データ作成部１３２に送付する（ステップＳ１０７）。なお、何らかの原因で出力インターフェース部からノードへの送信が成功しなかった場合には、高速転送用データ作成部１３２に何も送付しない。
【００５０】
なお、ステップＳ１０５で通常転送制御部１３１から通常転送処理部１３３および１３４に送付した受信パケットがマルチキャストまたはブロードキャストでの通信に用いられるパケットである場合は、通常転送処理部１３３および１３４は、それぞれがステップＳ１０６乃至Ｓ１０７の処理を行う。
【００５１】
次に、高速転送用データ作成部１３２は、通常転送処理部１３３または１３４から各上記情報を受け取り、各上記情報のうち宛先識別情報がマルチキャストまたはブロードキャストでの通信に用いられるそれぞれ予め定められた特定の識別情報である場合には、通信装置１００に存在する出力インターフェース部のうちノードと接続されているものの数を示す値、すなわち出力インターフェース部１５１および１５２の「２」を、各上記情報に対応する必要データ数とし、当該宛先識別情報がその他の場合は「１」を各上記情報に対応する必要データ数とする。
【００５２】
そして、高速転送用データ作成部１３２は、送信元識別情報を高速転送用データの送信元識別とし、宛先識別情報を宛先識別とし、出力インターフェース部を示す識別情報を出力インターフェース識別とし、必要データ数を示す値を必要データ数とし、ステップＳ１０６で上記受信パケットを修正した所定の処理を示す情報や当該パケットに追加した新たな制御情報を追加修正用データとする。そして、こうして作成した高速転送用データを、高速転送用データ記憶部１２０に記憶する（ステップＳ１０８）。
【００５３】
なお、送信元識別が示す識別情報と、宛先識別が示す識別情報と、出力インターフェース識別が示す識別情報とが全て同じ高速転送用データが既に高速転送用データ記憶部１２０に存在している場合は、新たにステップＳ１０８で作成したデータを登録することはせずに廃棄する。
【００５４】
なお、ノード１７０から受信したパケットがマルチキャストまたはブロードキャストでの通信を行うパケットである場合には、ステップＳ１０８で高速転送用データ作成部１３２が求める必要データ数は、通信装置１００に存在する少なくとも一つの出力インターフェース部のうちノードと接続されているものの数を示す値なので、当該パケットに含まれるその他の情報に関わらず常に一つの値である。そのため、ステップＳ１０８で必要データ数をその都度求めるのではなく、事前に求めた必要データ数を、高速転送用データ記憶部１２０内の所定の記憶場所、または、高速転送用データ記憶部１２０とは別に通信装置１００内に設けられた専用の記憶部（図示せず）に記憶しておき、該記憶しておいた必要データ数をステップＳ１０８で使用してもよい。
【００５５】
また、事前に求めた必要データ数を、各高速転送用データに含まれる必要データ数に設定せずに、高速転送用データ記憶部１２０内の所定の記憶場所、または、高速転送用データ記憶部１２０とは別に通信装置１００内に設けられた専用の記憶部に記憶しておき、ステップＳ１０２で高速転送判定部１１０が、高速転送用データ記憶部１２０から取得した高速転送用データの個数と該記憶しておいた必要データ数とを比較してもよい。
【００５６】
以上、本実施形態には、高速転送用データを作成してパケットの転送処理を行う通信装置において、マルチキャストやブロードキャストでの通信時に、使用されている複数の出力インターフェース部の全てから確実にパケットを送信することができるという効果がある。
【００５７】
その理由は、受信パケットに含まれる送信元識別情報および宛先識別情報と同じ送信元識別情報および宛先識別情報を含む高速転送用データを取得し、該取得した高速転送用データに含まれる必要データ数と、該取得した高速転送用データの個数とが同じでない場合には、該取得した高速転送用データを用いた転送処理を行わずに、通常の転送処理を行い、再度、足りない高速転送用データを作成し、高速転送用データ記憶部１２０に記憶するからである。
【００５８】
［第２の実施形態］
次に、本発明の第２の実施形態について説明する。
【００５９】
図４は本発明の第２の実施形態を示すブロック図である。
【００６０】
図４を参照すると、本実施形態は、通信装置５００と、通信装置５００と接続された送信元装置５７０と、通信装置５００と接続された宛先装置５７１および５７２とから構成される。
【００６１】
通信装置５００は、高速転送判定部５１０と、高速転送用データ記憶部５２０と、通常転送部５３０と、高速転送部５４０と、受信部５５０と、送信部５５１および５５２とを含む。
【００６２】
受信部５５０は、送信元装置５７０を識別する送信元識別情報と、宛先装置５７１および５７２を識別する宛先識別情報と、転送制御情報と、転送データとを含む受信パケットを受信する。
【００６３】
送信部５５１および５５２は、上記宛先装置５７１および５７２と一対一対応で設けられ、各該宛先装置にパケットを送信する。
【００６４】
高速転送用データ記憶部５２０は、上記送信元識別情報と、上記宛先識別情報と、上記送信部を識別する送信手段識別情報と、上記受信パケットに含まれる転送制御情報に対し所定の規則に基づいて行う追加および修正の内容を示す追加修正用データとを含む高速転送用データを記憶する。
【００６５】
高速転送判定部５１０は、上記受信パケットに含まれる送信元識別情報および宛先識別情報を基に高速転送用データ記憶部５２０から上記高速転送用データを取得し、該取得した高速転送用データの数と送信部５５１および５５２の数とが同じ場合は、上記受信パケットおよび該取得した高速転送用データを高速転送部５４０に送付し、一方、該取得した高速転送用データの数と送信部５５１および５５２の数とが違う場合は、上記受信パケットを通常転送部５３０に送付する。
【００６６】
高速転送部５４０は、上記受信パケットを、高速転送判定部５１０から受け取った高速転送用データと同じ数になるように複製し、各該複製したパケットを各該高速転送用データに含まれる追加修正用データの内容に基づいて処理し、各該処理したパケットを各該高速転送用データに含まれる送信手段識別情報が示す送信部から送信する。
【００６７】
通常転送部５３０は、上記受信パケットに含まれる宛先識別情報がマルチキャストまたはブロードキャストでの通信に用いられるそれぞれ予め定められた特定の識別情報である場合には、上記受信パケットを送信部５５１および５５２と同じ数になるように複製し、各該複製したパケットに含まれる転送制御情報を所定の規則に基づいて追加および修正を行い、各送信部から各該複製したパケットをそれぞれ送信するとともに、各送信部からの送信が成功した場合に上記高速転送用データを高速転送用データ記憶部５２０に記憶する。
【００６８】
また、上記受信パケットに含まれる宛先識別情報がマルチキャストまたはブロードキャストでの通信に用いられるそれぞれ予め定められた特定の識別情報ではない場合には、通常転送部５３０は、該パケットに含まれる転送制御情報を所定の規則に基づいて追加および修正を行い、上記宛先識別情報が示す宛先装置に対応した送信部から送信するとともに、該送信部からの送信が成功した場合に上記高速転送用データを高速転送用データ記憶部５２０に記憶する。
【００６９】
以上、本実施形態には、第１の実施形態と同様に、高速転送用データを作成してパケットの転送処理を行う通信装置において、マルチキャストやブロードキャストでの通信時に、使用されている複数の送信部の全てから確実に当該パケットを送信することができるという効果がある。
【００７０】
その理由は、高速転送判定部５１０が高速転送用データ記憶部５２０から取得した高速転送用データの数と、送信部の数とが違う場合には、該取得した高速転送用データを用いた高速転送部５４０による転送処理を行わずに、通常転送部５３０による通常の転送処理を行い、再度、高速転送用データを作成し、高速転送用データ記憶部５２０に記憶するからである。
【符号の説明】
【００７１】
１００    通信装置
１１０    高速転送判定部
１２０    高速転送用データ記憶部
１３０    通常転送部
１３１    通常転送制御部
１３２    高速転送用データ作成部
１３３    通常転送処理部
１３４    通常転送処理部
１４０    高速転送部
１４１    高速転送制御部
１５０    入力インターフェース部
１５１    出力インターフェース部
１５２    出力インターフェース部
１６０    ネットワーク
１７０    ノード
１７１    ノード
１７２    ノード
５００    通信装置
５１０    高速転送判定部
５２０    高速転送用データ記憶部
５３０    通常転送部
５４０    高速転送部
５５０    受信部
５５１    送信部
５５２    送信部
５７０    送信元装置
５７１    宛先装置
５７２    宛先装置
【図１】
0006408427.tif 000002
【図２】
0006408427.tif 000003
【図３】
0006408427.tif 000004
【図４】
0006408427.tif 000005