一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种基于标记位的数据包转发一致性检测系统和检测方法与流程

2023-01-15 10:14:58 来源:中国专利 TAG:


1.本发明属于可编程网络技术领域,涉及一种基于标记位的数据包转发一致性检测系统和检测方法。


背景技术:

2.可编程网络技术是一种网络管理方法,可实现动态的、以编程方式高效的网络配置,以提高网络性能和监控。可编程网络旨在解决传统网络的静态架构,试图通过将交换机数据平面和控制平面解耦,将网络的控制权集中在一个控制器中,可编程网络控制器通过下发一些配置信息,来正确的表示数据平面的转发操作。通常,可编程网络在逻辑集中控制平面能够准确表示实际数据平面状态的前提下运行。但是,不幸的是,bug、错误配置、故障或攻击可能会破坏可编程交换机运行时的正确操作,如会造成丢弃数据包、错误的转发规则等等。可能会导致网络控制和数据平面之间的不一致,从而破坏交换机运行时的正确操作。
3.更严重的情况下,可能会造成数据平面出现转发环路,由于数据包不断的在网络中来回转发,直到ttl(转发的最大跳数)为0被丢弃为止,导致无法获取到探测数据包收集的转发信息,从而无法验证控制-数据平面的一致性。另外,转发环路是一种无效的转发,而且会增大整个数据平面的转发延迟,降低整个网络的质量。


技术实现要素:

4.为了解决上述所面临的问题,本发明提出的一种基于标记位的数据包转发一致性检测系统和检测方法。本发明系统的框架如图1所示,主要由控制平面和数据平面组成。
5.本发明中,所述控制平面主要负责转发规则下发、控制平面的数据包预期转发路径信息生成、控制-数据平面一致性检测和不一致性诊断处理;根据功能划分,整个控制平面可分为规则下发模块、转发规则库、一致性检测模块以及诊断模块。
6.所述规则下发模块,主要根据一定的转发策略,将其对应的转发规则配置文件下发到数据平面的交换机中。
7.所述转发规则库存储了预期的拓扑信息和转发规则,通过主动的解析可编程网络中的拓扑和转发规则文件,将网络建模为一个图,以确定给定数据包的任何源-目标对之间的端到端可达性;从而来生成数据包预期转发路径信息。
8.所述一致性检测模块,从数据平面上报的遥测报告中提取数据包的实际转发路径信息,同时从转发规则库获取对应的数据包预期转发路径信息,然后将两者进行比较来检测不一致性。
9.所述诊断模块,主要负责控制-数据平面不一致性和数据平面环路转发的后续诊断工作。其中前者通过分析一致性检测模块的一致性检测报告来进行一致性诊断,后者通过分析数据平面上报的环路转发报告来进行环路诊断。
10.本发明中,所述数据平面由各种网络设备(交换机或者路由器)相互连接而组成;
主要负责数据包转发以及处理,根据对应的功能,可分为标记模块、带内遥测模块和环路检测模块。
11.所述标记模块,根据一定匹配原则(精确、最长匹配等)来对数据包进行标记,实现动态地控制带内遥测和环路检测的执行,从而减轻带内遥测和转发环路检测对交换机负载;例如,只需要对来自某一端口(如1号端口)的数据包进行带内遥测或者路由环路检测。
12.所述带内遥测模块使用mri(多跳路线检查)定制int(带内网络遥测),以连续或周期性的引出遥测数据,以实际报告的形式编码输入数据包经过的的每个交换机的转发行为。借助带内网络遥测(int),本发明可以收集数据包在数据平面的转发行为(如数据包的转发路径)。
13.所述环路检测模块通过在数据平面进行环路检测,来解决由于转发环路导致数据平面的遥测报告丢失的问题;本发明中通过直接在数据包上存储转发路径信息来解决转发环路问题,其中转发路径信息主要由一组交换机标识符id组成,因此,只需查看转发路径信息中是否存在重复交换机id,即可得出转发环路的存在,然后生成转发环路检测报告上报控制平面。
14.本发明还提出了一种利用上述环路检测系统实现的环路检测方法,处理流程如图2所示,所述方法包括:
15.s1.当从数据平面采样的遥测报告的数据包到达控制平面时,首先,提取由包头(五元组流)和包所获取的路径组成的遥测数据;其中五元组由源ip地址、源端口、目的ip地址、目的端口和ip协议组成。
16.s2.基于包头,它创建一个符号数据包,其中包含对应于一个五元组流的头;
17.s3.它以预期报告的形式从转发规则库获取该数据包的给定源-目的地对之间的可达性图。
18.s4.一致性检测在提供的可达性图中生成源-目的交换机之间的所有可能路径;源交换机是数据包访问网络的第一个交换机,而目的交换机是网络中的最后一跳或目的地;所有可能的路径生成都是通过图遍历技术进行的:深度优先搜索(dfs);
19.s5.一致性检测器通过符号执行技术分别将来自控制平面的预期路径与数据平面的实际路径比较,以通过路径一致性检查一致性;
20.s6.生成一致性检测报告。
21.本发明的有益效果包括:
22.第一、本发明提出了一种基于标记位的数据包转发一致性检测系统,能够有效的在面向于可编程网络的网络架构中检测出数据-控制平面的不一致性问题。
23.第二、除此之外,通过在数据平面进行环路检测,来解决由于转发环路导致数据平面的遥测报告丢失的问题,并且避免无效的路由转发消耗网络资源。
24.第三、本发明还能够基于标记位动态地控制带内遥测和环路检测的执行,增加了网络控制的灵活性,并且通过灵活的控制,能够减轻带内遥测和转发环路检测对交换机负载。
25.第四、所述带内网络遥测模块使用mri(多跳路线检查)定制int(带内网络遥测),以连续或周期性地引出遥测报告,为控制平面提供更详细的链路监控信息,从而实现网络异常的侦测和诊断。
附图说明
26.图1是本发明系统架构图。
27.图2是本发明一致性检测方法流程图。
28.图3是本发明ivpoption_mri报文格式。
29.图4是本发明数据包标记流程图。
30.图5是本发明环路检测流程图。
31.图6是本发明实例场景图。
具体实施方式
32.结合以下具体实施例和附图,对本发明作进一步的详细说明。实施本发明的过程、条件、实验方法等,除以下专门提及的内容之外,均为本领域的普遍知识和公知常识,本发明没有特别限制内容。
33.本发明公开了一种基于标记位的数据包转发一致性检测系统和方法。所述一致性检测系统主要分为控制平面和数据平面,所述控制平面进一步包括规则下发模块、转发规则库、一致性检测模块以及诊断模块;所述数据平面进一步包括标记模块、带内遥测模块和环路检测模块。本发明通过借助带内遥测模块收集数据包在数据平面的转发行为,并将其与控制平面数据包的预期转发路径信息进行比较来检测不一致性。另外,通过在数据平面部署环路检测模块来解决由于转发环路导致数据平面的遥测报告丢失的问题,来保证一致性检测的全面性。采用本发明的一致性检测方法,能够在面对可编程网络架构中的各种复杂的场景中及时检测出数据包转发一致性问题,并且借助一种标记位的方法来减轻一致性检测对网络的负载,从而保证整个网络数据包转发的可靠性。
34.本发明公开了一种基于标记位的数据包转发一致性检测系统,其整体系统框架如图1所示,可分为控制平面和数据平面,所述控制平面进一步包括规则下发模块、转发规则库、一致性检测模块以及诊断模块;所述数据平面进一步包括标记模块、带内遥测模块和环路检测模块。
35.1)控制平面
36.i.规则下发模块
37.规则下发模块主要根据一定的转发策略,将其对应的转发规则配置文件下发到数据平面的交换机中。例如,在常见防火墙中,需要阻止某些数据包进入网络中,将需要将对应的规则配置到交换机中。
38.ii.转发规则库
39.转发规则库存储了预期的拓扑信息和转发规则,通过主动的解析可编程网络中的拓扑和转发规则文件,将网络建模为一个图,以确定给定数据包的任何源-目标对之间的端到端可达性;从而来生成数据包预期转发路径信息。
40.网络图g被建模为一个三元组的g=(v,e,p),其中v是交换机和网络设备(顶点)的集合,e是表示顶点之间连接的有向边的集合。p是在e上定义的一个表示转发策略的函数。对于每条边(u,v),p(u,v)是从u传递到v的所有数据包(五元流)的策略。p表示为一个符号包上的布尔公式。当且仅当一个数据包满足相应的布尔公式时,它才可以遍历一条边。这个布尔函数表示一般的策略,包括转发和包过滤。它确保将规则中定义的字段与封装在符号
包中的字段进行匹配,这些符号包代表了来自任何给定的源-目标对之间的实际报告的包中的五个元组流。
41.总之,转发规则库存储了预期的交换机配置文件和特定于拓扑的信息。通过一致性检测器从数据平面接收到包(五元流)后,就生成与该包和源-目标对对应的可达性图,并将其发送给一致性检测器,一致性检测器执行图遍历和符号执行来检测控制-数据平面的不一致性。
42.iii.一致性检测模块
43.一致性检测模块,从数据平面上报的遥测报告中提取数据包的实际转发路径信息,同时从转发规则库获取对应的数据包预期转发路径信息,然后将两者进行比较来检测一致性。
44.如图2所示,当从数据平面采样的实际报告的包到达一致性检测器时,首先,提取由包头(五元组流)和包所获取的路径组成的遥测数据。基于包头,它创建一个符号数据包,其中包含对应于一个五元组流的头;其次,它以预期报告的形式从转发规则库获取该数据包的给定源-目的地对之间的可达性图;第三,一致性检测器在提供的可达性图中生成源-目的交换机之间的所有可能路径;源交换机是数据包访问网络的第一个交换机,而目的交换机是网络中的最后一跳或目的地。所有可能的路径生成都是通过图遍历技术进行的:深度优先搜索(dfs);最后,一致性检测器通过符号执行技术分别将来自控制平面的预期路径与数据平面的实际路径比较,以通过路径一致性检查一致性,并生成一致性检测报告。
45.iv.诊断模块
46.诊断模块主要负责控制-数据平面不一致性和数据平面转发环路的后续诊断工作。其中前者通过分析一致性检测模块的一致性检测报告来进行一致性诊断,后者通过分析数据平面上报的转发环路报告来进行环路诊断。
47.2)数据平面
48.i.标记模块
49.标记模块根据一定匹配原则(精确、最长匹配等)来对数据包进行标记,实现动态地控制交换机内带内检测和环路检测的执行,从而减轻带内遥测和转发环路检测对交换机负载;例如,只需要对来自某一端口(如1号端口)的数据包进行带内遥测或者路由环路检测。
50.其中带内遥测模块会在数据包中插入ivpoption_mri协议头来告知交换机,该数据包是一个遥测数据包,携带有遥测数据,ivpoption_mri报文格式如图3所示,其中最上方的数字表示报文格式的bit位刻度,一行表示32bit。其中字段count指示数据包经过的跳数,也表示数据包携带的遥测数据的长度。如果count大于0,则解析数据包携带的遥测数据。
51.因此,本发明可借助ivpoption_mri协议头中的第3个bit位作为标记位,通过置1来表示已标记。
52.其中整个处理流程如图4所示,当交换机收到数据包后,首先会对数据包进行路由转发,若匹配成功,进行后续步骤,否则直接丢弃数据包。若路由转发匹配成功后,执行标记位插入匹配表,根据一定匹配规则进行匹配,若匹配成功,对数据包进行标记位插入,否则直接转发到出口即可。
53.ii.带内遥测模块
54.所述带内遥测模块使用mri(多跳路线检查)定制int(带内网络遥测),以连续或周期性的引出遥测数据,以实际报告的形式编码输入数据包经过的的每个交换机的转发行为。借助带内网络遥测(int),本发明可以收集数据包在数据平面的转发行为(如数据包的转发路径)。
55.用于实现带内遥测的带内网络遥测模块中分为源结点、传输结点和宿结点;其中每个交换机可扮演多种角色,边缘交换机用于源结点或者宿结点,而每一个交换机都是传输结点;
56.所述源结点负责ivpoption_mri报文头部的插入;
57.所述传输结点负责将数据包的转发信息插入到ivpoption_mri报文的遥测数据中;
58.所述宿结点负责ivpoption_mri报文头部的去除,并将遥测数据上传至一致性检测模块进行一致性检查。
59.iii.环路检测模块。
60.所述环路检测模块通过在数据平面进行环路检测,来解决由于转发环路导致数据平面的遥测报告丢失的问题;本发明中通过直接在数据包上存储转发路径信息来解决转发环路问题,其中转发路径信息主要由一组交换机标识符id组成,因此,只需查看转发路径信息中是否存在重复交换机id,即可得出转发环路的存在,然后生成转发环路检测报告上报控制平面。
61.其中算法1就描述环路检测的步骤,其中输入分别为数据包路径信息和当前交换机id,输出为true或者false表示是否存在环路。
[0062][0063]
所述路由环路检测的流程可参考图5所示,当交换机收到一个数据包时,首先会检测数据包是否被标记,如果是,则从携带的遥测数据中获取转发路径信息,并进行环路检测,否则进行正常转发即可。如果检测到路由环路,则立即上报控制器并丢弃数据包。
[0064]
实施例
[0065]
参考图6,可以提出一个具体的实施例,上层主要由一个集中式的控制器管理整个网络,再加上一致性检测器组成。下层数据平面,本发明部署了一个简单的四拓扑的网络架构,整个网络由四个交换机组成,分别标识为s1-s4。特别的在本实施例中,s1在带内遥测框架中扮演着源结点的角色,负责标记位的插入,而s4负责标记位的去除和遥测信息上报,同时s1-s4都会根据标记位来进行带内遥测和转发环路的检测。
[0066]
在本实施例中,当数据包流入网络时,在入口交换机(如s1)处,会对数据包进行标
记和插入转发信息。当经过中间交换机s2或者s3时,会根据标记位来判断是否插入转发信息,然后在s4将遥测数据上报给一致性检测模块,以检测数据平面上的实际行为是否与预期的控制平面行为相对应。除此之外,在经过每一个交换机时,交换机还会对带有标记位的数据包进行转发环路检测。
[0067]
例如当数据平面流入一个数据包,通过控制器配置数据包的转发路径为s1

s2

s4时,为了验证一致性检测,恶意地修改交换机s1的转发规则,将其转发到s3,从而改变数据包的转发路径为s1

s3

s4,当数据包经过交换机s4时,会将路由信息上传到一致性检测模块进行一致性检测,通过从控制器获取所有的配置信息,发现正确的转发路径是s1

s2

s4,立即向控制器报告不一致。
[0068]
对于转发环路检测,当恶意地修改交换机s4的转发配置信息时,将所有目的ip地址是主机h2的数据包全部转发到交换机s2,而如果交换机s2的转发操作正常的话,s2会将数据包转发到s4,而s4又转发到s2,在这种情况下,数据包一直在网络中循环转发,直到ipv4的ttl减为0。
[0069]
而通过将本发明实施在这种情景下时,当数据包在该网络中转发时,通过配置交换机s1,可以在上述的数据包中插入标记位,来对数据包进行转发环路检测。在上述情况中,当数据包经过交换机s4时,数据包携带的路径信息是s1

s2

s4,而当再次经过s2时,交换机会运行转发环路检测,会发现转发信息中已经存在s2了,则检测到环路,交换机会立即上报给控制器,并丢弃数据包,禁止继续转发。
[0070]
通过以上的实施例,以更加具体的场景来详细说明本发明涉及的技术方案,为技术人员提供一个更清楚的参考。
[0071]
本发明的保护内容不局限于以上实施例。在不背离本发明构思的精神和范围下,本领域技术人员能够想到的变化和优点都被包括在本发明中,并且以所附的权利要求书为保护范围。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献