(58)【調査した分野】(Int.Cl.,DB名)
マルチプロトコル・ラベル・スイッチング・ネットワークの動作の方法であって、前記マルチプロトコル・ラベル・スイッチング・ネットワークは、複数のラベル・スイッチング・エッジ・ルータ・ノードを含む複数のラベル・スイッチング・ルータ・ノードを備え、前記方法は、
入口ラベル・スイッチング・エッジ・ルータから出口ラベル・スイッチング・エッジ・ルータへ前記マルチプロトコル・ラベル・スイッチング・ネットワークをわたってSyncデータ・パケットを送信することと、
前記入口ラベル・スイッチング・エッジ・ルータから前記出口ラベル・スイッチング・エッジ・ルータへ前記マルチプロトコル・ラベル・スイッチング・ネットワークをわたってFollow_upデータ・パケットを送信することと、を有し、
前記Syncデータ・パケットによって通過された各ラベル・スイッチング・ルータ・ノードでの前記Syncデータ・パケットの滞留時間を測定することと、
前記Syncデータ・パケットによって通過された各ラベル・スイッチング・ルータ・ノードから前記Follow_upデータ・パケットを送信する際に、前記測定された滞留時間から導出された更新後の滞留時間情報を含めることと、
を更に有し、
前記Syncデータ・パケット及び/又はDelay_Reqデータ・パケットは、2ステップ・モードを使用中かを示すフラグを含む、方法。
前記出口ラベル・スイッチング・エッジ・ルータから前記入口ラベル・スイッチング・エッジ・ルータへ前記マルチプロトコル・ラベル・スイッチング・ネットワークをわたってDelay_Reqデータ・パケットを送信することと、
前記入口ラベル・スイッチング・エッジ・ルータから前記出口ラベル・スイッチング・エッジ・ルータへ前記マルチプロトコル・ラベル・スイッチング・ネットワークをわたってDelay_Respデータ・パケットを送信することと、を更に有し、
前記Delay_Reqデータ・パケットによって通過された各ラベル・スイッチング・ルータ・ノードでの前記Delay_Reqデータ・パケットの滞留時間を測定することと、
前記Delay_Reqデータ・パケットによって通過された各ラベル・スイッチング・ルータ・ノードから前記Delay_Respデータ・パケットを送信する際に、前記Delay_Reqデータ・パケットの前記測定された滞留時間から導出された更新後の滞留時間情報を含めることと、
を更に有する請求項13に記載の方法。
それぞれの一般随伴チャネル・メッセージにおいて前記マルチプロトコル・ラベル・スイッチング・ネットワークをわたって前記データ・パケットを送信することを有する、請求項13又は14に記載の方法。
【発明の概要】
【0005】
本発明の第1側面によれば、マルチプロトコル・ラベル・スイッチング・ネットワークの動作の方法が提供される。ネットワークのアクティブ・ノードは、送信元ノードから第1データ・パケットを受信し、宛先ノードへ第1データ・パケットを転送し、アクティブ・ノードにおける第1データ・パケットの滞留時間を測定し、滞留時間情報を含む更なるデータ・パケットを送信する。
【0006】
第1データ・パケットは、プレシジョン・タイム・プロトコル、PTP、に従って又はネットワーク・タイム・プロトコル、NTP、に従って、タイミング情報を伝えるパケットの双方向交換による同期のための方法の一部として、例えばタイミング情報を伝えるパケットの双方向交換による同期のための方法の一部として送信されてもよい。
【0007】
本方法は、第1データ・パケットを識別する情報を更なるデータ・パケットに含めることを有してもよい。
【0008】
滞留時間情報を含む更なるデータ・パケットを送信することは、
送信元ノードから第2データ・パケットを受信することと、
宛先ノードへ第2データ・パケットを転送することと、
宛先ノードへ転送される第2データ・パケットに滞留時間情報を含めることと、
を含んでもよい。
【0009】
一部の例では、滞留時間情報を含む更なるデータ・パケットを送信することは、送信元ノードから第2データ・パケットを受信することと、滞留時間情報を第2データ・パケットに含めることと、宛先ノードへ第2データ・パケットを転送することと、を含む。
【0010】
一部の例では、送信元ノードは、2ステップ・モードで動作するクロックであり、第1データ・パケットは同期のための方法の一部として送信され、同期は第1データ・パケットの送信及び/又は受信のタイムスタンプに基づく。
【0011】
滞留時間情報を含む更なるデータ・パケットを送信することは、
宛先ノードから第2データ・パケットを受信することと、
送信元ノードへ第2データ・パケットを転送することと、
送信元ノードへ転送される第2データ・パケットに滞留時間情報を含めることと、
を含んでもよい。
【0012】
一部の例では、滞留時間情報を含む更なるデータ・パケットを送信することは、宛先ノードから第2データ・パケットを受信することと、第2データ・パケットに滞留時間情報を含めることと、送信元ノードへ第2データ・パケットを転送することと、を含む。
【0013】
滞留時間情報を含む更なるデータ・パケットを送信することは、新たなデータ・パケットを作成することと、新たなデータ・パケットに滞留時間情報を含めることと、宛先ノードへ新たなデータ・パケットを送信することと、を含んでもよい。
【0014】
一部の例では、送信元ノードは、1ステップ・モードで動作するクロックであり、第1データ・パケットは同期のための方法の一部として送信され、同期は第1データ・パケットの送信及び/又は受信のタイムスタンプに基づく。
【0015】
本方法は、2ステップ・モードを使用中であることを示すために転送される第1データ・パケットにフラグを設定することを更に有してもよい。
【0016】
一部の例では、滞留時間情報を含む更なるデータ・パケットを送信することは、新たなデータ・パケットを作成することと、新たなデータ・パケットに滞留時間情報を含めることと、送信元ノードへ新たなデータ・パケットを送信することと、を含む。
【0017】
一部の例では、送信元ノードは、境界クロック、又は境界クロックに接続されたクロックを備える。
【0018】
本方法は、滞留時間情報を含めるように更なるデータ・パケット内の訂正フィールドを更新することを有してもよい。
【0019】
更なるデータ・パケットは、一般随伴チャネル・パケットにカプセル化されてもよい。
【0020】
本発明の第2側面によれば、マルチプロトコル・ラベル・スイッチング・ネットワークの動作の方法が提供され、マルチプロトコル・ラベル・スイッチング・ネットワークは、複数のラベル・スイッチング・エッジ・ルータ・ノードを含む複数のラベル・スイッチング・ルータ・ノードを備える。本方法は、入口ラベル・スイッチング・エッジ・ルータから出口ラベル・スイッチング・エッジ・ルータへマルチプロトコル・ラベル・スイッチング・ネットワークをわたってSyncデータ・パケットを送信することと、入口ラベル・スイッチング・エッジ・ルータから出口ラベル・スイッチング・エッジ・ルータへマルチプロトコル・ラベル・スイッチング・ネットワークをわたってFollow_upデータ・パケットを送信することと、を有し、Syncデータ・パケットによって通過された各ラベル・スイッチング・ルータ・ノードでのSyncデータ・パケットの滞留時間を測定することと、Syncデータ・パケットによって通過された各ラベル・スイッチング・ルータ・ノードからFollow_upデータ・パケットを送信する際に、測定された滞留時間から導出された更新後の滞留時間情報を含めることと、を更に有する。
【0021】
本方法は、出口ラベル・スイッチング・エッジ・ルータから入口ラベル・スイッチング・エッジ・ルータへマルチプロトコル・ラベル・スイッチング・ネットワークをわたってDelay_Reqデータ・パケットを送信することと、入口ラベル・スイッチング・エッジ・ルータから出口ラベル・スイッチング・エッジ・ルータへマルチプロトコル・ラベル・スイッチング・ネットワークをわたってDelay_Respデータ・パケットを送信することと、Delay_Reqデータ・パケットによって通過された各ラベル・スイッチング・ルータ・ノードでのDelay_Reqデータ・パケットの滞留時間を測定することと、Delay_Reqデータ・パケットによって通過された各ラベル・スイッチング・ルータ・ノードからDelay_Respデータ・パケットを送信する際に、Delay_Reqデータ・パケットの測定された滞留時間から導出された更新後の滞留時間情報を含めることと、を更に有してもよい。
【0022】
本方法は、それぞれの一般随伴チャネル・メッセージにおいてマルチプロトコル・ラベル・スイッチング・ネットワークをわたってデータ・パケットを送信することを有してもよい。
【0023】
本発明の第3側面によれば、マルチプロトコル・ラベル・スイッチング、MPLS、ネットワーク・ノードであって、送信元ノードから第1データ・パケットを受信することと、宛先ノードへ前記第1データ・パケットを転送することと、のために構成されている、MPLSネットワーク・ノードが提供される。アクティブ・ノードにおける第1データ・パケットの滞留時間が測定される。滞留時間情報を含む更なるデータ・パケットが送信される。
【0024】
一部の例では、本ノードは、第1データ・パケットを識別する情報を更なるデータ・パケットに含めるために更に構成されている。
【0025】
一部の例では、本ノードは、送信元ノードから第2データ・パケットを受信することと、宛先ノードへ第2データ・パケットを転送することと、宛先ノードへ転送される第2データ・パケットに滞留時間情報を含めることと、によって、滞留時間情報を含む更なるデータ・パケットを送信するために更に構成されている。
【0026】
一部の例では、本ノードは、宛先ノードから第2データ・パケットを受信することと、送信元ノードへ第2データ・パケットを転送することと、送信元ノードへ転送される第2データ・パケットに滞留時間情報を含めることと、によって、滞留時間情報を含む更なるデータ・パケットを送信するために更に構成されている。
【0027】
一部の例では、本ノードは、新たなデータ・パケットを作成することと、新たなデータ・パケットに滞留時間情報を含めることと、宛先ノードへ新たなデータ・パケットを送信することと、によって、滞留時間情報を含む更なるデータ・パケットを送信するために更に構成されている。
【0028】
一部の例では、本ノードは、2ステップ・モードを使用中であることを示すために転送される第1データ・パケットにフラグを設定するために更に構成されている。
【0029】
一部の例では、本ノードは、滞留時間情報を含めるために更なるデータ・パケット内の訂正フィールドを更新するために更に構成されている。
【0030】
一部の例では、更なるデータ・パケットは、一般随伴チャネル・パケットにカプセル化される。
【0031】
第1側面では、ノードは、マルチプロトコル・ラベル・スイッチング、MPLS、ネットワーク・ノードであって、プロセッサと、メモリと、を備え、メモリはプロセッサによって実行可能な命令を含むMPLSネットワーク・ノードである。当該ノードは、送信元ノードから第1データ・パケットを受信することと、宛先ノードへ第1データ・パケットを転送することと、アクティブ・ノードにおける第1データ・パケットの滞留時間を測定することと、滞留時間情報を含む更なるデータ・パケットを送信することと、をするように作動する。
【発明を実施するための形態】
【0033】
図1は、本書に記載される方法を実施するネットワークの例として、ネットワークの一部を示す。ネットワークの形式が異なっていてもよく、何れにしても
図1は方法の理解に十分なネットワークの小さな部分のみを示すことが理解されよう。
【0034】
よって、
図1は、ネットワーク・ノード間のタイミング基準信号を分配するためにプレジション・タイム・プロトコル(PTP)が用いられるインターネット・プロトコル(IP)・ネットワーク10を示す。ネットワーク10の説明される区画において、2つの境界クロック(BC)ノード12、14が存在する。本書に記載される方法はまた、ネットワーク・タイム・プロトコル(NTP)のような、メッセージの双方向交換による同期のための他の方法での使用にも適する。クロックであるノードへの参照は、クロックとして機能するクロックを備えるノードを含む。
【0035】
ネットワーク10の1つの説明される部分16は、マルチプロトコル・ラベル・スイッチング(MPLS)を用いて動作する。従来のIPネットワークでは、送信元アドレス及び宛先アドレスを含むIPヘッダを有するパケットが送信される。パケットは事前に決定されたパスを有しておらず、ホップ・バイ・ホップ方式で1つのノードから別のものへと転送される。対照的に、MPLSネットワークでは、ラベル・スイッチト・パス(LSP)と呼ばれるパスが、ラベル・スイッチング・ルータ(LSR)の集合を通る特定のパスにパケットが従うように強制するために事前に確立されうる。入口ラベル・スイッチング・エッジ・ルータ(LER)はパケットをMPLSヘッダとともにカプセル化し、これを事前に決定されたパスに従って転送する。出口LERは、MPLSパケットをデカプセル化し、要求に応じてこれを処理する。
【0036】
説明されるMPLSネットワーク16は、2つのラベル・スイッチング・エッジ・ルータ(LER)18、20と、1つの他のラベル・スイッチング・ルータ(LSR)22とを含む。
【0037】
この説明される例では、LER18、20は、境界クロック(BC)ノード12、14にそれぞれ接続されている。しかし、他の場合に、例えば、MPLSネットワーク16は、1つ以上のトランスペアレント・クロック・ノードに接続されており、このトランスペアレント・クロック・ノードはそれ自体が境界クロック・ノードに接続されている。
【0038】
図2は、ネットワーク・ノード18、20、22のそれぞれの形式を説明する。特に、各ノードは、他のネットワーク・ノードと通信するための通信モジュール30を含む。各ノードはまた、プロセッサ34及びメモリ36を含むデータ処理・制御部32を含む。メモリ36は、データを含んでもよく、本書に記載される方法をプロセッサに実行させるための、プロセッサによって実行される命令を含むプログラムも含んでもよい。
【0039】
図3は、第1実施形態に従う方法を説明する。
【0040】
特に、この説明される実施形態では、
図1に示されるPTPネットワーク10の少なくとも1つのノードが2ステップ・モードで動作中である。すなわち、
図1に示される境界クロック・ノード12のような第1境界クロック・ノードは、Syncメッセージ50の形式でイベントPTPメッセージを送信し、その後、Follow_upメッセージ52の形式で一般PTPメッセージを送信する。
【0041】
Follow_upメッセージ52の受信に応じて、
図1に示される境界クロック・ノード14のような第2境界クロック・ノードは、Delay_Reqメッセージ54の形式でイベントPTPメッセージを送信する。
【0042】
Delay_Reqメッセージ54を受信した場合に、第1境界クロック・ノード12は、Delay_Respメッセージ56の形式で一般PTPメッセージを返す。
【0043】
Delay_Respメッセージ54の受信に応じて、第2境界クロック・ノード14は、ネットワークにわたる送信遅延に関する要求された情報を取得でき、それによって第1境界クロック・ノード12との同期を実現する。
【0044】
よって、本方法は、タイミング情報を伝えるパケットの双方向交換による同期を可能にする。
【0045】
この実施形態では、Syncメッセージ50、Follow_upメッセージ52、Delay_Reqメッセージ54及びDelay_Respメッセージ56は、
図4に示されるように、MPLSメッセージ・フォーマットにおいてMPLSネットワークをわたって送信される。
【0046】
より具体的に、この実施形態では、データ・パケットは一般随伴チャネル(G−Ach)・メッセージとしてMPLSネットワークをわたって送信される。
【0047】
図4に示されるパケット・フォーマットでは、RFC4385[RFC4385]で規定されるように、バージョン・フィールドは0に設定される。予約フィールドは送信側で0に設定され、受信側で無視される。RTMチャネル・フィールドはこのようなものとしてパケットを識別する。
【0048】
フラグ・フィールドは1ビットSを有し、これは2ステップ・クロック手続きを使用中であるかを示すステップ・フラグとして機能し、それゆえ境界クロック12、14が1ステップ・モードで動作中ならば0に設定され、これらが2ステップ・モードで動作中ならば1に設定される。PTPタイプ・フィールドは、TLVで伝えられるPTPパケットのタイプを示す。1ステップ・モードは、送信及び/又は受信の時刻が同期に直接に用いられる先のイベント・メッセージの送信及び/又は受信タイムスタンプを含む“フォローアップ”タイプ・メッセージがないことを指す。2ステップ・モードは、送信及び/又は受信の時刻が同期に直接に用いられる先のイベント・メッセージの送信及び/又は受信タイムスタンプを含む更なるメッセージが存在することを示す。
【0049】
よって、例えば、PTPタイプ・フィールドは、メッセージが、Syncメッセージ、Follow_upメッセージ、Delay_Reqメッセージ又はDelay_Respメッセージであるかを識別する。10個のオクテット長のポートIDフィールドは、送信元ポート、すなわちMPLSネットワークに接続された境界クロックの特定のPTPポートの識別子を含む。シーケンスIDは、メッセージのバリュー・フィールドで伝えられるPTPメッセージのシーケンスIDである。よって、先のパケットに関連する滞留時間情報を含む更なるパケットは、当該先のパケットを識別する情報を含む。
【0050】
タイプ・フィールドは、TLVが伝えるバリューのタイプ、すなわちメッセージが表すフィールドの種類を識別する。よって、例えば、タイプ・フィールドは、伝えられているメッセージが、滞留時間情報を伝達可能な本書に記載されたフォーマットのメッセージであることを示す。例えば、伝えられるPTPメッセージの認証タイプを示すために異なるタイプ値が用いられてもよい。よって、タイプ・フィールドは、ペイロードが存在しないことを示してもよいし、ペイロードがPTPv2メッセージ又はNTPメッセージであることを示してもよい。
【0051】
長さフィールドはバリュー・フィールドのオクテット数である。そして、オプションのバリュー・フィールドは、使用中の時刻同期プロトコルのパケットを伝えるために用いられてもよい。よって、Syncメッセージ、Follow_upメッセージ、Delay_Reqメッセージ又はDelay_Respメッセージは、関連メッセージが送信されている元の境界クロック・ノード12、14へ接続されているそれぞれのLER18、20によってバリュー・フィールドに挿入されてもよい。
【0052】
パケットは、認証又は暗号化され、MPLSネットワークを介してエッジ・ツー・エッジで不変に伝えられてもよい。
【0053】
よって、
図3は、境界クロック・ノード12からMPLS入口ラベル・スイッチング・エッジ・ルータ(LER)18へ送信されているSyncメッセージ50を示す。LER18は、
図4に示されるようなMPLS G−Achフォーマットにメッセージを入れ、
図3でSync
*として示される結果のパケット62が、MPLS出口ラベル・スイッチング・エッジ・ルータ(LER)20に到達するまで、1つ以上のラベル・スイッチング・ルータ(LSR)22を通じて送信される。LER20は、MPLSフォーマットからメッセージを抽出し、当初のSyncメッセージに対応する結果のパケット64が境界クロック・ノード14へ送信される。
【0054】
図3はまた、境界クロック・ノード12からMPLS入口ラベル・スイッチング・エッジ・ルータ(LER)18へ送信されているFollow_upメッセージ52を示す。ここでも、LER18は、
図4に示されるようなMPLS G−Achフォーマットにメッセージを入れ、
図3でFollow_up
*として示される結果のパケット66が、MPLS出口ラベル・スイッチング・エッジ・ルータ(LER)20に到達するまで、1つ以上のラベル・スイッチング・ルータ(LSR)22を通じて送信される。
【0055】
しかし、この場合に、各ラベル・スイッチング・エッジ・ルータ(LER)18、20及び各ラベル・スイッチング・ルータ(LSR)22は、滞留時間情報を含めるために、
図4に示されるパケット・フォーマットのスクラッチ・パッド・フィールドを利用する。
【0056】
具体的に、スクラッチ・パッド・フィールドは、8オクテットの長さであり、Follow_up
*メッセージ66の場合に、入口LSR18から出口LSR20への自身のパス上のSyncパケットによって通過されたLER、LSRにおいて費やされた滞留時間を蓄積するために用いられる。
【0057】
すなわち、入口LER18がFollow_up
*メッセージ66を送信する場合に、それは、SyncメッセージによってLER18において費やされた滞留時間を示す値をスクラッチ・パッド・フィールドに含める。滞留時間は、任意の都合の良い方法で測定されてもよく、例えばメッセージが受信され始めた時点からメッセージが送信され始めた時点までである。
【0058】
時間はナノ秒の単位でIEEE倍精度フォーマットで格納される。
【0059】
同様に、LSR22がFollow_up
*メッセージ66を送信する場合に、それは、SyncメッセージによってLSR22において費やされた滞留時間を示す値を加えることによってスクラッチ・パッド・フィールドを更新する。
【0060】
これは、Follow_up
*メッセージ66がMPLS出口LER20に到達するまで続き、MPLS出口LER20は、MPLS G−Achフォーマットからメッセージを抽出し、出口LER20自身を含むメッセージによって通過されたネットワークのノードにわたるSyncメッセージの蓄積滞留時間を示す情報を含む従来のFollow_upメッセージ70を境界クロック・ノード14へ送信する。
【0061】
したがって、ノード18、20、22のそれぞれは、先行する、すなわち送信元のノードからのSyncメッセージを含むデータ・パケットを受信し、それを後続の、すなわち宛先のノードへ転送し、それぞれのノードにおけるデータ・パケットの滞留時間を測定する。続いて、ノード18、20、22のそれぞれは、測定された滞留時間から導出された滞留時間情報を含む更なるデータ・パケット(すなわち、Follow_upメッセージを含むデータ・パケット)を後続の、すなわち宛先のノードへ送信する。LER18は、2ステップ動作モードにおいて更なるデータ・パケット(Follow_up
*)を生成するように構成されている。
【0062】
更なるデータ・パケットは、MPLSネットワークについての滞留時間情報と、MPLSネットワーク16の外側からの、例えばノード12からの受信したフォローアップ・メッセージとを含む。この場合に、滞留時間情報を含む更なるデータ・パケットの送信は、送信元から宛先へ第2メッセージ(第2データ・パケット)を転送し、この転送される第2メッセージに滞留時間情報を含めることによって実現される。よって、送信される更なるデータ・パケットは第2データ・パケットである。第2データ・パケットは、パス内の以前のノードから受信され、当該ノードにおける滞留時間を示すために滞留時間が含められ、更新され又は修正され、その後、第2データ・パケットは更なるデータ・パケットとして滞留時間情報とともにパス内の次のノードへ転送される。
【0063】
よって、ノード18、22、20のそれぞれは2ステップ・トランスペアレント・クロックとして機能する。
【0064】
よって、アクティブ・ノードとしてLER18を検討する場合に、それは、送信元ノードとして機能する境界クロック・ノード12から第1パケットとしてSyncメッセージを受信し、Syncメッセージを宛先ノード、例えばLSR22へ転送する(よって、“送信元ノード”という用語は、アクティブ・ノードがパケットを受信する元のノードを指し、“宛先ノード”という用語は、アクティブ・ノードがパケットを送信する先のノードを指す。これらはパケットの当初の送信元又は最終的な宛先でなくてもよい。)その後、LER18は、更なるパケット、すなわち滞留時間情報を含むFollow_up
*メッセージ66を宛先ノードへ送信する。
【0065】
アクティブ・ノードとしてLSR22を検討する場合に、それは、LER18のような送信元ノードから第1パケットとしてSyncメッセージを受信し、Syncメッセージを宛先ノード、例えばLER20へ転送する。その後、それは、更なるパケット、すなわち滞留時間情報を含むFollow_up
*メッセージ66を宛先ノードへ送信する。
【0066】
アクティブ・ノードは、方法のステップを実行している、例えばデータ・パケットを送信及び転送している特定のノードとみなされてもよく、このノードに対してノード内の滞留時間の測定が行われ、転送されるパケットに含められる。
【0067】
同様に、アクティブ・ノードとしてLER20を検討する場合に、それは、LSR22のような送信元ノードから第1パケットとしてSyncメッセージを受信し、Syncメッセージを宛先ノード、例えば境界クロック・ノード14へ送信する。その後、それは更なるパケット、すなわち滞留時間情報を含むFollow_upメッセージ70を宛先ノードへ送信する。一部の例では、送信元ノード及び/又は宛先ノードは、境界クロックであってもよく、又は境界クロックに接続されてもよく、例えば境界クロックに接続されたトランスペアレント・クロックであってもよい。
【0068】
2ステップ・モードで動作中の境界クロック・ノード14がFollow_upメッセージ70を受信した場合に、それは、IEEE1588で特定されるDelay_Reqメッセージを返す。よって、
図3は、境界クロック・ノード14からMPLS入口ラベル・スイッチング・エッジ・ルータ(LER)20へ送信されているDelay_Reqメッセージ70を示す。LER20は、
図4に示されるようなMPLS G−Achフォーマットにメッセージを入れ、
図3でDelay_Req
*として示される結果のパケット72が、MPLS出口ラベル・スイッチング・エッジ・ルータ(LER)18に到達するまで、1つ以上のラベル・スイッチング・ルータ(LSR)22を通じて送信される。LER18は、MPLS G−Achフォーマットからメッセージを抽出し、当初のDelay_Reqメッセージ54に対応する結果のパケット74が境界クロック・ノード12へ送信される。
【0069】
やはりIEEE1588で特定されるように、2ステップ・モードで動作中の境界クロック・ノード12は、Delay_Reqメッセージ70を受信した場合にDelay_Respメッセージ56を返す。よって、
図3は、境界クロック・ノード12からラベル・スイッチング・エッジ・ルータ(LER)18へ送信されているDelay_Respメッセージ56を示す。ここでも、LER18は、
図4に示されるようなMPLS G−Achフォーマットにメッセージを入れ、
図3でDelay_Resp
*として示される結果のパケット76が、ラベル・スイッチング・エッジ・ルータ(LER)20に到達するまで、1つ以上のラベル・スイッチング・ルータ(LSR)22を通じて送信される。
【0070】
Delay_Resp
*パケット76は、そのペイロードとしてDelay_Respメッセージ56を含むが、各Delay_Reqメッセージの滞留時間に関連する滞留時間情報を含めるために、
図4に示されるパケット・フォーマットのスクラッチ・パッド・フィールドも利用する。
【0071】
各ラベル・スイッチング・エッジ・ルータ(LER)18、20及び各ラベル・スイッチング・ルータ(LSR)22は、滞留時間情報を含めるようにDelay_Resp
*パケット76を更新する。この場合に、Delay_Resp
*パケット76に含まれる滞留時間情報は、Delay_ReqメッセージによってLER及びLSRにおいて費やされた滞留時間に関する。
【0072】
すなわち、Delay_Resp
*メッセージ76の場合に、スクラッチ・パッド・フィールドは、LER20からLER18へのパス上でDelay_ReqパケットによってLER18、20及びLSR22において費やされた滞留時間を蓄積するために用いられる。
【0073】
より詳細に、LER18がDelay_Resp
*メッセージ76を生成及び送信する場合に、それは、各Delay_ReqメッセージによってLER18において費やされた滞留時間を示す値をスクラッチ・パッド・フィールドに含める。上述のように、滞留時間は、任意の都合の良い方法で測定されてもよく、例えばメッセージが受信され始めた時点からメッセージが送信され始めた時点までである。
【0074】
時間はナノ秒の単位でIEEE倍精度フォーマットで格納される。
【0075】
同様に、LSR22がDelay_Resp
*メッセージ76を送信する場合に、それは、以前の関連するDelay_ReqメッセージによってLSR22において費やされた滞留時間を示す値を加えることによってスクラッチ・パッド・フィールドを更新する。
【0076】
これは、Delay_Resp
*メッセージ76がLER20に到達するまで続き、LER20は、MPLS G−Achフォーマットからメッセージを抽出し、出口LER20自身を含むDelay_Reqメッセージによって通過されたネットワークのノードにわたるDelay_Reqメッセージの蓄積滞留時間を示す情報を含む従来のDelay_Respメッセージ80を境界クロック・ノード14へ送信する。
【0077】
したがって、ノード18、20、22のそれぞれは、先行する、すなわち送信元のノードからDelay_Reqメッセージを含むデータ・パケットを受信し、それを後続の、すなわち宛先のノードへ転送し、各ノードにおけるデータ・パケットの滞留時間を測定する。続いて、ノード18、20、22のそれぞれは、測定された滞留時間から導出された滞留時間情報を含む更なるデータ・パケット(すなわち、Delay_Respメッセージを含むデータ・パケット)を先行する、すなわち送信元のノードへ送信する。この場合に、滞留時間情報を含む更なるデータ・パケットの送信は、宛先から送信元へ第2メッセージ(第2データ・パケット)を転送し、滞留時間情報を更新又は当該転送される第2メッセージに含めることによって実現される。転送されるメッセージ又はパケットは、メッセージを受信及び転送したノードによって修正されてもよい。例えば、修正は、滞留時間情報を含めること又は更新すること、特に当該ノードにおいて費やされた滞留時間を含めることであってもよい。
【0078】
よって、ノード18、22、20のそれぞれは2ステップ・トランスペアレント・クロックとして機能する。
【0079】
よって、アクティブ・ノードとしてLER20を検討する場合に、それは、送信元ノードとして機能する境界クロック・ノード14から第1パケットとしてDelay_Reqメッセージを受信し、Delay_Reqメッセージを宛先ノード、例えばLSR22へ転送する(よって、“送信元ノード”という用語は、アクティブ・ノードがパケットを受信する元のノードを指し、“宛先ノード”という用語は、アクティブ・ノードがパケットを送信する先のノードを指す。これらはパケットの当初の送信元又は最終的な宛先でなくてもよい。)続いて、LER22は、更なるパケット、すなわち滞留時間情報を含むDelay_Resp
*メッセージ118を送信元ノードへ送信する。
【0080】
アクティブ・ノードとしてLSR22を検討する場合に、それは、LER20のような送信元ノードから第1パケットとしてDelay_Req
*メッセージを受信し、Delay_Req
*メッセージを宛先ノード、例えばLER18へ転送する。その後、それは、更なるパケット、すなわち滞留時間情報を含むDelay_Resp
*メッセージ76を送信元ノードへ送信する。
【0081】
同様に、アクティブ・ノードとしてLER18を検討する場合に、それは、LSR22のような送信元ノードから第1パケットとしてDelay_Req
*メッセージを受信し、Delay_Req
*メッセージを宛先ノード、例えば境界クロック・ノード12へ送信する。その後、それは更なるパケット、すなわち滞留時間情報を含むDelay_Resp
*メッセージ76を送信元ノードへ送信する。
【0082】
図5は、第2実施形態に従う方法を説明する。
【0083】
特に、この説明される実施形態では、
図1に示されるPTPネットワーク10が1ステップ・モードで動作中である。すなわち、
図1に示される境界クロック・ノード12のような第1境界クロック・ノードは、Syncメッセージ90の形式でイベントPTPメッセージを送信するが、Follow_upメッセージを送信しない。
【0084】
Syncメッセージ90の受信に応じて、
図1に示される境界クロック・ノード14のような第2境界クロック・ノードは、Delay_Reqメッセージ94の形式でイベントPTPメッセージを送信する。
【0085】
Delay_Reqメッセージ94を受信した場合に、第1境界クロック・ノード12は、Delay_Respメッセージ96の形式で一般PTPメッセージを返す。
【0086】
Delay_Respメッセージ96の受信に応じて、第2境界クロック・ノード14は、ネットワークにわたる送信遅延に関する要求された情報を取得でき、それによって第1境界クロック・ノード12との同期を実現する。
【0087】
よって、本方法は、タイミング情報を伝えるパケットの双方向交換による同期を可能にする。
【0088】
図5を参照して記載されるメッセージは、
図4に示されるように、MPLSメッセージ・フォーマットにおいてMPLSネットワークをわたって送信される。
【0089】
より具体的に、この実施形態では、データ・パケットは一般随伴チャネル(G−Ach)・メッセージとしてMPLSネットワークをわたって送信される。
【0090】
図4に示されるパケット・フォーマットでは、RFC4385[RFC4385]で規定されるように、バージョン・フィールドは0に設定される。予約フィールドは送信側で0に設定され、受信側で無視される。RTMチャネル・フィールドはこのようなものとしてパケットを識別する。
【0091】
フラグ・フィールドは1ビットSを有し、これは2ステップ・クロック手続きを使用中であるかを示すステップ・フラグとして機能し、それゆえ境界クロック12、14が1ステップ・モードで動作中ならば0に設定され、これらが2ステップ・モードで動作中ならば1に設定される。PTPタイプ・フィールドは、TLVで伝えられるPTPパケットのタイプを示す。よって、例えば、PTPタイプ・フィールドは、メッセージが、Syncメッセージ、Follow_upメッセージ、Delay_Reqメッセージ又はDelay_Respメッセージであるかを識別する。10個のオクテット長のポートIDフィールドは、送信元ポート、すなわちMPLSネットワークに接続された境界クロックの特定のPTPポートの識別子を含む。シーケンスIDは、メッセージのバリュー・フィールドで伝えられるPTPメッセージのシーケンスIDである。よって、先のパケットに関連する滞留時間情報を含む更なるパケットは、当該先のパケットを識別する情報を含む。
【0092】
タイプ・フィールドは、TLVが伝えるバリューのタイプ、すなわちメッセージが表すフィールドの種類を識別する。よって、例えば、タイプ・フィールドは、伝えられているメッセージが、滞留時間情報を伝達可能な本書に記載されたフォーマットのメッセージであることを示す。例えば、伝えられるPTPメッセージの認証タイプを示すために異なるタイプ値が用いられてもよい。よって、タイプ・フィールドは、ペイロードが存在しないことを示してもよいし、ペイロードがPTPv2メッセージ又はNTPメッセージであることを示してもよい。
【0093】
長さフィールドはバリュー・フィールドのオクテット数である。そして、オプションのバリュー・フィールドは、使用中の時刻同期プロトコルのパケットを伝えるために用いられてもよい。よって、Syncメッセージ、Follow_upメッセージ、Delay_Reqメッセージ又はDelay_Respメッセージは、関連メッセージが送信されている元の境界クロック・ノード12、14へ接続されているそれぞれのLER18、20によってバリュー・フィールドに挿入されてもよい。
【0094】
パケットは、認証又は暗号化され、MPLSネットワークを介してエッジ・ツー・エッジで不変に伝えられてもよい。
【0095】
よって、
図5は、境界クロック・ノード12からMPLS入口ラベル・スイッチング・エッジ・ルータ(LER)18へ送信されているSyncメッセージ90を示す。LER18は、
図4に示されるようなMPLS G−Achフォーマットにメッセージを入れ、
図5でSync
*として示される結果のパケット102が、MPLS出口ラベル・スイッチング・エッジ・ルータ(LER)20に到達するまで、1つ以上のラベル・スイッチング・ルータ(LSR)22を通じて送信される。LER20は、MPLS G−Achフォーマットからメッセージを抽出し、当初のSyncメッセージに対応する結果のパケット104が境界クロック・ノード14へ送信される。
【0096】
図5はまた、MPLS入口ラベル・スイッチング・エッジ・ルータ(LER)18が境界クロック・ノード12からSyncメッセージ90を受信した場合に、それが、様々なノードにおいてSyncメッセージによって費やされた滞留時間に関連する滞留時間情報を伝えるための追加のメッセージ、RTM、106を生成することを示す。LER18は、
図4に示されるようなMPLS G−AchフォーマットでRTMメッセージを作成し、結果のパケットが、MPLS出口ラベル・スイッチング・エッジ・ルータ(LER)20に到達するまで、1つ以上のラベル・スイッチング・ルータ(LSR)22を通じて送信される。
【0097】
よって、LER18が1ステップ・モードで動作するノード14に接続されている場合(Sync
*についてのタイミング情報を含むフォローアップ・パケットがない場合)に、LER18は、MPLSネットワークに関連する滞留時間情報を伝えるために追加のメッセージを生成する。
【0098】
各ラベル・スイッチング・エッジ・ルータ(LER)18、20及び各ラベル・スイッチング・ルータ(LSR)22は、滞留時間情報を含めるために、
図4に示されるパケット・フォーマットのスクラッチ・パッド・フィールドを利用する。
【0099】
具体的に、スクラッチ・パッド・フィールドは、8オクテットの長さであり、RTMメッセージ106の場合に、入口LSR18から出口LSR20への自身のパス上のSyncパケットによって通過されたLER及びLSRにおいて費やされた滞留時間を蓄積するために用いられる。
【0100】
すなわち、入口LER18がRTMメッセージ106を送信する場合に、それは、Syncメッセージ90によってLER18において費やされた滞留時間を示す値をスクラッチ・パッド・フィールドに含める。滞留時間は、任意の都合の良い方法で測定されてもよく、例えばメッセージが受信され始めた時点からメッセージが送信され始めた時点までである。
【0101】
時間はナノ秒の単位でIEEE倍精度フォーマットで格納される。
【0102】
同様に、LSR22がRTMメッセージ106を送信する場合に、それは、Sync
*メッセージ102によってLSR22において費やされた滞留時間を示す値を加えることによってスクラッチ・パッド・フィールドを更新する。
【0103】
これは、RTMメッセージ106がMPLS出口LER20に到達するまで続き、MPLS出口LER20は、MPLS G−Achフォーマットからメッセージを抽出し、出口LER20自身を含むメッセージによって通過されたネットワークのノードにわたるSyncメッセージの蓄積滞留時間を示す情報を含む従来のFollow_upメッセージ108を境界クロック・ノード14へ送信する。LER20は以前にSyncメッセージ104内に2ステップ・フラグを1に設定しており、その結果として境界クロック・ノード14はそれがFollow_upメッセージを期待できることを知る。
【0104】
したがって、ノード18、20、22のそれぞれは、先行する、すなわち送信元のノードからのSyncメッセージを含むデータ・パケットを受信し、それを後続の、すなわち宛先のノードへ転送し、それぞれのノードにおけるデータ・パケットの滞留時間を測定する。続いて、ノード18、20、22のそれぞれは、測定された滞留時間から導出された滞留時間情報を含む更なる、具体的には生成されたデータ・パケットを後続の、すなわち宛先のノードへ送信する。
【0105】
よって、入口LERは、新たなデータ・パケット内の滞留時間情報を含む当該新たな(第2)データ・パケットを作成し、宛先ノードへ当該新たなデータ・パケットを送信することによって、滞留時間情報を含む更なるデータ・パケットの送信を実現する。他のノードは、当該(第2)データ・パケット内の滞留時間情報を含む、入口LERによって作成された(第2)データ・パケットを受信し、宛先ノードへ当該新たな(第2)データ・パケットを転送することによって、滞留時間情報を含む更なるデータ・パケットの送信を実現する。含まれる滞留時間情報は、当該ノードでの滞留時間に対応する。含めることは、既存の時間を(例えば合計に追加の滞留時間を加えることによって)更新又は変更することを含んでもよいし、含めることは、第2データ・パケットに以前の滞留時間が存在しない場合に最初に滞留時間情報を含めることを指してもよい。
【0106】
よって、ノード18、22、20のそれぞれは2ステップ・トランスペアレント・クロックとして機能する。
【0107】
よって、アクティブ・ノードとしてLER18を検討する場合に、それは、送信元ノードとして機能する境界クロック・ノード12から第1パケットとしてSyncメッセージを受信し、Syncメッセージを宛先ノード、例えばLSR22へ転送する(よって、“送信元ノード”という用語は、アクティブ・ノードがパケットを受信する元のノードを指し、“宛先ノード”という用語は、アクティブ・ノードがパケットを送信する先のノードを指す。これらはパケットの当初の送信元又は最終的な宛先でなくてもよい。)その後、LER18は、更なるパケット、すなわち滞留時間情報を含むRTMメッセージ106を宛先ノードへ送信する。
【0108】
アクティブ・ノードとしてLSR22を検討する場合に、それは、LER18のような送信元ノードから第1パケットとしてSyncメッセージを受信し、Syncメッセージを宛先ノード、例えばLER20へ転送する。その後、それは、更なるパケット、すなわち滞留時間情報を含むRTMメッセージ106を宛先ノードへ送信する。
【0109】
同様に、アクティブ・ノードとしてLER20を検討する場合に、それは、LSR22のような送信元ノードから第1パケットとしてSyncメッセージを受信し、Syncメッセージを宛先ノード、例えば境界クロック・ノード14へ送信する。その後、それは更なるパケット、すなわち滞留時間情報を含むFollow_upメッセージ1080を宛先ノードへ送信する。
【0110】
境界クロック・ノード14がFollow_upメッセージ108を受信した場合に、それは、IEEE1588で特定されるDelay_Reqメッセージを返す。よって、
図5は、境界クロック・ノード14からMPLS入口ラベル・スイッチング・エッジ・ルータ(LER)20へ送信されているDelay_Reqメッセージ94を示す。LER20は、
図4に示されるようなMPLS G−Achフォーマットにメッセージを入れ、
図5でDelay_Req
*として示される結果のパケット112が、MPLS出口ラベル・スイッチング・エッジ・ルータ(LER)18に到達するまで、1つ以上のラベル・スイッチング・ルータ(LSR)22を通じて送信される。LER18は、MPLS G−Achフォーマットからメッセージを抽出し、当初のDelay_Reqメッセージ94に対応する結果のパケット114が境界クロック・ノード12へ送信される。
【0111】
やはりIEEE1588で特定されるように、境界クロック・ノード12は、Delay_Reqメッセージ114を受信した場合にDelay_Respメッセージ96を返す。よって、
図5は、境界クロック・ノード12からラベル・スイッチング・エッジ・ルータ(LER)18へ送信されているDelay_Respメッセージ96を示す。ここでも、LER18は、
図4に示されるようなMPLS G−Achフォーマットにメッセージを入れ、
図5でDelay_Resp
*として示される結果のパケット116が、ラベル・スイッチング・エッジ・ルータ(LER)20に到達するまで、1つ以上のラベル・スイッチング・ルータ(LSR)22を通じて送信される。
【0112】
Delay_Resp
*パケット116は、そのペイロードとしてDelay_Respメッセージ96を含むが、関連するDelay_Reqメッセージの滞留時間情報を含めるために、
図4に示されるパケット・フォーマットのスクラッチ・パッド・フィールドも利用する。
【0113】
各ラベル・スイッチング・エッジ・ルータ(LER)18、20及び各ラベル・スイッチング・ルータ(LSR)22は、滞留時間情報を含めるようにDelay_Resp
*パケット116を更新する。この場合に、Delay_Resp
*パケット116に含まれる滞留時間情報は、Delay_Reqメッセージ94/112によってLER及びLSRにおいて費やされた滞留時間に関する。
【0114】
すなわち、Delay_Resp
*メッセージ116の場合に、スクラッチ・パッド・フィールドは、LER20からLER18へのパス上で関連するDelay_ReqパケットによってLER18、20及びLSR22において費やされた滞留時間を蓄積するために用いられる。
【0115】
より詳細に、LER18がDelay_Resp
*メッセージ116を生成及び送信する場合に、それは、Delay_ReqメッセージによってLER18において費やされた滞留時間を示す値をスクラッチ・パッド・フィールドに含める。上述のように、滞留時間は、任意の都合の良い方法で測定されてもよく、例えばメッセージが受信され始めた時点からメッセージが送信され始めた時点までである。
【0116】
時間はナノ秒の単位でIEEE倍精度フォーマットで格納される。
【0117】
同様に、LSR22がDelay_Resp
*メッセージ116を送信する場合に、それは、以前の関連するDelay_ReqメッセージによってLSR22において費やされた滞留時間を示す値を加えることによってスクラッチ・パッド・フィールドを更新する。
【0118】
これは、Delay_Resp
*メッセージ116がLER20に到達するまで続き、LER20は、MPLS G−Achフォーマットからメッセージを抽出し、出口LER20自身を含むDelay_Reqメッセージによって通過されたネットワークのノードにわたるDelay_Reqメッセージの蓄積滞留時間を示す情報を含む従来のDelay_Respメッセージ118を境界クロック・ノード14へ送信する。
【0119】
したがって、ノード18、20、22のそれぞれは、先行する、すなわち送信元のノードからDelay_Reqメッセージを含むデータ・パケットを受信し、それを後続の、すなわち宛先のノードへ転送し、各ノードにおけるデータ・パケットの滞留時間を測定する。続いて、ノード18、20、22のそれぞれは、測定された滞留時間から導出された滞留時間情報を含む更なるデータ・パケット(すなわち、Delay_Respメッセージを含むデータ・パケット)を先行する、すなわち送信元のノードへ送信する。よって、滞留時間情報を含む更なるデータ・パケットの送信は、宛先から送信元へ第2メッセージを転送し、滞留時間情報を更新又は当該転送される第2メッセージに含めることによって実現される。この場合に、第1データ・パケットはDelay_Reqメッセージであり、第2(更なる)データ・パケットはDelay_Respメッセージである。
【0120】
よって、ノード18、22、20のそれぞれは2ステップ・トランスペアレント・クロックとして機能する。
【0121】
よって、アクティブ・ノードとしてLER20を検討する場合に、それは、送信元ノードとして機能する境界クロック・ノード14から第1パケットとしてDelay_Reqメッセージを受信し、Delay_Reqメッセージを宛先ノード、例えばLSR22へ転送する(よって、“送信元ノード”という用語は、アクティブ・ノードがパケットを受信する元のノードを指し、“宛先ノード”という用語は、アクティブ・ノードがパケットを送信する先のノードを指す。これらはパケットの当初の送信元又は最終的な宛先でなくてもよい。)続いて、LER20は、更なるパケット、すなわち滞留時間情報を含むDelay_Resp
*メッセージ118を送信元ノードへ送信する。
【0122】
アクティブ・ノードとしてLSR22を検討する場合に、それは、LER20のような送信元ノードから第1パケットとしてDelay_Req
*メッセージを受信し、Delay_Req
*メッセージを宛先ノード、例えばLER18へ転送する。続いて、それは、更なるパケット、すなわち滞留時間情報を含むDelay_Resp
*メッセージ116を送信元ノードへ送信する。
【0123】
同様に、アクティブ・ノードとしてLER18を検討する場合に、それは、LSR22のような送信元ノードから第1パケットとしてDelay_Req
*メッセージを受信し、Delay_Req
*メッセージを宛先ノード、例えば境界クロック・ノード12へ送信する。続いて、それは更なるパケット、すなわち滞留時間情報を含むDelay_Resp
*メッセージ116を送信元ノードへ送信する。
【0124】
したがって、
図3及び
図5は、先行するメッセージに関連する滞留時間情報を含めるために特定のフォローアップ・メッセージが送信される方法を説明する。しかし、MPLSネットワークを超えるパケットの滞留時間に関連する同じ滞留時間情報が、1つ以上の後続のパケットの訂正フィールドを更新することによって伝えられうることが理解されるだろう。例えば、ネットワーク・タイム・プロトコルの場合に、このアプローチは、http://www.eecis.udel.edu/~mills/ntp/html/xleave.htmlに記載されるように、“インタリーブド・モード”と呼ばれる。
【0125】
第1データ・パケットを受信及び転送する例が記載される。一部の側面では、受信されるパケットと転送されるパケットとの間でアクティブ・ノードにおいて第1データ・パケットに1つ以上の修正、例えばヘッダへの修正が行われてもよい。