存储协议头的方法和网络设备技术

技术编号:13323162 阅读:60 留言:0更新日期:2016-07-11 09:45
本申请公开了一种存储协议头的方法和网络设备,该方法包括:网络设备将第一网络协议图中入度为0的一个或多个第一协议头实例组成的集合确定为待分配存储空间的第一协议头实例集合;确定第一共享空间,该第一共享空间用于存储该第一协议头实例集合中的每个该第一协议头实例;生成每个该第一协议头实例的第一解析指令;将该第一协议头实例集合中的每个该第一协议头实例从该第一网络协议图中删除,并将该第一网络协议图中与每个该第一协议头实例连接的有向边删除,得到第二网络协议图。本申请实施例的存储协议头的方法和网络设备,可以将多个协议头实例共享存储在同一个共享空间上,因此,减少了对存储空间的占用。

【技术实现步骤摘要】

本申请涉及信息
,并且更具体地,涉及一种存储协议头的方法和网络设备
技术介绍
现有技术以数据结构图的方式,来描述网络协议之间的关系,称为网络协议图。网络协议图可以是网络设备商根据所需要支撑的业务所描绘的,也可以是用户按照自定义的网络协议关系描绘的。在网络协议图中,包括多个协议头示例,转发面上,网络设备需要为网络协议图中出现的所有协议头实例开辟专属的存储空间,无论当前处理的报文是否包含该协议头实例。而实际场景中一个报文可能只包含少数几个协议头实例,而转发面仍需要为所有协议头实例预留出大量的存储空间,造成极大的空间浪费。网络协议层次不穷,外加软件定义网络(英文全称:SoftwareDefineNetwork,简称:SDN)的出现,用户可以自行定义网络协议头与网络协议图,造成网络设备上有限的寄存器资源无法支撑略为复杂的协议图。
技术实现思路
本申请实施例提供一种存储协议头的方法和网络设备,能够减少存储协议头实例对存储空间的占用。第一方面,提供了一种存储协议头的方法,该方法包括:网络设备将第一网络协议图中入度为0的一个或多个第一协议头实例组成的集合确定为待分配存储空间的第一协议头实例集合;所述网络设备确定第一共享空间,所述第一共享空间用于存储所述第一协议头实例集合中的每个所述第一协议头实例;所述网络设备生成每个所述第一协议头实例的第一解析指令,其中,所述第一解析指令用于指示在所述网络设备接收到包括所述第一协议头实例的报文时,将所述第一协议头实例存储到所述第一共享空间;所述网络设备将所述第一协议头实例集合中的每个所述第一协议头实例从所述第一网络协议图中删除,并将所述第一网络协议图中与每个所述第一协议头实例连接的有向边删除,得到第二网络协议图。在该实现方式中,该网络设备可以为一个或多个协议头实例分配一个共享空间,以便于接收到包括上述一个或多个协议头实例中的一个协议头实例的报文时,可以将该协议头实例存储到该共享空间,因此,本申请实施例的存储协议头的方法,不必为每个协议头实例都分配存储空间,因此,减少了存储协议头实例对存储空间的占用。结合第一方面,在第一方面的第一种实现方式中,所述方法还包括:所述网络设备将所述第二网络协议图中入度为0的一个或多个第二协议头实例组成的集合确定为待分配存储空间的第二协议头实例集合;;所述网络设备确定第二共享空间,所述第二共享空间用于存储所述第二协议头实例集合中的每个所述第二协议头实例;所述网络设备生成每个所述第二协议头实例的第二解析指令,其中,所述第二解析指令用于指示在所述网络设备接收到包括所述第二协议头实例的报文时,将所述第二协议头实例存储到所述第二共享空间;所述网络设备将所述第二协议头实例集合中的每个所述第二协议头实例从所述第二网络协议图中删除,并将所述第二网络协议图中与每个所述第二协议头实例连接的有向边删除。在该实现方式中,如果将第一协议头实例集合从第一网络协议图中删除以后得到的第二网络协议图中还包括协议头实例,那么该网络设备可以采用对第一网络协议图相似的处理方式对该第二网络协议图进行处理,从而可以为该第二网络协议图中的第二协议头实例集合分配第二共享空间并生成相应的解析指令,以便于该网络设备接收到包括第二协议头实例集合中的第二协议头实例的报文时,将该第二协议头实例存储到该第二共享空间,进一步减少了存储协议头实例对存储空间的占用。结合第一方面及其上述实现方式,在第一方面的第二种实现方式中,所述网路设备接收报文,所述报文包括所述第一协议头实例和所述第二协议头实例;所述网络设备获取所述第一解析指令和所述第二解析指令,并根据所述第一解析指令和所述第二解析指令的指示,将所述第一协议头实例存储到所述第一共享空间,将所述第二协议头实例存储到所述第二共享空间。在该实现方式中,该网络设备可以通过为每个协议头实例生成相应的解析指令,通过解析指令,将协议头实例存储到相应的共享空间。结合第一方面及其上述实现方式,在第一方面的第三种实现方式中,所述网络设备获取所述第一解析指令和所述第二解析指令,具体包括:所述网络设备根据预设置的所述第一解析指令的存储地址,获取所述第一解析指令,或根据所述第一协议头实例的上一层协议头实例的解析指令,获取所述第一解析指令的存储地址,根据所述第一解析指令的存储地址获取所述第一解析指令;所述网络设备根据所述第一协议头实例的所述第一解析指令,获取所述第二解析指令的存储地址,根据所述第二解析指令的存储地址获取所述第二解析指令。在该实现方式中,该网络设备可以根据预配置的第一解析指令的存储地址获取该第一解析指令,或者根据第一解析指令的上一层协议头实例的解析指令,获取该第一解析指令的存储地址,然后根据该第一解析指令的存储地址获取该第一解析指令。在网络设备接收的报文中,该第一协议头实例为该第二协议头实例的上一层的协议头实例,因此可以根据该第一协议头实例的解析指令获取该第二协议头实例的第二解析指令的存储地址,然后根据第二解析指令的存储地址获取该第二解析指令。因此,,每一层协议头实例的解析指令,都可以根据该协议头实例的上一层的协议头实例的解析指令获取,也就是说,该网络设备可以根据上一层的协议头实例的解析指令,依次获取下一层的协议头实例的解析指令,从而获取整个报文中的所有协议头实例的解析指令,然后可以根据每个协议头实例的解析指令,将该报文中的协议头实例存储到相应的存储空间。结合第一方面及其上述实现方式,在第一方面的第四种实现方式中,若所述第一协议头实例集合只包括第一协议头实例,所述第一共享空间的大小为所述第一协议头实例占用的空间的大小,或固定位宽;或若所述第一协议头实例集合包括至少两个协议头实例,所述第一共享空间的大小为所述至少两个协议头实例中最长的协议头实例占用的空间的大小,或固定位宽。在该实现方式中,该共享空间的大小可以根据待存储的协议头实例占用的空间的大小确定,也可以为协议头实例在报文中的偏移量的位宽,也就是说该共享空间可以用于存储协议头实例在报文中的偏移量。第二方面,提供了一种网络设备,该网络设备具有实现上述第一方面或第一方面的任一种实现方式的方法中用于存储协议头的功能。所述功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。所述硬件或软件包括一个或多个与上述功能相对应的模块。第三方面,提供了一种网络设备,包括存储器和处理器,该存储器用于存储包括程序、指本文档来自技高网...

【技术保护点】
一种存储协议头的方法,其特征在于,包括:网络设备将第一网络协议图中入度为0的一个或多个第一协议头实例组成的集合确定为待分配存储空间的第一协议头实例集合;所述网络设备确定第一共享空间,所述第一共享空间用于存储所述第一协议头实例集合中的每个所述第一协议头实例;所述网络设备生成每个所述第一协议头实例的第一解析指令,其中,所述第一解析指令用于指示所述网络设备在接收到包括所述第一协议头实例的报文时,将所述第一协议头实例存储到所述第一共享空间;所述网络设备将所述第一协议头实例集合中的每个所述第一协议头实例从所述第一网络协议图中删除,并将所述第一网络协议图中与每个所述第一协议头实例连接的有向边删除,得到第二网络协议图。

【技术特征摘要】
1.一种存储协议头的方法,其特征在于,包括:
网络设备将第一网络协议图中入度为0的一个或多个第一协议头实例组
成的集合确定为待分配存储空间的第一协议头实例集合;
所述网络设备确定第一共享空间,所述第一共享空间用于存储所述第一
协议头实例集合中的每个所述第一协议头实例;
所述网络设备生成每个所述第一协议头实例的第一解析指令,其中,所
述第一解析指令用于指示所述网络设备在接收到包括所述第一协议头实例
的报文时,将所述第一协议头实例存储到所述第一共享空间;
所述网络设备将所述第一协议头实例集合中的每个所述第一协议头实
例从所述第一网络协议图中删除,并将所述第一网络协议图中与每个所述第
一协议头实例连接的有向边删除,得到第二网络协议图。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
所述网络设备将所述第二网络协议图中入度为0的一个或多个第二协议
头实例组成的集合确定为待分配存储空间的第二协议头实例集合;
所述网络设备确定第二共享空间,所述第二共享空间用于存储所述第二
协议头实例集合中的每个所述第二协议头实例;
所述网络设备生成每个所述第二协议头实例的第二解析指令,其中,所
述第二解析指令用于指示所述网络设备在接收到包括所述第二协议头实例
的报文时,将所述第二协议头实例存储到所述第二共享空间;
所述网络设备将所述第二协议头实例集合中的每个所述第二协议头实
例从所述第二网络协议图中删除,并将所述第二网络协议图中与每个所述第
二协议头实例连接的有向边删除。
3.根据权利要求2所述的方法,其特征在于:所述方法还包括:
所述网路设备接收报文,所述报文包括所述第一协议头实例和所述第二
协议头实例;
所述网络设备获取所述第一解析指令和所述第二解析指令,并根据所述
第一解析指令和所述第二解析指令的指示,将所述第一协议头实例存储到所
述第一共享空间,将所述第二协议头实例存储到所述第二共享空间。
4.根据权利要求3所述的方法,其特征在于:所述网络设备获取所述

\t第一解析指令和所述第二解析指令,具体包括:
所述网络设备根据预设置的所述第一解析指令的存储地址,获取所述第
一解析指令,或根据所述第一协议头实例的上一层协议头实例的解析指令,
获取所述第一解析指令的存储地址,根据所述第一解析指令的存储地址获取
所述第一解析指令;所述网络设备根据所述第一协议头实例的所述第一解析
指令,获取所述第二解析指令的存储地址,根据所述第二解析指令的存储地
址获取所述第二解析指令。
5.一种网络设备,其特征在于,包括:
确定模块,用于将第一网络协议图中入度为0的一个或多个第一协议头
实例组成的集合确定为待分配存储空间的第一协议头实例集合;
所述确定模块还用于确定第一共享空间,所述第一共享空间用于存储所
述第一协议头实例集合中的每个所述第一协议头实例;
生成模块,用于生成每个所述第一协议头实例的第一解析指令,其中,
所述第一解析指令用于指示在所述网络设备接收到包括所述第一协议头实
例的报文时,将所述第一协议头实例存储到所述第一共享空间;
处理模块,用于将所述第一协议头实例集合中的每个所述第一协议头实
例从所述第一网络协议图中删除,并将所述第一网络协议图中与每个所述第
一协议头实例连接的有向边删除,得到第二网络协议图。
6.根据权利要求5所述的网络设备,其特征在于,所述确定模块还用
于:
将所述第二网络协议图中入度...

【专利技术属性】
技术研发人员:喻径舟
申请(专利权)人:华为技术有限公司
类型:发明
国别省市:广东;44

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

1