扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
当代社会已经进入信息时代,网络技术在飞速发展。由于视频会议、推送技术、大规模协作计算、为用户群进行软件升级、用于培训和企业报告的共享白板式的多媒体应用、网络代理、镜像和高速缓存站点等等应用,都依赖于从一个主机向多个主机或者从多个主机向多个主机发送同一信息的能力,而在Internet上分发的数目可能达数十万台,这些都需要更高的带宽,并且大大超出了单播的能力。一种能最大限度地利用现有带宽的有力武器是IP组播技术,这项技术已获得了包括AT&T、HP、IBM、Intel、Microsoft、Cisco和3Com等业界有影响的众多厂商的支持。
一、单播与广播
传统的点对点单播通信,在发送方和每一接收方需要单独的数据通道。在这种通信方式下,源IP主机向指定的目标IP主机发送信息包。IP信息包中的目标地址就是IP网络中惟一的主机地址。从一台主机送出的每个数据包只能传送给一个目标主机,通过路由器或交换机将这些IP信息包从源主机发送到目标主机。在源主机和目标主机之间的路径上的每一个路由器都维护由单播路由协议生成的单播路由信息库,并根据数据包中的IP目标地址在单播路由信息库中查找单播包转发路径。这种传送方式称为单播。
在单播方式下,如果有另外的多个用户希望同时获得这个数据包的拷贝是不可能的。发送信息的主机必须向每个希望接收此数据包的用户发送一份单独的数据包拷贝。这种巨大的冗余会带来很大的代价,首先,会给发送数据的源主机带来沉重的负担,因为它必须对每个要求都做出响应,这使得负担过于沉重主机的响应会大大延长。其次对路由器和交换机的性能也提出了更高的要求,管理人员被迫购买本来不必要的硬件和带宽来保证一定的服务质量。
在IP通信另一个领域是IP广播,在这里,源主机向一个网段中的所有IP主机发送IP信息包。IP广播包的目标地址的主机部分被设置成全“1”,网络部分设置成当前子网地址。在一些例子中,主机部分设置为全“0”,但是这种形式的IP广播地址通常不再使用。
IP网络的主机(包括路由器)都能识别以IP广播地址作为目标地址的信息包,一个子网中的所有IP主机都接收地址为本子网的广播地址的信息包。除非特别配置,路由器一般不会转发IP广播信息包,这样,IP广播通信通常被限制在本地的子网内。而如果路由器转送这些广播,那么,路由回环将很可能引起一场严重的广播风暴。而且广播的主要的缺点就是每个广播都要发送数据至所有机器,消耗了所有机器上的资源,即使数据要被网络中大多数机器所丢弃。
二、组播化解矛盾
解决上述这些IP单播和IP广播问题的办法是构建一种具有组播能力的网络,允许路由器一次将数据包复制到多个通道上。采用组播方式,单台服务器能够对几十万台主机机同时发送连续数据流而无延时。组播发送方只要发送一个信息包而不是很多个,所有目的地同时收到同一信息包,更及时,更同步,可以把信息发送到任意不知名目的地,能减少网络上传输的信息包的总量。网络成本变得相当低廉,可达到从未有过的传送能力。
IP组播通信介于IP单播和IP广播通信之间,并且能使主机发送IP信息包到IP网络中任何一组特定的主机上。这些主机都具有一种特定的IP地址,称之为IP组播组地址。支持组播的路由器会转发IP组播信息包至所有具有该组播地址的主机的接口上。单播与组播的区别如附图所示。
从图中可以清楚的看出,单播传送发送数据的多个拷贝,每个拷贝发送到一个接收者,主机轮流发送数据的拷贝,网络分别将它们转发至每个接收者,主机一次只能发送至一个接收者。而组播传送则只把发送数据的一个拷贝发送到多个接收者,主机发送数据的一个拷贝,可同时发送到多个接收者。网络在每个接收者的最后一个路由器或主机复制它,在一个给定的网络上每一个包只传送一次。
三、IP组播技术简介
组播首先要解决发送给谁的问题。按不同应用项目(如体育、文艺、娱乐或学习等)进行分组,组成员要向组播路由器通过IGMP协议进行注册登记,用户主机发出请示,提出具体组播地址。IP组播的地址采用D类IP地址确定组播的组。在Internet的“小数点”表示法中,组播地址范围是从224.0.0.0到234.255.255.255。为发送一份IP组播数据包,发送者要确定一个合适的组播地址,这个地址代表一个组。然后,组播数据通过普通的IP发送操作发送出去。
其次要解决的问题是如何接收组播信息,有时在同一网段中有多个组播组的成员。对于信息的发送方来说相当简单,但接收方却十分复杂。为了能够正确地接收感兴趣的组播信息数据包,主机上的应用首先要申请特定组播组的成员。这种申请通过Internet组管理协议(Internet Group Management Protocol,IGMP)传送到本网段上的路由器完成,如有必要,相关的信息还可能要传送到发送方的路由器,这取决于使用的组播路由协议。这一步完成,接收主机的网络接口卡开始侦听与新组播组地址相关的数据链路层组播地址。路由器把由发送方送来的组播数据包一跳一跳地发送到有接收者的网段上的路由器,局域网路由器根据组播信息包中的组地址转换出与它相关的数据链路层地址,并用这个地址建立数据链路层的报文。接收方的网络接口卡和网络驱动程序侦听这个地址,收到该组播包后,将IP层的组播数据包取出,传向上层TCP/IP协议堆栈,从而使数据适合用户的应用。
第三个问题是用户主机在注销对某个组的兴趣时如何通知组播路由器。如果接收方使用的是IGMPv2,会主动地通知路由器离开。但如果是IGMPv1主机,注销就不会通知路由器,这时服务器要在一定时间后向本网段发出查询,接收主机的应答,若无用户应答,路由器就认为不再有接收者,不会再向该网段上转发组播信息。
第四个问题是组播信息的转发,要根据所使用的组播路由协议建立组播转发树。根据该转发树进行组播信息的转发,当某个处于转发树中的路由器收到一个组播信息后,对要转发的组播包进行拷贝和转发。如果路由器为最后一跳,组播包就以广播的方式传送到该网段中各主机接收者。
对于IP组播的研究早在80年代就已经开始有许多组播路由协议已经投入使用。像PIM(Protocol Independent Muiticast)、MBGP(Muticast Border Gateway Protocol)以及DVMRP(Distance Vector Multicast Routing Protocol)等协议的应用都比较广泛,但是目前还没有一种可靠的组播协议已经具备了处理大范围的组分发、发送者要求的反馈或各种类型使用路由器应用的能力。
四、IP组播的特点
与单播应用相比,使用IP组播技术分发信息常常能从本质上减少整个网络带宽的需求,一个典型的例子就是音频与视频网。这些例子常常用来说明IP组播的优点,体现在以下几个方面。
1.带宽
对于音频与视频网来说,大量的用户经常要在大致相同的时间里访问相同的信息,如果使用IP单播,网络带宽的消耗就会呈线性增长。由于典型的MPEG-2视频信息流需要大约1Mbps~5Mbps的带宽用于流畅且逼真的影像,显然用IP组播来发送节目是一种明智的选择。因为重复数据流被单一传送所代替,从而使得网络带宽得到了更有效地使用。
2.服务器负载
如果音频与视频网的网络运营商继续使用单播传送机制,随着用户的增长,它将需要不断增加它的实时音频服务器的能力和数量以满足连接用户的增长。当服务器负载增加到一定程度,服务器就不能再发出信息流。如果运营商使用IP组播来发布它们的节目,那么就不需要购买越来越多高性能的服务器以满足客户数目的增长。很明显IP组播提供的主要优势在于通过大大减少需要转发和处理的数据量,从而降低了所需服务器性能。
3.分布式应用
在IP单播的情况下,随着需求与应用的增长,多点应用不太可能,因为单播通信中的客户数量不能无限增长。而组播几乎不受客户数量增长的限制。
尽管在网络里使用IP组播会带来许多好处,但是像任何技术一样,这项技术也有其局限性和不尽如人意的地方,包括不可靠的信息包传送和组播信息包的复制。
五、组播在企业中的应用
通常人们想到IP组播就会想到视频会议和视频点播。尽管第一个使用的IP组播网络常常是视频网络,但视频只是许多IP组播应用之一。IP组播在其他领域应用的也很广泛。
1.多媒体应用
一些出色的IP组播多媒体应用程序已经被开发出来,允许通过IP组播实现多对多的音频或音频/视频会议。除音频与视频之外,还有一种基于Unix的白板工具,它允许用户共享公共的电子白板。
2.数据分发
数据分发是IP组播应用的另一个领域。通过使用IP组播,公司可以采用“推”的模式进行文件和数据库更新。 这项技术允许公司每天夜里向他们的远程办公室发布新的信息,比如价格和产品信息。企业可使用软件通过卫星链路向所属分公司分发软件升级和数据更新消息。一次性向所有的分公司传送一种数据,而不是依次向每个分公司重发,节省了时间和通信费用。
3.实时数据组播
实时数据传送是使IP组播深受欢迎的又一应用领域。一个好的例子是将股票信息发送到交易大厅的工作站。
通过指定不同的财务分类(债券、运输、药品等等)给不同的组播组,交易员能使用他们的工作站来接收他们感兴趣的实时金融数据。
IP组播目前在该领域已获得了一定范围的商业应用。例如企业可在其企业网上使用组播向各个部门分发市场数据。这样做的
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者