P2P通訊解決方案

2021-06-22 12:55:50 字數 1817 閱讀 6698

在傳統的集中式網路中,都是一台伺服器(集群)對外提供服務,所有客戶端都依賴**伺服器進行與服務端的通訊或者其他客戶端的通訊。如圖 

為了簡單起見,我們沒有畫交換機,正常的公司網路都有交換機。 a公司的出口路由ip為211.10.1.1(公網ip),公司有2臺主機ip分別為192.168.1.1和192.168.1.2 b公司的出口路由ip為211.10.1.2(公網ip),公司有2臺主機ip分別為172.21.1.1和172.21.1.2 那麼a公司的192.168.1.1主機與b公司的172.21.1.1在不同的網段,所以不能直接通訊。 而p2p的出現,正是要解決這種問題,讓兩個在不同網段的主機可以直接通訊! 在介紹通訊之前,還要介紹乙個p2p通訊的核心,網路打洞(udp)!

正如上圖所列出的通訊模式中,採用upd通訊 公網主機211.10.1.2開啟乙個udp,埠為20000 a公司主機192.168.1.2同樣開啟乙個udp,埠為10000 192.168.1.2傳送乙個資料報到211.12.1.2,資料報文包含 傳送方:192.168.1.2:10000 接受方:211.10.1.2:20000 當資料報經過a公司的出口路由時,路由上的nat會修改資料報為 傳送方:211.10.1.1:隨機埠(假設是30000) 接受方:211.10.1.2:20000 並在nat上建立乙個session,該session包含192.168.1.2:10000 → 211.10.1.2:30000的關聯。 即:在nat上有了192.168.1.2:10000與211.10.1.2:30000的會話 所以在server中收到的資料報,他看到的傳送方是211.10.1.1:30000,這也就是192.168.1.2:10000的公網ip 而server傳送的udp資料報,指定接受方為211.10.1.1:30000,因為在192.168.1.2有乙個192.168.1.2:10000->211.10.1.1:30000的會話,所以資料報能成功傳遞到192.168.1.2 所以在這裡的session就是所說的在路由上打的洞(通訊通道)。

如果沒有session的存在,那麼路由接受到的資料報就是不經過認證的,一般的路由會做丟棄的操作!!!
但是這個session是有時效性的。具體的有效時間可以在路由上設定,但是最小值大概在100秒左右。 所以為了保證能夠正常通訊,必須讓這個session持續在路由器上存在,所以,192.168.1.2就必須定時與server做心跳,通過心跳來保證session不失效!
下面通過乙個p2p及時通訊軟體來說明  有3個角色:2個client,1個server 2個client都處於網路的邊緣(企業區域網內部) server處於公網,擁有公網ip  如下圖: 

在圖中,server的作用只有乙個,就是記錄所有客戶端的公網ip client1登入後,鏈結server,server就能知道client1的公網ip,並記錄 client1並從server讀取client2的公網ip client2也做與client1同樣的操作 這樣clieint1和client2就都知道對方的公網ip 接下來進行網路打洞 為了保證client1的路由器有與client2的session,client1要定時與client2做心跳(可以傳送乙個空的資料報) 同樣,client2也要定時與client1做心跳 這樣,雙方的通訊通道都是通的,就可以進行任意的通訊了。

p2p通訊就建立了。

P2P加速系統解決方案

1.帶有flash p2p功能的流 直播系統哪家好,能否推薦個?2.p2p直播系統能夠節省多少頻寬?3.目前在使用ngix平台,rtmp協議輸出,讓使用者 頻寬壓力太大了,是否有合適的p2p加速系統,減輕伺服器的頻寬壓力?現在p2p加速的技術已經趨於成熟,主要的實現方式有兩種 1.flash p2p...

認識P2P,利用P2P

是peer to peer的縮寫 好象還看到過文章說是point to point,我也不清楚,網上的資料也不清楚,鬱悶 peer在英語裡有 地位 能力等 同等者 同事 和 夥伴 等意義。這樣一來,p2p也就可以理解為 夥伴對夥伴 的意思,或稱為對等聯網。目前人們認為其在加強網路上人的交流 檔案交換...

P2P網路模型

1 靜態配置模型 靜態配置模型是一種相對靜態而簡單的對等點定位模型。在該模型中,每個對等點都確切地知道存在於其p2p 網路中其它對等點的位置以及它們所提供的共享資源內容。缺點 網路無法應付不能預知的隨機事件和臨時變更,比如對等點隨機進入和退出網路。優點 整個網路在外部攻擊面前表現得很穩固。2 動態配...