第 3 章 IEEE 1588 標準概論
3.1 IEEE 1588 標準同步原理
3.1.2 協定中重要的假設
在協定之中必須先確定一些假設是否被滿足,才可以使協定能夠順利的運作,
假設如下
1. 網路必須支援多點廣播通訊(Multicast)
所有 PTP 的非管理信息(Non management messages)必須藉由多點廣播來通訊,
而PTP 的管理信息則是可以利用多點廣播或是點對點(Point to point)通訊;所以建 議在使用PTP 通信的網路能夠使用多點廣播,至於點對點需要存在的理由則為:
(1) 當網路中的時鐘(節點)個數增加時,未使用點對點通訊將會使同步估測不良。
(2) 不使用點對點通訊也會使得各節點時鐘在執行協定時的需求變得更複雜。
2. 必須避免多點廣播信息超出子網域外。
3. 每個時鐘要執行協定必須滿足:
(1) 時鐘的振盪器頻率的精確度與穩定度必須在 SI 秒的 0.01%。振盪器的穩定度 必須與時鐘辨識(Clock identifier)以及時鐘變異數(Clock variance)一致。
(2) 在 PTP_SLAVE 狀態的 PTP 時鐘必須能夠修正它的時間至與主時鐘一致,所以 可以調整的範圍需要在至少 0.02%的 SI 秒等級。
4. 時鐘所陳述的數值,例如它的時鐘階層、時鐘辨識等如下表,必須正確地描述。
表 3.3、時鐘階層的定義
Stratum number Specification
0 在執行PTP 時,暫時視為比其他時鐘還要好的時鐘等級
1 不會跟隨PTP 系統裡的其他時鐘,為原始參考標準。如:
GPS 時鐘或是原子鐘。
2 為次要參考標準時鐘。直接經由stratum 1 時間同步得來。
3 能 發 出 外 部 計 時 訊 號 和 設 定 PTP 外 部 同 步 旗 標 (PTP_EXT_SYNC flag)為真的最低時鐘階層門檻。
4 不能發出外部計時訊號,因此設定 PTP 外部同步旗標
(PTP_EXT_SYNC flag)為假的最低時鐘階層門檻。
5-254 保留此區間數值。
255 內定值;此階層時鐘不可能為最好的主時鐘。
25
表 3.4、時鐘辨識的定義 時鐘辨識
(ASCII)
相對應的時
鐘階層 說明
ATOM 1 時間從一個校準過的原子中得到,維持 UTC 時間
精準至25ns 以下。
GPS 1 時間從一個正確操作的GPS 接收機得來,維持 UTC
時間精準至100ns 以下。
ATOM 2 穩定的時鐘,其精準至100ns 之間,上一次的時間
校準是由時鐘階層1 的 ATOM 直接校準。
GPS 2 穩定的時鐘,其精準至100ns 之間,上一次的時間
校準是由時鐘階層1 的 GPS 接收機直接校準。
NTP 2
利用NTP 或是同等的協定並維持 UTC 時間在 15ms 以下或是穩定的時鐘且上一次與NTP 校準至 50ms 以內。
HAND 2 或更大 設定與UTC 時間精確在 10 秒內。
INIT 2 或更大 設定與使用者自訂時間至非特定精準度。
DFLT 3 或更大 假如沒有其他時鐘辨識可供使用時,可使用之。
為了讓時鐘的同步效能可以達到最佳化,必須滿足下述假設:
1. 網路的時間延遲不管是從主時鐘到從時鐘或者是從時鐘到主時鐘,兩者的延遲 時間須對稱。
2. 一個時鐘可能包含非對稱的延遲在它的時戳機制或是協定路徑中,(可分為外部 等待時間,時鐘時戳點間到外部同步信息或延遲要求信息的通訊媒介的傳遞時 間;內部等待時間,通訊媒介到同步信息和延遲要求信息的時鐘時戳點間的傳 輸時間,如圖3.2),假如這些延遲無法忽略,就必須正確地計算出來。
26 PTP時鐘埠
PTP程式碼
內部協 外部協 定堆疊
定堆疊
內部信息時鐘時戳點
內部等待時間 外部等待時間
外部信息時鐘時戳點
通信媒介
信息時戳點 xxxxxxxxxxxxxxx…….110101010101
同步或延遲要求封包
圖 3.2、等待時間常數的定義
如圖3.2 所示,同步或延遲要求信息通過通信媒介後,由內部協定堆疊的底部 進入,與內部信息時鐘時戳點產生內部等待時間。修正等待時間方法如下:
對於修正外部等待時間可由下列三種數值來討論:
(1) 原始時戳(Origin timestamp)
原始時戳的欄位值是發佈同步或延遲要求信息的時鐘發出這些信息時的時間,
這個值有一個絕對的誤差,大約小於0.25 秒。與此時戳相關的指令為 PTP_ASSIST,
當PTP_ASSIST 為 FALSE,主時鐘不會發送後續信息,原始時戳會包含等待時間,
而此時戳的值會是正值。當PTP_ASSIST 為 TRUE,主時鐘會發送後續信息,原始 時戳會包含等待時間,此值會是正值,或當同步信息發送時並未有估測值時,此 值可為0。
(2) 精確原始時戳(Precision origin timestamp)
精確原始時戳的欄位值為相關聯的同步信息時戳點經過外部時鐘時戳點的時
間,這個值有一個絕對的誤差,大約小於 0.25 秒。與此時戳相關的指令為
PTP_ASSIST , 當 PTP_ASSIST 為 FALSE , 主 時 鐘 不 會 發 送 後 續 信 息 。 當
27
PTP_ASSIST 為 TRUE,主時鐘會緊接著同步信息後面發送後續信息,這個值與跟 同步信息有關的區域時鐘變異數(Local clock variance)一致,此值為正數。
(3) 延遲要求傳送時間(Delay request sending time)
從時間發出延遲要求信息,在外部協定堆疊所量測到的時間點。
以上三種數值的修正如下:
把同步信息或傳遞延遲信息量測到的外部協定堆疊時鐘時戳點之值紀錄為<
量測值>,則上述三數值為:<量測值>+外部等待時間(Outbound latency)。
對於修正內部等待時間可由下列兩種數值來討論:
(1) 同步信息接收時間(Sync receipt time)
從時鐘收到同步信息時,從時鐘所量測到的內部協定堆疊時間點。
(2) 延遲接收時戳(Delay receipt timestamp)
由接收到延遲要求信息的時鐘量測延遲要求信息經過內部時鐘時戳點所發出 來的時戳。
以上兩種數值的修正如下:
接收時戳由內部協定堆疊的時鐘時戳點測量出來,並記錄為<量測值>,其修 正為<量測值> 內部等待時間(Inbound latency)。
3. 主、從時鐘間的網路延遲必須為超過 PTP 延遲要求間隔(PTP delay request interval) 的固定值。
4. 邊界時鐘必須用來與子網路作同步;邊界時鐘在與子網路同步的過程中,擔任 主時鐘的角色。
5. 藉由下列兩種方法減少因網路成員和時鐘內協定堆疊所產生的延遲變動:
(1) 盡量讓 PTP 中傳輸的時戳貼近網路實體層。
(2) 由協定堆疊和未被邊界時鐘隔開的網路成員(Clocks)所產生的延遲,可以利用 平均的概念來減少,例如在時鐘伺服上的設計,引入平均方法作改良。
6. 時鐘的功率要足夠,在每個子網路的時鐘數量不可太多。
7. 時鐘的振盪器內部穩定度不可太差。
28