IP组播通信指的是IP报文从一个源发出,被转发到一组特定的接收者。相对于单播和广播,IP组播可以有效地节约网络带宽、降低网络负载,避免广播堵塞带来的诸如摄像头花屏,视频马赛克等问题,所以被广泛应用于IPTV、实时数据传送和多媒体会议等网络业务中。
如果要将数据从一台主机发送给多个主机而非所有主机,可以采用广播方式,也可以由源主机采用单播方式向网络中的多台目标主机发送多份数据,如图1所示。
图1 采用单播和广播方式进行点到多点传输数据示意图
-
采用单播方式时,信息源为每个需要信息的主机都发送一份独立的报文。当需要该信息的用户数量较大时,信息源需要将多份内容相同的信息发送给不同的用户,这对信息源以及网络带宽都将造成巨大的压力。
-
采用广播方式时,信息源将信息发送给该网段中的所有主机,不需要接收信息的主机也将收到该信息,这样不仅信息的安全性得不到保障,而且会造成同一网段中信息泛滥,浪费大量的带宽。
由上述可见,单播和广播通信方式不能有效地解决单点发送、多点接收的问题。
组播(Multicast)可以很好的解决点到多点的数据传输,如图2所示,源只发送一份数据,网络中只有需要该数据的主机(目标主机HostA和HostC)可以接收该数据,其他主机(HostB)不能收到该数据。
图2 采用组播方式进行点到多点传输数据示意图
组播基本概念
如图3所示为组播的传输模型示意图,网络中存在组播源,组播路由器,和组播组成员三个角色,它们在同一组播组中进行组播通信。
图3 组播方式示意图
-
组播组:用IP组播地址进行标识的一个集合。任何用户主机(或其他接收设备),加入一个组播组,就成为了该组成员,可以识别并接收发往该组播组的组播数据。
-
组播源:信息的发送者,如图3中的Source。一个组播源可以同时向多个组播组发送数据,多个组播源也可以同时向一个组播组发送报文。
-
组播组成员:所有加入某组播组的主机便成为该组播组的成员,如图3中的HostA和HostC。组播组中的成员是动态的,主机可以在任何时刻加入或离开组播组。
-
组播路由器:支持三层组播功能的路由器或交换机,如图3中的各个Router。组播路由器不仅能够提供组播路由功能,也能够在与用户连接的末梢网段上提供组播组成员的管理功能。
以收看某电视频道的节目为例来类比IP组播中的概念。
表1 组播信息传输与电视节目传输的类比
顺序 |
电视节目传输过程 |
组播方式传输过程 |
1 |
电视台向频道内发送数据 |
组播源向组播组发送数据 |
2 |
观众打开 |