什么是组播?组播方式解决了单播情况下数据的重复拷贝及带宽的重复占用,也解决了广播方式下带宽资源的浪费。
产生原因
传统的IP通信有两种方式:第一种是在一台源 IP主机和一台目的 IP主机之间进行,即单播(unicast);第二种是在一台源IP主机和网络中所有其它的IP主机之间进行,即广播(broadcast)。如果要将信息发送给网络中的多个主机而非所有主机,则要么采用广播方式,要么由源主机分别向网络中的多台目标主机以单播方式发送IP包。
采用广播方式实现时,不仅会将信息发送给不需要的主机而浪费带宽,也可能由于路由回环引起严重的广播风暴;采用单播方式实现时,由于IP包的重复发送会白白浪费掉大量带宽,也增加了服务器的负载。所以,传统的单播和广播通信方式不能有效地解决单点发送多点接收的问题。
IP 组播是指在IP网络中将数据包以尽力传送(best-effort)的形式发送到网络中的某个确定节点子集,这个子集称为组播组(multicast group)。IP 组播的基本思想是,源主机只发送一份数据,这份数据中的目的地址为组播组地址;组播组中的所有接收者都可接收到同样的数据拷贝,并且只有组播组内的主机(目标主机)可以接收该数据,网络中其它主机不能收到。组播组用 D 类IP地址(224.0.0.0 ~ 239.255.255.255)来标识。
组播、单播和广播的定义
我们知道单播、组播和广播都是IP报文网络传输的三种模式,它们的定义如下:
单播是主机间一对一的通讯模式,它能够针对每台主机及时的响应,现在的网页浏览全部都是采用单播模式。
广播是主机间一对所有的通讯模式,设备会将报文发送到网络中的所有可能接收者,广播处理流程简单,不用选择路径。
组播是主机间一对多的通讯模式,组播是一种允许一个或多个组播源发送同一报文到多个接收者的技术。组播源将一份报文发送到特定的组播地址,组播地址不同于单播地址,它并不属于特定某个主机,而是属于一组主机。
组播一对多通信场景
1.组播(Multicast)非常适合一对多的通信模型,只有加入到特定组播组的成员,才会受到组播数据,当存在多个组播组成员时,源无需拷贝多个数据发送,仅需发送一份即可,组播网络设备(运行组播路由协议的网络设备)会根据实际需要转发或拷贝组播数据,实现按需拷贝,按需发送。
2.数据流只发送给加入该组播组的接收者(组成员),而不需要该数据的设备将不会接收到该组播流量。
3.相同的组播报文,在一段链路上仅有一份数据,大大提高了网络资源的利用率。
组播协议的优势:
组播协议的优势在于当需要将大量相同的数据传输到不通主机时,
1.能节省发送数据的主机的系统资源和带宽;
2.组播是有选择地复制给又要求的主机;
3. 组播可以穿越公网广泛传播,而广播则只能在局域网或专门的广播网内部传播;
4. 组播能节省网络主干的带宽;