專利名稱:點對點通信中穿越網(wǎng)絡(luò)地址轉(zhuǎn)換的方法
技術(shù)領(lǐng)域:
本發(fā)明涉及一種點對點通信中穿越網(wǎng)絡(luò)地址轉(zhuǎn)換的方法,特別涉及一種能夠降低中繼方式穿越網(wǎng)絡(luò)地址轉(zhuǎn)換的服務(wù)器的負擔和帶寬需求、且不需分析網(wǎng)絡(luò)拓撲結(jié)構(gòu)的點對點通信中穿越網(wǎng)絡(luò)地址轉(zhuǎn)換的方法。
背景技術(shù):
隨著基于TCP/IP的互聯(lián)網(wǎng)的普及,各種規(guī)模的局域網(wǎng)被大量組建應(yīng)用,在這種局域網(wǎng)中,各個網(wǎng)絡(luò)設(shè)備采用局域網(wǎng)的IP地址在局域網(wǎng)注冊,連接組成相對獨立和封閉的網(wǎng)絡(luò),這種網(wǎng)絡(luò)一般稱為私有網(wǎng)絡(luò)(簡稱私網(wǎng))。相對應(yīng)的,互聯(lián)網(wǎng)稱為公網(wǎng)。私網(wǎng)中的網(wǎng)絡(luò)設(shè)備使用私有IP地址,公網(wǎng)中的網(wǎng)絡(luò)設(shè)備使用公有IP地址。為了使私網(wǎng)中的每個終端都可以訪問私網(wǎng)外部的資源,通常在私網(wǎng)和公網(wǎng)之間使用網(wǎng)絡(luò)地址轉(zhuǎn)換(NETWORK ADDRESSTEANSLATION,簡稱NAT)來給請求訪問公網(wǎng)的內(nèi)部終端分配一個合法的公網(wǎng)IP地址和端口號,以實現(xiàn)對外部網(wǎng)絡(luò)的訪問。
NAT方法包括1、錐型NAT(CONE NAT)。在建立了(私有IP,私有port)和(公有IP,公有port)這個端口綁定之后,錐形NAT對來自同一個私有ip地址和端口的應(yīng)用程序發(fā)起的一系列的會話進行端口重用,只要有一個會話還在,綁定的端口就保留。
2、完全錐型NAT(FULL CONE NAT)。在為一個向外的會話建立了公/私端口綁定之后,完全錐型NAT隨后將接收來自公網(wǎng)上任何終端節(jié)點相應(yīng)端口的輸入通訊。完全錐型NAT有時也稱為“混雜”(promiscuous)NAT。
3、限制錐型NAT(RESTRICTED CONE NAT)。限制錐型NAT僅僅在外部輸入數(shù)據(jù)包的端口匹配內(nèi)部主機曾經(jīng)發(fā)給外部數(shù)據(jù)時使用的映射端口才轉(zhuǎn)發(fā)給內(nèi)部主機。限制錐型NAT精簡采用了防火墻的原則,通過限制輸入數(shù)據(jù)包為已知的外部IP地址,來拒絕一些外部的主動連接請求。
4、端口限制錐型NAT(PORT RESTRICTED CONE NAT)。對于端口限制錐型NAT,如果外部ip地址和端口匹配那些內(nèi)部主機曾經(jīng)向外發(fā)包在NAT上映射的端口,就將這個輸入包轉(zhuǎn)發(fā)給相應(yīng)的內(nèi)部主機。
5、對稱型NAT(SYMMETRIC NAT)。對稱NAT在內(nèi)外網(wǎng)地址端口綁定時并不維護一致的綁定端口,而是給每一個新的會話分配一個新的端口。
從OSI參考模型的應(yīng)用層來看,可認為網(wǎng)絡(luò)是由工作站和服務(wù)器組成的,但從傳輸層和網(wǎng)絡(luò)層的角度看,工作站和服務(wù)器沒有本質(zhì)的區(qū)別,它們都是連接到網(wǎng)絡(luò)上的一臺機器,都可以用網(wǎng)絡(luò)地址或名稱來代替。它們之間的通信,就是所謂的點對點通信,也叫對等通信。
當前的internet到處都設(shè)有NAT設(shè)備,這主要是由于IPv4的地址空間耗盡所引起的。然而,由NAT設(shè)備建立起來的非對稱的連通體系給點對點通信的應(yīng)用程序和協(xié)議(如電信會議和多人在線游戲)帶來了獨特的問題。當前的NAT設(shè)備主要是為了典型的客戶端/服務(wù)器模型設(shè)計的,使匿名客戶端來訪問有固定IP地址的服務(wù)器。許多NAT設(shè)備完成了這種非對稱連接。私有網(wǎng)絡(luò)中的主機能夠發(fā)出一個初始連接到公網(wǎng)主機,但是外部主機不能初始發(fā)出對內(nèi)網(wǎng)主機的連接,除非由NAT設(shè)備的管理員配置過了。通常情況下,一個內(nèi)網(wǎng)的客戶端不具有在公網(wǎng)唯一的IP地址,而是和同在一個私有網(wǎng)絡(luò)中的主機共享一個IP地址,這種共享由NAT設(shè)備來維護。這種對內(nèi)網(wǎng)主機的匿名和不可訪問性,對客戶端軟件比如web瀏覽器雖不是問題,因為客戶端軟件僅需要初始向外的連接,然而在點對點通信中,被視為客戶端的終端要彼此直接建立連接會話。發(fā)起者和回應(yīng)者也許在不同的NAT設(shè)備的后面,可能既沒有固定的IP地址,也沒有公共網(wǎng)絡(luò)中其他的存在形式。例如,一個普通的在線游戲體系結(jié)構(gòu)是參與主機來連接已知的服務(wù)器來初始化和其他的一些管理動作,主機間建立了直接的連接,以便游戲期間快速有效的更新。類似的,一個文件共享應(yīng)用程序也是連接已知的服務(wù)器進行資源查找,但對數(shù)據(jù)傳送則建立直接的連接。因此NAT設(shè)備對點對點通信的影響在于NAT設(shè)備背后的主機沒有在公網(wǎng)上永久可用的端口,以和其他的客戶建立直接的連接。因此在點對點通信中,需要克服NAT設(shè)備造成的影響,實現(xiàn)對NAT設(shè)備的穿越,以建立通信連接。
現(xiàn)有技術(shù)中,為實現(xiàn)上述目的,通常采用以下方法1、UDP穿孔(UDP HOLE PUNCHING)方法。
該方法是從NAT設(shè)備所在的私網(wǎng)內(nèi)的終端向外部網(wǎng)絡(luò)中的終端發(fā)送UDP數(shù)據(jù)包,該數(shù)據(jù)包經(jīng)過NAT設(shè)備時NAT設(shè)備保存其映射關(guān)系,以使從該外部網(wǎng)絡(luò)中的終端發(fā)送的數(shù)據(jù)包能夠通過該映射關(guān)系穿越該NAT設(shè)備,到達該私網(wǎng)內(nèi)的終端。由于NAT設(shè)備的處理流程是非標準化的,因此該方法并不能應(yīng)用于所有類型的NAT,只適用于錐型NAT、完全錐型NAT、限制錐型NAT、以及端口限制錐型NAT。
該方法的不足之處在于必須分析點對點通信兩端所在的網(wǎng)絡(luò)的拓撲結(jié)構(gòu),針對不同的拓撲結(jié)構(gòu)采取不同的處理步驟。
2、交互式連接建立(INTERACTIVE CONNECTIVITY ESTABLISHMENT,簡稱ICE)方法。
ICE定義的是一種標準化的方法,使點對點通信的兩端能夠確定兩端之間存在的是哪一種類型的NAT設(shè)備,并且確定一連串可以用于實現(xiàn)連接的IP地址。通過使用多種協(xié)議及網(wǎng)絡(luò)連接機制,如UDP簡單穿越網(wǎng)絡(luò)地址轉(zhuǎn)換(SIMPLE TRAVERSAL OF USER DATAGRAM PROTOCOL ADDRESS TRANSLATION,簡稱STUN)機制、以及中繼方式穿越網(wǎng)絡(luò)地址轉(zhuǎn)換(Traversal Using RelayNAT,簡稱TURN)機制,ICE可以學習客戶端所在網(wǎng)絡(luò)的拓撲結(jié)構(gòu)以及這些設(shè)備可以實現(xiàn)通信的各類網(wǎng)絡(luò)地址,當一個具備ICE功能的客戶端(發(fā)起端)希望與另外一臺客戶端(接收端)通信時,它首先會從STUN、TURN等來源中收集盡可能多的IP地址信息,并在本地對那些地址進行配置,選擇其中可以向客戶端提供IP流量的地址。ICE的一項關(guān)鍵優(yōu)勢就是能夠統(tǒng)一這些IP地址信息源提供的信息,并創(chuàng)建盡可能多的路徑來連接自己的目的地。此時,發(fā)起的客戶端通過這些地址連接至一臺STUN服務(wù)器,并向所需要的接收端客戶機發(fā)送一條啟動信息。這條信息中包含先前學習到的所有可能的地址組合,并利用它們到達自己的目的地。當接收端收到啟動信息后,它會通過這些地址向發(fā)起端發(fā)送一系列的STUN請求。通常情況下,由于沿途網(wǎng)絡(luò)拓撲結(jié)構(gòu)和NAT防火墻的緣故,接收端發(fā)出的STUN請求中至少會有一條到達發(fā)起端。當發(fā)起端接收到這些STUN請求后,它會逐條進行回復(fù)。如果一部分STUN請求能夠穿透并抵達接收端,那么就表明發(fā)起端和接收端之間可以利用這部分地址進行通信。在此基礎(chǔ)上,發(fā)起端和接收端還會利用啟動信息中排序最高的那部分地址進行進一步的點對點通信。
參見圖1所示的ICE方法流程圖,包括以下步驟首先發(fā)起端收集TURN/STUN服務(wù)器(同時設(shè)有TURN服務(wù)器和STUN服務(wù)器的服務(wù)器)分配給該發(fā)起端的所有IP地址/端口對及相應(yīng)優(yōu)先級,其中,以本地IP地址/端口對優(yōu)先級最高,STUN服務(wù)器分配的IP地址/端口對優(yōu)先級次之,TURN服務(wù)器分配的IP地址/端口對優(yōu)先級最低;然后發(fā)起端將這些IP地址/端口對和相應(yīng)的優(yōu)先級以邀約消息的方式發(fā)送給接收端;接收端收到邀約消息后,收集所述TURN/STUN服務(wù)器分配給該接收端的所有IP地址/端口對及相應(yīng)的優(yōu)先級,然后將這些IP地址/端口對和相應(yīng)優(yōu)先級以回應(yīng)消息的方式發(fā)送給所述發(fā)起端;繼而接收端對所述邀約消息中的每個IP地址/端口對,檢查其是否能夠連接到所述發(fā)起端,并選取其中能夠連接到所述發(fā)起端且優(yōu)先級最高的IP地址/端口對,作為與所述發(fā)起端建立點對點通信連接的IP地址/端口對;而所述發(fā)起端也對所述回應(yīng)消息中的每個IP地址/端口對,檢查其是否能夠連接到所述接收端,并選取其中能夠連接到所述接收端且優(yōu)先級最高的IP地址/端口對,作為與所述接收端建立點對點通信連接的IP地址/端口對。
該方法的不足之處在于如果發(fā)起端處于限制錐型NAT設(shè)備或端口限制錐型NAT設(shè)備后,接收端檢查所述邀約消息中的IP地址/端口對后,可能選取TUREN服務(wù)器為發(fā)起端分配的IP地址/端口對,作為與發(fā)起端建立點對點通信連接的IP地址/端口對,從而增加了TURN服務(wù)器的負擔和帶寬需求。
發(fā)明內(nèi)容
本發(fā)明的目的是針對上述現(xiàn)有技術(shù)的不足,提供一種點對點通信中穿越網(wǎng)絡(luò)地址轉(zhuǎn)換的方法,對于限制錐型NAT設(shè)備或端口限制錐型NAT設(shè)備,能夠減輕TURN服務(wù)器的負擔和帶寬需求,且不需分析網(wǎng)絡(luò)拓撲結(jié)構(gòu)。
為實現(xiàn)上述目的,本發(fā)明提供了一種點對點通信中穿越網(wǎng)絡(luò)地址轉(zhuǎn)換的方法,包括以下步驟步驟1、發(fā)起端收集包括STUN/TURN服務(wù)器分配給該發(fā)起端的IP地址/端口對在內(nèi)的所有發(fā)起端IP地址/端口對,以及每個發(fā)起端IP地址/端口對對應(yīng)的優(yōu)先級,然后通過邀約消息將收集到的發(fā)起端IP地址/端口對及對應(yīng)的優(yōu)先級發(fā)送給接收端,其中,發(fā)起端本地的IP地址/端口對優(yōu)先級最高,STUN服務(wù)器分配的IP地址/端口對優(yōu)先級次之,TURN服務(wù)器分配的IP地址/端口對優(yōu)先級最低;步驟2、所述接收端收集包括STUN/TURN服務(wù)器分配給該接收端的IP地址/端口對在內(nèi)的所有接收端IP地址/端口對,以及每個接收端IP地址/端口對對應(yīng)的優(yōu)先級,然后通過回應(yīng)消息將收集到的接收端IP地址/端口對及對應(yīng)的優(yōu)先級發(fā)送給所述發(fā)起端,其中,接收端本地的IP地址/端口對優(yōu)先級最高,STUN服務(wù)器分配的IP地址/端口對優(yōu)先級次之,TURN服務(wù)器分配的IP地址/端口對優(yōu)先級最低;步驟3、所述接收端對所述邀約消息中包括的每個發(fā)起端IP地址/端口對進行連接檢查,選取其中能夠連接到所述發(fā)起端且優(yōu)先級最高的IP地址/端口對,作為第一發(fā)起端IP地址/端口對;所述發(fā)起端對所述回應(yīng)消息中包括的每個接收端IP地址/端口對進行連接檢查,選取其中能夠連接到所述接收端且優(yōu)先級最高的接收端IP地址/端口對,作為第一接收端IP地址/端口對;步驟4、所述接收端對所述邀約消息中包括的STUN服務(wù)器分配的發(fā)起端IP地址/端口對進行連接檢查,選取其中能夠連接到所述發(fā)起端且優(yōu)先級最高的發(fā)起端IP地址/端口對,作為第二發(fā)起端IP地址/端口對,并將所述第二發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的發(fā)起端IP地址/端口對;所述發(fā)起端對所述回應(yīng)消息中包括的STUN服務(wù)器分配的接收端IP地址/端口對進行連接檢查,選取其中能夠連接到所述接收端且優(yōu)先級最高的接收端IP地址/端口對,作為第二接收端IP地址/端口對,并將所述第二接收端IP地址/端口對作為與所述接收端建立點對點通信連接的接收端IP地址/端口對。上述步驟4中所述接收端的操作和所述發(fā)起端的操作是相互獨立地進行,即可同時進行,也可先后進行,且先后次序可調(diào)換。
進一步地,所述步驟4可具體包括以下步驟在步驟40中,所述接收端判斷所述第一發(fā)起端IP地址/端口對是否為TURN服務(wù)器分配的IP地址/端口對,是則執(zhí)行步驟41,否則執(zhí)行步驟42;在步驟41中,所述接收端對所述邀約消息中包括的STUN服務(wù)器分配的發(fā)起端IP地址/端口對進行連接檢查,選取其中能夠連接到所述發(fā)起端且優(yōu)先級最高的發(fā)起端IP地址/端口對,作為第二發(fā)起端IP地址/端口對,并將所述第二發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的發(fā)起端IP地址/端口對,然后執(zhí)行步驟43;在步驟42中,所述接收端將所述第一發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的發(fā)起端IP地址/端口對;在步驟43中,所述發(fā)起端判斷所述第一接收端IP地址/端口對是否為TURN服務(wù)器分配的接收端IP地址/端口對,是則執(zhí)行步驟44,否則執(zhí)行步驟45;在步驟44中,所述發(fā)起端對所述回應(yīng)消息中包括的STUN服務(wù)器分配的接收端IP地址/端口對進行連接檢查,選取其中能夠連接到所述接收端且優(yōu)先級最高的接收端IP地址/端口對,作為第二接收端IP地址/端口對,并將所述第二接收端IP地址/端口對作為與所述接收端建立點對點通信連接的接收端IP地址/端口對,然后結(jié)束;在步驟45中,所述發(fā)起端將所述第一接收端IP地址/端口對作為與所述接收端建立點對點通信連接的接收端IP地址/端口對,然后結(jié)束。在所述步驟40之前還可包括步驟400,即為所述接收端判斷是否收到所述發(fā)起端發(fā)送的STUN請求消息,是則執(zhí)行步驟40,否則繼續(xù)執(zhí)行步驟400。所述步驟41可具體包括以下步驟在步驟410中,所述接收端對所述邀約消息中包括的STUN服務(wù)器分配的發(fā)起端IP地址/端口對進行連接檢查,檢查其中是否包括能夠連接到所述發(fā)起端的發(fā)起端IP地址/端口對,是則執(zhí)行步驟411,否則執(zhí)行步驟42;在步驟411中,所述接收端選取所述邀約消息中包括的STUN服務(wù)器分配的發(fā)起端IP地址/端口對中的、能夠連接到所述發(fā)起端的、且優(yōu)先級最高的IP地址/端口對,作為第二發(fā)起端IP地址/端口對,并將所述第二發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的發(fā)起端IP地址/端口對,然后執(zhí)行步驟43。在所述步驟44之前還可包括步驟430,即為所述發(fā)起端判斷是否收到所述接收端發(fā)送的STUN請求消息,是則執(zhí)行步驟44,否則繼續(xù)執(zhí)行步驟430。所述步驟44可具體包括以下步驟在步驟440中,所述發(fā)起端對所述回應(yīng)消息中包括的STUN服務(wù)器分配的接收端IP地址/端口對進行連接檢查,檢查其中是否包括能夠連接到所述接收端的接收端IP地址/端口對,是則執(zhí)行步驟441,否則執(zhí)行步驟45;在步驟441中,所述發(fā)起端選取所述回應(yīng)消息中包括的STUN服務(wù)器分配的接收端IP地址/端口對中的、能夠連接到所述接收端的、且優(yōu)先級最高的IP地址/端口對,作為第二接收端IP地址/端口對,并將所述第二接收端IP地址/端口對作為與所述接收端建立點對點通信連接的接收端IP地址/端口對,然后結(jié)束。
進一步地,所述步驟4可具體包括以下步驟在步驟40′中,所述發(fā)起端判斷所述第一接收端IP地址/端口對是否為TURN服務(wù)器分配的接收端IP地址/端口對,是則執(zhí)行步驟41′,否則執(zhí)行步驟42′;在步驟41′中,所述發(fā)起端對所述回應(yīng)消息中包括的STUN服務(wù)器分配的接收端IP地址/端口對進行連接檢查,選取其中能夠連接到所述接收端且優(yōu)先級最高的接收端IP地址/端口對,作為第二接收端IP地址/端口對,并將所述第二接收端IP地址/端口對作為與所述接收端建立點對點通信連接的接收端IP地址/端口對,然后執(zhí)行步驟43′;在步驟42′中,所述發(fā)起端將所述第一接收端IP地址/端口對作為與所述接收端建立點對點通信連接的接收端IP地址/端口對;在步驟43′中,所述接收端判斷所述第一發(fā)起端IP地址/端口對是否為TURN服務(wù)器分配的發(fā)起端IP地址/端口對,是則執(zhí)行步驟44′,否則執(zhí)行步驟45′;在步驟44′中,所述接收端對所述邀約消息中包括的STUN服務(wù)器分配的發(fā)起端IP地址/端口對進行連接檢查,選取其中能夠連接到所述發(fā)起端且優(yōu)先級最高的發(fā)起端IP地址/端口對,作為第二發(fā)起端IP地址/端口對,并將所述第二發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的發(fā)起端IP地址/端口對,然后結(jié)束;在步驟45′中,所述接收端將所述第一發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的發(fā)起端IP地址/端口對,然后結(jié)束。在所述步驟40′之前還可包括步驟400′,即為所述發(fā)起端判斷是否收到所述接收端發(fā)送的STUN請求消息,是則執(zhí)行步驟40′,否則繼續(xù)執(zhí)行步驟400′。所述步驟41′可具體包括以下步驟在步驟410′中,所述發(fā)起端對所述回應(yīng)消息中包括的STUN服務(wù)器分配的接收端IP地址/端口對進行連接檢查,檢查其中是否包括能夠連接到所述接收端的接收端IP地址/端口對,是則執(zhí)行步驟411′,否則執(zhí)行步驟42′;在步驟411′中,所述發(fā)起端選取所述回應(yīng)消息中包括的STUN服務(wù)器分配的接收端IP地址/端口對中的、能夠連接到所述接收端的、且優(yōu)先級最高的IP地址/端口對,作為第二接收端IP地址/端口對,并將所述第二接收端IP地址/端口對作為與所述接收端建立點對點通信連接的接收端IP地址/端口對,然后執(zhí)行步驟43′。在所述步驟44′之前還可包括步驟430′,即為所述接收端判斷是否收到所述發(fā)起端發(fā)送的STUN請求消息,是則執(zhí)行步驟44′,否則繼續(xù)執(zhí)行步驟430′。所述步驟44′可具體包括以下步驟在步驟440′中,所述接收端對所述邀約消息中包括的STUN服務(wù)器分配的發(fā)起端IP地址/端口對進行連接檢查,檢查其中是否包括能夠連接到所述發(fā)起端的發(fā)起端IP地址/端口對,是則執(zhí)行步驟441′,否則執(zhí)行步驟45′;在步驟441′中,所述接收端選取所述邀約消息中包括的STUN服務(wù)器分配的IP地址/端口對中的、能夠連接到所述發(fā)起端的、且優(yōu)先級最高的IP地址/端口對,作為第二發(fā)起端IP地址/端口對,并將所述第二發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的發(fā)起端IP地址/端口對,然后結(jié)束。
為實現(xiàn)發(fā)明目的,本發(fā)明還提供了另外一種點對點通信中穿越網(wǎng)絡(luò)地址轉(zhuǎn)換的方法,包括以下步驟步驟A1、發(fā)起端收集包括STUN/TURN服務(wù)器分配給該發(fā)起端的IP地址/端口對在內(nèi)的所有發(fā)起端IP地址/端口對,以及每個發(fā)起端IP地址/端口對對應(yīng)的優(yōu)先級,然后通過邀約消息將收集到的發(fā)起端IP地址/端口對及對應(yīng)的優(yōu)先級發(fā)送給接收端,其中,發(fā)起端本地的IP地址/端口對優(yōu)先級最高,STUN服務(wù)器分配的IP地址/端口對優(yōu)先級次之,TURN服務(wù)器分配的IP地址/端口對優(yōu)先級最低;步驟A2、所述接收端對所述邀約消息中包括的STUN服務(wù)器分配的發(fā)起端IP地址/端口對進行連接檢查,選取其中能夠連接到所述發(fā)起端且優(yōu)先級最高的發(fā)起端IP地址/端口對,作為第三發(fā)起端IP地址/端口對;步驟A3、所述接收端收集包括STUN/TURN服務(wù)器分配給該接收端的IP地址/端口對在內(nèi)的所有接收端IP地址/端口對,以及每個接收端IP地址/端口對對應(yīng)的優(yōu)先級,然后通過回應(yīng)消息將收集到的接收端IP地址/端口對及對應(yīng)的優(yōu)先級發(fā)送給所述發(fā)起端,其中,接收端本地的IP地址/端口對優(yōu)先級最高,STUN服務(wù)器分配的IP地址/端口對優(yōu)先級次之,TURN服務(wù)器分配的IP地址/端口對優(yōu)先級最低;步驟A4、所述發(fā)起端對所述回應(yīng)消息中包括的STUN服務(wù)器分配的接收端IP地址/端口對進行連接檢查,選取其中能夠連接到所述接收端且優(yōu)先級最高的接收端IP地址/端口對,作為第三接收端IP地址/端口對;步驟A5、所述接收端將所述第三發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的IP地址/端口對;所述發(fā)起端將所述第三接收端IP地址/端口對作為與所述接收端建立點對點通信連接的IP地址/端口對。
進一步地,步驟A2中所述的接收端對所述邀約消息中包括的STUN服務(wù)器分配的發(fā)起端IP地址/端口對進行連接檢查可具體包括所述接收端將所述邀約消息中包括的STUN服務(wù)器分配的發(fā)起端IP地址/端口對作為目的IP地址/端口對,并向該目的IP地址/端口對發(fā)送UDP消息。步驟A4中所述的發(fā)起端對所述回應(yīng)消息中包括的STUN服務(wù)器分配的接收端IP地址/端口對進行連接檢查可具體包括所述發(fā)起端將所述回應(yīng)消息中包括的STUN服務(wù)器分配的接收端IP地址/端口對作為目的IP地址/端口對,并向該目的IP地址/端口對發(fā)送UDP消息。
在所述步驟A4與步驟A5之間還可包括步驟A401,即為所述接收端對所述邀約消息中包括的每個發(fā)起端IP地址/端口對進行連接檢查,選取其中能夠連接到所述發(fā)起端且優(yōu)先級最高的發(fā)起端IP地址/端口對,作為第四發(fā)起端IP地址/端口對;所述發(fā)起端對所述回應(yīng)消息中包括的每個接收端IP地址/端口對進行連接檢查,選取其中能夠連接到所述接收端且優(yōu)先級最高的接收端IP地址/端口對,作為第四接收端IP地址/端口對。所述步驟A2可具體包括以下步驟在步驟A20中,所述接收端檢查所述邀約消息中是否包括STUN服務(wù)器分配的發(fā)起端IP地址/端口對,是則執(zhí)行步驟A21,否則執(zhí)行步驟A3;在步驟A21中,所述接收端選取所述邀約消息中包括的STUN服務(wù)器分配的發(fā)起端IP地址/端口對中的、能夠連接到所述發(fā)起端的、且優(yōu)先級最高的IP地址/端口對,作為第三發(fā)起端IP地址/端口對。所述步驟A4可具體包括以下步驟在步驟A40中,所述發(fā)起端檢查所述回應(yīng)消息中是否包括STUN服務(wù)器分配的接收端IP地址/端口對,是則執(zhí)行步驟A41,否則執(zhí)行步驟A401;在步驟A41中,所述發(fā)起端選取所述回應(yīng)消息中包括的STUN服務(wù)器分配的接收端IP地址/端口對中的、能夠連接到所述接收端的、且優(yōu)先級最高的IP地址/端口對,作為第三接收端IP地址/端口對,然后執(zhí)行步驟A5。
進一步地,所述步驟A5可具體包括以下步驟在步驟A50中,所述接收端判斷是否已選取所述第三發(fā)起端IP地址/端口對,是則執(zhí)行步驟A51,否則執(zhí)行步驟A52;在步驟A51中,所述接收端將所述第三發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的發(fā)起端IP地址/端口對,然后執(zhí)行步驟A53;在步驟A52中,所述接收端將所述第四發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的發(fā)起端IP地址/端口對;在步驟A53中,所述發(fā)起端判斷是否已選取所述第三接收端IP地址/端口對,是則執(zhí)行步驟A54,否則執(zhí)行步驟A55;在步驟A54中,所述發(fā)起端將所述第三接收端IP地址/端口對作為與所述接收端建立點對點通信連接的接收端IP地址/端口對,然后結(jié)束;在步驟A55中,所述發(fā)起端將所述第四接收端IP地址/端口對作為與所述接收端建立點對點通信連接的接收端IP地址/端口對,然后結(jié)束。所述步驟A5也可具體包括以下步驟在步驟A50′中,所述發(fā)起端判斷是否已選取所述第三接收端IP地址/端口對,是則執(zhí)行步驟A51′,否則執(zhí)行步驟A52′;在步驟A51′中,所述發(fā)起端將所述第三接收端IP地址/端口對作為與所述接收端建立點對點通信連接的接收端IP地址/端口對,然后執(zhí)行步驟A53′;在步驟A52′中,所述發(fā)起端將所述第四接收端IP地址/端口對作為與所述接收端建立點對點通信連接的接收端IP地址/端口對;在步驟A53′中,所述接收端判斷是否已選取所述第三發(fā)起端IP地址/端口對,是則執(zhí)行步驟A54′,否則執(zhí)行步驟A55′;在步驟A54′中,所述接收端將所述第三發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的發(fā)起端IP地址/端口對,然后結(jié)束;在步驟A55′中,所述接收端將所述第四發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的發(fā)起端IP地址/端口對,然后結(jié)束。
在上述技術(shù)方案中,通過在ICE方法中適當?shù)卦黾訉TUN服務(wù)器分配的IP地址/端口對進行連接檢查,即向STUN服務(wù)器分配的IP地址/端口對發(fā)送UDP消息的步驟,從而有機地結(jié)合了UDP打洞方法和ICE方法,使得ICE方法中必須通過TURN服務(wù)器才能連接到對方的通信可不經(jīng)過TURN服務(wù)器而到達對方,從而降低了TURN服務(wù)器的負擔和帶寬需求,并且不需要對網(wǎng)絡(luò)拓撲進行分析。
由上述技術(shù)方案可知,本發(fā)明有機地結(jié)合了點對點通信中穿越NAT的UDP打洞方法和ICE方法,能夠達到降低TURN服務(wù)器的負擔和帶寬需求、并且不需要對網(wǎng)絡(luò)拓撲進行分析的有益效果。
圖1為現(xiàn)有技術(shù)中點對點通信穿越NAT的ICE方法的流程圖;圖2為本發(fā)明具體實施例一的聯(lián)網(wǎng)示意圖;圖3為本發(fā)明具體實施例一的流程圖;圖4為本發(fā)明具體實施例二的流程圖;圖5為本發(fā)明具體實施例三的流程圖;圖6為本發(fā)明具體實施例四的流程圖;圖7為本發(fā)明具體實施例五的流程圖;圖8為本發(fā)明具體實施例六的流程圖。
具體實施例方式
下面結(jié)合附圖和實施例,對本發(fā)明的技術(shù)方案做進一步的詳細描述。
參見圖2所示的本發(fā)明具體實施例一的聯(lián)網(wǎng)示意圖,TURN/STUN服務(wù)器為同時設(shè)有TURN服務(wù)器端和STUN服務(wù)器端的服務(wù)器,該服務(wù)器位于公網(wǎng);發(fā)起端和接收端分別位于各自所屬的私網(wǎng)中,并通過NAT設(shè)備連接到公網(wǎng);發(fā)起端設(shè)有STUN客戶端和TURN客戶端,接收端設(shè)有STUN客戶端和TURN客戶端;發(fā)起端和接收端均支持ICE方法。參見圖3所示的本發(fā)明具體實施例一的流程圖,一種點對點通信中穿越網(wǎng)絡(luò)地址轉(zhuǎn)換的方法,包括以下步驟在步驟1中,發(fā)起端收集包括STUN/TURN服務(wù)器分配給該發(fā)起端的IP地址/端口對在內(nèi)的所有發(fā)起端IP地址/端口對,以及每個發(fā)起端IP地址/端口對對應(yīng)的優(yōu)先級,其中,發(fā)起端本地的IP地址/端口對優(yōu)先級最高,STUN服務(wù)器分配的IP地址/端口對優(yōu)先級次之,TURN服務(wù)器分配的IP地址/端口對優(yōu)先級最低,然后通過邀約消息將收集到的發(fā)起端IP地址/端口對及對應(yīng)的優(yōu)先級發(fā)送給接收端;在步驟2中,所述接收端收集包括STUN/TURN服務(wù)器分配給該接收端的IP地址/端口對在內(nèi)的所有接收端IP地址/端口對,以及每個接收端IP地址/端口對對應(yīng)的優(yōu)先級,其中,接收端本地的IP地址/端口對優(yōu)先級最高,STUN服務(wù)器分配的IP地址/端口對優(yōu)先級次之,TURN服務(wù)器分配的IP地址/端口對優(yōu)先級最低,然后通過回應(yīng)消息將收集到的接收端IP地址/端口對及對應(yīng)的優(yōu)先級發(fā)送給所述發(fā)起端;在步驟3中,所述接收端對所述邀約消息中包括的每個發(fā)起端IP地址/端口對進行連接檢查,選取其中能夠連接到所述發(fā)起端且優(yōu)先級最高的IP地址/端口對,作為第一發(fā)起端IP地址/端口對;所述發(fā)起端對所述回應(yīng)消息中包括的每個接收端IP地址/端口對進行連接檢查,選取其中能夠連接到所述接收端且優(yōu)先級最高的接收端IP地址/端口對,作為第一接收端IP地址/端口對;在步驟4中,所述接收端對所述邀約消息中包括的STUN服務(wù)器分配的發(fā)起端IP地址/端口對進行連接檢查,選取其中能夠連接到所述發(fā)起端且優(yōu)先級最高的發(fā)起端IP地址/端口對,作為第二發(fā)起端IP地址/端口對,并將所述第二發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的發(fā)起端IP地址/端口對;所述發(fā)起端對所述回應(yīng)消息中包括的STUN服務(wù)器分配的接收端IP地址/端口對進行連接檢查,選取其中能夠連接到所述接收端且優(yōu)先級最高的接收端IP地址/端口對,作為第二接收端IP地址/端口對,并將所述第二接收端IP地址/端口對作為與所述接收端建立點對點通信連接的接收端IP地址/端口對。本實施例通過在ICE方法中加入步驟4所述的操作過程,從而能夠優(yōu)選STUN服務(wù)器分配的IP地址/端口對,作為建立點對點通信連接的IP地址/端口對,有效地降低了TURN服務(wù)器的負荷。
參見圖4所示的本發(fā)明具體實施例二的流程圖,一種點對點通信中穿越網(wǎng)絡(luò)地址轉(zhuǎn)換的方法,包括以下步驟在步驟1中,發(fā)起端收集包括STUN/TURN服務(wù)器分配給該發(fā)起端的IP地址/端口對在內(nèi)的所有發(fā)起端IP地址/端口對,以及每個發(fā)起端IP地址/端口對對應(yīng)的優(yōu)先級,其中,發(fā)起端本地的IP地址/端口對優(yōu)先級最高,STUN服務(wù)器分配的IP地址/端口對優(yōu)先級次之,TURN服務(wù)器分配的IP地址/端口對優(yōu)先級最低,然后通過邀約消息將收集到的發(fā)起端IP地址/端口對及對應(yīng)的優(yōu)先級發(fā)送給接收端;在步驟2中,所述接收端收集包括STUN/TURN服務(wù)器分配給該接收端的IP地址/端口對在內(nèi)的所有接收端IP地址/端口對,以及每個接收端IP地址/端口對對應(yīng)的優(yōu)先級,其中,接收端本地的IP地址/端口對優(yōu)先級最高,STUN服務(wù)器分配的IP地址/端口對優(yōu)先級次之,TURN服務(wù)器分配的IP地址/端口對優(yōu)先級最低,然后通過回應(yīng)消息將收集到的接收端IP地址/端口對及對應(yīng)的優(yōu)先級發(fā)送給所述發(fā)起端;在步驟3中,所述接收端對所述邀約消息中包括的每個發(fā)起端IP地址/端口對進行連接檢查,選取其中能夠連接到所述發(fā)起端且優(yōu)先級最高的IP地址/端口對,作為第一發(fā)起端IP地址/端口對;所述發(fā)起端對所述回應(yīng)消息中包括的每個接收端IP地址/端口對進行連接檢查,選取其中能夠連接到所述接收端且優(yōu)先級最高的接收端IP地址/端口對,作為第一接收端IP地址/端口對;在步驟40中,所述接收端判斷所述第一發(fā)起端IP地址/端口對是否為TURN服務(wù)器分配的IP地址/端口對,是則執(zhí)行步驟41,否則執(zhí)行步驟42;在步驟41中,所述接收端對所述邀約消息中包括的STUN服務(wù)器分配的發(fā)起端IP地址/端口對進行連接檢查,選取其中能夠連接到所述發(fā)起端且優(yōu)先級最高的發(fā)起端IP地址/端口對,作為第二發(fā)起端IP地址/端口對,并將所述第二發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的發(fā)起端IP地址/端口對,然后執(zhí)行步驟43;在步驟42中,所述接收端將所述第一發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的發(fā)起端IP地址/端口對;在步驟43中,所述發(fā)起端判斷所述第一接收端IP地址/端口對是否為TURN服務(wù)器分配的接收端IP地址/端口對,是則執(zhí)行步驟44,否則執(zhí)行步驟45;在步驟44中,所述發(fā)起端對所述回應(yīng)消息中包括的STUN服務(wù)器分配的接收端IP地址/端口對進行連接檢查,選取其中能夠連接到所述接收端且優(yōu)先級最高的接收端IP地址/端口對,作為第二接收端IP地址/端口對,并將所述第二接收端IP地址/端口對作為與所述接收端建立點對點通信連接的接收端IP地址/端口對,然后結(jié)束;在步驟45中,所述發(fā)起端將所述第一接收端IP地址/端口對作為與所述接收端建立點對點通信連接的接收端IP地址/端口對,然后結(jié)束。本實施例中,通過先判斷步驟3中選擇的IP地址/端口對是否為TURN服務(wù)器分配的IP地址/端口對,如果是則優(yōu)選STUN服務(wù)器分配的IP地址/端口對,如果否則不需進一步優(yōu)選,從而既有效地降低了TURN服務(wù)器的負荷,又避免了冗余操作。
上述具體實施例二中,在所述步驟40之前還可包括步驟400,即為所述接收端判斷是否收到所述發(fā)起端發(fā)送的STUN請求消息,是則執(zhí)行步驟40,否則繼續(xù)執(zhí)行步驟400。所述步驟41可具體包括以下步驟在步驟410中,所述接收端對所述邀約消息中包括的STUN服務(wù)器分配的發(fā)起端IP地址/端口對進行連接檢查,檢查其中是否包括能夠連接到所述發(fā)起端的發(fā)起端IP地址/端口對,是則執(zhí)行步驟411,否則執(zhí)行步驟42;在步驟411中,所述接收端選取所述邀約消息中包括的STUN服務(wù)器分配的發(fā)起端IP地址/端口對中的、能夠連接到所述發(fā)起端的、且優(yōu)先級最高的IP地址/端口對,作為第二發(fā)起端IP地址/端口對,并將所述第二發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的發(fā)起端IP地址/端口對,然后執(zhí)行步驟43。在所述步驟44之前還可包括步驟430,即為所述發(fā)起端判斷是否收到所述接收端發(fā)送的STUN請求消息,是則執(zhí)行步驟44,否則繼續(xù)執(zhí)行步驟430。所述步驟44可具體包括以下步驟在步驟440中,所述發(fā)起端對所述回應(yīng)消息中包括的STUN服務(wù)器分配的接收端IP地址/端口對進行連接檢查,檢查其中是否包括能夠連接到所述接收端的接收端IP地址/端口對,是則執(zhí)行步驟441,否則執(zhí)行步驟45;在步驟441中,所述發(fā)起端選取所述回應(yīng)消息中包括的STUN服務(wù)器分配的接收端IP地址/端口對中的、能夠連接到所述接收端的、且優(yōu)先級最高的IP地址/端口對,作為第二接收端IP地址/端口對,并將所述第二接收端IP地址/端口對作為與所述接收端建立點對點通信連接的接收端IP地址/端口對,然后結(jié)束。
參見圖5所示的本發(fā)明具體實施例三的流程圖,一種點對點通信中穿越網(wǎng)絡(luò)地址轉(zhuǎn)換的方法,包括以下步驟在步驟1中,發(fā)起端收集包括STUN/TURN服務(wù)器分配給該發(fā)起端的IP地址/端口對在內(nèi)的所有發(fā)起端IP地址/端口對,以及每個發(fā)起端IP地址/端口對對應(yīng)的優(yōu)先級,其中,發(fā)起端本地的IP地址/端口對優(yōu)先級最高,STUN服務(wù)器分配的IP地址/端口對優(yōu)先級次之,TURN服務(wù)器分配的IP地址/端口對優(yōu)先級最低,然后通過邀約消息將收集到的發(fā)起端IP地址/端口對及對應(yīng)的優(yōu)先級發(fā)送給接收端;在步驟2中,所述接收端收集包括STUN/TURN服務(wù)器分配給該接收端的IP地址/端口對在內(nèi)的所有接收端IP地址/端口對,以及每個接收端IP地址/端口對對應(yīng)的優(yōu)先級,其中,接收端本地的IP地址/端口對優(yōu)先級最高,STUN服務(wù)器分配的IP地址/端口對優(yōu)先級次之,TURN服務(wù)器分配的IP地址/端口對優(yōu)先級最低,然后通過回應(yīng)消息將收集到的接收端IP地址/端口對及對應(yīng)的優(yōu)先級發(fā)送給所述發(fā)起端;在步驟3中,所述接收端對所述邀約消息中包括的每個發(fā)起端IP地址/端口對進行連接檢查,選取其中能夠連接到所述發(fā)起端且優(yōu)先級最高的IP地址/端口對,作為第一發(fā)起端IP地址/端口對;所述發(fā)起端對所述回應(yīng)消息中包括的每個接收端IP地址/端口對進行連接檢查,選取其中能夠連接到所述接收端且優(yōu)先級最高的接收端IP地址/端口對,作為第一接收端IP地址/端口對;在步驟40′中,所述發(fā)起端判斷所述第一接收端I P地址/端口對是否為TURN服務(wù)器分配的接收端IP地址/端口對,是則執(zhí)行步驟41′,否則執(zhí)行步驟42′;在步驟41′中,所述發(fā)起端對所述回應(yīng)消息中包括的STUN服務(wù)器分配的接收端IP地址/端口對進行連接檢查,選取其中能夠連接到所述接收端且優(yōu)先級最高的接收端IP地址/端口對,作為第二接收端IP地址/端口對,并將所述第二接收端IP地址/端口對作為與所述接收端建立點對點通信連接的接收端IP地址/端口對,然后執(zhí)行步驟43′;在步驟42′中,所述發(fā)起端將所述第一接收端IP地址/端口對作為與所述接收端建立點對點通信連接的接收端IP地址/端口對;在步驟43′中,所述接收端判斷所述第一發(fā)起端IP地址/端口對是否為TURN服務(wù)器分配的發(fā)起端IP地址/端口對,是則執(zhí)行步驟44′,否則執(zhí)行步驟45′;在步驟44′中,所述接收端對所述邀約消息中包括的STUN服務(wù)器分配的發(fā)起端IP地址/端口對進行連接檢查,選取其中能夠連接到所述發(fā)起端且優(yōu)先級最高的發(fā)起端IP地址/端口對,作為第二發(fā)起端IP地址/端口對,并將所述第二發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的發(fā)起端IP地址/端口對,然后結(jié)束;在步驟45′中,所述接收端將所述第一發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的發(fā)起端IP地址/端口對,然后結(jié)束。
上述具體實施例三中,在所述步驟40′之前還可包括步驟400′,即為所述發(fā)起端判斷是否收到所述接收端發(fā)送的STUN請求消息,是則執(zhí)行步驟40′,否則繼續(xù)執(zhí)行步驟400′。所述步驟41′可具體包括以下步驟在步驟410′中,所述發(fā)起端對所述回應(yīng)消息中包括的STUN服務(wù)器分配的接收端IP地址/端口對進行連接檢查,檢查其中是否包括能夠連接到所述接收端的接收端IP地址/端口對,是則執(zhí)行步驟411′,否則執(zhí)行步驟42′;在步驟411′中,所述發(fā)起端選取所述回應(yīng)消息中包括的STUN服務(wù)器分配的接收端IP地址/端口對中的、能夠連接到所述接收端的、且優(yōu)先級最高的IP地址/端口對,作為第二接收端IP地址/端口對,并將所述第二接收端IP地址/端口對作為與所述接收端建立點對點通信連接的接收端IP地址/端口對,然后執(zhí)行步驟43′。在所述步驟44′之前還可包括步驟430′,即為所述接收端判斷是否收到所述發(fā)起端發(fā)送的STUN請求消息,是則執(zhí)行步驟44′,否則繼續(xù)執(zhí)行步驟430′。所述步驟44′可具體包括以下步驟在步驟440′中,所述接收端對所述邀約消息中包括的STUN服務(wù)器分配的發(fā)起端IP地址/端口對進行連接檢查,檢查其中是否包括能夠連接到所述發(fā)起端的發(fā)起端IP地址/端口對,是則執(zhí)行步驟441′,否則執(zhí)行步驟45′;在步驟441′中,所述接收端選取所述邀約消息中包括的STUN服務(wù)器分配的IP地址/端口對中的、能夠連接到所述發(fā)起端的、且優(yōu)先級最高的IP地址/端口對,作為第二發(fā)起端IP地址/端口對,并將所述第二發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的發(fā)起端IP地址/端口對,然后結(jié)束。
參見圖6所示的本發(fā)明具體實施例四的流程圖,一種點對點通信中穿越網(wǎng)絡(luò)地址轉(zhuǎn)換的方法,包括以下步驟在步驟A1中,發(fā)起端收集包括STUN/TURN服務(wù)器分配給該發(fā)起端的IP地址/端口對在內(nèi)的所有發(fā)起端IP地址/端口對,以及每個發(fā)起端IP地址/端口對對應(yīng)的優(yōu)先級,其中,發(fā)起端本地的IP地址/端口對優(yōu)先級最高,STUN服務(wù)器分配的IP地址/端口對優(yōu)先級次之,TURN服務(wù)器分配的IP地址/端口對優(yōu)先級最低,然后通過邀約消息將收集到的發(fā)起端IP地址/端口對及對應(yīng)的優(yōu)先級發(fā)送給接收端;在步驟A2中,所述接收端對所述邀約消息中包括的STUN服務(wù)器分配的發(fā)起端IP地址/端口對進行連接檢查,選取其中能夠連接到所述發(fā)起端且優(yōu)先級最高的發(fā)起端IP地址/端口對,作為第三發(fā)起端IP地址/端口對;在步驟A3中,所述接收端收集包括STUN/TURN服務(wù)器分配給該接收端的IP地址/端口對在內(nèi)的所有接收端IP地址/端口對,以及每個接收端IP地址/端口對對應(yīng)的優(yōu)先級,其中,接收端本地的IP地址/端口對優(yōu)先級最高,STUN服務(wù)器分配的IP地址/端口對優(yōu)先級次之,TURN服務(wù)器分配的IP地址/端口對優(yōu)先級最低,然后通過回應(yīng)消息將收集到的接收端IP地址/端口對及對應(yīng)的優(yōu)先級發(fā)送給所述發(fā)起端;在步驟A4中,所述發(fā)起端對所述回應(yīng)消息中包括的STUN服務(wù)器分配的接收端IP地址/端口對進行連接檢查,選取其中能夠連接到所述接收端且優(yōu)先級最高的接收端IP地址/端口對,作為第三接收端IP地址/端口對;在步驟A5中,所述接收端將所述第三發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的IP地址/端口對;所述發(fā)起端將所述第三接收端IP地址/端口對作為與所述接收端建立點對點通信連接的IP地址/端口對。在本實施例中,通過在ICE方法中增加步驟A2和步驟A4所述的操作過程,從而首先優(yōu)選STUN服務(wù)器分配的IP地址/端口對,進一步地簡化了操作過程。
參見圖7所示的本發(fā)明具體實施例五的流程圖,一種點對點通信中穿越網(wǎng)絡(luò)地址轉(zhuǎn)換的方法,包括以下步驟在步驟A1中,發(fā)起端收集包括STUN/TURN服務(wù)器分配給該發(fā)起端的IP地址/端口對在內(nèi)的所有發(fā)起端IP地址/端口對,以及每個發(fā)起端IP地址/端口對對應(yīng)的優(yōu)先級,其中,發(fā)起端本地的IP地址/端口對優(yōu)先級最高,STUN服務(wù)器分配的IP地址/端口對優(yōu)先級次之,TURN服務(wù)器分配的IP地址/端口對優(yōu)先級最低,然后通過邀約消息將收集到的發(fā)起端IP地址/端口對及對應(yīng)的優(yōu)先級發(fā)送給接收端;在步驟A20中,所述接收端檢查所述邀約消息中是否包括STUN服務(wù)器分配的發(fā)起端IP地址/端口對,是則執(zhí)行步驟A21,否則執(zhí)行步驟A3;在步驟A21中,所述接收端選取所述邀約消息中包括的STUN服務(wù)器分配的發(fā)起端IP地址/端口對中的、能夠連接到所述發(fā)起端的、且優(yōu)先級最高的IP地址/端口對,作為第三發(fā)起端IP地址/端口對;在步驟A3中,所述接收端收集包括STUN/TURN服務(wù)器分配給該接收端的IP地址/端口對在內(nèi)的所有接收端IP地址/端口對,以及每個接收端IP地址/端口對對應(yīng)的優(yōu)先級,其中,接收端本地的IP地址/端口對優(yōu)先級最高,STUN服務(wù)器分配的IP地址/端口對優(yōu)先級次之,TURN服務(wù)器分配的IP地址/端口對優(yōu)先級最低,然后通過回應(yīng)消息將收集到的接收端IP地址/端口對及對應(yīng)的優(yōu)先級發(fā)送給所述發(fā)起端;在步驟A40中,所述發(fā)起端檢查所述回應(yīng)消息中是否包括STUN服務(wù)器分配的接收端IP地址/端口對,是則執(zhí)行步驟A41,否則執(zhí)行步驟A401;在步驟A41中,所述發(fā)起端選取所述回應(yīng)消息中包括的STUN服務(wù)器分配的接收端IP地址/端口對中的、能夠連接到所述接收端的、且優(yōu)先級最高的IP地址/端口對,作為第三接收端IP地址/端口對,然后執(zhí)行步驟A50;在步驟A401中,所述接收端對所述邀約消息中包括的每個發(fā)起端IP地址/端口對進行連接檢查,選取其中能夠連接到所述發(fā)起端且優(yōu)先級最高的發(fā)起端IP地址/端口對,作為第四發(fā)起端IP地址/端口對;所述發(fā)起端對所述回應(yīng)消息中包括的每個接收端IP地址/端口對進行連接檢查,選取其中能夠連接到所述接收端且優(yōu)先級最高的接收端IP地址/端口對,作為第四接收端IP地址/端口對;在步驟A50中,所述接收端判斷是否已選取所述第三發(fā)起端IP地址/端口對,是則執(zhí)行步驟A51,否則執(zhí)行步驟A52;在步驟A51中,所述接收端將所述第三發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的發(fā)起端IP地址/端口對,然后執(zhí)行步驟A53;在步驟A52中,所述接收端將所述第四發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的發(fā)起端IP地址/端口對;在步驟A53中,所述發(fā)起端判斷是否已選取所述第三接收端IP地址/端口對,是則執(zhí)行步驟A54,否則執(zhí)行步驟A55;在步驟A54中,所述發(fā)起端將所述第三接收端IP地址/端口對作為與所述接收端建立點對點通信連接的接收端IP地址/端口對,然后結(jié)束;在步驟A55中,所述發(fā)起端將所述第四接收端IP地址/端口對作為與所述接收端建立點對點通信連接的接收端IP地址/端口對,然后結(jié)束。在本實施例中,在首先優(yōu)選STUN服務(wù)器分配的IP地址/端口對時,進一步地先判斷是否存在STUN服務(wù)器分配的IP地址/端口對,并且根據(jù)連接檢查的結(jié)果選擇建立點對點通信連接的IP地址/端口對,從而既有效地降低了TURN服務(wù)器的負荷,又簡化了操作過程,避免了冗余操作。
參見圖8所示的本發(fā)明具體實施例六的流程圖,一種點對點通信中穿越網(wǎng)絡(luò)地址轉(zhuǎn)換的方法,包括以下步驟在步驟A1中,發(fā)起端收集包括STUN/TURN服務(wù)器分配給該發(fā)起端的IP地址/端口對在內(nèi)的所有發(fā)起端IP地址/端口對,以及每個發(fā)起端IP地址/端口對對應(yīng)的優(yōu)先級,其中,發(fā)起端本地的IP地址/端口對優(yōu)先級最高,STUN服務(wù)器分配的IP地址/端口對優(yōu)先級次之,TURN服務(wù)器分配的IP地址/端口對優(yōu)先級最低,然后通過邀約消息將收集到的發(fā)起端IP地址/端口對及對應(yīng)的優(yōu)先級發(fā)送給接收端;在步驟A20中,所述接收端檢查所述遨約消息中是否包括STUN服務(wù)器分配的發(fā)起端IP地址/端口對,是則執(zhí)行步驟A21,否則執(zhí)行步驟A3;在步驟A21中,所述接收端選取所述邀約消息中包括的STUN服務(wù)器分配的發(fā)起端IP地址/端口對中的、能夠連接到所述發(fā)起端的、且優(yōu)先級最高的IP地址/端口對,作為第三發(fā)起端IP地址/端口對;在步驟A3中,所述接收端收集包括STUN/TURN服務(wù)器分配給該接收端的IP地址/端口對在內(nèi)的所有接收端IP地址/端口對,以及每個接收端IP地址/端口對對應(yīng)的優(yōu)先級,其中,接收端本地的IP地址/端口對優(yōu)先級最高,STUN服務(wù)器分配的IP地址/端口對優(yōu)先級次之,TURN服務(wù)器分配的IP地址/端口對優(yōu)先級最低,然后通過回應(yīng)消息將收集到的接收端IP地址/端口對及對應(yīng)的優(yōu)先級發(fā)送給所述發(fā)起端;在步驟A40中,所述發(fā)起端檢查所述回應(yīng)消息中是否包括STUN服務(wù)器分配的接收端IP地址/端口對,是則執(zhí)行步驟A41,否則執(zhí)行步驟A401;在步驟A41中,所述發(fā)起端選取所述回應(yīng)消息中包括的STUN服務(wù)器分配的接收端IP地址/端口對中的、能夠連接到所述接收端的、且優(yōu)先級最高的IP地址/端口對,作為第三接收端IP地址/端口對,然后執(zhí)行步驟A50′;在步驟401中,所述接收端對所述邀約消息中包括的每個發(fā)起端IP地址/端口對進行連接檢查,選取其中能夠連接到所述發(fā)起端且優(yōu)先級最高的發(fā)起端IP地址/端口對,作為第四發(fā)起端IP地址/端口對;所述發(fā)起端對所述回應(yīng)消息中包括的每個接收端IP地址/端口對進行連接檢查,選取其中能夠連接到所述接收端且優(yōu)先級最高的接收端IP地址/端口對,作為第四接收端IP地址/端口對;在步驟A50′中,所述發(fā)起端判斷是否已選取所述第三接收端IP地址/端口對,是則執(zhí)行步驟A51′,否則執(zhí)行步驟A52′;在步驟A51′中,所述發(fā)起端將所述第三接收端IP地址/端口對作為與所述接收端建立點對點通信連接的接收端IP地址/端口對,然后執(zhí)行步驟A53′;在步驟A52′中,所述發(fā)起端將所述第四接收端IP地址/端口對作為與所述接收端建立點對點通信連接的接收端IP地址/端口對;在步驟A53′中,所述接收端判斷是否已選取所述第三發(fā)起端IP地址/端口對,是則執(zhí)行步驟A54′,否則執(zhí)行步驟A55′;在步驟A54′中,所述接收端將所述第三發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的發(fā)起端IP地址/端口對,然后結(jié)束;在步驟A55′中,所述接收端將所述第四發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的發(fā)起端IP地址/端口對,然后結(jié)束。
上述具體實施例四、五、六中,步驟A2中所述的接收端對所述邀約消息中包括的STUN服務(wù)器分配的發(fā)起端IP地址/端口對進行連接檢查可具體包括所述接收端將所述邀約消息中包括的STUN服務(wù)器分配的發(fā)起端IP地址/端口對作為目的IP地址/端口對,并向該目的IP地址/端口對發(fā)送UDP消息。步驟A4中所述的發(fā)起端對所述回應(yīng)消息中包括的STUN服務(wù)器分配的接收端IP地址/端口對進行連接檢查可具體包括所述發(fā)起端將所述回應(yīng)消息中包括的STUN服務(wù)器分配的接收端IP地址/端口對作為目的IP地址/端口對,并向該目的IP地址/端口對發(fā)送UDP消息。
最后所應(yīng)說明的是,以上實施例僅用以說明本發(fā)明的技術(shù)方案而非限制,盡管參照較佳實施例對本發(fā)明進行了詳細說明,本領(lǐng)域的普通技術(shù)人員應(yīng)當理解,可以對本發(fā)明的技術(shù)方案進行修改或者等同替換,而不脫離本發(fā)明技術(shù)方案的精神和范圍。
權(quán)利要求
1.一種點對點通信中穿越網(wǎng)絡(luò)地址轉(zhuǎn)換的方法,其特征在于,包括以下步驟步驟1、發(fā)起端收集包括STUN/TURN服務(wù)器分配給該發(fā)起端的IP地址/端口對在內(nèi)的所有發(fā)起端IP地址/端口對,以及每個發(fā)起端IP地址/端口對對應(yīng)的優(yōu)先級,然后通過邀約消息將收集到的發(fā)起端IP地址/端口對及對應(yīng)的優(yōu)先級發(fā)送給接收端;步驟2、所述接收端收集包括STUN/TURN服務(wù)器分配給該接收端的IP地址/端口對在內(nèi)的所有接收端IP地址/端口對,以及每個接收端IP地址/端口對對應(yīng)的優(yōu)先級,然后通過回應(yīng)消息將收集到的接收端IP地址/端口對及對應(yīng)的優(yōu)先級發(fā)送給所述發(fā)起端;步驟3、所述接收端對所述邀約消息中包括的每個發(fā)起端IP地址/端口對進行連接檢查,選取其中能夠連接到所述發(fā)起端且優(yōu)先級最高的IP地址/端口對,作為第一發(fā)起端IP地址/端口對;所述發(fā)起端對所述回應(yīng)消息中包括的每個接收端IP地址/端口對進行連接檢查,選取其中能夠連接到所述接收端且優(yōu)先級最高的接收端IP地址/端口對,作為第一接收端IP地址/端口對;步驟4、所述接收端對所述邀約消息中包括的STUN服務(wù)器分配的發(fā)起端IP地址/端口對進行連接檢查,選取其中能夠連接到所述發(fā)起端且優(yōu)先級最高的發(fā)起端IP地址/端口對,作為第二發(fā)起端IP地址/端口對,并將所述第二發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的發(fā)起端IP地址/端口對;所述發(fā)起端對所述回應(yīng)消息中包括的STUN服務(wù)器分配的接收端IP地址/端口對進行連接檢查,選取其中能夠連接到所述接收端且優(yōu)先級最高的接收端IP地址/端口對,作為第二接收端IP地址/端口對,并將所述第二接收端IP地址/端口對作為與所述接收端建立點對點通信連接的接收端IP地址/端口對。
2.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟4具體包括步驟40、所述接收端判斷所述第一發(fā)起端IP地址/端口對是否為TURN服務(wù)器分配的IP地址/端口對,是則執(zhí)行步驟41,否則執(zhí)行步驟42;步驟41、所述接收端對所述邀約消息中包括的STUN服務(wù)器分配的發(fā)起端IP地址/端口對進行連接檢查,選取其中能夠連接到所述發(fā)起端且優(yōu)先級最高的發(fā)起端IP地址/端口對,作為第二發(fā)起端IP地址/端口對,并將所述第二發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的發(fā)起端IP地址/端口對,然后執(zhí)行步驟43;步驟42、所述接收端將所述第一發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的發(fā)起端IP地址/端口對;步驟43、所述發(fā)起端判斷所述第一接收端IP地址/端口對是否為TURN服務(wù)器分配的接收端IP地址/端口對,是則執(zhí)行步驟44,否則執(zhí)行步驟45;步驟44、所述發(fā)起端對所述回應(yīng)消息中包括的STUN服務(wù)器分配的接收端IP地址/端口對進行連接檢查,選取其中能夠連接到所述接收端且優(yōu)先級最高的接收端IP地址/端口對,作為第二接收端IP地址/端口對,并將所述第二接收端IP地址/端口對作為與所述接收端建立點對點通信連接的接收端IP地址/端口對,然后結(jié)束;步驟45、所述發(fā)起端將所述第一接收端IP地址/端口對作為與所述接收端建立點對點通信連接的接收端IP地址/端口對,然后結(jié)束。
3.根據(jù)權(quán)利要求2所述的方法,其特征在于,在所述步驟40之前還包括以下步驟步驟400、所述接收端判斷是否收到所述發(fā)起端發(fā)送的STUN請求消息,是則執(zhí)行步驟40,否則繼續(xù)執(zhí)行步驟400。
4.根據(jù)權(quán)利要求2或3所述的方法,其特征在于,所述步驟41具體包括以下步驟步驟410、所述接收端對所述邀約消息中包括的STUN服務(wù)器分配的發(fā)起端IP地址/端口對進行連接檢查,檢查其中是否包括能夠連接到所述發(fā)起端的發(fā)起端IP地址/端口對,是則執(zhí)行步驟411,否則執(zhí)行步驟42;步驟411、所述接收端選取所述邀約消息中包括的STUN服務(wù)器分配的發(fā)起端IP地址/端口對中的、能夠連接到所述發(fā)起端的、且優(yōu)先級最高的IP地址/端口對,作為第二發(fā)起端IP地址/端口對,并將所述第二發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的發(fā)起端IP地址/端口對,然后執(zhí)行步驟43。
5.根據(jù)權(quán)利要求4所述的方法,其特征在于,在所述步驟44之前還包括以下步驟步驟430、所述發(fā)起端判斷是否收到所述接收端發(fā)送的STUN請求消息,是則執(zhí)行步驟44,否則繼續(xù)執(zhí)行步驟430。
6.根據(jù)權(quán)利要求5所述的方法,其特征在于,所述步驟44具體包括以下步驟步驟440、所述發(fā)起端對所述回應(yīng)消息中包括的STUN服務(wù)器分配的接收端IP地址/端口對進行連接檢查,檢查其中是否包括能夠連接到所述接收端的接收端IP地址/端口對,是則執(zhí)行步驟441,否則執(zhí)行步驟45;步驟441、所述發(fā)起端選取所述回應(yīng)消息中包括的STUN服務(wù)器分配的接收端IP地址/端口對中的、能夠連接到所述接收端的、且優(yōu)先級最高的IP地址/端口對,作為第二接收端IP地址/端口對,并將所述第二接收端IP地址/端口對作為與所述接收端建立點對點通信連接的接收端IP地址/端口對,然后結(jié)束。
7.根據(jù)權(quán)利要求1所述的方法,其特征在于,所述步驟4具體包括以下步驟步驟40′、所述發(fā)起端判斷所述第一接收端IP地址/端口對是否為TURN服務(wù)器分配的接收端IP地址/端口對,是則執(zhí)行步驟41′,否則執(zhí)行步驟42′;步驟41′、所述發(fā)起端對所述回應(yīng)消息中包括的STUN服務(wù)器分配的接收端IP地址/端口對進行連接檢查,選取其中能夠連接到所述接收端且優(yōu)先級最高的接收端IP地址/端口對,作為第二接收端IP地址/端口對,并將所述第二接收端IP地址/端口對作為與所述接收端建立點對點通信連接的接收端IP地址/端口對,然后執(zhí)行步驟43′;步驟42′、所述發(fā)起端將所述第一接收端IP地址/端口對作為與所述接收端建立點對點通信連接的接收端IP地址/端口對;步驟43′、所述接收端判斷所述第一發(fā)起端IP地址/端口對是否為TURN服務(wù)器分配的發(fā)起端IP地址/端口對,是則執(zhí)行步驟44′,否則執(zhí)行步驟45′;步驟44′、所述接收端對所述邀約消息中包括的STUN服務(wù)器分配的發(fā)起端IP地址/端口對進行連接檢查,選取其中能夠連接到所述發(fā)起端且優(yōu)先級最高的發(fā)起端IP地址/端口對,作為第二發(fā)起端IP地址/端口對,并將所述第二發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的發(fā)起端IP地址/端口對,然后結(jié)束;步驟45′、所述接收端將所述第一發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的發(fā)起端IP地址/端口對,然后結(jié)束。
8.根據(jù)權(quán)利要求7所述的方法,其特征在于,在所述步驟40′之前還包括以下步驟步驟400′、所述發(fā)起端判斷是否收到所述接收端發(fā)送的STUN請求消息,是則執(zhí)行步驟40′,否則繼續(xù)執(zhí)行步驟400′。
9.根據(jù)權(quán)利要求7或8所述的方法,其特征在于,所述步驟41′具體包括以下步驟步驟410′、所述發(fā)起端對所述回應(yīng)消息中包括的STUN服務(wù)器分配的接收端IP地址/端口對進行連接檢查,檢查其中是否包括能夠連接到所述接收端的接收端IP地址/端口對,是則執(zhí)行步驟411′,否則執(zhí)行步驟42′;步驟411′、所述發(fā)起端選取所述回應(yīng)消息中包括的STUN服務(wù)器分配的接收端IP地址/端口對中的、能夠連接到所述接收端的、且優(yōu)先級最高的IP地址/端口對,作為第二接收端IP地址/端口對,并將所述第二接收端IP地址/端口對作為與所述接收端建立點對點通信連接的接收端IP地址/端口對,然后執(zhí)行步驟43′。
10.根據(jù)權(quán)利要求9所述的方法,其特征在于,在所述步驟44′之前還包括以下步驟步驟430′、所述接收端判斷是否收到所述發(fā)起端發(fā)送的STUN請求消息,是則執(zhí)行步驟44′,否則繼續(xù)執(zhí)行步驟430′。
11.根據(jù)權(quán)利要求10所述的方法,其特征在于,所述步驟44′具體包括以下步驟步驟440′、所述接收端對所述邀約消息中包括的STUN服務(wù)器分配的發(fā)起端IP地址/端口對進行連接檢查,檢查其中是否包括能夠連接到所述發(fā)起端的發(fā)起端IP地址/端口對,是則執(zhí)行步驟441′,否則執(zhí)行步驟45′;步驟441′、所述接收端選取所述邀約消息中包括的STUN服務(wù)器分配的IP地址/端口對中的、能夠連接到所述發(fā)起端的、且優(yōu)先級最高的IP地址/端口對,作為第二發(fā)起端IP地址/端口對,并將所述第二發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的發(fā)起端IP地址/端口對,然后結(jié)束。
12.一種點對點通信中穿越網(wǎng)絡(luò)地址轉(zhuǎn)換的方法,其特征在于,包括以下步驟步驟A1、發(fā)起端收集包括STUN/TURN服務(wù)器分配給該發(fā)起端的IP地址/端口對在內(nèi)的所有發(fā)起端IP地址/端口對,以及每個發(fā)起端IP地址/端口對對應(yīng)的優(yōu)先級,然后通過邀約消息將收集到的發(fā)起端IP地址/端口對及對應(yīng)的優(yōu)先級發(fā)送給接收端;步驟A2、所述接收端對所述邀約消息中包括的STUN服務(wù)器分配的發(fā)起端IP地址/端口對進行連接檢查,選取其中能夠連接到所述發(fā)起端且優(yōu)先級最高的發(fā)起端IP地址/端口對,作為第三發(fā)起端IP地址/端口對;步驟A3、所述接收端收集包括STUN/TURN服務(wù)器分配給該接收端的IP地址/端口對在內(nèi)的所有接收端IP地址/端口對,以及每個接收端IP地址/端口對對應(yīng)的優(yōu)先級,然后通過回應(yīng)消息將收集到的接收端IP地址/端口對及對應(yīng)的優(yōu)先級發(fā)送給所述發(fā)起端;步驟A4、所述發(fā)起端對所述回應(yīng)消息中包括的STUN服務(wù)器分配的接收端IP地址/端口對進行連接檢查,選取其中能夠連接到所述接收端且優(yōu)先級最高的接收端IP地址/端口對,作為第三接收端IP地址/端口對;步驟A5、所述接收端將所述第三發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的IP地址/端口對;所述發(fā)起端將所述第三接收端IP地址/端口對作為與所述接收端建立點對點通信連接的IP地址/端口對。
13.根據(jù)權(quán)利要求12所述的方法,其特征在于,步驟A2中所述的接收端對所述邀約消息中包括的STUN服務(wù)器分配的發(fā)起端IP地址/端口對進行連接檢查具體包括所述接收端將所述邀約消息中包括的STUN服務(wù)器分配的發(fā)起端IP地址/端口對作為目的IP地址/端口對,并向該目的IP地址/端口對發(fā)送UDP消息。
14.根據(jù)權(quán)利要求13所述的方法,其特征在于,步驟A4中所述的發(fā)起端對所述回應(yīng)消息中包括的STUN服務(wù)器分配的接收端IP地址/端口對進行連接檢查具體包括所述發(fā)起端將所述回應(yīng)消息中包括的STUN服務(wù)器分配的接收端IP地址/端口對作為目的IP地址/端口對,并向該目的IP地址/端口對發(fā)送UDP消息。
15.根據(jù)權(quán)利要求12所述的方法,其特征在于,所述步驟A4與A5之間還包括以下步驟步驟A401、所述接收端對所述邀約消息中包括的每個發(fā)起端IP地址/端口對進行連接檢查,選取其中能夠連接到所述發(fā)起端且優(yōu)先級最高的發(fā)起端IP地址/端口對,作為第四發(fā)起端IP地址/端口對;所述發(fā)起端對所述回應(yīng)消息中包括的每個接收端IP地址/端口對進行連接檢查,選取其中能夠連接到所述接收端且優(yōu)先級最高的接收端IP地址/端口對,作為第四接收端IP地址/端口對。
16.根據(jù)權(quán)利要求15所述的方法,其特征在于,所述步驟A2具體包括以下步驟步驟A20、所述接收端檢查所述邀約消息中是否包括STUN服務(wù)器分配的發(fā)起端IP地址/端口對,是則執(zhí)行步驟A21,否則執(zhí)行步驟A3;步驟A21、所述接收端選取所述邀約消息中包括的STUN服務(wù)器分配的發(fā)起端IP地址/端口對中的、能夠連接到所述發(fā)起端的、且優(yōu)先級最高的IP地址/端口對,作為第三發(fā)起端IP地址/端口對。
17.根據(jù)權(quán)利要求16所述的方法,其特征在于,所述步驟A4具體包括以下步驟步驟A40、所述發(fā)起端檢查所述回應(yīng)消息中是否包括STUN服務(wù)器分配的接收端IP地址/端口對,是則執(zhí)行步驟A41,否則執(zhí)行步驟A401;步驟A41、所述發(fā)起端選取所述回應(yīng)消息中包括的STUN服務(wù)器分配的接收端IP地址/端口對中的、能夠連接到所述接收端的、且優(yōu)先級最高的IP地址/端口對,作為第三接收端IP地址/端口對,然后執(zhí)行步驟A5。
18.根據(jù)權(quán)利要求16或17所述的方法,其特征在于,所述步驟A5具體包括以下步驟步驟A50、所述接收端判斷是否已選取所述第三發(fā)起端IP地址/端口對,是則執(zhí)行步驟A51,否則執(zhí)行步驟A52;步驟A51、所述接收端將所述第三發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的發(fā)起端IP地址/端口對,然后執(zhí)行步驟A53;步驟A52、所述接收端將所述第四發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的發(fā)起端IP地址/端口對;步驟A53、所述發(fā)起端判斷是否已選取所述第三接收端IP地址/端口對,是則執(zhí)行步驟A54,否則執(zhí)行步驟A55;步驟A54、所述發(fā)起端將所述第三接收端IP地址/端口對作為與所述接收端建立點對點通信連接的接收端IP地址/端口對,然后結(jié)束;步驟A55、所述發(fā)起端將所述第四接收端IP地址/端口對作為與所述接收端建立點對點通信連接的接收端IP地址/端口對,然后結(jié)束。
19.根據(jù)權(quán)利要求16或17所述的方法,其特征在于,所述步驟A5具體包括以下步驟步驟A50′、所述發(fā)起端判斷是否已選取所述第三接收端IP地址/端口對,是則執(zhí)行步驟A51′,否則執(zhí)行步驟A52′;步驟A51′、所述發(fā)起端將所述第三接收端IP地址/端口對作為與所述接收端建立點對點通信連接的接收端IP地址/端口對,然后執(zhí)行步驟A53′;步驟A52′、所述發(fā)起端將所述第四接收端IP地址/端口對作為與所述接收端建立點對點通信連接的接收端IP地址/端口對;步驟A53′、所述接收端判斷是否已選取所述第三發(fā)起端IP地址/端口對,是則執(zhí)行步驟A54′,否則執(zhí)行步驟A55′;步驟A54′、所述接收端將所述第三發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的發(fā)起端IP地址/端口對,然后結(jié)束;步驟A55′、所述接收端將所述第四發(fā)起端IP地址/端口對作為與所述發(fā)起端建立點對點通信連接的發(fā)起端IP地址/端口對,然后結(jié)束。
全文摘要
一種點對點通信中穿越網(wǎng)絡(luò)地址轉(zhuǎn)換的方法,包括以下步驟在步驟1中發(fā)起端將收集到的發(fā)起端IP地址/端口對及對應(yīng)的優(yōu)先級發(fā)送給接收端;在步驟2中接收端將收集到的接收端IP地址/端口對及對應(yīng)的優(yōu)先級發(fā)送給發(fā)起端;在步驟3中接收端對邀約消息中的每個發(fā)起端IP地址/端口對進行連接檢查;發(fā)起端對回應(yīng)消息中包括的每個接收端IP地址/端口對進行連接檢查;在步驟4中接收端對邀約消息中包括的STUN服務(wù)器分配的發(fā)起端IP地址/端口對進行連接檢查;發(fā)起端對回應(yīng)消息中的STUN服務(wù)器分配的接收端IP地址/端口對進行連接檢查。本發(fā)明能夠降低TURN服務(wù)器的負擔和帶寬需求,且不需分析網(wǎng)絡(luò)拓撲結(jié)構(gòu)。
文檔編號H04L12/28GK1968226SQ200610076880
公開日2007年5月23日 申請日期2006年4月18日 優(yōu)先權(quán)日2006年4月18日
發(fā)明者解俊 申請人:華為技術(shù)有限公司