什么是P2P路由模式,有什么優勢?


在服務器的配置文件“AnyChatCoreServer.ini”中網絡配置部分,“RoutingPolicy”字段表示了P2P數據路由傳輸策略的配置信息,可取值分別表示:

服務器轉發模式, 所有數據傳輸均由服務器轉發(禁止P2P);

2 P2P直傳模式,NAT穿透成功的用戶之間互傳,穿透失敗的用戶由服務器轉發,該策略適用於局域網使用;(默認)

3 P2P路由模式,P2P網格傳輸,由服務器以房間為單位,根據當前房間各用戶NAT穿透情況、網絡帶寬等情況,動態生成一份網格路由表,流媒體數據按路由表傳輸,該策略適用於互聯網使用。(目前還處於測試階段)

 

一、服務器轉發模式

該模式下所有數據均由服務器轉發,客戶端之間不進行P2P網絡連接和數據傳輸,適用於局域網帶寬充足、要求低延遲的應用場景,該模式下對服務器的帶寬要求較高,但延遲較小。

二、P2P直傳模式

 

該模式下,客戶端之間會互相嘗試P2P連接,如果P2P連接成功,則數據走P2P通道傳輸,如果P2P連接失敗,則數據走服務器轉發,該模式相對於“服務器轉發模式”,將節約一部分服務器端的網絡帶寬,而且延遲也相對較低,適合於互聯網上同一個房間在線人數不多(少於10用戶)的應用場景,因為如果在線人數過多,將會造成用戶端的網絡擁塞。舉一個極限情況下的例子:如果一個房間10個用戶,而且用戶之間P2P全部是可以連通的,則其中一人的數據需要復制9份,分別傳給其它9個用戶,這種情況下對服務器幾乎無網絡帶寬壓力,而用戶端的網絡帶寬占用卻很高。

三、P2P路由模式

 

P2P路由模式是一種適用於大規模即時通訊應用(如同一個房間上百人的視頻聊天室、網絡視頻在線互動直播等)的數據傳輸模式,目前在網絡電視、在線直播等非實時性領域應用較多,其基本原理是數據從A用戶傳遞出來,傳到B用戶,然后B用戶再傳給C用戶,而不需要A用戶直接傳給C用戶。使用該模式將極大的優化網絡帶寬壓力,讓數據走P2P傳輸,較少的占用服務器帶寬的同時,又不會阻塞用戶端的網絡通道,但其副作用便是延遲的成倍增加。目前網絡電視直播便是采用P2P路由模式,但是在播放前均會緩沖30s-60s的數據,然后才開始播放,目前國內很少有產品能實現即時通訊領域應用P2P路由模式,AnyChat便首開先河,在國內率先推出及時通信領域的P2P路由模式應用,將延遲控制在1-3s,該項技術的成功應用,將使得AnyChat的核心競爭力更加增強。

P2P路由模式下,有兩項重要的配置參數“RoutingTTL”和“RoutingMTN”,客戶可根據應用進行調節,這兩項配置參數的詳細說明如下:

 

RoutingTTL: 流媒體數據經過網格傳輸時的最大生存期,每經過一個中間用戶轉發,生成期減一,為0將不再繼續轉發,該配置項當RoutingPolicy=3時有效,設置較大時,會較大的減輕服務器帶寬壓力,但會帶來末端用戶接收數據延遲時間增加的后果。

 

RoutingMTN: 流媒體數據經過網格傳輸時,中間節點最大包轉發路數(通俗的講,就是任意節點最多可服務的后續節點個數,如當設置為4時,表示任意用戶可向其它4個用戶轉發數據),該配置項當RoutingPolicy=3時有效,設置較大時,會較大的減輕服務器帶寬壓力,但會占用用戶較多的出口帶寬(因為需要向其它用戶轉發數據),當用戶本身網絡狀況較差時,會影響后續用戶的接收效果。

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM