一种IPv6报文的策略匹配方法及装置的制造方法

文档序号:8265567阅读:313来源:国知局
一种IPv6报文的策略匹配方法及装置的制造方法
【技术领域】
[0001]本发明涉及计算机通信领域,尤其涉及一种IPv6报文的策略匹配方法及装置。
【背景技术】
[0002]在网络中,经常需要对特定的报文进行特定的处理,因此需要在网络设备上配置报文策略,在报文策略中定义出报文特性信息与处理动作的对应关系。当网络设备收到报文后,根据报文所携带的特性信息匹配报文策略,根据匹配到的报文策略对报文进行对应处理。目前,在定义报文策略是,所使用的报文特性信息通常为报文的五元组。报文的五元组包括,源IP地址、目的IP地址、源端口号、目的端口号和协议类型。设备会根据五元组的匹配结果对报文进行相应的处理,因此对报文的五元组进行过滤匹配是十分重要的。
[0003]现有技术一般是将匹配策略存储在内存中,将规则策略以特定数据结构来组织存储,当报文进入设备,控制器提取报文的五元组与内存中的策略匹配,并按照策略去执行响应的动作,对于内存中的规则策略,为了实现快速匹配查找,一般来说,并不会按照表项的顺序查找,这样做的效率实在太低了,一般的技术在策略下刷的时候会按特定的运算方法将规则下载到内存中特定的位置,这样硬件控制器或者软件收到报文后提取报文的五元组同样按照上述的方法进行策略的匹配查找。
[0004]随着现在互联网的发展迅速,互联网用户、手机访问网络用户也在不断增加,所使用的业务众多;与此同时,针对各种业务的服务以及协议也越来越细化,服务器类型与数量繁杂多样,各种网络设备的使用和推广也层出不穷;另外,IPv6的发展越来越迅速,网络产品支持对IPv6数据的业务处理也在飞速发展。然而,IPv6五元组信息相对于IPv4五元组信息来说,需要更大的存储空间,这就意味着内存控制器需要更多的访问次数来解决每次访问的最小访问单元的问题。因此,如何实现IPv6报文高效的策略存储和匹配成为网络产品急需要解决的问题。

【发明内容】

[0005]有鉴于此,本发明提供一种IPv6报文的策略匹配装置,应用于电子设备上,包括:表项地址建立单元、表项内容建立单元和查表匹配单元,其中:
[0006]表项地址建立单元,用于将IPv6报文的IP五元组的部分内容按照第一预定算法进行运算获得表项地址,如果运算出的表项地址没有被使用,则确定该表项为当前表项,如果已被使用,则获取一个空闲表项作为当前表项,并将该空闲表项通过关联指针与之前存在冲突的表项以链表的方式关联起来;
[0007]表项内容建立单元,用于将该IPv6报文的IP五元组的部分内容按照第二预定算法进行运算,将计算出的结果作为表项内容,存放在当前表项中;
[0008]查表匹配单元,用于提取IPv6报文中的IP五元组,并将该五元组部分内容按照第一预定算法进行运算以获得对应的表项地址,再将该五元组部分内容按照第二预定算法进行运算,将计算所得结果与该表项的表项内容进行匹配,如果匹配不成功则在关联的链表中的各个表项中进行表项内容的遍历匹配。
[0009]本发明能够减小单元表项的宽度,从而节省了存储空间,同时使硬件控制器访问的次数减少,极大的提高了匹配效率。
【附图说明】
[0010]图1是本发明一种实施方式中IPv6报文策略匹配装置的逻辑结构及其典型硬件环境示意图。
[0011]图2是本发明一种实施方式中IPv6报文策略匹配方法的一般处理流程图。
[0012]图3是报文匹配策略原始数据结构图。
[0013]图4是本发明表项结构图。
【具体实施方式】
[0014]本发明提供一种IPv6报文的策略匹配方法及装置,用以解决IPv6报文五元组的高效的策略存储和匹配的问题。在一种优选实施方式中,本发明提供一种IPv6报文的策略匹配装置,其应用于网络设备上,请参考图1。从逻辑的角度来看,该装置包括:表项地址建立单元、表项内容建立单元和查表匹配单元。从实现角度来说,其可以采用软件实现,也可以采用硬件实现,甚至软件硬件结合的方式实现,该装置运行过程通常包括如下步骤,如图2所示。
[0015]步骤101,表项地址建立单元将IPv6报文的IP五元组的部分内容按照第一预定算法进行运算获得表项地址,如果运算出的表项地址没有被使用,则确定该表项为当前表项,如果已被使用,则获取一个空闲表项作为当前表项,并将该空闲表项通过关联指针与之前存在冲突的表项以链表的方式关联起来;
[0016]步骤102,表项内容建立单元将该IPv6报文的IP五元组的部分内容按照第二预定算法进行运算,将计算出的结果作为表项内容,存放在当前表项中;
[0017]步骤103,表项匹配单元提取IPv6报文中的IP五元组,并将该五元组部分内容按照第一预定算法进行运算以获得对应的表项地址,再将该五元组部分内容按照第二预定算法进行运算,将计算所得结果与该表项的表项内容进行匹配,如果匹配不成功则在关联的链表中的各个表项中进行表项内容的遍历匹配。
[0018]在进行报文匹配之前,首先需要在网络设备上配置报文策略,在报文策略中定义出报文特性信息与处理动作的对应关系。原始的策略数据结构如图3所示,该数据结构包含IPv6报文的完全五元组信息、策略优先级、动作,其中NeXt_tbl_indeX是解决冲突的链表下一索引地址。由图可知,原始的策略表项单兀大小为3*128bit的宽度。由于IPv6五元组信息相对IPv4五元组信息来说,需要更大的存储空间,而更大的空间意味着内存控制器需要更多的访问次数来解决每次访问的最小访问单元的问题。为了节省存储空间,减少内存控制器访问次数,需要根据原始策略重新组织建立表项。
[0019]在配置了报文匹配策略之后,需要建立表项。因为只有找到表项地址,根据表项地址才能找到与之相对应的表项内容。如同找某个人要先知道这个人的住址一样,先得找到表项内容的住址才能找到表项内容,这里的表项内容的住址就是表项地址。所以要先确定表项地址。
[0020]具体的说,先将IPv6报文的IP五元组的部分内容按照第一预定算法进行运算获得表项地址。这里所说的预定算法,可以是CRC32算法,也可以是其他算法。而用于运算的数据是IPv6报文IP五元组的部分内容,可以是源IP地址或者目的IP地址,也可以
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1