CN114726762B - 一种时延测量方法及装置 - Google Patents
一种时延测量方法及装置 Download PDFInfo
- Publication number
- CN114726762B CN114726762B CN202210297318.5A CN202210297318A CN114726762B CN 114726762 B CN114726762 B CN 114726762B CN 202210297318 A CN202210297318 A CN 202210297318A CN 114726762 B CN114726762 B CN 114726762B
- Authority
- CN
- China
- Prior art keywords
- openflow
- message
- packet
- sdn controller
- measurement
- 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
Links
- 238000000691 measurement method Methods 0.000 title claims description 8
- 238000005259 measurement Methods 0.000 claims abstract description 294
- 238000001514 detection method Methods 0.000 claims abstract description 125
- 230000004044 response Effects 0.000 claims abstract description 41
- 238000000034 method Methods 0.000 claims abstract description 17
- 230000005540 biological transmission Effects 0.000 claims description 22
- 230000009471 action Effects 0.000 claims description 15
- 238000012545 processing Methods 0.000 claims description 14
- HRULVFRXEOZUMJ-UHFFFAOYSA-K potassium;disodium;2-(4-chloro-2-methylphenoxy)propanoate;methyl-dioxido-oxo-$l^{5}-arsane Chemical compound [Na+].[Na+].[K+].C[As]([O-])([O-])=O.[O-]C(=O)C(C)OC1=CC=C(Cl)C=C1C HRULVFRXEOZUMJ-UHFFFAOYSA-K 0.000 claims description 11
- 239000000523 sample Substances 0.000 claims description 10
- 230000009467 reduction Effects 0.000 claims description 5
- 230000003111 delayed effect Effects 0.000 claims description 4
- 230000001934 delay Effects 0.000 claims description 3
- 230000000875 corresponding effect Effects 0.000 description 36
- 238000010586 diagram Methods 0.000 description 4
- 238000004590 computer program Methods 0.000 description 2
- 230000001360 synchronised effect Effects 0.000 description 2
- 238000012360 testing method Methods 0.000 description 2
- 238000004458 analytical method Methods 0.000 description 1
- 238000003491 array Methods 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000006855 networking Effects 0.000 description 1
- 230000008569 process Effects 0.000 description 1
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L43/00—Arrangements for monitoring or testing data switching networks
- H04L43/08—Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
- H04L43/0852—Delays
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/08—Configuration management of networks or network elements
- H04L41/0803—Configuration setting
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Environmental & Geological Engineering (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本申请提供一种时延测量方法及装置。该方法应用于SDN控制器,且包括:向指定的Openflow设备发送携带有测量报文的Packet_Out消息;向接收到的Packet_In消息的来源Openflow设备发送时延探测请求报文;接收来源Openflow设备发送的时延探测应答报文;根据接收到的所有的时延探测应答报文中携带的所有的时间戳、自身接收到来源Openflow设备发送的Packet_In消息时的时间戳、以及向来源Openflow设备发送时延探测请求报文时的时间戳,计算相关时延数据。本申请不需要Openflow设备之间的时钟同步,提高了时延数据的准确率,且节省了Openflow设备的CPU资源。
Description
技术领域
本申请涉及通信技术领域,尤其涉及一种时延测量方法及装置。
背景技术
在软件定义网络(Software Defined Network,SDN)网络中,为了便于及时优化网络性能,往往需要知晓网络设备之间的报文传输时延。
目前,可以使用NQA(Network Quality Analyzer,网络质量分析)测试机制来测量网络设备之间的报文传输时延,具体实现过程为:待测量的报文转发路径上的源端网络设备(即,该路径上的起始网络设备)构造指定测试类型的探测请求报文,并发送给目的端网络设备(即,该路径上的末端网络设备);目的端网络设备接收到探测请求报文后,向源端网络设备返回探测应答报文,其中,该探测应答报文中携带有目的端网络设备接收到探测请求报文时的时间戳;源端网络设备在接收到该探测应答报文后,根据接收到该探测应答报文时的时间戳、以及该探测应答报文中携带的时间戳,计算报文传输时延。
但是,在上述实现过程中,会存在以下技术缺陷:
1、需要源端网络设备和目的端网络设备的时钟保持同步,一旦时钟不同步,会影响测量的报文传输时延的准确率。
2、由每条待测量的报文转发路径上的目的端网络设备计算相关报文传输时延,会占用设备较多的中央处理器(Central Processing Unit,CPU)资源。
发明内容
为克服相关技术中存在的问题,本申请提供了一种时延测量方法及装置。
根据本申请实施例的第一方面,提供一种时延测量方法,所述方法应用于SDN网络中的SDN控制器,所述方法包括:
向所述SDN网络中的指定的开放流(Openflow)设备发送携带有测量报文的Packet_Out消息,以使所述指定的Openflow设备在所述测量报文中的指定字段信息命中预设的Openflow流表时,复制一份所述测量报文,对所述测量报文中的生存时间值(Time ToLive,TTL)值进行减N处理,将处理后的测量报文发送给下一跳Openflow设备,并基于所述Openflow流表中的动作项,将携带有复制的测量报文及其对应的入接口信息和出接口信息的Packet_In消息发送给所述SDN控制器,其中,所述测量报文的源IP地址为所述指定的Openflow设备的IP地址,且,处理后的测量报文用于指示下一跳Openflow设备在其接收到的处理后的测量报文中的所述指定字段信息命中所述Openflow流表时,判断自身是否为处理后的测量报文的目的设备,在判断结果为否时,复制一份接收到的测量报文,对接收到的测量报文中的TTL值进行减N处理,将处理后的测量报文发送给下一跳Openflow设备,并基于所述动作项,将携带有复制的测量报文及其对应的入接口信息和出接口接口信息的Packet_In消息发送给所述SDN控制器,在判断结果为是时,基于所述动作项,将携带有接收到的测量报文及其对应的入接口信息的Packet_In消息发送给所述SDN控制器,N为正整数;
向接收到的Packet_In消息的来源Openflow设备发送时延探测请求报文,其中,所述来源Openflow设备包括至少两台Openflow设备;
接收所述来源Openflow设备发送的时延探测应答报文,其中,每条时延探测应答报文中携带有对应的来源Openflow设备在自身不为所述目的设备时记录的自身接收到测量报文时的时间戳、自身发送测量报文时的时间戳、自身发送Packet_In消息时的时间戳和自身接收到时延探测请求报文时的时间戳,或者在自身为所述目的设备时记录的自身接收到测量报文时的时间戳、自身发送Packet_In消息时的时间戳和自身接收到时延探测请求报文时的时间戳;
根据接收到的所有的时延探测应答报文中携带的所有的时间戳、自身接收到所述来源Openflow设备发送的Packet_In消息时的时间戳、以及向所述来源Openflow设备发送时延探测请求报文时的时间戳,计算不为所述目的设备的来源Openflow设备收发测量报文的时延、所述SDN控制器与每台来源Openflow设备之间的单向管理链路的时延、所述SDN控制器发出的测量报文经过的来源Openflow设备中相邻的来源Openflow设备之间的单向数据链路的时延和从所述指定的Openflow设备发出测量报文到所述目的设备接收到测量报文的传输时延,其中,所有的相邻的来源Openflow设备为所述SDN控制器根据接收到的所有的Packet_In消息确定出的。
根据本申请实施例的第二方面,提供一种时延测量装置,所述装置应用于SDN网络中的SDN控制器,所述装置包括:
第一发送模块,用于向所述SDN网络中的指定的Openflow设备发送携带有测量报文的Packet_Out消息,以使所述指定的Openflow设备在所述测量报文中的指定字段信息命中预设的Openflow流表时,复制一份所述测量报文,对所述测量报文中的TTL值进行减N处理,将处理后的测量报文发送给下一跳Openflow设备,并基于所述Openflow流表中的动作项,将携带有复制的测量报文及其对应的入接口信息和出接口信息的Packet_In消息发送给所述SDN控制器,其中,所述测量报文的源IP地址为所述指定的Openflow设备的IP地址,且,处理后的测量报文用于指示下一跳Openflow设备在其接收到的处理后的测量报文中的所述指定字段信息命中所述Openflow流表时,判断自身是否为处理后的测量报文的目的设备,在判断结果为否时,复制一份接收到的测量报文,对接收到的测量报文中的TTL值进行减N处理,将处理后的测量报文发送给下一跳Openflow设备,并基于所述动作项,将携带有复制的测量报文及其对应的入接口信息和出接口接口信息的Packet_In消息发送给所述SDN控制器,在判断结果为是时,基于所述动作项,将携带有接收到的测量报文及其对应的入接口信息的Packet_In消息发送给所述SDN控制器,N为正整数;
第二发送模块,用于向接收到的Packet_In消息的来源Openflow设备发送时延探测请求报文,其中,所述来源Openflow设备包括至少两台Openflow设备;
接收模块,用于接收所述来源Openflow设备发送的时延探测应答报文,其中,每条时延探测应答报文中携带有对应的来源Openflow设备在自身不为所述目的设备时记录的自身接收到测量报文时的时间戳、自身发送测量报文时的时间戳、自身发送Packet_In消息时的时间戳和自身接收到时延探测请求报文时的时间戳,或者在自身为所述目的设备时记录的自身接收到测量报文时的时间戳、自身发送Packet_In消息时的时间戳和自身接收到时延探测请求报文时的时间戳;
测量模块,用于根据接收到的所有的时延探测应答报文中携带的所有的时间戳、自身接收到所述来源Openflow设备发送的Packet_In消息时的时间戳、以及向所述来源Openflow设备发送时延探测请求报文时的时间戳,计算不为所述目的设备的来源Openflow设备收发测量报文的时延、所述SDN控制器与每台来源Openflow设备之间的单向管理链路的时延、所述SDN控制器发出的测量报文经过的来源Openflow设备中相邻的来源Openflow设备之间的单向数据链路的时延和从所述指定的Openflow设备发出测量报文到所述目的设备接收到测量报文的传输时延,其中,所有的相邻的来源Openflow设备为所述SDN控制器根据接收到的所有的Packet_In消息确定出的。
本申请的实施例提供的技术方案可以包括以下有益效果:
在本申请实施例中,由SDN网络中的SDN控制器统一测量自身与指定的Openflow设备和相关目的设备所在的相关报文转发路径上的各Openflow设备之间的单向管理链路的时延、各Openflow设备中除相关目的设备之外的Openflow设备收发相关测量报文的时延、相关测量报文经过的各Openflow设备中相邻的Openflow设备之间的单向数据链路的时延以及从指定的Openflow设备发出相关测量报文到目的设备接收到相关测量报文的传输时延。
在这种时延数据的测量方案中,不需要各Openflow设备侧的时钟一致,这就提高了测量的时延数据的准确率。并且,由SDN控制器统一负责测量相关时延数据,可以节省各Openflow设备的CPU资源。
应当理解的是,以上的一般描述和后文的细节描述仅是示例性和解释性的,并不能限制本申请。
附图说明
此处的附图被并入说明书中并构成本申请的一部分,示出了符合本申请的实施例,并与说明书一起用于解释本申请的原理。
图1为本申请实施例提供的一种时延测量方法的流程示意图;
图2为本申请实施例提供的SDN网络的组网示意图;
图3为本申请实施例提供的一种时延测量装置的结构示意图;
图4为本申请实施例提供的一种电子设备的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”或者“若”可以被解释成为“在……时”或“当……时”。
接下来对本申请实施例进行详细说明。
本申请实施例提供了一种时延测量方法,该方法应用于中的SDN控制器,如图1所示,该方法可以包括如下步骤:
S11、向自身管理的指定的Openflow设备发送携带有测量报文的Packet_Out消息,以使指定的Openflow设备在测量报文中的指定字段信息命中预设的Openflow流表时,复制一份测量报文,对测量报文中的TTL值进行减N处理,将处理后的测量报文发送给下一跳Openflow设备,并基于Openflow流表中的动作项,将携带有复制的测量报文及其对应的入接口信息和出接口信息的Packet_In消息发送给SDN控制器。
在本步骤中,上述测量报文的源IP地址为指定的Openflow设备的IP地址,且,处理后的测量报文用于指示下一跳Openflow设备在其接收到的处理后的测量报文中的指定字段信息命中Openflow流表时,判断自身是否为处理后的测量报文的目的设备,在判断结果为否时,复制一份接收到的测量报文,对接收到的测量报文中的TTL值(可根据SDN网络的实际需求来设定)进行减N处理,将处理后的测量报文发送给下一跳Openflow设备,并基于动作项,将携带有复制的测量报文及其对应的入接口信息和出接口接口信息的Packet_In消息发送给SDN控制器,在判断结果为是时,基于动作项,将携带有接收到的测量报文及其对应的入接口信息的Packet_In消息发送给SDN控制器。
另外,在本步骤中,N为正整数。例如,N为1等。上述指定字段信息可以为差分服务代码点(Differentiated Services Code Point,DSCP)字段信息,当然,还可以为其他字段的信息,在此不再一一列举。
S12、向接收到的Packet_In消息的来源Openflow设备发送时延探测请求报文。
在本步骤中,来源Openflow设备包括至少两台Openflow设备。
S13、接收来源Openflow设备发送的时延探测应答报文。
在本步骤中,每条时延探测应答报文中携带有对应的来源Openflow设备在自身不为目的设备时记录的自身接收到测量报文时的时间戳、自身发送测量报文时的时间戳、自身发送Packet_In消息时的时间戳和自身接收到时延探测请求报文时的时间戳,或者在自身为目的设备时记录的自身接收到测量报文时的时间戳、自身发送Packet_In消息时的时间戳和自身接收到时延探测请求报文时的时间戳。
S14、根据接收到的所有的时延探测应答报文中携带的所有的时间戳、自身接收到来源Openflow设备发送的Packet_In消息时的时间戳、以及向来源Openflow设备发送时延探测请求报文时的时间戳,计算不为目的设备的来源Openflow设备收发测量报文的时延、SDN控制器与每台来源Openflow设备之间的单向管理链路的时延、SDN控制器发出的测量报文经过的来源Openflow设备中相邻的来源Openflow设备之间的单向数据链路的时延和从指定的Openflow设备发出测量报文到目的设备接收到测量报文的传输时延。
在本步骤中,所有的相邻的来源Openflow设备为SDN控制器根据接收到的所有的Packet_In消息确定出的。
在这里,除了上述目的设备向SDN控制器发送的Packet_In消息中携带了自身复制的测量报文及其对应的入接口信息,其他的Openflow设备(包括指定的Openflow设备和位于指定的Openflow设备与目的设备之间的Openflow设备(可称为中间Openflow设备))向SDN控制器发送的Packet_In消息中均携带了自身复制的测量报文及其对应的入接口信息和出接口信息。SDN控制器可以基于这些接口信息以及相应的测量报文中的TTL值,确定出来哪两个Openflow设备为相邻的Openflow设备。
需要说明的是,在上述步骤S11中,指定的Openflow设备和目的设备是SDN控制器根据实际的测量需求确定出来的。
另外,对于指定的Openflow设备而言,一旦接收到SDN控制器发送的测量报文,会记录下接收到该测量报文时的时间戳;后续发现该测量报文中的指定字段信息命中了预设的Openflow流表,此时,会复制一份测量报文,一方面,对该测量报文中的TTL值进行减N处理,将处理后的测量报文发送给下一跳Openflow设备,同时记录下发送处理后的测量报文时的时间戳;另一方面,会基于Openflow流表中的动作项,将携带有复制的测量报文及其对应的入接口信息和出接口信息的Packet_In消息发送给SDN控制器,同时记录下发送Packet_In消息时的时间戳。
对于下一跳Openflow设备而言,在接收到测量报文后,会记录下接收到的测量报文时的时间戳;后续发现接收到的测量报文中的指定字段信息命中了预设的Openflow流表,在这种情形下,判断自身是否为接收到的测量报文的目的设备,在判断结果为否时,会复制一份测量报文;一方面,将接收到的测量报文进行减N处理,将处理后的测量报文发送给下一跳Openflow设备,同时记录下发送处理后的测量报文时的时间戳;另一方面,会基于预设的Openflow流表中的动作项,将携带有复制的测量报文及其对应的入接口信息和出接口信息的Packet_In消息发送给SDN控制器,同时记录下发送Packet_In消息时的时间戳。
在判断结果为是时,直接基于预设的Openflow流表中的动作项,将携带有该测量报文及其对应的入接口信息的Packet_In消息发送给SDN控制器,同时记录下发送Packet_In消息时的时间戳。
也就是说,对于位于指定的Openflow设备与目的设备之间的中间Openflow设备而言,在接收到携带的指定字段信息命中了预设的Openflow流表的测量报文时的处理流程相同。对于SDN控制器发出的测量报文经过的所有的Openflow设备而言,本地预设的Openflow流表均相同。
进一步需要说明的是,SDN控制器执行完上述步骤S12之后,也会记录下发送每条时延探测请求报文时的时间戳。
对于任一来源Openflow设备而言,在接收到SDN控制器发送的时延探测请求报文时,会记录下接收到时延探测请求报文时的时间戳,并向SDN控制器发送时延探测应答报文。
在这里,在任一来源Openflow设备为指定的Openflow设备或者位于指定的Openflow设备与目的设备之间的中间Openflow设备时,发送给SDN控制器的时延探测应答报文中携带有自身记录的接收到测量报文时的时间戳、发送测量报文时的时间戳、发送Packet_In消息时的时间戳和发送该时延探测请求报文时的时间戳。
在任一来源Openflow设备为目的设备时,发送给SDN控制器的时延探测应答报文中携带有自身记录的接收到测量报文时的时间戳、发送Packet_In消息时的时间戳和发送该时延探测请求报文时的时间戳。
还需要说明的是,SDN控制器执行完上述步骤S13之后,会记录下接收到每条时延探测应答报文时的时间戳。
具体地,在上述步骤S14中,SDN控制器可以通过以下方式计算不为目的设备的来源Openflow设备收发测量报文的时延:
将不为目的设备的来源Openflow设备发送测量报文时的时间戳与不为目的设备的来源Openflow设备接收到测量报文时的时间戳进行减法运算,得到不为目的设备的来源Openflow设备收发测量报文的时延。
SDN控制器可以通过以下方式计算每台来源Openflow设备与SDN控制器之间的单向管理链路的时延:
针对每台来源Openflow设备,将该来源Openflow设备接收到SDN控制器发送的时延探测请求报文时的时间戳与该来源Openflow设备向SDN控制器发送Packet_In消息时的时间戳进行减法运算,得到第一运算结果;
将SDN控制器向该来源Openflow设备发送时延探测请求报文时的时间戳与SDN控制器接收到该来源Openflow设备发送的Packet_In消息时的时间戳进行减法运算,得到第二运算结果;
将第一运算结果与第二运算结果进行减法运算之后再除以2,得到SDN控制器与该来源Openflow设备之间的单向管理链路的时延。
在这里,之所以SDN控制器将第一运算结果与第二运算结果进行减法运算之后再除以2,主要是因为每台来源Openflow设备与SDN控制器之间的上行管理链路和下行管理链路的时延对称。
SDN控制器可以通过以下公式计算SDN控制器发出的测量报文经过的来源Openflow设备中的相邻的来源Openflow设备之间的单向数据链路的时延:
针对SDN控制器发出的测量报文经过的来源Openflow设备中的相邻的来源Openflow设备中的第一对相邻的来源Openflow设备,通过以下公式一计算得到第一对相邻的来源Openflow设备之间的单向数据链路时延:
公式一:A=a-b-[(c-d)-(e-f)]/2-[(g-h)-(e-f)]/2-(i-j)-(h-k),其中,
A为第一对相邻的来源Openflow设备之间的单向数据链路时延;
a为SDN控制器接收到第一对相邻的来源Openflow设备中的第二台Openflow设备发送的Packet_In消息时的时间戳;
b为SDN控制器向第一对相邻的来源Openflow设备中的第一台Openflow设备发送Packet_Out消息时的时间戳;
c为第一对相邻的来源Openflow设备中的第一台Openflow设备接收到SDN控制器发送的时延探测请求报文时的时间戳;
d为第一对相邻的来源Openflow设备中的第一台Openflow设备向SDN控制器发送Packet_In消息时的时间戳;
e为SDN控制器向指定的Openflow设备发送延探测请求报文时的时间戳;
f为SDN控制器接收到第一对相邻的来源Openflow设备中的第一台Openflow设备发送的Packet_In消息时的时间戳;
g为第一对相邻的来源Openflow设备中的第二台Openflow设备接收到SDN控制器发送的时延探测请求报文时的时间戳;
h为第一对相邻的来源Openflow设备中的第二台Openflow设备向SDN控制器发送Packet_In消息时的时间戳;
i为第一对相邻的来源Openflow设备中的第一台Openflow设备向第一对相邻的来源Openflow设备中的第二台Openflow设备发送测量报文时的时间戳;
j为第一对相邻的来源Openflow设备中的第一台Openflow设备接收到SDN控制器发送的Packet_Out消息的时间戳;
k为第一对相邻的来源Openflow设备中的第二台Openflow设备接收到第一对相邻的来源Openflow设备中的第一台Openflow设备发送的测量报文时的时间戳;
针对SDN控制器发出的测量报文经过的来源Openflow设备中的相邻的来源Openflow设备中的任一非第一对相邻的来源Openflow设备,通过以下公式二计算得到该非第一对相邻的来源Openflow设备之间的单向数据链路时延:
公式二:B=a1-a2-(a3-a4)-[(a5-a3)-(a6-a1)]/2+(a7-a8)+[(a9-a7)-(a10-a2)]/2,其中,
B为该非第一对相邻的来源Openflow设备之间的单向数据链路时延;
a1为SDN控制器接收到该非第一对相邻的来源Openflow设备中的第二台Openflow设备发送的Packet_In消息时的时间戳;
a2为SDN控制器接收到该非第一对相邻的来源Openflow设备中的第一台Openflow设备发送的Packet_In消息时的时间戳;
a3为该非第一对相邻的来源Openflow设备中的第一台Openflow设备向SDN控制器发送Packet_In消息时的时间戳;
a4为该非第一对相邻的来源Openflow设备中的第二台Openflow设备接收到该非第一对相邻的来源Openflow设备中的第一台Openflow设备发送的测量报文时的时间戳;
a5为该非第一对相邻的来源Openflow设备中的第二台Openflow设备接收到SDN控制器发送的时延探测请求报文时的时间戳;
a6为SDN控制器向该非第一对相邻的来源Openflow设备中的第二台Openflow设备发送延探测请求报文时的时间戳;
a7为该非第一对相邻的来源Openflow设备中的第一台Openflow设备向SDN控制器发送Packet_In消息时的时间戳;
a8为该非第一对相邻的来源Openflow设备中的第一台Openflow设备向该非第一对相邻的来源Openflow设备中的第二台Openflow设备发送测量报文时的时间戳;
a9为该非第一对相邻的来源Openflow设备中的第一台Openflow设备接收到SDN控制器发送的时延探测请求报文时的时间戳;
a10为SDN控制器向该非第一对相邻的来源Openflow设备中的第一台Openflow设备发送延探测请求报文时的时间戳。
SDN控制器可以通过以下公式三计算从指定的Openflow设备发出测量报文到目的设备接收到测量报文的传输时延:
公式三:C=l-b-[(c-d)-(e-f)]/2-[(m-n)-(o-l)]/2-(i-j)-(n-p);其中,
b、c、d、e、f、i和j的含义均与公式一中的b、c、d、e、f、i和j的含义相同;
l为SDN控制器接收到目的设备发送的Packet_In消息时的时间戳;
m为目的设备接收到SDN控制器发送的时延探测请求报文时的时间戳;
n为目的设备向SDN控制器发送Packet_In消息时的时间戳;
o为SDN控制器向目的设备发送延探测请求报文时的时间戳;
p为目的设备接收到测量报文时的时间戳。
下面结合具体实施例对上述时延测量方法进行详细说明。
如图2所示,假设SDN控制器管理了Openflow设备a、Openflow设备b、Openflow设备c和Openflow设备d。在这四台Openflow设备上预先设置了Openflow流表1,相应的匹配项为:IP报文中的DSCP字段,相应的动作项为:将携带有IP报文及其对应的入接口信息和出接口信息的Packet_In消息发送给SDN控制器。在这里,SDN网络还包括其他网络设备等,图2中未示出。
SDN控制器向指定的Openflow设备(例如,Openflow设备a)发送测量报文1,并记录下发送该测量报文1时的时间戳(例如,t0)。其中,该测量报文1的源IP地址为Openflow设备a的IP地址,目的IP地址为Openflow设备d的IP地址,该测量报文1中的TTL值为255。
Openflow设备a在接收到SDN控制器发送的该测量报文1后,记录下接收到该测量报文1时的时间戳(例如,ta1);然后,发现该测量报文1中的DSCP字段命中了Openflow流表1,此时,Openflow设备a复制一份该测量报文1,对该测量报文1中的TLL值进行减1处理,得到测量报文2,即,测量报文2中的TTL值为254,将测量报文2发送给下一跳Openflow设备(如图2所示的Openflow设备b),同时记录下发送该测量报文2时的时间戳(例如,ta2);并且,Openflow设备a基于Openflow流表1中的动作项,将携带有复制的测量报文(即,测量报文1)及其对应的入接口信息和出接口信息的Packet_In消息发送给SDN控制器,同时记录下发送Packet_In消息时的时间戳(例如,ta3)。
SDN控制器在接收到Openflow设备a发送的Packet_In消息后,记录下接收到此Packet_In消息时的时间戳(例如,ta5),并向Openflow设备a发送时延探测请求报文,同时记录下发送该时延探测请求报文时的时间戳(例如,ta6)。
Openflow设备a在接收到SDN控制器发送的时延探测请求报文后,记录下接收到该时延探测请求报文时的时间戳(例如,ta4),并向SDN控制器发送时延探测应答报文。在这里,该时延探测应答报文中携带有ta1、ta2、ta3和ta4。
对于Openflow设备b而言,在接收到该测量报文2后,记录下接收到该测量报文2时的时间戳(例如,tb1);然后,发现该测量报文2中的DSCP字段命中Openflow流表1,在这种情形下,判断自身是否为该测量报文的目的设备,由于自身不是目的设备,所以判断结果为否,在这种情形下,Openflow设备b复制一份该测量报文2;Openflow设备b对该测量报文2中的TTL减1,得到测量报文3,即,测量报文3中的TTL值为253,将测量报文3发送给下一跳Openflow设备(即,Openflow设备c),同时记录下发送该测量报文3时的时间戳(例如,tb2);并且,Openflow设备b基于Openflow流表1中的动作项,将携带有复制的测量报文(即,测量报文2)及其对应的入接口信息和出接口信息的Packet_In消息发送给SDN控制器,同时记录下发送Packet_In消息时的时间戳(例如,tb3)。
后续SDN控制器在接收到Openflow设备b发送的Packet_In消息后,记录下接收到此Packet_In消息时的时间戳(例如,tb5),并向Openflow设备b发送时延探测请求报文,同时记录下发送该时延探测请求报文时的时间戳(例如,tb6)。
Openflow设备b在接收到SDN控制器发送的时延探测请求报文后,记录下接收到该时延探测请求报文时的时间戳(例如,tb4),并向SDN控制器发送时延探测应答报文。在这里,该时延探测应答报文中携带有tb1、tb2、tb3和tb4。
对于Openflow设备c而言,在接收到该测量报文3后,记录下接收到该测量报文3时的时间戳(例如,tc1);然后,发现该测量报文3中的DSCP字段命中Openflow流表1,在这种情形下,判断自身是否为该测量报文的目的设备,由于自身不是目的设备,所以判断结果为否,在这种情形下,Openflow设备c复制一份该测量报文3;Openflow设备c对该测量报文3中的TTL减1,得到测量报文4,即,测量报文4中的TTL值为252,将该测量报文4发送给下一跳Openflow设备(即,Openflow设备d),同时记录下发送该测量报文4时的时间戳(例如,tc2);并且,Openflow设备c基于Openflow流表1中的动作项,将携带有复制的测量报文(即,测量报文3)及其对应的入接口信息和出接口信息的Packet_In消息发送给SDN控制器,同时记录下发送Packet_In消息时的时间戳(例如,tc3)。
后续SDN控制器在接收到Openflow设备c发送的Packet_In消息后,记录下接收到此Packet_In消息时的时间戳(例如,tc5),并向Openflow设备c发送时延探测请求报文,同时记录下发送该时延探测请求报文时的时间戳(例如,tc6)。
Openflow设备c在接收到SDN控制器发送的时延探测请求报文后,记录下接收到该时延探测请求报文时的时间戳(例如,tc4),并向SDN控制器发送时延探测应答报文。在这里,该时延探测应答报文中携带有tc1、tc2、tc3和tc4。
对于Openflow设备d而言,在接收到该测量报文后,记录下接收到该测量报文时的时间戳(例如,td1);然后,发现该测量报文中的DSCP字段命中Openflow流表1,在这种情形下,判断自身是否为该测量报文的目的设备,由于自身是目的设备,所以判断结果为是,在这种情形下,Openflow设备d基于Openflow流表1中的动作项,将携带有测量报文4及其对应的入接口信息的Packet_In消息发送给SDN控制器,同时记录下发送Packet_In消息时的时间戳(例如,td3)。
后续SDN控制器在接收到Openflow设备d发送的Packet_In消息后,记录下接收到此Packet_In消息时的时间戳(例如,td5),并向Openflow设备d发送时延探测请求报文,同时记录下发送该时延探测请求报文时的时间戳(例如,td6)。
Openflow设备d在接收到SDN控制器发送的时延探测请求报文后,记录下接收到该时延探测请求报文时的时间戳(例如,td4),并向SDN控制器发送时延探测应答报文。在这里,该时延探测应答报文中携带有tb1、tb3和tb4。
最后,SDN控制器在接收到Openflow设备a、Openflow设备b、Openflow设备c和Openflow设备d发送的时延探测应答报文之后,将Openflow设备a发送该测量报文2时的时间戳(即,ta2)与Openflow设备a接收到该测量报文1时的时间戳(即,ta1)进行减法运算,得到Openflow设备a收发测量报文的时延(即,ta2-ta1);将Openflow设备b发送该测量报文3时的时间戳(即,tb2)与Openflow设备b接收到该测量报文2时的时间戳(即,tb1)进行减法运算,得到Openflow设备b收发测量报文的时延(即,tb2-tb1);将Openflow设备c发送该测量报文4时的时间戳(即,tc2)与Openflow设备c接收到该测量报文3时的时间戳(即,tc1)进行减法运算,得到Openflow设备c收发测量报文的时延(即,tc2-tc1)。
针对Openflow设备a、Openflow设备b、Openflow设备c和Openflow设备d中的任一Openflow设备,SDN控制器将该Openflow设备接收到SDN控制器发送的时延探测请求报文时的时间戳与该Openflow设备向SDN控制器发送Packet_In消息时的时间戳进行减法运算,得到第一运算结果;将SDN控制器向该Openflow设备发送时延探测请求报文时的时间戳与SDN控制器接收到该Openflow设备发送的Packet_In消息时的时间戳进行减法运算,得到第二运算结果;将第一运算结果与第二运算结果进行减法运算之后再除以2,得到该Openflow设备与SDN控制器之间的单向管理链路的时延。
也即,Openflow设备a与SDN控制器之间的单向管理链路的时延为[(ta4-ta3)-(ta6-ta5)]/2;
Openflow设备b与SDN控制器之间的单向管理链路的时延为[(tb4-tb3)-(tb6-tb5)]/2;
Openflow设备c与SDN控制器之间的单向管理链路的时延为[(tc4-tc3)-(tc6-tc5)]/2;
Openflow设备d与SDN控制器之间的单向管理链路的时延为[(td4-td3)-(td6-td5)]/2。
针对SDN控制器发出的该测量报文1经过的Openflow设备中的相邻的Openflow设备中的第一对相邻的Openflow设备(即,Openflow设备a和Openflow设备b),SDN控制器使用上述公式一计算得到Openflow设备a和Openflow设备b之间的单向数据链路时延,即,tb5-t0-[(ta4-ta3)-(ta6-ta5)]/2-[(tb4-tb3)-(tb6-tb5)]/2-(ta2-ta1)-(tb3-tb1)。
针对SDN控制器发出的该测量报文1经过的Openflow设备中的相邻的Openflow设备中的任一非第一对相邻的来源Openflow设备,SDN控制器使用上述公式二计算得到该非第一对相邻的来源Openflow设备之间的单向数据链路时延。
即,Openflow设备b和Openflow设备c之间的单向数据链路时延为tc5-tb5-(tc3-tc1)-[(tc4-tc3)-(tc6-tc5)]/2+(tb3-tb2)+[(tb4-tb3)-(tb6-tb5)]/2。
Openflow设备c和Openflow设备d之间的单向数据链路时延为td5-tc5-(td3-td1)-[(td4-td3)-(td6-td5)]/2+(tc3-tc2)+[(tc4-tc3)-(tc6-tc5)]/2。
SDN控制器使用上述公式三计算得到从Openflow设备a发出该测量报文1到Openflow设备d接收到该测量报文4的传输时延,即,td5-t0-[(ta4-ta3)-(ta6-ta5)]/2-[(td4-td3)-(td6-td5)]/2-(ta2-ta1)-(td3-td1)。
由以上技术方案可以看出,在本申请实施例中,由SDN网络中的SDN控制器统一测量自身与指定的Openflow设备和相关目的设备所在的相关报文转发路径上的各Openflow设备之间的单向管理链路的时延、各Openflow设备中除相关目的设备之外的Openflow设备收发相关测量报文的时延、相关测量报文经过的各Openflow设备中相邻的Openflow设备之间的单向数据链路的时延以及从指定的Openflow设备发出相关测量报文到目的设备接收到相关测量报文的传输时延。
在这种时延数据的测量方案中,不需要各Openflow设备侧的时钟一致,这就提高了测量的时延数据的准确率。并且,由SDN控制器统一负责测量相关时延数据,可以节省各Openflow设备的CPU资源。
基于同一发明构思,本申请还提供了一种时延测量装置,所述装置应用于SDN网络中的SDN控制器,其结构示意图如图3所示,具体包括:
第一发送模块31,用于向所述SDN网络中的指定的Openflow设备发送携带有测量报文的Packet_Out消息,以使所述指定的Openflow设备在所述测量报文中的指定字段信息命中预设的Openflow流表时,复制一份所述测量报文,对所述测量报文中的TTL值进行减N处理,将处理后的测量报文发送给下一跳Openflow设备,并基于所述Openflow流表中的动作项,将携带有复制的测量报文及其对应的入接口信息和出接口信息的Packet_In消息发送给所述SDN控制器,其中,所述测量报文的源IP地址为所述指定的Openflow设备的IP地址,且,处理后的测量报文用于指示下一跳Openflow设备在其接收到的处理后的测量报文中的所述指定字段信息命中所述Openflow流表时,判断自身是否为处理后的测量报文的目的设备,在判断结果为否时,复制一份接收到的测量报文,对接收到的测量报文中的TTL值进行减N处理,将处理后的测量报文发送给下一跳Openflow设备,并基于所述动作项,将携带有复制的测量报文及其对应的入接口信息和出接口接口信息的Packet_In消息发送给所述SDN控制器,在判断结果为是时,基于所述动作项,将携带有接收到的测量报文及其对应的入接口信息的Packet_In消息发送给所述SDN控制器,N为正整数;
第二发送模块32,用于向接收到的Packet_In消息的来源Openflow设备发送时延探测请求报文,其中,所述来源Openflow设备包括至少两台Openflow设备;
接收模块33,用于接收所述来源Openflow设备发送的时延探测应答报文,其中,每条时延探测应答报文中携带有对应的来源Openflow设备在自身不为所述目的设备时记录的自身接收到测量报文时的时间戳、自身发送测量报文时的时间戳、自身发送Packet_In消息时的时间戳和自身接收到时延探测请求报文时的时间戳,或者在自身为所述目的设备时记录的自身接收到测量报文时的时间戳、自身发送Packet_In消息时的时间戳和自身接收到时延探测请求报文时的时间戳;
测量模块34,用于根据接收到的所有的时延探测应答报文中携带的所有的时间戳、自身接收到所述来源Openflow设备发送的Packet_In消息时的时间戳、以及向所述来源Openflow设备发送时延探测请求报文时的时间戳,计算不为所述目的设备的来源Openflow设备收发测量报文的时延、所述SDN控制器与每台来源Openflow设备之间的单向管理链路的时延、所述SDN控制器发出的测量报文经过的来源Openflow设备中相邻的来源Openflow设备之间的单向数据链路的时延和从所述指定的Openflow设备发出测量报文到所述目的设备接收到测量报文的传输时延,其中,所有的相邻的来源Openflow设备为所述SDN控制器根据接收到的所有的Packet_In消息确定出的。
优选地,所述指定字段信息为DSCP字段信息。
优选地,所述测量模块34,具体用于通过以下方式计算不为所述目的设备的来源Openflow设备收发测量报文的时延:
将不为所述目的设备的来源Openflow设备发送测量报文时的时间戳与不为所述目的设备的来源Openflow设备接收到测量报文时的时间戳进行减法运算,得到不为所述目的设备的来源Openflow设备收发测量报文的时延。
优选地,所述测量模块34,具体用于通过以下方式计算每台来源Openflow设备与所述SDN控制器之间的单向管理链路的时延:
针对每台来源Openflow设备,将该来源Openflow设备接收到所述SDN控制器发送的时延探测请求报文时的时间戳与该来源Openflow设备向所述SDN控制器发送Packet_In消息时的时间戳进行减法运算,得到第一运算结果;
将所述SDN控制器向该来源Openflow设备发送时延探测请求报文时的时间戳与所述SDN控制器接收到该来源Openflow设备发送的Packet_In消息时的时间戳进行减法运算,得到第二运算结果;
将所述第一运算结果与所述第二运算结果进行减法运算之后再除以2,得到所述SDN控制器与该来源Openflow设备之间的单向管理链路的时延。
优选地,所述测量模块34,具体用于通过以下方式计算所述SDN控制器发出的测量报文经过的来源Openflow设备中的相邻的来源Openflow设备之间的单向数据链路的时延:
针对所述SDN控制器发出的测量报文经过的来源Openflow设备中的相邻的来源Openflow设备中的第一对相邻的来源Openflow设备,通过以下公式一计算得到第一对相邻的来源Openflow设备之间的单向数据链路时延:
公式一:A=a-b-[(c-d)-(e-f)]/2-[(g-h)-(e-f)]/2-(i-j)-(h-k),其中,
A为第一对相邻的来源Openflow设备之间的单向数据链路时延;
a为所述SDN控制器接收到第一对相邻的来源Openflow设备中的第二台Openflow设备发送的Packet_In消息时的时间戳;
b为所述SDN控制器向第一对相邻的来源Openflow设备中的第一台Openflow设备发送Packet_Out消息时的时间戳;
c为第一对相邻的来源Openflow设备中的第一台Openflow设备接收到所述SDN控制器发送的时延探测请求报文时的时间戳;
d为第一对相邻的来源Openflow设备中的第一台Openflow设备向所述SDN控制器发送Packet_In消息时的时间戳;
e为所述SDN控制器向所述指定的Openflow设备发送延探测请求报文时的时间戳;
f为所述SDN控制器接收到第一对相邻的来源Openflow设备中的第一台Openflow设备发送的Packet_In消息时的时间戳;
g为第一对相邻的来源Openflow设备中的第二台Openflow设备接收到所述SDN控制器发送的时延探测请求报文时的时间戳;
h为第一对相邻的来源Openflow设备中的第二台Openflow设备向所述SDN控制器发送Packet_In消息时的时间戳;
i为第一对相邻的来源Openflow设备中的第一台Openflow设备向第一对相邻的来源Openflow设备中的第二台Openflow设备发送所述测量报文时的时间戳;
j为第一对相邻的来源Openflow设备中的第一台Openflow设备接收到所述SDN控制器发送的Packet_Out消息的时间戳;
k为第一对相邻的来源Openflow设备中的第二台Openflow设备接收到第一对相邻的来源Openflow设备中的第一台Openflow设备发送的测量报文时的时间戳;
针对所述SDN控制器发出的测量报文经过的来源Openflow设备中的相邻的来源Openflow设备中的任一非第一对相邻的来源Openflow设备,通过以下公式二计算得到该非第一对相邻的来源Openflow设备之间的单向数据链路时延:
公式二:B=a1-a2-(a3-a4)-[(a5-a3)-(a6-a1)]/2+(a7-a8)+[(a9-a7)-(a10-a2)]/2,其中,
B为该非第一对相邻的来源Openflow设备之间的单向数据链路时延;
a1为所述SDN控制器接收到该非第一对相邻的来源Openflow设备中的第二台Openflow设备发送的Packet_In消息时的时间戳;
a2为所述SDN控制器接收到该非第一对相邻的来源Openflow设备中的第一台Openflow设备发送的Packet_In消息时的时间戳;
a3为该非第一对相邻的来源Openflow设备中的第一台Openflow设备向所述SDN控制器发送Packet_In消息时的时间戳;
a4为该非第一对相邻的来源Openflow设备中的第二台Openflow设备接收到该非第一对相邻的来源Openflow设备中的第一台Openflow设备发送的所述测量报文时的时间戳;
a5为该非第一对相邻的来源Openflow设备中的第二台Openflow设备接收到所述SDN控制器发送的时延探测请求报文时的时间戳;
a6为所述SDN控制器向该非第一对相邻的来源Openflow设备中的第二台Openflow设备发送延探测请求报文时的时间戳;
a7为该非第一对相邻的来源Openflow设备中的第一台Openflow设备向所述SDN控制器发送Packet_In消息时的时间戳;
a8为该非第一对相邻的来源Openflow设备中的第一台Openflow设备向该非第一对相邻的来源Openflow设备中的第二台Openflow设备发送测量报文时的时间戳;
a9为该非第一对相邻的来源Openflow设备中的第一台Openflow设备接收到所述SDN控制器发送的时延探测请求报文时的时间戳;
a10为所述SDN控制器向该非第一对相邻的来源Openflow设备中的第一台Openflow设备发送延探测请求报文时的时间戳。
优选地,所述测量模块34,具体还用于通过以下公式三计算从所述指定的Openflow设备发出所述测量报文到所述目的设备接收到所述测量报文的传输时延:
公式三:C=l-b-[(c-d)-(e-f)]/2-[(m-n)-(o-l)]/2-(i-j)-(n-p);其中,
b、c、d、e、f、i和j的含义均与所述公式一中的b、c、d、e、f、i和j的含义相同;
l为所述SDN控制器接收到所述目的设备发送的Packet_In消息时的时间戳;
m为所述目的设备接收到所述SDN控制器发送的时延探测请求报文时的时间戳;
n为所述目的设备向所述SDN控制器发送Packet_In消息时的时间戳;
o为所述SDN控制器向所述目的设备发送延探测请求报文时的时间戳;
p为所述目的设备接收到测量报文时的时间戳。
由以上技术方案可以看出,在本申请实施例中,由SDN网络中的SDN控制器统一测量自身与指定的Openflow设备和相关目的设备所在的相关报文转发路径上的各Openflow设备之间的单向管理链路的时延、各Openflow设备中除相关目的设备之外的Openflow设备收发相关测量报文的时延、相关测量报文经过的各Openflow设备中相邻的Openflow设备之间的单向数据链路的时延以及从指定的Openflow设备发出相关测量报文到目的设备接收到相关测量报文的传输时延。
在这种时延数据的测量方案中,不需要各Openflow设备侧的时钟一致,这就提高了测量的时延数据的准确率。并且,由SDN控制器统一负责测量相关时延数据,可以节省各Openflow设备的CPU资源。
本申请实施例还提供了一种电子设备,如图4所示,包括处理器41和机器可读存储介质42,所述机器可读存储介质42存储有能够被所述处理器41执行的机器可执行指令,所述处理器41被所述机器可执行指令促使:实现上述时延测量方法的步骤。
上述的机器可读存储介质可以包括随机存取存储器(Random Access Memory,RAM),也可以包括非易失性存储器(Non-Volatile Memory,NVM),例如至少一个磁盘存储器。可选的,机器可读存储介质还可以是至少一个位于远离前述处理器的存储装置。
上述的处理器可以是通用处理器,包括中央处理器(Central Processing Unit,CPU)、网络处理器(Network Processor,NP)等;还可以是数字信号处理器(Digital SignalProcessor,DSP)、专用集成电路(Application Specific Integrated Circuit,ASIC)、现场可编程门阵列(Field-Programmable Gate Array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
在本申请提供的又一实施例中,还提供了一种计算机可读存储介质,该计算机可读存储介质内存储有计算机程序,所述计算机程序被处理器执行时实现上述时延测量方法的步骤。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。
Claims (12)
1.一种时延测量方法,其特征在于,所述方法应用于软件定义网络SDN网络中的SDN控制器,所述方法包括:
向所述SDN网络中的指定的开放流Openflow设备发送携带有测量报文的Packet_Out消息,以使所述指定的Openflow设备在所述测量报文中的指定字段信息命中预设的Openflow流表时,复制一份所述测量报文,对所述测量报文中的生存时间值TTL值进行减N处理,将处理后的测量报文发送给下一跳Openflow设备,并基于所述Openflow流表中的动作项,将携带有复制的测量报文及其对应的入接口信息和出接口信息的Packet_In消息发送给所述SDN控制器,其中,所述测量报文的源IP地址为所述指定的Openflow设备的IP地址,且,处理后的测量报文用于指示下一跳Openflow设备在其接收到的处理后的测量报文中的所述指定字段信息命中所述Openflow流表时,判断自身是否为处理后的测量报文的目的设备,在判断结果为否时,复制一份接收到的测量报文,对接收到的测量报文中的TTL值进行减N处理,将处理后的测量报文发送给下一跳Openflow设备,并基于所述动作项,将携带有复制的测量报文及其对应的入接口信息和出接口接口信息的Packet_In消息发送给所述SDN控制器,在判断结果为是时,基于所述动作项,将携带有接收到的测量报文及其对应的入接口信息的Packet_In消息发送给所述SDN控制器,N为正整数;
向接收到的Packet_In消息的来源Openflow设备发送时延探测请求报文,其中,所述来源Openflow设备包括至少两台Openflow设备;
接收所述来源Openflow设备发送的时延探测应答报文,其中,每条时延探测应答报文中携带有对应的来源Openflow设备在自身不为所述目的设备时记录的自身接收到测量报文时的时间戳、自身发送测量报文时的时间戳、自身发送Packet_In消息时的时间戳和自身接收到时延探测请求报文时的时间戳,或者在自身为所述目的设备时记录的自身接收到测量报文时的时间戳、自身发送Packet_In消息时的时间戳和自身接收到时延探测请求报文时的时间戳;
根据接收到的所有的时延探测应答报文中携带的所有的时间戳、自身接收到所述来源Openflow设备发送的Packet_In消息时的时间戳、以及向所述来源Openflow设备发送时延探测请求报文时的时间戳,计算不为所述目的设备的来源Openflow设备收发测量报文的时延、所述SDN控制器与每台来源Openflow设备之间的单向管理链路的时延、所述SDN控制器发出的测量报文经过的来源Openflow设备中相邻的来源Openflow设备之间的单向数据链路的时延和从所述指定的Openflow设备发出测量报文到所述目的设备接收到测量报文的传输时延,其中,所有的相邻的来源Openflow设备为所述SDN控制器根据接收到的所有的Packet_In消息确定出的。
2.根据权利要求1所述的方法,其特征在于,所述指定字段信息为差分服务代码点DSCP字段信息。
3.根据权利要求1所述的方法,其特征在于,通过以下方式计算不为所述目的设备的来源Openflow设备收发测量报文的时延:
将不为所述目的设备的来源Openflow设备发送测量报文时的时间戳与不为所述目的设备的来源Openflow设备接收到测量报文时的时间戳进行减法运算,得到不为所述目的设备的来源Openflow设备收发测量报文的时延。
4.根据权利要求1所述的方法,其特征在于,通过以下方式计算每台来源Openflow设备与所述SDN控制器之间的单向管理链路的时延:
针对每台来源Openflow设备,将该来源Openflow设备接收到所述SDN控制器发送的时延探测请求报文时的时间戳与该来源Openflow设备向所述SDN控制器发送Packet_In消息时的时间戳进行减法运算,得到第一运算结果;
将所述SDN控制器向该来源Openflow设备发送时延探测请求报文时的时间戳与所述SDN控制器接收到该来源Openflow设备发送的Packet_In消息时的时间戳进行减法运算,得到第二运算结果;
将所述第一运算结果与所述第二运算结果进行减法运算之后再除以2,得到所述SDN控制器与该来源Openflow设备之间的单向管理链路的时延。
5.根据权利要求1所述的方法,其特征在于,通过以下方式计算所述SDN控制器发出的测量报文经过的来源Openflow设备中的相邻的来源Openflow设备之间的单向数据链路的时延:
针对所述SDN控制器发出的测量报文经过的来源Openflow设备中的相邻的来源Openflow设备中的第一对相邻的来源Openflow设备,通过以下公式一计算得到第一对相邻的来源Openflow设备之间的单向数据链路时延:
公式一:A=a-b-[(c-d)-(e-f)]/2-[(g-h)-(e-f)]/2-(i-j)-(h-k),其中,
A为第一对相邻的来源Openflow设备之间的单向数据链路时延;
a为所述SDN控制器接收到第一对相邻的来源Openflow设备中的第二台Openflow设备发送的Packet_In消息时的时间戳;
b为所述SDN控制器向第一对相邻的来源Openflow设备中的第一台Openflow设备发送Packet_Out消息时的时间戳;
c为第一对相邻的来源Openflow设备中的第一台Openflow设备接收到所述SDN控制器发送的时延探测请求报文时的时间戳;
d为第一对相邻的来源Openflow设备中的第一台Openflow设备向所述SDN控制器发送Packet_In消息时的时间戳;
e为所述SDN控制器向所述指定的Openflow设备发送延探测请求报文时的时间戳;
f为所述SDN控制器接收到第一对相邻的来源Openflow设备中的第一台Openflow设备发送的Packet_In消息时的时间戳;
g为第一对相邻的来源Openflow设备中的第二台Openflow设备接收到所述SDN控制器发送的时延探测请求报文时的时间戳;
h为第一对相邻的来源Openflow设备中的第二台Openflow设备向所述SDN控制器发送Packet_In消息时的时间戳;
i为第一对相邻的来源Openflow设备中的第一台Openflow设备向第一对相邻的来源Openflow设备中的第二台Openflow设备发送测量报文时的时间戳;
j为第一对相邻的来源Openflow设备中的第一台Openflow设备接收到所述SDN控制器发送的Packet_Out消息的时间戳;
k为第一对相邻的来源Openflow设备中的第二台Openflow设备接收到第一对相邻的来源Openflow设备中的第一台Openflow设备发送的测量报文时的时间戳;
针对所述SDN控制器发出的测量报文经过的来源Openflow设备中的相邻的来源Openflow设备中的任一非第一对相邻的来源Openflow设备,通过以下公式二计算得到该非第一对相邻的来源Openflow设备之间的单向数据链路时延:
公式二:B=a1-a2-(a3-a4)-[(a5-a3)-(a6-a1)]/2+(a7-a8)+[(a9-a7)-(a10-a2)]/2,其中,
B为该非第一对相邻的来源Openflow设备之间的单向数据链路时延;
a1为所述SDN控制器接收到该非第一对相邻的来源Openflow设备中的第二台Openflow设备发送的Packet_In消息时的时间戳;
a2为所述SDN控制器接收到该非第一对相邻的来源Openflow设备中的第一台Openflow设备发送的Packet_In消息时的时间戳;
a3为该非第一对相邻的来源Openflow设备中的第二台Openflow设备向所述SDN控制器发送Packet_In消息时的时间戳;
a4为该非第一对相邻的来源Openflow设备中的第二台Openflow设备接收到该非第一对相邻的来源Openflow设备中的第一台Openflow设备发送的测量报文时的时间戳;
a5为该非第一对相邻的来源Openflow设备中的第二台Openflow设备接收到所述SDN控制器发送的时延探测请求报文时的时间戳;
a6为所述SDN控制器向该非第一对相邻的来源Openflow设备中的第二台Openflow设备发送延探测请求报文时的时间戳;
a7为该非第一对相邻的来源Openflow设备中的第一台Openflow设备向所述SDN控制器发送Packet_In消息时的时间戳;
a8为该非第一对相邻的来源Openflow设备中的第一台Openflow设备向该非第一对相邻的来源Openflow设备中的第二台Openflow设备发送测量报文时的时间戳;
a9为该非第一对相邻的来源Openflow设备中的第一台Openflow设备接收到所述SDN控制器发送的时延探测请求报文时的时间戳;
a10为所述SDN控制器向该非第一对相邻的来源Openflow设备中的第一台Openflow设备发送延探测请求报文时的时间戳。
6.根据权利要求5所述的方法,其特征在于,通过以下公式三计算从所述指定的Openflow设备发出所述测量报文到所述目的设备接收到所述测量报文的传输时延:
公式三:C=l-b-[(c-d)-(e-f)]/2-[(m-n)-(o-l)]/2-(i-j)-(np);其中,
b、c、d、e、f、i和j的含义均与所述公式一中的b、c、d、e、f、i和j的含义相同;
l为所述SDN控制器接收到所述目的设备发送的Packet_In消息时的时间戳;
m为所述目的设备接收到所述SDN控制器发送的时延探测请求报文时的时间戳;
n为所述目的设备向所述SDN控制器发送Packet_In消息时的时间戳;
o为所述SDN控制器向所述目的设备发送延探测请求报文时的时间戳;
p为所述目的设备接收到测量报文时的时间戳。
7.一种时延测量装置,其特征在于,所述装置应用于软件定义网络SDN网络中的SDN控制器,所述装置包括:
第一发送模块,用于向所述SDN网络中的指定的开放流Openflow设备发送携带有测量报文的Packet_Out消息,以使所述指定的Openflow设备在所述测量报文中的指定字段信息命中预设的Openflow流表时,复制一份所述测量报文,对所述测量报文中的生存时间值TTL值进行减N处理,将处理后的测量报文发送给下一跳Openflow设备,并基于所述Openflow流表中的动作项,将携带有复制的测量报文及其对应的入接口信息和出接口信息的Packet_In消息发送给所述SDN控制器,其中,所述测量报文的源IP地址为所述指定的Openflow设备的IP地址,且,处理后的测量报文用于指示下一跳Openflow设备在其接收到的处理后的测量报文中的所述指定字段信息命中所述Openflow流表时,判断自身是否为处理后的测量报文的目的设备,在判断结果为否时,复制一份接收到的测量报文,对接收到的测量报文中的TTL值进行减N处理,将处理后的测量报文发送给下一跳Openflow设备,并基于所述动作项,将携带有复制的测量报文及其对应的入接口信息和出接口接口信息的Packet_In消息发送给所述SDN控制器,在判断结果为是时,基于所述动作项,将携带有接收到的测量报文及其对应的入接口信息的Packet_In消息发送给所述SDN控制器,N为正整数;
第二发送模块,用于向接收到的Packet_In消息的来源Openflow设备发送时延探测请求报文,其中,所述来源Openflow设备包括至少两台Openflow设备;
接收模块,用于接收所述来源Openflow设备发送的时延探测应答报文,其中,每条时延探测应答报文中携带有对应的来源Openflow设备在自身不为所述目的设备时记录的自身接收到测量报文时的时间戳、自身发送测量报文时的时间戳、自身发送Packet_In消息时的时间戳和自身接收到时延探测请求报文时的时间戳,或者在自身为所述目的设备时记录的自身接收到测量报文时的时间戳、自身发送Packet_In消息时的时间戳和自身接收到时延探测请求报文时的时间戳;
测量模块,用于根据接收到的所有的时延探测应答报文中携带的所有的时间戳、自身接收到所述来源Openflow设备发送的Packet_In消息时的时间戳、以及向所述来源Openflow设备发送时延探测请求报文时的时间戳,计算不为所述目的设备的来源Openflow设备收发测量报文的时延、所述SDN控制器与每台来源Openflow设备之间的单向管理链路的时延、所述SDN控制器发出的测量报文经过的来源Openflow设备中相邻的来源Openflow设备之间的单向数据链路的时延和从所述指定的Openflow设备发出测量报文到所述目的设备接收到测量报文的传输时延,其中,所有的相邻的来源Openflow设备为所述SDN控制器根据接收到的所有的Packet_In消息确定出的。
8.根据权利要求7所述的装置,其特征在于,所述指定字段信息为差分服务代码点DSCP字段信息。
9.根据权利要求7所述的装置,其特征在于,所述测量模块,具体用于通过以下方式计算不为所述目的设备的来源Openflow设备收发测量报文的时延:
将不为所述目的设备的来源Openflow设备发送测量报文时的时间戳与不为所述目的设备的来源Openflow设备接收到测量报文时的时间戳进行减法运算,得到不为所述目的设备的来源Openflow设备收发测量报文的时延。
10.根据权利要求7所述的装置,其特征在于,所述测量模块,具体用于通过以下方式计算每台来源Openflow设备与所述SDN控制器之间的单向管理链路的时延:
针对每台来源Openflow设备,将该来源Openflow设备接收到所述SDN控制器发送的时延探测请求报文时的时间戳与该来源Openflow设备向所述SDN控制器发送Packet_In消息时的时间戳进行减法运算,得到第一运算结果;
将所述SDN控制器向该来源Openflow设备发送时延探测请求报文时的时间戳与所述SDN控制器接收到该来源Openflow设备发送的Packet_In消息时的时间戳进行减法运算,得到第二运算结果;
将所述第一运算结果与所述第二运算结果进行减法运算之后再除以2,得到所述SDN控制器与该来源Openflow设备之间的单向管理链路的时延。
11.根据权利要求7所述的装置,其特征在于,所述测量模块,具体用于通过以下方式计算所述SDN控制器发出的测量报文经过的来源Openflow设备中的相邻的来源Openflow设备之间的单向数据链路的时延:
针对所述SDN控制器发出的测量报文经过的来源Openflow设备中的相邻的来源Openflow设备中的第一对相邻的来源Openflow设备,通过以下公式一计算得到第一对相邻的来源Openflow设备之间的单向数据链路时延:
公式一:A=a-b-[(c-d)-(e-f)]/2-[(g-h)-(e-f)]/2-(i-j)-(h-k),其中,
A为第一对相邻的来源Openflow设备之间的单向数据链路时延;
a为所述SDN控制器接收到第一对相邻的来源Openflow设备中的第二台Openflow设备发送的Packet_In消息时的时间戳;
b为所述SDN控制器向第一对相邻的来源Openflow设备中的第一台Openflow设备发送Packet_Out消息时的时间戳;
c为第一对相邻的来源Openflow设备中的第一台Openflow设备接收到所述SDN控制器发送的时延探测请求报文时的时间戳;
d为第一对相邻的来源Openflow设备中的第一台Openflow设备向所述SDN控制器发送Packet_In消息时的时间戳;
e为所述SDN控制器向所述指定的Openflow设备发送延探测请求报文时的时间戳;
f为所述SDN控制器接收到第一对相邻的来源Openflow设备中的第一台Openflow设备发送的Packet_In消息时的时间戳;
g为第一对相邻的来源Openflow设备中的第二台Openflow设备接收到所述SDN控制器发送的时延探测请求报文时的时间戳;
h为第一对相邻的来源Openflow设备中的第二台Openflow设备向所述SDN控制器发送Packet_In消息时的时间戳;
i为第一对相邻的来源Openflow设备中的第一台Openflow设备向第一对相邻的来源Openflow设备中的第二台Openflow设备发送测量报文时的时间戳;
j为第一对相邻的来源Openflow设备中的第一台Openflow设备接收到所述SDN控制器发送的Packet_Out消息的时间戳;
k为第一对相邻的来源Openflow设备中的第二台Openflow设备接收到第一对相邻的来源Openflow设备中的第一台Openflow设备发送的测量报文时的时间戳;
针对所述SDN控制器发出的测量报文经过的来源Openflow设备中的相邻的来源Openflow设备中的任一非第一对相邻的来源Openflow设备,通过以下公式二计算得到该非第一对相邻的来源Openflow设备之间的单向数据链路时延:
公式二:B=a1-a2-(a3-a4)-[(a5-a3)-(a6-a1)]/2+(a7-a8)+[(a9-a7)-(a10-a2)]/2,其中,
B为该非第一对相邻的来源Openflow设备之间的单向数据链路时延;
a1为所述SDN控制器接收到该非第一对相邻的来源Openflow设备中的第二台Openflow设备发送的Packet_In消息时的时间戳;
a2为所述SDN控制器接收到该非第一对相邻的来源Openflow设备中的第一台Openflow设备发送的Packet_In消息时的时间戳;
a3为该非第一对相邻的来源Openflow设备中的第二台Openflow设备向所述SDN控制器发送Packet_In消息时的时间戳;
a4为该非第一对相邻的来源Openflow设备中的第二台Openflow设备接收到该非第一对相邻的来源Openflow设备中的第一台Openflow设备发送的测量报文时的时间戳;
a5为该非第一对相邻的来源Openflow设备中的第二台Openflow设备接收到所述SDN控制器发送的时延探测请求报文时的时间戳;
a6为所述SDN控制器向该非第一对相邻的来源Openflow设备中的第二台Openflow设备发送延探测请求报文时的时间戳;
a7为该非第一对相邻的来源Openflow设备中的第一台Openflow设备向所述SDN控制器发送Packet_In消息时的时间戳;
a8为该非第一对相邻的来源Openflow设备中的第一台Openflow设备向该非第一对相邻的来源Openflow设备中的第二台Openflow设备发送测量报文时的时间戳;
a9为该非第一对相邻的来源Openflow设备中的第一台Openflow设备接收到所述SDN控制器发送的时延探测请求报文时的时间戳;
a10为所述SDN控制器向该非第一对相邻的来源Openflow设备中的第一台Openflow设备发送延探测请求报文时的时间戳。
12.根据权利要求11所述的装置,其特征在于,所述测量模块,具体还用于通过以下公式三计算从所述指定的Openflow设备发出所述测量报文到所述目的设备接收到所述测量报文的传输时延:
公式三:C=l-b-[(c-d)-(e-f)]/2-[(m-n)-(o-l)]/2-(i-j)-(n-p);其中,
b、c、d、e、f、i和j的含义均与所述公式一中的b、c、d、e、f、i和j的含义相同;
l为所述SDN控制器接收到所述目的设备发送的Packet_In消息时的时间戳;
m为所述目的设备接收到所述SDN控制器发送的时延探测请求报文时的时间戳;
n为所述目的设备向所述SDN控制器发送Packet_In消息时的时间戳;
o为所述SDN控制器向所述目的设备发送延探测请求报文时的时间戳;
p为所述目的设备接收到测量报文时的时间戳。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210297318.5A CN114726762B (zh) | 2022-03-24 | 2022-03-24 | 一种时延测量方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202210297318.5A CN114726762B (zh) | 2022-03-24 | 2022-03-24 | 一种时延测量方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114726762A CN114726762A (zh) | 2022-07-08 |
CN114726762B true CN114726762B (zh) | 2023-11-03 |
Family
ID=82239219
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202210297318.5A Active CN114726762B (zh) | 2022-03-24 | 2022-03-24 | 一种时延测量方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114726762B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104486159A (zh) * | 2014-12-18 | 2015-04-01 | 东南大学 | 一种基于软件定义网络的交换机间链路时延测量方法 |
CN105591912A (zh) * | 2015-07-21 | 2016-05-18 | 杭州华三通信技术有限公司 | 一种转发路径的选择方法和装置 |
CN105763347A (zh) * | 2014-12-15 | 2016-07-13 | 华为技术有限公司 | 用于获取参数的方法、网络设备及系统 |
CN105933184A (zh) * | 2016-06-17 | 2016-09-07 | 中国人民解放军国防科学技术大学 | 基于lldp的sdn网络链路延迟测量方法 |
CN110213129A (zh) * | 2019-05-29 | 2019-09-06 | 新华三技术有限公司合肥分公司 | 转发路径时延检测方法、控制器及转发设备 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2015040624A1 (en) * | 2013-09-18 | 2015-03-26 | Hewlett-Packard Development Company, L.P. | Monitoring network performance characteristics |
US9667518B2 (en) * | 2015-09-11 | 2017-05-30 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system for delay measurement of a traffic flow in a software-defined networking (SDN) system |
CN114826973A (zh) * | 2021-01-28 | 2022-07-29 | 华为技术有限公司 | 传输质量检测方法、装置及系统 |
-
2022
- 2022-03-24 CN CN202210297318.5A patent/CN114726762B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105763347A (zh) * | 2014-12-15 | 2016-07-13 | 华为技术有限公司 | 用于获取参数的方法、网络设备及系统 |
CN104486159A (zh) * | 2014-12-18 | 2015-04-01 | 东南大学 | 一种基于软件定义网络的交换机间链路时延测量方法 |
CN105591912A (zh) * | 2015-07-21 | 2016-05-18 | 杭州华三通信技术有限公司 | 一种转发路径的选择方法和装置 |
CN105933184A (zh) * | 2016-06-17 | 2016-09-07 | 中国人民解放军国防科学技术大学 | 基于lldp的sdn网络链路延迟测量方法 |
CN110213129A (zh) * | 2019-05-29 | 2019-09-06 | 新华三技术有限公司合肥分公司 | 转发路径时延检测方法、控制器及转发设备 |
Non-Patent Citations (3)
Title |
---|
Latency Measurement in an SDN Network Using a POX Controller;Vladimir Jara;《 2018 IEEE Canadian Conference on Electrical & Computer Engineering》;全文 * |
SDN中的端到端时延;黄晓鹏;黄传河;农黄武;杨丹凤;杨金羚;;计算机工程与科学(第01期);全文 * |
软件定义网络探测技术综述;李俊强;陈悦;韩晗;王晨;胡讯沛;张鑫刚;虞红芳;;《重庆理工大学学报(自然科学)》(第09期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN114726762A (zh) | 2022-07-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108737003B (zh) | 用于测试时间敏感网络(tsn)元件的方法、系统和计算机可读介质 | |
US6928473B1 (en) | Measuring network jitter on application packet flows | |
JP6116707B2 (ja) | アウトオブオーダーイベントを処理するための装置、方法及びコンピュータプログラム | |
US11271874B2 (en) | Network adapter with time-aware packet-processing pipeline | |
US20020006115A1 (en) | Non-deterministic software delay estimation method and system for packet based data network systems | |
CA3161839A1 (en) | System and method for estimation of quality of experience (qoe) for video streaming | |
US20100020909A1 (en) | Synchronizing apparatus and method in packet network | |
US20090037758A1 (en) | Use of t4 timestamps to calculate clock offset and skew | |
WO2010043145A1 (zh) | 一种丢包率检测方法、装置及系统 | |
CN112787877B (zh) | 一种网络时延检测方法及相关设备 | |
US9042411B1 (en) | System and method for accurate time sampling in presence of output delay | |
US9559927B2 (en) | Terminal, system and method for measuring network state using the same | |
WO2010057398A1 (zh) | 透传时钟的实现装置和方法 | |
US20100153579A1 (en) | Flow Control of Events Based on Threshold, Grace Period, and Event Signature | |
WO2020135429A1 (zh) | 流量的分析、检测方法及装置 | |
CN114726762B (zh) | 一种时延测量方法及装置 | |
CN112637016B (zh) | 一种网络延时更新方法、系统、电子设备及存储介质 | |
US8670466B1 (en) | System and method for residence time calculation | |
CN112491489B (zh) | 基于带内遥测进行时间同步的方法、装置和系统 | |
CN107438268B (zh) | 一种用于为移动设备加速无线网络的方法与设备 | |
US9749203B2 (en) | Packet analysis apparatus and packet analysis method | |
US20060114944A1 (en) | Apparatus and method for measuring a delay in the transmission of multimedia data in a multimedia system | |
JP2003037649A (ja) | コンテンツ配信完了時刻の推定方法及び記録媒体並びにプログラム | |
JP7003467B2 (ja) | パケット分類プログラム、パケット分類方法およびパケット分類装置 | |
Krishnamurthy et al. | Evaluation of sip proxy server performance: Packet-level measurements and queuing model |
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 |