内网穿透软件
?
p2p通信由來已久,p2p即peer-to-peer通信,一種點對點對信技術。目前所使用的主流通信框架大多為C/S結構,即由S(server)服務端建立監聽,對外公布一個地址然后,持續等待,再由C(Client)客戶端主動通過服務端公布的公知地址進行主動的發請求訪問。服務端被動收到請求后處理完成再向客戶端返回數據。比如大家都知道的www.baidu.com即為服務端對外公布的公共地址,客戶端就是所有訪問這個網站的計算機。在這樣的C/S的架構中只要知道公共地址,兩臺計算機設備就能建立連接,進行通信。然而我們知道,因為國內ip地址數的極度稀少,所以國內普通用戶一般不擁有固定ip地址。大部分庭寬帶使用的ip都是運營商設備實時動態分配的浮動ip。這也滿足了C/S這樣的服務框架。然而使用浮動ip,局域網內多用戶計算機只能共用這一公共的ip。局域網外的計算機是無法主動連接到局域網內部的計算機。
?
現在問題是,如果就是要把兩個局域網內的計算機建立連接要怎么辦呢?
?
業內引入了內網穿透技術。內網的計算機向外網訪問時,我們內網與公網(因特網)相連接的路由器將我們的內網主機ip和端口都進行了一次修改。這樣一來路由器內部維護了一內外的ip和port的映射關系表。這就是業內為了解決公共ip地址不夠用而研發的nat技術。所以廣義的來看,我們要連接某局域網內的計算機,只要知道路由器給這個內網計算機修改后的ip和port就可以了。然而由于nat技術并非行業標準,所以各路由器生產廠家對nat的實現多種多樣。我們研發了一套這樣的基礎網絡底層中間件軟件,此軟件可以將路由器轉換后的公網ip和port獲取出來,并可以讓用戶上層軟件通過此公網ip和port發起對內網計算機的連接。從而使用我們的內網計算機也能像公網主機一樣對個提供服務。
下面是我們研發的底層中間件軟件的示例功能軟件,歡迎大家下載體驗。
?
示例軟件運行成功后,會有如下數據打印。以下例數據為例,只要我個人計算機在153.3.211.100:6000建立監聽,221.226.77.200內部的這臺計算機設備可以通過153.3.211.100:23108與我本人的計算機建立連接,并發起服務講求。
?
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
對端服務器返回消息:hello world generate this message,auto_index:92
--兩端內網穿透信息--
?? ? 對端服務器ip:153.3.211.100
?? ? ? ? 主機端口:6000
nat轉換后公網端口:23108
?? ? ? 我的公網ip:221.226.77.200
?? ? 我的主機端口:40201
nat轉換后公網端口:26837
我的路由器nat類型:symmetric
程序運行成功, 即將退出。
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
?
【Mac版本步驟】
p2pcpp 運行說明:
1.打開系統設置->安全與隱私->防火墻,暫時關閉防火墻
2.復制以下命令行粘貼到終端里自動執行
?? curl http://40.73.35.128:7656/download/p2pcpp/shell/download_and_run.sh | bash
?
【Win版本步驟】
p2pcpp 運行說明:
1.下載 windows10 最新版本的二進制包: http://40.73.35.128:7656/download/p2pcpp/binary/p2pcpp_v1.2.6.win10.tar.gz
2.右擊 p2pcpp/bin/allow_firewall.bat 腳本,選擇“以管理員身份運行”來設置防火墻添加網絡訪問(每次下載到新目錄解壓后只需執行一次)
3.雙擊 p2pcpp/bin/tester_client.bat 腳本來獲取公網 nat 信息
?
技術交流,QQ群:191924487(加群備注:p2pcpp,陌生添加拒絕)? 個人QQ:1469916173
總結
- 上一篇: 采集CSI数据的实验
- 下一篇: 人身三流指什么_什么是“下三流”哪三流,