CN114826915B - 虚拟网络接口封装与调用方法、系统、介质及管理平台 - Google Patents

虚拟网络接口封装与调用方法、系统、介质及管理平台 Download PDF

Info

Publication number
CN114826915B
CN114826915B CN202110113137.8A CN202110113137A CN114826915B CN 114826915 B CN114826915 B CN 114826915B CN 202110113137 A CN202110113137 A CN 202110113137A CN 114826915 B CN114826915 B CN 114826915B
Authority
CN
China
Prior art keywords
information
host
virtual network
layer
interface
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
CN202110113137.8A
Other languages
English (en)
Other versions
CN114826915A (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.)
Dilina Shanghai Big Data Service Co ltd
Shanghai Broadband Technology and Application Engineering Research Center
Original Assignee
Dilina Shanghai Big Data Service Co ltd
Shanghai Broadband Technology and Application Engineering Research Center
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 Dilina Shanghai Big Data Service Co ltd, Shanghai Broadband Technology and Application Engineering Research Center filed Critical Dilina Shanghai Big Data Service Co ltd
Priority to CN202110113137.8A priority Critical patent/CN114826915B/zh
Publication of CN114826915A publication Critical patent/CN114826915A/zh
Application granted granted Critical
Publication of CN114826915B publication Critical patent/CN114826915B/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/08Configuration management of networks or network elements
    • H04L41/0803Configuration setting
    • H04L41/0823Configuration setting characterised by the purposes of a change of settings, e.g. optimising configuration for enhancing reliability
    • 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/04Network management architectures or arrangements
    • H04L41/044Network management architectures or arrangements comprising hierarchical management structures
    • 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
    • H04L41/50Network service management, e.g. ensuring proper service fulfilment according to agreements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/74Address processing for routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L61/00Network arrangements, protocols or services for addressing or naming
    • H04L61/09Mapping addresses
    • H04L61/25Mapping addresses of the same type
    • H04L61/2503Translation of Internet protocol [IP] addresses
    • H04L61/2592Translation of Internet protocol [IP] addresses using tunnelling or encapsulation

Landscapes

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

Abstract

本发明提供一种虚拟网络接口封装与调用方法、系统、介质及管理平台;所述方法包括以下步骤:获取虚拟网络的底层信息;对所述底层信息进行封装,获取封装好的信息;调用所述虚拟网络的网络信息接口,以获取所述封装好的信息;本发明针对OpenStack网络信息接口调用中存在的问题,对OpenStack拓扑按传统网络逻辑进行了重新定义,对主机、NAT、网元、安全组、QoS、浮动IP获取与管理进行了灵活定义,在应用OpenStack‑Neutron的虚拟网络环境中,提供了一个有效的网络信息提取与管理配置的接口定义方案,有利于提高OpenStack网络的管理与运维效率。

Description

虚拟网络接口封装与调用方法、系统、介质及管理平台
技术领域
本发明涉及网络管理技术领域,特别是涉及一种虚拟网络接口封装与调用方法、系统、介质及管理平台。
背景技术
传统的网络管理主要依赖于网管人员的手工配置、维护各种网络硬件设备;而云环境下的网络复杂多变,尤其是多租户场景,用户随时都可能需要对网络增删改查,云网络的连通和隔离已经很难通过手工配置来保证,如何快速响应业务的需求对网络管理提出了更高的要求,传统的网络管理方式已经很难胜任这项工作,而SDN所具有的灵活性和自动化优势使其成为云时代网络管理的主流。
OpenStack作为最具知名度的开源云计算管理平台项目,目前已逐渐成为市场上主流的云计算平台解决方案,而OpenStack-Neutron组件的设计目标是实现“网络即服务”,在设计上遵循了基于SDN实现网络虚拟化的原则,在实现上充分利用了Linux系统上的各种网络相关的技术。通过使用Neutron SDN,网络管理员可以通过程序来动态定义虚拟网络设备。
尽管OpenStack-Neutron中的网络信息接口非常丰富,但作为开源项目,这些接口绝大多数具有较高的独立性,关联性不是太强,这也导致OpenStack中原生的拓扑结构不够美观,并且拓扑只能显示到网络层,子网在OpenStack的原生拓扑中并无法分辨出来。
另外,OpenStack网络信息接口中并没有读取原生拓扑的接口,自定义拓扑接口时,需要根据网络里的关系对其逻辑进行梳理,同时,OpenStack网络信息接口内容比较繁杂,包含有很多信息,如果想要自定义OpenStack的网络拓扑时,或者在拓扑上添加展示网络设定信息的属性时,比如:主机使用的安全组信息,或者链路的QoS信息,需要对OpenStack的网络接口中一些专项内容进行定制化开发、提取并封装。
发明内容
鉴于以上所述现有技术的缺点,本发明的目的在于提供一种虚拟网络接口封装与调用方法、系统、介质及管理平台,用于解决现有OpenStack虚拟网络存在的接口内容繁杂,自定义网络拓扑困难的问题。
为实现上述目的及其他相关目的,本发明提供一种虚拟网络接口封装与调用方法,应用于管理平台,包括以下步骤:获取虚拟网络的底层信息;对所述底层信息进行封装,获取封装好的信息;调用所述虚拟网络的网络信息接口,以获取所述封装好的信息。
于本发明的一实施例中,获取虚拟网络的底层信息包括以下步骤:通过所述管理平台的控制层调用所述虚拟网络的认证模块接口,获取令牌信息;基于所述令牌信息获取所述底层信息。
于本发明的一实施例中,所述封装好的信息包括:路由器节点、主机节点及交换机节点;对所述底层信息进行封装包括以下步骤:对所述底层信息中的路由器信息进行封装,以将所述路由器信息封装成所述路由器节点;对所述底层信息中的虚拟机信息进行封装,以将所述虚拟机信息封装成所述主机节点;对所述底层信息中的子网信息进行封装,以将所述子网信息封装成所述交换机节点。
于本发明的一实施例中,所述封装好的信息还包括:封装好的安全组信息、封装好的服务质量信息及封装好的浮动IP信息;对所述底层信息进行封装还包括以下步骤:将所述底层信息中的端口信息附加到所述主机节点上;所述端口信息包括:物理地址、IP地址及安全组;将所述底层信息中的网关信息和地址转换信息附加到所述路由器节点上;根据所述安全组的使用情况,将已使用所述安全组的虚拟机组成一使用主机列表,将未使用所述安全组的虚拟机组成一未使用主机列表,以获取所述封装好的安全组信息;为服务质量附加上行控制规则和下行控制规则,以获取所述封装好的服务质量信息;为浮动IP附加使用虚拟机信息,以获取所述封装好的浮动IP信息。
于本发明的一实施例中,调用所述虚拟网络的网络信息接口包括以下步骤:创建和删除主机;其中,在创建所述主机时,先创建主机端口,后基于所述主机端口创建所述主机;在删除所述主机时,先删除所述主机,后删除所述主机端口;开启和关闭所述主机;其中,在开启所述主机,对地址转换功能进行管理时,更新所述底层信息;添加和移除所述主机;在添加和移除所述主机时,均对所述主机端口进行操作;其中,在添加所述主机时,在端口安全组列表中加入安全组标识符,和/或端口服务质量列表中加入服务质量标识符;在移除所述主机时,在所述端口安全组列表中移除所述安全组标识符,和/或在所述端口安全组列表中移除所述服务质量标识符;绑定和解绑所述主机;其中,在绑定所述主机时,对所述主机进行操作,并在主机端口浮动IP中加入浮动IP标识符;在解绑所述主机时,对所述主机端口进行操作,并将所述主机端口浮动IP中的内容清空。
本发明提供一种虚拟网络接口封装与调用系统,应用于管理平台,包括:获取模块、封装模块及调用模块;所述获取模块用于获取虚拟网络的底层信息;所述封装模块用于对所述底层信息进行封装,获取封装好的信息;所述调用模块用于调用所述虚拟网络的网络信息接口,以获取所述封装好的信息。
本发明提供一种存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现上述的虚拟网络接口封装与调用方法。
本发明提供一种管理平台,包括:处理器、存储器、控制层、业务层及管理层;所述存储器用于存储计算机程序;所述处理器用于执行所述存储器存储的计算机程序,以使所述管理平台执行上述的虚拟网络接口封装与调用方法;所述控制层调用所述业务层;所述业务层调用所述管理层;所述管理层用于从虚拟网络中获取和修改数据。
于本发明的一实施例中,还包括:实体层、数据格式转换层及操作层;所述数据格式转换层用于对所述控制层的返回值进行封装;所述操作层用于操作所述实体层。
本发明提供一种虚拟网络接口封装与调用系统,包括:上述的管理平台、虚拟网络及UI模块;所述UI模块与所述管理平台连接;所述虚拟网络与所述管理平台连接。
如上所述,本发明所述的虚拟网络接口封装与调用方法、系统、介质及管理平台,具有以下有益效果:
(1)与现有技术相比,本发明针对OpenStack网络信息接口调用中存在的问题,对OpenStack拓扑按传统网络逻辑进行了重新定义,对主机、NAT、网元、安全组、QoS、浮动IP获取与管理进行了灵活定义,在应用OpenStack-Neutron的虚拟网络环境中,提供了一个有效的网络信息提取与管理配置的接口定义方案,有利于提高OpenStack网络的管理与运维效率。
(2)本发明提供的OpenStack虚拟网络接口封装与调用的方法,用于实现查看、配置、管理该OpenStack虚拟网络,使得对该OpenStack虚拟网络接口的封装和调用更为方便,便于自定义网络拓扑结构。
附图说明
图1显示为本发明的虚拟网络接口封装与调用方法于一实施例中的流程图。
图2显示为本发明的获取虚拟网络的底层信息于一实施例中的流程图。
图3显示为本发明的拓扑获取接口于一实施例中的实现过程示意图。
图4显示为本发明的NAT获取接口于一实施例中的实现过程示意图。
图5显示为本发明的网元列表获取接口于一实施例中的实现过程示意图。
图6显示为本发明的安全组获取接口于一实施例中的实现过程示意图。
图7显示为本发明的QoS获取接口于一实施例中的实现过程示意图。
图8显示为本发明的浮动IP获取接口于一实施例中的实现过程示意图。
图9显示为本发明的接口封装于一实施例中的示意图。
图10显示为本发明的主机管理接口于一实施例中的代码实现原理图。
图11显示为本发明的主机创建接口于一实施例中的实现过程示意图。
图12显示为本发明的主机删除接口于一实施例中的实现过程示意图。
图13显示为本发明的NAT管理接口于一实施例中的代码实现原理图。
图14显示为本发明的NAT管理接口于一实施例中的实现过程示意图。
图15显示为本发明的安全组管理接口于一实施例中的代码实现原理图。
图16显示为本发明的安全组管理接口于一实施例中的实现过程示意图。
图17显示为本发明的QoS管理接口于一实施例中的代码实现原理图。
图18显示为本发明的QoS管理接口于一实施例中的实现过程示意图。
图19显示为本发明的浮动IP管理接口于一实施例中的代码实现原理图。
图20显示为本发明的浮动IP管理接口于一实施例中的实现过程示意图。
图21显示为本发明的虚拟网络接口封装与调用系统于一实施例中的结构示意图。
图22显示为本发明的管理平台于一实施例中的结构示意图。
图23显示为本发明的虚拟网络接口封装与调用系统于另一实施例中的结构示意图。
标号说明
211 获取模块
212 封装模块
213 调用模块
221 处理器
222 存储器
223 控制层
224 业务层
225 管理层
226 实体层
227 数据格式转换层
228 操作层
231 管理平台
232 虚拟网络
233 UI模块
S1~S3 步骤
S11~S12 步骤
具体实施方式
以下通过特定的具体实施例说明本发明的实施方式,本领域技术人员可由本说明书所揭露的内容轻易地了解本发明的其他优点与功效。本发明还可以通过另外不同的具体实施方式加以实施或应用,本说明书中的各项细节也可以基于不同观点与应用,在没有背离本发明的精神下进行各种修饰或改变。需说明的是,在不冲突的情况下,以下实施例及实施例中的特征可以相互组合。
需要说明的是,以下实施例中所提供的图示仅以示意方式说明本发明的基本构想,遂图示中仅显示与本发明中有关的组件而非按照实际实施时的组件数目、形状及尺寸绘制,其实际实施时各组件的型态、数量及比例可为一种随意的改变,且其组件布局型态也可能更为复杂。
本发明的虚拟网络接口封装与调用方法、系统、介质及管理平台,与现有技术相比,本发明针对OpenStack网络信息接口调用中存在的问题,对OpenStack拓扑按传统网络逻辑进行了重新定义,对主机、NAT、网元、安全组、QoS、浮动IP获取与管理进行了灵活定义,在应用OpenStack-Neutron的虚拟网络环境中,提供了一个有效的网络信息提取与管理配置的接口定义方案,有利于提高OpenStack网络的管理与运维效率;本发明提供的OpenStack虚拟网络接口封装与调用的方法,用于实现查看、配置、管理该OpenStack虚拟网络,使得对该OpenStack虚拟网络接口的封装和调用更为方便,便于自定义网络拓扑结构。
于一实施例中,将本发明的虚拟网络接口封装与调用方法应用于一管理平台;具体地,该管理平台分别与UI界面和OpenStack虚拟网络连接,通过该管理平台实现对该OpenStack虚拟网络接口的封装与调用。
需要说明的是,该管理平台采用分层设计,内部包括控制层(controller层)、实体层(entity层)、数据格式转换层(response层)、业务层(sever层)、管理层(manager层)及对实体层的操作层(model层)。
进一步地,该管理平台内部的层依次向下调用;具体地,controller层调用server层,返回值通过response层进行封装,server层调用manager层,manager层负责从OpenStack中获取和修改数据,并封装成model层的类。
如图1所示,于一实施例中,该虚拟网络接口封装与调用方法包括以下步骤:
步骤S1、获取虚拟网络的底层信息。
如图2所示,于一实施例中,获取虚拟网络的底层信息包括以下步骤:
步骤S11、通过所述管理平台的控制层调用所述虚拟网络的认证模块接口,获取令牌信息。
步骤S12、基于所述令牌信息获取所述底层信息。
步骤S2、对所述底层信息进行封装,获取封装好的信息。
需要说明的是,该管理平台对该虚拟网络接口的封装从功能方面主要分为信息获取类接口和管理类接口两大部分,其中,信息获取类接口包括:拓扑获取接口、NAT获取接口、网元列表获取接口、安全组获取接口、QoS获取接口及浮动IP获取接口。
需要说明的是,该拓扑获取接口:对OpenStack里的网络信息进行解析并重新封装,包括node和link两大内容,node节点有三种类型,包括:router、switch、host;node属性包括:node_ip、node_type、id、name、mac、security_group、security_group、nat、port_list;link属性包括:src_ip、src_port、dst_port、dst_ip、qos。
如图3所示,显示为拓扑获取接口于一实施例中的实现过程示意图;具体地,controller层通过调用TokenImpl拿到token信息,通过调用TopoServiceImpl,获得一个实例,调用getTopoResponse方法,设置拓扑信息,通过RouterImpl读取Router、ComputerImpl读取Computer信息、NetworkImpl读取Network信息、SubnetworkImpl读取Subnetwork信息,梳理它们之间的逻辑关系,然后封装成传统网络中的路由、子网、计算节点等信息并返回。
需要说明的是,该NAT获取接口:列出Router是否开启NAT功能,其中关键属性包括:name、ip、mac、nat、network_id、id。
如图4所示,显示为NAT获取接口于一实施例中的实现过程示意图;具体地,controller通过调用TokenImpl获取token信息,通过NatServiceImpl获得一个该实例,通过RouterImpl读取OpenStack底层中Router信息,通过ExternalGatewayInfo读取网关信息,从中提取出NAT相关信息并封装。
需要说明的是,该网元列表获取接口:对子网和子网中的主机进行列举,其中关键属性包括:subnet_name、device_type、device_id、ip、mac。
如图5所示,显示为网元列表获取接口于一实施例中的实现过程示意图;具体地controller通过调用TokenImpl获取token信息,通过ElementServiceImpl获得一个该实例,通过RouterImpl读取Router信息、ComputerImpl读取Computer信息、NetworkImpl读取Network信息、SubnetworkImpl读取Subnetwork信息,把网络中的交换机和主机网元进行列举。
需要说明的是,该安全组获取接口:对安全组内的rule和使用该安全组的主机进行列举,其中关键属性包括:id、rulelist、userlist。
如图6所示,显示为安全组获取接口于一实施例中的实现过程示意图;具体地,controller通过调用TokenImpl获取token信息,通过SecurityGroupSeviceImpl获得一个该实例,通过SecurityGroupImpl读取安全组信息,通过ComputerImpl读取主机信息,并根据情况把主机分为已使用该安全组列表和未使用该安全组列表。
需要说明的是,该QoS获取接口:对使用QoS的主机和内部的规则进行列举,其中关键属性包括:name、type、downrule、uprule。
如图7所示,显示为QoS获取接口于一实施例中的实现过程示意图;具体地,controller通过调用TokenImpl获取token信息,通过QosServiceImpl获取该类实例,通过QosImpl获取QoS相关信息,通过UpRuleEntity对QoS的上行规则进行封装,通过DownRuleEntity对QoS的下行规则进行封装。
需要说明的是,该浮动IP获取接口:浮动IP接口对所有的floating ip进行列举,其中关键属性包括:name、mac、originalIP、floatIP。
如图8所示,显示为浮动IP获取接口于一实施例中的实现过程示意图;具体地,controller通过调用TokenImpl获取token信息,通过FloatingServiceImpl获得一个该实例,通过FloatingEntity对浮动IP进行封装,并列出使用浮动IP的主机信息。
于一实施例中,所述封装好的信息包括但并不限于路由器节点、主机节点及交换机节点。
于一实施例中,对所述底层信息进行封装包括以下步骤:
(21)对所述底层信息中的路由器信息进行封装,以将所述路由器信息封装成所述路由器节点。
(22)对所述底层信息中的虚拟机信息进行封装,以将所述虚拟机信息封装成所述主机节点。
(23)对所述底层信息中的子网信息进行封装,以将所述子网信息封装成所述交换机节点。
于一实施例中,所述封装好的信息还包括:封装好的安全组信息、封装好的服务质量信息(QoS信息)及封装好的浮动IP信息。
于一实施例中,对所述底层信息进行封装还包括以下步骤:
(24)将所述底层信息中的端口信息附加到所述主机节点上。
需要说明的是,所述端口信息包括但并不限于物理地址、IP地址及安全组。
(25)将所述底层信息中的网关信息和地址转换信息附加到所述路由器节点上。
(26)根据所述安全组的使用情况,将已使用所述安全组的虚拟机组成一使用主机列表,将未使用所述安全组的虚拟机组成一未使用主机列表,以获取所述封装好的安全组信息。
(27)为服务质量(QoS)附加上行控制规则和下行控制规则,以获取所述封装好的服务质量信息(QoS信息)。
(28)为浮动IP附加使用虚拟机信息,以获取所述封装好的浮动IP信息。
需要说明的是,上述对接口的封装过程(步骤(21)至步骤(28))实现了对拓扑获取接口、NAT获取接口、网元列表获取接口、安全组获取接口、QoS获取接口及浮动IP获取接口的封装。
步骤S3、调用所述虚拟网络的网络信息接口,以获取所述封装好的信息。
需要说明的是,经上述步骤(21)至步骤(28)对接口完成封装后,通过调用相应的接口,可以获得封装好的信息。
具体地,调用拓扑获取接口可以获得封装好的节点和链路信息,其中节点包括路由器、交换机、主机,节点属性包括IP地址、节点类型、标识符、名字、物理地址、安全组、地址转换等信息;链路信息包括源IP地址、源端口、目的IP地址、目的端口等信息;调用NAT获取接口可以获得封装好的路由器节点及其地址转换功能,其中属性包括标识符、名字、地址转换、网络标识符等信息;调用网元列表获取接口可以获得封装好网元节点列表,其中属性包括子网名字、节点类型、节点标识符、IP地址、Mac地址等信息;调用安全组获取接口可以获得封装好的安全组信息,其中属性包括安全组规则条目、标识符、主机列表等信息;调用QoS获取接口可以获得封装好的QoS信息,其中属性包括名字、类型、上行规则、下行规则、使用该规则的主机列表等信息;调用浮动IP获取接口可以获得封装好的浮动IP信息,其中属性包括名字、物理地址、浮动IP、原始虚拟机IP等信息。
进一步地,以上接口通过Postman对具体信息取接口进行调用示例,Body格式设置为Raw,封装样例如图9获取接口封装样例所示。
需要说明的是,管理类接口包括:主机管理接口、NAT管理接口、安全组管理接口、QoS管理接口及浮动IP管理接口。
需要说明的是,该主机管理接口:对子网中的主机进行管理,包括:创建、删除,其中关键属性包括:id、name、networkId、subnetId、port。
如图10所示,显示为主机管理接口于一实施例中的代码实现原理图,如图11所示,显示为主机创建接口于一实施例中的实现过程示意图;具体地,controller通过调用TokenImpl获取token信息,controller向PortImpl发送创建Port的动作,PortImpl通过调用ComputerPort获得一个Port,然后创建一个Computer;如图12显示为主机删除接口于一实施例中的实现过程示意图;具体地,controller通过调用TokenImpl获取token信息,Controller向ComputerImpl发送删除的动作,然后从Result里获得删除成功时,Controller通过调用PortImpl删除该主机对应的Port信息。
需要说明的是,该NAT管理接口:对NAT进行管理,包括:开启、关闭,其中关键属性包括:id、network_id、snat。
如图13所示,显示为NAT管理接口于一实施例中的代码实现原理图,如图14所示,显示为NAT管理接口于一实施例中的实现过程示意图;具体地,controller通过调用TokenImpl获取token信息,通过NatServiceImpl获得一个该实例,通过调用NatImpl的实现对NAT的开启、关闭的管理,并把执行结果封装成Result对象进行返回。
需要说明的是,该安全组管理接口:对主机所使用的安全组进行管理,包括:添加、删除,其中关键属性包括:id、portId。
如图15所示,显示为安全组管理接口于一实施例中的代码实现原理图,如图16所示,显示为安全组管理接口于一实施例中的实现过程示意图;具体地,controller通过调用TokenImpl获取token信息,通过SecurityGroupServiceImpl获得一个该实例,通过PortImpl获得Port信息,通过SecurityGroupImpl实现往安全组里添加或删除主机,把操作结果封装成Result并返回。
需要说明的是,该QoS管理接口:对主机和交换机所使用的QoS规则进行管理,包括:添加、删除,其中关键属性包括:id、portId。
如图17所示,显示为QoS管理接口于一实施例中的代码实现原理图,如图18所示,显示为QoS管理接口于一实施例中的实现过程示意图;具体地,controller通过调用TokenImpl获取token信息,通过QosServiceImpl获得一个该实例,通过QosImpl绑定或解绑主机Qos规则,把操作结果封装成Result并返回。
需要说明的是,该浮动IP管理接口:对主机所使用的浮动IP进行管理,包括:绑定、解绑,其中关键属性包括:id、portId。
如图19所示,显示为浮动IP管理接口于一实施例中的代码实现原理图,如图20所示,显示为浮动IP管理接口于一实施例中的实现过程示意图;具体地,controller通过调用TokenImpl获取token信息,通过FloatingServiceImpl获得一个该实例,通过FloatingipImpl把Floating绑定到主机或从主机上解除,把操作结果封装成Result并返回。
于一实施例中,调用所述虚拟网络的网络信息接口包括以下步骤:
(31)对应主机管理接口:创建和删除主机;其中,在创建所述主机时,先创建主机端口,后基于所述主机端口创建所述主机;在删除所述主机时,先删除所述主机,后删除所述主机端口。
(32)对应NAT管理接口:开启和关闭所述主机;其中,在开启所述主机,对地址转换功能进行管理时,更新所述底层信息。
(33)对应安全组管理接口和QoS管理接口:添加和移除所述主机;在添加和移除所述主机时,均对所述主机端口进行操作;其中,在添加所述主机时,在端口安全组列表中加入安全组标识符,和/或端口服务质量列表(端口QoS列表)中加入服务质量标识符(QoS标识符);在移除所述主机时,在所述端口安全组列表中移除所述安全组标识符,和/或在所述端口安全组列表中移除所述服务质量标识符。
(34)对应浮动IP管理接口:绑定和解绑所述主机;其中,在绑定所述主机时,对所述主机进行操作,并在主机端口浮动IP中加入浮动IP标识符;在解绑所述主机时,对所述主机端口进行操作,并将所述主机端口浮动IP中的内容清空。
需要说明的是,本发明所述的虚拟网络接口封装与调用方法的保护范围不限于本实施例列举的步骤执行顺序,凡是根据本发明的原理所做的现有技术的步骤增减、步骤替换所实现的方案都包括在本发明的保护范围内。
如图21所示,于一实施例中,本发明的虚拟网络接口封装与调用系统应用于管理平台,包括获取模块211、封装模块212及调用模块213。
所述获取模块211用于获取虚拟网络的底层信息。
所述封装模块212用于对所述底层信息进行封装,获取封装好的信息。
所述调用模块213用于调用所述虚拟网络的网络信息接口,以获取所述封装好的信息。
需要说明的是,所述获取模块211、所述封装模块212及所述调用模块213的结构及原理与上述虚拟网络接口封装与调用方法中的步骤一一对应,故在此不再赘述。
需要说明的是,应理解以上系统的各个模块的划分仅仅是一种逻辑功能的划分,实际实现时可以全部或部分集成到一个物理实体上,也可以物理上分开。且这些模块可以全部以软件通过处理元件调用的形式实现;也可以全部以硬件的形式实现;还可以部分模块通过处理元件调用软件的形式实现,部分模块通过硬件的形式实现。例如,x模块可以为单独设立的处理元件,也可以集成在上述系统的某一个芯片中实现,此外,也可以以程序代码的形式存储于上述系统的存储器中,由上述系统的某一个处理元件调用并执行以上x模块的功能。其它模块的实现与之类似。此外这些模块全部或部分可以集成在一起,也可以独立实现。这里所述的处理元件可以是一种集成电路,具有信号的处理能力。在实现过程中,上述方法的各步骤或以上各个模块可以通过处理器元件中的硬件的集成逻辑电路或者软件形式的指令完成。
例如,以上这些模块可以是被配置成实施以上方法的一个或多个集成电路,例如:一个或多个特定集成电路(Application Specific Integrated Circuit,简称ASIC),或,一个或多个数字信号处理器(Digital Signal Processor,简称DSP),或,一个或者多个现场可编程门阵列(Field Programmable Gate Array,简称FPGA)等。再如,当以上某个模块通过处理元件调度程序代码的形式实现时,该处理元件可以是通用处理器,例如中央处理器(Central Processing Unit,简称CPU)或其它可以调用程序代码的处理器。再如,这些模块可以集成在一起,以片上系统(System-On-a-Chip,简称SOC)的形式实现。
本发明的存储介质上存储有计算机程序,该计算机程序被处理器执行时实现上述的虚拟网络接口封装与调用方法。所述存储介质包括:ROM、RAM、磁碟、U盘、存储卡或者光盘等各种可以存储程序代码的介质。
如图22所示,本发明的管理平台包括处理器221、存储器222、控制层223、业务层224及管理层225。
所述存储器222用于存储计算机程序;优选地,所述存储器222包括:ROM、RAM、磁碟、U盘、存储卡或者光盘等各种可以存储程序代码的介质。
所述处理器221与所述存储器222相连,用于执行所述存储器222存储的计算机程序,以使所述管理平台执行上述的虚拟网络接口封装与调用方法。
优选地,所述处理器221可以是通用处理器,包括中央处理器(CentralProcessing Unit,简称CPU)、网络处理器(Network Processor,简称NP)等;还可以是数字信号处理器(Digital Signal Processor,简称DSP)、专用集成电路(ApplicationSpecific Integrated Circuit,简称ASIC)、现场可编程门阵列(Field ProgrammableGate Array,简称FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。
所述控制层223调用所述业务层224;所述业务层224调用所述管理层225;所述管理层225用于从虚拟网络中获取和修改数据。
如图22所示,于一实施例中,该管理平台还包括实体层226、数据格式转换层227及操作层228。
具体地,所述数据格式转换层227用于对所述控制层223的返回值进行封装;所述操作层228用于操作所述实体层226。
如图23所示,于一实施例中,本发明的虚拟网络接口封装与调用系统包括上述的管理平台231、虚拟网络232及UI模块233。
具体地,所述UI模块233与所述管理平台231连接;所述虚拟网络232与所述管理平台231连接。
需要说明的是,该虚拟网络接口封装与调用系统与上述虚拟网络接口封装与调用方法的工作原理相同,所以,在此也不再详细赘述。
需要说明的是,本发明的虚拟网络接口封装与调用系统可以实现本发明的虚拟网络接口封装与调用方法,但本发明的虚拟网络接口封装与调用方法的实现装置包括但不限于本实施例列举的虚拟网络接口封装与调用系统的结构,凡是根据本发明的原理所做的现有技术的结构变形和替换,都包括在本发明的保护范围内。
综上所述,本发明的虚拟网络接口封装与调用方法、系统、介质及管理平台,与现有技术相比,本发明针对OpenStack网络信息接口调用中存在的问题,对OpenStack拓扑按传统网络逻辑进行了重新定义,对主机、NAT、网元、安全组、QoS、浮动IP获取与管理进行了灵活定义,在应用OpenStack-Neutron的虚拟网络环境中,提供了一个有效的网络信息提取与管理配置的接口定义方案,有利于提高OpenStack网络的管理与运维效率;本发明提供的OpenStack虚拟网络接口封装与调用的方法,用于实现查看、配置、管理该OpenStack虚拟网络,使得对该OpenStack虚拟网络接口的封装和调用更为方便,便于自定义网络拓扑结构。
上述实施例仅例示性说明本发明的原理及其功效,而非用于限制本发明。任何熟悉此技术的人士皆可在不违背本发明的精神及范畴下,对上述实施例进行修饰或改变。因此,举凡所属技术领域中具有通常知识者在未脱离本发明所揭示的精神与技术思想下所完成的一切等效修饰或改变,仍应由本发明的权利要求所涵盖。

Claims (8)

1.一种虚拟网络接口封装与调用方法,应用于管理平台,其特征在于,包括以下步骤:
获取虚拟网络的底层信息;
对所述底层信息进行封装,获取封装好的信息;
调用所述虚拟网络的网络信息接口,以获取所述封装好的信息;
其中,所述封装好的信息包括:路由器节点、主机节点及交换机节点、封装好的安全组信息、封装好的服务质量信息及封装好的浮动IP信息;
所述对所述底层信息进行封装,包括以下步骤:
对所述底层信息中的路由器信息进行封装,以将所述路由器信息封装成所述路由器节点;
对所述底层信息中的虚拟机信息进行封装,以将所述虚拟机信息封装成所述主机节点;
对所述底层信息中的子网信息进行封装,以将所述子网信息封装成所述交换机节点;
将所述底层信息中的端口信息附加到所述主机节点上;所述端口信息包括:物理地址、IP地址及安全组;
将所述底层信息中的网关信息和地址转换信息附加到所述路由器节点上;
根据所述安全组的使用情况,将已使用所述安全组的虚拟机组成一使用主机列表,将未使用所述安全组的虚拟机组成一未使用主机列表,以获取所述封装好的安全组信息;
为服务质量附加上行控制规则和下行控制规则,以获取所述封装好的服务质量信息;
为浮动IP附加使用虚拟机信息,以获取所述封装好的浮动IP信息。
2.根据权利要求1所述的虚拟网络接口封装与调用方法,其特征在于,获取虚拟网络的底层信息包括以下步骤:
通过所述管理平台的控制层调用所述虚拟网络的认证模块接口,获取令牌信息;
基于所述令牌信息获取所述底层信息。
3.根据权利要求1所述的虚拟网络接口封装与调用方法,其特征在于,调用所述虚拟网络的网络信息接口包括以下步骤:
创建和删除主机;其中,在创建所述主机时,先创建主机端口,后基于所述主机端口创建所述主机;在删除所述主机时,先删除所述主机,后删除所述主机端口;
开启和关闭所述主机;其中,在开启所述主机,对地址转换功能进行管理时,更新所述底层信息;
添加和移除所述主机;在添加和移除所述主机时,均对所述主机端口进行操作;其中,在添加所述主机时,在端口安全组列表中加入安全组标识符,和/或端口服务质量列表中加入服务质量标识符;在移除所述主机时,在所述端口安全组列表中移除所述安全组标识符,和/或在所述端口安全组列表中移除所述服务质量标识符;
绑定和解绑所述主机;其中,在绑定所述主机时,对所述主机进行操作,并在主机端口浮动IP中加入浮动IP标识符;在解绑所述主机时,对所述主机端口进行操作,并将所述主机端口浮动IP中的内容清空。
4.一种虚拟网络接口封装与调用系统,应用于管理平台,其特征在于,执行如权利要求1所述的虚拟网络接口封装与调用方法,包括:获取模块、封装模块及调用模块;
所述获取模块用于获取虚拟网络的底层信息;
所述封装模块用于对所述底层信息进行封装,获取封装好的信息;
所述调用模块用于调用所述虚拟网络的网络信息接口,以获取所述封装好的信息。
5.一种存储介质,其上存储有计算机程序,其特征在于,该计算机程序被处理器执行时实现权利要求1至3中任一项所述的虚拟网络接口封装与调用方法。
6.一种管理平台,其特征在于,包括:处理器、存储器、控制层、业务层及管理层;
所述存储器用于存储计算机程序;
所述处理器用于执行所述存储器存储的计算机程序,以使所述管理平台执行权利要求1至3中任一项所述的虚拟网络接口封装与调用方法;
所述控制层调用所述业务层;
所述业务层调用所述管理层;
所述管理层用于从虚拟网络中获取和修改数据。
7.根据权利要求6所述的管理平台,其特征在于,还包括:实体层、数据格式转换层及操作层;
所述数据格式转换层用于对所述控制层的返回值进行封装;
所述操作层用于操作所述实体层。
8.一种虚拟网络接口封装与调用系统,其特征在于,包括:权利要求6至7中任一项所述的管理平台、虚拟网络及UI模块;
所述UI模块与所述管理平台连接;
所述虚拟网络与所述管理平台连接。
CN202110113137.8A 2021-01-27 2021-01-27 虚拟网络接口封装与调用方法、系统、介质及管理平台 Active CN114826915B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110113137.8A CN114826915B (zh) 2021-01-27 2021-01-27 虚拟网络接口封装与调用方法、系统、介质及管理平台

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110113137.8A CN114826915B (zh) 2021-01-27 2021-01-27 虚拟网络接口封装与调用方法、系统、介质及管理平台

Publications (2)

Publication Number Publication Date
CN114826915A CN114826915A (zh) 2022-07-29
CN114826915B true CN114826915B (zh) 2024-04-19

Family

ID=82524227

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110113137.8A Active CN114826915B (zh) 2021-01-27 2021-01-27 虚拟网络接口封装与调用方法、系统、介质及管理平台

Country Status (1)

Country Link
CN (1) CN114826915B (zh)

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2002244182A1 (en) * 2001-02-23 2002-09-12 Skyva International Business modeling framework system and methods
CN104363159A (zh) * 2014-07-02 2015-02-18 北京邮电大学 一种基于软件定义网络的开放虚拟网络构建系统和方法
CN107040416A (zh) * 2017-04-12 2017-08-11 大连理工大学 一种基于Cairngorm框架的虚拟数据中心可视化管理方法
CN107220039A (zh) * 2017-04-11 2017-09-29 国家电网公司 一种基于云环境的异构资源标准化封装系统
CN111355780A (zh) * 2020-02-18 2020-06-30 杭州云象网络技术有限公司 一种基于区块链的物联网监控管理方法及系统

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
AU2002244182A1 (en) * 2001-02-23 2002-09-12 Skyva International Business modeling framework system and methods
CN104363159A (zh) * 2014-07-02 2015-02-18 北京邮电大学 一种基于软件定义网络的开放虚拟网络构建系统和方法
CN107220039A (zh) * 2017-04-11 2017-09-29 国家电网公司 一种基于云环境的异构资源标准化封装系统
CN107040416A (zh) * 2017-04-12 2017-08-11 大连理工大学 一种基于Cairngorm框架的虚拟数据中心可视化管理方法
CN111355780A (zh) * 2020-02-18 2020-06-30 杭州云象网络技术有限公司 一种基于区块链的物联网监控管理方法及系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
华为XEN云平台管控系统中虚拟专有网和运维管理模块的设计与实现;赵滨;《中国优秀硕士学位论文全文数据库》;全文 *

Also Published As

Publication number Publication date
CN114826915A (zh) 2022-07-29

Similar Documents

Publication Publication Date Title
US10944691B1 (en) Container-based network policy configuration in software-defined networking (SDN) environments
US11190424B2 (en) Container-based connectivity check in software-defined networking (SDN) environments
CN106953848B (zh) 一种基于ForCES的软件定义网络实现方法
CA2178580C (en) Object-oriented network protocol configuration system
CN111095209B (zh) 在云中通过覆盖网络和底层网络访问服务端点
CN109791482A (zh) 在微服务环境中缩放服务发现
US20200322232A1 (en) Network service management method, related apparatus, and system
CN115001962A (zh) 多种类型接口的容器网络接口
Ahmed et al. Inkev: In-kernel distributed network virtualization for dcn
RU2734023C1 (ru) Способы для определения дескриптора (nsd) сетевой службы для сетевой службы (ns) и оркестратор (nfvo) виртуализации сетевых функций (nfv), использующий упомянутый дескриптор nsd
CN111221618B (zh) 一种容器化虚拟网络功能的部署方法和装置
CN112671578B (zh) 一种sriov虚拟化网络配置方法及相关装置
CN112398687B (zh) 云计算网络的配置方法、云计算网络系统以及存储介质
WO2015199685A1 (en) Network function virtualization
US20140130046A1 (en) Communication apparatus and configuration method
CN113301116A (zh) 微服务应用跨网络通信方法、装置、系统及设备
Osiński et al. DPPx: A P4-based Data Plane Programmability and Exposure framework to enhance NFV services
Braden et al. The ASP EE: An active network execution environment
CN108092923A (zh) 基于sr-iov的报文处理方法以及装置
CN109947534B (zh) 一种基于sdn的云安全功能调度系统
US11265224B1 (en) Logical network visualization
CN114826915B (zh) 虚拟网络接口封装与调用方法、系统、介质及管理平台
CN116506295A (zh) 一种容器化虚拟网元服务功能链构建方法、装置、设备和介质
CN105871676B (zh) 一种桌面云中远端虚拟机的网络连接方法及系统
CN115695537A (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
GR01 Patent grant
GR01 Patent grant