專利名稱:一種同步幀在ip網絡上傳輸的方法及用于傳輸的網絡設備的制作方法
技術領域:
本發明涉及數據傳輸技術,尤其涉及一種同步幀在網際協議(IPInternetProtocol)上傳輸的方法及用于傳輸傳輸的網絡設備。
背景技術:
目前,現有技術中同步幀是基于傳輸控制協議(TCPTransfer ControlProtocol)或者用戶數據報協議(UDPUser Datagram Protocol)的方式進行傳輸的。該傳輸方式的組網結構如圖1所示同步串口裝置A和網絡設備A通過同步數據電纜相連,網絡設備B、C分別和同步串口裝置B、C通過同步電纜相連,然后網絡設備A、B、C通過IP網絡進行連接。
上述傳輸方式的工作過程具體為同步串口裝置A通過同步電纜發送數據給網絡設備A,然后網絡設備A再通過TCP或者UDP方式,把數據加上IP首部和TCP首部或者IP首部和UDP首部,然后發送到網絡設備B和網絡設備C上,網絡設備B和網絡設備C再把數據還原成同步串口數據發送到對應的同步串口裝置B、C上去。
在上述傳輸過程中,需要保持發送端的報文發送頻率和接收端的報文接收頻率接近或者相同,即兩端需保持同步。傳輸過程中的同步技術是同步幀在TCP或者UDP中的一個比較重要的技術。
此外,在上述傳輸過程中,傳輸效率也是一個很重要的因素。同步幀經過網絡設備A后的IP數據報文格式如圖2A和2B所示,其中圖2A為基于TCP方式的IP數據報文格式,在原有同步數據幀部分添加一個20個字節的IP首部及一個20個字節的TCP首部。而圖2B為基于UDP方式的IP數據報文格式,是在原有同步數據幀部分添加一個20個字節的IP首部和8個字節的UDP首部。
顯然,現有技術同步幀在TCP或者UDP基礎之上進行傳輸的方式,由于要在原有同步數據幀部分基礎上增加TCP首部或者UDP首部,因此會給傳輸資源緊張的網絡增加很大的負擔,減少網絡傳輸的效率。此外,由于TCP方式或UDP方式的自身特點,即TCP方式連接請求以及重傳數據,會導致裝置性能嚴重下降;而UDP方式進行數據傳輸會出現丟包現象,影響數據的完整性,給數據的傳輸帶來不可靠因素。
發明內容
本發明解決的技術問題在于提供一種同步幀在IP網絡上傳輸的方法及同步幀在IP上傳輸的網絡設備,可以保證發送端和接收端同步幀的頻率相同或者接近。
此外,本發明還可以減少對原有同步數據幀的封裝,能夠更大程度的增加帶寬利用率,提高傳輸效率。
實現本發明目的的技術方案如下一種同步幀在IP網絡上傳輸的方法,其中發送端的同步串口裝置將數據幀傳送到與其相連的網絡設備,該網絡設備將先后接收到的若干個數據幀封裝成IP數據包,通過IP網絡發送到接收端網絡設備,所述IP數據包中的數據幀存儲有記錄相鄰數據幀之間發送時間差的時間戳;接收端網絡設備接收IP數據包,根據先后接收到的數據幀的時間間隔與數據幀存儲的時間戳進行比較,如果兩者相等或差值介于容忍范圍內,則繼續進行后續數據幀的同步傳輸;如果時間間隔小于時間戳,則等待到兩者相等或差值介于容忍范圍內,再繼續進行后續數據幀的同步傳輸;如果時間間隔大于時間戳,則丟棄IP數據包。
所述IP數據包帶有類型標識和序號標識。
所述接收端網絡設備根據類型標識和序號標識進行判斷,如果正確則將IP數據包拆分為若干個數據幀。
其中,如果所述接收端網絡設備沒有正確接收到某個序號的IP數據包,則發送反饋報文給發送端網絡設備,所述反饋報文的類型標記為重發,序號標記為該序號的IP數據包;發送端網絡設備根據收到的反饋報文將緩沖區中該序號的IP數據包重新發送給接收端網絡設備;如果所述發送端網絡設備無法發送該序號的IP數據包,則發送報文告知接收端網絡設備。
所述封裝的IP數據包中的若干個數據幀之間通過特殊標識加以區分,數據幀中和所述特殊標識相同的字符進行轉義處理;所述拆分的IP數據包按照該特殊標識拆分為若干個數據幀,每個數據幀中經轉義過的字符進行還原處理。
此外,本發明還提供一種同步幀在IP上傳輸的網絡設備,包括IP數據包處理單元,用于將先后接收到的若干個數據幀封裝成IP數據包;或用于將從IP網絡接收的IP數據包拆分為若干個數據幀;同步時鐘單元,用于在所述數據幀時間戳單元記錄相鄰數據幀之間發送時間差的時間戳;或根據先后接收到的數據幀的時間間隔與數據幀存儲的時間戳進行比較,如果兩者相等或差值介于容忍范圍內,則繼續進行后續數據幀的同步傳輸;如果時間間隔小于時間戳,則等待到兩者相等或差值介于容忍范圍內,再繼續進行后續數據幀的同步傳輸;如果時間間隔大于時間戳,則丟棄IP數據包。
所述IP數據包處理單元將IP數據包封裝成帶有類型標識和序號標識的數據包。
所述網絡設備根據類型標識和序號標識判斷接收的IP數據包是否正確,如果沒有正確接收到某個序號的IP數據包,則發送反饋報文給發送端網絡設備,所述反饋報文的類型標記為重發,序號標記為該序號的IP數據包;發送端網絡設備根據收到的反饋報文將緩沖區中該序號的IP數據包重新發送給接收端網絡設備;如果所述發送端網絡設備無法發送該序號的IP數據包,則發送報文告知接收端網絡設備。
所述IP數據包處理單元封裝IP數據包是在若干個數據幀之間增加特殊標識,將數據幀中和所述特殊標識相同的字符作轉義處理;所述IP數據包處理單元拆分IP數據包是依照該特殊標識拆分成若干個數據幀,將數據幀中經轉義過的字符作還原處理。
本發明通過在現有一點對一點或一點對多點的數據傳輸模式下,對若干個數據幀打包后,在IP數據包的每個數據幀中存儲時間戳,以記錄該數據幀和前一個數據幀發送的時間差值。通過判斷接收端接收到的數據幀的時間戳與實際發送時的時間戳,來決定是否接收IP數據包。如果接收端接收到的數據幀的時間戳小于實際發送時的時間戳,則接收端等待至到時間戳等于實際發送時的時間戳,再將數據幀發送出去;如果接收端接收到的數據幀的時間戳大于實際發送時的時間戳,則接收端將該IP數據包直接丟棄。通過這種時間戳機制,能較大程度的保障接收數據幀的時間間隔,最大限度的保障語音傳送的質量。
此外,本發明通過僅僅在數據包前增加一個IP首部和幾個字節的標識,就能夠實現同步數據幀在IP上的高速傳輸。本發明構造的IP數據包由于沒有協議頭,在傳輸過程中無需進行協議判斷,因此更適合于無協議情況的數據傳輸。
更具體是通過在IP數據包中設置的類型標識和序號標識,根據該類型標識和序號標識進行判斷,接收端決定是丟棄還是接收IP數據包。當接收端沒有接收到某個序號的IP數據包,發送端通過接收端發出的反饋報文得知后,將存儲在緩存中的對應該序號的IP數據包重新傳輸;否則發送類型標記為無此序號的IP數據包至接收端網絡設備,告知接收端沒有對應序號的IP數據包,接收端得知后就無需繼續等待。通過這種重傳機制,只需要有選擇的重傳,在較大程度保障了同步數據幀傳輸的完整性,也提高了傳輸效率。
此外,通過將若干個數據幀打包成為一個IP數據包,在每個數據幀之間通過特殊標識加以區分,并對數據幀中和所述特殊標識相同的字符進行轉義處理;與之對應,在拆分IP數據包時按照該特殊標識進行拆分,并將每個數據幀中經轉義過的字符進行還原處理。通過這種數據幀打包機制,能在一定程度上進一步提高傳輸效率。
下面結合附圖和具體實施方式
對本發明作進一步描述。
圖1現有技術傳輸方式組網示意圖;圖2A、B分別是現有TCP數據包和UDP數據包格式示意圖;圖3是本發明同步數據幀傳輸的方法流程圖;圖4是本發明實施例同步數據幀傳輸示意圖;圖5是本發明實施例用于同步數據幀傳輸的裝置示意圖;圖6是本發明實施例IP數據包形成示意圖;圖7A、B是本發明實施例IP數據包格式示意圖;圖8A、B是本發明實施例數據幀打包示意圖。
具體實施例方式
首先,以圖1和圖6為例來說明本發明的同步技術。當網絡設備A從同步串口裝置A接收到數據幀后,在該數據幀頭部加入時間戳的字節,對接收到的第一個數據幀,其時間戳字節記為T1;對接收到的第二個數據幀,其時間戳記為T2,其中T2為接收第二個數據幀的時間與接收第一個數據幀的時間間隔,對接收到的第三個數據幀,其時間戳字節記為T3,其中T3為接收到的第三個數據的時間與接收到的第二個數據幀的時間間隔。對于后續的數據幀依此方式進行時間戳字節的設置。另外,該時間戳值的計算還可以以網絡設備A發送數據幀的時間間隔計算。比方,發送第一個數據幀時,將其時間戳字節設置t1;在發送第二個數據幀時,將其時間戳字節值設置為t2,其中t2為發送第二個數據幀與發送第一個數據幀的時間間隔;發送第三個數據幀時,在其時間戳字節設置為t3,其中t3為發送第三個數據幀與發送第二個數據幀的時間間隔,后續的數據幀依此方式進行時間戳字節的設置。
接收端網絡設備B接收到第一個同步數據幀以后,記錄一個時間值I1,接收到第二個數據幀以后記錄第二個時間值I2,如果I2與I1之間的差值與T2或者t2相等,那么繼續后續數據幀的同步。如果I2與I1之間的差值大于T2或者t2,則直接將該數據幀進行丟棄,重新進行下一次數據幀的同步;如果I2與I1之間的差值小于T2或者t2,則等到I2與I1之間的差值與T2或者t2相等時,再將數據幀發送到同步串口設備B,繼續后續數據幀的同步。發送數據幀的時間間隔和接收數據幀的時間間隔除了完全相等之外,還可以設置一個容忍值,如果前述兩個時間間隔的差值在容忍值范圍之內,則繼續進行數據幀的發送。這個容忍值以基本不影響同步傳輸的效果為前提。比如發送三個數據幀的時間戳分別是,T1為0ms,T2為20ms,T3為40ms,而接收三個數據幀的時間間隔為,I1為0ms,I2為21ms,I3為41ms,而容忍值設為2ms,那么這三個數據幀都可以接收。通過上述同步機制,能較大程度的保障數據發送時間間隔與數據接收時間間隔的一致性。
下面,如圖7A所示,詳細說明本發明方案中IP數據包的格式。IP數據包共分為五部分,即IP首部、類型標識、序號標識、數據包、及校驗和,其中IP首部20個字節;
類型標識1個字節,具體分為三種類型1設置為0,表示“發送”,類型2設置為1,表示“重發”,類型3設置為2,表示“無此序號報文”;序號標識4個字節,從0開始遞增,增到最大值后恢復到0重新開始;數據包為多個數據幀打包而成,每個數據幀之間通過特殊標識加以區分,數據幀中和所述特殊標識相同的字符需要轉義處理;而每個數據幀前設置時間戳,是數據幀和前一個數據幀發送的時間間隔,是一個時間差值,單位毫秒(ms);校驗和2個字節。
下面,如圖3、圖4所示,詳細說明本發明同步幀在IP上高速傳輸的方法步驟。
步驟1、發送端的同步串口裝置將若干個數據幀傳送到與其相連的網絡設備;步驟2、網絡設備收到同步串口裝置發送過來的數據幀,開始進行封裝,首先如果數據幀為多個,還需要將多個數據幀進行打包處理,即在每個數據幀后面加上特殊結束標識,同時把數據幀中和該特殊結束標識相同的字符進行轉義處理;然后把第一個要發送的數據幀的時間戳記為0,下一個數據幀的時間戳就是和第一個數據幀發送的時間差值。最后將類型設置為0(發送);序號在建立連接的第一個IP數據包開始計數,從0開始遞增;同時計算校驗和。網絡設備將封裝好的IP數據包通過IP網絡發送到接收端的網絡設備;步驟3、接收端網絡設備通過IP網絡接收從發送端發送過來的IP數據包;步驟4、接收端網絡設備首先去掉IP數據包的IP首部,然后計算校驗和,即把校驗和部分先置為0后計算異或所得的值。將該計算值與發送時計算的值進行比較,如果不相等,則進入步驟8,否則繼續;步驟5、如果相等,則根據類型標識和序號標識進行下一步的判斷首先判斷類型標識,如果類型為0(發送),則繼續判斷序號標識,如果序號不正確,則進入步驟9,否則繼續;
步驟6、如果序號正確,則接收端網絡設備將IP數據包中的數據包通過特殊結束符號拆分為若干個數據幀,并將發送時作過轉義處理的字符進行還原;根據時間戳記錄的幀與幀之間的發送間隔,將若干個數據幀發送到相應的網絡串口裝置;如果該接收端接收到的數據幀的時間戳小于實際發送時的時間戳時,接收端等待至到時間戳等于實際發送時的時間戳,再將數據幀發送出去;如果接收端接收到的數據幀的時間戳大于實際發送時的時間戳時,接收端直接丟棄IP數據包;步驟7、同步串口裝置接收來自與其相連的網絡設備發送的數據幀。
步驟8、丟掉IP數據包。
步驟9、如果接收端網絡設備沒有正確接收到某個序號的IP數據包,則發送反饋報文給發送端網絡設備。反饋報文的類型標記為1(重發),序號標記為所需IP數據包的序號;發送端網絡設備根據收到的反饋報文中的標記,在緩沖區中查找,如果找到相應的IP數據包,則將其重新發送給接收端網絡設備;否則發送類型標記為2(無此序號報文)的報文至接收端網絡設備,以告知接收端不用再繼續等待。類型2或3的報文格式如圖6B所示。
下面,詳細說明本發明數據幀打包的過程。多個數據幀打包主要是應用在發送端和接收端的網絡設備上,發送方完成數據包的打包過程,接收方完成數據包的分離過程。如圖8A所示,記錄了五個數據幀的打包的過程,具體描述如下在每個數據幀的后面加上特殊結束符號,例如兩個十六進制的0x7e0x7e。當接收端網絡設備收到結束符號時,認為一數據幀已經收齊,可以往串口進行發送。當數據幀中出現作為結束符號的字符時,要對該字符進行轉義操作,使報文的結束符合比較容易識別,例如如果使用兩個十六進制的0x7e0x7e作為結束符,就要對報文中的0x7e進行轉義,在其后加上另外一個字符,從而使得報文中不會連續出現兩個0x7e,同時也不會是報文中已有的兩個0x7e連在一起,從而避免不容易辨認。
該方式需要成對出現,即發送端進行數據幀的打包操作,接收端對數據包進行分離操作,打包過程和分離過程正好相反,如圖8B所示。打包過程把需要轉義的字符進行轉義,而分離過程需要將已經做過轉義的字符再還原,從而完成數據幀從分到合,從合到分的過程,從而實現多個幀的同步傳輸。
結合圖4和圖5詳細說明本發明實現同步幀在IP上高速傳輸的系統如圖5所示,該系統分為三部分,即發送端、IP網絡、即接收端,其中發送端包括同步串口裝置和網絡設備;接收端包括網絡設備和同步串口裝置,發送端同步串口裝置和接收端同步串口裝置之間通過其相應的網絡設備連接到IP網絡上。
下面以一個發送端,兩個接收端為例,具體說明如下發送端同步串口裝置51,將數據幀傳送到與其相連的發送端網絡設備52;發送端網絡設備52,進一步包括IP數據包處理單元和同步時鐘單元,其中IP數據包處理單元,用于將先后接收到的若干個數據幀封裝成帶有類型標識和序號標識的IP數據包;封裝IP數據包是在若干個數據幀之間增加特殊標識,將數據幀中和所述特殊標識相同的字符作轉義處理;同步時鐘單元,用于在所述IP數據包中的數據幀記錄相鄰數據幀之間發送時間差的時間戳;發送端網絡設備52收到同步串口設備51發送過來的數據幀,對數據幀進行封裝,首先如果有多個數據幀,需要將多個數據幀進行打包處理,即在每個數據幀后面加上特殊結束標識,同時把數據幀中和該特殊結束標識相同的字符進行轉義處理;然后把第一個要發送的數據幀的時間戳記為0,下一個數據幀的時間戳就是和第一個數據幀發送的時間差值。最后將類型設置為0(發送);序號在建立連接的第一個IP數據包開始計數,從0開始遞增;同時計算校驗和。發送端網絡設備52將封裝好的IP數據包通過IP網絡發送到接收端的網絡設備;接收端網絡設備53、55,進一步包括IP數據包處理單元和同步時鐘單元,其中IP數據包處理單元,用于將從IP網絡接收的IP數據包拆分為若干個數據幀;所述IP數據包處理單元拆分IP數據包是依照該特殊標識拆分成若干個數據幀,將數據幀中經轉義過的字符作還原處理。
同步時鐘單元,用于根據先后接收到的數據幀的時間間隔與數據幀存儲的時間戳進行比較,如果兩者相等或差值介于容忍范圍內,則繼續進行后續數據幀的同步傳輸;如果時間間隔小于時間戳,則等待到兩者相等或差值介于容忍范圍內,再繼續進行后續數據幀的同步傳輸;如果時間間隔小于時間戳,則丟棄IP數據包。
接收端網絡設備53、55接收通過IP網絡發送來的IP數據包,首先去掉IP數據包的IP首部,然后計算校驗和并進行比較,具體是把校驗和部分先置為0后計算異或所得的值。將該計算值與發送時計算的值進行比較,如果無誤,再根據類型標識和序號標識進行判斷,如果正確則將IP數據包拆分為若干個數據幀后發送到相應的網絡串口裝置;接收端同步串口裝置54、56,用于接收與其相連的接收端網絡設備發送的數據幀。
以上所述的本發明實施方式,并不構成對本發明保護范圍的限定。任何在本發明的精神和原則之內所作的任何修改、等同替換和改進等,均應包含在本發明的權利要求保護范圍之內。
權利要求
1.一種同步幀在IP網絡上傳輸的方法,其特征在于發送端的同步串口裝置將數據幀傳送到與其相連的網絡設備,該網絡設備將先后接收到的若干個數據幀封裝成IP數據包,通過IP網絡發送到接收端網絡設備,所述IP數據包中的數據幀存儲有記錄相鄰數據幀之間發送時間差的時間戳;接收端網絡設備接收IP數據包,根據先后接收到的數據幀的時間間隔與數據幀存儲的時間戳進行比較,如果兩者相等或差值介于容忍范圍內,則繼續進行后續數據幀的同步傳輸;如果時間間隔小于時間戳,則等待到兩者相等或差值介于容忍范圍內,再繼續進行后續數據幀的同步傳輸;如果時間間隔大于時間戳,則丟棄IP數據包。
2.如權利要求1所述的方法,其特征在于,所述IP數據包帶有類型標識和序號標識。
3.如權利要求2所述的方法,其特征在于,所述接收端網絡設備根據類型標識和序號標識進行判斷,如果正確則將IP數據包拆分為若干個數據幀。
4.如權利要求3所述的方法,其特征在于,如果所述接收端網絡設備沒有正確接收到某個序號的IP數據包,則發送反饋報文給發送端網絡設備,所述反饋報文的類型標記為重發,序號標記為該序號的IP數據包;發送端網絡設備根據收到的反饋報文將緩沖區中該序號的IP數據包重新發送給接收端網絡設備。
5.如權利要求4所述的方法,其特征在于,如果所述發送端網絡設備無法發送該序號的IP數據包,則發送報文告知接收端網絡設備。
6.如權利要求1或3所述的方法,其特征在于,所述封裝的IP數據包中的若干個數據幀之間通過特殊標識加以區分,數據幀中和所述特殊標識相同的字符進行轉義處理;所述拆分的IP數據包按照該特殊標識拆分為若干個數據幀,每個數據幀中經轉義過的字符進行還原處理。
7.一種同步幀在IP上傳輸的網絡設備,其特征在于,包括IP數據包處理單元,用于將先后接收到的若干個數據幀封裝成IP數據包;或用于將從IP網絡接收的IP數據包拆分為若干個數據幀;同步時鐘單元,用于在所述數據幀時間戳單元記錄相鄰數據幀之間發送時間差的時間戳;或根據先后接收到的數據幀的時間間隔與數據幀存儲的時間戳進行比較,如果兩者相等或差值介于容忍范圍內,則繼續進行后續數據幀的同步傳輸;如果時間間隔小于時間戳,則等待到兩者相等或差值介于容忍范圍內,再繼續進行后續數據幀的同步傳輸;如果時間間隔大于時間戳,則丟棄IP數據包。
8.如權利要求7所述的裝置,其特征在于,所述IP數據包處理單元將IP數據包封裝成帶有類型標識和序號標識的數據包。
9.如權利要求8所述的裝置,其特征在于,所述網絡設備根據類型標識和序號標識判斷接收的IP數據包是否正確,如果沒有正確接收到某個序號的IP數據包,則發送反饋報文給發送端網絡設備,所述反饋報文的類型標記為重發,序號標記為該序號的IP數據包;發送端網絡設備根據收到的反饋報文將緩沖區中該序號的IP數據包重新發送給接收端網絡設備;如果所述發送端網絡設備無法發送該序號的IP數據包,則發送報文告知接收端網絡設備。
10.如權利要求7所述的裝置,其特征在于,所述IP數據包處理單元封裝IP數據包是在若干個數據幀之間增加特殊標識,將數據幀中和所述特殊標識相同的字符作轉義處理;所述IP數據包處理單元拆分IP數據包是依照該特殊標識拆分成若干個數據幀,將數據幀中經轉義過的字符作還原處理。
全文摘要
本發明提供一種同步幀在IP上傳輸的方法及用于傳輸的網絡設備,其中發送端網絡設備將先后接收到的若干個數據幀封裝成IP數據包,通過IP網絡發送到接收端網絡設備,所述IP數據包中的數據幀存儲有記錄相鄰數據幀之間發送時間差的時間戳;接收端網絡設備接收IP數據包,根據先后接收到的數據幀的時間間隔與數據幀存儲的時間戳進行比較,進而決定是否將該數據幀傳輸出去。此外,通過IP數據包中的類型、序號標識判斷接收是否正確,從而決定是否要求發送端重新傳輸。本發明通過上述方案,可以保證發送端和接收端同步幀的頻率相同或者接近,實現數據幀的同步傳輸;能夠減少對原有同步數據幀的封裝,更大程度的增加帶寬利用率,提高傳輸效率。
文檔編號H04Q11/00GK1852265SQ20061008347
公開日2006年10月25日 申請日期2006年5月30日 優先權日2006年5月30日
發明者董輝 申請人:杭州華為三康技術有限公司