專利名稱:多媒體協(xié)議穿越網(wǎng)絡地址轉(zhuǎn)換設(shè)備的實現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及多媒體通訊技術(shù),尤其涉及多媒體協(xié)議穿越網(wǎng)絡地址轉(zhuǎn)換設(shè)備的實現(xiàn)方法。
背景技術(shù):
多媒體通訊協(xié)議都會涉及媒體流(視/音頻流)的傳輸問題,而在IP網(wǎng)絡上傳輸媒體流,使用用戶數(shù)字報協(xié)議(UDP)承載比較合適。因此目前絕大多數(shù)多媒體通訊協(xié)議使用的都是UDP承載媒體流。而UDP是面向無連接的傳輸層協(xié)議,因此網(wǎng)絡地址轉(zhuǎn)換(NAT)設(shè)備無法識別入向UDP包應該轉(zhuǎn)發(fā)到私網(wǎng)內(nèi)哪個終端上,所以由公網(wǎng)發(fā)送到私網(wǎng)的UDP包就會被NAT拒之門外。最終導致多媒體通訊的失敗。
NAT設(shè)備地址轉(zhuǎn)換方式分為靜態(tài)NAT轉(zhuǎn)換、動態(tài)NAT轉(zhuǎn)換和NAPT轉(zhuǎn)換。目前針對前兩種轉(zhuǎn)換方式下多媒體通訊協(xié)議穿越NAT問題已經(jīng)有解決方案靜態(tài)NAT方案和動態(tài)NAT方案。
靜態(tài)NAT方案其實現(xiàn)原理為在NAT上把需要進行多媒體通訊的終端的私網(wǎng)IP地址靜態(tài)映射成公網(wǎng)IP地址,即NAT預先把公網(wǎng)IP地址留給了私網(wǎng)內(nèi)的多媒體終端。
在靜態(tài)NAT方案的基礎(chǔ)上,業(yè)界推出了動態(tài)NAT方案解決方案當有多媒體通訊時(通過知名端口識別,如H.323協(xié)議的呼叫知名端口為1720),NAT動態(tài)的把某個公網(wǎng)IP地址分配給私網(wǎng)內(nèi)進行多媒體通訊的終端,直到多媒體通訊結(jié)束。這種方案較靜態(tài)NAT方案有一定的改進,但仍然不能節(jié)省公網(wǎng)IP地址資源。因為一旦某個公網(wǎng)IP地址被固定分配給某個私網(wǎng)終端了,那么在此終端的多媒體通訊結(jié)束前,其他終端是不能使用此公網(wǎng)IP地址的。
但針對NAPT轉(zhuǎn)換方式下,多媒體通訊協(xié)議穿越NAT問題仍然沒有解決方案。NAT設(shè)備旨在為節(jié)約公網(wǎng)IP地址資源而設(shè)計。但是現(xiàn)有解決方案中卻無法做到私網(wǎng)內(nèi)多個多媒體通訊終端復用一個公網(wǎng)IP地址。這在私網(wǎng)終端(或其他H.323節(jié)點)很多的情況下,勢必造成公網(wǎng)IP地址的浪費,使NAT設(shè)備的主要功能--節(jié)約公網(wǎng)IP地址在多媒體應用的情況下失去意義。
發(fā)明內(nèi)容
本發(fā)明的目的在于提供一種多媒體協(xié)議穿越網(wǎng)絡地址轉(zhuǎn)換設(shè)備的實現(xiàn)方法,以解決現(xiàn)有技術(shù)中在NAPT轉(zhuǎn)換方式下多媒體通訊協(xié)議無法穿越NAT設(shè)備的問題。
為解決上述問題,本發(fā)明提供下述技術(shù)方案一種多媒體協(xié)議穿越網(wǎng)絡地址轉(zhuǎn)換設(shè)備的實現(xiàn)方法,所述網(wǎng)絡地址轉(zhuǎn)換設(shè)備(NAT)使私網(wǎng)終端共用IP地址接入公網(wǎng),該方法包括步驟私網(wǎng)終端向與其連接的公網(wǎng)終端發(fā)送請求消息獲得發(fā)送媒體流的源地址;私網(wǎng)終端將所述發(fā)送媒體流的源地址作為目地址發(fā)送重定向包,其中,該重定向包中的源地址為私網(wǎng)終端的私網(wǎng)IP地址和接收端口號;所述NAT設(shè)備將重定向包中的源地址替換為公網(wǎng)地址后發(fā)送給所述公網(wǎng)終端,并建立替換前該重定向包中的源地址和目的地址與替換后重定向包中的源地址和目的地址的映射關(guān)系;公網(wǎng)終端將所述公網(wǎng)地址作為目的地址發(fā)送媒體流,由所述NAT設(shè)備根據(jù)所述映射關(guān)系將該媒體流中的目的地址映射為所述私網(wǎng)內(nèi)終端的地址。
根據(jù)上述技術(shù)方案私網(wǎng)終端收到公網(wǎng)終端“打開邏輯信道”的信令后在預定時間內(nèi)未收到該公網(wǎng)終端發(fā)送的媒體流時發(fā)送所述請求。
所述的預定時間小于私網(wǎng)終端未收到碼流自動斷開連接的時間。
私網(wǎng)終端定時發(fā)送重定向包以刷新NAT設(shè)備中所述映射關(guān)系的超時時間。
私網(wǎng)終端向與其連接的公網(wǎng)終端發(fā)送請求得到發(fā)送媒體流的源地址時通過協(xié)議消息的擴展字段進行交互。
本發(fā)明在不需要改動防火墻(FW)/NAT設(shè)備的情況下,實現(xiàn)協(xié)議的順利穿越。使用本發(fā)明,用戶無需購買任何新設(shè)備即可實現(xiàn)公網(wǎng)和私網(wǎng)之間的多媒體通訊(如H.323通訊),從而做到既解決多媒體通訊協(xié)議經(jīng)過NAT后通訊失敗問題,又可以做到公用一個公網(wǎng)IP地址,到達節(jié)省公網(wǎng)IP地址的目的。
圖1為實現(xiàn)本發(fā)明的組網(wǎng)示意圖;圖2為本發(fā)明的流程圖。
具體實施例方式
本實施例以多媒體通訊協(xié)議中應用最廣泛的H.323協(xié)議為例對本發(fā)明進行說明。
參閱圖1所示,終端T1和T2為私網(wǎng)內(nèi)H.323終端;終端T3為公網(wǎng)上H.323終端;GK為H.323協(xié)議中的網(wǎng)守(GateKeeper)。
參閱圖2,私網(wǎng)終端T1呼叫公網(wǎng)終端T2過程如下私網(wǎng)終端T1向公網(wǎng)終端T2發(fā)送setup信令;公網(wǎng)終端T2收到私網(wǎng)終端T1發(fā)來的setup后,回應連接(connect)信令給私網(wǎng)終端T1;T1通過connect信令中攜帶的公網(wǎng)終端T2的H.245地址與公網(wǎng)終端T2建立H.245連接,然后T1和T2之間交互H.245信令。
上述過程和H.323標準協(xié)議完全一致,詳細過程可參見“ITU-TH.323建議”。
由于完全按照標準協(xié)議交互,媒體流無法從公網(wǎng)抵達私網(wǎng)終端。本發(fā)明在標準協(xié)議的基礎(chǔ)上,交互一些擴展信息(協(xié)議中沒有規(guī)定的信息)來達到公私網(wǎng)之間終端暢通無阻的目的。擴展信息的交互過程詳細描述如下1、私網(wǎng)終端在收到對端(即與其建立連接的公網(wǎng)終端)發(fā)來的打開邏輯信道請求(Open Logical Channel Ack,OLC Ack)信令后,起動定時器Timer0,定時器的間隔應該小于終端沒有收到碼流自動斷開呼叫的時間,推薦為5s。
如果在Timer0超時的時間內(nèi)收到正確的碼流,停止Timer0。終端收到了碼流,說明主被叫之間不存在不支持H.323協(xié)議的NAT設(shè)備,不需要使用本方法也能正常通訊,因此停止Timer0后的呼叫過程遵循標準h.323協(xié)議,以下步驟不需要進行。
如果在Timer0超時后私網(wǎng)終端T1仍然沒有收到公網(wǎng)終端T2發(fā)來的媒體流,表明主被叫之間存在不支持H.323協(xié)議的NAT設(shè)備,所以需要使用本發(fā)明的方法使媒體流順利穿越NAT設(shè)備,則繼續(xù)步驟2。
2、Timer0超時后,T1通過H.245消息的擴展字段請求該媒體流的源IP地址(即,承載媒體流的UDP包頭的源IP)和源端口(即,承載媒體流的UDP包頭的源端口)。
3、公網(wǎng)側(cè)終端T2收到了私網(wǎng)終端T1發(fā)送來的以上請求后,同樣通過H245消息的擴展字段將本端發(fā)送媒體流的源IP地址和源端口(ip_b,port_b1)通知私網(wǎng)終端。
4、私網(wǎng)的終端收到了對端發(fā)來的攜帶擴展字段的H.245消息后,向?qū)Χ说拿襟w流發(fā)送源地址(ip_b,port_b1)定時發(fā)送重定向包,重定向包定義如下表所示
重定向包在通過防火墻/NAT設(shè)備時,防火墻/NAT將該重定向包中的源地址替換為共用的公網(wǎng)地址,并在防火墻/NAT設(shè)備中建立重定包括替換的源地址和目地址與替換后的源地址和目的地址之間的映射關(guān)系。形成地址映射關(guān)系如下下表所示
其中ip_t和port_t為公網(wǎng)地址。
由于防火墻/NAT設(shè)備中的地址映射關(guān)系有超時時間,所以私網(wǎng)終端T1通過定時發(fā)重定向包以刷新該超時時間,同時也可以保證部分重定向包丟失的情況下,公網(wǎng)側(cè)終端仍然可以收到重定向包。
5、公網(wǎng)側(cè)終端T2在某一路媒體流的發(fā)送地址上(ip_b,port_b1)接收到重定向包后,將該媒體流的發(fā)送的目的地址設(shè)置為從重定向包中取出重定向包的UDP包頭的源IP(ip_t)和源端口(port_t)。于是重定向后公網(wǎng)側(cè)終端T2發(fā)送的媒體流將通過防火墻/NAT設(shè)備的反向地址映射順利抵達私網(wǎng)終端T1。
雖然本實施例以H.323協(xié)議為例對本發(fā)明進行說明,但其他多媒體通訊協(xié)議的呼叫過程與此類似,如SIP協(xié)議,只是具體的信令名稱和字段名稱有所不同,因此本發(fā)明同樣適用于其他多媒體通訊協(xié)議。
權(quán)利要求
1.一種多媒體協(xié)議穿越網(wǎng)絡地址轉(zhuǎn)換設(shè)備的實現(xiàn)方法,所述網(wǎng)絡地址轉(zhuǎn)換設(shè)備(NAT)使私網(wǎng)終端共用IP地址接入公網(wǎng),其特征在于包括步驟私網(wǎng)終端向與其連接的公網(wǎng)終端發(fā)送請求消息獲得發(fā)送媒體流的源地址;私網(wǎng)終端將所述發(fā)送媒體流的源地址作為目地址發(fā)送重定向包,其中,該重定向包中的源地址為私網(wǎng)終端的私網(wǎng)IP地址和接收端口號;所述NAT設(shè)備將重定向包中的源地址替換為公網(wǎng)地址后發(fā)送給所述公網(wǎng)終端,并建立替換前該重定向包中的源地址和目的地址與替換后重定向包中的源地址和目的地址的映射關(guān)系;公網(wǎng)終端將所述公網(wǎng)地址作為目的地址發(fā)送媒體流,由所述NAT設(shè)備根據(jù)所述映射關(guān)系將該媒體流中的目的地址映射為所述私網(wǎng)內(nèi)終端的地址。
2.如權(quán)利要求1所述的方法,其特征在于,私網(wǎng)終端收到公網(wǎng)終端“打開邏輯信道”的信令后在預定時間內(nèi)未收到該公網(wǎng)終端發(fā)送的媒體流時發(fā)送所述請求。
3.如權(quán)利要求2所述的方法,其特征在于,所述的預定時間小于私網(wǎng)終端未收到碼流自動斷開連接的時間。
4.如權(quán)利要求1所述的方法,其特征在于,所述私網(wǎng)終端通過定時發(fā)送重定向包來刷新NAT設(shè)備中所述映射關(guān)系的超時時間。
5.如權(quán)利要求1所述的方法,其特征在于,私網(wǎng)終端向與其連接的公網(wǎng)終端發(fā)送請求消息時采用協(xié)議消息的擴展字段進行交互。
全文摘要
本發(fā)明公開了一種多媒體協(xié)議穿越網(wǎng)絡地址轉(zhuǎn)換設(shè)備的實現(xiàn)方法,該方法為私網(wǎng)終端向與其連接的公網(wǎng)終端發(fā)送請求消息獲得發(fā)送媒體流的源地址;私網(wǎng)終端向所述源地址發(fā)送重定向包,其中,該重定向包中的源地址為私網(wǎng)終端的私網(wǎng)IP地址和接收端口號;由NAT設(shè)備將重定向包中的源地址替換為公網(wǎng)地址后發(fā)送給所述公網(wǎng)終端,并建立替換前該重定向包中的源地址和目的地址與替換后重定向包中的源地址和目的地址的映射關(guān)系;公網(wǎng)終端將所述公網(wǎng)地址作為目的地址發(fā)送媒體流,由所述NAT設(shè)備根據(jù)所述映射關(guān)系將該媒體流中的目的地址映射為所述私網(wǎng)內(nèi)終端的地址。
文檔編號H04L29/12GK1592300SQ0315921
公開日2005年3月9日 申請日期2003年9月2日 優(yōu)先權(quán)日2003年9月2日
發(fā)明者楊澍 申請人:華為技術(shù)有限公司