Flowspec规则优先级确定方法及设备与流程

文档序号:34969214发布日期:2023-08-01 14:45阅读:68来源:国知局
Flowspec规则优先级确定方法及设备与流程

本发明涉及通信,尤其涉及一种flowspec规则优先级确定方法及设备。


背景技术:

1、bgp flowspec是一种利用bgp更新报文中携带的流信息,将流量过滤规则传递到bgp对端,以达到在bgp对端对报文进行匹配过滤的技术。具体的,利用某种转换方法,将本地配置的规则封装在bgp更新报文中,并发送到bgp对端;bgp对端通过接收并解析报文,还原出原始配置的规则,并利用rfc提供的flowspec规则优先级比较算法,确定规则间的优先级顺序。

2、其中,rfc提供的flowspec规则优先级比较算法是对不同规则对应的bgp更新报文里的二进制串整体进行比较的。一旦厂商不按照规定的格式封装bgp更新报文,则会导致这种优先级比较方法失效。


技术实现思路

1、本发明的主要目的在于提供一种flowspec规则优先级确定方法及设备,旨在解决现有技术中只能基于不同规则对应的bgp更新报文里的二进制串整体进行优先级比较的技术问题。

2、第一方面,本发明提供一种flowspec规则优先级确定方法,所述flowspec规则优先级确定方法包括:

3、从已存储的flowspec规则中选取目标flowspec规则;

4、将新的flowspec规则与目标flowspec规则在匹配类型层面进行优先级比较,得到第一优先级比较结果;

5、若第一优先级比较结果为优先级相同,则将新的flowspec规则与目标flowspec规则在匹配范围层面进行优先级比较,得到第二优先级比较结果。

6、可选的,所述将新的flowspec规则与目标flowspec规则在匹配类型层面进行优先级比较,得到第一优先级比较结果的步骤包括:

7、检测新的flowspec规则与目标flowspec规则是否均包含第i匹配类型,其中第i匹配类型为在预设匹配类型组中排在第i位的匹配类型,预设匹配类型组包含p个匹配类型,且各个匹配类型按照优先级从高到低的顺序排列,i的初始值为1;

8、若新的flowspec规则包含第i匹配类型,目标flowspec规则不包含第i匹配类型,则第一优先级比较结果为新的flowspec规则的优先级高于目标flowspec规则的优先级;

9、若新的flowspec规则不包含第i匹配类型,目标flowspec规则包含第i匹配类型,则第一优先级比较结果为目标flowspec规则的优先级高于新的flowspec规则的优先级;

10、若均包含第i匹配类型或均不包含第i匹配类型,则检测i是否小于p;

11、若小于p,则以i+1作为i,并返回检测新的flowspec规则与目标flowspec规则是否均包含第i匹配类型的步骤;

12、若不小于p,则第一优先级比较结果为优先级相同。

13、可选的,所述将新的flowspec规则与目标flowspec规则在匹配类型层面进行优先级比较,得到第一优先级比较结果的步骤包括:

14、将新的flowspec规则包含的p个匹配类型中优先级排在第i位的匹配类型ti与目标flowspec规则包含的p个匹配类型中优先级排在第i位的匹配类型t'i进行比较,其中,i的初始值为1,i的值越小对应的优先级越高;

15、若ti的优先级高于t'i的优先级,则第一优先级比较结果为新的flowspec规则的优先级高于目标flowspec规则的优先级;

16、若t'i的优先级高于ti的优先级,则第一优先级比较结果为目标flowspec规则的优先级高于新的flowspec规则的优先级;

17、若ti的优先级与t'i的优先级一致,则检测i是否小于p;

18、若小于p,则以i+1作为i,并返回将新的flowspec规则包含的p个匹配类型中优先级排在第i位的匹配类型ti与目标flowspec规则包含的p个匹配类型中优先级排在第i位的匹配类型t'i进行比较的步骤;

19、若不小于p,则第一优先级比较结果为优先级相同。

20、可选的,所述将新的flowspec规则与目标flowspec规则在匹配范围层面进行优先级比较,得到第二优先级比较结果的步骤包括:

21、将新的flowspec规则包含的p个匹配类型中优先级排在第i位的匹配类型ti对应的匹配范围与目标flowspec规则包含的p个匹配类型中优先级排在第i位的匹配类型t'i对应的匹配范围进行比较,其中,i的初始值为1,i的值越小对应的优先级越高;

22、若ti对应的匹配范围的优先级高于t'i对应的匹配范围的优先级,则第二优先级比较结果为新的flowspec规则的优先级高于目标flowspec规则的优先级;

23、若t'i对应的匹配范围的优先级高于ti对应的匹配范围的优先级,则第二优先级比较结果为目标flowspec规则的优先级高于新的flowspec规则的优先级;

24、若ti对应的匹配范围的优先级与t'i对应的匹配范围的优先级一致,则检测i是否小于p;

25、若小于p,则以i+1作为i,并返回将新的flowspec规则包含的p个匹配类型中优先级排在第i位的匹配类型ti对应的匹配范围与目标flowspec规则包含的p个匹配类型中优先级排在第i位的匹配类型t'i对应的匹配范围进行比较的步骤;

26、若不小于p,则第二优先级比较结果为优先级相同。

27、可选的,所述将新的flowspec规则包含的p个匹配类型中优先级排在第i位的匹配类型ti对应的匹配范围与目标flowspec规则包含的p个匹配类型中优先级排在第i位的匹配类型t'i对应的匹配范围进行比较的步骤包括:

28、将新的flowspec规则包含的p个匹配类型中优先级排在第i位的匹配类型ti对应的k个匹配范围中匹配值排在第n位的匹配范围vn与目标flowspec规则包含的p个匹配类型中优先级排在第i位的匹配类型t'i对应的k个匹配范围中匹配值排在第n位的匹配范围v'n进行比较,其中,n的初始值为1,n的值越小对应的匹配值越大;

29、若vn的优先级高于v'n的优先级,则确认ti对应的匹配范围的优先级高于t'i对应的匹配范围的优先级;

30、若v'n的优先级高于vn的优先级,则确认t'i对应的匹配范围的优先级高于ti对应的匹配范围的优先级;

31、若vn的优先级与v'n的匹配范围的优先级一致,则检测n是否小于k;

32、若小于k,则以n+1作为n,并返回将新的flowspec规则包含的p个匹配类型中优先级排在第i位的匹配类型ti对应的k个匹配范围中匹配值排在第n位的匹配范围vn与目标flowspec规则包含的p个匹配类型中优先级排在第i位的匹配类型t'i对应的k个匹配范围中匹配值排在第n位的匹配范围v'n进行比较的步骤;

33、若不小于k,则确认ti对应的匹配范围的优先级与t'i对应的匹配范围的优先级一致。

34、可选的,vn包含结束属性标识字段en、逻辑关系标识字段an、数值大小关系标识字段rn以及数值标识字段vn,v'n包含结束属性标识字段e'n、逻辑关系标识字段a'n、数值大小关系标识字段r'n以及数值标识字段v'n,将vn与v'n进行比较的步骤包括:

35、将en与e'n进行比较;

36、若en的优先级高于e'n的优先级,则确认vn的优先级高于v'n的优先级;

37、若e'n的优先级高于en的优先级,则确认v'n的优先级高于vn的优先级;

38、若en的优先级等于e'n的优先级,则将an与a'n进行比较;

39、若an的优先级高于a'n的优先级,则确认vn的优先级高于v'n的优先级;

40、若a'n的优先级高于an的优先级,则确认v'n的优先级高于vn的优先级;

41、若an的优先级等于a'n的优先级,则将rn与r'n进行比较;

42、若rn的优先级高于r'n的优先级,则确认vn的优先级高于v'n的优先级;

43、若r'n的优先级高于rn的优先级,则确认v'n的优先级高于vn的优先级;

44、若rn的优先级等于r'n的优先级,则将vn与v'n进行比较;

45、若vn的优先级高于v'n的优先级,则确认vn的优先级高于v'n的优先级;

46、若v'n的优先级高于vn的优先级,则确认v'n的优先级高于vn的优先级;

47、若vn的优先级等于r'n的优先级,则确认vn的优先级与v'n的优先级一致。

48、可选的,所述从已存储的flowspec规则中选取目标flowspec规则的步骤包括:

49、以二叉排序树的根节点对应的flowspec规则为目标flowspec规则,其中,所述二叉排序树基于已存储的flowspec规则的优先级顺序构建;

50、从已存储的flowspec规则中选取目标flowspec规则。

51、可选的,在所述得到第二优先级比较结果的步骤之后,还包括:

52、基于二叉排序树的插入方法结合第二优先级比较结果,从二叉排序树当前轮目标节点的左右子树中找到下一轮目标节点;

53、以所述下一轮目标节点对应的flowspec规则为目标flowspec规则,返回从已存储的flowspec规则中选取目标flowspec规则的步骤,直至确定新的flowspec规则在已存储的flowspec规则中的优先级顺序;

54、存储所述新的flowspec规则;

55、根据新的flowspec规则在已存储的flowspec规则中的优先级顺序更新二叉排序树。

56、可选的,所述flowspec规则优先级确定方法应用于转控分离架构的转发侧,在所述从已存储的flowspec规则中选取目标flowspec规则的步骤之前,还包括:

57、接收控制平面下发的新的flowspec规则。

58、第二方面,本发明还提供一种flowspec规则优先级确定设备,所述flowspec规则优先级确定设备包括:

59、选取模块,用于从已存储的flowspec规则中选取目标flowspec规则;

60、第一比较模块,用于将新的flowspec规则与目标flowspec规则在匹配类型层面进行优先级比较,得到第一优先级比较结果;

61、第二比较模块,用于若第一优先级比较结果为优先级相同,则将新的flowspec规则与目标flowspec规则在匹配范围层面进行优先级比较,得到第二优先级比较结果。

62、本发明中,从已存储的flowspec规则中选取目标flowspec规则;将新的flowspec规则与目标flowspec规则在匹配类型层面进行优先级比较,得到第一优先级比较结果;若第一优先级比较结果为优先级相同,则将新的flowspec规则与目标flowspec规则在匹配范围层面进行优先级比较,得到第二优先级比较结果。通过本发明,基于flowspec规则本身进行优先级比较,不需要bgp更新报文,使得厂家可以任意修改bgp更新报文的封装格式,且不影响优先级比较结果。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1