组播的应用比较
传统的IP通信是在一个源IP主机和一个目标IP主机之间(单播)或者一个源IP主机和网络中所有的IP主机之间(广播)进行的。如果我们要将信息发送给网络中的多个而非所有IP主机,要么采用广播方式,要么由源IP主机分别向网络中的多个目标IP主机单播发送IP包。广播方式不仅会将信息发送给不需要的IP主机而浪费带宽,也可能由于路由回环引起一场严重的广播风暴;单播方式由于IP包的重复发送而白白浪费掉大量带宽,也增加了服务器的负载。可以说传统的IP通信技术不能有效地解决单点发送多点接收的问题。
组播是指信源将信息发向所有网络节点的某个确定子集的点到多点的通信形式。IP组播是指在IP网络中数据包以尽力传送的形式发送到所有网络节点的某个确定子集,这个子集称为组播组。IP组播的基本思想是源IP主机只发送一份数据,一个或多个接收者可接收相同数据的拷贝。即允许源IP主机向网上所有IP主机的一部分(子集)发送IP分组,只有该子集内的主机(目标主机)可以接收该分组,而网络中其它IP主机不能收到该分组。这种逻辑上的子集(目标主机)就是组播组,用D类IP地址(224.0.0.0~239.255.255.255)来标识。
IP组播技术有效地解决了单点发送多点接收、多点发送多点接收的问题,实现了IP网络中点到多点的高效数据传送,能够有效地节约网络带宽、降低网络负载。IP组播技术在实时数据传送、网络电视、多媒体会议、数据拷贝、游戏和仿真等诸多方面都有广泛的应用。
以太网和FDDI的MAC地址01:00:5E:00:00:00到01:00:5E:7F:FF:FF用于将三层IP组播地址映射为二层地址,即IP组播地址中的低23位放入IEEE MAC地址的低23位。IP组播地址有28位地址空间,但只有23位被映射到IEEE MAC地址,这样会有32个IP组播地址映射到同一MAC地址上。
组播的转发比较
1.组播转发的一个特点是是转发时要查数据报的源IP,而不像单播根据目的IP进行转发。为什么要查源IP呢,就是要避免出现循环转发的情况,这就是所谓的RPF(逆向路径转发)机制。
2.组播转发的另一个特点是路由表内会出现多个出接口,也就意味着一个数据报从路由器的一个端口进,会有多个相同的报文从多个端口出去(入接口除外),这就要求路由器必须对数据报进行内部复制。现在高端产品一般采用NP或FPGA等进行硬件复制(有的在入口板进行复制,有的在出口板复制,还有在入口板、交换板、出口板进行分级复制),但是一但出接口过多,在大流量下往往达不到线速,不过可能随着硬件能力的提高会有所改善。
3.组播转发的第三个特点是数据流驱动,尤其是像使用PIM-SM这样的稀疏模式的多播路由协议。一般单播先是先生产路由表,然后下发FIB到硬件,然后才可以转发报文,如果一个单播报文到达后查不到相应的FIB,并且目的IP不是本路由器,会被马上丢掉;而多播报文到达后如果查不到相应的转发表必须上交CPU,进行软件转发,同时可能造成多播路由表的生成,这就是所谓的数据流驱动。
4.组播转发的第四个特点不可靠性。单播转发一般在路由生成后,除非出现拥塞或人为控制因素,一般在路由器上不会主动丢包,但是多播转发的是数据流驱动,在查不到硬件转发表情况下全部上交路由器CPU,很容易带来过载,因此路由器都会主动丢弃一部分报文,直到产生硬件转发表。不过目前基于多播的应用多为基于UDP的视频等,对丢包并不敏感,另外解决多播可靠性问题可采用可靠多播协议等。
阅读(3268) | 评论(0) | 转发(0) |