一种基于OpenFlow的SDN流量测量方法

文档序号:7815187阅读:1564来源:国知局
一种基于OpenFlow的SDN流量测量方法
【专利摘要】本发明公开了一种基于OpenFlow的SDN流量测量方法,控制器根据流量测量需求生成测量流表项,将对应交换机中满足流量测量需求的数据流对应的转发流表项的操作指令增加转入流量测量流表的操作,使得这些数据流通过测量流表项的计数器进行累计。控制器在流量测量需求输入、新流到达、时间间隔达到最大时主动向交换机发送流量查询信息进行流量查询,在测量流表项被删除时被动接收交换机上报的流量信息,从而进行流量信息采集和统计,将结果保存到流量统计结果表中。本发明通过采用测量流表项,解决现有SDN流量测量中开销大、不能识别通配符等问题,实现灵活、准确的流量测量。
【专利说明】—种基于OpenF1w的SDN流量测量方法

【技术领域】
[0001]本发明属于SDN流量测量【技术领域】,更为具体地讲,涉及一种基于OpenFlow的SDN
流量测量方法。

【背景技术】
[0002]流量测量是用来获取网络流量状况和链路使用情况等网络资源情况的主要技术手段,它被广泛应用在网络管理工作中,如负载均衡、流量工程和异常检测等。
[0003]在传统网络中,流量测量的数据收集往往在离散的点上,很难获取流量的全局视图。且其网络以硬件为中心,其流量测量不利于部署且开销较大,以目前在部署中较为理想的基于流NetFlow技术为例,NetFlow需要预先设定网络采集器,并对指定的关键字进行拓展标识,通过统计过往流量并使用UDP数据包发送给网络采集器,由采集器完成分析、统计,从而实现流量测量功能。NetFlow虽然对不同的测量任务提供了通用支持,但他们消耗太多资源,如CPU、内存和带宽。
[0004]SDN(Software Defined Network,软件定义网络)的诞生为流量测量带来了新的机遇。在SDN网络中,控制器拥有全局网络视图使得流量测量获得的数据能够轻易的形成网络级的数据分析;SDN采用更为灵活的数据流转发方式并在流表中拥有计数器,使得流量数据采集变得更为方便和灵活;SDN采用集中控制的控制器使得数据采集可以集中在控制器上完成,无需再花费大量的精力在不同时间和空间去采集各个交换机上的流量数据。在现有的SDN网络测量中,OpenTM方法采用轮询的方式查询流表,f lowsense利用控制器与交换机之间的推送消息被动的计算网络带宽利用率,OpenSketch利用各种交换机离散地测量网络数据并统计再由控制器汇总。这三种流量测量方式都能有效地统计到网络中的流量,但是OpenTM需要轮询到每个流,增加了用于流量测量的消息量,且在交换机的选取上会影响到流量测量的精度;floWSenSe测量结果为流存在时间内的平均速率,在流持续时间较长时会影响其效率ApenSketch则需要修改数据面的设计,并且以上三种方法在流表中存在通配符的情况都将失效。
[0005]OpenFlow是近年来提出的一种新型网络交换模型。在OpenFlow网络中,网络设备(OpenFlow交换机)维护一个FlowTable (流表)并且只按照FlowTable进行转发,FlowTable本身的生成、维护、下发完全由控制器来实现。


【发明内容】

[0006]本发明的目的在于克服现有技术的不足,提供一种基于OpenFlow的SDN流量测量方法,解决现有SDN流量测量中开销大、不能识别通配符等问题,实现灵活、准确的流量测量。
[0007]为实现上述发明目的,本发明基于OpenFlow的SDN流量测量方法,包括以下步骤:
[0008]S1:将流量测量需求输入至基于OpenFlow的SDN网络中的控制器,流量测量需求中设置有交换机编号和测量相关字段,测量相关字段根据测量需要进行设置;
[0009]S2:控制器接收到流量测量需求后,将测量相关字段作为匹配项组合成为测量流表项的匹配头部,然后向交换机编号对应的交换机查询流表,根据反馈的流表中的各转发流表项对测量流表项进行匹配,匹配规则为:如果转发流表项匹配头部中的匹配项包含测量流表项匹配头部中的所有匹配项,或测量流表项匹配头部中的匹配项包含转发流表项匹配头部中的所有匹配项,即为匹配成功,其他情况均为匹配不成功,如果匹配不成功,控制器不作任何操作,如果匹配成功,控制器向匹配成功的转发流表项对应的交换机下发测量流表项并存入交换机本地的流量测量流表,流量测量流表的序号大于该交换机中所有其他转发流表的序号,发送指令在匹配成功的转发流表项的操作指令中增加转入流量测量流表的操作,并向交换机发送流表查询消息,将下发交换机的编号和测量流表项的匹配头部存入已下发流表项记录表,记录下发时间作为起始时间Ttl,将起始数据量Dtl置为O ;进入步骤S4;
[0010]S3:在流量测量过程中,每当控制器接收到来自交换机的PacketIn消息,则从PacketIn消息中解析得到交换机编号和测量相关字段,与流量测量需求的交换机编号和测量相关字段进行匹配,如果匹配不成功,则不作任何操作,如果匹配成功,则将测量相关字段组合成为测量流表项的匹配头部,判断交换机编号和测量流表项是否存在于已下发流表项记录表中,如果存在,则在下发的转发流表项的操作指令中增加转入流量测量流表的操作,并向该交换机发送流表查询消息,进入步骤S4 ;如果不存在,将测量流表项下发至对应的交换机,并存入交换机本地的流量测量流表,在下发的转发流表项的操作指令中增加转入流量测量流表的操作,并向交换机发送流表查询消息,将下发交换机的编号和测量流表项的匹配头部存入已下发流表项记录表,记录下发时间作为起始时间Tci,将起始数据量Dci置为O,进入步骤S4 ;
[0011]S4:控制器发送流量查询消息后,监测当前时间与起始时间Ttl的时间间隔,当时间间隔等于预设的最大时间间隔t时,控制器再次向交换机发送流量查询消息;
[0012]S5:交换机接收到流表查询消息后,读取对应测量流表项中计数器得到的数据量D1,以当前时间作为终止时间T1,将数据量D1和终止时间T1发送给控制器,控制器计算时间t内的数据流量D = D1-D0和平均速率s = D/ (T1-T0),将交换机编号、测量流表项匹配头部、起始时间Ttl、终止时间T1、数据流量D和平均速率s记入流量统计结果列表,更新起始时间T0 = T1,起始数据量Dtl = D1 ;
[0013]S6:当交换机中的测量流表项删除,交换机主动读取对应测量流表项中计数器得到的数据量D1,如果是因为空闲超时删除,以当前时间减去空闲超时值作为终止时间T1,否则以当前时间作为终止时间T1,交换机将数据量D1和终止时间T1发送给控制器,控制器计算数据流量D = D1-D0和平均速率s = D/(T1-Ttl),将交换机编号、流表项匹配头部、起始时间Ttl、终止时间T1和数据流量D记入流量统计结果列表,删除下发流表项记录表的对应记录;
[0014]S7:当流量测量结束条件达到时,控制器删除对应流量测量需求,并查询已下发流表项记录表是否存在对应的测量流表项记录,如果不存在,不作任何操作,否则向测量流表项对应的交换机发送测量流表项删除指令,交换机在接收删除指令后删除对应的测量流表项。
[0015]本发明基于OpenFlow的SDN流量测量方法,控制器根据流量测量需求生成测量流表项,将对应交换机中满足流量测量需求的数据流对应的转发流表项的操作指令增加转入流量测量流表的操作,使得这些数据流通过测量流表项的计数器进行累计。控制器在流量测量需求输入、新流到达、时间间隔达到最大时主动向交换机发送流量查询信息进行流量查询,在测量流表项被删除时被动接收交换机上报的流量信息,从而进行流量信息采集和统计,将结果保存到流量统计结果表中。
[0016]本发明具有以下有益效果:
[0017](I)使用多级流表实现流量测量,流量测量流表的序号大于该交换机中所有其他转发流表的序号,从而无需再对流表中每一个数据流进行统计,只需要按照测量需求,下发一个测量流表项用于统计需要测量的流量情况,到测量时间点时,仅需要去查询一次交换机流表信息,就可以得到对应测量流表项的计数器所计的数据量;
[0018](2)被测数据流在交换机已经实现汇集,控制器只需要进行简单计算即可,从而实现了分布式的流量测量统计,减少了控制器用于测量的开销;
[0019](3)可以根据用户需求自由组合需要测量的网络信息来下发流量测量需求,以用于解决现有的使用OpenFlow的流量测量方案中尚未解决的通配符问题;
[0020](4)本发明符合OpenFlow协议规范且使用的消息都是OpenFlow协议的必选项,所以无需对交换机进行任何修改即可支持本发明的实施;
[0021](5)控制器采用主被动结合的方式获取流量信息,保证了测量的粒度与准确度。

【专利附图】

【附图说明】
[0022]图1是本发明基于OpenFlow的SDN流量测量方法的工作流程示意图;
[0023]图2是流量测量需求输入时测量流表项下发的工作流程图;
[0024]图3是新数据流到达时测量流表项下发的工作流程图;
[0025]图4是本发明基于OpenFlow的SDN流量测量方法的时间轴示例图。

【具体实施方式】
[0026]下面结合附图对本发明的【具体实施方式】进行描述,以便本领域的技术人员更好地理解本发明。需要特别提醒注意的是,在以下的描述中,当已知功能和设计的详细描述也许会淡化本发明的主要内容时,这些描述在这里将被忽略。
[0027]实施例
[0028]图1是本发明基于OpenFlow的SDN流量测量方法的工作流程示意图。如图1所示,本发明基于OpenFlow的SDN流量测量方法主要包括四个阶段:流量测量需求输入、测量流表项下发、流量信息采集与统计以及流量测量结束。下面根据这四个阶段对本发明的具体实施过程进行说明。
[0029]SlOl:流量测量需求输入
[0030]流量测量需求是测量人员根据测量需要进行设置的,然后通过与控制器设置的人机接口将流量测量需求输入至基于OpenFlow的SDN网络中的控制器,在实际应用,可以采用一个流量测量需求表来存储不同的流量测量需求,从而使多个流量测量需求可以同时进行操作。流量测量需求中设置有交换机编号和测量相关字段,测量相关字段根据测量需要进行设置,一般可以包括输入端口号、数据包的以太网头部中的以太网协议类型、源地址和目标地址。这些信息能确定该数据包在网络传输中的特征,从数据包中提取出这些信息来跟和流量测量需求进行比对,判断是否满足测量的需求,在符合需求的情况下,才执行后续步骤下发流表或查询流表信息,这样只有在有需要测量的数据流存在时,才会下发测量流表项,能有效节约测量流表项使用数量。
[0031]在测量相关字段中,交换机编号可以仅指定一个交换机,也可以采用网段来指定该网段的所有交换机,如果要对网络中的所有交换机进行流量测量,那么可能将交换机编号设置为全网段。同样的,测量相关字段也可以指定单个或多个值。例如输入端口号可以是单个端口,也可以设置为所有端口。
[0032]本实施例中,用户通过指定的URL将测量需求按照JSON的形式传入到控制器,控制器从JSON格式的数据包中取出其各字段的值,并将这些字段名和值,以数据字典的形式,存入到流量测量需求表中。采用JSON的格式,可以使测量需求的输入无需考虑语言,便于用户的使用。
[0033]S102:测量流表项下发
[0034]测量流表项的下发包括两种情况,一种是针对在流量测量需求输入时已存在转发流表项的流,一种是针对在测量过程中的新数据流。
[0035]图2是流量测量需求输入时测量流表项下发的工作流程图。如图2所示,流量测量需求输入时,测量流表项下发包括以下步骤:
[0036]S201:生成测量流表项:
[0037]控制器接收到流量测量需求后,将测量相关字段作为匹配项组合成为测量流表项的匹配头部,设置标签为流删除回发消息,空置指令中的instruct1n(指令)字段和act1n (行动)字段,使测量流表项不会对流表的转发产生影响;
[0038]S202:查询交换机的转发流表并匹配各转发流表项:
[0039]控制器向交换机编号对应的交换机发送查询消息进行流表查询,根据反馈的流表中的各转发流表项对测量流表项进行匹配。根据OpenFlow协议可知,当转发流表为多级流表时,进行匹配的转发流表项是由多级流表中构成流水线的对应流表项组成的整个流表项。匹配规则为:如果转发流表项匹配头部中的匹配项包含测量流表项匹配头部中的所有匹配项,或测量流表项匹配头部中的匹配项包含转发流表项匹配头部中的所有匹配项,即为匹配成功,其他情况均为匹配不成功。
[0040]假定测量需求设置的测量相关字段为输入端口 1,源地址为192.168.1.4。那么当转发流表项的匹配项为“输入端口 1”,“输入端口 1,源地址为192.168.1.4”或者“输入端口 1,源地址为192.168.1.4,目的地址为192.168.1.20”时,都为匹配成功。在第一种情况“输入端口 I”虽然没有与测量流表项匹配头部的匹配项一一匹配,但是此时通过该流表项的数据流有可能来自地址192.168.1.4,因此判断匹配成功,使其转向测量流表进行进一步匹配。后面两种情况都是与测量流表项匹配头部的匹配项完全匹配的,根据这两个转发流表项进行转发操作的数据流都是满足流量测量需求。采用这种方式,能在转发流表项存在通配符的情况下,依然可以实现流量测量,精准的获得测量结果。
[0041]S203:判断转发流表项和测量流表项是否匹配成功,如果匹配不成功,则说明该转发流表项处理的数据不满足流量测量需求,进入步骤S204,如果匹配成功,则说明该转发流表项处理的数据是在流量测量需求的统计范围内,进入步骤S205。
[0042]S204:控制器不作任何操作。
[0043]S205:控制器向匹配成功的转发流表项对应的交换机下发测量流表项并存入交换机本地的流量测量流表,流量测量流表的序号大于该交换机中所有其他转发流表的序号,发送指令在匹配成功的转发流表项的操作指令中增加转入流量测量流表的操作,并向交换机发送流表查询消息。
[0044]本发明采用多级流表来进行测量,使得无需改变原有的转发需求,完成用户需求的各种测量。由于多级流表只能从序号小的流表跳转至序号大的流表,因此为了满足一般性需求,可以将流量测量流表的序号设定为一个绝对大值,例如在现有技术中,最大表号为255,即可直接将流量测量流表的序号设定为255,这样就可以避免当交换机增加转发流表时对流量测量流表的序号进行调整。
[0045]S206:将下发交换机的编号和测量流表项的匹配头部存入已下发流表项记录表,记录下发时间作为起始时间Ttl,将起始数据量Dtl置为O。
[0046]图3是新数据流到达时测量流表项下发的工作流程图。如图3所示,新数据流到达时测量流表项下发包括以下步骤:
[0047]S301:新数据流到达:
[0048]在基于OpenFlow的SDN网络中,每当交换机接收到一个新数据流,就会向控制器发送一个PacketIn消息,那么当控制器接收到来自交换机的PacketIn消息,则说明新数据流到达,此时需要判断此新数据流是否在流量测量范围内,因此需要从PacketIn消息中解析得到交换机编号和测量相关字段。
[0049]S302:控制器将解析得到的交换机编号和测量相关字段与流量测量需求的交换机编号和测量相关字段进行匹配。由于PacketIn消息中包含了数据流的各项信息,因此可以提取出所有测量相关字段对应的信息,此时进行的匹配是完全匹配。
[0050]S303:判断步骤S302中的匹配是否成功,如果匹配不成功,进入步骤S304,如果匹配成功,进入步骤S305。
[0051]S304:控制器不作任何操作。
[0052]S305:控制器则将测量相关字段组合成为测量流表项的匹配头部。
[0053]S305:交换机编号和测量流表项是否存在于已下发流表项记录表中,如果存在,给进入步骤S306,如果不存在,进入步骤S307。
[0054]S306:此时测量流表项已经下发给交换机编号对应的交换机,因此不需要重复发送测量流表项,只需要在下发的转发流表项的操作指令中增加转入流量测量流表的操作,并向该交换机发送流表查询消息。
[0055]采用本步骤的操作可以使同一种测量需求在同一时间保持最多占用一个流表项空间。例如某流量测量需求是测量某个交换机中目标地址为M的流表,交换机现有转发流表中的存在输入端口 1、目标地址为M对应的转发流表项,同时测量流表中存在目标地址为M的测量流表项,而此时新数据流对应的输入端口为2、目标地址为M,那么不需要下发新的测量流表项,而只需要在下发的关于输入端口 2、目标地址为M的转发流表项中增加转入流量测量流表的操作。
[0056]S307:将测量流表项下发至对应的交换机,并存入交换机本地的流量测量流表,在下发的转发流表项的操作指令中增加转入流量测量流表的操作,并向交换机发送流表查询消息,进入S308。
[0057]S308:将下发交换机的编号和测量流表项的匹配头部存入已下发流表项记录表,记录下发时间作为起始时间Ttl,将起始数据量Dtl置为O。
[0058]在以上两种情况下,只要控制器对交换机的流表进行了操作,不管下发测量流表项并修改转发流表项,还是仅修改下发的转发流表项,在进行了流表操作后,控制器都向对应的交换机发送了流表查询消息,然后控制器需要监测当前时间与起始时间Ttl的时间间隔,当时间间隔等于预设的最大时间间隔t时,控制器再次向交换机发送流表查询消息。
[0059]本实施例中,提供了两种时间间隔监测的方法。
[0060]I)控制器中设置一计时器,每当计时器达到阈值时,读取当前时间T2,判断T2-L是否等于t,如果是,时间间隔等于预设的最大时间间隔t,设置计时器初值为0,阈值为t,如果不是,设置计时器初值为0,阈值为Tft-T215
[0061]2)控制器中设置一计时器,其阈值为t,每当控制器向对应交换机发送一次流表查询消息,则将计时器的值重置为0,当计时器的值为t时,时间间隔等于预设的最大时间间隔t。
[0062]在实际应用,最大时间间隔t可以预先存储一个默认值,也可以在测量需求输入时进行设置。通过对时间间隔进行测量,使时间间隔达到最大时间间隔才进行流量查询,而不采用定时查询,这样在保证粒度的情况下,能减少主动查询的次数,减少控制器与交换机之间的消息量。
[0063]S103:流量信息采集与统计
[0064]流量信息采集的分为两种情况:一种是控制器主动向交换机发送流表查询消息,交换机接收到流表查询消息向控制器进行回复流量信息,另一种是当测量流表项被删除时交换机主动向控制器上报,控制器被动接收流量信息。
[0065]交换机接收到流表查询消息后,读取对应测量流表项中计数器得到的数据量D1,以当前时间作为终止时间T1,将数据量D1和终止时间T1发送给控制器,控制器计算时间t内的数据流量D = D1-D0和平均速率s = DZ(T1-Ttl),将交换机编号、流表项匹配头部、起始时间Ttl、终止时间T1、数据流量D和平均速率s记入流量统计结果列表,更新起始时间Ttl =T1,起始数据量Dci = D1,等待下次下发流表查询消息。
[0066]当交换机中的测量流表项删除,交换机主动读取对应测量流表项中计数器得到的数据量D1,如果是因为空闲超时删除,以当前时间减去空闲超时值作为终止时间T1,否则以当前时间作为终止时间T1,交换机将数据量D1和终止时间T1发送给控制器,控制器计算数据流量D = D^Dtl和平均速率s = DAT1-Tci),将交换机编号、流表项匹配头部、起始时间T。、终止时间T1和数据流量D记入流量统计结果列表,删除下发流表项记录表的对应记录。
[0067]测量流表项删除的原因有多种,在本发明中,当流量测量结束时,也会删除测量流表项,在这种情况下整个流量测量就结束了。如果是因为其他原因被删除,例如空闲超时,那么当有新数据流到达时,还可能会重新建立测量流表项。
[0068]本发明中采用以上主被动结合的方式进行流量信息采集,通过主动查询可以保持流量信息的粒度,使得测量的准确度能获得较大的保障,并通过被动接收来减少控制器与交换机之间的消息开销,以节省网络资源。
[0069]S104:流量测量结束
[0070]当流量测量结束条件达到时,控制器删除对应流量测量需求,并查询已下发流表项记录表是否存在对应的测量流表项记录,如果不存在,不作任何操作,否则向测量流表项对应的交换机发送测量流表项删除指令,交换机在接收删除指令后删除对应的测量流表项。
[0071]一般来说,流量测量结束条件有两种情况:控制器接收到来自测量人员的流量测量结束指令,或者在流量测量需求输入时预设的流量测量结束时间到达。
[0072]图4是本发明基于OpenFlow的SDN流量测量方法的时间轴示例图。如图4所示,在时刻T1时有一个新的流量测量需求输入,根据本发明的具体流程可知,假定此时基于OpenFlow的SDN网络的交换机中存在满足流量测量需求的转发流表项,此时控制器会下发测量流表项,并下发一次流量查询信息,即时刻τ i为本次流量测量的第I个测量点,此时的起始时间Ttl= τ 10在时刻τ2,虽然时间间隔没有达到最大时间间隔t,但是由于此时有一个新数据流到达,并且满足流量测量需求,由于此时存在测量流表项,因此只需要修改下发的转发流表项,使其跳转至流量测量流表,并且下发一次流量查询信息,成为第2个测量点,更新起始时间Tci = τ 2。之后的两个测量点τ 3和τ 4,都是与起始时间的间隔达到最大时间间隔时产生的测量点。在时刻τ5,假定此时测量流表项的空闲时间达到了空闲超时值,则测量流表项被删除,控制器被动接收交换机上报的流量信息,产生第5个测量点。由于此时流量测量尚未结束,在时刻T6有一个新数据流到达,虽然满足流量测量需求,但是不存在测量流表项,因此重新下发测量流表项,并修改下发的转发流表项,下发一次流量查询信息,产生第6个测量点。在时刻τ7,流量测量结束条件达到,流量测量结束,控制器删除流量测量需求,并且查询到交换机存在测量流表项,因此删除测量流表项,控制器再次被动接收交换机上报的流量信息,产生第7个测量点。
[0073]尽管上面对本发明说明性的【具体实施方式】进行了描述,以便于本【技术领域】的技术人员理解本发明,但应该清楚,本发明不限于【具体实施方式】的范围,对本【技术领域】的普通技术人员来讲,只要各种变化在所附的权利要求限定和确定的本发明的精神和范围内,这些变化是显而易见的,一切利用本发明构思的发明创造均在保护之列。
【权利要求】
1.一种基于OpenFlow的SDN流量测量方法,其特征在于,包括以下步骤: 51:将流量测量需求输入至基于OpenFlow的SDN网络中的控制器,流量测量需求中设置有交换机编号和测量相关字段,测量相关字段根据测量需要进行设置; 52:控制器接收到流量测量需求后,将测量相关字段作为匹配项组合成为测量流表项的匹配头部,然后向交换机编号对应的交换机查询流表,根据反馈的流表中的各转发流表项对测量流表项进行匹配,匹配规则为:如果转发流表项匹配头部中的匹配项包含测量流表项匹配头部中的所有匹配项,或测量流表项匹配头部中的匹配项包含转发流表项匹配头部中的所有匹配项,即为匹配成功,其他情况均为匹配不成功,如果匹配不成功,控制器不作任何操作,如果匹配成功,控制器向匹配成功的转发流表项对应的交换机下发测量流表项并存入交换机本地的流量测量流表,流量测量流表的序号大于该交换机中所有其他转发流表的序号,发送指令在匹配成功的转发流表项的操作指令中增加转入流量测量流表的操作,并向交换机发送流表查询消息,将下发交换机的编号和测量流表项的匹配头部存入已下发流表项记录表,记录下发时间作为起始时间Ttl,将起始数据量Dtl置为O ;进入步骤S4 ; 53:在流量测量过程中,每当控制器接收到来自交换机的PacketIn消息,则从PacketIn消息中解析得到交换机编号和测量相关字段,与流量测量需求的交换机编号和测量相关字段进行匹配,如果匹配不成功,则不作任何操作,如果匹配成功,则将测量相关字段组合成为测量流表项的匹配头部,判断交换机编号和测量流表项是否存在于已下发流表项记录表中,如果存在,则在下发的转发流表项的操作指令中增加转入流量测量流表的操作,并向该交换机发送流表查询消息,进入步骤S4 ;如果不存在,将测量流表项下发至对应的交换机,并存入交换机本地的流量测量流表,在下发的转发流表项的操作指令中增加转入流量测量流表的操作,并向交换机发送流表查询消息,将下发交换机的编号和测量流表项的匹配头部存入已下发流表项记录表,记录下发时间作为起始时间Tci,将起始数据量Dci置为O,进入步骤S4 ; 54:控制器发送流量查询消息后,监测当前时间与起始时间Ttl的时间间隔,当时间间隔等于预设的最大时间间隔t时,控制器再次向交换机发送流量查询消息; 55:交换机接收到流表查询消息后,读取对应测量流表项中计数器得到的数据量D1,以当前时间作为终止时间T1,将数据量D1和终止时间T1发送给控制器,控制器计算时间t内的数据流量D = D1-D0和平均速率s = DZ(T1-Ttl),将交换机编号、测量流表项匹配头部、起始时间Ttl、终止时间T1、数据流量D和平均速率s记入流量统计结果列表,更新起始时间Ttl=T1,起始数据量Dtl = D1 ; 56:当交换机中的测量流表项删除,交换机主动读取对应测量流表项中计数器得到的数据量D1,如果是因为空闲超时删除,以当前时间减去空闲超时值作为终止时间T1,否则以当前时间作为终止时间T1,交换机将数据量D1和终止时间T1发送给控制器,控制器计算数据流量D = D^Dtl和平均速率s = DAT1-Tci),将交换机编号、流表项匹配头部、起始时间T。、终止时间T1和数据流量D记入流量统计结果列表,删除下发流表项记录表的对应记录; 57:当流量测量结束条件达到时,控制器删除对应流量测量需求,并查询已下发流表项记录表是否存在对应的测量流表项记录,如果不存在,不作任何操作,否则向测量流表项对应的交换机发送测量流表项删除指令,交换机在接收删除指令后删除对应的测量流表项。
2.根据权利要求1所述的SDN流量测量方法,其特征在于,所述步骤SI中的测量相关字段包括输入端口号、数据包的以太网头部中的以太网协议类型、源地址和目标地址。
3.根据权利要求1所述的SDN流量监测方法,其特征在于,所述步骤S4中时间间隔的监测方法为:控制器中设置一计时器,每当计时器达到阈值时,读取当前时间T2,判断T2-L是否等于t,如果是,时间间隔等于预设的最大时间间隔t,设置计时器初值为O,阈值为t,如果不是,设置计时器初值为O,阈值为Tft-T215
4.根据权利要求1所述的SDN流量测量方法,其特征在于,所述步骤S4中时间间隔的监测方法为:控制器中设置一计时器,其阈值为t,每当控制器向对应交换机发送一次流量查询消息,则将计时器的值重置为O,当计时器的值为t时,时间间隔等于预设的最大时间间隔t。
5.根据权利要求1所述的SDN流量监测方法,其特征在于,所述步骤S7的流量测量结束条件为控制器接收到流量测量结束指令,或者预设的流量测量结束时间到达。
【文档编号】H04L12/947GK104243240SQ201410492338
【公开日】2014年12月24日 申请日期:2014年9月23日 优先权日:2014年9月23日
【发明者】罗绪成, 刘梦娟, 刘峤, 陈伟, 张翔, 刘亚军, 汤四见, 李伟铭, 赵鹏 申请人:电子科技大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1