有状态的IPv6与IPv4通信的映射表项及管理方法

文档序号:8001576阅读:247来源:国知局
有状态的IPv6与IPv4通信的映射表项及管理方法
【专利摘要】本发明涉及IPv6网络通信【技术领域】,特别涉及一种有状态的IPv6与IPv4通信的映射表项及映射表项管理方法。本发明所提供的有状态的IPv6与IPv4网络通信映射表项在数据部分减少了目的IPv6地址、IPv6报文目的端口号、源IPv4地址以及IPv4报文源端口号,在结果部分减少了源IPv6地址、IPv6报文源端口号、源IPv4地址以及IPv4报文源端口号,并且由于所有信息融合在了一张映射表中,因此大大节约了硬件存储空间,同时也降低了维护成本。
【专利说明】有状态的IPv6与IPv4通信的映射表项及管理方法

【技术领域】
[0001]本发明涉及IPv6网络通信【技术领域】,特别涉及一种有状态的IPv6与IPv4通信的映射表项及映射表项管理方法。

【背景技术】
[0002]计算机网络的发展在短短的几十年的时间里就经历了从无到有,从简单到复杂,从在一个房间里到遍布全球的过程。网络给人们带来了丰富的信息和全新的服务,同时也带来了新的学习、工作和生活方式。随着接入Internet的主机数量的不断增长和网络所能提供服务范围的不断扩展延伸,支撑网络运行与提供网络服务的网络协议也在不断的开发和完善中,现在的Internet正在由IPv4协议向IPv6协议过渡。然而在现代的计算机网络系统中,路由器是最核心的连接设备。互联网的飞速发展离不开路由器的技术革新。下一代互联网对下一代IP路由器体系结构提出了新的需求。支持IPv4网络与IPv6网络互联的路由器是下一代IP路由器发展的主流方向。
[0003]在支持IPv4网络与IPv6网络互联的路由器体系结构中,如何对有状态的IPv4数据流与IPv6数据流之间的映射表项进行合理设置和管理,从而提高硬件表项的利用率一直都是研究的热点问题。目前映射表项一般是存储在硬件器件上的,硬件器件的价格往往比较昂贵,并且能够存储的表项也是有限的。有状态的IPv4数据流与IPv6数据流进行互通的时候,在支持IPv4网络与IPv6网络互联的路由器上,需要记录大量的IPv4数据流与IPv6数据流之间的映射关系。
[0004]有状态的IPv6网络与IPv4网络通信完整的过程通常都是由两部分组成的,即IPv6去往IPv4方向的,IPv4去往IPv6方向,因此针对一个数据流的映射表项是两个表项。映射表项的设置分为数据部分和结果部分。数据部分的信息用来与流量中提取的特征字段来匹配,表项的设计原则是必需能够唯一的命中一个数据流。结果部分是用来进行IPv4数据流与IPv6数据流的转换和发送,因此必须能够提供IPv6或IPv4协议的转换信息以及转换后的IPv4或IPv6报文的发送信息。按照常规的映射表项生成方法,IPv6去往IPv4方向的映射表项的数据部分为五元组〈源IPv6地址,目的IPv6地址,IPv6报文源端口号,IPv6报文目的端口号,IPv6报文协议号 >,结果部分为〈源IPv4地址,目的IPv4地址,IPv4报文源端口号,IPv4报文目的端口号,IPv4出接口号〉;IPv4去往IPv6方向的映射表项的数据部分为五元组〈目的IPv4地址,源IPv4地址,IPv4报文目的端口号,IPv4报文源端口号,IPv4报文协议号 >,结果部分为转后后的〈目的IPv6地址,源IPv6地址,IPv6报文目的端口号,IPv6报文源端口号,IPv6出接口号〉。如果按照常规的映射表项生成方法,需要为每个数据流同时维护两张映射表,这两张映射表需要占用较大的硬件器件内存空间,并且在有状态的IPv6网络与IPv4网络通信时映射表项的条目也将非常庞大,同时有状态的IPv6网络与IPv4网络通信具有时效特点,会出现表项使用一段时间后不会再被使用的情况。
[0005]因此如何兼顾满足有状态的IPv6网络与IPv4网络通信需要并且避免硬件表项容量过载是防止支持有状态的IPv6网络与IPv4网络通信路由器出现系统瓶颈的关键问题。


【发明内容】

[0006](一)要解决的技术问题
[0007]本发明要解决的技术问题是,针对现有技术的不足,提供一种有状态的IPv6与IPv4通信的映射表项及映射表项管理方法,用于实现兼顾满足有状态的IPv6网络与IPv4网络通信需要并且避免硬件表项容量过载的目的。
[0008](二)技术方案
[0009]本发明技术方案如下:
[0010]一种有状态的IPv6与IPv4网络通信映射表项,包括数据部分以及结果部分;
[0011]所述数据部分包括:源IPv6地址、IPv6源端口号、IPv6协议号、目的IPv4地址、IPv4报文目的端口号以及IPv4协议号;
[0012]所述结果部分包括:源IPv4地址、源IPv4端口号、IPv4下一跳地址、IPv4出接口号、目的IPv6地址、IPv6报文目的端口号、IPv6下一跳地址、IPv6出接口号以及硬件寄存器地址。
[0013]—种基于上述映射表项的映射表项管理方法,包括:
[0014]S1.初始化映射表项的内存空间以及硬件保活寄存器;
[0015]S2.接收IPv4报文或者IPv6报文,提取和生成映射表项信息;
[0016]S3.为硬件保活寄存器赋值I并向路由器硬件添加映射表项。
[0017]优选的,所述步骤S3之后还包括:
[0018]S4.在路由器硬件中映射表项超时后,对其进行回收。
[0019]优选的,所述步骤S2包括:
[0020]判断报文类型:
[0021]若是IPv4报文:则提取报文的目的IPv4地址、IPv4报文目的端口号以及IPv4协议号;
[0022]若是IPv6报文:则提取报文的源IPv6地址、IPv6源端口号以及IPv6协议号。
[0023]优选的,所述步骤S3包括:
[0024]判断映射表项的内存空间是否已满:
[0025]是:则提示用户内存空间已满;
[0026]否:则获取硬件保活寄存器地址,为硬件保活寄存器赋值I并向路由器硬件添加映射表项。
[0027]优选的,所述步骤S4包括:
[0028]读取判断硬件保活寄存器的值是否为-1:
[0029]是:则继续读取判断;
[0030]否:则读取判断硬件保活寄存器的值是否为1:
[0031]是:则将硬件保活寄存器置为O ;
[0032]否:则在时间戳与当前时间相差超过预定时间时删除路由器硬件中的映射表项,并重置硬件保活寄存器的值为-1。
[0033]优选的,所述预定时间为10s。
[0034](三)有益效果
[0035]本发明所提供的有状态的IPv6与IPv4网络通信映射表项,包括数据部分以及结果部分;数据部分包括:源IPv6地址、IPv6源端口号、IPv6协议号、目的IPv4地址、IPv4报文目的端口号以及IPv4协议号;结果部分包括:源IPv4地址、源IPv4端口号、IPv4下一跳地址、IPv4出接口号、目的IPv6地址、IPv6报文目的端口号、IPv6下一跳地址、IPv6出接口号以及硬件寄存器地址;与传统的映射表项设计相比,本发明在数据部分减少了目的IPv6地址、IPv6报文目的端口号、源IPv4地址以及IPv4报文源端口号,在结果部分减少了源IPv6地址、IPv6报文源端口号、源IPv4地址以及IPv4报文源端口号,并且由于所有信息融合在了一张映射表中,因此大大节约了硬件存储空间,同时也降低了维护成本。

【专利附图】

【附图说明】
[0036]图1是本发明实施例中有状态的IPv6与IPv4网络通信映射表项的示意图;
[0037]图2是本发明实施例中有状态的IPv6与IPv4网络通信映射表项管理结构拓扑示意图;
[0038]图3是本发明实施例中映射表项管理方法的路由器软件部分工作流程示意图;
[0039]图4是本发明实施例中映射表项管理方法的路由器硬件部分工作流程示意图。

【具体实施方式】
[0040]下面结合附图和实施例,对本发明的【具体实施方式】做进一步描述。以下实施例仅用于说明本发明,但不用来限制本发明的范围。
[0041]现有技术中,有状态的IPv6网络与IPv4网络通信的映射表项的存储需要花费大量的硬件存储空间,因此可以通过精简映射表项内容以及提供相应的管理方法来达到使用较少硬件存储空间的目的。本实施例中,首先提供了一种有状态的IPv6与IPv4网络通信映射表项,如图1中所示,该映射表项包括数据部分以及结果部分;
[0042]其中数据部分包括:源IPv6地址、IPv6源端口号、IPv6协议号、目的IPv4地址、IPv4报文目的端口号以及IPv4协议号;
[0043]其中结果部分包括:源IPv4地址、源IPv4端口号、IPv4下一跳地址、IPv4出接口号、目的IPv6地址、IPv6报文目的端口号、IPv6下一跳地址、IPv6出接口号以及硬件寄存器地址。
[0044]与传统的映射表项设计相比,本发明中的映射表项在数据部分减少了目的IPv6地址、IPv6报文目的端口号、源IPv4地址以及IPv4报文源端口号,在结果部分减少了源IPv6地址、IPv6报文源端口号、源IPv4地址以及IPv4报文源端口号,并且由于所有信息融合在了一张映射表中,因此大大节约了硬件存储空间,同时也降低了维护成本。
[0045]本实施例中还提供了一种基于上述映射表项的映射表项管理方法,包括:
[0046]S1.初始化映射表项的内存空间以及硬件保活寄存器;
[0047]S2.接收IPv4报文或者IPv6报文,提取和生成映射表项信息;
[0048]其中,步骤S2包括:
[0049]判断报文类型:
[0050]若是IPv4报文:则提取报文的目的IPv4地址、IPv4报文目的端口号以及IPv4协议号;
[0051]若是IPv6报文:则提取报文的源IPv6地址、IPv6源端口号以及IPv6协议号。
[0052]S3.为硬件保活寄存器赋值I并向路由器硬件添加映射表项。
[0053]其中,步骤S3之后还包括:
[0054]其中,步骤S3包括:
[0055]判断映射表项的内存空间是否已满:
[0056]是:则提示用户内存空间已满;
[0057]否:则获取硬件保活寄存器地址,为硬件保活寄存器赋值I并向路由器硬件添加映射表项。
[0058]S4.在路由器硬件中映射表项超时后,对其进行回收。
[0059]其中,步骤S4包括:
[0060]读取判断硬件保活寄存器的值是否为-1:
[0061]是:则继续读取判断;
[0062]否:则读取判断硬件保活寄存器的值是否为1:
[0063]是:则将硬件保活寄存器置为O ;
[0064]否:则在时间戳与当前时间相差超过预定时间时删除路由器硬件中的映射表项,并重置硬件保活寄存器的值为-1。
[0065]其中,预定时间为10s。
[0066]上述方法在如图2中所示的有状态的IPv6网络与IPv4网络通信映射表项管理拓扑结构中的工作流程如图3以及图4中所示。
[0067]基于有状态的IPv6网络与IPv4网络通信的映射表项管理方法的路由器软件部分工作流程如图3中所示,该图比较详细的阐述了该管理方法在路由器软件的具体行为与操作:其中,步骤Al和步骤A2完成路由器软件在开机后需要初始化的两张表,分别是映射表项保活表和硬件映射表项内存空间使用情况表,路由器软件接收到去往IPv4网络的IPv6流量报文以及去往IPv6网络的IPv4流量报文,由步骤A3完成对映射表项信息的提取和生成,通过步骤A4和步骤A5完成对硬件映射表项的添加,通过步骤A6完成对超时硬件映射表项的回收。其中箭头的方向代表路由器软件执行的方向。
[0068]基于有状态的IPv6网络与IPv4网络通信的映射表项管理方法的路由器硬件部分工作流程如图4中所示,该图比较详细的阐述了该管理方法在路由器硬件的具体行为与操作:其中由步骤AS和步骤A9完成路由器硬件在开机以后将初始化硬件映射表项的内存空间和硬件保活寄存器,路由器硬件在接收到IPvA4与IPvA6网络通信的数据报文后,由步骤AlO完成对流量的映射表项命中操作,并且对硬件保活寄存器的赋值。其中箭头的方向代表路由器硬件执行的方向。
[0069]本发明为需要实现有状态的IPv4数据流与IPv6数据流进行通行的路由器提供了一个既经济又高效的兼顾满足有状态的IPv6网络与IPv4网络通信需要并且避免硬件表项容量过载的解决方案。本发明通过对在有状态IPv4数据流与IPv6数据流通信中,能够唯一命中数据流的特征字段进行精简,在满足有状态的IPv4数据流与IPv6数据流通信的需求下,又兼顾的减少了映射表项对硬件存储空间的占有,有效的缓解了硬件存储空间有限的问题。同时,本发明通过路由器硬件和路由器软件配合,对硬件映射表项使用情况进行检测,从而使长时间未被命中的硬件映射表项内存得以释放,可以有效的解决硬件存储空间有限与映射表项增长之间的矛盾。
[0070]以上实施方式仅用于说明本发明,而并非对本发明的限制,有关【技术领域】的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的保护范畴。
【权利要求】
1.一种有状态的IPv6与IPv4通信的映射表项,其特征在于,包括数据部分以及结果部分; 所述数据部分包括:源IPv6地址、IPv6源端口号、IPv6协议号、目的IPv4地址、IPv4报文目的端口号以及IPv4协议号;所述结果部分包括:源IPv4地址、源IPv4端口号、IPv4下一跳地址、IPv4出接口号、目的IPv6地址、IPv6报文目的端口号、IPv6下一跳地址、IPv6出接口号以及硬件寄存器地址。
2.一种基于根据权利要求1所述的映射表项的映射表项管理方法,其特征在于,包括: 51.初始化映射表项的内存空间以及硬件保活寄存器; 52.接收IPv4报文或者IPv6报文,提取和生成映射表项信息; 53.为硬件保活寄存器赋值I并向路由器硬件添加映射表项。
3.根据权利要求2所述的映射表项管理方法,其特征在于,所述步骤S3之后还包括: 54.在路由器硬件中映射表项超时后,对其进行回收。
4.根据权利要求2或3所述的映射表项管理方法,其特征在于,所述步骤S2包括: 判断报文类型: 若是IPv4报文:则提取报文的目的IPv4地址、IPv4报文目的端口号以及IPv4协议号; 若是IPv6报文:则提取报文的源IPv6地址、IPv6源端口号以及IPv6协议号。
5.根据权利要求4所述的映射表项管理方法,其特征在于,所述步骤S3包括: 判断映射表项的内存空间是否已满: 是:则提示用户内存空间已满; 否:则获取硬件保活寄存器地址,为硬件保活寄存器赋值I并向路由器硬件添加映射表项。
6.根据权利要求2-3或5所述的映射表项管理方法,其特征在于,所述步骤S4包括: 读取判断硬件保活寄存器的值是否为-1: 是:则继续读取判断; 否:则读取判断硬件保活寄存器的值是否为1: 是:则将硬件保活寄存器置为O ; 否:则在时间戳与当前时间相差超过预定时间时删除路由器硬件中的映射表项,并重置硬件保活寄存器的值为-1。
7.根据权利要求6所述的映射表项管理方法,其特征在于,所述预定时间为10s。
【文档编号】H04L29/12GK104253876SQ201310269298
【公开日】2014年12月31日 申请日期:2013年6月28日 优先权日:2013年6月28日
【发明者】王宇亮, 张开军 申请人:比威网络技术有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1