ConferenceXP Research (2)
ConferenceXP 包含了两大部分:ConferenceXP client和ConferenceXP services. 其中的细节本文就不再描述,可从这里获取细节描述。较On-Demand Meeting商业版本,如WebEx的Web Conferencing和Citrix的GotoMeeting,还显得有些稚嫩和不成熟,或者说其服务的目标对象不相同,毕竟这仅是个研究项目,不属于本文研究对象。真正感兴趣的地方在于其采用的多播(注意,不是广播)技术和Venue/Reflector Services.
1. Multicast 多播
由于ConferenceXP是P2P(点对点)应用程序,其数据在client之间发送,而非来自服务器端。为了支持多用户(并发用户)占用较少的网络流量,ConferenceXP采用多播来传送数据。利用多播技术,用户近发送一次数据,其他与其建立联系的用户都将受到这些数据。如此好处是显而易见的,用户间的数据通信量大大减少。但也有其缺点,易被利用进行DoS攻击,或因为大量发送数据而产生性能问题,以及在网络边缘由于路由器或者过滤器(防火墙)终止多播传输。
ConferenceXP是为高速网络而设计的,其要求网速在2Mbps或更快。尽管其最低要求是500Kbps,丢包率小于5%,但实际流量在2-3Mbps。若要最佳性能,则需要5-10Mbps。这也符合实测的结果:两台相邻的计算机和笔记本之间,无线路由,其视频图像刷新慢,图像质量不佳。
什么是多播?多播就是允许服务器同时传送多个内容给接收者。服务器提供单一内容源,由在多播网络中的路由器来处理复制和分发内容给接收者。
实现之一是,由服务器广播到整个网段,并由路由器来维护访问列表,来决定转发或阻止这些广播消息。只有特定设备对这些消息感兴趣,而其他设备则收到并丢弃这些广播消息。
实现之二是,有一套系统负责订阅消息,而只有对这些消息感兴趣的设备才可以接收到。即,有这么一个组,对应一个有效的IP地址。当信息被请求时,系统就被加入到一个组中。再明确些,一些设备对某些消息感兴趣(称之为订阅),就将其加入到这些消息所对应的多播组中,而这个组有一个多播地址。服务器则将消息发送到这个多播组对应的多播地址上,由路由器分发这些消息给订阅者。
多播IP地址范围 : 描述
224.0.0.0 – 224.0.0.255 : 保留的已知的多播地址
224.0.1.0 – 238.255.255.255 : 全球范围内的多播地址
239.0.0.0 – 239.255.255.255 : 有限范围内(如局域网)的多播地址
发送数据包到一个IP多播组,每个IP多播组有一个唯一标示的D类IP地址。通常路由器使用IGMP协议处理多播业务。路由器和Hosts使用IGMP消息来开始、管理和停止多播服务。Host发送IGMP join-group消息来请求多播服务,路由器转发多播组数据包给这些已加入组的host。反之亦然。需要说明的是,多播服务并不一定实现在路由器中。路由器维护组的多播路由表和组的路由协议。
ConferenceXP架构没有实体服务器,而采用Venue/Reflector Services来实现多用户数据传递。
ConferenceXP Venue Service用以创建和管理venues(集合点)。集合点是用以同步用户参与的协作和学习的活动。Venue Service提供一个目录服务来确定在一个venue里所有用户的共同的多播地址。当参与者加入一个指定的venue,Venue Service将通知ConferenceXP用户程序连接指定的地址和端口。参与者加入一个venue之后,所有网络传输将使用有Venue Service提供的多播地址进行点对点传输。
当多播不可用时,用户可以在单播(unicast)网络中使用Reflector Service来进行多播传输。例如,当您的网络中的路由器不支持多播时,或者网络阻止多播时,你可以使用Reflector Service。它允许指定一台在一个支持多播的网络中计算机来作为Reflector Service,它将负责进行多播传输并转发给您所在单播环境下的用户。

No comments:
Post a Comment