5.1.2 IP组播

IP组播是对硬件组播的互联网抽象。即使硬件网络不支持组播,那么IP组播也为其上的应用提供组播的服务。IP组播支持从一台计算机到一系列计算机子集的传输,并且,允许这个子集中的计算机分布在互联网上的任意物理网络。在IP的术语中,这个子集称为组播群组(multicast group)。

组播地址的格式如下图所示:

IP组播具有以下特征:

■ 群组地址。每个组播群组拥有唯一一个D类地址。少数IP组播地址是由Internet管理机构永久分配的,分别对应几个永久存在的群组。更多的是临时性分配的,用于专用目的。

■ 群组数。IP地址结构决定了最多可以有228个同步组播群组的地址。因此这样大的一个空间,使组播几乎不受编址的限制,而只需要考虑路由表的大小。

■ 动态组播成员。一台主机可以在任何时候动态地加入或退出一个IP组播群组。而且,一台主机可以同时是任意数目的组播群组的成员。

■ 硬件的使用。如果底层网络硬件支持组播,那么IP使用硬件组播发送IP组播。如果硬件不支持组播,IP则使用广播或单播来交付IP组播。

■ 网络间转发。IP组播群组的成员可以分布在不同的物理网络上,转发IP组播需要特殊的IP组播路由器(multicast router),通常是对常规路由器的功能进行扩充。

■ 交付机制。IP组播采用与其他IP数据报交付相同的机制,即尽力交付。因此组播数据报可能出现丢失、延迟、重复和乱序到达等现象。

■ 成员和传输。任意主机都可以向任何组播群组发送数据报,群组成员只用于确定主机是否接收发往群组的数据报。