两个人的电影免费视频_国产精品久久久久久久久成人_97视频在线观看播放_久久这里只有精品777_亚洲熟女少妇二三区_4438x8成人网亚洲av_内谢国产内射夫妻免费视频_人妻精品久久久久中国字幕

一種防火墻穿越方法、系統(tǒng)和設(shè)備的制作方法

文檔序號(hào):7665938閱讀:229來(lái)源:國(guó)知局
專(zhuān)利名稱(chēng):一種防火墻穿越方法、系統(tǒng)和設(shè)備的制作方法
技術(shù)領(lǐng)域
本發(fā)明涉及通信領(lǐng)域,特別涉及一種防火墻穿越方法、系統(tǒng)和設(shè)備。
背景技術(shù)
P2P (Peer to Peer,對(duì)等網(wǎng)絡(luò))中,當(dāng)需要進(jìn)行相互通信的節(jié)點(diǎn)均位于各自的防火墻之 后,且防火墻采用了狀態(tài)檢測(cè)等數(shù)據(jù)包深層分析技術(shù)對(duì)進(jìn)出防火墻的數(shù)據(jù)包的內(nèi)容進(jìn)行檢測(cè) 時(shí),例如很多防火墻會(huì)限制防火墻外的SYN (Synchronize, —種非常小的數(shù)據(jù)包)的主動(dòng)進(jìn) 入,此時(shí)上述網(wǎng)絡(luò)拓?fù)浣Y(jié)構(gòu)中通信的訪(fǎng)問(wèn)方和通信的被訪(fǎng)問(wèn)方之間由于無(wú)法完成TCP (Transmission Control Protocol,傳輸控制協(xié)議)的三次握手導(dǎo)致無(wú)法建立TCP連接,從 而影響了通信。因此,必須要解決P2P網(wǎng)絡(luò)節(jié)點(diǎn)穿越防火墻建立端到端連接的問(wèn)題。
目前,現(xiàn)有技術(shù)提供了一種VoIP (Voice over IP ,以數(shù)據(jù)包的方式傳輸語(yǔ)音的IP協(xié)議) 應(yīng)用穿越防火墻的方法,該方法采用了TCP隧道技術(shù),即利用部署在Intemet上的代理服務(wù)器, 將VoIP客戶(hù)端的UDP (User Datagram Protocol,用戶(hù)數(shù)據(jù)報(bào)協(xié)議)數(shù)據(jù)包轉(zhuǎn)換為T(mén)CP數(shù)據(jù)包 后發(fā)送給VoIP服務(wù)器。在Internet服務(wù)器旁設(shè)置代理服務(wù)器;當(dāng)客戶(hù)端和服務(wù)器都在Internet 上時(shí),直接通過(guò)VoIP實(shí)現(xiàn)網(wǎng)絡(luò)數(shù)據(jù)的傳送;當(dāng)VoIP服務(wù)器在Internet上而VoIP客戶(hù)端是通過(guò) NAT (Network Address Translation,網(wǎng)絡(luò)地址轉(zhuǎn)換)或防火墻聯(lián)入Internet時(shí),首先在VoIP 客戶(hù)端與代理服務(wù)器之間建立TCP隧道,然后由代理服務(wù)器代理發(fā)送和接收VoIP客戶(hù)端的UDP 數(shù)據(jù)包,從而實(shí)現(xiàn)VoIP服務(wù)器和代理服務(wù)器之間直接收發(fā)數(shù)據(jù)。
發(fā)明人在實(shí)現(xiàn)本發(fā)明的過(guò)程中發(fā)現(xiàn),該方法沒(méi)有解決通信的節(jié)點(diǎn)之間建立TCP連接的問(wèn) 題。當(dāng)VoIP客戶(hù)端和代理服務(wù)器均在NAT或防火墻之后時(shí),利用該方法無(wú)法建立VoIP客戶(hù)端和 Internet服務(wù)器通信雙方之間的TCP連接。
現(xiàn)有技術(shù)還提供了一種利用UDP隧道穿越防火墻的方法,該方法在防火墻或NAT設(shè)備端部 署UDP隧道客戶(hù)端UTC (UDP Tunnel Client) 、 UDP隧道服務(wù)器UTS (UDP Tunnel Server), 以及用戶(hù)數(shù)據(jù)包協(xié)議,并利用UDP隧道客戶(hù)端UTC和UDP隧道服務(wù)器UTS在終端之間建立UDP隧 道。終端發(fā)送應(yīng)用層數(shù)據(jù)(協(xié)議數(shù)據(jù)),UTC接收應(yīng)用層數(shù)據(jù),將應(yīng)用層數(shù)據(jù)封裝成UDP數(shù)據(jù) 包,然后通過(guò)UDP隧道進(jìn)行發(fā)送;當(dāng)UTS接收到UDP數(shù)據(jù)包后,對(duì)接收到的UDP數(shù)據(jù)包進(jìn)行解封裝,將解封裝得到的應(yīng)用層數(shù)據(jù)發(fā)送給服務(wù)器。
發(fā)明人在實(shí)現(xiàn)本發(fā)明的過(guò)程中發(fā)現(xiàn),該方法當(dāng)終端和服務(wù)器通信雙方都位于防火墻(尤 其是狀態(tài)檢測(cè)防火墻)之后時(shí),無(wú)法實(shí)現(xiàn)相互通信。

發(fā)明內(nèi)容
為了使位于狀態(tài)檢測(cè)防火墻后的通信節(jié)點(diǎn)間能夠?qū)崿F(xiàn)相互通信,本發(fā)明實(shí)施例提供了一 種防火墻穿越方法、系統(tǒng)和設(shè)備。所述技術(shù)方案如下 其中, 一種防火墻穿越方法,所述方法包括 獲取對(duì)端節(jié)點(diǎn)的IP地址和端口號(hào);
根據(jù)所述對(duì)端節(jié)點(diǎn)的IP地址和端口號(hào)將待發(fā)送的數(shù)據(jù)封裝為IP隧道包,使所述IP隧道 包穿越對(duì)端節(jié)點(diǎn)的防火墻;
向所述對(duì)端節(jié)點(diǎn)發(fā)送所述IP隧道包。
本發(fā)明實(shí)施例還提供了一種防火墻穿越系統(tǒng),所述系統(tǒng)包括第一節(jié)點(diǎn)和第二節(jié)點(diǎn); 所述第一節(jié)點(diǎn)用于獲取所述第二節(jié)點(diǎn)的IP地址和端口號(hào);根據(jù)所述對(duì)端節(jié)點(diǎn)的IP地址 和端口號(hào)將待發(fā)送的數(shù)據(jù)封裝為IP隧道包,發(fā)送所述IP隧道包;
所述第二節(jié)點(diǎn)用于接收所述第一節(jié)點(diǎn)發(fā)送的IP隧道包,對(duì)所述IP隧道包解封裝得到所 述待發(fā)送的數(shù)據(jù)。
本發(fā)明實(shí)施例還提供了一種防火墻穿越系統(tǒng),所述系統(tǒng)包括
第一節(jié)點(diǎn)、第一節(jié)點(diǎn)代理客戶(hù)端、第二節(jié)點(diǎn)代理服務(wù)器和第二節(jié)點(diǎn)
第一節(jié)點(diǎn),用于獲取所述第二節(jié)點(diǎn)的IP地址和端口號(hào),以及發(fā)送數(shù)據(jù),所述數(shù)據(jù)攜帶所
述IP地址和端口號(hào);
第一節(jié)點(diǎn)代理客戶(hù)端,用于接收所述第一節(jié)點(diǎn)發(fā)送的數(shù)據(jù),將所述數(shù)據(jù)封裝為IP隧道包, 發(fā)送所述IP隧道包;
第二節(jié)點(diǎn)代理服務(wù)器,用于接收所述第一節(jié)點(diǎn)代理客戶(hù)端發(fā)送的IP隧道包,對(duì)所述IP 隧道包解封裝,得到所述第一節(jié)點(diǎn)發(fā)送的數(shù)據(jù),發(fā)送所述解封裝后的數(shù)據(jù);
第二節(jié)點(diǎn),用于接收所述第二節(jié)點(diǎn)代理服務(wù)器解封裝后的數(shù)據(jù),得到所述第一節(jié)點(diǎn)發(fā)送 的數(shù)據(jù)。
本發(fā)明實(shí)施例還提供了一種節(jié)點(diǎn)設(shè)備,所述節(jié)點(diǎn)設(shè)備包括 獲取模塊,用于獲取對(duì)端節(jié)點(diǎn)的IP地址和端口號(hào);
封裝模塊,用于根據(jù)所述獲取模塊獲取的IP地址和端口號(hào)將待發(fā)送的數(shù)據(jù)封裝為IP隧道包,使所述IP隧道包穿越對(duì)端節(jié)點(diǎn)的防火墻;
發(fā)送模塊,用于發(fā)送所述封裝模塊封裝的IP隧道包。 本發(fā)明實(shí)施例提供的技術(shù)方案的有益效果是
通過(guò)對(duì)待發(fā)送的數(shù)據(jù)進(jìn)行封裝,添加IP頭和UDP頭得到IP隧道包,該IP隧道包將能夠 穿越對(duì)端的防火墻,使位于防火墻之后的通信節(jié)點(diǎn)也可以完成雙向連接和通信。


圖1是本發(fā)明實(shí)施例1提供的防火墻穿越的組網(wǎng)示意圖; 圖2是本發(fā)明實(shí)施例1提供的防火墻穿越的方法流程圖; 圖3是本發(fā)明實(shí)施例2提供的防火墻穿越的組網(wǎng)示意圖; 圖4是本發(fā)明實(shí)施例2提供的防火墻穿越的方法流程圖; 圖5是本發(fā)明實(shí)施例3提供的防火墻穿越的系統(tǒng)示意圖; 圖6是本發(fā)明實(shí)施例4提供的防火墻穿越的系統(tǒng)示意圖; 圖7是本發(fā)明實(shí)施例5提供的節(jié)點(diǎn)設(shè)備示意圖。
具體實(shí)施例方式
為使本發(fā)明的目的、技術(shù)方案和優(yōu)點(diǎn)更加清楚,下面將結(jié)合附圖對(duì)本發(fā)明實(shí)施方式作進(jìn) 一步地詳細(xì)描述.
本發(fā)明實(shí)施例通過(guò)獲取對(duì)端節(jié)點(diǎn)的IP地址和端口號(hào);根據(jù)對(duì)端節(jié)點(diǎn)的IP地址和端口號(hào) 將待發(fā)送的數(shù)據(jù)封裝為IP隧道包,使IP隧道包穿越對(duì)端節(jié)點(diǎn)的防火墻,從而實(shí)現(xiàn)在P2P網(wǎng) 絡(luò)中位于防火墻后的通信節(jié)點(diǎn)間的通信。
其中,將待發(fā)送的數(shù)據(jù)封裝為IP隧道包時(shí)采用在待發(fā)送的數(shù)據(jù)中添加IP頭和UDP頭方 式進(jìn)行封裝,得到IP隧道包,其中,IP頭和UDP頭為預(yù)先開(kāi)通UDP通道的UDP報(bào)文的協(xié)議 頭(包括源端口、目的端口、校驗(yàn)和、長(zhǎng)度等字段),該IP隧道包能夠穿越對(duì)端節(jié)點(diǎn)的防 火墻。
實(shí)施例l
參見(jiàn)圖l,為本發(fā)明實(shí)施例提供的防火墻穿越的組網(wǎng)示意圖。以圖1中,作為訪(fǎng)問(wèn)方的節(jié) 點(diǎn)A和作為被訪(fǎng)問(wèn)方的節(jié)點(diǎn)B進(jìn)行相互通信為例,為了實(shí)現(xiàn)方便,本實(shí)施例在節(jié)點(diǎn)A和節(jié)點(diǎn) B之間預(yù)先設(shè)置防火墻穿越代理(FTP, Firewall Traversal Proxy),節(jié)點(diǎn)A和節(jié)點(diǎn)B通過(guò) FTP獲取對(duì)端的IP地址和端口號(hào),其中,F(xiàn)TP只需要擁有一個(gè)靜態(tài)、全局IP地址,可以具體
8為一個(gè)具有公網(wǎng)IP地址的單獨(dú)的服務(wù)器或路由器等設(shè)備;也可以將其功能集成在網(wǎng)絡(luò)中現(xiàn)有 的服務(wù)器或路由器等設(shè)備上,但是要保證和訪(fǎng)問(wèn)方、被訪(fǎng)問(wèn)方之間能夠進(jìn)行無(wú)障礙通信。參
見(jiàn)圖2,本實(shí)施例以IP請(qǐng)求數(shù)據(jù)包作為待發(fā)送的數(shù)據(jù)為例,該方法具體步驟如下
步驟101:節(jié)點(diǎn)A和節(jié)點(diǎn)B分別向FTP上報(bào)自身的IP地址和端口號(hào)。
步驟102: FTP收到節(jié)點(diǎn)A和節(jié)點(diǎn)B上報(bào)的IP地址和端口號(hào)后,進(jìn)行保存,并分別向節(jié) 點(diǎn)A和節(jié)點(diǎn)B返回對(duì)端的IP地址和端口號(hào)。
步驟103:節(jié)點(diǎn)A和節(jié)點(diǎn)B收到對(duì)端的IP地址和端口號(hào)后,通過(guò)UDP掘孔技術(shù)開(kāi)通雙向 UDP通道,開(kāi)通雙向通道的具體步驟如下
節(jié)點(diǎn)A和節(jié)點(diǎn)B同時(shí)向?qū)Χ税l(fā)送UDP報(bào)文;例如,可以通過(guò)FTP相互通知發(fā)送UDP報(bào)文 的時(shí)間,實(shí)現(xiàn)雙方幾乎同時(shí)發(fā)送UDP報(bào)文;
以節(jié)點(diǎn)A向節(jié)點(diǎn)B發(fā)送UDP報(bào)文為例,其中該UDP報(bào)文中的源IP地址和端口號(hào)為節(jié)點(diǎn)A 的IP地址和端口號(hào),目的IP地址和端口號(hào)為節(jié)點(diǎn)B的IP地址和端口號(hào);
當(dāng)節(jié)點(diǎn)A的防火墻收到由節(jié)點(diǎn)A發(fā)送來(lái)的UDP報(bào)文時(shí),記錄UDP報(bào)文中攜帶的節(jié)點(diǎn)B的 IP地址和端口號(hào),然后向節(jié)點(diǎn)B發(fā)送該UDP報(bào)文;
當(dāng)節(jié)點(diǎn)B的防火墻收到由節(jié)點(diǎn)A發(fā)送來(lái)的UDP報(bào)文時(shí),檢査自身是否記錄過(guò)該UDP報(bào)文 中攜帶的源IP地址和端口號(hào),即節(jié)點(diǎn)A的IP地址和端口號(hào),如果有,則允許該UDP報(bào)文通 過(guò),將該UDP報(bào)文發(fā)送到節(jié)點(diǎn)B。
同理,以節(jié)點(diǎn)B向節(jié)點(diǎn)A發(fā)送UDP報(bào)文的過(guò)程也類(lèi)似,如果節(jié)點(diǎn)A的防火墻在收到由節(jié) 點(diǎn)B發(fā)送來(lái)的UDP報(bào)文時(shí),檢査自身是否記錄過(guò)該UDP報(bào)文中攜帶的節(jié)點(diǎn)B的IP地址和端口 號(hào),如果有,則允許該UDP報(bào)文通過(guò),將該UDP報(bào)文發(fā)送到節(jié)點(diǎn)A。
如果當(dāng)前節(jié)點(diǎn)A或節(jié)點(diǎn)B的防火墻沒(méi)有記錄對(duì)端的IP地址和端口號(hào),將不會(huì)開(kāi)通UDP雙 向通道,將會(huì)通過(guò)下一次發(fā)送的UDP報(bào)文開(kāi)通。
所述的UDP掘孔技術(shù)(UDP Hole Punching)開(kāi)通雙向UDP通道的原理為如果想從防火 墻外部發(fā)送一個(gè)數(shù)據(jù)包給內(nèi)網(wǎng)的計(jì)算機(jī)時(shí),首先,必須在內(nèi)網(wǎng)的防火墻上打上一個(gè)"洞"(也 就是說(shuō)在防火墻上建立一個(gè)會(huì)話(huà)Session),這個(gè)洞不能由外部來(lái)打,只能由內(nèi)網(wǎng)內(nèi)的主機(jī)來(lái) 打。而且這個(gè)洞是有方向的,比如從內(nèi)部某臺(tái)主機(jī)(比如192. 168.0. 10)向外部的某個(gè)IP(比 如219.237.60. l)發(fā)送一個(gè)UDP包,那么就在這個(gè)內(nèi)網(wǎng)的防火墻上打了 一個(gè)方向?yàn)?219. 237. 60. 1的"洞",這就是稱(chēng)為UDP Hole Punching的技術(shù);以后219. 237. 60. 1就可 以通過(guò)這個(gè)洞與內(nèi)網(wǎng)的192. 168. 0.10聯(lián)系了,但是具有其他IP地址的數(shù)據(jù)包不能利用這個(gè)通過(guò)上述步驟101至步驟103后,在節(jié)點(diǎn)A和節(jié)點(diǎn)B各自的防火墻上建立了節(jié)點(diǎn)A和節(jié)點(diǎn)B的通信關(guān)系,當(dāng)節(jié)點(diǎn)A和節(jié)點(diǎn)B進(jìn)行通信時(shí),可以直接利用UDP通道實(shí)現(xiàn)穿越防火墻,本實(shí)施例以節(jié)點(diǎn)A向節(jié)點(diǎn)B發(fā)送IP請(qǐng)求數(shù)據(jù)包為例,具體過(guò)程參見(jiàn)步驟104至步驟106。
步驟104:節(jié)點(diǎn)A通過(guò)將待發(fā)送的IP請(qǐng)求數(shù)據(jù)包添加IP頭和UDP協(xié)議頭后,封裝得到IP隧道包。
其中,該IP隧道包的IP頭和UDP協(xié)議頭為已開(kāi)通的UDP通道的UDP報(bào)文的協(xié)議頭。
步驟105:節(jié)點(diǎn)A將IP隧道包向節(jié)點(diǎn)B發(fā)送,節(jié)點(diǎn)A的防火墻收到來(lái)自節(jié)點(diǎn)A的IP隧道包后,將該IP隧道包轉(zhuǎn)發(fā)。
步驟106:節(jié)點(diǎn)B的防火墻收到來(lái)自節(jié)點(diǎn)A的IP隧道包后,檢查自身記錄有該IP隧道包的協(xié)議頭中攜帶的源IP地址和端口號(hào)后,將該IP隧道包轉(zhuǎn)發(fā)到節(jié)點(diǎn)B。
如果節(jié)點(diǎn)B的防火墻檢查自身沒(méi)有記錄該IP隧道包的協(xié)議頭中攜帶的源IP地址和端口號(hào),則該IP隧道包不合法,直接將該IP隧道包丟棄;本實(shí)施例以檢査通過(guò)為例進(jìn)行說(shuō)明。
步驟107:節(jié)點(diǎn)B收到通過(guò)自身防火墻的IP隧道包后,進(jìn)行解封裝得到IP請(qǐng)求數(shù)據(jù)包。
上述步驟成功完成了節(jié)點(diǎn)A向節(jié)點(diǎn)B發(fā)送IP請(qǐng)求數(shù)據(jù)包的通信,同理,節(jié)點(diǎn)B也可以通過(guò)開(kāi)通的UDP通道完成向節(jié)點(diǎn)A返回IP響應(yīng)數(shù)據(jù)包的通信,這里不再贅述。
其中,本發(fā)明實(shí)施例節(jié)點(diǎn)A和節(jié)點(diǎn)B獲取對(duì)端IP地址和端口號(hào)的方式不限制于通過(guò)FTP獲取,還可以是通過(guò)現(xiàn)有技術(shù)中提供的其他獲取方式實(shí)現(xiàn),例如節(jié)點(diǎn)A和節(jié)點(diǎn)B向網(wǎng)管獲取等。
本發(fā)明實(shí)施例中開(kāi)通UDP通道時(shí),節(jié)點(diǎn)A和節(jié)點(diǎn)B同時(shí)向?qū)Χ税l(fā)送UDP報(bào)文時(shí),也不限制于通過(guò)FTP相互通知發(fā)送UDP報(bào)文的時(shí)間,實(shí)現(xiàn)雙方幾乎同時(shí)發(fā)送UDP報(bào)文的方式,還可以是通過(guò)現(xiàn)有技術(shù)中提供的其他方式實(shí)現(xiàn),例如通過(guò)網(wǎng)管控制節(jié)點(diǎn)A和節(jié)點(diǎn)B,實(shí)現(xiàn)雙方幾乎同時(shí)發(fā)送UDP報(bào)文等。
本領(lǐng)域技術(shù)人員可以知道,通過(guò)本發(fā)明實(shí)施例提供的防火墻穿越方法同樣適用于穿越NAT,對(duì)網(wǎng)絡(luò)拓?fù)浼安渴饹](méi)有任何要求。
本發(fā)明實(shí)施例提供的方法通過(guò)對(duì)待發(fā)送的數(shù)據(jù)進(jìn)行封裝,添加IP頭和UDP頭得到IP隧道包,該IP隧道包通過(guò)添加的UDP頭隱藏了原來(lái)的傳輸層協(xié)議信息,將能夠穿越對(duì)端的防火墻,即使該防火墻開(kāi)通了狀態(tài)檢測(cè),使位于防火墻之后的通信節(jié)點(diǎn)也可以完成雙向連接和通信;同時(shí),封裝后的IP隧道包保持了原來(lái)應(yīng)用程序的特性,因而應(yīng)用程序無(wú)需額外操作,簡(jiǎn)化了解封裝時(shí)的操作過(guò)程。
實(shí)施例2
10參見(jiàn)圖3,為本發(fā)明實(shí)施例提供的防火墻穿越的組網(wǎng)示意圖。與圖1提供的組網(wǎng)結(jié)構(gòu)相比,圖3中的節(jié)點(diǎn)A和節(jié)點(diǎn)B的附近分別部署了IPC (IP Tunnel Client, IP隧道代理客戶(hù))和IPS (IP Tunnel Server, IP隧道代理服務(wù)器),以節(jié)點(diǎn)A和節(jié)點(diǎn)B進(jìn)行相互通信為例,參見(jiàn)圖4,本實(shí)施例以IP請(qǐng)求數(shù)據(jù)包作為待發(fā)送的數(shù)據(jù)為例,該方法具體步驟如下
步驟201:節(jié)點(diǎn)A和節(jié)點(diǎn)B分別向FTP上報(bào)自身的IP地址和端口號(hào)。
步驟202: FTP收到節(jié)點(diǎn)A和節(jié)點(diǎn)B上報(bào)的IP地址和端口號(hào)后,進(jìn)行保存,并分別向節(jié)點(diǎn)A和節(jié)點(diǎn)B返回對(duì)端的IP地址、端口號(hào)以及會(huì)話(huà)標(biāo)識(shí)SID。
其中,該會(huì)話(huà)標(biāo)識(shí)SID為FTP預(yù)先保存的,用于節(jié)點(diǎn)A和節(jié)點(diǎn)B進(jìn)行相互通信。
步驟203:節(jié)點(diǎn)A和節(jié)點(diǎn)B收到對(duì)端的IP地址和端口號(hào)后,通過(guò)UDP掘孔技術(shù)開(kāi)通雙向UDP通道。具體步驟如下
節(jié)點(diǎn)A的IPC和節(jié)點(diǎn)B的IPC同時(shí)向?qū)Χ税l(fā)送UDP報(bào)文;例如,可以通過(guò)FTP相互通知發(fā)送UDP報(bào)文的時(shí)間,實(shí)現(xiàn)雙方幾乎同時(shí)發(fā)送UDP報(bào)文;
以節(jié)點(diǎn)A的IPC向節(jié)點(diǎn)B發(fā)送UDP報(bào)文為例,其中該UDP報(bào)文中的源IP地址和端口號(hào)為節(jié)點(diǎn)A的IP地址和端口號(hào),目的IP地址和端口號(hào)為節(jié)點(diǎn)B的IP地址和端口號(hào);
當(dāng)節(jié)點(diǎn)A的防火墻收到由節(jié)點(diǎn)A的IPC發(fā)送來(lái)的UDP報(bào)文時(shí),記錄UDP報(bào)文中攜帶的節(jié)點(diǎn)B的IP地址和端口號(hào),然后向節(jié)點(diǎn)B發(fā)送該UDP報(bào)文;
當(dāng)節(jié)點(diǎn)B的防火墻收到由節(jié)點(diǎn)A發(fā)送來(lái)的UDP報(bào)文時(shí),檢查自身是否記錄過(guò)該UDP報(bào)文中攜帶的源IP地址和端口號(hào),即節(jié)點(diǎn)A的IP地址和端口號(hào),如果有,則允許該UDP報(bào)文通過(guò),將該UDP報(bào)文發(fā)送到節(jié)點(diǎn)B的IPS。
同理,節(jié)點(diǎn)B向節(jié)點(diǎn)A發(fā)送UDP報(bào)文的過(guò)程也類(lèi)似,如果節(jié)點(diǎn)A的防火墻在收到由節(jié)點(diǎn)B的IPC發(fā)送來(lái)的UDP報(bào)文時(shí),檢查自身是否記錄過(guò)該UDP報(bào)文中攜帶的節(jié)點(diǎn)B的IP地址和端口號(hào),如果有,則允許該UDP報(bào)文通過(guò),將該UDP報(bào)文發(fā)送到節(jié)點(diǎn)A的IPS。
該過(guò)程是在節(jié)點(diǎn)A和節(jié)點(diǎn)B各自的IPC和IPS之間進(jìn)行的,即穿越防火墻的是IPC和IPS,而對(duì)于節(jié)點(diǎn)A和節(jié)點(diǎn)B的應(yīng)用程序來(lái)說(shuō)是完全透明。
其中,上述通過(guò)UDP掘孔技術(shù)開(kāi)通雙向UDP通道是以節(jié)點(diǎn)A的IPC和節(jié)點(diǎn)B的IPC相互發(fā)送UDP報(bào)文為例的,開(kāi)通雙向UDP通道的過(guò)程也可以與實(shí)施例1提供的方法一樣由節(jié)點(diǎn)A和節(jié)點(diǎn)B互相發(fā)送UDP報(bào)文實(shí)現(xiàn),這里不再詳述。
通過(guò)上述步驟201至步驟203后,在節(jié)點(diǎn)A和節(jié)點(diǎn)B各自的防火墻上建立了節(jié)點(diǎn)A和節(jié)點(diǎn)B的通信關(guān)系,當(dāng)節(jié)點(diǎn)A和節(jié)點(diǎn)B間進(jìn)行通信時(shí),可以直接利用UDP通道實(shí)現(xiàn)穿越防火墻,本實(shí)施例以節(jié)點(diǎn)A向節(jié)點(diǎn)B發(fā)送IP請(qǐng)求數(shù)據(jù)包為例,具體過(guò)程參見(jiàn)步驟204至步驟209。步驟204:節(jié)點(diǎn)A通過(guò)將待發(fā)送的IP請(qǐng)求數(shù)據(jù)包發(fā)送到節(jié)點(diǎn)A的IPC,節(jié)點(diǎn)A的IPC將該IP請(qǐng)求數(shù)據(jù)包添加IP頭和UDP協(xié)議頭,封裝得到IP隧道包,并在該IP隧道包中標(biāo)記會(huì)話(huà)標(biāo)識(shí)SID。
其中,該IP隧道包的IP頭和UDP協(xié)議頭為已開(kāi)通的UDP通道的UDP的協(xié)議頭。
步驟205:節(jié)點(diǎn)A的IPC將IP隧道包向節(jié)點(diǎn)B發(fā)送,節(jié)點(diǎn)A的防火墻收到來(lái)自節(jié)點(diǎn)A的IPC的IP隧道包后,轉(zhuǎn)發(fā)該IP隧道包。
步驟206:節(jié)點(diǎn)B的防火墻收到來(lái)自節(jié)點(diǎn)A的IP隧道包后,檢查通過(guò)后,將該IP隧道包轉(zhuǎn)發(fā)到節(jié)點(diǎn)B的IPS。
此處,節(jié)點(diǎn)B的防火墻收到來(lái)自節(jié)點(diǎn)A的IP隧道包后,檢査自身是否記錄過(guò)該IP隧道包中的源IP地址和端口號(hào),即節(jié)點(diǎn)A的IP地址和端口號(hào),如果記錄過(guò),則檢查通過(guò);將該IP隧道包轉(zhuǎn)發(fā)到節(jié)點(diǎn)B的IPS;否則,檢查不通過(guò),丟棄該將該IP隧道包。本實(shí)施例以檢査通過(guò)為例進(jìn)行說(shuō)明。
步驟207:節(jié)點(diǎn)B的IPS收到通過(guò)自身防火墻的IP隧道包后,判斷是否能查找到會(huì)話(huà)標(biāo)識(shí)SID,如果能夠査找到會(huì)話(huà)標(biāo)識(shí)SID,則執(zhí)行步驟208;否則,執(zhí)行步驟209。
步驟208:節(jié)點(diǎn)B的IPS解封裝IP隧道包,得到節(jié)點(diǎn)A發(fā)送的IP請(qǐng)求數(shù)據(jù)包,并將該IP請(qǐng)求數(shù)據(jù)包發(fā)送到節(jié)點(diǎn)B。
步驟209:節(jié)點(diǎn)B的IPS根據(jù)自身配置處理該IP隧道包。
其中,節(jié)點(diǎn)B的IPS根據(jù)自身的配置,對(duì)于沒(méi)有攜帶會(huì)話(huà)標(biāo)識(shí)的IP隧道包可以進(jìn)行如下處理
當(dāng)IPS自身的配置為將接收到的所有數(shù)據(jù)包轉(zhuǎn)發(fā)到節(jié)點(diǎn)B時(shí),將沒(méi)有攜帶會(huì)話(huà)標(biāo)識(shí)的IP隧道包轉(zhuǎn)發(fā)給節(jié)點(diǎn)B;
當(dāng)IPS自身的配置為只轉(zhuǎn)發(fā)攜帶會(huì)話(huà)標(biāo)識(shí)的IP隧道包時(shí),將丟棄沒(méi)有攜帶會(huì)話(huà)標(biāo)識(shí)的IP隧道包。
上述步驟成功完成了節(jié)點(diǎn)A向節(jié)點(diǎn)B發(fā)送IP請(qǐng)求數(shù)據(jù)包的通信,同理,節(jié)點(diǎn)B也可以通過(guò)開(kāi)通的UDP通道完成向節(jié)點(diǎn)A返回IP響應(yīng)數(shù)據(jù)包的通信。
其中,本發(fā)明實(shí)施例節(jié)點(diǎn)A和節(jié)點(diǎn)B獲取對(duì)端IP地址和端口號(hào)的方式不限制于通過(guò)FTP獲取,還可以是通過(guò)現(xiàn)有技術(shù)中提供的其他獲取方式實(shí)現(xiàn),例如節(jié)點(diǎn)A和節(jié)點(diǎn)B向網(wǎng)管獲取等。
并且本發(fā)明實(shí)施例中,獲取會(huì)話(huà)標(biāo)識(shí)SID的方式,不限制于通過(guò)FTP獲取的方式,還可以是通過(guò)由數(shù)據(jù)發(fā)送方的節(jié)點(diǎn)添加預(yù)先與數(shù)據(jù)接收方協(xié)商的會(huì)話(huà)標(biāo)識(shí)SID實(shí)現(xiàn)。
12本發(fā)明實(shí)施例提供的技術(shù)方案由于是對(duì)整個(gè)IP數(shù)據(jù)包進(jìn)行封裝,因此在網(wǎng)絡(luò)中通信節(jié)點(diǎn)的各自IPC和IPS僅需要對(duì)添加的IP頭和UDP頭進(jìn)行處理,無(wú)需關(guān)注原IP數(shù)據(jù)包,通過(guò)添加會(huì)話(huà)標(biāo)識(shí)SID使得接收方的IPS能夠很容易判斷出該數(shù)據(jù)包的內(nèi)容是封裝后的IP隧道包還是原始IP數(shù)據(jù)包,使得解封裝的開(kāi)銷(xiāo)大大減??;通過(guò)開(kāi)通UDP通道,當(dāng)對(duì)等網(wǎng)絡(luò)中通信節(jié)點(diǎn)均位于防火墻之后時(shí),也可以實(shí)現(xiàn)穿越防火墻,從而完成通信節(jié)點(diǎn)間的雙向連接和通信。
實(shí)施例3
參見(jiàn)圖5,為本發(fā)明實(shí)施例提供的防火墻穿越系統(tǒng),系統(tǒng)包括
第一節(jié)點(diǎn),用于獲取第二節(jié)點(diǎn)的IP地址和端口號(hào);根據(jù)對(duì)端節(jié)點(diǎn)的IP地址和端口號(hào)將待發(fā)送的數(shù)據(jù)封裝為IP隧道包,發(fā)送IP隧道包;
第二節(jié)點(diǎn),用于接收第一節(jié)點(diǎn)發(fā)送的IP隧道包,對(duì)IP隧道包解封裝得到待發(fā)送的數(shù)據(jù)。其中,第一節(jié)點(diǎn)包括
獲取模塊,用于獲取第二節(jié)點(diǎn)的IP地址和端口號(hào);
封裝模塊,用于根據(jù)獲取模塊獲取的IP地址和端口號(hào)為待發(fā)送的數(shù)據(jù)添加IP頭和用戶(hù)數(shù)據(jù)報(bào)協(xié)議頭,封裝為IP隧道包,IP頭和用戶(hù)數(shù)據(jù)報(bào)協(xié)議頭為預(yù)先開(kāi)通用戶(hù)數(shù)據(jù)報(bào)協(xié)議通道的用戶(hù)數(shù)據(jù)報(bào)協(xié)議報(bào)文的協(xié)議頭;
會(huì)話(huà)標(biāo)識(shí)添加模塊,用于在封裝模塊封裝的IP隧道包中添加會(huì)話(huà)標(biāo)識(shí);
相應(yīng)地,第二節(jié)點(diǎn)具體包括
接收模塊,用于接收IP隧道包;
判斷模塊,用于判斷接收模塊接收到的IP隧道包中是否攜帶會(huì)話(huà)標(biāo)識(shí);處理模塊,用于當(dāng)判斷模塊判斷的結(jié)果是IP隧道包中攜帶會(huì)話(huà)標(biāo)識(shí)時(shí),去掉IP隧道包中的IP頭和用戶(hù)數(shù)據(jù)報(bào)協(xié)議頭,得到待發(fā)送的數(shù)據(jù)。本發(fā)明實(shí)施例提供的防火墻穿越系統(tǒng)還包括
防火墻穿越代理,用于保存第一節(jié)點(diǎn)和第二節(jié)點(diǎn)上報(bào)的IP地址和端口號(hào);相應(yīng)地;
第一節(jié)點(diǎn)還用于向防火墻穿越代理上報(bào)自身的IP地址和端口號(hào),以及通過(guò)防火墻穿越代理獲取第二節(jié)點(diǎn)的IP地址和端口號(hào);
第二節(jié)點(diǎn)還用于向防火墻穿越代理上報(bào)自身的IP地址和端口號(hào),以及通過(guò)防火墻穿越代理獲取第一節(jié)點(diǎn)的IP地址和端口號(hào)。
同理,第二節(jié)點(diǎn)也可以穿越防火墻向第一節(jié)點(diǎn)發(fā)送數(shù)據(jù),從而實(shí)現(xiàn)兩節(jié)點(diǎn)間的雙向連接
13和通信。
本發(fā)明實(shí)施例提供的系統(tǒng)中的第一節(jié)點(diǎn)通過(guò)預(yù)先開(kāi)通的UDP通道封裝數(shù)據(jù),得到IP隧道包,當(dāng)對(duì)端節(jié)點(diǎn)(即第二節(jié)點(diǎn))位于防火墻之后時(shí),該IP隧道包也可以穿越對(duì)端節(jié)點(diǎn)的防火墻,從而實(shí)現(xiàn)第一節(jié)點(diǎn)與第二節(jié)點(diǎn)連接和通信;同時(shí),當(dāng)IP隧道包攜帶會(huì)話(huà)標(biāo)識(shí)時(shí),可以使第二節(jié)點(diǎn)能夠容易地判斷出該IP隧道包是否為封裝后的數(shù)據(jù)包,進(jìn)而進(jìn)行解封裝,減小了解封裝的開(kāi)銷(xiāo)。
實(shí)施例4
參見(jiàn)圖6,為本發(fā)明實(shí)施例提供的防火墻穿越系統(tǒng),系統(tǒng)包括
第一節(jié)點(diǎn),用于獲取第二節(jié)點(diǎn)的IP地址和端口號(hào),以及發(fā)送數(shù)據(jù),數(shù)據(jù)攜帶IP地址和端口號(hào);
第一節(jié)點(diǎn)代理客戶(hù)端,用于接收第一節(jié)點(diǎn)發(fā)送的數(shù)據(jù),將數(shù)據(jù)封裝為IP隧道包,發(fā)送IP隧道包;
第二節(jié)點(diǎn)代理服務(wù)器,用于接收第一節(jié)點(diǎn)代理客戶(hù)端發(fā)送的IP隧道包,對(duì)IP隧道包解封裝,得到第一節(jié)點(diǎn)發(fā)送的數(shù)據(jù),發(fā)送解封裝后的數(shù)據(jù);
第二節(jié)點(diǎn),用于接收第二節(jié)點(diǎn)代理服務(wù)器解封裝后的數(shù)據(jù),得到第一節(jié)點(diǎn)發(fā)送的數(shù)據(jù)。其中,第一節(jié)點(diǎn)代理客戶(hù)端包括
封裝模塊,用于接收第一節(jié)點(diǎn)發(fā)送的數(shù)據(jù),根據(jù)數(shù)據(jù)中的IP地址和端口號(hào)為數(shù)據(jù)添加IP頭和用戶(hù)數(shù)據(jù)報(bào)協(xié)議頭,封裝為IP隧道包,IP頭和用戶(hù)數(shù)據(jù)報(bào)協(xié)議頭為預(yù)先開(kāi)通用戶(hù)數(shù)據(jù)報(bào)協(xié)議通道的用戶(hù)數(shù)據(jù)報(bào)協(xié)議報(bào)文的協(xié)議頭;
會(huì)話(huà)標(biāo)識(shí)添加模塊,用于在封裝模塊封裝的IP隧道包中添加會(huì)話(huà)標(biāo)識(shí);
相應(yīng)地,第二節(jié)點(diǎn)代理服務(wù)器具體包括
接收模塊,用于接收第一節(jié)點(diǎn)代理客戶(hù)端發(fā)送的IP隧道包;判斷模塊,用于判斷接收模塊接收到的IP隧道包中是否攜帶會(huì)話(huà)標(biāo)識(shí);處理模塊,用于當(dāng)判斷模塊判斷的結(jié)果是IP隧道包中攜帶會(huì)話(huà)標(biāo)識(shí)時(shí),去掉IP隧道包中的IP頭和用戶(hù)數(shù)據(jù)報(bào)協(xié)議頭,得到第一節(jié)點(diǎn)發(fā)送的數(shù)據(jù),發(fā)送所得到的數(shù)據(jù)。本發(fā)明實(shí)施例提供的防火墻穿越系統(tǒng)還包括
防火墻穿越代理,用于保存第一節(jié)點(diǎn)和第二節(jié)點(diǎn)上報(bào)的IP地址和端口號(hào);相應(yīng)地;
第一節(jié)點(diǎn)還用于向防火墻穿越代理上報(bào)自身的IP地址和端口號(hào),以及通過(guò)防火墻穿越代理獲取第二節(jié)點(diǎn)的IP地址和端口號(hào);
第二節(jié)點(diǎn)還用于向防火墻穿越代理上報(bào)自身的IP地址和端口號(hào),以及通過(guò)防火墻穿越代理獲取第一節(jié)點(diǎn)的IP地址和端口號(hào)。
同理,第二節(jié)點(diǎn)也可以穿越防火墻向第一節(jié)點(diǎn)發(fā)送數(shù)據(jù),從而實(shí)現(xiàn)兩節(jié)點(diǎn)間的雙向連接和通信。
本發(fā)明實(shí)施例提供的系統(tǒng)中的第一節(jié)點(diǎn)通過(guò)預(yù)先開(kāi)通的UDP通道中使用的UDP報(bào)文的協(xié)議頭進(jìn)行數(shù)據(jù)封裝,得到IP隧道包,第二節(jié)點(diǎn)代理服務(wù)器僅需要對(duì)封裝的IP頭和UDP頭進(jìn)行解封裝處理,無(wú)需關(guān)注原IP數(shù)據(jù)包,使得解封裝的開(kāi)銷(xiāo)大大減小。當(dāng)對(duì)等網(wǎng)絡(luò)中通信節(jié)點(diǎn)均位于防火墻之后時(shí),通過(guò)將數(shù)據(jù)包封裝成IP隧道包,也可以實(shí)現(xiàn)穿越防火墻,從而完成通信節(jié)點(diǎn)間的雙向連接和通信。
實(shí)施例5
參見(jiàn)圖7,為本發(fā)明實(shí)施例提供的一種節(jié)點(diǎn)設(shè)備,設(shè)備包括獲取模塊,用于獲取對(duì)端節(jié)點(diǎn)的IP地址和端口號(hào);
封裝模塊,用于根據(jù)獲取模塊獲取的IP地址和端口號(hào)將待發(fā)送的數(shù)據(jù)封裝為IP隧道包,使IP隧道包穿越對(duì)端節(jié)點(diǎn)的防火墻;
發(fā)送模塊,用于發(fā)送封裝模塊封裝的IP隧道包。進(jìn)一步地,封裝模塊包括
封裝單元,根據(jù)獲取模塊獲取的IP地址和端口號(hào)為待發(fā)送的數(shù)據(jù)添加IP頭和用戶(hù)數(shù)據(jù)報(bào)協(xié)議頭,封裝為IP隧道包,IP頭和用戶(hù)數(shù)據(jù)報(bào)協(xié)議頭為預(yù)先開(kāi)通用戶(hù)數(shù)據(jù)報(bào)協(xié)議通道的用戶(hù)數(shù)據(jù)報(bào)協(xié)議報(bào)文的協(xié)議頭 ,
會(huì)話(huà)標(biāo)識(shí)添加單元,用于在封裝單元封裝的IP隧道包中添加會(huì)話(huà)標(biāo)識(shí)。
節(jié)點(diǎn)設(shè)備還包括
接收模塊,用于接收對(duì)端節(jié)點(diǎn)發(fā)送的IP隧道包;
解封裝模塊,用于將接收模塊接收的IP隧道包解封裝,得到對(duì)端節(jié)點(diǎn)發(fā)送的數(shù)據(jù)。本發(fā)明實(shí)施例提供的節(jié)點(diǎn)設(shè)備,通過(guò)預(yù)先開(kāi)通的UDP通道中使用的UDP報(bào)文的協(xié)議頭進(jìn)行數(shù)據(jù)封裝,得到IP隧道包,當(dāng)對(duì)端節(jié)點(diǎn)位于防火墻之后時(shí),IP隧道包也可以穿越防火墻,完成對(duì)端節(jié)點(diǎn)間的連接和通信;同時(shí),當(dāng)收到對(duì)端節(jié)點(diǎn)發(fā)送的IP隧道包時(shí),通過(guò)解封裝獲取IP隧道包中的數(shù)據(jù)。
15以上實(shí)施例提供的技術(shù)方案通過(guò)對(duì)待發(fā)送的數(shù)據(jù)進(jìn)行封裝,添加IP頭和UDP頭得到IP 隧道包,該IP隧道包能夠穿越對(duì)端的防火墻,使位于防火墻之后的通信節(jié)點(diǎn)也可以完成雙向 連接和通信。
本發(fā)明實(shí)施例提供的技術(shù)方案中的全部或部分內(nèi)容可以通過(guò)軟件編程實(shí)現(xiàn),其軟件程序 存儲(chǔ)在可讀取的存儲(chǔ)介質(zhì)中,存儲(chǔ)介質(zhì)例如計(jì)算機(jī)中的硬盤(pán)、光盤(pán)或軟盤(pán)。
以上所述僅為本發(fā)明的較佳實(shí)施例,并不用以限制本發(fā)明,凡在本發(fā)明的精神和原則之 內(nèi),所作的任何修改、等同替換、改進(jìn)等,均應(yīng)包含在本發(fā)明的保護(hù)范圍之內(nèi)。
權(quán)利要求
1. 一種防火墻穿越方法,其特征在于,所述方法包括獲取對(duì)端節(jié)點(diǎn)的IP地址和端口號(hào);根據(jù)所述對(duì)端節(jié)點(diǎn)的IP地址和端口號(hào)將待發(fā)送的數(shù)據(jù)封裝為IP隧道包,使所述IP隧道包穿越對(duì)端節(jié)點(diǎn)的防火墻;向所述對(duì)端節(jié)點(diǎn)發(fā)送所述IP隧道包。
2. 如權(quán)利要求1所述的防火墻穿越方法,其特征在于,所述根據(jù)所述對(duì)端節(jié)點(diǎn)的IP地 址和端口號(hào)將待發(fā)送的數(shù)據(jù)封裝為IP隧道包的步驟之前還包括本端節(jié)點(diǎn)開(kāi)通與對(duì)端節(jié)點(diǎn)間 的用戶(hù)數(shù)據(jù)報(bào)協(xié)議通道。
3. 如權(quán)利要求2所述的防火墻穿越方法,其特征在于,所述本端節(jié)點(diǎn)開(kāi)通與對(duì)端節(jié)點(diǎn)間 的用戶(hù)數(shù)據(jù)報(bào)協(xié)議通道的步驟包括所述本端節(jié)點(diǎn)發(fā)送用戶(hù)數(shù)據(jù)報(bào)協(xié)議報(bào)文,所述用戶(hù)數(shù)據(jù)報(bào)協(xié)議報(bào)文的源IP地址和源端口 為本端節(jié)點(diǎn)的IP地址和端口號(hào),目的IP地址和目的端口號(hào)為所述對(duì)端節(jié)點(diǎn)的IP地址和端口 號(hào);所述本端節(jié)點(diǎn)的防火墻收到所述用戶(hù)數(shù)據(jù)報(bào)協(xié)議報(bào)文后,記錄所述用戶(hù)數(shù)據(jù)報(bào)協(xié)議報(bào)文 的目的IP地址和目的端口號(hào),向所述對(duì)端節(jié)點(diǎn)的防火墻發(fā)送用戶(hù)數(shù)據(jù)報(bào)協(xié)議報(bào)文;所述對(duì)端節(jié)點(diǎn)的防火墻收到所述用戶(hù)數(shù)據(jù)報(bào)協(xié)議報(bào)文后,檢査自身是否記錄過(guò)所述用戶(hù) 數(shù)據(jù)報(bào)協(xié)議報(bào)文的源IP地址和源端口號(hào),如果是,允許所述用戶(hù)數(shù)據(jù)報(bào)協(xié)議報(bào)文通過(guò)。
4. 如權(quán)利要求1所述的防火墻穿越方法,其特征在于,所述獲取對(duì)端節(jié)點(diǎn)的IP地址和 端口號(hào)的步驟之前還包括本端節(jié)點(diǎn)和對(duì)端節(jié)點(diǎn)預(yù)先向防火墻穿越代理上報(bào)自身的IP地址和端口號(hào); 相應(yīng)地,所述獲取對(duì)端節(jié)點(diǎn)的IP地址和端口號(hào)是從所述防火墻穿越代理獲取的。
5. 如權(quán)利要求1所述的防火墻穿越方法,其特征在于,所述方法還包括 所述對(duì)端節(jié)點(diǎn)收到所述IP隧道包后,對(duì)所述IP隧道包解封裝得到所述待發(fā)送的數(shù)據(jù)。
6. 如權(quán)利要求5所述的防火墻穿越方法,其特征在于,所述IP隧道包攜帶會(huì)話(huà)標(biāo)識(shí); 相應(yīng)地,所述對(duì)所述IP隧道包解封裝得到所述待發(fā)送的數(shù)據(jù)的步驟具體包括 所述對(duì)端節(jié)點(diǎn)根據(jù)所述會(huì)話(huà)標(biāo)識(shí)判斷出所述IP隧道包為封裝后的IP包,去掉所述IP隧道包中的IP頭和用戶(hù)數(shù)據(jù)報(bào)協(xié)議頭,得到所述待發(fā)送的數(shù)據(jù),所述IP頭和用戶(hù)數(shù)據(jù)報(bào)協(xié)議 頭為封裝IP隧道包時(shí)添加的,為預(yù)先開(kāi)通用戶(hù)數(shù)據(jù)報(bào)協(xié)議通道的用戶(hù)數(shù)據(jù)報(bào)協(xié)議報(bào)文的協(xié)議 頭。
7. 如權(quán)利要求6所述的防火墻穿越方法,其特征在于,所述會(huì)話(huà)標(biāo)識(shí)為所述本端節(jié)點(diǎn)預(yù) 先與所述對(duì)端節(jié)點(diǎn)協(xié)商的標(biāo)識(shí),或者,所述會(huì)話(huà)標(biāo)識(shí)為所述本端節(jié)點(diǎn)預(yù)先向防火墻穿越代理 獲取的標(biāo)識(shí)。
8. —種防火墻穿越系統(tǒng),其特征在于,所述系統(tǒng)包括第一節(jié)點(diǎn)和第二節(jié)點(diǎn); 所述第一節(jié)點(diǎn)用于獲取所述第二節(jié)點(diǎn)的IP地址和端口號(hào);根據(jù)所述對(duì)端節(jié)點(diǎn)的IP地址和端口號(hào)將待發(fā)送的數(shù)據(jù)封裝為IP隧道包,發(fā)送所述IP隧道包;所述第二節(jié)點(diǎn)用于接收所述第一節(jié)點(diǎn)發(fā)送的IP隧道包,對(duì)所述IP隧道包解封裝得到所 述待發(fā)送的數(shù)據(jù)。
9. 如權(quán)利要求8所述的防火墻穿越系統(tǒng),其特征在于,所述第一節(jié)點(diǎn)包括 獲取模塊,用于獲取所述第二節(jié)點(diǎn)的IP地址和端口號(hào);封裝模塊,用于根據(jù)所述獲取模塊獲取的IP地址和端口號(hào)為待發(fā)送的數(shù)據(jù)添加IP頭和 用戶(hù)數(shù)據(jù)報(bào)協(xié)議頭,封裝為IP隧道包,所述IP頭和用戶(hù)數(shù)據(jù)報(bào)協(xié)議頭為預(yù)先開(kāi)通用戶(hù)數(shù)據(jù) 報(bào)協(xié)議通道的用戶(hù)數(shù)據(jù)報(bào)協(xié)議報(bào)文的協(xié)議頭;會(huì)話(huà)標(biāo)識(shí)添加模塊,用于在所述封裝模塊封裝的IP隧道包中添加會(huì)話(huà)標(biāo)識(shí);相應(yīng)地,所述第二節(jié)點(diǎn)包括接收模塊,用于接收所述IP隧道包;判斷模塊,用于判斷所述接收模塊接收到的所述IP隧道包中是否攜帶所述會(huì)話(huà)標(biāo)識(shí); 處理模塊,用于當(dāng)所述判斷模塊判斷的結(jié)果是所述IP隧道包中攜帶所述會(huì)話(huà)標(biāo)識(shí)時(shí),去 掉所述IP隧道包中的IP頭和用戶(hù)數(shù)據(jù)報(bào)協(xié)議頭,得到所述待發(fā)送的數(shù)據(jù)。
10. 如權(quán)利要求8所述的防火墻穿越系統(tǒng),其特征在于,所述系統(tǒng)還包括防火墻穿越代理,用于保存所述第一節(jié)點(diǎn)和所述第二節(jié)點(diǎn)上報(bào)的IP地址和端口號(hào); 相應(yīng)地,所述第一節(jié)點(diǎn)還用于向所述防火墻穿越代理上報(bào)自身的IP地址和端口號(hào),以及通過(guò)所述 防火墻穿越代理獲取所述第二節(jié)點(diǎn)的IP地址和端口號(hào);所述第二節(jié)點(diǎn)還用于向所述防火墻穿越代理上報(bào)自身的IP地址和端口號(hào),以及通過(guò)所述防火墻穿越代理獲取所述第一節(jié)點(diǎn)的IP地址和端口號(hào)。
11. 一種防火墻穿越系統(tǒng),其特征在于,所述系統(tǒng)包括第一節(jié)點(diǎn)、第一節(jié)點(diǎn)代理客戶(hù)端、 第二節(jié)點(diǎn)代理服務(wù)器和第二節(jié)點(diǎn),所述第一節(jié)點(diǎn)用于獲取所述第二節(jié)點(diǎn)的IP地址和端口號(hào),以及發(fā)送數(shù)據(jù),所述數(shù)據(jù)攜帶 所述IP地址和端口號(hào);所述第一節(jié)點(diǎn)代理客戶(hù)端用于接收所述第一節(jié)點(diǎn)發(fā)送的數(shù)據(jù),將所述數(shù)據(jù)封裝為IP隧道 包,發(fā)送所述IP隧道包;所述第二節(jié)點(diǎn)代理服務(wù)器用于接收所述第一節(jié)點(diǎn)代理客戶(hù)端發(fā)送的IP隧道包,對(duì)所述 IP隧道包解封裝,得到所述第一節(jié)點(diǎn)發(fā)送的數(shù)據(jù),發(fā)送所述解封裝后的數(shù)據(jù);所述第二節(jié)點(diǎn)用于接收所述第二節(jié)點(diǎn)代理服務(wù)器解封裝后的數(shù)據(jù),得到所述第一節(jié)點(diǎn)發(fā) 送的數(shù)據(jù)。
12. 如權(quán)利要求11所述的防火墻穿越系統(tǒng),其特征在于,所述第一節(jié)點(diǎn)代理客戶(hù)端包括 封裝模塊,用于接收所述第一節(jié)點(diǎn)發(fā)送的數(shù)據(jù),根據(jù)所述數(shù)據(jù)中的IP地址和端口號(hào)為所述數(shù)據(jù)添加IP頭和用戶(hù)數(shù)據(jù)報(bào)協(xié)議頭,封裝為IP隧道包,所述IP頭和用戶(hù)數(shù)據(jù)報(bào)協(xié)議頭為預(yù)先開(kāi)通用戶(hù)數(shù)據(jù)報(bào)協(xié)議通道的用戶(hù)數(shù)據(jù)報(bào)協(xié)議報(bào)文的協(xié)議頭;會(huì)話(huà)標(biāo)識(shí)添加模塊,用于在所述封裝模塊封裝的IP隧道包中添加會(huì)話(huà)標(biāo)識(shí);相應(yīng)地,所述第二節(jié)點(diǎn)代理服務(wù)器具體包括接收模塊,用于接收所述第一節(jié)點(diǎn)代理客戶(hù)端發(fā)送的IP隧道包;判斷模塊,用于判斷所述接收模塊接收到的所述IP隧道包中是否攜帶所述會(huì)話(huà)標(biāo)識(shí);處理模塊,用于當(dāng)所述判斷模塊判斷的結(jié)果是所述IP隧道包中攜帶所述會(huì)話(huà)標(biāo)識(shí)時(shí),去掉所述IP隧道包中的IP頭和用戶(hù)數(shù)據(jù)報(bào)協(xié)議頭,得到所述第一節(jié)點(diǎn)發(fā)送的數(shù)據(jù),發(fā)送所得到的數(shù)據(jù)。
13. 如權(quán)利要求ll所述的防火墻穿越系統(tǒng),其特征在于,所述系統(tǒng)還包括 防火墻穿越代理,用于保存所述第一節(jié)點(diǎn)和所述第二節(jié)點(diǎn)上報(bào)的IP地址和端口號(hào); 相應(yīng)地,所述第一節(jié)點(diǎn)還用于向所述防火墻穿越代理上報(bào)自身的IP地址和端口號(hào),以及通過(guò)所述 防火墻穿越代理獲取所述第二節(jié)點(diǎn)的IP地址和端口號(hào);所述第二節(jié)點(diǎn)還用于向所述防火墻穿越代理上報(bào)自身的IP地址和端口號(hào),以及通過(guò)所述防火墻穿越代理獲取所述第一節(jié)點(diǎn)的IP地址和端口號(hào)。
14. 一種節(jié)點(diǎn)設(shè)備,其特征在于,所述節(jié)點(diǎn)設(shè)備包括 獲取模塊,用于獲取對(duì)端節(jié)點(diǎn)的IP地址和端口號(hào);封裝模塊,用于根據(jù)所述獲取模塊獲取的IP地址和端口號(hào)將待發(fā)送的數(shù)據(jù)封裝為IP隧 道包,使所述IP隧道包穿越對(duì)端節(jié)點(diǎn)的防火墻;發(fā)送模塊,用于發(fā)送所述封裝模塊封裝的IP隧道包。
15. 如權(quán)利要求14所述的節(jié)點(diǎn)設(shè)備,其特征在于,所述封裝模塊包括封裝單元,根據(jù)所述獲取模塊獲取的IP地址和端口號(hào)為待發(fā)送的數(shù)據(jù)添加IP頭和用戶(hù) 數(shù)據(jù)報(bào)協(xié)議頭,封裝為IP隧道包,所述IP頭和用戶(hù)數(shù)據(jù)報(bào)協(xié)議頭為預(yù)先開(kāi)通用戶(hù)數(shù)據(jù)報(bào)協(xié) 議通道的用戶(hù)數(shù)據(jù)報(bào)協(xié)議報(bào)文的協(xié)議頭;會(huì)話(huà)標(biāo)識(shí)添加單元,用于在所述封裝單元封裝的IP隧道包中添加會(huì)話(huà)標(biāo)識(shí)。
16. 如權(quán)利要求14所述的節(jié)點(diǎn)設(shè)備,其特征在于,所述節(jié)點(diǎn)設(shè)備還包括-接收模塊,用于接收對(duì)端節(jié)點(diǎn)發(fā)送的IP隧道包;解封裝模塊,用于將所述接收模塊接收的IP隧道包解封裝,得到所述對(duì)端節(jié)點(diǎn)發(fā)送的數(shù)
全文摘要
本發(fā)明公開(kāi)了一種防火墻穿越方法、系統(tǒng)和設(shè)備,屬于通信領(lǐng)域。所述方法包括獲取對(duì)端節(jié)點(diǎn)的IP地址和端口號(hào);根據(jù)所述對(duì)端節(jié)點(diǎn)的IP地址和端口號(hào)將待發(fā)送的數(shù)據(jù)封裝為IP隧道包,使所述IP隧道包穿越對(duì)端節(jié)點(diǎn)的防火墻;向所述對(duì)端節(jié)點(diǎn)發(fā)送所述IP隧道包。所述系統(tǒng)包括第一節(jié)點(diǎn)和第二節(jié)點(diǎn);或第一節(jié)點(diǎn)、第一節(jié)點(diǎn)代理客戶(hù)端、第二節(jié)點(diǎn)和第二節(jié)點(diǎn)代理服務(wù)器。節(jié)點(diǎn)設(shè)備包括獲取模塊、封裝模塊和發(fā)送模塊。本發(fā)明對(duì)待發(fā)送的數(shù)據(jù)進(jìn)行封裝,添加IP頭和UDP頭得到IP隧道包,該IP隧道包將能夠穿越對(duì)端的防火墻,從而完成通信節(jié)點(diǎn)間的連接和通信。
文檔編號(hào)H04L29/06GK101465844SQ200710179799
公開(kāi)日2009年6月24日 申請(qǐng)日期2007年12月18日 優(yōu)先權(quán)日2007年12月18日
發(fā)明者周世杰, 峰 李, 梁麗娟, 秦志光, 羅嘉慶 申請(qǐng)人:華為技術(shù)有限公司;電子科技大學(xué)
網(wǎng)友詢(xún)問(wèn)留言 已有0條留言
  • 還沒(méi)有人留言評(píng)論。精彩留言會(huì)獲得點(diǎn)贊!
1
民县| 江都市| 迭部县| 屯留县| 靖宇县| 江阴市| 安义县| 商城县| 邹平县| 平谷区| 开化县| 晋中市| 广汉市| 南华县| 新野县| 天全县| 平南县| 新野县| 永登县| 延吉市| 紫云| 泉州市| 临沂市| 富蕴县| 宁城县| 龙山县| 建湖县| 资源县| 武宁县| 尼勒克县| 永吉县| 永善县| 金华市| 江门市| 揭西县| 新和县| 达拉特旗| 西充县| 海门市| 自治县| 望都县|