当前的网络中有三种通讯模式:单播、广播、组播,其中的组播出现时间最晚但同时具备单播和广播的优点,最具有发展前景。
三种通讯模式
每个数据包发往单个目的主机,目的地址指明单个接收接口称为单播。
一个主机向网上的所有其他主机发送帧,称为广播。
多播(组播)处于单播和广播之间:帧仅传送给属于多播组的多个主机。
单播传输信息
? 如图8-1所示,网络中存在信息发送者Source,UserA 和UserC 提出信息需求,网络采用单播方式传输信息。
?
?
单播传输特点?
*Source 向每个Receiver 地址发送一份独立的拷贝信息:packets for UserA;packets for UserC。
*网络为每个Receiver 分别建立一条独立的数据传送通路:Source→ RouterB → RouterE → RouterD → UserA;Source → RouterB → RouterE → RouterF → UserC。
单播方式下,网络中传输的信息量和需求该信息的用户量成正比,当需求该信息的用户量较大时,网络中将出现多份相同信息流。此时,带宽成为保证网络传输质量的重要瓶颈。
单播方式较适合用户稀少的网络,不利于信息规模化发送。
主机之间“一对一”的通讯模式,网络中的交换机和路由器对数据只进行转发不进行复制。如果10个客户机需要相同的数据,则服务器需要逐一传送,重复 10次相同的工作。但由于其能够针对每个客户的及时响应,所以网页浏览全部都是采用IP单播协议。网络中的路由器和交换机根据其目标地址选择传输路径,将IP单播数据传送到其指定的目的地。
单播的优点:?
?1. 服务器及时响应客户机的请求
2. 服务器针对每个客户不通的请求发送不通的数据,容易实现个性化服务。
单播的缺点:?
?1. 服务器针对每个客户机发送数据流,服务器流量=客户机数量×客户机流量;在客户数量大、每个客户机流量大的流媒体应用中服务器不堪重负。
2. 现有的网络带宽是金字塔结构,城际省际主干带宽仅仅相当于其所有用户带宽之和的5%。如果全部使用单播协议,将造成网络主干不堪重负。P2P应用就已经使主干经常阻塞,只要有5%的客户在全速使用网络,其他人就不要玩了。而将主干扩展20倍几乎是不可能。
广播传播信息
? 如图8-2所示,网络中存在信息发送者Source,UserA 和UserC 提出信息需求,网络采用广播方式传输信息。
?
广播传输特点?
* Source 向本网络广播地址发送且仅发送一份报文:packets for all the network。
* 网络将报文拷贝传送到所有网段,不管是否需要,保证信息到达网络中所有的路由器和用户:UserB 也同样接收到一份拷贝。
广播方式下,网络中所有用户都能接收到该信息,当网络中需求该信息的用户量很小时,网络资源利用率将非常低,带宽浪费严重。不需要这些信息的用户也会受到影响。
广播方式较适合用户稠密的网络,信息安全性和有偿服务得不到保障。
主机之间“一对所有”的通讯模式,网络对其中每一台主机发出的信号都进行无条件复制并转发,所有主机都可以接收到所有信息(不管你是否需要),由于其不用路径选择,所以其网络成本可以很低廉。
有线电视网就是典型的广播型网络,我们的电视机实际上是接受到所有频道的信号,但只将一个频道的信号还原成画面。在数据网络中也允许广播的存在,但其被限制在
二层交换机的局域网范围内,禁止广播数据穿过路由器,防止广播数据影响大面积的主机。
广播的优点:?
1. 网络设备简单,维护简单,布网成本低廉
2. 由于服务器不用向每个客户机单独发送数据,所以服务器流量负载极低。
广播的缺点:?
1.无法针对每个客户的要求和时间及时提供个性化服务。
2. 网络允许服务器提供数据的带宽有限,客户端的最大带宽=服务总带宽。例如有线电视的客户端的线路支持100个频道(如果采用数字压缩技术,理论上可以提供 500个频道),即使服务商有更大的财力配置更多的发送设备、改成光纤主干,也无法超过此极限。也就是说无法向众多客户提供更多样化、更加个性化的服务。
3. 广播禁止在Internet宽带网上传输。
组播传播信息
? 如图8-3所示,网络中存在信息发送者Source、UserA 和UserC 提出信息需求,网络采用组播方式传输信息。
?
组播传输特点?
* Multicast group 称为组播组,使用一个IP 组播地址标识。UserA 和UserC 两个信息接收者,加入该组播组,从而可以接收发往该组播组的数据。
* Source 称为组播源,向该组播组地址发送且仅发送一份报文:packets for the multicast group。网络传输过程中,相同的组播数据流在每一条链路上最多仅有一份。相比单播来说,使用组播方式传递信息,用户的增加不会显著增加网络的负载。
* 根据组播组成员的分布情况,组播路由协议为多目的端的数据包转送建立树型路由。报文在尽可能远的分叉路口(如RouterE)才开始复制和分发,最终传送到组播组成员。相比广播来说,组播数据仅被传输到有接收者的地方,不会造成网络资源的浪费。
* 网络中支持组播功能的路由器称为“组播路由器”,不仅提供组播路由功能,还能够在与网络用户连接的末梢网段上提供组成员管理功能(如RouterD 和RouterF)。同时,自己本身也可能是组播组成员。
* 组播组中的成员是动态的,网络中的用户主机可以在任何时刻加入和离开组播组。组成员可能广泛分布在网络中的任何地方。组播源通常不会同时是其发送数据的接收者,即不属于其对应的目的组播组。
* 一个源可以同时向多个组播组发送数据;多个源可以同时向一个组播组发送报文。
* 为了帮助理解,可以类比收看某电视频道的节目。
* 组播组是发送者和接收者之间的一个约定,如同电视频道。
* 电视台是组播源,它向某频道内发送数据。
* 电视机是接收者主机,观众打开电视机选择收看某频道的节目,表示主机加入某组播组;然后电视机播放该频道电视节目,表示主机接收到发送给这个组的数据。
* 观众可以随时控制电视机的开关和频道间的切换,表示主机动态的加入或退出某组播组。
主机之间“一对一组”的通讯模式,也就是加入了同一个组的主机可以接受到此组内的所有数据,网络中的交换机和路由器只向有需求者复制并转发其所需数据。主机可以向路由器请求加入或退出某个组,网络中的路由器和交换机有选择的复制并传输数据,即只将组内数据传输给那些加入组的主机。这样既能一次将数据传输给多个有需要(加入组)的主机,又能保证不影响其他不需要(未加入组)的主机的其他通讯。
组播的优点:?
1. 需要相同数据流的客户端加入相同的组共享一条数据流,节省了服务器的负载。具备广播所具备的优点。
2. 由于组播协议是根据接受者的需要对数据流进行复制转发,所以服务端的服务总带宽不受客户接入端带宽的限制。IP协议允许有2亿6千多万个(268435456)组播,所以其提供的服务可以非常丰富。
3. 此协议和单播协议一样允许在Internet宽带网上传输。
组播的缺点:?
1.与单播协议相比没有纠错机制,发生丢包错包后难以弥补,但可以通过一定的容错机制和QOS加以弥补。
2.现行网络虽然都支持组播的传输,但在客户认证、QOS等方面还需要完善,这些缺点在理论上都有成熟的解决方案,只是需要逐步推广应用到现存网络当中。