一、PTP概述
PTP(Precision Time Protocol,精確時間協議)是一種時間同步的協議,由IEEE 1588-2008定義,通過在主時鐘和從時鐘之間交換信息來工作,用于精確同步分布式網絡通信中各個節點的實時時鐘,將網絡設備時鐘與主控機的主時鐘進行同步,提供建立同步時間小于1μs的運用。相比NTP(Network Time Protocol,網絡時間協議),PTP能夠滿足更高精度的時間同步要求,相比GPS(Global Positioning System,全球定位系統),PTP具備更低的建設和維護成本。
SMPTE ST 2059-2標準基于IEEE 1588標準,定義了在專業廣播環境下的時間和頻率同步的精確時間協議,并且定義了視音頻系統中網絡管理報文的基本格式。根據規范描述,PTP精確時間同步精確到納秒級,可以提供涵蓋模擬視頻、數字視頻和AES音頻的各種同步。
廣電制播系統對PTP時鐘鎖定穩定度要求比較高,跳變或者偏移都可以引起終端設備信號輸出不穩定或者偏差,為了保證系統PTP穩定以及維護需求,全系統PTP實時精準分析監測也成為IP制播網系統監控的重要組成部分。
1. PTP與NTP
NTP協議(Network Time
Protocol)是一種目前被廣泛應用的網絡時間同步協議,最高可以達到毫秒級的同步精度。NTP協議基于UDP協議以客戶機/服務器方式工作,由服務器提供準確穩定的時間,客戶端通過發送和接收NTP報文,計算時間偏差,校準自己的時間。NTP客戶端和服務器的通信包括兩個數據報文:客戶端的時間請求報文和服務器的響應報文。NTP協議報文中包含4個64bit時間戳(Timestamp),根據時間戳可以計算出時間偏差和網絡延遲。
PTP協議也是基于UDP協議的應用層協議,其數據報文經過TCP/IP協議棧的層層封裝,最終通過網絡傳輸進行主從時鐘之間的交互,完成主從時鐘的同步。PTP技術可以實現高精度時間同步的關鍵原因是要求PTP設備支持基于硬件打時間戳。同步消息在通過PTP設備數據鏈路層(MAC)和物理層(PHY)之間的媒體獨立接口(MII)時,會在PTP設備的本地時鐘上觸發一個時間戳,如圖1所示。
NTP協議和PTP協議都是基于UDP協議位于TCP/IP協議棧的應用層上,PTP協議不同于NTP協議在于PTP報文的數據包時間戳是在MAC記錄的,而NTP協議是在應用層記錄的。相比于NTP協議,PTP的時間戳是位于數據鏈路層(MAC)和物理層(PHY)之間與介質無關的接口中,這消除了操作系統和其他軟件無法預測的緩慢響應,因此基于硬件的時間戳不受軟件處理時延、流量的影響,從而可以實現更高精度的時間同步。
另外PTP協議的時間校準可以根據網絡狀況和終端的時間漂移情況,使用一定的數據處理算法,隔一段時間后才進行一次測量,從而減少了網絡流量和帶寬使用,相比NTP協議來說減輕了網絡終端的處理負擔。
2. PTP與傳統B.B
在技術原理和傳輸介質上,傳統基帶B.B同步是模擬電平在基帶中傳輸,在一個SDI系統中,公共校時頻率可通過物理層直接用于所有設備,只要拓撲結構沒有改變,相位關系就保持不變。而PTP使用以太網作為物理介質,默認情況下以太網是異步的,只有在兩個相鄰設備之間而不是在系統全局范圍內建立一個共同頻率,因此固有頻率傳輸不可行,我們無法通過物理層恢復頻率傳輸,因此必須使用基于數據包的方法分配時間和頻率。
隨著IP網絡設備的能力和容量穩步提高,使用SMPTE ST 2022-6等現有標準雖然可以通過IP交換和路由技術傳輸和交換視頻、音頻和元數據,但業界希望可以分別切換不同的基本元素,因此SMPTE提出采用SMPTE ST 2110-20、SMPTE ST 2110-30以及SMPTE ST 2110-40來分別傳輸視頻、音頻以及輔助數據。
這一系列SMPTE標準建立在VSF TR-03和TR-04以及AES67的工作基礎上,采用實時、基于RTP協議傳輸,通過SMPTE ST 2110-10定義一個定時系統,用于互連各種視、音頻以及輔助數據基本流之間的時序關系,因此PTP時鐘信號與視音頻業務數據流混合在一起于帶內傳輸,而傳統B.B同步信號是獨立于視音頻制作系統外的單獨系統,參考時鐘在自己專有的外部同步系統中傳輸不與業務系統混合。
基于以上原因,在部署多系統統一校時方式時,傳統SDI多系統協同工作的時鐘可以由總控來統一分配,而多IP系統協同工作的PTP校時目前則有多域、單域不同的部署方案。
3. PTP與SMPTE ST 2059
IEEE Std 1588-2008引入了PTP配置文件的概念,第19.3.1.1款“概述”中描述了配置文件的目的:“PTP配置文件的目的是允許組織指定PTP屬性值和可選功能的特定選擇,當使用相同的傳輸協議時,這些屬性值和可選功能可以相互作用,并實現滿足特定應用要求的性能?!?021年最新發布的SMPTE ST 2059-1、2059-2標準以IEEE-1588協議為基礎,并衍生到廣電領域進行應用。
SMPTE ST 2059-1:2021:Generation and Alignment of Interface Signals to the SMPTE Epoch:定義了一個時間點即SMPTE歷元, 用于實時信號的校準,指定自SMPTE紀元以來信號與時間的持續對齊的公式,以及指定SMPTE ST 12-1時間地址值和SMPTE ST 309日期值計算的公式。該標準使用精確時間分布、歷元定義(“SMPTE歷元”)以及信號與該歷元的關系,設備可以生成用于鎖定傳統設備的傳統參考信號,或者可以在其接口上從內部導出視頻和音頻本質信號的定時。
SMPTE ST 2059-2:2021:SMPTE Profile for Use of IEEE-1588 Precision Time Protocol in Professional Broadcast Applications:與SMPTE ST 2059-1一起使用,基于IEEE-1588-2協議,定義了專業廣播環境中時間和頻率同步的PTP配置文件。此配置文件的設計目的如下:
◆允許時鐘快速、準確地同步,以支持專業的IP媒體應用;
◆傳輸音頻/視頻信號同步和時間標記所需的同步元數據(SM)。
PTP配置文件指定以下主要參數以及參數值,這些參數是專業媒體網絡PTP校時系統工作基礎,也是PTP監測所需要關注的參數。
4. PTP與RTP
IP專業媒體系統中視音頻數據包傳輸用的RTP/RTCP協議是使用時間戳來攜帶時鐘同步信息。SMPTE ST 2110-10定義了一個基于RTP的可擴展系統,該系統以指定其時序關系的方式引用公共參考時鐘,規定了所有基本流的系統定時模型和通用要求。
RTP報文內容包括待傳數據的報文頭和報文負載,報文數據頭包括序列號、時間戳和傳輸監視等信息,負載就是視音頻數據流。報文頭會專門提供固定字節位用于時間戳的攜帶,這樣接收設備就可以通過時間戳解讀出負載數據的同步時間用于數據重組。我們使用端口鏡像的方式,在實際IP系統中將視音頻流量轉到觀測口,使用專業儀器對觀測口的數據進行抓包,結果可以看到RTP數據包的基本信息:RTP協議建立在UDP協議基礎之上。
◆IP頭和UDP頭信息可獲取到源地址、目的地址(組播地址)、源端口、目的端口等信息;
◆RTP層數據可以獲取到RTP相關的信息,如:payload、SSRC、SN包序列號、RTP時間戳等。
基于以上PTP校時原理,我們可以采用通用IT服務器平臺實現專業媒體網絡下IP流時鐘同步精度分析和監測,以純軟件形態部署在通用IT環境下,實現對基于ST 2110、ST 2022-6等多種專業媒體網絡IP流的時鐘鎖定精度狀態進行實時監測和分析。
二、PTP校時分析服務器
超高清媒體節點設備在發送數據包間隔為微秒級,但實際網絡環境中IP數據包存在抖動和延時,不能直接使用接收到的PTP時間戳作為發送定時依據,必須通過校時鎖定本地的高穩時鐘,利用這個與PTP同步鎖相的高穩時鐘,才能同時達到精度高、穩定兩個基本要求。
IEEE-802.3標準定義了MII(Media Independent Interface,介質無關接口,或稱為媒體獨立接口),用于描述以太網收發器與網絡控制器之間的接口,用于將不同類型的PHY與相同網絡控制器(MAC)相連接的通用總線。網絡控制器可以用同樣的硬件接口與任何PHY進行連接,它包括一個數據接口,以及一個MAC和PHY之間的管理接口。數據接口包括分別用于發送器和接收器的兩條獨立信道,每條信道都有自己的數據、時鐘和控制信號;管理接口是個雙信號接口,一個是時鐘信號,另一個是數據信號,通過管理接口,上層能監視和控制PHY。
受計算機本地時鐘晶振和軟件時鐘精度的影響,目前操作系統提供的本地時鐘的精度只能達到10ms左右,遠不能滿足同步系統的需要,因此需要重新構建高精度的本地時鐘,并能夠使其精度保持在較高的范圍內。在服務器中穩定時鐘源是CPU的石英晶體諧振器(Quartz crystal oscillator),它能夠產生中央處理器(CPU)執行指令所必需的時鐘頻率信號。為了減少操作系統的影響,修改網絡驅動,通過MII接口時間戳使用獨立通道進行報文的發送和接收,網絡I/O使用阻塞Socket,在一個數據報文發送完畢之后,才返回做其他事情或發送下一個數據報文,這樣就保證了報文的確認接收和發送,數據報文有序的發送和接收。
如圖3所示,TP校時分析服務器硬件平臺配置光纖網卡,通過光纖網卡接入IP數據送給服務器IP解封包模塊;服務器基于ST 2059協議從IP解封包處理模塊獲取PTP時鐘GM母鐘狀態。
由于服務器操作系統一般使用搶占式調度機制,使得進程被調度的時間不可預測,造成不確定的延遲,因此設計服務器性能優化模塊來提高同步進程和同步線程的優先級;利用高精度時間定時器,獲取當前時間值,循環等待,直到系統時間刷新改變,記下此時定時器的計數值,根據基準時間和該時刻的計數值,可以計算之后任意時刻的準確時間。
PTP時基處理完成時鐘校正算法,由數據處理算法得到時間偏差,由高精度本地時鐘獲得準確的本地時間,利用時鐘校正算法可以進行穩定可靠的時鐘校正。Windows和Unix等系統都提供了相位校正和頻率校正的API,內部工作原理如下:
◆誤差計算:根據解析接收IP數據包得到時間戳(Timestamp),可計算出上一次發包到這一次發包的時間間隔。另外在這段時間內拿本地時鐘進行計數,與上一步計算出的時間間隔進行比較,可得到本地時鐘相比GM時鐘存在的誤差;
◆本地時鐘調整:本地時鐘相比GM時鐘存在的誤差是逐步消除的,通過濾波算法去抖動。針對相位調節和頻率調節的優缺點,提出相位調節和頻率調節相結合的時鐘校正模式,不同的場合使用不同的調節方式,初次同步或開機同步時,以及時間偏差較大時(如>100ms),使用相位調節校正方式,直接修正本地時鐘,將其校正到一定精度范圍內。時間偏差較小時,使用頻率調節校正,緩慢地調節時鐘頻率,本地時鐘逐漸趨于準確,防止出現時鐘回退和時鐘大幅改變的現象。經過不斷自我調整后,逐步達到鎖定狀態,實現PTP同步精度范圍在1μs內。得到的時鐘信號與GM時鐘基本是同步的。
PTP校時分析服務器提供PTP校時精度調整界面,適配不同的IP制播系統。該校時分析服務以純軟件形態部署在通用IT環境下,完全擺脫專用硬件;實現多通道IP流實時分析監測,成本降低,安裝部署快捷,維護方便。
三、PTP校時分析及監測
1. 多種PTP數據獲取研究
PTP校時分析服務器鎖定后會以當前鎖定的PTP時間為基準,對發送端發送的IP流量進行數據包頭分析,得到數據包基礎信息。
◆源地址:發流設備的源IP地址;
◆源端口:發流設備的源端口;
◆目的地址:發送流量的目標地址,一般是一個組播地址;
◆目的端口:發送流量的目的端口;
◆Sequence Number:數據包序列號;
◆M:mark標記;
◆F:場序標記;
◆Time stamp:RTP時間戳。
PTP校時分析服務器收到以上數據后,將本地時間與RTP時間進行實時對比,并且將對比結果反饋給上層。通過上層展示頁面,用戶將看到IP數據流的時鐘精度,也就是IP流與PTP的時鐘偏差。
基于IP系統設備的復雜性,校時分析服務器具備多種直接獲取設備PTP 數據的方法。
◆一些網絡設備PTP數據可以通過NetConf、SNMP獲??;
◆某些不支持這些通用協議設備,可以通過SSH協議先獲取到數據,然后再把有用數據通過正則表達式轉成JSON標準的數據,通過API接口上報到監測服務代理,通過這個方法可以獲取到系統內所有網絡設備的PTP數據;
◆通過get指令可以獲取一些網絡控制器的PTP數據。
2. PTP分析參數確定
PTP狀態監測展現網絡設備上的PTP信息。從網絡設備上讀取系統中的PTP信息,內容包括:PTP信息(鎖定狀態、Grandmaster ID、Clock ID、PTP mode、step模式)、PTP clock time(當前PTP系統時間、最新同步時間)、PTP端口狀態(slave端口、master端口及數量、禁用PTP端口、PTP domain及優先級信息。
四、總結
基于本地穩定時鐘,PTP校時分析服務器連接到管理交換機,基于以上獲取到的PTP數據,可以構建系統全局PTP分發拓撲,圖形化實時呈現PTP分發狀態,直觀呈現當前系統PTP時鐘以及各個網絡設備的PTP狀態,實現整網PTP狀態監測。
PTP分發拓撲界面可查看如下內容:
◆實時顯示PTP的分發狀態及分發流向,可查看母鐘、網絡設備(BC)和終端的PTP狀態信息;
◆實時展現母鐘倒換、分發路徑變化等信息,實時展現母鐘、網絡設備(BC)、終端的PTP報警;
◆實時展現網絡設備、母鐘、終端的PTP信息。
軟件通過PTP拓撲圖以及設備PTP參數表來直觀呈現當前系統PTP時鐘以及各個網絡設備的PTP狀態,在圖上顯示GM母鐘、交換機和所有節點的狀態信息。進一步,通過建立GM母鐘、網絡交換設備和終端設備三級PTP展現拓撲圖,不僅實現全局PTP信息及各設備校時狀態的展現,動態查看系統整體PTP狀態,以及局部PTP問題,還可以實現監控每個終端設備校時方向是否均指向同一個系統母鐘,解決現有方案只能查看局部網絡交換設備和終端設備信息的問題。
-
UDP協議
+關注
關注
0文章
67瀏覽量
12606 -
PHY
+關注
關注
2文章
270瀏覽量
51303 -
發送器
+關注
關注
1文章
238瀏覽量
26632 -
時鐘信號
+關注
關注
4文章
387瀏覽量
28197 -
PTP
+關注
關注
0文章
45瀏覽量
8484
發布評論請先 登錄
相關推薦
如何實現PTP協議的精準同步時鐘?
一種基于PCI IP核的碼流接收卡的設計
一種基于FPGA的多通道頻率測量系統的實現方法介紹
一種基于FPGA的可配置FFT IP核實現設計
求一種多通道同步數據采集及壓縮系統的設計方案
求大佬分享一種針對高斯類波形使用Mu-law壓縮的方法
一種精準的電機測速方法介紹
FPGA時分多址的改進型實現方法
Linux ptp4l程序實現PTP邊界時鐘和普通時鐘
評論