本节书摘来异步社区《IP多播网络的设计与部署(第1卷)》一书中的第1章,第1.4节,作者:【美】Beau Williamson,更多章节内容可以访问云栖社区“异步社区”公众号查看
1.4 多播应用
IP多播网络的设计与部署(第1卷)
人们通常会把IP多播和视频会议看成同一回事。尽管在启用IP多播的网络中使用的第一个应用通常是视频会议,但视频会议只不过是许多IP多播应用中的其中一个而已,当然这些IP多播应用都可以为公司的商业模式增加价值。事实上,在IP多播网络上进行过几次视频会议的初步试验之后,许多公司发现,由于消耗带宽,因此典型的音频/视频会议中的发言人人头特写(talking head)对通信过程几乎不能提供任何附加价值。
本节将讲解其他一些可以提升生产力的IP多播应用,它们包括多媒体会议、数据复制、实时数据多播,以及游戏和仿真应用。
1.4.1 多媒体会议
一些优秀的IP多播、多媒体会议工具是为UNIX环境开发的,主要在MBone上使用(下面几节将详细讲解MBone)。这些工具(其中大多数工具已经被移植到Windows 98和NT平台)允许通过IP多播实现多对多的纯音频或音频/视频会议。除了音频和视频工具之外,一个基于UNIX的白板工具被开发出来,它可以允许用户共享一个公共的电子白板。除了这些在IP多播网络上使用的MBone多媒体会议免费工具之外,有些公司已经提供了这些工具的商业版本,使其具备了某些附加价值的特性(第4章将详细讲解MBone免费软件及其下载途径)。
许多人是从音频/视频会议开始认识IP多播的,因为视频是一种尤其令人兴奋的网络沟通新方式。在视频热潮退却之后,视频会议(尤其是会议中的每一个人在同一时刻发起一个视频)所消耗的带宽和工作站功率的现实日益凸显,仅音频的会议成为正常模式也就不足为奇。此外,如果一个仅音频的会议与一个基于IP多播的数据共享的应用(该应用允许会议成员共享图形信息,如前面提到的白板应用)结合使用时,将会产生一个相当强大的多媒体会议形式,而且不会消耗大量带宽。
1.4.2 数据分发
数据复制是另一个逐渐升温的IP多播应用领域。通过使用IP多播,IS部门可以采用文件和数据库更新的推模式(push mode),诸如StarbustMFTP产品的应用,以及Globalcast在可靠多播领域所做的工作,使得文件或数据可靠地发送到网络中的节点组成为可能。正如MFTP这个名字所暗示的那样,它类似于FTP的一种多播形式。通过使用IP多播,一个或多个文件可以通过FTP同时发送到网络中的一个节点组。
这种技术使得公司可以在每天夜里将诸如价格和产品信息在内的新信息推送给它的远程商店,从而确保了这些商店在下一个工作日拥有最新的信息。
1.4.3 实时数据多播
实时数据向大量主机组的发送是IP多播应用的另一个热土。一个好的例子是股票行情信息向交易大厅中工作站的传输。以前,需要建立一个专门的应用来将这些时间敏感的信息传送到交易大厅的交易员。越来越多的金融和投资公司正在研究使用IP多播来将这些信息发送给他们的客户,以作为他们的另外一项创收金融和贸易服务。
通过为不同的多播组制定不同的金融类别(如债券、运输、药品等),交易员将可以用他们的工作站来接收他们感兴趣的实时金融数据。
1.4.4 游戏和仿真
IP多播非常适合用在网络游戏和仿真应用中。尽管众多的PC游戏和仿真允许网络玩家组在模拟混战中或其他幻想环境中(如Doom)相互混战,但这些应用实际上使用的是单播的点对点连接。
通常,游戏或仿真应用必须通过手工配置或某些特别的通知机制来获悉其他玩家的情况。当通知发生时,每一台PC与游戏或仿真中的所有其他PC构建一条IP单播连接。显然,这是一个N2阶的问题,即在有N台PC的情况下,需要有N2条连接,并且不能扩展到具有大量参与者的情形中。这类游戏或仿真的上限很大程度上取决于所使用的各PC或工作站的功率,因此通常情况下这类游戏或仿真只有5~10个参与者。
可以在这一类网络环境中使用的另外一个方法是,设置一个中央游戏或仿真服务器,而且所有的参与者通过IP单播连接与该服务器相连。该方法将分发实时有时或仿真数据到所有参与者的重担放在了服务器身上。而且该方法也同样依赖于服务器的处理能力,因此一般情况下只能有100个左右的参与者。
IP多播可以对游戏或仿真进行扩展,使其拥有大量的参与者。参与的PC或工作站只需加入IP多播组,然后开始发送和接收游戏/仿真数据即可。通过把仿真数据划分成多个流,然后通过独立的IP多播组传递这些流,可以扩展这一概念。数据的划分使得PC或工作站在加入游戏或仿真场景中时,可以限制它们正在发送和接收的仿真数据的数量(即它们需要加入的多播组的数量)。
例如,在一场幻想战斗游戏里,每一个房间可以指派给一个独立的IP多播组。只有参与者是该房间的PC或工作站才能加入到这个多播组,并发送和接收该房间内发生状况的仿真数据。当玩家离开这个房间,进入另外一个房间时,他也将离开与第一个房间相关联的IP多播组,并加入到与新房间相关联的IP多播组中。
注意
我见过的最大的基于IP多播的战争仿真游戏是由美国军方开发的。这个仿真把战场分成网格,每一个网格对应一个多播组。这导致数千个IP多播组用于在仿真中的各个参与者之间进行通信。每一个参与者,例如一辆坦克或一架F-16战斗机进入到网格中时,为了获悉这个网格中正在发生的情况,仿真应用需要加入一个相关的IP多播组来接收相关的仿真数据。当参与者离开这个网格进入到另外一个网格时,仿真应用离开原来的多播组,加入到与新网格相关的IP多播组。
由于越来越多的IP多播开始启用多播,越来越多的游戏和仿真应用开发人员也希望将IP多播充分应用在大型仿真中。在不久的将来,数千个玩家将会通过Internet在终极毁灭战士游戏中同时战斗,这不再是不可想象的事情。