(第1実施形態)
本発明の第1実施形態を図1〜図6を用いて説明する。
図1は、本発明の第1実施形態の通信システムの構成の説明図である。
本実施形態の通信システムは、MPLS(IP/MPLS)を用いたMPLS通信網(第1通信網)100A及び100B(以下、総称してMPLS通信網100という)を構成するルータ(転送装置)101A及び101B(以下、総称してルータ101という)と、MPLS−TPを用いたMPLS−TP通信網(第2通信網)200を構成するパケットトランスポート装置(伝送装置)201A及び201B(以下、総称してパケットトランスポート装置201)と、を備える。
MPLS−TP通信網200は、MPLS通信網100A及び100Bの間に位置する。パケットトランスポート装置201A及びルータ101Aは、MPLS−TP通信網200とMPLS通信網100Aの間の境界に位置し、パケットトランスポート装置201A及びルータ101Aは互いに接続される。同様に、パケットトランスポート装置201B及びルータ101Bは、MPLS−TP通信網200とMPLS通信網100Bの間の境界に位置し、パケットトランスポート装置201B及びルータ101Bは互いに接続される。
図2は、本発明の第1実施形態のパケットトランスポート装置201の構成の説明図である。
パケットトランスポート装置201は、入力インタフェース202、MAC解析部203、IP解析部204、パス対応MAC学習テーブル205、MPLS解析部206、MPLS転送テーブル207、MPLS付与部208、MPLS転送部209、MAC付与部210、及び出力インタフェース211を備える。
入力インタフェース202は、パケットトランスポート装置201をMPLS通信網100に接続する図示しないインタフェース及びMPLS−TP通信網200に接続する図示しないインタフェースを含む。
MAC解析部203は、入力インタフェース202が受信したフレームに含まれるMACヘッダを解析し、受信したフレームがIPフレームであるかMPLSフレームであるかを判定する。
受信したフレームがIPフレームであるとMAC解析部203によって判定された場合、MAC解析部203は、受信したIPフレームをIP解析部204に渡す。IP解析部204は、MAC解析部203から渡されたフレームを解析し、解析結果に基づいてパス対応MAC学習テーブル205を更新し、当該IPフレームを送信するインタフェースを決定する。また、IP解析部204は、受信したIPフレームをMPLS付与部208に渡す。MPLS付与部208は、IP解析部204から渡されたIPフレームをMPLS−TPで用いるフォーマットでカプセル化し、カプセル化されたMPLSフレームをMAC付与部210に渡す。MAC付与部210は、IP解析部203の解析結果に基づいてMACヘッダを付与し、IP解析部203によって決定された出力インタフェース211から送信する。
パス対応MAC学習テーブル205は、入力されたMPLSフレームのMPLSラベルと、当該MPLSフレームを出力する場合に使用するMPLSラベルと、当該MPLSフレームを出力する場合に使用する宛先MACアドレスと、対向装置にMPLSフレームを送信する場合にMPLSラベルスイッチの実施が可能か否かを示すラベルスイッチ可否フラグと、を対応付けて保持するテーブルであり、詳細は図3で説明する。
なお、対向装置とは、図4で詳細を説明するが、ルータ101Aからルータ101Bにフレームを送信する場合、宛先となるルータ101Bに接続されたパケットトランスポート装置201Bがパケットトランスポート装置201Aの対向装置となる。
受信したフレームがMPLSフレームであるとMAC解析部203によって判定された場合、MAC解析部203は、受信したMPLSフレームをMPLS解析部206に渡す。MPLS解析部206は、MAC解析部203から渡されたMPLSフレームを解析し、MPLS転送テーブル207を参照し、受信したMPLSフレームに含まれるMPLSラベル(入力ラベル)に対応するMPLSラベル(出力ラベル)、及び当該MPLSフレームを送信するインタフェースを決定する。また、MPLS解析部206は、パス対応MAC学習テーブル205を参照し、受信したMPLSフレームを送信する場合にMPLSラベルスイッチの実施が可能か否かを判定し、当該MPLSフレームを送信する場合に用いる宛先MACアドレスを決定する。
MPLS転送テーブル207は、入力ラベルと、出力ラベルと、当該MPLSフレームを送信するインタフェースと、を対応付けて保持するテーブルである。
MPLS解析部206は、受信したMPLSフレームを送信する場合にMPLSラベルスイッチの実施が可能でないと判定した場合、受信したMPLSフレームをMPLS付与部208に渡す。MPLS付与部208は、MPLS解析部206から渡されたMPLSフレームをMPLS−TPで用いるフォーマットでカプセル化し、カプセル化されたMPLSフレームをMAC付与部210に渡す。MAC付与部210は、MPLS解析部206によって決定された宛先MACアドレスを含むMACヘッダを付与し、MPLS解析部206によって決定された出力インタフェース211から送信する。
一方、MPLS解析部206は、受信したMPLSフレームを送信する場合にMPLSラベルスイッチの実施が可能であると判定した場合、受信したMPLSフレームをMPLS転送部209に渡す。MPLS転送部209は、MPLS解析部206から渡されたMPLSフレームのMPLSラベル(入力ラベル)をMPLS解析部206によって決定されたMPLSラベル(出力ラベル)に変換し、ラベル変換されたMPLSフレームをMAC付与部210に渡す。MAC付与部210は、MPLS解析部206によって決定された宛先MACアドレスを含むMACヘッダを付与し、MPLS解析部206によって決定された出力インタフェース211からを送信する。このように、受信したMPLSフレームに付与されたMPLSラベル(入力ラベル)に基づくデータの送信方法をMPLSラベルスイッチという。
図3は、本発明の第1実施形態のパス対応MAC学習テーブル205の説明図である。
パス対応MAC学習テーブル205は、MPLS入力ラベル301、MPLS出力ラベル302、宛先MACアドレス303、MACアドレス有効時間304、ラベルスイッチ可否フラグ305、及びフラグ有効時間306を含む。
パス対応MAC学習テーブル205は、パケットトランスポート装置201が受信したフレームに基づいて更新される。パス対応MAC学習テーブル205の更新処理については、図4で詳細を説明する。
MPLS入力ラベル301には、パケットトランスポート装置201が受信するMPLSフレームに付与されたMPLSラベル(入力ラベル)が登録される。MPLS出力ラベル302には、パケットトランスポート装置201が受信したMPLSフレームを送信する場合に付与するMPLSラベル(出力ラベル)が登録される。宛先MACアドレス303には、パケットトランスポート装置201が受信したMPLSフレームを送信する場合に用いる宛先MACアドレスが登録される。
MACアドレス有効時間304には、宛先MACアドレス303に登録されたMACアドレスを削除するまでの時間が登録される。このMACアドレス有効時間304に登録された時間は、MPLS入力ラベル301に登録されたMPLSラベルが付与されたMPLSフレームを受信すると予め設定された所定の時間に更新される。すなわち、宛先MACアドレス303に登録されたMACアドレスは、MACアドレス有効時間304に登録された時間連続してMPLS入力ラベル301に登録されたMPLSラベルが付与されたMPLSフレームを受信しなければ、削除される。
ラベルスイッチ可否フラグ305には、MPLSフレームを対向装置に送信する場合にMPLSラベルスイッチの実施が可能か否かを示すフラグが登録される。具体的には、ラベルスイッチ可否フラグ305に「T」が登録されている場合、対向装置にMPLSラベルスイッチ可能であることを示し、当該状態を示すフラグを有効という。一方、ラベルスイッチ可否フラグ305に「F」が登録されている場合、対向装置にMPLSラベルスイッチ可能でないことを示し、当該状態を示すフラグを無効という。
フラグ有効時間306には、ラベルスイッチ可否フラグ305に登録されたフラグを無効に設定するまでの時間が登録される。このフラグ有効時間306に登録された時間は、MPLS入力ラベル301に登録されたMPLSラベルが付与されたMPLSフレームを受信すると予め設定された所定の時間に更新される。すなわち、ラベルスイッチ可否フラグ305に登録された有効は、フラグ有効時間306に登録された時間連続してMPLS入力ラベル301に登録されたMPLSラベルが付与されたMPLSフレームを受信しなければ、無効に設定される。
図4は、本発明の第1実施形態の宛先MACアドレス学習処理のシーケンス図である。
図4では、ルータ101Aがルータ101Bにパスを確立して、データを送信する場合の宛先MACアドレス学習処理を示す。この場合、データの送信先のルータ101Bに接続されるパケットトランスポート装置201Bは、データの送信元のルータ101Aに接続されるパケットトランスポート装置201Aの対向装置となる。
パケットトランスポート装置201Bに記憶されるパス対応MAC学習テーブル205は、図3に示す全てのカラム301〜306を含む必要はなく、MPLS入力ラベル301、MPLS出力ラベル302、宛先MACアドレス303、及びMACアドレス有効時間304を含めばよい。また、パケットトランスポート装置201Aに記憶されるパス対応MAC学習テーブル205は、MPLS入力ラベル301、MPLS出力ラベル302、ラベルスイッチ可否フラグ305、及びフラグ有効時間306を含めばよい。
ルータ101Aは、データの送信を開始する場合、パス確立要求をIPフレームでルータ101Bに送信する(不図示)。ルータ101Bは、パス確立要求を受信した場合、ルータ101Aとルータ101Bの間の当該パスに割り当てるMPLSラベルをペイロード部に含むIPフレームをパス確立のためのシグナリングデータとしてルータ101Aに送信する(401)。なお、このシグナリングデータは、送信元のルータ101BのユニキャストMACアドレス及び送信先のルータ101AのユニキャストMACアドレスを含む。
パケットトランスポート装置201Bは、パス確立のためのシグナリングデータを受信した場合、パス対応MAC学習テーブル205の受信したシグナリングデータに対応するパスを示すエントリの宛先MACアドレス303に、受信したシグナリングデータに含まれるルータ101BのユニキャストMACアドレスを登録する(402)。具体的には、パケットトランスポート装置201Bは、MPLS転送テーブル207を参照し、受信したシグナリングデータのペイロード部に含まれるMPLSラベル(出力ラベル)に対応するMPLSラベル(入力ラベル)を特定する。そして、パケットトランスポート装置201Bは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが特定した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが受信した出力ラベルと一致するエントリの、宛先MACアドレス303に受信したシグナリングデータのMACヘッダに含まれるルータ101BのユニキャストMACアドレスを登録し、MACアドレス有効時間304に有効時間の初期値を設定する。
次に、パケットトランスポート装置201Bは、受信したシグナリングデータにカプセル化用のMPLS出力ラベル及びブロードキャスト宛先MACアドレスを含むMPLSヘッダ及びMACヘッダを付与し、受信したシグナリングデータをカプセル化する。そして、パケットトランスポート装置201Bは、カプセル化したシグナリングデータをパケットトランスポート装置201Aに送信する(403)。
パケットトランスポート装置201Aは、カプセル化されたパス確立のためのシグナリングデータを受信した場合、対向装置であるパケットトランスポート装置201Bに宛先MACアドレスが登録されておりMPLSラベルスイッチ可能であると判断し、パス対応MAC学習テーブル205の受信したカプセル化内部のシグナリングデータに対応するパスを示すエントリのラベルスイッチ可否フラグ305に、有効を設定する(404)。具体的には、パケットトランスポート装置201Aは、MPLS転送テーブル207を参照し、受信したカプセル化内部のシグナリングデータのペイロード部に含まれるMPLSラベル(出力ラベル)に対応するMPLSラベル(入力ラベル)を特定する。そして、パケットトランスポート装置201Aは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが特定した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが受信した出力ラベルと一致するエントリの、ラベルスイッチ可否フラグ305に有効を設定し、フラグ有効時間306に有効時間の初期値を設定する。
次に、パケットトランスポート装置201Aは、受信したカプセル化されたシグナリングデータをデカプセル化し、デカプセル化により元のIPフレームに戻ったシグナリングデータをルータ101Aに送信する(405)。
以上の401〜405の処理によって、ルータ101Aからルータ101Bにデータを送信するためのパスが確立される。また、パケットトランスポート装置201Aは、パス対応MAC学習テーブル205の該当エントリのラベルスイッチ可否フラグ305に有効を設定し、パケットトランスポート装置201Bは、パス対応MAC学習テーブル205の該当エントリの宛先MACアドレス303にルータ101BのユニキャストMACアドレスを登録する。
次に、ルータ101Aは、MPLSフレームをパケットトランスポート装置201Aに送信する(406)。なお、ルータ101Aが送信するMPLSフレームのMPLSヘッダ及びMACヘッダは、当該データの送信に用いるMPLSラベル及び宛先となるルータ101BのユニキャストMACアドレスを含む。
パケットトランスポート装置201Aは、ルータ101Aによって送信されたMPLSフレームを受信した場合、受信したMPLSフレームをMPLSラベルスイッチにより対向装置であるパケットトランスポート装置201Bに送信可能か否かを、パス対応MAC学習テーブル205を参照して、判定する。具体的には、パケットトランスポート装置201Aは、MPLS転送テーブル207を参照し、受信したMPLSフレームのMPLSヘッダに含まれるMPLSラベル(入力ラベル)に対応するMPLSラベル(出力ラベル)を特定する。そして、パケットトランスポート装置201Aは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが受信した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが特定した出力ラベルと一致するエントリのラベルスイッチ可否フラグ305に有効が設定されているか否かを確認する。
404の処理で、ラベルスイッチ可否フラグ305に有効が設定されているので、パケットトランスポート装置201Aは、受信したMPLSフレームをMPLSラベルスイッチにより対向装置であるパケットトランスポート装置201Bに送信可能と判定し、407及び408の処理を実行する。
パケットトランスポート装置201Aは、パス対応MAC学習テーブル205の受信したMPLSフレームに対応するパスを示すエントリのフラグ有効時間306に登録された時間を初期値に更新する(407)。具体的には、パケットトランスポート装置201Aは、MPLS転送テーブル207を参照し、受信したMPLSフレームのMPLSヘッダに含まれるMPLSラベル(入力ラベル)に対応するMPLSラベル(出力ラベル)を特定する。そして、パケットトランスポート装置201Aは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが受信した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが特定した出力ラベルと一致するエントリのフラグ有効時間306に登録された時間を初期値に更新する。
また、パケットトランスポート装置201Aは、受信したMPLSフレームのMPLSヘッダの入力ラベルを出力ラベルに変換し、受信したMPLSフレームのMACヘッダの宛先MACアドレスをブロードキャストMACアドレスに変換して、MPLSフレームをパケットトランスポート装置201Bに送信、すなわち、MPLSラベルスイッチする(408)。
パケットトランスポート装置201Bは、パケットトランスポート装置201Aによって送信されたMPLSフレームを受信した場合、パス対応MAC学習テーブル205のMACアドレス有効時間304に登録された時間を初期値に更新する(409)。具体的には、パケットトランスポート装置201Bは、MPLS転送テーブル207を参照し、受信したMPLSフレームのMPLSヘッダに含まれるMPLSラベル(入力ラベル)に対応するMPLSラベル(出力ラベル)を特定する。そして、パケットトランスポート装置201Bは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが受信した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが特定した出力ラベルと一致するエントリのMACアドレス有効時間304に登録された時間を初期値に更新する。
また、パケットトランスポート装置201Bは、当該エントリの宛先MACアドレス303に登録されたMACアドレス(ルータ101BのユニキャストMACアドレス)を取得する。そして、パケットトランスポート装置201Bは、受信したMPLSフレームのMACヘッダのブロードキャスト宛先MACアドレスを取得したルータ101BのユニキャストMACアドレスに変換し、受信したMPLSフレームのMPLSヘッダのMPLSラベルを出力ラベルに変換して、MPLSフレームをルータ101Bに送信する(410)。
以上によって、MPLS通信網100とMPLS−TP通信網200が接続されている場合、データの宛先となるルータ101Bに接続されたパケットトランスポート装置201Bに当該ルータ101BのユニキャストMACアドレスが保持されていれば、MPLS−TP通信網200内で通信されるMPLSフレームのMACヘッダにブロードキャスト宛先MACアドレスが付与されていても、パケットトランスポート装置201BがMPLSフレームにルータ101BのユニキャストMACアドレスを付与するので、MPLSフレームを正しく転送することができる。
なお、パケットトランスポート装置201Aは、ルータ101Aによって送信されたMPLSフレームを、パス対応MAC学習テーブル205の、フラグ有効時間306に登録された時間を超過して受信しない場合、ラベルスイッチ可否フラグ305に設定されたフラグを無効に設定する(411)。同様に、パケットトランスポート装置201Bは、ルータ101Aによって送信されたMPLSフレームを、パス対応MAC学習テーブル205の、MACアドレス有効時間304に登録された時間を超過して受信しない場合、宛先MACアドレス303に登録されたMACアドレスを削除する(412)。
次に、411の処理でパケットトランスポート装置201Aのパス対応MAC学習テーブル205のラベルスイッチ可否フラグ305が無効に設定され、412の処理でパケットトランスポート装置201Bのパス対応MAC学習テーブル205の宛先MACアドレス303が削除された後に、ルータ101AによってMPLSフレームが送信された場合(421)のシーケンスについて説明する。なお、421の処理でルータ101Aによって送信されるMPLSフレームのMPLSヘッダ及びMACヘッダは、406の処理でルータ101Aによって送信されるMPLSフレームのMPLSヘッダ及びMACヘッダと同じく、当該データの送信に用いるMPLSラベル及び宛先となるルータ101BのユニキャストMACアドレスを含む。
この場合、有効時間超過のため、パケットトランスポート装置201Aは、シグナリングデータに基づいて有効に設定したラベルスイッチ可否フラグ305を無効に設定し、パケットトランスポート装置201Bはシグナリングデータに基づいて登録した宛先MACアドレス303を削除しているので、パケットトランスポート装置201Aは当該MPLSフレームに基づいてラベルスイッチ可否フラグ305を有効に設定し、パケットトランスポート装置201Bは当該MPLSフレームに基づいて宛先MACアドレス303に宛先となるルータ101BのユニキャストMACアドレスを登録する必要がある。
まず、パケットトランスポート装置201Aは、ルータ101Aによって送信されたMPLSフレームを受信した場合、パス対応MAC学習テーブル205の受信したMPLSフレームに対応するパスを示すエントリのラベルスイッチ可否フラグ305に、有効を設定する(422)。具体的には、パケットトランスポート装置201Aは、MPLS転送テーブル207を参照し、受信したMPLSフレームのMPLSヘッダに含まれるMPLSラベル(入力ラベル)に対応するMPLSラベル(出力ラベル)を特定する。そして、パケットトランスポート装置201Aは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが受信した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが特定した出力ラベルと一致するエントリの、ラベルスイッチ可否フラグ305に有効を設定し、フラグ有効時間306に有効時間の初期値を設定する。
また、パケットトランスポート装置201Aは、当該MPLSフレーム受信時には当該エントリのラベル可否フラグ305は無効に設定されているため、カプセル化用のMPLS出力ラベル及びブロードキャスト宛先MACアドレスを含むMPLSヘッダ及びMACヘッダを付与し、受信したMPLSフレームをカプセル化する。そして、パケットトランスポート装置201Aは、カプセル化したMPLSフレームをパケットトランスポート装置201Bに送信する(423)。
パケットトランスポート装置201Bは、パケットトランスポート装置201Aによって送信されたカプセル化されたMPLSフレームを受信した場合、パス対応MAC学習テーブル205の受信したカプセル化内部のMPLSフレームに対応するパスを示すエントリの宛先MACアドレス303に、受信したカプセル化内部のMPLSフレームに含まれるルータ101BのユニキャストMACアドレスを登録する(424)。具体的には、パケットトランスポート装置201Bは、MPLS転送テーブル207を参照し、受信したカプセル化内部のMPLSフレームのMPLSヘッダに含まれるMPLSラベル(入力ラベル)に対応するMPLSラベル(出力ラベル)を特定する。そして、パケットトランスポート装置201Bは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが受信した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが特定した出力ラベルと一致するエントリの、宛先MACアドレス303に受信したカプセル化内部のMPLSフレームのMACヘッダに含まれるルータ101BのユニキャストMACアドレスを登録し、MACアドレス有効時間304に有効時間の初期値を設定する。
次に、パケットトランスポート装置201Bは、受信したカプセル化されたMPLSフレームをデカプセル化し、デカプセル化により元のMPLSフレームに戻ったMPLSフレームを、MPLSヘッダ(ルータ101Aによって付与されたMPLSヘッダ)及びMACヘッダ(ルータ101Aによって付与されたMACヘッダ)はそのままで、ルータ101Bに送信する(425)。
以上の421〜425の処理によって、パケットトランスポート装置201BがMPLSフレームの宛先となるルータ101BのMACアドレスを保持していない場合、パケットトランスポート装置201Aは、MPLSフレームをカプセル化して送信するため、MPLSフレームを正しく転送することができる。また、パケットトランスポート装置201Aは、パス対応MAC学習テーブル205の該当エントリのラベルスイッチ可否フラグ305に有効を設定し、パケットトランスポート装置201Bは、パス対応MAC学習テーブル205の該当エントリの宛先MACアドレス303にルータ101BのユニキャストMACアドレスを登録する。
なお、図4に示す426〜430の処理は、406〜410の処理と同じであるので、説明を省略する。
次に、ルータ101Aからルータ101Bへのデータの送信に用いるパスを解除する場合の処理について説明する。
ルータ101Aは、データの送信を終了する場合、パス解除要求をIPフレームでルータ101Bに送信する(不図示)。ルータ101Bは、パス解除要求を受信した場合、解除するパスのMPLSラベルをペイロード部に含むIPフレームをパス解除のためのシグナリングデータとしてルータ101Aに送信する(431)。なお、このシグナリングデータは、送信元のルータ101BのユニキャストMACアドレス及び送信先のルータ101AのユニキャストMACアドレスを含む。
パケットトランスポート装置201Bは、パス解除のためのシグナリングデータを受信した場合、パス対応MAC学習テーブル205の受信したシグナリングデータに対応するパスを示すエントリの宛先MACアドレス303に登録されたMACアドレスを削除する(432)。具体的には、パケットトランスポート装置201Bは、MPLS転送テーブル207を参照し、受信したシグナリングデータのペイロード部に含まれるMPLSラベル(出力ラベル)に対応するMPLSラベル(入力ラベル)を特定する。そして、パケットトランスポート装置201Bは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが特定した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが受信した出力ラベルと一致するエントリの、宛先MACアドレス303に登録されたMACアドレスを削除する。
次に、パケットトランスポート装置201Bは、受信したシグナリングデータにカプセル化用のMPLS出力ラベル及びブロードキャスト宛先MACアドレスを含むMPLSヘッダ及びMACヘッダを付与し、受信したシグナリングデータをカプセル化する。そして、パケットトランスポート装置201Bは、カプセル化したシグナリングデータをパケットトランスポート装置201Aに送信する(433)。
パケットトランスポート装置201Aは、カプセル化されたパス解除のためのシグナリングデータを受信した場合、対向装置であるパケットトランスポート装置201Bが宛先MACアドレスを削除しておりMPLSラベルスイッチ可能でないと判断し、パス対応MAC学習テーブル205の受信したカプセル化内部のシグナリングデータに対応するパスを示すエントリのラベルスイッチ可否フラグ305に、無効を設定する(434)。具体的には、パケットトランスポート装置201Aは、MPLS転送テーブル207を参照し、受信したカプセル化内部のシグナリングデータのペイロード部に含まれるMPLSラベル(出力ラベル)に対応するMPLSラベル(入力ラベル)を特定する。そして、パケットトランスポート装置201Aは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが特定した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが受信した出力ラベルと一致するエントリの、ラベルスイッチ可否フラグ305に無効を設定する。
次に、パケットトランスポート装置201Aは、受信したカプセル化されたシグナリングデータをデカプセル化し、デカプセル化により元のIPフレームに戻ったシグナリングデータをルータ101Aに送信する(435)。
以上の431〜435の処理によって、ルータ101Aからルータ101Bにデータを送信するためのパスが解除される。
次に、図5A〜図6Bを用いてパケットトランスポート装置201がフレームを受信した場合の処理について説明する。
図5Aは、本発明の第1実施形態のパケットトランスポート装置201がMPLS−TP通信網200の外部から受信したフレームがMPLSフレームでない場合の処理のフローチャートである。図5Bは、本発明の第1実施形態のパケットトランスポート装置201がMPLS−TP通信網200の外部から受信したフレームがMPLSフレームである場合の処理のフローチャートである。これらの処理は、パケットトランスポート装置201の図示しないプロセッサによって実行される。
まず、パケットトランスポート装置201は、受信したフレームがMPLSフレームであるか否かを判定する(501)。具体的には、パケットトランスポート装置201は、受信したフレームにMPLSヘッダが含まれていれば、受信したフレームがMPLSフレームであると判定し(501:Yes)、受信したフレームにMPLSヘッダが含まれていなければ、受信したフレームがMPLSフレームでないと判定する(501:No)。
ステップ501の処理で、受信したフレームがMPLSフレームでないと判定された場合(501:No)、パケットトランスポート装置201は、受信したフレームに対応するMPLS−TP通信網200内のパスを特定できるか否かを判定する(502)。受信したフレームがパスの確立又は解除のためのシグナリングデータであれば、MPLSラベルが受信フレームのペイロード部に含まれるので、パケットトランスポート装置201は、MPLS転送テーブル207を参照し、当該フレームに対応するMPLS−TP通信網200内のパスを特定できる。
ステップ502の処理で、受信したフレームに対応するMPLS−TP通信網200内のパスを特定できると判定された場合(502:Yes)、受信したフレームはパスの確立又は解除のためのシグナリングデータであるので、パケットトランスポート装置201は、パス対応MAC管理テーブル205を更新すべく、ステップ503以降の処理に進む。
まず、パケットトランスポート装置201は、パス対応MAC学習テーブル205内に、受信したフレームに対応するパスに該当するエントリを保持しているか否かを判定する(503)。
ステップ503の処理で、受信したフレームに対応するパスに該当するエントリを保持していないと判定された場合(503:No)、パス対応MAC学習テーブル205内に更新するエントリが存在しないので、ステップ509の処理に進む。
一方、ステップ503の処理で、受信したフレームに対応するパスに該当するエントリを保持していると判定された場合(503:Yes)、パケットトランスポート装置201は、受信したフレームがパスの解除のためのシグナリングデータであるか否かを判定する(504)。
ステップ504の処理で、受信したフレームがパスの解除のためのシグナリングデータでないと判定された場合(504:No)、すなわち、受信したフレームがパスの確立のためのシグナリングデータである場合、パケットトランスポート装置201は、パス対応MAC学習テーブル205の該当するエントリの宛先MACアドレス303に、受信したフレームの送信元MACアドレスを登録し(505)、ステップ507の処理に進む。なお、ステップ505の処理は、図4に示す402の処理に対応する。
一方、ステップ504の処理で、受信したフレームがパスの解除のためのシグナリングデータであると判定された場合(504:Yes)、パケットトランスポート装置201は、パス対応MAC学習テーブル205の該当するエントリの宛先MACアドレス303に登録されたMACアドレスを削除し(506)、ステップ507の処理に進む。なお、ステップ506の処理は、図4に示す432の処理に対応する。
ステップ505の処理でパス対応MAC学習テーブル205の宛先MACアドレス303にMACアドレスが登録された場合、又は、ステップ506の処理でパス対応MAC学習テーブル205の宛先MACアドレス303からMACアドレスが削除された場合、パケットトランスポート装置201は、ステップ502の処理で特定された当該パスが障害状態として設定されているか否かを判定する(507)。
ステップ507の処理で、当該パスが障害状態として設定されていると判定された場合(507:Yes)、パケットトランスポート装置201は当該障害状態の設定を解除し(508)、ステップ509の処理に進む。障害状態の設定を解除する理由は、シグナリングデータはパス確立要求又はパス解除要求に対する応答であるので、当該パスに障害は発生していないとみなすからである。
ステップ507の処理で、当該パスが障害状態として設定されていないと判定された場合(507:No)、又はステップ508の処理を実行した場合、パケットトランスポート装置201は、カプセル化用のMPLS出力ラベル及びブロードキャスト宛先MACアドレスを含むMPLSヘッダ及びMACヘッダを付与し、受信したフレームをカプセル化して、カプセル化した受信フレームを送信する(509)。
なお、ステップ502の処理で、受信したフレームに対応するMPLS−TP通信網200内のパスを特定できないと判定された場合(502:No)、ステップ509の処理に進み、受信したフレームをカプセル化して、カプセル化した受信フレームを送信する。
ステップ501の処理で、受信したフレームがMPLSフレームであると判定された場合(501:Yes)、パケットトランスポート装置201は、パス対応MAC学習テーブル205内に、受信したMPLSフレームのMPLSヘッダに含まれるMPLSラベルに対応するパスに該当するエントリを保持しているか否かを判定する(510)。
ステップ510の処理で、受信したMPLSフレームに対応するパスに該当するエントリを保持していないと判定された場合(510:No)、パケットトランスポート装置201は、対向装置であるパケットトランスポート装置201にMPLSフレームを送信する場合にMPLSラベルスイッチの実施が可能か否かを判定できないため、ステップ513の処理に進む。
一方、ステップ510の処理で、受信したMPLSフレームに対応するパスに該当するエントリを保持していると判定された場合(510:Yes)、パケットトランスポート装置201は、パス対応MAC学習テーブル205の該当するエントリのラベルスイッチ可否フラグ305に有効が設定されているか否かを判定する(511)。
ステップ511の処理で、該当するエントリのラベルスイッチ可否フラグ305に有効が設定されていないと判定された場合(511:No)、パケットトランスポート装置201は、該当するエントリのラベルスイッチ可否フラグ305に有効を設定し(512)、カプセル化用のMPLS出力ラベル及びブロードキャスト宛先MACアドレスを含むMPLSヘッダ及びMACヘッダを付与し、受信したMPLSフレームをカプセル化して、カプセル化したMPLSフレームを送信する(513)。ステップ512の処理でラベルスイッチ可否フラグ305に有効を設定する理由は、ステップ513で送信するカプセル化したMPLSフレームを対向装置であるパケットトランスポート装置201が受信し宛先MACアドレスを登録することによって、MPLSラベルスイッチ可能になるためである。なお、ステップ512の処理は、図4に示す422の処理に対応する。
ステップ511の処理で、該当するエントリのラベルスイッチ可否フラグ305に有効が設定されていると判定された場合(511:Yes)、パケットトランスポート装置201は、該当するエントリのフラグ有効時間306に登録された時間を初期値に更新する(514)。なお、ステップ514の処理は、図4に示す407及び427の処理に対応する。
そして、パケットトランスポート装置201は、ステップ510の処理で特定された当該パスが障害状態であるか否かを判定する(515)。
ステップ515の処理で、パスが障害状態であると判定された場合(515:Yes)、パケットトランスポート装置201は、ステップ513の処理に進み、受信したMPLSフレームをカプセル化して、カプセル化したMPLSフレームを送信する。
一方、ステップ515の処理で、パスが障害状態でないと判定された場合(515:No)、パケットトランスポート装置201は、受信したMPLSフレームのMPLSヘッダの入力MPLSラベルを出力ラベルに変換し、受信したMPLSフレームのMACヘッダの宛先MACアドレスをブロードキャストMACアドレスに変換して、MPLSフレームを対向装置であるパケットトランスポート装置201に送信、すなわちMPLSラベルスイッチする(516)。
図6Aは、本発明の第1実施形態のパケットトランスポート装置201がMPLS−TP通信網200の内部から受信したフレームがカプセル化フレームである場合の処理のフローチャートである。図6Bは、本発明の第1実施形態のパケットトランスポート装置201がMPLS−TP通信網200の内部から受信したフレームがカプセル化フレームでない場合の処理のフローチャートである。これらの処理は、パケットトランスポート装置201の図示しないプロセッサによって実行される。
まず、パケットトランスポート装置201は、受信したフレームがカプセル化されたフレームであるか否かを判定する(601)。
ステップ601の処理で、受信したフレームがカプセル化されたフレームであると判定された場合(601:Yes)、パケットトランスポート装置201は、カプセル化内部のフレームがMPLSフレームであるか否かを判定する(602)。具体的には、パケットトランスポート装置201は、カプセル化内部のフレームにMPLSヘッダが含まれているか否かを判定する。
ステップ602の処理で、カプセル化内部のフレームがMPLSフレームでないと判定された場合(602:No)、パケットトランスポート装置201は、カプセル化内部のフレームに対応するMPLS−TP通信網200内のパスを特定できるか否かを判定する(603)。カプセル化内部のフレームがパスの確立又は解除のためのシグナリングデータであれば、MPLSラベルがカプセル化内部のフレームのペイロード部に含まれるので、パケットトランスポート装置201は、MPLS転送テーブル207を参照し、当該フレームに対応するMPLS−TP通信網200内のパスを特定できる。
ステップ603の処理で、カプセル化内部のフレームに対応するMPLS−TP通信網200内のパスを特定できると判定された場合(603:Yes)、カプセル化内部のフレームはパスの確立又は解除のためのシグナリングデータであるので、パケットトランスポート装置201は、パス対応MAC管理テーブル205を更新すべく、ステップ604以降の処理に進む。
まず、パケットトランスポート装置201は、パス対応MAC学習テーブル205内に、カプセル化内部のフレームに対応するパスに該当するエントリを保持しているか否かを判定する(604)。
ステップ604の処理で、カプセル化内部のフレームに対応するパスに該当するエントリを保持していないと判定された場合(604:No)、パス対応MAC学習テーブル205内に更新するエントリが存在しないので、ステップ608の処理に進む。
一方、ステップ604の処理で、カプセル化内部のフレームに対応するパスに該当するエントリを保持していると判定された場合(604:Yes)、パケットトランスポート装置201は、カプセル化内部のフレームがパスの解除のためのシグナリングデータであるか否かを判定する(605)。
ステップ605の処理で、カプセル化内部のフレームがパスの解除のためのシグナリングデータでないと判定された場合(605:No)、すなわち、カプセル化内部のフレームがパスの確立のためのシグナリングデータである場合、パケットトランスポート装置201は、パス対応MAC学習テーブル205の該当するエントリのラベルスイッチ可否フラグ305に有効を設定し(606)、ステップ608の処理に進む。なお、ステップ606の処理は、図4に示す404の処理に対応する。
一方、ステップ605の処理で、カプセル化内部のフレームがパスの解除のためのシグナリングデータであると判定された場合(605:Yes)、パケットトランスポート装置201は、パス対応MAC学習テーブル205の該当するエントリのラベルスイッチ可否フラグ305に無効を設定し(607)、ステップ608の処理に進む。なお、ステップ607の処理は、図4に示す434の処理に対応する。
ステップ606の処理でパス対応MAC学習テーブル205のラベルスイッチ可否フラグ305に有効が設定された場合、又は、ステップ607の処理でパス対応MAC学習テーブル205のラベルスイッチ可否フラグ305に無効が設定された場合、パケットトランスポート装置201は、受信したフレームをデカプセル化して送信する(608)。
なお、ステップ603の処理で、カプセル化内部のフレームに対応するMPLS−TP通信網200内のパスを特定できないと判定された場合(603:No)、ステップ608の処理に進み、受信したフレームをデカプセル化して送信する。
ステップ602の処理で、カプセル化内部のフレームがMPLSフレームであると判定された場合(602:Yes)、パケットトランスポート装置201は、パス対応MAC学習テーブル205内に、カプセル化内部のMPLSフレームに含まれるMPLSラベルに対応するパスに該当するエントリを保持しているか否かを判定する(609)。
ステップ609の処理で、カプセル化内部のMPLSフレームに対応するパスに該当するエントリを保持していないと判定された場合(609:No)、パス対応MAC学習テーブル205内に更新するエントリが存在しないので、ステップ608の処理に進み、受信したフレームをデカプセル化して送信する。
一方、ステップ609の処理で、カプセル化内部のMPLSフレームに対応するパスに該当するエントリを保持していると判定された場合(609:Yes)、パケットトランスポート装置201は、パス対応MAC学習テーブル205の該当するエントリの宛先MACアドレス303に、カプセル化内部のMPLSフレームの宛先MACアドレスを登録し(610)、ステップ611の処理に進む。なお、ステップ610の処理は、図4に示す424の処理に対応する。
ステップ610の処理でパス対応MAC学習テーブル205の宛先MACアドレス303にMACアドレスが登録された場合、パケットトランスポート装置201は、ステップ609の処理で特定された当該パスが障害状態として設定されているか否かを判定する(611)。
ステップ611の処理で、当該パスが障害状態として設定されていると判定された場合(611:Yes)、パケットトランスポート装置201は当該障害状態の設定を解除し(612)、ステップ608の処理に進み、受信したフレームをデカプセル化して送信する。
一方、ステップ611の処理で、当該パスが障害状態として設定されていないと判定された場合(611:No)、パケットトランスポート装置201は、ステップ608の処理に進み、受信したフレームをデカプセル化して送信する。
ステップ601の処理で、受信したフレームがカプセル化されたフレームでないと判定された場合(601:No)、すなわち、受信したフレームはMPLSラベルスイッチされたMPLSフレームである場合、パケットトランスポート装置201は、パス対応MAC学習テーブル205内に、受信したMPLSフレームに含まれるMPLSラベルに対応するパスに該当するエントリを保持しているか否かを判定する(613)。
ステップ613の処理で、受信したMPLSフレームに対応するパスに該当するエントリを保持していると判定された場合(613:Yes)、パケットトランスポート装置201は、パス対応MAC学習テーブル205の該当するエントリの宛先MACアドレス303にMACアドレスが登録されているか否かを判定する(614)。
ステップ614の処理で、該当するエントリの宛先MACアドレス303にMACアドレスが登録されていると判定された場合(614:Yes)、パケットトランスポート装置201は、該当するエントリのMACアドレス有効時間304に登録された時間を初期値に更新する(615)。なお、ステップ615の処理は、図4に示す409の処理に対応する。
そして、パケットトランスポート装置201は、受信したMPLSフレームのMPLSヘッダの入力MPLSラベルを出力ラベルに変換し、受信したMPLSフレームのMACヘッダの宛先MACアドレスをパス対応MAC学習テーブル205の該当するエントリの宛先MACアドレス303に保持しているユニキャストMACアドレスに変換して、MPLSフレームをルータ101に送信する(616)。
ステップ613の処理で、受信したMPLSフレームに対応するパスに該当するエントリを保持していないと判定された場合(613:No)、又は、ステップ614の処理で、該当するエントリの宛先MACアドレス303にMACアドレスが登録されていないと判定された場合(614:No)、パケットトランスポート装置201は、ステップ613の処理で特定された当該パスが障害状態として設定されているか否かを判定する(617)。
ステップ617の処理で、当該パスが障害状態として設定されていると判定された場合(617:Yes)、パケットトランスポート装置201は、受信したMPLSフレームのMACヘッダの宛先MACアドレスに設定するユニキャストMACアドレスを保持していないため、受信したMPLSフレームを廃棄する(619)。
一方、ステップ617の処理で、当該パスが障害状態として設定されていないと判定された場合(617:No)、パケットトランスポート装置201は、当該パスを障害状態として設定し(618)、ステップ619の処理に進み、受信したMPLSフレームを廃棄する。
以上のように、本実施形態では、MPLSフレームをルータ101から受信したパケットトランスポート装置201は、対向装置であるパケットトランスポート装置201に宛先となるルータ101のユニキャストMACアドレスが保持されている場合、受信したMPLSフレームをMPLSラベルスイッチして送信し、対向装置であるパケットトランスポート装置201に宛先となるルータ101のユニキャストMACアドレスが保持されていない場合、受信したMPLSフレームをカプセル化して送信する。これによって、対向装置であるパケットトランスポート装置201が当該MPLSフレームの宛先となるルータ101のユニキャストMACアドレスを保持していない場合であっても、対向装置であるパケットトランスポート装置201は、カプセル化されたMPLSフレームを受信することによって、カプセル化内部のMPLSフレームに含まれる、宛先となるルータ101のユニキャストMACアドレスを保持することができる。また、従来のMPLSを用いる通信網とMPLS−TPを用いる通信網が接続される場合であっても、MPLSフレームの通信処理を正しく実施可能な通信システムを提供することができる。
(第2実施形態)
第1実施形態では、パケットトランスポート装置201は、MPLS−TP通信網200内で通信されるMPLSフレームのMACヘッダに、ブロードキャストMACアドレスを付与して送信する。第2実施形態では、パケットトランスポート装置201は、MPLS−TP通信網200内で通信されるMPLSフレームのMACヘッダに、宛先となるルータ101のユニキャストMACアドレスを付与して送信する。これによって、通信の正確性を向上させることができる。
本発明の第2実施形態を図7〜図9を用いて説明する。
図7は、本発明の第2実施形態の宛先MACアドレス学習処理のシーケンス図である。
ルータ101Aは、データの送信を開始する場合、パス確立要求をIPフレームでルータ101Bに送信する(不図示)。ルータ101Bは、パス確立要求を受信した場合、ルータ101Aとルータ101Bの間の当該パスに割り当てるMPLSラベルをペイロード部に含むIPフレームをパス確立のためのシグナリングデータとしてルータ101Aに送信する(701)。なお、このシグナリングデータは、送信元のルータ101BのユニキャストMACアドレス及び送信先のルータ101AのユニキャストMACアドレスを含む。
パケットトランスポート装置201Bは、パス確立のためのシグナリングデータを受信した場合、パス対応MAC学習テーブル205の受信したシグナリングデータに対応するパスを示すエントリの宛先MACアドレス303に、受信したシグナリングデータに含まれるルータ101BのユニキャストMACアドレスを登録する(702)。具体的には、パケットトランスポート装置201Bは、MPLS転送テーブル207を参照し、受信したシグナリングデータのペイロード部に含まれるMPLSラベル(出力ラベル)に対応するMPLSラベル(入力ラベル)を特定する。そして、パケットトランスポート装置201Bは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが特定した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが受信した出力ラベルと一致するエントリの、宛先MACアドレス303に受信したシグナリングデータのMACヘッダに含まれるルータ101BのユニキャストMACアドレスを登録し、MACアドレス有効時間304に有効時間の初期値を設定する。
次に、パケットトランスポート装置201Bは、受信したシグナリングデータにカプセル化用のMPLS出力ラベル及びブロードキャスト宛先MACアドレスを含むMPLSヘッダ及びMACヘッダを付与し、受信したシグナリングデータをカプセル化する。そして、パケットトランスポート装置201Bは、カプセル化したシグナリングデータをパケットトランスポート装置201Aに送信する(703)。
パケットトランスポート装置201Aは、カプセル化されたパス確立のためのシグナリングデータを受信した場合、パス対応MAC学習テーブル205の受信したカプセル化内部のシグナリングデータに対応するパスを示すエントリの、宛先MACアドレス303に、受信したカプセル化内部のシグナリングデータに含まれるルータ101BのユニキャストMACアドレスを登録し、ラベルスイッチ可否フラグ305に、有効を設定する(704)。具体的には、パケットトランスポート装置201Aは、MPLS転送テーブル207を参照し、受信したカプセル化内部のシグナリングデータのペイロード部に含まれるMPLSラベル(出力ラベル)に対応するMPLSラベル(入力ラベル)を特定する。そして、パケットトランスポート装置201Aは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが特定した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが受信した出力ラベルと一致するエントリの、宛先MACアドレス303に受信したカプセル化内部のシグナリングデータのMACヘッダに含まれるルータ101BのユニキャストMACアドレスを登録し、MACアドレス有効時間304に有効時間の初期値を設定する。さらに、ラベルスイッチ可否フラグ305に有効を設定し、フラグ有効時間306に有効時間の初期値を設定する。
次に、パケットトランスポート装置201Aは、受信したカプセル化されたシグナリングデータをデカプセル化し、デカプセル化により元のIPフレームに戻ったシグナリングデータをルータ101Aに送信する(705)。
以上の701〜705の処理によって、ルータ101Aからルータ101Bにデータを送信するためのパスが確立される。また、パケットトランスポート装置201Aは、パス対応MAC学習テーブル205の該当エントリの宛先MACアドレス303にルータ101BのユニキャストMACアドレスを登録、ラベルスイッチ可否フラグ305に有効を設定し、パケットトランスポート装置201Bは、パス対応MAC学習テーブル205の該当エントリの宛先MACアドレス303にルータ101BのユニキャストMACアドレスを登録する。
次に、ルータ101Aは、MPLSフレームをパケットトランスポート装置201Aに送信する(706)。なお、ルータ101Aが送信するMPLSフレームのMPLSヘッダ及びMACヘッダは、当該データの送信に用いるMPLSラベル及び宛先となるルータ101BのユニキャストMACアドレスを含む。
パケットトランスポート装置201Aは、ルータ101Aによって送信されたMPLSフレームを受信した場合、受信したMPLSフレームをMPLSラベルスイッチにより対向装置であるパケットトランスポート装置201Bに送信可能か否かを、パス対応MAC学習テーブル205を参照して、判定する。具体的には、パケットトランスポート装置201Aは、MPLS転送テーブル207を参照し、受信したMPLSフレームのMPLSヘッダに含まれるMPLSラベル(入力ラベル)に対応するMPLSラベル(出力ラベル)を特定する。そして、パケットトランスポート装置201Aは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが受信した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが特定した出力ラベルと一致するエントリのラベルスイッチ可否フラグ305に有効が設定されているか否かを確認する。
704の処理で、ラベルスイッチ可否フラグ305に有効が設定されているので、パケットトランスポート装置201Aは、受信したMPLSフレームをMPLSラベルスイッチにより対向装置であるパケットトランスポート装置201Bに送信可能と判定し、707及び708の処理を実行する。
パケットトランスポート装置201Aは、パス対応MAC学習テーブル205の受信したMPLSフレームに対応するパスを示すエントリの、MACアドレス有効時間304に登録された時間を初期値に更新し、フラグ有効時間306に登録された時間を初期値に更新する(707)。具体的には、パケットトランスポート装置201Aは、MPLS転送テーブル207を参照し、受信したMPLSフレームのMPLSヘッダに含まれるMPLSラベル(入力ラベル)に対応するMPLSラベル(出力ラベル)を特定する。そして、パケットトランスポート装置201Aは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが受信した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが特定した出力ラベルと一致するエントリの、MACアドレス有効時間304に登録された時間を初期値に更新し、フラグ有効時間306に登録された時間を初期値に更新する。
また、パケットトランスポート装置201Aは、当該エントリの宛先MACアドレス303に登録されたMACアドレス(ルータ101BのユニキャストMACアドレス)を取得する。そして、パケットトランスポート装置201Aは、受信したMPLSフレームのMPLSヘッダの入力ラベルを出力ラベルに変換し、受信したMPLSフレームのMACヘッダの宛先MACアドレスを取得したルータ101BのユニキャストMACアドレスに変換して、MPLSフレームをパケットトランスポート装置201Bに送信、すなわち、MPLSラベルスイッチする(708)。
パケットトランスポート装置201Bは、パケットトランスポート装置201Aによって送信されたMPLSフレームを受信した場合、パス対応MAC学習テーブル205のMACアドレス有効時間304に登録された時間を初期値に更新する(709)。具体的には、パケットトランスポート装置201Bは、MPLS転送テーブル207を参照し、受信したMPLSフレームのMPLSヘッダに含まれるMPLSラベル(入力ラベル)に対応するMPLSラベル(出力ラベル)を特定する。そして、パケットトランスポート装置201Bは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが受信した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが特定した出力ラベルと一致し、宛先MACアドレス303に登録されたMACアドレスが受信したMPLSフレームのMACヘッダの宛先MACアドレスと一致するエントリのMACアドレス有効時間304に登録された時間を初期値に更新する。
また、パケットトランスポート装置201Bは、受信したMPLSフレームのMPLSヘッダのMPLSラベルを出力ラベルに変換して、MPLSフレームをルータ101Bに送信する(710)。第1実施形態の図4に示す410の処理では、受信したMPLSフレームのMACヘッダの宛先MACアドレスにはブロードキャストMACアドレスが設定されているため、パケットトランスポート装置201Bは当該MACアドレスをルータ101BのユニキャストMACアドレスに変換していたが、本実施形態では、受信したMPLSフレームのMACヘッダの宛先MACアドレスにはルータ101BのユニキャストMACアドレスが設定されているため、パケットトランスポート装置201BはMACアドレスの当該変換処理を実施する必要はない。
なお、パケットトランスポート装置201Aは、ルータ101Aによって送信されたMPLSフレームを、パス対応MAC学習テーブル205の、MACアドレス有効時間304に登録された時間を超過して受信しない場合、宛先MACアドレス303に登録されたMACアドレスを削除し、フラグ有効時間306に登録された時間を超過して受信しない場合、ラベルスイッチ可否フラグ305に設定されたフラグを無効に設定する(711)。同様に、パケットトランスポート装置201Bは、ルータ101Aによって送信されたMPLSフレームを、パス対応MAC学習テーブル205の、MACアドレス有効時間304に登録された時間を超過して受信しない場合、宛先MACアドレス303に登録されたMACアドレスを削除する(712)。
次に、711の処理でパケットトランスポート装置201Aのパス対応MAC学習テーブル205のパス対応MAC学習テーブル205の宛先MACアドレス303が削除、ラベルスイッチ可否フラグ305が無効に設定され、712の処理でパケットトランスポート装置201Bのパス対応MAC学習テーブル205の宛先MACアドレス303が削除された後に、ルータ101AによってMPLSフレームが送信された場合(721)のシーケンスについて説明する。なお、721の処理でルータ101Aによって送信されるMPLSフレームのMPLSヘッダ及びMACヘッダは、706の処理でルータ101Aによって送信されるMPLSフレームのMPLSヘッダ及びMACヘッダと同じく、当該データの送信に用いるMPLSラベル及び宛先となるルータ101BのユニキャストMACアドレスを含む。
まず、パケットトランスポート装置201Aは、ルータ101Aによって送信されたMPLSフレームを受信した場合、パス対応MAC学習テーブル205の受信したMPLSフレームに対応するパスを示すエントリの、宛先MACアドレス303に、受信したMPLSフレームに含まれるルータ101BのユニキャストMACアドレスを登録し、ラベルスイッチ可否フラグ305に、有効を設定する(722)。具体的には、パケットトランスポート装置201Aは、MPLS転送テーブル207を参照し、受信したMPLSフレームのMPLSヘッダに含まれるMPLSラベル(入力ラベル)に対応するMPLSラベル(出力ラベル)を特定する。そして、パケットトランスポート装置201Aは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが受信した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが特定した出力ラベルと一致するエントリの、宛先MACアドレス303に受信したMPLSフレームのMACヘッダに含まれるルータ101BのユニキャストMACアドレスを登録し、MACアドレス有効時間304に有効時間の初期値を設定する。さらに、ラベルスイッチ可否フラグ305に有効を設定し、フラグ有効時間306に有効時間の初期値を設定する。
また、パケットトランスポート装置201Aは、当該MPLSフレーム受信時には当該エントリのラベル可否フラグ305は無効に設定されているため、カプセル化用のMPLS出力ラベルを含むMPLSヘッダ及びブロードキャスト宛先MACアドレスを含むMACヘッダを付与し、受信したMPLSフレームをカプセル化する。そして、パケットトランスポート装置201Aは、カプセル化したMPLSフレームをパケットトランスポート装置201Bに送信する(723)。
パケットトランスポート装置201Bは、パケットトランスポート装置201Aによって送信されたカプセル化されたMPLSフレームを受信した場合、パス対応MAC学習テーブル205の受信したカプセル化内部のMPLSフレームに対応するパスを示すエントリの宛先MACアドレス303に、受信したカプセル化内部のMPLSフレームに含まれるルータ101BのユニキャストMACアドレスを登録する(724)。具体的には、パケットトランスポート装置201Bは、MPLS転送テーブル207を参照し、受信したカプセル化内部のMPLSフレームのMPLSヘッダに含まれるMPLSラベル(入力ラベル)に対応するMPLSラベル(出力ラベル)を特定する。そして、パケットトランスポート装置201Bは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが受信した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが特定した出力ラベルと一致するエントリの、宛先MACアドレス303に受信したカプセル化内部のMPLSフレームのMACヘッダに含まれるルータ101BのユニキャストMACアドレスを登録し、MACアドレス有効時間304に有効時間の初期値を設定する。
次に、パケットトランスポート装置201Bは、受信したカプセル化されたMPLSフレームをデカプセル化し、デカプセル化により元のMPLSフレームに戻ったMPLSフレームを、MPLSヘッダ(ルータ101Aによって付与されたMPLSヘッダ)及びMACヘッダ(ルータ101Aによって付与されたMACヘッダ)はそのままで、ルータ101Bに送信する(725)。
以上の721〜725の処理によって、パケットトランスポート装置201Aは、MPLSフレームをカプセル化して送信するため、MPLSフレームを正しく転送することができる。また、パケットトランスポート装置201Aは、パス対応MAC学習テーブル205の該当エントリの宛先MACアドレス303にルータ101BのユニキャストMACアドレスを登録、ラベルスイッチ可否フラグ305に有効を設定し、パケットトランスポート装置201Bは、パス対応MAC学習テーブル205の該当エントリの宛先MACアドレス303にルータ101BのユニキャストMACアドレスを登録する。
なお、図7に示す726〜730の処理は、706〜710の処理と同じであるので、説明を省略する。
次に、ルータ101Aからルータ101Bへのデータの送信に用いるパスを解除する場合の処理について説明する。
ルータ101Aは、データの送信を終了する場合、パス解除要求をIPフレームでルータ101Bに送信する(不図示)。ルータ101Bは、パス解除要求を受信した場合、解除するパスのMPLSラベルをペイロード部に含むIPフレームをパス解除のためのシグナリングデータとしてルータ101Aに送信する(731)。なお、このシグナリングデータは、送信元のルータ101BのユニキャストMACアドレス及び送信先のルータ101AのユニキャストMACアドレスを含む。
パケットトランスポート装置201Bは、パス解除のためのシグナリングデータを受信した場合、パス対応MAC学習テーブル205の受信したシグナリングデータに対応するパスを示すエントリの宛先MACアドレス303に登録されたMACアドレスを削除する(732)。具体的には、パケットトランスポート装置201Bは、MPLS転送テーブル207を参照し、受信したシグナリングデータのペイロード部に含まれるMPLSラベル(出力ラベル)に対応するMPLSラベル(入力ラベル)を特定する。そして、パケットトランスポート装置201Bは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが特定した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが受信した出力ラベルと一致するエントリの、宛先MACアドレス303に登録されたMACアドレスを削除する。
次に、パケットトランスポート装置201Bは、受信したシグナリングデータにカプセル化用のMPLS出力ラベルを含むMPLSヘッダ及びブロードキャスト宛先MACアドレスを含むMACヘッダを付与し、受信したシグナリングデータをカプセル化する。そして、パケットトランスポート装置201Bは、カプセル化したシグナリングデータをパケットトランスポート装置201Aに送信する(733)。
パケットトランスポート装置201Aは、カプセル化されたパス解除のためのシグナリングデータを受信した場合、パス対応MAC学習テーブル205の受信したカプセル化内部のシグナリングデータに対応するパスを示すエントリの宛先MACアドレス303に登録されたMACアドレスを削除し、ラベルスイッチ可否フラグ305に無効を設定する(734)。具体的には、パケットトランスポート装置201Aは、MPLS転送テーブル207を参照し、受信したカプセル化内部のシグナリングデータのペイロード部に含まれるMPLSラベル(出力ラベル)に対応するMPLSラベル(入力ラベル)を特定する。そして、パケットトランスポート装置201Aは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが特定した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが受信した出力ラベルと一致するエントリの、宛先MACアドレス303に登録されたMACアドレスを削除し、ラベルスイッチ可否フラグ305に無効を設定する。
次に、パケットトランスポート装置201Aは、受信したカプセル化されたシグナリングデータをデカプセル化し、デカプセル化により元のIPフレームに戻ったシグナリングデータをルータ101Aに送信する(735)。
以上の731〜735の処理によって、ルータ101Aからルータ101Bにデータを送信するためのパスが解除される。
次に、図8A〜図9Bを用いてパケットトランスポート装置201がフレームを受信した場合の処理について説明する。
図8Aは、本発明の第2実施形態のパケットトランスポート装置201がMPLS−TP通信網200の外部から受信したフレームがMPLSフレームでない場合の処理のフローチャートである。図8Bは、本発明の第2実施形態のパケットトランスポート装置201がMPLS−TP通信網200の外部から受信したフレームがMPLSフレームである場合の処理のフローチャートである。これらの処理は、パケットトランスポート装置201の図示しないプロセッサによって実行される。
まず、パケットトランスポート装置201は、受信したフレームがMPLSフレームであるか否かを判定する(801)。具体的には、パケットトランスポート装置201は、受信したフレームにMPLSヘッダが含まれていれば、受信したフレームがMPLSフレームであると判定し(801:Yes)、受信したフレームにMPLSヘッダが含まれていなければ、受信したフレームがMPLSフレームでないと判定する(801:No)。
ステップ801の処理で、受信したフレームがMPLSフレームでないと判定された場合(801:No)、パケットトランスポート装置201は、受信したフレームに対応するMPLS−TP通信網200内のパスを特定できるか否かを判定する(802)。受信したフレームがパスの確立又は解除のためのシグナリングデータであれば、MPLSラベルが受信フレームのペイロード部に含まれるので、パケットトランスポート装置201は、MPLS転送テーブル207を参照し、当該フレームに対応するMPLS−TP通信網200内のパスを特定できる。
ステップ802の処理で、受信したフレームに対応するMPLS−TP通信網200内のパスを特定できると判定された場合(802:Yes)、受信したフレームはパスの確立又は解除のためのシグナリングデータであるので、パケットトランスポート装置201は、パス対応MAC管理テーブル205を更新すべく、ステップ803以降の処理に進む。
まず、パケットトランスポート装置201は、パス対応MAC学習テーブル205内に、受信したフレームに対応するパスに該当するエントリを保持しているか否かを判定する(803)。
ステップ803の処理で、受信したフレームに対応するパスに該当するエントリを保持していないと判定された場合(803:No)、パス対応MAC学習テーブル205内に更新するエントリが存在しないので、ステップ809の処理に進む。
一方、ステップ803の処理で、受信したフレームに対応するパスに該当するエントリを保持していると判定された場合(803:Yes)、パケットトランスポート装置201は、受信したフレームがパスの解除のためのシグナリングデータであるか否かを判定する(804)。
ステップ804の処理で、受信したフレームがパスの解除のためのシグナリングデータでないと判定された場合(804:No)、すなわち、受信したフレームがパスの確立のためのシグナリングデータである場合、パケットトランスポート装置201は、パス対応MAC学習テーブル205の該当するエントリの宛先MACアドレス303に、受信したフレームの送信元MACアドレスを登録し(805)、ステップ807の処理に進む。なお、ステップ805の処理は、図7に示す702の処理に対応する。
一方、ステップ804の処理で、受信したフレームがパスの解除のためのシグナリングデータであると判定された場合(804:Yes)、パケットトランスポート装置201は、パス対応MAC学習テーブル205の該当するエントリの宛先MACアドレス303に登録されたMACアドレスを削除し(806)、ステップ807の処理に進む。なお、ステップ806の処理は、図7に示す732の処理に対応する。
ステップ805の処理でパス対応MAC学習テーブル205の宛先MACアドレス303にMACアドレスが登録された場合、又は、ステップ806の処理でパス対応MAC学習テーブル205の宛先MACアドレス303からMACアドレスが削除された場合、パケットトランスポート装置201は、ステップ802の処理で特定された当該パスが障害状態として設定されているか否かを判定する(807)。
ステップ807の処理で、当該パスが障害状態として設定されていると判定された場合(807:Yes)、パケットトランスポート装置201は当該障害状態の設定を解除し(808)、ステップ809の処理に進む。障害状態の設定を解除する理由は、シグナリングデータはパス確立要求又はパス解除要求に対する応答であるので、当該パスに障害は発生していないとみなすからである。
ステップ807の処理で、当該パスが障害状態として設定されていないと判定された場合(807:No)、又はステップ808の処理を実行した場合、パケットトランスポート装置201は、カプセル化用のMPLS出力ラベル及びブロードキャスト宛先MACアドレスを含むMPLSヘッダ及びMACヘッダを付与し、受信したフレームをカプセル化して、カプセル化した受信フレームを送信する(809)。
なお、ステップ802の処理で、受信したフレームに対応するMPLS−TP通信網200内のパスを特定できないと判定された場合(802:No)、ステップ809の処理に進み、受信したフレームをカプセル化して、カプセル化した受信フレームを送信する。
ステップ801の処理で、受信したフレームがMPLSフレームであると判定された場合(801:Yes)、パケットトランスポート装置201は、パス対応MAC学習テーブル205内に、受信したMPLSフレームに含まれるMPLSラベルに対応するパスに該当するエントリを保持しているか否かを判定する(810)。
ステップ810の処理で、受信したMPLSフレームに対応するパスに該当するエントリを保持していないと判定された場合(810:No)、パケットトランスポート装置201は、対向装置であるパケットトランスポート装置201にMPLSフレームを送信する場合にMPLSラベルスイッチの実施が可能か否かを判定できないため、カプセル化用のMPLS出力ラベルを含むMPLSヘッダ及びブロードキャスト宛先MACアドレスを含むMACヘッダを付与し、受信したMPLSフレームをカプセル化して、カプセル化したMPLSフレームを送信する(811)。
一方、ステップ810の処理で、受信したMPLSフレームに対応するパスに該当するエントリを保持していると判定された場合(810:Yes)、パケットトランスポート装置201は、パス対応MAC学習テーブル205の該当するエントリの宛先MACアドレス303にMACアドレスが登録されているか否かを判定する(812)。
ステップ812の処理で、該当するエントリの宛先MACアドレス303にMACアドレスが登録されていると判定された場合(812:Yes)、パケットトランスポート装置201は、該当するエントリのMACアドレス有効時間304に登録された時間を初期値に更新する(813)。なお、ステップ813の処理は、図7に示す707及び727の処理に対応する。
次に、パケットトランスポート装置201は、パス対応MAC学習テーブル205の該当するエントリのラベルスイッチ可否フラグ305に有効が設定されているか否かを判定する(821)。
ステップ821の処理で、該当するエントリのラベルスイッチ可否フラグ305に有効が設定されていないと判定された場合(821:No)、パケットトランスポート装置201は、該当するエントリのラベルスイッチ可否フラグ305に有効を設定し(822)、ステップ811の処理に進み、受信したMPLSフレームをカプセル化して、カプセル化したMPLSフレームを送信する。なお、ステップ822の処理は、図7に示す722の処理に対応する。
ステップ821の処理で、該当するエントリのラベルスイッチ可否フラグ305に有効が設定されていると判定された場合(821:Yes)、パケットトランスポート装置201は、該当するエントリのフラグ有効時間306に登録された時間を初期値に更新する(823)。なお、ステップ823の処理は、図7に示す707及び727の処理に対応する。
そして、パケットトランスポート装置201は、ステップ810の処理で特定された当該パスが障害状態であるか否かを判定する(824)。
ステップ824の処理で、パスが障害状態であると判定された場合(824:Yes)、パケットトランスポート装置201は、ステップ811の処理に進み、受信したMPLSフレームをカプセル化して、カプセル化したMPLSフレームを送信する。
一方、ステップ824の処理で、パスが障害状態でないと判定された場合(824:No)、パケットトランスポート装置201は、受信したMPLSフレームのMPLSヘッダの入力MPLSラベルを出力ラベルに変換し、受信したMPLSフレームのMACヘッダの宛先MACアドレスをパス対応MAC学習テーブル205の該当するエントリの宛先MACアドレス303に保持しているユニキャストMACアドレスに変換して、MPLSフレームを対向装置であるパケットトランスポート装置201に送信、すなわちMPLSラベルスイッチする(825)。
ステップ812の処理で、該当するエントリの宛先MACアドレス303にMACアドレスが登録されていないと判定された場合(812:No)、パケットトランスポート装置201は、該当するエントリの宛先MACアドレス303に、受信したMPLSフレームの宛先MACアドレスを登録する(814)。なお、ステップ814の処理は、図7に示す722の処理に対応する。
次に、パケットトランスポート装置201は、パス対応MAC学習テーブル205の該当するエントリのラベルスイッチ可否フラグ305に有効が設定されているか否かを判定する(831)。
ステップ831の処理で、該当するエントリのラベルスイッチ可否フラグ305に有効が設定されていないと判定された場合(831:No)、パケットトランスポート装置201は、該当するエントリのラベルスイッチ可否フラグ305に有効を設定し(832)、ステップ811の処理に進み、受信したMPLSフレームをカプセル化して、カプセル化したMPLSフレームを送信する。なお、ステップ832の処理は、図7に示す722の処理に対応する。
ステップ831の処理で、該当するエントリのラベルスイッチ可否フラグ305に有効が設定されていると判定された場合(831:Yes)、パケットトランスポート装置201は、該当するエントリのフラグ有効時間306に登録された時間を初期値に更新する(833)。なお、ステップ833の処理は、図7に示す707及び727の処理に対応する。
そして、パケットトランスポート装置201は、ステップ810の処理で特定された当該パスが障害状態であるか否かを判定する(834)。
ステップ834の処理で、パスが障害状態であると判定された場合(834:Yes)、パケットトランスポート装置201は、ステップ811の処理に進み、受信したMPLSフレームをカプセル化して、カプセル化したMPLSフレームを送信する。
一方、ステップ834の処理で、パスが障害状態でないと判定された場合(834:No)、パケットトランスポート装置201は、受信したMPLSフレームのMPLSヘッダの入力MPLSラベルを出力ラベルに変換し、受信したMPLSフレームのMACヘッダの宛先MACアドレスをブロードキャストMACアドレスに変換して、MPLSフレームを対向装置であるパケットトランスポート装置201に送信、すなわちMPLSラベルスイッチする(835)。
図9Aは、本発明の第2実施形態のパケットトランスポート装置201がMPLS−TP通信網の内部から受信したフレームがカプセル化フレームである場合の処理のフローチャートである。図9Bは、本発明の第2実施形態のパケットトランスポート装置201がMPLS−TP通信網の内部から受信したフレームがカプセル化フレームでない場合の処理のフローチャートである。これらの処理は、パケットトランスポート装置201の図示しないプロセッサによって実行される。
まず、パケットトランスポート装置201は、受信したフレームがカプセル化されたフレームであるか否かを判定する(901)。
ステップ901の処理で、受信したフレームがカプセル化されたフレームであると判定された場合(901:Yes)、パケットトランスポート装置201は、カプセル化内部のフレームがMPLSフレームであるか否かを判定する(902)。具体的には、パケットトランスポート装置201は、カプセル化内部のフレームにMPLSヘッダが含まれているか否かを判定する。
ステップ902の処理で、カプセル化内部のフレームがMPLSフレームでないと判定された場合(902:No)、パケットトランスポート装置201は、カプセル化内部のフレームに対応するMPLS−TP通信網200内のパスを特定できるか否かを判定する(903)。カプセル化内部のフレームがパスの確立又は解除のためのシグナリングデータであれば、MPLSラベルがカプセル化内部のフレームのペイロード部に含まれるので、パケットトランスポート装置201は、MPLS転送テーブル207を参照し、当該フレームに対応するMPLS−TP通信網200内のパスを特定できる。
ステップ903の処理で、カプセル化内部のフレームに対応するMPLS−TP通信網200内のパスを特定できると判定された場合(903:Yes)、カプセル化内部のフレームはパスの確立又は解除のためのシグナリングデータであるので、パケットトランスポート装置201は、パス対応MAC管理テーブル205を更新すべく、ステップ904以降の処理に進む。
まず、パケットトランスポート装置201は、パス対応MAC学習テーブル205内に、カプセル化内部のフレームに対応するパスに該当するエントリを保持しているか否かを判定する(904)。
ステップ904の処理で、カプセル化内部のフレームに対応するパスに該当するエントリを保持していないと判定された場合(904:No)、パス対応MAC学習テーブル205内に更新するエントリが存在しないので、ステップ908の処理に進む。
一方、ステップ904の処理で、カプセル化内部のフレームに対応するパスに該当するエントリを保持していると判定された場合(904:Yes)、パケットトランスポート装置201は、カプセル化内部のフレームがパスの解除のためのシグナリングデータであるか否かを判定する(905)。
ステップ905の処理で、カプセル化内部のフレームがパスの解除のためのシグナリングデータでないと判定された場合(905:No)、すなわち、カプセル化内部のフレームがパスの確立のためのシグナリングデータである場合、パケットトランスポート装置201は、パス対応MAC学習テーブル205の該当するエントリの、宛先MACアドレス303にカプセル化内部のシグナリングデータの送信元MACアドレスを登録、ラベルスイッチ可否フラグ305に有効を設定し(906)、ステップ908の処理に進む。なお、ステップ906の処理は、図7に示す704の処理に対応する。
一方、ステップ905の処理で、カプセル化内部のフレームがパスの解除のためのシグナリングデータであると判定された場合(905:Yes)、パケットトランスポート装置201は、パス対応MAC学習テーブル205の該当するエントリの、宛先MACアドレス303に登録されたMACアドレスを削除、ラベルスイッチ可否フラグ305に無効を設定し(907)、ステップ908の処理に進む。なお、ステップ907の処理は、図7に示す734の処理に対応する。
ステップ906の処理でパス対応MAC学習テーブル205の宛先MACアドレス303にMACアドレスが登録されラベルスイッチ可否フラグ305に有効が設定された場合、又は、ステップ907の処理でパス対応MAC学習テーブル205の宛先MACアドレス303のMACアドレスが削除されラベルスイッチ可否フラグ305に無効が設定された場合、パケットトランスポート装置201は、受信したフレームをデカプセル化して送信する(908)。
なお、ステップ903の処理で、カプセル化内部のフレームに対応するMPLS−TP通信網200内のパスを特定できないと判定された場合(903:No)、ステップ908の処理に進み、受信したフレームをデカプセル化して送信する。
ステップ902の処理で、カプセル化内部のフレームがMPLSフレームであると判定された場合(902:Yes)、パケットトランスポート装置201は、パス対応MAC学習テーブル205内に、カプセル化内部のMPLSフレームに含まれるMPLSラベルに対応するパスに該当するエントリを保持しているか否かを判定する(909)。
ステップ909の処理で、カプセル化内部のMPLSフレームに対応するパスに該当するエントリを保持していないと判定された場合(909:No)、パス対応MAC学習テーブル205内に更新するエントリが存在しないので、ステップ908の処理に進み、受信したフレームをデカプセル化して送信する。
一方、ステップ909の処理で、カプセル化内部のMPLSフレームに対応するパスに該当するエントリを保持していると判定された場合(909:Yes)、パケットトランスポート装置201は、パス対応MAC学習テーブル205の該当するエントリの宛先MACアドレス303に、カプセル化内部のMPLSフレームの宛先MACアドレスを登録し(910)、ステップ911の処理に進む。なお、ステップ910の処理は、図7に示す724の処理に対応する。
ステップ910の処理でパス対応MAC学習テーブル205の宛先MACアドレス303にMACアドレスが登録された場合、パケットトランスポート装置201は、ステップ909の処理で特定された当該パスが障害状態として設定されているか否かを判定する(911)。
ステップ911の処理で、当該パスが障害状態として設定されていると判定された場合(911:Yes)、パケットトランスポート装置201は当該障害状態の設定を解除し(912)、ステップ908の処理に進み、受信したフレームをデカプセル化して送信する。
一方、ステップ911の処理で、当該パスが障害状態として設定されていないと判定された場合(911:No)、パケットトランスポート装置201は、ステップ908の処理に進み、受信したフレームをデカプセル化して送信する。
ステップ901の処理で、受信したフレームがカプセル化されたフレームでないと判定された場合(901:No)、すなわち、受信したフレームはMPLSラベルスイッチされたMPLSフレームである場合、パケットトランスポート装置201は、パス対応MAC学習テーブル205内に、受信したMPLSフレームに含まれるMPLSラベルに対応するパスに該当するエントリを保持しているか否かを判定する(913)。
ステップ913の処理で、受信したMPLSフレームに対応するパスに該当するエントリを保持していると判定された場合(913:Yes)、パケットトランスポート装置201は、パス対応MAC学習テーブル205の該当するエントリの宛先MACアドレス303にMACアドレスが登録されているか否かを判定する(914)。
ステップ914の処理で、該当するエントリの宛先MACアドレス303にMACアドレスが登録されていると判定された場合(914:Yes)、パケットトランスポート装置201は、該当するエントリの宛先MACアドレス303に登録されているMACアドレスと受信したMPLSフレームの宛先MACアドレスが一致するか否かを判定する(915)。
ステップ915の処理で、該当するエントリの宛先MACアドレス303に登録されているMACアドレスと受信したMPLSフレームの宛先MACアドレスが一致すると判定された場合(915:Yes)、パケットトランスポート装置201は、該当するエントリのMACアドレス有効時間304に登録された時間を初期値に更新する(916)。なお、ステップ916の処理は、図7に示す709及び729の処理に対応する。
そして、パケットトランスポート装置201は、受信したMPLSフレームのMPLSヘッダの入力MPLSラベルを出力ラベルに変換して、MPLSフレームをルータ101に送信する(917)。
ステップ915の処理で、該当するエントリの宛先MACアドレス303に登録されているMACアドレスと受信したMPLSフレームの宛先MACアドレスが一致しないと判定された場合(915:No)、パケットトランスポート装置201は、ステップ917の処理に進み、受信したMPLSフレームのMPLSヘッダの入力MPLSラベルを出力ラベルに変換して、MPLSフレームをルータ101に送信する。
ステップ913の処理で、受信したMPLSフレームに対応するパスに該当するエントリを保持していないと判定された場合(913:No)、又は、ステップ914の処理で、該当するエントリの宛先MACアドレス303にMACアドレスが登録されていないと判定された場合(914:No)、パケットトランスポート装置201は、ステップ913の処理で特定された当該パスが障害状態として設定されているか否かを判定する(918)。
ステップ918の処理で、当該パスが障害状態として設定されていると判定された場合(918:Yes)、パケットトランスポート装置201は、受信したMPLSフレームのMACヘッダの宛先MACアドレスに設定するユニキャストMACアドレスを保持していないため、受信したMPLSフレームを廃棄する(920)。
一方、ステップ918の処理で、当該パスが障害状態として設定されていないと判定された場合(918:No)、パケットトランスポート装置201は、当該パスを障害状態として設定し(919)、ステップ920の処理に進み、受信したMPLSフレームを廃棄する。
以上のように、本実施形態では、MPLSフレームをルータ101から受信したパケットトランスポート装置201は、MPLS−TP通信網200内で通信されるMPLSフレームのMACヘッダに、宛先となるルータ101のユニキャストMACアドレスを付与して送信する。これによって、当該MPLSフレームを受信してルータ101に送信するパケットトランスポート装置201は、受信したMPLSフレームの宛先MACアドレス変換処理を実施する必要はなく、通信の正確性を向上させることができる。
(第3実施形態)
第1実施形態では、パケットトランスポート装置201は、MPLS−TP通信網200内で通信されるMPLSフレームのMACヘッダに、ブロードキャストMACアドレスを付与して送信する。第3実施形態では、パケットトランスポート装置201は、MPLS−TP通信網200内で通信されるMPLSフレームのMACヘッダに、対向装置となるパケットトランスポート装置201のユニキャストMACアドレスを付与して送信する。これによって、通信の正確性を向上させることができる。
本発明の第3実施形態を図10〜図12を用いて説明する。
図10は、本発明の第3実施形態の宛先MACアドレス学習処理のシーケンス図である。
ルータ101Aは、データの送信を開始する場合、パス確立要求をIPフレームでルータ101Bに送信する(不図示)。ルータ101Bは、パス確立要求を受信した場合、ルータ101Aとルータ101Bの間の当該パスに割り当てるMPLSラベルをペイロード部に含むIPフレームをパス確立のためのシグナリングデータとしてルータ101Aに送信する(1001)。なお、このシグナリングデータは、送信元のルータ101BのユニキャストMACアドレス及び送信先のルータ101AのユニキャストMACアドレスを含む。
パケットトランスポート装置201Bは、パス確立のためのシグナリングデータを受信した場合、パス対応MAC学習テーブル205の受信したシグナリングデータに対応するパスを示すエントリの宛先MACアドレス303に、受信したシグナリングデータに含まれるルータ101BのユニキャストMACアドレスを登録する(1002)。具体的には、パケットトランスポート装置201Bは、MPLS転送テーブル207を参照し、受信したシグナリングデータのペイロード部に含まれるMPLSラベル(出力ラベル)に対応するMPLSラベル(入力ラベル)を特定する。そして、パケットトランスポート装置201Bは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが特定した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが受信した出力ラベルと一致するエントリの、宛先MACアドレス303に受信したシグナリングデータのMACヘッダに含まれるルータ101BのユニキャストMACアドレスを登録し、MACアドレス有効時間304に有効時間の初期値を設定する。
次に、パケットトランスポート装置201Bは、受信したシグナリングデータにカプセル化用のMPLS出力ラベルを含むMPLSヘッダ及びブロードキャスト宛先MACアドレスを含むMACヘッダを付与し、受信したシグナリングデータをカプセル化する。そして、パケットトランスポート装置201Bは、カプセル化したシグナリングデータをパケットトランスポート装置201Aに送信する(1003)。なお、このカプセル化されたシグナリングデータは、送信元のパケットトランスポート装置201BのユニキャストMACアドレスを含む。
パケットトランスポート装置201Aは、カプセル化されたパス確立のためのシグナリングデータを受信した場合、パス対応MAC学習テーブル205の受信したカプセル化内部のシグナリングデータに対応するパスを示すエントリの、宛先MACアドレス303に、受信したカプセル化されたシグナリングデータに含まれるパケットトランスポート装置201BのユニキャストMACアドレスを登録し、ラベルスイッチ可否フラグ305に、有効を設定する(1004)。具体的には、パケットトランスポート装置201Aは、MPLS転送テーブル207を参照し、受信したカプセル化内部のシグナリングデータのペイロード部に含まれるMPLSラベル(出力ラベル)に対応するMPLSラベル(入力ラベル)を特定する。そして、パケットトランスポート装置201Aは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが特定した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが受信した出力ラベルと一致するエントリの、宛先MACアドレス303に受信したカプセル化されたシグナリングデータのMACヘッダに含まれるパケットトランスポート装置201BのユニキャストMACアドレスを登録し、MACアドレス有効時間304に有効時間の初期値を設定する。さらに、ラベルスイッチ可否フラグ305に有効を設定し、フラグ有効時間306に有効時間の初期値を設定する。
次に、パケットトランスポート装置201Aは、受信したカプセル化されたシグナリングデータをデカプセル化し、デカプセル化により元のIPフレームに戻ったシグナリングデータをルータ101Aに送信する(1005)。
以上の1001〜1005の処理によって、ルータ101Aからルータ101Bにデータを送信するためのパスが確立される。また、パケットトランスポート装置201Aは、パス対応MAC学習テーブル205の該当エントリの宛先MACアドレス303にパケットトランスポート装置201BのユニキャストMACアドレスを登録し、ラベルスイッチ可否フラグ305に有効を設定し、パケットトランスポート装置201Bは、パス対応MAC学習テーブル205の該当エントリの宛先MACアドレス303にルータ101BのユニキャストMACアドレスを登録する。
次に、ルータ101Aは、MPLSフレームをパケットトランスポート装置201Aに送信する(1006)。なお、ルータ101Aが送信するMPLSフレームのMPLSヘッダは、当該データの送信に用いるMPLSラベルを含み、MACヘッダは、宛先となるルータ101BのユニキャストMACアドレスを含む。
パケットトランスポート装置201Aは、ルータ101Aによって送信されたMPLSフレームを受信した場合、受信したMPLSフレームをMPLSラベルスイッチにより対向装置であるパケットトランスポート装置201Bに送信可能か否かを、パス対応MAC学習テーブル205を参照して、判定する。具体的には、パケットトランスポート装置201Aは、MPLS転送テーブル207を参照し、受信したMPLSフレームのMPLSヘッダに含まれるMPLSラベル(入力ラベル)に対応するMPLSラベル(出力ラベル)を特定する。そして、パケットトランスポート装置201Aは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが受信した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが特定した出力ラベルと一致するエントリのラベルスイッチ可否フラグ305に有効が設定されているか否かを確認する。
1004の処理で、ラベルスイッチ可否フラグ305に有効が設定されているので、パケットトランスポート装置201Aは、受信したMPLSフレームをMPLSラベルスイッチにより対向装置であるパケットトランスポート装置201Bに送信可能と判定し、1007及び1008の処理を実行する。
パケットトランスポート装置201Aは、パス対応MAC学習テーブル205の受信したMPLSフレームに対応するパスを示すエントリの、MACアドレス有効時間304に登録された時間を初期値に更新し、フラグ有効時間306に登録された時間を初期値に更新する(1007)。具体的には、パケットトランスポート装置201Aは、MPLS転送テーブル207を参照し、受信したMPLSフレームのMPLSヘッダに含まれるMPLSラベル(入力ラベル)に対応するMPLSラベル(出力ラベル)を特定する。そして、パケットトランスポート装置201Aは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが受信した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが特定した出力ラベルと一致するエントリの、MACアドレス有効時間304に登録された時間を初期値に更新し、フラグ有効時間306に登録された時間を初期値に更新する。
また、パケットトランスポート装置201Aは、当該エントリの宛先MACアドレス303に登録されたMACアドレス(パケットトランスポート装置201BのユニキャストMACアドレス)を取得する。そして、パケットトランスポート装置201Aは、受信したMPLSフレームのMPLSヘッダの入力ラベルを出力ラベルに変換し、受信したMPLSフレームのMACヘッダの宛先MACアドレスを取得したパケットトランスポート装置201BのユニキャストMACアドレスに変換して、MPLSフレームをパケットトランスポート装置201Bに送信、すなわち、MPLSラベルスイッチする(1008)。
パケットトランスポート装置201Bは、パケットトランスポート装置201Aによって送信されたMPLSフレームを受信した場合、パス対応MAC学習テーブル205のMACアドレス有効時間304に登録された時間を初期値に更新する(1009)。具体的には、パケットトランスポート装置201Bは、MPLS転送テーブル207を参照し、受信したMPLSフレームのMPLSヘッダに含まれるMPLSラベル(入力ラベル)に対応するMPLSラベル(出力ラベル)を特定する。そして、パケットトランスポート装置201Bは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが受信した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが特定した出力ラベルと一致するエントリのMACアドレス有効時間304に登録された時間を初期値に更新する。
また、パケットトランスポート装置201Bは、当該エントリの宛先MACアドレス303に登録されたMACアドレス(ルータ101BのユニキャストMACアドレス)を取得する。そして、パケットトランスポート装置201Bは、受信したMPLSフレームのMACヘッダのパケットトランスポート装置201BのユニキャストMACアドレスを取得したルータ101BのユニキャストMACアドレスに変換し、受信したMPLSフレームのMPLSヘッダのMPLSラベルを出力ラベルに変換して、MPLSフレームをルータ101Bに送信する(1010)。
なお、パケットトランスポート装置201Aは、ルータ101Aによって送信されたMPLSフレームを、パス対応MAC学習テーブル205の、MACアドレス有効時間304に登録された時間を超過して受信しない場合、宛先MACアドレス303に登録されたMACアドレスを削除し、フラグ有効時間306に登録された時間を超過して受信しない場合、ラベルスイッチ可否フラグ305に設定されたフラグを無効に設定する(1011)。同様に、パケットトランスポート装置201Bは、ルータ101Aによって送信されたMPLSフレームを、パス対応MAC学習テーブル205の、MACアドレス有効時間304に登録された時間を超過して受信しない場合、宛先MACアドレス303に登録されたMACアドレスを削除する(1012)。
次に、1011の処理でパケットトランスポート装置201Aのパス対応MAC学習テーブル205のパス対応MAC学習テーブル205の宛先MACアドレス303が削除され、ラベルスイッチ可否フラグ305が無効に設定され、1012の処理でパケットトランスポート装置201Bのパス対応MAC学習テーブル205の宛先MACアドレス303が削除された後に、ルータ101AによってMPLSフレームが送信された場合(1021)のシーケンスについて説明する。なお、1021の処理でルータ101Aによって送信されるMPLSフレームのMPLSヘッダ及びMACヘッダは、1006の処理でルータ101Aによって送信されるMPLSフレームのMPLSヘッダ及びMACヘッダと同じく、当該データの送信に用いるMPLSラベル及び宛先となるルータ101BのユニキャストMACアドレスを含む。
まず、パケットトランスポート装置201Aは、ルータ101Aによって送信されたMPLSフレームを受信した場合、パス対応MAC学習テーブル205の受信したMPLSフレームに対応するパスを示すエントリの、ラベルスイッチ可否フラグ305に、有効を設定する(1022)。具体的には、パケットトランスポート装置201Aは、MPLS転送テーブル207を参照し、受信したMPLSフレームのMPLSヘッダに含まれるMPLSラベル(入力ラベル)に対応するMPLSラベル(出力ラベル)を特定する。そして、パケットトランスポート装置201Aは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが受信した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが特定した出力ラベルと一致するエントリの、ラベルスイッチ可否フラグ305に有効を設定し、フラグ有効時間306に有効時間の初期値を設定する。
また、パケットトランスポート装置201Aは、当該MPLSフレーム受信時には当該エントリの宛先MACアドレス303にMACアドレスは登録されておらずラベル可否フラグ305は無効に設定されているため、カプセル化用のMPLS出力ラベルを含むMPLSヘッダ及びブロードキャスト宛先MACアドレスを含むMACヘッダを付与し、受信したMPLSフレームをカプセル化する。そして、パケットトランスポート装置201Aは、カプセル化したMPLSフレームをパケットトランスポート装置201Bに送信する(1023)。
パケットトランスポート装置201Bは、パケットトランスポート装置201Aによって送信されたカプセル化されたMPLSフレームを受信した場合、パス対応MAC学習テーブル205の受信したカプセル化内部のMPLSフレームに対応するパスを示すエントリの宛先MACアドレス303に、受信したカプセル化内部のMPLSフレームに含まれるルータ101BのユニキャストMACアドレスを登録する(1024)。具体的には、パケットトランスポート装置201Bは、MPLS転送テーブル207を参照し、受信したカプセル化内部のMPLSフレームのMPLSヘッダに含まれるMPLSラベル(入力ラベル)に対応するMPLSラベル(出力ラベル)を特定する。そして、パケットトランスポート装置201Bは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが受信した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが特定した出力ラベルと一致するエントリの、宛先MACアドレス303に受信したカプセル化内部のMPLSフレームのMACヘッダに含まれるルータ101BのユニキャストMACアドレスを登録し、MACアドレス有効時間304に有効時間の初期値を設定する。
次に、パケットトランスポート装置201Bは、受信したカプセル化されたMPLSフレームをデカプセル化し、デカプセル化により元のMPLSフレームに戻ったMPLSフレームを、MPLSヘッダ(ルータ101Aによって付与されたMPLSヘッダ)及びMACヘッダ(ルータ101Aによって付与されたMACヘッダ)はそのままで、ルータ101Bに送信する(1025)。
以上の1021〜1025の処理によって、パケットトランスポート装置201BがMPLSフレームの宛先となるルータ101BのMACアドレスを保持していない場合、パケットトランスポート装置201Aは、MPLSフレームをカプセル化して送信するため、MPLSフレームを正しく転送することができる。また、パケットトランスポート装置201Aは、パス対応MAC学習テーブル205の該当エントリのラベルスイッチ可否フラグ305に有効を設定し、パケットトランスポート装置201Bは、パス対応MAC学習テーブル205の該当エントリの宛先MACアドレス303にルータ101BのユニキャストMACアドレスを登録する。
次に、ルータ101Aは、MPLSフレームをパケットトランスポート装置201Aに送信する(1026)。なお、ルータ101Aが送信するMPLSフレームのMPLSヘッダ及びMACヘッダは、当該データの送信に用いるMPLSラベル及び宛先となるルータ101BのユニキャストMACアドレスを含む。
パケットトランスポート装置201Aは、ルータ101Aによって送信されたMPLSフレームを受信した場合、受信したMPLSフレームをMPLSラベルスイッチにより対向装置であるパケットトランスポート装置201Bに送信可能か否かを、パス対応MAC学習テーブル205を参照して、判定する。具体的には、パケットトランスポート装置201Aは、MPLS転送テーブル207を参照し、受信したMPLSフレームのMPLSヘッダに含まれるMPLSラベル(入力ラベル)に対応するMPLSラベル(出力ラベル)を特定する。そして、パケットトランスポート装置201Aは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが受信した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが特定した出力ラベルと一致するエントリのラベルスイッチ可否フラグ305に有効が設定されているか否かを確認する。
1004の処理で、ラベルスイッチ可否フラグ305に有効が設定されているので、パケットトランスポート装置201Aは、受信したMPLSフレームをMPLSラベルスイッチにより対向装置であるパケットトランスポート装置201Bに送信可能と判定し、1027及び1028の処理を実行する。
パケットトランスポート装置201Aは、パス対応MAC学習テーブル205の受信したMPLSフレームに対応するパスを示すエントリの、フラグ有効時間306に登録された時間を初期値に更新する(1027)。具体的には、パケットトランスポート装置201Aは、MPLS転送テーブル207を参照し、受信したMPLSフレームのMPLSヘッダに含まれるMPLSラベル(入力ラベル)に対応するMPLSラベル(出力ラベル)を特定する。そして、パケットトランスポート装置201Aは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが受信した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが特定した出力ラベルと一致するエントリの、フラグ有効時間306に登録された時間を初期値に更新する。なお、当該エントリの宛先MACアドレス303にMACアドレスが登録されていないため、MACアドレス有効時間304に登録された時間を初期値に更新しない。
また、パケットトランスポート装置201Aは、当該エントリの宛先MACアドレス303にMACアドレスが登録されていないため、受信したMPLSフレームのMPLSヘッダの入力ラベルを出力ラベルに変換し、受信したMPLSフレームのMACヘッダの宛先MACアドレスをブロードキャストMACアドレスに変換して、MPLSフレームをパケットトランスポート装置201Bに送信、すなわち、MPLSラベルスイッチする(1028)。
パケットトランスポート装置201Bは、パケットトランスポート装置201Aによって送信されたMPLSフレームを受信した場合、パス対応MAC学習テーブル205のMACアドレス有効時間304に登録された時間を初期値に更新する(1029)。具体的には、パケットトランスポート装置201Bは、MPLS転送テーブル207を参照し、受信したMPLSフレームのMPLSヘッダに含まれるMPLSラベル(入力ラベル)に対応するMPLSラベル(出力ラベル)を特定する。そして、パケットトランスポート装置201Bは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが受信した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが特定した出力ラベルと一致するエントリのMACアドレス有効時間304に登録された時間を初期値に更新する。
また、パケットトランスポート装置201Bは、当該エントリの宛先MACアドレス303に登録されたMACアドレス(ルータ101BのユニキャストMACアドレス)を取得する。そして、パケットトランスポート装置201Bは、受信したMPLSフレームのMACヘッダのブロードキャスト宛先MACアドレスを取得したルータ101BのユニキャストMACアドレスに変換し、受信したMPLSフレームのMPLSヘッダのMPLSラベルを出力ラベルに変換して、MPLSフレームをルータ101Bに送信する(1030)。
次に、ルータ101Bは、MPLSフレームをパケットトランスポート装置201Bに送信する(1031)。なお、ルータ101Bが送信するMPLSフレームのMPLSヘッダ及びMACヘッダは、ルータ101Bからルータ101Aへのデータ送信に用いるMPLSラベル及び送信元となるルータ101BのユニキャストMACアドレスを含む。
パケットトランスポート装置201Bは、ルータ101Bからルータ101AへのMPLSフレームを受信した場合、パス対応MAC学習テーブル205の受信したMPLSフレームに対応するパスと対になる逆方向のパスを示すエントリの宛先MACアドレス303に、受信したMPLSフレームに含まれるルータ101BのユニキャストMACアドレスを登録する(1032)。具体的には、パケットトランスポート装置201Bは、MPLS転送テーブル207を参照し、受信したMPLSフレームのMPLSヘッダに含まれるMPLSラベルに対応するパスと対になる逆方向のパスのMPLSラベル(入力ラベル)及びMPLSラベル(出力ラベル)を特定する。そして、パケットトランスポート装置201Bは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが特定した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが特定した出力ラベルと一致するエントリの、宛先MACアドレス303に受信したMPLSフレームのMACヘッダに含まれるルータ101BのユニキャストMACアドレスを登録し、MACアドレス有効時間304に有効時間の初期値を設定する。
次に、パケットトランスポート装置201Bは、受信したMPLSフレームにカプセル化用のMPLS出力ラベルを含むMPLSヘッダ及びブロードキャスト宛先MACアドレスを含むMACヘッダを付与し、受信したMPLSフレームをカプセル化する。そして、パケットトランスポート装置201Bは、カプセル化したMPLSフレームをパケットトランスポート装置201Aに送信する(1033)。なお、このカプセル化されたMPLSフレームは、送信元のパケットトランスポート装置201BのユニキャストMACアドレスを含む。
パケットトランスポート装置201Aは、カプセル化されたMPLSフレームを受信した場合、パス対応MAC学習テーブル205の受信したカプセル化内部のMPLSフレームに対応するパスと対になる逆方向のパスを示すエントリの、宛先MACアドレス303に、受信したカプセル化されたMPLSフレームに含まれるパケットトランスポート装置201BのユニキャストMACアドレスを登録し、ラベルスイッチ可否フラグ305に、有効を設定する(1034)。具体的には、パケットトランスポート装置201Aは、MPLS転送テーブル207を参照し、受信したカプセル化内部のMPLSフレームのMPLSヘッダに含まれるMPLSラベルに対応するパスと対になる逆方向のパスのMPLSラベル(入力ラベル)及びMPLSラベル(出力ラベル)を特定する。そして、パケットトランスポート装置201Aは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが特定した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが特定した出力ラベルと一致するエントリの、宛先MACアドレス303に受信したカプセル化されたMPLSフレームのMACヘッダに含まれるパケットトランスポート装置201BのユニキャストMACアドレスを登録し、MACアドレス有効時間304に有効時間の初期値を設定する。さらに、ラベルスイッチ可否フラグ305に有効を設定し、フラグ有効時間306に有効時間の初期値を設定する。
次に、パケットトランスポート装置201Aは、受信したカプセル化されたMPLSフレームをデカプセル化し、デカプセル化により元のMPLSフレームに戻ったシグナリングデータをルータ101Aに送信する(1035)。
以上の1031〜1035の処理によって、パケットトランスポート装置201Aは、パス対応MAC学習テーブル205の該当エントリの宛先MACアドレス303にパケットトランスポート装置201BのユニキャストMACアドレスを登録、ラベルスイッチ可否フラグ305に有効を設定し、パケットトランスポート装置201Bは、パス対応MAC学習テーブル205の該当エントリの宛先MACアドレス303にルータ101BのユニキャストMACアドレスを登録する。
なお、図10に示す1036〜1040の処理は、1006〜1010の処理と同じであるので、説明を省略する。
次に、ルータ101Aからルータ101Bへのデータの送信に用いるパスを解除する場合の処理について説明する。
ルータ101Aは、データの送信を終了する場合、パス解除要求をIPフレームでルータ101Bに送信する(不図示)。ルータ101Bは、パス解除要求を受信した場合、解除するパスのMPLSラベルをペイロード部に含むIPフレームをパス解除のためのシグナリングデータとしてルータ101Aに送信する(1041)。なお、このシグナリングデータは、送信元のルータ101BのユニキャストMACアドレス及び送信先のルータ101AのユニキャストMACアドレスを含む。
パケットトランスポート装置201Bは、パス解除のためのシグナリングデータを受信した場合、パス対応MAC学習テーブル205の受信したシグナリングデータに対応するパスを示すエントリの宛先MACアドレス303に登録されたMACアドレスを削除する(1042)。具体的には、パケットトランスポート装置201Bは、MPLS転送テーブル207を参照し、受信したシグナリングデータのペイロード部に含まれるMPLSラベル(出力ラベル)に対応するMPLSラベル(入力ラベル)を特定する。そして、パケットトランスポート装置201Bは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが特定した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが受信した出力ラベルと一致するエントリの、宛先MACアドレス303に登録されたMACアドレスを削除する。
次に、パケットトランスポート装置201Bは、受信したシグナリングデータにカプセル化用のMPLS出力ラベル及びブロードキャスト宛先MACアドレスを含むMPLSヘッダ及びMACヘッダを付与し、受信したシグナリングデータをカプセル化する。そして、パケットトランスポート装置201Bは、カプセル化したシグナリングデータをパケットトランスポート装置201Aに送信する(1043)。
パケットトランスポート装置201Aは、カプセル化されたパス解除のためのシグナリングデータを受信した場合、パス対応MAC学習テーブル205の受信したカプセル化内部のシグナリングデータに対応するパスを示すエントリの宛先MACアドレス303に登録されたMACアドレスを削除し、ラベルスイッチ可否フラグ305に無効を設定する(1044)。具体的には、パケットトランスポート装置201Aは、MPLS転送テーブル207を参照し、受信したカプセル化内部のシグナリングデータのペイロード部に含まれるMPLSラベル(出力ラベル)に対応するMPLSラベル(入力ラベル)を特定する。そして、パケットトランスポート装置201Aは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが特定した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが受信した出力ラベルと一致するエントリの、宛先MACアドレス303に登録されたMACアドレスを削除し、ラベルスイッチ可否フラグ305に無効を設定する。
次に、パケットトランスポート装置201Aは、受信したカプセル化されたシグナリングデータをデカプセル化し、デカプセル化により元のIPフレームに戻ったシグナリングデータをルータ101Aに送信する(1045)。
以上の1041〜1045の処理によって、ルータ101Aからルータ101Bにデータを送信するためのパスが解除される。
次に、図11A〜図12Bを用いてパケットトランスポート装置201がフレームを受信した場合の処理について説明する。
図11Aは、本発明の第3実施形態のパケットトランスポート装置201がMPLS−TP通信網200の外部から受信したフレームがMPLSフレームでない場合の処理のフローチャートである。図11Bは、本発明の第3実施形態のパケットトランスポート装置201がMPLS−TP通信網200の外部から受信したフレームがMPLSフレームである場合の処理のフローチャートである。これらの処理は、パケットトランスポート装置201の図示しないプロセッサによって実行される。
まず、パケットトランスポート装置201は、受信したフレームがMPLSフレームであるか否かを判定する(1101)。具体的には、パケットトランスポート装置201は、受信したフレームにMPLSヘッダが含まれていれば、受信したフレームがMPLSフレームであると判定し(1101:Yes)、受信したフレームにMPLSヘッダが含まれていなければ、受信したフレームがMPLSフレームでないと判定する(1101:No)。
ステップ1101の処理で、受信したフレームがMPLSフレームでないと判定された場合(1101:No)、パケットトランスポート装置201は、受信したフレームに対応するMPLS−TP通信網200内のパスを特定できるか否かを判定する(1102)。受信したフレームがパスの確立又は解除のためのシグナリングデータであれば、MPLSラベルが受信フレームのペイロード部に含まれるので、パケットトランスポート装置201は、MPLS転送テーブル207を参照し、当該フレームに対応するMPLS−TP通信網200内のパスを特定できる。
ステップ1102の処理で、受信したフレームに対応するMPLS−TP通信網200内のパスを特定できると判定された場合(1102:Yes)、受信したフレームはパスの確立又は解除のためのシグナリングデータであるので、パケットトランスポート装置201は、パス対応MAC管理テーブル205を更新すべく、ステップ1103以降の処理に進む。
まず、パケットトランスポート装置201は、パス対応MAC学習テーブル205内に、受信したフレームに対応するパスに該当するエントリを保持しているか否かを判定する(1103)。
ステップ1103の処理で、受信したフレームに対応するパスに該当するエントリを保持していないと判定された場合(1103:No)、パス対応MAC学習テーブル205内に更新するエントリが存在しないので、ステップ1109の処理に進む。
一方、ステップ1103の処理で、受信したフレームに対応するパスに該当するエントリを保持していると判定された場合(1103:Yes)、パケットトランスポート装置201は、受信したフレームがパスの解除のためのシグナリングデータであるか否かを判定する(1104)。
ステップ1104の処理で、受信したフレームがパスの解除のためのシグナリングデータでないと判定された場合(1104:No)、すなわち、受信したフレームがパスの確立のためのシグナリングデータである場合、パケットトランスポート装置201は、パス対応MAC学習テーブル205の該当するエントリの宛先MACアドレス303に、受信したフレームの送信元MACアドレスを登録し(1105)、ステップ1107の処理に進む。なお、ステップ1105の処理は、図10に示す1002の処理に対応する。
一方、ステップ1104の処理で、受信したフレームがパスの解除のためのシグナリングデータであると判定された場合(1104:Yes)、パケットトランスポート装置201は、パス対応MAC学習テーブル205の該当するエントリの宛先MACアドレス303に登録されたMACアドレスを削除し(1106)、ステップ1107の処理に進む。なお、ステップ1106の処理は、図10に示す1042の処理に対応する。
ステップ1105の処理でパス対応MAC学習テーブル205の宛先MACアドレス303にMACアドレスが登録された場合、又は、ステップ1106の処理でパス対応MAC学習テーブル205の宛先MACアドレス303からMACアドレスが削除された場合、パケットトランスポート装置201は、ステップ502の処理で特定された当該パスが障害状態として設定されているか否かを判定する(1107)。
ステップ1107の処理で、当該パスが障害状態として設定されていると判定された場合(1107:Yes)、パケットトランスポート装置201は当該障害状態の設定を解除し(1108)、ステップ1109の処理に進む。障害状態の設定を解除する理由は、シグナリングデータはパス確立要求又はパス解除要求に対する応答であるので、当該パスに障害は発生していないとみなすからである。
ステップ1107の処理で、当該パスが障害状態として設定されていないと判定された場合(1107:No)、又はステップ1108の処理を実行した場合、パケットトランスポート装置201は、カプセル化用のMPLS出力ラベルを含むMPLSヘッダ及びブロードキャスト宛先MACアドレスを含むMACヘッダを付与し、受信したフレームをカプセル化して、カプセル化した受信フレームを送信する(1109)。
なお、ステップ1102の処理で、受信したフレームに対応するMPLS−TP通信網200内のパスを特定できないと判定された場合(1102:No)、ステップ1109の処理に進み、受信したフレームをカプセル化して、カプセル化した受信フレームを送信する。
ステップ1101の処理で、受信したフレームがMPLSフレームであると判定された場合(1101:Yes)、パケットトランスポート装置201は、パス対応MAC学習テーブル205内に、受信したMPLSフレームに含まれるMPLSラベルに対応するパスと対になる逆方向のパスに該当するエントリを保持しているか否かを判定する(1110)。
ステップ1110の処理で、受信したMPLSフレームに対応するパスと対になる逆方向のパスに該当するエントリを保持していないと判定された場合(1110:No)、パケットトランスポート装置201は、ステップ1112の処理に進む。
一方、ステップ1110の処理で、受信したMPLSフレームに対応するパスと対になる逆方向のパスに該当するエントリを保持していると判定された場合(1110:Yes)、パケットトランスポート装置201は、該当するエントリのMACアドレス有効時間304に登録された時間を初期値に更新し(1111)、ステップ1112の処理に進む。なお、ステップ1111の処理は、図10に示す1032の処理に対応する。
次に、パケットトランスポート装置201は、パス対応MAC学習テーブル205内に、受信したMPLSフレームに含まれるMPLSラベルに対応するパスに該当するエントリを保持しているか否かを判定する(1112)。
ステップ1112の処理で、受信したMPLSフレームに対応するパスに該当するエントリを保持していないと判定された場合(1112:No)、パケットトランスポート装置201は、対向装置であるパケットトランスポート装置201にMPLSフレームを送信する場合にMPLSラベルスイッチの実施が可能か否かを判定できないため、カプセル化用のMPLS出力ラベル及びブロードキャスト宛先MACアドレスを含むMPLSヘッダ及びMACヘッダを付与し、受信したMPLSフレームをカプセル化して、カプセル化したMPLSフレームを送信する(1133)。
一方、ステップ1112の処理で、受信したMPLSフレームに対応するパスに該当するエントリを保持していると判定された場合(1112:Yes)、パケットトランスポート装置201は、パス対応MAC学習テーブル205の該当するエントリの宛先MACアドレス303にMACアドレスが登録されているか否かを判定する(1113)。
ステップ1113の処理で、該当するエントリの宛先MACアドレス303にMACアドレスが登録されていると判定された場合(1113:Yes)、パケットトランスポート装置201は、該当するエントリのMACアドレス有効時間304に登録された時間を初期値に更新する(1114)。なお、ステップ1114の処理は、図10に示す1007及び1037の処理に対応する。
次に、パケットトランスポート装置201は、パス対応MAC学習テーブル205の該当するエントリのラベルスイッチ可否フラグ305に有効が設定されているか否かを判定する(1121)。
ステップ1121の処理で、該当するエントリのラベルスイッチ可否フラグ305に有効が設定されていないと判定された場合(1121:No)、パケットトランスポート装置201は、該当するエントリのラベルスイッチ可否フラグ305に有効を設定し(1122)、カプセル化用のMPLS出力ラベルを含むMPLSヘッダ及び該当するエントリの宛先MACアドレス303に保持しているユニキャストMACアドレスを含むMACヘッダを付与し、受信したMPLSフレームをカプセル化して、カプセル化したMPLSフレームを送信する(1123)。なお、ステップ1122の処理は、図10に示す1022の処理に対応する。
ステップ1121の処理で、該当するエントリのラベルスイッチ可否フラグ305に有効が設定されていると判定された場合(1121:Yes)、パケットトランスポート装置201は、該当するエントリのフラグ有効時間306に登録された時間を初期値に更新する(1124)。なお、ステップ1124の処理は、図10に示す1007及び1027、1037の処理に対応する。
そして、パケットトランスポート装置201は、ステップ1112の処理で特定された当該パスが障害状態であるか否かを判定する(1125)。
ステップ1125の処理で、パスが障害状態であると判定された場合(1125:Yes)、パケットトランスポート装置201は、ステップ1123の処理に進み、受信したMPLSフレームをカプセル化して、カプセル化したMPLSフレームを送信する。
一方、ステップ1125の処理で、パスが障害状態でないと判定された場合(1125:No)、パケットトランスポート装置201は、受信したMPLSフレームのMPLSヘッダの入力MPLSラベルを出力ラベルに変換し、受信したMPLSフレームのMACヘッダの宛先MACアドレスをパス対応MAC学習テーブル205の該当するエントリの宛先MACアドレス303に保持しているユニキャストMACアドレスに変換して、MPLSフレームを対向装置であるパケットトランスポート装置201に送信、すなわちMPLSラベルスイッチする(1126)。
ステップ1113の処理で、該当するエントリの宛先MACアドレス303にMACアドレスが登録されていないと判定された場合(1113:No)、パケットトランスポート装置201は、パス対応MAC学習テーブル205の該当するエントリのラベルスイッチ可否フラグ305に有効が設定されているか否かを判定する(1131)。
ステップ1131の処理で、該当するエントリのラベルスイッチ可否フラグ305に有効が設定されていないと判定された場合(1131:No)、パケットトランスポート装置201は、該当するエントリのラベルスイッチ可否フラグ305に有効を設定し(1132)、ステップ1133の処理に進み、受信したMPLSフレームをカプセル化して、カプセル化したMPLSフレームを送信する。なお、ステップ1132の処理は、図10に示す1022の処理に対応する。
ステップ1131の処理で、該当するエントリのラベルスイッチ可否フラグ305に有効が設定されていると判定された場合(1131:Yes)、パケットトランスポート装置201は、該当するエントリのフラグ有効時間306に登録された時間を初期値に更新する(1134)。なお、ステップ1134の処理は、図10に示す1007及び1027、1037の処理に対応する。
そして、パケットトランスポート装置201は、ステップ1112の処理で特定された当該パスが障害状態であるか否かを判定する(1135)。
ステップ1135の処理で、パスが障害状態であると判定された場合(1135:Yes)、パケットトランスポート装置201は、ステップ1133の処理に進み、受信したMPLSフレームをカプセル化して、カプセル化したMPLSフレームを送信する。
一方、ステップ1135の処理で、パスが障害状態でないと判定された場合(1135:No)、パケットトランスポート装置201は、受信したMPLSフレームのMPLSヘッダの入力MPLSラベルを出力ラベルに変換し、受信したMPLSフレームのMACヘッダの宛先MACアドレスをブロードキャストMACアドレスに変換して、MPLSフレームを対向装置であるパケットトランスポート装置201に送信、すなわちMPLSラベルスイッチする(1136)。
図11Aは、本発明の第3実施形態のパケットトランスポート装置201がMPLS−TP通信網の内部から受信したフレームがカプセル化フレームである場合の処理のフローチャートである。図11Bは、本発明の第3実施形態のパケットトランスポート装置201がMPLS−TP通信網の内部から受信したフレームがカプセル化フレームでない場合の処理のフローチャートである。これらの処理は、パケットトランスポート装置201の図示しないプロセッサによって実行される。
まず、パケットトランスポート装置201は、受信したフレームがカプセル化されたフレームであるか否かを判定する(1201)。
ステップ1201の処理で、受信したフレームがカプセル化されたフレームであると判定された場合(1201:Yes)、パケットトランスポート装置201は、カプセル化内部のフレームがMPLSフレームであるか否かを判定する(1202)。具体的には、パケットトランスポート装置201は、カプセル化内部のフレームにMPLSヘッダが含まれているか否かを判定する。
ステップ1202の処理で、カプセル化内部のフレームがMPLSフレームでないと判定された場合(1202:No)、パケットトランスポート装置201は、カプセル化内部のフレームに対応するMPLS−TP通信網200内のパスを特定できるか否かを判定する(1203)。カプセル化内部のフレームがパスの確立又は解除のためのシグナリングデータであれば、MPLSラベルがカプセル化内部のフレームのペイロード部に含まれるので、パケットトランスポート装置201は、MPLS転送テーブル207を参照し、当該フレームに対応するMPLS−TP通信網200内のパスを特定できる。
ステップ1203の処理で、カプセル化内部のフレームに対応するMPLS−TP通信網200内のパスを特定できると判定された場合(1203:Yes)、カプセル化内部のフレームはパスの確立又は解除のためのシグナリングデータであるので、パケットトランスポート装置201は、パス対応MAC管理テーブル205を更新すべく、ステップ1204以降の処理に進む。
まず、パケットトランスポート装置201は、パス対応MAC学習テーブル205内に、カプセル化内部のフレームに対応するパスに該当するエントリを保持しているか否かを判定する(1204)。
ステップ1204の処理で、カプセル化内部のフレームに対応するパスに該当するエントリを保持していないと判定された場合(1204:No)、パス対応MAC学習テーブル205内に更新するエントリが存在しないので、ステップ1208の処理に進む。
一方、ステップ1204の処理で、カプセル化内部のフレームに対応するパスに該当するエントリを保持していると判定された場合(1204:Yes)、パケットトランスポート装置201は、カプセル化内部のフレームがパスの解除のためのシグナリングデータであるか否かを判定する(1205)。
ステップ1205の処理で、カプセル化内部のフレームがパスの解除のためのシグナリングデータでないと判定された場合(1205:No)、すなわち、カプセル化内部のフレームがパスの確立のためのシグナリングデータである場合、パケットトランスポート装置201は、パス対応MAC学習テーブル205の該当するエントリの、宛先MACアドレス303にカプセル化されたシグナリングデータの送信元MACアドレスを登録、ラベルスイッチ可否フラグ305に有効を設定し(1206)、ステップ1208の処理に進む。なお、ステップ1206の処理は、図10に示す1004の処理に対応する。
一方、ステップ1205の処理で、カプセル化内部のフレームがパスの解除のためのシグナリングデータであると判定された場合(1205:Yes)、パケットトランスポート装置201は、パス対応MAC学習テーブル205の該当するエントリの、宛先MACアドレス303に登録されたMACアドレスを削除し、ラベルスイッチ可否フラグ305に無効を設定し(1207)、ステップ1208の処理に進む。なお、ステップ1207の処理は、図10に示す1044の処理に対応する。
ステップ1206の処理でパス対応MAC学習テーブル205の宛先MACアドレス303にMACアドレスが登録されラベルスイッチ可否フラグ305に有効が設定された場合、又は、ステップ1207の処理でパス対応MAC学習テーブル205の宛先MACアドレス303のMACアドレスが削除されラベルスイッチ可否フラグ305に無効が設定された場合、パケットトランスポート装置201は、受信したフレームをデカプセル化して送信する(1208)。
なお、ステップ1203の処理で、カプセル化内部のフレームに対応するMPLS−TP通信網200内のパスを特定できないと判定された場合(1203:No)、ステップ1208の処理に進み、受信したフレームをデカプセル化して送信する。
ステップ1202の処理で、カプセル化内部のフレームがMPLSフレームであると判定された場合(1202:Yes)、パケットトランスポート装置201は、パス対応MAC学習テーブル205内に、カプセル化内部のMPLSフレームに含まれるMPLSラベルに対応するパスと対になる逆方向のパスに該当するエントリを保持しているか否かを判定する(1209)。
ステップ1209の処理で、受信したカプセル化内部のMPLSフレームに対応するパスと対になる逆方向のパスに該当するエントリを保持していないと判定された場合(1209:No)、パケットトランスポート装置201は、ステップ1211の処理に進む。
一方、ステップ1209の処理で、受信したカプセル化内部のMPLSフレームに対応するパスと対になる逆方向のパスに該当するエントリを保持していると判定された場合(1209:Yes)、パケットトランスポート装置201は、該当するエントリの宛先MACアドレス303に受信したカプセル化されたMPLSフレームの送信元MACアドレスを登録、ラベルスイッチ可否フラグ305に有効を設定し(1210)、ステップ1211の処理に進む。なお、ステップ1210の処理は、図10に示す1034の処理に対応する。
次に、パケットトランスポート装置201は、パス対応MAC学習テーブル205内に、カプセル化内部のMPLSフレームに含まれるMPLSラベルに対応するパスに該当するエントリを保持しているか否かを判定する(1211)。
ステップ1211の処理で、カプセル化内部のMPLSフレームに対応するパスに該当するエントリを保持していないと判定された場合(1211:No)、パス対応MAC学習テーブル205内に更新するエントリが存在しないので、ステップ1208の処理に進み、受信したフレームをデカプセル化して送信する。
一方、ステップ1211の処理で、カプセル化内部のMPLSフレームに対応するパスに該当するエントリを保持していると判定された場合(1211:Yes)、パケットトランスポート装置201は、パス対応MAC学習テーブル205の該当するエントリの宛先MACアドレス303に、カプセル化内部のMPLSフレームの宛先MACアドレスを登録し(1212)、ステップ1213の処理に進む。なお、ステップ1212の処理は、図10に示す1024の処理に対応する。
ステップ1212の処理でパス対応MAC学習テーブル205の宛先MACアドレス303にMACアドレスが登録された場合、パケットトランスポート装置201は、ステップ1211の処理で特定された当該パスが障害状態として設定されているか否かを判定する(1213)。
ステップ1213の処理で、当該パスが障害状態として設定されていると判定された場合(1213:Yes)、パケットトランスポート装置201は当該障害状態の設定を解除し(1214)、ステップ1208の処理に進み、受信したフレームをデカプセル化して送信する。
一方、ステップ1213の処理で、当該パスが障害状態として設定されていないと判定された場合(1213:No)、パケットトランスポート装置201は、ステップ1208の処理に進み、受信したフレームをデカプセル化して送信する。
ステップ1201の処理で、受信したフレームがカプセル化されたフレームでないと判定された場合(1201:No)、すなわち、受信したフレームはMPLSラベルスイッチされたMPLSフレームである場合、パケットトランスポート装置201は、パス対応MAC学習テーブル205内に、受信したMPLSフレームに含まれるMPLSラベルに対応するパスと対になる逆方向のパスに該当するエントリを保持しているか否かを判定する(1215)。
ステップ1215の処理で、受信したMPLSフレームに対応するパスと対になる逆方向のパスに該当するエントリを保持していないと判定された場合(1215:No)、パケットトランスポート装置201は、ステップ1217の処理に進む。
一方、ステップ1215の処理で、受信したMPLSフレームに対応するパスと対になる逆方向のパスに該当するエントリを保持していると判定された場合(1215:Yes)、パケットトランスポート装置201は、該当するエントリの宛先MACアドレス303に受信したMPLSフレームの送信元MACアドレスを登録、ラベルスイッチ可否フラグ305に有効を設定し(1216)、ステップ1217の処理に進む。なお、ステップ1216の処理は、図10に示す1034の処理に対応する。
次に、パケットトランスポート装置201は、パス対応MAC学習テーブル205内に、受信したMPLSフレームに含まれるMPLSラベルに対応するパスに該当するエントリを保持しているか否かを判定する(1217)。
ステップ1217の処理で、受信したMPLSフレームに対応するパスに該当するエントリを保持していると判定された場合(1217:Yes)、パケットトランスポート装置201は、パス対応MAC学習テーブル205の該当するエントリの宛先MACアドレス303にMACアドレスが登録されているか否かを判定する(1218)。
ステップ1218の処理で、該当するエントリの宛先MACアドレス303にMACアドレスが登録されていると判定された場合(1218:Yes)、パケットトランスポート装置201は、該当するエントリのMACアドレス有効時間304に登録された時間を初期値に更新する(1219)。なお、ステップ1219の処理は、図10に示す1009及び1029、1039の処理に対応する。
そして、パケットトランスポート装置201は、受信したMPLSフレームのMPLSヘッダの入力MPLSラベルを出力ラベルに変換し、受信したMPLSフレームのMACヘッダの宛先MACアドレスをパス対応MAC学習テーブル205の該当するエントリの宛先MACアドレス303に保持しているユニキャストMACアドレスに変換して、MPLSフレームをルータ101に送信する(1220)。
ステップ1217の処理で、受信したMPLSフレームに対応するパスに該当するエントリを保持していないと判定された場合(1217:No)、又は、ステップ1218の処理で、該当するエントリの宛先MACアドレス303にMACアドレスが登録されていないと判定された場合(1218:No)、パケットトランスポート装置201は、ステップ1217の処理で特定された当該パスが障害状態として設定されているか否かを判定する(1221)。
ステップ1221の処理で、当該パスが障害状態として設定されていると判定された場合(1221:Yes)、パケットトランスポート装置201は、受信したMPLSフレームのMACヘッダの宛先MACアドレスに設定するユニキャストMACアドレスを保持していないため、受信したMPLSフレームを廃棄する(1222)。
一方、ステップ1221の処理で、当該パスが障害状態として設定されていないと判定された場合(1221:No)、パケットトランスポート装置201は、当該パスを障害状態として設定し(1221)、ステップ1222の処理に進み、受信したMPLSフレームを廃棄する。
以上のように、本実施形態では、MPLSフレームをルータ101から受信したパケットトランスポート装置201は、MPLS−TP通信網200内で通信されるMPLSフレームのMACヘッダに、対向装置となるパケットトランスポート装置201のユニキャストMACアドレスを付与して送信する。これによって、MPLS−TP網200内をユニキャストアドレスで通信することができるので、通信の正確性を向上させることができる。
(第4実施形態)
第1実施形態では、各パケットトランスポート装置201が受信したフレームに基づいて、パス対応MAC学習テーブル205の宛先MACアドレス303にMACアドレスを登録するか否か、及びラベルスイッチ可否フラグ305に有効を設定するか否かを判定するが、本実施形態では、ネットワーク制御装置1301(図13参照)がこれらを判定し、MACアドレス登録指令、及びラベルスイッチ可否フラグ有効指令等のパス対応MAC学習テーブル205を更新するための制御指令をパケットトランスポート装置201に送信する。
本発明の第4実施形態を図13〜図19を用いて説明する。
図13は、本発明の第4実施形態の通信システムの構成の説明図である。図13に示す通信システムの構成のうち、第1実施形態の図1に示す通信システムと同じ構成は、同じ符号を付与し、説明を省略する。
本実施形態の通信システムは、ネットワーク制御装置1301を備える点で、第1実施形態の通信システムと異なる。
ネットワーク通信装置1301は、ルータ101に接続されるパケットトランスポート装置201にネットワークを介して接続される。例えば、図13では、ネットワーク制御装置1301は、パケットトランスポート装置201A及びパケットトランスポート装置201Bに接続される。
ネットワーク制御装置1301は、パケットトランスポート装置201が受信したフレームを受信し、当該フレームに基づいて各パケットトランスポート装置201に、宛先MACアドレス登録指令、及びラベルスイッチ可否フラグ有効指令等の制御指令を送信する。なお、ネットワーク制御装置1301は、図示しないプロセッサ及び記憶領域を備える計算機である。
図14は、本発明の第4実施形態のパケットトランスポート装置201の構成の説明図である。
本実施形態のパケットトランスポート装置201は、ネットワーク制御装置用インタフェース1401及び制御指令処理部1402を備える点で、第1実施形態のパケットトランスポート装置201と異なる。ネットワーク制御装置用インタフェース1401は、パケットトランスポート装置201がネットワーク制御装置1301と通信するためのインタフェースである。制御指令処理部1402は、パケットトランスポート装置201がネットワーク制御装置1301からのパス対応MAC学習テーブル205を更新するための制御指令を処理する、処理部である。
図15は、本発明の第4実施形態のパス対応MAC学習テーブル205の説明図である。
本実施形態では、パケットトランスポート装置201は、ネットワーク制御装置1301からの制御指令に従って、パス対応MAC学習テーブル205の更新を行う。このため、本実施形態のパス対応MAC学習テーブル205のMACアドレス有効時間304及びフラグ有効時間306には「∞」が登録される。
従って、本実施形態では、パケットトランスポート装置201が所定のパスのフレームを受信するか否かにかかわらず、当該パスが示すエントリの宛先MACアドレス303に登録されたMACアドレスは削除されない。同様に、パケットトランスポート装置201が所定のパスのフレームを受信するか否かにかかわらず、当該パスが示すエントリのラベルスイッチ可否フラグ305は無効に設定されない。
なお、ネットワーク制御装置1301は、各パケットトランスポート装置201のパス対応MAC学習テーブル205を保持する。また、ネットワーク制御装置1301は、各パケットトランスポート装置201のMPLS転送テーブル207を保持する。
また、第1実施形態と同様に、パケットトンランスポート装置201がMPLSフレームをMPLS−TP通信網200の外部から受信した場合、フラグ有効時間306を更新してもよいし、パケットトランスポート装置201がMPLSフレームをMPLS−TP通信網200の内部から受信した場合、MACアドレス有効時間304を更新してもよい。
さらに、パケットトランスポート装置201は、MPLSフレームをMPLS−TP通信網200の外部から受信した場合、受信したMPLSフレームをネットワーク制御装置1301に送信し、ネットワーク制御装置1301は、当該パケットトランスポート装置201のフラグ有効時間306を更新する指令を送信してもよいし、パケットトランスポート装置201は、MPLSフレームをMPLS−TP通信網200の内部から受信した場合、受信したMPLSフレームをネットワーク制御装置1301に送信し、ネットワーク制御装置1301は、当該パケットトランスポート装置201のMACアドレス有効時間304を更新する指令を送信してもよい。
図16は、本発明の第4実施形態の宛先MACアドレス学習処理のシーケンス図である。
ルータ101Aは、データの送信を開始する場合、パス確立要求をIPフレームでルータ101Bに送信する(不図示)。ルータ101Bは、パス確立要求を受信した場合、ルータ101Aとルータ101Bの間の当該パスに割り当てるMPLSラベルをペイロード部に含むIPフレームをパス確立のためのシグナリングデータとしてルータ101Aに送信する(1601)。なお、このシグナリングデータは、送信元のルータ101BのユニキャストMACアドレス及び送信先のルータ101AのユニキャストMACアドレスを含む。
パケットトランスポート装置201Bは、パス確立のためのシグナリングデータを受信した場合、受信したシグナリングデータをネットワーク制御装置1301に転送する。ネットワーク制御装置1301は、パス確立のためのシグナリングデータを受信した場合、パス対応MAC学習テーブル205の受信したシグナリングデータに対応するパスを示すエントリの宛先MACアドレス303に、受信したシグナリングデータに含まれるルータ101BのユニキャストMACアドレスを登録する(1602)。具体的には、ネットワーク制御装置1301は、MPLS転送テーブル207を参照し、受信したシグナリングデータのペイロード部に含まれるMPLSラベル(出力ラベル)に対応するMPLSラベル(入力ラベル)を特定する。そして、ネットワーク制御装置1301は、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが特定した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが受信した出力ラベルと一致するエントリの、宛先MACアドレス303に受信したシグナリングデータのMACヘッダに含まれるルータ101BのユニキャストMACアドレスを登録する。
次に、ネットワーク制御装置1301は、シグナリングデータをパケットトランスポート装置201Aに送信し、パケットトランスポート装置201Aは、受信したシグナリングデータをルータ101Aに送信する(1603)。なお、ネットワーク制御装置1301が送信するシグナリングデータは受信したシグナリングデータそのものである必要はなく、ネットワーク制御装置1301により新たに生成されたシグナリングデータでもよい。
また、ネットワーク制御装置1301は、パス対応MAC学習テーブル205の受信したシグナリングデータに対応するパスを示すエントリの宛先MACアドレス303にルータ101BのユニキャストMACアドレスを登録したことにより、当該パスの終点となるルータ101Bに接続されたパケットトランスポート装置201Bに、パス対応MAC学習テーブル205の当該パスを示すエントリの宛先MACアドレス303に当該MACアドレスを登録することを指令する、宛先MACアドレス登録指令を送信する(1604)。なお、宛先MACアドレス登録指令には、登録する宛先MACアドレスと、宛先MACアドレスを登録するパス対応MAC学習テーブル205のエントリを特定するために用いられる入力ラベル及び出力ラベルが含まれる。
さらに、ネットワーク制御装置1301は、当該パスの始点となるルータ101Aに接続されたパケットトランスポート装置201Aに、パス対応MAC学習テーブル205の当該パスを示すエントリのラベルスイッチ可否フラグ305に有効を設定することを指令する、ラベルスイッチ可否フラグ有効指令を送信する(1605)。なお、ラベルスイッチ可否フラグ有効指令には、有効を設定するパス対応MAC学習テーブル205のエントリを特定するために用いられる入力ラベル及び出力ラベルが含まれる。
パケットトランスポート装置201Bは、宛先MACアドレス登録指令を受信した場合、パス対応MAC学習テーブル205の受信した宛先MACアドレス登録指令に対応するパスを示すエントリの宛先MACアドレス303に、受信した宛先MACアドレス登録指令に含まれるルータ101BのユニキャストMACアドレスを登録する(1606)。具体的には、パケットトランスポート装置201Bは、受信した宛先MACアドレス登録指令に含まれる入力ラベル及び出力ラベルを取得する。そして、パケットトランスポート装置201Bは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが取得した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが取得した出力ラベルと一致するエントリの、宛先MACアドレス303に受信した宛先MACアドレス登録指令に含まれるルータ101BのユニキャストMACアドレスを登録し、MACアドレス有効時間304に「∞」を設定する。
パケットトランスポート装置201Aは、ラベルスイッチ可否フラグ有効指令を受信した場合、パス対応MAC学習テーブル205の受信したラベルスイッチ可否フラグ有効指令に対応するパスを示すエントリのラベルスイッチ可否フラグ305に有効を設定する(1607)。具体的には、パケットトランスポート装置201Bは、受信したラベルスイッチ可否フラグ有効指令に含まれる入力ラベル及び出力ラベルを取得する。そして、パケットトランスポート装置201Bは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが取得した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが取得した出力ラベルと一致するエントリの、ラベルスイッチ可否フラグ305に有効を設定し、フラグ有効時間306に「∞」を設定する。
以上の1601〜1607の処理によって、ルータ101Aからルータ101Bにデータを送信するためのパスが確立される。また、パケットトランスポート装置201Aは、パス対応MAC学習テーブル205の該当エントリのラベルスイッチ可否フラグ305に有効を設定し、パケットトランスポート装置201Bは、パス対応MAC学習テーブル205の該当エントリの宛先MACアドレス303にルータ101BのユニキャストMACアドレスを登録する。
次に、ルータ101Aは、MPLSフレームをパケットトランスポート装置201Aに送信する(1608)。なお、ルータ101Aが送信するMPLSフレームのMPLSヘッダ及びMACヘッダは、当該データの送信に用いるMPLSラベル及び宛先となるルータ101BのユニキャストMACアドレスを含む。
パケットトランスポート装置201Aは、ルータ101Aによって送信されたMPLSフレームを受信した場合、受信したMPLSフレームをMPLSラベルスイッチにより対向装置であるパケットトランスポート装置201Bに送信可能か否かを、パス対応MAC学習テーブル205を参照して、判定する。具体的には、パケットトランスポート装置201Aは、MPLS転送テーブル207を参照し、受信したMPLSフレームのMPLSヘッダに含まれるMPLSラベル(入力ラベル)に対応するMPLSラベル(出力ラベル)を特定する。そして、パケットトランスポート装置201Aは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが受信した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが特定した出力ラベルと一致するエントリのラベルスイッチ可否フラグ305に有効が設定されているか否かを確認する。
1607の処理で、ラベルスイッチ可否フラグ305に有効が設定されているので、パケットトランスポート装置201Aは、受信したMPLSフレームをMPLSラベルスイッチにより対向装置であるパケットトランスポート装置201Bに送信可能と判定し、1609の処理を実行する。
パケットトランスポート装置201Aは、受信したMPLSフレームのMPLSヘッダの入力ラベルを出力ラベルに変換し、受信したMPLSフレームのMACヘッダの宛先MACアドレスをブロードキャストMACアドレスに変換して、MPLSフレームをパケットトランスポート装置201Bに送信、すなわち、MPLSラベルスイッチする(1609)。
パケットトランスポート装置201Bは、パケットトランスポート装置201Aによって送信されたMPLSフレームを受信した場合、パス対応MAC学習テーブル205の受信したMPLSフレームに対応するパスを示すエントリの宛先MACアドレス303に登録されたMACアドレスを用いて、MPLSフレームをルータ101Bに送信する(1610)。具体的には、パケットトランスポート装置201Bは、MPLS転送テーブル207を参照し、受信したMPLSフレームのMPLSヘッダに含まれるMPLSラベル(入力ラベル)に対応するMPLSラベル(出力ラベル)を特定する。そして、パケットトランスポート装置201Bは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが受信した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが特定した出力ラベルと一致するエントリの宛先MACアドレス303に登録されたMACアドレス(ルータ101BのユニキャストMACアドレス)を取得する。そして、パケットトランスポート装置201Bは、受信したMPLSフレームのMACヘッダのブロードキャスト宛先MACアドレスを取得したルータ101BのユニキャストMACアドレスに変換し、受信したMPLSフレームのMPLSヘッダのMPLSラベルを出力ラベルに変換して、MPLSフレームをルータ101Bに送信する。
次に、ルータ101Aからルータ101Bへのデータの送信に用いるパスを解除する場合の処理について説明する。
ルータ101Aは、データの送信を終了する場合、パス解除要求をIPフレームでルータ101Bに送信する(不図示)。ルータ101Bは、パス解除要求を受信した場合、解除するパスのMPLSラベルをペイロード部に含むIPフレームをパス解除のためのシグナリングデータとしてルータ101Aに送信する(1611)。なお、このシグナリングデータは、送信元のルータ101BのユニキャストMACアドレス及び送信先のルータ101AのユニキャストMACアドレスを含む。
パケットトランスポート装置201Bは、パス解除のためのシグナリングデータを受信した場合、受信したシグナリングデータをネットワーク制御装置1301に転送する。ネットワーク制御装置1301は、パス解除のためのシグナリングデータを受信した場合、パス対応MAC学習テーブル205の受信したシグナリングデータに対応するパスを示すエントリの宛先MACアドレス303に登録されたMACアドレスを削除する(1612)。具体的には、パケットトランスポート装置201Bは、MPLS転送テーブル207を参照し、受信したシグナリングデータのペイロード部に含まれるMPLSラベル(出力ラベル)に対応するMPLSラベル(入力ラベル)を特定する。そして、パケットトランスポート装置201Bは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが特定した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが受信した出力ラベルと一致するエントリの、宛先MACアドレス303に登録されたMACアドレスを削除する。
次に、ネットワーク制御装置1301は、シグナリングデータをパケットトランスポート装置201Aに送信し、パケットトランスポート装置201Aは、受信したシグナリングデータをルータ101Aに送信する(1613)。なお、ネットワーク制御装置1301が送信するシグナリングデータは受信したシグナリングデータそのものである必要はなく、ネットワーク制御装置1301により新たに生成されたシグナリングデータでもよい。
また、ネットワーク制御装置1301は、パス対応MAC学習テーブル205の受信したシグナリングデータに対応するパスを示すエントリの宛先MACアドレス303に登録されたMACアドレスを削除したことにより、当該パスの始点となるルータ101Aに接続されたパケットトランスポート装置201Aに、パス対応MAC学習テーブル205の当該パスを示すエントリのラベルスイッチ可否フラグ305に無効を設定することを指令する、ラベルスイッチ可否フラグ無効指令を送信する(1614)。なお、ラベルスイッチ可否フラグ無効指令には、無効を設定するパス対応MAC学習テーブル205のエントリを特定するために用いられる入力ラベル及び出力ラベルが含まれる。
さらに、ネットワーク制御装置1301は、当該パスの終点となるルータ101Bに接続されたパケットトランスポート装置201Bに、パス対応MAC学習テーブル205の当該パスを示すエントリの宛先MACアドレス303に登録されたMACアドレスを削除することを指令する、宛先MACアドレス削除指令を送信する(1615)。なお、宛先MACアドレス削除指令には、宛先MACアドレスを削除するパス対応MAC学習テーブル205のエントリを特定するために用いられる入力ラベル及び出力ラベルが含まれる。
パケットトランスポート装置201Aは、ラベルスイッチ可否フラグ無効指令を受信した場合、パス対応MAC学習テーブル205の受信したラベルスイッチ可否フラグ無効指令に対応するパスを示すエントリのラベルスイッチ可否フラグ305に無効を設定する(1616)。具体的には、パケットトランスポート装置201Bは、受信したラベルスイッチ可否フラグ無効指令に含まれる入力ラベル及び出力ラベルを取得する。そして、パケットトランスポート装置201Bは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが取得した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが取得した出力ラベルと一致するエントリの、ラベルスイッチ可否フラグ305に無効を設定する。
パケットトランスポート装置201Bは、宛先MACアドレス削除指令を受信した場合、パス対応MAC学習テーブル205の受信した宛先MACアドレス削除指令に対応するパスを示すエントリの宛先MACアドレス303に登録されたMACアドレスを削除する(1617)。具体的には、パケットトランスポート装置201Bは、受信した宛先MACアドレス削除指令に含まれる入力ラベル及び出力ラベルを取得する。そして、パケットトランスポート装置201Bは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが取得した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが取得した出力ラベルと一致するエントリの、宛先MACアドレス303に登録されたMACアドレスを削除する。
以上の1611〜1617の処理によって、ルータ101Aからルータ101Bにデータを送信するためのパスが解除される。
次に、1614の処理でパケットトランスポート装置201Aのパス対応MAC学習テーブル205のラベルスイッチ可否フラグ305が無効に設定され、1615の処理でパケットトランスポート装置201Bのパス対応MAC学習テーブル205の宛先MACアドレス303が削除された後に、ルータ101AによってMPLSフレームが送信された場合(1618)のシーケンスについて説明する。なお、1618の処理でルータ101Aによって送信されるMPLSフレームのMPLSヘッダ及びMACヘッダは、1608の処理でルータ101Aによって送信されるMPLSフレームのMPLSヘッダ及びMACヘッダと同じく、当該データの送信に用いるMPLSラベル及び宛先となるルータ101BのユニキャストMACアドレスを含む。
パケットトランスポート装置201Aは、ルータ101Aによって送信されたMPLSフレームを受信した場合、受信したMPLSフレームをMPLSラベルスイッチにより対向装置であるパケットトランスポート装置201Bに送信可能か否かを、パス対応MAC学習テーブル205を参照して、判定する。具体的には、パケットトランスポート装置201Aは、MPLS転送テーブル207を参照し、受信したMPLSフレームのMPLSヘッダに含まれるMPLSラベル(入力ラベル)に対応するMPLSラベル(出力ラベル)を特定する。そして、パケットトランスポート装置201Aは、パス対応MAC学習テーブル205のMPLS入力ラベル301に登録されたMPLSラベルが受信した入力ラベルと一致し、MPLS出力ラベル302に登録されたMPLSラベルが特定した出力ラベルと一致するエントリのラベルスイッチ可否フラグ305に有効が設定されているか否かを確認する。
1616の処理で、ラベルスイッチ可否フラグ305に無効が設定されているカプセル化用のMPLS出力ラベル及びブロードキャスト宛先MACアドレスを含むMPLSヘッダ及びMACヘッダを付与し、受信したMPLSフレームをカプセル化する。そして、パケットトランスポート装置201Aは、カプセル化したMPLSフレームをパケットトランスポート装置201Bに送信する(1619)。
パケットトランスポート装置201Bは、パケットトランスポート装置201Aによって送信されたカプセル化されたMPLSフレームを受信した場合、受信したカプセル化されたMPLSフレームをデカプセル化し、デカプセル化により元のMPLSフレームに戻ったMPLSフレームを、MPLSヘッダ(ルータ101Aによって付与されたMPLSヘッダ)及びMACヘッダ(ルータ101Aによって付与されたMACヘッダ)はそのままで、ルータ101Bに送信する(1620)。
次に、図17〜図19Bを用いてパケットトランスポート装置201及びネットワーク制御装置1301がフレームを受信した場合の処理について説明する。
図17は、本発明の第4実施形態のパケットトランスポート装置201がMPLS−TP通信網の外部からフレームを受信した場合の処理のフローチャートである。この処理は、パケットトランスポート装置201の図示しないプロセッサによって実行される。
まず、パケットトランスポート装置201は、受信したフレームがMPLSフレームであるか否かを判定する(1701)。具体的には、パケットトランスポート装置201は、受信したフレームにMPLSヘッダが含まれていれば、受信したフレームがMPLSフレームであると判定し(1701:Yes)、受信したフレームにMPLSヘッダが含まれていなければ、受信したフレームがMPLSフレームでないと判定する(1701:No)。
ステップ1701の処理で、受信したフレームがMPLSフレームでないと判定された場合(1701:No)、パケットトランスポート装置201は、パス対応MAC学習テーブル205を更新するための制御指令をネットワーク制御装置1301に発行させるべく、受信したフレームをネットワーク制御装置1301に送信する(1702)。
一方、ステップ1701の処理で、受信したフレームがMPLSフレームであると判定された場合(1701:Yes)、パケットトランスポート装置201は、パス対応MAC学習テーブル205内に、受信したMPLSフレームに含まれるMPLSラベルに対応するパスに該当するエントリを保持しているか否かを判定する(1703)。
ステップ1703の処理で、受信したMPLSフレームに対応するパスに該当するエントリを保持していないと判定された場合(1703:No)、パケットトランスポート装置201は、対向装置であるパケットトランスポート装置201にMPLSフレームを送信する場合にMPLSラベルスイッチの実施が可能か否かを判定できないため、ステップ1705の処理に進む。
一方、ステップ1703の処理で、受信したMPLSフレームに対応するパスに該当するエントリを保持していると判定された場合(1703:Yes)、パケットトランスポート装置201は、パス対応MAC学習テーブル205の該当するエントリのラベルスイッチ可否フラグ305に有効が設定されているか否かを判定する(1704)。
ステップ1704の処理で、該当するエントリのラベルスイッチ可否フラグ305に有効が設定されていないと判定された場合(1704:No)、カプセル化用のMPLS出力ラベル及びブロードキャスト宛先MACアドレスを含むMPLSヘッダ及びMACヘッダを付与し、受信したMPLSフレームをカプセル化して、カプセル化したMPLSフレームを送信する(1705)。
一方、ステップ1704の処理で、該当するエントリのラベルスイッチ可否フラグ305に有効が設定されていると判定された場合(1704:Yes)、パケットトランスポート装置201は、ステップ1703の処理で特定された当該パスが障害状態であるか否かを判定する(1706)。
ステップ1706の処理で、パスが障害状態であると判定された場合(1706:Yes)、パケットトランスポート装置201は、ステップ1705の処理に進み、受信したMPLSフレームをカプセル化して、カプセル化したMPLSフレームを送信する。
一方、ステップ1706の処理で、パスが障害状態でないと判定された場合(1706:No)、パケットトランスポート装置201は、受信したMPLSフレームのMPLSヘッダの入力MPLSラベルを出力ラベルに変換し、受信したMPLSフレームのMACヘッダの宛先MACアドレスをブロードキャストMACアドレスに変換して、MPLSフレームを対向装置であるパケットトランスポート装置201に送信、すなわちMPLSラベルスイッチする(1707)。
図18は、本発明の第4実施形態のネットワーク制御装置1301がパケットトランスポート装置201からフレームを受信した場合の処理のフローチャートである。この処理は、ネットワーク制御装置1301の図示しないプロセッサによって実行される。
まず、ネットワーク制御装置1301は、受信したフレームに対応するMPLS−TP通信網200内のパスを特定できるか否かを判定する(1801)。受信したフレームがパスの確立又は解除のためのシグナリングデータであれば、MPLSラベルが受信フレームのペイロード部に含まれるので、ネットワーク制御装置1301は、MPLS転送テーブル207を参照し、当該フレームに対応するMPLS−TP通信網200内のパスを特定できる。
ステップ1801の処理で、受信したフレームに対応するMPLS−TP通信網200内のパスを特定できると判定された場合(1801:Yes)、受信したフレームはパスの確立又は解除のためのシグナリングデータであるので、ネットワーク制御装置1301は、パス対応MAC管理テーブル205を更新すべく、ステップ1802以降の処理に進む。
まず、ネットワーク制御装置1301は、パス対応MAC学習テーブル205内に、受信したフレームに対応するパスに該当するエントリを保持しているか否かを判定する(1802)。
ステップ1802の処理で、受信したフレームに対応するパスに該当するエントリを保持していないと判定された場合(1802:No)、パス対応MAC学習テーブル205内に更新するエントリが存在しないので、ステップ1810の処理に進む。
一方、ステップ1802の処理で、受信したフレームに対応するパスに該当するエントリを保持していると判定された場合(1802:Yes)、ネットワーク制御装置1301は、受信したフレームがパスの解除のためのシグナリングデータであるか否かを判定する(1803)。
ステップ1803の処理で、受信したフレームがパスの解除のためのシグナリングデータでないと判定された場合(1803:No)、すなわち、受信したフレームがパスの確立のためのシグナリングデータである場合、ネットワーク制御装置1301は、パス対応MAC学習テーブル205の該当するエントリの宛先MACアドレス303に、受信したフレームの送信元MACアドレスを登録する(1804)。なお、ステップ1804の処理は、図16に示す1602の処理に対応する。
次に、ネットワーク制御装置1301は、当該パスの終点となるルータ101に接続されたパケットトランスポート装置201に、パス対応MAC学習テーブル205の当該パスを示すエントリの宛先MACアドレス303に受信したシグナリングデータの送信元MACアドレスを登録することを指令する、宛先MACアドレス登録指令を送信する(1805)。また、ネットワーク制御装置1301は、当該パスの始点となるルータ101Aに接続されたパケットトランスポート装置201Aに、パス対応MAC学習テーブル205の当該パスを示すエントリのラベルスイッチ可否フラグ305に有効を設定することを指令する、ラベルスイッチ可否フラグ有効指令を送信する(1805)。
そして、ネットワーク制御装置1301は、受信したフレームをネットワーク制御装置1301に送信したパケットトランスポート装置の対向装置となるパケットトランスポート装置201に、受信したフレームを送信する(1810)。
ステップ1803の処理で、受信したフレームがパスの解除のためのシグナリングデータであると判定された場合(1803:Yes)、ネットワーク制御装置1301は、パス対応MAC学習テーブル205の該当するエントリの宛先MACアドレス303に登録されたMACアドレスを削除する(1807)。なお、ステップ1807の処理は、図16に示す1612の処理に対応する。
次に、ネットワーク制御装置1301は、当該パスの終点となるルータ101に接続されたパケットトランスポート装置201に、パス対応MAC学習テーブル205の当該パスを示すエントリの宛先MACアドレス303に登録されたMACアドレスを削除することを指令する、宛先MACアドレス削除指令を送信する(1808)。また、ネットワーク制御装置1301は、当該パスの始点となるルータ101Aに接続されたパケットトランスポート装置201Aに、パス対応MAC学習テーブル205の当該パスを示すエントリのラベルスイッチ可否フラグ305に無効を設定することを指令する、ラベルスイッチ可否フラグ無効指令を送信する(1809)。
そして、ネットワーク制御装置1301は、ステップ1810の処理に進み、受信したフレームをネットワーク制御装置1301に送信したパケットトランスポート装置の対向装置となるパケットトランスポート装置201に、受信したフレームを送信する。
なお、ステップ1801の処理で、受信したフレームに対応するMPLS−TP通信網200内のパスを特定できないと判定された場合(1801:No)、ステップ1810の処理に進み、受信したフレームをネットワーク制御装置1301に送信したパケットトランスポート装置の対向装置となるパケットトランスポート装置201に、受信したフレームを送信する。
図19Aは、本発明の第4実施形態のパケットトランスポート装置201がMPLS−TP通信網の内部から受信したフレームがネットワーク制御装置1301からのフレームである場合の処理のフローチャートである。図19Bは、本発明の第4実施形態のパケットトランスポート装置201がMPLS−TP通信網の内部から受信したフレームがネットワーク制御装置1301からのフレームでない場合の処理のフローチャートである。これらの処理は、パケットトランスポート装置201の図示しないプロセッサによって実行される。
まず、パケットトランスポート装置201は、受信したフレームがネットワーク制御装置1301から送信されたフレームであるか否かを判定する(1901)。
ステップ1901の処理で、受信したフレームがネットワーク制御装置1301から送信されたフレームであると判定された場合(1901:Yes)、パケットトランスポート装置201は、受信したフレームがパス対応MAC学習テーブル205を更新するための制御指令であるか否かを判定する(1902)。
ステップ1902の処理で、受信したフレームがパス対応MAC学習テーブル205を更新するための制御指令であると判定された場合(1902:Yes)、パケットトランスポート装置201は、受信した制御指令に基づいてパス対応MAC学習テーブル205を更新する(1903)。
一方、ステップ1902の処理で、受信したフレームがパス対応MAC学習テーブル205を更新するための制御指令でないと判定された場合(1902:No)、受信したフレームをそのままルータ101に送信する(1904)。
ステップ1901の処理で、受信したフレームがネットワーク制御装置1301から送信されたフレームでないと判定された場合(1901:No)、パケットトランスポート装置201は、受信したフレームがカプセル化されたフレームであるか否かを判定する(1905)。
ステップ1905の処理で、受信したフレームがカプセル化されたフレームであると判定された場合(1905:Yes)、パケットトランスポート装置201は、カプセル化内部のフレームがMPLSフレームであるか否かを判定する(1906)。具体的には、パケットトランスポート装置201は、カプセル化内部のフレームにMPLSヘッダが含まれているか否かを判定する。
ステップ1906の処理で、カプセル化内部のフレームがMPLSフレームであると判定された場合(1906:Yes)、パケットトランスポート装置201は、パス対応MAC学習テーブル205内に、カプセル化内部のMPLSフレームに含まれるMPLSラベルに対応するパスに該当するエントリを保持しているか否かを判定する(1907)。
ステップ1907の処理で、カプセル化内部のMPLSフレームに対応するパスに該当するエントリを保持していると判定された場合(1907:Yes)、パケットトランスポート装置201は、パス対応MAC学習テーブル205の該当するエントリの宛先MACアドレス303に、MACアドレスが登録されているか否かを判定する(1908)。
ステップ1908の処理で、該当するエントリの宛先MACアドレス303にMACアドレスが登録されていると判定された場合(1908:Yes)、パケットトランスポート装置201は、ステップ1907の処理で特定された当該パスが障害状態として設定されているか否かを判定する(1909)。
ステップ1909の処理で、当該パスが障害状態として設定されていると判定された場合(1909:Yes)、パケットトランスポート装置201は当該障害状態の設定を解除し(1910)、ステップ1911の処理に進み、受信したフレームをデカプセル化して送信する。
なお、ステップ1906の処理でカプセル化内部のフレームがMPLSフレームでないと判定された場合(1906:No)、又は、ステップ1907の処理でカプセル化内部のMPLSフレームに対応するパスに該当するエントリを保持していないと判定された場合(1907:No)、ステップ1908の処理で該当するエントリの宛先MACアドレス303にMACアドレスが登録されていないと判定された場合(1908:No)、ステップ1909の処理で当該パスが障害状態として設定されていないと判定された場合(1909:No)、ステップ1911の処理に進み、受信したフレームをデカプセル化して送信する。
ステップ1905の処理で、受信したフレームがカプセル化されたフレームでないと判定された場合(1905:No)、すなわち、受信したフレームはMPLSラベルスイッチされたMPLSフレームである場合、パケットトランスポート装置201は、パス対応MAC学習テーブル205内に、受信したMPLSフレームに含まれるMPLSラベルに対応するパスに該当するエントリを保持しているか否かを判定する(1912)。
ステップ1912の処理で、受信したMPLSフレームに対応するパスに該当するエントリを保持していると判定された場合(1912:Yes)、パケットトランスポート装置201は、パス対応MAC学習テーブル205の該当するエントリの宛先MACアドレス303にMACアドレスが登録されているか否かを判定する(1913)。
ステップ1913の処理で、該当するエントリの宛先MACアドレス303にMACアドレスが登録されていると判定された場合(1913:Yes)、受信したMPLSフレームのMPLSヘッダの入力MPLSラベルを出力ラベルに変換し、受信したMPLSフレームのMACヘッダの宛先MACアドレスをパス対応MAC学習テーブル205の該当するエントリの宛先MACアドレス303に保持しているユニキャストMACアドレスに変換して、MPLSフレームをルータ101に送信する(1914)。
ステップ1912の処理で、受信したMPLSフレームに対応するパスに該当するエントリを保持していないと判定された場合(1912:No)、又は、ステップ1913の処理で、該当するエントリの宛先MACアドレス303にMACアドレスが登録されていないと判定された場合(1913:No)、パケットトランスポート装置201は、ステップ1912の処理で特定された当該パスが障害状態として設定されているか否かを判定する(1915)。
ステップ1915の処理で、当該パスが障害状態として設定されていると判定された場合(1915:Yes)、パケットトランスポート装置201は、受信したMPLSフレームのMACヘッダの宛先MACアドレスに設定するユニキャストMACアドレスを保持していないため、受信したMPLSフレームを廃棄する(1917)。
一方、ステップ1915の処理で、当該パスが障害状態として設定されていないと判定された場合(1915:No)、パケットトランスポート装置201は、当該パスを障害状態として設定し(1916)、ステップ1917の処理に進み、受信したMPLSフレームを廃棄する。
以上のように、本実施形態では、通信システム内の各パケットトランスポート装置201は、ネットワーク制御装置1301からの制御指令に基づいてパス対応MAC学習テーブル205を更新するため、通信システムの安定性を向上させることができる。
なお、上述した各実施形態は、本発明の好適な実施形態であり、本発明の要旨を逸脱しない範囲内において変更が可能である。