PTP精密時鐘服務器IEEE1588(V2.0)協議淺析
PTP精密時鐘服務器IEEE1588(V2.0)協議淺析
京準電子科技官微——ahjzsz
1、引言
以太網技術由于其開放性好、價格低廉和使用方便等特點,已經廣泛應用于電信級別的網路中,以太網的資料傳輸速度也從早期的10M提高到100M,GE,10GE,40GE,100GE正式產品也于2009年推出,
以太網技術是“即插即用”的,也就是將以太網終端接到IP網路上就可以隨時使用其提供的業務,但是,只有“同步的”的IP網路才是一個真正的電信級網路,才能夠為IP網路傳送各種實時業務與資料業務的多重播放業務提供保障,目前,電信級網路對時間同步要求十分嚴格,對于一個全國范圍的IP網路來說,骨干網路時延一般要求控制在50ms之內,現行的互聯網網路時間協議NTP(Network Time Protocol),簡單網路時間協議SNTP(Simple Network Time Protocol)等不能達到所要求的同步精度或收斂速度,基于以太網的時分復用通道仿真技術(TDM over Ethernet)作為一種過渡技術,具有一定的以太網時鐘同步概念,可以部分解決現有終端設備用于以太網的無縫連接問題,IEEE 1588標準則特別適合于以太網,可以在一個地域分散的IP網路中實作微秒級高精度的時鐘同步,本文重點介紹IEEE 1588技術及其測驗實作,
2、IEEE1588PTP介紹
IEEE1588PTP協議借鑒了NTP技術,具有容易配置、快速收斂以及對網路帶寬和資源消耗少等特點,IEEE1588標準的全稱是“網路測量和控制系統的精密時鐘同步協議標準(IEEE 1588 Precision Clock Synchronization Protocol)”,簡稱PTP(Precision Timing Protocol),它的主要原理是通過一個同步信號周期性的對網路中所有節點的時鐘進行校正同步,可以使基于以太網的分布式系統達到精確同步,IEEE 1588PTP時鐘同步技術也可以應用于任何組播網路中,
IEEE 1588將整個網路內的時鐘分為兩種,即普通時鐘(Ordinary Clock,OC)和邊界時鐘(Boundary Clock,BC),只有一個PTP通信埠的時鐘是普通時鐘,有一個以上PTP通信埠的時鐘是邊界時鐘,每個PTP埠提供獨立的PTP通信,其中,邊界時鐘通常用在確定性較差的網路設備(如交換機和路由器)上,從通信關系上又可把時鐘分為主時鐘和從時鐘,理論上任何時鐘都能實作主時鐘和從時鐘的功能,但一個PTP通信子網內只能有一個主時鐘,整個系統中的最優時鐘為最高級時鐘GMC(Grandmaster Clock),有著最好的穩定性、精確性、確定性等,根據各節點上時鐘的精度和級別以及UTC(通用協調時間)的可追溯性等特性,由最佳主時鐘演算法(Best Master Clock)來自動選擇各子網內的主時鐘;在只有一個子網的系統中,主時鐘就是最高級時鐘GMC,每個系統只有一個GMC,且每個子網內只有一個主時鐘,從時鐘與主時鐘保持同步,圖1所示的是一個典型的主時鐘、從時鐘關系示意,
主從時鐘關系圖
同步的基本原理包括時間發出和接收時間資訊的記錄,并且對每一條資訊增加一個“時間戳”,有了時間記錄,接收端就可以計算出自己在網路中的時鐘誤差和延時,為了管理這些資訊,PTP協議定義了4種多點傳送的報文型別和管理報文,包括同步報文(Sync),跟隨報文(Follow_up),延遲請求報文(Delay_Req),延遲應答報文(Delay_Resp),這些報文的互動順序如圖2所示,收到的資訊回應是與時鐘當前的狀態有關的,同步報文是從主時鐘周期性發出的(一般為每兩秒一次),它包含了主時鐘演算法所需的時鐘屬性,總的來說同步報文包含了一個時間戳,精確地描述了資料包發出的預計時間,
PTP報文與交換順序
由于同步報文包含的是預計的發出時間而不是真實的發出時間,所以Sync報文的真實發出時間被測量后在隨后的Follow_Up報文中發出,Sync報文的接收方記錄下真實的接收時間,使用Follow_Up報文中的真實發出時間和接收方的真實接收時間,可以計算出從屬時鐘與主時鐘之間的時差,并據此更正從屬時鐘的時間,但是此時計算出的時差包含了網路傳輸造成的延時,所以使Delay_Req報文來定義網路的傳輸延時,
Delay_Req報文在Sync報文收到后由從屬時鐘發出,與Sync報文一樣,發送方記錄準確的發送時間,接收方記錄準確的接收時間,準確的接收時間包含在Delay_Resp報文中,從而計算出網路延時和時鐘誤差,同步的精確度與時間戳和時間資訊緊密相關,純軟體的方案可以達到毫秒的精度,軟硬體結合的方案可以達到微秒的精度,PTP協議基于同步資料包被傳播和接收時的最精確的匹配時間,每個從時鐘通過與主時鐘交換同步報文而與主時鐘達到同步,這個同步程序分為漂移測量階段和偏移測量與延遲測量階段,
第一階段修正主時鐘與從時鐘之間的時間偏差,稱為漂移測量,如圖3所示,在修正漂移量的程序中,主時鐘按照定義的間隔時間(預設是2s)周期性地向相應的從時鐘發出惟一的同步報文,這個同步報文包括該報文離開主時鐘的時間估計值,主時鐘測量傳遞的準確時間T0 K,從時鐘測量接收的準確時間T1 K,之后主時鐘發出第二條報文——跟隨報文(Follow_up Message),此報文與同步報文相關聯,且包含同步報文放到PTP通信路徑上的更為精確的估計值,這樣,對傳遞和接收的測量與標準時間戳的傳播可以分離開來,從時鐘根據同步報文和跟隨報文中的資訊來計算偏移量,然后按照這個偏移量來修正從時鐘的時間,如果在傳輸路徑中沒有延遲,那么兩個時鐘就會同步,
從時鐘向主時鐘發出一個“延遲請求”資料報文,在這個程序中決定該報文傳遞準確時間T2,主時鐘對接收資料包打上一個時間戳,然后在“延遲回應”資料包中把接收時間戳B送回到從時鐘,根據傳遞時間戳B和主時鐘提供的接收時間戳D,從時鐘計算與主時鐘之間的延遲時間,與偏移測量不同,延遲測量是不規則進行的,其測量間隔時間(預設值是4~60s之間的隨機值)比偏移值測量間隔時間要大,這樣使得網路尤其是設備終端的負荷不會太大,采用這種同步程序,可以消減PTP協議堆疊中的時間波動和主從時鐘間的等待時間,從圖4右邊可以看到延遲時間D 和偏移時間數值O的計算方法,
IEEE 1588目前的版本是v2.2,主要應用于相對本地化、網路化的系統,內部組件相對穩定,其優點是標準非常具有代表性,并且是開放式的,由于它的開放性,特別適合于以太網的網路環境,與其他常用于Ethernet TCP/IP網路的同步協議如SNTP或NTP相比,主要區別是PTP是針對更穩定和更安全的網路環境設計的,所以更為簡單,占用的網路和計算資源也更少,NTP協議是針對于廣泛分散在互聯網上的各個獨立系統的時間同步協議,GPS(基于衛星的全球定位系統)也是針對于分散廣泛且各自獨立的系統,PTP定義的網路結構可以使自身達到很高的精度,與SNTP和NTP相反,時間戳更容易在硬體上實作,并且不局限于應用層,這使得PTP可以達到微秒以內的精度,此外,PTP模塊化的設計也使它很容易適應低端設備,
IEEE1588標準所定義的精確網路同步協議實作了網路中的高度同步,使得在分配控制作業時無需再進行專門的同步通信,從而達到了通信時間模式與應用程式執行時間模式分開的效果,
由于高精度的同步作業,使以太網技術所固有的資料傳輸時間波動降低到可以接受的,不影響控制精度的范圍,
轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/142645.html
標籤:其他
上一篇:Selenium自動化測驗實戰
下一篇:Trevorc2命令與控制
