AnyChat中P2P技术的优势

 在服务器的配置文件“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路由模式示例图

 

AnyChat针对可不经过服务器中转的音视频应用,采用了P2P通信技术,该技术的核心在于防火墙的穿越。使用P2P通信技术,可以大大的减轻系统服务器的负荷,并成几何倍数的扩大系统的容量,且并不会因为在线用户数太多而导致服务器的网络阻塞。
      支持UPNP协议,自动搜索网络中的UPNP设备,主动打开端口映射,提高P2P通信效率。
      AnyChat采用佰锐科技拥有自主知识产权的“MultiPath”P2P网络路由算法,将服务器上的用户组成一个P2P互通的网络,流媒体数据在用户之间传递,减少对服务器的网络带宽占用,实现了一个高性能P2P网络核心。
      传统的P2P网络应用(如P2P在线影院)所采用的算法需要长时间(如30秒,或更长)的缓冲,不适合即时通讯领域所要求的低延迟的目标,“MultiPath”P2P网络路由算法便是针对即时通讯领域专门设计的P2P网络算法,它保留了P2P网络原有的网络带宽优势,同时又极大的降低了中间的缓冲时间。

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

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

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

 

你可能感兴趣的:(p2p,AnyChat)