CN105763347A - 用于获取参数的方法、网络设备及系统 - Google Patents

用于获取参数的方法、网络设备及系统 Download PDF

Info

Publication number
CN105763347A
CN105763347A CN201410778050.2A CN201410778050A CN105763347A CN 105763347 A CN105763347 A CN 105763347A CN 201410778050 A CN201410778050 A CN 201410778050A CN 105763347 A CN105763347 A CN 105763347A
Authority
CN
China
Prior art keywords
message
controller
forwarding device
packet
address
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.)
Granted
Application number
CN201410778050.2A
Other languages
English (en)
Other versions
CN105763347B (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.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
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 Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201410778050.2A priority Critical patent/CN105763347B/zh
Priority to PCT/CN2015/092940 priority patent/WO2016095611A1/zh
Publication of CN105763347A publication Critical patent/CN105763347A/zh
Application granted granted Critical
Publication of CN105763347B publication Critical patent/CN105763347B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/34Signalling channels for network management communication

Landscapes

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

Abstract

本发明实施例提供一种用于获取参数的方法、设备和系统,应用于控制转发分离的网络,包括:控制器获取第一IP报文;所述控制器将所述第一IP报文封装在第一消息中,并发送所述第一消息至所述转发设备上;所述第一消息包括动作类型值,所述动作类型值用于指示所述转发设备收到所述第一消息后,通过解封装得到所述第一IP报文,并对所述第一IP报文进行复制得到两份所述第一IP报文,将所述两份第一IP报文中的第一份向所述目标设备方向发送出去,将所述两份第一IP报文中的第二份回送给所述控制器;所述控制器记录T1,所述T1指示所述控制器发送所述第一消息的时刻。有助于精确计算时延并判断故障。

Description

用于获取参数的方法、网络设备及系统
技术领域
本发明涉及通信技术领域,具体涉及一种用于获取参数的方法、网络设备及系统。
背景技术
基于控制转发分离思想的软件定义网络(SoftwareDefinedNetworking,SDN)架构,是一种新型网络交换模型,对网络的创新发展起到了较好的推动作用,其关键组件包括开放流OpenFlow交换机和控制器。控制器和OpenFlow交换机之间通过OpenFlow协议规范的控制通道完成消息的交互和信息的传递。控制器通过全网络视图来实现管控功能,为OpenFlow交换机生成转发流表;OpenFlow交换机根据流表来转发数据包。
基于SDN的网络架构,因为控制平面和转发平面分离成独立的控制器和转发设备,并且距离较远,所以会使得网络时延变大,用户无法确定时延都消耗在哪里、以及无法确定是转发设备到目标设备之间的网络时延大,还是控制器到转发设备的控制通道时延大。当报文不可达时,无法确定是控制器和转发设备之间的控制通道故障,还是转发设备到目标设备的网络故障。因此,如何获得时延检测所需的参数,从而有助于精确计算出时延和判断网络故障,是基于控制转发分离的网络需要解决的问题。
发明内容
本发明实施例提供的时延检测所需参数的获取方法、网络设备及系统,可以解决在基于控制转发分离的网络上无法获得可以用来进行时延检测所需参数的问题。
为了解决上述问题,本发明实施例第一方面提供一种用于获取参数的方法,包括:控制器获取第一互联网协议(InternetProtocol,IP)报文,所述第一IP报文的源IP地址为转发设备的IP地址,所述第一IP报文的目的IP地址为目标设备的IP地址,所述目标设备是除所述转发设备以外的其它转发设备或者应用服务器;所述控制器将所述第一IP报文封装在第一消息中,并发送所述第一消息至所述转发设备,其中,所述第一消息包括动作类型值,所述动作类型值用于指示所述转发设备收到所述第一消息后,通过解封装得到所述第一IP报文,并对所述第一IP报文进行复制得到两份所述第一IP报文,将所述两份第一IP报文中的第一份向所述目标设备方向发送出去,将所述两份第一IP报文中的第二份回送给所述控制器;所述控制器记录T1,所述T1指示所述控制器发送所述第一消息的时刻。
在第一方面的第一种可能的实现方式中,还包括:所述控制器接收所述转发设备发送的第二消息,所述第二消息携带T2;所述控制器从所述第二消息中获得T2,所述T2指示所述转发设备收到所述第一消息的时刻,或者指示所述转发设备向所述控制器发送所述第二消息的时刻;所述控制器确定所述控制器到所述转发设备的第一时延,所述第一时延是所述T2和所述T1的差;或者,所述控制器在确定所述控制器在第一时间段P1内没有接收到所述转发设备发送的所述第二消息后,确定所述控制器和所述转发设备之间的控制通道发生故障。
结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式中,还包括:所述控制器接收到所述转发设备发送的第三消息,所述第三消息携带T3;所述控制器从所述第三消息中获得T3,所述T3指示所述转发设备收到所述目标设备返回的第二IP报文的时刻,或者指示所述转发设备向所述控制器发送所述第三消息的时刻,其中,所述第二IP报文的源IP地址为所述目标设备的IP地址,所述第二IP报文的目的IP地址为所述转发设备的IP地址;所述控制器确定从所述转发设备到所述目标设备、再回到所述转发设备的第二时延,所述第二时延是所述T3和所述T2的差;或者,所述控制器在确定所述控制器在第二时间段P2内没有接收到所述转发设备发送的所述第三消息后,确定所述所述转发设备和所述目标设备之间的网络发生故障,所述P2大于所述P1。
结合第一方面的第二种可能的实现方式,在第一方面的第三种可能的实现方式中,还包括:所述控制器记录T4,所述T4指示所述控制器收到所述第三消息的时刻;所述控制器确定从所述转发设备到所述控制器的第三时延,所述第三时延是所述T4和所述T3的差;和/或所述控制器确定从发出所述第一消息到收到所述第三消息的第四时延,所述第四时延是所述T4和所述T1的差。
结合第一方面或者第一方面的第一种至第三种任一可能的实现方式,在第一方面的第四种可能的实现方式中,所述第一消息是开放流OpenFLow协议的扩展分组出Packet-Out消息,所述扩展Packet-Out消息包括所述动作类型值;和/或所述第一IP报文承载因特网控制报文协议ICMP回显请求报文,所述ICMP回显请求为Ping请求。
结合第一方面或者第一方面的第一种至第四种任一可能的实现方式,在第一方面的第五种可能的实现方式中,所述第三消息是OpenFlow协议的扩展分组入Packet-In消息,所述扩展Packet-In消息中包括时间戳字段,所述时间戳字段用于携带一个时刻信息;和/或所述第二IP报文承载因特网控制报文协议ICMP回显应答报文,所述ICMP回显应答为Ping应答。
结合第一方面或者第一方面的第一种至第五种任一可能的实现方式,在第一方面的第六种可能的实现方式中,所述扩展Packet-In消息具体还包括原因Reason字段,所述Reason字段的取值用于指示所述扩展Packet-In消息中携带着时间戳。
为了解决上述问题,本发明实施例第二方面提供一种用于获取参数的方法,包括:所述转发设备接收所述控制器发来的封装有第一互联网协议IP报文的第一消息,并解析所述第一消息,得到动作类型值,所述动作类型值用于指示所述转发设备收到所述第一消息后,通过解封装得到所述第一IP报文,并对所述第一IP报文进行复制得到两份所述第一IP报文,将所述两份第一IP报文中的第一份向所述目标设备方向发送出去,将所述两份第一IP报文中的第二份回送给所述控制器;所述转发设备通过解封装得到所述第一IP报文,所述第一IP报文的源IP地址为所述转发设备的IP地址,所述第一IP报文的目的IP地址为目标设备的IP地址,所述目标设备是除所述转发设备以外的其它转发设备或者应用服务器;所述转发设备复制所述第一IP报文,并封装在所述第二消息里发送到所述控制器,所述第二消息中携带T2,所述T2指示所述转发设备收到所述第一消息的时刻,或者指示所述转发设备向所述控制器发送所述第二消息的时刻;所述转发设备向所述目标设备发送所述第一IP报文。
在第二方面的第一种可能的实现方式中,还包括:所述转发设备接收所述目标设备返回的第二IP报文,所述第二IP报文的源IP地址为所述目标设备的IP地址,所述IP报文的目的IP地址为所述转发设备的IP地址;所述转发设备将所述第二IP报文,封装上第三消息,发送到所述控制器,所述第三消息中携带T3,所述T3指示所述转发设备收到所述目标设备返回的第二IP报文的时刻,或者指示所述转发设备向所述控制器发送所述第三消息的时刻。
结合第二方面或者第二方面的第一种可能的实现方式,在第二方面的第二种可能的实现方式中,所述第一消息是开放流OpenFLow协议的扩展分组出Packet-Out消息,所述扩展Packet-Out消息包括所述动作类型值;和/或所述第一IP报文承载因特网控制报文协议ICMP回显请求报文,所述ICMP回显请求为Ping请求。
结合第二方面或者第二方面的第一种至第二种任一可能的实现方式,在第二方面的第三种可能的实现方式中,所述第三消息是OpenFlow协议的扩展分组入Packet-In消息,所述扩展Packet-In消息中包括时间戳字段,所述时间戳字段用于携带一个时刻信息;和/或所述第二IP报文承载因特网控制报文协议ICMP回显应答报文,所述ICMP回显应答为Ping应答。
结合第二方面或者第二方面的第一种至第三种任一可能的实现方式,在第二方面的第四种可能的实现方式中,所述扩展Packet-In消息具体还包括原因Reason字段,所述Reason字段的取值用于指示所述扩展Packet-In消息中携带着时间戳。
为了解决上述问题,本发明实施例第三方面提供一种控制器,包括:获取单元,用于获取第一互联网协议IP报文,所述第一IP报文的源IP地址为所述转发设备的IP地址,所述第一IP报文的目的IP地址为目标设备的IP地址,所述目标设备是除所述转发设备以外的其它转发设备或者应用服务器;封装单元,用于将所述第一IP报文封装在第一消息中,所述第一消息包括动作类型值,所述动作类型值用于指示所述转发设备收到所述第一消息后,通过解封装得到所述第一IP报文,并对所述第一IP报文进行复制得到两份所述第一IP报文,将所述两份第一IP报文中的第一份向所述目标设备方向发送出去,将所述两份第一IP报文中的第二份回送给所述控制器;通信单元,用于发送所述第一消息到所述转发设备上;处理单元,用于记录T1,所述T1指示所述控制器发送所述第一消息的时刻。
在第三方面的第一种可能的实现方式中,还包括:所述通信单元接收到所述转发设备发送的第二消息,所述第二消息携带T2,则所述处理单元获得所述T2,所述T2指示所述转发设备收到所述第一消息的时刻,或者指示所述转发设备向所述控制器发送所述第二消息的时刻;所述处理单元,确定从所述控制器到所述转发设备的第一时延,所述第一时延是所述T2和所述T1的差;或者,所述通信单元在确定所述通信单元在第一时间段P1内没有接收到所述转发设备发送的第二消息后,所述处理单元确定所述控制器和所述转发设备之间的控制通道发生故障。
结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式中,还包括:所述通信单元接收到所述转发设备发送的第三消息,所述第三消息携带T3,则所述处理单元获得所述T3,所述T3指示所述转发设备收到所述目标设备返回的第二IP报文的时刻,或者指示所述转发设备向所述控制器发送所述第三消息的时刻;所述第二IP报文的源IP地址为所述目标设备的IP地址,所述第二IP报文的目的IP地址为所述转发设备的IP地址;所述处理单元确定从所述转发设备到所述目标设备、再回到所述转发设备的第二时延,所述第二时延是所述T3和所述T2的差;或者,所述通信单元在确定所述通信单元在第二时间段P2内没有接收到所述转发设备发送的所述第三消息后,所述处理单元确定所述所述转发设备和所述目标设备之间的网络发生故障,所述P2大于所述P1。
结合第三方面的第二种可能的实现方式,在第三方面的第三种可能的实现方式中,还包括:所述处理单元记录T4,所述T4指示所述控制器收到所述第三消息的时刻;所述处理单元确定从所述转发设备到所述控制器的第三时延,所述第三时延是所述T4和所述T3的差;和/或所述处理单元确定从发出所述第一消息到收到所述第三消息的第四时延,所述第四时延是所述T4和所述T1的差。
结合第三方面或者第三方面的第一种至第三种任一可能的实现方式,在第三方面的第四种可能的实现方式中,所述第一消息是开放流OpenFLow协议的扩展分组出Packet-Out消息,所述扩展Packet-Out消息包括所述动作类型值;和/或
所述第一IP报文承载因特网控制报文协议ICMP回显请求报文,所述ICMP回显请求为Ping请求。
结合第三方面或者第三方面的第一种至第四种任一可能的实现方式,在第三方面的第五种可能的实现方式中,所述第三消息是OpenFlow协议的扩展分组入Packet-In消息,所述扩展Packet-In消息中包括时间戳字段,所述时间戳字段用于携带一个时刻信息;和/或所述第二IP报文承载因特网控制报文协议ICMP回显应答报文,所述ICMP回显应答为Ping应答。
结合第三方面或者第三方面的第一种至第五种可能的实现方式,在第三方面的第六种可能的实现方式中,所述扩展Packet-In消息具体还包括原因Reason字段,所述Reason字段的取值用于指示所述扩展Packet-In消息中携带着时间戳。
为了解决上述问题,本发明实施例第四方面提供一种转发设备,包括:接收单元,用于接收所述控制器发来的第一消息;解析单元,用于解析所述第一消息,得到动作类型值,所述动作类型值用于指示所述转发设备收到所述第一消息后,通过解封装得到第一互联网协议IP报文,并对所述第一IP报文进行复制得到两份所述第一IP报文,将所述两份第一IP报文中的第一份向所述目标设备方向发送出去,将所述两份第一IP报文中的第二份回送给所述控制器;解封装单元,用于通过解封装得到所述第一IP报文,所述第一IP报文的源IP地址为所述转发设备的IP地址,所述第一IP报文的目的IP地址为目标设备的IP地址,所述目标设备是除所述转发设备以外的其它转发设备或者应用服务器;复制单元,用于对所述第一IP报文进行复制得到两份所述第一IP报文;封装单元,用于将所述两份第一IP报文中的第二份封装在所述第二消息里,所述第二消息中携带T2,所述T2指示所述转发设备收到所述第一消息的时刻,或者指示所述转发设备向所述控制器发送所述第二消息的时刻;发送单元,用于向所述目标设备发送所述两份第一IP报文中的第一份报文和向所述控制器发送所述第二消息。
在第四方面的第一种可能的实现方式中,还包括:所述接收单元接收所述目标设备返回的第二IP报文;所述第二IP报文的源IP地址为所述目标设备的IP地址,所述IP报文的目的IP地址为所述转发设备的IP地址;所述封装单元将所述第二IP报文,封装上第三消息,所述第三消息中携带T3,所述T3指示所述转发设备收到所述目标设备返回的第二IP报文的时刻,或者指示所述转发设备向所述控制器发送所述第三消息的时刻;所述发送单元将所述第三消息发送到所述控制器。
结合第四方面或者第四方面的第一种可能的实现方式,在第四方面的第二种可能的实现方式中,所述第一消息是开放流OpenFLow协议的扩展分组出Packet-Out消息,所述扩展Packet-Out消息包括所述动作类型值;和/或所述第一IP报文承载因特网控制报文协议ICMP回显请求报文,所述ICMP回显请求为Ping请求。
结合第四方面或者第四方面的第一种至第二种任一可能的实现方式,在第四方面的第三种可能的实现方式中,所述第三消息是OpenFlow协议的扩展分组入Packet-In消息,所述扩展Packet-In消息中包括时间戳字段,所述时间戳字段用于携带一个时刻信息;和/或所述第二IP报文承载因特网控制报文协议ICMP回显应答报文,所述ICMP回显应答为Ping应答。
结合第四方面或者第四方面的第一种至第三种任一可能的实现方式,在第四方面的第四种可能的实现方式中,所述扩展Packet-In消息具体还包括原因Reason字段,所述Reason字段的取值用于指示所述扩展Packet-In消息中携带着时间戳。
为了解决上述问题,本发明实施例第五方面提供一种用于获取参数的系统,应用于控制转发分离的网络,包括:控制器和转发设备,所述控制器为第三方面所述的控制器;所述转发设备为第四方面所述的转发设备。
本发明实施例通过控制器获取第一IP报文,将所述第一IP报文封装在第一消息中,并发送所述第一消息至所述转发设备,其中,所述第一消息包括动作类型值,所述动作类型值用于指示所述转发设备收到所述第一消息后,通过解封装得到所述第一IP报文,并对所述第一IP报文进行复制得到两份所述第一IP报文,将所述两份第一IP报文中的第一份向所述目标设备方向发送出去,将所述两份第一IP报文中的第二份回送给所述控制器;所述控制器记录T1,所述T1指示所述控制器发送所述第一消息的时刻。有助于获得可以用于进行时延检测所需的参数,从而精确计算时延并判断故障。
附图说明
为了更清楚地说明本申请实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据这些附图获得其它的附图。
图1是本发明实施例一种获取参数的组网示意图;
图2是本发明实施例中一种用于获取参数的方法的流程示意图;
图3是本发明实施例中又一种用于获取参数的方法的流程示意图;
图4是本发明实施例一种控制器的结构示意图;
图5是本发明实施例一种转发设备的结构示意图;
图6是本发明实施例一种用于获取参数的系统的示意图;
图7是本发明实施例一种控制器的结构示意图;
图8是本发明实施例一种转发设备的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本发明方案,下面结合附图和实施方式对本发明实施例作进一步的详细说明。显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
在介绍本发明实施例技术方案之前,先对本发明实施例的具体应用场景进行解释说明。
请参见图1,是本发明实施例的组网示意图,应用在基于控制转发分离的SDN网络中需要感知时延的场景,包括控制器、转发设备和目标设备,例如,对于Ping和追踪路由Traceroute等网络级操作管理维护(OperationAdministrationandMaintenance,OAM)报文,为了检测所述转发设备和所述目标设备之间的可达性以及延时,通过控制器下发检测报文到所述转发设备,再发送到所述目标设备,回程也是一样,所述转发设备收到所述目标设备发回的检测应答报文后,再上送所述控制器处理。所述转发设备和所述目标设备之间可以是直接相连,也可以是通过若干个其它转发设备相连。所述目标设备可以是转发设备(例如交换机、路由器)、应用服务器等网络设备,所述目标设备可以接受所述控制器的控制,也可以不接受所述控制器的控制。
值得说明的是,本发明实施例的组网示意图仅用于示意性说明本发明的一个应用场景,并不视为对本发明实施例的限制。
关于本发明实施例描述中涉及的OpenFlow协议规范的具体细节,请参考ONF发布的《开放流交换机规范》版本1.x(OpenFlowSwitchSpecification1.x)。
实施例一
请参考图2,示出了本发明实施例用于获取参数的方法的流程示意图,该方法应用于控制转发分离的网络,所述控制转发分离的网络包括控制器和转发设备,所述控制器控制所述转发设备。该方法包括:
201、所述控制器获取第一互联网协议IP(InternetProtocol)报文,所述第一IP报文的源IP地址为所述转发设备的IP地址,所述第一IP报文的目的IP地址为目标设备的IP地址,所述目标设备是除所述转发设备以外的其它转发设备或者应用服务器。
具体地,所述控制器获取第一IP报文的方式,可以是所述控制器为所述转发设备构造所述第一IP报文,也可以是所述控制器接收网络设备发送来的所述第一IP报文,所述第一IP报文由所述网络设备构造而成,所述网络设备可以是除所述控制器以外的其它控制管理设备或者应用服务器。
可选地,所述第一IP报文承载因特网控制报文协议ICMP(InternetControlMessageProtocol)回显请求报文,所述ICMP回显请求为Ping请求。
202、所述控制器将所述第一IP报文封装在第一消息中,并发送所述第一消息至所述转发设备,其中,所述第一消息包括动作类型值,所述动作类型值用于指示所述转发设备收到所述第一消息后,通过解封装得到所述第一IP报文,并对所述第一IP报文进行复制得到两份所述第一IP报文,将所述两份第一IP报文中的第一份向所述目标设备方向发送出去,将所述两份第一IP报文中的第二份回送给所述控制器。
可选地,所述第一消息是开放流OpenFLow协议的扩展分组出Packet-Out消息,所述扩展Packet-Out消息包括所述动作类型值。例如,可以在OpenFlow协议规范定义的Packet-Out消息的现有动作类型值里,增加一个新的动作类型值,如下所示,在ofp_action_type增加OFPAT_RETURN_COPY类型,用于指示将所述Packet-Out消息承载的报文进行复制得到两份所述报文,将所述两份报文中的第一份查找流表正常转发出去,将所述两份报文中的第二份封装在Packet-In消息里回送到所述控制器。
203、所述控制器记录T1,所述T1指示所述控制器发送所述第一消息的时刻。
进一步,该方法还包括:
204、所述控制器接收所述转发设备发送的第二消息,所述第二消息携带T2,并进行从所述控制器到所述转发设备的第一时延计算,或者故障判断。
具体地,
2041、所述控制器接收到所述转发设备发送的第二消息,则获得T2,所述T2指示所述转发设备收到所述第一消息的时刻,或者指示所述转发设备向所述控制器发送所述第二消息的时刻;
所述控制器确定从所述控制器到所述转发设备的所述第一时延,所述第一时延是所述T2和所述T1的差。
如果T2为指示所述转发设备收到所述第一消息的时刻,则所述第一时延包括从所述控制器到所述转发设备的控制通道传送时间。
如果T2为指示所述转发设备向所述控制器发送所述第二消息的时刻,则所述第一时延包括了从所述控制器到所述转发设备,以及在所述转发设备内部处理的时间。
或者,
2042、所述控制器在确定所述控制器在第一时间段P1内没有接收到所述转发设备发送的所述第二消息后,则确定所述控制器和所述转发设备之间的控制通道发生故障。所述第一时间段P1是一个时间值,用于标识一段时间,可以根据经验设定,例如10秒钟。
可选地,所述第二消息是OpenFlow协议的扩展分组入Packet-In消息,所述扩展Packet-In消息中包括时间戳字段,所述时间戳字段用于携带一个时刻信息。例如,可以在OpenFlow协议规范定义的Packet-In消息中增加一个时间戳字段,如下所示,在ofp_packet_in结构体中增加一个32位的无符号整形变量timeStamp,用来携带一个时刻信息,比如所述T2。
进一步,可选地,所述扩展Packet-In消息具体还包括原因Reason字段,所述Reason字段的取值用于指示所述扩展Packet-In消息中携带着时间戳。例如,对所述Packet-In消息的原因reason字段的定义进行扩展,在ofp_packet_in_reason中增加OFPR_TIME_STAMP类型。
进一步,该方法还包括:
205、所述控制器接收所述转发设备发送的第三消息,所述第三消息携带T3,并进行从所述转发设备到所述目标设备、再回到所述转发设备的第二时延的计算,或者进行所述转发设备和所述目标设备之间的故障判断。
具体地,
2051、所述控制器接收到所述转发设备发送的第三消息,则获得T3,所述T3指示所述转发设备收到所述目标设备返回的第二IP报文的时刻,或者指示所述转发设备向所述控制器发送所述第三消息的时刻;所述第二IP报文的源IP地址为所述目标设备的IP地址,所述第二IP报文的目的IP地址为所述转发设备的IP地址;
所述控制器确定从所述转发设备到所述目标设备、再回到所述转发设备的所述第二时延,所述第二时延是所述T3和所述T2的差。
如果T3指示所述转发设备收到所述目标设备返回的第二IP报文的时刻,则所述第二时延包括从所述控制器到所述转发设备、再到所述目标设备、再回到所述转发设备的时间。
如果T3指示所述转发设备向所述控制器发送所述第三消息的时刻,则所述第二时延包括从所述控制器到所述转发设备、再到所述目标设备、再回到所述转发设备的时间,以及在所述转发设备内部处理的时间。
2052、所述控制器在确定所述控制器在第二时间段P2内没有接收到所述转发设备发送的所述第三消息后,则确定所述转发设备和所述目标设备之间的网络发生故障,所述P2大于所述P1。所述第二时间段P2是一个时间值,用于标识一段时间,可以根据经验设定,例如20秒钟。
此时,所述网络故障可以是从所述转发设备到所述目标设备之间的双向路径上的链路发生故障和/或节点发生故障。
可选地,所述第二IP报文承载ICMP回显应答报文,所述ICMP回显应答为Ping应答。
可选地,所述第三消息是OpenFlow协议的扩展Packet-In消息,所述扩展Packet-In消息中包括时间戳字段,所述时间戳字段用于携带一个时刻信息。
进一步,可选地,所述扩展Packet-In消息具体还包括原因Reason字段,所述Reason字段的取值用于指示所述扩展Packet-In消息中携带着时间戳。
值得说明的是,所述第三消息和所述第二消息都是基于对所述OpenFlow协议规范定义的Packet-In消息格式进行扩展、得到的具体消息实例,详细的格式扩展描述,请参考对所述第二消息进行描述的相应部分,在此不再赘述。
进一步,该方法还包括:
206、所述控制器记录T4,所述T4指示所述控制器收到所述第三消息的时刻;
所述控制器确定从所述转发设备到所述控制器的第三时延,所述第三时延是所述T4和所述T3的差;和/或
所述控制器确定从发出所述第一消息到收到所述第三消息的第四时延,所述第四时延是所述T4和所述T1的差。
进一步,本发明实施例还可以根据记录的完整时刻,能够给用户呈现不同阶段的时延和连通性。例如,目标设备的IP地址为10.3.1.2,FP1为所述转发设备,在所述控制器上进行Ping操作,可以将所述控制器到所述转发设备、再从所述目标设备返回到所述转发设备、再到所述控制器各阶段花费的时间都显示出来,显示格式如下:
进一步说明,本发明实施例中的所有举例说明,仅仅是一种示意,且并不局限于举例中所述的格式和样式。
本发明实施例一提供的时延检测所需参数的获取方法,通过所述控制器获取所述第一IP报文,将所述第一IP报文封装在第一消息中,发送到所述转发设备上,并记录发送所述第一消息的T1;接收所述转发设备发送的第二消息获取T2;接收所述转发设备发送的第三消息得到T3和T4的方法,有助于在基于控制转发分离的网络中精确计算时延,并根据是否接收到所述第二消息和所述第三消息判断网络故障位置。
实施例二
请参考图3,示出了本发明实施例又一种用于获取参数的方法的流程示意图,该方法应用于控制转发分离的网络,所述控制转发分离的网络包括控制器和转发设备,所述转发设备接受所述控制器的控制,包括:
301、所述转发设备接收所述控制器发来的封装有第一互联网协议IP报文的第一消息,并解析所述第一消息,得到动作类型值,所述动作类型值用于指示所述转发设备收到所述第一消息后,通过解封装得到所述第一IP报文,并对所述第一IP报文进行复制得到两份所述第一IP报文,将所述两份第一IP报文中的第一份向所述目标设备方向发送出去,将所述两份第一IP报文中的第二份回送给所述控制器。
本实施例中的所述第一消息、所述第一IP报文,请参考实施例一中相应的描述,在此不再赘述。
302、所述转发设备通过解封装得到所述第一IP报文,所述第一IP报文的源IP地址为所述转发设备的IP地址,所述第一IP报文的目的IP地址为目标设备的IP地址,所述目标设备是除所述转发设备以外的其它转发设备或者应用服务器。
303、所述转发设备复制所述第一IP报文,并封装在所述第二消息里发送到所述控制器,所述第二消息中携带T2,所述T2指示所述转发设备收到所述第一消息的时刻,或者指示所述转发设备向所述控制器发送所述第二消息的时刻。
本实施例中的所述第二消息,请参考实施例一中相应的描述,在此不再赘述。
304、所述转发设备向所述目标设备发送所述第一IP报文。
进一步,可选地,还包括:
305、所述转发设备接收所述目标设备返回的第二IP报文,所述第二IP报文的源IP地址为所述目标设备的IP地址,所述IP报文的目的IP地址为所述转发设备的IP地址。
306、所述转发设备将所述第二IP报文,封装上第三消息,发送到所述控制器,所述第三消息中携带T3,所述T3指示所述转发设备收到所述目标设备返回的第二IP报文的时刻,或者指示所述转发设备向所述控制器发送所述第三消息的时刻。
本实施例中的所述第三消息、所述第二IP报文,请参考实施例一中相应的描述,在此不再赘述。
本发明实施例二通过所述转发设备接收所述控制器发来的封装有第一IP报文的第一消息,解析所述第一消息,得到动作类型值;通过解封装得到所述第一IP报文;复制所述第一IP报文,并封装在所述第二消息里发送到所述控制器,所述第二消息中携带所述T2;向所述目标设备发送所述第一IP报文的方式,有助于精确计算时延并判断故障。
实施例三、
请参考图4,本发明的一个实施例提供一种控制器400,所述控制器400控制转发设备,应用在控制转发分离的网络中,包括:
获取单元401,用于获取第一IP报文,所述第一IP报文的源IP地址为所述转发设备的IP地址,所述第一IP报文的目的IP地址为目标设备的IP地址,所述目标设备是除所述转发设备以外的其它转发设备或者应用服务器;
封装单元402,用于将所述第一IP报文封装在第一消息中,所述第一消息包括动作类型值,所述动作类型值用于指示所述转发设备收到所述第一消息后,通过解封装得到所述第一IP报文,并对所述第一IP报文进行复制得到两份所述第一IP报文,将所述两份第一IP报文中的第一份向所述目标设备方向发送出去,将所述两份第一IP报文中的第二份回送给所述控制器;
通信单元403,用于发送所述第一消息到所述转发设备上;
处理单元404,用于记录T1,所述T1指示所述控制器发送所述第一消息的时刻。
进一步,可选地,所述控制器还包括:
所述通信单元403接收所述转发设备发送的第二消息,所述第二消息携带T2,所述处理单元404进行从所述控制器到所述转发设备的第一时延计算,或者故障判断。
具体地,
所述通信单元403接收到所述转发设备发送的第二消息,则所述处理单元404获得T2,所述T2指示所述转发设备收到所述第一消息的时刻,或者指示所述转发设备向所述控制器发送所述第二消息的时刻;
所述处理单元404确定从所述控制器到所述转发设备的所述第一时延,所述第一时延是所述T2和所述T1的差。
或者,
所述通信单元403在确定所述控制器在第一时间段P1内没有接收到所述转发设备发送的第二消息,则所述处理单元404确定所述控制器和所述转发设备之间的控制通道发生故障。
本实施例中的所述第一消息、所述第二消息、所述第一IP报文、所述T2和所述P1,请参考实施例一中相应的描述,在此不再赘述。
进一步,可选地,所述控制器还包括:
所述通信单元403接收所述转发设备发送的第三消息,所述第三消息携带T3,所述处理单元404进行从所述转发设备到所述目标设备、再回到所述转发设备的第二时延的计算,或者进行所述转发设备和所述目标设备之间的故障判断。
具体地,
所述通信单元403接收到所述转发设备发送的第三消息,则所述处理单元404获得T3,所述T3指示所述转发设备收到所述目标设备返回的第二IP报文的时刻,或者指示所述转发设备向所述控制器发送所述第三消息的时刻;所述第二IP报文的源IP地址为所述目标设备的IP地址,所述第二IP报文的目的IP地址为所述转发设备的IP地址;
所述处理单元404确定从所述转发设备到所述目标设备、再回到所述转发设备的所述第二时延,所述第二时延是所述T3和所述T2的差。
或者,
所述通信单元403在确定所述控制器在第二时间段P2内没有接收到所述转发设备发送的所述第三消息后,所述处理单元404确定所述所述转发设备和所述目标设备之间的网络发生故障。所述P2大于所述P1。
此时,所述网络故障可以是从所述转发设备到所述目标设备之间的双向路径上的链路发生故障和/或节点发生故障。
本实施例中的所述第三消息、所述第二IP报文、所述T3和所述P2,请参考实施例一中相应的描述,在此不再赘述。
进一步,可选地,所述控制器还包括:
所述处理单元404记录收到所述第三消息的T4,所述T4指示所述控制器收到所述第三消息的时刻;
所述处理单元404确定从所述转发设备到所述控制器的第三时延,所述第三时延是所述T4和所述T3的差;和/或
所述处理单元404确定从发出所述第一消息到收到所述第三消息的第四时延,所述第四时延是所述T4和所述T1的差。
值得说明的是,本发明实施例三提供的控制设备的各功能单元,是基于实施例一提供的方法的具体实现,术语的定义和说明与实施例一保持一致,此处不再赘述。
本发明实施例三提供一种控制器,通过获取单元401获取第一IP报文;通过封装单元402将所述第一IP报文封装在第一消息中,所述第一消息包括动作类型值;通过通信单元403发送所述第一消息到所述转发设备上;通过处理单元404记录发送所述第一消息的T1,有助于精确计算时延,并判断网络故障位置。
实施例四、
请参考图5,本发明的一个实施例提供一种转发设备500,所述转发设备500被控制器所控制,应用在控制转发分离的网络中,包括:
接收单元501,用于接收所述控制器发来的第一消息;
解析单元502,用于解析所述第一消息,得到动作类型值,所述动作类型值用于指示所述转发设备收到所述第一消息后,通过解封装得到第一IP报文,并对所述第一IP报文进行复制得到两份所述第一IP报文,将所述两份第一IP报文中的第一份向所述目标设备方向发送出去,将所述两份第一IP报文中的第二份回送给所述控制器;
解封装单元503,用于通过解封装得到所述第一IP报文,所述第一IP报文的源IP地址为所述转发设备的IP地址,所述第一IP报文的目的IP地址为目标设备的IP地址,所述目标设备是除所述转发设备以外的其它转发设备或者应用服务器;
复制单元504,用于对所述第一IP报文进行复制得到两份所述第一IP报文;
封装单元505,用于将所述两份第一IP报文中的第二份封装在所述第二消息里,所述第二消息中携带T2,所述T2指示所述转发设备收到所述第一消息的时刻,或者指示所述转发设备向所述控制器发送所述第二消息的时刻;
发送单元506,用于向所述目标设备发送所述两份第一IP报文中的第一份报文和向所述控制器发送所述第二消息。
本实施例中的所述第一消息、所述第二消息、所述第一IP报文和所述T2,请参考实施例一中相应的描述,在此不再赘述。
进一步,可选地,所述转发设备还包括:
所述接收单元501接收所述目标设备返回的第二IP报文,所述第二IP报文的源IP地址为所述目标设备的IP地址,所述IP报文的目的IP地址为所述转发设备的IP地址;
所述封装单元503将所述第二IP报文,封装上第三消息,所述第三消息中携带T3,所述T3指示所述转发设备收到所述目标设备返回的第二IP报文的时刻,或者指示所述转发设备向所述控制器发送所述第三消息的时刻;
所述发送单元506将所述第三消息发送到所述控制器。
本实施例中的所述第三消息、所述第二IP报文和所述T3,请参考实施例一中相应的描述,在此不再赘述。
值得说明的是,本发明实施例四提供的转发设备的各功能单元,是基于实施例二提供的方法的具体实现,术语的定义和说明与实施例二保持一致,此处不再赘述。
本发明实施例四提供一种转发设备,通过接收单元501接收所述控制器发来的第一消息;通过解析单元502解析所述第一消息,得到动作类型值;通过解封装单元503得到所述第一IP报文;通过复制单元504对所述第一IP报文进行复制得到两份所述第一IP报文;通过封装单元505将所述两份第一IP报文中的第二份封装在所述第二消息里,所述第二消息中携带所述T2;通过发送单元506向所述目标设备发送所述两份第一IP报文中的第一份报文和向所述控制器发送所述第二消息,有助于精确计算时延并判断故障。
实施例五、
请参考图6,本发明的一个实施例提供一种用于获取参数的系统,应用于控制转发分离的网络,包括:控制器601和转发设备602;
所述控制器601,包括:
实施例三中所述的控制器;
所述转发设备602,包括:
实施例四中所述的转发设备。
值得说明的是,本发明实施例五提供的控制器和转发设备的各功能单元,是基于实施例一至二提供的方法的具体实现和实施例三至四装置的组合,术语的定义和解决的问题与实施例一至四保持一致,此处不再赘述。
本发明实施例五提供的系统,通过实施例三描述的所述控制器和实施例四描述的所述转发设备的组合,通过扩展Packet-In和Packet-Out消息,实现了收集检测报文在网络中传送时各个阶段的时刻,从而有助于精确计算时延并判断故障。
实施例六、
请参考图7,本发明的一个实施例提供一种控制器700,该控制器700可以是微处理计算机。比如:该控制器700可以是通用计算机、客户定制机、手机终端或平板机等便携设备中的一种。该控制器700包括:处理器704、存储器706、通信接口702和总线708。处理器704、存储器706和通信接口702通过总线708连接并完成相互间的通信。
所述总线708可以是工业标准体系结构(IndustryStandardArchitecture,简称为ISA)总线或外部设备互连(PeripheralComponent,简称为PCI)总线或扩展工业标准体系结构(ExtendedIndustryStandardArchitecture,简称为EISA)总线等。所述总线可以包括地址总线、数据总线、控制总线中的一种或多种。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器706用于存储可执行程序代码,该程序代码包括计算机操作指令。当控制器700执行该程序代码时,所述控制器700可以完成实施例一的步骤201~206,也可以实现实施例三中所述控制器400的所有功能。存储器706可以包含高速RAM(RamdomAccessMemory)存储器。可选地,存储器706还可以包括非易失性存储器(non-volatilememory)。例如存储器706可以包括磁盘存储器。
处理器704可以是中央处理器(CentralProcessingUnit,简称为CPU),或者处理器704可以是特定集成电路(ApplicationSpecificIntegratedCircuit,简称为ASIC),或者处理器704可以是被配置成实施本发明实施例的一个或多个集成电路。
处理器704,用于读取存储器706中存储的指令,从而执行实施例一和实施例三中获取第一IP报文、将所述第一IP报文封装在第一消息中和记录发送所述第一消息的T1的操作。
通信接口702,用于执行实施例一和实施例三中发送所述第一消息到所述转发设备上的操作。
可选地,所述通信接口702还用于接收所述转发设备发送的第二消息。
可选地,处理器704还用于获得T2,确定从所述控制器到所述转发设备的第一时延;或者确定所述控制器和所述转发设备之间的控制通道发生故障。
可选地,所述通信接口702还用于接收所述转发设备发送的第三消息。
可选地,处理器704还用于获得T3,确定从所述转发设备到所述目标设备、再回到所述转发设备的第二时延;或者确定所述所述转发设备和所述目标设备之间的网络发生故障。
可选地,处理器704还用于记录收到所述第三消息的T4,确定从所述转发设备到所述控制器的第三时延,和/或从发出所述第一消息到收到所述第三消息的第四时延。
本实施例中的所述第一消息、所述第二消息、所述第三消息、所述第一IP报文、所述T2和所述T3,请参考实施例一中相应的描述,在此不再赘述。
值得说明的是,本发明实施例六提供的控制设备的各功能单元,可以是基于实施例一提供的方法和实施例三提供的装置所具备的功能的具体实现,术语的定义和说明与实施例一和实施例三保持一致,此处不再赘述。
本发明实施例六提供一种控制器,通过获取第一IP报文,将所述第一IP报文封装在第一消息中,发送所述第一消息到所述转发设备上,记录发送所述第一消息的T1,有助于精确计算时延,并判断网络故障位置。
实施例七、
请参考图8,本发明的一个实施例提供一种转发设备800,该转发设备800可以是微处理计算机。比如:该网络设备800可以是通用计算机、客户定制机、手机终端或平板机等便携设备中的一种。该转发设备800包括:处理器804、存储器806、通信接口802和总线808。处理器804、存储器806和通信接口802通过总线808连接并完成相互间的通信。
所述总线808可以是工业标准体系结构(IndustryStandardArchitecture,简称为ISA)总线或外部设备互连(PeripheralComponent,简称为PCI)总线或扩展工业标准体系结构(ExtendedIndustryStandardArchitecture,简称为EISA)总线等。所述总线可以分为地址总线、数据总线、控制总线中的一种或多种。为便于表示,图8中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
存储器806用于存储可执行程序代码,该程序代码包括计算机操作指令。当转发设备800执行该程序代码时,所述转发设备800可以完成实施例二的步骤301~306,也可以实现实施例四中所述转发设备500的所有功能。存储器806可以包含高速RAM(RamdomAccessMemory)存储器。可选地,存储器806还可以还包括非易失性存储器(non-volatilememory)。例如存储器806可以包括磁盘存储器。
处理器804可以是一个中央处理器(CentralProcessingUnit,简称为CPU),或者是处理器804可以特定集成电路(ApplicationSpecificIntegratedCircuit,简称为ASIC),或者处理器804可以是被配置成实施本发明实施例的一个或多个集成电路。
通信接口802,用于执行实施例二和实施例四中的接收所述控制器发来的第一消息、向所述目标设备发送所述两份第一IP报文中的第一份报文和向所述控制器发送所述第二消息的操作。
处理器804,用于读取存储器806中存储的指令,从而执行实施例二和实施例四中解析所述第一消息、得到动作类型值,通过解封装得到所述第一IP报文,对所述第一IP报文进行复制得到两份所述第一IP报文,将所述两份第一IP报文中的第二份封装在所述第二消息里的操作。
可选地,所述通信接口802还用于接收所述目标设备返回的第二IP报文。
可选地,所述处理器804还用于将所述第二IP报文,封装上第三消息。
可选地,所述通信接口802还用于将所述第三消息发送到所述控制器。
本实施例中的所述第一消息、所述第二消息、所述第三消息、所述第一IP报文和所述第二IP报文,请参考实施例一中相应的描述,在此不再赘述。
值得说明的是,本发明实施例七提供的控制设备的各功能单元,可以是基于实施例二提供的方法和实施例四提供的装置所具备的功能的具体实现,术语的定义和说明与实施例二和实施例四保持一致,此处不再赘述。
本发明实施例七提供的转发设备,通过接收所述控制器发来的第一消息;解析所述第一消息,得到动作类型值;解封装得到所述第一IP报文;对所述第一IP报文进行复制得到两份所述第一IP报文;将所述两份第一IP报文中的第二份封装在所述第二消息里,所述第二消息中携带所述T2;向所述目标设备发送所述两份第一IP报文中的第一份报文和向所述控制器发送所述第二消息,有助于精确计算时延并判断故障。
本发明方案可以在由计算机执行的计算机可执行指令的一般上下文中描述,例如程序单元。一般地,程序单元包括执行特定任务或实现特定抽象数据类型的例程、程序、对象、组件、数据结构等等。也可以在分布式计算环境中实践本发明方案,在这些分布式计算环境中,由通过通信网络而被连接的远程处理设备来执行任务。在分布式计算环境中,程序单元可以位于包括存储设备在内的本地和远程计算机存储介质中。
本说明书中的各个实施例均采用递进的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其它实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述得比较简单,相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
以上对本发明实施例进行了详细介绍,本文中应用了具体实施方式对本发明进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及设备;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (25)

1.一种用于获取参数的方法,其特征在于,包括:
控制器获取第一互联网协议IP报文,所述第一IP报文的源IP地址为转发设备的IP地址,所述第一IP报文的目的IP地址为目标设备的IP地址,所述目标设备是除所述转发设备以外的其它转发设备或者应用服务器;
所述控制器将所述第一IP报文封装在第一消息中,并发送所述第一消息至所述转发设备,其中,所述第一消息包括动作类型值,所述动作类型值用于指示所述转发设备收到所述第一消息后,通过解封装得到所述第一IP报文,并对所述第一IP报文进行复制得到两份所述第一IP报文,将所述两份第一IP报文中的第一份向所述目标设备方向发送出去,将所述两份第一IP报文中的第二份回送给所述控制器;
所述控制器记录T1,所述T1指示所述控制器发送所述第一消息的时刻。
2.根据权利要求1所述的方法,其特征在于,还包括:
所述控制器接收所述转发设备发送的第二消息,所述第二消息携带T2;
所述控制器从所述第二消息中获得T2,所述T2指示所述转发设备收到所述第一消息的时刻,或者指示所述转发设备向所述控制器发送所述第二消息的时刻;
所述控制器确定所述控制器到所述转发设备的第一时延,所述第一时延是所述T2和所述T1的差;
或者,
所述控制器在确定所述控制器在第一时间段P1内没有接收到所述转发设备发送的所述第二消息后,确定所述控制器和所述转发设备之间的控制通道发生故障。
3.根据权利要求2所述的方法,其特征在于,还包括:
所述控制器接收到所述转发设备发送的第三消息,所述第三消息携带T3;
所述控制器从所述第三消息中获得T3,所述T3指示所述转发设备收到所述目标设备返回的第二IP报文的时刻,或者指示所述转发设备向所述控制器发送所述第三消息的时刻,其中,所述第二IP报文的源IP地址为所述目标设备的IP地址,所述第二IP报文的目的IP地址为所述转发设备的IP地址;
所述控制器确定从所述转发设备到所述目标设备、再回到所述转发设备的第二时延,所述第二时延是所述T3和所述T2的差;
或者,
所述控制器在确定所述控制器在第二时间段P2内没有接收到所述转发设备发送的所述第三消息后,确定所述所述转发设备和所述目标设备之间的网络发生故障,所述P2大于所述P1。
4.根据权利要求3所述的方法,其特征在于,还包括:
所述控制器记录T4,所述T4指示所述控制器收到所述第三消息的时刻;
所述控制器确定从所述转发设备到所述控制器的第三时延,所述第三时延是所述T4和所述T3的差;和/或
所述控制器确定从发出所述第一消息到收到所述第三消息的第四时延,所述第四时延是所述T4和所述T1的差。
5.根据权利要求1至4任一所述的方法,其特征在于,所述第一消息是开放流OpenFLow协议的扩展分组出Packet-Out消息,所述扩展Packet-Out消息包括所述动作类型值;和/或
所述第一IP报文承载因特网控制报文协议ICMP回显请求报文,所述ICMP回显请求为Ping请求。
6.根据权利要求1至5任一所述的方法,其特征在于,所述第三消息是OpenFlow协议的扩展分组入Packet-In消息,所述扩展Packet-In消息中包括时间戳字段,所述时间戳字段用于携带一个时刻信息;和/或
所述第二IP报文承载因特网控制报文协议ICMP回显应答报文,所述ICMP回显应答为Ping应答。
7.根据权利要求1至6任一所述的方法,其特征在于,所述扩展Packet-In消息具体还包括原因Reason字段,所述Reason字段的取值用于指示所述扩展Packet-In消息中携带着时间戳。
8.一种用于获取参数的方法,其特征在于,包括:
所述转发设备接收所述控制器发来的封装有第一互联网协议IP报文的第一消息,并解析所述第一消息,得到动作类型值,所述动作类型值用于指示所述转发设备收到所述第一消息后,通过解封装得到所述第一IP报文,并对所述第一IP报文进行复制得到两份所述第一IP报文,将所述两份第一IP报文中的第一份向所述目标设备方向发送出去,将所述两份第一IP报文中的第二份回送给所述控制器;
所述转发设备通过解封装得到所述第一IP报文,所述第一IP报文的源IP地址为所述转发设备的IP地址,所述第一IP报文的目的IP地址为目标设备的IP地址,所述目标设备是除所述转发设备以外的其它转发设备或者应用服务器;
所述转发设备复制所述第一IP报文,并封装在所述第二消息里发送到所述控制器,所述第二消息中携带T2,所述T2指示所述转发设备收到所述第一消息的时刻,或者指示所述转发设备向所述控制器发送所述第二消息的时刻;
所述转发设备向所述目标设备发送所述第一IP报文。
9.根据权利要求8所述的方法,其特征在于,还包括:
所述转发设备接收所述目标设备返回的第二IP报文,所述第二IP报文的源IP地址为所述目标设备的IP地址,所述IP报文的目的IP地址为所述转发设备的IP地址;
所述转发设备将所述第二IP报文,封装上第三消息,发送到所述控制器,所述第三消息中携带T3,所述T3指示所述转发设备收到所述目标设备返回的第二IP报文的时刻,或者指示所述转发设备向所述控制器发送所述第三消息的时刻。
10.根据权利要求8或9所述的方法,其特征在于,所述第一消息是开放流OpenFLow协议的扩展分组出Packet-Out消息,所述扩展Packet-Out消息包括所述动作类型值;和/或
所述第一IP报文承载因特网控制报文协议ICMP回显请求报文,所述ICMP回显请求为Ping请求。
11.根据权利要求8至10任一所述的方法,其特征在于,所述第三消息是OpenFlow协议的扩展分组入Packet-In消息,所述扩展Packet-In消息中包括时间戳字段,所述时间戳字段用于携带一个时刻信息;和/或
所述第二IP报文承载因特网控制报文协议ICMP回显应答报文,所述ICMP回显应答为Ping应答。
12.根据权利要求8至11任一所述的方法,其特征在于,所述扩展Packet-In消息具体还包括原因Reason字段,所述Reason字段的取值用于指示所述扩展Packet-In消息中携带着时间戳。
13.一种控制器,其特征在于,包括:
获取单元,用于获取第一互联网协议IP报文,所述第一IP报文的源IP地址为所述转发设备的IP地址,所述第一IP报文的目的IP地址为目标设备的IP地址,所述目标设备是除所述转发设备以外的其它转发设备或者应用服务器;
封装单元,用于将所述第一IP报文封装在第一消息中,所述第一消息包括动作类型值,所述动作类型值用于指示所述转发设备收到所述第一消息后,通过解封装得到所述第一IP报文,并对所述第一IP报文进行复制得到两份所述第一IP报文,将所述两份第一IP报文中的第一份向所述目标设备方向发送出去,将所述两份第一IP报文中的第二份回送给所述控制器;
通信单元,用于发送所述第一消息到所述转发设备上;
处理单元,用于记录T1,所述T1指示所述控制器发送所述第一消息的时刻。
14.根据权利要求13所述的控制器,其特征在于,还包括:
所述通信单元接收到所述转发设备发送的第二消息,所述第二消息携带T2,则所述处理单元获得所述T2,所述T2指示所述转发设备收到所述第一消息的时刻,或者指示所述转发设备向所述控制器发送所述第二消息的时刻;
所述处理单元,确定从所述控制器到所述转发设备的第一时延,所述第一时延是所述T2和所述T1的差;
或者,
所述通信单元在确定所述通信单元在第一时间段P1内没有接收到所述转发设备发送的第二消息后,所述处理单元确定所述控制器和所述转发设备之间的控制通道发生故障。
15.根据权利要求14所述的控制器,其特征在于,还包括:
所述通信单元接收到所述转发设备发送的第三消息,所述第三消息携带T3,则所述处理单元获得所述T3,所述T3指示所述转发设备收到所述目标设备返回的第二IP报文的时刻,或者指示所述转发设备向所述控制器发送所述第三消息的时刻;所述第二IP报文的源IP地址为所述目标设备的IP地址,所述第二IP报文的目的IP地址为所述转发设备的IP地址;
所述处理单元确定从所述转发设备到所述目标设备、再回到所述转发设备的第二时延,所述第二时延是所述T3和所述T2的差;
或者,
所述通信单元在确定所述通信单元在第二时间段P2内没有接收到所述转发设备发送的所述第三消息后,所述处理单元确定所述所述转发设备和所述目标设备之间的网络发生故障,所述P2大于所述P1。
16.根据权利要求15所述的控制器,其特征在于,还包括:
所述处理单元记录T4,所述T4指示所述控制器收到所述第三消息的时刻;
所述处理单元确定从所述转发设备到所述控制器的第三时延,所述第三时延是所述T4和所述T3的差;和/或
所述处理单元确定从发出所述第一消息到收到所述第三消息的第四时延,所述第四时延是所述T4和所述T1的差。
17.根据权利要求13至16任一所述的控制器,其特征在于,所述第一消息是开放流OpenFLow协议的扩展分组出Packet-Out消息,所述扩展Packet-Out消息包括所述动作类型值;和/或
所述第一IP报文承载因特网控制报文协议ICMP回显请求报文,所述ICMP回显请求为Ping请求。
18.根据权利要求13至17任一所述的控制器,其特征在于,所述第三消息是OpenFlow协议的扩展分组入Packet-In消息,所述扩展Packet-In消息中包括时间戳字段,所述时间戳字段用于携带一个时刻信息;和/或
所述第二IP报文承载因特网控制报文协议ICMP回显应答报文,所述ICMP回显应答为Ping应答。
19.根据权利要求13至18任一所述的控制器,其特征在于,所述扩展Packet-In消息具体还包括原因Reason字段,所述Reason字段的取值用于指示所述扩展Packet-In消息中携带着时间戳。
20.一种转发设备,其特征在于,包括:
接收单元,用于接收所述控制器发来的第一消息;
解析单元,用于解析所述第一消息,得到动作类型值,所述动作类型值用于指示所述转发设备收到所述第一消息后,通过解封装得到第一互联网协议IP报文,并对所述第一IP报文进行复制得到两份所述第一IP报文,将所述两份第一IP报文中的第一份向所述目标设备方向发送出去,将所述两份第一IP报文中的第二份回送给所述控制器;
解封装单元,用于通过解封装得到所述第一IP报文,所述第一IP报文的源IP地址为所述转发设备的IP地址,所述第一IP报文的目的IP地址为目标设备的IP地址,所述目标设备是除所述转发设备以外的其它转发设备或者应用服务器;
复制单元,用于对所述第一IP报文进行复制得到两份所述第一IP报文;
封装单元,用于将所述两份第一IP报文中的第二份封装在所述第二消息里,所述第二消息中携带T2,所述T2指示所述转发设备收到所述第一消息的时刻,或者指示所述转发设备向所述控制器发送所述第二消息的时刻;
发送单元,用于向所述目标设备发送所述两份第一IP报文中的第一份报文和向所述控制器发送所述第二消息。
21.根据权利要求20所述的转发设备,其特征在于,还包括:
所述接收单元接收所述目标设备返回的第二IP报文;所述第二IP报文的源IP地址为所述目标设备的IP地址,所述IP报文的目的IP地址为所述转发设备的IP地址;
所述封装单元将所述第二IP报文,封装上第三消息,所述第三消息中携带T3,所述T3指示所述转发设备收到所述目标设备返回的第二IP报文的时刻,或者指示所述转发设备向所述控制器发送所述第三消息的时刻;
所述发送单元将所述第三消息发送到所述控制器。
22.根据权利要求20或21所述的转发设备,其特征在于,所述第一消息是开放流OpenFLow协议的扩展分组出Packet-Out消息,所述扩展Packet-Out消息包括所述动作类型值;和/或
所述第一IP报文承载因特网控制报文协议ICMP回显请求报文,所述ICMP回显请求为Ping请求。
23.根据权利要求20至22任一所述的转发设备,其特征在于,所述第三消息是OpenFlow协议的扩展分组入Packet-In消息,所述扩展Packet-In消息中包括时间戳字段,所述时间戳字段用于携带一个时刻信息;和/或
所述第二IP报文承载因特网控制报文协议ICMP回显应答报文,所述ICMP回显应答为Ping应答。
24.根据权利要求20至23任一所述的转发设备,其特征在于,所述扩展Packet-In消息具体还包括原因Reason字段,所述Reason字段的取值用于指示所述扩展Packet-In消息中携带着时间戳。
25.一种时延检测所需参数的获取系统,应用于控制转发分离的网络,其特征在于,包括:控制器和转发设备,所述控制器为权利要求13至19任一所述的控制器;所述转发设备为权利要求20至24任一所述的转发设备。
CN201410778050.2A 2014-12-15 2014-12-15 用于获取参数的方法、网络设备及系统 Active CN105763347B (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201410778050.2A CN105763347B (zh) 2014-12-15 2014-12-15 用于获取参数的方法、网络设备及系统
PCT/CN2015/092940 WO2016095611A1 (zh) 2014-12-15 2015-10-27 用于获取参数的方法、网络设备及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201410778050.2A CN105763347B (zh) 2014-12-15 2014-12-15 用于获取参数的方法、网络设备及系统

Publications (2)

Publication Number Publication Date
CN105763347A true CN105763347A (zh) 2016-07-13
CN105763347B CN105763347B (zh) 2019-03-26

Family

ID=56125856

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201410778050.2A Active CN105763347B (zh) 2014-12-15 2014-12-15 用于获取参数的方法、网络设备及系统

Country Status (2)

Country Link
CN (1) CN105763347B (zh)
WO (1) WO2016095611A1 (zh)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018196556A1 (zh) * 2017-04-25 2018-11-01 华为技术有限公司 传输时延探测方法、设备和系统
CN114726762A (zh) * 2022-03-24 2022-07-08 新华三技术有限公司 一种时延测量方法及装置

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113765721B (zh) * 2021-09-14 2024-02-09 北京左江科技股份有限公司 一种基于fpga的以太网远程配置装置

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101030947A (zh) * 2007-04-29 2007-09-05 华为技术有限公司 一种报文发送的方法和装置
US20100153055A1 (en) * 2008-12-15 2010-06-17 Verizon Business Network Services Inc. Network testing
CN103152223A (zh) * 2013-03-15 2013-06-12 华为技术有限公司 网络性能监测方法及装置
US20130191530A1 (en) * 2011-11-28 2013-07-25 Nec Laboratories America, Inc. FlowSense: Light-Weight Networking Sensing With OpenFlow

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101030947A (zh) * 2007-04-29 2007-09-05 华为技术有限公司 一种报文发送的方法和装置
US20100153055A1 (en) * 2008-12-15 2010-06-17 Verizon Business Network Services Inc. Network testing
US20130191530A1 (en) * 2011-11-28 2013-07-25 Nec Laboratories America, Inc. FlowSense: Light-Weight Networking Sensing With OpenFlow
CN103152223A (zh) * 2013-03-15 2013-06-12 华为技术有限公司 网络性能监测方法及装置

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2018196556A1 (zh) * 2017-04-25 2018-11-01 华为技术有限公司 传输时延探测方法、设备和系统
CN108737207A (zh) * 2017-04-25 2018-11-02 华为技术有限公司 传输时延探测方法、设备和系统
CN114726762A (zh) * 2022-03-24 2022-07-08 新华三技术有限公司 一种时延测量方法及装置
CN114726762B (zh) * 2022-03-24 2023-11-03 新华三技术有限公司 一种时延测量方法及装置

Also Published As

Publication number Publication date
WO2016095611A1 (zh) 2016-06-23
CN105763347B (zh) 2019-03-26

Similar Documents

Publication Publication Date Title
KR101911579B1 (ko) Openflow에 대한 제어기 구동 oam
EP3355532B1 (en) Method for path detection in vxlan, and controller and network device
US20230300058A1 (en) Layer-3 performance monitoring sectionalization
WO2018099249A1 (zh) 在nfv系统中检测故障的方法、装置和系统
CN112422498A (zh) 一种带内网络遥测方法、系统及计算机可读存储介质
WO2016045098A1 (zh) 交换机、控制器、系统及链路质量检测方法
WO2017206841A1 (zh) 一种网络设备的服务质量检测方法和装置
CN104852828B (zh) 一种网络时延检测方法,装置及系统
US20140293825A1 (en) Timestamping data packets
JPWO2009040903A1 (ja) ネットワーク監視システム、経路抽出方法、プログラム、及びプログラムを記録したコンピュータ読み取り可能な記録媒体
CN108259261B (zh) 路径探测方法和装置
CN105763347B (zh) 用于获取参数的方法、网络设备及系统
US9893979B2 (en) Network topology discovery by resolving loops
EP2858302A1 (en) Connectivity check method of service stream link, related apparatus and system
US10148515B2 (en) Determining connections of non-external network facing ports
US9667439B2 (en) Determining connections between disconnected partial trees
CN115277450B (zh) 基于opnet的虚实结合异构通信网络融合系统及应用
CN102118773B (zh) 检测网络节点间链路连接状态的方法及相关设备
CN107612848A (zh) 一种调试方法及装置、以及计算机可读存储介质
JP6336786B2 (ja) ネットワークシステム、経路解析装置、仮想中継装置、経路探索方法、経路探索プログラム
CN113206765A (zh) 软件定义网络平台吞吐量的获取方法及系统
CN118175069A (zh) 一种多协议标签交换mpls转发平面检测方法及装置
CN114070745A (zh) 一种路径检测方法、装置和系统

Legal Events

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