下一代網絡業務穿越網絡地址轉換設備/防火牆的方法
2023-07-22 11:07:21 3
專利名稱:下一代網絡業務穿越網絡地址轉換設備/防火牆的方法
技術領域:
本發明屬於網絡通信技術領域,尤其涉及下一代網絡(NGN)業務穿越網絡地址轉換(NAT)設備或/和防火牆的方法,其中,NAT設備和/或防火牆在本發明中簡寫為NAT設備/防火牆。
背景技術:
隨著網際協議(IP)網絡的蓬勃發展,迫切需要在IP網絡上發展更多種類的寬帶業務,為了適應這一需要提出了NGN。NGN是集話音、數據、傳真和視頻業務於一體的全新的、融合的網絡,該網絡採用分層開放式的網絡框架,各層之間通過明確、標準的功能接口進行通信,通信所採用的協議通常包括H.323、SIP、MGCP和H.248協議。
在NGN的實際應用中,由於網絡中的地址數量有限,因此,通常在例如企業網的區域網出口部署NAT設備/防火牆,用以將區域網內的地址和埠號與外部網絡的地址和埠號進行相互轉換,從而解決網絡地址數量有限所帶來的問題。但這些NAT設備/防火牆通常不支持H.323、SIP、MGCP、H.248等協議,因此造成了NGN業務難於通過NAT設備/防火牆接入區域網,從而為在這些區域網上開展NGN業務帶來困難。現有技術中,可採用兩種方法解決該問題一種方法是通過對NAT設備/防火牆進行升級,使其支持H.323、SIP、MGCP、H.248等協議,從而使得NGN業務得以通過升級之後的NAT設備/防火牆進入區域網;另一種方法則並不對現有的NAT設備/防火牆進行升級,而是採用代理技術實現NGN業務對NAT設備/防火牆的穿越。
參見圖1,在採用代理技術實現NGN業務穿越NAT設備/防火牆時,在IP骨幹網上設置一個代理,通過該代理實現對於H.323、SIP或者H.248等協議的信令和媒體流的代理功能。參見圖1,該代理可以由信令代理和媒體代理組成,下面分別對信令代理和媒體代理的實現功能加以介紹信令代理完成NGN終端之間的信令代理功能,代理NGN中的軟交換(SoftSwitch)設備完成呼叫控制功能,從防火牆/NAT設備內部的NGN終端來看,該信令代理相當於IP骨幹網中的SoftSwitch設備,而對於IP骨幹網中的SoftSwitch設備來說,該信令代理為防火牆/NAT設備內部的NGN終端代理完成終端發起和接收呼叫的功能;從SoftSwitch設備來看,該信令代理就相當於防火牆/NAT設備內部的NGN終端。
媒體代理完成語音、視頻等媒體流的代理功能,在兩個NGN終端之間完成媒體流中繼功能,在兩個NGN終端通過IP骨幹網發送和接收媒體流時,首先將媒體流發送給媒體代理,然後由媒體代理將該媒體流發送給另一個NGN終端,對於圖1中所示防火牆/NAT設備內部的NGN終端來說,該媒體代理相當於網絡中的另一個NGN終端。
採用此種代理技術,雖然能夠實現NGN業務穿越NAT設備/防火牆,但是仍然具有如下缺點(1)、採用該種代理技術實現NGN業務穿越NAT設備/防火牆,需要NGN終端設備中用於傳輸媒體流的實時傳輸協議(RTP)接收埠和RTP發送埠為同一埠,而當前所採用的NGN終端並不都滿足這項要求;其中,該項代理技術要求NGN終端上的RTP接收埠和RTP發送埠為同一埠的原因在於按照協議的規定,對於NGN的一個呼叫來說,呼叫雙方所建立的用於傳輸媒體流的通道是單向的,也就是說,在NGN終端間傳輸媒體流時,需要建立兩個RTP通道,一個為只用於發送媒體流的發送RTP通道,另一個為只用於接收媒體流的接收RTP通道,在NGN終端的RTP發送埠與RTP接收埠一致的情況下,在防火牆/NAT設備上與發送RTP通道和接收RTP通道相對應的發送和接收會話連接也是相同的,在此情況下,NGN終端在發送RTP通道上發送一個報文後,防火牆/NAT設備就會打開發送RTP通道的會話連接,於是,也就相當於同時打開了接收RTP通道的會話連接,這樣,NGN終端間就可以利用接通的發送RTP通道和接收RTP通道傳輸媒體流,從而實現NGN業務穿越NAT設備/防火牆;但是,如果NGN終端的RTP發送埠與RTP接收埠不一致,那麼在NAT設備/防火牆上的發送RTP通道和接收RTP通道的會話連接就會不同,在採用該現有代理技術的情況下,NGN終端在利用發送RTP通道發送報文時,相應地只能在防火牆/NAT設備上打開發送RTP通道的會話連接,而接收RTP通道的會話連接則仍處於關閉狀態,這樣,就不能利用接收RTP通道接收媒體流,從而無法完成NGN業務穿越NAT設備/防火牆;(2)、根據防火牆/NAT設備所設置的限制,只有從相對於該防火牆/NAT設備的內部網絡中所發送的報文才能打開防火牆/NAT設備上的會話連接,而對於一些例如實現查詢業務的NGN終端來說,其被配置為只需接收報文而無需發送報文,因此,這些NGN終端無法通過發送報文打開防火牆/NAT設備上的會話連接,從而造成該現有代理技術無法應用,NGN業務也就因此無法穿越防火牆/NAT設備;(3)、由於在採用該代理技術的過程中,設置於IP骨幹網上的代理需要學習經過防火牆/NAT設備後的RTP流的IP位址和埠號,而惡意用戶可能在該過程中對代理進行攻擊,利用假冒的IP位址欺騙報文使得代理學習到錯誤的IP位址和埠號,因此,採用此種代理技術實現NGN業務穿越防火牆/NAT設備,容易受到IP位址欺騙的攻擊,安全性能差。
發明內容
有鑑於此,本發明的主要目的在於提供一種NGN業務穿越防火牆/NAT設備的方法,該方法的應用可以使得RTP發送埠與RTP接收埠不一致的NGN終端能夠實現NGN業務穿越防火牆/NAT設備,並且,本發明還能解決對於無發送報文能力的NGN終端實現NGN業務穿越防火牆/NAT設備的方法。
本發明為一種下一代網絡NGN業務穿越網絡地址轉換NAT設備/防火牆的方法,其特徵在於,在防火牆/NAT設備內側用戶網絡中增加穿越客戶機TraverseClient,在骨幹網上增加穿越伺服器Traverse Server,Traverse Client與TraverseServer之間通過防火牆/NAT設備上所開放的埠建立通信連接,該方法實現NGN業務穿越NAT設備/防火牆具體包括以下步驟A、Traverse Server自骨幹網代理設備中的信令代理上獲得至少包括通信雙方網際協議IP位址、實時傳輸協議RTP發送埠號和RTP接收埠號的信息;B、Traverse Server將步驟A中所獲得的信息發送給Traverse Client設備;C、Traverse Client根據所獲得的信息,模擬防火牆/NAT設備內側用戶網絡中的NGN終端,在該NGN終端的發送RTP埠上和接收RTP埠上發送報文至防火牆/NAT設備;D、防火牆/NAT設備收到步驟C所述的報文後,分別打開發送RTP通道的會話連接和接收RIP通道的會話連接,同時,防火牆/NAT設備在對所收到的報文進行地址轉換後,將這些報文發送到骨幹網上的媒體代理;E、媒體代理收到步驟D中所發送來的報文,從這些報文中獲得進行地址轉換後的地址信息,其中,該地址信息至少包括IP位址、RTP發送埠號和RTP接收埠號,通信雙方利用媒體代理,在已經打開會話連接的發送RTP通道和接收RTP通道上傳輸NGN數據。
其中,步驟C包括Traverse Client將所述NGN終端的IP位址作為所述報文的源IP位址,將由信令代理所確定的發送RTP埠作為所述報文的源埠地址,Traverse Client將該報文發送給所述防火牆/NAT設備;和Traverse Client將所述NGN終端的IP位址作為所述報文的源IP位址,將由信令代理所確定的接收RTP埠作為所述報文的源埠地址,Traverse Client將該報文發送給所述防火牆/NAT設備。
其中,當步驟C中所述NGN終端的發送RTP埠和接收RTP埠為同一埠時,步驟C包括Traverse Client將所述NGN終端的IP位址作為所述報文的源IP位址,將所述的同一埠作為所述報文的源埠地址,Traverse Client將該報文發送給所述防火牆/NAT設備。
其中,所述Traverse Client與Traverse Server之間通過防火牆/NAT設備上所開放的埠建立通信連接包括Traverse Client與Traverse Server之間採用相互認證、通信數據加密的方式建立所述通信連接。
其中,步驟E中所述媒體收到報文進一步包括媒體代理對接收到的報文進行驗證,驗證通過後執行所述從這些報文中獲得地址信息的步驟。
其中,步驟B進一步包括Traverse Server向Traverse Client發送密鑰,並同時將該密鑰發送給媒體代理,步驟C進一步包括在所述報文中添加所述密鑰,步驟E中所述媒體代理收到報文進一步包括媒體代理根據所得到的密鑰對所述報文進行解密。
其中,所述RTP通道為RTP數據通道和/或RTP控制通道。
其中,所述增加Traverse Client為將以軟體模塊實現的Traverse Client運行於所述防火牆/NAT設備內部的通信設備上。
其中,所述增加Traverse Client為將以獨立設備實現的Traverse Client增加於防火牆/NAT設備內側的用戶網絡中。
其中,所述增加Traverse Server為將以獨立設備實現的Traverse Server增加在所述骨幹網中。
其中,所述增加Traverse Server為將所述Traverse Server與骨幹網上的信令代理和/或媒體代理集成在一起。
其中,所述增加Traverse Client和Traverse Server進一步包括增加多個所述Traverse Client和Traverse Server,各個Traverse Client之間以及各個Traverse Server之間相互備份。
可見,由於本發明新增加兩個穿越部件用以協助現有技術的代理部件共同完成代理,從而可以實現NGN業務穿越防火牆/NAT設備,該種方法不要求NGN終端的RTP發送埠和RTP接收埠相一致,並且使得對於被配置為只需接收報文的NGN終端也可實現NGN業務穿越防火牆/NAT設備,並且,由於本發明能夠提供認證和加密機制,以及本發明在傳輸報文時所具有難於被攻擊者盜用信息的特點,本發明還具有安全性高的特點。
圖1為採用現有代理技術實現NGN業務穿越防火牆/NAT設備的組網示意圖。
圖2為採用本發明代理技術實現NGN業務穿越防火牆/NAT設備的組網示意圖。
圖3為本發明實現NGN業務穿越防火牆/NAT設備的流程圖。
具體實施例方式
本發明為一種NGN業務穿越NAT設備/防火牆的方法,該方法在現有代理技術的基礎上,新增加兩個用以進行代理的穿越部件,使用新增的穿越部件實現NGN業務穿越NAT設備/防火牆。
在NGN中,NGN終端之間採用RTP通道進行通信,該RTP通道分為兩種類型,一種為RTP數據通道,用於傳輸NGN業務中的數據或媒體流,另一種為RTP控制通道(RTCP通道),該RTCP通道用於對RTP數據通道進行監控,以保證RTP數據通道傳輸數據的質量;在NGN終端之間建立RTP數據通道的同時會建立相應的RTCP通道,RTCP通道同與之對應的RTP數據通道存在對應關係,根據該對應關係,可以利用RTP數據通道的IP位址和埠號確定相應的RTCP通道的IP位址和埠號。以下具體實施例只針對RTP數據通道進行描述,本發明所述的方法也同樣適用於RTCP通道。
下面結合附圖對本發明進行詳細說明。
參見圖2,在現有技術所述的代理技術基礎之上,本發明在IP骨幹網中再設置一個穿越伺服器(Traverse Server)部件,在防火牆/NAT設備內部的網絡中再設置一個穿越客戶端(Traverse Client)部件,Traverse Server與Traverse Client之間通過防火牆/NAT設備進行通信,其通信方式可以採用特定TCP埠通信或UDP埠通信,防火牆/NAT設備上開放Traverse Server與Traverse Client之間進行通信的埠,以使得兩者的通信不會受到防火牆/NAT設備的影響。
在本發明中,Traverse Server可以是獨立設備,與信令代理和媒體代理採用某種協議進行通信,或者,Traverse Server也可與信令代理或媒體代理實現在一起;Traverse Client可以作為一個軟體模塊,運行在PC機或者工作站上,也可以作為一個獨立設備提供;為了提高可靠性,在實際組網中可以部署多個Traverse Server和Traverse Client,各個Traverse Server之間以及各個Traverse Client之間互相備份,以提高組網的可靠性,在採取上述備份時,信令代理配置選取相互備份的Traverse Server中的一個作為主用,其餘的Traverse Server作為備用,當主用Traverse Server出現故障時,選取另一個備用Traverse Server作為主用;在各個相互備份的Traverse Client中,通過配置確定一個主用Traverse Client,其餘的Traverse Client作為備用,一個備用Traverse Client對主用Traverse Client的工作狀態進行監視,當發現主用Traverse Client出現故障時,該備用Traverse Client向主用TraverseServer發起連接,用以充當主用Traverse Client。
採用圖2所示的組網方式,本發明可以通過圖3所示步驟實現NGN業務穿越NAT設備/防火牆
步驟301IP骨幹網上的信令代理利用信令代理功能獲得防火牆/NAT設備內側和外側的通訊雙方NGN終端的IP位址、NGN終端協商出的RTP埠號,並且,信令代理為媒體代理動態分配本次呼叫在媒體代理上進行傳輸時的IP位址和埠號,然後Traverse Server從信令代理得到上述信令代理已經獲得的信息,該信息至少包括IP位址、發送RTP埠號和接收RTP埠號;其中,在該步驟中,信令代理能夠根據所獲得的IP位址、埠號以及協議號,利用信令代理功能確定雙方的發送和接收RTP的連接;步驟302Traverse Server將步驟301所獲得的通信雙方的IP位址、埠號發送給企業網上的Traverse Client;步驟303Traverse Client根據所得到的通信雙方的IP位址、埠號以及協議號,模擬企業網內部的NGN終端,在發送RTP埠上和接收RTP埠上分別向防火牆/NAT設備發送報文,防火牆/NAT設備收到這兩個報文後,分別打開與這兩個報文相對應的發送RTP通道的會話連接和接收RTP通道的會話連接,然後,防火牆/NAT設備對這兩個報文中企業網的IP位址和埠號與外部網絡的地址和埠號進行相互轉換,將這兩個報文發送到媒體代理;其中,本步驟中Traverse Client模擬企業網上的NGN終端在發送RTP埠上和接收RTP埠上發送報文的具體實現方法為Traverse Client將企業網中的NGN終端的IP位址填入所發送的用戶數據報協議(UDP)報文的源IP位址項中,將Traverse Server傳輸來的該NGN終端的發送RTP埠或接收RTP埠填入所分別發送的UDP報文的源埠號中,這樣,Traverse Client所發送的UDP報文在發送過程中,其源IP位址就為企業網NGN終端的IP位址,其源埠號就為信令代理所確定的企業網NGN終端的發送RTP埠或接收RTP埠,以此方式實現了所述的模擬NGN終端發送報文過程;其中,本步驟所發送的報文的目的地址和埠號是信令代理為這次呼叫所分配的媒體代理上的一個IP位址和埠號,該IP位址和埠號由Traverse Server在步驟302中傳輸給Traverse Client;
其中,在本發明的其它實施例中,NGN終端的發送RTP埠和接收RTP埠可以為同一埠,在此種情況下,Traverse Client只需按照上述方法構造一個UDP報文發送到防火牆/NAT設備即可,該UDP報文的源IP位址為防火牆/NAT設備內側的NGN終端的IP位址,其源埠號就為NGN終端上所述的同一埠;步驟304媒體代理收到步驟303所發送的兩個報文後,從這兩個報文中得到在經過NAT設備/防火牆進行地址轉換之後的企業網中的終端IP位址和RTP接收和發送埠號;媒體代理得到該IP位址和埠號之後,就可以使得企業網中的NGN終端與另一NGN終端通過發送RTP通道和接收RTP通道傳輸媒體流,從而實現NGN業務穿越防火牆/NAT設備。
在本發明中,出於安全性的考慮,Traverse Server與Traverse Client在建立連接時可以採用高安全性的認證方式,在數據傳輸時採用數據加密的方式,其中,認證方式可以採用現有技術中的MD5或者SHA-1認證方式,數據加密可以採用DES或3DES算法;其中,MD5和SHA-1是IP網絡中通用的認證方式,用於需要通信雙方互相認證,DES和3DES是通用加密算法,用於IP網絡中對稱方式加密。另外,同樣出於安全性的考慮,在TraverseClient向媒體代理髮送數據報文時,也可採用認證加密方式,在本發明實施例中的具體實現方法為在Traverse Server向Traverse Client發送IP位址、埠號以及協議號時,同時攜帶一個密鑰和需要被加密的數據,Traverse Server同時將該密鑰以及需要被加密的數據告訴給媒體代理,Traverse Client在向媒體代理髮送數據時對發送報文的數據部分利用該密鑰進行加密,而媒體代理則根據得到的密鑰對接收到的報文的數據部分進行解密,從而可以對數據部分進行驗證;採用此種方式,可以更好地防止可能出現的IP位址欺騙情況。
以上所述僅為本發明的較佳實施例而已,並不用以限制本發明,凡在本發明的精神和原則之內,所作的任何修改、等同替換、改進等,均應包含在本發明的保護範圍之內。
權利要求
1.一種下一代網絡NGN業務穿越網絡地址轉換NAT設備/防火牆的方法,其特徵在於,在防火牆/NAT設備內側用戶網絡中增加穿越客戶機TraverseClient,在骨幹網上增加穿越伺服器Traverse Server,Traverse Client與TraverseServer之間通過防火牆/NAT設備上所開放的埠建立通信連接,該方法實現NGN業務穿越NAT設備/防火牆具體包括以下步驟A、Traverse Server自骨幹網代理設備中的信令代理上獲得至少包括通信雙方網際協議IP位址、實時傳輸協議RTP發送埠號和RTP接收埠號的信息;B、Traverse Server將步驟A中所獲得的信息發送給Traverse Client設備;C、Traverse Client根據所獲得的信息,模擬防火牆/NAT設備內側用戶網絡中的NGN終端,在該NGN終端的發送RTP埠上和接收RTP埠上發送報文至防火牆/NAT設備;D、防火牆/NAT設備收到步驟C所述的報文後,分別打開發送RTP通道的會話連接和接收RTP通道的會話連接,同時,防火牆/NAT設備在對所收到的報文進行地址轉換後,將這些報文發送到骨幹網上的媒體代理;E、媒體代理收到步驟D中所發送來的報文,從這些報文中獲得進行地址轉換後的地址信息,其中,該地址信息至少包括IP位址、RTP發送埠號和RTP接收埠號,通信雙方利用媒體代理,在已經打開會話連接的發送RTP通道和接收RTP通道上傳輸NGN數據。
2.根據權利要求1所述的方法,其特徵在於,步驟C包括Traverse Client將所述NGN終端的IP位址作為所述報文的源IP位址,將由信令代理所確定的發送RTP埠作為所述報文的源埠地址,Traverse Client將該報文發送給所述防火牆/NAT設備;和Traverse Client將所述NGN終端的IP位址作為所述報文的源IP位址,將由信令代理所確定的接收RTP埠作為所述報文的源埠地址,Traverse Client將該報文發送給所述防火牆/NAT設備。
3.根據權利要求1所述的方法,其特徵在於當步驟C中所述NGN終端的發送RTP埠和接收RTP埠為同一埠時,步驟C包括Traverse Client將所述NGN終端的IP位址作為所述報文的源IP位址,將所述的同一埠作為所述報文的源埠地址,Traverse Client將該報文發送給所述防火牆/NAT設備。
4.根據權利要求1所述的方法,其特徵在於所述Traverse Client與TraverseServer之間通過防火牆/NAT設備上所開放的埠建立通信連接包括Traverse Client與Traverse Server之間採用相互認證、通信數據加密的方式建立所述通信連接。
5.根據權利要求1所述的方法,其特徵在於步驟E中所述媒體收到報文進一步包括媒體代理對接收到的報文進行驗證,驗證通過後執行所述從這些報文中獲得地址信息的步驟。
6.根據權利要求1所述的方法,其特徵在於,步驟B進一步包括TraverseServer向Traverse Client發送密鑰,並同時將該密鑰發送給媒體代理,步驟C進一步包括在所述報文中添加所述密鑰,步驟E中所述媒體代理收到報文進一步包括媒體代理根據所得到的密鑰對所述報文進行解密。
7.根據權利要求1所述的方法,其特徵在於所述RTP通道為RTP數據通道和/或RTP控制通道。
8.根據權利要求1所述的方法,其特徵在於所述增加Traverse Client為將以軟體模塊實現的Traverse Client運行於所述防火牆/NAT設備內部的通信設備上。
9.根據權利要求1所述的方法,其特徵在於所述增加Traverse Client為將以獨立設備實現的Traverse Client增加於防火牆/NAT設備內側的用戶網絡中。
10.根據權利要求1所述的方法,其特徵在於所述增加Traverse Server為將以獨立設備實現的Traverse Server增加在所述骨幹網中。
11.根據權利要求1所述的方法,其特徵在於所述增加Traverse Server為將所述Traverse Server與骨幹網上的信令代理和/或媒體代理集成在一起。
12.根據權利要求1所述的方法,其特徵在於所述增加Traverse Client和Traverse Server進一步包括增加多個所述Traverse Client和Traverse Server,各個Traverse Client之間以及各個Traverse Server之間相互備份。
全文摘要
本發明公開了一種下一代網絡NGN業務穿越網絡地址轉換NAT設備/防火牆的方法,該方法在防火牆/NAT設備內側用戶網絡中增加穿越客戶機Traverse Client,在骨幹網上增加穿越伺服器Traverse Server,Traverse Client與Traverse Server之間通過防火牆/NAT設備上所開放的埠建立通信連接,Traverse Server自骨幹網的信令代理上獲得通信雙方至少包括IP位址和埠號的信息,然後將該信息傳輸給防火牆/NAT設備內側用戶網絡中的Traverse Client,Traverse Client根據所收到的信息,模擬NGN終端在該終端的RTP發送埠和RTP接收埠上發送報文,打開防火牆/NAT設備上的會話連接,從而接通防火牆/NAT設備內側用戶網絡上的NGN終端與媒體代理之間的RTP通道。
文檔編號H04L29/06GK1606304SQ20031010052
公開日2005年4月13日 申請日期2003年10月10日 優先權日2003年10月10日
發明者王世宏 申請人:華為技術有限公司