博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
P2P路由模式的概念和优势
阅读量:6898 次
发布时间:2019-06-27

本文共 1451 字,大约阅读时间需要 4 分钟。

hot3.png

在服务器的配置文件“AnyChatCoreServer.ini”中网络配置部分,“RoutingPolicy”字段表示了P2P数据路由传输策略的配置信息,可取值分别表示:

1 服务器转发模式, 所有数据传输均由服务器转发(禁止P2P);

2 P2P直传模式,NAT穿透成功的用户之间互传,穿透失败的用户由服务器转发,该策略适用于局域网使用;(默认)

3 P2P路由模式,P2P网格传输,由服务器以房间为单位,根据当前房间各用户NAT穿透情况、网络带宽等情况,动态生成一份网格路由表,流媒体数据按路由表传输,该策略适用于互联网使用。(目前还处于测试阶段)

 

一、服务器转发模式

该模式下所有数据均由服务器转发,客户端之间不进行P2P网络连接和数据传输,适用于局域网带宽充足、要求低延迟的应用场景,该模式下对服务器的带宽要求较高,但延迟较小。

服务器转发模式示例图

 

二、P2P直传模式

该模式下,客户端之间会互相尝试P2P连接,如果P2P连接成功,则数据走P2P通道传输,如果P2P连接失败,则数据走服务器转发,该模式相对于“服务器转发模式”,将节约一部分服务器端的网络带宽,而且延迟也相对较低,适合于互联网上同一个房间在线人数不多(少于10用户)的应用场景,因为如果在线人数过多,将会造成用户端的网络拥塞。举一个极限情况下的例子:如果一个房间10个用户,而且用户之间P2P全部是可以连通的,则其中一人的数据需要复制9份,分别传给其它9个用户,这种情况下对服务器几乎无网络带宽压力,而用户端的网络带宽占用却很高。

P2P直传模式示例图

 

三、P2P路由模式

P2P路由模式是一种适用于大规模即时通讯应用(如同一个房间上百人的视频聊天室、网络视频在线互动直播等)的数据传输模式,目前在网络电视、在线直播等非实时性领域应用较多,其基本原理是数据从A用户传递出来,传到B用户,然后B用户再传给C用户,而不需要A用户直接传给C用户。使用该模式将极大的优化网络带宽压力,让数据走P2P传输,较少的占用服务器带宽的同时,又不会阻塞用户端的网络通道,但其副作用便是延迟的成倍增加。目前网络电视直播便是采用P2P路由模式,但是在播放前均会缓冲30s-60s的数据,然后才开始播放,目前国内很少有产品能实现即时通讯领域应用P2P路由模式,AnyChat便首开先河,在国内率先推出及时通信领域的P2P路由模式应用,将延迟控制在1-3s,该项技术的成功应用,将使得AnyChat的核心竞争力更加增强。

P2P路由模式示例图

 

在P2P路由模式下,有两项重要的配置参数“RoutingTTL”和“RoutingMTN”,客户可根据应用进行调节,这两项配置参数的详细说明如下:

RoutingTTL: 流媒体数据经过网格传输时的最大生存期,每经过一个中间用户转发,生成期减一,为0将不再继续转发,该配置项当RoutingPolicy=3时有效,设置较大时,会较大的减轻服务器带宽压力,但会带来末端用户接收数据延迟时间增加的后果。

RoutingMTN: 流媒体数据经过网格传输时,中间节点最大包转发路数(通俗的讲,就是任意节点最多可服务的后续节点个数,如当设置为4时,表示任意用户可向其它4个用户转发数据),该配置项当RoutingPolicy=3时有效,设置较大时,会较大的减轻服务器带宽压力,但会占用用户较多的出口带宽(因为需要向其它用户转发数据),当用户本身网络状况较差时,会影响后续用户的接收效果。

转载于:https://my.oschina.net/u/1018779/blog/122399

你可能感兴趣的文章
iptables规则添加
查看>>
Python 模块 - OS模块
查看>>
脚本实现检测nginx服务是否正常
查看>>
利用nodejs监控文件变化并使用sftp上传到服务器
查看>>
Java邮件发送
查看>>
mysql 数据库的维护,优化
查看>>
JQuery动画
查看>>
Linux终端里用Shell和C输出带颜色的文字
查看>>
LAMP_apache结合php_4
查看>>
Linux+Nginx+Apache+Atlas+Mysql+Php+Redis 分部式部署详细版
查看>>
js form 表单的提交
查看>>
linux笔记基础
查看>>
Linux 高可用(HA)集群基本概念
查看>>
mysql(设置/更改mysql密码,连接MySQL,MySQL常用命令,MySQL两种引擎区别)
查看>>
Out of memory: Kill process 解决
查看>>
设计模式之代理模式之读写分离!!!
查看>>
Windows server 2003 SSL 配置
查看>>
web service简介
查看>>
软路由 - 开篇
查看>>
mac下Fiddler的安装-启动
查看>>