前回まで、IEEE 1588について3回に分けて紹介してきた。以下におさらいしておこう。

標準化名

名称

IEEE 1588-2002

初代PTP(PTPv1などとも)

IEEE 1588-2008

2代目PTP。PTPv2

IEEE 1588-2019

3代目PTP。PTPv2.1(PTPv3とも)


[記事訂正 11月10日]
初出時、記事タイトルなどで「IEEE 802.1AS」を「IEEE 802.3AS」と、誤った記述をしておりました。
大変申し訳ありません。お詫びして訂正いたします。


 IEEE 1588と切っても切れない関係にあるのが、今回取り上げるIEEE 802.1ASである。IEEE 1588はPTP(Precision Time Protocol)として表現されるが、IEEE 802.1ASは「TSN(Time-Sensitive Networking)」として分類される。
 実際には、IEEE 802.1ASはTSNの一部、というか、TSNを構築する技術の1つだ。しかし、IEEE 802.1ASのみがTSNというわけではない。TSNに関連する規格はIEEEだけでも、次の8つが存在する。 IEEE 802.1AS:時刻同期IEEE 802.1CB:信頼性確保のための冗長性IEEE 802.1Qav:TSNにおけるトラフィックシェーピングIEEE 802.1Qbu:フレームプリエンプションIEEE 802.1Qbv:時分割スケジューリングIEEE 802.1Qcc:SPR(Stream Reservation Protocol)拡張IEEE 802.1Qci:ストリーム毎のフィルタリングやポリシングIEEE 802.3br:エクスプレストラフィックの混在
 加えて、産業向けのリアルタイム制御用としてTSN EtherCATやCC-Link IE TSN、PROFINET over TSNなど、TSNとして分類されるネットワークは多数存在する。
IEEE 802.1ASを前提に、IEEE 1588も策定された
 そのような中で、TSNというとIEEE 802.1ASの名前が必ず出てくる理由の1つは、IEEE 802.1ASが時刻同期のメカニズムを定めたもので、これを前提に、さまざまなそのほかの規格が定められているからだ。
 そして、実はこれにはIEEE 1588も含まれる。というのも、IEEE 1588内で利用するプロファイルとして、IEEE 802.1ASが参照されているためだ。前回まででIEEE 1588は3種類(PTPv1/v2/v2.1)あると紹介したが、実はIEEE 802.1ASも2種類ある。両者の対応としては、次のようになっている。 PTPv1(IEEE 1588-2002)→対応関係なしPTPv2(IEEE 1588-2008)→IEEE 802.1AS-2011PTPv2.1(IEEE 1588-2019)→IEEE 802.1AS-2020
IEEE 1588-2008のSpecificationより。この時点ではまだIEEE 802.1AS-2011の策定が終わってないので、将来策定予定ということでTransport層用のフラグだけが用意されている
 とはいえ、策定された年を見ていくと、IEEE 802.1ASの仕様策定が完了したのは2011年であり、IEEE 1588-2008の策定には間に合ってないことに気づく(IEEE 1588-2019も同じだ)。しかし、TSN Task Groupのページを見ると「This was done in cooperation with the IEEE 1588 working group, and so the point-to-point 802.3 sublayer of 802.1AS is a specific profile of IEEE Std 1588-2008.」との表記があり、そもそも仕様の策定段階で両Task Groupが共同で作業を行っていたことが伺える。
 実はもう最初の、P802.1AS-2011に関するTask GroupのDocumentにアクセスできなくなっているので、PARとかObjectiveなどは不明なのだが(IEEE 802.1AS-2020の作業を行っていたP802.1AS-Revの方は、まだアクセスできる)、とりあえず結果として策定された仕様を説明しよう。
 これは、OSI参照モデルでいうところのLayer 2(Datalink層)で、時刻同期を取るための仕組みである。IEEE 802.1ASではこれを「gPTP(generalized precision time protocol)」と呼んでいる。
 筆者が想像するには、おそらくPTPv1ことIEEE 1588-2002は通常のTCP/IPを前提とした構成だったので、それ以外のネットワーク(上に書いたEtherCATとかCC-Linkなど)でもTSNを使いたい、というニーズが出たのではないかと思う。こうした声に応えるために、PTPのメカニズムをLayer 2に押し込む作業を、IEEE 802.1ASとして行ったのではないかと考えている。
gPTPとPTPの違い
 IEEE 802.1ASで定義されたgPTPと、IEEE 1588で定義されたPTPの違いについて、Specificationでは、次のように規定している。
【同期に利用する情報】 gPTPでは、EEE 802のMAC PDUおよびアドレスだけで時刻同期を実現するが、PTPはさまざまなLayer 2およびLayer 3~4を利用した時刻同期を提供する。
【メディア】 gPTPはメディア非依存であり、複数種類ネットワークにまたがる単一のTiming Domainで動作する。一方、PTPはIPv4/IPv6、Ethernetまたは産業用ネットワークに特化するかたちで実装される。
【システム】 gPTPでは、時刻同期するシステムはEnd StationおよびBridgeの2種類のみである。対してPTPではOrdinary clock、Boundary clock、End-to-End transparent clocks、およびP2P transparent clockの4種類が定義されている。gPTPのEnd StationはPTPのOrdinary clockに相当し、一方、gPTPのBridgeはPTPのBoundary clockの一種と定義される。
【中継】 gPTPの場合、時刻同期を行うシステムは、ほかの時刻認識システムとgPTP情報を直接通信するのみである。すなわち、gPTPのTime Domainは時間認識システムのみで構成される。時間認識を行わないBridgeは、gPTP情報の中継に使用できない。一方でPTPの場合、PTPのTime Domainはその内部に非PTP対応Bridgeを利用することが可能である。ただしこれを行う場合、Timingの収束が遅くなり、また余分なJitter及びWanderが発生するので、PTP Clock(というかIEEE 1588 Clock)を用いて、これのFilteringが必要となる。
【全二重Ethenetでの動作】 全二重Ethernetの場合、gPTPはPeer delayメカニズムを使用する必要があるが、PTPではEnd-to-End delayメカニズムを利用することも可能である。
【全二重Ethenetでの動作に必要な処理】 全二重Ethernetの場合、gPTPは2段階処理(Follow_UpとPdelay_Resp_Upを利用してTimestampを送信する)が必要であるが、PTPでは1段階処理(メッセージにOn-the-flyでTimestampを埋め込む)が可能である。
【Time domainの混在】 定常状態では、gPTPのTime domainにはActiveなGrandmaster clockが1つだけ存在する。対してPTPの場合、複数のTime domainが混在することが許される。
【同期】 gPTPのTime domain内に存在する全ての時刻同期システムは論理的に同期しており、これは同じ頻度で同期を取ることを意味している。これはgPTPの必須要件である。対してPTPではこの同期化はオプションであり、このためTime domain全体での同期には(gPTPより)時間を要する。
【BMCA】 gPTPで使用されるBMCA(Best Master Clock Algorithm)は、以下の4つの例外を除き、PTP(というかIEEE 1588)で利用されるBMCAと同じである。 Slave portが受信したAnnounce messageについて、受信側の時刻同期システムから送信されたものではない場合は直ちに利用される。BMCAがPort masterであると判断したportが直ちにMaster portとなる。未校正状態は利用されない。全ての時刻同期システムは、仮にGrandmasterになりうる能力がない場合でも、Best masterの選択に参加することが要求される。
 以上が、gPTPとPTPの違いである。ちなみに、gPTPでは、アプリケーションがどのように時間情報を取得するかについて一切定義がない。これもPTPとの違いである。
 gPTPというかIEEE 802.1AS-2011における時刻の同期方法(あるいはMasterとSlaveのClockの時間差の取得方法)そのものはPTPと同じである。ただそれでもLayer 2だけでこれが完結することは便利で、Layer 3以上に独自プロトコルを組み込んだ場合でも、Layer 2にIEEE 802.1ASを組み込むことで、そのプロトコルをTSN対応にできるわけだ。
これもIEEE 1588-2008のSpecificationより。もちろん、これは一番簡単な場合である
大原 雄介
フリーのテクニカルライター。CPUやメモリ、チップセットから通信関係、OS、データベース、医療関係まで得意分野は多岐に渡る。ホームページはhttp://www.yusuke-ohara.com/

PTPv2の成功を受けて登場した「IEEE 1588-2019」は、広範な利用のためのオプションを追加した「PTPv2.1」

「IEEE 802.1AS-2020」の登場、想定外に広く使われだしたIEEE 802.1AS-2011の改定版
▲[期待のネット新技術]の他の記事を見る

関連リンク IEEE 802.1AS IEEE 802.1CB IEEE 802.1Qav IEEE 802.1Qbu IEEE 802.1Qbv IEEE 802.1Qcc IEEE 802.1Qci IEEE 802.3br TSN Task Group P802.1AS-Rev

関連記事

連載
ネット新技術
PTPv2の成功を受けて登場した「IEEE 1588-2019」は、広範な利用のためのオプションを追加した「PTPv2.1」
2022年10月4日

連載
ネット新技術
累積誤差を排除した2代目PTP「IEEE 1588-2008」、LAN内機器での時間同期の精度を向上
2022年9月6日

連載
ネット新技術
LAN内機器での時間同期の標準規格「PTPv1」こと「IEEE 1588-2002」
2022年8月9日

連載
ネット新技術
4ペアでPSE最大90W、PD最大71.3Wの「PoE++」こと「IEEE 802.3bt」
2022年7月5日

連載
ネット新技術
4ペアで最大51Wを実現するPoE+こと「IEEE 802.3at」
2022年6月7日

連載
ネット新技術
3世代あるPoEは2003年に策定、最大15.4Wの「IEEE 802.3af」から
2022年5月10日

投稿者 Akibano

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です