CN108234194B - 基于sdn的网络拓扑结构发现方法、装置和存储介质 - Google Patents

基于sdn的网络拓扑结构发现方法、装置和存储介质 Download PDF

Info

Publication number
CN108234194B
CN108234194B CN201711292148.7A CN201711292148A CN108234194B CN 108234194 B CN108234194 B CN 108234194B CN 201711292148 A CN201711292148 A CN 201711292148A CN 108234194 B CN108234194 B CN 108234194B
Authority
CN
China
Prior art keywords
virtual network
network
physical server
virtual
sdn
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
CN201711292148.7A
Other languages
English (en)
Other versions
CN108234194A (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.)
Weikun Shanghai Technology Service Co Ltd
Original Assignee
Weikun Shanghai Technology Service 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 Weikun Shanghai Technology Service Co Ltd filed Critical Weikun Shanghai Technology Service Co Ltd
Priority to CN201711292148.7A priority Critical patent/CN108234194B/zh
Publication of CN108234194A publication Critical patent/CN108234194A/zh
Application granted granted Critical
Publication of CN108234194B publication Critical patent/CN108234194B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

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/12Discovery or management of network topologies
    • 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
    • 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/02Standardisation; Integration
    • H04L41/0213Standardised network management protocols, e.g. simple network management protocol [SNMP]

Landscapes

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

Abstract

本申请涉及一种基于SDN的网络拓扑结构发现方法、装置、计算机可读存储介质和计算机设备,所述方法包括:获取在创建虚拟网络设备时产生的SDN拓扑结构模板;确定所述SDN拓扑结构模板中记录的虚拟网络设备;获取确定的虚拟网络设备所对应的网络地址;根据所述网络地址发送第一检测指令;所述第一检测指令用于指示所述网络地址对应的物理服务器向确定的虚拟网络设备发送第一检测包;当在预设时间段内接收到所述物理服务器反馈的对于所述第一检测包的第一回复包时,则判定所述物理服务器上的虚拟网络设备存在于网络拓扑结构中。本申请提供的方案可以提高网络拓扑结构发现的效率。

Description

基于SDN的网络拓扑结构发现方法、装置和存储介质
技术领域
本申请涉及网络技术领域,特别是涉及一种基于SDN的网络拓扑结构发现方法、装置和存储介质。
背景技术
随着计算机技术地发展,出现了SDN(Software Defined Network,软件定义网络)技术,SDN是一种新型网络创新架构,是网络虚拟化的一种实现方式。随着软件定义网络的飞速发展,有效的网络管理得到了越来越多的重视,而获得最新的网络拓扑结构对于网络管理至关重要。
传统的网络拓扑结构发现通常是采用盲测的方式,也就是通过各种底层协议如ICMP(Internet Control Message Protocol,网络控制报文协议)、SNMP(Simple NetworkManagement Protocol,简单网络管理协议)、LLDP(Link Layer Discovery Protocol,链路层发现协议)等对各种设备进行探测,然后收集反馈信息,从中整理出网络拓扑。基于传统的网络拓扑结构发现需耗费大量的网络资源进行探测,且需整理大量的反馈信息,使得网络拓扑结构发现效率低。
发明内容
基于此,有必要针对网络拓扑结构发现效率低的技术问题,提供一种基于SDN的网络拓扑结构发现方法、装置和存储介质。
一种基于SDN的网络拓扑结构发现方法,所述方法包括:
获取在创建虚拟网络设备时产生的SDN拓扑结构模板;
确定所述SDN拓扑结构模板中记录的虚拟网络设备;
获取确定的虚拟网络设备所对应的网络地址;
根据所述网络地址发送第一检测指令;所述第一检测指令用于指示所述网络地址对应的物理服务器向确定的虚拟网络设备发送第一检测包;
当在预设时间段内接收到所述物理服务器反馈的对于所述第一检测包的第一回复包时,则判定所述物理服务器上的虚拟网络设备存在于网络拓扑结构中。
一种基于SDN的网络拓扑结构发现装置,所述装置包括:
获取模块,用于获取在创建虚拟网络设备时产生的SDN拓扑结构模板;
确定模块,用于确定所述SDN拓扑结构模板中记录的虚拟网络设备;
所述获取模块还用于获取确定的虚拟网络设备所对应的网络地址;
发送模块,用于根据所述网络地址发送第一检测指令;所述第一检测指令用于指示所述网络地址对应的物理服务器向确定的虚拟网络设备发送第一检测包;
判定模块,用于当在预设时间段内接收到所述物理服务器反馈的对于所述第一检测包的第一回复包时,则判定所述物理服务器上的虚拟网络设备存在于网络拓扑结构中。
一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行所述基于SDN的网络拓扑结构发现方法的步骤。
一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行所述基于SDN的网络拓扑结构发现方法的步骤。
上述基于SDN的网络拓扑结构发现方法、装置、存储介质和设备,在创建虚拟网络设备时产生SDN拓扑结构模板,根据SDN拓扑结构模板中记录的虚拟网络设备,控制与虚拟网络设备所对应的物理服务器向虚拟网络设备发送第一检测包,避免了使用各种底层协议的数据包来探测网络设备,节省了资源。并且,通过在预设时间段内是否接收到第一回复包,即可验证SDN拓扑结构模板中的网络设备是否存在,从而发现整个网络拓扑结构,极大地减少了盲目探测需使用的各种协议包,减少了计算量,提高了网络拓扑结构发现的效率。
附图说明
图1为一个实施例中基于SDN的网络拓扑结构发现方法的应用环境图;
图2为一个实施例中基于SDN的网络拓扑结构发现方法的流程示意图;
图3为一个实施例中网络链路验证的步骤的流程示意图;
图4为一个实施例中网络访问规则验证的步骤的流程示意图;
图5为一个实施例中通过第一虚拟网卡和第二虚拟网卡,在网络拓扑结构中验证网络访问规则的步骤的流程示意图;
图6为一个实施例中发现的网络拓扑结构的结构图;
图7为一个实施例中基于SDN的网络拓扑结构发现装置的结构框图;
图8为另一个实施例中基于SDN的网络拓扑结构发现装置的结构框图;
图9为又一个实施例中基于SDN的网络拓扑结构发现装置的结构框图;
图10为还一个实施例中基于SDN的网络拓扑结构发现装置的结构框图;
图11为一个实施例中计算机设备的结构框图。
具体实施方式
为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。
具体的,在本实施例中,为了能够提高网络拓扑结构发现的效率,提出了一种基于SDN的网络拓扑结构发现方法,该方法的实现可依赖计算机程序,可运行于基于冯诺依曼体系的计算机***上。如图1所示,该计算机***可以是图2所示的基于SDN的网络***中的中心控制节点。
图1展示了一种基于SDN的网络***,包括中心控制节点110和物理服务器120。中心控制节点110与物理服务器120连接,通过物理服务器120发现虚拟网络设备的网络拓扑结构。物理服务器120上运行着多个虚拟网络设备,如图1中物理服务器124中运行着虚拟网络设备124A至虚拟网络设备124B。需要说明的是,中心控制节点110可以是单一的服务器硬件实体设备,也可以是多个服务器构成的服务器集群,该服务器集群中的服务器可分别实现中心控制节点的多个逻辑功能。
如图2所示,在一个实施例中,提供了一种基于SDN的网络拓扑结构发现方法。本实施例主要以该方法应用于上述图1中的中心控制节点来举例说明。参照图2,该基于SDN的网络拓扑结构发现方法具体包括如下步骤:
S202,获取在创建虚拟网络设备时产生的SDN拓扑结构模板。
其中,虚拟网络设备是虚拟的网络设备,具体可以是能实现物理网络设备相关功能的应用程序,比如虚拟机、虚拟网卡、虚拟交换机或虚拟路由器等。拓扑结构是网络设备的物理或逻辑布局。SDN拓扑结构模板是在创建虚拟网络设备时产生的SDN拓扑结构,具体可以是虚拟网络设备及虚拟网络设备之间的互联关系。
具体地,中心控制节点可直接获取自身预先存储的SDN拓扑结构模板,或者通过网络通信或USB通信等方式获取保存在其他物理设备上的SDN拓扑结构模板。
在一个实施例中,中心控制节点在在创建虚拟网络设备时,可以保存该虚拟网络设备及虚拟网络设备之间的互联关系。虚拟网络设备之间的互联关系,比如,虚拟机和子网的连接关系、子网和子网之间的网络访问规则、虚拟机和虚拟机之间的连接关系等。保存的虚拟网络设备及虚拟网络设备之间的互联关系即SDN拓扑结构模板。
S204,确定SDN拓扑结构模板中记录的虚拟网络设备。
在一个实施例中,中心控制节点可接收网络拓扑结构验证指令,根据接收的网络拓扑结构验证指令,获取指令所指定的SDN拓扑结构模板中记录的虚拟网络设备。
在一个实施例中,中心控制节点可采用遍历的方式依次获取SDN拓扑结构模板中记录的虚拟网络设备。
S206,获取确定的虚拟网络设备所对应的网络地址。
其中,网络地址是用于确定虚拟网络设备位置的逻辑地址。在本实施例中,中心控制节点可以根据网络地址确定与该网络地址相对应的物理服务器。具体地,中心控制节点在确定了SDN拓扑结构模板中记录的虚拟网络设备后,可通过运行该虚拟网络设备,以查找自身的网络地址;或者通过查找网络地址分配记录来获取该虚拟网络设备的网络地址,其中,网络地址分配记录是在创建虚拟网络设备并进行网络地址分配时所做的记录。
S208,根据网络地址发送第一检测指令;第一检测指令用于指示网络地址对应的物理服务器向确定的虚拟网络设备发送第一检测包。
其中,第一检测指令是用于检测虚拟网络设备是否存在的指令。第一检测包是数据包,用于检测虚拟网络设备是否存在的数据包,具体可以是一个协议封装包,比如基于ICMP的数据包、基于LLDP的数据包或基于SNMP的数据包等。其中,第一检测包中包括检测数据、始发地址和目的地址等。
具体地,中心控制节点在获取到虚拟网络设备所对应的网络地址后,可根据该网络地址确定与网络地址相对应的物理服务器。其中,根据虚拟网络设备的网络地址所确定的物理服务器是运行该虚拟网络设备的物理服务器。中心控制节点可向物理服务器发送第一检测指令,第一检测指令用于指示物理服务器向确定的虚拟网络设备发送第一检测包。
S210,当在预设时间段内接收到物理服务器反馈的对于第一检测包的第一回复包时,则判定物理服务器上的虚拟网络设备存在于网络拓扑结构中。
具体地,当物理服务器向确定虚拟网络设备发送第一检测包后,当虚拟网络设备存在于网络拓扑结构中时,虚拟网络设备就可接收到第一检测包。并向物理服务器发送一个针对第一检测包的第一回复包。物理服务器在收到第一回复包后将第一回复包反馈给中心控制节点。因此当中心控制节点在预设时间段内接收到第一回复包时,即可判定物理服务器上的虚拟网络设备存在于网络拓扑结构中。判定虚拟网络设备是否存在于网络拓扑结构,是对该虚拟网络设备有效性的验证。
在一个实施例中,当虚拟网络设备不存在或出现故障无法与其他设备进行通信时,中心控制节点则无法收到物理服务器反馈的对于第一检测包的第一回复包时,则可认为该虚拟网络设备不存在。
举例说明,当中心控制节点需检测某台虚拟机VM1是否存在,则中心控制节点向虚拟机VM1对应的物理服务器S1发起第一检测指令,使得物理服务器S1向虚拟机VM1发送基于ICMP的ping包(ping包中包含始发地址和目的地址)。若虚拟机VM1存在,则在接收到ping包后会反馈给物理服务器S1第一回复包。物理服务器S1接收到第一回复包后将第一回复包转发给中心控制节点。中心控制节点根据第一回复包可确定虚拟机VM1存在于网络拓扑结构中。
上述基于SDN的网络拓扑结构发现方法,在创建虚拟网络设备时产生SDN拓扑结构模板,根据SDN拓扑结构模板中记录的虚拟网络设备,控制与虚拟网络设备所对应的物理服务器向虚拟网络设备发送第一检测包,避免了使用各种底层协议来探测网络设备,节省了资源。并且,通过在预设时间段内是否接收到第一回复包,即可验证SDN拓扑结构模板中的网络设备是否存在,从而发现整个网络拓扑结构,极大地减少了盲目探测需使用的各种协议包,进一步减少了计算量,提高了网络拓扑结构发现的效率。
在一个实施例中,该基于SDN的网络拓扑结构发现方法还包括网络链路验证的步骤,网络链路验证的步骤包括:
S302,获取SDN拓扑结构模板中记录的待验证的网络链路;网络链路,是网络拓扑结构中第一虚拟网络设备和第二虚拟网络设备间的网络链路。
其中,网络链路,是网络拓扑结构中第一虚拟网络设备和第二虚拟网络设备间的通信链路。具体地,当中心控制节点确定了存在于网络拓扑结构中的虚拟网络设备后,中心控制节点获取记录在SDN拓扑结构模板中的待验证的网络链路。
S304,确定运行第一虚拟网络设备的第一物理服务器。
在一个实施例中,中心控制节点可通过获取第一虚拟网络设备的网络地址。通过该网络地址确定与网络地址相对应的第一物理服务器。其中,确定的第一物理服务器上运行着第一虚拟网络设备。
在一个实施例中,中心控制节点可通过在创建虚拟网络设备时产生的SDN拓扑结构模板,直接获取运行第一虚拟网络设备的第一物理服务器。
S306,向第一物理服务器发送第二检测指令;第二检测指令,用于指示第一物理服务器从第一虚拟网络设备向第二虚拟网络设备发送第二检测包。
具体地,中心控制节点可向第一物理服务器发送第二检测指令,第一物理服务器接收到第二检测指令后,发送从第一虚拟网络设备到第二虚拟网络设备的第二检测包。其中,第二检测包中包括检测数据、始发地址和目的地址等。
在一个实施例中,当第一物理服务器上同时运行着第一虚拟网络设备和第二虚拟网络设备时,第一物理服务器从第一虚拟网络设备向第二虚拟网络设备发送第二检测包时,第二检测包从第一虚拟网络设备经由与第一物理服务器对应地第一虚拟交换机,发送到第二虚拟网络设备。
在一个实施例中,当第一物理服务器上运行着第一虚拟网络设备,第二物理服务器上运行着第二虚拟网络设备时,第二检测包经由第一物理服务器、第二物理服务器发向第二虚拟网络设备。
S308,接收对于第二检测包的第二回复包。
具体地,第二虚拟网络设备接收到第二检测包时,会向运行着第二虚拟网络设备的物理服务器反馈第二回复包。物理服务器再将第二回复包转发给中心控制节点。
S310,根据第二回复包,确定网络拓扑结构中网络链路的验证结果。
具体地,中心控制节点在接收到第二回复包后,解析第二回复包的内容,根据解析的内容,确定网络拓扑结构中网络链路的是否连通。
举例说明,当中心控制节点需检测第一虚拟机VM1和第二虚拟机VM2是否连通时,中心控制节点向第一虚拟机VM1对应的第一物理服务器S1发送第二检测指令。第一物理服务器S1通过从与第一虚拟机VM1相对应的第一虚拟网卡NA1上发送目的地址是与第二虚拟机VM2相对应的第二虚拟网卡NA2的协议封装包(比如ping包)。第二虚拟网卡NA2如果接收到该数据包时就向与第二虚拟网卡NA2对应的物理服务器反馈表示接收成功的第二回复包;如果接收失败,则反馈表示接收失败的第二回复包。物理服务器将第二回复包转发给中心控制节点。中心控制节点根据第二回复包的内容确定虚拟机VM1和虚拟机VM2的网络链路。
上述实施例中,根据SDN拓扑结构模板中记录的待验证的网络链路,有针对性地验证网络设备之间的网络链路是否连通,避免了无效探测。控制与虚拟网络设备所对应的物理服务器发送从第一虚拟网络设备到第二虚拟网络设备的第二检测包,避免了使用各种底层协议来探测网络链路,节省了资源。这样有针对性地验证SDN拓扑结构模板中的网络链路是否连通,从而发现整个网络拓扑结构,极大地减少了盲目探测需使用的各种协议包,进一步减少了计算量,提高了网络拓扑结构发现的效率。
在一个实施例中,第二检测指令,用于指示第一物理服务器控制第一虚拟网络设备发起第二检测包,第二检测包经由第一物理服务器、第二物理服务器发向第二虚拟网络设备;第二虚拟网络设备与第二物理服务器对应;接收对于第二检测包的第二回复包,包括:接收第二物理服务器反馈的对于第二检测包的第二回复包。
具体地,当第一物理服务器上运行着第一虚拟网络设备,第二物理服务器上运行着第二虚拟网络设备时,第二检测包经由第一物理服务器、第二物理服务器发向第二虚拟网络设备。第二虚拟网络设备向第二物理服务器反馈对于第二检测包的第二回复包。中心控制节点接收第二物理服务器转发的第二回复包。
举例说明,当第一物理服务器S1上运行着第一虚拟机VM1,第二物理服务S2器上运行着第二虚拟机VM2时,第一物理服务器S1从第一虚拟机VM1向第二虚拟机VM2发送第二检测包。第二检测包的发送路径具体是,从与第一虚拟机VM1相对应的第一虚拟网卡NA1发起,经过第一虚拟交换机C1到达第一物理服务器S1,通过物理交换机转发至第二物理服务器S2,第二物理服务器S2再通过第二虚拟交换机C2转发至与第二虚拟机VM2相对应的第二虚拟网卡NA2。第二虚拟网卡NA2反馈对于第二检测包的第二回复包。中心控制节点接收第二物理服务器S2转发的第二回复包。
上述实施例中,当第一虚拟网络设备和第二虚拟网络设备分别运行在不同的物理服务器上时,第二检测包经由第一物理服务器、第二物理服务器发向第二虚拟网络设备,可以发现物理网络设备之间的网络链路。
在一个实施例中,当第一物理服务器上同时运行着第一虚拟网络设备和第二虚拟网络设备时,第二检测指令,用于指示第一物理服务器控制第一虚拟网络设备发起第二检测包,第二检测包经由第一虚拟交换机发向第二虚拟网络设备。接收对于第二检测包的第二回复包,包括:接收第一物理服务器反馈的对于第二检测包的第二回复包。
举例说明,当需要检测是否连通的第一虚拟机VM1和第二虚拟机VM2都运行在第一物理服务器S1上时,第一物理服务器S1从第一虚拟机VM1向第二虚拟机VM2发送第二检测包。第二检测包的发送路径具体是,从与第一虚拟机VM1相对应的第一虚拟网卡NA1发起,经过与第一物理服务器S1对应的第一虚拟交换机C1,最后再到达与第二虚拟机VM2相对应的第二虚拟网卡NA2。第二虚拟网卡NA2反馈对于第二检测包的第二回复包。中心控制节点接收第一物理服务器S2转发的第二回复包。
在一个实施例中,该基于SDN的网络拓扑结构发现方法还包括网络访问规则验证的步骤,网络访问规则验证的步骤包括:
S402,获取SDN拓扑结构模板中记录的待验证的网络访问规则;网络访问规则,是网络拓扑结构中第一子网和第二子网间的网络访问规则。
其中,网络访问规则是控制不同子网间的网络设备进行通信的规则。具体地,SDN拓扑结构模板中存在不同的子网,并记录着不同子网间的网络访问规则。比如,子网A和子网B的网络访问规则是,只有子网A中的8000端口和子网B中的9000端口能通信。其中,这里的端口是逻辑意义上的端口,指TCP(Transmission Control Protocol,传输控制协议)、IP(Internet Protocol,网络之间互连的协议)或UDP(User Datagram Protocol,用户数据报协议)等协议中的端口。
S404,创建第一虚拟网卡和第二虚拟网卡;第一虚拟网卡连接第一子网,第二虚拟网卡连接第二子网。
具体地,中心控制节点可直接创建与第一子网连接的第一虚拟网卡,与第二子网连接的第二虚拟网卡。按照网络访问规则,使第一虚拟网卡和第二虚拟网卡进行通信,如果通信成功,则可以验证第一子网和第二子网间的网络访问规则是有效的。
S406,通过第一虚拟网卡和第二虚拟网卡,在网络拓扑结构中验证网络访问规则。
具体地,中心控制节点可控制与第一虚拟网卡相对应的第一物理服务器从第一虚拟网卡向第二虚拟网卡发送第三检测包。第三检测包中包括检测数据、始发地址和目的地址等。其中,始发地址包括第一子网的标识、第三检测包传输的端口号等;接收地址包括第二子网的标识、第三检测包接收的端口号等。
在一个实施例中,当第二虚拟网卡成功接收第三检测包时,则证明第一子网和第二子网间的网络访问规则是有效的。在一个实施例中,当第二虚拟网卡未能成功接收第三检测包时,则证明第一子网和第二子网间的网络访问规则是无效的。
上述实施例中,通过创建与第一子网连接的第一虚拟网卡,创建与第二子网连接的第二虚拟网卡,按照第一子网与第二子网间的网络访问规则,使第一虚拟网卡与第二虚拟网卡进行通信。当第一虚拟网卡与第二虚拟网卡通信成功则验证该网络访问规则有效,使得SDN拓扑结构模板中记录的待验证的网络访问规则的验证变得简单、高效。
在一个实施例中,通过第一虚拟网卡和第二虚拟网卡,在网络拓扑结构中验证网络访问规则的步骤包括:
S502,向运行第一虚拟网卡的物理服务器发送第三检测指令;第三检测指令,用于指示运行第一虚拟网卡的物理服务器按照网络访问规则,从第一虚拟网卡向第二虚拟网卡发送第三检测包。
具体地,中心控制节点控制运行第一虚拟网卡的物理服务器发送第三检测指令。其中,第三检测指令用于指示运行第一虚拟网卡的物理服务器按照网络访问规则,从第一虚拟网卡向第二虚拟网卡发送第三检测包。
在一个实施例中,当第一虚拟网卡和第二虚拟网卡运行在同样的物理服务器上时,第三检测包经由第一虚拟网卡、第一虚拟交换机发送至第二虚拟网卡。其中,第一虚拟交换机是与运行第一虚拟网卡相对应的虚拟交换机。
举例说明,当需要验证子网A和子网B的网络访问规则时,获取的网络访问规则是只有子网A中的8000端口和子网B中的9000端口能进行通信。第一虚拟网卡NA1连接第一子网A,第二虚拟网卡NA2连接第二子网B。其中第三检测包中包括检测数据、第二虚拟网卡NA2对应的IP地址、子网A的端口号8000和子网B的端口号9000、第一虚拟网卡NA1的MAC地址和第二虚拟网卡NA2的MAC地址等信息。
具体地,第三检测包从第一虚拟网卡NA1处发送至与第一虚拟网卡NA1对应的第一虚拟交换机C1,第一虚拟交换机C1查找第二虚拟网卡NA2的MAC地址,当查找到第二虚拟网卡NA2的MAC地址后,第一虚拟交换机C1将第三检测包转发至第二虚拟网卡NA2。
在一个实施例中,当第一物理服务器上运行着第一虚拟网卡,第二物理服务器上运行着第二虚拟网卡时,第三检测包经由第一物理服务器、第二物理服务器发向第二虚拟网卡。
举例说明,第三检测包从第一虚拟网卡NA1处发送至与第一物理服务器S1对应的第一虚拟交换机C1。当第一虚拟交换机C1无法查找到第二虚拟网卡NA2的MAC地址时,则第一虚拟交换机C1将第三检测包转发至虚拟路由器R。虚拟路由器R接收第三检测包后解析出与第二虚拟网卡NA2对应的IP地址,根据该IP地址,将第三检测包转发至与该IP地址相对应的第二虚拟交换机C2。第二虚拟交换机C2查找第二虚拟网卡NA2的MAC地址,将数据包转发至第二虚拟网卡NA2。其中,第一虚拟交换机C1与第一物理服务器S1相对应,第二虚拟交换机与第二物理服务器S2相对应。
S504,接收对于第三检测包的第三回复包。
具体地,中心控制节点可接收对于第三检测包的第三回复包。
S506,根据第三回复包,确定网络拓扑结构中网络访问规则的验证结果。
具体地,中心控制节点可解析第三回复包的信息,根据解析的第三回复包的信息判断待验证的网络访问规则的有效性。例如,当第三回复包的信息表示第二虚拟网卡成功接收第三检测包时,则可确定上述验证的网络访问规则存在于网络拓扑结构中,是有效的。当第三回复包的信息表示第二虚拟网卡无法成功接收第三检测包时,则可确定上述验证的网络访问规则不存在于网络拓扑结构中,是无效的。
上述实施例中,通过向运行第一虚拟网卡的物理服务器发送第三检测指令。其中,第三检测指令,用于指示运行第一虚拟网卡的物理服务器按照网络访问规则,从第一虚拟网卡向第二虚拟网卡发送第三检测包。这样,只需确认第二虚拟网卡是否能成功接收第三检测包即可判断网络访问规则是否有效,简单、高效地验证了网络访问规则的有效性。
在一个实施例中,该基于SDN的网络拓扑结构发现方法还包括更新SDN拓扑结构模板的步骤,更新SDN拓扑结构模板的步骤包括:记录已验证的网络拓扑结构;根据记录的网络拓扑结构更新SDN拓扑结构模板。
具体地,中心控制节点在对SDN拓扑结构模板中的拓扑结构进行验证时,记录验证结果。根据验证结果更新SDN拓扑结构模板。验证结果比如验证成功或验证失败。例如,当验证网络访问规则时,验证结果为验证失败,则说明该网络访问规则无效,可在SDN拓扑结构模板中删除该网络访问规则的拓扑结构。
上述实施例中,中心控制节点可根据已验证的网络拓扑结构的验证结果,对应更新SDN拓扑结构模板,使得SDN拓扑结构模板能准确地表示网络拓扑结构。
在一个实施例中,该基于SDN的网络拓扑结构发现方法还包括定位故障拓扑结构的步骤,定位故障拓扑结构的步骤包括:记录已验证的网络拓扑结构;确定记录的网络拓扑结构和SDN拓扑结构模板的差异;根据差异定位SDN拓扑结构模板中的故障拓扑结构。
具体地,中心控制节点在对SDN拓扑结构模板中的拓扑结构进行验证时,记录验证结果。其中,验证成功则说明该拓扑结构存在于网络拓扑结构中,验证失败则说明该拓扑结构不存在于网络拓扑结构中。比较已验证的网络拓扑结构和SDN拓扑结构模板的差异,确定SDN拓扑结构模板中验证失败的拓扑结构。验证失败的拓扑结构可被认为是SDN拓扑结构模板中的故障拓扑结构。
上述实施例中,中心控制节点通过记录的网络拓扑结构和SDN拓扑结构模板的差异,可以快速定位SDN拓扑结构模板中的故障拓扑结构,以此发现整个网络拓扑结构中虚拟网络设备的健康状况,便于后续处理改善故障拓扑结构。
图6示出了一个实施例中发现的网络拓扑结构。在一个实施例中,实施上述基于SDN的网络拓扑结构发现方法,可得到如图6所示的网络拓扑结构。其中,图6的网络拓扑结构中包括:子网1、子网2、子网3和子网4分别与路由器相连;虚拟机VM1和虚拟机VM2分别连接子网1,虚拟机VM3、虚拟机VM4和虚拟机VM5分别连接子网2,虚拟机VM6连接子网3,虚拟机VM7连接子网4;子网3和子网2之间的网络访问规则是网络访问规则A,子网3和子网4之间的网络访问规则是网络访问规则B。
如图7所示,在一个实施例中,提供了一种基于SDN的网络拓扑结构发现装置700,包括获取模块701、确定模块702、发送模块703、判定模块704。
获取模块701,用于获取在创建虚拟网络设备时产生的SDN拓扑结构模板;
确定模块702,用于确定SDN拓扑结构模板中记录的虚拟网络设备;
获取模块701还用于获取确定的虚拟网络设备所对应的网络地址;
发送模块703,用于根据网络地址发送第一检测指令;第一检测指令用于指示网络地址对应的物理服务器向确定的虚拟网络设备发送第一检测包;
判定模块704,,用于当在预设时间段内接收到物理服务器反馈的对于第一检测包的第一回复包时,则判定物理服务器上的虚拟网络设备存在于网络拓扑结构中。
上述基于SDN的网络拓扑结构发现装置,在创建虚拟网络设备时产生SDN拓扑结构模板,根据SDN拓扑结构模板中记录的虚拟网络设备,控制与虚拟网络设备所对应的物理服务器向虚拟网络设备发送第一检测包,避免了使用各种底层协议来探测网络设备,节省了资源。并且,通过在预设时间段内是否接收到第一回复包,即可验证SDN拓扑结构模板中的网络设备是否存在,从而发现整个网络拓扑结构,极大地减少了盲目探测需使用的各种协议包,进一步减少了计算量,提高了网络拓扑结构发现的效率。
在一个实施例中,获取模块701还用于获取SDN拓扑结构模板中记录的待验证的网络链路;网络链路,是网络拓扑结构中第一虚拟网络设备和第二虚拟网络设备间的网络链路;确定模块702还用于确定运行第一虚拟网络设备的第一物理服务器;发送模块703还用于向第一物理服务器发送第二检测指令;第二检测指令,用于指示第一物理服务器从第一虚拟网络设备向第二虚拟网络设备发送第二检测包;判定模块704还用于接收对于第二检测包的第二回复包;根据第二回复包,确定网络拓扑结构中网络链路的验证结果。
上述实施例中,根据SDN拓扑结构模板中记录的待验证的网络链路,有针对性地验证网络设备之间的网络链路是否连通,避免了无效探测。控制与虚拟网络设备所对应的物理服务器发送从第一虚拟网络设备到第二虚拟网络设备的第二检测包,避免了使用各种底层协议来探测网络链路,节省了资源。这样有针对性地验证SDN拓扑结构模板中的网络链路是否连通,从而发现整个网络拓扑结构,极大地减少了盲目探测需使用的各种协议包,进一步减少了计算量,提高了网络拓扑结构发现的效率。
在一个实施例中,第二检测指令,用于指示第一物理服务器控制第一虚拟网络设备发起第二检测包,第二检测包经由第一物理服务器、第二物理服务器发向第二虚拟网络设备;第二虚拟网络设备与第二物理服务器对应;判定模块704还用于接收第二物理服务器反馈的对于第二检测包的第二回复包。
上述实施例中,当第一虚拟网络设备和第二虚拟网络设备分别运行在不同的物理服务器上时,第二检测包经由第一物理服务器、第二物理服务器发向第二虚拟网络设备,可以发现物理网络设备之间的网络链路。
在一个实施例中,如图8所示,基于SDN的网络拓扑结构发现装置700还包括创建模块705。
获取模块701还用于获取SDN拓扑结构模板中记录的待验证的网络访问规则;网络访问规则,是网络拓扑结构中第一子网和第二子网间的网络访问规则;
创建模块705,用于创建第一虚拟网卡和第二虚拟网卡;第一虚拟网卡连接第一子网,第二虚拟网卡连接第二子网;
判定模块704还用于通过第一虚拟网卡和第二虚拟网卡,在网络拓扑结构中验证网络访问规则。
上述实施例中,通过创建与第一子网连接的第一虚拟网卡,创建与第二子网连接的第二虚拟网卡,按照第一子网与第二子网间的网络访问规则,使第一虚拟网卡与第二虚拟网卡进行通信。当第一虚拟网卡与第二虚拟网卡通信成功则验证该网络访问规则有效,使得SDN拓扑结构模板中记录的待验证的网络访问规则的验证变得简单、高效。
在一个实施例中,发送模块703还用于向运行第一虚拟网卡的物理服务器发送第三检测指令;第三检测指令,用于指示运行第一虚拟网卡的物理服务器按照网络访问规则,从第一虚拟网卡向第二虚拟网卡发送第三检测包;判定模块704还用于接收对于第三检测包的第三回复包;根据第三回复包,确定网络拓扑结构中网络访问规则的验证结果。
上述实施例中,通过向运行第一虚拟网卡的物理服务器发送第三检测指令。其中,第三检测指令,用于指示运行第一虚拟网卡的物理服务器按照网络访问规则,从第一虚拟网卡向第二虚拟网卡发送第三检测包。这样,只需确认第二虚拟网卡是否能成功接收第三检测包即可判断网络访问规则是否有效,简单、高效地验证了网络访问规则的有效性。
在一个实施例中,如图9所示,基于SDN的网络拓扑结构发现装置700还包括记录模块706和更新模块707。
记录模块706,用于记录已验证的网络拓扑结构。
更新模块707,用于根据记录的网络拓扑结构更新SDN拓扑结构模板。
上述实施例中,中心控制节点可根据已验证的网络拓扑结构的验证结果,对应更新SDN拓扑结构模板,使得SDN拓扑结构模板能准确地表示网络拓扑结构。
在一个实施例中,如图10所示,基于SDN的网络拓扑结构发现装置700还包括定位模块708。
记录模块706还用于记录已验证的网络拓扑结构。
确定模块702还用于确定记录的网络拓扑结构和SDN拓扑结构模板的差异。
定位模块708,用于根据差异定位SDN拓扑结构模板中的故障拓扑结构。
上述实施例中,中心控制节点通过记录的网络拓扑结构和SDN拓扑结构模板的差异,可以快速定位SDN拓扑结构模板中的故障拓扑结构,以此发现整个网络拓扑结构中虚拟网络设备的健康状况,便于后续处理改善故障拓扑结构。
在一个实施例中,提供了一种计算机设备,该计算机设备可以是服务器,也可以是移动终端。当该计算机设备为服务器时,其内部结构图可以如图11所示。该计算机设备包括通过***总线连接的处理器、存储器和网络接口。其中,该计算机设备的处理器用于提供计算和控制能力。该计算机设备的存储器包括非易失性存储介质、内存储器。该非易失性存储介质存储有操作***和计算机程序。该内存储器为非易失性存储介质中的操作***和计算机程序的运行提供环境。该计算机设备的网络接口用于与外部的终端通过网络连接通信。该计算机程序被处理器执行时以实现一种基于SDN的网络拓扑结构发现方法。
本领域技术人员可以理解,图11中示出的结构,仅仅是与本申请方案相关的部分结构的框图,并不构成对本申请方案所应用于其上的计算机设备的限定,具体的计算机设备可以包括比图中所示更多或更少的部件,或者组合某些部件,或者具有不同的部件布置。
在一个实施例中,本申请提供的基于SDN的网络拓扑结构发现装置可以实现为一种计算机程序的形式,计算机程序可在如图11所示的计算机设备上运行。计算机设备的存储器中可存储组成该基于SDN的网络拓扑结构发现装置的各个程序模块,比如,图7所示的获取模块、确定模块、发送模块和判定模块。各个程序模块构成的计算机程序使得处理器执行本说明书中描述的本申请各个实施例的基于SDN的网络拓扑结构发现方法中的步骤。
例如,图11所示的计算机设备可以通过如图7所示的基于SDN的网络拓扑结构发现装置中的获取模块执行步骤S202和S206。计算机设备可通过确定模块执行步骤S204。计算机设备可通过发送模块执行步骤S208。计算机设备可通过判定模块执行步骤S210。
在一个实施例中,提供了一种计算机设备,包括存储器和处理器,存储器中储存有计算机程序,计算机程序被处理器执行时,使得处理器执行以下步骤:获取在创建虚拟网络设备时产生的SDN拓扑结构模板;确定SDN拓扑结构模板中记录的虚拟网络设备;获取确定的虚拟网络设备所对应的网络地址;根据网络地址发送第一检测指令;第一检测指令用于指示网络地址对应的物理服务器向确定的虚拟网络设备发送第一检测包;当在预设时间段内接收到物理服务器反馈的对于第一检测包的第一回复包时,则判定物理服务器上的虚拟网络设备存在于网络拓扑结构中。
在一个实施例中,计算机程序使得还处理器执行以下步骤:获取SDN拓扑结构模板中记录的待验证的网络链路;网络链路,是网络拓扑结构中第一虚拟网络设备和第二虚拟网络设备间的网络链路;确定运行第一虚拟网络设备的第一物理服务器;向第一物理服务器发送第二检测指令;第二检测指令,用于指示第一物理服务器从第一虚拟网络设备向第二虚拟网络设备发送第二检测包;接收对于第二检测包的第二回复包;根据第二回复包,确定网络拓扑结构中网络链路的验证结果。
在一个实施例中,第二检测指令,用于指示第一物理服务器控制第一虚拟网络设备发起第二检测包,第二检测包经由第一物理服务器、第二物理服务器发向第二虚拟网络设备;第二虚拟网络设备与第二物理服务器对应;计算机程序使得处理器在执行接收对于第二检测包的第二回复包的步骤时具体执行以下步骤:接收第二物理服务器反馈的对于第二检测包的第二回复包。
在一个实施例中,计算机程序使得还处理器执行以下步骤:获取SDN拓扑结构模板中记录的待验证的网络访问规则;网络访问规则,是网络拓扑结构中第一子网和第二子网间的网络访问规则;创建第一虚拟网卡和第二虚拟网卡;第一虚拟网卡连接第一子网,第二虚拟网卡连接第二子网;通过第一虚拟网卡和第二虚拟网卡,在网络拓扑结构中验证网络访问规则。
在一个实施例中,计算机程序使得处理器在执行通过第一虚拟网卡和第二虚拟网卡,在网络拓扑结构中验证网络访问规则的步骤时具体执行以下步骤:向运行第一虚拟网卡的物理服务器发送第三检测指令;第三检测指令,用于指示运行第一虚拟网卡的物理服务器按照网络访问规则,从第一虚拟网卡向第二虚拟网卡发送第三检测包;接收对于第三检测包的第三回复包;根据第三回复包,确定网络拓扑结构中网络访问规则的验证结果。
在一个实施例中,计算机程序使得还处理器执行以下步骤:记录已验证的网络拓扑结构;根据记录的网络拓扑结构更新SDN拓扑结构模板。
在一个实施例中,计算机程序使得还处理器执行以下步骤:记录已验证的网络拓扑结构;确定记录的网络拓扑结构和SDN拓扑结构模板的差异;根据差异定位SDN拓扑结构模板中的故障拓扑结构。
上述计算机设备,在创建虚拟网络设备时产生SDN拓扑结构模板,根据SDN拓扑结构模板中记录的虚拟网络设备,控制与虚拟网络设备所对应的物理服务器向虚拟网络设备发送第一检测包,避免了使用各种底层协议来探测网络设备,节省了资源。并且,通过在预设时间段内是否接收到第一回复包,即可验证SDN拓扑结构模板中的网络设备是否存在,从而发现整个网络拓扑结构,极大地减少了盲目探测需使用的各种协议包,进一步减少了计算量,提高了网络拓扑结构发现的效率。
一种计算机可读存储介质,存储有计算机程序,该计算机程序被处理器执行时实现以下步骤:获取在创建虚拟网络设备时产生的SDN拓扑结构模板;确定SDN拓扑结构模板中记录的虚拟网络设备;获取确定的虚拟网络设备所对应的网络地址;根据网络地址发送第一检测指令;第一检测指令用于指示网络地址对应的物理服务器向确定的虚拟网络设备发送第一检测包;当在预设时间段内接收到物理服务器反馈的对于第一检测包的第一回复包时,则判定物理服务器上的虚拟网络设备存在于网络拓扑结构中。
在一个实施例中,计算机程序使得还处理器执行以下步骤:获取SDN拓扑结构模板中记录的待验证的网络链路;网络链路,是网络拓扑结构中第一虚拟网络设备和第二虚拟网络设备间的网络链路;确定运行第一虚拟网络设备的第一物理服务器;向第一物理服务器发送第二检测指令;第二检测指令,用于指示第一物理服务器从第一虚拟网络设备向第二虚拟网络设备发送第二检测包;接收对于第二检测包的第二回复包;根据第二回复包,确定网络拓扑结构中网络链路的验证结果。
在一个实施例中,第二检测指令,用于指示第一物理服务器控制第一虚拟网络设备发起第二检测包,第二检测包经由第一物理服务器、第二物理服务器发向第二虚拟网络设备;第二虚拟网络设备与第二物理服务器对应;计算机程序使得处理器在执行接收对于第二检测包的第二回复包的步骤时具体执行以下步骤:接收第二物理服务器反馈的对于第二检测包的第二回复包。
在一个实施例中,计算机程序使得还处理器执行以下步骤:获取SDN拓扑结构模板中记录的待验证的网络访问规则;网络访问规则,是网络拓扑结构中第一子网和第二子网间的网络访问规则;创建第一虚拟网卡和第二虚拟网卡;第一虚拟网卡连接第一子网,第二虚拟网卡连接第二子网;通过第一虚拟网卡和第二虚拟网卡,在网络拓扑结构中验证网络访问规则。
在一个实施例中,计算机程序使得处理器在执行通过第一虚拟网卡和第二虚拟网卡,在网络拓扑结构中验证网络访问规则的步骤时具体执行以下步骤:向运行第一虚拟网卡的物理服务器发送第三检测指令;第三检测指令,用于指示运行第一虚拟网卡的物理服务器按照网络访问规则,从第一虚拟网卡向第二虚拟网卡发送第三检测包;接收对于第三检测包的第三回复包;根据第三回复包,确定网络拓扑结构中网络访问规则的验证结果。
在一个实施例中,计算机程序使得还处理器执行以下步骤:记录已验证的网络拓扑结构;根据记录的网络拓扑结构更新SDN拓扑结构模板。
在一个实施例中,计算机程序使得还处理器执行以下步骤:记录已验证的网络拓扑结构;确定记录的网络拓扑结构和SDN拓扑结构模板的差异;根据差异定位SDN拓扑结构模板中的故障拓扑结构。
上述计算机可读存储介质,在创建虚拟网络设备时产生SDN拓扑结构模板,根据SDN拓扑结构模板中记录的虚拟网络设备,控制与虚拟网络设备所对应的物理服务器向虚拟网络设备发送第一检测包,避免了使用各种底层协议来探测网络设备,节省了资源。并且,通过在预设时间段内是否接收到第一回复包,即可验证SDN拓扑结构模板中的网络设备是否存在,从而发现整个网络拓扑结构,极大地减少了盲目探测需使用的各种协议包,进一步减少了计算量,提高了网络拓扑结构发现的效率。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一非易失性计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,本申请所提供的各实施例中所使用的对存储器、存储、数据库或其它介质的任何引用,均可包括非易失性和/或易失性存储器。非易失性存储器可包括只读存储器(ROM)、可编程ROM(PROM)、电可编程ROM(EPROM)、电可擦除可编程ROM(EEPROM)或闪存。易失性存储器可包括随机存取存储器(RAM)或者外部高速缓冲存储器。作为说明而非局限,RAM以多种形式可得,诸如静态RAM(SRAM)、动态RAM(DRAM)、同步DRAM(SDRAM)、双数据率SDRAM(DDRSDRAM)、增强型SDRAM(ESDRAM)、同步链路(Synchlink)DRAM(SLDRAM)、存储器总线(Rambus)直接RAM(RDRAM)、直接存储器总线动态RAM(DRDRAM)、以及存储器总线动态RAM(RDRAM)等。
以上实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。
以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对本申请专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

Claims (16)

1.一种基于SDN的网络拓扑结构发现方法,所述方法包括:
获取在创建虚拟网络设备时产生的SDN拓扑结构模板;
确定所述SDN拓扑结构模板中记录的虚拟网络设备;
获取确定的虚拟网络设备所对应的网络地址;
根据所述网络地址发送第一检测指令;所述第一检测指令用于指示所述网络地址对应的物理服务器向确定的虚拟网络设备发送第一检测包;
当在预设时间段内接收到所述物理服务器反馈的对于所述第一检测包的第一回复包时,则判定所述物理服务器上的所述确定的虚拟网络设备存在于网络拓扑结构中。
2.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述SDN拓扑结构模板中记录的待验证的网络链路;所述网络链路,是所述网络拓扑结构中第一虚拟网络设备和第二虚拟网络设备间的网络链路;
确定运行所述第一虚拟网络设备的第一物理服务器;
向所述第一物理服务器发送第二检测指令;所述第二检测指令,用于指示所述第一物理服务器从所述第一虚拟网络设备向所述第二虚拟网络设备发送第二检测包;
接收对于所述第二检测包的第二回复包;
根据所述第二回复包,确定所述网络拓扑结构中所述网络链路的验证结果。
3.根据权利要求2所述的方法,其特征在于,所述第二检测指令,用于指示所述第一物理服务器控制所述第一虚拟网络设备发起第二检测包,所述第二检测包经由所述第一物理服务器、第二物理服务器发向所述第二虚拟网络设备;所述第二虚拟网络设备与所述第二物理服务器对应;
所述接收对于所述第二检测包的第二回复包,包括:
接收所述第二物理服务器反馈的对于所述第二检测包的第二回复包。
4.根据权利要求1所述的方法,其特征在于,所述方法还包括:
获取所述SDN拓扑结构模板中记录的待验证的网络访问规则;所述网络访问规则,是所述网络拓扑结构中第一子网和第二子网间的网络访问规则;
创建第一虚拟网卡和第二虚拟网卡;所述第一虚拟网卡连接所述第一子网,所述第二虚拟网卡连接所述第二子网;
通过所述第一虚拟网卡和第二虚拟网卡,在所述网络拓扑结构中验证所述网络访问规则。
5.根据权利要求4所述的方法,其特征在于,所述通过所述第一虚拟网卡和第二虚拟网卡,在所述网络拓扑结构中验证所述网络访问规则,包括:
向运行所述第一虚拟网卡的物理服务器发送第三检测指令;所述第三检测指令,用于指示运行所述第一虚拟网卡的物理服务器按照所述网络访问规则,从所述第一虚拟网卡向所述第二虚拟网卡发送第三检测包;
接收对于所述第三检测包的第三回复包;
根据所述第三回复包,确定所述网络拓扑结构中网络访问规则的验证结果。
6.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
记录已验证的网络拓扑结构;
根据记录的网络拓扑结构更新所述SDN拓扑结构模板。
7.根据权利要求1至5中任一项所述的方法,其特征在于,所述方法还包括:
记录已验证的网络拓扑结构;
确定记录的网络拓扑结构和所述SDN拓扑结构模板的差异;
根据所述差异定位所述SDN拓扑结构模板中的故障拓扑结构。
8.一种基于SDN的网络拓扑结构发现装置,所述装置包括:
获取模块,用于获取在创建虚拟网络设备时产生的SDN拓扑结构模板;
确定模块,用于确定所述SDN拓扑结构模板中记录的虚拟网络设备;
所述获取模块还用于获取确定的虚拟网络设备所对应的网络地址;
发送模块,用于根据所述网络地址发送第一检测指令;所述第一检测指令用于指示所述网络地址对应的物理服务器向确定的虚拟网络设备发送第一检测包;
判定模块,用于当在预设时间段内接收到所述物理服务器反馈的对于所述第一检测包的第一回复包时,则判定所述物理服务器上的所述确定的虚拟网络设备存在于网络拓扑结构中。
9.根据权利要求8所述的装置,其特征在于,所述获取模块还用于获取所述SDN拓扑结构模板中记录的待验证的网络链路;所述网络链路,是所述网络拓扑结构中第一虚拟网络设备和第二虚拟网络设备间的网络链路;
所述确定模块还用于确定运行所述第一虚拟网络设备的第一物理服务器;
所述发送模块还用于向所述第一物理服务器发送第二检测指令;所述第二检测指令,用于指示所述第一物理服务器从所述第一虚拟网络设备向所述第二虚拟网络设备发送第二检测包;
所述判定模块还用于接收对于所述第二检测包的第二回复包;根据所述第二回复包,确定所述网络拓扑结构中所述网络链路的验证结果。
10.根据权利要求9所述的装置,其特征在于,所述第二检测指令,用于指示所述第一物理服务器控制所述第一虚拟网络设备发起第二检测包,所述第二检测包经由所述第一物理服务器、第二物理服务器发向所述第二虚拟网络设备;所述第二虚拟网络设备与所述第二物理服务器对应;
所述判定模块还用于接收所述第二物理服务器反馈的对于所述第二检测包的第二回复包。
11.根据权利要求8所述的装置,其特征在于,所述装置还包括创建模块:
所述获取模块还用于获取所述SDN拓扑结构模板中记录的待验证的网络访问规则;所述网络访问规则,是所述网络拓扑结构中第一子网和第二子网间的网络访问规则;
创建模块,用于创建第一虚拟网卡和第二虚拟网卡;所述第一虚拟网卡连接所述第一子网,所述第二虚拟网卡连接所述第二子网;
所述判定模块还用于通过所述第一虚拟网卡和第二虚拟网卡,在所述网络拓扑结构中验证所述网络访问规则。
12.根据权利要求11所述的装置,其特征在于,所述发送模块还用于向运行所述第一虚拟网卡的物理服务器发送第三检测指令;所述第三检测指令,用于指示运行所述第一虚拟网卡的物理服务器按照所述网络访问规则,从所述第一虚拟网卡向所述第二虚拟网卡发送第三检测包;
所述判定模块还用于接收对于所述第三检测包的第三回复包;根据所述第三回复包,确定所述网络拓扑结构中网络访问规则的验证结果。
13.根据权利要求8至12任一项所述的装置,其特征在于,所述装置还包括:
记录模块,用于记录已验证的网络拓扑结构;
更新模块,用于根据记录的网络拓扑结构更新所述SDN拓扑结构模板。
14.根据权利要求8至12任一项所述的装置,其特征在于,所述装置还包括:
记录模块,用于记录已验证的网络拓扑结构;
所述确定模块还用于确定记录的网络拓扑结构和所述SDN拓扑结构模板的差异;
定位模块,用于根据所述差异定位所述SDN拓扑结构模板中的故障拓扑结构。
15.一种计算机可读存储介质,存储有计算机程序,所述计算机程序被处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
16.一种计算机设备,包括存储器和处理器,所述存储器存储有计算机程序,所述计算机程序被所述处理器执行时,使得所述处理器执行如权利要求1至7中任一项所述方法的步骤。
CN201711292148.7A 2017-12-08 2017-12-08 基于sdn的网络拓扑结构发现方法、装置和存储介质 Active CN108234194B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711292148.7A CN108234194B (zh) 2017-12-08 2017-12-08 基于sdn的网络拓扑结构发现方法、装置和存储介质

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711292148.7A CN108234194B (zh) 2017-12-08 2017-12-08 基于sdn的网络拓扑结构发现方法、装置和存储介质

Publications (2)

Publication Number Publication Date
CN108234194A CN108234194A (zh) 2018-06-29
CN108234194B true CN108234194B (zh) 2021-02-26

Family

ID=62653418

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711292148.7A Active CN108234194B (zh) 2017-12-08 2017-12-08 基于sdn的网络拓扑结构发现方法、装置和存储介质

Country Status (1)

Country Link
CN (1) CN108234194B (zh)

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109379290A (zh) * 2018-11-30 2019-02-22 四川安迪科技实业有限公司 Vsat星型组网的拓扑自动发现方法
CN109842527B (zh) * 2019-03-19 2022-11-18 中国联合网络通信集团有限公司 一种网络告警方法以及设备
CN112636988B (zh) * 2020-12-31 2023-04-07 中电长城网际安全技术研究院(北京)有限公司 网络拓扑的生成方法、电子设备、计算机可读介质
CN113422729B (zh) * 2021-04-29 2022-08-05 全球能源互联网研究院有限公司 一种虚拟电厂靶向通信***及控制方法

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104158747B (zh) * 2013-05-14 2019-09-24 中兴通讯股份有限公司 网络拓扑发现方法和***
US9749214B2 (en) * 2014-02-26 2017-08-29 Futurewei Technologies, Inc. Software defined networking (SDN) specific topology information discovery
US10003498B2 (en) * 2015-06-29 2018-06-19 Ca, Inc. Efficient management of network configuration-dependent network functionality
CN105721318B (zh) * 2016-02-29 2018-12-25 华为技术有限公司 一种软件定义网络sdn中发现网络拓扑的方法和装置

Also Published As

Publication number Publication date
CN108234194A (zh) 2018-06-29

Similar Documents

Publication Publication Date Title
CN108234194B (zh) 基于sdn的网络拓扑结构发现方法、装置和存储介质
CN107800602B (zh) 一种报文处理方法、设备及***
CN111886833B (zh) 重定向控制信道消息的方法和用于实现该方法的设备
KR101422381B1 (ko) 스위치 및 플로우 테이블 제어 방법
JP6543629B2 (ja) ローカルエリアネットワーク間の仮想プライベートネットワークを確立するための方法及びシステム
CN108234522B (zh) 防止地址解析协议arp攻击方法、装置、计算机设备和存储介质
US10462098B2 (en) Endpoint device identification based on determined network behavior
KR102066978B1 (ko) 차별화된 서비스 코드 포인트(dscp) 및 명시적 혼잡 통지(ecn)를 모니터링하기 위한 데이터 플레인을 위한 방법 및 장치
CN113595891B (zh) 数据通信方法、装置和电子设备
US10574570B2 (en) Communication processing method and apparatus
US10735308B2 (en) Attestation based routing
CN113419812B (zh) 一种虚拟化环境下端口转发测试方法、装置、设备及介质
EP3989512A1 (en) Method for controlling traffic forwarding, device, and system
WO2022083563A1 (zh) 链路检测方法、链路检测装置、终端设备和存储介质
US20230091414A1 (en) Packet Processing Method, Device, and System
CN114465931A (zh) 网络探测方法、装置、电子设备及存储介质
US20220174081A1 (en) Monitoring of abnormal host
CN105391817A (zh) 基于sdp自检测nat穿越***及方法
CN114143316B (zh) 多租户网络通信方法、装置、容器节点及存储介质
CN108259477B (zh) 基于sdn的网络访问控制方法、装置和计算机设备
CN111405639B (zh) 无线网络连接方法、装置、可读存储介质和计算机设备
CN114285818A (zh) 终端设备的定位方法、装置及终端设备
CN114362985A (zh) 一种报文处理方法及装置
TWI608749B (zh) 用來控制一客戶端裝置存取一網路裝置之方法以及控制裝置
CN117240900B (zh) 基于软件定义网络的区块链节点发现与组网方法及装置

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
TA01 Transfer of patent application right

Effective date of registration: 20200212

Address after: 200120 floor 15, 1333 Lujiazui Ring Road, free trade Experimental Zone, Pudong New Area, Shanghai

Applicant after: Weikun (Shanghai) Technology Service Co., Ltd

Address before: 200120 13 floor, 1333 Lujiazui Road, Pudong New Area free trade pilot area, Shanghai.

Applicant before: Lujiazui Shanghai international financial assets market Limited by Share Ltd

TA01 Transfer of patent application right
GR01 Patent grant
GR01 Patent grant