專利名稱:一種穿越nat的文件傳送方法
技術領域:
本發(fā)明涉及通信領域,具體地說,涉及一種穿越NAT的文件傳送方法。
背景技術:
現(xiàn)有技術中,用戶終端(User Equipment,以下簡稱UE)和IP多媒體 子系統(tǒng)(IP Multimedia Subsystem,以下簡稱IMS)之間的通信需要依靠邊 界控制器(Session Border Controller,以下簡稱SBC)來完成。SBC位于 IMS網(wǎng)絡邊緣,作為IMS核心網(wǎng)的信令代理和媒體代理,用戶終端和IMS 網(wǎng)絡之間的所有信令消息以及用戶終端之間的所有媒體消息都需要經(jīng)過該 設備進行轉接,也就是說SBC同時具備網(wǎng)絡地址轉換(Network Address Translation,以下簡稱NAT)的功能,并且具有轉換SIP信令中的媒體地 址功能,使得實際的媒體層鏈路是UE終端到SBC外網(wǎng)地址建立媒體鏈路。 SBC通過其內網(wǎng)地址與業(yè)務服務器連通,實際的媒體通過SBC在這兩段 鏈路中透傳,以實現(xiàn)UE終端與業(yè)務應用服務器(Application Server,以下 簡稱AS)媒體的連通。
如圖1所示,UE和AS之間通過進行文件傳送的流程如下
步驟101: UE終端A發(fā)起傳送文件請求,攜帶的SDP中是UE終端 A所在機器的IP、端口信息,即外網(wǎng)地址和端口;
步驟102: SBC將UE終端發(fā)出的SDP中的IP/端口信息修改成為內網(wǎng) 地址A,,然后將SDP發(fā)送到AS;
步驟103: AS返回成功接收的信息200, SDP中攜帶AS本身的端口 以及IP信息;
步驟104: SBC將AS返回的200透傳給UE,且將AS的端口、 IP修 改為SBC的外網(wǎng)地址和端口;
步驟105至106: UE終端響應200的ACK到AS;
至此媒體鏈路打通,UE終端與SBC外網(wǎng)建立TCP的MSRP鏈路1 , SBC內網(wǎng)地址與AS建立TCP MSRP鏈路2;
4步驟107: UE終端通過鏈路1將文件信息通過MSRP協(xié)議送到SBC; 步驟108: SBC經(jīng)過地址轉換通過鏈路2將文件信息送到了 AS; 至此,由UE送到AS的文件流程完成;
步驟109至112:信令層關閉,結束會話。
通過上面的流程圖我們可以看出,SBC在其中做了地址和端口的轉換 后分別與UE與AS打通了 TCP鏈路,那么就可以實現(xiàn)了文件在穿越內外 網(wǎng)情況下的傳送。如果中間的SBC僅僅是一個NAT設備,那么地址和端 口轉換對于普通的NAT設備是無法完成的,也就是說跟AS協(xié)商的媒體鏈 路實際上會一直是UE的外網(wǎng)地址,那么TCP建鏈對于AS來說就是一條 完全沒有協(xié)商過的鏈路,AS是會拒絕TCP建鏈請求的,也就無法實現(xiàn)穿 越NAT情況下的文件傳送了 。
但是,由于現(xiàn)網(wǎng)的環(huán)境需求,很多地方都已經(jīng)具備了 NAT設備,如 果再購置SBC,那么將會增加投入,所以出現(xiàn)了具有NAT設備但是沒有 SBC的應用場景,這種情況下就會出現(xiàn)媒體協(xié)商完成后,實際到AS的建 鏈地址并不是SIP信令中協(xié)商的媒體地址,導致無法打通媒體通道而無法 完成文件傳送。
可見,現(xiàn)有技術需要改進和完善。
發(fā)明內容
有鑒于此,本發(fā)明的目的就是為了克服現(xiàn)有技術的不足,提供一種穿 越NAT的文件傳送方法,以實現(xiàn)在沒有SBC的情況下進行文件傳送。
本發(fā)明的目的是通過以下技術方案實現(xiàn)的 一種穿越NAT的文件傳送方法,包括A、位于外網(wǎng)中的用戶設備通過 NAT進行地址和端口轉換后向位于內網(wǎng)中的應用服務器發(fā)送TCP鏈路建 立請求;B、應用服務器響應請求,并通過NAT向終端發(fā)出包含用戶設備 經(jīng)NAT轉換后地址和端口的響應消息;C、用戶設備接收響應消息,使用 NAT轉換后的地址和端口經(jīng)過NAT與應用服務器建立TCP鏈路并保持; D、用戶設備與應用服務器之間使用步驟C中所述保持的TCP鏈路進行文 件傳送。
所述步驟A的TCP鏈路建立請求中包括用戶設備的鑒權信息,所述 步驟B還包括應用服務器根據(jù)用戶設備鑒權信息進行鑒權的過程。當用戶設備向應用服務器傳送文件時,所述步驟D包括用戶設備向
應用服務器發(fā)出傳送文件請求,所述請求中包含用戶設備經(jīng)NAT轉換后的 地址和端口;應用服務器發(fā)出包含其自身地址和端口的響應消息;用戶設 備經(jīng)NAT向應用服務器傳送文件。
所述傳送文件請求采用SDP協(xié)議攜帶用戶設備經(jīng)NAT轉換后的地址 和端口,應用服務器的響應消息采用SDP協(xié)議攜帶自身的地址和端口。
當應用服務器向用戶設備傳送文件時,所述步驟A之前還包括應用服 務器向用戶設備發(fā)出傳送文件請求的步驟,所述請求中包含應用服務器的 地址和端口;所述步驟D包括用戶設備向應用服務器發(fā)出響應消息,所 述響應消息中包含用戶設備經(jīng)NAT轉換后的地址和端口,應用服務器經(jīng) NAT向用戶設備傳送文件。
所述傳送文件請求采用SDP協(xié)議攜帶應用服務器的地址和端口,用戶 設備的響應消息采用SDP協(xié)議攜帶用戶設備NAT轉換后的地址和端口 。 所述步驟D中的文件傳送過程是通過MSRP協(xié)議完成的。
所述步驟D之后還包括文件傳送完成后關閉所述TCP鏈路的步驟。 本發(fā)明與現(xiàn)有技術相比較的有益效果是應用服務器響應并允許用戶 設備使用NAT轉換后的地址和端口與其建立TCP連接,使在不具備SBC 的情況下,外網(wǎng)的用戶設備和內網(wǎng)的應用服務器之間依然能夠穿越NAT 實現(xiàn)文件傳送,提升了網(wǎng)絡的使用效率,降低了建網(wǎng)成本。
圖1是現(xiàn)有技術的文件傳送方法信令時序圖2是本發(fā)明具體實施方式
UE向AS傳送文件的信令時序圖; 圖3是本發(fā)明具體實施方式
AS向UE傳送文件的信令時序圖。
具體實施例方式
下面用具體實施方式
結合附圖對本發(fā)明作進一步詳細說明。 本發(fā)明的核心是應用服務器AS對外接TCP鏈路的請求響應進行改 進,AS可以響應并允許外接的TCP鏈路請求。對于非MSRP的TCP鏈路 請求需要鑒權驗證其合法性,可以通過UE用戶的合法性,如用戶、密碼、 權限等參數(shù),允許短暫鏈路建立和保持。實施例1: UE終端A向AS傳送文件。 如圖2所示,其過程包括如下步驟-
步驟201: UE終端A發(fā)送到AS的TCP鏈路請求到NAT,消息中攜 帶與AS協(xié)商的鑒權機制信息;
步驟202: NAT設備轉換UE終端A的IP/端口 A'并將TCP鏈路請求 轉發(fā)到AS;
步驟203: AS根據(jù)鑒權信息,鑒權成功后,向NAT返回包含UE終
端A穿越NAT后的IP和端口 A'的響應消息;
步驟204: NAT向UE終端A轉發(fā)AS的響應消息;
步驟205: UE終端A到NAT的TCP鏈路1建立成功并保持;
步驟206: NAT到AS的TCP鏈路2建立成功并保持;
步驟207: UE終端A發(fā)出INVITE,其攜帶SDP中的媒體地址、端
口信息為穿越NAT后的地址和端口 A'; 步驟208: NAT轉發(fā)INVITE到AS;
步驟209: AS返回200,攜帶AS的地址、端口信息到NAT;
步驟210: NAT將AS返回信息200及AS的地址、端口信息透傳到
UE終端A;
歩驟211: UE終端A向NAT發(fā)出確認收到信息ACK; 步驟212: NAT向AS轉發(fā)ACK;
步驟213: UE終端A使用TCP鏈路1通過MSRP協(xié)議向NAT傳送 文件;
步驟214: NAT使用TCP鏈路2通過MSRP協(xié)議向AS傳送文件;
步驟215:傳送完畢,AS向NAT發(fā)送結束會話通知;
步驟216: NAT向UE終端A轉發(fā)結束會話通知;
步驟217: l正終端A接收結束會話通知,向NAT傳送接收成功消息
200;
步驟218: NAT轉發(fā)200到AS,結束會話,關閉TCP鏈路。 實施例2: AS向UE終端B傳送文件。 如圖3所示,其過程與實施例l相似,包括以下過程 步驟301: AS下發(fā)INVITE到NAT,其攜帶的SDP中包含自身的地 址和端口;
步驟302: NAT轉發(fā)AS的INVITE到UE終端B;步驟303至306:和步驟203至步驟206相同,UE終端B向AS發(fā)起 TCP鏈路建立請求,鑒權成功后,AS經(jīng)過NAT向UE終端B返回包含 UE終端B經(jīng)過NAT后地址和端口 B'的響應消息;
步驟307: NAT到AS的TCP鏈路2建立成功并保持;
步驟308: UE終端B到NAT的TCP鏈路1建立成功并保持;
步驟309: UE終端B將返回的地址和端口 B'作為媒體協(xié)商結果發(fā)送 到NAT;
步驟310: NAT轉發(fā)到AS;
步驟311: AS向NAT發(fā)出確認收到信息ACK;
步驟312: NAT向UE終端B轉發(fā)ACK;
步驟313: AS使用TCP鏈路2通過MSRP協(xié)議向NAT傳送文件; 步驟314: NAT使用TCP鏈路1通過MSRP協(xié)議向UE終端B傳送文
件;
步驟315:傳送完畢,UE終端B向NAT發(fā)送結束會話通知; 步驟316: NAT向AS轉發(fā)結束會話通知;
步驟317: AS接收結束會話通知,向NAT傳送接收成功消息200; 步驟318: NAT轉發(fā)200到UE終端B,結束會話,關閉TCP鏈路。 以上內容是結合具體的優(yōu)選實施方式對本發(fā)明所作的進一步詳細說 明,不能認定本發(fā)明的具體實施只局限于這些說明。對于本發(fā)明所屬技術 領域的普通技術人員來說,在不脫離本發(fā)明構思的前提下,還可以做出若 干簡單推演或替換,都應當視為屬于本發(fā)明的保護范圍。
8
權利要求
1.一種穿越NAT的文件傳送方法,其特征在于包括A、位于外網(wǎng)中的用戶設備通過NAT進行地址和端口轉換后向位于內網(wǎng)中的應用服務器發(fā)送TCP鏈路建立請求;B、應用服務器響應請求,并通過NAT向終端發(fā)出包含用戶設備經(jīng)NAT轉換后地址和端口的響應消息;C、用戶設備接收響應消息,使用NAT轉換后的地址和端口經(jīng)過NAT與應用服務器建立TCP鏈路并保持;D、用戶設備與應用服務器之間使用步驟C中所述保持的TCP鏈路進行文件傳送。
2. 根據(jù)權利要求1所述穿越NAT的文件傳送方法,其特征在于所述 步驟A的TCP鏈路建立請求中包括用戶設備的鑒權信息,所述步驟B還 包括應用服務器根據(jù)用戶設備鑒權信息進行鑒權的過程。
3. 根據(jù)權利要求1所述穿越NAT的文件傳送方法,其特征在于當用 戶設備向應用服務器傳送文件時,所述步驟D包括用戶設備向應用服務 器發(fā)出傳送文件請求,所述請求中包含用戶設備經(jīng)NAT轉換后的地址和端 口;應用服務器發(fā)出包含其自身地址和端口的響應消息;用戶設備經(jīng)NAT 向應用服務器傳送文件。
4. 根據(jù)權利要求3所述穿越NAT的文件傳送方法,其特征在于所述 傳送文件請求采用SDP協(xié)議攜帶用戶設備經(jīng)NAT轉換后的地址和端口, 應用服務器的響應消息采用SDP協(xié)議攜帶自身的地址和端口 。
5. 根據(jù)權利要求1所述穿越NAT的文件傳送方法,其特征在于當應 用服務器向用戶設備傳送文件時,所述步驟A之前還包括應用服務器向用 戶設備發(fā)出傳送文件請求的步驟,所述請求中包含應用服務器的地址和端 口;所述步驟D包括用戶設備向應用服務器發(fā)出響應消息,所述響應消 息中包含用戶設備經(jīng)NAT轉換后的地址和端口 ,應用服務器經(jīng)NAT向用 戶設備傳送文件。
6. 根據(jù)權利要求5所述穿越NAT的文件傳送方法,其特征在于所述 傳送文件請求采用SDP協(xié)議攜帶應用服務器的地址和端口,用戶設備的響 應消息采用SDP協(xié)議攜帶用戶設備NAT轉換后的地址和端口 。
7. 根據(jù)權利要求1至6任一所述穿越NAT的文件傳送方法,其特征在 于所述步驟D中的文件傳送過程是通過MSRP協(xié)議完成的。
8. 根據(jù)權利要求1至6任一所述穿越NAT的文件傳送方法,其特征在 于所述步驟D之后還包括文件傳送完成后關閉所述TCP鏈路的步驟。
全文摘要
本發(fā)明公開了一種穿越NAT的文件傳送方法,包括位于外網(wǎng)中的用戶設備通過NAT進行地址和端口轉換后向位于內網(wǎng)中的應用服務器發(fā)送TCP鏈路建立請求;應用服務器響應請求,并通過NAT向終端發(fā)出包含用戶設備經(jīng)NAT轉換后地址和端口的響應消息;用戶設備接收響應消息,使用NAT轉換后的地址和端口經(jīng)過NAT與應用服務器建立TCP鏈路并保持;用戶設備與應用服務器之間所述保持的TCP鏈路進行文件傳送。應用服務器響應并允許用戶設備使用NAT轉換后的地址和端口與其建立TCP連接,使在不具備SBC的情況下,外網(wǎng)的用戶設備和內網(wǎng)的應用服務器之間依然能夠穿越NAT實現(xiàn)文件傳送,提升了網(wǎng)絡的使用效率,降低了建網(wǎng)成本。
文檔編號H04L1/16GK101677326SQ20081021614
公開日2010年3月24日 申請日期2008年9月16日 優(yōu)先權日2008年9月16日
發(fā)明者金新海 申請人:中興通訊股份有限公司