專利名稱:實(shí)現(xiàn)多方通信的方法、裝置及系統(tǒng)的制作方法
技術(shù)領(lǐng)域:
本發(fā)明涉及通信技術(shù)領(lǐng)域,尤其涉及一種實(shí)現(xiàn)多方通信的方法、裝置及系統(tǒng)。
背景技術(shù):
在hterneW因特網(wǎng))的多方通信場景中,在某些情況下第三方需要根據(jù)當(dāng)前處 于通信狀態(tài)的一方提供的信息,來建立所述第三方與當(dāng)前正在通信的另一方(通信對端) 之間的通信連接。例如圖1中所示的情景,Host (主機(jī))A和Host C是互相通信的兩方,互 相知道對方的一些相關(guān)信息,包括地址(現(xiàn)有方案中所述地址僅包括主機(jī)所屬域內(nèi)的IP地 址或者主機(jī)域名)等;由其中一方(Host Α)告訴第三方(Host B)其通信對端(Host C)的 相關(guān)信息以便Host B直接對Host C進(jìn)行尋址并發(fā)起通信請求。然而,由于地址范圍、防火墻等諸多原因,比如Host C使用site (域或者網(wǎng)絡(luò))3 內(nèi)部的私有IP地址,那么Host B根據(jù)Host A所提供的Host C的地址信息是無法直接和 Host C建立通信連接的。針對上述問題,現(xiàn)有技術(shù)中存在通過應(yīng)用層進(jìn)行穿越進(jìn)而實(shí)現(xiàn)Host B和Host C之間的通信連接的方案。結(jié)合圖2所示,如果所有的主機(jī)都已經(jīng)和應(yīng)用服務(wù)器(APP Server)建立了有效的通信連接,則當(dāng)Host B需要和Host C通信的時(shí)候,它可以向應(yīng)用服 務(wù)器通告該請求;應(yīng)用服務(wù)器通過其已經(jīng)和Host C建立的通信連接,來轉(zhuǎn)發(fā)Host B的通信 請求;Host C在接到應(yīng)用服務(wù)器轉(zhuǎn)發(fā)的請求后,隨即向Host B發(fā)起由內(nèi)向外的通信請求, 從而建立起和Host B之間的通信連接。在實(shí)現(xiàn)上述多方通信的過程中,發(fā)明人發(fā)現(xiàn)現(xiàn)有技術(shù)中至少存在如下問題通過應(yīng)用層進(jìn)行穿越進(jìn)而建立Host B和Host C之間的通信連接的方案,其必須 在所有主機(jī)均與應(yīng)用服務(wù)器建立了有效通信連接的前提下方可實(shí)現(xiàn),而且其穿越過程依賴 于應(yīng)用層,且只能為某一特定的應(yīng)用提供服務(wù),缺少通用性;因此,在現(xiàn)有的多方通信過程 中,穿越技術(shù)的應(yīng)用受到了很大限制。
發(fā)明內(nèi)容
本發(fā)明的實(shí)施例提供一種實(shí)現(xiàn)多方通信的方法、裝置及系統(tǒng),用以擴(kuò)展多方通信 中穿越技術(shù)的應(yīng)用。為達(dá)到上述目的,本發(fā)明的實(shí)施例采用如下技術(shù)方案一種實(shí)現(xiàn)多方通信的方法,包括通過網(wǎng)絡(luò)層的轉(zhuǎn)發(fā)節(jié)點(diǎn)向接收節(jié)點(diǎn)發(fā)送通信請求;接收所述接收節(jié)點(diǎn)發(fā)送的通信建立請求,并建立與所述接收節(jié)點(diǎn)之間的通信連 接。一種實(shí)現(xiàn)多方通信的方法,該方法應(yīng)用在網(wǎng)絡(luò)層,且所述方法包括接收發(fā)起節(jié)點(diǎn)發(fā)送的通信請求;判斷所述通信請求是否符合轉(zhuǎn)發(fā)規(guī)則;
如果符合,則將所述通信請求轉(zhuǎn)發(fā)給接收節(jié)點(diǎn)的步驟;如果不符合,則向所述發(fā)起 節(jié)點(diǎn)返回錯(cuò)誤信息。一種實(shí)現(xiàn)多方通信的發(fā)起節(jié)點(diǎn)裝置,包括轉(zhuǎn)發(fā)模塊,用于通過網(wǎng)絡(luò)層的轉(zhuǎn)發(fā)節(jié)點(diǎn)向接收節(jié)點(diǎn)發(fā)送通信請求;接收模塊,用于接收所述接收節(jié)點(diǎn)發(fā)送的通信建立請求,并建立與所述接收節(jié)點(diǎn) 之間的通信連接。一種實(shí)現(xiàn)多方通信的轉(zhuǎn)發(fā)節(jié)點(diǎn)裝置,該轉(zhuǎn)發(fā)節(jié)點(diǎn)裝置位于網(wǎng)絡(luò)層,且該轉(zhuǎn)發(fā)節(jié)點(diǎn) 裝置包括接收模塊,用于接收發(fā)起節(jié)點(diǎn)發(fā)送的通信請求;判斷模塊,用于判斷所述通信請求是否符合轉(zhuǎn)發(fā)規(guī)則;發(fā)送模塊,用于在所述判斷模塊的判斷結(jié)果為符合時(shí),將所述通信請求轉(zhuǎn)發(fā)給接 收節(jié)點(diǎn);在所述判斷模塊的判斷結(jié)果為不符合時(shí),向所述發(fā)起節(jié)點(diǎn)返回錯(cuò)誤信息。一種實(shí)現(xiàn)多方通信的系統(tǒng),包括均位于網(wǎng)絡(luò)層的發(fā)起節(jié)點(diǎn)、轉(zhuǎn)發(fā)節(jié)點(diǎn)及接收節(jié)點(diǎn); 其中,所述發(fā)起節(jié)點(diǎn),用于向所述轉(zhuǎn)發(fā)節(jié)點(diǎn)發(fā)送通信請求,其中攜帶有所述接收節(jié)點(diǎn)的 地址信息;所述轉(zhuǎn)發(fā)節(jié)點(diǎn),用于將所述通信請求轉(zhuǎn)發(fā)給所述接收節(jié)點(diǎn);所述接收節(jié)點(diǎn),用于在接收到所述通信請求后,向所述發(fā)起節(jié)點(diǎn)發(fā)送通信建立請 求。本發(fā)明實(shí)施例提供的實(shí)現(xiàn)多方通信的方法、裝置及系統(tǒng),通過位于網(wǎng)絡(luò)層的轉(zhuǎn)發(fā) 節(jié)點(diǎn)實(shí)現(xiàn)通信請求的穿越,由于整個(gè)過程的實(shí)現(xiàn)都是基于網(wǎng)絡(luò)層,對各種上層應(yīng)用也都可 適用;而且,本發(fā)明實(shí)施例提供的方案不以所有主機(jī)都必須和應(yīng)用層的轉(zhuǎn)發(fā)節(jié)點(diǎn)之間存在 已有連接為條件,因此大大擴(kuò)展了多方通信中穿越技術(shù)的應(yīng)用場景。
為了更清楚地說明本發(fā)明實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對實(shí)施例描述 中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖僅僅是本發(fā)明的一些 實(shí)施例,對于本領(lǐng)域普通技術(shù)人員來講,在不付出創(chuàng)造性勞動性的前提下,還可以根據(jù)這些 附圖獲得其他的附圖。圖1為現(xiàn)有技術(shù)中在網(wǎng)絡(luò)層進(jìn)行多方通信的原理圖;圖2為現(xiàn)有的多方通信過程中通過應(yīng)用層實(shí)現(xiàn)穿越的原理圖;圖3為本發(fā)明實(shí)施例一提供的方法的流程圖;圖4為本發(fā)明實(shí)施例一提供的裝置的結(jié)構(gòu)示意圖;圖5為本發(fā)明實(shí)施例二提供的方法的流程圖;圖6為本發(fā)明實(shí)施例二提供的裝置的結(jié)構(gòu)示意圖;圖7為本發(fā)明實(shí)施例三提供的方法的信令流程圖;圖8為本發(fā)明實(shí)施例四提供的方法的信令流程圖;圖9為本發(fā)明實(shí)施例五提供的裝置的結(jié)構(gòu)示意圖;圖10為本發(fā)明實(shí)施例六提供的系統(tǒng)的結(jié)構(gòu)示意圖11為本發(fā)明實(shí)施例提供的不同IP協(xié)議網(wǎng)絡(luò)間進(jìn)行穿越的實(shí)例的原理圖。
具體實(shí)施例方式下面將結(jié)合本發(fā)明實(shí)施例中的附圖,對本發(fā)明實(shí)施例中的技術(shù)方案進(jìn)行清楚、完 整地描述,顯然,所描述的實(shí)施例僅僅是本發(fā)明一部分實(shí)施例,而不是全部的實(shí)施例?;?本發(fā)明中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒有作出創(chuàng)造性勞動前提下所獲得的所有其他 實(shí)施例,都屬于本發(fā)明保護(hù)的范圍。下面結(jié)合附圖對本發(fā)明實(shí)施例提供的實(shí)現(xiàn)多方通信的方法、裝置及系統(tǒng)進(jìn)行詳細(xì) 描述。實(shí)施例一如圖3所示,本發(fā)明實(shí)施例提供的實(shí)現(xiàn)多方通信的方法,包括301、通過網(wǎng)絡(luò)層的轉(zhuǎn)發(fā)節(jié)點(diǎn)向接收節(jié)點(diǎn)發(fā)送通信請求。在本實(shí)施例中,所述通信請求中包含有所述接收節(jié)點(diǎn)的地址信息;其中,所述接收節(jié)點(diǎn)的地址信息可以是所述接收節(jié)點(diǎn)所屬域的信息及其域內(nèi)標(biāo) 識;這里所述接收節(jié)點(diǎn)所屬域的信息可以是所述域?qū)?yīng)的網(wǎng)絡(luò)名稱(比如huawei. com)或者協(xié)議名稱;而該接收節(jié)點(diǎn)對應(yīng)的域內(nèi)標(biāo)識可以是其域內(nèi)的IP地址或者主機(jī)名。所述通信請求可以是要求建立IP連接的請求,當(dāng)然也可以是其他的跟不同業(yè)務(wù) 相關(guān)的請求。302、接收所述接收節(jié)點(diǎn)發(fā)送的通信建立請求,并建立與所述接收節(jié)點(diǎn)之間的通信 連接。在本實(shí)施例中,上述步驟的執(zhí)行主體為所述通信請求的發(fā)起節(jié)點(diǎn),該發(fā)起節(jié)點(diǎn)可 以是某一網(wǎng)絡(luò)或者域內(nèi)的主機(jī);所述接收節(jié)點(diǎn)可以是另一個(gè)網(wǎng)絡(luò)或者域內(nèi)的主機(jī),而所述 轉(zhuǎn)發(fā)節(jié)點(diǎn)可以是所述接收節(jié)點(diǎn)所屬網(wǎng)絡(luò)或者域?qū)?yīng)的網(wǎng)關(guān)、或者是與所述發(fā)送節(jié)點(diǎn)和接收 節(jié)點(diǎn)同時(shí)建立有通信連接的第三方設(shè)備。在本實(shí)施例中,上述編號并不用于限定各步驟之間的執(zhí)行順序。為了更好地實(shí)現(xiàn)上述多方通信的方法,本發(fā)明實(shí)施例還提供了一種實(shí)現(xiàn)多方通信 的發(fā)起節(jié)點(diǎn)裝置,如圖4所示,包括轉(zhuǎn)發(fā)模塊41,用于通過網(wǎng)絡(luò)層的轉(zhuǎn)發(fā)節(jié)點(diǎn)向接收節(jié)點(diǎn)發(fā)送通信請求;接收模塊42,用于接收所述接收節(jié)點(diǎn)發(fā)送的通信建立請求,并建立與所述接收節(jié) 點(diǎn)之間的通信連接。本發(fā)明實(shí)施例提供的實(shí)現(xiàn)多方通信的方法及發(fā)起節(jié)點(diǎn)裝置,通過位于網(wǎng)絡(luò)層的轉(zhuǎn) 發(fā)節(jié)點(diǎn)實(shí)現(xiàn)通信請求的穿越,由于整個(gè)過程的實(shí)現(xiàn)都是基于網(wǎng)絡(luò)層,對各種上層應(yīng)用也都 可適用;而且,本發(fā)明實(shí)施例提供的方案不以所有主機(jī)都必須和應(yīng)用層的轉(zhuǎn)發(fā)節(jié)點(diǎn)之間存 在已有連接為條件,因此大大擴(kuò)展了多方通信中穿越技術(shù)的應(yīng)用場景。實(shí)施例二 如圖5所示,本發(fā)明實(shí)施例提供的實(shí)現(xiàn)多方通信的方法,應(yīng)用于網(wǎng)絡(luò)層,具體地包 括501、接收發(fā)起節(jié)點(diǎn)發(fā)送的通信請求。
在本實(shí)施例中,所述通信請求中包含有接收節(jié)點(diǎn)的地址信息,可以是所述接收節(jié) 點(diǎn)所屬域的信息及其域內(nèi)標(biāo)識,用以表明所述通信請求是發(fā)送給所述接收節(jié)點(diǎn)的。502、判斷所述通信請求是否符合轉(zhuǎn)發(fā)規(guī)則。這里的轉(zhuǎn)發(fā)規(guī)則可以是由網(wǎng)絡(luò)層以上的層面制定并下發(fā)給位于網(wǎng)絡(luò)層的轉(zhuǎn)發(fā)節(jié) 點(diǎn)的。例如,所述轉(zhuǎn)發(fā)規(guī)則可以是某項(xiàng)安全認(rèn)證,如果所述通信請求符合所述安全認(rèn)證,則 認(rèn)為其符合轉(zhuǎn)發(fā)規(guī)則;否則,不符合。如果所述通信請求符合轉(zhuǎn)發(fā)規(guī)則,則執(zhí)行步驟503 ;如果不符合,則執(zhí)行步驟504。503、將所述通信請求轉(zhuǎn)發(fā)給接收節(jié)點(diǎn)。504、向所述發(fā)起節(jié)點(diǎn)返回錯(cuò)誤信息。在所述錯(cuò)誤信息中包含有所述通信請求的出 錯(cuò)原因,即其不符合所述轉(zhuǎn)發(fā)規(guī)則的部分,以便發(fā)起節(jié)點(diǎn)在發(fā)起下次通信請求時(shí)加以改進(jìn)。在本實(shí)施例中,上述步驟的執(zhí)行主體為所述通信請求的轉(zhuǎn)發(fā)節(jié)點(diǎn),該轉(zhuǎn)發(fā)節(jié)點(diǎn)可 以是所述接收節(jié)點(diǎn)所屬網(wǎng)絡(luò)或者域?qū)?yīng)的網(wǎng)關(guān)、或者是與所述發(fā)送節(jié)點(diǎn)和接收節(jié)點(diǎn)同時(shí)建 立有通信連接的第三方設(shè)備。為了更好地實(shí)現(xiàn)上述多方通信的方法,本發(fā)明實(shí)施例還提供了一種實(shí)現(xiàn)多方通信 的轉(zhuǎn)發(fā)節(jié)點(diǎn)裝置,該轉(zhuǎn)發(fā)節(jié)點(diǎn)裝置位于網(wǎng)絡(luò)層,且如圖6所示,所述轉(zhuǎn)發(fā)節(jié)點(diǎn)裝置包括接收模塊61,用于接收發(fā)起節(jié)點(diǎn)發(fā)送的通信請求;判斷模塊62,用于判斷所述通信請求是否符合轉(zhuǎn)發(fā)規(guī)則;發(fā)送模塊63,用于在所述判斷模塊62的判斷結(jié)果為符合時(shí),將所述通信請求轉(zhuǎn)發(fā) 給接收節(jié)點(diǎn);在所述判斷模塊62的判斷結(jié)果為不符合時(shí),向所述發(fā)起節(jié)點(diǎn)返回錯(cuò)誤信息。本發(fā)明實(shí)施例提供的實(shí)現(xiàn)多方通信的方法及轉(zhuǎn)發(fā)節(jié)點(diǎn)裝置,在進(jìn)行通信請求轉(zhuǎn)發(fā) 的過程中,首先對所述通信請求進(jìn)行一次驗(yàn)證,判斷其是否符合轉(zhuǎn)發(fā)規(guī)則;如果符合則對所 述通信請求進(jìn)行轉(zhuǎn)發(fā),如果不符合則向發(fā)送端反饋錯(cuò)誤原因,從而避免將攜帶有錯(cuò)誤數(shù)據(jù) 或者攜帶數(shù)據(jù)不全的通信請求發(fā)送至接收端,可以提高通信連接建立的效率。實(shí)施例三下面以一具體實(shí)例對本發(fā)明實(shí)施例提供的實(shí)現(xiàn)多方通信的方法做進(jìn)一步說 明。在當(dāng)前網(wǎng)絡(luò)中,Host A和Host B之間建立有通信連接,Host A和Host C之間通過 VPN(Virtual Private Network,虛擬專用網(wǎng)絡(luò))建立有通信連接;在本實(shí)施例中,以接收節(jié) 點(diǎn)所屬域的網(wǎng)關(guān)作為轉(zhuǎn)發(fā)節(jié)點(diǎn)。具體地,如圖7所示,本發(fā)明實(shí)施例中提供的網(wǎng)關(guān)轉(zhuǎn)發(fā)模式的實(shí)現(xiàn)多方通信的方 法,包括以下步驟701、Host A向Host B (發(fā)起節(jié)點(diǎn))通告Host C(接收節(jié)點(diǎn))相關(guān)的信息,其中包 含有Host C所屬域的信息和Host C在域內(nèi)的標(biāo)識(可能是域內(nèi)的地址或名稱)。比如以 Huawei. com為域標(biāo)識,Host C的內(nèi)部IP地址或主機(jī)名為域內(nèi)標(biāo)識。702、Host B向網(wǎng)關(guān)(Gateway C (轉(zhuǎn)發(fā)節(jié)點(diǎn))發(fā)起通信請求,在該通信請求中攜帶 有Host C的所屬域信息及域內(nèi)標(biāo)識,表明Host B是想和Host C進(jìn)行通信。其中,網(wǎng)關(guān)(Gateway C是Host C所屬的site 3和公網(wǎng)之間的網(wǎng)關(guān),該網(wǎng)關(guān)的地址 信息的獲取方式可以有以下幾種1)所述(Gateway C的地址信息可以是公知的site 3網(wǎng)關(guān)信息;比如以gateway, huawei. com為該域的缺省網(wǎng)關(guān)域名;
2)通過查詢DNS (Domain Name System,域名系統(tǒng))等來獲取所述feitewayC的地 址信息;3)所述(Gateway C的地址信息還可以包含在Host A向Host B發(fā)送的消息里。之后,Host B可以根據(jù)所述(Gateway C的地址信息對其進(jìn)行尋址,并將所述通信 請求發(fā)送給所述(Gateway C。703、Gateway C判斷所接收到的通信請求是否符合轉(zhuǎn)發(fā)規(guī)則;這里的轉(zhuǎn)發(fā)規(guī)則可以是由網(wǎng)絡(luò)層以上的層面制定并下發(fā)給位于網(wǎng)絡(luò)層的轉(zhuǎn)發(fā)節(jié) 點(diǎn)的。例如,所述轉(zhuǎn)發(fā)規(guī)則可以是某項(xiàng)安全認(rèn)證,如果所述通信請求符合所述安全認(rèn)證,則 認(rèn)為其符合轉(zhuǎn)發(fā)規(guī)則;否則,不符合。如果所述通信請求符合轉(zhuǎn)發(fā)規(guī)則,則執(zhí)行步驟704和706 ;如果不符合,則執(zhí)行步 驟 705 和 706。704、Gateway C向Host C轉(zhuǎn)發(fā)所述通信請求。705, Gateway C向Host B返回錯(cuò)誤信息。在所述錯(cuò)誤信息中包含有所述通信請 求的出錯(cuò)原因,以便Host B在發(fā)起下次通信請求時(shí)加以改進(jìn)。706,Host C在接收到所述通信請求后,向Host B發(fā)起通信建立請求,從而建立起 與Host B之間的雙向通信連接。在某些情況下,例如Host C和Host B之間無需經(jīng)過穿越即可建立通信的情況, Gateway C可能只起到安全審查的作用;Host C在接收到所述網(wǎng)關(guān)(iatewayC轉(zhuǎn)發(fā)的通信請 求后,可以不用再次發(fā)起由內(nèi)向外的通信建立請求而直接建立起Host C與Host B之間的 雙向通信連接。本發(fā)明實(shí)施例提供的實(shí)現(xiàn)多方通信的方法,以某一主機(jī)所屬域的網(wǎng)關(guān)作為轉(zhuǎn)發(fā)節(jié) 點(diǎn),繼而通過所述轉(zhuǎn)發(fā)節(jié)點(diǎn)實(shí)現(xiàn)通信請求的穿越,由于整個(gè)過程的實(shí)現(xiàn)都是基于網(wǎng)絡(luò)層,對 各種上層應(yīng)用也都可適用;而且,本發(fā)明實(shí)施例提供的方案不以所有主機(jī)都必須和應(yīng)用層 的轉(zhuǎn)發(fā)節(jié)點(diǎn)之間存在已有連接為條件,因此大大擴(kuò)展了多方通信中穿越技術(shù)的應(yīng)用場景。實(shí)施例四下面以一具體實(shí)例對本發(fā)明實(shí)施例提供的實(shí)現(xiàn)多方通信的方法做進(jìn)一步說明。在 當(dāng)前網(wǎng)絡(luò)中,Host A和Host B之間建立有通信連接,Host A和Host C之間通過VPN網(wǎng)絡(luò) 建立有通信連接;在本實(shí)施例中,以HostA作為轉(zhuǎn)發(fā)節(jié)點(diǎn)。具體地,如圖8所示,本發(fā)明實(shí)施例中提供的主機(jī)代理轉(zhuǎn)發(fā)模式的實(shí)現(xiàn)多方通信 的方法,包括以下步驟SOUHost A向Host B (發(fā)起節(jié)點(diǎn))通告Host C(接收節(jié)點(diǎn))相關(guān)的地址信息,其 中所述Host C的地址信息可以是Host C的私網(wǎng)地址(比如域內(nèi)的地址或名稱)。雖然私網(wǎng)地址在不同的域之間是重疊的,僅依靠私網(wǎng)地址無法唯一確定Host C的 地址;但是,由于這里Host C的地址信息是由HostA告知Host B的,因此Host B只需要完 整的使用這些信息就可以實(shí)現(xiàn)對Host C的尋址。802、Host B根據(jù)獲取到的Host C的地址信息向Host C發(fā)起通信請求。如果所述通信請求發(fā)送成功,則無需進(jìn)行以下步驟;如果所述通信請求發(fā)送失敗, 則繼續(xù)步驟803。803、Host B向HostA (轉(zhuǎn)發(fā)節(jié)點(diǎn))發(fā)起通信請求,在該通信請求中攜帶有Host C的地址信息,表明Host B是想和Host C進(jìn)行通信。804、Host A通過其與Host C之間已建立的通信連接向Host C轉(zhuǎn)發(fā)所述通信請 求。805,Host C在接收到所述通信請求后,向Host B發(fā)起通信建立請求,從而建立起 與Host B之間的雙向通信連接。本發(fā)明實(shí)施例提供的實(shí)現(xiàn)多方通信的方法,以同時(shí)與所述發(fā)起節(jié)點(diǎn)和接收節(jié)點(diǎn)建 立有通信連接的主機(jī)作為轉(zhuǎn)發(fā)節(jié)點(diǎn),繼而通過所述轉(zhuǎn)發(fā)節(jié)點(diǎn)實(shí)現(xiàn)通信請求的穿越,由于整 個(gè)過程的實(shí)現(xiàn)都是基于網(wǎng)絡(luò)層,對各種上層應(yīng)用也都可適用;而且,本發(fā)明實(shí)施例提供的方 案不以所有主機(jī)都必須和應(yīng)用層的轉(zhuǎn)發(fā)節(jié)點(diǎn)之間存在已有連接為條件,因此大大擴(kuò)展了多 方通信中穿越技術(shù)的應(yīng)用場景。實(shí)施例五針對實(shí)施例四中所提供的實(shí)現(xiàn)多方通信的方法,本發(fā)明實(shí)施例還提供了實(shí)現(xiàn)多方 通信的發(fā)起節(jié)點(diǎn)裝置,如圖9所示,包括轉(zhuǎn)發(fā)模塊91、接收模塊92以及發(fā)送模塊93 ;其中,在發(fā)起節(jié)點(diǎn)裝置獲取到接收節(jié)點(diǎn)的地址信息之后,發(fā)送模塊93向所述接收節(jié)點(diǎn) 發(fā)送通信請求;如果發(fā)送模塊93發(fā)送所述通信請求失敗,則所述轉(zhuǎn)發(fā)模塊91通過網(wǎng)絡(luò)層的 轉(zhuǎn)發(fā)節(jié)點(diǎn)向所述接收節(jié)點(diǎn)發(fā)送所述通信請求;所述接收節(jié)點(diǎn)在接收到所述通信請求后,會向發(fā)起節(jié)點(diǎn)裝置發(fā)送一通信建立請 求;則接收模塊92用于接收所述接收節(jié)點(diǎn)發(fā)送的通信建立請求,并建立與所述接收節(jié)點(diǎn)之 間的通信連接。本發(fā)明實(shí)施例提供的實(shí)現(xiàn)多方通信的發(fā)起節(jié)點(diǎn)裝置,通過一同時(shí)與所述發(fā)起節(jié)點(diǎn) 和接收節(jié)點(diǎn)建立有通信連接的主機(jī)實(shí)現(xiàn)通信請求的穿越,由于整個(gè)過程的實(shí)現(xiàn)都是基于網(wǎng) 絡(luò)層,對各種上層應(yīng)用也都可適用;而且,本發(fā)明實(shí)施例提供的方案不以所有主機(jī)都必須和 應(yīng)用層的轉(zhuǎn)發(fā)節(jié)點(diǎn)之間存在已有連接為條件,因此大大擴(kuò)展了多方通信中穿越技術(shù)的應(yīng)用 場景。實(shí)施例六一般來說,在多方通信中同時(shí)存在有通信的發(fā)起節(jié)點(diǎn)、接收節(jié)點(diǎn),并在發(fā)起節(jié)點(diǎn)無 法正常向接收節(jié)點(diǎn)發(fā)送通信請求時(shí),通過一轉(zhuǎn)發(fā)節(jié)點(diǎn)來實(shí)現(xiàn)通信請求的穿越,從而形成完 整的實(shí)現(xiàn)多方通信的系統(tǒng)。如圖10所示,本發(fā)明實(shí)施例提供的實(shí)現(xiàn)多方通信的系統(tǒng),包括均位于網(wǎng)絡(luò)層的發(fā) 起節(jié)點(diǎn)101、轉(zhuǎn)發(fā)節(jié)點(diǎn)102及接收節(jié)點(diǎn)103 ;其中,所述發(fā)起節(jié)點(diǎn)101,用于向所述轉(zhuǎn)發(fā)節(jié)點(diǎn)102發(fā)送通信請求,其中攜帶有所述接收 節(jié)點(diǎn)103的地址信息;所述轉(zhuǎn)發(fā)節(jié)點(diǎn)102,用于將所述通信請求轉(zhuǎn)發(fā)給所述接收節(jié)點(diǎn)103 ;所述接收節(jié)點(diǎn)103,用于在接收到所述通信請求后,向所述發(fā)起節(jié)點(diǎn)101發(fā)送通信建立請求。如果所述轉(zhuǎn)發(fā)節(jié)點(diǎn)102為所述接收節(jié)點(diǎn)103所屬域的網(wǎng)關(guān),則所述轉(zhuǎn)發(fā)節(jié)點(diǎn)102還用于判斷所述通信請求是否符合轉(zhuǎn)發(fā)規(guī)則;如果符合,則所 述轉(zhuǎn)發(fā)節(jié)點(diǎn)102將所述通信請求轉(zhuǎn)發(fā)給所述接收節(jié)點(diǎn)103 ;如果不符合,則所述轉(zhuǎn)發(fā)節(jié)點(diǎn) 102還用于向所述發(fā)起節(jié)點(diǎn)101返回錯(cuò)誤信息。
如果所述轉(zhuǎn)發(fā)節(jié)點(diǎn)102為同時(shí)與所述發(fā)起節(jié)點(diǎn)101和接收節(jié)點(diǎn)103建立有通信連 接的主機(jī),則所述發(fā)起節(jié)點(diǎn)101還用于直接向所述接收節(jié)點(diǎn)103發(fā)送通信請求;如果發(fā)送失敗, 則所述發(fā)起節(jié)點(diǎn)101將所述通信請求發(fā)送給所述轉(zhuǎn)發(fā)節(jié)點(diǎn)102,進(jìn)而通過所述轉(zhuǎn)發(fā)節(jié)點(diǎn)102 將所述通信請求轉(zhuǎn)發(fā)給所述接收節(jié)點(diǎn)103。本發(fā)明實(shí)施例提供的實(shí)現(xiàn)多方通信的系統(tǒng),通過位于網(wǎng)絡(luò)層的轉(zhuǎn)發(fā)節(jié)點(diǎn)實(shí)現(xiàn)通信 請求的穿越,由于整個(gè)過程的實(shí)現(xiàn)都是基于網(wǎng)絡(luò)層,對各種上層應(yīng)用也都可適用;而且,本 發(fā)明實(shí)施例提供的方案不以所有主機(jī)都必須和應(yīng)用層的轉(zhuǎn)發(fā)節(jié)點(diǎn)之間存在已有連接為條 件,因此大大擴(kuò)展了多方通信中穿越技術(shù)的應(yīng)用場景。在本發(fā)明實(shí)施例中,是以公網(wǎng)節(jié)點(diǎn)Host B向非公網(wǎng)節(jié)點(diǎn)Host C發(fā)起通信請求為 例對本發(fā)明實(shí)施例所提供的方案進(jìn)行說明的。但是需要說明的是,本發(fā)明實(shí)施例所提供的 實(shí)現(xiàn)多方通信的方法、裝置及系統(tǒng)不止可以適用于這一種場景,還可以適用于其他的需要 進(jìn)行穿越的通信過程;例如,基于IPv4的主機(jī)在向基于IPv6的主機(jī)發(fā)起通信請求時(shí),所述 通信請求也很難正常送達(dá)所述基于IPv6的主機(jī),此時(shí)就可以利用本發(fā)明實(shí)施例所提供的 方案來解決上述基于IPv4的主機(jī)向基于IPv6的主機(jī)發(fā)送通信請求的問題。例如圖11中所示的情況,Host B屬于IPv4的網(wǎng)絡(luò),Host C屬于IPv6的網(wǎng)絡(luò);而 Host A屬于雙協(xié)議棧網(wǎng)絡(luò)(Dual-stack Network),其可以和Host B之間通過IPv4協(xié)議進(jìn) 行通信,同時(shí)還可以和Host C之間通過IPv6協(xié)議進(jìn)行通信。由于Host B為基于IPv4的主機(jī),而Host C為基于IPv6的主機(jī),因此HostB直接 向Host C發(fā)起的通信請求會被阻斷;此時(shí),就可以通過Host C所屬網(wǎng)絡(luò)對應(yīng)的網(wǎng)關(guān)(NAT64 Gateway)向Host C轉(zhuǎn)發(fā)Host B發(fā)起的通信請求。首先,Host B根據(jù)Host A所提供的Host C對應(yīng)的NAT64網(wǎng)關(guān)的IPv4地址對所述NAT64網(wǎng)關(guān)進(jìn)行尋址,或者,Host B根據(jù)DNS查找 到所述NAT64網(wǎng)關(guān)的IPv4地址;然后,Host B請求所述NAT64網(wǎng)關(guān)將所述通信請求轉(zhuǎn)發(fā)給 Host C ;之后,Host C在接收到所述通信請求后,向Host B(由IPv6到IPv4)發(fā)起通信建 立請求,從而建立起Host C與Host B之間的雙向通信連接。通過以上實(shí)施方式的描述,本領(lǐng)域的技術(shù)人員可以清楚地了解到本發(fā)明可借助軟 件加必需的硬件平臺的方式來實(shí)現(xiàn),當(dāng)然也可以全部通過硬件來實(shí)施。基于這樣的理解,本 發(fā)明的技術(shù)方案對背景技術(shù)做出貢獻(xiàn)的全部或者部分可以以軟件產(chǎn)品的形式體現(xiàn)出來,該 計(jì)算機(jī)軟件產(chǎn)品可以存儲在存儲介質(zhì)中,如ROM/RAM、磁碟、光盤等,包括若干指令用以使得 一臺計(jì)算機(jī)設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本發(fā)明各個(gè)實(shí)施例或 者實(shí)施例的某些部分所述的方法。以上所述,僅為本發(fā)明的具體實(shí)施方式
,但本發(fā)明的保護(hù)范圍并不局限于此,任何 熟悉本技術(shù)領(lǐng)域的技術(shù)人員在本發(fā)明揭露的技術(shù)范圍內(nèi),可輕易想到的變化或替換,都應(yīng) 涵蓋在本發(fā)明的保護(hù)范圍之內(nèi)。因此,本發(fā)明的保護(hù)范圍應(yīng)以權(quán)利要求的保護(hù)范圍為準(zhǔn)。10
權(quán)利要求
1.一種實(shí)現(xiàn)多方通信的方法,其特征在于,包括通過網(wǎng)絡(luò)層的轉(zhuǎn)發(fā)節(jié)點(diǎn)向接收節(jié)點(diǎn)發(fā)送通信請求;接收所述接收節(jié)點(diǎn)發(fā)送的通信建立請求,并建立與所述接收節(jié)點(diǎn)之間的通信連接。
2.根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)多方通信的方法,其特征在于,所述通信請求中包含所 述接收節(jié)點(diǎn)所屬域的信息及其域內(nèi)標(biāo)識。
3.根據(jù)權(quán)利要求1所述的實(shí)現(xiàn)多方通信的方法,其特征在于,在所述通過網(wǎng)絡(luò)層的轉(zhuǎn) 發(fā)節(jié)點(diǎn)向接收節(jié)點(diǎn)發(fā)送通信請求之前,還包括向所述接收節(jié)點(diǎn)發(fā)送通信請求;如果所述通信請求發(fā)送失敗,則執(zhí)行所述通過網(wǎng)絡(luò)層的轉(zhuǎn)發(fā)節(jié)點(diǎn)向接收節(jié)點(diǎn)發(fā)送所述 通信請求的步驟。
4.一種實(shí)現(xiàn)多方通信的方法,其特征在于,該方法應(yīng)用在網(wǎng)絡(luò)層,且該方法包括接收發(fā)起節(jié)點(diǎn)發(fā)送的通信請求;判斷所述通信請求是否符合轉(zhuǎn)發(fā)規(guī)則;如果符合,則將所述通信請求轉(zhuǎn)發(fā)給接收節(jié)點(diǎn)的步驟;如果不符合,則向所述發(fā)起節(jié)點(diǎn) 返回錯(cuò)誤信息。
5.一種實(shí)現(xiàn)多方通信的發(fā)起節(jié)點(diǎn)裝置,其特征在于,包括轉(zhuǎn)發(fā)模塊,用于通過網(wǎng)絡(luò)層的轉(zhuǎn)發(fā)節(jié)點(diǎn)向接收節(jié)點(diǎn)發(fā)送通信請求;接收模塊,用于接收所述接收節(jié)點(diǎn)發(fā)送的通信建立請求,并建立與所述接收節(jié)點(diǎn)之間 的通信連接。
6.根據(jù)權(quán)利要求5所述的發(fā)起節(jié)點(diǎn)裝置,其特征在于,還包括發(fā)送模塊,用于向所述接收節(jié)點(diǎn)發(fā)送通信請求;如果發(fā)送模塊發(fā)送所述通信請求失敗,則所述轉(zhuǎn)發(fā)模塊通過網(wǎng)絡(luò)層的轉(zhuǎn)發(fā)節(jié)點(diǎn)向接收 節(jié)點(diǎn)發(fā)送所述通信請求。
7.一種實(shí)現(xiàn)多方通信的轉(zhuǎn)發(fā)節(jié)點(diǎn)裝置,其特征在于,該轉(zhuǎn)發(fā)節(jié)點(diǎn)裝置位于網(wǎng)絡(luò)層,且所 述轉(zhuǎn)發(fā)節(jié)點(diǎn)裝置包括接收模塊,用于接收發(fā)起節(jié)點(diǎn)發(fā)送的通信請求;判斷模塊,用于判斷所述通信請求是否符合轉(zhuǎn)發(fā)規(guī)則;發(fā)送模塊,用于在所述判斷模塊的判斷結(jié)果為符合時(shí),將所述通信請求轉(zhuǎn)發(fā)給接收節(jié) 點(diǎn);在所述判斷模塊的判斷結(jié)果為不符合時(shí),向所述發(fā)起節(jié)點(diǎn)返回錯(cuò)誤信息。
8.一種實(shí)現(xiàn)多方通信的系統(tǒng),其特征在于,包括均位于網(wǎng)絡(luò)層的發(fā)起節(jié)點(diǎn)、轉(zhuǎn)發(fā)節(jié)點(diǎn)及 接收節(jié)點(diǎn);其中,所述發(fā)起節(jié)點(diǎn),用于向所述轉(zhuǎn)發(fā)節(jié)點(diǎn)發(fā)送通信請求,其中攜帶有所述接收節(jié)點(diǎn)的地址 fn息;所述轉(zhuǎn)發(fā)節(jié)點(diǎn),用于將所述通信請求轉(zhuǎn)發(fā)給所述接收節(jié)點(diǎn);所述接收節(jié)點(diǎn),用于在接收到所述通信請求后,向所述發(fā)起節(jié)點(diǎn)發(fā)送通信建立請求。
9.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述轉(zhuǎn)發(fā)節(jié)點(diǎn)為所述接收節(jié)點(diǎn)所屬域的 網(wǎng)關(guān),則所述轉(zhuǎn)發(fā)節(jié)點(diǎn)還用于判斷所述通信請求是否符合轉(zhuǎn)發(fā)規(guī)則;如果符合,則所述轉(zhuǎn)發(fā)節(jié)點(diǎn)將所述通信請求轉(zhuǎn)發(fā)給所述接收節(jié)點(diǎn);如果不符合,則所述轉(zhuǎn)發(fā)節(jié)點(diǎn)還用于向所述發(fā)起節(jié)點(diǎn)返回錯(cuò)誤信息。
10.根據(jù)權(quán)利要求8所述的系統(tǒng),其特征在于,所述轉(zhuǎn)發(fā)節(jié)點(diǎn)為同時(shí)與所述發(fā)起節(jié)點(diǎn)和 接收節(jié)點(diǎn)建立有通信連接的主機(jī),則所述發(fā)起節(jié)點(diǎn),還用于直接向所述接收節(jié)點(diǎn)發(fā)送通信請求;如果發(fā)送失敗,則所述發(fā)起節(jié)點(diǎn)將所述通信請求發(fā)送給所述轉(zhuǎn)發(fā)節(jié)點(diǎn),進(jìn)而通過所述 轉(zhuǎn)發(fā)節(jié)點(diǎn)將所述通信請求轉(zhuǎn)發(fā)給所述接收節(jié)點(diǎn)。
全文摘要
本發(fā)明實(shí)施例公開了一種實(shí)現(xiàn)多方通信的方法、裝置及系統(tǒng),涉及通信技術(shù)領(lǐng)域,用以擴(kuò)展多方通信中穿越技術(shù)的應(yīng)用。一種實(shí)現(xiàn)多方通信的方法,包括通過網(wǎng)絡(luò)層的轉(zhuǎn)發(fā)節(jié)點(diǎn)向接收節(jié)點(diǎn)發(fā)送通信請求;接收所述接收節(jié)點(diǎn)發(fā)送的通信建立請求,并建立與所述接收節(jié)點(diǎn)之間的通信連接。本發(fā)明實(shí)施例提供的方法、裝置及系統(tǒng)適用于需進(jìn)行穿越的多方通信。
文檔編號H04L29/06GK102045317SQ20091020624
公開日2011年5月4日 申請日期2009年10月15日 優(yōu)先權(quán)日2009年10月15日
發(fā)明者蔣勝 申請人:華為技術(shù)有限公司