CN110430094B - 一种sdn中基于主动探测的探测包生成方法 - Google Patents

一种sdn中基于主动探测的探测包生成方法 Download PDF

Info

Publication number
CN110430094B
CN110430094B CN201910704175.3A CN201910704175A CN110430094B CN 110430094 B CN110430094 B CN 110430094B CN 201910704175 A CN201910704175 A CN 201910704175A CN 110430094 B CN110430094 B CN 110430094B
Authority
CN
China
Prior art keywords
probe
sub
packet
flow table
flow
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910704175.3A
Other languages
English (en)
Other versions
CN110430094A (zh
Inventor
张鹏
张程
刘旭
谷正昌
王换招
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Xian Jiaotong University
Original Assignee
Xian Jiaotong University
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Xian Jiaotong University filed Critical Xian Jiaotong University
Priority to CN201910704175.3A priority Critical patent/CN110430094B/zh
Publication of CN110430094A publication Critical patent/CN110430094A/zh
Application granted granted Critical
Publication of CN110430094B publication Critical patent/CN110430094B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0823Errors, e.g. transmission errors

Landscapes

  • Engineering & Computer Science (AREA)
  • Environmental & Geological Engineering (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

本发明公开一种SDN中基于主动探测的探测包生成方法,包含以下SDN网络中的OpenFlow交换机及控制器、交换机上安装的流表、交换机拓扑、流表监听单元、生成算法,生成算法主要由针对入端口将流表分组为子表、按照匹配域中的精确匹配域和通配域对子表中的每个流表项建立索引、选择入端口并建立探测生成包队列、将探测包注入子表中进行匹配、收集匹配结果这几步组成。本发明可以保证针对全网的交换机生成探测包,同时在秒级完成对于约7万条规则的探测包生成。

Description

一种SDN中基于主动探测的探测包生成方法
技术领域
本发明属于互联网技术领域,具体涉及一种SDN中基于主动探测的探测包生成方法。
背景技术
软件定义网络(Software Defined Network,SDN)通过分离网络设备的转发平面与控制平面,实现了网络的灵活管理。由于控制和转发分离,SDN交换机可能不会正确执行控制器下发的流表,这会导致数据平面的实际转发行为可能会与控制平面预先制定的转发策略不一致。现有的一些网络测量工具(如ping,traceruote和SNMP等)无法解决SDN控制平面与数据平面的一致性问题,同时随着SDN的规模日益增大,这个问题的研究难度也进一步加大。为了解决这一问题,可以用主动探测方法来校验下发流表的正确性。主动探测方法的原理是利用少量的探测包来模拟网络中的真实流量,通过将探测包注入网络中,根据探测包的转发行为推断出数据平面的实际转发情况,再和控制平面预先制定的转发策略做比对,就可以确定网络配置的正确性。因为SDN良好的控制性,可编程性,这一方法有了一套自动化的运作方式。
近年,SDN主动探测方法中探测包生成的方案有:
技术方案1:在公开发表的名为Automatic Test Packet Generation的论文中,作者提出了一种探测包的生成算法。该算法基于另一篇名为Header Space Analysis:StaticChecking For Networks的发表论文中提出的Transfer Function的流表编码方法。能够通过读取SDN控制器中存储的各项规则,以及网络拓扑,生成探测包。最后通过下发这些探测包,收集探测包的行为并与期望值进行比对,就可以找到失效的流表项。
上述方案1中存在的主要问题是:基于Transfer Function的流表匹配方法是比较繁琐的。ATPG的探测包生成算法中含有许多重复计算部分,这使得探测生成时间长。
技术方案2:在公开发表的名为Monocle的论文中,作者提出了一种单交换机单表的探测包生成算法。该算法使用布尔表达式对流表进行编码,通过将探测包生成问题转化为SAT问题进行求解。可以实现针对每个流表项生成一个对应的探测包。
上述方案2存在的问题是:该方法只能针对一张流表生成探测包,无法处理多表的情况。而且该方法对于探测包的收发工作必须依赖上游和下游交换机,非常不灵活。同时会占用大量的控制器与交换机之间的通信带宽。
发明内容
本发明的目的在于解决SDN错误检测过程中,探测包生成算法生成时间长,生成探测包数目多,冗余度大的问题。
为实现上述发明目的,本发明的技术方案如下:
一种SDN中基于主动探测的探测包生成方法包括如下步骤:
步骤1、收集网络中所有交换机上的流表以及网络拓扑信息,并根据流表项的入端口对流表分组,分组后的子表记为一级子表;
步骤2、对每个一级子表中的流表项的匹配域分为精确匹配域和通配域,对每个流表项的精确匹配域进行哈希计算,哈希值相同的流表项将归入同一张二级子表中;
步骤3、将步骤2中得到二级子表内的所有流表的通配域表示为半闭半开区间的形式,将所有所述区间的左端点和右端点取出,并按照数值大小进行排序,每个通配域下的流表排序后分别组成一张流表区间表;
步骤4、选择网络中的所有边缘端口形成一个集合Pin;在集合Pin中的每个端口上建立一个探测生成包Probe;
步骤5、将每个探测生成包Probe注入其所在端口,注入过程为:找到端口依附的流表区间表,在所述端口上寻找可以匹配上所述探测生成包Probe的流表项;并将所述流表项应用在所述探测生成包Probe上,以生成一个子探测生成包Sub_Probe;每个子探测生成包Sub_Probe的TTL为其父级的TTL+1;
步骤6、对于每个探测生成包Probe及子探测生成包Sub_Probe,重复注入过程;直到子探测生成包Sub_Probe从某个端口流出或者TTL超出上界;
步骤7、收集所有流出端口的子探测生成包Sub_Probe,并回溯其父级直到遇到入端口;记录回溯过程中每个子探测生成包Sub_Probe所经过的端口,流表项以及包头信息,就得到所需要的探测包。
进一步的,步骤1的过程为:获取网络中所有的流表和拓扑信息,根据流表和拓扑信息构建虚拟端口和虚拟交换机,为每个端口分配唯一的全局标识符;再按照端口的全局标识符将每个流表分组,每组为一个一级子表。
进一步的,步骤2的具体过程为:先对每个一级子表中的流表项的匹配域进行划分,设每个流表项的匹配域写为Match,Match中的精确匹配域为(a1,a2...ai),通配域为(b1,b2...bi);不含有通配符的匹配域为精确匹配域,否则为通配域;对每个流表项的精确匹配域进行哈希计算,利用计算结果对整张一级子表针对精确匹配域建立哈希索引,精确匹配域的哈希值相同的流表项归入同一张二级子表中。
进一步的,在步骤3中,通过对左端点和右端点按照数值大小进行排序得到一张有序表T。
进一步的,在步骤4和步骤5中,通过建立探测生成包Probe来模拟数据包的在网络中的流动;所述探测生成包的包头和流表项中匹配域的数学表达形式一样,由精确匹配域和通配域组成。
进一步的,步骤3中,所述流表区间表是一种用来表示流表通配域的数据结构,通过使用流表区间表,一个探测生成包Probe能够快速搜索到该包能匹配到的所有流表项,从而生成子探测生成包Sub_Probe。
进一步的,在步骤6中,通过遍历的方式建立子探测生成包Sub_Probe,步骤6的具体过程为:每个探测生成包Probe通过自身所在的虚拟端口号搜索出其需要匹配的流表;然后根据精确匹配域的哈希值找到对应的子表;再根据自身通配域在流表区间表中搜索,找到匹配的区间;根据匹配到的区间生成一批子探测生成包Sub_Probe;将流表的动作应用后,对子探测生成包Sub_Probe重复上述过程,直到子探测生成包Sub_Probe从网络中离开或者TTL超过上限。
进一步的,步骤7中的过程为:首先,输出探测生成包的叶结点;然后递归输出每个结点父节点,直至父节点为根节点;探测包的包头通过对叶结点的探测生成包采样获得,探测包匹配到的流表项即为按照父节点回溯到根节点中每个探测生成包所匹配的流表项。
与现有技术相比,本发明至少具有以下有益的技术效果:
1)同一张流表内流表项可以按照匹配域进行快速检索。将交换机上的流表按照入端口重新分组,从而使得复杂的流表可以被拆分成多个较小的单表进行探测。排好序的流表通过快速检索和上级及下级流表之间建立连接关系,能够快速匹配。
2)不再通过交换机和控制器之间的控制通道收发探测包,减小了通信负载。控制器和交换机之间数据通路本身就十分紧张,如果占用的话会进一步导致两者之间信道的过载。
3)探测包生成方法能使得探测包的收发集中到终端上,使得探测包的收发不再受控制器的影响。
4)可以实现一个探测包探测多个流表项。大大减小了探测包生成过程中的冗余探测包的生成,从而极大地加快了探测包生成算法的运行速度;减少了探测包的生成结果数目。
5)提出的建立探测生成包结构来进行探测包生成的步骤6和步骤7可以并行执行。以不同交换机为入口交换机的探测包在路径上不会出现互相干扰的情况。所以该算法的这一部分可以并行执行,并行执行将进一步提升算法的运行速度。在多核机器上会有极大的性能提升。
6)将原来网络中复杂的流表匹配和数据包过程等价转化为了区间索引的方式。原先交换机中每张流中流表项的条目都是非常繁多的,这使得探测包的计算过程变得非常的耗时,每计算一个探测包都需要几乎对全表的遍历才能得到。采用分表的方式,将流表项按照交换机的入端口进行分组,这种分组极大地减小了每张表的规模。从而极大地加快了探测包的生成速度。
进一步的,将匹配域分为精确匹配域和通配域做索引,这种区分的优势在于,流表的精确匹配域占了流表匹配域的巨大部分,精确匹配代表这个域只能有一个具体的数值,这个具体的数值代表了可以使用哈希的方法来为精确匹配域建立索引。这使得当探测生成包进入匹配过程的时候可以直接通过精确域索引快速找到需要匹配的二级子表进行匹配。
进一步的,划分流表及创建虚拟端口主要是为了让每个物理端口拥有全局的唯一编码。同时将OpenFlow协议中的多级流表的匹配过程分离,简化匹配的过程。虚拟端口的创建过程为:将流表按照入端口划分为多个子表。每张子表的编号由前缀,中缀和后缀三部分组成,前缀为该表所在交换机的编号,中缀表示子表所在的端口类型,如果该端口本身就是真实存在的物理端口且该子表匹配的数据包是从该端口流入的,该位为1,如果端口本身是创建的虚拟端口,该位为0。如果该端口本身真实存在的物理端口且该子表匹配的数据包是从该端口流出的,该位为2。后缀表示端口的分配编号,物理端口沿用交换机的端口编号。虚拟端口则从1开始逐个端口分配。这样就确保了每个端口,无论是物理的还是虚拟的都拥有了在网络中全局唯一的编号。另外,因为虚拟端口的加入,原来流表项的动作也需要进行对应的改动,同时网络拓扑文件也要按照虚拟端口和虚拟交换机做链接。
附图说明
图1为本发明的流程图;
图2为流表的拆分示意图;
图2中左侧为拆分前的规则示意图,右侧为拆分后的规则示意图;
图3和图4是对流表区间表的构筑过程,图3为原始规则匹配域的示意图,图4为转化后的示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
参阅图1,本发明提供一种SDN中基于主动探测的探测包生成方法。
1.关键对象
1)流表:SDN交换机中反映数据包实际转发行为的数据结构。
2)流表项:流表中的一个具体的项目,由若干个域组成,较为重要的两个域是匹配域(Match)和动作域(Action)。一个流表项表示在其指定的匹配域上,数据包的动作。
3)匹配域:流表中用来匹配一个数据包的包头的数据结构。匹配域有若干事先定义好的网络子域组成,如MAC地址,IP地址,端口号等。
4)通配域:匹配域中允许出现通配符的子域,例如包含子网掩码的IP地址。
5)精确匹配域:匹配域中不允许出现通配符的子域,例如端口号。
6)探测生成包:用以生成一个探测包的中间数据结构,由包头,当前所在端口,父节点和子节点构成。其中包头数学表现形式和流表项中的匹配域相同。
7)边缘端口:网络交换机中与主机相连的端口。
8)流表区间:由流表通配域组成的一种可以搜索的数据格式。
下面结合图1、图2、图3和图4对本发明作进一步说明,本发明提供在SDN故障检测的主动探测方法中的一种探测包生成方法。包括以下步骤:
步骤1、收集网络中所有交换机上的流表以及网络拓扑信息,并根据流表项的入端口对流表分组。
如图2所示,图2是对1号交换机中对流表分组的操作示意图,假设1号交换机只有三个端口,编号分别为1,2,3。左侧两张表为原有流表,通过统计流表中的动作可以知道“Table 1”中流表有三种不同的Inport。所以“Table 1”这里可以拆成三张子表。子表编号前缀为交换机编号“1-”,中缀为原有流表编号“-1-”。后缀对应入端口编号,分别为“-1”,“-2”,“-3”。这样就得到了“Table 111”,“Table 112”,“Table 113”,对应在图1右侧。另外“Table 2”也按照同样的原则作转换,转换为“Table 121”。在新的四张表建立后,将原表中对应的流表项写入新分组的流表中,并修改动作。最终结果如图2右侧所示。
步骤2、在分好组的子表上为流表项建立索引信息,分好组的子表记为一级子表。
这里流表项按照匹配域建立索引,索引分为两个部分:精确匹配域上的索引和通配域上的索引。
先对每个一级子表中的流表项的匹配域进行划分,假设每个流表项的匹配域写为Match,Match中的精确匹配域为(a1,a2...ai),通配域为(b1,b2...bi)。精确匹配域是不含有通配符的匹配域,通配域则相反。对每个流表项的精确匹配域进行哈希计算Hash(a1,a2...ai),利用计算结果对整张一级子表针对精确匹配域建立哈希索引。精确匹配域的哈希值相同的流表项归入同一张二级子表中。
步骤3、建立通配域索引。将步骤2中得到二级子表内的所有流表项的通配域表示为半闭半开区间的形式,将区间的左右两个端点取出进行排序。每个匹配域组成一张流表区间表T,有序表T能够进行区间的快速索引。
将步骤2中得到二级子表内的所有流表项的通配域表示为半闭半开区间的形式,每个区间有左端点和右端点两个端点。每个端点中包含一个指向原流表项的反向指针。每个通配域中得到的这些端点的集合记为Si。将集合Si中的端点按照数值大小排序。一般来讲:网络中的流表项通配域主要有两个,一个是IP源地址,另一个是IP目的地址,而这两个地址都由CIDR地址块表示。一个CIDR地址块总可以写成k·2n/(m-n)的形式,这里m是存储该域所需要bit数,n是CIDR地址块通配符的个数,k为正整数。那么这个地址块总是可以表示为一个半闭半开区间的形式[k·2n,(k+1)·2n)。
通配域区间表示后得到了一种新的数据结构,图4是对图3中两条流表做转化之后得到区间表示图,这种数据结构的特点是严格有序的,并且是可搜索的。若想知道在匹配子域x上的流表匹配转发情况,就可以通过遍历区间表示图得到。首先读取图3中的第一个节点和第二个节点,得到B.xl和A.xl两个数,同时可以看到A.xl上的follow链表中的最后一项为B。这就代表了探测包包头里具有x属性并且取值范围在[B.xl,A.xl)之间的探测包可以被流表项B所匹配。接下来是第二和第三个节点A.xl,A.xh。落在第二个区间内的探测包可以被A匹配,当A丢失的时候则被B匹配。
Probe在网络中流动的过程本质上就是包头部分和流表项中各个匹配域子域进行对照的过程。步骤2和3中所进行的流表构造使得步骤5的匹配过程非常迅速,节省大量的时间。
步骤4、选择网络中的所有边缘端口集合,记为Pin。在Pin中的每个端口上建立一个探测生成包Probe。
每个探测生成包Probe的包头Header都和流表项的表现方式一样。包含精确匹配域(a1,a2...ai)和通配域(b1,b2...bi)。在这些探测生成包初始化的时候,每个匹配域的值为当前域上的全域。
步骤5、将每个探测生成包Probe注入其所在端口,注入过程为在该端口上寻找可以匹配上该探测生成包Probe一部分的流表项。并将该流表项应用在该探测生成包Probe上,以生成一个子探测生成包Sub_Probe。每个子探测生成包Sub_Probe的TTL为其父级的TTL+1。
步骤5中,每个探测生成包Probe进入模拟端口匹配的具体操作为,首先计算探测生成包Probe的精确匹配域的哈希值Hash(a1,a2...ai)。将该哈希值与该端口上每张子表的哈希值比较。属于包含关系的,则将探测生成包Probe的一个拷贝送入该子表进行下一步匹配,同时将该拷贝的包头中精确匹配域置为该子表的精确匹配域。每个Probe的拷贝都视为Probe的一个子节点,Probe是拷贝的父节点。两者之间通过双向指针互为索引。这些拷贝探测生成包所组成的集合记为Nextp。下一步匹配是将Nextp中的探测生成包通配域与各自对应的子表中的所通配域顶点集合{Si}做集合交操作。确定两者共有的区域。具体操作过程为,先取出一个通配域,在Nextp中的这个通配域表示成左右两个端点l和r,由于Si是有序表,所以可以通过二分搜索出端点l和r在Si中的下标记为indexl和indexr。Si中这两个下标之间所有的小区间就是Si和一个Probe在该通配域上的交集部分。把Probei在这些个小区间上分别做拷贝操作,就得到了一个Probe在当前子表上能匹配到的所有区间及对应流表的结构。
步骤6、对于每个探测生成包Probe及生成的子探测生成包Sub_Probe,重复注入过程。直到最后的Sub_Probe从某个端口流出或者TTL超出上界。
步骤6中,创建一个队列,将所有的探测生成包都放入这个队列,之后每次从队头取出一个探测生成包,按照该探测生成包当前所在的端口在对应的子表中搜索能匹配的流表项,根据到匹配的流表项生成一个子探测生成包Sub_Probe,子探测生成包Sub_Probe将应用匹配到流表项的动作。这个动作就表示该子探测生成包Sub_Probe经过该流表项后被转发到的下一个端口。如果下一个端口为空,就代表这个子探测生成包Sub_Probe被丢弃了;如果下一个端口为边界端口,就代表这个子探测生成包Sub_Probe成功的输出了,就将这个子探测生成包Sub_Probe放到结果集合中;否则将这个子探测生成包Sub_Probe加入队列尾端,直至队列为空。
步骤7、针对结果集合中的每一个Sub_probe,回溯其父级直到遇到入端口。记录回溯过程中每个Sub_probe所经过的端口,流表以及Header信息。就得到所需要的探测包。
步骤7中,结果的输出过程中,按照探测生成包的父节点持续递归输出,通过这种方式得到路径信息,也就是探测生成包所走过的路径;从叶结点的探测生成包的包头部分采样就可以得到一个探测包;探测生成包所走过的路径也就是探测包需要走的路径,路径上匹配到的所有流表项也就是该探测包能探测的流表项。
探测生成包所走过的路径也就是探测包需要走的路径,路径上匹配到的所有流表项也就是该探测包能探测的流表项。在实际网络中发送这个探测包并在指定端口收集探测包就可以确定网络中这部分流表项的是否发生了故障。
本发明包含以下SDN网络中的OpenFlow交换机及控制器、交换机上安装的流表、交换机拓扑、流表监听单元、生成算法,生成算法主要由针对入端口将流表分组为子表、按照匹配域中的精确匹配域和通配域对子表中的每个流表项建立索引、选择入端口并建立探测生成包队列、将探测包注入子表中进行匹配、收集匹配结果这几步组成。可以保证针对全网的交换机生成探测包,同时在秒级完成对于约7万条规则的探测包生成。

Claims (8)

1.一种SDN中基于主动探测的探测包生成方法,包括以下步骤:
步骤1、收集网络中所有交换机上的流表以及网络拓扑信息,并根据流表项的入端口对流表分组,分组后的子表记为一级子表;
步骤2、对每个一级子表中的流表项的匹配域分为精确匹配域和通配域,对每个流表项的精确匹配域进行哈希计算,哈希值相同的流表项将归入同一张二级子表中;
步骤3、将步骤2中得到二级子表内的所有流表的通配域表示为半闭半开区间的形式,将所有所述区间的左端点和右端点取出,并按照数值大小进行排序,每个通配域下的流表排序后分别组成一张流表区间表;
步骤4、选择网络中的所有边缘端口形成一个集合Pin;在集合Pin中的每个端口上建立一个探测生成包Probe;
步骤5、将每个探测生成包Probe注入其所在端口,注入过程为:找到端口依附的流表区间表,在所述端口上寻找可以匹配上所述探测生成包Probe的流表项;并将所述流表项应用在所述探测生成包Probe上,以生成一个子探测生成包Sub_Probe;每个子探测生成包Sub_Probe的TTL为其父级的TTL+1;
步骤6、对于每个探测生成包Probe及子探测生成包Sub_Probe,重复注入过程;直到子探测生成包Sub_Probe从某个端口流出或者TTL超出上界;
步骤7、收集所有流出端口的子探测生成包Sub_Probe,并回溯其父级直到遇到入端口;记录回溯过程中每个子探测生成包Sub_Probe所经过的端口,流表项以及包头信息,就得到所需要的探测包。
2.根据权利要求1所述的一种SDN中基于主动探测的探测包生成方法,其特征在于,步骤1的过程为:获取网络中所有的流表和拓扑信息,根据流表和拓扑信息构建虚拟端口和虚拟交换机,为每个端口分配唯一的全局标识符;在端口的全局标识符下,按照流表项的入端口将每个流表分组,每组为一个一级子表。
3.根据权利要求1所述的一种SDN中基于主动探测的探测包生成方法,其特征在于,步骤2的具体过程为:先对每个一级子表中的流表项的匹配域进行划分,设每个流表项的匹配域写为Match,Match中的精确匹配域为(a1,a2...ai),通配域为(b1,b2...bi);不含有通配符的匹配域为精确匹配域,否则为通配域;对每个流表项的精确匹配域进行哈希计算,利用计算结果对整张一级子表针对精确匹配域建立哈希索引,精确匹配域的哈希值相同的流表项归入同一张二级子表中。
4.根据权利要求1所述的一种SDN中基于主动探测的探测包生成方法,其特征在于,在步骤3中,通过对左端点和右端点按照数值大小进行排序得到一张有序表T。
5.根据权利要求1所述的一种SDN中基于主动探测的探测包生成方法,其特征在于,在步骤4和步骤5中,通过建立探测生成包Probe来模拟数据包的在网络中的流动;所述探测生成包的包头和流表项中匹配域的数学表达形式一样,由精确匹配域和通配域组成。
6.根据权利要求1所述的一种SDN中基于主动探测的探测包生成方法,其特征在于,步骤3中,所述流表区间表是一种用来表示流表通配域的数据结构,通过使用流表区间表,一个探测生成包Probe能够快速搜索到该包能匹配到的所有流表项,从而生成子探测生成包Sub_Probe。
7.根据权利要求1所述的一种SDN中基于主动探测的探测包生成方法,其特征在于,在步骤6中,通过遍历的方式建立子探测生成包Sub_Probe,步骤6的具体过程为:每个探测生成包Probe通过自身所在的虚拟端口号搜索出其需要匹配的流表;然后根据精确匹配域的哈希值找到对应的子表;再根据自身通配域在流表区间表中搜索,找到匹配的区间;根据匹配到的区间生成一批子探测生成包Sub_Probe;将流表的动作应用后,对子探测生成包Sub_Probe重复上述过程,直到子探测生成包Sub_Probe从网络中离开或者TTL超过上限。
8.根据权利要求1所述的一种SDN中基于主动探测的探测包生成方法,其特征在于,步骤7中的过程为:首先,输出探测生成包的叶结点;然后递归输出每个结点父节点,直至父节点为根节点;探测包的包头通过对叶结点的探测生成包采样获得,探测包匹配到的流表项即为按照父节点回溯到根节点中每个探测生成包所匹配的流表项。
CN201910704175.3A 2019-07-31 2019-07-31 一种sdn中基于主动探测的探测包生成方法 Active CN110430094B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910704175.3A CN110430094B (zh) 2019-07-31 2019-07-31 一种sdn中基于主动探测的探测包生成方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910704175.3A CN110430094B (zh) 2019-07-31 2019-07-31 一种sdn中基于主动探测的探测包生成方法

Publications (2)

Publication Number Publication Date
CN110430094A CN110430094A (zh) 2019-11-08
CN110430094B true CN110430094B (zh) 2021-01-19

Family

ID=68413592

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910704175.3A Active CN110430094B (zh) 2019-07-31 2019-07-31 一种sdn中基于主动探测的探测包生成方法

Country Status (1)

Country Link
CN (1) CN110430094B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115334019B (zh) * 2022-08-03 2023-09-26 厦门大学 可编程交换机处理sat问题的数据处理方法及可编程交换机

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109921996A (zh) * 2018-12-29 2019-06-21 长沙理工大学 一种高性能的OpenFlow虚拟流表查找方法
CN110011915A (zh) * 2018-01-04 2019-07-12 杭州达乎科技有限公司 Sdn网络架构、基于sdn的流量转发控制方法及装置

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103401726B (zh) * 2013-07-19 2016-12-07 华为技术有限公司 网络路径探测方法及装置、系统
CN104780095A (zh) * 2015-04-30 2015-07-15 杭州华三通信技术有限公司 一种sdn网络中的路径探测方法和装置
CN104917760B (zh) * 2015-05-26 2018-12-11 北京邮电大学 一种基于sdn的全局流表生成方法及装置
US20170359259A1 (en) * 2016-06-09 2017-12-14 Hewlett Packard Enterprise Development Lp Packet field matching in openflow
CN105897518B (zh) * 2016-06-30 2018-11-06 电子科技大学 一种全sdn网络的链路性能参数测量方法
US10623308B2 (en) * 2017-02-17 2020-04-14 Dell Products L.P. Flow routing system
CN109818834B (zh) * 2019-03-25 2020-09-15 国家计算机网络与信息安全管理中心 一种轻量级的sdn流表规则探测工具及探测方法

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110011915A (zh) * 2018-01-04 2019-07-12 杭州达乎科技有限公司 Sdn网络架构、基于sdn的流量转发控制方法及装置
CN109921996A (zh) * 2018-12-29 2019-06-21 长沙理工大学 一种高性能的OpenFlow虚拟流表查找方法

Also Published As

Publication number Publication date
CN110430094A (zh) 2019-11-08

Similar Documents

Publication Publication Date Title
Sherwood et al. Discarte: a disjunctive internet cartographer
CN111953507B (zh) 一种网络拓扑发现方法、装置以及计算机存储介质
US9736053B2 (en) Layer 2 path tracing through context encoding in software defined networking
US6944130B1 (en) Method and apparatus for determining a layer 2 path in a switched network
Leng et al. A mechanism for reducing flow tables in software defined network
CN111245969B (zh) 一种面向ip定位的大规模网络别名解析方法
CN110489317B (zh) 基于工作流的云系统任务运行故障诊断方法与系统
CN110430094B (zh) 一种sdn中基于主动探测的探测包生成方法
Gunes et al. Inferring subnets in router-level topology collection studies
CN115712563A (zh) 一种基于文法变异的模糊测试方法
Anirudh Sabnis et al. OCCAM: An optimization based approach to network inference
CN110932971A (zh) 一种基于请求信息逐层重构的域间路径分析方法
CN105450524B (zh) 一种媒体转发路由优化计算的方法
JP7032251B2 (ja) 障害影響範囲の推論装置、障害原因の推論装置、障害影響範囲の推論方法、障害原因の推論方法、及びプログラム
US7050404B1 (en) Method and system for determining network topology
Kardes et al. Graph based induction of unresponsive routers in internet topologies
Zhao et al. Troubleshooting data plane with rule verification in software-defined networks
CN111200542A (zh) 一种基于确定性替换策略的网络流量管理方法及系统
Zhao et al. Sdn-enabled rule verification on data plane
CN107404440A (zh) 一种转发表项发送方法、报文转发方法及装置
Towhid et al. Encrypted network traffic classification in sdn using self-supervised learning
CN110391980B (zh) 一种数据转发方法、路由设备及计算机存储介质
Grigoryan et al. VeriTable: Fast equivalence verification of multiple large forwarding tables
CN115242716B (zh) 一种基于bgp前缀树的ip地址路由可达性识别方法
Tariq et al. Taco: Semantic equivalence of ip prefix tables

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant