发明名称 基于无状态映射的IPv4和IPv6网互通的方法
摘要 基于无状态映射的IPv4和IPv6网互通的方法属于互联网技术领域,其特征在于在所选的IPv4和IPv6网间配置一台边界路由器,在该边界路由器中配置无状态地址映射模块,以进行IPv4和IPv6网间地址映射;分组翻译模块,以进行分组头之间的互相翻译,使得IPv6网中维护IPv4网的可达信息或者在IPv4网中维护IPv6网的可达性信息从而保证不同网之间的端到端通信,解决了可扩展性问题。
申请公布号 CN101227373A 申请公布日期 2008.07.23
申请号 CN200710177618.5 申请日期 2008.03.21
申请人 清华大学 发明人 李星
分类号 H04L12/46(2006.01);H04L12/56(2006.01);H04L12/66(2006.01);H04L29/06(2006.01) 主分类号 H04L12/46(2006.01)
代理机构 北京众合诚成知识产权代理有限公司 代理人 朱琨
主权项 1.基于无状态映射的IPv4和IPv6网互通的方法,其特征在于,当IPv4节点主动发起与IPv6节点的通信时,依次含有以下步骤:步骤(1)初始化在所述IPv4、IPv6网间配置一台边界路由器,在所选路由器中配置地址映射模块和分组翻译模块,其中:地址映射模块,配置有一个路由表,其中含有IPv4到IPv6路由映射信息,用于依次按以下步骤把IPv4地址翻译为IPv6地址:把IPv4地址前加特定长度中缀后,再添加到目标IPv6地址/32前缀后,再根据所述路由映射信息翻译为正确的IPv6地址;分组翻译模块,依次按以下步骤把IPv4分组头翻译为IPv6分组头:IPv6分组头中的净荷长度字段的值为IPv4分组头中的全长字段减去4倍的因特网报头长度值IHL,该IHL为设定值;IPv6分组头中的下一个分组头字段是直接复制自IPv4分组头中的协议字段;IPv6分组头中的跳数限制字段是直接复制自IPv4分组头中的生存周期字段;IPv6格式的源地址为:把IPv4的源地址添加IPv6的32位前缀和作为IPv6的中缀的所述“FF”后得到的;IPv6格式的目标地址为:把IPv4的目标地址添加IPv6的32位前缀和所述8位中缀“FF”后得到的;步骤(2)当前述的边界路由器的IPv4协议栈收到IPv4数据包后,首先查询路由表,若路由为非无状态映射路由,则按普通IPv4数据包转发;步骤(3)若发现步骤(2)中的所述数据包的对应路由为无状态映射路由,则进行无状态地址映射操作,把IPv4地址映射为IPv6地址;再进行翻译操作,把IPv4分组头翻译为IPv6分组头;步骤(4)检查IP报头之后的协议:当报文为传输控制协议TCP或用户数据协议UDP时,要分别用RFC794和RFC768中的方法重新计算校验和并更改报头的校验和域;当报文为因特网控制消息协议ICMP时,要把信息类型和代码由ICMP格式用RFC2765中的方法翻译为ICMPv6格式,同时,若ICMP消息后附带IP数据包,则要用前述的地址映射方法将其翻译为IPv6数据包;步骤(5)报文翻译完成后,把新的数据包转送到IPv6协议栈,同普通IPv6数据包一起进行后处理;当IPv6节点主动发起与IPv4节点的通信时,依次含有以下步骤:步骤(I)初始化在所述IPv6和IPv4网间配置一台边界路由器,在所述路由器中配置地址映射模块和分组翻译模块,其中:地址映射模块,配置有一个路由表,其中含有IPv6映射到IPv4的一部分地址映射信息,用于依以下步骤把IPv6地址翻译为IPv4地址;所述的部分IPv6地址是指原有的IPv4网过渡为IPv6网后按照映射规则的地址分配:在把这部分IPv6地址映射到IPv4地址时,直接去掉IPv6地址前缀和映射标志中缀,以得到IPv4地址;分组翻译模块,用于把IPv6分组头翻译为IPv4分组头,其步骤如下:新的IPv4分组头的因特网报头长度IHL的值设为5;IPv6分组头中的净荷长度字段的值加上4倍的IHL值直接作为IPv4分组头中的全长字段;IPv6分组头中的跳数限制字段直接作为IPv4分组头中的生存周期字段;IPv6分组头中的下一个分组头字段直接作为IPv4分组头中的协议字段;IPv4分组头的校验和字段需要根据RFC791中的方法直接计算;IPv6的源地址去掉前40位的前缀和所述的“FF”后,再去32位得到映射的IPv4源地址;IPv6的目的地址去掉前40位的前缀和所述的“FF”后,再去32位得到映射的IPv4目的地址;步骤(II)边界路由器在其IPv6协议栈收到IPv6数据包后,首先查询路由表,若为非无状态映射路由,则按照普通IPv6数据包转发;步骤(III)若步骤(II)中的所达IPv6数据包为无状态映射路由,则进行无状态地址映射操作,把IPv6地址翻译为IPv4地质;再进行分组翻译操作,把IPv6分组头翻译为IPv4分组头;步骤(IV)检查IPv6分组头之后的协议:若报文为传输控制协议TCP或用户数据协议UDP,则要重新计算校验和,并改变校验和域的值;若报文为ICMPv6时,把信息类型和代码由ICMPv6格式翻译为ICMP格式,同时若ICMPv6消息后附IPv6数据包,则要翻译该数据包为IPv4数据包,方法与步骤(I)中所述的方法相同;步骤(V)把步骤(IV)得到的新的数据包,转送到IPv4协议栈,同普通IPv4数据包一样进行后续处理。
地址 100084北京市海淀区100084-82信箱