CN105357046A - 一种用于软件定义网络sdn的网络信息探测的方法 - Google Patents
一种用于软件定义网络sdn的网络信息探测的方法 Download PDFInfo
- Publication number
- CN105357046A CN105357046A CN201510815613.5A CN201510815613A CN105357046A CN 105357046 A CN105357046 A CN 105357046A CN 201510815613 A CN201510815613 A CN 201510815613A CN 105357046 A CN105357046 A CN 105357046A
- Authority
- CN
- China
- Prior art keywords
- packet
- network
- openflow protocol
- sdn controller
- protocol switch
- 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
Links
Classifications
-
- 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/12—Discovery or management of network topologies
-
- 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/32—Specific management aspects for broadband networks
-
- 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
Abstract
一种用于软件定义网络SDN的网络信息探测的方法,括下列操作步骤:(1)网络拓扑探测:SDN控制器通过发送和收集网络拓扑探测包,计算得到软件定义网络的拓扑结构;(2)网络时延探测:SDN控制器通过发送和收集网络时延探测包,计算得到链路的时延;(3)网络带宽探测:SDN控制器通过发送和收集网络带宽探测包,计算得到链路的带宽;本发明充分利用了SDN控制器对openflow协议交换机的控制能力,通过发送探测包的形式灵活实现了对网络拓扑、网络时延和网络带宽的有效探测,并且不会给网络带来过多的额外载荷。
Description
技术领域
本发明涉及一种用于软件定义网络SDN的网络信息探测的方法,属于信息技术领域,特别是属于软件定义网络技术领域。
背景技术
软件定义网络(SoftwareDefinedNetworking,SDN)是一个集中控制网络,SDN控制器将多个网络节点统一控制起来,可以较容易地获取网络设备信息、控制网络设备,对应用/客户呈现一个统一的网络视图,其中有交换机,路由器,虚拟机、存储、虚拟子网以及用于虚拟子网之间通信的虚拟网关,用户可以按照自己的网络规划去配置虚拟机的IP地址、配置子网以及子网间的路由规则。SDN的开放定制和集中控制特性,在一定程度上解决了因特网僵化的问题,赋予了用户自定制网络体系和网络协议的能力,用户在一定程度上可以根据自己的需求开发、控制自己的应用和硬件平台,可以自主灵活构建私有网络。
但是要实现SDN网络的可视性可控性,实现完全支持用户自主定义个性化的网络规则和控制策略,SDN网络的网络状况必须能够被SDN控制器和用户感知到,所以如何实现SDN网络信息的有效探测成为目前软件定义网络领域急需解决的一个技术难题。
发明内容
有鉴于此,本发明的目的是发明一种方法,实现对软件定义网络SDN的网络信息的有效探测,实现SDN网络的可视性可控性。为了达到上述目的,本发明提出了一种用于软件定义网络SDN的网络信息探测的方法,所述方法包括下列操作步骤:
(1)网络拓扑探测:SDN控制器向与其直接相连的openflow协议交换机发送网络拓扑探测包,并命令所述的openflow协议交换机把收到的网络拓扑探测包通过其所有端口发送给与其相连的网络设备上去,所述的SDN控制器通过收集反馈回来的网络拓扑探测包,计算得到所述的软件定义网络的拓扑结构;
(2)网络时延探测:SDN控制器向与其直接相连的openflow协议交换机发送网络时延探测包,所述的SDN控制器通过收集反馈回来的网络时延探测包,并基于所得到的软件定义网络的拓扑结构,计算得到相邻openflow协议交换机之间链路的时延;
(3)网络带宽探测:SDN控制器预先向与其直接相连的openflow协议交换机发送专门用于网络带宽探测包转发和修改的流表,然后再向与其直接相连的openflow协议交换机发送网络带宽探测包,所述的SDN控制器通过收集反馈回来的网络带宽探测包,并基于所得到的软件定义网络的拓扑结构,计算得到相邻openflow协议交换机之间链路的带宽。
所述步骤(1)的网络拓扑探测的内容具体包括如下操作子步骤:
(11)SDN控制器通过Packet_out消息将链路层发现协议LLDP数据包发送到其控制的、与其直接相连的所有openflow协议交换机,该Packet_out消息命令所述的openflow协议交换机将所收到的LLDP数据包发送到该openflow协议交换机的所有端口上去;
(12)所述的openflow协议交换机接收到所述的Packet_out消息后,拆解下该Packet_out消息中包含的LLDP数据包,并将该LLDP数据包通过其所有端口发送给与其相连的设备上去;
(13)与所述的openflow协议交换机相连的邻居设备如果也是openflow协议交换机的话,该openflow协议交换机收到LLDP数据包后,执行该LLDP数据包与流表项的匹配操作,由于该openflow协议交换机中没有该LLDP数据包能匹配上的流表项,根据流表失配项Table-MissFlowEntry,该openflow协议交换机将通过Packet_in消息把该LLDP数据包发送给所述的SDN控制器;
(14)当所述的SDN控制器接收到该Packet_in消息后,将对该Packet_in消息中的LLDP数据包进行解析,计算发现其所控制的并与其直接相连的所有openflow协议交换机之间的邻接关系,这样所述的SDN控制器便获取到了其所在的软件定义网络的完整的拓扑结构。
所述步骤(2)的网络时延探测的内容具体包括如下操作子步骤:
(21)SDN控制器产生一个预先设定的自己能识别出的网络时延探测包A,通过Packet_out消息将该网络时延探测包A发送到其所控制的并与其直接相连的openflow协议交换机SW1,与此同时所述的SDN控制器获取当前时间TSA;所述的openflow协议交换机SW1接收到所述的Packet_out消息后,拆解下该Packet_out消息中所包含的网络时延探测包A,并将该网络时延探测包通过指定端口发送给与其邻接的openflow协议交换机SW2;所述的openflow协议交换机SW2收到所述的网络时延探测包A后,发现没有与该网络时延探测包A能匹配上的流表项,于是根据流表失配项Table-MissFlowEntry,所述的openflow协议交换机SW2通过Packet_in消息把该网络时延探测包A发送给所述的SDN控制器;所述的SDN控制器接收到该Packet_in消息后,解析该Packet_in消息中的数据包,发现是网络时延探测包A,立刻获取当前时间TRA;
(22)SDN控制器产生一个预先设定的自己能识别出的网络时延探测包B,通过Packet_out消息将该网络时延探测包B发送到所述的openflow协议交换机SW1,该Packet_out消息命令所述的openflow协议交换机SW1将收到的网络时延探测包B发回到所述的SDN控制器,与此同时所述的SDN控制器获取当前时间TSB;所述的openflow协议交换机SW1接收到该Packet_out消息后,拆解下该Packet_out消息中包含的网络时延探测包B,发现没有与该网络时延探测包B能匹配上的流表项,于是根据流表失配项Table-MissFlowEntry,所述的openflow协议交换机SW1通过Packet_in消息把该网络时延探测包B发回给所述的SDN控制器;所述的SDN控制器接收到该Packet_in消息后,解析该Packet_in消息中的数据包,发现是网络时延探测包B,立刻获取当前时间TRB;
(23)SDN控制器产生一个预先设定的自己能识别出的网络时延探测包C,通过Packet_out消息将该网络时延探测包C发送到所述的openflow协议交换机SW2,该Packet_out消息命令所述的openflow协议交换机SW2将收到的网络时延探测包C发回到所述的SDN控制器,与此同时所述的SDN控制器获取当前时间TSC;所述的openflow协议交换机SW2接收到该Packet_out消息后,拆解下该Packet_out消息中包含的网络时延探测包C,发现没有与该网络时延探测包C能匹配上的流表项,于是根据流表失配项Table-MissFlowEntry,所述的openflow协议交换机SW2通过Packet_in消息把该网络时延探测包C发回给所述的SDN控制器;所述的SDN控制器接收到该Packet_in消息后,解析该Packet_in消息中的数据包,发现是网络时延探测包C,立刻获取当前时间TRC;
(24)所述的SDN控制器按照下式计算得到所述的openflow协议交换机SW1和SW2之间链路的时延T,T=TRA-TSA-0.5×(TRB-TSB+TRC-TSC)。
所述步骤(3)的网络带宽探测的内容具体包括如下操作子步骤:
(31)SDN控制器向其所控制的并与其直接相连的openflow协议交换机SW1下发能够将网络带宽探测包连续转发两次的流表;SDN控制器向其所控制的并与其直接相连的openflow协议交换机SW2下发能够将网络带宽探测包中的IP地址字段填充为时间并把该网络带宽探测包提交给所述的SDN控制器的流表;所述的openflow协议交换机SW1和SW2属于邻接关系;
(32)所述的SDN控制器产生一个长度为L的网络带宽探测包,该网络带宽探测包具有特定的MAC地址和特殊的TTL值,所述的SDN控制器通过Packet_out消息将该网络带宽探测包发送到所述的openflow协议交换机SW1;其中L为大于等于1的自然数;
(33)所述的openflow协议交换机SW1接收到该Packet_out消息后,拆解下该Packet_out消息中包含的网络带宽探测包,匹配上先前所收到的由所述的SDN下发的将网络带宽探测包连续转发两次的流表,将该网络带宽探测包连续两次无间隔的发送到所述的openflow协议交换机SW2;
(34)所述的openflow协议交换机SW2接收到由所述的openflow协议交换机SW1发来的网络带宽探测包后,匹配上先前所收到的由所述的SDN下发的将网络带宽探测包中的IP地址字段填充为时间并把该网络带宽探测包提交给所述的SDN控制器的流表,将所收到的网络带宽探测包中的IP地址字段填充为收到该数据包的时间,然后通过Packet_in消息把该修改后的网络带宽探测包提交给所述的SDN控制器;
(35)所述的SDN控制器依次接收到两个Packet_in消息后,解析这两个Packet_in消息中的数据包,获得两个所述的IP地址字段已进行时间填充的网络带宽探测包,所述的SDN控制器从IP地址字段中获取时间信息,计算出时间差ΔT,然后按照下式计算出所述的openflow协议交换机SW1和SW2之间链路的带宽B,B=L/ΔT。
所述的软件定义网络的拓扑结构是指openflow协议交换机之间的相对逻辑位置的拓扑结构,即拓扑结构是逻辑上的,而并非物理上的;所述的网络拓扑结构由所述的SDN控制器负责探测并将结果报给应用程序;
由于网络拓扑信息是动态变化的,所述的SDN控制器每隔一段时间向其所控制的openflow协议交换机发送网络拓扑探测包,以确定该openflow协议交换机的有效性;
所述的每个openflow协议交换机都与所述的SDN控制器直接相连,构成了所述的软件定义网络的网络拓扑图的结点;对于结点间的链路信息,通过将所述的SDN控制器看做根结点利用Doubletree算法进行探测;当发生结点增加或失效时,在所述的网络拓扑图中添加或移除该结点及相连的边;当链路失效时,在所述的网络拓扑图中将对应边移除,以保证网络拓扑结构信息的正确性。
所述的网络拓扑探测的探测内容包括节点的状态和链路的状态,分别是“活动”、“挂起”、“停机”,其中“活动”状态是指节点或链路工作正常且有流量经过,“挂起”状态是指节点或链路处于空闲状态,即工作正常但无流量经过,“停机”状态是指节点或链路出现异常,不可达;根据以上信息,所述SDN控制器构造节点和链路的状态数据结构表。
在所述的网络时延探测和网络带宽探测中,所述的SDN控制器可以采取多次测量取平均值的方式,来减少单次测量所产生的误差。
本发明的有益效果在于:本发明的方法,充分利用了SDN控制器对openflow协议交换机的控制能力,通过发送探测包的形式灵活实现了对网络拓扑、网络时延和网络带宽的有效探测,并且不会给网络带来过多的额外载荷。
附图说明
图1是本发明提出的一种用于软件定义网络SDN的网络信息探测的方法的流程图。
图2是本发明的实施例中网络拓扑探测的网络示意图。
图3是本发明的实施例中网络时延探测的网络示意图。
图4是本发明的实施例中网络带宽探测的网络示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面结合附图对本发明作进一步的详细描述。
参见图1,介绍本发明提出的一种用于软件定义网络SDN的网络信息探测的方法,所述方法包括下列操作步骤:
(1)网络拓扑探测:SDN控制器向与其直接相连的openflow协议交换机发送网络拓扑探测包,并命令所述的openflow协议交换机把收到的网络拓扑探测包通过其所有端口发送给与其相连的网络设备上去,所述的SDN控制器通过收集反馈回来的网络拓扑探测包,计算得到所述的软件定义网络的拓扑结构;
(2)网络时延探测:SDN控制器向与其直接相连的openflow协议交换机发送网络时延探测包,所述的SDN控制器通过收集反馈回来的网络时延探测包,并基于所得到的软件定义网络的拓扑结构,计算得到相邻openflow协议交换机之间链路的时延;
(3)网络带宽探测:SDN控制器预先向与其直接相连的openflow协议交换机发送专门用于网络带宽探测包转发和修改的流表,然后再向与其直接相连的openflow协议交换机发送网络带宽探测包,所述的SDN控制器通过收集反馈回来的网络带宽探测包,并基于所得到的软件定义网络的拓扑结构,计算得到相邻openflow协议交换机之间链路的带宽。
参见图2,所述步骤(1)的网络拓扑探测的内容具体包括如下操作子步骤:
(11)SDN控制器通过Packet_out消息将链路层发现协议LLDP数据包发送到其控制的、与其直接相连的所有openflow协议交换机(如openflow协议交换机A),该Packet_out消息命令所述的openflow协议交换机将所收到的LLDP数据包发送到该openflow协议交换机的所有端口上去;
(12)所述的openflow协议交换机接收到所述的Packet_out消息后,拆解下该Packet_out消息中包含的LLDP数据包,并将该LLDP数据包通过其所有端口发送给与其相连的设备上去(如openflow协议交换机B);
(13)与所述的openflow协议交换机相连的邻居设备如果也是openflow协议交换机的话,该openflow协议交换机收到LLDP数据包后,执行该LLDP数据包与流表项的匹配操作,由于该openflow协议交换机中没有该LLDP数据包能匹配上的流表项,根据流表失配项Table-MissFlowEntry,该openflow协议交换机将通过Packet_in消息把该LLDP数据包发送给所述的SDN控制器;
(14)当所述的SDN控制器接收到该Packet_in消息后,将对该Packet_in消息中的LLDP数据包进行解析,计算发现其所控制的并与其直接相连的所有openflow协议交换机之间的邻接关系(即openflow协议交换机A与B之间是邻接关系),这样所述的SDN控制器便获取到了其所在的软件定义网络的完整的拓扑结构。
参见图3,所述步骤(2)的网络时延探测的内容具体包括如下操作子步骤:
(21)SDN控制器产生一个预先设定的自己能识别出的网络时延探测包A,其中探测包A为普通udp(用户数据报协议UserDatagramProtocol)包,该探测包A的源端口号和目的端口号采用特殊的编址方式产生,源端口号为1101+交换机SW1编号,目的端口为1101+交换机SW2编号,一个实例如下:交换机SW1编号为1,交换机SW2编号为2,则源端口号为(1101000000000001)2或(53249)10,目的端口号为(1101000000000010)2或(53250)10;所述的SDN控制器通过Packet_out消息将该网络时延探测包A发送到其所控制的并与其直接相连的openflow协议交换机SW1;
与此同时所述的SDN控制器获取当前时间TSA,例如:351528;所述的openflow协议交换机SW1接收到所述的Packet_out消息后,拆解下该Packet_out消息中所包含的网络时延探测包A,并将该网络时延探测包通过指定端口发送给与其邻接的openflow协议交换机SW2;所述的openflow协议交换机SW2收到所述的网络时延探测包A后,发现没有与该网络时延探测包A能匹配上的流表项,于是根据流表失配项Table-MissFlowEntry,所述的openflow协议交换机SW2通过Packet_in消息把该网络时延探测包A发送给所述的SDN控制器;所述的SDN控制器接收到该Packet_in消息后,解析该Packet_in消息中的数据包,发现是网络时延探测包A,立刻获取当前时间TRA,例如:469553;
(22)SDN控制器产生一个预先设定的自己能识别出的网络时延探测包B,其中探测包B为普通udp包,该探测包B的源端口号和目的端口号采用特殊的编址方式产生,源端口号为1100+交换机SW1编号,目的端口为(1100000000000000)2,一个实例如下:交换机SW1编号为1则源端口号为(1100000000000001)2或(49153)10,目的端口号为(1100000000000000)2或(49152)10;所述的SDN控制器通过Packet_out消息将该网络时延探测包B发送到所述的openflow协议交换机SW1;该Packet_out消息命令所述的openflow协议交换机SW1将收到的网络时延探测包B发回到所述的SDN控制器,与此同时所述的SDN控制器获取当前时间TSB,例如:330483;所述的openflow协议交换机SW1接收到该Packet_out消息后,拆解下该Packet_out消息中包含的网络时延探测包B,发现没有与该网络时延探测包B能匹配上的流表项,于是根据流表失配项Table-MissFlowEntry,所述的openflow协议交换机SW1通过Packet_in消息把该网络时延探测包B发回给所述的SDN控制器;所述的SDN控制器接收到该Packet_in消息后,解析该Packet_in消息中的数据包,发现是网络时延探测包B,立刻获取当前时间TRB,例如:347645;
(23)SDN控制器产生一个预先设定的自己能识别出的网络时延探测包C,其中探测包C为普通udp包,探测包C的源端口号和目的端口号采用特殊的编址方式产生,源端口号为1100+交换机SW2编号,目的端口为(1100000000000000)2,一个实例如下:交换机SW2编号为2则源端口号为(1100000000000010)2或(49154)10,目的端口号为(1100000000000000)2或(49152)10;通过Packet_out消息将该网络时延探测包C发送到所述的openflow协议交换机SW2,该Packet_out消息命令所述的openflow协议交换机SW2将收到的网络时延探测包C发回到所述的SDN控制器,与此同时所述的SDN控制器获取当前时间TSC,例如:334513;所述的openflow协议交换机SW2接收到该Packet_out消息后,拆解下该Packet_out消息中包含的网络时延探测包C,发现没有与该网络时延探测包C能匹配上的流表项,于是根据流表失配项Table-MissFlowEntry,所述的openflow协议交换机SW2通过Packet_in消息把该网络时延探测包C发回给所述的SDN控制器;所述的SDN控制器接收到该Packet_in消息后,解析该Packet_in消息中的数据包,发现是网络时延探测包C,立刻获取当前时间TRC,例如:353502;
(24)所述的SDN控制器按照下式计算得到所述的openflow协议交换机SW1和SW2之间链路的时延T,T=TRA-TSA-0.5×(TRB-TSB+TRC-TSC)。
比如,按照前述例子中的数据,计算得出openflow协议交换机SW1和SW2之间链路的时延T=469553–351528–0.5×(347645-330483+353502-334513)=99949.5微秒
参见图4,所述步骤(3)的网络带宽探测的内容具体包括如下操作子步骤:
(31)SDN控制器向其所控制的并与其直接相连的openflow协议交换机SW1下发能够将网络带宽探测包连续转发两次的流表;SDN控制器向其所控制的并与其直接相连的openflow协议交换机SW2下发能够将网络带宽探测包中的IP地址字段填充为时间并把该网络带宽探测包提交给所述的SDN控制器的流表:所述的openflow协议交换机SW1和SW2属于邻接关系;
(32)所述的SDN控制器产生一个长度为L比特(比如L是11488)的网络带宽探测包:该网络带宽探测包具有特定的MAC地址和特殊的TTL值(比如254),所述的SDN控制器通过Packet_out消息将该网络带宽探测包发送到所述的openflow协议交换机SW1;其中L为大于等于1的自然数;
(33)所述的openflow协议交换机SW1接收到该Packet_out消息后,拆解下该Packet_out消息中包含的网络带宽探测包,匹配上先前所收到的由所述的SDN下发的将网络带宽探测包连续转发两次的流表,将该网络带宽探测包连续两次无间隔的发送到所述的openflow协议交换机SW2;
(34)所述的openflow协议交换机SW2接收到由所述的openflow协议交换机SW1发来的网络带宽探测包后,匹配上先前所收到的由所述的SDN下发的将网络带宽探测包中的IP地址字段填充为时间并把该网络带宽探测包提交给所述的SDN控制器的流表,将所收到的网络带宽探测包中的IP地址字段填充为收到该数据包的时间,一个实例如下:
交换机SW2收到第一个包的时间是1443067052秒932843微妙,收到第二个包的时间是1443067053秒48235微妙;将时间秒级部分转换为二进制,填充到源IP地址,将时间微秒级部分转换为二进制,填充到目的IP地址;则第一个包的源IP地址:86.3.116.172(对应1443067052秒),目的IP地址:0.14.59.235(对应932843微妙),第二个包的源IP地址:86.3.116.173(对应1443067053秒),目的IP地址:0.0.188.107(对应48235微妙);
然后,所述的openflow协议交换机SW2通过Packet_in消息把该修改后的网络带宽探测包提交给所述的SDN控制器;所述的SDN控制器依次接收到两个Packet_in消息后,解析这两个Packet_in消息中的数据包,获得两个所述的IP地址字段已进行时间填充的网络带宽探测包,所述的SDN控制器从IP地址字段中获取时间信息,计算出时间差ΔT,然后按照下式计算出所述的openflow协议交换机SW1和SW2之间链路的带宽B,B=L/ΔT。
例如按照前述例子中的数据,计算openflow协议交换机SW1和SW2之间链路的带宽为:B=11488bit/[(1443067053-1443067052)*10^6+(48235-932843)]μs=0.0996Mbps
所述的软件定义网络的拓扑结构是指openflow协议交换机之间的相对逻辑位置的拓扑结构,即拓扑结构是逻辑上的,而并非物理上的;所述的网络拓扑结构由所述的SDN控制器负责探测并将结果报给应用程序;
由于网络拓扑信息是动态变化的,所述的SDN控制器每隔一段时间(比如60秒,这个值可以由管理员配置),向其所控制的openflow协议交换机发送网络拓扑探测包,以确定该openflow协议交换机的有效性;
所述的每个openflow协议交换机都与所述的SDN控制器直接相连,构成了所述的软件定义网络的网络拓扑图的结点;对于结点间的链路信息,通过将所述的SDN控制器看做根结点利用Doubletree算法进行探测;当发生结点增加或失效时,在所述的网络拓扑图中添加或移除该结点及相连的边;当链路失效时,在所述的网络拓扑图中将对应边移除,以保证网络拓扑结构信息的正确性。
所述的网络拓扑探测的探测内容包括节点的状态和链路的状态,分别是“活动”、“挂起”、“停机”,其中“活动”状态是指节点或链路工作正常且有流量经过,“挂起”状态是指节点或链路处于空闲状态,即工作正常但无流量经过,“停机”状态是指节点或链路出现异常,不可达;根据以上信息,所述SDN控制器构造节点和链路的状态数据结构表。
在所述的网络时延探测和网络带宽探测中,所述的SDN控制器可以采取多次测量取平均值的方式,来减少单次测量所产生的误差。
发明人对本发明的方法在试验网上进行了测试,经过大量的实验和仿真,获得了满意的实验结果,证实本发明是可行且非常有效的。
Claims (7)
1.一种用于软件定义网络SDN的网络信息探测的方法,其特征在于:所述方法包括下列操作步骤:
(1)网络拓扑探测:SDN控制器向与其直接相连的openflow协议交换机发送网络拓扑探测包,并命令所述的openflow协议交换机把收到的网络拓扑探测包通过其所有端口发送给与其相连的网络设备上去,所述的SDN控制器通过收集反馈回来的网络拓扑探测包,计算得到所述的软件定义网络的拓扑结构;
(2)网络时延探测:SDN控制器向与其直接相连的openflow协议交换机发送网络时延探测包,所述的SDN控制器通过收集反馈回来的网络时延探测包,并基于所得到的软件定义网络的拓扑结构,计算得到相邻openflow协议交换机之间链路的时延;
(3)网络带宽探测:SDN控制器预先向与其直接相连的openflow协议交换机发送专门用于网络带宽探测包转发和修改的流表,然后再向与其直接相连的openflow协议交换机发送网络带宽探测包,所述的SDN控制器通过收集反馈回来的网络带宽探测包,并基于所得到的软件定义网络的拓扑结构,计算得到相邻openflow协议交换机之间链路的带宽。
2.根据权利要求1所述的一种用于软件定义网络SDN的网络信息探测的方法,其特征在于:所述步骤(1)的网络拓扑探测的内容具体包括如下操作子步骤:
(11)SDN控制器通过Packet_out消息将链路层发现协议LLDP数据包发送到其控制的、与其直接相连的所有openflow协议交换机,该Packet_out消息命令所述的openflow协议交换机将所收到的LLDP数据包发送到该openflow协议交换机的所有端口上去;
(12)所述的openflow协议交换机接收到所述的Packet_out消息后,拆解下该Packet_out消息中包含的LLDP数据包,并将该LLDP数据包通过其所有端口发送给与其相连的设备上去;
(13)与所述的openflow协议交换机相连的邻居设备如果也是openflow协议交换机的话,该openflow协议交换机收到LLDP数据包后,执行该LLDP数据包与流表项的匹配操作,由于该openflow协议交换机中没有该LLDP数据包能匹配上的流表项,根据流表失配项Table-MissFlowEntry,该openflow协议交换机将通过Packet_in消息把该LLDP数据包发送给所述的SDN控制器;
(14)当所述的SDN控制器接收到该Packet_in消息后,将对该Packet_in消息中的LLDP数据包进行解析,计算发现其所控制的并与其直接相连的所有openflow协议交换机之间的邻接关系,这样所述的SDN控制器便获取到了其所在的软件定义网络的完整的拓扑结构。
3.根据权利要求1所述的一种用于软件定义网络SDN的网络信息探测的方法,其特征在于:所述步骤(2)的网络时延探测的内容具体包括如下操作子步骤:
(21)SDN控制器产生一个预先设定的自己能识别出的网络时延探测包A,通过Packet_out消息将该网络时延探测包A发送到其所控制的并与其直接相连的openflow协议交换机SW1,与此同时所述的SDN控制器获取当前时间TSA;所述的openflow协议交换机SW1接收到所述的Packet_out消息后,拆解下该Packet_out消息中所包含的网络时延探测包A,并将该网络时延探测包通过指定端口发送给与其邻接的openflow协议交换机SW2;所述的openflow协议交换机SW2收到所述的网络时延探测包A后,发现没有与该网络时延探测包A能匹配上的流表项,于是根据流表失配项Table-MissFlowEntry,所述的openflow协议交换机SW2通过Packet_in消息把该网络时延探测包A发送给所述的SDN控制器;所述的SDN控制器接收到该Packet_in消息后,解析该Packet_in消息中的数据包,发现是网络时延探测包A,立刻获取当前时间TRA;
(22)SDN控制器产生一个预先设定的自己能识别出的网络时延探测包B,通过Packet_out消息将该网络时延探测包B发送到所述的openflow协议交换机SW1,该Packet_out消息命令所述的openflow协议交换机SW1将收到的网络时延探测包B发回到所述的SDN控制器,与此同时所述的SDN控制器获取当前时间TSB;所述的openflow协议交换机SW1接收到该Packet_out消息后,拆解下该Packet_out消息中包含的网络时延探测包B,发现没有与该网络时延探测包B能匹配上的流表项,于是根据流表失配项Table-MissFlowEntry,所述的openflow协议交换机SW1通过Packet_in消息把该网络时延探测包B发回给所述的SDN控制器;所述的SDN控制器接收到该Packet_in消息后,解析该Packet_in消息中的数据包,发现是网络时延探测包B,立刻获取当前时间TRB;
(23)SDN控制器产生一个预先设定的自己能识别出的网络时延探测包C,通过Packet_out消息将该网络时延探测包C发送到所述的openflow协议交换机SW2,该Packet_out消息命令所述的openflow协议交换机SW2将收到的网络时延探测包C发回到所述的SDN控制器,与此同时所述的SDN控制器获取当前时间TSC;所述的openflow协议交换机SW2接收到该Packet_out消息后,拆解下该Packet_out消息中包含的网络时延探测包C,发现没有与该网络时延探测包C能匹配上的流表项,于是根据流表失配项Table-MissFlowEntry,所述的openflow协议交换机SW2通过Packet_in消息把该网络时延探测包C发回给所述的SDN控制器;所述的SDN控制器接收到该Packet_in消息后,解析该Packet_in消息中的数据包,发现是网络时延探测包C,立刻获取当前时间TRC;
(24)所述的SDN控制器按照下式计算得到所述的openflow协议交换机SW1和SW2之间链路的时延T,T=TRA-TSA-0.5×(TRB-TSB+TRC-TSC)。
4.根据权利要求1所述的一种用于软件定义网络SDN的网络信息探测的方法,其特征在于:所述步骤(3)的网络带宽探测的内容具体包括如下操作子步骤:
(31)SDN控制器向其所控制的并与其直接相连的openflow协议交换机SW1下发能够将网络带宽探测包连续转发两次的流表;SDN控制器向其所控制的并与其直接相连的openflow协议交换机SW2下发能够将网络带宽探测包中的IP地址字段填充为时间并把该网络带宽探测包提交给所述的SDN控制器的流表;所述的openflow协议交换机SW1和SW2属于邻接关系;
(32)所述的SDN控制器产生一个长度为L的网络带宽探测包,该网络带宽探测包具有特定的MAC地址和特殊的TTL值,所述的SDN控制器通过Packet_out消息将该网络带宽探测包发送到所述的openflow协议交换机SW1;其中L为大于等于1的自然数;
(33)所述的openflow协议交换机SW1接收到该Packet_out消息后,拆解下该Packet_out消息中包含的网络带宽探测包,匹配上先前所收到的由所述的SDN下发的将网络带宽探测包连续转发两次的流表,将该网络带宽探测包连续两次无间隔的发送到所述的openflow协议交换机SW2;
(34)所述的openflow协议交换机SW2接收到由所述的openflow协议交换机SW1发来的网络带宽探测包后,匹配上先前所收到的由所述的SDN下发的将网络带宽探测包中的IP地址字段填充为时间并把该网络带宽探测包提交给所述的SDN控制器的流表,将所收到的网络带宽探测包中的IP地址字段填充为收到该数据包的时间,然后通过Packet_in消息把该修改后的网络带宽探测包提交给所述的SDN控制器;
(35)所述的SDN控制器依次接收到两个Packet_in消息后,解析这两个Packet_in消息中的数据包,获得两个所述的IP地址字段已进行时间填充的网络带宽探测包,所述的SDN控制器从IP地址字段中获取时间信息,计算出时间差ΔT,然后按照下式计算出所述的openflow协议交换机SW1和SW2之间链路的带宽B,B=L/ΔT。
5.根据权利要求1所述的一种用于软件定义网络SDN的网络信息探测的方法,其特征在于:所述的软件定义网络的拓扑结构是指openflow协议交换机之间的相对逻辑位置的拓扑结构,即拓扑结构是逻辑上的,而并非物理上的;所述的网络拓扑结构由所述的SDN控制器负责探测并将结果报给应用程序;
由于网络拓扑信息是动态变化的,所述的SDN控制器每隔一段时间向其所控制的openflow协议交换机发送网络拓扑探测包,以确定该openflow协议交换机的有效性;
所述的每个openflow协议交换机都与所述的SDN控制器直接相连,构成了所述的软件定义网络的网络拓扑图的结点;对于结点间的链路信息,通过将所述的SDN控制器看做根结点利用Doubletree算法进行探测;当发生结点增加或失效时,在所述的网络拓扑图中添加或移除该结点及相连的边;当链路失效时,在所述的网络拓扑图中将对应边移除,以保证网络拓扑结构信息的正确性。
6.根据权利要求1或5所述的一种用于软件定义网络SDN的网络信息探测的方法,其特征在于:所述的网络拓扑探测的探测内容包括节点的状态和链路的状态,分别是“活动”、“挂起”、“停机”,其中“活动”状态是指节点或链路工作正常且有流量经过,“挂起”状态是指节点或链路处于空闲状态,即工作正常但无流量经过,“停机”状态是指节点或链路出现异常,不可达;根据以上信息,所述SDN控制器构造节点和链路的状态数据结构表。
7.根据权利要求1所述的一种用于软件定义网络SDN的网络信息探测的方法,其特征在于:在所述的网络时延探测和网络带宽探测中,所述的SDN控制器可以采取多次测量取平均值的方式,来减少单次测量所产生的误差。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510815613.5A CN105357046B (zh) | 2015-11-23 | 2015-11-23 | 一种用于软件定义网络sdn的网络信息探测的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510815613.5A CN105357046B (zh) | 2015-11-23 | 2015-11-23 | 一种用于软件定义网络sdn的网络信息探测的方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105357046A true CN105357046A (zh) | 2016-02-24 |
CN105357046B CN105357046B (zh) | 2018-10-26 |
Family
ID=55332922
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510815613.5A Active CN105357046B (zh) | 2015-11-23 | 2015-11-23 | 一种用于软件定义网络sdn的网络信息探测的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105357046B (zh) |
Cited By (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105847031A (zh) * | 2016-03-15 | 2016-08-10 | 中国石油天然气股份有限公司华北油田分公司 | 用于测试OpenFlow SDN控制器的网络拓扑构建系统和方法 |
CN105933184A (zh) * | 2016-06-17 | 2016-09-07 | 中国人民解放军国防科学技术大学 | 基于lldp的sdn网络链路延迟测量方法 |
CN106130767A (zh) * | 2016-09-23 | 2016-11-16 | 深圳灵动智网科技有限公司 | 一种业务路径故障监控及故障解决的系统和方法 |
CN106130766A (zh) * | 2016-09-23 | 2016-11-16 | 深圳灵动智网科技有限公司 | 一种基于sdn技术实现自动化网络故障分析的系统和方法 |
CN106411736A (zh) * | 2016-11-17 | 2017-02-15 | 中国电子科技集团公司第五十四研究所 | 一种面向软件定义卫星网络的节点资源发现策略优化方法 |
CN106452850A (zh) * | 2016-09-23 | 2017-02-22 | 西安交通大学 | 一种sdn控制器性能测试方法及系统 |
CN106559330A (zh) * | 2016-01-22 | 2017-04-05 | 国网智能电网研究院 | 一种基于sdn的动态路径规划方法 |
CN106961360A (zh) * | 2017-05-22 | 2017-07-18 | 浙江工商大学 | 一种虚拟网构造及优化方法 |
CN107078962A (zh) * | 2016-09-13 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | Sdn中数据处理方法、装置、系统、电子设备和计算机程序产品 |
CN107294810A (zh) * | 2017-07-14 | 2017-10-24 | 山东省计算中心(国家超级计算济南中心) | 一种软件定义网络环境下的网络延迟测量优化方法 |
CN107835109A (zh) * | 2017-11-28 | 2018-03-23 | 瑞斯康达科技发展股份有限公司 | 一种测试软件定义的分组传送网网络的方法及系统 |
CN108011894A (zh) * | 2017-12-26 | 2018-05-08 | 陈晶 | 一种软件定义网络下僵尸网络检测系统及方法 |
CN108270669A (zh) * | 2016-12-30 | 2018-07-10 | 中兴通讯股份有限公司 | Sdn网络的业务恢复装置、主控制器、系统及方法 |
CN108289099A (zh) * | 2018-01-24 | 2018-07-17 | 中国人民大学 | 一种基于时间的sdn网络细粒度控制信息探测方法 |
CN109818834A (zh) * | 2019-03-25 | 2019-05-28 | 国家计算机网络与信息安全管理中心 | 一种轻量级的sdn流表规则探测工具及探测方法 |
CN110300139A (zh) * | 2018-03-23 | 2019-10-01 | 北方工业大学 | 一种点对点内容分发的方法 |
CN110768823A (zh) * | 2019-10-11 | 2020-02-07 | 南京理工大学 | 基于lldp的软件定义网络拓扑发现方法 |
CN111756596A (zh) * | 2020-06-02 | 2020-10-09 | 深圳供电局有限公司 | 一种基于sdn的链路质量探测系统及方法 |
CN112787832A (zh) * | 2019-11-01 | 2021-05-11 | 伊姆西Ip控股有限责任公司 | 用于生成网络拓扑的方法、电子设备和计算机程序产品 |
CN113645058A (zh) * | 2021-06-28 | 2021-11-12 | 苏州浪潮智能科技有限公司 | 一种网络链路流量监控方法、装置及系统 |
CN113676376A (zh) * | 2021-08-20 | 2021-11-19 | 北京交通大学 | 一种基于分簇的带内网络遥测方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104104718A (zh) * | 2014-07-02 | 2014-10-15 | 北京邮电大学 | 一种基于软件定义网络的用户自主路由定制系统和方法 |
US20140325649A1 (en) * | 2013-04-29 | 2014-10-30 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system to dynamically detect traffic anomalies in a network |
-
2015
- 2015-11-23 CN CN201510815613.5A patent/CN105357046B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20140325649A1 (en) * | 2013-04-29 | 2014-10-30 | Telefonaktiebolaget L M Ericsson (Publ) | Method and system to dynamically detect traffic anomalies in a network |
CN104104718A (zh) * | 2014-07-02 | 2014-10-15 | 北京邮电大学 | 一种基于软件定义网络的用户自主路由定制系统和方法 |
Non-Patent Citations (1)
Title |
---|
马文婷: "基于OpenFlow的SDN控制器关键技术研究", 《CNKI中国优秀硕士学位论文全文数据库(电子期刊)》 * |
Cited By (31)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106559330A (zh) * | 2016-01-22 | 2017-04-05 | 国网智能电网研究院 | 一种基于sdn的动态路径规划方法 |
CN106559330B (zh) * | 2016-01-22 | 2020-06-16 | 国网智能电网研究院 | 一种基于sdn的动态路径规划方法 |
CN105847031A (zh) * | 2016-03-15 | 2016-08-10 | 中国石油天然气股份有限公司华北油田分公司 | 用于测试OpenFlow SDN控制器的网络拓扑构建系统和方法 |
CN105933184A (zh) * | 2016-06-17 | 2016-09-07 | 中国人民解放军国防科学技术大学 | 基于lldp的sdn网络链路延迟测量方法 |
CN107078962A (zh) * | 2016-09-13 | 2017-08-18 | 深圳前海达闼云端智能科技有限公司 | Sdn中数据处理方法、装置、系统、电子设备和计算机程序产品 |
CN106130767A (zh) * | 2016-09-23 | 2016-11-16 | 深圳灵动智网科技有限公司 | 一种业务路径故障监控及故障解决的系统和方法 |
CN106130766A (zh) * | 2016-09-23 | 2016-11-16 | 深圳灵动智网科技有限公司 | 一种基于sdn技术实现自动化网络故障分析的系统和方法 |
CN106130767B (zh) * | 2016-09-23 | 2020-04-07 | 深圳灵动智网科技有限公司 | 一种业务路径故障监控及故障解决的系统和方法 |
CN106452850A (zh) * | 2016-09-23 | 2017-02-22 | 西安交通大学 | 一种sdn控制器性能测试方法及系统 |
CN106130766B (zh) * | 2016-09-23 | 2020-04-07 | 深圳灵动智网科技有限公司 | 一种基于sdn技术实现自动化网络故障分析的系统和方法 |
CN106411736A (zh) * | 2016-11-17 | 2017-02-15 | 中国电子科技集团公司第五十四研究所 | 一种面向软件定义卫星网络的节点资源发现策略优化方法 |
CN108270669B (zh) * | 2016-12-30 | 2022-08-02 | 中兴通讯股份有限公司 | Sdn网络的业务恢复装置、主控制器、系统及方法 |
CN108270669A (zh) * | 2016-12-30 | 2018-07-10 | 中兴通讯股份有限公司 | Sdn网络的业务恢复装置、主控制器、系统及方法 |
CN106961360A (zh) * | 2017-05-22 | 2017-07-18 | 浙江工商大学 | 一种虚拟网构造及优化方法 |
CN107294810A (zh) * | 2017-07-14 | 2017-10-24 | 山东省计算中心(国家超级计算济南中心) | 一种软件定义网络环境下的网络延迟测量优化方法 |
CN107294810B (zh) * | 2017-07-14 | 2020-01-17 | 山东省计算中心(国家超级计算济南中心) | 一种软件定义网络环境下的网络延迟测量优化方法 |
CN107835109B (zh) * | 2017-11-28 | 2020-06-16 | 瑞斯康达科技发展股份有限公司 | 一种测试软件定义的分组传送网网络的方法及系统 |
CN107835109A (zh) * | 2017-11-28 | 2018-03-23 | 瑞斯康达科技发展股份有限公司 | 一种测试软件定义的分组传送网网络的方法及系统 |
CN108011894A (zh) * | 2017-12-26 | 2018-05-08 | 陈晶 | 一种软件定义网络下僵尸网络检测系统及方法 |
CN108289099A (zh) * | 2018-01-24 | 2018-07-17 | 中国人民大学 | 一种基于时间的sdn网络细粒度控制信息探测方法 |
CN108289099B (zh) * | 2018-01-24 | 2021-07-02 | 中国人民大学 | 一种基于时间的sdn网络细粒度控制信息探测方法 |
CN110300139B (zh) * | 2018-03-23 | 2021-11-23 | 北方工业大学 | 一种点对点内容分发的方法 |
CN110300139A (zh) * | 2018-03-23 | 2019-10-01 | 北方工业大学 | 一种点对点内容分发的方法 |
CN109818834A (zh) * | 2019-03-25 | 2019-05-28 | 国家计算机网络与信息安全管理中心 | 一种轻量级的sdn流表规则探测工具及探测方法 |
CN109818834B (zh) * | 2019-03-25 | 2020-09-15 | 国家计算机网络与信息安全管理中心 | 一种轻量级的sdn流表规则探测工具及探测方法 |
CN110768823A (zh) * | 2019-10-11 | 2020-02-07 | 南京理工大学 | 基于lldp的软件定义网络拓扑发现方法 |
CN112787832A (zh) * | 2019-11-01 | 2021-05-11 | 伊姆西Ip控股有限责任公司 | 用于生成网络拓扑的方法、电子设备和计算机程序产品 |
CN112787832B (zh) * | 2019-11-01 | 2024-04-09 | 伊姆西Ip控股有限责任公司 | 用于生成网络拓扑的方法、电子设备和计算机存储介质 |
CN111756596A (zh) * | 2020-06-02 | 2020-10-09 | 深圳供电局有限公司 | 一种基于sdn的链路质量探测系统及方法 |
CN113645058A (zh) * | 2021-06-28 | 2021-11-12 | 苏州浪潮智能科技有限公司 | 一种网络链路流量监控方法、装置及系统 |
CN113676376A (zh) * | 2021-08-20 | 2021-11-19 | 北京交通大学 | 一种基于分簇的带内网络遥测方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105357046B (zh) | 2018-10-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105357046A (zh) | 一种用于软件定义网络sdn的网络信息探测的方法 | |
JP6319604B2 (ja) | Sdnコントローラ、データセンターシステムおよびルーティング接続方法 | |
US8830820B2 (en) | Semi-centralized routing | |
EP2572473B1 (en) | Methods and apparatus for use in an openflow network | |
EP3066784B1 (en) | Supporting operator commands in link aggregation group | |
CN105337857B (zh) | 一种基于软件定义网络的多路径传输方法 | |
CN101557343B (zh) | Vrrp拓扑网络中二层环路的检测与保护方法 | |
CN106330727A (zh) | Sdn网络设备建链方法、设备和系统 | |
EP2099180B1 (en) | Switching device and method for Layer-2 forwarding of OAM frames with multicast Layer-3 addresses | |
CN110324165A (zh) | 网络设备的管理方法、装置及系统 | |
US9467374B2 (en) | Supporting multiple IEC-101/IEC-104 masters on an IEC-101/IEC-104 translation gateway | |
CN104270309A (zh) | 一种ip ran设备下实现多跳bfd的方法 | |
CN104980368A (zh) | 软件定义网络中的带宽保障方法及装置 | |
CN104980302A (zh) | 一种在sdn框架下基于stp消除冗余链路的方法 | |
CN104639433A (zh) | 一种基于Echo报文的多跳检测实现方法 | |
CN105262682A (zh) | 一种用于电力数据通信的软件定义网络及其流量疏导方法 | |
CN101778032B (zh) | 通过聚合隧道链路实现的互联网接入方法 | |
CN104901884A (zh) | 广域网sdn拓扑收集实现方法和装置 | |
CN104135434B (zh) | 以太网虚拟化互联网络中的路径切换方法和装置 | |
US9294584B2 (en) | Transporting serially over TCP/IP using raw TCP encapsulation | |
CN105491178B (zh) | 一种基于软件定义网络的主机网卡ip地址获取方法 | |
US20230216763A1 (en) | Network reachability verification method and apparatus, and computer storage medium | |
Damanik et al. | Implementation of Backoff Algorithm Bidirectional Forwarding Detection (BFD) and MPLS VRF for Fast Recovery Mechanism End-to-End Multi-Circuit (E2E) | |
CN106230721B (zh) | 控制业务传输的方法及装置 | |
CN114257516A (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 |