IPv4-IPv6组播过渡技术(二)

日期: 2008-06-17 来源:TechTarget中国

    2  多播转换网关模型


    多播转换网关(MTG)模型是基于Linux2.4内核的网关协议转换方案原型。


    MTG模型在网络中的部署如图1所示,MTG部署在IPv4和IPv6网络的边界。MTG模型将IPv4网络和IPv6网络视为地位对等的两个异构网络。从网关向两边看,一边是纯IPv4网络,另一边是纯IPv6网络。网关的工作对IPv4和IPv6而言也是对等的:IPv6主机可以加入组播源位于IPv4网络的组播组,IPv4主机也可以加入组播源位于IPv6网络的组播组。


IPv4-IPv6组播过渡技术(二)


    在IPv4中,MTG作为IPv6的代理,参与IPv4的组播;同样,MTG在IPv6中则作为IPv4的代理。图中MTG既可理解为单个双栈设备,也可理解为一个双栈网络。在MTG系统内部,两个代理之间进行协议转换。


    2.1模型结构


    图2虚线框部分给出了MTG的模型结构。主要由IPv4组播代理(MP4)、IPv6组播代理(MP6)、组播协议转换器(MT)、地址映射器(AM)、简单网络管理协议(SNMP)接口、MTG管理信息库(MIB)组成。


IPv4-IPv6组播过渡技术(二)


    (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报头字段转换表。


IPv4-IPv6组播过渡技术(二)


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


    IPv6中跳限度(HopLimit)字段与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报文的协议转换。


    (4)地址映射器


    地址映射器为IPv4和IPv6维护一个单播地址池和一个由IPv4和IPv6地址对组成的地址映射表。IPv4地址池用于IPv6节点在IPv4域中的临时IPv4地址,IPv6地址池用于IPv4节点在IPv6域中的临时IPv6地址。它们被通告给IPv4/IPv6单播路由器,以便发送给他们的报文能够被转发给网关及通过逆向路径转发(RPF)检查。


    地址映射器涉及3类地址的分配:IPv4组播组地址、IPv4SSM源地址、IPv6SSM源地址。当需要分配一个IPv6地址对应一个IPv4地址(IPv4源地址)时,地址映射器从地址映射表中选择一个合适的IPv6地址返回;当没有一个合适的项对应IPv4单播地址时,地址映射器从IPv6地址池中选择返回一个IPv6单播地址,并向地址映射表中注册一个新的项;当没有一个合适的项对应IPv4组播地址时(IPv4目的地址),地址映射器向表中注册一个包含IPv4组播组地址和对应IPv6地址的新项。IPv4地址的分配与之类似。


    (5)SNMP接口


    SNMP接口分为内部接口和外部接口。内部接口主要为内部模块与MIB交互提供一套完整的方法。外部接口则为用户提供管理MTG的方法。用户可使用标准SNMP命令获知MTG的当前运行状态和动态更改部分的可调参数。


    (6)MTG管理信息库


    MTG管理信息库提供MTG运行所需的环境配置和记录MTG当前运行状态。


    2.2MTG的工作流程


    下面以一视频会议为例说明MTG的工作流程。


    IPv4中两名参与者F1和F2,IPv6中也有两名参与者S1和S2。其中F1为会议的组织者。所有参与者都运行会话描述协议(SDR)或类似SAP的监听器获取会话信息。MTG的IPv4和IPv6地址分别为202.112.25.214和3FFE:3206:1000::19D6。同时将MTG配置为IPv6组播指定路由器。


    参与者F1首先向224.2.127.254:9875公告会议信息,通知其他会议参与者使用224.5.5.5作为会话地址,并同时向IPv4发送视频/音频流。


    参与者F2通过SDR直接收到该SAP公告,并启动组播会议工具。此时F1和F2可以进行会话。当SAP公告到达MTG,MP4将其转交至MT,MT对其进行报头转换,源地址转换为MTG的固定IPv6地址3FFE:3206:1000::19D6,宿地址为FF0E:0::2:7FFE。并调用应用层回调函数解析出组播会话地址224.5.5.5,然后从AM取得对应的IPv6地址


    FF1E::224.5.5.5,在应用层上对其携带的信息进行修改。MT再将已转换的SAP报文转交给MP6,将之发送到IPv6网络。SAP第一次到达时,AM会更新映射表。


    参与者S1和参与者S2收到SAP公告之后,发起MLD成员报告。MP6收到MLD报告之后,转交给MT,MT将MLD报告转换成IGMP成员报告,通过MP4向IPv4发送成员关系报告,并加入224.5.5.5组。至此,4个参与者均加入组播会话。


    MP4接收到参与者F1发出的IPv4组播报文,并转交给MT,MT对其进行报头转换,源地址转换为MTG的固定IPv6地址3FFE:3206:1000::19D6,宿地址224.5.5.5转换为对应的IPv6地址FF1E::224.5.5.5,再经由MP6组播给参与者S1和参与者S2。MP6接收到参与者S1和参与者S2发出的IPv6组播报文,并转交给MT,MT对其进行报头转换,源地址转换为MTG的固定IPv4地址202.112.25.214,宿地址FF1E::224.5.5.5转换为对应的IPv4地址224.5.5.5,再经由MP4组播给参与者F1和参与者F2。当参与者S1和参与者S2都退出时,MP4不再向MT转交该组组播报文。


    当不使用SAP时,会话地址202.5.5.5必须通过人工传达或Web公布等方法告之所有会议参与者。管理员或者被授权的终端用户通过SNMP外部接口注册202.5.5.5组播组,并取得IPv6映射地址FF1E::224.5.5.5。IPv6用户使用FF1E::224.5.5.5地址加入组播会话。


    3  结束语


    要使IPv4主机与IPv6主机进行组播通信,必须做诸如转发器(在传输层)或网关(在网络层)之类的协议转换工作。


    MTG在实现网关基本功能的基础上,对网关作了一定程度的改进。网关对IPv4组播的组成员及源的有效期不敏感的问题,可以通过使MTG同时成为IPv4的组播路由器,而使MTG具有获知组成员状态的能力;对于网关中IPv4只能访问给定前缀的IPv6组,从MTG模型结构可以看出,在附加前缀的基础上,通过可管理的静态地址映射,消除了IPv4对IPv6的访问限制。


    MTG还对网关方案未曾具体涉及的问题进行了探讨。根据标准草案RFC2365,加入对不同协议间组播管理域的映射;通过SNMP接口和扩展MIB,将网关的管理标准化。另外在底层实现上,MTG采用了逐级细化的处理流程,增加了可配置的网关的拥塞控制策略和报文调度策略,可根据QoS和流量控制要求对高速缓存中的报文进行可控调度。


    使用MTG,可以有效实现IPv4-IPv6组播互通。

我们一直都在努力坚持原创.......请不要一声不吭,就悄悄拿走。

我原创,你原创,我们的内容世界才会更加精彩!

【所有原创内容版权均属TechTarget,欢迎大家转发分享。但未经授权,严禁任何媒体(平面媒体、网络媒体、自媒体等)以及微信公众号复制、转载、摘编或以其他方式进行使用。】

微信公众号

TechTarget微信公众号二维码

TechTarget

官方微博

TechTarget中国官方微博二维码

TechTarget中国

电子邮件地址不会被公开。 必填项已用*标注

敬请读者发表评论,本站保留删除与本文无关和不雅评论的权力。

相关推荐