數(shù)據(jù)網(wǎng)絡報文端到端傳輸時延隨帶測量方法
【專利摘要】利用在被測報文中隨帶該報文在當前所有途徑設備內(nèi)的駐留累計時延信息、所有途徑鏈路累計傳輸時延信息(或當前累計總時延,即駐留時延和鏈路時延之和)和該報文進入當前設備時刻時間信息,并采用當前數(shù)據(jù)網(wǎng)絡設備內(nèi)的本地統(tǒng)一時鐘測量該報文的進入和離開時刻時間,本發(fā)明實現(xiàn)了一種在數(shù)據(jù)網(wǎng)絡中動態(tài)實時測量單個報文在數(shù)據(jù)網(wǎng)絡設備內(nèi)的駐留時延和端到端傳輸時延的方法。本發(fā)明可以適用于任何鏈路傳輸固定的數(shù)據(jù)網(wǎng)絡,包括OSI所有七層的任何數(shù)據(jù)網(wǎng)絡,既可以是有獨立的數(shù)據(jù)網(wǎng)絡設備和鏈路組成的網(wǎng)絡,也可以是設備中實現(xiàn)數(shù)據(jù)網(wǎng)絡通信協(xié)議功能的模塊間通過電路板相連形成的網(wǎng)絡。本發(fā)明為全分布式的時間同步和全分布控制系統(tǒng)的實現(xiàn)提供了一種新途徑。
【專利說明】數(shù)據(jù)網(wǎng)絡報文端到端傳輸時延隨帶測量方法
【技術領域】
[0001]屬于數(shù)據(jù)通信【技術領域】和工業(yè)控制【技術領域】。
技術背景
[0002]數(shù)據(jù)網(wǎng)絡通信或者工業(yè)控制都有不同地點的設備(或功能模塊)間時間、時鐘同步要求或者不同設備(或模塊)間信息傳輸時延的要求。這些設備或者(功能模塊)會使用適合的數(shù)據(jù)通信網(wǎng)絡進行通信,實現(xiàn)系統(tǒng)的分布式?,F(xiàn)有的數(shù)據(jù)網(wǎng)絡時間或時鐘同步、實時測量技術主要使用物理層的時鐘傳遞如同步以太網(wǎng)或SDH,或者使用集中式的數(shù)據(jù)網(wǎng)絡時間授時方法例如NTP或PTP方式。前者需要從物理信號中恢復時鐘,成本高;后者依賴主從的集中模式影響系統(tǒng)分布性和可靠性,并且不適合測量單個報文經(jīng)過數(shù)據(jù)網(wǎng)絡的時間。本發(fā)明通過數(shù)據(jù)網(wǎng)絡設備(或功能模塊)在被測報文的內(nèi)部實時記錄、攜帶相關時間信息的機制和采用設備內(nèi)統(tǒng)一時鐘(但不同設備的時鐘是相互獨立的)進行相關時間測量的辦法,可以實現(xiàn)全分布式的時間同步或被測報文經(jīng)過網(wǎng)絡的傳輸時間。
【發(fā)明內(nèi)容】
[0003]數(shù)據(jù)網(wǎng)絡(data network),或稱為計算機網(wǎng)絡(computer network),由實現(xiàn)OSI七層模型所述的各種數(shù)據(jù)網(wǎng)絡通信協(xié)議的網(wǎng)絡單元NE (network element)和連接NE間的鏈路(line)構成;NE根據(jù)是否終結該數(shù)據(jù)網(wǎng)絡通信協(xié)議可以分為DTE (數(shù)據(jù)通信發(fā)起或終結單元)和DCE(數(shù)據(jù)通信單元,例如數(shù)據(jù)網(wǎng)絡交換/路由設備,但不限于這些設備);NE根據(jù)其數(shù)據(jù)通信協(xié)議所在的OSI七層分層模型的位置,又可以分成物理層網(wǎng)絡設備、數(shù)據(jù)鏈路層網(wǎng)絡設備、網(wǎng)絡層網(wǎng)絡設備、傳輸層網(wǎng)絡設備等;NE可以是獨立的設備,也可以是通過電路板互聯(lián)的模塊,這里統(tǒng)稱為數(shù)據(jù)網(wǎng)絡設備。數(shù)據(jù)網(wǎng)絡通過數(shù)據(jù)報文(即各種OSI數(shù)據(jù)網(wǎng)絡的最小信息傳輸結構,這里統(tǒng)稱報文)傳輸信息。報文由相關數(shù)據(jù)網(wǎng)絡通信協(xié)議字段和用戶信息字段構成,并在途徑的每個數(shù)據(jù)網(wǎng)絡設備內(nèi)接受相關通信協(xié)議的處理。為區(qū)別本發(fā)明產(chǎn)生的時間測量處理,我們稱前者為常規(guī)處理。
[0004]本發(fā)明要求組成網(wǎng)絡的鏈路對稱并且傳輸時延固定,此時報文經(jīng)過數(shù)據(jù)網(wǎng)絡的總傳輸時由下述公式表不:
[0005]報文端到端的時延=累計報文途徑數(shù)據(jù)網(wǎng)絡設備(或模塊)駐留時延+累計途徑鏈路時延。
[0006]其中鏈路延時在傳輸路徑不發(fā)生變化時對于被測報文不同時刻的傳輸應該是一樣的,而報文在設備(或模塊)內(nèi)的駐留時間對于不同時刻的傳輸是變化的。所有時間測量都以接收或發(fā)送被測報文的第一個bit為準。
[0007]鏈路傳輸時延可以通過專用儀表一次性測量得到或者通過專門的報文攜帶時間信息的方法測量得到。使用后一種方法,通過鏈路相連的兩個相鄰數(shù)據(jù)網(wǎng)設備,一方可以向另一方發(fā)送專門的測量鏈路時延的報文,對方接收到后將該報文原路返回,并把利用本地時鐘測到的報文離開和進入時間差T放入報文中,本方接收到返回的報文時,利用本方本地時鐘測得報文離開和進入到的時間差為t并從返回報文中取出時間信息T,則(t-T)的一半即為鏈路傳輸時延。所涉及的設備內(nèi)本地時鐘是相互獨立的。說明如圖1所示。
[0008]對于報文在網(wǎng)絡設備內(nèi)的駐留時間可以通過本發(fā)明使用的被測報文動態(tài)攜帶時間信息的方式,即在在網(wǎng)絡設備對被測報文進行常規(guī)網(wǎng)絡通信協(xié)議處理過程中動態(tài)實時地在被測報文約定的位置更新或讀取相關時間信息,并且該報文在經(jīng)受常規(guī)網(wǎng)絡協(xié)議處理過程中攜帶這些時間信息。測量報文在設備內(nèi)的駐留時間,還必須在設備內(nèi)建立統(tǒng)一的時鐘系統(tǒng),為在各個環(huán)節(jié)測量時間提供統(tǒng)一的時間。該時鐘系統(tǒng)只在本設備內(nèi)有意義,不同的設備內(nèi)的時鐘系統(tǒng)沒有任何相位關系。該時鐘的最長計時時間(即時鐘翻轉(zhuǎn)時間長度)須遠遠大于最大報文通過該設備的駐留時間。測量報文在設備內(nèi)駐留時延原則上只需要在設備內(nèi)報文處理過程中攜帶報文進入設備時刻時間信息,在設備間鏈路傳輸時可以不必攜帶該信息。但為了實現(xiàn)方便可以在報文端到端傳輸過程中始終開辟在報文中開辟攜帶該信息的專門字段。說明如圖2所示。
[0009]為了在相鄰設備間傳遞累計時延信息,需要在報文中攜帶累計時延或分成累計途經(jīng)鏈路時延和累計途經(jīng)設備駐留時延信息。當報文從上一個設備通過相連的鏈路進入當前設備時,需要在報文攜帶的累計時延或累計線路時延上加上事先已經(jīng)測量好的該端口所連的鏈路的傳輸時延,然后報文攜帶更新過的這些時間信息繼續(xù)接受常規(guī)的通信協(xié)議處理,在報文離開設備進入連接下一設備的鏈路時,需要在報文攜帶的累計時延或累計駐留時延上,加上利用前面所述設備內(nèi)駐留時延測量辦法得到的報文在本設備內(nèi)的駐留時延。實現(xiàn)過程說明如圖3所示。
[0010]本發(fā)明通過在被測報文內(nèi)同時攜帶當前累計傳輸時延信息(或分成當前累計鏈路時延信息和當前累計設備內(nèi)駐留時延)和報文進入當前數(shù)據(jù)網(wǎng)絡設備時刻時間信息實現(xiàn)該報文的端到端時延的測量,測量流程如下:
[0011]I)利用當前數(shù)據(jù)網(wǎng)絡設備本地時鐘測量被測報文進入該設備時刻
[0012]2)從該報文中取出隨帶的到當前為止累計的傳輸時延或累計的途徑鏈路延時(如果駐留時延和鏈路時延分開在被測報文中記錄),加上已經(jīng)測得的進入端口所連鏈路時延,重新放入報文隨帶區(qū)域中并更新相關協(xié)議要求的校驗,送報文進行常規(guī)協(xié)議處理
[0013]3)并在該報文內(nèi)隨帶該時間信息,
[0014]4)在報文離開設備時同樣利用本地時鐘測量報文離開時刻,
[0015]5)并從報文中取出報文進入設備時間信息,報文尚開設備時間與進入設備時間相減得到該報文在當前設備內(nèi)的駐留時間,
[0016]6)從該報文中取出當前累計駐留時間,加上被設備的駐留時間后重新放入被測報文中并更新相關協(xié)議要求的校驗,進行報文常規(guī)發(fā)送。
[0017]為攜帶上述時延和時刻時間信息,本發(fā)明須在被監(jiān)測的報文中開辟專門的字段,分成三個或兩個區(qū)域,如果分成三個區(qū)域,則分別記錄該報當前文累計途經(jīng)設備(或功能模塊)內(nèi)駐留時延、當前累計途經(jīng)鏈路時延和該報文進入當前設備的時刻;也可以只分兩個區(qū),其中記錄本報文進入設備時刻的區(qū)域與三個分區(qū)中記錄相同信息的分區(qū)一樣,另一個分區(qū)可以合并三分區(qū)方式中累計駐留時延和累計鏈路時延成一個區(qū)域,記錄累計總時延。
[0018]報文攜帶時間信息的方式有如下限制:[0019]-對于時間信息在報文中的位置須不違反網(wǎng)絡所使用的通信協(xié)議要求;
[0020]-對于是否需要將總時延分成鏈路時延和駐留時延、每個分區(qū)的字段長短、每個分區(qū)是否采用結構化方式(即該分區(qū)分為單位表示區(qū)和時間信息表示區(qū)),需要滿足如果通過增加額外字段攜帶時間信息則加長后的報文長度不能超過網(wǎng)絡使用的通信協(xié)議MTU的要求(除非網(wǎng)絡支持超長包),同時還必須保證時延分區(qū)大小足夠記錄最長可能時延以及該報文進入當前設備的時刻分區(qū)須大于本地時鐘的翻轉(zhuǎn)時間長度;
[0021]-對于時間單位的大小要與端到端時延的測量精度要求一致。
[0022]在進行本發(fā)明描述的時間測量時,會涉及改變被測報文中記錄時間信息的字段的內(nèi)容或者引起被測報文長度變化(例如,通過增加報文中客戶字段來攜帶時間信息;又例如在測量設備內(nèi)報文駐留時間時,采取僅在該設備內(nèi)被測報文攜帶報文進入設備時刻時間信息的策略),需要按照使用的數(shù)據(jù)網(wǎng)絡通信協(xié)議要求同時實時修改報文協(xié)議字段的相關內(nèi)容,并保證最終經(jīng)過這些修改后報文符合該數(shù)據(jù)網(wǎng)絡協(xié)議的要求,例如在以太網(wǎng)網(wǎng)絡中,在更改報文中攜帶的時間信息后,須要同時重新計算并修改報文的FCS。
【專利附圖】
【附圖說明】
[0023]圖1利用專門報文測量鏈路延時的說明
[0024]圖2利用被測報文攜帶時間信息機制和設備本地時鐘測量報文在設備內(nèi)駐留時間的說明
[0025]圖3利用被測報文攜帶時間信息機制測量報文通過相鄰設備時累計線路時延和累計駐留時延的說明
【具體實施方式】
[0026]以以太網(wǎng)交換機組成的以太網(wǎng)數(shù)據(jù)網(wǎng)絡為例,被測報文攜帶時間信息的方法采用以太報文中用戶數(shù)據(jù)開頭的位置增加7個字節(jié)的方法,其中前4個記錄當前總傳輸時延,后3個記錄報文進入交換機時刻,兩個區(qū)域都使用非結構化方式,直接記錄相關時間信息,單位為納秒。總傳輸時延部分為最大可以記錄4秒,大于報文通常通過網(wǎng)絡的端到端時延。報文進入設備時間部分最長可以記錄8388608納秒,等于本地時間計數(shù)器的最大翻轉(zhuǎn)時間。為了方便說明,本例子假設被測以太網(wǎng)報文在增加7個字節(jié)后任然小于或等于以太網(wǎng)協(xié)議MTU的要求。(對于超過MTU的情況,需要該網(wǎng)絡中的所有設備都必須支持超長包)。本例子采用全程保留報文進入設備時刻時間分區(qū)的方式。
[0027]在以太網(wǎng)設備例如交換機內(nèi)需要通過硬件實現(xiàn)時間測量單元,包括一個時鐘系統(tǒng)和一個對報文進出設備時間進行測量、對報文攜帶的時間信息區(qū)域可以實時在線更新的功能單元。例如在所有接口處的PHY和MAC芯片間插入FPGA實現(xiàn)時間測量單元。利用交換機本地晶振可以在FPGA內(nèi)產(chǎn)生一個計數(shù)器形成測量時間的時鐘,在本例子中假設晶振頻率為125M,計數(shù)器為20bit,則時鐘可以記錄的最長時間為8388608納秒,遠遠大于一個以太網(wǎng)最大報文通過一個交換機的常規(guī)時間。利用時間測量單元在實現(xiàn)
【發(fā)明內(nèi)容】
中描述的端到端時延測量的過程。
【權利要求】
1.本方法采用在被測量的數(shù)據(jù)網(wǎng)報文中動態(tài)攜帶累計傳輸時延信息(或者分為累計鏈路時延和累計數(shù)據(jù)網(wǎng)絡設備內(nèi)駐留時延)和當前時刻信息的機制,利用數(shù)據(jù)網(wǎng)絡設備內(nèi)本地統(tǒng)一時鐘測量該報文在進入和離開網(wǎng)絡設備的時刻并通過這些時間信息計算該報文在設備中的駐留時間和鏈路延時、累計傳輸時延的方法,實現(xiàn)任何數(shù)據(jù)網(wǎng)絡單個報文的端到端時延的實時測量。
2.權利要求本方法適用于OSI七層模型包括的各種數(shù)據(jù)通信協(xié)議所形成的鏈路對稱且鏈路傳輸時延固定的數(shù)據(jù)通信網(wǎng)絡,例如數(shù)據(jù)鏈路層網(wǎng)絡(如以太網(wǎng)等)、網(wǎng)絡層網(wǎng)絡(如IP網(wǎng))、傳輸層網(wǎng)絡等,以及由這些網(wǎng)絡混合組成的網(wǎng)絡,但不限于這些列舉的網(wǎng)絡。數(shù)據(jù)網(wǎng)絡由鏈路和數(shù)據(jù)網(wǎng)絡通信協(xié)議處理單元組成。鏈路可以各種有線介質(zhì),例如光纖、雙絞線等,還可以是電路板上的線路;數(shù)據(jù)網(wǎng)絡處理單元,可以是單獨的設備,也可以是設備中實現(xiàn)數(shù)據(jù)網(wǎng)絡通信協(xié)議功能的模塊。除非特別說明,我們將數(shù)據(jù)網(wǎng)絡設備和數(shù)據(jù)網(wǎng)絡功能模塊通稱數(shù)據(jù)網(wǎng)絡設備。數(shù)據(jù)網(wǎng)絡設備實現(xiàn)的功能可以是對該通信協(xié)議的任何處理功能,例如報文終結、轉(zhuǎn)發(fā)、交換、路由等,但不限于這些列舉的功能。網(wǎng)絡設備間按數(shù)據(jù)網(wǎng)通信協(xié)議交換報文(或數(shù)據(jù)網(wǎng)絡通信協(xié)議規(guī)定的攜帶用戶信息的最小通信單元,這里統(tǒng)稱報文)。
3.權利要求本方法適用于2所描述網(wǎng)絡的任何單個報文的端到端傳輸時延測量。
4.權利要求本方法利用的在2條所描述的數(shù)據(jù)通信網(wǎng)絡報文在傳輸過程中攜帶相關時間信息的機制:特征1,在被測報文或某些特定的報文中開辟專門的區(qū)域用于記錄時間信息,這些時間信息可以是某個事件發(fā)生的時刻,如報文進入2所述的數(shù)據(jù)網(wǎng)絡設備的時亥IJ,也可以是某個過程持續(xù)的時間長短,如報文在設備內(nèi)駐留時延即從報文進入設備到報文離開設備的時間長短。特征2,報文用于記錄時間的的區(qū)域可以是2所述數(shù)據(jù)網(wǎng)絡通信協(xié)議預留的未用字節(jié),也可以是報文中用戶數(shù)據(jù)區(qū)域新增的字節(jié);可以在報文整個端到端傳輸過程中存在,也可 以只在報文通過設備期間存在。特征3,對被測報文可以進行記錄時間信息字段的開辟、取消以及這些字段攜帶內(nèi)容的讀取、修改等操作,并進行這些操作的同時,必須進行由于這些操作引起的報文符合所使用的通信協(xié)議完整性要求的修改(例如以太網(wǎng)針對報文校驗的FCS部分修改)。
5.權利要求本方法采用2所述的數(shù)據(jù)網(wǎng)絡設備內(nèi)本地時鐘的進行時間測量的機制:采用數(shù)據(jù)網(wǎng)絡設備內(nèi)的本地時鐘,該時鐘與其他網(wǎng)絡設備內(nèi)的時鐘相互獨立,時鐘的某時刻時間只在本設備內(nèi)有意義,時鐘的精度必須高于報文端到端時延的精度要求。
6.權利要求本方法采用的基于4和5機制實現(xiàn)2所述數(shù)據(jù)網(wǎng)絡報文在設備內(nèi)駐留時間測量辦法:特征1,在報文進入設備時,使用5所述時鐘測量該時刻,按4中方法在報文中開辟和修改操作,將測量到的報文進入設備時刻時間信息寫入報文;特征2,然后報文攜帶時間信息繼續(xù)接受常規(guī)所使用通信協(xié)議的處理;特征3,在報文離開設備時,使用5所述本地時鐘測量該時刻,對報文進行4所述讀取和取消操作,獲取該報文進入設備時刻時間信息,報文尚開設備時刻與進入時刻的時間間隔即為該報文在設備內(nèi)的駐留時間。特征4,上述辦法采用了只在被測報文進入和離開設備之間保留記錄報文進入設備時間字節(jié)的策略,如果采取端到端整個傳輸過程都一直保留記錄上述時間信息字段的策略,則只在傳輸開始處采用開辟記錄時間字段的操作,端到端傳輸其余過程都不需要再進行該操作;在傳輸結束時進行這些字段的消除操作,端到端傳輸其他過程都不再進行該操作。
7.權利要求本方法采用的靜態(tài)鏈路延時測量方法:通過專門的儀表測量出相鄰數(shù)據(jù)網(wǎng)絡設備間的鏈路時延并將該時延以設備設置方式按每個數(shù)據(jù)網(wǎng)絡設備入口進行記錄,在被測報文經(jīng)該端口時,將這個端口所連的鏈路時延信息累加進被測報文的累計傳輸時延信息里(或累計鏈路傳輸時延里)。
8.權利要求本方法采用的基于5和4機制的鏈路延時測量方法:特征1,通過鏈路相連的兩個相鄰數(shù)據(jù)網(wǎng)設備,一方可以向另一方發(fā)送專門的測量鏈路時延的報文,報文中指定專門區(qū)域用于攜帶報文在另一方中駐留時間信息,并利用5所述的本地時鐘測量報文離開設備時刻;特征2,對方接收到后將該報文原路返回,并把利用5所述的本地時鐘測到的報文離開和進入時間差T,按4所述的報文修改操作放入報文中;特征3,本方接收到返回的報文時,利用本方本地時鐘測得報文離開和進入到的時間差為t并按4所述方法,從返回報文中取出時間信息T,則(t- T )的一半即為鏈路傳輸時延;特征3,周期性的重復上述測量過程,可以在鏈路長度發(fā)生變化時及時測得變化后鏈路時延。
9.權利要求本方法使用的端到端時延測量機制:特征1,按照4所述機制,在傳輸開始處,對被測報文進行開辟攜帶當前累計傳輸時延(或當前累計報文途經(jīng)設備內(nèi)駐留時延和當前累計途徑鏈路時延)字節(jié)區(qū)域和報文進入數(shù)據(jù)網(wǎng)絡設備時刻字節(jié)區(qū)域的操作;特征.2,在被測報文進入某個網(wǎng)絡設備時,進行按照4所述的讀取和修改報文攜帶時間信息的操作,讀出當前累計 傳輸時延(或當前累途徑計鏈路時延),加上利用7或8測得鏈路時延后再放回到該時間記錄區(qū)域;同時進行6所述特征I的操作,測量被測報文進入設備時刻并將其放入報文中記錄該信息的字段區(qū)域;特征3,報文然后攜帶特征2修改過的時間信息接受常規(guī)通信協(xié)議處理;特征4,在被測報文離開某設備時,進行按照4所述的讀取和修改報文攜帶時間信息的操作,讀出當前累計傳輸時延(或當前累計報文途徑設備內(nèi)駐留時延)和報文進入設備時刻,按照6所述測得報文離開設備時刻,計算出報文在當前設備內(nèi)駐留時延并把該時延加上讀出的讀出當前累計傳輸時延(或當前累計報文途經(jīng)設備內(nèi)駐留時延)后放回到報文記錄該時間信息的區(qū)域;特征5,在端到端傳輸結束時,取出累計傳輸時延(或當前累計報文途經(jīng)設備內(nèi)駐留時延和當前累計途經(jīng)鏈路時延),按5所述方式,進行取消報文中所有記錄時間信息區(qū)域的操作;特征6,上述方法是采用被測報文端到端攜帶記錄本報文進入設備時間區(qū)域的方式,如果采用僅當被測報文在設備內(nèi)保留本報文進入設備時間的記錄區(qū)域的策略,則測量報文在設備內(nèi)駐留時間的方式采用6所述的機制。
【文檔編號】H04L7/00GK103607267SQ201310328553
【公開日】2014年2月26日 申請日期:2013年7月23日 優(yōu)先權日:2013年7月23日
【發(fā)明者】王健 申請人:王健