CN108989068B - 一种编排软件定义网络的方法及sdn控制器 - Google Patents

一种编排软件定义网络的方法及sdn控制器 Download PDF

Info

Publication number
CN108989068B
CN108989068B CN201710400330.3A CN201710400330A CN108989068B CN 108989068 B CN108989068 B CN 108989068B CN 201710400330 A CN201710400330 A CN 201710400330A CN 108989068 B CN108989068 B CN 108989068B
Authority
CN
China
Prior art keywords
forwarding device
logical switch
data surface
port
configuration information
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
CN201710400330.3A
Other languages
English (en)
Other versions
CN108989068A (zh
Inventor
陈志峰
吴学锋
王为升
李成好
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Huawei Technologies Co Ltd
Original Assignee
Huawei Technologies Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Huawei Technologies Co Ltd filed Critical Huawei Technologies Co Ltd
Priority to CN201710400330.3A priority Critical patent/CN108989068B/zh
Priority to EP18809919.6A priority patent/EP3637687B1/en
Priority to PCT/CN2018/074471 priority patent/WO2018218977A1/zh
Publication of CN108989068A publication Critical patent/CN108989068A/zh
Application granted granted Critical
Publication of CN108989068B publication Critical patent/CN108989068B/zh
Priority to US16/698,648 priority patent/US11146451B2/en
Priority to US17/486,117 priority patent/US11641308B2/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/2866Architectures; Arrangements
    • H04L67/30Profiles
    • 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/0876Aspects of the degree of configuration automation
    • H04L41/0886Fully automatic configuration
    • 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/0806Configuration setting for initial configuration or provisioning, e.g. plug-and-play
    • 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/08Configuration management of networks or network elements
    • H04L41/0893Assignment of logical groups to network elements
    • 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/0895Configuration of virtualised networks or elements, e.g. virtualised network function or OpenFlow elements
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L45/00Routing or path finding of packets in data switching networks
    • H04L45/64Routing or path finding of packets in data switching networks using an overlay routing layer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/111Switch interfaces, e.g. port details
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/10Packet switching elements characterised by the switching fabric construction
    • H04L49/113Arrangements for redundant switching, e.g. using parallel planes
    • H04L49/115Transferring a complete packet or cell through each plane
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/252Store and forward routing
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/25Routing or path finding in a switch fabric
    • H04L49/253Routing or path finding in a switch fabric using establishment or release of connections between ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L49/00Packet switching elements
    • H04L49/30Peripheral units, e.g. input or output ports
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/04Protocols specially adapted for terminals or networks with limited capabilities; specially adapted for terminal portability
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/60Scheduling or organising the servicing of application requests, e.g. requests for application data transmissions using the analysis and optimisation of the required network resources
    • H04L67/63Routing a service request depending on the request content or context

Landscapes

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

Abstract

一种编排软件定义网络的方法及SDN控制器,用以提供一种新的编排SDN网络的方法。所述编排SDN的方法包括:获得创建第一逻辑交换机的第一请求;创建第一逻辑交换机的控制面实例,向第一转发设备发送第一配置信息,指示第一转发设备配置第一逻辑交换机的数据面实例;获得将第一逻辑交换机连接至第一逻辑路由器的第二请求;向第一转发设备发送第二配置信息,指示第一转发设备将第一逻辑交换机的数据面实例的第一端口配置为与配置有第一逻辑路由器的数据面实例的第二转发设备上第一逻辑路由器的数据面实例的第二端口导通;向第二转发设备发送第三配置信息,指示第二转发设备将第二端口配置为与第一端口导通。

Description

一种编排软件定义网络的方法及SDN控制器
技术领域
本申请涉及通信技术领域,尤其涉及一种编排软件定义网络的方法及SDN控制器。
背景技术
软件定义网络(Software Defined Network,SDN)是一种新型的网络架构,它能摆脱硬件对网络架构的限制,并像升级或者安装软件一样对网络进行修改,SDN的本质是网络软件化,SDN与原来的网络架构相比能够更好、更简单的实现网络中的各种功能。
OpenStack是一个开源的基础设施即服务(Infrastructure as a Service,IaaS)云计算平台,可以让任何人自行建立和提供云端运算服务。OpenStack社区提供的Neutron模型是现阶段应用最为广泛的SDN网络业务模型,该模型运用虚拟化技术在传统网络中虚拟化出逻辑网络,并将逻辑网络的管理功能推到用户侧,从而实现灵活组网、运维、应用。用户在通过Neutron模型编排SDN网络时,需要进行创建逻辑路由器、逻辑网络、逻辑子网、逻辑端口等,然后将逻辑子网与逻辑路由器关联等操作。
Neutron模型关注SDN网络的业务能力,这要求用户对网络的业务能力有深刻理解才能通过Neutron模型编排SDN网络。
发明内容
本申请提供一种编排软件定义网络的方法及SDN控制器,用以提供一种新的编排SDN网络的方法,以方便用户进行SDN网络的编排。
第一方面,本申请提供了一种编排软件定义网络的方法,包括:SDN控制器获得创建第一逻辑交换机的第一请求,该第一请求可以为平台发送,也可以由用户直接给SDN控制器输入命令生成该第一请求;SDN控制器响应所述第一请求,创建所述第一逻辑交换机的控制面实例,确定将所述第一逻辑交换机的数据面实例部署在第一转发设备上,并向所述第一转发设备发送第一配置信息,所述第一配置信息用于指示所述第一转发设备配置所述第一逻辑交换机的数据面实例;其中,所述第一逻辑交换机的控制面实例用于运行通信协议,生成转发规则表,并将所述转发规则表发送至所述第一逻辑交换机的数据面实例,所述第一逻辑交换机的数据面实例用于根据所述转发规则表进行数据转发;第一转发设备根据第一配置信息配置第一逻辑交换机的数据面实例。然后,SDN控制器获得将所述第一逻辑交换机连接至第一逻辑路由器的第二请求;SDN控制器响应所述第二请求,向所述第一转发设备发送第二配置信息,以及向配置有所述第一逻辑路由器的数据面实例的第二转发设备发送第三配置信息,所述第二配置信息用于指示所述第一转发设备将所述第一逻辑交换机的数据面实例的第一端口配置为与所述第二转发设备上所述第一逻辑路由器的数据面实例的第二端口导通,所述第三配置信息用于指示所述第二转发设备将所述第二端口配置为与所述第一端口导通,所述第一端口与所述第二端口导通,表示所述第一端口与所述第二端口建立了通信连接,上述第一逻辑路由器的数据面实例与第一逻辑交换机的数据面实例之间可以通过第一端口与第二端口之间的通信链路进行数据传输。在一些实施例中,在SDN控制器接收该第二请求之后,第一转发设备尚未创建上述第一端口,SDN控制器先向第一转发设备发送指示第一转发设备创建该第一端口的配置信息,在第一端口创建成功后,SDN控制器再向第一转发设备发送上述第二配置信息。在一些实施例中,在SDN控制器接收该第二请求之后,第二转发设备尚未创建第二端口,则SDN控制器先向第二转发设备发送指示第二转发设备创建该第二端口的配置信息,在第二端口创建成功后,SDN控制器再向第二转发设备发送上述第三配置信息。
通过上述方法,可以创建逻辑交换机、将逻辑交换机连接至逻辑路由器,进而形成SDN网络。由于逻辑路由器、逻辑交换机的功能可以对应物理路由器、物理交换机,方便用户理解SDN网络的架构,便于用户进行SDN网络的编排。不仅如此,根据逻辑路由器、逻辑交换机编排SDN网络,也可以很方便地将现有的网管系统、工具移植到SDN网络中,便于对SDN网元的检测、配置、测试等。
结合第一方面,在第一方面的第一种可能的实现中,编排SDN网络的方法还包括:SDN控制器获得将第一逻辑主机接入所述第一逻辑交换机的第三请求,响应该第三请求,向配置有所述第一逻辑主机的实例的计算设备发送第四配置信息,所述第四配置信息用于指示所述计算设备将所述第一逻辑主机的实例的第三端口配置为与所述第一转发设备上的所述第一逻辑交换机的数据面实例的第四端口导通;并向所述第一转发设备发送第五配置信息,所述第五配置信息用于指示所述第一转发设备将所述第四端口配置为与所述第三端口导通。在一些实施例中,SDN控制器在接收该第三请求后,该计算设备尚未创建该第三端口,SDN控制器先向计算设备发送指示计算设备创建第三端口的配置信息,在第三端口创建成功之后,再向计算设备发送该第四配置信息。在一些实施例中,SDN控制器在接收该第三请求后,第一转发设备尚未创建该第四端口,SDN控制器先向第一转发设备发送指示第一转发设备创建第四端口的配置信息,在第四端口创建成功之后,再向第一转发设备发送该第五配置信息。通过上述技术方案,可以快速将逻辑主机接入SDN网络。
结合第一方面的第一种可能的实现,在第一方面的第二种可能的实现中,SDN控制器获得该第三请求的方式为:SDN控制器接收将第一逻辑主机接入SDN网络的第四请求,根据物理网络的拓扑结构确定将第一逻辑主机的实例接入第一转发设备上的第一逻辑交换机的数据面实例,生成将第一逻辑主机接入第一逻辑交换机的第三请求,进而获得第三请求。本实现中,平台或用户可以不指定将逻辑主机接入哪个逻辑交换机,由SDN控制器确定接入逻辑主机的逻辑交换机,确定方式可以有多种实现方式,例如SDN控制器确定将逻辑主机接入距离逻辑主机的实例所在的计算设备距离较近的转发设备中的逻辑交换机的数据面实例,或者,将逻辑主机接入负载较低的转发设备中的逻辑交换机的数据面实例。上述技术方案中,用户可以不指定接入逻辑主机的逻辑交换机,简化用户编排SDN网络的操作。而且,SDN控制器根据物理网络的拓扑结构所确定的接入逻辑主机的逻辑交换机也能够为逻辑主机提供更好的数据传输服务。
结合第一方面至第一方面的第二种可能的实现中的任一可能的实现,在第一方面的第三种可能的实现中,该第一请求中携带有被指定的转发设备的信息,SDN控制器从第一请求中获取该被指定的转发设备的信息,确定将第一逻辑交换机的数据面实例部署在被指定的转发设备上,该被指定的转发设备可以为一个或多个,在该被指定的转发设备为多个时,第一转发设备为该多个指定的转发设备中的任意一个。
结合第一方面至第一方面的第二种可能的实现中的任一可能的实现,在第一方面的第四种可能的实现中,该第一请求中没有携带被指定转发设备的信息,由SDN控制器分配部署第一逻辑交换机的数据面实例的转发设备。例如,在第一请求由平台向SDN控制器发送时,SDN控制器可以选择距离平台较近的转发设备作为部署第一逻辑交换机的数据面实例的第一转发设备,以使该第一逻辑交换机能够更快速地响应平台的数据传输需求。上述转发设备与平台的距离指的是转发设备与实现平台功能的服务器的物理距离或逻辑距离,所谓两个设备之间的逻辑距离可以通过两个设备之间的通路中的中间网元的数量衡量,在两个设备直接连接时,中间网元为0,逻辑距离最短,在两个设备通过一个中间网元连接时逻辑距离次之,以此类推。又例如,第一请求中可以携带第一逻辑交换机需要关联的逻辑业务的信息,SDN控制器从确定能够提供该逻辑业务的转发设备或者距离提供该逻辑业务的业务服务器距离较近的转发设备,作为部署第一逻辑交换机的数据面实例的第一转发设备,以更好地满足用户对第一逻辑交换机的业务需求。再例如,SDN控制器确定当前负载较小的转发设备作为部署第一逻辑交换机的数据面实例的转发设备。上述技术方案中,用户可以不指定部署逻辑交换机的数据面实例的转发设备简化用户编排SDN网络的操作。而且,SDN控制器根据物理网络的拓扑结构所确定的部署逻辑交换机的数据面实例的转发设备能够更好地实现第一逻辑交换机的数据传输功能。
结合第一方面至第一方面的第四种可能的实现中的任一可能的实现,在第一方面的第五种可能的实现中,SDN控制器还可以确定在第三转发设备上部署第一逻辑交换机的数据面实例,向所述第三转发设备发送第六配置信息,所述第六配置信息用于指示所述第三转发设备配置所述第一逻辑交换机的数据面实例。通过为一个逻辑交换机部署多个数据面实例,提高该逻辑交换机的数据转发能力以及可靠性。
结合第一方面的第五种可能的实现,在第一方面的第六种可能的实现中,所述第一配置信息还用于指示所述第一转发设备将自身配置的所述第一逻辑交换机的第五端口配置为与与所述第三转发设备上的所述第一逻辑交换机的数据面实例的第六端口导通,所述第六配置信息还用于指示所述第三转发设备将所述第六端口配置为与所述第五端口导通。本实现方式中,可以一个逻辑交换机的不同数据面实例连接,进而可以提高数据转发的灵活性和可靠性。
结合第一方面至第一方面的第六种可能的实现中的任一可能的实现,在第一方面的第七种可能的实现中,如果第一逻辑交换机有多个数据面实例,在将第一逻辑交换机连接至第一逻辑路由器时,可以将第一逻辑交换机的一个或多个或所有数据面实例连接至第一逻辑路由器的数据面实例,即将第一逻辑交换机的一个或多个或所有数据面实例的端口与第一逻辑路由器的数据面实例的端口导通。反过来,如果第一逻辑路由器有多个数据面实例,在将第一逻辑交换机连接至第一逻辑路由器时,可以将第一逻辑路由器的一个或多个或所有数据面实例的端口与第一逻辑交换机的数据面实例的端口导通。
结合第一方面至第一方面的第七种可能的实现中的任一可能的实现,在第一方面的第八种可能的实现中,一个转发设备可以配置不同逻辑交换机的数据面实例;和/或,一个转发设备可以配置不同逻辑路由器的数据面实例;和/或,一个转发设备既可以配置逻辑路由器的数据面实例,也可以配置逻辑交换机的数据面实例。
结合第一方面的第八种可能的实现,在第一方面的第九种可能的实现中,如果第一转发设备上既部署有第一逻辑交换机的数据面实例,又部署有第一逻辑路由器的数据面实例,SDN控制器在将第一逻辑交换机连接至第一逻辑路由器时,可以将第一转发设备上第一逻辑交换机的数据面实例的端口与第一转发设备上的第一逻辑路由器的数据面实例的端口导通,由于第一逻辑交换机的数据面实例与第一逻辑路由器的数据面实例均位于第一转发设备,进而能够缩短第一逻辑交换机与第一逻辑路由器之间数据传输的耗时,提高SDN网络的数据传输效率。
结合第一方面至第一方面的第九种可能的实现中的任一可能的实现,在第一方面的第十种可能的实现中,编排SDN网络的方法还包括:SDN控制器获得在所述第一逻辑交换机上关联第一逻辑业务的第六请求;响应所述第六请求,确定所述第一逻辑业务的实例的接入端口;向所述第一转发设备发送第八配置信息,所述第八配置信息用于指示所述第一转发设备将所述第一逻辑交换机的数据面实例的第七端口配置为与所述接入端口导通。上述技术方案中,SDN控制器通过将逻辑转发设备的端口与逻辑业务的端口导通,进而可以实现在逻辑转发设备上关联逻辑业务。
结合第一方面至第一方面的第十种可能的实现中的任一可能的实现,在第一方面的第十一种可能的实现中,平台向SDN控制器发送创建逻辑网络的请求,SDN控制器保存逻辑网络的信息,例如逻辑网络所连接的逻辑路由器的标识、逻辑网络的标识等,然后,向平台返回逻辑网络创建成功的消息。然后,平台向SDN控制器发送创建该逻辑网络的逻辑子网的请求,SDN控制器根据该创建逻辑子网的请求以及保存的该逻辑网络的信息,确定创建第一逻辑交换机,获得该创建第一逻辑交换机的第一请求。上述技术方案,SDN控制器能够支持平台基于自身的业务模型进行SDN网络的编排,提高SDN控制器对现有平台的兼容性。
结合第一方面的第十一种可能的实现,在第一方面的第十二种可能的实现中,如果该创建逻辑网络的请求中携带表明该逻辑网络连接至第一逻辑路由器的消息,则SDN控制器可以在第一逻辑交换机创建成功后执行将第一逻辑交换机连接至第一逻辑路由器的步骤,以提高编排SDN网络的效率。
第二方面,本申请提供一种SDN控制器,该SDN控制器用于执行上述第一方面或第一方面的任意可能的实现中的方法。具体的,该SDN控制器包括用于执行上述第一方面或第一方面的任意可能的实现中的方法的模块。
第三方面,本申请提供一种一种SDN控制器,包括:处理器、存储器以及通信接口;该存储器存储有计算机指令;该通信接口用于与所述SDN控制器之外的设备进行通信;该处理器,与所述存储器以及通信接口连接,用于调用所述存储器中存储的计算机指令,以执行上述第一方面或第一方面的任意可能的实现中的方法。
第四方面,本申请提供一种SDN通信系统,该系统包括:SDN控制器以及平台。平台用于向SDN控制器发送编排SDN网络的请求,SDN控制器用于响应SDN控制器发送的编排SDN网络的请求,以执行上述第一方面或第一方面的任意可能的实现中的方法。进一步地,该系统还可以包括转发设备。转发设备用于根据SDN控制器发送的配置信息进行工作。
第五方面,本申请还提供一种计算机可读存储介质,所述可读存储介质中存储有计算机指令,所述指令在计算机上运行时,使得计算机执行上述第一方面或第一方面的任意可能的实现中的方法。
本申请在上述各方面提供的实现的基础上,还可以进行进一步组合以提供更多实现。
附图说明
图1为本申请实施例中的管理网络的系统的示意图;
图2为本申请实施例中创建第一逻辑交换机的流程图;
图3为本申请实施例中不同类型的转发设备的示意图;
图4为本申请实施例中第一逻辑交换机连接第一逻辑路由器的示意图;
图5为本申请实施例中逻辑主机连接第一逻辑交换机的示意图;
图6为SDN网络中逻辑交换机以及逻辑路由器的数据面实例的端口的示意图;
图7为本申请实施例中编排SDN网络的界面的示意图;
图8为本申请实施例中SDN控制器的示意图;
图9为本申请实施例中SDN控制器的另一示意图。
具体实施方式
为了使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请作进一步地详细描述。
本申请提供一种编排软件定义网络的方法及SDN控制器,用以提供一种新的编排SDN网络的方法,以方便用户进行SDN网络的编排。其中,方法和装置是基于同一发明构思的,由于方法及SDN控制器解决问题的原理相似,因此装置与方法的实施可以相互参见,重复之处不再赘述。
需要理解的是,本申请中所涉及的多个,是指两个或两个以上。另外,在本申请的描述中,“第一”、“第二”等词汇,仅用于区分描述的目的,而不能理解为指示或暗示相对重要性,也不能理解为指示或暗示顺序。
所谓网络业务模型包括逻辑网络之间交互方式、网络策略、业务服务等级、业务调度策略等,它面向用户需求,与实现技术无关,与物理网络无关。例如,网络业务模型定义了用户编排SDN网络的方式。图1为本申请实施例提供的管理网络的系统的示意图,该系统包括:SDN控制器10、转发设备20以及平台30。转发设备20可以是物理交换机、物理路由器等;平台30可以为云平台、网络管理平台、计算平台等。SDN控制器10位于转发设备20与平台30之间,负责逻辑网络到物理网络的映射,使转发设备20组成的物理网络为平台30提供服务。其中,SDN控制器10可以通过一个或多个芯片实现,这些芯片可以位于同一物理设备,也可以位于不同的物理设备。SDN控制器10也可以通过处理器运行计算机程序指令实现,SDN控制器10的不同模块可以由同一物理设备的处理器运行计算机程序实现,也可以分别由不同的物理设备的处理器运行计算机程序实现。平台30可以通过一台服务器或多台服务器的集群实现,具体可以通过服务器中的硬件芯片实现,也可以通过服务器的处理器运行计算机程序实现。
可选的,SDN控制器10包括SDN控制器10核心11、用户界面(User Interface,UI)模块12、平台应用13以及设备驱动14。SDN控制器核心11包括控制器业务层111以及业务模型模块112,控制器业务层111用于根据用户要求编排SDN网络。可选的,控制器业务层111还可以提供拓扑管理、主机管理、设备管理等多种功能。业务模型模块112用于提供网络业务模型,并为每个网络业务模型生成应用程序编程接口(Application ProgrammingInterface,API),供诸如UI模块12、平台应用13等模块调用。UI模块12用于向用户提供编排网络的界面,使得用户能够根据UI模块12提供的可操作对象实现网络编排,该UI模块12地提供的UI可以为图形化界面。平台应用13用于将平台30的配置模型转换为统一的业务模型,将转换后的业务模型发送给业务模型模块112,业务模型模块112可以向外提供该转换后的业务模型。设备驱动14用于将控制器业务层111向物理转发设备下发的配置信息转换为物理转发设备所支持的形式。
本申请实施例中,逻辑路由器与逻辑交换机可以被统称为逻辑转发设备,逻辑转发设备包括控制面实例以及数据面实例,逻辑转发设备的控制面实例部署在SDN控制器10上,用于运行通信协议,生成转发规则表,并将所述转发规则表发送至逻辑转发设备的数据面实例;逻辑转发设备的数据面实例部署在物理转发设备上,用于根据逻辑转发设备的控制面实例下发的转发规则表进行数据转发。其中,逻辑交换机的控制面实例生成的转发规则表为转发表,逻辑路由器的控制面实例生成的转发规则表为路由表。为了便于描述,本申请实施例中也将“物理转发设备”简称为“转发设备”。
下面以创建逻辑交换机为例,介绍创建逻辑转发设备的过程。参照图2,创建逻辑交换机的过程包括:
步骤401、SDN控制器10获得创建第一逻辑交换机的第一请求。该第一请求可以为平台30发送,也可以由用户直接给SDN控制器10输入命令,例如对SDN控制器10进行命令行操作、输入命令,生成该第一请求。
步骤402、SDN控制器10创建第一逻辑交换机的控制面实例。
步骤403、SDN控制器10确定将第一逻辑交换机的数据面实例部署在第一转发设备上,向第一转发设备发送第一配置信息,第一配置信息用于指示第一转发设备配置第一逻辑交换机的数据面实例;其中,第一逻辑交换机的控制面实例用于运行通信协议,生成转发规则表,并将转发规则表发送至第一逻辑交换机的数据面实例,第一逻辑交换机的数据面实例用于根据转发规则表进行数据转发。
本申请实施例中,SDN控制器10确定部署第一逻辑交换机的数据面实例的转发设备,可以包括多种实现方式,包括:
方式1,该第一请求中携带有被指定的转发设备的信息,SDN控制器10从第一请求中获取该被指定的转发设备的信息,确定将第一逻辑交换机的数据面实例部署在被指定的转发设备上,该被指定的转发设备可以为一个或多个,在该被指定的转发设备为多个时,第一转发设备为该多个指定的转发设备中的任意一个。
方式2,该第一请求中没有携带被指定转发设备的信息,由SDN控制器10分配部署第一逻辑交换机的数据面实例的转发设备。
例如,在第一请求由平台30向SDN控制器10发送时,SDN控制器10可以选择距离平台30较近的转发设备作为部署第一逻辑交换机的数据面实例的第一转发设备,以使该第一逻辑交换机能够更快速地响应平台30的数据传输需求。上述转发设备与平台30的距离指的是转发设备与实现平台30功能的服务器的物理距离或逻辑距离,所谓两个设备之间的逻辑距离可以通过两个设备之间的通路中的中间网元的数量衡量,在两个设备直接连接时,中间网元为0,逻辑距离最短,在两个设备通过一个中间网元连接时逻辑距离次之,以此类推。
又例如,第一请求中可以携带第一逻辑交换机需要关联的逻辑业务的信息,SDN控制器10从确定能够提供该逻辑业务的转发设备或者距离提供该逻辑业务的业务服务器距离较近的转发设备,作为部署第一逻辑交换机的数据面实例的第一转发设备,以更好地满足用户对第一逻辑交换机的业务需求。
再例如,参照图3,物理网络中的一部分转发设备可以被配置为只能部署逻辑交换机的数据面实例,如图3中的转发设备2以及转发设备4;另一部分转发设备可以被配置为只能部署逻辑路由器的数据面实例,如图3中的转发设备1;还有一部分设备可以被配置为既可以部署逻辑交换机的数据面实例也可以部署逻辑路由器的数据面实例,如图3中的转发设备3。SDN控制器10接收第一请求后,选择可以部署逻辑交换机的数据面实例的转发设备作为第一转发设备。可选的,一个转发设备可以被配置为既不部署逻辑交换机的数据面实例也不部署逻辑路由器的数据面实例。上述不同类型的转发设备的配置可以由用户配置,也可以由SDN控制器10根据转发设备的属性、业务处理能力或位置等进行配置,例如,在多个转发设备形成树形拓扑结构时,位于树型拓扑结构顶部的转发设备可以被配置为只能部署逻辑路由器的数据面实例,位于树型拓扑结构中部的转发设备可以被配置为既可以部署逻辑交换机的数据面实例也可以部署逻辑路由器的数据面实例,位于树型拓扑结构底部的转发设备可以被配置为只能部署逻辑交换机的数据面实例。通过对转发设备进行上述配置,能够提高部署逻辑转发设备的数据面的灵活性。
需要说明的是,方式2中介绍的上述多种可能实现方式之间可以结合,形成更多的实现方式。
通过上述步骤401~403,可以在SDN网络中创建逻辑交换机。一个逻辑交换机可以包括一个控制面实例以及一个或多个数据面实例,在逻辑交换机包括多个数据面实例时,根据上述步骤403部署逻辑交换机的每个数据面实例。由于逻辑路由器的创建过程与逻辑交换机的创建过程一致,在此不再重复。
参照图4,下面介绍逻辑交换机接入逻辑路由器的过程,包括:
步骤404、SDN控制器10获得将第一逻辑交换机连接至第一逻辑路由器的第二请求。
步骤405、SDN控制器10向第一转发设备发送第二配置信息,第二配置信息用于指示第一转发设备将第一逻辑交换机的数据面实例的第一端口配置为与配置有第一逻辑路由器的数据面实例的第二转发设备上第一逻辑路由器的数据面实例的第二端口导通。本申请实施例中,两个端口导通指的是两个端口之间建立通信链路,例如,所述第一端口与所述第二端口导通,表示所述第一端口与所述第二端口建立了通信连接,上述第一逻辑路由器的数据面实例与第一逻辑交换机的数据面实例之间可以通过第一端口与第二端口之间的通信链路进行数据传输。在一些实施例中,第一转发设备尚未创建上述第一端口,SDN控制器10先向第一转发设备发送指示第一转发设备创建该第一端口的配置信息,在第一端口创建成功后,SDN控制器10再向第一转发设备发送上述第二配置信息。
步骤406、SDN控制器10向第二转发设备发送第三配置信息,第二配置信息用于指示第一转发设备将第一逻辑交换机的数据面实例的第一端口配置为与第二转发设备上第一逻辑路由器的数据面实例的第二端口导通,第三配置信息用于指示第二转发设备将第二端口配置为与第一端口导通。在一些实施例中,第二转发设备尚未创建第二端口,则SDN控制器10先向第二转发设备发送指示第二转发设备创建该第二端口的配置信息,在第二端口创建成功后,SDN控制器10再向第二转发设备发送上述第三配置信息。
重复上述步骤401至步骤406即可实现在SDN网络中创建逻辑交换机、逻辑路由器,并将逻辑交换机连接至逻辑路由器形成SDN网络。由于逻辑路由器、逻辑交换机的功能可以对应物理路由器、物理交换机,方便用户理解SDN网络的架构,便于用户进行SDN网络的编排。不仅如此,根据逻辑路由器、逻辑交换机编排SDN网络,也可以很方便地将现有的网管系统、工具移植到SDN网络中,便于对SDN网元的检测、配置、测试等。
参照图5,下面介绍将逻辑主机接入SDN网络的过程,包括:
步骤407、SDN控制器10获得将第一逻辑主机接入第一逻辑交换机的第三请求。逻辑主机可以是一个虚拟机、一个物理设备或一个物理设备的部分功能实体、多个虚拟机形成的虚拟机集群、多个物理设备形成的设备集群,或多个物理设备形成的设备集群的部分功能实体。例如,逻辑主机可以为动态主机配置协议服务器(Dynamic Host ConfigurationProtocol Server,DHCP Server)、增值服务(value added service,VAS)实体。
SDN控制器10获得该第三请求的一种实现方式为从平台30接收该第三请求,或者由用户直接给SDN控制器10输入命令,输入该第三请求。SDN控制器10获得该第三请求的另一种实现方式为:SDN控制器10接收将第一逻辑主机接入SDN网络的第四请求,根据物理网络的拓扑结构确定将第一逻辑主机的实例接入第一转发设备上的第一逻辑交换机的数据面实例,生成将第一逻辑主机接入第一逻辑交换机的第三请求,进而获得第三请求。即:平台30或用户并未指定将逻辑主机接入哪个逻辑交换机,由SDN控制器10确定接入逻辑主机的逻辑交换机,确定方式可以参照步骤403的方式2中介绍的多种方式,例如SDN控制器10确定将逻辑主机接入距离逻辑主机的实例所在的计算设备距离较近的转发设备中的逻辑交换机的数据面实例,或者,将逻辑主机接入负载较低的转发设备中的逻辑交换机的数据面实例。
步骤408、SDN控制器10向配置有第一逻辑主机的实例的计算设备发送第四配置信息,第四配置信息用于指示计算设备将第一逻辑主机的实例的第三端口配置为与第一转发设备上的第一逻辑交换机的数据面实例的第四端口导通。在该计算设备尚未创建该第三端口时,SDN控制器10先向计算设备发送指示计算设备创建第三端口的配置信息,在第三端口创建成功之后,再向计算设备发送该第四配置信息。
步骤409、SDN控制器10向第一转发设备发送第五配置信息,第五配置信息用于指示第一转发设备将第四端口配置为与第三端口导通。在第一转发设备尚未创建该第四端口时,SDN控制器10先向第一转发设备发送指示第一转发设备创建第四端口的配置信息,在第四端口创建成功之后,再向第一转发设备发送该第五配置信息。
通过上述步骤406至步骤408的技术方案,可以快速将逻辑主机接入SDN网络。
可选地,在第一逻辑交换机包括多个数据面实例时,第一逻辑交换机的任意两个数据面实例可以连接,即,两个数据面实例的端口导通。第一逻辑交换机的所有数据面实例可以连接为星型拓扑结构,即一个数据面实例作为中心,其余数据面实例均连接至该中心数据面实例;第一逻辑交换机的所有数据面实例可以连接为网状拓扑结构,即,第一逻辑交换机的所有数据面实例两两连接。第一逻辑交换机的所有数据面实例还可以连接为树形拓扑结构、串行拓扑结构等。同理,一个逻辑路由器的两个数据面实例之间也可以进行上述连接。在一个逻辑交换机或逻辑路由器的不同数据面实例连接时,可以提高数据转发的灵活性和可靠性。
可选地,如果第一逻辑交换机有多个数据面实例,在将第一逻辑交换机连接至第一逻辑路由器时,可以将第一逻辑交换机的一个或多个或所有数据面实例连接至第一逻辑路由器的数据面实例,即将第一逻辑交换机的一个或多个或所有数据面实例的端口与第一逻辑路由器的数据面实例的端口导通。反过来,如果第一逻辑路由器有多个数据面实例,在将第一逻辑交换机连接至第一逻辑路由器时,可以将第一逻辑路由器的一个或多个或所有数据面实例的端口与第一逻辑交换机的数据面实例的端口导通。如果第一逻辑交换机以及第一逻辑路由器均包括多个数据面实例,可以将第一逻辑交换机的一个数据面实例可以连接第一路由器的一个数据面实例,在第一逻辑交换机有多个数据面实例连接第一路由器的数据面实例时,第一逻辑交换机的不同数据面实例连接的第一路由器的数据面不同。上述第一逻辑交换机与第一逻辑路由器之间的多种连接方式,可以由平台30或用户根据自身需求指定,也可以由SDN控制器10根据物理网络的拓扑结构或结合该拓扑结构与用户需求来确定,进而编排出效率高且满足用户需求的SDN网络。
可选的,如果第一转发设备上既部署有第一逻辑交换机的数据面实例,又部署有第一逻辑路由器的数据面实例,SDN控制器10在将第一逻辑交换机连接至第一逻辑路由器时,可以将第一转发设备上第一逻辑交换机的数据面实例的端口与第一转发设备上的第一逻辑路由器的数据面实例的端口导通,由于第一逻辑交换机的数据面实例与第一逻辑路由器的数据面实例均位于第一转发设备,进而能够缩短第一逻辑交换机与第一逻辑路由器之间数据传输的耗时,提高SDN网络的数据传输效率。
下面结合图6介绍逻辑交换机以及逻辑路由器的数据面实例的各种端口。图中A类节点501指被配置为可部署逻辑交换机的数据面实例的转发设备,B类节点502指被配置为可部署逻辑路由器的数据面实例的转发设备。L2实例503指的是逻辑交换机的数据面实例;L3实例504指的是逻辑路由器的数据面实例;a类端口505指用于同一逻辑交换机的不同数据面实例相连的端口,前述第五端口以及第六端口属于a类端口505;b类端口506指逻辑交换机的数据面实例的用于与逻辑路由器的数据面实例相连的端口,前述第一端口属于b类端口506;c类端口507指逻辑交换机的数据面实例的用于与逻辑主机的实例相连的端口,前述第四端口属于c类端口507;d类端口508指用于同一逻辑路由器的不同数据面实例相连的端口;e类端口509指逻辑路由器的数据面实例的与逻辑交换机的数据面实例相连的端口,前述第二端口属于e类端口509;f类端口510指逻辑路由器的数据面实例的用于与其他逻辑路由器的数据面实例相连的端口;L2链接实例511指同一逻辑交换机的不同数据面实例之间的链路;L2外部链接实例512指逻辑交换机的数据面数据面实例与逻辑主机之间链路;L3链接实例513指同一逻辑路由器的不同数据面实例504之间的链路;L3外部链接实例514指逻辑路由器的数据面实例与其他逻辑路由器的数据面实例之间的链路,用于实现网络层的多个逻辑路由器之间的导通;L2L3连接实例515指的是逻辑交换机的数据面实例与逻辑路由器的数据面实例之间的链路,用于实现数据链路层与网络层之间导通。
可选的,逻辑交换机、逻辑路由器还可以关联逻辑业务,例如镜像、引流、服务质量(Quality of Service,QoS)、安全组、DHCP中继等业务。逻辑交换机关联第一逻辑业务的过程如下:SDN控制器10获得在第一逻辑交换机上关联第一逻辑业务的第六请求;响应第六请求,确定第一逻辑业务的实例的接入端口;向第一转发设备发送第八配置信息,第八配置信息用于指示第一转发设备将第一逻辑交换机的数据面实例的第七端口配置为与接入端口导通。
上述关联第一逻辑业务的请求,该请求可以由平台30发送,也可以由用户直接在SDN控制器10上进行输入操作产生。SDN控制器10在接收第六请求之后,查找提供该第一逻辑业务的业务服务器,查询结果包括以下几种情况:
其一,SDN控制器10查询到提供该第一逻辑业务的业务服务器为部署第一逻辑交换机的数据面实例的转发设备自身,则SDN控制器10指示转发设备将该第一逻辑交换机的控制面实例的端口与该第一逻辑业务的端口导通。
其二,SDN控制器10查询到只有一个业务服务器提供第一逻辑业务,该业务服务器不是部署第一逻辑交换机的数据面实例的转发设备,则SDN控制器10指示部署第一逻辑交换机的数据面实例的转发设备,将该第一逻辑交换机的数据面实例的端口与该业务服务器上的第一逻辑业务的端口导通;在一些可选的实施方式中,SDN控制器10还要指示该业务服务器将第一逻辑业务的端口与第一转发设备上的该第一逻辑交换机的数据面实例的端口导通。
其三,SDN控制器10查询到多个业务服务器均可以提供第一逻辑业务,该多个业务服务器不包括部署第一逻辑交换机的数据面实例的转发设备,则SDN控制器10从该多个业务服务器中选择一个业务服务器作为第一逻辑交换机提供第一逻辑业务,该业务服务器可以为该多个业务服务器中任意一个业务服务器,也可以是多个业务服务器中与部署第一逻辑交换机的数据面实例的转发设备之间距离最短的业务服务器,还可以为多个业务服务器中负载最小的业务服务器。然后,SDN控制器10指示部署第一逻辑交换机的数据面实例的转发设备,将该第一逻辑交换机的控制面实例的端口与选择的业务服务器上的第一逻辑业务的端口导通。
需要说明的是,为了实现在逻辑转发设备上关联逻辑业务,除了将第一逻辑交换机的控制面实例的端口与逻辑业务的端口导通之外,还可能要进行其他必要的配置,如授予逻辑转发设备使用该逻辑业务的权限等。上述第七端口可以属于前述c类端口507,也可以为逻辑交换机的a、b、c类端口之外的关联逻辑业务的端口。逻辑路由器关联逻辑业务的过程与逻辑交换机关联逻辑业务的过程一致,在此不再重复。
上述技术方案中,SDN控制器10通过将逻辑转发设备的端口与逻辑业务的端口导通,进而可以实现在逻辑转发设备上关联逻辑业务。
可选的,SDN控制器10通过控制器业务层111生成下发给转发设备的配置信息,将该配置信息发送给设备驱动14,由设备驱动14将控制器业务层111发送的该配置信息转化为转发设备的协议所规定的形式,例如,部署逻辑交换机的数据面实例的转发设备为硬件设备,则将控制器业务层111生成的配置信息转化为虚拟路由转发表(Virtual RoutingForwarding,VRF);在部署逻辑路由器的数据面实例的转发设备为软件模块时,则将控制器业务层111生成的配置信息转化为网络层流表。然后,再通过设备驱动14与转发设备之间的管理通道将转化后的配置信息发送给转发设备,该管理通道可以为基于网络配置协议(Network Configuration Protocol,NetConf)、开放流(OpenFlow)协议、路由系统接口(Interface to Routing System,I2RS)协议等协议的通道。在一些可选的实施方式中,控制器业务层111在生成下发给转发设备的配置信息后,查找支持该转发设备的设备驱动14,将配置信息发送给查找到的设备驱动14。需要说明的是,上述控制器业务层111生成下发给转发设备的配置信息,可以是指示转发设备建立逻辑路由器、建立逻辑交换机、建立端口或配置端口与另一端口导通等情形的配置信息。
可选的,SDN控制器10通过UI模块12可以向用户呈现编排网络的界面,图7为该界面的示意图,该界面包括可操作对象,可操作对象包括逻辑交换机对象、逻辑路由器对象、逻辑主机对象、端口对象以及逻辑链接对象,其中,逻辑交换机对象用于创建逻辑交换机,逻辑路由器对象用于创建逻辑路由器,逻辑主机对象用于在SDN网络中接入逻辑主机,端口对象用于为逻辑交换机、逻辑路由器或逻辑主机创建端口,逻辑链接对象用于在两个端口之间创建逻辑链路。需要说明的是,图8所示的界面除了包括可操作对象之外,还可以显示菜单、辅助信息等。
上述向用户呈现编排网络的界面可以呈现给一个或多个平台30,使用平台30的用户能够通过该界面编排SDN网络,例如,用户通过平台30显示的界面选中逻辑交换机对象创建逻辑交换机、选中逻辑路由器对象创建逻辑路由器,选中端口对象为逻辑路由器以及逻辑交换机创建端口,选中逻辑链接对象在逻辑路由器以及逻辑交换机创建端口之间创建逻辑链接。上述向用户呈现编排网络的界面也可以通过SDN控制器10所在的物理设备的显示器呈现给用户,用户可以直接在该物理设备上选中该界面中的可操作对象,实现编排SDN网络。
上述技术方案中,SDN控制器10可以向用户提供编排SDN网络的界面,该界面中的对象功能与编排物理网络的各步骤的功能相一致,便于用户通过该界面编排SDN网络。
可选的,SDN控制器核心11在接收平台30或用户通过UI模块12发送的编排SDN网络的请求(如创建逻辑交换机的请求、创建逻辑路由器的请求、连接逻辑交换机与逻辑路由器的请求、连接逻辑主机与逻辑交换机的请求等)之后,可以先不向转发设备下发配置信息,而是先向平台或UI模块12返回请求成功消息,等待平台或用户的编排SDN网络的所有操作结束后,再统一向转发设备下发配置信息,完成平台或用户所请求的编排SDN网络的操作。上述实现方式能够减少用户等待SDN控制器核心11返回响应消息的时间,而且统一向转发设备下发多个操作(如创建逻辑路由器、创建逻辑交换机、连接逻辑路由器以及逻辑交换机)对应的配置信息,能够减少配置信息下发的传输耗时以及返回配置成功消息的耗时,减少编排SDN网络的耗时,提高编排SDN网络的效率。
可选的,本申请实施例中的SDN控制器10可以为多个平台30提供编排SDN网络的服务,该多个平台30的类型可以不同,且多个平台30的业务模型也可以不同,SDN控制器10的平台应用13能够将各平台30的业务模型转换为统一的网络业务模型,例如图5所示的网络业务模型,使得具有不同业务模型的平台30均可以通过SDN控制器1030编排SDN网络。
可选的,平台30除了可以使用控制器10的业务模型模块112提供的统一的网络业务模型来编排SDN网络之外,还可以使用自身的业务模型来编排SDN网络。例如,在用户通过Openstack平台的Neutron模型编排SDN网络时,步骤401的另一种实现方式可以为:平台30向SDN控制器10发送创建逻辑网络的请求,SDN控制器10保存逻辑网络的信息,例如逻辑网络所连接的逻辑路由器的标识、逻辑网络的标识等,然后,向平台30返回逻辑网络创建成功的消息。然后,平台30向SDN控制器10发送创建该逻辑网络的逻辑子网的请求,SDN控制器10根据该创建逻辑子网的请求以及保存的该逻辑网络的信息,确定创建第一逻辑交换机,获得该创建第一逻辑交换机的第一请求。进一步,如果该创建逻辑网络的请求中携带表明该逻辑网络连接至第一逻辑路由器的消息,则步骤403可以在第一逻辑交换机创建成功后由SDN控制器10自行触发,以提高编排SDN网络的效率。
上述技术方案,SDN控制器10能够支持平台30基于自身的业务模型进行SDN网络的编排,提高SDN控制器10对现有平台30的兼容性。
图8为本申请实施例提供的一种SDN控制器的示意图,该SDN控制器包括:
第一获得模块601,用于获得创建第一逻辑交换机的第一请求;
第一响应模块602,用于响应所述第一请求,创建所述第一逻辑交换机的控制面实例,以及,确定将所述第一逻辑交换机的数据面实例部署在第一转发设备上,向所述第一转发设备发送第一配置信息,所述第一配置信息用于指示所述第一转发设备配置所述第一逻辑交换机的数据面实例;其中,所述第一逻辑交换机的控制面实例用于运行通信协议,生成转发规则表,并将所述转发规则表发送至所述第一逻辑交换机的数据面实例,所述第一逻辑交换机的数据面实例用于根据所述转发规则表进行数据转发;
第二获得模块603,用于获得将所述第一逻辑交换机连接至第一逻辑路由器的第二请求;
第二响应模块604,用于响应所述第二请求,向所述第一转发设备发送第二配置信息,以及向配置有所述第一逻辑路由器的数据面实例的第二转发设备发送第三配置信息,所述第二配置信息用于指示所述第一转发设备将所述第一逻辑交换机的数据面实例的第一端口配置为与所述第二转发设备上所述第一逻辑路由器的数据面实例的第二端口导通,所述第三配置信息用于指示所述第二转发设备将所述第二端口配置为与所述第一端口导通。
可选的,SDN控制器还包括:
第三获得模块605,用于在所述第一响应模块向所述第一转发设备发送第一配置信息之后,获得将第一逻辑主机接入所述第一逻辑交换机的第三请求;
第三响应模块606,用于向配置有所述第一逻辑主机的实例的计算设备发送第四配置信息,所述第四配置信息用于指示所述计算设备将所述第一逻辑主机的实例的第三端口配置为与所述第一转发设备上的所述第一逻辑交换机的数据面实例的第四端口导通;以及,向所述第一转发设备发送第五配置信息,所述第五配置信息用于指示所述第一转发设备将所述第四端口配置为与所述第三端口导通。
可选的,所述第三获得模块605,用于:
接收将第一逻辑主机接入SDN网络的第四请求;
根据物理网络的拓扑结构确定将所述第一逻辑主机的实例接入所述第一转发设备上的第一逻辑交换机的数据面实例,所述物理网络包括所述第一转发设备以及所述计算设备;
生成所述将所述第一逻辑主机接入所述第一逻辑交换机的所述第三请求,进而获得所述第三请求。
可选的,所述第一响应模块602,用于:
获取所述第一请求携带的被指定的转发设备的信息,确定将所述第一逻辑交换机的数据面实例部署在所述被指定的转发设备上,所述被指定的转发设备包括所述第一转发设备。
可选的,所述第一响应模块602,用于:
根据物理网络的拓扑结构确定用于部署所述第一逻辑交换机的数据面实例的至少一个转发设备,所述至少一个转发设备包括所述第一转发设备。
可选的,SDN控制器还包括:所述第一响应模块还用于:在创建所述第一逻辑交换机的控制面实例之后,确定将所述第一逻辑交换机的数据面实例部署在第三转发设备上,向所述第三转发设备发送第六配置信息,所述第六配置信息用于指示所述第三转发设备配置所述第一逻辑交换机的数据面实例。
可选的,所述第一配置信息还用于指示所述第一转发设备将自身配置的所述第一逻辑交换机的第五端口配置为与与所述第三转发设备上的所述第一逻辑交换机的数据面实例的第六端口导通,所述第六配置信息还用于指示所述第三转发设备将所述第六端口配置为与所述第五端口导通。
可选的,SDN控制器还包括:
第四获得模块607,用于在所述第一响应模块向所述第一转发设备发送第一配置信息之后,获得在所述第一逻辑交换机上关联第一逻辑业务的第六请求;
第四响应模块608,用于响应所述第六请求,确定所述第一逻辑业务的实例的接入端口;以及,向所述第一转发设备发送第八配置信息,所述第八配置信息用于指示所述第一转发设备将所述第一逻辑交换机的数据面实例的第七端口配置为与所述接入端口导通。
本申请实施例中对模块的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,另外,在本申请各个实施例中的各功能模块可以集成在一个处理器中,也可以是单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。
其中,集成的模块既可以采用硬件的形式实现时,如图9所示,SDN控制器可以包括处理器701、通信接口702和存储器703。处理器701,可以包括中央处理模块(centralprocessing unit,CPU)、网络处理器(network processor,NP)或者CPU与NP的组合。所述处理器701还可以进一步包括硬件芯片。硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmable logic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complex programmable logicdevice,CPLD),现场可编程逻辑门阵列(field-programmable gate array,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
处理器701通过通信接口702接收用户或平台发送的请求,并向转发设备发送配置信息。
存储器703,用于存储上述方法中涉及的各个配置信息,以及物理网络的拓扑结构等。所述存储器703还用于存储处理器701执行的程序。存储器703可以是非易失性存储器,比如硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD)等,还可以是易失性存储器(volatile memory),例如随机存取存储器(random-access memory,RAM)。存储器703是能够用于携带或存储具有指令或数据结构形式的期望的程序代码并能够由计算机存取的任何其他介质,但不限于此。处理器701用于执行存储器703存储的程序代码,具体用于执行图1至图7所示实施例所述的方法。
本申请实施例中不限定上述处理器701、通信接口702以及存储器703之间的具体连接介质。本申请实施例在图7中以存储器703、处理器701以及通信接口702之间通过总线连接,总线在图9中以粗线表示,其它部件之间的连接方式,仅是进行示意性说明,并不引以为限。所述总线可以分为地址总线、数据总线、控制总线等。为便于表示,图9中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。
本申请实施例还提供一种计算机可读存储介质,所述可读存储介质中存储有计算机指令,所述指令在计算机上运行时,使得计算机执行前述编排SDN网络的方法的各种可能的实现方式中的方法。
显然,本领域的技术人员可以对本申请进行各种改动和变型而不脱离本申请的范围。这样,倘若本申请的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。

Claims (16)

1.一种编排软件定义网络SDN的方法,其特征在于,包括:
获得创建第一逻辑交换机的第一请求;
响应所述第一请求,创建所述第一逻辑交换机的控制面实例,确定将所述第一逻辑交换机的数据面实例部署在第一转发设备上,并向所述第一转发设备发送第一配置信息,所述第一配置信息用于指示所述第一转发设备配置所述第一逻辑交换机的数据面实例;其中,所述第一逻辑交换机的控制面实例用于运行通信协议,生成转发规则表,并将所述转发规则表发送至所述第一逻辑交换机的数据面实例,所述第一逻辑交换机的数据面实例用于根据所述转发规则表进行数据转发;
获得将所述第一逻辑交换机连接至第一逻辑路由器的第二请求;
响应所述第二请求,向所述第一转发设备发送第二配置信息,以及向配置有所述第一逻辑路由器的数据面实例的第二转发设备发送第三配置信息,所述第二配置信息用于指示所述第一转发设备将所述第一逻辑交换机的数据面实例的第一端口配置为与所述第二转发设备上所述第一逻辑路由器的数据面实例的第二端口导通,所述第三配置信息用于指示所述第二转发设备将所述第二端口配置为与所述第一端口导通。
2.根据权利要求1所述的方法,其特征在于,在向所述第一转发设备发送第一配置信息之后,还包括:
获得将第一逻辑主机接入所述第一逻辑交换机的第三请求;
向配置有所述第一逻辑主机的实例的计算设备发送第四配置信息,所述第四配置信息用于指示所述计算设备将所述第一逻辑主机的实例的第三端口配置为与所述第一转发设备上的所述第一逻辑交换机的数据面实例的第四端口导通;
向所述第一转发设备发送第五配置信息,所述第五配置信息用于指示所述第一转发设备将所述第四端口配置为与所述第三端口导通。
3.根据权利要求2所述的方法,其特征在于,获得将第一逻辑主机接入所述第一逻辑交换机的第三请求,包括:
接收将第一逻辑主机接入SDN网络的第四请求;
根据物理网络的拓扑结构确定将所述第一逻辑主机的实例接入所述第一转发设备上的第一逻辑交换机的数据面实例,所述物理网络包括所述第一转发设备以及所述计算设备;
生成所述将所述第一逻辑主机接入所述第一逻辑交换机的所述第三请求,进而获得所述第三请求。
4.根据权利要求1至3任一项所述的方法,其特征在于,确定将所述第一逻辑交换机的数据面实例部署在第一转发设备上,包括:
获取所述第一请求携带的被指定的转发设备的信息,确定将所述第一逻辑交换机的数据面实例部署在所述被指定的转发设备上,所述被指定的转发设备包括所述第一转发设备。
5.根据权利要求1至3任一项所述的方法,其特征在于,确定将所述第一逻辑交换机的数据面实例部署在第一转发设备上,包括:
根据物理网络的拓扑结构确定用于部署所述第一逻辑交换机的数据面实例的至少一个转发设备,所述至少一个转发设备包括所述第一转发设备。
6.根据权利要求1至3任一项所述的方法,其特征在于,在创建所述第一逻辑交换机的控制面实例之后,还包括:
确定将所述第一逻辑交换机的数据面实例部署在第三转发设备上,向所述第三转发设备发送第六配置信息,所述第六配置信息用于指示所述第三转发设备配置所述第一逻辑交换机的数据面实例。
7.根据权利要求6所述的方法,其特征在于,所述第一配置信息还用于指示所述第一转发设备将自身配置的所述第一逻辑交换机的数据面实例的第五端口配置为与所述第三转发设备上的所述第一逻辑交换机的数据面实例的第六端口导通,所述第六配置信息还用于指示所述第三转发设备将所述第六端口配置为与所述第五端口导通。
8.根据权利要求1、2、3或7所述的方法,其特征在于,在向所述第一转发设备发送第一配置信息之后,还包括:
获得在所述第一逻辑交换机上关联第一逻辑业务的第六请求;
响应所述第六请求,确定所述第一逻辑业务的实例的接入端口;
向所述第一转发设备发送第八配置信息,所述第八配置信息用于指示所述第一转发设备将所述第一逻辑交换机的数据面实例的第七端口配置为与所述接入端口导通。
9.一种SDN控制器,其特征在于,包括:
第一获得模块,用于获得创建第一逻辑交换机的第一请求;
第一响应模块,用于响应所述第一请求,创建所述第一逻辑交换机的控制面实例,确定将所述第一逻辑交换机的数据面实例部署在第一转发设备上,并向所述第一转发设备发送第一配置信息,所述第一配置信息用于指示所述第一转发设备配置所述第一逻辑交换机的数据面实例;其中,所述第一逻辑交换机的控制面实例用于运行通信协议,生成转发规则表,并将所述转发规则表发送至所述第一逻辑交换机的数据面实例,所述第一逻辑交换机的数据面实例用于根据所述转发规则表进行数据转发;
第二获得模块,用于获得将所述第一逻辑交换机连接至第一逻辑路由器的第二请求;
第二响应模块,用于响应所述第二请求,向所述第一转发设备发送第二配置信息,以及向配置有所述第一逻辑路由器的数据面实例的第二转发设备发送第三配置信息,所述第二配置信息用于指示所述第一转发设备将所述第一逻辑交换机的数据面实例的第一端口配置为与所述第二转发设备上所述第一逻辑路由器的数据面实例的第二端口导通,所述第三配置信息用于指示所述第二转发设备将所述第二端口配置为与所述第一端口导通。
10.根据权利要求9所述的SDN控制器,其特征在于,还包括:
第三获得模块,用于在所述第一响应模块向所述第一转发设备发送第一配置信息之后,获得将第一逻辑主机接入所述第一逻辑交换机的第三请求;
第三响应模块,用于向配置有所述第一逻辑主机的实例的计算设备发送第四配置信息,所述第四配置信息用于指示所述计算设备将所述第一逻辑主机的实例的第三端口配置为与所述第一转发设备上的所述第一逻辑交换机的数据面实例的第四端口导通;以及,向所述第一转发设备发送第五配置信息,所述第五配置信息用于指示所述第一转发设备将所述第四端口配置为与所述第三端口导通。
11.根据权利要求10所述的SDN控制器,其特征在于,所述第三获得模块,用于:
接收将第一逻辑主机接入SDN网络的第四请求;
根据物理网络的拓扑结构确定将所述第一逻辑主机的实例接入所述第一转发设备上的第一逻辑交换机的数据面实例,所述物理网络包括所述第一转发设备以及所述计算设备;
生成所述将所述第一逻辑主机接入所述第一逻辑交换机的所述第三请求,进而获得所述第三请求。
12.根据权利要求9至11任一项所述的SDN控制器,其特征在于,所述第一响应模块,用于:
获取所述第一请求携带的被指定的转发设备的信息,确定将所述第一逻辑交换机的数据面实例部署在所述被指定的转发设备上,所述被指定的转发设备包括所述第一转发设备。
13.根据权利要求9至11任一项所述的SDN控制器,其特征在于,所述第一响应模块,用于:
根据物理网络的拓扑结构确定用于部署所述第一逻辑交换机的数据面实例的至少一个转发设备,所述至少一个转发设备包括所述第一转发设备。
14.根据权利要求9至11任一项所述的SDN控制器,其特征在于,还包括:所述第一响应模块还用于:在创建所述第一逻辑交换机的控制面实例之后,确定将所述第一逻辑交换机的数据面实例部署在第三转发设备上,向所述第三转发设备发送第六配置信息,所述第六配置信息用于指示所述第三转发设备配置所述第一逻辑交换机的数据面实例。
15.根据权利要求14所述的SDN控制器,其特征在于,所述第一配置信息还用于指示所述第一转发设备将自身配置的所述第一逻辑交换机的数据面实例的第五端口配置为与所述第三转发设备上的所述第一逻辑交换机的数据面实例的第六端口导通,所述第六配置信息还用于指示所述第三转发设备将所述第六端口配置为与所述第五端口导通。
16.根据权利要求9、10、11或15所述的SDN控制器,其特征在于,还包括:
第四获得模块,用于在所述第一响应模块向所述第一转发设备发送第一配置信息之后,获得在所述第一逻辑交换机上关联第一逻辑业务的第六请求;
第四响应模块,用于响应所述第六请求,确定所述第一逻辑业务的实例的接入端口;以及,向所述第一转发设备发送第八配置信息,所述第八配置信息用于指示所述第一转发设备将所述第一逻辑交换机的数据面实例的第七端口配置为与所述接入端口导通。
CN201710400330.3A 2017-05-31 2017-05-31 一种编排软件定义网络的方法及sdn控制器 Active CN108989068B (zh)

Priority Applications (5)

Application Number Priority Date Filing Date Title
CN201710400330.3A CN108989068B (zh) 2017-05-31 2017-05-31 一种编排软件定义网络的方法及sdn控制器
EP18809919.6A EP3637687B1 (en) 2017-05-31 2018-01-29 Method for orchestrating software defined network, and sdn controller
PCT/CN2018/074471 WO2018218977A1 (zh) 2017-05-31 2018-01-29 一种编排软件定义网络的方法及sdn控制器
US16/698,648 US11146451B2 (en) 2017-05-31 2019-11-27 Software defined networking orchestration method and sdn controller
US17/486,117 US11641308B2 (en) 2017-05-31 2021-09-27 Software defined networking orchestration method and SDN controller

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201710400330.3A CN108989068B (zh) 2017-05-31 2017-05-31 一种编排软件定义网络的方法及sdn控制器

Publications (2)

Publication Number Publication Date
CN108989068A CN108989068A (zh) 2018-12-11
CN108989068B true CN108989068B (zh) 2019-08-20

Family

ID=64455186

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201710400330.3A Active CN108989068B (zh) 2017-05-31 2017-05-31 一种编排软件定义网络的方法及sdn控制器

Country Status (4)

Country Link
US (2) US11146451B2 (zh)
EP (1) EP3637687B1 (zh)
CN (1) CN108989068B (zh)
WO (1) WO2018218977A1 (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10880210B2 (en) * 2018-12-26 2020-12-29 Juniper Networks, Inc. Cloud network having multiple protocols using virtualization overlays across physical and virtualized workloads
US10892984B1 (en) * 2019-06-27 2021-01-12 Amazon Technologies, Inc. Framework for routing media streams in a provider network
CN111585792B (zh) * 2020-04-17 2023-05-26 湖南三一智能控制设备有限公司 数据端口的配置方法和数据端口的配置装置
CN111769992B (zh) * 2020-07-13 2022-06-21 迈普通信技术股份有限公司 一种网络数据的管理方法、云平台及存储介质
US20230074222A1 (en) * 2021-09-03 2023-03-09 Cisco Technology, Inc. Techniques for allowing software defined (sd) network fabrics to accept network devices from other fabric technologies
CN114024862A (zh) * 2021-09-29 2022-02-08 济南浪潮数据技术有限公司 一种物理交换机可视化配置方法、系统及装置
CN114422280B (zh) * 2021-12-31 2023-11-07 深信服科技股份有限公司 网络部署方法、装置、节点及存储介质
WO2023147181A1 (en) * 2022-01-31 2023-08-03 Booz Allen Hamilton Inc. Edge based routing software instance, device and method
CN116248539B (zh) * 2023-01-04 2023-10-24 国网安徽省电力有限公司信息通信分公司 Sdn逻辑网络状态信息监控系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103428771A (zh) * 2013-09-05 2013-12-04 迈普通信技术股份有限公司 通信方法、软件定义网络sdn交换机及通信系统
CN103997513A (zh) * 2014-04-21 2014-08-20 北京邮电大学 一种可编程虚拟网络服务系统
CN105391568A (zh) * 2014-09-05 2016-03-09 华为技术有限公司 一种软件定义网络sdn的实现方法、装置和系统

Family Cites Families (18)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8199750B1 (en) * 2007-12-18 2012-06-12 World Wide Packets, Inc. Communicating with a control plane using a forwarding information format and control plane processing of packets devoid of a virtual switch identifier
JP6040711B2 (ja) * 2012-10-31 2016-12-07 富士通株式会社 管理サーバ、仮想マシンシステム、プログラム及び接続方法
US8953439B1 (en) * 2012-12-31 2015-02-10 Juniper Networks, Inc. Separation of control plane functions using virtual machines in network device
KR102087226B1 (ko) * 2013-02-14 2020-03-10 삼성전자주식회사 다수의 사업자 지원을 위한 sdn 기반의 네트워크 공유 방법
US9450823B2 (en) * 2013-08-09 2016-09-20 Nec Corporation Hybrid network management
WO2015074258A1 (zh) * 2013-11-22 2015-05-28 华为技术有限公司 一种控制业务数据在虚拟网络中转发的方法、装置及系统
WO2015100656A1 (zh) * 2013-12-31 2015-07-09 华为技术有限公司 一种实现虚拟机通信的方法和装置
EP2911347B1 (en) * 2014-02-24 2019-02-13 Hewlett-Packard Enterprise Development LP Providing policy information
US9503321B2 (en) * 2014-03-21 2016-11-22 Nicira, Inc. Dynamic routing for logical routers
US10747564B2 (en) * 2015-04-02 2020-08-18 Vmware, Inc. Spanned distributed virtual switch
US10104017B2 (en) * 2015-05-12 2018-10-16 Jeda Networks, Inc. Methods, systems and apparatus for the virtualization of high performance networks
US9998324B2 (en) * 2015-09-30 2018-06-12 Nicira, Inc. Logical L3 processing for L2 hardware switches
US9912616B2 (en) * 2015-12-02 2018-03-06 Nicira, Inc. Grouping tunnel endpoints of a bridge cluster
US10469374B2 (en) * 2016-03-30 2019-11-05 Futurewei Technologies, Inc. Multiple provider framework for virtual switch data planes and data plane migration
US10484515B2 (en) * 2016-04-29 2019-11-19 Nicira, Inc. Implementing logical metadata proxy servers in logical networks
US20180109471A1 (en) * 2016-10-13 2018-04-19 Alcatel-Lucent Usa Inc. Generalized packet processing offload in a datacenter
US10523584B2 (en) * 2016-12-23 2019-12-31 Interwise Ltd. Software-defined socket activation
US10757004B2 (en) * 2017-04-12 2020-08-25 Nicira, Inc. Routing domain identifier assignment in logical network environments

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103428771A (zh) * 2013-09-05 2013-12-04 迈普通信技术股份有限公司 通信方法、软件定义网络sdn交换机及通信系统
CN103997513A (zh) * 2014-04-21 2014-08-20 北京邮电大学 一种可编程虚拟网络服务系统
CN105391568A (zh) * 2014-09-05 2016-03-09 华为技术有限公司 一种软件定义网络sdn的实现方法、装置和系统

Also Published As

Publication number Publication date
CN108989068A (zh) 2018-12-11
EP3637687A4 (en) 2020-04-15
WO2018218977A1 (zh) 2018-12-06
US20200099585A1 (en) 2020-03-26
US11641308B2 (en) 2023-05-02
EP3637687A1 (en) 2020-04-15
EP3637687B1 (en) 2023-03-29
US20220086047A1 (en) 2022-03-17
US11146451B2 (en) 2021-10-12

Similar Documents

Publication Publication Date Title
CN108989068B (zh) 一种编排软件定义网络的方法及sdn控制器
JP7074880B2 (ja) ネットワーク・スライスの展開方法および装置
US20210255887A1 (en) Dedicated Distribution of Computing Resources in Virtualized Environments
CN106301829B (zh) 一种网络业务扩容的方法和装置
CN104410672B (zh) 网络功能虚拟化应用升级的方法、转发业务的方法及装置
CN105657081B (zh) 提供dhcp服务的方法、装置及系统
CN107689882A (zh) 一种虚拟化网络中业务部署的方法和装置
CN108462592A (zh) 基于sla的资源分配方法和nfvo
CN103607432B (zh) 一种网络创建的方法和系统及网络控制中心
CN111416723B (zh) 一种设备管理方法及相关设备
KR20150116870A (ko) 네트워크 자원 모니터링
CN108712286A (zh) 网络拓扑结构的确定方法、装置和存储介质
CN105262837A (zh) 一种基于云计算的三网融合应用终端接入装置及实现方法
CN110519090B (zh) 一种fpga云平台的加速卡分配方法、系统及相关组件
CN106155264B (zh) 管理存储子系统的电力消耗的计算机方法与计算机系统
CN104184663A (zh) 基于软件定义网络和一体化标识网络的通信方法和装置
KR20180103975A (ko) 자원 객체를 관리하는 방법 및 시스템
CN105391635A (zh) 一种基于sdn的网络虚拟化方法
CN110311798A (zh) 一种管理虚拟资源的方法及装置
CN109818867A (zh) 一种配置方法及装置
US20130227171A1 (en) Apparatus and method for interconnecting heterogeneous networks
CN106161603B (zh) 一种组网的方法、设备及架构
CN106411575B (zh) 云环境下网络配置校验方法及相关设备
CN107995032A (zh) 一种基于云数据中心搭建网络实验平台的方法及装置
CN114500284A (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