[发明专利]一种基于TCAM和FPGA的报文处理方法及装置有效
申请号: | 201410211306.1 | 申请日: | 2014-05-19 |
公开(公告)号: | CN104009924B | 公开(公告)日: | 2017-04-12 |
发明(设计)人: | 丁玉奇;张洪雁 | 申请(专利权)人: | 北京东土科技股份有限公司 |
主分类号: | H04L12/741 | 分类号: | H04L12/741;H04L12/947;H04L12/865 |
代理公司: | 北京同达信恒知识产权代理有限公司11291 | 代理人: | 黄志华 |
地址: | 100041 北京市石*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 tcam fpga 报文 处理 方法 装置 | ||
1.一种基于TCAM和FPGA的报文处理方法,其特征在于,该方法包括:
交换机识别接收到的报文的报文类型,根据识别到的报文类型对应的数据包头提取规则,提取该报文的数据包头信息,其中所述数据包头信息中包括至少一个一元信息,及至少一个多元组信息;
根据保存的数据包头中的每个信息及流表的对应关系,并行查找每个信息对应的每个流表,并将查找结果整合后输出,其中,
当该信息为一元信息时,根据所述一元信息对应的一元流表,确定查找结果;
当该信息为多元组信息时,判断所述多元组信息对应的多元组流表当前是否空闲,当所述多元组流表非空闲时,将所述多元组信息发送到所述多元组流表的处理队列中,否则,根据所述多元组信息查找所述多元组流表并确定查找结果。
2.如权利要求1所述的报文处理方法,其特征在于,所述根据所述多元组信息查找所述多元组流表并确定查找结果后,所述方法还包括:
对所述多元组信息进行二次解析;
根据解析后获得每个信息,及每个信息对应的二次流表,并行查找每个信息对应的二次流表,并将查找结果与一元信息及多元组信息的查找结果整合后输出。
3.如权利要求1或2所述的报文处理方法,其特征在于,所述将查找结果整合后输出包括:
在提取得到的数据包头的每个信息中添加包描述符,并获得包含该包描述符的每个查找结果;
根据所述报文的报文类型,判断当前得到查找结果的数量是否满足该报文类型对应的查找结果数量;
当当前得到的查找结果数量满足该报文类型对应的查找结果数量时,将每个查找结果整合后输出。
4.如权利要求1~3任一项所述的报文处理方法,其特征在于,当所述流表为多元组流表时,所述多元组流表为包括多个最高元组流表,确定查找结果包括:
判断所述报文的优先级;
当所述报文的优先级满足预设的优先级条件时,判断第一优先级的每个多元组流表是否空闲;当第一优先级存在空闲多元组流表时,根据所述多元组信息查找所述第一优先级空闲的多元组流表并确定查找结果,当所述第一优先级的每个多元组流表非空闲时,判断第二优先级的每个多元组流表是否空闲,当第二优先级存在空闲多元组流表时,根据所述多元组信息查找所述空闲的第二优先级的多元组流表并确定查找结果,否则,将所述多元组信息发送到所述第一优先级的多元组流表的处理队列中;
当所述报文的优先级不满足预设的优先级条件时,判断第二优先级的每个多元组流表是否空闲;当第二优先级存在空闲多元组流表时,根据所述多元组信息查找所述空闲多元组流表并确定查找结果,当所述第二优先级的每个多元组流表非空闲时,将所述多元组信息发送到所述第二优先级的多元组流表的处理队列中。
5.如权利要求1~3任一项所述的报文处理方法,其特征在于,当所述流表为多元组流表时,所述多元组流表包括最高元组流表和多个常用元组流表,其中根据设定时间长度内接收到的报文类型中每个数据包头中包含的多元组信息,设置常用元组流表;
其中,确定查找结果包括:
根据接收到的报文的报文类型,当所述报文类型满足常用元组流表对应的报文类型时,判断是否存在空闲的常用元组流表,当存在空闲的常用元组流表时,根据所述多元组信息查找所述空闲的常用元组流表并确定查找结果,否则,将所述多元组信息发送到所述常用元组流表的处理队列中;
当所述报文类型不满足常用元组流表对应的报文类型时,判断最高元组流表是否空闲,当最高元组流表空闲时,根据所述多元组信息查找所述最高元组流表并确定查找结果,否则,将所述多元组信息发送到所述最高元组流表的处理队列中。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京东土科技股份有限公司,未经北京东土科技股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410211306.1/1.html,转载请声明来源钻瓜专利网。