城域网IPv6过渡MAP技术(4)
学习啦在线学习网城域网IPv6过渡MAP技术
学习啦在线学习网 第二条是FMR,是可选项,用于在mesh网络中实现MAP-CE间的互访流量直接通信,不需要通过MAP-BR中转。这就是说在MAP-CE访问其他MAP-CE时,目的IPv6地址应该是对端MAP-CE的地址。报文的源IPv6地址是BMR生成的,则目的MAP-CE的IPv6地址就成了FMR的转换目标。前面也提到每个MAP-CE的BMR是相同的(在一定范围),因此FMR和BMR也是可以相同的,即可以将BMR通过配置作为FMR。
学习啦在线学习网 举例如下,在MAP-Domain域中配置BMR=FMR,当MAP-CE2用户的IPv4业务访问MAP-CE1用户的IPv4业务时,在MAP-CE2上通过NAT44和BMR生成源IPv6地址,同时通过FMR生成目的MAP-CE1的IPv6地址。
学习啦在线学习网 前面两个规则对于MAP-E和MAP-T均适用,在第三条规则上,MAP-E和MAP-T是不同的。
学习啦在线学习网 在MAP-T中定了“DMR",代表报文的目的IPv4地址为MAP Domain域外的地址,通过BR进行转发到域外。DMR含有两个参数Rule-IPv6-prefix和Rule-IPv4-prefix。Rule-IPv6-prefix的值是MAP BR的IPv6前缀,Rule-IPv4-prefix值是0.0.0.0/0,即在MAP-CE上匹配IPv4路由时作为默认路由适用的映射规则。在使用这条规则后,目的IPv6地址将通过DMR配置的Rule-IPv6-prefix+目的IPv4地址组成目的IPv6地址。
学习啦在线学习网 在MAP-E中,第三条规则为Destinations outside the MAP domain,更加明确的表征了规则的意义。由于MAP-E中是IPv6报头嵌套IPv4地址,因此对于报文中目的IPv4地址是MAP域外的地址,只需要再封装一层BR的IPv6地址即可,到达BR是直接剥掉IPv6报头就可以还原目的IPv4地址。因此在MAP-E中Destinations outside the MAP domain就是配置MAP-BR的IPv6地址。
前面谈了这些规则和属性,那这些是通过何种协议进行配置呢?最容易想到的就是DHCPv6属性,但是目前的DHCPv6属性除了配置MAP域所需的End-user-IPv6-prefix之外,其他属性还没有定义,因此就有了draft-ietf-softwire-map-dhcp文档,就是针对MAP-E、MAP-T以及lightweight 4over6(三种协议的特点就是均采用A+P理念)所需的属性对DHCPv6进行了扩展。
学习啦在线学习网 在draft-ietf-softwire-map-dhcp中定义了五个DHCPv6 Option,它们分别是OPTION_S46_RULE,OPTION_S46_BR,OPTION_S46_PORTPARAMS,OPTION_S46_DMR,OPTION_S46_IPV4ADDRESS。另外定了针对MAP-E、MAP-T和LW46三个协议的三个Container,包含的DHCPv6 Option的关系如下。
学习啦在线学习网 对于每个具体的Option的内容,我就不一一进行介绍了,draft-ietf-softwire-map-dhcp都有明确定义,并且在成为RFC之前都是有可能被讨论和更新的。
学习啦在线学习网 MAP-BR的Pool是如何实现?可靠性如何提升?”
学习啦在线学习网 在MAP域中通过将多个MAP-BR放在同一个Pool内实现负载分担和保护倒换的。同一个Pool中的每个MAP-BR配置相同的Anycast IPv6 address和不同的IPv6 address。MAP-CE配置的BR地址是选用的Anycast IPv6 address。
Anycast IPv6 address是IPv6地址族里面一个特殊的地址类型,它是一组接口的标识符,送往一个任播播地址的包被传送至该地址标识的接口之一(“路由最近”)。Anycast IPv6 address的这种特点可以实现负载分担或者冗余备份机制。Anycast地址只能作为目的地址,不能用作源地址,因此需要为BR另外配置一个IPv6地址。
因为MAP属于无状态技术,因此对于流量上下行路径不对称的情况仍能正常转发,例如上行CE3到BR-1,下行为BR2-CE3,由于BR-1和BR-2的MAP Rule相同,因此数据正常映射和转发;MAP-BR无映射session维护,因此也无热备技术需求。通过Anycast方式配置BR地址,CE通过路由选择最近的BR进行转发,实现BR流量的负载分担和提高BR可靠性。
MAP场景下业务流量的报文格式是什么样的
学习啦在线学习网 在MAP域中,网络部署IPv6单栈协议。对于IPv6终端的业务流量是采用Native IPv6进行承载。对于IPv4终端的业务流量,需要在MAP-CE和MAP-BR之间(或者MAP-CE和MAP-CE之间)建立IPv6通道,根据对IPv4报文的封装方式不同,可以分为MAP-E和MAP-T两种方式。
MAP-E:封装方式,即将IPv4报文再封装一层IPv6报头,外层为IPv6报头,内层是IPv4报头。
MAP-T: 翻译方式,即将IPv4报头翻译成IPv6报头,只有一层IPv6报头。
通过个人理解,将MAP-E的数据处理流程做了一个简单的示意,如下所示。
同理,个人理解,MAP-T的数据处理流程如下图所示。
学习啦在线学习网 谈到这里,肯定有人会问:MAP-E和MAP-T哪个更好呢?
其实每个技术都有其特点,对于MAP-E而言增加了一层IPv6报头,增加了报文长度,有可能会引起MTU问题,但是这种封装方式对IPv4的信息是完全保存下来,不破坏IPv4报文的其他属性,即不存在IPv4报文信息的丢失。对于MAP-T而言通过IPv6报头代替IPv4报头,单层报头的报文承载效率高,但是会造成IPv4报头信息的丢失(感觉关键信息已经映射了,只有部分信息有所丢失而已)。
就我个人感觉而言,隧道方式(MAP-E)要优于翻译方式(MAP-T),因此翻译方式针对是报头的翻译,需要设备处理更多的映射关系,不仅仅是地址映射,并且经过两级翻译后的报文有可能跟起初的报文信息是不一致的。而隧道方式可以很大程度上保存IPv4报头的完整性,只需要在部署时检测链路的MTU即可。