CN102946325B - 一种基于软件定义网络的网络诊断方法、系统及设备 - Google Patents

一种基于软件定义网络的网络诊断方法、系统及设备 Download PDF

Info

Publication number
CN102946325B
CN102946325B CN201210457073.4A CN201210457073A CN102946325B CN 102946325 B CN102946325 B CN 102946325B CN 201210457073 A CN201210457073 A CN 201210457073A CN 102946325 B CN102946325 B CN 102946325B
Authority
CN
China
Prior art keywords
controller
message
switch
flow table
debugging
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
CN201210457073.4A
Other languages
English (en)
Other versions
CN102946325A (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.)
ZTE Corp
Original Assignee
ZTE Corp
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 ZTE Corp filed Critical ZTE Corp
Priority to CN201210457073.4A priority Critical patent/CN102946325B/zh
Publication of CN102946325A publication Critical patent/CN102946325A/zh
Application granted granted Critical
Publication of CN102946325B publication Critical patent/CN102946325B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Landscapes

  • Debugging And Monitoring (AREA)

Abstract

本发明公开了一种基于软件定义网络(SDN)的网络诊断方法,该方法包括:交换机根据控制器发来的流表调试设置指令,设置流表项的调试选项规则;交换机将报文首部的关键字段与流表项的匹配字段做匹配,并判断报文匹配的流表项是否设置了调试选项字段,若判断的结果为是,则交换机根据调试选项字段内容将执行相应的调试动作,这些动作包括但不限于将匹配的报文和上下文信息发送给控制器;控制器根据报文和上下文信息进行网络诊断。本发明还公开了一种基于SDN的网络诊断系统及设备,通过本发明的技术方案,能够加速网络问题的定位周期,达到提升网络质量、降低网络的运行维护成本的效果。

Description

一种基于软件定义网络的网络诊断方法、系统及设备
技术领域
本发明涉及网络通信技术,具体涉及一种基于软件定义网络(SoftwareDefined Network,SDN)的网络诊断方法、系统及设备。
背景技术
SDN是一种新型的网络创新架构,其核心是构建一个转发面和控制面分离的网络体系,像软件开发、调试一样调试网络,以支持网络功能的不断演进,从而实现网络的灵活控制。
基于SDN的网络问题诊断较传统的网络问题诊断变得更加容易。传统的网络出现问题时,需要相关厂商的技术人员收集设备上的日志,通过厂商私有的工具去诊断,定位故障比较繁琐,而且周期较长。
在SDN架构中,以OpenFlow协议为例,网络问题的诊断流程如图1所示:
步骤11中,控制器向交换机发送FlowMod流表指令,命令交换机将指定报文上传给控制器;
这里,所述指定报文可以是指定报文首部关键字段的报文,例如是报文的目的介质访问控制(MediaAccess Control,MAC)地址为1的报文等等。
步骤12,交换机将报文首部关键字段与流表项的匹配字段做匹配,将匹配成功的报文发送给控制器;
流表项在交换机中存储,可以存在一个或多个。在控制器与交换机连接之后,流表项的内容由维护人员通过控制器提供的接口设置;其中,现有的流表项逻辑结构包括匹配字段、统计字段和执行逻辑字段,匹配字段为针对报文首部的关键字段,例如流表项的匹配字段是目的MAC地址为1,则交换机将所有报文的报文首部的关键字段与流表项的匹配字段做匹配,将所有目的MAC地址为1的报文发送给控制器进行网络诊断。
步骤13,控制器对报文进行检查、调试后,将报文从指定端口发出。
目前基于SDN的网络诊断方法仍有一些不足之处,首先,控制器需要向交换机发送额外的流表指令,用于通知交换机将指定报文发送给控制器,这些额外的流表指令可能会与已有的流表项冲突,使交换机无法判断根据那个流表指令进行进程处理,从而导致交换机不能正确将指定报文发送给控制器;其次,OpenFlow协议无法携带交换机转发面更加详细的信息,例如交换机芯片的寄存器信息、内存数据信息等等,从而导致这些硬件信息无法报告给控制器,使得在短时间内难以确定网络故障的位置,加大了网络诊断的难度;第三,控制器网络诊断结束之后只能将报文从指定端口发送出去,而无法继续报文中断的处理进程,进而无法实现像软件开发、调试一样调试网络,违背了SDN的核心理念。
发明内容
有鉴于此,本发明的主要目的在于提供一种基于软件定义网络的网络诊断方法、系统及设备,能够加速网络故障的定位周期,达到提升网络质量、降低网络的运行维护成本的效果。
为达到上述目的,本发明的技术方案是这样实现的:
本发明提供了一种基于SDN的网络诊断方法,该方法包括:
交换机根据控制器发来的流表调试设置指令,设置流表项的调试选项规则;
交换机将报文首部的关键字段与流表项的匹配字段做匹配,并判断报文匹配的流表项是否设置了调试选项字段,若判断的结果为是,则交换机根据调试选项字段内容执行相应的调试动作,将匹配的报文和上下文信息发送给控制器;
控制器根据收到的报文和上下文信息进行网络诊断。
上述方案中,所述交换机根据调试选项字段内容执行相应的调试操作,将匹配的报文和上下文信息发送给控制器包括:
若调试选项字段为上送至控制器,则交换机将匹配的报文和上下文信息立即发送给控制器;
若调试选项字段为数据流日志缓存,则交换机将匹配的报文和上下文信息发送到交换机日志缓存,交换机从日志缓存中读取报文和上下文信息发送给控制器。
上述方案中,所述调试选项字段作为流表项中的独立字段携带,或通过流表项中现有字段的扩展属性携带。
上述方案中,所述交换机将报文首部的关键字段与流表项的匹配字段做匹配之前,该方法还包括:
交换机通过流表通知指令将流表项的调试选项能力发送给控制器;
或控制器向交换机发送流表项的调试选项能力请求指令,交换机通过流表功能响应指令将流表项的调试选项能力发送给控制器。
上述方案中,所述控制器根据收到的报文和上下文信息进行网络诊断之后,进一步包括:
控制器将报文和上下文信息发送给交换机继续报文中断的处理进程。
本发明还提供了一种基于SDN的网络诊断系统,该系统包括交换机和控制器;其中,
所述交换机,用于根据控制器发来的流表调试设置指令,设置流表项的调试选项规则;用于根据设置的流表项的调试选项规则,将报文首部的关键字段与流表项的匹配字段做匹配,并判断报文匹配的流表项是否设置了调试选项字段,若判断结果为是,则根据调试选项字段内容执行相应的调试动作,将匹配的报文和上下文信息发送给控制器;
所述控制器,用于向交换机发送流表调试设置指令,设置流表项的调试选项规则;还用于接收交换机发来的报文和上下文信息,并根据报文和上下文信息进行网络诊断。
上述方案中,所述交换机,还用于在将报文首部的关键字段与流表项的匹配字段做匹配之前,将流表项的调试选项能力发送给控制器;
相应的,所述控制器,还用于接收交换机发来的流表项的调试选项能力;
或所述控制器,还用于在将报文首部的关键字段与流表项的匹配字段做匹配之前,向交换机发送流表项的调试选项能力请求指令,并接收交换机返回的流表功能相应指令;
相应的,所述交换机,还用于在收到控制器发来的流表项的调试选项能力请求指令后,通过流表功能响应指令将流表项的调试选项能力发送给控制器。
上述方案中,所述控制器,还用于在网络诊断结束后,将报文和上下文信息发送给交换机;
相应的,所述交换机,还用于网络诊断结束后,接收控制器发来的报文和上下文信息继续报文中断的处理进程。
上述方案中,所述根据调试选项字段内容执行相应的调试动作,将匹配的报文和上下文信息发送给控制器包括:
若调试选项字段为报文上送至控制器,则交换机将匹配的报文和上下文信息立即发送给控制器;
若调试选项字段为数据流日志缓存,则交换机将匹配的报文和上下文信息发送到交换机日志缓存,交换机从日志缓存中读取报文和上下文信息发送给控制器。
本发明还提供了一种交换机,所述交换机包括调试选项设置模块、第二调试选项能力接口、匹配执行模块、日志缓存模块和数据读取模块;其中,
所述调试选项设置模块,用于根据控制器通过第二调试选项能力接口发来的流表调试设置指令,设置流表项的调试选项规则;
所述第二调试选项能力接口,用于将控制器发来的流表调试设置指令发送给调试选项设置模块;
所述匹配执行模块,用于将报文首部的关键字段与流表项的匹配字段做匹配,并判断该报文匹配的流表项是否设置了调试选项字段,若判断结果为是,则根据调试选项内容将报文和上下文信息发送给控制器,或发送给日志缓存模块;
所述日志缓存模块,用于存储匹配执行模块发来的报文和上下文信息;
所述数据读取模块,用于读取日志缓存模块中存储的报文和上下文信息,并将读取的信息发送给控制器。
上述方案中,所述交换机还包括能力上报模块,用于在将报文首部的关键字段与流表项的匹配字段做匹配之前,将流表项的调试选项能力通过第二调试选项能力接口发送给控制器;或在收到控制器通过第二调试选项能力接口发来的流表项的调试选项能力请求指令后,通过第二调试选项能力接口将流表功能响应指令发送给控制器;
相应的,所述第二调试选项能力接口还用于将能力上报模块发来的流表项的调试选项能力发送给控制器;或将控制器发来的流表项的调试选项能力请求指令发送给能力上报模块后,将能力上报模块发来的流表功能响应指令发送给控制器。
上述方案中,所述匹配执行模块还用于在控制器对报文网络诊断结束后,接收控制器发来的报文和上下文信息,并继续报文中断的处理进程。
上述方案中,所述根据调试选项内容将报文和上下文信息发送给控制器,或发送给日志缓存模块包括:
若调试选项字段为报文上送至控制器,则匹配执行模块将匹配的报文和上下文信息立即发送给控制器;
若调试选项字段为数据流日志缓存,则匹配执行模块将匹配的报文和上下文信息发送到日志缓存模块,匹配执行模块从日志缓存模块中读取报文和上下文信息发送给控制器。
本发明还提供了一种控制器,所述控制器包括指令设置模块、第一调试选项能力接口、数据接收模块和诊断应用模块;其中,
所述指令设置模块,用于通过第一调试选项能力接口向交换机发送流表调试设置指令,设置流表项的调试选项规则;
所述第一调试选项能力接口,用于将指令设置模块发来的流表调试设置指令发送给交换机;
所述数据收发模块,用于接收交换机发来的报文和上下文信息,并将报文和上下文信息发送给应用诊断模块;
所述诊断应用模块,用于根据数据收发模块发来的报文和上下文信息进行网络诊断。
上述方案中,所述控制器还包括能力获取模块,用于在将报文首部的关键字段与流表项的匹配字段做匹配之前,通过第一调试选项能力接口接收交换机发来的流表项的调试选项能力;或通过第一调试选项能力接口向交换机发送流表项的调试选项能力请求指令,并通过第一调试选项能力接口接收交换机返回的流表功能响应指令;
相应的,所述第一调试选项能力接口,还用于将交换机发来的流表项的调试选项能力发送给能力获取模块;或将能力获取模块发来的流表项的调试选项能力请求指令发送给交换机,将交换机返回的流表功能相应指令发送给能力获取模块。
上述方案中,所述数据收发模块,还用于在网络诊断结束后,将报文和上下文信息发送给交换机。
本发明提供的技术方案的有益方面包括如下几点:
首先,控制器向交换机发送流表调试设置指令,设置流表项的调试选项规则,这些流表调试设置指令不会与已有的流表项发生冲突。
其次,交换机将匹配的报文和上下文信息发送给控制器进行网络诊断,如此,使控制器可以根据上下文信息快速确定网络故障的位置,加速网络故障的定位周期,达到提升网络质量、降低网络的运行维护成本的效果,并且在网络诊断结束后,控制器将报文和上下文信息同时发送给交换机,使交换机能够继续报文中断的处理进程。
另外,调试选项字段包括但不限于上送至控制器和数据流日志缓存,使交换机根据控制器的设置将报文和上下文信息发送至控制器、或发送至数据流日志缓存,交换机再根据带宽容量按一定频率从日志缓存中读取报文和上下文信息发送给控制器,如此,可以控制交换机和控制器之间的数据传输容量不至于过大而造成传输拥堵。
附图说明
图1为现有技术中基于SDN的网络诊断方法的流程示意图;
图2为本发明基于SDN的网络诊断方法的流程示意图;
图3为本发明基于SDN的网络诊断系统的组成架构示意图;
图4为本发明实施例提供的基于SDN的网络诊断方法的流程示意图。
具体实施方式
下面结合附图及具体实施例对本发明再作进一步详细的说明。
图2为本发明基于SDN的网络诊断方法的流程示意图,如图2所示,包括以下步骤:
步骤21:交换机根据控制器发来的流表调试设置指令,设置流表项的调试选项规则;
这里,控制器可通过控制器本身的调试选项能力接口向交换机发送流表调试设置指令,用来设置调试选项规则,所述流表调试设置指令包括流表号、匹配字段和调试选项字段;所述调试选项字段包括:上送至控制器、数据流日志缓存等等;所述流表调试指令可通过标准协议承载,如OpenFlow协议,向交换机设置调试选项规则。具体的,流表调试设置指令可以为:流表号为a,匹配字段为源MAC地址是b,调试选项字段为数据流日志缓存。
这里,交换机可通过交换机本身的调试选项能力接口接收控制器发来的流表调试设置指令,用来设置调试选项规则;其中,所述控制器提供的调试选项能力接口是基于交换机提供的调试选项能力接口的基础之上开发的;
其中,维护人员可以通过控制器提供的接口设置调试选项规则,所述调试选项规则可根据维护人员的需要进行设置,例如,设备a至设备b之间网络发生异常,则维护人员可以设置流表号为1、匹配字段为:源MAC地址为设备a地址和目的MAC地址为设备b地址、调试选项字段为上送至控制器,进而控制交换机将发生异常区域的报文发送给控制器进行网络诊断;
其中,所述控制器泛指能够通过命令控制、查询、维护交换机/路由器的装置。例如对于传统的交换机而言,通过简单网络管理协议(Simple NetworkManagement Protocol,SNMP)、网络配置协议(NETCONF)等标准协议管理交换机的网络管理系统可视为控制器的一种;对于软件定义网络领域中的控制器而言,通过OpenFlow标准协议控制交换机转发行为的装置可视为控制器的一种。
步骤22:交换机将报文首部的关键字段与流表项的匹配字段做匹配,并判断报文匹配的流表项是否设置了调试选项字段,若判断的结果为是,则交换机根据调试选项字段内容将匹配的报文和上下文信息发送给控制器;
这里,所述交换机将报文首部的关键字段与流表项中的匹配字段做匹配之前,该方法还包括:
交换机通过流表通知指令将流表项的调试选项能力发送给控制器;
或控制器向交换机发送流表项的调试选项能力请求指令,交换机通过流表功能响应指令将流表项的调试选项能力发送给控制器。
其中,由于交换机中有部分流表项是硬件固化流表项,硬件固化流表项中的流表调试规则不能被交换机通过流表调试设置指令所设置,因此,在交换机将报文首部的关键字段与流表项的匹配字段做匹配之前,需将流表项的调试选项能力上报给控制器,以防止控制器设置的流表调试规则与硬件固化流表项中的流表调试规则发生冲突,便于控制器能够及时做出调整,保证进程的正常运行;
其中,所述调试选项能力为所有携带有调试选项字段的流表项的内容,包括流表号、匹配字段和调试选项字段等信息;
其中,所述调试选项字段包括报文上送至控制器和数据流日志缓存等等。
这里,所述交换机根据调试选项字段内容将匹配的报文和上下文信息发送给控制器包括:
若调试选项字段为上送至控制器,则交换机将匹配的报文和上下文信息立即发送给控制器;
若调试选项字段为数据流日志缓存,则交换机将匹配的报文和上下文信息发送到交换机日志缓存,交换机从日志缓存中读取报文和上下文信息发送给控制器。
这里,交换机可根据控制器和交换机之间的传输带宽容量设置采样频率来控制交换机从日志缓存中读取报文和上下文信息的大小,以控制交换机和控制器之间的数据传输容量不至于过大而造成传输拥堵。
具体的,以交换机中的流表项包括1~255张、其中流表号为a的流表项的匹配字段为目的MAC地址为1、调试选项字段为上送至控制器为例,当交换机收到报文后,假设该报文首部的目的MAC地址也为1,将数据报文从流表号为1的流表项开始进行匹配进程处理,直至进行到流表号为a的流表项,报文首部的关键字段与流表项的匹配字段匹配成功,则进一步判断匹配的流表项是否携带调试选项字段,此处判断的结果为是,则根据调试选项字段内容:上送至控制器,交换机将报文和上下文信息立即发送给控制器进行网络诊断;
其中,所述调试选项字段可以作为流表项中的独立字段携带,也可以作为流表项中现有字段的扩展属性携带,比如作为执行逻辑字段的扩展字段携带;
其中,所述上下文信息包括抽象的上下文信息和私有的上下文信息;其中,
所述抽象的上下文信息包括报文匹配的流表号、流表项信息、报文首部信息等等;
所述私有的上下文信息包括转发面芯片的寄存器信息、内存数据信息等报文所述的硬件方面的信息。
步骤23:控制器将报文和上下文信息发送给诊断应用进行网络诊断;
这里,控制器的收发端口收到报文和上下文信息后通过诊断信息指令将报文和上下文信息发送给诊断应用,维护人员可以在诊断应用中对网络故障进行定位,在诊断应用中的仿真调试应用里,通过报文和上下文信息可以恢复网络设备转发面的上下文信息,通过仿真运行的方式对网络故障进行调试跟踪,确定网络故障位置;
另外,控制器还可以将报文和上下文信息发送到第三方诊断平台进行更进一步的问题诊断;该诊断过程不在本发明的保护范围,此处不在赘述。
这里,所述控制器根据收到的报文和上下文信息进行网络诊断之后,进一步包括:控制器将报文和上下文信息发送给交换机继续报文中断的处理进程;
具体的,当网络诊断结束后,控制器将报文及上下文信息同时发送给交换机,使得交换机根据上下文信息能够继续报文中断的处理进程。例如在交换机将报文和上下文信息发送给控制器之前,交换机将报文和流表项进行匹配处理至流表号为a的流表项,则交换机收到报文和上下文信息后,根据上下文信息中,得知该报文进行到流表号为a的流表项匹配处理进程中,交换机将从流表号为a+1的流表项匹配处理进程开始,继续对报文进行处理,直至报文结束全部255张流表项的匹配处理进程,从交换机的指定端口发送至原目的地址。
图3为本发明基于SDN的网络诊断系统的组成架构示意图,如图2所示,该系统包括交换机31和控制器32;其中,
所述交换机31,用于根据控制器32发来的流表调试设置指令,设置流表项的调试选项规则;用于根据设置的流表项的调试选项规则,将报文首部的关键字段与流表项的匹配字段做匹配,并判断报文匹配的流表项是否设置了调试选项字段,若判断结果为是,则根据调试选项字段内容将匹配的报文和上下文信息发送给控制器32;
所述控制器32,用于向交换机31发送流表调试设置指令,设置流表项的调试选项规则;还用于接收交换机31发来的报文和上下文信息,并根据报文和上下文信息进行网络诊断。
进一步的,所述交换机31,还用于在将报文首部的关键字段与流表项的匹配字段做匹配之前,将流表项的调试选项能力发送给控制器32;
相应的,所述控制器32,还用于接收交换机31发来的流表项的调试选项能力;
或所述控制器32,还用于在将报文首部的关键字段与流表项的匹配字段做匹配之前,向交换机31发送流表项的调试选项能力请求指令,并接收交换机31返回的流表功能相应指令;
相应的,所述交换机31,还用于在收到控制器32发来的流表项的调试选项能力请求指令后,通过流表功能响应指令将流表项的调试选项能力发送给控制器32。
所述控制器32,进一步用于在网络诊断结束后,将报文和上下文信息发送给交换机31;
所述交换机31,进一步用于在网络诊断结束后,接收控制器32发来的报文和上下文信息继续报文中断的处理进程。
这里,交换机31根据调试选项字段内容将匹配的报文和上下文信息发送给控制器32包括:
若调试选项字段为报文上送至控制器,则交换机31将匹配的报文和上下文信息立即发送给控制器32;
若调试选项字段为数据流日志缓存,则交换机31将匹配的报文和上下文信息发送到交换机日志缓存,交换机31从日志缓存中读取报文和上下文信息发送给控制器32。
进一步的,所述系统还包括第三方诊断平台33,用于根据控制器发来的报文和上下文信息进行网络诊断;
相应的,所述控制器32,还用于将报文和上下文信息发送至第三方诊断平台33。
进一步的,所述交换机31包括调试选项设置模块314、第二调试选项能力接口316、匹配执行模块311、日志缓存模块312和数据读取模块313;其中,
所述调试选项设置模块314,用于根据控制器32通过第二调试选项能力接口316发来的流表调试设置指令,设置流表项的调试选项规则;
所述第二调试选项能力接口316,用于将控制器32发来的流表调试设置指令发送给调试选项设置模块314;
所述匹配执行模块311,用于将报文首部的关键字段与流表项的匹配字段做匹配,并判断该报文匹配的流表项是否设置了调试选项字段,若判断结果为是,则根据调试选项字段内容将报文和上下文信息发送给控制器32,或发送给日志缓存模块312;
所述日志缓存模块312,用于存储匹配执行模块311发来的报文和上下文信息;
所述数据读取模块313,用于读取日志缓存模块312中存储的报文和上下文信息,并将读取的信息发送给控制器32。
进一步的,所述交换机31还包括能力上报模块315,用于在将报文首部的关键字段与流表项的匹配字段做匹配之前,将流表项的调试选项能力通过第二调试选项能力接口316发送给控制器32;或在收到控制器32通过第二调试选项能力接口316发来的流表项的调试选项能力请求指令后,通过第二调试选项能力接口316将流表功能响应指令发送给控制器32;
相应的,所述第二调试选项能力接口316还用于将能力上报模块315发来的流表项的调试选项能力发送给控制器32;或将控制器32发来的流表项的调试选项能力请求指令发送给能力上报模块315后,将能力上报模块315发来的流表功能响应指令发送给控制器32。
进一步的,所述匹配执行模块311,还用于在控制器32对报文网络诊断结束后,接收控制器32发来的报文和上下文信息,并继续报文中断的处理进程。
进一步的,所述控制器32包括指令设置模块321、第一调试选项能力接口325、数据收发模块322和诊断应用模块323;其中,
所述指令设置模块321,用于通过第一调试选项能力接口325向交换机31发送流表调试设置指令,设置流表项的调试选项规则;
所述第一调试选项能力接口325,用于将指令设置模块321发来的流表调试设置指令发送给交换机31;
所述数据收发模块322,用于接收交换机31发来的报文和上下文信息,并将报文和上下文信息发送给应用诊断模块323;
所述诊断应用模块323,用于根据数据收发模块322发来的报文和上下文信息进行网络诊断。
进一步的,所述控制器32还包括能力获取模块324,用于在将报文首部的关键字段与流表项的匹配字段做匹配之前,通过第一调试选项能力接口325接收交换机31发来的流表项的调试选项能力;或通过第一调试选项能力接口325向交换机31发送流表项的调试选项能力请求指令,并通过第一调试选项能力接口325接收交换机31返回的流表功能响应指令;
相应的,所述第一调试选项能力接口325,还用于将交换机31发来的流表项的调试选项能力发送给能力获取模块324;或将能力获取模块324发来的流表项的调试选项能力请求指令发送给交换机31,将交换机31返回的流表功能相应指令发送给能力获取模块324。
进一步的,所述数据收发模块322,还用于在网络诊断结束后,将报文和上下文信息发送给交换机31。
进一步的,所述数据收发模块322,还用于将报文和上下文信息发送至第三方诊断平台33。
图4为本发明实施例提供的基于SDN的网络诊断方法的流程示意图,如图4所示,包括以下步骤:
步骤401:控制器与交换机建立连接,控制器向交换机发送流表调试设置指令,设置流表项的调试选项规则;
这里,维护人员可以通过控制器提供的调试选项能力接口设置调试选项规则,通过流表调试指令向一个或多个交换机发送该流表调试设置指令;所述流表调试指令可通过标准协议承载,如OpenFlow协议,向交换机设置调试选项规则;
其中,所述流表调试选项指令包括流表号、匹配字段和调试选项字段,具体需要在哪个流表项中设置调试选项字段可以由维护人员通过控制器提供的接口来设置;所述调试选项字段包括:上送至控制器、数据流日志缓存等等;
具体的,若调试选项字段为上送至控制器,则交换机将匹配到的报文和上下文信息发送至控制器;
若调试选项字段为数据流日志缓存,则交换机将匹配到的报文和上下文信息发送至本地交换机日志缓存,并按一定的采样频率读取日志缓存中存储的报文和上下文信息,将报文和上下文信息发送给控制器。
步骤402:交换机通过流表通知指令将流表项的调试选项能力发送给控制器;
这里,所述交换机通过流表通知指令将流表项的调试选项能力发送给控制器,也可以是控制器向交换机发送流表功能请求指令,交换机通过流表功能相应指令将流表项的调试选项能力发送给控制器;
其中,由于交换机中有部分流表项是硬件固化流表项,硬件固化流表项中的流表调试规则不能被交换机通过流表调试设置指令所设置,因此,在交换机将报文首部的关键字段与流表项的匹配字段做匹配之前,需将流表项的调试选项能力上报给控制器,以防止控制器设置的流表调试规则与硬件固化流表项中的流表调试规则发生冲突,便于控制器能够及时做出调整,保证进程的正常运行;
其中,所述流表项的调试选项能力为所有携带有调试选项字段的流表项的内容,包括流表号、匹配字段和调试选项字段等信息。
步骤403~404:交换机将报文首部的关键字段与流表项的匹配字段做匹配,并判断匹配的流表项是否设置了调试选项字段,若判断的结果为是,则执行步骤405~408;
这里,所述报文首部的关键字段与流表项的匹配字段可以是目的MAC地址、源MAC地址等信息,例如,流表号为a的流表项的匹配字段是目的MAC地址为1,若报文首部的目的MAC地址也为1,则该报文首部的关键字段与该流表项的匹配字段匹配成功;
若报文首部的关键字段与流表项的匹配字段匹配成功,则进一步判断匹配的流表项是否设置了调试选项字段,若判断的结果为是,则依据调试选项字段的具体内容,执行步骤405~408;
若调试选项字段为上送控制器,则执行步骤405:交换机将报文和上下文信息立即发送至控制器;
若调试选项字段为数据流日志缓存,则执行步骤406:交换机将报文和上下文信息发送至日志缓存,交换机从日志缓存中读取报文和上下文信息发送给控制器;
这里,所述日志缓存可以保存在交换机的硬盘中,交换机可以根据控制器和交换机之间的传输带宽容量设置采样频率来控制交换机从日志缓存中读取报文和上下文信息的大小,以控制交换机和控制器之间的数据传输通量不至于过大而造成传输拥堵。
当交换机将报文和上下文信息发送给控制器后,执行步骤407~408:
步骤407:控制器将报文和上下文信息发送给诊断应用进行网络诊断;
这里,控制器的收发端口收到报文和上下文信息后通过诊断信息指令将报文和上下文信息发送给诊断应用,维护人员可以在诊断应用中对网络故障进行定位,在诊断应用中的仿真调试应用里,通过报文和上下文信息可以恢复网络设备转发面的上下文信息,通过仿真运行的方式对网络故障进行调试跟踪,确定网络故障位置;
步骤408:诊断结束后,控制器将报文和上下文信息发送给交换机,交换机根据上下文信息继续报文中断的处理进程;
这里,交换机中的流表项可以包括1~X张,在交换机将报文和上下文信息发送给控制器之前,交换机将报文和流表项进行匹配处理至流表号为a的流表项,则交换机收到报文和上下文信息后,上下文信息得知该报文进行到流表项为a的流表项匹配处理进程,交换机将从流表号为a+1的流表项匹配处理进程开始,继续对报文进行处理,直至报文结束全部X张流表项的匹配处理进程,从交换机的指定端口发送至原目的地址。
若调试选项字段为数据流镜像,则交换机将报文和上下文信息从指定端口发送至报文原目的地址。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和范围之内所作的任何修改、等同替换和改进等,均包含在本发明的保护范围之内。

Claims (12)

1.一种基于软件定义网络SDN的网络诊断方法,其特征在于,该方法包括:
交换机根据控制器发来的流表调试设置指令,设置流表项的调试选项规则;
交换机将报文首部的关键字段与流表项的匹配字段做匹配,并判断报文匹配的流表项是否设置了调试选项字段,若判断的结果为是,则交换机根据调试选项字段内容执行相应的调试动作,将匹配的报文和上下文信息发送给控制器;
控制器根据收到的报文和上下文信息进行网络诊断;
在所述交换机将报文首部的关键字段与流表项的匹配字段做匹配之前,该方法还包括:
交换机通过流表通知指令将流表项的调试选项能力发送给控制器;
或控制器向交换机发送流表项的调试选项能力请求指令,交换机通过流表功能响应指令将流表项的调试选项能力发送给控制器。
2.根据权利要求1所述的方法,其特征在于,所述交换机根据调试选项字段内容执行相应的调试操作,将匹配的报文和上下文信息发送给控制器包括:
若调试选项字段为上送至控制器,则交换机将匹配的报文和上下文信息立即发送给控制器;
若调试选项字段为数据流日志缓存,则交换机将匹配的报文和上下文信息发送到交换机日志缓存,交换机从日志缓存中读取报文和上下文信息发送给控制器。
3.根据权利要求1所述的方法,其特征在于,所述调试选项字段作为流表项中的独立字段携带,或通过流表项中现有字段的扩展属性携带。
4.根据权利要求1所述的方法,其特征在于,所述控制器根据收到的报文和上下文信息进行网络诊断之后,进一步包括:
控制器将报文和上下文信息发送给交换机继续报文中断的处理进程。
5.一种基于SDN的网络诊断系统,其特征在于,该系统包括交换机和控制器;其中,
所述交换机,用于根据控制器发来的流表调试设置指令,设置流表项的调试选项规则;用于根据设置的流表项的调试选项规则,将报文首部的关键字段与流表项的匹配字段做匹配,并判断报文匹配的流表项是否设置了调试选项字段,若判断结果为是,则根据调试选项字段内容执行相应的调试动作,将匹配的报文和上下文信息发送给控制器;
所述控制器,用于向交换机发送流表调试设置指令,设置流表项的调试选项规则;还用于接收交换机发来的报文和上下文信息,并根据报文和上下文信息进行网络诊断;
所述交换机,还用于在将报文首部的关键字段与流表项的匹配字段做匹配之前,将流表项的调试选项能力发送给控制器;
相应的,所述控制器,还用于接收交换机发来的流表项的调试选项能力;
或所述控制器,还用于在将报文首部的关键字段与流表项的匹配字段做匹配之前,向交换机发送流表项的调试选项能力请求指令,并接收交换机返回的流表功能相应指令;
相应的,所述交换机,还用于在收到控制器发来的流表项的调试选项能力请求指令后,通过流表功能响应指令将流表项的调试选项能力发送给控制器。
6.根据权利要求5所述的系统,其特征在于,
所述控制器,还用于在网络诊断结束后,将报文和上下文信息发送给交换机;
相应的,所述交换机,还用于网络诊断结束后,接收控制器发来的报文和上下文信息继续报文中断的处理进程。
7.根据权利要求5所述的系统,其特征在于,所述根据调试选项字段内容执行相应的调试动作,将匹配的报文和上下文信息发送给控制器包括:
若调试选项字段为报文上送至控制器,则交换机将匹配的报文和上下文信息立即发送给控制器;
若调试选项字段为数据流日志缓存,则交换机将匹配的报文和上下文信息发送到交换机日志缓存,交换机从日志缓存中读取报文和上下文信息发送给控制器。
8.一种交换机,其特征在于,所述交换机包括调试选项设置模块、第二调试选项能力接口、匹配执行模块、日志缓存模块和数据读取模块;其中,
所述调试选项设置模块,用于根据控制器通过第二调试选项能力接口发来的流表调试设置指令,设置流表项的调试选项规则;
所述第二调试选项能力接口,用于将控制器发来的流表调试设置指令发送给调试选项设置模块;
所述匹配执行模块,用于将报文首部的关键字段与流表项的匹配字段做匹配,并判断该报文匹配的流表项是否设置了调试选项字段,若判断结果为是,则根据调试选项内容将报文和上下文信息发送给控制器,或发送给日志缓存模块;
所述日志缓存模块,用于存储匹配执行模块发来的报文和上下文信息;
所述数据读取模块,用于读取日志缓存模块中存储的报文和上下文信息,并将读取的信息发送给控制器;
所述交换机还包括能力上报模块,用于在将报文首部的关键字段与流表项的匹配字段做匹配之前,将流表项的调试选项能力通过第二调试选项能力接口发送给控制器;或在收到控制器通过第二调试选项能力接口发来的流表项的调试选项能力请求指令后,通过第二调试选项能力接口将流表功能响应指令发送给控制器;
相应的,所述第二调试选项能力接口还用于将能力上报模块发来的流表项的调试选项能力发送给控制器;或将控制器发来的流表项的调试选项能力请求指令发送给能力上报模块后,将能力上报模块发来的流表功能响应指令发送给控制器。
9.根据权利要求8所述的交换机,其特征在于,所述匹配执行模块还用于在控制器对报文网络诊断结束后,接收控制器发来的报文和上下文信息,并继续报文中断的处理进程。
10.根据权利要求8或9所述的交换机,其特征在于,所述根据调试选项内容将报文和上下文信息发送给控制器,或发送给日志缓存模块包括:
若调试选项字段为报文上送至控制器,则匹配执行模块将匹配的报文和上下文信息立即发送给控制器;
若调试选项字段为数据流日志缓存,则匹配执行模块将匹配的报文和上下文信息发送到日志缓存模块,匹配执行模块从日志缓存模块中读取报文和上下文信息发送给控制器。
11.一种控制器,其特征在于,所述控制器包括指令设置模块、第一调试选项能力接口、数据接收模块和诊断应用模块;其中,
所述指令设置模块,用于通过第一调试选项能力接口向交换机发送流表调试设置指令,设置流表项的调试选项规则;
所述第一调试选项能力接口,用于将指令设置模块发来的流表调试设置指令发送给交换机;
所述数据收发模块,用于接收交换机发来的报文和上下文信息,并将报文和上下文信息发送给应用诊断模块;
所述诊断应用模块,用于根据数据收发模块发来的报文和上下文信息进行网络诊断;
所述控制器还包括能力获取模块,用于在将报文首部的关键字段与流表项的匹配字段做匹配之前,通过第一调试选项能力接口接收交换机发来的流表项的调试选项能力;或通过第一调试选项能力接口向交换机发送流表项的调试选项能力请求指令,并通过第一调试选项能力接口接收交换机返回的流表功能响应指令;
相应的,所述第一调试选项能力接口,还用于将交换机发来的流表项的调试选项能力发送给能力获取模块;或将能力获取模块发来的流表项的调试选项能力请求指令发送给交换机,将交换机返回的流表功能相应指令发送给能力获取模块。
12.根据权利要求11所述的控制器,其特征在于,所述数据收发模块,还用于在网络诊断结束后,将报文和上下文信息发送给交换机。
CN201210457073.4A 2012-11-14 2012-11-14 一种基于软件定义网络的网络诊断方法、系统及设备 Active CN102946325B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201210457073.4A CN102946325B (zh) 2012-11-14 2012-11-14 一种基于软件定义网络的网络诊断方法、系统及设备

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201210457073.4A CN102946325B (zh) 2012-11-14 2012-11-14 一种基于软件定义网络的网络诊断方法、系统及设备

Publications (2)

Publication Number Publication Date
CN102946325A CN102946325A (zh) 2013-02-27
CN102946325B true CN102946325B (zh) 2015-06-03

Family

ID=47729234

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201210457073.4A Active CN102946325B (zh) 2012-11-14 2012-11-14 一种基于软件定义网络的网络诊断方法、系统及设备

Country Status (1)

Country Link
CN (1) CN102946325B (zh)

Families Citing this family (41)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9356871B2 (en) * 2013-03-15 2016-05-31 Cisco Technology, Inc. Programmable management engine for networks
CN104429028B (zh) * 2013-05-06 2018-01-12 华为技术有限公司 基于sdn的网络配置方法、装置及系统
CN103326884B (zh) * 2013-05-30 2016-06-01 烽火通信科技股份有限公司 Sdn网络中结合流检测和包检测的业务流感知系统及方法
JP6752141B2 (ja) * 2013-06-14 2020-09-09 華為技術有限公司Huawei Technologies Co.,Ltd. パケットを処理するための方法およびフォワーダ
EP2995064A4 (en) * 2013-06-20 2016-06-15 Huawei Tech Co Ltd NETWORK METHOD AND APPARATUS FOR ESTABLISHING A PATH
WO2014205647A1 (zh) * 2013-06-25 2014-12-31 华为技术有限公司 转发节点的处理方法、转发节点及控制节点
CN104348757B (zh) * 2013-07-31 2018-03-16 华为技术有限公司 一种流表交互方法、交换机及系统
CN104426731B (zh) * 2013-08-23 2018-01-12 新华三技术有限公司 一种生成树计算的方法和装置
CN104426760A (zh) * 2013-08-23 2015-03-18 中兴通讯股份有限公司 流映射处理方法及装置
CN104426815B (zh) 2013-08-27 2019-07-09 中兴通讯股份有限公司 一种sdn中流表下发的方法和系统、of控制器和of交换机
WO2015027477A1 (zh) * 2013-08-30 2015-03-05 华为技术有限公司 流表控制方法、装置、交换机和控制器
WO2015040625A1 (en) * 2013-09-23 2015-03-26 Hewlett-Packard Development Company, L.P. Troubleshooting openflow networks
CN104579722A (zh) * 2013-10-11 2015-04-29 中兴通讯股份有限公司 流统计能力的协商方法及装置
US9467330B2 (en) 2013-10-14 2016-10-11 Hewlett Packard Enterprise Development Lp Diagnosing connectivity in a network
CN103607379A (zh) * 2013-11-04 2014-02-26 中兴通讯股份有限公司 一种软件定义网络安全实施方法、系统及控制器
CN103560951A (zh) * 2013-11-13 2014-02-05 华为技术有限公司 报文处理方法及物理转发设备
FI20136138L (fi) * 2013-11-18 2015-05-19 Tellabs Oy Verkkoelementti ja kontrolleri verkkoelementin hallitsemiseksi
CN103685250A (zh) * 2013-12-04 2014-03-26 蓝盾信息安全技术股份有限公司 一种基于sdn的虚拟机安全策略迁移的系统及方法
CN104753791B (zh) * 2013-12-31 2019-01-01 中国移动通信集团公司 一种数据包处理方法、装置和系统
JP6369024B2 (ja) * 2014-01-09 2018-08-08 富士通株式会社 映像配信システム及び映像配信システムにおいて使用されるノード装置
EP3091708B1 (en) 2014-01-28 2019-01-23 Huawei Technologies Co., Ltd. Processing rule modification method and apparatus
CN105264944B (zh) * 2014-03-18 2019-06-21 华为技术有限公司 统计信息上报方法及装置
CN104205745B (zh) * 2014-04-04 2017-02-15 华为技术有限公司 报文处理的方法与设备
CN105474602B (zh) 2014-06-17 2019-02-05 华为技术有限公司 软件定义网络中识别攻击流的方法、装置以及设备
CN105262686B (zh) * 2014-07-18 2020-04-24 中兴通讯股份有限公司 一种网络连通性验证方法和装置
CN104243240B (zh) * 2014-09-23 2017-05-24 电子科技大学 一种基于OpenFlow的SDN流量测量方法
CN106105098B (zh) * 2014-09-25 2019-05-31 华为技术有限公司 交换机及业务请求报文的处理方法
CN105591787B (zh) * 2014-11-13 2019-07-23 华为技术有限公司 一种网络中的根本原因分析方法、装置和系统
JP6514329B2 (ja) 2014-11-28 2019-05-15 華為技術有限公司Huawei Technologies Co.,Ltd. メモリアクセス方法、スイッチ、およびマルチプロセッサシステム
CN105743687B (zh) * 2014-12-12 2020-01-10 中兴通讯股份有限公司 节点故障的判断方法及装置
CN104539561A (zh) * 2014-12-29 2015-04-22 盛科网络(苏州)有限公司 基于报文处理信息的芯片调试方法及装置
CN104506463A (zh) * 2015-01-04 2015-04-08 盛科网络(苏州)有限公司 提供交换机报文芯片在线流程调试信息的方法及装置
CN104601225B (zh) * 2015-02-02 2017-05-03 浪潮电子信息产业股份有限公司 一种波长探测方法及装置
CN104836749B (zh) * 2015-03-27 2018-10-30 清华大学 一种sdn数据平面带状态转发处理器
CN105357075B (zh) * 2015-11-20 2019-02-05 武汉邮电科学研究院 基于软件定义网络的流量监测系统和方法
CN106817301A (zh) * 2015-11-30 2017-06-09 中兴通讯股份有限公司 故障恢复方法及装置、控制器、软件定义网络
CN105515995B (zh) * 2015-12-01 2018-09-21 华为技术有限公司 报文处理方法及装置
CN106972979A (zh) * 2016-01-14 2017-07-21 中国移动通信集团公司 一种基于sdn的网络性能监测方法及装置
CN105791009A (zh) * 2016-03-02 2016-07-20 上海斐讯数据通信技术有限公司 一种基于sdn的用户上网行为收集方法和系统
CN110113205B (zh) * 2019-05-06 2021-07-30 南京大学 一种基于软件定义网络技术的网络排障系统及其工作方法
CN111147516B (zh) * 2019-12-31 2020-11-24 中南民族大学 基于sdn的安全设备动态互联与智能选路决策系统及方法

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010085911A1 (zh) * 2009-02-02 2010-08-05 中兴通讯股份有限公司 一种移动通信网络自优化的方法和系统
CN102349268A (zh) * 2009-03-09 2012-02-08 日本电气株式会社 OpenFlow通信系统和OpenFlow通信方法
CN102668467A (zh) * 2009-10-07 2012-09-12 日本电气株式会社 计算机系统和监视计算机系统的方法

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2010085911A1 (zh) * 2009-02-02 2010-08-05 中兴通讯股份有限公司 一种移动通信网络自优化的方法和系统
CN102349268A (zh) * 2009-03-09 2012-02-08 日本电气株式会社 OpenFlow通信系统和OpenFlow通信方法
CN102668467A (zh) * 2009-10-07 2012-09-12 日本电气株式会社 计算机系统和监视计算机系统的方法

Also Published As

Publication number Publication date
CN102946325A (zh) 2013-02-27

Similar Documents

Publication Publication Date Title
CN102946325B (zh) 一种基于软件定义网络的网络诊断方法、系统及设备
US10305783B2 (en) Packet control method, switch, and controller
KR20210036957A (ko) 네트워크 전환 방법, 전자 장치 및 시스템 온 칩
US10892913B2 (en) Gateway, on-vehicle communication system, communication control method and recording medium
CN103763121A (zh) 一种网络配置信息快速下发的方法及装置
EP2568733A1 (en) Method and apparatus for collecting mobile communication data
CN104104488A (zh) 一种无线传感器网络协议一致性测试系统及方法
US20180139634A1 (en) Method and apparatus for probing fronthaul topology
CN111130821B (zh) 一种掉电告警的方法、处理方法及装置
CN109150659B (zh) 一种处理器及bfd报文传输方法
JP2006253753A (ja) 無線アクセスネットワークシステム
CN109347685B (zh) 一种网络设备、逻辑装置及通知信息传输方法
EP4167530A1 (en) Network monitoring method, electronic device and storage medium
CN111884881B (zh) 一种以太网交换网络的监测方法、装置、系统及交换机
WO2016058409A1 (zh) 控制报文传输的方法、装置和网络功能虚拟化系统
CN113407469A (zh) 一种参数配置方法及装置、存储介质及电子装置
WO2023155699A1 (zh) 空口协议安全漏洞的挖掘方法、装置、移动终端
CN117459966A (zh) 基于多信道的双模通信方法、系统及介质、电子设备
WO2023174287A1 (zh) 一种时延分析方法及装置
CN110213176A (zh) 交换机的报文处理方法、装置、设备及介质
US20190335378A1 (en) Access point connectivity
CN109257185A (zh) 一种网络设备、业务卡、逻辑装置及通知信息传输方法
CN101431435A (zh) 一种基于面向连接的业务配置与管理方法
CN109039822B (zh) 一种bfd协议报文过滤方法及系统
US12086093B2 (en) Serial port control system based on complex programmable logic device (CPLD) and communication method therefor

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
C14 Grant of patent or utility model
GR01 Patent grant