P2P技術小結

2021-07-09 01:51:54 字數 1457 閱讀 4080

①nat打洞穿透

②arp欺騙,偽裝打洞目的地

③upnp(通用即插即用技術),利用區域網內的「廣播」,檢測「裝置」並鏈結。

以上所有p2p技術都利用了打洞原理,成功率最高的是第三種,最簡單的是第一種,最好理解的是第二種。多種方法混合使用才更適合。

目的:降低伺服器**訊息流量,1.節約流量2.降低延遲3.適合動作類遊戲使用

nat打洞穿透

網上有很多udp打洞的例子,tcp很難找到,但同理。

udp打洞技術成熟,與他不需要建立連線有很大關係,只需要監聽本地埠即可,而且天生埠復用。

tcp打洞理論上很好,但其弊端也因其可靠性而引起。當網路狀況不好,會頻繁重發訊息,從而導致後面的包

也發不出去,這對動作類遊戲影響很大。網路不好的情況下udp雖然會丟包,但不會阻止後面的包傳送,只需

注意,不要傳送過大的包,盡量小即可。

tcp埠復用需要setoption為復用屬性,不同語言不同函式。

udp穿透時,需要注意發「心跳」,防止埠失效。

對稱型網路(symmetricnat):由於每建立乙個鏈結,或udp傳送目的ip或埠改變,就會引起,nata埠與本地埠對映關係發生改變,雖然可以靠猜測法進行穿透,不過一般情況下,不適合作為商業用途。而且網路介面資源消耗太大。

非對稱型網路(conenat):一旦繫結本地埠並傳送出去過訊息,此埠與nat的埠對映關係將不會改變。這種網路很容易實現穿透。

arp欺騙,偽裝打洞目的地

只能用udp。和c語言的原始套接字。

如果用tcp建立連線,那麼三次握手和中間的安全通訊機制,將不能實現。

流程:客戶端向打洞伺服器發訊息伺服器記錄其外網ip及埠

另一客戶端獲得對方的ip及埠後,利用原始套接字rawsocket,修改ip頭為打洞伺服器的ip。

即使是對稱型網路,也不受埠變換的影響。但需注意,有些路由會強制修改ip頭為真實公網ip(原因還未找到)這種情況將無法使用arp欺騙。

可以在和打洞伺服器連線的時候,通過驗證ip是否為修改過的來驗證。

upnp(通用即插即用技術),利用區域網內的「廣播」,檢測「裝置」並鏈結。

只能用udp,只需要普通socket即可。

貌似是微軟提出的乙個解決方案,目的是讓網路上的裝置能連線在一起工作,隨時新增刪除。

這種技術利用了區域網的多播功能,路由器中有(upnp)設定,預設都是開放的。

不支援二級路由(沒有測試過,聽其他人說的)不過家庭用寬頻、wifi基本都支援。

流程:向網路中傳送特殊的訊息,此訊息為多播型別

一旦其他網路中接收到訊息,便會應答,此時,一來一回,相當於進行了打洞

P2P技術原理

組織結構 點對點技術又稱對等網際網路絡技術,是一種網路新技術,依賴網路中參與者的計算能力和頻寬,而不是把依賴都聚集在較少的幾台伺服器上。p2p網路通常用於通過adhoc連線來連線節點。這類網路可以用於多種用途,各種檔案分享軟體已經得到了廣泛的使用。p2p技術也被使用在類似voip等實時 業務的資料通...

P2P技術概要

p2p peer to peer 也就是 對等網路,即對等計算機網路,是一種在對等者 peer 之間分配任務和工作負載的分布式應用架構 1 是對等計算模型在應用層形成的一種組網或網路形式。peer 在英語裡有 對等者 夥伴 對端 的意義。因此,從字面上,p2p可以理解為對等計算或對等網路。國內一些 ...

P2P技術與應用

p2p即peer to peer,稱為對等連線或對等網路,p2p技術主要指由硬體形成連線後的資訊控制技術,其代表形式是軟體。技術背景 p2p起源於最初的聯網通訊方式,如在建築物內pc通過區域網互聯,不同建築物間通過modem遠端撥號互聯。其中建立在tcp ip協議之上的通訊模式構成了今日網際網路的基...