报文处理方法及装置的制造方法

文档序号:9923557阅读:729来源:国知局
报文处理方法及装置的制造方法
【技术领域】
[0001 ]本发明实施例设及通信技术领域,尤其设及一种报文处理方法及装置。
【背景技术】
[0002] 软件定义网络(Software Defined化twork,简称SDN)是一种新的网络架构,其核 屯、技术化enf low通过将原本由交换机/路由器控制的报文转发过程,转化为由化enf low交 换机和控制器分别完成的独立过程,即将控制面与数据面分离开来,从而实现网络流量的 灵活控制,使网络作为管道变得更加智能。
[0003] 化enf low是基于化enf low交换机部署的,要求每个化enf low交换机上包含一个开 放的流表与一个用于增删流表表项的标准化接口。其中,Openflow交换机中的报文转发是 根据流表来执行的,流表是报文处理的核屯、,流表中每一条表项称为规则,每条规则由=部 分组成:匹配域,用于报文的匹配;计数器,用于统计每条规则的流量信息,如查找次数、发 送报文数等;行动,用于对匹配报文的处理,其中,行动中包括一个动作集,该动作集用于对 报文执行相应的动作。其中,每个动作对应一个类型、长度、值(Type Length Value,简称 化V)结构,比如:类型字段可W是统计、值字段可W是标识,则执行的动作则是根据标识对 报文进行统计。
[0004] 然而,现有技术中,每条化V中类型字段占用的字节数为固定值,例如:5比特,该5 比特可W表示25 = 32种类型,但是,存在一些"类型"并不经常用、甚至不用,因此,运种令类 型字段占用的字节数为固定值的方式,会导致内存空间的浪费。

【发明内容】

[0005] 本发明实施例提供一种报文处理方法及装置,从而达到节省内存空间的效果。
[0006] 第一方面,本发明实施例提供一种报文处理方法,包括:依次匹配报文与流表中的 至少一条规则;若报文与任一条规则匹配成功,则对报文依次执行任一条规则中的,至少一 条类型、长度和值化V对应的动作集;其中,该化V中的类型字段的编码长度与所述类型字段 的使用频率成反比。
[0007] 本发明实施例提供的报文处理方法中,由于使用频率高的类型字段对应的编码则 较短,相应地,使用频率低的类型字段对应的编码则较长,因此,整个流表中类型字段的平 均编码变短了,从而达到节省内存空间的效果。
[000引可选地,该报文处理方法还包括:在预设时间段内,获取每条所述化V中的类型字 段的使用频率;分别根据每个类型字段的使用频率,对类型字段进行编码。
[0009]可选地,上述编码方法可W采用霍夫曼编码方法,也可W采用如下方法:确定每个 类型字段对应的使用频率,当确定使用频率最高的类型字段只有一个时,则该类型字段对 应的编码可W为0或者1,即用一位二进制数来表示该类型字段,当确定使用频率最高的类 型字段有两个时,则可W用两位二进制数来表示该类型字段,依次类推,确定完使用频率最 高的类型字段之后,再通过同样的方式确定使用频率次高的类型字段对应的编码,该编码 的长度比使用频率最高的类型字段的编码的长度多一位,依次类推,直到所有的类型字段 都存在对应的编码,则结束。
[0010] 本发明实施例对根据类型字段在预设时间段内的使用频率对类型字段进行编码 的方法不做限制,只要满足类型字段对应的编码长度与类型字段在预设时间段内的使用频 率成反比即可。
[0011] 可选地,对报文依次执行所述任一条规则中的,至少一条类型、长度和值化V对应 的动作集,包括:确定待匹配的第一化V中的类型字段的编码长度和所述第一化V中的值字 段的长度;基于所述第一化V的起始地址,确定长度为所述编码长度的数据为所述第一化V 中的类型字段对应的编码,并且基于所述第一化V的起始地址,偏移所述待匹配的第一化V 中的类型字段的编码长度之后,确定第一偏移地址;从所述第一偏移地址开始,确定长度为 所述第一化V中的值字段的长度的数据为所述第一化V中的值字段;根据所述第一化V中的 类型字段和值字段对所述报文执行相应的动作;根据所述第一化V的起始地址、所述第一 TLV中的类型字段的编码长度和所述第一化V中的值字段的长度,确定第二TLV的起始地址, 并将所述第二TLV作为新的第一化V,对所述报文执行所述新的第一 TLV相应的动作,直至执 行完所述动作集中的所有动作,其中,所述第二TLV为所述第一TLV中的下一条TLV。
[0012] 可选地,根据第一化V的起始地址、第一化V中的类型字段的编码长度和所述第一 TLV中的值字段的长度,确定第二化V的起始地址,包括:基于所述第一化V的起始地址,偏移 所述第一化V中的类型字段的编码长度和所述第一 TLV中的值字段的长度之后,确定所述第 二TLV的起始地址。
[0013] 由于本发明中对化V中的类型字段进行了压缩,即TLV中的类型字段不是固定长 度,每条化V中的类型字段的长度可能不尽相同,因此,通过上述方法可W准确、快速的确定 第一 TLV中的值字段W及第二TLV的起始地址,从而提高报文处理效率。
[0014] 下面将提供一种报文处理装置,该装置的功能与效果与上述报文处理方法对应的 效果相同,在此不再寶述。
[0015] 第二方面,本发明实施例提供一种报文处理装置,包括:相连接的第一电路和第二 电路;所述第一电路,用于依次匹配报文与流表中的至少一条规则;若所述报文与任一条规 则匹配成功,则所述第二电路对所述报文依次执行所述任一条规则中的,至少一条类型、长 度和值化V对应的动作集;其中,所述化V中的类型字段的编码长度与所述类型字段的使用 频率成反比。
[0016] 可选地,所述第一电路还用于:在预设时间段内,获取每条所述化V中的类型字段 的使用频率;分别根据每个所述类型字段的使用频率,对所述类型字段进行编码。
[0017] 可选地,所述第一电路具体用于:根据每个所述类型字段的使用频率,对所述类型 字段进行霍夫曼编码。
[0018] 可选地,所述第二电路用于:确定待匹配的第一化V中的类型字段的编码长度和所 述第一化V中的值字段的长度;基于所述第一化V的起始地址,确定长度为所述编码长度的 数据为所述第一化V中的类型字段对应的编码,并且基于所述第一化V的起始地址,偏移所 述待匹配的第一化V中的类型字段的编码长度之后,确定第一偏移地址;从所述第一偏移地 址开始,确定长度为所述第一化V中的值字段的长度的数据为所述第一化V中的值字段;根 据所述第一化V中的类型字段和值字段对所述报文执行相应的动作;根据所述第一 TLV的起 始地址、所述第一化V中的类型字段的编码长度和所述第一化V中的值字段的长度,确定第 二化V的起始地址,并将所述第二化V作为新的第一化V,对所述报文执行所述新的第一化V 相应的动作,直至执行完所述动作集中的所有动作;其中,所述第二TLV为所述第一TLV中的 下一条TLV。
[0019] 可选地,所述第二电路包括:多个节点,所述多个节点构成与所述霍夫曼编码对应 的霍夫曼树;则所述第二电路具体用于:根据所述第一化V遍历所述霍夫曼树;遍历成功,确 定所述第一 TLV中的类型字段的编码长度。
[0020] 可选地,所述第二电路具体用于:基于所述第一化V的起始地址,偏移所述第一化V 中的类型字段的编码长度和所述第一 TLV中的值字段的长度之后,确定所述第二TLV的起始 地址。
[0021] 可选地,该装置还包括:第=电路;所述第=电路与所述第二电路为主备关系;当 所述第二电路执行报文处理过程时,则所述第=电路根据控制命令调整所述第=电路的结 构;当所述第=电路执行报文处理
当前第1页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1