• 放送・映像システムへのIP技術の適用 (2)

 
 
Print Friendly, PDF & Email

放送・映像システム、特にプロダクションシステムへのIP技術の適用検討が本格化してきました。IP技術の適用は、放送・映像システムに大きな変化をもたらします。その変化は、さまざまな視点で語られていますが、そのひとつが、ワークフローの変化です。従来のシステムは、同軸ケーブルの配線そのものがワークフローとなっていました。映像機器にIPアドレスを割り当てることにより、物理的な条件に限定されることなくシステムの構成が可能になり、映像や音声のリソースを柔軟に組み合わせることが可能になります。また、放送・映像機器にとって重要な同期にも大きな変化をもたらします。従来、同期の信号は、スタジオやベニュごとに生成していました。この同期信号をPTPに置き換え、IPネットワークを利用することで効率的な同期信号の配信がが可能になります。アリスタネットワークスのスイッチは、PTPによる同期信号の配信を効率化するため、PTP BoundaryとTransparentのふたつのモードをサポートしています。

放送・映像システムでは、ハウス内の同期信号に映像機器が同期することで映像や音声を送信しています。このとき、これらの機器が同期信号に同期することを「ロックする」と表現するようです。実際に解析装置には、「ロック」の状態を示すインディケータが存在します。(同期信号を扱うタイムサーバベンダや解析装置ベンダの「ロック」には、明確な定義は存在しないようです。一例として、あるベンダでは、1μsの状態が一定時間保持できるとロックとするようです) アリスタネットワークスのスイッチにも同様のステータスの有無についてお問い合わせいただくことがあります。当社のスイッチには、「ロック」というステータスがありません。しかしながら、当社のスイッチが、Boundaryモードで動作させる場合には、やはりGrandmasterに対して「ロック」したのか、していないのか確認したいところです。そこで今回は、当社スイッチをPTP Boundary モードで動作させ、「ロック」した状態をどのように確認するのか、その方法を紹介してみます。

PTP Boundaryモード

PTP Boundaryモードを有効にするには、モードをBoundaryに指定します。さらに、スイッチが所属するドメイン、ドメイン内でのスイッチの優先度を決めるプライオリティの設定が必要です。これらの設定は、Grandmaster clock選出に利用されるPTPのAttributeになります。GrandmasterのID、時刻ソースや品質をAttributeで表現することでドメイン内で最上位となる時刻ソース(ベストマスタ・クロック)を決定します。PTPのAttributeの個別の解説については、ここでは割愛します。まず、スイッチをBoundaryモードで起動してみましょう。以下がBoundaryモード起動するためのグローバル設定です。

ptp priority1 127
ptp priority2 128
ptp domain 127
ptp source ip 172.31.0.1
ptp mode boundary

上記の設定に加えて、PTPを有効にするポートごとにPTP有効、Announce, Sync, Delay-Requestの送信間隔を設定します。上位クロックに対して、下位のクロックとなる(Slaveステータス)場合にも明示的に送信間隔を設定する必要があります。また、PTPメッセージングは、デフォルトVLANで(VLAN tagなし)実行されることにも注意が必要です。(PTP有効ポートが、VLAN Trunk ポートとなる場合には、デフォルトVLANを合わせて設定することでPTPメッセージングが可能になります=VLAN10がNative VLANになっているので、VLAN10をTrunkポートに適用)

interface Ethernet5
description ptp port setting sample
switchport trunk native vlan 10
switchport trunk allowed vlan 10-12
switchport mode trunk
ptp enable
ptp announce interval -2
ptp sync interval -3
ptp delay-req interval -3
sflow enable

それでは、起動したBoundary Clockのステータスを確認していきましょう。

PTPのステータス確認

早速、PTPのステータスを確認していきましょう。show ptp コマンドを実行します。show ptpコマンドを実行すると、上位クロック (Grandmaster) との時刻の差分(オフセット/Offset)、Grandmasterへのパス遅延 (Mean Path Delay)、下位クロックに対するPTPステータスなどを確認できます。この一連の表示の中に「ロック」というステータスはありませんが、”Last Sync Time”と上位クロックに対する”state”を確認することで、上位クロックに「ロック」できていることを確認できます。

#show ptp
PTP Mode: Boundary Clock
Clock Identity: 0x00:1c:73:ff:ff:2a:c3:f0
Grandmaster Clock Identity: 0x00:1c:73:ff:ff:2a:ca:56
Number of slave ports: 1
Number of master ports: 0
Slave port: Ethernet23
Offset From Master: -467                              <<< 上位との時刻差 
Mean Path Delay (nanoseconds): 193                   <<< 上位へのパス遅延 
Steps Removed: 1
Skew (estimated local-to-master clock frequency ratio): 1.00011656592
Last Sync Time: 14:02:11 UTC Sep 26 2018             <<< 上位との同期時刻
Current PTP System Time: 14:02:11 UTC Sep 26 2018   <<< PTPエージェントの時刻
   Interface       State       Transport    Delay
                                            Mechanism
--------------- ----------- --------------- ---------
   Et23            Slave       ipv4         e2e.         <<< 上位にSlaveとして同期

また、show ptp parent コマンドを実行すると同期している上位のクロック、そのクロックのAttributeを確認できます。これも上位クロックとの「ロック」した状態を示しています。このように明示的に「ロック」というステータスはないものの、コマンドラインの出力内容により、「ロック」していることが確認できます。

#show ptp parent
Parent Clock:
Parent Clock Identity: 0x00:1c:73:ff:ff:2a:ca:56
Parent Port Number: 23    
Parent IP Address: 10.1.1.1   
Observed Parent Offset (log variance): N/A
Observed Parent Clock Phase Change Rate: N/A

Grandmaster Clock:
Grandmaster Clock Identity: 0x00:1c:73:ff:ff:2a:ca:56
Grandmaster Clock Quality:                               <<< Grandmasterのattribute
   Class: 248
   Accuracy: 0x30
   OffsetScaledLogVariance: 0xffff
   Priority1: 127
   Priority2: 128

PTPの可視化 (PTP Monitor)

ここまで、PTP Boundary動作時のステータス確認方法について紹介してきました。EOS4.21.0Fからptp monitor がサポートされました。ptp monitorによりサポートされたshow ptp monitor コマンドを利用すると上位クロックとの同期状態の履歴確認と閾値を超過した場合のアラームが可能になりました。この機能追加により、上位クロックとの「ロック」状態の履歴を最大100件まで確認できるようになりました。機能の詳細については、PTP MonitoringのTOIを確認ください。

# show ptp monitor
PTP Mode: Boundary Clock 
Ptp monitoring: enabled 
Number of entries: 5 
Offset from master threshold: 1500 
Mean path delay threshold: not configured 
Skew threshold: 0.5 
Interface Time Offset from Mean Path Skew 
Master (ns) Delay (ns) 
---------- ----------------------------- ------------ ------------- ----------- 
Et8 21:23:12.901 UTC Feb 22 2018 71 5849 1.003159918 
Et1 21:23:12.901 UTC Feb 22 2018 113 3672 1.004990621 
Et2 21:23:12.901 UTC Feb 22 2018 706 7799 1.002744199 
Et1 21:23:12.901 UTC Feb 22 2018 803 5861 1.003432049 
Et1 21:23:12.901 UTC Feb 22 2018 610 3415 0.998974658

PTPの可視化 (CloudVision PTP Monitor)

PTP Monitorによる上位クロックとの同期状態は、CloudVisionのPTP Monitor機能でも可視化することが可能になっています。CloucVisionのMetrics Viewから、PTPのメトリックスを選択すると、長期間にわたる上位クロックとの同期状態とその変化を確認することができるようになります。EOS PTP MonitorとCloudVision PTP Monitorを併用することで、個別のデバイスごとの直近のPTPステータスと長期間にわたるネットワークワイドのPTPステータスの変化の監視が可能になりました。

PTPのトラブルシューティング

最後にトラブルシューティングについても簡単に触れておきます。アリスタネットワークスのEOSは、スイッチのステータスを確認するためにshowコマンドをサポートしています。さらに詳細な状態把握を可能にするため、Trace機能をサポートしています。(“debug”モードと呼ばれる方が一般的かもしれません) Trace コマンドを利用すると、たとえば、BMCA (Best Master Clock Algorithm)の推移を確認するなど、PTP (エージェント)のより細かな動作を確認することが可能になります。上位クロックとなかなか「ロックしない」「ロックが外れてします」ようなケースでは、Traceによる状態監視が有効です。それでは、Traceを有効にするステップを確認しましょう。

  • TraceするAgentを決定
  • EOSコマンドラインから、Traceした情報を保存する領域を決定
  • EOSコマンドラインから、Traceを有効
  • 保存したTraceファイルを確認

PTP agentの動作を確認してみましょう。EOS traceコマンドでTrace対象と保存領域を決定します。Traec実行時のagent設定は、アリスタネットワークスのカスタマサポート、エンジニアに確認しましょう。

trace Ptp setting PtpBoundaryMode/*cf
trace Ptp filename flash:/Ptp.trace

それでは、実行したTraceが生成したステータス情報を確認してみましょう。PTP Agentのメッセージング、BMCA動作が確認することができます。

2018-09-26 14:58:00.053013 23043 PtpBoundaryMode 3 Run the state decision algorithm
2018-09-26 14:58:00.053053 23043 PtpBoundaryMode 8 BestMasterClockSm(Ethernet3)::stateDecisionAlgorithm()
2018-09-26 14:58:00.053109 23043 PtpBoundaryMode 8 PtpBoundaryClockSm::compareDataSets()
2018-09-26 14:58:00.053170 23043 PtpBoundaryMode 8 PtpBoundaryClockSm::compareDataSets()
2018-09-26 14:58:00.053209 23043 PtpBoundaryMode 8 PtpBoundaryClockSm::compareDataSets()
2018-09-26 14:58:00.053246 23043 PtpBoundaryMode 0 Recommeneded master3
2018-09-26 14:58:00.053287 23043 PtpBoundaryMode 8 BestMasterClockSm(Ethernet3)::updateMasterDataSets()
2018-09-26 14:58:00.053328 23043 PtpBoundaryMode 3 BestMasterClockSm(Ethernet3)Updating data sets for Master3
2018-09-26 14:58:00.053370 23043 PtpBoundaryMode 3 Send an announce message
2018-09-26 14:58:00.053409 23043 PtpBoundaryMode 8 BestMasterClockSm(Ethernet3)::sendAnnounceMessage()
2018-09-26 14:58:00.053497 23043 PtpBoundaryMode 3 Announce seq id is 15201
2018-09-26 14:58:00.053555 23043 PtpBoundaryMode 3 currentUtcOffset is Value('Arnet::NetU16', ** {'v0': 0, 'v1': 0})
2018-09-26 14:58:00.053595 23043 PtpBoundaryMode 3 reserved1 is 0
2018-09-26 14:58:00.053632 23043 PtpBoundaryMode 3 grandmasterPriority1 is 1
2018-09-26 14:58:00.053698 23043 PtpBoundaryMode 3 grandmasterClockQuality is Value('Ptp::ClockQuality', ** {'clockClass': 150, 'clockAccuracy': 39, 'offsetScaledLogVariance': Value('Arnet::NetU16', ** {'v0': 63, 'v1': 144})})
2018-09-26 14:58:00.053737 23043 PtpBoundaryMode 3 grandmasterPriority2 is 128
2018-09-26 14:58:00.053810 23043 PtpBoundaryMode 3 grandmasterIdentity is Value('Arnet::NetU64', ** {'v0': 0, 'v1': 128, 'v2': 21, 'v3': 255, 'v4': 254, 'v5': 210, 'v6': 4, 'v7': 247})
2018-09-26 14:58:00.053861 23043 PtpBoundaryMode 3 stepsRemoved is Value('Arnet::NetU16', ** {'v0': 0, 'v1': 1})
2018-09-26 14:58:00.053899 23043 PtpBoundaryMode 3 timeSource is 241
2018-09-26 14:58:00.053947 23043 PtpBoundaryMode 3 flagField is 60

このようにTraceコマンドを実行するとBMCA動作をはじめとしたPTPの詳細な動作を確認することが可能になります。上記の例では、上位のクロックから取得したPTP Attribute が確認できます。GrandmasterのAttributeから、時刻ソース(ClockClass)と品質(精度、ClockAccuracy)などを確認することが可能です。この例では、PTPエミュレータから配信される時刻を参照しているため、時刻ソースは、ベンダ予約済みの値と100μs程度の精度の時刻に同期していることがわかります。

Follow

Get every new post on this blog delivered to your Inbox.

Join other followers: