局域網(wǎng)中,時鐘為何不同步?PTP怎么過交換機?
很多人把精密時間協(xié)議同步誤差歸咎于主時鐘不準(zhǔn),但在局域網(wǎng)里,真正先把時間拉壞的往往是交換路徑。只要交換機對駐留時延和鏈路非對稱處理不當(dāng),主時鐘再穩(wěn)也到不了終端。
透明時鐘未正確修正駐留時延時,交換機排隊帶來的波動會被原樣注入同步鏈路。精密時間協(xié)議報文穿越交換機并不是瞬時事件,隊列擁塞、優(yōu)先級競爭和不同芯片的轉(zhuǎn)發(fā)管線都會讓同步報文與延時測量報文在設(shè)備內(nèi)部停留不同時間。如果交換機只做普通二層轉(zhuǎn)發(fā),或者它號稱支持精密時間協(xié)議卻沒有硬件時間戳能力,報文里的修正字段就無法反映這段停留,終端看到的偏移會隨著業(yè)務(wù)流量一起抖動。軟件時間戳還會把操作系統(tǒng)調(diào)度延遲疊加進來,使低負載和高負載下的結(jié)果差異非常大。對電機控制、配電采樣或音視頻對時來說,誤差不一定表現(xiàn)為完全失鎖,更常見的是抖動突然放大,讓下游控制算法看起來偶爾失真。因此,過交換機的時間同步設(shè)計首先要區(qū)分普通交換、透明時鐘和邊界時鐘能力,不能只看設(shè)備說明書上寫了“支持一五八八”。
上下行鏈路非對稱則會把平均值也帶偏。精密時間協(xié)議默認假設(shè)報文往返時延大致對稱,但在實際局域網(wǎng)中,光電轉(zhuǎn)換器、不同速率自協(xié)商、單纖雙向模塊甚至上行擁塞和下行空閑的排隊狀態(tài),都會讓兩個方向的時延不相等。這樣一來,終端即使長期平均也只能收斂到一個帶偏的時間,而不是準(zhǔn)確時刻。這個偏移無法靠簡單多測幾次自動抵消,因為它是固定或緩慢變化的系統(tǒng)性誤差。若網(wǎng)絡(luò)里混用了百兆和千兆鏈路,或者上行經(jīng)過加密設(shè)備而下行直通,非對稱會更加明顯。工程上應(yīng)盡量使用對稱鏈路和支持硬件時間戳的交換設(shè)備;若混合介質(zhì)不可避免,就要在邊界設(shè)備上做已知非對稱補償,而不是指望從主時鐘側(cè)“調(diào)得更準(zhǔn)”來掩蓋傳輸誤差。
時間同步在局域網(wǎng)里首先是一條時間傳輸鏈,而不是一臺時間服務(wù)器。駐留時延不修正、上下行不對稱,再準(zhǔn)的主鐘也會被網(wǎng)絡(luò)本身帶偏。





