專利名稱:一種h248協(xié)議穿越nat設(shè)備的實現(xiàn)方法
技術(shù)領(lǐng)域:
本發(fā)明涉及數(shù)據(jù)通信領(lǐng)域,特別涉及一種NGN網(wǎng)絡(luò)業(yè)務(wù)通過H248協(xié)議穿 越NAT設(shè)備的實現(xiàn)方法。
背景技術(shù):
目前,NGN (Next Generation Network)網(wǎng)絡(luò)正逐步從試驗走向商用。其 原因在于NGN網(wǎng)絡(luò)能為用戶提供豐富的業(yè)務(wù),特別是為企業(yè)用戶提供語音、數(shù) 據(jù)、視頻融合的IP Centrex業(yè)務(wù)。然而,在實際應(yīng)用過程中出現(xiàn)了很多實際問題,特別是NGN用戶的接入問 題。NGN是基于分組網(wǎng)承載的網(wǎng)絡(luò),接入用戶是通過IPv4地址來尋址的,由于 當前IPv4地址緊缺以及網(wǎng)絡(luò)缺乏安全等原因,大量的企業(yè)網(wǎng)和駐地網(wǎng)基本都 采用私有IP地址通過出口的NAT/FW接入公網(wǎng)。而目前NGN網(wǎng)絡(luò)中,如H. 248在IP上承載語音和視頻的協(xié)議的控制通道 或媒體通道在私網(wǎng)用戶接入應(yīng)用中難以穿越傳統(tǒng)的NAT設(shè)備與公網(wǎng)進行互通, 或者說目前的NAT大多支持HTTP的數(shù)據(jù)應(yīng)用協(xié)議穿越,而無法支持會話業(yè)務(wù) 的控制與媒體NAT穿越。當然目前解決NAT穿透問題的方案主要有以下幾種①MidCom (Middlebox Communications ) 方式,采用可信的第三方(MidC。m Agent )識別應(yīng)用業(yè)務(wù),對 Middlebox (NAT)進行控制的機制;②STUN方式,其原理是在私網(wǎng)中的設(shè)備通 過置于外網(wǎng)的STUN服務(wù)器預(yù)先得到NAT/FW給自己分配的外網(wǎng)地址和端口 ; ③TURN方式,原理是利用外網(wǎng)TURN Server來轉(zhuǎn)發(fā)信令和媒體流;這些方案 大都需要部署穿越服務(wù)器或?qū)υO(shè)備進行升級,代價高昂;而且都存在著一定的 局限性,在實際應(yīng)用中難以統(tǒng)一推廣。而在具體的應(yīng)用環(huán)境中,通常是只部署 一種應(yīng)用、使用某一種協(xié)議的情形,這時針對一種協(xié)議的簡單、廉價、高效的 解決方案顯然要勝過臃腫、低效的通用方案。本發(fā)明討論的是適用H248協(xié)議的NAT穿越的專用方案NAT/ALG方式,其原理是在普通的NAT上增添對H248信令應(yīng)用層的處理。
發(fā)明內(nèi)容
本發(fā)明的目的是提供一種H248協(xié)議穿越NAT設(shè)備的實現(xiàn)方法,以解決H248 協(xié)議在IP上承載語音和視頻的協(xié)議的控制通道或媒體通道在私網(wǎng)用戶接入應(yīng) 用中難以穿越傳統(tǒng)的NAT設(shè)備與公網(wǎng)進行互通的問題,并創(chuàng)新的采用關(guān)鍵字匹 配替換的方法,不需要NAT設(shè)備支持H248協(xié)議棧,不需要對H248協(xié)議棧進行 解編碼,極大的提高了報文穿越的性能。為了實現(xiàn)上述發(fā)明目的,本發(fā)明采用如下技術(shù)方案一種H248協(xié)議穿越NAT設(shè)備的實現(xiàn)方法,其特征在于,在利用NAT設(shè)備 連接內(nèi)網(wǎng)與外網(wǎng)的互聯(lián)網(wǎng)環(huán)境下,MG設(shè)備與MGC之間通過H248協(xié)議進行信令 交互,同時使箱內(nèi)網(wǎng)MG之間及內(nèi)網(wǎng)與公網(wǎng)MG之間的透明互通;當然,所述方 法還包括如下步驟A. 采用NAT任務(wù)監(jiān)聽IP層的IPv4報文, 一旦接收到H. 248的信令報文, NAT任務(wù)調(diào)用H248 ALG服務(wù)程序,并將IPv4報文信息提交給NAT H248 ALG 流程處理;B. NAT H248 ALG根據(jù)H248協(xié)議關(guān)鍵字匹配,在報文數(shù)據(jù)中搜索到需要替 換的IPv4地址和傳輸層端口號,并確定其相對位置;C. 根據(jù)步驟B搜索到的IPv4地址和端口號創(chuàng)建新的NAT表項,后續(xù)的媒 體數(shù)據(jù)流RTP/RTCP將根據(jù)這些NAT表項而得到正確的翻譯。上述方法中,所述步驟B包括H248 ALG服務(wù)程序根據(jù)特征關(guān)鍵字搜索報 文中包含的內(nèi)網(wǎng)的信令地址、RTP地址和端口號,并確定其在報文的位置。 上述方法中,所述步驟C包括H248 ALG服務(wù)程序根據(jù)搜索到的RTP地址和端口號,NAT創(chuàng)建新的 RTP/RTCP轉(zhuǎn)換表項;根據(jù)NAT分配的公網(wǎng)地址,替換報文中原有的私網(wǎng)地址, 退回到NAT任務(wù),并返回相關(guān)信息;NAT任務(wù)根據(jù)H248ALG服務(wù)程序返回的信 息,調(diào)整IP/TCP/UDP/SCTP頭部信息,然后交給IP,轉(zhuǎn)發(fā)報文。上述發(fā)明的有益效果為1、 由于NAT/FW設(shè)備不需要支持H248協(xié)議桟,不需要對H248協(xié)議棧進行 編解碼操作,極大的提高了報文的轉(zhuǎn)發(fā)率,且占用系統(tǒng)資源少。對比傳統(tǒng)的ALG 方式,包轉(zhuǎn)發(fā)率提高近2倍,內(nèi)存資源占有率減少30%。2、 支持NAT內(nèi)網(wǎng)私服功能。H248協(xié)議是平臺(MGC)側(cè)集中控制,所有的 控制信令交互都產(chǎn)生在軟交換平臺(MGC)與MG之間,而通訊的MG雙方無信令 交互,只存在媒體流。這樣造成如圖3所示的內(nèi)網(wǎng)MG之間通信十分不便,如 果內(nèi)網(wǎng)MG都利用公網(wǎng)地址注冊到公網(wǎng)上的MGC,雖然信令交互可以暢通,但 MG之間的媒體流無法互通;如果內(nèi)網(wǎng)MG注冊到內(nèi)網(wǎng)MGC上,內(nèi)網(wǎng)互通沒有問 題,但又無法和公網(wǎng)互通。由于我們利用配置簡單的NAT的私服功能,可以讓 只有公網(wǎng)MGC的情況下,既可讓內(nèi)網(wǎng)MG之間互通,又可跨越NAT和公網(wǎng)MG互 通,明顯簡化了網(wǎng)絡(luò)拓撲結(jié)構(gòu),方便了用戶的使用。3、 動態(tài)創(chuàng)建NAT表項以適應(yīng)媒體設(shè)備的變化,較為明顯的簡化了網(wǎng)絡(luò)的 配置任務(wù)。
以下結(jié)合附圖和具體實施方式
來進一步說明本發(fā)明。
圖1為本發(fā)明在實施例中的方法流程圖。圖2為本發(fā)明方法中H. 248穿越NAT的私服功能實現(xiàn)流程圖。圖3為本發(fā)明方法在實施過程中的網(wǎng)絡(luò)運行結(jié)構(gòu)圖。
具體實施例方式為了使本發(fā)明實現(xiàn)的技術(shù)手段、創(chuàng)作特征、達成目的與功效易于明白了解, 下面結(jié)合具體圖示,進一步闡述本發(fā)明。根據(jù)上述所言,本發(fā)明所述的一種H248協(xié)議穿越NAT設(shè)備的實現(xiàn)方法, 該方法針對大多數(shù)H248ALG采用H248編解碼方式修改報文負載內(nèi)容,以及采 用靜態(tài)配置NAT規(guī)則可能出現(xiàn)的性能低下以及配置復(fù)雜的問題,可以高效的修 改報文內(nèi)容、自動生成轉(zhuǎn)換表項,減輕配置任務(wù)。該方法的網(wǎng)絡(luò)運行結(jié)構(gòu)如圖3所示,需要達到的網(wǎng)絡(luò)運行要求是可以讓 只有公網(wǎng)MGC的情況下,既可讓內(nèi)網(wǎng)MG之間互通,又可跨越NAT和公網(wǎng)MG互通,且內(nèi)網(wǎng)MG之間的媒體流只在內(nèi)網(wǎng)傳輸。 參見圖l,該方法具體包括如下步驟① 采用NAT任務(wù)監(jiān)聽路由器轉(zhuǎn)發(fā)的IPv4報文,收到偵聽端口號為H248信 令的報文;② NAT任務(wù)調(diào)用H248 ALG服務(wù)程序,并將IPv4報文信息傳入;③ H248 ALG服務(wù)程序根據(jù)特征關(guān)鍵字搜索報文中包含的內(nèi)網(wǎng)的信令地址、 RTP地址和端口號,并確定其在報文的位置;④ H248 ALG服務(wù)程序根據(jù)搜索到的RTP地址和端口號,NAT創(chuàng)建新的 RTP/RTCP轉(zhuǎn)換表項;⑤ 根據(jù)NAT分配的公網(wǎng)地址,替換報文中原有的私網(wǎng)地址,退回到NAT任 務(wù),并返回相關(guān)信息;⑥ NAT任務(wù)根據(jù)H248ALG服務(wù)程序返回的信息,調(diào)整IP/TCP/UDP/SCTP頭 部信息,然后交給IP,轉(zhuǎn)發(fā)報文。另外,參見圖2,本發(fā)明還可以用來實現(xiàn)私服功能,即多個內(nèi)網(wǎng)媒體網(wǎng)關(guān) (MG)利用可配置的單個或者多個公網(wǎng)地址,注冊到位于公網(wǎng)的媒體網(wǎng)關(guān)控制 服務(wù)器(MGC)上,并實現(xiàn)多媒體交流。其實現(xiàn)步驟如下1. 經(jīng)過圖l的流程后,RTP/RTCP轉(zhuǎn)換表項已經(jīng)建立;2. NAT任務(wù)偵聽RTP/RTCP流,如果配置私服功能,則根據(jù)已經(jīng)建立 RTP/RTCP轉(zhuǎn)換表項,轉(zhuǎn)換IPv4包頭的源和目的地址端口信息;3. 將RTP/RTCP流直接從接收端口轉(zhuǎn)發(fā)出去;綜上所言,本發(fā)明中H248穿越NAT的功能實現(xiàn)的具體配置與操作如下所示(1) 路由器接口下配置信令地址 Router—config# interface GigaEthernetO/1 Router一conf ig—g0/l# ip address 172. 16. 20. 1 255. 255. 255. 0(2) 路由器接口下配置媒體數(shù)據(jù)地址 Router_config# interface GigaEtheme10/2 Router一conf ig—g0/2# ip address 172. 16. 21. 1 255. 255. 255. 0(3) 配置H248信令偵聽的TCP/UDP端口號 Router_config# ip nat service h248 udp-port 2944 Router—config# ip nat service h248 tcp-port 2944(4) 打開私服開關(guān),支持內(nèi)網(wǎng)之間的媒體交流Router—configft ip nat service privateservice(5) 信令業(yè)務(wù)流利用NAT的靜態(tài)端口映射規(guī)則翻譯,且利用UDP承載H. 248 信令Router_config# ip nat inside source static udp 172. 16. 20. 223 2944 interface GigaEtherrletO/2 2944(6) 如果使用老式的ISDN電話,則需要配置該規(guī)則Router—config# ip nat inside source static sctp 172.16.20.120 9900 interface GigaEthernetO/2 9900(7) 配置NAPT規(guī)則,動態(tài)創(chuàng)建轉(zhuǎn)換表項Router_config# ip nat inside source list 1 interface GigaEthernetO/2以上顯示和描述了本發(fā)明的基本原理和主要特征和本發(fā)明的優(yōu)點。本行業(yè) 的技術(shù)人員應(yīng)該了解,本發(fā)明不受上述實施例的限制,上述實施例和說明書中 描述的只是說明本發(fā)明的原理,在不脫離本發(fā)明精神和范圍的前提下,本發(fā)明 還會有各種變化和改進,這些變化和改進都落入要求保護的本發(fā)明范圍內(nèi)。本 發(fā)明要求保護范圍由所附的權(quán)利要求書及其等效物界定。
權(quán)利要求
1、一種H248協(xié)議穿越NAT設(shè)備的實現(xiàn)方法,其特征在于,在利用NAT設(shè)備連接內(nèi)網(wǎng)與外網(wǎng)的互聯(lián)網(wǎng)環(huán)境下,MG設(shè)備與MGC之間通過H248協(xié)議進行信令交互,同時使箱內(nèi)網(wǎng)MG之間及內(nèi)網(wǎng)與公網(wǎng)MG之間的透明互通;當然,所述方法還包括如下步驟A.采用NAT任務(wù)監(jiān)聽IP層的IPv4報文,一旦接收到H.248的信令報文,NAT任務(wù)調(diào)用H248 ALG服務(wù)程序,并將IPv4報文信息提交給NAT H248 ALG流程處理;B.NAT H248 ALG根據(jù)H248協(xié)議關(guān)鍵字匹配,在報文數(shù)據(jù)中搜索到需要替換的IPv4地址和傳輸層端口號,并確定其相對位置;C.根據(jù)步驟B搜索到的IPv4地址和端口號創(chuàng)建新的NAT表項,后續(xù)的媒體數(shù)據(jù)流RTP/RTCP將根據(jù)這些NAT表項而得到正確的翻譯。
2、 根據(jù)權(quán)利要求1的NGN網(wǎng)絡(luò)業(yè)務(wù)H248穿越NAT技術(shù)的實現(xiàn)方法,其特 征在于,所述步驟B包括H248ALG服務(wù)程序根據(jù)特征關(guān)鍵字搜索報文中包含 的內(nèi)網(wǎng)的信令地址、RTP地址和端口號,并確定其在報文的位置。
3、 根據(jù)權(quán)利要求1的NGN網(wǎng)絡(luò)業(yè)務(wù)H248穿越NAT技術(shù)的實現(xiàn)方法,其特 征在于,所述步驟C包括H248 ALG服務(wù)程序根據(jù)搜索到的RTP地址和端口號,NAT創(chuàng)建新的 RTP/RTCP轉(zhuǎn)換表項;根據(jù)NAT分配的公網(wǎng)地址,替換報文中原有的私網(wǎng)地址, 退回到NAT任務(wù),并返回相關(guān)信息;NAT任務(wù)根據(jù)H248ALG服務(wù)程序返回的信 息,調(diào)整IP/TCP/UDP/SCTP頭部信息,然后交給IP,轉(zhuǎn)發(fā)報文。
全文摘要
本發(fā)明公開了一種H248協(xié)議穿越NAT設(shè)備的實現(xiàn)方法,該方法采用關(guān)鍵字搜索、匹配方式替換信令報文負載中的內(nèi)網(wǎng)地址信息;然后自動創(chuàng)建NAT設(shè)備上的會話連接,從而接通NAT設(shè)備內(nèi)側(cè)用戶網(wǎng)絡(luò)上的MG/IAD與媒體網(wǎng)關(guān)控制服務(wù)器(MGC)之間的RTP/RTCP通道;最后NAT任務(wù)根據(jù)配置對內(nèi)網(wǎng)的RTP/RTCP報文做出報文轉(zhuǎn)發(fā)路徑抉擇,其一,直接轉(zhuǎn)發(fā)到內(nèi)網(wǎng),實現(xiàn)內(nèi)網(wǎng)媒體網(wǎng)管之間的互通,此時內(nèi)網(wǎng)媒體網(wǎng)關(guān)仍舊使用公網(wǎng)地址,注冊到位于公網(wǎng)的MGC上。其二,轉(zhuǎn)發(fā)到公網(wǎng),實現(xiàn)與公網(wǎng)的媒體網(wǎng)關(guān)的互通。本發(fā)明方法在運用過程中提高了報文的轉(zhuǎn)發(fā)率,占用系統(tǒng)資源少,簡化了配置任務(wù)。
文檔編號H04L12/56GK101335739SQ20071004278
公開日2008年12月31日 申請日期2007年6月27日 優(yōu)先權(quán)日2007年6月27日
發(fā)明者革 汪, 鐘吉林 申請人:上海博達數(shù)據(jù)通信有限公司