精確時(shí)間協(xié)議(PTP)是用于在網(wǎng)絡(luò)中進(jìn)行時(shí)鐘同步的協(xié)議。當(dāng)與硬件支持結(jié)合使用時(shí), PTP 能夠達(dá)到亞微秒的精度,這遠(yuǎn)好于通常使用的 NTP 。 PTP 支持分為內(nèi)核空間和用戶空間。該協(xié)議的實(shí)際實(shí)現(xiàn)稱為linuxptp,它是 PTPv2 根據(jù) Linux 的 IEEE 標(biāo)準(zhǔn) 1588 實(shí)現(xiàn)的。所述linuxptp包包括ptp4l和phc2sys用于時(shí)鐘同步的程序。該ptp4l程序?qū)崿F(xiàn)了 PTP 邊界時(shí)鐘和普通時(shí)鐘。硬件時(shí)間戳用于將 PTP 硬件時(shí)鐘與主時(shí)鐘同步,軟件時(shí)間戳用于將系統(tǒng)時(shí)鐘與主時(shí)鐘同步。
認(rèn)識(shí)PTP
同步的時(shí)鐘按 PTP 按照主從層次結(jié)構(gòu)組織。從站與它們的主站同步,而主站可能是他們自己的主站的從站。層次結(jié)構(gòu)由最佳主時(shí)鐘( BMC ) 算法自動(dòng)創(chuàng)建和更新,該算法在每個(gè)時(shí)鐘上運(yùn)行。當(dāng)一個(gè)時(shí)鐘僅具有一個(gè)端口,它可以是主或從屬,這樣的時(shí)鐘被稱為普通時(shí)鐘(OC)。具有多個(gè)端口的時(shí)鐘可以在一個(gè)端口上作為主時(shí)鐘,在另一個(gè)端口上作為從時(shí)鐘,這樣的時(shí)鐘稱為邊界時(shí)鐘 ( BC )。頂級master被稱為grandmaster 時(shí)鐘,可以使用全球定位系統(tǒng)( GPS ) 時(shí)間源進(jìn)行同步。通過使用基于 GPS 的時(shí)間源,可以高度準(zhǔn)確地同步不同的網(wǎng)絡(luò)。
PTP的優(yōu)勢
PTP 與網(wǎng)絡(luò)時(shí)間協(xié)議( NTP ) 相比的主要優(yōu)勢之一是各種網(wǎng)絡(luò)接口控制器( NIC ) 和網(wǎng)絡(luò)交換機(jī)中需要硬件時(shí)間戳支持。這種專用硬件可以 PTP 解決消息傳輸中的延遲,并大大提高時(shí)間同步的準(zhǔn)確性。雖然可以在網(wǎng)絡(luò)中使用不支持 PTP 的硬件設(shè)備(如不支持PTP的交換機(jī)),但這通常會(huì)導(dǎo)致抖動(dòng)增加或在延遲中引入不對稱性,從而導(dǎo)致同步不準(zhǔn)確。為獲得盡可能高的準(zhǔn)確性,建議將所有網(wǎng)絡(luò)設(shè)備之間的 PTP 時(shí)鐘的 PTP 硬件是啟用的。并非所有網(wǎng)絡(luò)硬件都支持 PTP 。大型網(wǎng)絡(luò)中的時(shí)間同步可能更適合 NTP。在硬件 PTP 支持下,NIC 擁有自己的板載時(shí)鐘,用于為接收和傳輸?shù)?PTP 消息添加時(shí)間戳。正是這個(gè)板載時(shí)鐘與 PTP 主機(jī)同步,計(jì)算機(jī)的系統(tǒng)時(shí)鐘 PTP 與網(wǎng)卡上的硬件時(shí)鐘同步。在軟件 PTP 支持下,系統(tǒng)時(shí)鐘用于對 PTP 消息打時(shí)間戳,并直接與主站同步。硬件 PTP 支持提供了更高的準(zhǔn)確性,因?yàn)?NIC 可以在PTP 數(shù)據(jù)包發(fā)送和接收的確切時(shí)刻標(biāo)記數(shù)據(jù)包,而軟件 PTP 支持需要 PTP 操作系統(tǒng)對數(shù)據(jù)包進(jìn)行額外處理。
實(shí)踐1-檢查硬件時(shí)間戳
為了使用 PTP ,網(wǎng)絡(luò)接口的內(nèi)核網(wǎng)絡(luò)驅(qū)動(dòng)程序必須支持軟件或硬件時(shí)間戳功能。除了驅(qū)動(dòng)程序中存在的硬件時(shí)間戳支持之外,NIC 還必須能夠在物理硬件中支持此功能。驗(yàn)證特定驅(qū)動(dòng)程序和 NIC 的時(shí)間戳功能的最佳方法是使用ethtool查詢接口,如下所示:
~]# ethtool -T eth3Time stamping parameters for eth3:Capabilities: hardware-transmit (SOF_TIMESTAMPING_TX_HARDWARE) software-transmit (SOF_TIMESTAMPING_TX_SOFTWARE) hardware-receive (SOF_TIMESTAMPING_RX_HARDWARE) software-receive (SOF_TIMESTAMPING_RX_SOFTWARE) software-system-clock (SOF_TIMESTAMPING_SOFTWARE) hardware-raw-clock (SOF_TIMESTAMPING_RAW_HARDWARE)PTP Hardware Clock: 0Hardware Transmit Timestamp Modes: off (HWTSTAMP_TX_OFF) on (HWTSTAMP_TX_ON)Hardware Receive Filter Modes: none (HWTSTAMP_FILTER_NONE) all (HWTSTAMP_FILTER_ALL)
其中eth3是您要檢查的接口。對于軟件時(shí)間戳支持,參數(shù)列表應(yīng)包括:
SOF_TIMESTAMPING_SOFTWARE SOF_TIMESTAMPING_TX_SOFTWARE SOF_TIMESTAMPING_RX_SOFTWARE
對于硬件時(shí)間戳支持,參數(shù)列表應(yīng)包括:
SOF_TIMESTAMPING_RAW_HARDWARE SOF_TIMESTAMPING_TX_HARDWARE SOF_TIMESTAMPING_RX_HARDWARE
實(shí)踐2-安裝linuxptp
yum安裝
sudo yum install linuxptp
apt-get安裝
sudo apt-get install linuxptp
git安裝
sudo git clone git://git.code.sf.net/p/linuxptp/code linuxptp cd linuxptp sudo make sudo make install
測試:
~]# ptp4l -h usage: ptp4l [options] Delay Mechanism -A Auto, starting with E2E -E E2E, delay request-response (default) -P P2P, peer delay mechanism 。..
實(shí)踐3-運(yùn)行程序
硬件時(shí)間戳,主從模式測試主時(shí)鐘:
sudo ptp4l -i enp0s31f6 -m –H
從時(shí)鐘:
sudo ptp4l -i eno1 -m -H –s
運(yùn)行結(jié)果,從鐘:
主偏移值是以納秒為單位測量的主偏移。的 s0 , s1 , s2 串表示不同的時(shí)鐘伺服狀態(tài):s0 被解鎖,s1 是時(shí)鐘步驟和 s2 被鎖定。一旦伺服處于鎖定狀態(tài)( s2 ),除非 pi_offset_const 在配置文件中將該選項(xiàng)設(shè)置為正值,否則時(shí)鐘將不會(huì)步進(jìn)(僅緩慢調(diào)整)。該 freq 值是時(shí)鐘的頻率調(diào)整,以十億分之一 (ppb) 為單位。路徑延遲值是從主站發(fā)送的同步消息的估計(jì)延遲(以納秒為單位)。端口 0 是用于本地 PTP 管理的 Unix 域套接字。端口 1 是 eth3 接口。 INITIALIZING、LISTENING、UNCALIBRATED 和 SLAVE 是一些可能的端口狀態(tài),它們會(huì)在 INITIALIZE、RS_SLAVE、MASTER_CLOCK_SELECTED 事件上發(fā)生變化。在最后一個(gè)狀態(tài)更改消息中,端口狀態(tài)從UNCALIBRATED 更改為 SLAVE,表明與 PTP 主時(shí)鐘成功同步。
在新的工業(yè) 4.0 理念正在改變技術(shù)格局的世界中,提出了更高的時(shí)間同步要求。虹科 & ELPROMA 提供世界領(lǐng)先的時(shí)間同步解決方案。ELPROMA(1992年起)提供先進(jìn)的NTP PTP / IEEE1588時(shí)間服務(wù)器,用來確保從時(shí)鐘高度穩(wěn)定和準(zhǔn)確。
高可用性支持(HA)
兩路冗余天線
便捷式型號可選
MTBF 391000 小時(shí)
支持NTP/PTP/IRIG/1PPS+ToD
電信,電力等多行業(yè)PTP標(biāo)準(zhǔn)支持
責(zé)任編輯:haq
-
控制器
+關(guān)注
關(guān)注
114文章
17105瀏覽量
184273 -
Linux
+關(guān)注
關(guān)注
87文章
11511瀏覽量
213791 -
PTP
+關(guān)注
關(guān)注
0文章
77瀏覽量
9093
原文標(biāo)題:【虹科】Linux PTP 高精度時(shí)間同步實(shí)踐
文章出處:【微信號:Hongketeam,微信公眾號:廣州虹科電子科技有限公司】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
評論