日韩欧美国产精品免费一二-日韩欧美国产精品亚洲二区-日韩欧美国产精品专区-日韩欧美国产另-日韩欧美国产免费看-日韩欧美国产免费看清风阁

LOGO OA教程 ERP教程 模切知識交流 PMS教程 CRM教程 開發文檔 其他文檔  
 
網站管理員

UDP打洞,穿透NAT

admin
2014年1月26日 14:22 本文熱度 6095

前天編程做了一下UDP打洞的實驗,今天特寫了一篇文章總結一下。
我們知道網絡上兩個主機進行通信,如果其中一臺主機擁有公網IP那么,那么進行會話是比較簡單的,但是如果兩臺主機是位于不同內網之中的,那么應該如何進行通信呢。一種想法是再找一臺公網的服務器,用來轉發信息,但是這有一個問題,就是會給服務器帶來壓力,因此我們就來談談一種用于不同內網中的主機互相通信的一個解決方案——NAT打洞。
原理還是比較簡單的,我們先了解一下什么是“NAT的洞”。當處于內網中的一臺主機(ClientA/192.168.1.128)向一個公網的服務器(Server)發送數據時,這時NAT(NAT1)將會打開一個臨時性的端口用于與公網的服務器進行通信,并且會把那個內網主機發送出的IP數據報的頭部中源IP地址改為NAT的公網IP(218.7.32.28),將TCP或UDP數據報中源端口(2347)改為那個臨時端口(26756)這樣就實現了由“192.168.1.128:2347”到“218.7.32.28:26756”的源地址源端口的轉換。這個數據包到達公網服務器后,服務器就可以根據這個包的頭部信息進行回復。當服務器的數據包到達NAT后,NAT在將這個數據發送到內網主機192.168.1.128的2347端口。那么這個NAT上的26756端口我們就稱作“洞”。如果這個NAT不是Full Cone NAT的話(其實大多數的NAT確實不是這種類型的),那么我們說這個“洞”是有方向性的。一個洞應該會指向一個(也可以是多個)公網主機的IP地址。比如上面說的例子,在NAT1上打的洞是指向Server的IP地址。來自其他公網主機發向這個洞(也就是218.7.32.28:26756)的數據包會被非Full Cone類型的NAT所丟棄。所以如果有另一臺處于另一內網的主機(ClientB/192.168.0.5)向218.7.32.28:26756直接發送數據的話,同樣也會被NAT1丟棄。
那么如何建立ClientA和ClientB的直接會話呢?
網絡環境描述:
內網1NAT:NAT1/218.7.32.28
內網1中一臺主機:ClientA/192.168.1.128
內網2NAT:NAT2/218.7.31.221
內網2中一臺主機:ClientB/192.168.0.5
公網服務器:Server
首先讓ClientA和ClientB登錄到服務器Server(假如兩臺主機都采用2347端口),此時NAT1和NAT2會分別為ClientA和ClientB打開一個指向Server的洞(NAT1上218.7.32.28:26756和NAT2上218.7.31.221:27550)。服務器應改記錄這兩個客戶端的信息(關鍵是那兩個洞的信息)。當ClientA與ClientB要建立會話時,ClientA首先用2347端口向NAT2的洞發送一個數據包,當然這個數據包會被NAT2所丟棄,但是由于這是從NAT1內部向外部發送數據,所以NAT1為ClientA打開了一個指向NAT2的洞。而且這個新洞與原來NAT1上指向Server的舊洞的是同一個洞(因為是同一個端口26756),所以這里可以說這個洞具有了兩個方向,同時指向Server和NAT2。這時ClientA應該通知Server,告訴ClientB,現在可以向NAT1的那個洞(218.7.32.28:26756)發送數據包了。當ClientB向NAT1的那個洞發送數據以后,NAT2也為ClientB打了一個指向NAT1的洞,這是可以說ClientA與ClientB的會話就建立完成了,他們可以不依賴Server進行通信了。如果以后ClientA和ClientB還需要建立其他會話 ,那么這個牽線的“媒人”可以不是Server,而可以是ClientA或ClientB了。
UDP打洞可以實現不同內網內的主機進行通信,而且實施性比較高,一般用于P2P通信。這也就是為什么常會看見騰訊QQ在開始傳輸文件時會顯示“UDP連接已經建立”了。


該文章在 2014/1/26 14:22:38 編輯過
關鍵字查詢
相關文章
正在查詢...
點晴ERP是一款針對中小制造業的專業生產管理軟件系統,系統成熟度和易用性得到了國內大量中小企業的青睞。
點晴PMS碼頭管理系統主要針對港口碼頭集裝箱與散貨日常運作、調度、堆場、車隊、財務費用、相關報表等業務管理,結合碼頭的業務特點,圍繞調度、堆場作業而開發的。集技術的先進性、管理的有效性于一體,是物流碼頭及其他港口類企業的高效ERP管理信息系統。
點晴WMS倉儲管理系統提供了貨物產品管理,銷售管理,采購管理,倉儲管理,倉庫管理,保質期管理,貨位管理,庫位管理,生產管理,WMS管理系統,標簽打印,條形碼,二維碼管理,批號管理軟件。
點晴免費OA是一款軟件和通用服務都免費,不限功能、不限時間、不限用戶的免費OA協同辦公管理系統。
Copyright 2010-2025 ClickSun All Rights Reserved

主站蜘蛛池模板: 熟女人妇 | 一扒二脱三插片在 | 国产模特精品私拍在线 | 午夜性爽一区二区三区 | 韩国三级高清手机在线版 | 欧美性色欧美a在线在线播放 | 亚洲天堂一区二区三区 | 日韩精品一区二区三线 | 手机播放 | 成人3d精品动漫在线播放 | 精品国产成a人在线观看 | 国产亚洲午夜高清亚洲精品 | 最新国产乱视频伦在线 | 亚洲精品第1页 | 国产99视频精品专区 | 国产在线观看91精品不卡 | 国产一区二区视频在线关看 | 亚洲va在线va天堂xxxx | 国产亚洲精品片a77777 | 91极品尤物在线观看 | 美女视频免费观看18网站 | 综合亚洲精品 | 欧美日韩成人 | 91.cn国产大片 | 欧美蜜桃臀在线观看一区 | 亚洲欧美精品中文字幕 | 精品精品 | 精品一区二区三区高清免费不 | 韩国精品福利一区二区 | 日本大乳奶电影在线观看 | 日韩电影在线观看视频 | 国产精品香蕉在线观看 | 精品国产蜜桃臀在线观看 | 在线中文字幕亚洲 | 久99久热只有精品国产15 | 亚洲精品一区二区三区人妖 | 欧美日韩另类 | 2025年国产中文字无 | 欧美激情视频区一区二区在线观看 | 亚洲二区在线观看 | 国产最新精品盗摄视频 |