一种ICMP报文匹配系统及方法技术方案

技术编号:15695514 阅读:71 留言:0更新日期:2017-06-24 10:59
本发明专利技术提供一种ICMP报文匹配系统及方法,属于网络数据交换领域,本发明专利技术包括策略解析模块、报文解析模块、哈希运算模块、冲突处理模块、策略存储模块和比较匹配模块。通过采用部分报文参数进行哈希处理,部分报文参数存储,ICMP报文匹配时仅需对TYPE类型比较。在保证策略匹配的精确度的前提下,降低了报文协议策略存储成本,提高了报文匹配效率,为其他协议策略存储留出了域量。

【技术实现步骤摘要】
一种ICMP报文匹配系统及方法
本专利技术涉及网络数据交换领域,尤其涉及一种ICMP报文匹配系统及方法。
技术介绍
ICMP(InternetControlMessageProtocol)Internet控制报文协议是TCP/IP协议族的一个子协议,用于在IP主机、路由器之间传递控制消息。包括网络通畅、主机可达、路由可用等网络消息。虽然并不传输用户数据,但是对于用户数据的传递起着重要的作用。在特定的拓扑网络内,交换设备可能保存着成千上万条各个协议报文的处理策略。当特定包到达时,需要进行五元组匹配从而确定采取的策略,其中ICMP的端口号位置变成TYPE类型和CODE类型,若采用同一般TCP或UDP协议同样的策略匹配方法,会增加存储的策略条数,从而会增加存储冗余,降低策略匹配效率。
技术实现思路
为了解决以上技术问题,本专利技术针对ICMP策略和报文中TYPE类型特性,提出了一种ICMP报文匹配系统。本专利技术所采用的技术方案是:一种ICMP报文匹配系统,包括策略解析模块、报文解析模块、哈希运算模块、冲突处理模块、策略存储模块和比较匹配模块;其中,策略解析模块,用于接收并解析前级电路下发的ICMP报文处理策略,将解析后的策略数据发送至所述哈希运算模块和策略存储模块;报文解析模块,用于接收并解析来自网络的ICMP报文,将解析后的报文数据发送至哈希运算模块和比较匹配模块;哈希运算模块,用于接收输入的策略数据或报文数据,通过一定的哈希函数映射出哈希结果,经输出端接入冲突处理模块和策略存储模块的高位地址输入端;冲突处理模块,用于记录或查询相同哈希输出结果出现的次数及对应的策略存储模块低位地址;策略存储模块,用于将策略数据存储到由哈希运算模块输出和冲突处理模块输出公共指定的地址内;比较匹配模块,用于将报文数据和策略数据进行匹配比较,并将结果输出。解析后的策略数据包括合法的ICMP报文源IP地址、合法的目的IP地址、合法的ICMP报文TYPE类型、合法的ICMP报文方向、ICMP报文处理方式。合法的ICMP报文TYPE类型由11位的比特数据形式表示,每一位置一表示策略内包含相应的TYPE类型。解析后的报文数据包括ICMP报文源IP地址、ICMP报文目的IP地址、ICMP报文TYPE类型;解析后的ICMP报文TYPE类型由11位的比特数据形式表示,某一位置一表示该报文为相应的TYPE类型;本专利技术还公开了一种ICMP报文匹配方法,包括如下步骤,(1)前级电路下发合法的ICMP报文处理策略至策略解析模块;(2)将解析出的合法的ICMP报文源IP地址、合法的目的IP地址、11位全置零的ICMP报文TYPE类型进行哈希运算,并将结果进行冲突处理;(3)将步骤2解析出的合法的ICMP报文TYPE类型、合法的ICMP报文方向、ICMP报文处理方式存入以哈希结果和冲突处理结果构成的策略存储模块地址中;(4)ICMP报文到达,经报文解析模块解析;(5)解析出的源IP地址、目的IP地址、11位全置零的ICMP报文TYPE类型经哈希运算和冲突处理得到需查询的策略存储模块地址;(6)将到达的ICMP报文的TYPE类型与读出的TYPE类型进行按位与运算,若结果不为0,则表明匹配上了合法策略,进而进行后续报文处理;否则表明未匹配上合法策略,对报文不作处理或进行缺省处理。本专利技术的有益效果是通过采用部分报文参数进行哈希处理,部分报文参数存储,ICMP报文匹配时仅需对TYPE类型比较。在保证策略匹配的精确度的前提下,降低了报文协议策略存储成本,提高了报文匹配效率,为其他协议策略存储留出了域量。附图说明图1是本专利技术的电路结构示意图。具体实施方式下面对本专利技术的内容进行更加详细的阐述:如图1所示,本专利技术的一种ICMP报文匹配电路,包括:策略解析模块、报文解析模块、哈希运算模块、冲突处理模块、策略存储模块和比较匹配模块。所述策略解析模块,用于接收并解析前级电路下发的ICMP报文处理策略,将解析后的策略数据发送至所述哈希运算模块和所述策略存储模块。所述报文解析模块,用于接收并解析来自网络的ICMP报文,将解析后的报文数据发送至所述哈希运算模块和所述比较匹配模块。所述哈希运算模块,用于接收输入的策略数据或报文数据,通过一定的哈希函数映射出哈希结果,根据本专利技术所优选的,选用CRC32算法进行哈希运算。经输出端接入所述冲突处理模块和策略存储模块的高十一位地址输入端。所述冲突处理模块,用于记录或查询相同哈希输出结果出现的次数及对应的所述策略存储模块低四位地址。所述策略存储模块,用于将所述策略数据存储到由哈希运算模块输出和冲突处理模块输出公共指定的地址内。所述比较匹配模块,用于将报文数据和策略数据进行匹配比较,并将结果输出。若到来的报文经哈希运算和冲突处理后策略存储模块地址有效,则将解析出的ICMP报文的TYPE类型与从策略存储模块中读取出的相应位的TYPE类型进行按位与操作。如果策略中包含相应的TYPE类型,则相应位会置一,二者按位与操作结果会有某位置一,则表明匹配上了合法的策略。所述解析后的策略数据包括合法的ICMP报文源IP地址、合法的目的IP地址、合法的ICMP报文TYPE类型、合法的ICMP报文方向、ICMP报文处理方式等;所述解析后的报文数据包括ICMP报文源IP地址、ICMP报文目的IP地址、ICMP报文TYPE类型等。所述合法的ICMP报文TYPE类型由11位的比特数据形式表示,每一位置一表示策略内包含相应的TYPE类型;所述解析后的ICMP报文TYPE类型由11位的比特数据形式表示,某一位置一表示该报文为相应的TYPE类型。(1)前级电路下发合法的ICMP报文处理策略至策略解析模块;(2)将解析出的合法的ICMP报文源IP地址、合法的目的IP地址、11位全置零的ICMP报文TYPE类型进行哈希运算,并将结果进行冲突处理;(3)将步骤2解析出的合法的ICMP报文TYPE类型、合法的ICMP报文方向、ICMP报文处理方式等存入以哈希结果和冲突处理结果构成的策略存储模块地址中;(4)ICMP报文到达,经报文解析模块解析;(5)解析出的源IP地址、目的IP地址、11位全置零的ICMP报文TYPE类型经哈希运算和冲突处理得到需查询的策略存储模块地址;(6)将到达的ICMP报文的TYPE类型与读出的TYPE类型进行按位与运算,若结果不为0,则表明匹配上了合法策略,进而进行后续报文处理;否则表明未匹配上合法策略,对报文不作处理或进行缺省处理。本文档来自技高网...
一种ICMP报文匹配系统及方法

【技术保护点】
一种ICMP报文匹配系统,其特征在于,包括策略解析模块、报文解析模块、哈希运算模块、冲突处理模块、策略存储模块和比较匹配模块;其中,策略解析模块,用于接收并解析前级电路下发的ICMP报文处理策略,将解析后的策略数据发送至所述哈希运算模块和策略存储模块;报文解析模块,用于接收并解析来自网络的ICMP报文,将解析后的报文数据发送至哈希运算模块和比较匹配模块;哈希运算模块,用于接收输入的策略数据或报文数据,通过一定的哈希函数映射出哈希结果,经输出端接入冲突处理模块和策略存储模块的高位地址输入端;冲突处理模块,用于记录或查询相同哈希输出结果出现的次数及对应的策略存储模块低位地址;策略存储模块,用于将策略数据存储到由哈希运算模块输出和冲突处理模块输出公共指定的地址内;比较匹配模块,用于将报文数据和策略数据进行匹配比较,并将结果输出。

【技术特征摘要】
1.一种ICMP报文匹配系统,其特征在于,包括策略解析模块、报文解析模块、哈希运算模块、冲突处理模块、策略存储模块和比较匹配模块;其中,策略解析模块,用于接收并解析前级电路下发的ICMP报文处理策略,将解析后的策略数据发送至所述哈希运算模块和策略存储模块;报文解析模块,用于接收并解析来自网络的ICMP报文,将解析后的报文数据发送至哈希运算模块和比较匹配模块;哈希运算模块,用于接收输入的策略数据或报文数据,通过一定的哈希函数映射出哈希结果,经输出端接入冲突处理模块和策略存储模块的高位地址输入端;冲突处理模块,用于记录或查询相同哈希输出结果出现的次数及对应的策略存储模块低位地址;策略存储模块,用于将策略数据存储到由哈希运算模块输出和冲突处理模块输出公共指定的地址内;比较匹配模块,用于将报文数据和策略数据进行匹配比较,并将结果输出。2.根据权利要求1所述的系统,其特征在于,解析后的策略数据包括合法的ICMP报文源IP地址、合法的目的IP地址、合法的ICMP报文TYPE类型、合法的ICMP报文方向、ICMP报文处理方式。3.根据权利要求2所述的系统,其特征在于,合法的ICMP报文TYPE类型由11位的比特数据形式表示,每一位置一表示策略内包含相应的TYP...

【专利技术属性】
技术研发人员:王子彤姜凯于治楼
申请(专利权)人:济南浪潮高新科技投资发展有限公司
类型:发明
国别省市:山东,37

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1