欧美在线观看视频网站,亚洲熟妇色自偷自拍另类,啪啪伊人网,中文字幕第13亚洲另类,中文成人久久久久影院免费观看 ,精品人妻人人做人人爽,亚洲a视频

端到端通信方法和系統(tǒng)與流程

文檔序號:12182508閱讀:882來源:國知局
端到端通信方法和系統(tǒng)與流程

本發(fā)明涉及通信領(lǐng)域,特別是一種端到端通信方法和系統(tǒng)。



背景技術(shù):

在復(fù)雜網(wǎng)絡(luò)環(huán)境下,如用戶到用戶(C2C)通信時通信一方位于對稱NAT(Network Address Translation,網(wǎng)絡(luò)地址轉(zhuǎn)換)設(shè)備后,或者通信雙方所屬IP地址族不同時,二者之間的數(shù)據(jù)通信必須通過一個中轉(zhuǎn)設(shè)備(Relay)來完成。目前業(yè)界基本都采用TURN(RFC 5766)的方案來實現(xiàn)。但TURN的實現(xiàn)要求在TURN服務(wù)器上為每個客戶分配單獨的Relay地址,其對于TCP(Transmission Control Protocol,傳輸控制協(xié)議)、UDP(User Data Protocol,用戶數(shù)據(jù)報協(xié)議)數(shù)據(jù)流的中轉(zhuǎn)采用不同的方案來實現(xiàn),導(dǎo)致TURN的實現(xiàn)只能采用集中部署的方式來實現(xiàn),難以充分利用現(xiàn)網(wǎng)已經(jīng)部署的大量CGN(Carrier-Grade NAT,運營商級NAT)/CDN(Content Delivery Network,內(nèi)容分發(fā)網(wǎng)絡(luò))設(shè)備能力。

針對此問題,在IETF TRAM工作組中,提出了一種TURN-Lite的解決方案,該方案實現(xiàn)的拓撲結(jié)構(gòu)如附圖1所示。在圖1中,如果兩客戶均位于同一個SP(Service Provider,業(yè)務(wù)內(nèi)容提供商)域內(nèi),則通過一個集中部署的RS(Relay Selector,中轉(zhuǎn)選擇)設(shè)備,依據(jù)通信雙方的Reflex地址,RS就可以為通信雙方選擇一個合適的Relay設(shè)備,并將對應(yīng)的數(shù)據(jù)轉(zhuǎn)發(fā)映射表下發(fā)給所選擇的Relay設(shè)備。后續(xù)雙方的數(shù)據(jù)通信就都通過該Relay設(shè)備中轉(zhuǎn)。TURN-Lite與TURN的差別在于,TURN-Lite無需為通信的每一方都分配不同的Relay地址,針對TCP、UDP通信采用一致的通信流程,對Relay設(shè)備的要求較低,易于集成到現(xiàn)網(wǎng)已經(jīng)分布部署的CGN/CDN設(shè)備中,實現(xiàn)數(shù)據(jù)的優(yōu)化轉(zhuǎn) 發(fā)。

但當前TURN-Lite的實現(xiàn)方案僅能實現(xiàn)通信雙方在同一個SP域內(nèi)時的通信。當通信雙方位于不同的域時,由于RS無法直接給位于其他域的Relay設(shè)備下發(fā)映射表,雙方間的優(yōu)化通信通道就無法實現(xiàn)。



技術(shù)實現(xiàn)要素:

本發(fā)明的目的在于解決不同域間用戶數(shù)據(jù)通道優(yōu)化的問題。

根據(jù)本發(fā)明的一個方面,提出一種端到端通信方法,包括:第一終端在與第二終端進行通信時,向注冊服務(wù)器發(fā)送通信請求;注冊服務(wù)器接收到通信請求后,判斷第一終端和第二終端是否處于同一域;若第一終端和第二終端處于不同的域,則注冊服務(wù)器分別向第一終端所屬域中的第一中轉(zhuǎn)選擇設(shè)備和第二終端所屬域中的第二中轉(zhuǎn)選擇設(shè)備發(fā)送數(shù)據(jù)中轉(zhuǎn)申請;第一中轉(zhuǎn)選擇設(shè)備在所屬域中為第一終端選擇第一數(shù)據(jù)中轉(zhuǎn)設(shè)備,第二中轉(zhuǎn)選擇設(shè)備在所屬域中為第二終端選擇第二數(shù)據(jù)中轉(zhuǎn)設(shè)備;第一中轉(zhuǎn)選擇設(shè)備和第二中轉(zhuǎn)選擇設(shè)備通過注冊服務(wù)器交換選擇結(jié)果;第一中轉(zhuǎn)選擇設(shè)備向第一數(shù)據(jù)中轉(zhuǎn)設(shè)備下發(fā)映射表,第二中轉(zhuǎn)選擇設(shè)備向第二數(shù)據(jù)中轉(zhuǎn)設(shè)備下發(fā)映射表;第一數(shù)據(jù)中轉(zhuǎn)設(shè)備和第二數(shù)據(jù)中轉(zhuǎn)設(shè)備利用映射表,在第一數(shù)據(jù)中轉(zhuǎn)設(shè)備和第二數(shù)據(jù)中轉(zhuǎn)設(shè)備之間建立隧道,以便第一終端利用隧道與第二終端進行通信。

進一步地,第一中轉(zhuǎn)選擇設(shè)備和第二中轉(zhuǎn)選擇設(shè)備通過注冊服務(wù)器交換選擇結(jié)果的步驟包括:第一中轉(zhuǎn)選擇設(shè)備將第一數(shù)據(jù)中轉(zhuǎn)設(shè)備的第一Well-known地址以及獲取的第一終端相對于第一Well-known地址的Reflex Transport地址通過注冊服務(wù)器發(fā)送給第二中轉(zhuǎn)選擇設(shè)備;第二中轉(zhuǎn)選擇設(shè)備將第二數(shù)據(jù)中轉(zhuǎn)設(shè)備的第二Well-known地址以及獲取的第二終端相對于第二Well-known地址的Reflex Transport地址通過注冊服務(wù)器發(fā)送給第一中轉(zhuǎn)選擇設(shè)備。

進一步地,第一中轉(zhuǎn)選擇設(shè)備獲取第一終端相對于第一Well-known地址的Reflex Transport地址的步驟包括:第一終端向第 一數(shù)據(jù)中轉(zhuǎn)設(shè)備的第一Well-known地址發(fā)送STUN請求,以獲取第一終端相對于第一Well-known地址的Reflex Transport地址;第一終端將獲取的相對于第一Well-known地址的Reflex Transport地址發(fā)送給第一中轉(zhuǎn)選擇設(shè)備。

第二中轉(zhuǎn)選擇設(shè)備獲取第二終端相對于第二Well-known地址的Reflex Transport地址的步驟包括:第二終端向第二數(shù)據(jù)中轉(zhuǎn)設(shè)備的第二Well-known地址發(fā)送STUN請求,以獲取第二終端相對于第二Well-known地址的Reflex Transport地址;第二終端將獲取的相對于第二Well-known地址的Reflex Transport地址發(fā)送給第二中轉(zhuǎn)選擇設(shè)備。

進一步地,映射表包括第一數(shù)據(jù)中轉(zhuǎn)設(shè)備的第一Well-known地址、第二數(shù)據(jù)中轉(zhuǎn)設(shè)備的第二Well-known地址,以及第一終端相對于第一Well-known地址的Reflex Transport地址、第二終端相對于第二Well-known地址的Reflex Transport地址。

進一步地,第一終端利用隧道與第二終端進行通信的步驟包括:第一終端將第一數(shù)據(jù)流發(fā)送給第一數(shù)據(jù)中轉(zhuǎn)設(shè)備的第一Well-known地址;第一數(shù)據(jù)中轉(zhuǎn)設(shè)備將第一數(shù)據(jù)流封裝在隧道內(nèi),以傳送給第二數(shù)據(jù)中轉(zhuǎn)設(shè)備;第二數(shù)據(jù)中轉(zhuǎn)設(shè)備將從隧道接收到的信息解封裝,以得到第一數(shù)據(jù)流,將第一數(shù)據(jù)流傳送給第二終端。

進一步地,第一終端利用隧道與第二終端進行通信的步驟還包括:第二終端將第二數(shù)據(jù)流發(fā)送給第二數(shù)據(jù)中轉(zhuǎn)設(shè)備的第二Well-known地址;第二數(shù)據(jù)中轉(zhuǎn)設(shè)備將第二數(shù)據(jù)流封裝在隧道內(nèi),以傳送給第一數(shù)據(jù)中轉(zhuǎn)設(shè)備;第一數(shù)據(jù)中轉(zhuǎn)設(shè)備將從隧道接收到的信息解封裝,以得到第二數(shù)據(jù)流,將第二數(shù)據(jù)流傳送給第一終端。

進一步地,若第一終端和第二終端處于同一域,則注冊服務(wù)器向第一終端所屬域中的第一中轉(zhuǎn)選擇設(shè)備發(fā)送數(shù)據(jù)中轉(zhuǎn)申請;第一中轉(zhuǎn)選擇設(shè)備在所屬域中,為第一終端和第二終端選擇第三數(shù)據(jù)中轉(zhuǎn)設(shè)備,以便第一終端和第二終端通過第三數(shù)據(jù)中轉(zhuǎn)設(shè)備進行通信。

通過這樣的方法,當通信的用戶處于不同域時,可以通過注冊服 務(wù)器交互數(shù)據(jù)中轉(zhuǎn)設(shè)備的選擇結(jié)果,生成不同域用戶間數(shù)據(jù)通道優(yōu)化的映射表,從而在不同域間建立隧道,實現(xiàn)不同域用戶之間通信的數(shù)據(jù)通道優(yōu)化。

根據(jù)本發(fā)明的另一個方面,提出一種端到端通信系統(tǒng),包括:注冊服務(wù)器、第一中轉(zhuǎn)選擇設(shè)備、第二中轉(zhuǎn)選擇設(shè)備、第一數(shù)據(jù)中轉(zhuǎn)設(shè)備、第二數(shù)據(jù)中轉(zhuǎn)設(shè)備、第一終端和第二終端,其中:第一終端,用于在與第二終端進行通信時,向注冊服務(wù)器發(fā)送通信請求;第二終端,用于與第一終端通信;注冊服務(wù)器,用于接收到來自第一終端的通信請求后,判斷第一終端和第二終端是否處于同一域,若第一終端和第二終端處于不同的域,則分別向第一終端所屬域中的第一中轉(zhuǎn)選擇設(shè)備和第二終端所屬域中的第二中轉(zhuǎn)選擇設(shè)備發(fā)送數(shù)據(jù)中轉(zhuǎn)申請;接收到來自第一中轉(zhuǎn)選擇設(shè)備和第二中轉(zhuǎn)選擇設(shè)備的選擇結(jié)果后,交換第一中轉(zhuǎn)選擇設(shè)備和第二中轉(zhuǎn)選擇設(shè)備的選擇結(jié)果;第一中轉(zhuǎn)選擇設(shè)備,用于在所屬域中為第一終端選擇第一數(shù)據(jù)中轉(zhuǎn)設(shè)備,以及與第二中轉(zhuǎn)選擇設(shè)備交互選擇結(jié)果,并向第一數(shù)據(jù)中轉(zhuǎn)設(shè)備下發(fā)映射表;第二中轉(zhuǎn)選擇設(shè)備,用于在所屬域中為第二終端選擇第二數(shù)據(jù)中轉(zhuǎn)設(shè)備,以及與第一中轉(zhuǎn)選擇設(shè)備交互選擇結(jié)果,并向第二數(shù)據(jù)中轉(zhuǎn)設(shè)備下發(fā)映射表;第一數(shù)據(jù)中轉(zhuǎn)設(shè)備和第二數(shù)據(jù)中轉(zhuǎn)設(shè)備,用于利用映射表在第一數(shù)據(jù)中轉(zhuǎn)設(shè)備和第二數(shù)據(jù)中轉(zhuǎn)設(shè)備之間建立隧道,以便第一終端利用隧道與第二終端進行通信。

進一步地,第一中轉(zhuǎn)選擇設(shè)備用于與第二中轉(zhuǎn)選擇設(shè)備交互選擇結(jié)果具體包括:將第一數(shù)據(jù)中轉(zhuǎn)設(shè)備的第一Well-known地址以及獲取的第一終端相對于第一Well-known地址的Reflex Transport地址通過注冊服務(wù)器發(fā)送給第二中轉(zhuǎn)選擇設(shè)備;第二中轉(zhuǎn)選擇設(shè)備用于與第一中轉(zhuǎn)選擇設(shè)備交互選擇結(jié)果具體包括:將第二數(shù)據(jù)中轉(zhuǎn)設(shè)備的第二Well-known地址以及獲取的第二終端相對于第二Well-known地址的Reflex Transport地址通過注冊服務(wù)器發(fā)送給第一中轉(zhuǎn)選擇設(shè)備。

進一步地,第一中轉(zhuǎn)選擇設(shè)備獲取第一終端相對于第一Well-known地址的Reflex Transport地址的步驟包括:第一終端向第 一數(shù)據(jù)中轉(zhuǎn)設(shè)備的第一Well-known地址發(fā)送STUN請求,以獲取第一終端相對于第一Well-known地址的Reflex Transport地址;第一終端將獲取的相對于第一Well-known地址的Reflex Transport地址發(fā)送給第一中轉(zhuǎn)選擇設(shè)備。

第二中轉(zhuǎn)選擇設(shè)備獲取第二終端相對于第二Well-known地址的Reflex Transport地址的步驟包括:第二終端向第二數(shù)據(jù)中轉(zhuǎn)設(shè)備的第二Well-known地址發(fā)送STUN請求,以獲取第二終端相對于第二Well-known地址的Reflex Transport地址;第二終端將獲取的相對于第二Well-known地址的Reflex Transport地址發(fā)送給第二中轉(zhuǎn)選擇設(shè)備。

進一步地,映射表包括第一數(shù)據(jù)中轉(zhuǎn)設(shè)備的第一Well-known地址、第二數(shù)據(jù)中轉(zhuǎn)設(shè)備的第二Well-known地址,以及第一終端相對于第一Well-known地址的Reflex Transport地址、第二終端相對于第二Well-known地址的Reflex Transport地址。

進一步地,第一終端,還用于將第一數(shù)據(jù)流發(fā)送給第一數(shù)據(jù)中轉(zhuǎn)設(shè)備的第一Well-known地址;第一數(shù)據(jù)中轉(zhuǎn)設(shè)備,還用于將第一數(shù)據(jù)流封裝在隧道內(nèi),以傳送給第二數(shù)據(jù)中轉(zhuǎn)設(shè)備;第二數(shù)據(jù)中轉(zhuǎn)設(shè)備,還用于將從隧道接收到的信息解封裝,以得到第一數(shù)據(jù)流,將第一數(shù)據(jù)流傳送給第二終端。

進一步地,第二終端,還用于將第二數(shù)據(jù)流發(fā)送給第二數(shù)據(jù)中轉(zhuǎn)設(shè)備的第二Well-known地址;第二數(shù)據(jù)中轉(zhuǎn)設(shè)備,還用于將第二數(shù)據(jù)流封裝在隧道內(nèi),以傳送給第一數(shù)據(jù)中轉(zhuǎn)設(shè)備;第一數(shù)據(jù)中轉(zhuǎn)設(shè)備,還用于將從隧道接收到的信息解封裝,以得到第二數(shù)據(jù)流,將第二數(shù)據(jù)流傳送給第一終端。

進一步地,若第一終端和第二終端處于同一域,則注冊服務(wù)器用于向第一終端所屬域中的第一中轉(zhuǎn)選擇設(shè)備發(fā)送數(shù)據(jù)中轉(zhuǎn)申請;第一中轉(zhuǎn)選擇設(shè)備,用于在所屬域中為第一終端和第二終端選擇第三數(shù)據(jù)中轉(zhuǎn)設(shè)備,以便第一終端和第二終端通過第三數(shù)據(jù)中轉(zhuǎn)設(shè)備進行通信。

這樣的系統(tǒng),當通信的用戶處于不同SP域時,可以通過注冊服 務(wù)器交互數(shù)據(jù)中轉(zhuǎn)設(shè)備的選擇結(jié)果,生成不同SP域用戶間通信優(yōu)化的映射表,從而在不同域間建立隧道,實現(xiàn)不同域用戶之間通信的通道優(yōu)化。

附圖說明

此處所說明的附圖用來提供對本發(fā)明的進一步理解,構(gòu)成本申請的一部分,本發(fā)明的示意性實施例及其說明用于解釋本發(fā)明,并不構(gòu)成對本發(fā)明的不當限定。在附圖中:

圖1為現(xiàn)有技術(shù)中用戶終端位于同一域的拓撲圖。

圖2為本發(fā)明的端到端通信方法的一個實施例的流程圖。

圖3為本發(fā)明的端到端通信方法的一個實施例的信令交互圖。

圖4為本發(fā)明的端到端通信系統(tǒng)的一個實施例的示意圖。

圖5為本發(fā)明的端到端通信系統(tǒng)的另一實施例的示意圖。

具體實施方式

下面通過附圖和實施例,對本發(fā)明的技術(shù)方案做進一步的詳細描述。

本發(fā)明的端到端通信方法的一個實施例的流程圖如圖2所示。

在步驟201中,第一終端向注冊服務(wù)器發(fā)送通信請求,請求與第二終端通信。

在步驟202中,注冊服務(wù)器接收到通信請求后,判斷第一終端和第二終端是否處于同一域。若第一終端和第二終端不處于同一域,則執(zhí)行步驟203。

在步驟203中,注冊服務(wù)器分別向第一終端所屬域中的第一中轉(zhuǎn)選擇設(shè)備(Relay Selector,RS)和第二終端所屬域中的第二中轉(zhuǎn)選擇設(shè)備發(fā)送數(shù)據(jù)中轉(zhuǎn)申請。

在步驟204中,第一中轉(zhuǎn)選擇設(shè)備在所屬域中為第一終端選擇第一數(shù)據(jù)中轉(zhuǎn)設(shè)備,第二中轉(zhuǎn)選擇設(shè)備在所屬域中為第二終端選擇第二數(shù)據(jù)中轉(zhuǎn)設(shè)備。例如,數(shù)據(jù)中轉(zhuǎn)設(shè)備可以為CGN。

在步驟205中,第一中轉(zhuǎn)選擇設(shè)備和第二中轉(zhuǎn)選擇設(shè)備通過注冊服務(wù)器交換選擇結(jié)果。

在步驟206中,第一中轉(zhuǎn)選擇設(shè)備向第一數(shù)據(jù)中轉(zhuǎn)設(shè)備下發(fā)映射表,第二中轉(zhuǎn)選擇設(shè)備向第二數(shù)據(jù)中轉(zhuǎn)設(shè)備下發(fā)映射表。

在步驟207中,第一數(shù)據(jù)中轉(zhuǎn)設(shè)備和第二數(shù)據(jù)中轉(zhuǎn)設(shè)備利用映射表,在第一數(shù)據(jù)中轉(zhuǎn)設(shè)備和第二數(shù)據(jù)中轉(zhuǎn)設(shè)備之間建立隧道,以便第一終端利用隧道與第二終端進行通信。

通過這樣的方法,當通信的用戶處于不同SP域時,可以通過注冊服務(wù)器交互數(shù)據(jù)中轉(zhuǎn)設(shè)備的選擇結(jié)果,生成不同SP域用戶間通信優(yōu)化的映射表,從而在不同域間建立隧道,實現(xiàn)不同域用戶之間通信的通道優(yōu)化。

在一個實施例中,第一中轉(zhuǎn)選擇設(shè)備將第一數(shù)據(jù)中轉(zhuǎn)設(shè)備的第一Well-known地址以及獲取的第一終端相對于第一Well-known地址的Reflex Transport地址通過注冊服務(wù)器發(fā)送給第二中轉(zhuǎn)選擇設(shè)備;第二中轉(zhuǎn)選擇設(shè)備將第二數(shù)據(jù)中轉(zhuǎn)設(shè)備的第二Well-known地址以及獲取的第二終端相對于第二Well-known地址的Reflex Transport地址通過注冊服務(wù)器發(fā)送給第一中轉(zhuǎn)選擇設(shè)備。Well-known地址為數(shù)據(jù)中轉(zhuǎn)設(shè)備的能夠供公開訪問的地址,Reflex Transport地址為數(shù)據(jù)中轉(zhuǎn)設(shè)備為終端分配的外部網(wǎng)絡(luò)能夠看到的地址。

通過這樣的方法,能夠?qū)崿F(xiàn)不同域中確定的數(shù)據(jù)中轉(zhuǎn)設(shè)備信息和終端Reflex Transport地址的交互,為不同域間數(shù)據(jù)通道優(yōu)化創(chuàng)造條件。

在一個實施例中,終端需要向數(shù)據(jù)中轉(zhuǎn)設(shè)備的Well-known地址發(fā)送STUN請求,數(shù)據(jù)中轉(zhuǎn)設(shè)備會將終端相對于Well-known地址的Reflex Transport地址返回終端。通過這樣的方法,第一終端和第二終端分別從第一數(shù)據(jù)中轉(zhuǎn)設(shè)備和第二數(shù)據(jù)中轉(zhuǎn)設(shè)備獲取Reflex Transport地址,并能夠?qū)⒃揜eflex Transport地址發(fā)送給所屬域的中轉(zhuǎn)選擇設(shè)備,以便與其他域的中轉(zhuǎn)選擇設(shè)備交互,從而生成映射表。

在一個實施例中,映射表包括第一數(shù)據(jù)中轉(zhuǎn)設(shè)備的第一 Well-known地址、第二數(shù)據(jù)中轉(zhuǎn)設(shè)備的第二Well-known地址,以及第一終端相對于第一Well-known地址的Reflex Transport地址、第二終端相對于第二Well-known地址的Reflex Transport地址。在一個實施例中,映射表包括表1中的字段。

表1

如表1所示,映射表項中還可以包括Protocol字段,用于標明終端間通信所使用的應(yīng)用層協(xié)議。映射表項中還可以包括Action字段,當Action=1時,在數(shù)據(jù)中轉(zhuǎn)設(shè)備中增加該映射表;當Action=0時,在數(shù)據(jù)中轉(zhuǎn)設(shè)備中刪除已有的對應(yīng)映射表。

通過這樣的方法,能夠?qū)?shù)據(jù)通道優(yōu)化的映射信息下發(fā)到數(shù)據(jù)中轉(zhuǎn)設(shè)備,從而能夠根據(jù)映射表信息實現(xiàn)數(shù)據(jù)通道優(yōu)化。

在一個實施例中,當數(shù)據(jù)中轉(zhuǎn)設(shè)備獲取映射表后,第一終端將第一數(shù)據(jù)流發(fā)送給第一數(shù)據(jù)中轉(zhuǎn)設(shè)備的第一Well-known地址;第一數(shù)據(jù)中轉(zhuǎn)設(shè)備將第一數(shù)據(jù)流封裝在隧道內(nèi),以傳送給第二數(shù)據(jù)中轉(zhuǎn)設(shè)備;第二數(shù)據(jù)中轉(zhuǎn)設(shè)備將從隧道接收到的信息解封裝,以得到第一數(shù)據(jù)流,將第一數(shù)據(jù)流傳送給第二終端。

同理,第二終端也可以將第二數(shù)據(jù)流發(fā)送給第二數(shù)據(jù)中轉(zhuǎn)設(shè)備的第二Well-known地址;第二數(shù)據(jù)中轉(zhuǎn)設(shè)備將第二數(shù)據(jù)流封裝在隧道 內(nèi),以傳送給第一數(shù)據(jù)中轉(zhuǎn)設(shè)備;第一數(shù)據(jù)中轉(zhuǎn)設(shè)備將從隧道接收到的信息解封裝,以得到第二數(shù)據(jù)流,將第二數(shù)據(jù)流傳送給第一終端。

通過這樣的方法,在兩個數(shù)據(jù)中轉(zhuǎn)設(shè)備之間建立隧道,從而實現(xiàn)兩個終端經(jīng)過隧道進行交互,實現(xiàn)了跨域的數(shù)據(jù)通道優(yōu)化。

在一個實施例中,當注冊服務(wù)器判斷第一終端和第二終端位于同一域時,注冊服務(wù)器會向終端所屬的域下發(fā)數(shù)據(jù)中轉(zhuǎn)申請,中轉(zhuǎn)選擇設(shè)備會為第一終端和第二終端選擇第三數(shù)據(jù)中轉(zhuǎn)設(shè)備,第一終端和第二終端通過第三數(shù)據(jù)中轉(zhuǎn)設(shè)備進行通信。

通過這樣的方法,實現(xiàn)了本發(fā)明的方法在終端位于同一域和不同域時的應(yīng)用兼容,更加完整,且更具有實用性。

在一個實施例中,本發(fā)明的端到端通信方法的信令交互圖如圖3所示。

在步驟301中,第一終端向注冊服務(wù)器發(fā)送通信請求,請求與位于不同域的第二終端通信。

在步驟302中,注冊服務(wù)器分別向第一終端所在域的第一中轉(zhuǎn)選擇設(shè)備、第二終端所在域的第二中轉(zhuǎn)選擇設(shè)備下發(fā)數(shù)據(jù)中轉(zhuǎn)申請。

在步驟303中,第一中轉(zhuǎn)設(shè)備在所屬域中為第一終端選擇第一數(shù)據(jù)中轉(zhuǎn)設(shè)備作為中轉(zhuǎn)設(shè)備;第二中轉(zhuǎn)設(shè)備在所屬域中為第二終端選擇第二數(shù)據(jù)中轉(zhuǎn)設(shè)備作為中轉(zhuǎn)設(shè)備。

在步驟304中,第一中轉(zhuǎn)選擇設(shè)備將第一數(shù)據(jù)中轉(zhuǎn)設(shè)備的Well-known地址發(fā)送給第一終端;第二中轉(zhuǎn)選擇設(shè)備將第二數(shù)據(jù)中轉(zhuǎn)設(shè)備的Well-known地址發(fā)送給第二終端。

在步驟305中,第一終端向第一數(shù)據(jù)中轉(zhuǎn)設(shè)備發(fā)送STUN請求,請求第一數(shù)據(jù)中轉(zhuǎn)設(shè)備分配Reflex Transport地址;第二終端分別向第二數(shù)據(jù)中轉(zhuǎn)設(shè)備發(fā)送STUN請求,請求第二數(shù)據(jù)中轉(zhuǎn)設(shè)備分配Reflex Transport地址。

在步驟306中,第一數(shù)據(jù)中轉(zhuǎn)設(shè)備向第一終端返回Reflex Transport地址;第二數(shù)據(jù)中轉(zhuǎn)設(shè)備向第二終端返回Reflex Transport地址。

在步驟307中,第一終端將Reflex Transport地址發(fā)送給第一中轉(zhuǎn)選擇設(shè)備;第二終端將Reflex Transport地址發(fā)送給第二中轉(zhuǎn)選擇設(shè)備。

在步驟308中,第一中轉(zhuǎn)選擇設(shè)備和第二中轉(zhuǎn)選擇設(shè)備通過注冊服務(wù)器交互中轉(zhuǎn)選擇信息,包括數(shù)據(jù)中轉(zhuǎn)設(shè)備的Well-known地址和終端的Reflex Transport地址。

在步驟309中,第一中轉(zhuǎn)選擇設(shè)備根據(jù)所屬域的第一數(shù)據(jù)中轉(zhuǎn)設(shè)備的Well-known地址和第一終端的Reflex Transport地址,以及通過注冊服務(wù)器獲取的第二終端所在域的第二數(shù)據(jù)中轉(zhuǎn)設(shè)備的Well-known地址和第二終端的Reflex Transport地址,生成映射表,并下發(fā)給第一數(shù)據(jù)中轉(zhuǎn)設(shè)備;第二中轉(zhuǎn)選擇設(shè)備根據(jù)所屬域的第二數(shù)據(jù)中轉(zhuǎn)設(shè)備的Well-known地址和第二終端的Reflex Transport地址,以及通過注冊服務(wù)器獲取的第一終端所在域的第一數(shù)據(jù)中轉(zhuǎn)設(shè)備的Well-known地址和第一終端的Reflex Transport地址,生成映射表,并下發(fā)給第二數(shù)據(jù)中轉(zhuǎn)設(shè)備。

在步驟310中,第一數(shù)據(jù)中轉(zhuǎn)設(shè)備和第二數(shù)據(jù)中轉(zhuǎn)設(shè)備利用接收到的映射表建立的隧道。

在步驟311中,第一終端和第二終端通過在第一數(shù)據(jù)中轉(zhuǎn)設(shè)備和第二數(shù)據(jù)中轉(zhuǎn)設(shè)備之間建立的隧道進行通信。

通過這樣的方法,數(shù)據(jù)中轉(zhuǎn)設(shè)備能夠獲取本域中數(shù)據(jù)中轉(zhuǎn)設(shè)備的Well-known地址和終端的Reflex Transport地址,以及其他域的數(shù)據(jù)中轉(zhuǎn)設(shè)備的Well-known地址和終端的Reflex Transport地址,從而生成與其他域的終端通信的映射表,實現(xiàn)不同域終端通信的數(shù)據(jù)通道優(yōu)化。

本發(fā)明的端到端通信系統(tǒng)的一個實施例的示意圖如圖4所示,包括注冊服務(wù)器、第一中轉(zhuǎn)選擇設(shè)備、第二中轉(zhuǎn)選擇設(shè)備、第一數(shù)據(jù)中轉(zhuǎn)設(shè)備、第二數(shù)據(jù)中轉(zhuǎn)設(shè)備、第一終端和第二終端。第一中轉(zhuǎn)選擇設(shè)備、第一數(shù)據(jù)中轉(zhuǎn)設(shè)備和第一終端位于第一域中;第二中轉(zhuǎn)選擇設(shè)備、第二數(shù)據(jù)中轉(zhuǎn)設(shè)和第二終端位于第二域中。

當?shù)谝唤K端向注冊服務(wù)器發(fā)送通信請求,請求與第二終端通信時,注冊服務(wù)器判斷第一終端和第二終端是否處于同一域,若第一終端和第二終端處于不同的域,則分別向第一終端所屬域中的第一中轉(zhuǎn)選擇設(shè)備和第二終端所屬域中的第二中轉(zhuǎn)選擇設(shè)備發(fā)送數(shù)據(jù)中轉(zhuǎn)申請。第一中轉(zhuǎn)選擇設(shè)備在域中為第一終端選擇第一數(shù)據(jù)中轉(zhuǎn)設(shè)備;第二中轉(zhuǎn)選擇設(shè)備在域中為第二終端選擇第二數(shù)據(jù)中轉(zhuǎn)設(shè)備。第一中轉(zhuǎn)選擇設(shè)備和第二中轉(zhuǎn)選擇設(shè)備通過注冊服務(wù)器交換選擇結(jié)果,并向所屬域中選擇的數(shù)據(jù)中轉(zhuǎn)設(shè)備下發(fā)映射表。第一數(shù)據(jù)中轉(zhuǎn)設(shè)備和第二數(shù)據(jù)中轉(zhuǎn)設(shè)備利用映射表建立隧道,以便第一終端利用第一數(shù)據(jù)中轉(zhuǎn)設(shè)備和第二數(shù)據(jù)中轉(zhuǎn)設(shè)備之間的隧道與第二終端進行通信。

這樣的系統(tǒng),當通信的用戶處于不同域時,可以通過注冊服務(wù)器交互數(shù)據(jù)中轉(zhuǎn)設(shè)備的選擇結(jié)果,生成不同域用戶間通信的數(shù)據(jù)通道優(yōu)化的映射表,從而在不同域間建立隧道,實現(xiàn)不同域用戶之間通信的數(shù)據(jù)通道優(yōu)化。

在一個實施例中,第一中轉(zhuǎn)選擇設(shè)備將第一數(shù)據(jù)中轉(zhuǎn)設(shè)備的第一Well-known地址以及獲取的第一終端相對于第一Well-known地址的Reflex Transport地址通過注冊服務(wù)器發(fā)送給第二中轉(zhuǎn)選擇設(shè)備;第二中轉(zhuǎn)選擇設(shè)備將第二數(shù)據(jù)中轉(zhuǎn)設(shè)備的第二Well-known地址以及獲取的第二終端相對于第二Well-known地址的Reflex Transport地址通過注冊服務(wù)器發(fā)送給第一中轉(zhuǎn)選擇設(shè)備。Well-known地址為數(shù)據(jù)中轉(zhuǎn)設(shè)備的能夠供公開訪問的地址,Reflex Transport地址為數(shù)據(jù)中轉(zhuǎn)設(shè)備為終端分配的外部網(wǎng)絡(luò)能夠看到的地址。

這樣的系統(tǒng)能夠?qū)崿F(xiàn)不同域中確定的數(shù)據(jù)中轉(zhuǎn)設(shè)備信息和終端Reflex Transport地址的交互,為不同域間數(shù)據(jù)通道優(yōu)化創(chuàng)造條件。

在一個實施例中,終端需要向數(shù)據(jù)中轉(zhuǎn)設(shè)備的Well-known地址發(fā)送STUN請求,數(shù)據(jù)中轉(zhuǎn)設(shè)備會將終端相對于Well-known地址的Reflex Transport地址返回終端。這樣的系統(tǒng)中,第一終端和第二終端分別從第一數(shù)據(jù)中轉(zhuǎn)設(shè)備和第二數(shù)據(jù)中轉(zhuǎn)設(shè)備獲取Reflex Transport地址,并能夠?qū)⒃揜eflex Transport地址發(fā)送給所屬域的中 轉(zhuǎn)選擇設(shè)備,以便與其他域的中轉(zhuǎn)選擇設(shè)備交互,從而生成映射表。

在一個實施例中,如圖4中粗實線所示,當數(shù)據(jù)中轉(zhuǎn)設(shè)備獲取映射表后,第一終端將第一數(shù)據(jù)流發(fā)送給第一數(shù)據(jù)中轉(zhuǎn)設(shè)備的第一Well-known地址;第一數(shù)據(jù)中轉(zhuǎn)設(shè)備將第一數(shù)據(jù)流封裝在隧道內(nèi),以傳送給第二數(shù)據(jù)中轉(zhuǎn)設(shè)備;第二數(shù)據(jù)中轉(zhuǎn)設(shè)備將從隧道接收到的信息解封裝,以得到第一數(shù)據(jù)流,將第一數(shù)據(jù)流傳送給第二終端。

同理,第二終端也可以將第二數(shù)據(jù)流發(fā)送給第二數(shù)據(jù)中轉(zhuǎn)設(shè)備的第二Well-known地址;第二數(shù)據(jù)中轉(zhuǎn)設(shè)備將第二數(shù)據(jù)流封裝在隧道內(nèi),以傳送給第一數(shù)據(jù)中轉(zhuǎn)設(shè)備;第一數(shù)據(jù)中轉(zhuǎn)設(shè)備將從隧道接收到的信息解封裝,以得到第二數(shù)據(jù)流,將第二數(shù)據(jù)流傳送給第一終端。

這樣的系統(tǒng)能夠在兩個數(shù)據(jù)中轉(zhuǎn)設(shè)備之間建立隧道,從而實現(xiàn)兩個終端經(jīng)過隧道進行交互,實現(xiàn)了跨域的數(shù)據(jù)通道優(yōu)化。

在另一個實施例中,如圖5所示,當注冊服務(wù)器判斷第一終端和第二終端位于同一域時,注冊服務(wù)器會向終端所屬的域下發(fā)中轉(zhuǎn)設(shè)備選擇申請。中轉(zhuǎn)選擇設(shè)備會為第一終端和第二終端選擇第三數(shù)據(jù)中轉(zhuǎn)設(shè)備,從而,第一終端和第二終端通過第三數(shù)據(jù)中轉(zhuǎn)設(shè)備進行通信。

這樣的系統(tǒng),實現(xiàn)了本發(fā)明在終端位于同一域和不同域時的應(yīng)用兼容,更加完整,且更具有實用性。

最后應(yīng)當說明的是:以上實施例僅用以說明本發(fā)明的技術(shù)方案而非對齊限制;盡管參照較佳實施例對本發(fā)明進行了詳細的說明,所屬領(lǐng)域的普通技術(shù)人員應(yīng)當理解:依然可以對本發(fā)明的具體實施方式進行修改或者對部分技術(shù)特征進行等同替換;而不脫離本發(fā)明技術(shù)方案的精神,其均應(yīng)涵蓋在本發(fā)明請求保護的技術(shù)方案范圍當中。

當前第1頁1 2 3 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1
乐陵市| 晋江市| 兰坪| 铁岭市| 华阴市| 勐海县| 南漳县| 公安县| 南昌市| 丰顺县| 如皋市| 民乐县| 门头沟区| 瑞昌市| 大厂| 库尔勒市| 合肥市| 巴彦淖尔市| 五原县| 房山区| 阿城市| 文昌市| 浦东新区| 即墨市| 九台市| 五大连池市| 玉田县| 盐山县| 霸州市| 盈江县| 乌苏市| 天柱县| 阜南县| 双桥区| 崇义县| 石棉县| 永州市| 荆门市| 和顺县| 聂拉木县| 曲靖市|