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