(57)【特許請求の範囲】
【請求項１】
第１の装置との間に設定された第１の切替元パスを用いて複数のパケットを送信する途中で所定のパス切替指示を受け付けた場合に、少なくとも前記複数のパケットの一部を、第２の装置との間に設定された第１の切替先パスを用いて送信する通信装置であって、
前記第１の切替元パスを用いて送信される最終パケットの送信終了を示す最終切替パケットと、前記第１の切替先パスを用いて送信される先頭パケットの送信開始を示す先頭切替パケットとを生成する切替パケット生成部と、
前記第１の切替元パス及び前記第１の切替先パスを含む複数のパスに対応して夫々設けられ、送信対象となるパケットを順次パスに送信する複数の送信部と、
前記パス切替指示に応答して前記第１の切替元パスに対応する前記送信部に対して前記最終パケットを出力した後に前記切替パケット生成部により生成された前記最終切替パケットを出力すると共に、前記第１の切替先パスに対応する前記送信部に対して前記先頭パケットを出力する前に前記切替パケット生成部により生成された前記先頭切替パケットを出力する制御部と、
第３の装置との間に設定された第２の切替先パスを用いて前記第３の装置から先頭切替パケットを受信した場合に、当該先頭切替パケット以降のパケットを蓄積部に順次蓄積する蓄積制御部とを有し、
前記制御部は、
第４の装置との間に設定された第２の切替元パスを用いて前記第４の装置から最終切替パケットを受信した場合に、前記第４の装置からの最終パケットに後続する、前記蓄積部に蓄積中の前記第３の装置からの前記先頭切替パケット以降のパケットを対応の前記送信部に順次出力することを特徴とする通信装置。
【請求項２】
前記送信部は、
前記送信対象となるパケットを順次蓄積し、これら順次蓄積されたパケットを順次パスに送信することを特徴とする請求項１に記載の通信装置。
【請求項３】
前記蓄積制御部は、
前記送信部に出力する前に前記パケットを蓄積部に順次蓄積し、
前記制御部は、
前記パス切替指示に応答した場合に、前記第１の切替元パスに対応するパケットよりも前記第１の切替先パスに対応する前記最終切替パケット以降のパケットを優先的に送信すべく、前記第１の切替先パスに対応した前記最終切替パケット以降のパケットを前記蓄積部から前記第１の切替先パスに対応した前記送信部に出力することを特徴とする請求項１又は２に記載の通信装置。
【請求項４】
第１の装置との間に設定された第１の切替元パスを用いて複数のパケットを送信する途中で所定のパス切替指示を受け付けた場合に、少なくとも前記複数のパケットの一部を、第２の装置との間に設定された第１の切替先パスを用いて送信する送信側通信装置と、前記第１の切替元パス及び前記第１の切替先パスを用いて前記複数のパケットを受信する受信側通信装置とを有する通信システムであって、
前記送信側通信装置は、
前記第１の切替元パスを用いて送信される最終パケットの送信終了を示す最終切替パケットと、前記第１の切替先パスを用いて送信される先頭パケットの送信開始を示す先頭切替パケットとを生成する切替パケット生成部と、
前記第１の切替元パス及び前記第１の切替先パスを含む複数のパスに対応して夫々設けられ、送信対象となるパケットを順次パスに送信する複数の送信部と、
前記パス切替指示に応答して前記第１の切替元パスに対応する前記送信部に対して前記最終パケットを出力した後に前記切替パケット生成部により生成された前記最終切替パケットを出力すると共に、前記第１の切替先パスに対応する前記送信部に対して前記先頭パケットを出力する前に前記切替パケット生成部により生成された前記先頭切替パケットを出力するように制御する制御部と
第３の装置との間に設定された第２の切替先パスを用いて前記第３の装置から先頭切替パケットを受信した場合に、当該先頭切替パケット以降のパケットを蓄積部に順次蓄積する蓄積制御部と
を有し、
前記制御部は、
第４の装置との間に設定された第２の切替元パスを用いて前記第４の装置から最終切替パケットを受信した場合に、前記第４の装置からの最終パケットに後続する、前記蓄積部に蓄積中の前記第３の装置からの前記先頭切替パケット以降のパケットを対応の前記送信部に順次出力すると共に、
前記受信側通信装置は、
前記第１の切替先パスを用いて前記送信側通信装置から前記先頭切替パケットを受信した場合に、当該先頭切替パケット以降のパケットを蓄積部に順次蓄積すると共に、前記第１の切替元パスを用いて前記送信側通信装置から前記最終切替パケットを受信した場合に、前記蓄積部に蓄積中の前記パケットを読み出す受信側蓄積制御部と、
前記第１の切替元パスを用いて前記送信側通信装置から受信した前記最終パケットを出力した後、前記受信側蓄積制御部に読み出された前記先頭切替パケット以降のパケットを順次出力するように制御する受信側制御部と
を有することを特徴とする通信システム。
【請求項５】
前記蓄積制御部は、
前記送信部に出力する前に前記パケットを蓄積部に順次蓄積し、
前記制御部は、
前記パス切替指示に応答した場合に、前記第１の切替元パスに対応するパケットよりも前記第１の切替先パスに対応する前記最終切替パケット以降のパケットを優先的に送信すべく、前記第１の切替先パスに対応した前記最終切替パケット以降のパケットを前記蓄積部から前記第１の切替先パスに対応した前記送信部に出力することを特徴とする請求項４に記載の通信システム。
【請求項６】
第１の装置との間に設定された第１の切替元パスを用いて複数のパケットを送信する途中で所定のパス切替指示を受け付けた場合に、少なくとも前記複数のパケットの一部を第２の装置との間に設定された第１の切替先パスを用いて送信する通信方法であって、
前記第１の切替元パスを用いて送信される最終パケットの送信終了を示す最終切替パケットと、前記第１の切替先パスを用いて送信される先頭パケットの送信開始を示す先頭切替パケットとを生成し、
前記パス切替指示に応答して前記第１の切替元パスに対応する送信部に対して前記最終パケットを出力した後に、生成された最終切替パケットを出力すると共に、前記第１の切替先パスに対応する送信部に対して前記先頭パケットを出力する前に、生成された先頭切替パケットを出力し、
第３の装置との間に設定された第２の切替先パスを用いて前記第３の装置から先頭切替パケットを受信した場合に、当該先頭切替パケット以降のパケットを蓄積部に順次蓄積し、
第４の装置との間に設定された第２の切替元パスを用いて前記第４の装置から最終切替パケットを受信した場合に、前記第４の装置からの最終パケットに後続する、前記蓄積部に蓄積中の前記第３の装置からの前記先頭切替パケット以降のパケットを対応の前記送信部に順次出力する
処理を実行することを特徴とする通信方法。
【請求項７】
前記送信部に出力する前に前記パケットを前記蓄積部に順次蓄積し、
前記パス切替指示に応答した場合に、前記第１の切替元パスに対応するパケットよりも前記第１の切替先パスに対応する前記最終切替パケット以降のパケットを優先的に送信すべく、前記第１の切替先パスに対応した前記最終切替パケット以降のパケットを前記蓄積部から前記第１の切替先パスに対応した前記送信部に出力する
処理を実行することを特徴とする請求項６に記載の通信方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、パケット通信装置、パケット通信システム及びパケット通信方法に関する。
【背景技術】
【０００２】
従来、ＭＰＬＳ（Multi-Protocol Label Switching）網の普及に応じて、キャリア向けレイヤ３スイッチを使用する通信システムのトラフィック量が急速に増加している。従って、通信システム内の設備増設等を行う場合には、通信パケットの無瞬断及び無遅延を実現することが重要な課題になっている。
【０００３】
図２５は、従来のＭＰＬＳ通信システムのネットワーク構成を示す説明図である。図２５に示すＭＰＬＳ通信システムは、例えば、Ａ〜Ｈの８個のＭＰＬＳ通信装置(以下、単に通信装置と称する)とネットワーク接続している。通信装置Ａは、通信装置Ｂ及び通信装置Ｃ経由で通信装置Ｄとのパスをワークパスとして設定する。この際、通信装置Ｂのラベルテーブルは、受信ポート番号Ｒ１、受信ラベル番号＃１００、送信ポート番号Ｓ３及び送信ラベル番号＃２００を対応付けて管理する。尚、受信ポート番号Ｒ１は、通信装置Ａと接続する受信ポートの番号に相当する。受信ラベル番号＃１００は、通信装置Ａと接続するパスを識別するラベル番号に相当する。送信ポート番号Ｓ３は、通信装置Ｃと接続する送信ポートの番号に相当する。送信ラベル番号＃２００は、通信装置Ｃと接続するパスを識別するラベル番号に相当する。
【０００４】
更に、通信装置Ａは、通信装置Ａ−通信装置Ｂ−通信装置Ｃ−通信装置Ｄ間のワークパスを使用中に、通信装置Ａ及び通信装置Ｂ間に障害等が発生した場合に、通信装置Ａ−通信装置Ｅ−通信装置Ｂと接続するプロテクションパスに切替設定する。この際、通信装置Ｂのラベルテーブルは、受信ポート番号Ｒ２、受信ラベル番号＃１０１、送信ポート番号Ｓ３及び送信ラベル番号＃２００を対応付けて追加管理することになる。
【０００５】
つまり、通信装置Ａは、ワークパス対応の送信キューにキューイングされたパケットＰ１及びＰ２をワークパス経由で通信装置Ｂに送信した後、ワークパスからプロテクションパスに切替設定する。そして、通信装置Ａは、プロテクションパスに切替設定した後、受信したパケットＰ３及びＰ４をプロテクションパス対応の送信キューにキューイングする。そして、通信装置Ａは、送信キューにキューイングされたパケットＰ３及びＰ４をプロテクションパス上の通信装置Ｅ経由で通信装置Ｂに順次送信することになる。
【０００６】
その結果、通信装置Ｂでは、通信装置Ｅから受信したパケットＰ３及びＰ４に付加されたMPLS Shimヘッダの受信ラベル番号＃１０１に対応した送信ポート番号Ｓ３及び送信ラベル番号＃２００をラベルテーブルから読み出すラベル変換処理を実行する。そして、通信装置Ｂは、読み出した送信ポート番号Ｓ３及び送信ラベル番号＃２００に基づき、通信装置Ｅから受信したパケットＰ３及びＰ４を通信装置Ｃに送信する。
【０００７】
従来のＭＰＬＳ通信システムでは、通信装置Ａと非同期にパス切替を実行するため、プロテクションパス経由のパケットＰ３及びＰ４がワークパス経由のパケットＰ１及びＰ２よりも先に通信装置Ｂに到着してしまうパケットの追越しが発生する。その結果、通信装置Ｂは、本来、パケットＰ１→Ｐ２→Ｐ３→Ｐ４の順に受信すべきところを、Ｐ３→Ｐ４→Ｐ１→Ｐ２の順に受信してしまうため、連続するパケットで構成するパケット群の順序性を担保できない。
【０００８】
そこで、上記従来のＭＰＬＳ通信システムでは、プロテクションパスへの切替に伴うパケットの追越しを防止する技術が知られている。図２６は、従来のＭＰＬＳ通信システムのパケット追越防止処理に関わる通信装置の動作を示す説明図である。図２６に示すＭＰＬＳ通信システムでは、通信装置Ａ−通信装置Ｂ間のワークパスを使用して通信装置ＡからパケットＰ１及びＰ２を通信装置Ｂに送信した後、ワークパスに障害等が発生したとする。この場合、通信装置Ａは、通信装置Ａ−通信装置Ｅ−通信装置Ｂ間のプロテクションパスに切替設定する。そして、通信装置Ａは、プロテクションパスを使用してパケットＰ３及びＰ４を通信装置Ｅ経由で通信装置Ｂに送信することになる。
【０００９】
この際、通信装置Ａは、パケットＰを送信する場合に、当該パケットＰ内に当該パケットＰ自体の送信時刻及び直前パケット（Ｐ−１）の送信時刻を付加する。例えば、通信装置Ａは、パケットＰ３を送信する場合に、パケットＰ３内にパケットＰ３自体の送信時刻及び直前パケットＰ２の送信時刻を付加する。
【００１０】
その結果、通信装置Ｂは、ワークパス及びプロテクションパス経由で受信したパケット間で追い越しが発生したとしても、各パケットＰ内の送信時刻に基づき、送信時刻の早い順に受信パケットを並び替えることでパケット群の順序性を担保できる。
【先行技術文献】
【特許文献】
【００１１】
【特許文献１】特開平５−１３０１４１号公報
【発明の概要】
【発明が解決しようとする課題】
【００１２】
上記従来のＭＰＬＳ通信システムでは、パケット毎に付加した送信時刻に基づき、連続するパケットの順序性を担保した。しかしながら、上記従来のＭＰＬＳ通信システムでは、パケット群の順序性を担保するために、パケット毎に送信時刻を付加する必要があるので、システムとして余分な出力帯域を要し、そのシステム負荷は非常に大きい。
【００１３】
開示技術は上記点に鑑みてなされたものであり、その目的とするところは、パス切替が発生したとしても、システム負荷を軽減しながら、受信側でのパケット群の順序性を担保できるパケット通信装置等を提供することにある。
【課題を解決するための手段】
【００１４】
本願の開示するパケット通信装置は、一つの態様において、自装置と第１の装置との間に設定された切替元パスを介して複数のパケットを送信する途中で所定のパス切替指示を受け付けた場合に、少なくとも前記複数のパケットの一部を自装置と第２の装置との間に設定された切替先パスを用いて送信するパケット通信装置であって、前記切替元パスを用いて送信される最終パケットの送信終了を示す最終切替パケットと、前記切替先パスを用いて送信される先頭パケットの送信開始を示す先頭切替パケットとを生成する切替パケット生成部と、前記切替元パス及び前記切替先パスを含む複数のパスに対応して夫々設けられ、送信対象となるパケットを順次パスに送信する複数の送信部と、前記パス切替指示に応答して前記切替元パスに対応する送信部に対して前記最終パケットを出力した後に前記切替パケット生成部により生成された最終切替パケットを出力すると共に、前記切替先パスに対応する送信部に対して前記先頭パケットを出力する前に前記切替パケット生成部により生成された先頭切替パケットを出力するように制御する制御部とを有するようにした。 
【発明の効果】
【００１５】
本願の開示するパケット通信装置の一つの態様では、パス切替が発生したとしても、システム負荷を軽減しながら、受信側でのパケット群の順序性を担保できるという効果を奏する。
【図面の簡単な説明】
【００１６】
【図１】図１は、実施例１のパケット通信装置の内部構成を示すブロック図である。
【図２】図２は、実施例２のＭＰＬＳ通信システムのネットワーク構成を示す説明図である。
【図３】図３は、ＭＰＬＳ通信システムのパケットのフォーマット構成を示す説明図である。
【図４】図４は、実施例２の通信装置の内部構成を示すブロック図である。
【図５】図５は、通信装置ＡのＬＥＲラベルテーブルのテーブル内容の一例を示す説明図である。
【図６】図６は、通信装置ＡのＬＳＰ管理テーブルのテーブル内容の一例を示す説明図である。
【図７】図７は、通信装置ＥのＬＳＲラベルテーブルのテーブル内容の一例を示す説明図である。
【図８】図８は、通信装置ＢのＬＳＲラベルテーブルのテーブル内容の一例を示す説明図である。
【図９】図９は、先頭切替パケット及び最終切替パケットのフォーマット構成の一例を示す説明図である。
【図１０】図１０は、パケット受信時のラベル制御部の処理動作を示すフローチャートである。
【図１１】図１１は、パス切替要求検出時のラベル制御部の処理動作を示すフローチャートである。
【図１２】図１２は、蓄積パケット送信要求検出時のラベル制御部の処理動作を示すフローチャートである。
【図１３】図１３は、パケット受信時の受信パケット判定部の処理動作を示すフローチャートである。
【図１４】図１４は、パス切替要求検出時の切替パケット生成部の処理動作を示すフローチャートである。
【図１５】図１５は、切替パケット種別識別時のパケット蓄積制御部の処理動作を示すフローチャートである。
【図１６】図１６は、通常パケット送信時の通信装置Ａの動作を示す説明図である。
【図１７】図１７は、パス切替要求検出時の通信装置Ａの動作を示す説明図である。
【図１８】図１８は、パス切替要求検出時の通信装置Ａの動作を示す説明図である。
【図１９】図１９は、切替先パス経由で先頭切替パケット中継時の通信装置Ｅの動作を示す説明図である。
【図２０】図２０は、切替先パス経由で先頭切替パケット受信時の通信装置Ｂの動作を示す説明図である。
【図２１】図２１は、切替先パス経由で後続パケット受信時の通信装置Ｂの動作を示す説明図である。
【図２２】図２２は、後続パケット蓄積時の通信装置Ｂの動作を示す説明図である。
【図２３】図２３は、切替元パス経由で最終切替パケット受信時の通信装置Ｂの動作を示す説明図である。
【図２４】図２４は、受信パケット順序整合後の通信装置Ｂの動作を示す説明図である。
【図２５】図２５は、従来のＭＰＬＳ通信システムのネットワーク構成を示す説明図である。
【図２６】図２６は、従来のＭＰＬＳ通信システムのパケット追越防止処理に関わる通信装置の動作を示す説明図である。
【発明を実施するための形態】
【００１７】
以下、図面に基づいて、本願の開示するパケット通信装置、パケット通信システム及びパケット通信方法の実施例を詳細に説明する。尚、本実施例により、開示技術が限定されるものではない。
【実施例１】
【００１８】
図１は、実施例１のパケット通信装置の内部構成を示すブロック図である。図１に示すパケット通信装置１は、複数のパス２を用いて、第１の装置１Ａや第２の装置１Ｂ等を含む他のパケット通信装置１Ｃと通信接続する。パケット通信装置１は、第１の装置１Ａとの間に設定された切替元パス２Ａを介して複数のパケットを送信する途中で所定のパス切替指示を受け付けた場合に、複数のパケットの一部を第２の装置１Ｂとの間に設定された切替先パス２Ｂを用いて送信する。
【００１９】
パケット通信装置１は、切替パケット生成部３、送信部４及び制御部５を有する。切替パケット生成部３は、切替元パス２Ａを用いて送信される最終パケットの送信終了を示す最終切替パケットと、切替先パス２Ｂを用いて送信される先頭パケットの送信開始を示す先頭切替パケットとを生成する。送信部４は、切替元パス２Ａ及び切替先パス２Ｂを含む複数のパス２に対応して夫々設けられ、送信対象となるパケットを順次パス２に送信する。
【００２０】
制御部５は、パス切替指示に応答して切替元パス２Ａに対応する送信部４に対して最終パケットを出力した後に切替パケット生成部３により生成された最終切替パケットを出力するように制御する。更に、制御部５は、切替先パス２Ｂに対応する送信部４に対して先頭パケットを出力する前に切替パケット生成部３により生成された先頭切替パケットを出力するように制御する。
【００２１】
実施例１では、パス切替指示に応答して切替元パス２Ａに対応する送信部４に対して最終パケットを出力した後に最終切替パケットを出力すると共に、切替先パス２Ｂに対応する送信部４に対して先頭パケットを出力する前に先頭切替パケットを出力する。その結果、実施例１では、切替元パス２Ａ経由で受信した最終切替パケット及び切替先パス２Ｂ経由で受信した先頭切替パケットに基づき切替元パス２Ａ経由で受信した複数パケット及び切替先パス２Ｂ経由で受信した複数パケットの順序関係を認識できる。従って、実施例１では、パス切替が発生したとしても、従来技術のパケット毎に送信時刻を格納するようなシステム負荷を必要としない。しかも、受信側のパケット通信装置では、切替元パス２Ａ及び切替先パス２Ｂの別経由で受信したパケット群の順序性を担保できる。
【実施例２】
【００２２】
図２は、実施例２のＭＰＬＳ通信システムのネットワーク構成を示す説明図である。図２に示すＭＰＬＳ通信システム１０は、例えば、Ａ〜Ｈの８個のＭＰＬＳ通信装置(以下、単に通信装置と称する)１１とネットワーク接続している。図２に示す通信装置Ａ及び通信装置Ｄは、ＭＰＬＳ通信システム１０の入口及び出口に配置したＬＥＲ（Label Edge Router）のルータに相当する。通信装置Ｂ，Ｃ，Ｅ，Ｆ，Ｇ，Ｈは、ＬＳＲ（Label Switch Router）のルータに相当する。各通信装置１１は、ＩＰアドレスで識別する。通信装置ＡのＩＰアドレスは、例えば、10.10.12.1に相当し、通信装置ＢのＩＰアドレスは、例えば、10.10.12.2に相当し、通信装置ＥのＩＰアドレスは、例えば、10.10.13.1に相当する。
【００２３】
通信装置１１は、連続するパケットで構成するパケット群をＭＰＬＳ通信システム１０内の他の通信装置１１に送信する。図３は、ＭＰＬＳ通信システム１０のパケットＰのフォーマット構成を示す説明図である。図３に示すパケットＰは、１９２ビット構成のＩＰヘッダ及びデータで構成する。ＩＰヘッダは、バージョン、ヘッダ長、サービスタイプ、パケット長、識別子、フラグ、フラグメントオフセット、ＴＴＬ(Time To Live)，プロトコル、ヘッダチェックサム、送信元ＩＰアドレス、宛先ＩＰアドレス、オプション及びパディングを含む。更に、ＩＰヘッダに３２ビット構成のMPLS Shimヘッダを付加している。MPLS Shimヘッダは、ラベル、ＥＸＰフィールド、Bottom of Stackフィールド及びＴＴＬを含む。尚、ラベルは、パスを識別するラベル番号に相当する。ＴＴＬは、パケットの有効期限に相当し、ルータを通過する度に値を−１減算する。
【００２４】
図２に示す通信装置Ａは、通信装置Ｂ−通信装置Ｃ−通信装置Ｄとのパス１２をワークパスとして設定し、通信装置Ａ−通信装置Ｂ間のパス１２の代わりに通信装置Ａ−通信装置Ｅ−通信装置Ｂ間のパス１２をプロテクションパスとして管理している。尚、通信装置１１間のパス１２を識別するラベル番号は、通信装置Ａ−通信装置Ｂ間のパス１２を＃１００、通信装置Ａ−通信装置Ｅ間のパス１２を＃１０１、通信装置Ｅ−通信装置Ｂ間のパス１２を＃１１０とする。
【００２５】
通信装置１１は、ワークパスやプロテクションパスを使用して連続するパケットを送信する。図４は、実施例２の通信装置１１の内部構成を示すブロック図である。図４に示す通信装置１１は、受信パケット制御部２１、送信パケット制御部２２、コマンド受付部２３、ラベル制御部２４、ラベルテーブル２５及びＬＳＰ管理テーブル２６を有する。更に、通信装置１１は、切替パケット生成部２７、受信パケット判定部２８及びパケット蓄積制御部２９を有する。
【００２６】
受信パケット制御部２１は、パス１２と接続する受信ポートＲに対応して設けている。各受信パケット制御部２１は、受信ポートＲを通じてパケットを順次受信する。送信パケット制御部２２は、パス１２と接続する送信ポートＳに対応して設けている。各送信パケット制御部２２は、送信キュー２２Ａを有し、送信キュー２２Ａ内にキューイングされたパケットを送信ポートＳ対応のパス１２に順次送信する。コマンド受付部２３は、切替元パス１２Ａから切替先パス１２Ｂへ切替えるパス切替指示を検出すると、パス切替要求を切替パケット生成部２７に通知する。
【００２７】
ラベルテーブル２５は、当該通信装置１１がＬＥＲの通信装置Ａ（Ｄ）の場合に、ＬＥＲラベルテーブル２５Ａに相当する。図５は、通信装置ＡのＬＥＲラベルテーブル２５Ａのテーブル内容の一例を示す説明図である。ＬＥＲラベルテーブル２５Ａは、宛先ＩＰアドレス２５１Ａ、送信ポート番号２５２Ａ及び送信ラベル番号２５３Ａを対応付けて管理する。尚、宛先ＩＰアドレス２５１Ａは、通信装置Ａ（Ｂ）からパケット宛先の通信装置１１を識別するＩＰアドレスに相当する。送信ポート番号２５２Ａは、宛先ＩＰアドレス２５１Ａの通信装置１１とのパス１２を設定する際に使用する送信ポートＳのポート番号に相当する。送信ラベル番号２５３Ａは、宛先ＩＰアドレス２５１Ａの通信装置１１と設定するパス１２を識別するラベル番号に相当する。
【００２８】
また、ラベルテーブル２５は、この通信装置１１がＬＳＲの通信装置Ｂ（Ｃ，Ｅ，Ｆ，Ｇ，Ｈ）の場合に、ＬＳＲラベルテーブル２５Ｂに相当する。図７は、通信装置ＥのＬＳＲラベルテーブル２５Ｂのテーブル内容の一例を示す説明図である。図７に示すＬＳＲラベルテーブル２５Ｂは、通信装置Ｅのラベルテーブル２５Ｂに相当し、受信ポート番号２５１Ｂ、受信ラベル番号２５２Ｂ、送信ポート番号２５３Ｂ及び送信ラベル番号２５４Ｂを対応付けて管理する。尚、受信ポート番号２５１Ｂは、当該通信装置Ｅのパス設定に使用する受信ポートＲのポート番号に相当する。受信ラベル番号２５２Ｂは、当該通信装置Ｅの受信ポートＲに使用するパス１２のラベル番号に相当する。送信ポート番号２５３Ｂは、当該通信装置Ｅのパス設定に使用する送信ポートＳのポート番号に相当する。受信ラベル番号２５４Ｂは、当該通信装置Ｅの送信ポートＳに使用するパス１２のラベル番号に相当する。また、図８は、通信装置ＢのＬＳＲラベルテーブル２５Ｂのテーブル内容の一例を示す説明図である。図８に示すＬＳＲラベルテーブル２５Ｂは、通信装置Ｂのラベルテーブルに相当する。
【００２９】
図６は、通信装置ＡのＬＳＰ管理テーブル２６のテーブル内容の一例を示す説明図である。ＬＳＰ管理テーブル２６は、ＬＳＰ番号２６１、送信ポート番号２６２、送信ラベル番号２６３及び宛先ＩＰアドレス２６４を対応付けて管理する。尚、ＬＳＰ番号２６１は、当該通信装置１１が利用可能なパス１２を識別する番号に相当する。送信ポート番号２６２は、パス設定時に使用する送信ポートＳのポート番号に相当する。送信ラベル番号２６３は、パス１２のラベル番号に相当する。
【００３０】
ラベル制御部２４は、蓄積キュー２４Ａ及び送信キュー２４Ｂを有する。蓄積キュー２４Ａは、後述するパケット蓄積開始要求に応じて受信パケットをキューイングする。送信キュー２４Ｂは、送信パケット制御部２２に出力する前に受信パケットをキューイングする。尚、ラベル制御部２４は、蓄積キュー２４Ａ及び送信キュー２４Ｂを使用してパス１２へのパケット送信タイミングを制御する機能を有する。
【００３１】
また、ラベル制御部２４は、受信パケット制御部２１を通じて受信したパケットにMPLS Shimヘッダが付加されているか否かを判定する。ラベル制御部２４は、MPLS Shimヘッダが付加されていない場合に、パケット内の宛先ＩＰアドレス２５１Ａに対応する送信ポート番号２５２Ａ及び送信ラベル番号２５３ＡをＬＥＲラベルテーブル２５Ａから検索する。ラベル制御部２４は、送信ポート番号２５２Ａ及び送信ラベル番号２５３Ａに基づき、送信ラベル番号２５３Ａを含むMPLS Shimヘッダをパケットに付加し、送信ポート番号２５２Ａに対応した送信パケット制御部２２にパケットを転送する。
【００３２】
また、ラベル制御部２４は、受信パケット制御部２１を通じて受信したパケットにMPLS Shimヘッダが付加されている場合に、MPLS Shimヘッダ内のＴＴＬを−１減算する。ラベル制御部２４は、ＴＴＬが“０”の場合、受信ポート番号を受信パケット判定部２８に通知すると共に、当該パケットを受信パケット判定部２８に転送する。また、ラベル制御部２４は、ＴＴＬが“０”以外の場合、パケットの受信ポート番号２５１Ｂ及び受信ラベル番号２５２Ｂに対応する送信ポート番号２５３Ｂ及び送信ラベル番号２５４ＢをＬＳＲラベルテーブル２５Ｂから検索する。ラベル制御部２４は、送信ラベル番号２５４Ｂに基づきMPLS Shimヘッダのラベル番号を変換し、送信ポート番号２５３Ｂに対応した送信パケット制御部２２にパケットを転送する。
【００３３】
また、切替パケット生成部２７は、コマンド受付部２３からのパス切替要求を検出すると、パス切替要求の切替先パス１２Ａのプロテクションパスに関わるＬＳＰ番号を取得する。切替パケット生成部２７は、プロテクションパスのＬＳＰ番号２６１に対応する送信ポート番号２６２、送信ラベル番号２６３及び宛先ＩＰアドレス２６４をＬＳＰ管理テーブル２６から検索する。切替パケット生成部２７は、送信ポート番号２６２、送信ラベル番号２６３及び宛先ＩＰアドレス２６４に基づき、切替先パス１２Ｂ（プロテクションパス）を用いて送信される先頭パケットの送信開始を示す先頭切替パケットＰａを生成する。尚、先頭切替パケットＰａのＴＴＬは、宛先ＩＰアドレスの通信装置１１で“０”となるように設定する。更に、切替パケット生成部２７は、送信ポート番号２６２対応の送信パケット制御部２２内の送信キュー２２Ａに先頭切替パケットＰａをキューイングする。
【００３４】
同時に、切替パケット生成部２７は、パス切替要求を検出すると、パス切替要求の切替元パス１２Ｂのワークパスに関わるＬＳＰ番号を取得する。切替パケット生成部２７は、ワークパスのＬＳＰ番号２６１に対応する送信ポート番号２６２、送信ラベル番号２６３及び宛先ＩＰアドレス２６４をＬＳＰ管理テーブル２６から検索する。切替パケット生成部２７は、送信ポート番号２６２、送信ラベル番号２６３及び宛先ＩＰアドレス２６４に基づき、切替元パス１２Ａ(ワークパス)を用いて送信される最終パケットの送信終了を示す最終切替パケットＰｂを生成する。尚、最終切替パケットＰｂのＴＴＬは、宛先ＩＰアドレスの通信装置１１で“０”となるように設定する。更に、切替パケット生成部２７は、送信ポート番号２６２対応の送信パケット制御部２２内の送信キュー２２Ａに最終切替パケットＰｂをキューイングする。
【００３５】
図９は、先頭切替パケットＰａ及び最終切替パケットＰｂの内容の一例を示す説明図である。先頭切替パケットＰａ及び最終切替パケットＰｂは、MPLS Shimヘッダ内のラベル及びＴＴＬの内容と、ＩＰヘッダ内のプロトコル及び宛先ＩＰアドレスの内容とで通常パケットと区別可能にしている。尚、先頭切替パケットＰａのプロトコルのフィールド値は“２５１”、最終切替パケットＰｂのプロトコルのフィールド値は“２５２”とする。従って、プロトコルフィールド値に基づき、切替パケットの種別を判別できる。
【００３６】
また、受信パケット判定部２８は、受信パケットの宛先ＩＰアドレスが自装置のＩＰアドレスと一致した場合に、受信パケットのパケット種別を判定する。また、受信パケット判定部２８は、受信パケットのパケット種別が切替パケットの場合に、パケット蓄積制御部２９に対して受信ポート番号、受信ラベル番号及び切替パケット種別を通知する。
【００３７】
パケット蓄積制御部２９は、切替パケット種別に基づき、自装置宛の受信パケットが先頭切替パケットＰａ又は最終切替パケットＰｂを識別する。パケット蓄積制御部２９は、受信パケットが先頭切替パケットＰａの場合に、受信ポート番号及び受信ラベル番号が一致する受信パケットの蓄積キュー２４Ａへの蓄積パケット開始要求をラベル制御部２４に通知する。また、パケット蓄積制御部２９は、受信パケットが最終切替パケットＰｂの場合に、蓄積キュー２４Ａに蓄積中のパケットを送信パケット制御部２２へ転送する蓄積パケット送信要求をラベル制御部２４に通知する。
【００３８】
ラベル制御部２４は、パケット蓄積制御部２９から蓄積パケット開始要求を検出すると、受信パケットを蓄積キュー２４Ａに蓄積する。また、ラベル制御部２４は、パケット蓄積制御部２９から蓄積パケット送信要求を検出すると、蓄積キュー２４Ａに蓄積中のパケットを送信パケット制御部２２内の送信キュー２２Ａにキューイングする。
【００３９】
次に、実施例２のＭＰＬＳ通信システム１０の動作について説明する。図１０は、パケット受信時のラベル制御部２４の処理動作を示すフローチャートである。図１０においてラベル制御部２４は、受信パケット制御部２１から受信パケットを取得したか否かを判定する(ステップＳ１１)。ラベル制御部２４は、受信パケットを取得した場合に(ステップＳ１１肯定)、この受信パケットの蓄積キュー２４Ａへのパケット蓄積開始要求があるか否かを判定する(ステップＳ１２)。ラベル制御部２４は、蓄積キュー２４Ａへのパケット蓄積開始要求がある場合に(ステップＳ１２肯定）、受信パケットの受信ポート番号及び受信ラベル番号が蓄積条件に一致したか否かを判定する(ステップＳ１３)。
【００４０】
ラベル制御部２４は、受信パケットの受信ポート番号及び受信ラベル番号が蓄積条件に一致した場合に(ステップＳ１３肯定)、受信パケットを蓄積キュー２４Ａにキューイングし（ステップＳ１４）、図１０に示す処理動作を終了する。
【００４１】
ラベル制御部２４は、蓄積キュー２４Ａへのパケット蓄積開始要求がない場合に(ステップＳ１２否定)、受信パケットを送信キュー２４Ｂにキューイングし(ステップＳ１５)、受信パケットにMPLS Shimヘッダが付加してあるか否かを判定する(ステップＳ１６)。
【００４２】
ラベル制御部２４は、受信パケットにMPLS Shimヘッダが付加していない場合に(ステップＳ１６否定)、受信パケットの宛先ＩＰアドレスに対応する送信ポート番号及び送信ラベル番号をＬＥＲラベルテーブル２５Ａから検索する(ステップＳ１７)。ラベル制御部２４は、検索結果の送信ラベル番号を付したMPLS Shimヘッダを受信パケットに付加する(ステップＳ１８)。更に、ラベル制御部２４は、この受信パケットを検索結果の送信ポート番号に対応した送信ポートＳの送信パケット制御部２２に転送することで(ステップＳ１９)、図１０に示す処理動作を終了する。
【００４３】
また、ラベル制御部２４は、受信パケットにMPLS Shimヘッダが付加してある場合(ステップＳ１６肯定)、MPLS Shimヘッダ内のＴＴＬを−１減算し(ステップＳ２０)、ＴＴＬが“０”であるか否かを判定する(ステップＳ２１)。ラベル制御部２４は、ＴＴＬが“０”の場合に（ステップＳ２１肯定）、受信ポート番号を受信パケット判定部２８に通知すると共に、受信パケットを受信パケット判定部２８に転送し(ステップＳ２２)、図１０に示す処理動作を終了する。
【００４４】
また、ラベル制御部２４は、ＴＴＬが“０”でない場合に（ステップＳ２１否定）、受信パケットの受信ポート番号及び受信ラベル番号に対応する送信ポート番号及び送信ラベル番号をＬＳＲラベルテーブル２５Ｂから検索する(ステップＳ２３）。ラベル制御部２４は、検索結果の送信ラベル番号を付したMPLS Shimヘッダを受信パケットに付加する(ステップＳ２４)。更に、ラベル制御部２４は、この受信パケットを検索結果の送信ポート番号に対応した送信ポートＳの送信パケット制御部２２に転送することで(ステップＳ２５)、図１０に示す処理動作を終了する。
【００４５】
また、ラベル制御部２４は、受信パケット制御部２１から受信パケットを取得しなかった場合に(ステップＳ１１否定)、図１０に示す処理動作を終了する。また、ラベル制御部２４は、受信パケットの受信ポート番号及び受信ラベル番号が蓄積条件に一致しなかった場合に(ステップＳ１３否定)、受信パケットを送信キュー２４Ｂにキューイングすべく、ステップＳ１５に移行する。
【００４６】
図１１は、パス切替要求検出時のラベル制御部２４の処理動作を示すフローチャートである。図１１においてラベル制御部２４は、切替パケット生成部２７からパス切替要求を検出したか否かを判定する(ステップＳ３１)。ラベル制御部２４は、パス切替要求を検出した場合に(ステップＳ３１肯定)、パス切替要求の切替元パス１２ＡのワークパスＬＳＰ番号を取得する。更に、ラベル制御部２４は、ワークパスＬＳＰ番号に対応した切替元パス１２Ａの送信ポート番号及び送信ラベル番号をＬＳＰ管理テーブル２６から検索する(ステップＳ３２)。
【００４７】
ラベル制御部２４は、パス切替要求の切替先パス１２ＢのプロテクションパスＬＳＰ番号を取得する。更に、ラベル制御部２４は、プロテクションパスＬＳＰ番号に対応した切替先パス１２Ｂの送信ポート番号及び送信ラベル番号をＬＳＰ管理テーブル２６から検索する(ステップＳ３３)。更に、ラベル制御部２４は、ラベルテーブル２５内の切替元パス１２Ａの送信ポート番号及び送信ラベル番号を切替先パス１２Ｂの送信ポート番号及び送信ラベル番号に書換更新する(ステップＳ３４)。更に、ラベル制御部２４は、送信キュー２４Ｂへのキューイングがあるか否かを判定する(ステップＳ３５)。ラベル制御部２４は、送信キュー２４Ｂへのキューイングがある場合に(ステップＳ３５肯定）、受信パケットにMPLS Shimヘッダが付加してあるか否かを判定すべく、図１０のＭ１に移行する。
【００４８】
また、ラベル制御部２４は、送信キュー２４Ｂのキューイングがない場合に(ステップＳ３５否定)、図１１に示す処理動作を終了する。また、ラベル制御部２４は、パス切替要求を検出しなかった場合に(ステップＳ３１否定)、図１１に示す処理動作を終了する。
【００４９】
図１２は、パケット送信要求検出時のラベル制御部２４の処理動作を示すフローチャートである。図１２においてラベル制御部２４は、パケット蓄積制御部２９から蓄積パケット送信要求を検出したか否かを判定する(ステップＳ４１)。ラベル制御部２４は、蓄積パケット送信要求を検出した場合に（ステップＳ４１肯定）、蓄積キュー２４ＡにキューイングされたパケットのMPLS ShimヘッダのＴＴＬを−１減算し(ステップＳ４２）、ＴＴＬが“０”であるか否かを判定する(ステップＳ４３)。
【００５０】
ラベル制御部２４は、ＴＴＬが“０”の場合に（ステップＳ４３肯定）、受信ポート番号を受信パケット判定部２８に通知すると共に、受信パケットを受信パケット判定部２８に転送し(ステップＳ４４)、図１２に示す処理動作を終了する。
【００５１】
また、ラベル制御部２４は、ＴＴＬが“０”でない場合に（ステップＳ４３否定）、受信パケットの受信ポート番号及び受信ラベル番号に対応する送信ポート番号及び送信ラベル番号をＬＳＲラベルテーブル２５Ｂから検索する(ステップＳ４５）。ラベル制御部２４は、検索結果の送信ラベル番号を付したMPLS Shimヘッダを受信パケットに付加する(ステップＳ４６)。更に、ラベル制御部２４は、この受信パケットを検索結果の送信ポート番号に対応した送信ポートＳの送信パケット制御部２２に転送することで(ステップＳ４７)、図１２に示す処理動作を終了する。
【００５２】
ラベル制御部２４は、蓄積パケット送信要求を検出しなかった場合に（ステップＳ４１否定）、図１２に示す処理動作を終了する。
【００５３】
図１３は、パケット受信時の受信パケット判定部２８の処理動作を示すフローチャートである。図１３において受信パケット判定部２８は、ラベル制御部２４から受信ポート番号及び受信パケットを取得したか否かを判定する(ステップＳ５１)。受信パケット判定部２８は、受信ポート番号及び受信パケットを取得した場合に(ステップＳ５１肯定)、受信パケットの宛先ＩＰアドレスが自装置のＩＰアドレスであるか否かを判定する(ステップＳ５２）。
【００５４】
受信パケット判定部２８は、受信パケットの宛先ＩＰアドレスが自装置のＩＰアドレスでない場合に(ステップＳ５２否定)、受信パケットを破棄し(ステップＳ５３)、図１３に示す処理動作を終了する。
【００５５】
また、受信パケット判定部２８は、受信パケットの宛先ＩＰアドレスが自装置のＩＰアドレスである場合に(ステップＳ５２肯定)、受信パケットのプロトコルのフィールド値に基づき、受信パケットが切替パケットであるか否かを判定する(ステップＳ５４)。尚、切替パケットは、例えば、先頭切替パケットＰａ及び最終切替パケットＰｂに相当する。更に、受信パケット判定部２８は、受信パケットが切替パケットの場合に(ステップＳ５４肯定)、切替パケット種別、受信ポート番号及び受信ラベル番号をパケット蓄積制御部２９に通知し(ステップＳ５５)、図１３に示す処理動作を終了する。
【００５６】
また、受信パケット判定部２８は、受信パケットが切替パケットでない場合に(ステップＳ５４否定)、受信パケットのプロトコル種別に応じてパケットを処理し(ステップＳ５６)、図１３に示す処理動作を終了する。また、受信パケット判定部２８は、受信ポート番号及び受信パケットを取得しなかった場合に(ステップＳ５１否定)、図１３に示す処理動作を終了する。
【００５７】
図１４は、パス切替要求検出時の切替パケット生成部２７の処理動作を示すフローチャートである。図１４において切替パケット生成部２７は、コマンド受付部２３からパス切替要求を検出したか否かを判定する(ステップＳ６１)。切替パケット生成部２７は、パス切替要求を検出した場合に(ステップＳ６１肯定)、パス切替要求の切替先パス１２ＢのプロテクションパスＬＳＰ番号を取得する。更に、切替パケット生成部２７は、プロテクションパスＬＳＰ番号に対応した切替先パス１２Ｂの送信ポート番号、送信ラベル番号及び宛先ＩＰアドレスをＬＳＰ管理テーブル２６から検索する(ステップＳ６２)。
【００５８】
切替パケット生成部２７は、検索結果に基づき、先頭切替パケットＰａを生成する(ステップＳ６３）。更に、切替パケット生成部２７は、この先頭切替パケットＰａを送信ポート番号対応、すなわち切替先パス１２Ｂ対応の送信パケット制御部２２の送信キュー２２Ａにキューイングする(ステップＳ６４）。
【００５９】
更に、切替パケット生成部２７は、パス切替要求の切替元パス１２ＡのワークパスＬＳＰ番号を取得する。更に、切替パケット生成部２７は、ワークパスＬＳＰ番号に対応した切替元パス１２Ａの送信ポート番号、送信ラベル番号及び宛先ＩＰアドレスをＬＳＰ管理テーブル２６から検索する(ステップＳ６５)。
【００６０】
切替パケット生成部２７は、検索結果に基づき、最終切替パケットＰｂを生成する(ステップＳ６６）。更に、切替パケット生成部２７は、この最終切替パケットＰｂを送信ポート番号対応、すなわち切替元パス１２Ａ対応の送信パケット制御部２２の送信キュー２２Ａにキューイングする(ステップＳ６７）。
【００６１】
そして、切替パケット生成部２７は、パス切替要求をラベル制御部２４に通知し(ステップＳ６８)、図１４に示す処理動作を終了する。また、切替パケット生成部２７は、コマンド受付部２３からパス切替要求を検出しなかった場合に(ステップＳ６１否定)、図１４に示す処理動作を終了する。
【００６２】
図１５は、切替パケット種別識別時のパケット蓄積制御部２９の処理動作を示すフローチャートである。図１５においてパケット蓄積制御部２９は、受信パケット判定部２８から切替パケット種別、受信ポート番号及び受信ラベル番号を取得したか否かを判定する(ステップＳ７１)。
【００６３】
パケット蓄積制御部２９は、切替パケット種別、受信ポート番号及び受信ラベル番号を取得した場合に(ステップＳ７１肯定）、切替パケット種別を識別する(ステップＳ７２)。パケット蓄積制御部２９は、切替パケットが先頭切替パケットＰａの場合に(ステップＳ７２)、パケット蓄積開始要求をラベル制御部２４に通知することで(ステップＳ７３)、図１５に示す処理動作を終了する。
【００６４】
また、パケット蓄積制御部２９は、切替パケットが最終切替パケットＰｂの場合に(ステップＳ７２)、蓄積パケット送信要求をラベル制御部２４に通知することで(ステップＳ７４)、図１５に示す処理動作を終了する。また、パケット蓄積制御部２９は、切替パケット種別、受信ポート番号及び受信ラベル番号を取得しなかった場合に(ステップＳ７１否定）、図１５に示す処理動作を終了する。
【００６５】
次に、ＭＰＬＳ通信システム１０のパス切替要求検出時の通信装置１１の一連の動作について説明する。図１６は、通常パケット送信時の通信装置Ａの動作を示す説明図である。尚、説明の便宜上、通信装置Ａでは、受信ポートＲの受信ポート番号をＲ１、切替元パス１２Ａの通信装置Ｂと接続する送信ポートＳの送信ポート番号をＳ１、切替先パス１２Ｂの通信装置Ｅと接続する送信ポートＳの送信ポート番号をＳ２とする。
【００６６】
図１６に示す通信装置Ａの受信パケット制御部２１は、受信ポートＲ１を通じて宛先ＩＰアドレス：10.10.12.4のパケットＰ１を受信すると、パケットＰ１をラベル制御部２４に転送する。ラベル制御部２４は、図１０の処理動作を実行することになる。つまり、ラベル制御部２４は、蓄積キュー２４Ａへのパケット蓄積開始要求の有無を判定し、パケット蓄積開始要求がないため、パケットＰ１を送信キュー２４Ｂにキューイングし、パケットＰ１にMPLS Shimヘッダが付加されているか否かを判定する。
【００６７】
ラベル制御部２４は、パケットＰ１にMPLS Shimヘッダが付加されていないので、パケットＰ１の宛先ＩＰアドレス：10.10.12.4に対応する送信ポート番号Ｓ１及び送信ラベル番号＃１００を図５（Ａ）のＬＥＲラベルテーブル２５Ａから検索する。ラベル制御部２４は、ラベル番号＃１００及びＴＴＬ：３のMPLS ShimヘッダをパケットＰ１に付加し、このパケットＰ１を送信ポートＳ１対応の送信パケット制御部２２に転送する。送信ポートＳ１対応の送信パケット制御部２２は、パケットＰ１を送信キュー２２Ａ（Ｑ１）にキューイングした後、当該パケットＰ１を切替元パス１２Ａに送信する。
【００６８】
次に、通信装置Ａのパス切替要求検出時の動作について説明する。図１７及び図１８は、パス切替要求検出時の通信装置Ａの動作を示す説明図である。図１７に示す送信ポート番号Ｓ１対応の送信パケット制御部２２の送信キュー２２Ａには、宛先ＩＰアドレス：10.10.12.4のパケットＰ１〜Ｐ８がキューイングした状態である。更に、ラベル制御部２４は、パケットＰ８に後続する宛先ＩＰアドレス：10.10.12.4のパケットＰ９及びＰ１０を送信キュー２２Ａ内にキューイングした状態である。また、パケットＰ１〜Ｐ８には、既にMPLS Shimヘッダが付加されているものとする。これに対して、パケットＰ９及びＰ１０には、MPLS Shimヘッダが付加されていないものとする。更に、コマンド受付部２３は、「ワークパスＬＳＰ番号：１からプロテクションパスＬＳＰ番号：２へ切り替える」というパス切替指示を受け付けたとする。
【００６９】
コマンド受付部２３は、パス切替指示を検出すると、このパス切替指示に対応したパス切替要求を切替パケット生成部２７に通知する。切替パケット生成部２７は、図１４の処理動作を実行する。つまり、切替パケット生成部２７は、プロテクションパスＬＳＰ番号：２に対応する送信ポート番号Ｓ２、送信ラベル番号＃１０１及び宛先ＩＰアドレス：10.10.12.2を図６のＬＳＰ管理テーブル２６から検索する。更に、切替パケット生成部２７は、これら送信ポート番号Ｓ２、送信ラベル番号＃１０１及び宛先ＩＰアドレス：10.10.12.2に基づき、図９に示す先頭切替パケットＰａを生成する。更に、切替パケット生成部２７は、先頭切替パケットＰａを送信ポートＳ２対応の送信パケット制御部２２の送信キュー２２Ａ（Ｑ２）にキューイングする。尚、切替先パス１２Ｂの送信ポートＳ２対応の送信キュー２２Ａ（Ｑ２）は、切替先パス１２Ｂを用いて送信される先頭パケット、すなわちパケットＰ９の送信開始を示す先頭切替パケットＰａを挿入したことになる。
【００７０】
更に、切替パケット生成部２７は、ワークパスＬＳＰ番号：１に対応する送信ポート番号Ｓ１、送信ラベル番号＃１００及び宛先ＩＰアドレス：10.10.12.2を図６のＬＳＰ管理テーブル２６から検索する。更に、切替パケット生成部２７は、これら送信ポート番号Ｓ１、送信ラベル番号＃１００及び宛先ＩＰアドレス：10.10.12.2に基づき、図９に示す最終切替パケットＰｂを生成する。更に、切替パケット生成部２７は、最終切替パケットＰｂを送信ポートＳ１対応の送信パケット制御部２２の送信キュー２２Ａ（Ｑ１）にキューイングする。尚、切替元パス１２Ａの送信ポートＳ１対応の送信キュー２２Ａ（Ｑ１）は、切替元パス１２Ａを用いて送信される最終パケット、すなわちパケットＰ８の送信終了を示す最終切替パケットＰｂを挿入したことになる。
【００７１】
また、切替パケット生成部２７は、パス切替要求をラベル制御部２４に通知する。ラベル制御部２４は、パス切替要求を検出すると、図１１に示す処理動作を実行する。つまり、ラベル制御部２４は、ワークパスＬＳＰ番号：１に対応する送信ポート番号Ｓ１及び送信ラベル番号＃１００をＬＳＰ管理テーブル２６から検索する。更に、ラベル制御部２４は、送信ポート番号Ｓ１及び送信ラベル番号＃１００に一致するデータを図５（Ａ）のＬＥＲラベルテーブル２５Ａから検索する。更に、ラベル制御部２４は、ＬＥＲラベルテーブル２５Ａ内の検索したデータを、図５（Ｂ）に示すように、プロテクションパスＬＳＰ番号：２の送信ポート番号Ｓ２及び送信ラベル番号＃１０１に書換更新する。
【００７２】
その後、図１８に示すラベル制御部２４は、送信キュー２４ＢにキューイングされているパケットＰ９及びＰ１０にMPLS Shimヘッダを付加し、送信ポート番号Ｓ２対応の送信パケット制御部２２の送信キュー２２Ａ（Ｑ２）にキューイングする。尚、MPLS Shimヘッダを付加する処理はパケットＰ１と同様だが、ＬＥＲラベルテーブル２５Ａは更新されているため、送信ポート番号Ｓ２、送信ラベル番号＃１０１、ＴＴＬ：４である点で異なる。
【００７３】
図１８に示す各送信パケット制御部２２は、送信キュー２２Ａにキューイングされているパケットを順次送信する。この際、ラベル制御部２４は、パス切替要求を検出した場合、送信キュー２２Ａ（Ｑ２）内の先頭切替パケットＰａ、パケットＰ９及びＰ１０を、送信キュー２２Ａ（Ｑ１）内のパケットＰ１〜Ｐ８及び最終切替パケットＰｂよりも先に送信する。その結果、切替元パス１２Ａから切替先パス１２Ｂに切替えたことで切替先パス１２Ｂ経由で送信するパケット遅延を確実に防止できる。
【００７４】
尚、通信装置Ａは、プロテクションパス(切替先パス１２Ｂ)経由のパケットＰ９及びＰ１０がワークパス(切替元パス１２Ａ)経由のパケットＰ１〜Ｐ８よりも先に送信されることになる。しかしながら、受信側通信装置Ｂは、先頭切替パケットＰａ及び最終切替パケットＰｂに基づき、パケットＰ１〜Ｐ１０のパケット群の順序を判断でき、送信パケットの順序性を担保できる。
【００７５】
次に、切替先パス１２Ｂ経由でパケットを中継する通信装置Ｅの動作について説明する。図１９は、プロテクションパス経由で先頭切替パケット中継時の通信装置Ｅの動作を示す説明図である。尚、説明の便宜上、通信装置Ｅでは、通信装置Ａと接続する受信ポートＲの受信ポート番号をＲ１、通信装置Ｂと接続する送信ポートＳの送信ポート番号をＳ１、通信装置Ｆと接続する送信ポートＳの送信ポート番号をＳ２とする。
【００７６】
図１９に示す通信装置Ｅの受信パケット制御部２１は、受信ポートＲ１を通じて通信装置ＡからMPLS Shimヘッダのラベル番号＃１０１、ＴＴＬ：２、ＩＰヘッダのプロトコル番号：２５１、宛先ＩＰアドレス：10.10.12.2の先頭切替パケットＰａを受信する。受信パケット制御部２１は、先頭切替パケットＰaをラベル制御部２４に転送する。ラベル制御部２４は、図１０の処理動作を実行することになる。つまり、ラベル制御部２４は、蓄積キュー２４Ａへのパケット蓄積開始要求の有無を判定し、パケット蓄積開始要求がないため、先頭切替パケットＰａを送信キュー２４Ｂにキューイングする。更に、ラベル制御部２４は、先頭切替パケットＰａにMPLS Shimヘッダが付加されているか否かを判定する。
【００７７】
ラベル制御部２４は、先頭切替パケットＰａにMPLS Shimヘッダが付加されているので、MPLS ShimヘッダのＴＴＬを−１減算する。その結果、ラベル制御部２４は、ＴＴＬが“１”となるので、先頭切替パケットＰａの受信ポート番号Ｒ１及び受信ラベル番号＃１０１に対応する送信ポート番号Ｓ１及び送信ラベル番号＃１１０を図７に示すＬＳＲラベルテーブル２５Ｂから検索する。更に、ラベル制御部２４は、先頭切替パケットＰａのMPLS Shimヘッダのラベル番号を送信ラベル番号＃１１０に変換し、この先頭切替パケットＰａを送信ポートＳ１対応の送信パケット制御部２２に転送する。送信ポートＳ１対応の送信パケット制御部２２は、先頭切替パケットＰａを送信キュー２２Ａ（Ｑ１）にキューイングした後、当該先頭切替パケットＰａを通信装置Ｂに送信する。尚、ラベル制御部２４は、先頭切替パケットＰａに後続する、通信装置Ａから順次受信するパケットＰ９及びＰ１０に関しても同様の処理を実行する。その結果、ラベル制御部２４は、MPLS Shimヘッダのラベル番号＃１１０及びＴＴＬ：３の状態でパケットＰ９及びＰ１０を送信キュー２２Ａ（Ｑ１）にキューイングした後、パケットＰ９及びＰ１０を通信装置Ｂに順次送信する。
【００７８】
次に、通信装置Ｂの動作について説明する。図２０は、切替先パス１２Ｂ経由で先頭切替パケット受信時の通信装置Ｂの動作を示す説明図である。尚、説明の便宜上、通信装置Ｂでは、通信装置Ａと接続する受信ポートＲの受信ポート番号をＲ１、通信装置Ｅと接続する受信ポートＲの受信ポート番号をＲ２、通信装置Ｆと接続する受信ポートＲの受信ポート番号をＲ３とする。更に、通信装置Ｂは、通信装置Ｃと接続する送信ポートＳの送信ポート番号をＳ１、通信装置Ｇと接続する送信ポートＳの送信ポート番号をＳ２とする。
【００７９】
通信装置Ｂは、通信装置Ｅから先頭切替パケットＰａ、パケットＰ９及びＰ１０をラベル番号＃１１０で順次受信し、通信装置ＡからパケットＰ１〜Ｐ８及び最終切替パケットＰｂをラベル番号＃１００で順次受信する。また、ここでは、通信装置Ｂは、先頭切替パケットＰａ、パケットＰ９、Ｐ１０、パケットＰ１〜Ｐ８、最終切替パケットＰｂの順にパケットを受信した場合を想定する。
【００８０】
図２０に示す通信装置Ｂ内の受信ポートＲ２対応の受信パケット制御部２１は、ラベル番号＃１１０、ＴＴＬ：１、プロトコル番号：２５１、宛先ＩＰアドレス：10.10.12.2の先頭切替パケットＰａを受信する。受信パケット制御部２１は、先頭切替パケットＰａを受信すると、この先頭切替パケットＰａをラベル制御部２４に転送する。ラベル制御部２４は、図１０の処理動作を実行する。つまり、ラベル制御部２４は、蓄積キュー２４Ａへのパケット蓄積開始要求の有無を判定し、パケット蓄積開始要求がないため、先頭切替パケットＰａを送信キュー２４Ｂにキューイングする。
【００８１】
更に、ラベル制御部２４は、先頭切替パケットＰａにMPLS Shimヘッダが付加されているか否かを判定する。ラベル制御部２４は、先頭切替パケットＰａにMPLS Shimヘッダが付加されているため、MPLS Shim ヘッダのＴＴＬを−１減算する。その結果、ラベル制御部２４は、ＴＴＬが“０”となるため、受信ポート番号Ｒ２を受信パケット判定部２８に通知すると共に、先頭切替パケットＰａを受信パケット判定部２８に転送する。
【００８２】
受信パケット判定部２８は、先頭切替パケットＰａを受信すると、図１３の処理動作を実行する。つまり、受信パケット判定部２８は、先頭切替パケットＰａの宛先ＩＰアドレスが自装置(通信装置Ｂ)のＩＰアドレス：10.10.12.2と合致するか否かを判定する。その結果、受信パケット判定部２８は、先頭切替パケットＰａの宛先ＩＰアドレスが自装置(通信装置Ｂ)のＩＰアドレスと合致するので、先頭切替パケットＰａのＩＰヘッダのプロトコルのフィールド値(プロコトル番号)を判定する。
【００８３】
更に、受信パケット判定部２８は、その判定結果に基づき、プロトコル番号が“２５１”であるので、切替パケットと認識する。そして、受信パケット判定部２８は、この認識結果に基づき、先頭切替パケットＰａの受信ポート番号Ｒ２、受信ラベル番号＃１１０及び切替パケット種別：先頭切替パケットをパケット蓄積制御部２９に通知する。
【００８４】
パケット蓄積制御部２９は、受信パケット判定部２８の通知結果に基づき、図１５に示す処理動作を実行する。つまり、パケット蓄積制御部２９は、受信パケット判定部２８の通知結果に基づき、切替パケット種別を判定する。その結果、パケット蓄積制御部２９は、切替パケット種別の判定結果に基づき、切替パケット種別が先頭切替パケットであるので、受信ポート番号Ｒ２、受信ラベル番号＃１１０のパケットのパケット蓄積開始要求をラベル制御部２４に通知する。
【００８５】
ラベル制御部２４は、パケット蓄積開始要求を検出すると、先頭切替パケットＰａ以降のパケットＰ９及びＰ１０を判定する。更に、ラベル制御部２４は、その判定結果に基づき、先頭切替パケットＰａと同一の受信ポート番号Ｒ２及び受信ラベル番号＃１１０のパケットの蓄積キュー２４Ａへのキューイングを開始する。
【００８６】
図２１は、切替先パス１２Ｂ経由で後続パケット受信時の通信装置Ｂの動作を示す説明図である。受信ポートＲ２の受信パケット制御部２１は、通信装置ＥからパケットＰ９を受信すると、このパケットＰ９をラベル制御部２４に転送する。ラベル制御部２４は、図１０の処理動作を実行する。つまり、ラベル制御部２４は、蓄積キュー２４Ａへのパケット蓄積開始要求の有無を判定し、パケット蓄積開始要求があるため、パケットＰ９の受信ポート番号及び受信ラベル番号を判定する。
【００８７】
ラベル制御部２４は、判定結果に基づき、パケットＰ９の受信ポート番号Ｒ２及び受信ラベル番号＃１１０と判断すると、蓄積キュー２４Ａにキューイングするパケット条件と一致するため、パケットＰ９を蓄積キュー２４Ａにキューイングする。尚、ラベル制御部２４は、後続のパケットＰ１０についてもパケットＰ９と同様の処理動作を実行することで、蓄積キュー２４Ａにキューイングする。
【００８８】
次に、通信装置ＡからパケットＰ１を受信した場合の通信装置Ｂの動作について説明する。図２２は、後続パケット蓄積時の通信装置Ｂの動作を示す説明図である。図２２に示す受信ポートＲ１対応の受信パケット制御部２１は、通信装置Ａからラベル番号＃１００及びＴＴＬ:３のパケットＰ１を受信すると、このパケットＰ１をラベル制御部２４に転送する。ラベル制御部２４は、図１０の処理動作を実行する。つまり、ラベル制御部２４は、蓄積キュー２４Ａへのパケット蓄積開始要求の有無を判定し、パケット蓄積開始要求があるため、パケットＰ１の受信ポート番号及び受信ラベル番号を判定する。
【００８９】
ラベル制御部２４は、判定結果に基づき、パケットＰ１の受信ポート番号Ｒ１及び受信ラベル番号＃１００と判断すると、蓄積キュー２４Ａにキューイングするパケット条件と一致しないため、パケットＰ１を送信キュー２４Ｂにキューイングする。
【００９０】
更に、ラベル制御部２４は、パケットＰ１を送信キュー２４Ｂにキューイングした後、パケットＰ１の受信ポート番号及び受信ラベル番号に対応した送信ポート番号Ｓ１及び送信ラベル番号＃２００をＬＳＲラベルテーブル２５Ｂから検索する。ラベル制御部２４は、パケットＰ１のMPLS Shimヘッダのラベルを送信ラベル番号＃２００に変換し、送信ポート番号Ｓ１に対応した送信パケット制御部２２内の送信キュー２２Ａ（Ｑ１）にパケットＰ１をキューイングする。尚、ラベル制御部２４は、後続のパケット群のパケットＰ２〜Ｐ８についてもパケットＰ１と同様の処理動作を実行することで、送信キュー２２Ａ（Ｑ１）に順次キューイングする。
【００９１】
次に、通信装置ＡからパケットＰ８に後続する最終切替パケットＰｂを受信した通信装置Ｂの動作について説明する。図２３は、切替元パス１２Ａ経由で最終切替パケット受信時の通信装置Ｂの動作を示す説明図である。図２３に示す受信ポートＲ１対応の受信パケット制御部２１は、通信装置Ａからラベル番号＃１００、ＴＴＬ:１、プロトコル番号：２５２及び宛先ＩＰアドレス：10.10.12.2の最終切替パケットＰｂを受信する。受信パケット制御部２１は、最終切替パケットＰｂを受信すると、この最終切替パケットＰｂをラベル制御部２４に転送する。ラベル制御部２４は、図１０の処理動作を実行する。つまり、ラベル制御部２４は、蓄積キュー２４Ａへのパケット蓄積開始要求の有無を判定し、パケット蓄積開始要求があるため、最終切替パケットＰｂの受信ポート番号及び受信ラベル番号を判定する。
【００９２】
ラベル制御部２４は、判定結果に基づき、最終切替パケットＰｂの受信ポート番号Ｒ１及び受信ラベル番号＃１００と判断すると、蓄積キュー２４Ａにキューイングするパケット条件と一致しない。その結果、ラベル制御部２４は、最終切替パケットＰｂを送信キュー２４Ｂにキューイングする。更に、ラベル制御部２４は、最終切替パケットＰｂにMPLS Shimヘッダが付加されているか否かを判定する。ラベル制御部２４は、MPLS Shimヘッダが付加されているため、MPLS ShimヘッダのＴＴＬを−１減算する。その結果、ラベル制御部２４は、ＴＴＬが“０”となるため、受信ポート番号Ｒ１を受信パケット判定部２８に通知すると共に、最終切替パケットＰｂを受信パケット判定部２８に転送する。
【００９３】
受信パケット判定部２８は、最終切替パケットＰｂを受信すると、図１３の処理動作を実行する。つまり、受信パケット判定部２８は、最終切替パケットＰｂの宛先ＩＰアドレスが自装置(通信装置Ｂ)のＩＰアドレス：10.10.12.2と合致するか否かを判定する。その結果、受信パケット判定部２８は、最終切替パケットＰｂの宛先ＩＰアドレスが自装置(通信装置Ｂ)のＩＰアドレスと合致するので、最終切替パケットＰｂのＩＰヘッダのプロトコルのフィールド値を判定する。更に、受信パケット判定部２８は、その判定結果に基づき、プロトコル番号が“２５２”であるので、切替パケットと認識する。そして、受信パケット判定部２８は、この認識結果に基づき、最終切替パケットＰｂの受信ポート番号Ｒ１、受信ラベル番号＃１００及び切替パケット種別：最終切替パケットをパケット蓄積制御部２９に通知する。
【００９４】
パケット蓄積制御部２９は、受信パケット判定部２８の通知結果に基づき、図１５に示す処理動作を実行する。つまり、パケット蓄積制御部２９は、受信パケット判定部２８の通知結果に基づき、切替パケット種別を判定する。その結果、パケット蓄積制御部２９は、切替パケット種別の判定結果に基づき、切替パケット種別が最終切替パケットＰｂなので、蓄積キュー２４ＡにキューイングされたパケットＰ９及びＰ１０に対する蓄積パケット送信要求をラベル制御部２４に通知する。
【００９５】
ラベル制御部２４は、蓄積パケット送信要求を検出すると、図１２の処理動作を実行する。つまり、ラベル制御部２４は、蓄積キュー２４ＡにキューイングされたパケットＰ９のMPLS ShimヘッダのＴＴＬを−１減算する。その結果、ラベル制御部２４は、ＴＴＬが“２”となるので、パケットＰ９の受信ポート番号Ｒ２及び受信ラベル番号＃１１０に対応した送信ポート番号Ｓ１及び送信ラベル番号＃２００を図７に示すＬＳＲラベルテーブル２５Ｂから検索する。
【００９６】
更に、ラベル制御部２４は、パケットＰ９のMPLS Shimヘッダのラベル番号を送信ラベル番号＃２００に変換し、このパケットＰ９を送信ポートＳ１対応の送信パケット制御部２２に転送する。送信ポートＳ１対応の送信パケット制御部２２は、パケットＰ９を送信キュー２２Ａ（Ｑ１）にキューイングする。尚、ラベル制御部２４は、後続のパケットＰ１０に関しても同様の処理を実行する。その結果、ラベル制御部２４は、パケットＰ１０を送信キュー２２Ａ（Ｑ１）にキューイングする。
【００９７】
その結果、送信パケット制御部２２内の送信キュー２２Ａ（Ｑ１）は、図２４に示すように、パケットＰ１〜Ｐ１０の順にパケットを順次送信することになる。つまり、通信装置Ｂは、通信装置Ａのパケット送信中にパス切替要求を検出したとしても、パケット群の順序性を担保できる。
【００９８】
実施例２では、パス切替要求を検出すると、切替元パス１２Ａに対応する送信キュー２２Ａ（Ｑ１）に対して最終パケットを出力した後に最終切替パケットＰｂをキューイングする。更に、実施例２では、切替先パス１２Ｂに対応する送信キュー２２Ｂ（Ｑ２）に対して先頭パケットを出力する前に先頭切替パケットＰａをキューイングする。その結果、実施例２では、最終切替パケットＰｂ及び先頭切替パケットＰａに基づき、切替元パス１２Ａ経由で受信した先行パケット群（Ｐ１〜Ｐ８）及び切替先パス１２Ｂ経由で受信した後続パケット群（Ｐ９，Ｐ１０）の順序関係を認識できる。従って、受信側の通信装置１１では、パス切替が発生したとしても、従来技術のパケット毎に送信時刻を格納するようなシステム負荷を必要としない。しかも、受信側の通信装置１１では、切替元パス１２Ａ及び切替先パス１２Ｂの別経由で受信したパケット群の順序性を担保できる。
【００９９】
実施例２では、切替先パス１２Ｂ経由で先頭切替パケットＰａを受信した場合に、パケット蓄積開始要求に応じて、切替先パス１２Ｂ経由で受信した先頭切替パケットＰａ以降のパケット群のパケットＰ９，Ｐ１０を蓄積キュー２４Ａに順次蓄積する。更に、実施例２では、切替元パス１２Ａ経由で最終切替パケットＰｂを受信した場合に、蓄積パケット送信要求に応じて、蓄積キュー２４Ａに蓄積中のパケット群のパケットＰ９及びＰ１０を読み出す。更に、実施例２では、これら読み出したパケットＰ９及びＰ１０を切替元パス１２Ａ経由で受信したパケット群Ｐ１〜Ｐ８の最終パケットＰ８の後に続けることで、パケット群をＰ１〜Ｐ１０の順序に整えることができる。その結果、受信側の通信装置１１では、システム負荷を軽減しながら、切替元パス１２Ａ及び切替先パス１２Ｂの別経由で受信したパケット群Ｐ１〜Ｐ１０の順序性を担保できる。
【０１００】
実施例２では、送信パケット制御部２２の前段に受信パケットをキューイングする送信キュー２４Ｂをラベル制御部２４内に設けた。更に、実施例２では、パス切替要求を検出した場合に、切替先パス１２Ｂに対応する送信パケット制御部２２に対して送信キュー２４Ｂにキューイング中のパケットを転送出力する。更に、実施例２では、切替元パス１２Ａに対応する送信パケット制御部２２にキューイング中のパケットの送信に優先して、切替先パス１２Ｂに対応する送信パケット制御部２２にキューイング中のパケットの送信を実行させる。その結果、実施例２では、切替元パス１２Ａに比較して切替先パス１２Ｂのパケット伝送遅延が大きくても、切替先パス１２Ｂへのパケットを優先に送信したので、切替元パス１２Ａ及び切替先パス１２Ｂ間での受信パケットの伝送遅延を抑制できる。
【０１０１】
尚、上記実施例２では、ＬＥＲの通信装置ＡからＬＳＲの通信装置Ｂへパケットを送信する場合について説明した。しかしながら、例えば、ＬＳＲの通信装置１１からＬＳＲの通信装置１１へパケットを送信する場合や、例えば、ＬＳＲの通信装置１１からＬＥＲの通信装置１１へパケットを送信する場合にも適用可能である。
【０１０２】
また、上記実施例２では、切替パケットの種別を判別するのにＩＰヘッダのプロトコルフィールド値を使用したが、他のフィールドを使用しても良い。
【０１０３】
また、上記実施例２では、ラベル制御部２４、切替パケット生成部２７、受信パケット判定部２８及びパケット蓄積判定部２９等をハードウェア構成で説明したが、これら各部位をソフトウェアで構成するようにしても良い。
【０１０４】
また、上記実施例２では、例えば、切替元パス１２Ａ及び切替先パス１２Ｂを用いて通信装置Ａから通信装置Ｂへパケット群を送信した場合に、切替先パス１２Ｂ上でパケットを中継する通信装置Ｅも本願発明の通信装置１１を採用した。しかしながら、パケットを中継する通信装置Ｅについては本願発明の通信装置１１を採用せず、従来の通信装置を採用しても良い。
【０１０５】
また、図示した各部の各構成要素は、必ずしも物理的に図示の如く構成されていることを要しない。すなわち、各部の分散・統合の具体的形態は図示のものに限られず、その全部又は一部を、各種の負荷や使用状況等に応じて、任意の単位で機能的又は物理的に分散・統合して構成することができる。例えば、受信パケット判定部２８、パケット蓄積判定部２９及び切替パケット生成部２７等の処理機能をラベル制御部２４に統合しても良い。更に、ラベル制御部２４内部の蓄積キュー２４Ａや送信キュー２４Ｂ等の処理機能を分散しても良い。
【符号の説明】
【０１０６】
１  パケット通信装置
１Ａ  第１の装置
１Ｂ  第２の装置
２  パス
２Ａ  切替元パス
２Ｂ  切替先パス
３  切替パケット生成部
４  送信部
５  制御部
１０  ＭＰＬＳ通信システム
１１  ＭＰＬＳ通信装置
１２  パス
１２Ａ  切替元パス
１２Ｂ  切替先パス
２２  送信パケット制御部
２４  ラベル制御部
２４Ａ  蓄積キュー
２４Ｂ  送信キュー
【図１】
0005445184.tif 000002
【図２】
0005445184.tif 000003
【図３】
0005445184.tif 000004
【図４】
0005445184.tif 000005
【図５】
0005445184.tif 000006
【図６】
0005445184.tif 000007
【図７】
0005445184.tif 000008
【図８】
0005445184.tif 000009
【図９】
0005445184.tif 000010
【図１０】
0005445184.tif 000011
【図１１】
0005445184.tif 000012
【図１２】
0005445184.tif 000013
【図１３】
0005445184.tif 000014
【図１４】
0005445184.tif 000015
【図１５】
0005445184.tif 000016
【図１６】
0005445184.tif 000017
【図１７】
0005445184.tif 000018
【図１８】
0005445184.tif 000019
【図１９】
0005445184.tif 000020
【図２０】
0005445184.tif 000021
【図２１】
0005445184.tif 000022
【図２２】
0005445184.tif 000023
【図２３】
0005445184.tif 000024
【図２４】
0005445184.tif 000025
【図２５】
0005445184.tif 000026
【図２６】
0005445184.tif 000027