IP组播与组播协议

在Internet上,多媒体业务诸如:流媒体,视频会议和视频点播等,正在成为信息传送的重要组成部分。点对点传输的单播方式不能适应这一类业务传输特 性--单点发送多点接收,因为服务器必须为每一个接收者提供一个相同内容的IP报文拷贝,同时网络上也重复地传输相同内容的报文,占用了大量资源。如图 1.1所示。虽然IP广播允许一个主机把一个IP报文发送给同一个网络的所有主机,但是由于不是所有的主机都需要这些报文,因而浪费了网络资源。在这种情 况下组播(multicast)应运而生,它的出现解决了一个主机向特定的多个接收者发送消息的方法。1989年,IETF通过RFC1112,定义了 Internet上的组播方式。

 

 

1. IP组播

 

     IP组播是指一个IP报文向一个“主机组”的传送,这个包含零个或多个主机的主机组由一个单独的IP地址标识。主机组地址也称为“组播地址”,或者D类地址。除了目的地址部分,组播报文与普通报文没有区别,网络尽力传送组播报文但是并不保证一定送达。


     主机组的成员可以动态变化,主机有权选择加入或者退出某个主机组。主机可以加入多个主机组,也可以向自己没有加入的主机组发送数据。主机组有两种:永久组 和临时组。永久组的IP地址是周知的,由Internet管理机构分配,是保留地址。临时组的地址则使用除永久组地址外的非保留D类地址。


     IP组播分组在互联网上的转发由支持组播的路由器来处理。主机发出的IP组播分组在本子网内被所有主机组成员接收,同时与该子网直接相连的组播路由器会把 组播报文转发到所有包含该主机组成员的网络上。组播报文传递的范围由报文的生存期值(TTL, Time-to-Live)决定,如果TTL值等于或者小于设置的路由器端口TTL门限值(TTL Threshold),路由器将不再转发该报文。


2. 组播地址

 

     IP组播地址,或称为主机组地址,由D类IP地址标记。D类IP地址的最高四位为“1110”,起范围从224.0.0.0到 239.255.255.255。如前所述,部分D类地址被保留,用作永久组的地址,这段地址从224.0.0.0-224.0.0.255。比较重要的 地址有:


     224.0.0.1 - 网段中所有支持组播的主机
     224.0.0.2 - 网段中所有支持组播的路由器
     224.0.0.4 - 网段中所有的DVMRP路由器
     224.0.0.5 - 所有的OSPF路由器
     224.0.0.6 - 所有的OSPF指派路由器
     224.0.0.9 - 所有RIPv2路由器
     224.0.0.13 -所有PIM路由器


    临时主机组的组播地址由网络管理员选择,他需要保证这个地址在一定的范围内没有其他的主机组在使用这个组播地址。

     第2层的组播地址(组播MAC地址)可以从IP组播地址中衍生。计算方法是把IP地址的最后23位拷贝到MAC地址的最后23位,然后把这23位前面的那 一位置为0。MAC地址的前24位必须为0x01-00-5E。例如:组播IP地址224.0.1.128,16进制表示为0xE0-00-01-10, 最低的23位为0x00-01-10,计算得出的MAC地址为:0x01-00-5E-00-01-10。