本申請(qǐng)涉及通信傳輸領(lǐng)域,尤其涉及一種通信連接的建立方法及裝置、系統(tǒng)。
背景技術(shù):
為了節(jié)省網(wǎng)絡(luò)中的地址,可以在內(nèi)部網(wǎng)絡(luò)中使用私有地址,在內(nèi)部網(wǎng)絡(luò)中的終端需要與外網(wǎng)發(fā)生聯(lián)系的情況下,將內(nèi)部終端的私有地址轉(zhuǎn)換為公網(wǎng)地址。通常,使用設(shè)置在局域網(wǎng)中的網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備(Network Address Translation,NAT)進(jìn)行私有地址和外網(wǎng)地址的轉(zhuǎn)換。
現(xiàn)有的網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備的工作原理,使得內(nèi)網(wǎng)中的終端可以主動(dòng)向外網(wǎng)中的終端發(fā)送消息,而外網(wǎng)中的終端無(wú)法主動(dòng)向內(nèi)網(wǎng)中的終端發(fā)送消息(外網(wǎng)終端發(fā)送的消息被網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備丟棄),即外網(wǎng)中的終端無(wú)法“穿透”網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備,為了實(shí)現(xiàn)外網(wǎng)終端對(duì)網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備的“穿透”,現(xiàn)有技術(shù)中,通常將內(nèi)網(wǎng)設(shè)備的私有地址與公網(wǎng)地址的映射關(guān)系直接映射在公網(wǎng)上,使得外網(wǎng)終端可以直接獲取映射關(guān)系,向內(nèi)網(wǎng)終端發(fā)送消息。但是,這種“穿透”技術(shù),使得外網(wǎng)的任何終端均可以向內(nèi)網(wǎng)設(shè)備發(fā)送消息,所以,大大降低了內(nèi)網(wǎng)的安全性。
可見(jiàn),如何在不降低內(nèi)網(wǎng)安全性的情況下,實(shí)現(xiàn)外網(wǎng)終端與內(nèi)網(wǎng)終端的通信連接,成為目前亟待解決的問(wèn)題。
技術(shù)實(shí)現(xiàn)要素:
本申請(qǐng)?zhí)峁┝艘环N通信連接的建立方法及裝置、系統(tǒng),目的在于解決如何在不降低內(nèi)網(wǎng)安全性的情況下,實(shí)現(xiàn)外網(wǎng)終端與內(nèi)網(wǎng)終端的通信連接的問(wèn)題。
為了實(shí)現(xiàn)上述目的,本申請(qǐng)?zhí)峁┝艘韵录夹g(shù)方案:
一種通信連接的建立方法,包括:
地址轉(zhuǎn)換設(shè)備接收第一終端發(fā)送的第二終端的公網(wǎng)地址,所述第一終端及所述地址轉(zhuǎn)換設(shè)備均位于第一局域網(wǎng)中,所述第二終端位于所述第一局域網(wǎng)之外且為所述第一終端欲連接的終端;
所述地址轉(zhuǎn)換設(shè)備接收所述第一局域網(wǎng)之外的終端向指定地址發(fā)送的報(bào)文,所述報(bào)文攜帶驗(yàn)證地址,所述指定地址為所述第一終端的公網(wǎng)地址,所述驗(yàn)證地址為所述報(bào)文發(fā)送方的公網(wǎng)地址;
如果滿足預(yù)設(shè)條件,則所述地址轉(zhuǎn)換設(shè)備建立所述第一終端與所述第二終端間的通信連接,所述預(yù)設(shè)條件中至少包括所述驗(yàn)證地址與所述第二終端的公網(wǎng)地址相同。
可選地,在所述地址轉(zhuǎn)換設(shè)備接收第一終端發(fā)送的第二終端的公網(wǎng)地址之前,還包括:
所述地址轉(zhuǎn)換設(shè)備依據(jù)所述第一終端的注冊(cè)請(qǐng)求,為所述第一終端分配公網(wǎng)地址;
所述為所述第一終端分配公網(wǎng)地址包括:在自身為錐形的情況下,所述地址轉(zhuǎn)換設(shè)備為所述第一終端分配一種公網(wǎng)地址,所述公網(wǎng)地址用于所述第一終端連接到所述公網(wǎng)的服務(wù)器;在自身為對(duì)稱形的情況下,所述地址轉(zhuǎn)換設(shè)備為所述第一終端分配兩種公網(wǎng)地址,其中,一種公網(wǎng)地址中用于所述第一終端連接到所述公網(wǎng)的服務(wù)器、另一種公網(wǎng)地址為準(zhǔn)連接狀態(tài)的公網(wǎng)地址。
可選地,在所述地址轉(zhuǎn)換設(shè)備為錐形的情況下,所述指定地址為所述地址轉(zhuǎn)換設(shè)備為所述第一終端分配的公網(wǎng)地址,在所述地址轉(zhuǎn)換設(shè)備為對(duì)稱形的情況下,所述指定地址為所述地址轉(zhuǎn)換設(shè)備為所述第一終端分配的準(zhǔn)連接狀態(tài)的公網(wǎng)地址。
可選地,所述報(bào)文攜帶驗(yàn)證地址包括:
所述報(bào)文的屬性值中包括所述指定地址;
所述如果滿足預(yù)設(shè)條件,則所述地址轉(zhuǎn)換設(shè)備建立所述第一終端與所述第二終端間的通信連接包括:
如果所述驗(yàn)證地址與所述第二終端的公網(wǎng)地址相同,則所述地址轉(zhuǎn)換設(shè)備由所述指定地址,將所述報(bào)文的報(bào)頭攜帶的地址發(fā)送至所述第二終端;
所述地址轉(zhuǎn)換設(shè)備再次接收所述第二終端發(fā)送的報(bào)文,所述再次接收到的報(bào)文中包括消息認(rèn)證碼;
如果所述再次接收到的報(bào)文的屬性值中包含的驗(yàn)證地址與所述第二終端的公網(wǎng)地址相同,且所述再次接收到的報(bào)文的屬性值中包含的公網(wǎng)地址C與所述再次接收到的報(bào)文的頭部攜帶的地址相同,則地址轉(zhuǎn)換設(shè)備將所述再次接收到的報(bào)文發(fā)送到所述第一終端,以便于所述第一終端將所述再次接收到的報(bào)文發(fā)送到所述公網(wǎng)中,所述公網(wǎng)用于驗(yàn)證所述再次接收到的報(bào)文中的消息認(rèn)證碼是否合法;
接收所述第一終端轉(zhuǎn)發(fā)的驗(yàn)證結(jié)果,如果所述驗(yàn)證結(jié)果表明所述再次接收到的報(bào)文中的消息認(rèn)證碼合法,則建立所述第一終端與所述第二終端間的通信連接。
一種通信連接的建立方法,包括:
第一終端獲取指定地址以及第二終端的公網(wǎng)地址,所述第一終端位于第一局域網(wǎng)中,所述第二終端位于所述第一局域網(wǎng)之外且為所述第一終端欲連接的終端,所述指定地址為所述第一終端的公網(wǎng)地址;
所述第一終端向地址轉(zhuǎn)換設(shè)備發(fā)送所述第二終端的公網(wǎng)地址,并且,通過(guò)所述公網(wǎng)向所述第二終端發(fā)送所述指定地址;
其中,所述地址轉(zhuǎn)換設(shè)備位于所述第一局域網(wǎng)中,所述第二終端的公網(wǎng)地址用于與驗(yàn)證地址相比較,兩者相同的比較結(jié)果作為所述地址轉(zhuǎn)換設(shè)備建立所述第一終端與所述第二終端之間的通信連接的條件之一,所述驗(yàn)證地址由所述地址轉(zhuǎn)換設(shè)備從在所述指定地址接收到的報(bào)文中獲得,所述驗(yàn)證地址為所述報(bào)文的發(fā)送方的公網(wǎng)地址。
可選地,所述第一終端獲取指定地址包括:
在所述地址轉(zhuǎn)換設(shè)備為錐形的情況下,所述第一終端接收所述地址轉(zhuǎn)換設(shè)備通過(guò)所述公網(wǎng)轉(zhuǎn)發(fā)的公網(wǎng)地址,所述公網(wǎng)地址作為所述指定地址;
在所述地址轉(zhuǎn)換設(shè)備為對(duì)稱形的情況下,所述第一終端接收所述地址轉(zhuǎn)換設(shè)備發(fā)送的準(zhǔn)連接狀態(tài)的公網(wǎng)地址,所述準(zhǔn)連接狀態(tài)的公網(wǎng)地址作為所述指定地址;
所述方法還包括:
所述第一終端接收所述地址轉(zhuǎn)換設(shè)備發(fā)送的再次接收到的報(bào)文,所述再次接收到的報(bào)文為所述地址轉(zhuǎn)換設(shè)備在從所述指定地址接收到所述第二終端發(fā)送的報(bào)文后,再次從所述指定地址接收到的所述第二終端發(fā)送的報(bào)文;
所述第一終端將所述再次接收到的報(bào)文發(fā)給所述公網(wǎng),所述公網(wǎng)用于驗(yàn)證所述再次接收到的報(bào)文是否合法。
一種通信連接的建立方法,包括:
第二終端接收指定地址,所述指定地址由第一終端通過(guò)公網(wǎng)轉(zhuǎn)發(fā),所述第一終端位于第一局域網(wǎng)中,所述第二終端位于所述第一局域網(wǎng)所述第一局域網(wǎng)之外且為所述第一終端欲連接的終端,所述指定地址為所述第一終端的公網(wǎng)地址;
所述第二終端向所述指定地址發(fā)送報(bào)文,所述報(bào)文中攜帶驗(yàn)證地址,所述驗(yàn)證地址為所述第二終端的公網(wǎng)地址B,所述驗(yàn)證地址用于與所述第一局域網(wǎng)中的地址轉(zhuǎn)換設(shè)備中存儲(chǔ)的所述第二終端的公網(wǎng)地址相比較,兩者相同的比較結(jié)果作為所述地址轉(zhuǎn)換設(shè)備建立所述第一終端與所述第二終端之間的通信連接的條件之一。
可選地,所述報(bào)文的屬性值為所述驗(yàn)證地址;
所述報(bào)文的報(bào)頭攜帶所述第二終端的公網(wǎng)地址C;
在所述第二終端的地址轉(zhuǎn)換設(shè)備為錐形的情況下,所述驗(yàn)證地址B與所述第二終端的公網(wǎng)地址C相同,在所述第二終端的地址轉(zhuǎn)換設(shè)備為對(duì)稱形的情況下,所述驗(yàn)證地址B與所述第二終端的公網(wǎng)地址C不同。
可選地,還包括:
所述第二終端從所述公網(wǎng)獲取用戶名和密碼;
在所述第二終端向所述指定地址發(fā)送報(bào)文之后,還包括:
所述第二終端接收所述第一終端的地址轉(zhuǎn)換設(shè)備發(fā)送的公網(wǎng)地址C;
所述第二終端再次向所述指定地址發(fā)送報(bào)文,再次發(fā)送的報(bào)文的屬性值包括所述公網(wǎng)地址B、所述公網(wǎng)地址C、所述用戶名以及消息認(rèn)證碼,所述消息認(rèn)證碼通過(guò)所述公網(wǎng)地址B、所述公網(wǎng)地址C、所述用戶名以及所述密碼進(jìn)行預(yù)設(shè)類型的運(yùn)算得到。
一種地址轉(zhuǎn)換設(shè)備,包括:
第一接收模塊,用于接收第一終端發(fā)送的第二終端的公網(wǎng)地址,所述第一終端及所述地址轉(zhuǎn)換設(shè)備均位于第一局域網(wǎng)中,所述第二終端位于所述第一局域網(wǎng)之外且為所述第一終端欲連接的終端;
第二接收模塊,用于接收所述第一局域網(wǎng)之外的終端向指定地址發(fā)送的報(bào)文,所述報(bào)文攜帶驗(yàn)證地址,所述指定地址為所述第一終端的公網(wǎng)地址,所述驗(yàn)證地址為所述報(bào)文發(fā)送方的公網(wǎng)地址;
連接建立模塊,用于如果滿足預(yù)設(shè)條件,則建立所述第一終端與所述第二終端間的通信連接,所述預(yù)設(shè)條件中至少包括所述驗(yàn)證地址與所述第二終端的公網(wǎng)地址相同。
可選地,還包括:
注冊(cè)模塊,用于在所述第一接收模塊接收第一終端發(fā)送的第二終端的公網(wǎng)地址之前,依據(jù)所述第一終端的注冊(cè)請(qǐng)求,為所述第一終端分配公網(wǎng)地址;所述為所述第一終端分配公網(wǎng)地址包括:在所述地址轉(zhuǎn)換設(shè)備自身為錐形的情況下,為所述第一終端分配一種公網(wǎng)地址,所述公網(wǎng)地址用于所述第一終端連接到所述公網(wǎng)的服務(wù)器;在所述地址轉(zhuǎn)換設(shè)備自身為對(duì)稱形的情況下,為所述第一終端分配兩種公網(wǎng)地址,其中,一種公網(wǎng)地址中用于所述第一終端連接到所述公網(wǎng)的服務(wù)器、另一種公網(wǎng)地址為準(zhǔn)連接狀態(tài)的公網(wǎng)地址。
可選地,所述第二接收模塊用于接收所述第一局域網(wǎng)之外的終端向指定地址發(fā)送的報(bào)文包括:
所述第二接收模塊具體用于,接收所述第一局域網(wǎng)之外的終端向指定地址發(fā)送的報(bào)文,在所述地址轉(zhuǎn)換設(shè)備為錐形的情況下,所述指定地址為所述 地址轉(zhuǎn)換設(shè)備為所述第一終端分配的公網(wǎng)地址,在所述地址轉(zhuǎn)換設(shè)備為對(duì)稱形的情況下,所述指定地址為所述地址轉(zhuǎn)換設(shè)備為所述第一終端分配的準(zhǔn)連接狀態(tài)的公網(wǎng)地址。
可選地,所述第二接收模塊用于接收所述第一局域網(wǎng)之外的終端向指定地址發(fā)送的報(bào)文,所述報(bào)文攜帶驗(yàn)證地址包括:
所述第二接收模塊具體用于,接收所述第一局域網(wǎng)之外的終端向指定地址發(fā)送的報(bào)文,所述報(bào)文的屬性值中包括所述指定地址;
所述連接建立模塊用于如果滿足預(yù)設(shè)條件,則建立所述第一終端與所述第二終端間的通信連接包括:
所述連接建立模塊具體用于,如果所述驗(yàn)證地址與所述第二終端的公網(wǎng)地址相同,則由所述指定地址將所述報(bào)文的報(bào)頭攜帶的地址發(fā)送至所述第二終端;再次接收所述第二終端發(fā)送的報(bào)文,所述再次接收到的報(bào)文中包括消息認(rèn)證碼;如果所述再次接收到的報(bào)文的屬性值中包含的驗(yàn)證地址與所述第二終端的公網(wǎng)地址相同,且所述再次接收到的報(bào)文的屬性值中包含的公網(wǎng)地址C與所述再次接收到的報(bào)文的頭部攜帶的地址相同,則將所述再次接收到的報(bào)文發(fā)送到所述第一終端,以便于所述第一終端將所述再次接收到的報(bào)文發(fā)送到所述公網(wǎng)中,所述公網(wǎng)用于驗(yàn)證所述再次接收到的報(bào)文中的消息認(rèn)證碼是否合法;并接收所述第一終端轉(zhuǎn)發(fā)的驗(yàn)證結(jié)果,如果所述驗(yàn)證結(jié)果表明所述再次接收到的報(bào)文中的消息認(rèn)證碼合法,則建立所述第一終端與所述第二終端間的通信連接。
一種終端,包括:
第一獲取模塊,用于獲取指定地址以及第二終端的公網(wǎng)地址,所述第一終端位于第一局域網(wǎng)中,所述第二終端位于所述第一局域網(wǎng)之外且為所述第一終端欲連接的終端,所述指定地址為所述第一終端的公網(wǎng)地址;
第一發(fā)送模塊,用于向地址轉(zhuǎn)換設(shè)備發(fā)送所述第二終端的公網(wǎng)地址,并且,通過(guò)所述公網(wǎng)向所述第二終端發(fā)送所述指定地址;
其中,所述地址轉(zhuǎn)換設(shè)備位于所述第一局域網(wǎng)中,所述第二終端的公網(wǎng)地址用于與驗(yàn)證地址相比較,兩者相同的比較結(jié)果作為所述地址轉(zhuǎn)換設(shè)備建立所述第一終端與所述第二終端之間的通信連接的條件之一,所述驗(yàn)證地址由所述地址轉(zhuǎn)換設(shè)備從在所述指定地址接收到的報(bào)文中獲得,所述驗(yàn)證地址為所述報(bào)文的發(fā)送方的公網(wǎng)地址。
可選地,所述第一獲取模塊用于獲取指定地址包括:
所述第一獲取模塊具體用于,在所述地址轉(zhuǎn)換設(shè)備為錐形的情況下,所述第一終端接收所述地址轉(zhuǎn)換設(shè)備通過(guò)所述公網(wǎng)轉(zhuǎn)發(fā)的公網(wǎng)地址,所述公網(wǎng)地址作為所述指定地址;在所述地址轉(zhuǎn)換設(shè)備為對(duì)稱形的情況下,所述第一終端接收所述地址轉(zhuǎn)換設(shè)備發(fā)送的準(zhǔn)連接狀態(tài)的公網(wǎng)地址,所述準(zhǔn)連接狀態(tài)的公網(wǎng)地址作為所述指定地址;
所述終端還包括:
第三接收模塊,用于接收所述地址轉(zhuǎn)換設(shè)備發(fā)送的再次接收到的報(bào)文,所述再次接收到的報(bào)文為所述地址轉(zhuǎn)換設(shè)備在從所述指定地址接收到所述第二終端發(fā)送的報(bào)文后,再次從所述指定地址接收到的所述第二終端發(fā)送的報(bào)文;
所述第一發(fā)送模塊還用于:將所述再次接收到的報(bào)文發(fā)給所述公網(wǎng),所述公網(wǎng)用于驗(yàn)證所述再次接收到的報(bào)文是否合法。
一種終端,包括:
第四接收模塊,用于接收指定地址,所述指定地址由第一終端通過(guò)公網(wǎng)轉(zhuǎn)發(fā),所述第一終端位于第一局域網(wǎng)中,所述第二終端位于所述第一局域網(wǎng)所述第一局域網(wǎng)之外且為所述第一終端欲連接的終端,所述指定地址為所述第一終端的公網(wǎng)地址;
第二發(fā)送模塊,用于向所述指定地址發(fā)送報(bào)文,所述報(bào)文中攜帶驗(yàn)證地址,所述驗(yàn)證地址為所述第二終端的公網(wǎng)地址B,所述驗(yàn)證地址用于與所述第一局域網(wǎng)中的地址轉(zhuǎn)換設(shè)備中存儲(chǔ)的所述第二終端的公網(wǎng)地址相比較,兩 者相同的比較結(jié)果作為所述地址轉(zhuǎn)換設(shè)備建立所述第一終端與所述第二終端之間的通信連接的條件之一。
可選地,所述第二發(fā)送模塊用于向所述指定地址發(fā)送報(bào)文,所述報(bào)文中攜帶驗(yàn)證地址,所述驗(yàn)證地址為所述第二終端的公網(wǎng)地址B包括:
所述第二發(fā)送模塊具體用于,向所述指定地址發(fā)送報(bào)文,所述報(bào)文的報(bào)頭攜帶所述第二終端的公網(wǎng)地址C;在所述第二終端的地址轉(zhuǎn)換設(shè)備為錐形的情況下,所述驗(yàn)證地址B與所述第二終端的公網(wǎng)地址C相同,在所述第二終端的地址轉(zhuǎn)換設(shè)備為對(duì)稱形的情況下,所述驗(yàn)證地址B與所述第二終端的公網(wǎng)地址C不同。
可選地,還包括:
第二獲取模塊,用于從所述公網(wǎng)獲取用戶名和密碼;
所述第四接收模塊還用于:在所述第二發(fā)送模塊向所述指定地址發(fā)送報(bào)文之后,接收所述第一終端的地址轉(zhuǎn)換設(shè)備發(fā)送的公網(wǎng)地址C;
所述第二發(fā)送模塊還用于:再次向所述指定地址發(fā)送報(bào)文,再次發(fā)送的報(bào)文的屬性值包括所述公網(wǎng)地址B、所述公網(wǎng)地址C、所述用戶名以及消息認(rèn)證碼,所述消息認(rèn)證碼通過(guò)所述公網(wǎng)地址B、所述公網(wǎng)地址C、所述用戶名以及所述密碼進(jìn)行預(yù)設(shè)類型的運(yùn)算得到。
一種通信連接建立系統(tǒng),包括:
位于第一局域網(wǎng)中的地址轉(zhuǎn)換設(shè)備和第一終端,以及位于所述第一局域網(wǎng)之外的、所述第一終端欲連接的第二終端;
所述第一終端用于,獲取指定地址以及第二終端的公網(wǎng)地址,向地址轉(zhuǎn)換設(shè)備發(fā)送所述第二終端的公網(wǎng)地址,并且,通過(guò)所述公網(wǎng)向所述第二終端發(fā)送指定地址,所述指定地址為所述第一終端的公網(wǎng)地址,;
所述第二終端用于,接收所述指定地址,并向所述指定地址發(fā)送報(bào)文,所述報(bào)文中攜帶驗(yàn)證地址,所述驗(yàn)證地址為所述第二終端的公網(wǎng)地址B;
所述地址轉(zhuǎn)換設(shè)備用于,接收所述第一終端發(fā)送的所述第二終端的公網(wǎng)地址以及所述第一局域網(wǎng)之外的終端向指定地址發(fā)送的報(bào)文,所述報(bào)文攜帶 驗(yàn)證地址,所述驗(yàn)證地址為所述報(bào)文發(fā)送方的公網(wǎng)地址;如果滿足預(yù)設(shè)條件,則建立所述第一終端與所述第二終端間的通信連接,所述預(yù)設(shè)條件中至少包括所述驗(yàn)證地址與所述第二終端的公網(wǎng)地址B相同。
可選地,所述地址轉(zhuǎn)換設(shè)備還用于:
在所述接收第一終端發(fā)送的第二終端的公網(wǎng)地址之前,依據(jù)所述第一終端的注冊(cè)請(qǐng)求,為所述第一終端分配公網(wǎng)地址;所述為所述第一終端分配公網(wǎng)地址包括:在所述地址轉(zhuǎn)換設(shè)備自身為錐形的情況下,為所述第一終端分配一種公網(wǎng)地址,所述公網(wǎng)地址用于所述第一終端連接到所述公網(wǎng)的服務(wù)器;在所述地址轉(zhuǎn)換設(shè)備自身為對(duì)稱形的情況下,為所述第一終端分配兩種公網(wǎng)地址,其中,一種公網(wǎng)地址中用于所述第一終端連接到所述公網(wǎng)的服務(wù)器、另一種公網(wǎng)地址為準(zhǔn)連接狀態(tài)的公網(wǎng)地址。
可選地,所述地址轉(zhuǎn)換設(shè)備用于如果滿足預(yù)設(shè)條件,則建立所述第一終端與所述第二終端間的通信連接包括:
所述地址轉(zhuǎn)換設(shè)備具體用于,如果所述驗(yàn)證地址與所述第二終端的公網(wǎng)地址相同,則所述地址轉(zhuǎn)換設(shè)備由所述指定地址,將所述報(bào)文的報(bào)頭攜帶的地址C發(fā)送至所述第二終端;
所述第二終端還用于:
從所述公網(wǎng)獲取用戶名和密碼;在向所述指定地址發(fā)送報(bào)文之后,接收所述地址轉(zhuǎn)換設(shè)備發(fā)送的公網(wǎng)地址C;再次向所述指定地址發(fā)送報(bào)文,再次發(fā)送的報(bào)文的屬性值包括所述公網(wǎng)地址B、所述公網(wǎng)地址C、所述用戶名以及消息認(rèn)證碼,所述消息認(rèn)證碼通過(guò)所述公網(wǎng)地址B、所述公網(wǎng)地址C、所述用戶名以及所述密碼進(jìn)行預(yù)設(shè)類型的運(yùn)算得到;
所述地址轉(zhuǎn)換設(shè)備用于如果滿足預(yù)設(shè)條件,則建立所述第一終端與所述第二終端間的通信連接,還包括:
所述地址轉(zhuǎn)換設(shè)備具體用于,再次接收所述第二終端發(fā)送的報(bào)文,所述再次接收到的報(bào)文中包括所述消息認(rèn)證碼;如果所述再次接收到的報(bào)文的屬性值中包含的驗(yàn)證地址與所述第二終端的公網(wǎng)地址B相同,且所述再次接收 到的報(bào)文的屬性值中包含的公網(wǎng)地址C與所述再次接收到的報(bào)文的頭部攜帶的地址D相同,則將所述再次接收到的報(bào)文發(fā)送到所述第一終端;
所述第一終端還用于:接收所述地址轉(zhuǎn)換設(shè)備發(fā)送的再次接收到的報(bào)文;將所述再次接收到的報(bào)文發(fā)給所述公網(wǎng),所述公網(wǎng)用于驗(yàn)證所述再次接收到的報(bào)文是否合法,并將驗(yàn)證結(jié)果發(fā)送給所述地址轉(zhuǎn)換設(shè)備;
所述地址轉(zhuǎn)換設(shè)備用于如果滿足預(yù)設(shè)條件,則建立所述第一終端與所述第二終端間的通信連接,還包括:所述地址轉(zhuǎn)換設(shè)備具體用于,如果所述驗(yàn)證結(jié)果表明所述再次接收到的報(bào)文中的消息認(rèn)證碼合法,則建立所述第一終端與所述第二終端間的通信連接。
本申請(qǐng)所述的通信連接的建立方法及裝置、系統(tǒng),第一局域網(wǎng)內(nèi)的第一終端獲取指定地址及第二終端的公網(wǎng)地址,并將第二終端的公網(wǎng)地址發(fā)送給地址轉(zhuǎn)換設(shè)備,地址轉(zhuǎn)換設(shè)備接收第一局域網(wǎng)之外的終端向指定地址發(fā)送的報(bào)文,報(bào)文中攜帶驗(yàn)證地址,驗(yàn)證地址為報(bào)文發(fā)送方的地址,并且,地址轉(zhuǎn)換設(shè)備以驗(yàn)證地址與第二終端的地址相同作為建立第一終端與第二終端的通信連接條件之一,因?yàn)榈诙K端為第一終端欲連接的終端,可見(jiàn),只有在報(bào)文發(fā)送方為第一終端欲連接的終端的情況下,報(bào)文發(fā)送方才能夠與第一終端建立通信連接,從而避免內(nèi)網(wǎng)終端向外網(wǎng)全部開(kāi)放,所以,可以在不降低內(nèi)網(wǎng)安全性的情況下,建立外網(wǎng)設(shè)備與內(nèi)網(wǎng)設(shè)備間的通信連接。
附圖說(shuō)明
為了更清楚地說(shuō)明本申請(qǐng)實(shí)施例或現(xiàn)有技術(shù)中的技術(shù)方案,下面將對(duì)實(shí)施例或現(xiàn)有技術(shù)描述中所需要使用的附圖作簡(jiǎn)單地介紹,顯而易見(jiàn)地,下面描述中的附圖僅僅是本申請(qǐng)的一些實(shí)施例,對(duì)于本領(lǐng)域普通技術(shù)人員來(lái)講,在不付出創(chuàng)造性勞動(dòng)的前提下,還可以根據(jù)這些附圖獲得其他的附圖。
圖1為通信網(wǎng)絡(luò)的結(jié)構(gòu)圖;
圖2為本申請(qǐng)實(shí)施例公開(kāi)的一種通信連接的建立方法的流程圖;
圖3為本申請(qǐng)實(shí)施例公開(kāi)的又一種通信連接的建立方法的流程圖;
圖4為本申請(qǐng)實(shí)施例公開(kāi)的一種報(bào)文的結(jié)構(gòu)示意圖;
圖5為本申請(qǐng)實(shí)施例公開(kāi)的又一種報(bào)文的結(jié)構(gòu)示意圖;
圖6為本申請(qǐng)實(shí)施例公開(kāi)的一種地址轉(zhuǎn)換設(shè)備的結(jié)構(gòu)示意圖;
圖7為本申請(qǐng)實(shí)施例公開(kāi)的一種終端的結(jié)構(gòu)示意圖;
圖8為本申請(qǐng)實(shí)施例公開(kāi)的又一種終端的結(jié)構(gòu)示意圖。
具體實(shí)施方式
本申請(qǐng)實(shí)施例公開(kāi)的通信連接的建立方法及網(wǎng)絡(luò)地址轉(zhuǎn)換設(shè)備、終端,用于實(shí)現(xiàn)局域網(wǎng)中的終端與此局域網(wǎng)外的終端建立通信連接。其中,局域網(wǎng)外的終端可以為公網(wǎng)中的終端,也可以為另一個(gè)局域網(wǎng)中的終端。
例如,如圖1所示,第一終端位于第一局域網(wǎng)中,第二終端位于第二局域網(wǎng)中,第一終端和第二終端要與外網(wǎng)通信(例如第一終端與第二終端之間進(jìn)行通信),需要通過(guò)各自連接的地址轉(zhuǎn)換設(shè)備NAT將其私有地址轉(zhuǎn)換為公網(wǎng)地址并通過(guò)公網(wǎng)服務(wù)器server獲取公網(wǎng)地址后,才能向外發(fā)送消息。
以圖1所示的場(chǎng)景為例,第一終端作為通信連接的發(fā)起端,通過(guò)與NAT1的交互,實(shí)現(xiàn)在與第二局域網(wǎng)中的終端建立通信連接的同時(shí),保證局域網(wǎng)中的終端的安全性。本申請(qǐng)的實(shí)施例中,第二局域網(wǎng)側(cè)的NAT2的功能均與現(xiàn)有技術(shù)相同。
下面將結(jié)合本申請(qǐng)實(shí)施例中的附圖,對(duì)本申請(qǐng)實(shí)施例中的技術(shù)方案進(jìn)行清楚、完整地描述,顯然,所描述的實(shí)施例僅僅是本申請(qǐng)一部分實(shí)施例,而不是全部的實(shí)施例?;诒旧暾?qǐng)中的實(shí)施例,本領(lǐng)域普通技術(shù)人員在沒(méi)有做出創(chuàng)造性勞動(dòng)前提下所獲得的所有其他實(shí)施例,都屬于本申請(qǐng)保護(hù)的范圍。
本申請(qǐng)實(shí)施例公開(kāi)的一種通信連接的建立方法,如圖2所示,包括以下步驟:
S201:第一終端通過(guò)NAT1向公網(wǎng)的服務(wù)器發(fā)送注冊(cè)請(qǐng)求,所述注冊(cè)請(qǐng)求用于第一終端向公網(wǎng)的服務(wù)器進(jìn)行注冊(cè);
S202:NAT1接收到注冊(cè)請(qǐng)求后,生成第一終端的公網(wǎng)地址,并將第一終端的公網(wǎng)地址攜帶在注冊(cè)請(qǐng)求中發(fā)送給公網(wǎng)服務(wù)器;
具體地,如果NAT1為錐形,則NAT1只生成第一終端的一個(gè)公網(wǎng)地址(地址A),如果NAT1為對(duì)稱形,與傳統(tǒng)NAT不同的是,本實(shí)施例中,NAT1生成第一終端的兩種公網(wǎng)地址(地址A1和A2),其中一個(gè)公網(wǎng)地址A1用于第一終端連接公網(wǎng)服務(wù)器,另一個(gè)公網(wǎng)地址A2為準(zhǔn)連接狀態(tài)的公網(wǎng)地址。其中準(zhǔn)連接狀態(tài)的公網(wǎng)地址可以為多個(gè),可由第一終端向NAT1申請(qǐng)。在NAT1生成兩種公網(wǎng)地址的情況下,NAT1只向公網(wǎng)的服務(wù)器發(fā)送A1。
本實(shí)施例中,公網(wǎng)地址可以包括公網(wǎng)IP地址及端口號(hào)。
S203:第一終端接收公網(wǎng)服務(wù)器發(fā)送的注冊(cè)請(qǐng)求反饋,其中攜帶第一終端的公網(wǎng)地址(地址A或者地址A1);
以上為第一終端在公網(wǎng)服務(wù)器的注冊(cè)過(guò)程。第二終端也可以完成在公網(wǎng)服務(wù)器的注冊(cè)過(guò)程。本實(shí)施例中,NAT2的功能與現(xiàn)有技術(shù)相同,因此,NAT2只為第二終端生成一個(gè)公網(wǎng)地址,假設(shè)第二終端連接到公網(wǎng)服務(wù)器的公網(wǎng)地址為地址B。
S204:第一終端從公網(wǎng)獲取第二終端的公網(wǎng)地址B;
具體地,第一終端可以向公網(wǎng)的服務(wù)器發(fā)送通信請(qǐng)求消息,請(qǐng)求與第二終端進(jìn)行通信,通信請(qǐng)求消息中攜帶第一終端的公網(wǎng)地址,公網(wǎng)的服務(wù)器接收到通信請(qǐng)求消息后,向第一終端發(fā)送第二終端的公網(wǎng)地址B。
S205:第一終端向NAT1發(fā)送第二終端的公網(wǎng)地址B;
S206:在NAT1為對(duì)稱形地址轉(zhuǎn)換設(shè)備的情況下,NAT1將準(zhǔn)連接狀態(tài)的公網(wǎng)地址A2發(fā)送給第一終端。
S207:第一終端向公網(wǎng)的服務(wù)器發(fā)送通信請(qǐng)求消息,通信請(qǐng)求消息中攜帶指定地址,以便于公網(wǎng)的服務(wù)器將指定地址發(fā)送給第二終端;
其中,指定地址為第一終端的公網(wǎng)地址,如果第一終端的公網(wǎng)地址為地址A,則指定地址為地址A,如果第一終端的公網(wǎng)地址為地址A1和A2,則指定地址為準(zhǔn)連接狀態(tài)的公網(wǎng)地址A2。
S208:第二終端向指定地址發(fā)送報(bào)文。
其中,報(bào)文的內(nèi)容格式遵循STUN協(xié)議的規(guī)范,報(bào)文的結(jié)構(gòu)如圖4所示:包括STUN報(bào)文頭和報(bào)文屬性,報(bào)文屬性按照類型/長(zhǎng)度/值(TLV Type/Length/Value,TLV)格式編碼,屬性值中包含第二終端連接至公網(wǎng)服務(wù)器的公網(wǎng)地址B。第二終端向外發(fā)送報(bào)文,需要經(jīng)過(guò)第二局域網(wǎng)側(cè)的NAT2,報(bào)文的頭部攜帶有NAT2為第二終端生成的公網(wǎng)地址C,依據(jù)傳統(tǒng)NAT的工作原理,如果NAT2為錐形NAT,則C與B相同,如果NAT2為對(duì)稱形NAT,則C與B不同。
S209:NAT1從報(bào)文的屬性值中得到地址,作為驗(yàn)證地址;
依據(jù)傳統(tǒng)的NAT的工作原理,因?yàn)镹AT1從未與第二終端連接過(guò),所以,現(xiàn)有技術(shù)中,當(dāng)NAT1接收到第二終端發(fā)送的報(bào)文時(shí),會(huì)將所述報(bào)文丟棄,而本申請(qǐng)中,NAT1對(duì)接收到的第二終端的報(bào)文的屬性值進(jìn)行分析。
S210:NAT1判斷驗(yàn)證地址與已存儲(chǔ)的第二終端的公網(wǎng)地址B是否相同,如果相同,表示報(bào)文來(lái)自第一終端想要連接的第二終端,則執(zhí)行S211,如果不相同,則執(zhí)行S212;
S211:如果驗(yàn)證地址與所述第二終端的地址相同,NAT1建立所述第一終端與所述第二終端間的通信連接。
具體地,連接的建立方式可以為:保存指定地址與第二終端的公網(wǎng)地址C之間的映射關(guān)系。
S212:丟棄所述報(bào)文。
本實(shí)施例所述的通信連接建立方法,只有在第一終端想要連接第二終端的情況下,才會(huì)建立第二終端與第一終端之間的連接,否則,NAT1將第二終端發(fā)送的報(bào)文丟棄,因此,能夠提供局域網(wǎng)的安全性。
并且,本實(shí)施例中所述的方法,只需要公網(wǎng)中的普通服務(wù)器即可建立兩個(gè)不同的局域網(wǎng)中的終端間的通信連接,與現(xiàn)有的需要在公網(wǎng)中部署中繼服務(wù)器的局域網(wǎng)間的通信方法相比,能夠減小通信時(shí)延,并且節(jié)省網(wǎng)絡(luò)建設(shè)的成本。
除了采用以上實(shí)施例所述的地址驗(yàn)證方式之外,還可以通過(guò)加密技術(shù)進(jìn)一步提高局域網(wǎng)的安全性:
本申請(qǐng)實(shí)施例公開(kāi)的又一種通信連接的建立方法如圖3所示,本實(shí)施例所述的方法包括以下步驟:
S301:第一終端及第二終端分別獲取公網(wǎng)地址;
具體過(guò)程如前所述,這里不再贅述。
S302:第二終端向公網(wǎng)的服務(wù)器發(fā)送共享密鑰請(qǐng)求消息;
通常,共享密鑰請(qǐng)求消息用于獲取所述公網(wǎng)服務(wù)器為所述第二終端分配的用戶名和密碼。
S303:第二終端接收公網(wǎng)的服務(wù)器發(fā)送的用戶名及密碼;
S304:第一終端從公網(wǎng)獲取第二終端的公網(wǎng)地址;
S305:第一終端向NAT1發(fā)送第二終端的公網(wǎng)地址B;
本實(shí)施例中,同樣地,在NAT1為對(duì)稱形地址轉(zhuǎn)換設(shè)備的情況下,NAT1將準(zhǔn)連接到公網(wǎng)的地址A2發(fā)送給第一終端。
S306:第一終端向公網(wǎng)的服務(wù)器發(fā)送通信請(qǐng)求消息,通信請(qǐng)求消息中攜帶指定地址,以便于公網(wǎng)的服務(wù)器將指定地址發(fā)送給第二終端;
指定地址的設(shè)定與上述實(shí)施例相同,這里不再贅述。
S307:第二終端向指定地址發(fā)送報(bào)文,報(bào)文的內(nèi)容與格式與上述實(shí)施例相同,其中,報(bào)文的頭部攜帶有NAT2為第二終端生成的公網(wǎng)地址C;
S308:NAT1從報(bào)文的屬性的值中得到驗(yàn)證地址;
S309:如果驗(yàn)證地址與第二終端的公網(wǎng)地址B相同,則NAT1將第二終端的公網(wǎng)地址C由指定地址發(fā)送至第二終端;
具體地,NAT1可以將第二終端的公網(wǎng)地址C包含在報(bào)文中發(fā)送給第二終端。
S310:第二終端再次發(fā)送報(bào)文至指定地址;
其中,如圖5所示,再次發(fā)送的報(bào)文的屬性值中攜帶多項(xiàng),具體包括:公網(wǎng)地址B、公網(wǎng)地址C、第二終端的用戶名以及第二終端的消息認(rèn)證碼(例如哈希消息認(rèn)證碼),消息認(rèn)證碼通過(guò)將公網(wǎng)的服務(wù)器為第二終端分配的密碼與公網(wǎng)地址B、公網(wǎng)地址C及第二終端的用戶名進(jìn)行預(yù)設(shè)類型的運(yùn)算(例如哈希運(yùn)算)得到。再次發(fā)送的報(bào)文的報(bào)頭攜帶公網(wǎng)地址D(如果報(bào)文沒(méi)有被篡改,則公網(wǎng)地址D與公網(wǎng)地址C相同)。
S311:NAT1比較第二終端再次發(fā)送的報(bào)文中攜帶的驗(yàn)證地址與第二終端的公網(wǎng)地址B是否相同,以及比較第二終端再次發(fā)送的報(bào)文中攜帶的公網(wǎng)地址C與再次發(fā)送的報(bào)文頭部攜帶的公網(wǎng)地址D是否相同,如果都相同,NAT1將再次發(fā)送的報(bào)文發(fā)送給第一終端,如果不同,則結(jié)束流程;
其中,驗(yàn)證C與D是否相同,是為了防止報(bào)文被篡改,被篡改的報(bào)文地址C與報(bào)文頭部地址不同。
S312:第一終端將再次發(fā)送的報(bào)文發(fā)給公網(wǎng)的服務(wù)器;
公網(wǎng)的服務(wù)器通過(guò)查詢已分配的用戶名及密碼,驗(yàn)證第二報(bào)文是否合法。
具體的驗(yàn)證方法可以為:公網(wǎng)服務(wù)器使用再次發(fā)送的報(bào)文中攜帶的用戶名查詢出為此用戶名分配的密碼,使用此密碼對(duì)再次發(fā)送的報(bào)文中的公網(wǎng)地址B、公網(wǎng)地址C及用戶名與進(jìn)行預(yù)設(shè)類型的運(yùn)算(例如哈希運(yùn)算),運(yùn)算的結(jié)果與此再次發(fā)送報(bào)文中的消息認(rèn)證碼進(jìn)行比較,相同則是合法的。
S313:第一終端接收公網(wǎng)的服務(wù)器發(fā)送的驗(yàn)證結(jié)果;
S314:第一終端將驗(yàn)證結(jié)果發(fā)送給NAT1;
S315:如果驗(yàn)證結(jié)果表明再次發(fā)送的報(bào)文合法,NAT1建立第一終端與第二終端之間的連接關(guān)系。
本實(shí)施例中所述的方法,除了進(jìn)行地址的驗(yàn)證之外,還進(jìn)行密碼驗(yàn)證,與上述實(shí)施例相比,可以避免其它終端截獲第一報(bào)文被后,更換公網(wǎng)地址偽裝成第二終端與第一終端建立通信連接,從而進(jìn)一步提高局域網(wǎng)的安全性。
與上述方法實(shí)施例相對(duì)應(yīng)地,本申請(qǐng)實(shí)施例還公開(kāi)了一種地址轉(zhuǎn)換設(shè)備,如圖6所示,包括:
第一接收模塊601,用于接收第一終端發(fā)送的第二終端的公網(wǎng)地址,所述第一終端及所述地址轉(zhuǎn)換設(shè)備均位于第一局域網(wǎng)中,所述第二終端位于所述第一局域網(wǎng)之外且為所述第一終端欲連接的終端;
第二接收模塊602,用于接收所述第一局域網(wǎng)之外的終端向指定地址發(fā)送的報(bào)文,所述報(bào)文攜帶驗(yàn)證地址,所述指定地址為所述第一終端的公網(wǎng)地址,所述驗(yàn)證地址為所述報(bào)文發(fā)送方的公網(wǎng)地址;
連接建立模塊603,用于如果滿足預(yù)設(shè)條件,則建立所述第一終端與所述第二終端間的通信連接,所述預(yù)設(shè)條件中至少包括所述驗(yàn)證地址與所述第二終端的公網(wǎng)地址相同。
可選地,還可以包括:注冊(cè)模塊604,用于在所述第一接收模塊接收第一終端發(fā)送的第二終端的公網(wǎng)地址之前,依據(jù)所述第一終端的注冊(cè)請(qǐng)求,為所述第一終端分配公網(wǎng)地址;所述為所述第一終端分配公網(wǎng)地址包括:在所述地址轉(zhuǎn)換設(shè)備自身為錐形的情況下,為所述第一終端分配一種公網(wǎng)地址,所述公網(wǎng)地址用于所述第一終端連接到所述公網(wǎng)的服務(wù)器;在所述地址轉(zhuǎn)換設(shè)備自身為對(duì)稱形的情況下,為所述第一終端分配兩種公網(wǎng)地址,其中,一種公網(wǎng)地址中用于所述第一終端連接到所述公網(wǎng)的服務(wù)器、另一種公網(wǎng)地址為準(zhǔn)連接狀態(tài)的公網(wǎng)地址。
具體地,第二接收模塊接收所述第一局域網(wǎng)之外的終端向指定地址發(fā)送的報(bào)文的具體實(shí)現(xiàn)方式可以為:接收所述第一局域網(wǎng)之外的終端向指定地址發(fā)送的報(bào)文,在所述地址轉(zhuǎn)換設(shè)備為錐形的情況下,所述指定地址為所述地址轉(zhuǎn)換設(shè)備為所述第一終端分配的公網(wǎng)地址,在所述地址轉(zhuǎn)換設(shè)備為對(duì)稱形的情況下,所述指定地址為所述地址轉(zhuǎn)換設(shè)備為所述第一終端分配的準(zhǔn)連接狀態(tài)的公網(wǎng)地址。
第二接收模塊接收所述第一局域網(wǎng)之外的終端向指定地址發(fā)送的報(bào)文,所述報(bào)文攜帶驗(yàn)證地址的具體實(shí)現(xiàn)方式可以為:接收所述第一局域網(wǎng)之外的終端向指定地址發(fā)送的報(bào)文,所述報(bào)文的屬性值中包括所述指定地址。
連接建立模塊如果滿足預(yù)設(shè)條件,則建立所述第一終端與所述第二終端間的通信連接的具體實(shí)現(xiàn)方式可以為:如果所述驗(yàn)證地址與所述第二終端的公網(wǎng)地址相同,則由所述指定地址將所述報(bào)文的報(bào)頭攜帶的地址發(fā)送至所述第二終端;再次接收所述第二終端發(fā)送的報(bào)文,所述再次接收到的報(bào)文中包括消息認(rèn)證碼;如果所述再次接收到的報(bào)文的屬性值中包含的驗(yàn)證地址與所述第二終端的公網(wǎng)地址相同,且所述再次接收到的報(bào)文的屬性值中包含的公網(wǎng)地址C與所述再次接收到的報(bào)文的頭部攜帶的地址相同,則將所述再次接收到的報(bào)文發(fā)送到所述第一終端,以便于所述第一終端將所述再次接收到的報(bào)文發(fā)送到所述公網(wǎng)中,所述公網(wǎng)用于驗(yàn)證所述再次接收到的報(bào)文中的消息認(rèn)證碼是否合法;并接收所述第一終端轉(zhuǎn)發(fā)的驗(yàn)證結(jié)果,如果所述驗(yàn)證結(jié)果表明所述再次接收到的報(bào)文中的消息認(rèn)證碼合法,則建立所述第一終端與所述第二終端間的通信連接。
本申請(qǐng)實(shí)施例還公開(kāi)了一種終端,所述終端與上述實(shí)施例所述的地址轉(zhuǎn)換設(shè)備位于同一局域網(wǎng)內(nèi),如圖7所示,包括:
第一獲取模塊701,用于獲取指定地址以及第二終端的公網(wǎng)地址,所述第一終端位于第一局域網(wǎng)中,所述第二終端位于所述第一局域網(wǎng)之外且為所述第一終端欲連接的終端,所述指定地址為所述第一終端的公網(wǎng)地址;
第一發(fā)送模塊702,用于向地址轉(zhuǎn)換設(shè)備發(fā)送所述第二終端的公網(wǎng)地址,并且,通過(guò)所述公網(wǎng)向所述第二終端發(fā)送所述指定地址;
其中,所述地址轉(zhuǎn)換設(shè)備位于所述第一局域網(wǎng)中,所述第二終端的公網(wǎng)地址用于與驗(yàn)證地址相比較,兩者相同的比較結(jié)果作為所述地址轉(zhuǎn)換設(shè)備建立所述第一終端與所述第二終端之間的通信連接的條件之一,所述驗(yàn)證地址 由所述地址轉(zhuǎn)換設(shè)備從在所述指定地址接收到的報(bào)文中獲得,所述驗(yàn)證地址為所述報(bào)文的發(fā)送方的公網(wǎng)地址。
可選地,還可以包括:第三接收模塊703,用于接收所述地址轉(zhuǎn)換設(shè)備發(fā)送的再次接收到的報(bào)文,所述再次接收到的報(bào)文為所述地址轉(zhuǎn)換設(shè)備在從所述指定地址接收到所述第二終端發(fā)送的報(bào)文后,再次從所述指定地址接收到的所述第二終端發(fā)送的報(bào)文。
具體地,第一獲取模塊獲取指定地址的具體實(shí)現(xiàn)方式可以為:在所述地址轉(zhuǎn)換設(shè)備為錐形的情況下,所述第一終端接收所述地址轉(zhuǎn)換設(shè)備通過(guò)所述公網(wǎng)轉(zhuǎn)發(fā)的公網(wǎng)地址,所述公網(wǎng)地址作為所述指定地址;在所述地址轉(zhuǎn)換設(shè)備為對(duì)稱形的情況下,所述第一終端接收所述地址轉(zhuǎn)換設(shè)備發(fā)送的準(zhǔn)連接狀態(tài)的公網(wǎng)地址,所述準(zhǔn)連接狀態(tài)的公網(wǎng)地址作為所述指定地址。
進(jìn)一步地,第一發(fā)送模塊還可以用于:將所述再次接收到的報(bào)文發(fā)給所述公網(wǎng),所述公網(wǎng)用于驗(yàn)證所述再次接收到的報(bào)文是否合法。
本申請(qǐng)實(shí)施例還公開(kāi)了另一種終端,所述終端與上述實(shí)施例所述的終端位于不同的局域網(wǎng)中,如圖8所示,包括:
第四接收模塊801,用于接收指定地址,所述指定地址由第一終端通過(guò)公網(wǎng)轉(zhuǎn)發(fā),所述第一終端位于第一局域網(wǎng)中,所述第二終端位于所述第一局域網(wǎng)所述第一局域網(wǎng)之外且為所述第一終端欲連接的終端,所述指定地址為所述第一終端的公網(wǎng)地址;
第二發(fā)送模塊802,用于向所述指定地址發(fā)送報(bào)文,所述報(bào)文中攜帶驗(yàn)證地址,所述驗(yàn)證地址為所述第二終端的公網(wǎng)地址B,所述驗(yàn)證地址用于與所述第一局域網(wǎng)中的地址轉(zhuǎn)換設(shè)備中存儲(chǔ)的所述第二終端的公網(wǎng)地址相比較,兩者相同的比較結(jié)果作為所述地址轉(zhuǎn)換設(shè)備建立所述第一終端與所述第二終端之間的通信連接的條件之一。
具體地,第二發(fā)送模塊向所述指定地址發(fā)送報(bào)文,所述報(bào)文中攜帶驗(yàn)證地址,所述驗(yàn)證地址為所述第二終端的公網(wǎng)地址B的具體實(shí)現(xiàn)方式可以為: 向所述指定地址發(fā)送報(bào)文,所述報(bào)文的報(bào)頭攜帶所述第二終端的公網(wǎng)地址C;在所述第二終端的地址轉(zhuǎn)換設(shè)備為錐形的情況下,所述驗(yàn)證地址B與所述第二終端的公網(wǎng)地址C相同,在所述第二終端的地址轉(zhuǎn)換設(shè)備為對(duì)稱形的情況下,所述驗(yàn)證地址B與所述第二終端的公網(wǎng)地址C不同。
可選地,本實(shí)施例中所述的終端還可以包括:第二獲取模塊803,用于從所述公網(wǎng)獲取用戶名和密碼。
可選地,第二發(fā)送模塊還可以用于:再次向所述指定地址發(fā)送報(bào)文,再次發(fā)送的報(bào)文的屬性值包括所述公網(wǎng)地址B、所述公網(wǎng)地址C、所述用戶名以及消息認(rèn)證碼,所述消息認(rèn)證碼通過(guò)所述公網(wǎng)地址B、所述公網(wǎng)地址C、所述用戶名以及所述密碼進(jìn)行預(yù)設(shè)類型的運(yùn)算得到。
上述實(shí)施例所述的地址轉(zhuǎn)換設(shè)備以及終端的具體工作過(guò)程可以參見(jiàn)方法實(shí)施例部分,這里不再贅述。通過(guò)三者的配合使用,能夠提高局域網(wǎng)的安全性。
本申請(qǐng)實(shí)施例還公開(kāi)了一種通信連接建立系統(tǒng),包括如圖1中所述的位于第一局域網(wǎng)中的地址轉(zhuǎn)換設(shè)備NAT1和第一終端,以及位于所述第一局域網(wǎng)之外的、所述第一終端欲連接的第二終端。
其中,第一終端用于,獲取指定地址以及第二終端的公網(wǎng)地址,向地址轉(zhuǎn)換設(shè)備發(fā)送所述第二終端的公網(wǎng)地址,并且,通過(guò)所述公網(wǎng)向所述第二終端發(fā)送指定地址,所述指定地址為所述第一終端的公網(wǎng)地址。
第二終端用于,接收所述指定地址,并向所述指定地址發(fā)送報(bào)文,所述報(bào)文中攜帶驗(yàn)證地址,所述驗(yàn)證地址為所述第二終端的公網(wǎng)地址B;
地址轉(zhuǎn)換設(shè)備用于,接收所述第一終端發(fā)送的所述第二終端的公網(wǎng)地址以及所述第一局域網(wǎng)之外的終端向指定地址發(fā)送的報(bào)文,所述報(bào)文攜帶驗(yàn)證地址,所述驗(yàn)證地址為所述報(bào)文發(fā)送方的公網(wǎng)地址;如果滿足預(yù)設(shè)條件,則建立所述第一終端與所述第二終端間的通信連接,所述預(yù)設(shè)條件中至少包括所述驗(yàn)證地址與所述第二終端的公網(wǎng)地址B相同。
進(jìn)一步地,地址轉(zhuǎn)換設(shè)備還可以用于:在所述接收第一終端發(fā)送的第二終端的公網(wǎng)地址之前,依據(jù)所述第一終端的注冊(cè)請(qǐng)求,為所述第一終端分配公網(wǎng)地址;所述為所述第一終端分配公網(wǎng)地址包括:在所述地址轉(zhuǎn)換設(shè)備自身為錐形的情況下,為所述第一終端分配一種公網(wǎng)地址,所述公網(wǎng)地址用于所述第一終端連接到所述公網(wǎng)的服務(wù)器;在所述地址轉(zhuǎn)換設(shè)備自身為對(duì)稱形的情況下,為所述第一終端分配兩種公網(wǎng)地址,其中,一種公網(wǎng)地址中用于所述第一終端連接到所述公網(wǎng)的服務(wù)器、另一種公網(wǎng)地址為準(zhǔn)連接狀態(tài)的公網(wǎng)地址。
再進(jìn)一步地,地址轉(zhuǎn)換設(shè)備在如果滿足預(yù)設(shè)條件的情況下,建立所述第一終端與所述第二終端間的通信連接的具體實(shí)現(xiàn)方式可以為:如果所述驗(yàn)證地址與所述第二終端的公網(wǎng)地址相同,則所述地址轉(zhuǎn)換設(shè)備由所述指定地址,將所述報(bào)文的報(bào)頭攜帶的地址C發(fā)送至所述第二終端;
第二終端從所述公網(wǎng)獲取用戶名和密碼;在向所述指定地址發(fā)送報(bào)文之后,接收所述地址轉(zhuǎn)換設(shè)備發(fā)送的公網(wǎng)地址C;再次向所述指定地址發(fā)送報(bào)文,再次發(fā)送的報(bào)文的屬性值包括所述公網(wǎng)地址B、所述公網(wǎng)地址C、所述用戶名以及消息認(rèn)證碼,所述消息認(rèn)證碼通過(guò)所述公網(wǎng)地址B、所述公網(wǎng)地址C、所述用戶名以及所述密碼進(jìn)行預(yù)設(shè)類型的運(yùn)算得到。
地址轉(zhuǎn)換設(shè)備在如果滿足預(yù)設(shè)條件的情況下,建立所述第一終端與所述第二終端間的通信連接的具體實(shí)現(xiàn)方式中還可以包括:再次接收所述第二終端發(fā)送的報(bào)文,所述再次接收到的報(bào)文中包括所述消息認(rèn)證碼;如果所述再次接收到的報(bào)文的屬性值中包含的驗(yàn)證地址與所述第二終端的公網(wǎng)地址B相同,且所述再次接收到的報(bào)文的屬性值中包含的公網(wǎng)地址C與所述再次接收到的報(bào)文的頭部攜帶的地址D相同,則將所述再次接收到的報(bào)文發(fā)送到所述第一終端。
第一終端還用于:接收所述地址轉(zhuǎn)換設(shè)備發(fā)送的再次接收到的報(bào)文;將所述再次接收到的報(bào)文發(fā)給所述公網(wǎng),所述公網(wǎng)用于驗(yàn)證所述再次接收到的報(bào)文是否合法,并將驗(yàn)證結(jié)果發(fā)送給所述地址轉(zhuǎn)換設(shè)備。
地址轉(zhuǎn)換設(shè)備在如果滿足預(yù)設(shè)條件的情況下,建立所述第一終端與所述第二終端間的通信連接的具體實(shí)現(xiàn)方式中還可以包括:如果所述驗(yàn)證結(jié)果表明所述再次接收到的報(bào)文中的消息認(rèn)證碼合法,則建立所述第一終端與所述第二終端間的通信連接。
本實(shí)施例所述的系統(tǒng),能夠提高局域網(wǎng)的安全性。
本申請(qǐng)實(shí)施例方法所述的功能如果以軟件功能單元的形式實(shí)現(xiàn)并作為獨(dú)立的產(chǎn)品銷售或使用時(shí),可以存儲(chǔ)在一個(gè)計(jì)算設(shè)備可讀取存儲(chǔ)介質(zhì)中?;谶@樣的理解,本申請(qǐng)實(shí)施例對(duì)現(xiàn)有技術(shù)做出貢獻(xiàn)的部分或者該技術(shù)方案的部分可以以軟件產(chǎn)品的形式體現(xiàn)出來(lái),該軟件產(chǎn)品存儲(chǔ)在一個(gè)存儲(chǔ)介質(zhì)中,包括若干指令用以使得一臺(tái)計(jì)算設(shè)備(可以是個(gè)人計(jì)算機(jī),服務(wù)器,移動(dòng)計(jì)算設(shè)備或者網(wǎng)絡(luò)設(shè)備等)執(zhí)行本申請(qǐng)各個(gè)實(shí)施例所述方法的全部或部分步驟。而前述的存儲(chǔ)介質(zhì)包括:U盤(pán)、移動(dòng)硬盤(pán)、只讀存儲(chǔ)器(ROM,Read-Only Memory)、隨機(jī)存取存儲(chǔ)器(RAM,Random Access Memory)、磁碟或者光盤(pán)等各種可以存儲(chǔ)程序代碼的介質(zhì)。
本說(shuō)明書(shū)中各個(gè)實(shí)施例采用遞進(jìn)的方式描述,每個(gè)實(shí)施例重點(diǎn)說(shuō)明的都是與其它實(shí)施例的不同之處,各個(gè)實(shí)施例之間相同或相似部分互相參見(jiàn)即可。
對(duì)所公開(kāi)的實(shí)施例的上述說(shuō)明,使本領(lǐng)域?qū)I(yè)技術(shù)人員能夠?qū)崿F(xiàn)或使用本申請(qǐng)。對(duì)這些實(shí)施例的多種修改對(duì)本領(lǐng)域的專業(yè)技術(shù)人員來(lái)說(shuō)將是顯而易見(jiàn)的,本文中所定義的一般原理可以在不脫離本申請(qǐng)的精神或范圍的情況下,在其它實(shí)施例中實(shí)現(xiàn)。因此,本申請(qǐng)將不會(huì)被限制于本文所示的這些實(shí)施例,而是要符合與本文所公開(kāi)的原理和新穎特點(diǎn)相一致的最寬的范圍。