精準時間協定 (PTP – IEEE 1588)設定說明
精準時間協定 (PTP – IEEE 1588)設定說明
IEEE 1588-2008 標準定義了精準時間協定 (Precision Time Protocol, PTP),其目標是在乙太網路等封包式網路上,達到極高的時間同步精準度。1588 標準最重要的創新是引入了「硬體輔助時間戳記」:利用特殊的 1588 乙太網路硬體,將時間戳記嵌入 PTP 訊息中。這是 PTP 與 NTP (網路時間協定) 的主要區別。所有支援 PTP 功能的 GMR1000/GMR5000 設備,都使用這種硬體輔助時間戳記技術。在具備 PTP 基礎設施的網路中,可達到次微秒 (sub-µs) 等級的精準度。若網路不具備 PTP 基礎設施 (例如使用無 PTP 時間戳記功能的標準交換器),只要 PTP 的節點 (即頂級主時鐘與從屬時鐘) 支援 PTP 硬體時間戳記,仍可達到優於 100 微秒 (µs) 的精準度。
在 GMR5000 上,PTP 可在購買時訂購,或以現場升級軟體選項的方式加購。對於 GMR1000,PTP 必須在購買時訂購,無法進行現場升級。
預設情況下,GMR1000/GMR5000 是一台普通時鐘 (ordinary clock),意即它可作為主時鐘 (master)、從屬時鐘 (slave) 或透明時鐘 (transparent)。GMR5000 上的兩個埠本身也構成一個透明時鐘。
設定方式
PTP 可透過 WinDiscovery、SSH 或 Telnet 進行設定。WinDiscovery 提供基本與進階設定選項。SSH 和 Telnet 則允許使用者設定 IEEE Std 1588-2008 標準附件 J 中描述的其中一種預設設定檔。此外,也可透過 Telnet/SSH 對各種 PTP 參數進行個別設定。
使用 WinDiscovery 設定 PTP
若要使用 WinDiscovery 進行設定,請依照標準步驟搜尋支援 PTP 的裝置。接著選取該裝置並開啟「裝置設定」對話方塊。如果 PTP 功能可用,畫面上會出現「Precision Time Protocol」按鈕。點擊該按鈕以開啟 PTP 設定對話方塊。
此對話方塊可讓您輸入基本的 PTP 設定。
所使用的網路協定為 UDP (第三層)。未來計畫發布的版本將支援 802.3 (第二層) 及其他 PTP 設定檔 (例如 E2E 預設設定檔、P2P 預設設定檔等)。
預設網域 (Default Domain)
一個網域由一個或多個相互通訊的 PTP 裝置組成。PTP 裝置的預設網域為網域「0」。系統允許多個網域,輸入範圍為 0 至 127。所有裝置都會接收到所有的 PTP 封包,但只會處理並回應其設定網域編號內的封包。
優先權 #1 與 #2 (Priority #1 and #2)
優先權是決定網路上哪個裝置將成為頂級主時鐘 (grandmaster) 的幾個參數之一。數字越低,優先權越高,0 為最高優先權。數值範圍為 0-255。優先權 #1 在頂級主時鐘選擇過程的早期階段使用;優先權 #2 則在選擇過程的後期階段使用。
延遲機制 (Delay Mechanism)
延遲機制是用於計算網路路徑延遲的方法。網路上所有裝置都必須使用相同的延遲機制 (即使它們位於不同的 PTP 網域)。
端對端 (End To End, E2E):僅要求主時鐘與從屬時鐘支援 PTP,不要求網路基礎設施支援 PTP。如果本地網路中介的基礎設施不支援 PTP,通常可達到 20-100 微秒 (µs) 的精準度。如果中介的網路設備支援 E2E PTP (例如透明時鐘),則可達到次微秒 (sub-µs) 的精準度。
點對點 (Peer To Peer, P2P):與 E2E 相比,P2P 能減少整體網路流量並提升精準度,但所有網路基礎設施都必須支援 P2P 延遲機制。
同步模式 (Synchronization mode)
有兩種方法可用於在網路上傳送時間戳記:單步 (One Step) 和雙步 (Two Step)。假設所有網路設備都在硬體中進行時間戳記 (一般情況應如此,且所有 Masterclock 設備皆然),這兩種方法都能提供準確的時間。如果 PTP 裝置數量眾多,建議使用單步模式,因為它需要的封包較少。
宣告間隔 (Announce Interval)
此參數指定連續兩次「宣告訊息」(Announce message) 之間的時間間隔。網路上的裝置利用宣告訊息來決定哪個裝置應成為頂級主時鐘。通常建議設定為 1 或 2 秒。
同步間隔 (Sync Interval)
此參數指定頂級主時鐘傳送「同步訊息」(Sync message) 的頻率,此訊息會啟動 PTP 從屬時鐘的時間更新程序。通常建議設定為 1 或 2 秒。
若要將 PTP 恢復為預設值,請點擊「Set PTP to defaults and reboot」按鈕。回答「是」將執行此操作,GMR1000/GMR5000 將自動重新啟動。重新啟動後,大約需要 30 秒才能完成開機程序。如果此裝置是頂級主時鐘,網路上的其他裝置通常需要額外 30 秒才能與其同步。30 秒後,請關閉「Device Settings」對話方塊再重新開啟,以刷新 PTP 設定。
若有需要,使用者可選擇「Advanced (data sets)」按鈕。這讓使用者可以存取 PTP – IEEE 1588 標準中定義的底層 PTP 資料集。
關於 PTP 資料集的討論已超出本文件範圍。請參考線上資源以獲取有關這些數值的協助。請參閱 Telnet/SSH PTP 介面的詳細說明,以取得資料集中設定的更多資訊。
使用 TELNET/SSH 設定 PTP
若要透過 Telnet 或 SSH 登入,首先需要確認裝置的 IP 位址。這可透過 WinDiscovery 或短按一下「Reset」按鈕來完成。短按重置按鈕時,IPv4 和 IPv6 位址會顯示在前面板上。注意:按住重置按鈕超過一秒將導致裝置恢復為預設值。
Telnet 預設密碼為「public」,無使用者名稱。
SSH 預設使用者名稱為「public」,密碼為「publicpass」。左側顯示了 Teraterm 的 SSH 設定範例。
建立 Telnet/SSH 連線後,輸入「?」可查看指令列表。輸入「help」可獲得各指令的更詳細說明。
若要檢視或變更 PTP 設定,請輸入「ptp」。這將啟動與 PTP 的互動式工作階段。「Foreign data set 0」是此裝置的數值。下一個列出的資料集則是目前頂級主時鐘的數值。如果此裝置本身就是頂級主時鐘,則只會顯示一個 foreign data set。
請選擇您想檢視/修改的資料集,或您想執行的操作。PTP 標準定義了五個資料集。defaultDS (預設資料集) 和 currentDS (目前資料集) 是針對每個時鐘的。parentDS (父層資料集)、timepropertiesDS (時間屬性資料集) 和 portDS (埠資料集) 則是針對每個埠的。每個資料集成員可能是靜態的、動態的或可設定的。PTP 資料集的詳細文件可在 PTP 標準 IEEE Std 1588-2008 中找到。
輸入「ptp」後,請輸入其中一個可用資料集或操作的編號。選項包括:
defaultDS
currentDS
parentDS
timepropertiesDS
portDS
停用任何作用中的 PTP 設定檔 (不變更任何其他 PTP 設定)
將 PTP 設為預設值 (停用任何作用中的 PTP 設定檔)
將 PTP 設為預設的延遲請求-回應 (E2E) 設定檔
將 PTP 設為預設的點對點 (P2P) 設定檔 x) 離開 ?) 說明
1) defaultDS, 預設資料集
選擇要修改的成員 (1-5),輸入 'x' 返回上一層,'?' 尋求幫助。
以下項目無法修改:
clockIdentity – PTP 時鐘身份。
Number of ports – GMR1000 裝置有一個 RJ45 埠。GMR5000 裝置雖然有兩個 RJ45 埠,但它們被視為單一的邏輯 PTP 埠。
clockQuality.clockClass – GMR 產品線可具有以下時鐘等級。非 GMR 產品可能有其他數值。
6 – 已鎖定至 GPS
7 – 先前曾鎖定至 GPS
13 – 已鎖定至時間碼、NTP 等
14 – 先前曾鎖定至時間碼、NTP 等
52 – 超出等級 7 的維持規格,降級 A
58 – 超出等級 14 的維持規格,降級 A
187 – 超出等級 7 的維持規格,降級 B
193 – 超出等級 14 的維持規格,降級 B
248 – 若以上皆非,則為預設值
clockQuality.clockAccuracy – GMR 產品線可具有以下精準度。非 GMR 產品可能有其他數值。
32 – 精準至 25 ns
33 – 精準至 100 ns
34 – 精準至 250 ns
35 – 精準至 1 µs
... (依序至)
48 – 精準至 10 s
49 – 精準至 > 10 s
254 – 精準度未知
clockQuality.offsetScaledLogVariance – 出廠時預先計算設定的值,200 ns。
以下項目可以修改:
twoStepFlag – 若為 true,則啟用雙步模式;若為 false,則使用單步模式。
priority1 和 priority2 – 優先權是決定網路上哪個裝置將成為頂級主時鐘的幾個參數之一。數字越低,優先權越高,0 為最高優先權。數值範圍為 0-255。優先權 #1 在頂級主時鐘選擇過程的早期階段使用;優先權 #2 則在選擇過程的後期階段使用。
domain number – 一個網域由一個或多個相互通訊的 PTP 裝置組成。PTP 裝置的預設網域為網域「0」。系統允許多個網域,輸入範圍為 0 至 127。所有裝置都會接收到所有的 PTP 封包,但只會處理並回應其設定網域編號內的封包。
slave only – false,此裝置可根據最佳主時鐘 (BMC) 演算法成為頂級主時鐘。true,此裝置只能作為從屬時鐘。
2) currentDS, 目前資料集
沒有成員可以修改。選擇 'x' 返回上一層,'?' 尋求幫助。
以下項目無法修改:
stepsRemoved – 此裝置與主時鐘之間的設備數量,從 1 開始計算 (即此裝置本身)。
offsetFromMaster – 計算出的此裝置與主時鐘之間的時間差。
meanPathDelay – 計算出的此裝置與主時鐘之間的網路路徑延遲。
3) parentDS, 父層資料集
沒有成員可以修改。選擇 'x' 返回上一層,'?' 尋求幫助。
以下項目無法修改:
parentPortIdentity – 目前父層的身份。
parentStats – 未使用。
observedParentOffsetScaledLogVariance – 未使用。
observedParentClockPhaseChangeRate – 未使用。
grandmasterIdentity – 目前頂級主時鐘的身份。
grandmasterClockQuality – 對於 GMR 產品,請參閱預設資料集中的先前定義。非 GMR 產品可能有其他數值。
grandmasterPriority1 和 grandmasterPriority2 – 請參閱預設資料集中的先前定義。
4) timepropertiesDS, 時間屬性資料集
選擇要修改的成員 (1-4),'x' 返回上一層,'?' 尋求幫助。
以下項目無法修改:
timeTraceable – true,目前時間可追溯。false,目前時間不可追溯。
frequencyTraceable – true,目前頻率可追溯。false,目前頻率不可追溯。
ptpTimescale – true,目前時間刻度為 PTP 預設的 TAI 時間。false,正在使用另一種時間刻度 (例如 UTC)。
timeSource – GMR 產品支援以下時間來源值。非 GMR 產品可能有其他數值。
GPS – GPS/GNSS 衛星時間
PTP – 精準時間協定
NTP – 網路時間協定
OTHER – 時間碼讀取器、NMEA、NENA 等
INTERNAL_OSCILLATOR – 內部振盪器
以下項目可以修改:
currentUtcOffset – 與 UTC 時間的秒數偏移量。
currentUtcOffsetValid – true,currentUtcOffset 偏移值有效且可使用。false,currentUtcOffset 無效且不可使用。
leap59 – true,即將發生閏秒。false,沒有即將發生的閏秒。
leap61 – true,即將發生閏秒。false,沒有即將發生的閏秒。
5) portDS, 埠資料集
選擇要修改的成員 (1-6),'x' 返回上一層,'?' 尋求幫助。
以下項目無法修改:
portIdentity – 埠身份。
portState – master (裝置為頂級主時鐘),slave (裝置為頂級主時鐘的從屬),passive (裝置未與頂級主時鐘同步,且可成為頂級主時鐘)。
peerMeanPathDelay – 僅在啟用 P2P 時使用。
versionNumber – PTP 版本號,對於 GMR 產品恆為 2。
以下項目可以修改:
logAnnounceInterval – 宣告訊息之間的平均時間間隔。用於選擇頂級主時鐘。此值為以 2 為底的對數。負值表示小於一秒的時間。建議值為 1,範圍 0 到 4。
announceReceiptTimeout – 接收宣告訊息的逾時秒數。必須大於 logAnnounceInterval (以秒為單位)。
logSyncInterval – 頂級主時鐘傳送同步訊息的間隔。此值為以 2 為底的對數。負值表示小於一秒的時間。建議值為 1,範圍 0 到 4。
delayMechanism – 用於計算網路路徑延遲的方法。網路上所有裝置都必須使用相同的延遲機制 (即使它們位於不同的 PTP 網域)。
logMinPdelayReqInterval – 在選擇 P2P 延遲機制時使用。此值為以 2 為底的對數。負值表示小於一秒的時間。建議值為 1,範圍 0 到 4。
6) 停用任何作用中的設定檔
停用任何作用中的設定檔。不會變更任何 PTP 設定。
7) 將 PTP 設為預設值
將所有 PTP 設定恢復為預設值。
8) 將 PTP 設為預設的延遲請求-回應 (E2E) 設定檔
根據 IEEE Std 1588-2008 附件 J 的定義,將 PTP 設定為預設的延遲請求-回應 (E2E) 設定檔。
9) 將 PTP 設為預設的點對點 (P2P) 設定檔
根據 IEEE Std 1588-2008 附件 J 的定義,將 PTP 設定為預設的點對點 (P2P) 設定檔。
附註:時間單位關係
1 毫秒 (millisecond, ms) = 0.001 秒 (s)
1 微秒 (microsecond, µs) = 0.000001 秒 (s)
1 奈秒 (nanosecond, ns) = 0.000000001 秒 (s)