(1)IPv4组播代理

IPv4组播代理作为IPv6接收节点的代理加入IPv4组播组,接收从IPv4流出的组播报文,再将报文转交给组播协议转换器。IPv4组播代理的主要工作包括:向IPv4网络发送Internet组管理协议(IGMP)消息,向IPv4网络发送组播数据,从IPv4网络接收组播报文。向IPv4网络发送IGMP消息包括响应IGMP查询、主动向路由器发送未经同意的成员关系报告以及主动发起离开组信息。接收组播报文时,必须进行有效性检查,如IPv6中所有主机都已离开该组播组,则报文不再向组播协议转换器转交,并立即向IPv4发起离开组信息。

(2)IPv6组播代理

IPv6组播代理作为IPv6接收节点的代理加入IPv4组播组,接收从IPv6流出的组播报文,再将报文转交给组播协议转换器。因为MTG在IPv4和IPv6中部署情况不同,IPv6组播代理的工作与IPv4有所区别。IPv6组播代理的工作主要包括:接收IPv6主机的组播监听发现(MLD)成员报告(作为组播指定路由器时)、接收协议无关组播(PIM)加入消息、向IPv6网络发送组播数据、从IPv6网络接收组播报文。MTG在IPv6中不再作为普通的主机,而是成为IPv6的组播路由器和RP,因此更多地表现出路由器的行为。当IPv6中没有IPv4组播接收者时,MTG能够获知并做出反应,离开IPv4组。这是IPv4组播代理所无法做到的,因此,IPv6组播数据总是无条件地被转交给组播协议转换器,并被向IPv4网络中发送。

(3)组播协议转换器

组播协议转换器对IPv4组播报文和IPv6组播报文进行相互转换。它主要工作于网络层,在IPv4和IPv6间进行报头转换,必要时还要对报文分片转发。

由图2可见,整个模型的核心模块是组播协议转换器,它主要负责在IPv4和IPv6报头间转换。表1为IPv4和IPv6报头字段转换表。

IPv6中8位业务类型(Traffic Class)字段目前并未有标准草案做出规范,但它与IPv4中8位服务类型(ToS)字段的作用是相似的,主要用于提供某种区分服务。目前MTG对此作等值转换,方便IPv4中基于服务类型的服务质量(QoS)工作能在IPv6中继续。另外MTG对此提供扩展接口,可以根据需要调节转换策略。

IPv6中跳限度(Hop Limit)字段与IPv4中生存时间(TTL)字段的作用是一致的,用于限制报文的传播范围。它的处理与业务类型和服务类型的转换处理是相同的,也使用等值转换,并提供扩展接口。

对于非指定源组播(SSM)而言,源地址的转换使用MTG的固定IPv4单播地址或固定IPv6单播地址。从IPv6接收者的角度,网关是所有IPv4数据重发的源;从IPv4的角度,网关也是所有IPv6数据重发的源。对于SSM,同一个组可能同时用于多个频道,从而存在多个源,因此无法使用一个固定组播源地址,必须为它在地址映射器中分配新地址。

宿地址即组播组地址。IPv4向IPv6转换时,使用IPv6组播前缀标识——FFxy::/96[6],并将IPv4组播组地址置于低32位。当IPv4组播地址是一个由全球Internet编址中心(GINA)永久分配的组播地址时,组播前缀标识中x标记置为“0",否则为“1";当使用SSM时,组播前缀标识中变量x标记置为“3"。组播前缀标识中y按IPv4组播前缀和标准草案RFC2365中定义的IPv6域值的映射进行转换。IPv6向IPv4转换时,必须根据x和y确定地址类型,再从地址映射器中分配IPv4组播组地址。注意,IPv6的会话公告协议(SAP)地址必须转换为FF0y::2:7FFE形式。当IPv4的组播会话地址在224.2.128.0—224.2.255.255内时,SAP地址一般为224.2.127.254;其他情况可参见标准草案RFC2974中的具体定义。

另外,组播协议转换器还向应用层提供回调接口链,满足应用层协议转换的要求。默认的应用层回调用于SAP报文的协议转换。


相关内容