專利名稱:一種基于rtp的數(shù)據(jù)報文傳輸?shù)膶崿F(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及網(wǎng)絡(luò)通訊技術(shù)領(lǐng)域,具體涉及一種基于RTP的數(shù)據(jù)報文傳輸?shù)膶崿F(xiàn)方法。
背景技術(shù):
在網(wǎng)絡(luò)通訊系統(tǒng)中,兩個數(shù)據(jù)通訊設(shè)備之間可以通過10/100M的FE端口和1000M的GE端口的以太網(wǎng)端口進行數(shù)據(jù)通訊。
當(dāng)兩個數(shù)據(jù)通訊設(shè)備之間同時使用多個FE/GE端口進行通訊時,可以把多個FE/GE端口捆綁成一個帶寬更大的邏輯端口,如附圖1所示,將數(shù)據(jù)通訊設(shè)備1和數(shù)據(jù)通訊設(shè)備2之間的多個FE/GE端口捆綁為一個邏輯端口,數(shù)據(jù)通訊設(shè)備1和數(shù)據(jù)通訊設(shè)備2之間通過該邏輯端口進行通訊。
使用一個邏輯端口進行通訊時,可以只為該邏輯端口配置一個IP地址和MAC地址,有效節(jié)省了IP地址資源;當(dāng)被捆綁為邏輯端口中的一個或者多個FE/GE端口出現(xiàn)故障時,可以使用其它的FE/GE端口通訊,不需要單獨的FE/GE備份端口;而且單獨一個FE/GE端口在正常通訊過程中其帶寬使用率一般不能超過95%,而多個端口捆綁為一個邏輯端口時,邏輯端口在正常通訊過程中其帶寬使用率不超過總帶寬的95%就可以了,有效提高了帶寬的利用率。
捆綁后的邏輯端口遵從IEEE802.3ad協(xié)議,協(xié)議中規(guī)定,對同一會話報文要求保證順序,即同一個會話報文只能在邏輯端口中的同一個物理端口上發(fā)送。在通過邏輯端口對會話報文進行傳輸時,可以通過IP報文中的MAC地址、IP地址、IP報文的端口號來標識一個會話,然后根據(jù)這些標識計算出一個物理端口,所有這個會話的報文都通過該物理端口發(fā)送。
當(dāng)兩個大容量網(wǎng)絡(luò)設(shè)備如兩個NGN(下一代網(wǎng)絡(luò))的媒體網(wǎng)關(guān)進行通訊時,會話的發(fā)起點和終結(jié)點都是這兩個網(wǎng)關(guān),由于這兩個網(wǎng)關(guān)之間的IP報文只有少量的MAC地址、IP地址,且IP報文的端口號數(shù)量有限、分配規(guī)則固定,所以,使用MAC地址、IP地址或者端口號來標識會話,會使大量的IP報文只能在某幾個固定的物理端口上發(fā)送,使邏輯端口中的物理端口使用不均勻,從而使帶寬資源不能充分利用,降低了帶寬的使用率,造成帶寬資源浪費,沒有達到捆綁以太網(wǎng)接口節(jié)省帶寬的目的。
發(fā)明內(nèi)容
本發(fā)明的目的在于,提供一種基于RTP的數(shù)據(jù)報文傳輸?shù)膶崿F(xiàn)方法,根據(jù)數(shù)據(jù)報文承載的信息對應(yīng)的隨機值確定的端口對數(shù)據(jù)報文進行傳輸,使數(shù)據(jù)通訊設(shè)備的端口均勻使用,節(jié)約了網(wǎng)絡(luò)帶寬資源。
為達到上述目的,本發(fā)明提供的一種基于RTP的數(shù)據(jù)報文傳輸?shù)膶崿F(xiàn)方法,包括a、數(shù)據(jù)通訊設(shè)備根據(jù)接收的基于實時傳輸協(xié)議RTP的數(shù)據(jù)報文中承載的信息確定隨機值;b、根據(jù)所述隨機值確定數(shù)據(jù)報文傳輸?shù)亩丝?;c、根據(jù)所述確定的端口傳輸所述數(shù)據(jù)報文。
所述數(shù)據(jù)通訊設(shè)備為基于以太網(wǎng)接口的數(shù)據(jù)通訊設(shè)備。
所述數(shù)據(jù)報文傳輸端口包括邏輯端口中的物理端口。
所述基于RTP的數(shù)據(jù)報文中承載的信息包括RTP層的時間戳信息。
所述步驟a進一步包括數(shù)據(jù)通訊設(shè)備獲取其接收的基于RTP的數(shù)據(jù)報文承載的RTP層的時間戳信息;根據(jù)所述數(shù)據(jù)通訊設(shè)備對RTP數(shù)據(jù)報文的打包時長確定所述時間戳信息對應(yīng)的隨機值。
所述隨機值為隨機時間戳初始值或時間戳信息以所述打包時長為除數(shù)的余數(shù)。
所述步驟b具體為根據(jù)所述隨機值的哈希運算值確定數(shù)據(jù)報文傳輸端口。
所述步驟b具體為確定所述隨機值的哈希運算值;確定所述哈希運算值以所述數(shù)據(jù)通訊設(shè)備的端口數(shù)為除數(shù)的余數(shù);根據(jù)所述余數(shù)確定數(shù)據(jù)報文的傳輸端口。
所述方法還包括所述數(shù)據(jù)通訊設(shè)備根據(jù)其端口順序?qū)⒔邮盏幕赗TP的數(shù)據(jù)報文依次傳輸。
所述方法還包括所述數(shù)據(jù)通訊設(shè)備根據(jù)其端口順序?qū)⒔邮盏幕趯崟r傳輸控制協(xié)議的數(shù)據(jù)報文依次傳輸。
通過上述技術(shù)方案的描述可明顯得知,本發(fā)明利用RTP數(shù)據(jù)報文中承載的信息來確定隨機值,通過隨機值確定數(shù)據(jù)報文傳輸?shù)奈锢矶丝?,?dāng)利用RTP層信息中的時間戳信息對應(yīng)的隨機值,如根據(jù)時間戳初始值或時間戳信息以所述打包時長為除數(shù)的余數(shù)來確定數(shù)據(jù)報文傳輸?shù)奈锢矶丝冢箶?shù)據(jù)通訊設(shè)備中的各物理端口得到均勻使用,尤其在數(shù)據(jù)通訊設(shè)備使用多個物理端口捆綁成為的邏輯端口進行數(shù)據(jù)傳輸時,使邏輯端口中的各物理端口得到均勻使用,使網(wǎng)絡(luò)帶寬資源得到充分利用;由于同一語音業(yè)務(wù)的各RTP數(shù)據(jù)報文的時間戳數(shù)值對應(yīng)相同的時間戳初始值或上述余數(shù),使本發(fā)明可簡單方便的將同一語音業(yè)務(wù)中的RTP數(shù)據(jù)報文通過同一物理端口傳輸,有效的保證了RTP數(shù)據(jù)報文的有序傳輸;本發(fā)明將RTP數(shù)據(jù)報文直接在多個物理端口上均勻輪流傳輸可以使RTP數(shù)據(jù)報文得到基本有序傳輸;本發(fā)明可以將非RTP數(shù)據(jù)報文直接在多個物理端口上均勻輪流傳輸;從而通過本發(fā)明提供的技術(shù)方案實現(xiàn)了提高網(wǎng)絡(luò)帶寬的使用率,節(jié)約網(wǎng)絡(luò)帶寬資源的目的。
圖1是FE/GE接口捆綁示意圖;圖2是RTP層格式示意圖;圖3是本發(fā)明的數(shù)據(jù)報文傳輸流程圖。
具體實施例方式
本發(fā)明的核心是數(shù)據(jù)通訊設(shè)備根據(jù)接收的基于實時傳輸協(xié)議RTP的數(shù)據(jù)報文中承載的信息確定隨機值,根據(jù)所述隨機值確定數(shù)據(jù)報文傳輸?shù)亩丝?,根?jù)所述確定的端口傳輸所述數(shù)據(jù)報文。
下面基于本發(fā)明的核心思想對本發(fā)明提供的技術(shù)方案做進一步的描述。
以太網(wǎng)中的數(shù)據(jù)通訊設(shè)備在通過由多個FE/GE端口捆綁為的邏輯端口傳輸基于RTP的語音業(yè)務(wù)時,可以根據(jù)數(shù)據(jù)報文中承載的RTP層信息確定傳輸該語音業(yè)務(wù)的數(shù)據(jù)報文的邏輯端口中的物理端口。
以數(shù)據(jù)報文承載的RTP層信息中的時間戳信息為例,對確定捆綁為邏輯端口中的傳輸數(shù)據(jù)報文的物理端口過程進行說明。
對于語音業(yè)務(wù),基于RTP數(shù)據(jù)報文的格式如表1所示表1
其中,MAC層信息的長度為14個字節(jié)、IP層信息的長度為20個字節(jié)、UDP層信息的長度為8個字節(jié),RTP層信息的格式如附圖2所示。
在圖2中,從RTP層信息的第5個字節(jié)開始為時間戳(Timestamp)字段,時間戳字段的長度為4個字節(jié)。
本發(fā)明的數(shù)據(jù)通訊設(shè)備在接收到RTP數(shù)據(jù)報文后,直接跳過數(shù)據(jù)報文中承載的MAC層信息、IP層信息、UDP層信息,從RTP層信息的第5個字節(jié)開始讀取32bit的時間戳信息,即從RTP數(shù)據(jù)報文的第47個字節(jié)開始讀取32bit的時間戳信息。然后,根據(jù)讀取的時間戳信息、語音會話的打包時長確定隨機值,如時間戳初始值或根據(jù)時間戳信息、RTP數(shù)據(jù)報文的打包時長確定的隨機值。
語音會話的第一個RTP數(shù)據(jù)報文中的時間戳信息是隨機產(chǎn)生的,稱其為時間戳初始值,同一個語音會話的后續(xù)第二個、第三個等RTP數(shù)據(jù)報文中的時間戳數(shù)值根據(jù)會話要求的打包時長的采樣點在時間戳初始值的基礎(chǔ)上有規(guī)律的依次增加。
一般情況下,語音會話的采樣點是一秒鐘8000個采樣點、語音會話的打包時長為5ms的倍數(shù),如G.711 5ms、G.711 10ms、G.711 20ms、G.729 20ms、G.723 30ms等。這樣,5ms對應(yīng)的采樣點個數(shù)為40個,既每5ms,同一個語音會話的后續(xù)RTP數(shù)據(jù)報文中的時間戳數(shù)據(jù)應(yīng)在其對應(yīng)的時間戳初始值的基礎(chǔ)上增加40。如會話的第一個RTP數(shù)據(jù)報文隨機產(chǎn)生的時間戳初始值為100,語音會話的打包時長是10ms,那么同一個會話的第二個RTP數(shù)據(jù)報文中的時間戳為180、第三個RTP數(shù)據(jù)報文中的時間戳為260,同一個會話的后續(xù)RTP數(shù)據(jù)報文中的時間戳數(shù)值依此類推。
由于時間戳初始值是隨機產(chǎn)生的,所以根據(jù)時間戳初始值來確定數(shù)據(jù)報文傳輸?shù)奈锢矶丝冢估墳檫壿嫸丝谥械母魑锢矶丝诘玫骄鶆虻氖褂?,從而提高了網(wǎng)絡(luò)帶寬的利用率。
對于同一個語音會話的RTP數(shù)據(jù)報文其對應(yīng)的時間戳初始值是相同的,因此,同一個語音會話的RTP數(shù)據(jù)報文根據(jù)其時間戳初始值確定物理端口,可以使同一個語音會話的RTP數(shù)據(jù)報文能夠從同一個物理端口傳輸,有效保證了同一個語音會話的RTP數(shù)據(jù)報文的有序傳輸。
設(shè)定時間戳信息為S、語音會話的打包時長為5ms,則根據(jù)時間戳信息、RTP數(shù)據(jù)報文的打包時長確定的隨機值的方法可以為S以40為除數(shù)的余數(shù)。
同樣,由于時間戳初始值是隨機產(chǎn)生的,利用時間戳信息、打包時長確定的余數(shù)也是隨機的,而且同一個語音會話的RTP數(shù)據(jù)報文的時間戳信息對應(yīng)相同的余數(shù),所以,根據(jù)該余數(shù)來確定RTP數(shù)據(jù)報文的傳輸端口,使捆綁為邏輯端口中的各物理端口得到均勻的使用,提高了網(wǎng)絡(luò)帶寬的利用率,有效保證了同一個語音會話的RTP數(shù)據(jù)報文的有序傳輸。
根據(jù)隨機值確定捆綁為邏輯端口中傳輸數(shù)據(jù)報文的物理端口的方法可以通過哈希函數(shù)來實現(xiàn),設(shè)定數(shù)據(jù)通訊設(shè)備中捆綁為一個邏輯端口的物理端口數(shù)為N,哈希函數(shù)為H(),RTP數(shù)據(jù)報文中承載的時間戳值為S,語音會話的打包時長為5ms,以上述求余數(shù)為例,傳輸該RTP數(shù)據(jù)報文的物理端口P為P=H(S%40)%N;其中40是5ms對應(yīng)的采樣點個數(shù)、S%40得到該RTP數(shù)據(jù)報文對應(yīng)的余數(shù)、H(S%40)為以該余數(shù)為參數(shù)做哈希運算,哈希函數(shù)可以任意選取的,H(S%40)%N得到傳輸該RTP數(shù)據(jù)報文的物理端口。
由于語音會話的打包時長為5ms的倍數(shù),一般為20ms,也就是每20ms才產(chǎn)生一個RTP數(shù)據(jù)報文,所以,數(shù)據(jù)通訊設(shè)備將其按順序接收的RTP數(shù)據(jù)報文直接在多個物理端口上順序均勻輪流傳輸,在接收端接收到的RTP數(shù)據(jù)報文也基本上是有序的,接收端對接收的少量無序報文做適當(dāng)?shù)膩y序調(diào)整,可以恢復(fù)RTP數(shù)據(jù)報文的順序,利用這樣的傳輸方法同樣可以使網(wǎng)絡(luò)帶寬得到高效利用。
對于數(shù)據(jù)通訊設(shè)備之間傳輸?shù)姆荝TP數(shù)據(jù)報文,如基于RTCP(實時傳輸控制協(xié)議)的數(shù)據(jù)報文,可以采用直接在多個物理端口上均勻輪流傳輸?shù)姆椒▽TCP報文進行數(shù)據(jù)報文傳輸,以保證網(wǎng)絡(luò)帶寬得到高效利用。
下面結(jié)合附圖3對本發(fā)明的RTP數(shù)據(jù)報文傳輸方法進一步說明。
在圖3中,步驟300,數(shù)據(jù)通訊設(shè)備接收數(shù)據(jù)報文,該數(shù)據(jù)報文需要通過捆綁為邏輯端口中的一個物理端口傳輸。
到步驟310,數(shù)據(jù)通訊設(shè)備通過VLAN(虛擬局域網(wǎng))、VPN(虛擬專用網(wǎng))、Qos(服務(wù)質(zhì)量)等技術(shù)區(qū)分其接收的數(shù)據(jù)報文為RTP數(shù)據(jù)報文,還是非RTP數(shù)據(jù)報文,如果數(shù)據(jù)通訊設(shè)備接收的數(shù)據(jù)報文是非RTP數(shù)據(jù)報文,到步驟311,將此非RTP數(shù)據(jù)報文直接在多個物理端口上均勻輪流傳輸。
在步驟310,如果數(shù)據(jù)通訊設(shè)備接收的數(shù)據(jù)報文為RTP數(shù)據(jù)報文,到步驟320,從該RTP數(shù)據(jù)報文的第47個字節(jié)開始讀取32bit的時間戳信息。
到步驟330,根據(jù)語音會話的打包時長確定該時間戳信息對應(yīng)的時間戳初始值或根據(jù)時間戳信息、打包時長確定余數(shù)。
到步驟340,將上述獲得的時間戳初始值或余數(shù)作哈希運算,并確定傳輸該RTP數(shù)據(jù)報文的物理端口。
到步驟350,將該RTP數(shù)據(jù)報文通過上述確定的物理端口傳輸。
雖然通過實施例描繪了本發(fā)明,本領(lǐng)域普通技術(shù)人員知道,本發(fā)明有許多變形和變化而不脫離本發(fā)明的精神,希望所附的權(quán)利要求包括這些變形和變化。
權(quán)利要求
1.一種基于RTP的數(shù)據(jù)報文傳輸?shù)膶崿F(xiàn)方法,其特征在于包括a、數(shù)據(jù)通訊設(shè)備根據(jù)接收的基于實時傳輸協(xié)議RTP的數(shù)據(jù)報文中承載的信息確定隨機值;b、根據(jù)所述隨機值確定數(shù)據(jù)報文傳輸?shù)亩丝?;c、根據(jù)所述確定的端口傳輸所述數(shù)據(jù)報文。
2.如權(quán)利要求1所述的一種基于RTP的數(shù)據(jù)報文傳輸?shù)膶崿F(xiàn)方法,其特征在于所述數(shù)據(jù)通訊設(shè)備為基于以太網(wǎng)接口的數(shù)據(jù)通訊設(shè)備。
3.如權(quán)利要求1所述的一種基于RTP的數(shù)據(jù)報文傳輸?shù)膶崿F(xiàn)方法,其特征在于所述數(shù)據(jù)報文傳輸端口包括邏輯端口中的物理端口。
4.如權(quán)利要求1所述的一種基于RTP的數(shù)據(jù)報文傳輸?shù)膶崿F(xiàn)方法,其特征在于所述基于RTP的數(shù)據(jù)報文中承載的信息包括RTP層的時間戳信息。
5.如權(quán)利要求4所述的一種基于RTP的數(shù)據(jù)報文傳輸?shù)膶崿F(xiàn)方法,其特征在于所述步驟a進一步包括數(shù)據(jù)通訊設(shè)備獲取其接收的基于RTP的數(shù)據(jù)報文承載的RTP層的時間戳信息;根據(jù)所述數(shù)據(jù)通訊設(shè)備對RTP數(shù)據(jù)報文的打包時長確定所述時間戳信息對應(yīng)的隨機值。
6.如權(quán)利要求4所述的一種基于RTP的數(shù)據(jù)報文傳輸?shù)膶崿F(xiàn)方法,其特征在于所述隨機值為隨機時間戳初始值或時間戳信息以所述打包時長為除數(shù)的余數(shù)。
7.如權(quán)利要求4或5或6所述的一種基于RTP的數(shù)據(jù)報文傳輸?shù)膶崿F(xiàn)方法,其特征在于所述步驟b具體為根據(jù)所述隨機值的哈希運算值確定數(shù)據(jù)報文傳輸端口。
8.如權(quán)利要求7所述的一種基于RTP的數(shù)據(jù)報文傳輸?shù)膶崿F(xiàn)方法,其特征在于所述步驟b具體為確定所述隨機值的哈希運算值;確定所述哈希運算值以所述數(shù)據(jù)通訊設(shè)備的端口數(shù)為除數(shù)的余數(shù);根據(jù)所述余數(shù)確定數(shù)據(jù)報文的傳輸端口。
9.如權(quán)利要求1所述的一種基于RTP的數(shù)據(jù)報文傳輸?shù)膶崿F(xiàn)方法,其特征在于所述方法還包括所述數(shù)據(jù)通訊設(shè)備根據(jù)其端口順序?qū)⒔邮盏幕赗TP的數(shù)據(jù)報文依次傳輸。
10.如權(quán)利要求1所述的一種基于RTP的數(shù)據(jù)報文傳輸?shù)膶崿F(xiàn)方法,其特征在于所述方法還包括所述數(shù)據(jù)通訊設(shè)備根據(jù)其端口順序?qū)⒔邮盏幕趯崟r傳輸控制協(xié)議的數(shù)據(jù)報文依次傳輸。
全文摘要
本發(fā)明提供一種基于RTP的數(shù)據(jù)報文傳輸?shù)膶崿F(xiàn)方法,其核心為數(shù)據(jù)通訊設(shè)備根據(jù)接收的基于實時傳輸協(xié)議RTP的數(shù)據(jù)報文中承載的信息確定隨機值,根據(jù)所述隨機值確定數(shù)據(jù)報文傳輸?shù)亩丝冢鶕?jù)所述端口傳輸所述數(shù)據(jù)報文。本發(fā)明利用RTP數(shù)據(jù)報文中承載的信息對應(yīng)的隨機值來確定數(shù)據(jù)報文的物理傳輸端口,使數(shù)據(jù)通訊設(shè)備中的各端口得到均勻使用,尤其在數(shù)據(jù)通訊設(shè)備使用多個物理端口捆綁成為的邏輯端口進行數(shù)據(jù)傳輸時,使邏輯端口的帶寬資源得到充分利用;本發(fā)明有效的保證了RTP數(shù)據(jù)報文的有序傳輸;從而實現(xiàn)了提高網(wǎng)絡(luò)帶寬的使用率,節(jié)約網(wǎng)絡(luò)帶寬資源的目的。
文檔編號H04L29/06GK1764153SQ20041008650
公開日2006年4月26日 申請日期2004年10月22日 優(yōu)先權(quán)日2004年10月22日
發(fā)明者馬云, 郭 東, 陳誠 申請人:華為技術(shù)有限公司