羅春彧
(廣東廣播電視臺,廣東 廣州 510000)
長久以來,在視頻網絡中,SDI系統(tǒng)以其高質量、低抖動、低延遲、部署簡單、無專利壁壘等各項優(yōu)勢穩(wěn)居頭端。但隨著規(guī)模擴大,4K/8K超高清需求的提升,SDI網絡在便利性及靈活性上拓展空間有限。此時,能否充分利用IT的產業(yè)優(yōu)勢進行IP網絡部署就成了廣電工程人員的挑戰(zhàn)。
在視頻系統(tǒng)中部署IP網絡除了帶來靈活度和擴展性外,相對應的也增加了額外挑戰(zhàn)。例如抖動、延時、丟包、網絡不對稱(上下路徑差異或端口隊列導致網絡的不對稱)。本文僅針對最后一項進行討論,在應用中,P2P和E2E是兩種重要的延遲測量機制,對理解PTP有很大幫助。
PTP的精度可達亞微米級,而NTP等網絡時間協(xié)議一般是毫秒級。在需要幀處理的視頻網絡環(huán)境下,PTP才可以實現同步需求。
高精度PTP設備(也有軟件實現,但精度相應降低)通過硬件支持,直接在MAC層進行協(xié)議包分析,不經過UDP協(xié)議棧,減少駐留時間。
PTP構成網絡的各節(jié)點稱為時鐘節(jié)點,協(xié)議定義了以下三類:
OC(ordinary clock) 只有一個PTP通信端口,一般是指最終設備
BC(boundary clock) 具有多個PTP端口的時鐘,通過其中一個從端口與主時鐘同步,并支持其他從端口與自身同步。
TC(transparent clock) 可測量PTP報文在其內部傳輸的時間,并在轉發(fā)時提供相應矯正。
E2E(End-to-End) 通過Delay_Request和Delay_Response報文進行延遲計算的一種方法。
P2P(Peer-to-Peer) 通過Pdelay_Req和Pdelay_ Resp報文進行延遲計算的一種方法。
Sync:同步消息報文,一般由主鐘發(fā)給從鐘,可攜帶時間標
簽,也可在后續(xù)Follow up報文中攜帶
Delay Req:請求對端返回接收到此報文的時間,時間嵌入在Delay Resp報文中。
Delay Resp:對上述報文的響應,攜帶時間標記。
Pdelay Req:發(fā)起鏈路延時請求,類似Delay Req功能。
Pdelay Resp:對上述報文的響應。
Pdelay Resp Follow up:攜帶響應發(fā)生時的時間標記。
計算方法簡析:
先以通用的E2E為例:首先由master主時鐘發(fā)送Sync報文開啟時間同步(在two-step clock中,時間標記由后續(xù)Follow-up報文協(xié)議,one-step clock中則由Sync攜帶,除非設計PTP設備,實際工程使用中并無太大影響),發(fā)送時間標記T1,slave從鐘接收到報文后記錄時間標記T2。Slave隨后向Master發(fā)送Delay Req報文并記錄時間標記T3,master收到后再回復報文Delay resp,并發(fā)送時間標記T4給slave。由此slave將得到T1,T2,T3,T4四個時間標記。設master和slave之間存在的時間差異為“offset”,單條鏈路延遲為“delay”,同時假定雙向鏈路延遲相等。可以得到如下等式:
T2=T1+delay+offset
T4=T3-offest+delay
為了得到offest的值,又因為兩個等式中delay相等,所以相減/相加后的到如下等式:
offest=(T2-T4+T3-T1)/2
delay=(T4-T3+T2-T1)/2
Slave則根據計算結果調整自己的時鐘。
問題:上述結論取決于雙向delay值相等,在這種情況下才能通過相減取得slave需要的調整值。
實際情況:在實際網絡中,考慮到報文在端口排隊的時間以及網絡整體的結構,上下行鏈路未必是對稱的,尤其在經過多臺交換設備后差異尤為顯著。
優(yōu)化方法:在E2E算法中,有一個假設非常關鍵:即雙向鏈路對等,但這個假設是針對整個網絡進行的,如果網絡較大,中間交換設備較多那這個假設容易出現問題。換言之,如果縮小規(guī)模,甚至針對單條電纜進行假設那鏈路對稱則更為可靠,這就是P2P算法的基本原理。
(1) 在P2P的運算機制下,要求網絡中每臺交換設備都運行P2P算法。如上圖所示,同樣是4個時間標記,運算法則與第1小點一致,都是通過等式合并得到delay值。區(qū)別僅在于E2E得到的delay值是針對整個網絡,而P2P得到的Delay值僅發(fā)生在設備與設備之間,即每臺設備間的delay值都可以獲知并得到響應。由此解決網絡不對稱帶來上下行鏈路差異的問題。
(2) 具體應用場景。如上所述,是否說明P2P比E2E更有優(yōu)勢,系統(tǒng)部署時盡量采用P2P呢,也不盡然。使用P2P仍有其局限性,具體而言就是要求網絡中每個交換節(jié)點都能支持TC或BC模式,簡言之,網絡中不能存在普通交換機。如果存在普通交換機,它無法識別和響應Pdelay報文,無法測算它與周邊的鏈路延遲,將導致全網時鐘計算出現偏誤。E2E更為通用,如果系統(tǒng)內存在大量已購的普通交換機,采用E2E是更好的選擇。
(3) P2P的幾個重要優(yōu)點總結。鏈路間都是定期測量的,當網絡路徑發(fā)生改變時,master與slave間的延遲已知。
上下行鏈路不可能經過不同的路由,因為P2P是在設備與設備間運行的,簡言之,在單條電纜中上下行鏈路不可能不同。而E2E則不然,上下行鏈路經過的路有可能由于中間的交換設備而產生差異。
減少master的負載,尤其是當鏈路中存在大量slave時,因為它只需發(fā)送同步報文即可。延時測算報文并不需要master進行響應。
此部分在國內尚未有機構進行測試,以下結論引自Arista工程師Nicholas Ciarleglio,Thomas Edwards和Robert Welch在規(guī)?;渴餚TP時進行的相關測試(僅兩點為例):
(1) 交換設備在TC模式下運行P2P算法,并遵循ST2059-2協(xié)議的默認包速率。
在此模式下,交換設備處理單個slave收發(fā)的報文總計為68個/s,當終端數量達到438臺時,交換設備(7500R系列)的cpu利用率達到100%。
網絡規(guī)模限制在四百多臺設備。在降低速率的情況下可以提高支持的設備數量,但要犧牲鎖定的時間。
(2) 交換設備在TC模式下運行E2E算法,遵循默認組播方式,遵循ST2059-2協(xié)議默認的包速率。
因為運行E2E算法,按理并不會占用交換設備的處理資源,slave規(guī)模應該增大,但實際情況僅支持40臺。究其原因,分析為默認的組播地址下報文交互在交換機端口上并未隔離或處理,由此導致單臺slave需要從海量的報文中選出自己所需的少部分報文??赏ㄟ^單播或者ACL策略的方式解決。
本文所述僅是IP視頻網絡的冰山一角,單PTP論,就還有BMCA算法選擇帶來的管理問題、domain域設置隔離問題以及其他各項問題。篇幅所限無法一一闡述,也需要行業(yè)同仁共同探討。畢竟,在無壓縮視頻系統(tǒng)中應用IP網絡技術,任重而道遠。