基于网络交换芯片的微码和流表的实现方法技术

技术编号:14894014 阅读:92 留言:0更新日期:2017-03-29 04:33
本发明专利技术公开了一种基于网络交换芯片的微码和流表的实现方法,在控制数据层面和控制层面分离的同时,实现了微码的分模块设计,每个模块之间通过互相发送消息来进行通信,提高了微码的执行效率和重用性以及灵活性;实现了多级流表,提高了流表匹配的效率,每一级流表都根据匹配关键字的性质,设计了不同的存储结构,能够支持包括已有网络交换协议和新增的网络应用场景。本发明专利技术使得网络交换芯片所支持的标准应用在二三层交换的基础之上能够根据用户的需求支持包括SDN在内的新的网络标准和应用,并且外部控制器能够对网络交换芯片实时控制,生成修改流表项,从而增强了网络交换芯片的处理灵活性,以及管理上的实时便捷。

【技术实现步骤摘要】

本专利技术涉及一种可编程网络通信实现方法,特别是涉及一种基于网络交换芯片的微码和流表的实现方法
技术介绍
在互联网应用快速发展的今天,对灵活高速大吞吐率的网络互联架构的要求也越来越高。尤其当网络交换技术进入云计算时代,在继承原有数据交换基础上的同时需要灵活支持新出现的交换标准和应用。大规模部署虚拟化和云计算则催生了以工作负载为中心的下一代数据中心网络,复杂的网络需要为工作负载提供端对端的网络资源,如何应对业务快速响应需求成为了下一代数据中心不得不面临的挑战。云计算和虚拟化等网络交换管理技术需要灵活的网络扩展性,因此网络的转发平面和控制平面都需要横向扩展和性能增强,同时由于网络中软硬件绑定的方式使得网络发展缓慢,促使网络交换芯片不光要实现软硬件的分离,同时还要求数据面和控制面能够支持应用的扩展变化。本专利技术专利正是在传统二三层网络交换芯片的基础上,引入了微码可编程引擎和流表设计的理念,将控制层面转移到Host端,网络交换芯片只控制数据报文的转发,并且由于微引擎的可编程性使得新功能新应用可以灵活添加。同时本专利实现了多级流表,使得数据报文在转发时更精确、更高效。
技术实现思路
本专利技术所要解决的技术问题是提供一种基于网络交换芯片的微码和流表的实现方法,在传统的网络交换芯片的基础上引入微码可编程引擎和多级流表来增强灵活性从而实现对未来网络应用发展的支持。本专利技术使得网络交换芯片所支持的标准应用在二三层交换的基础之上能够根据用户的需求支持包括SDN(软件定义网络)在内的新的网络标准和应用,并且外部控制器(Host)能够对网络交换芯片实时控制,生成修改流表项,从而增强了网络交换芯片的处理灵活性,以及管理上的实时便捷。本专利技术是通过下述技术方案来解决上述技术问题的:一种基于网络交换芯片的微码和流表的实现方法,其特征在于,其包括流表表项的创建方案和微码实施的技术方案并采用数据包解析引擎、一级查找引擎、查找分解引擎、二级查找引擎和数据包修改引擎;所述微码实施的技术方案包括以下步骤:步骤一:在数据包解析引擎中从硬件译码器中提取报文描述符信息;根据规范对数据报文的正确性和完整性进行检查;步骤二:从接收的报文中提取查找关键字信息,并产生相应的查找关键字;步骤三:用步骤一产生的信息产生消息和查找关键字,传递给一级查找引擎;步骤四:在一级查找引擎中用步骤二产生的查找关键字进行流表查找,将查找结果和步骤三产生的消息传递给查找分解引擎;若查找不成功,也要产生一个相应的查找结果传递给查找分解引擎;Host端根据收发到数据报文选择性下发流表;步骤五:查找分解引擎步骤三传递过来的查找结果和消息,提取控制字段,并根据控制字段决定该报文的走向;填写相应的寄存器信息,同时产生消息传递给下一模块,如需第二级查找,构造查找关键字连同消息一同传递给二级查找引擎;步骤六:在包修改引擎中根据查找结果信息,提取控制字段,跳转到合适的分支,并根据需要对报文进行修改,填写发送寄存器,将报文发送到相应的队列;所述流表表项的创建方案包括以下步骤:将流表进行拆分,形成多级流表,每次从报文中提取的关键字进行多级匹配;每条流表的匹配结果中都存储相应的转发信息和行为结合,通过行为字段来控制报文的处理方式。优选地,所述步骤一中的报文描述符信息包括该报文的长度、类型以及存储的位置信息。本专利技术的积极进步效果在于:本专利技术技术方案提供了网络交换中微码的创建方法,该方法将微码的执行分为五个模块,各个模块之间通过发送消息互相通信,在很大程度上精简了代码量,并使对数据流的处理更加灵活;本专利技术还提供了流表的创建方法,特别是多级流表的创建方法,并在每条流表的匹配结果中规定了不同的转发信息和行为集合;多级流表一方面提高了匹配的效率,另一方面也可以根据设计需要灵活支持不同的应用场景。附图说明图1是数据包解析引擎的微码执行流程图。图2是一级查找引擎的示例执行过程图。图3是Host端处理数据报文示例流程图。图4是查找分解引擎微码执行流程图。图5是数据包修改引擎微码示例执行流程图。图6是流表设计思路流程图。具体实施方式下面结合附图给出本专利技术较佳实施例,以详细说明本专利技术的技术方案。本专利技术基于网络交换芯片的微码和流表的实现方法,其特征在于,其包括流表表项的创建方案和微码实施的技术方案并采用数据包解析引擎、一级查找引擎、查找分解引擎、二级查找引擎和数据包修改引擎;所述微码实施的技术方案包括以下步骤:步骤一:在数据包解析引擎中从硬件译码器中提取报文描述符信息;根据规范对数据报文的正确性和完整性进行检查;步骤二:从接收的报文中提取查找关键字信息,并产生相应的查找关键字;步骤三:用步骤一产生的信息产生消息和查找关键字,传递给一级查找引擎;步骤四:在一级查找引擎中用步骤二产生的查找关键字进行流表查找,将查找结果和步骤三产生的消息传递给查找分解引擎;若查找不成功,也要产生一个相应的查找结果传递给查找分解引擎;Host端根据收发到数据报文选择性下发流表;步骤五:查找分解引擎步骤三传递过来的查找结果和消息,提取控制字段,并根据控制字段决定该报文的走向;填写相应的寄存器信息,同时产生消息传递给下一模块,如需第二级查找,构造查找关键字连同消息一同传递给二级查找引擎;步骤六:在包修改引擎中根据查找结果信息,提取控制字段,跳转到合适的分支,并根据需要对报文进行修改,填写发送寄存器,将报文发送到相应的队列;所述流表表项的创建方案包括以下步骤:将流表进行拆分,形成多级流表,每次从报文中提取的关键字进行多级匹配;每条流表的匹配结果中都存储相应的转发信息和行为结合,通过行为字段来控制报文的处理方式。其中,所述步骤一中的报文描述符信息包括该报文的长度、类型以及存储的位置信息。如图1所示,数据包解析引擎作为数据报文的最初处理模块,负责对报文进行解析域合法性检查;由于网络交换芯片硬件已经对数据报文进行了初步的解析,并把解析后的内容写入了相应的寄存器中;具体步骤如下:步骤A01:只需要把硬件解析好的内容写入通用寄存器中,为微码程序后面使用;步骤A02:需要根据规范对数据报文的正确性和完整性检查,例如IP(网络之间互联的协议)头的正确性、TTL(生存时间值)的正确性;在该模块中,数据报文的前64个字节已经预取到帧存储器中;步骤A03:通过偏移地址,得到该报文的VLAN(虚拟局域网)、MAC(媒体访问控制)和IP的信息,并写入到查找关键字的存储器中,在示例图中该存储器中存储了三个查找关键字,对应下一模块的三个流表;步骤A04:把报文的描述符信息,包括该报文的入端口信息、长度、在缓冲区中的位置信息写入消息的存储器中,给下一级模块使用;由于查找关键字和消息在同一存储器中存储,所以需要把它们区分开来;步骤A05:每一条查找关键字和消息都生成一个头部信息,这些头部信息与每一条查找关键字和消息一一对应,便于下一级模块进行区分。图2示例的是一级查找引擎,该模块主要功能是根据上一级传递的查找关键字进行流表查找,并把查找结果传递给下一级模块;一级查找引擎工作原理的具体步骤如下:步骤B01:上一级模块生成的消息在该模块中是直接传递个下一级模块,该模块用不到该消息;步骤B02:流表的查找关键字模块由端口号和VLAN标签构成;步骤B03:流表的查找关键字模块由目的M本文档来自技高网...
基于网络交换芯片的微码和流表的实现方法

【技术保护点】
一种基于网络交换芯片的微码和流表的实现方法,其特征在于,其包括流表表项的创建方案和微码实施的技术方案并采用数据包解析引擎、一级查找引擎、查找分解引擎、二级查找引擎和数据包修改引擎;所述微码实施的技术方案包括以下步骤:步骤一:在数据包解析引擎中从硬件译码器中提取报文描述符信息;根据规范对数据报文的正确性和完整性进行检查;步骤二:从接收的报文中提取查找关键字信息,并产生相应的查找关键字;步骤三:用步骤一产生的信息产生消息和查找关键字,传递给一级查找引擎;步骤四:在一级查找引擎中用步骤二产生的查找关键字进行流表查找,将查找结果和步骤三产生的消息传递给查找分解引擎;若查找不成功,也要产生一个相应的查找结果传递给查找分解引擎;Host端根据收发到数据报文选择性下发流表;步骤五:查找分解引擎步骤三传递过来的查找结果和消息,提取控制字段,并根据控制字段决定该报文的走向;填写相应的寄存器信息,同时产生消息传递给下一模块,如需第二级查找,构造查找关键字连同消息一同传递给二级查找引擎;步骤六:在包修改引擎中根据查找结果信息,提取控制字段,跳转到合适的分支,并根据需要对报文进行修改,填写发送寄存器,将报文发送到相应的队列;所述流表表项的创建方案包括以下步骤:将流表进行拆分,形成多级流表,每次从报文中提取的关键字进行多级匹配;每条流表的匹配结果中都存储相应的转发信息和行为结合,通过行为字段来控制报文的处理方式。...

【技术特征摘要】
1.一种基于网络交换芯片的微码和流表的实现方法,其特征在于,其包括流表表项的创建方案和微码实施的技术方案并采用数据包解析引擎、一级查找引擎、查找分解引擎、二级查找引擎和数据包修改引擎;所述微码实施的技术方案包括以下步骤:步骤一:在数据包解析引擎中从硬件译码器中提取报文描述符信息;根据规范对数据报文的正确性和完整性进行检查;步骤二:从接收的报文中提取查找关键字信息,并产生相应的查找关键字;步骤三:用步骤一产生的信息产生消息和查找关键字,传递给一级查找引擎;步骤四:在一级查找引擎中用步骤二产生的查找关键字进行流表查找,将查找结果和步骤三产生的消息传递给查找分解引擎;若查找不成功,也要产生一个相应的查找结果传递给查找分解引擎;Host端根据收发到数据报文选择性下发流表;步骤五...

【专利技术属性】
技术研发人员:倪源梅冰清赵永健
申请(专利权)人:中国电子科技集团公司第三十二研究所
类型:发明
国别省市:上海;31

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

1