CN105793823B - 在软件定义网络中链接应用的方法和控制器 - Google Patents

在软件定义网络中链接应用的方法和控制器 Download PDF

Info

Publication number
CN105793823B
CN105793823B CN201480066756.4A CN201480066756A CN105793823B CN 105793823 B CN105793823 B CN 105793823B CN 201480066756 A CN201480066756 A CN 201480066756A CN 105793823 B CN105793823 B CN 105793823B
Authority
CN
China
Prior art keywords
application
sdn controller
business
stream
business chain
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
CN201480066756.4A
Other languages
English (en)
Other versions
CN105793823A (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
Publication of CN105793823A publication Critical patent/CN105793823A/zh
Application granted granted Critical
Publication of CN105793823B publication Critical patent/CN105793823B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F9/00Arrangements for program control, e.g. control units
    • G06F9/06Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
    • G06F9/46Multiprogramming arrangements
    • G06F9/54Interprogram communication
    • 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/10Protocols in which an application is distributed across nodes in the network
    • 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/56Provisioning of proxy services
    • H04L67/567Integrating service provisioning from a plurality of service providers

Abstract

本发明涉及一种方法和一种软件定义网络(software defined network,SDN)控制器1,用于在SDN中链接应用4。业务数据表2在所述SDN控制器1中创建。在所述业务数据表2中,多个应用4与多个应用类型5相关联。此外,至少一个业务链在所述SDN控制器1中创建。所述至少一个业务链3定义了在所述SDN控制器1上运行的应用类型5的顺序。基于在所述业务数据表2中与所述应用4相关联的应用类型5,将至少一个应用注册到所述业务链3。

Description

在软件定义网络中链接应用的方法和控制器
技术领域
本发明涉及一种在软件定义网络(software defined network,SDN)中链接应用的方法,还涉及一种对应的SDN控制器和一种***。具体而言,本发明将业务感知、业务链接基础设施和业务信息共享基础设施提供给SDN控制器。
背景技术
在现代面向业务的网络中,尤其是在云和SDN环境中,需要提供由被链接业务单元,例如,被链接SDN应用,组成的复杂业务产品。SDN应用可为例如防火墙(firewalls,FW)、广域网(wide area network,WAN)优化控制器(WAN optimization controllers,WOC)、深度报文检测(deep packet inspection,DPI)、网络地址转换(network addresstranslation,NAT)、应用交付控制器(application delivery controllers,ADC)等应用。例如,网络流量首先会通过状态防火墙,以便确保安全性,再通过ADC,以便跨多个服务器分配负载。在物理网络世界中,通常手动配置这类业务链。
在SDN方法中,这类业务链全部在软件中配置和执行,该软件可适应SDN应用等业务。最新技术为此提供了云虚拟化中的虚拟应用与SDN中的SDN应用的所谓纯链接。纯链接是指多个应用链接在一起而无需SDN控制器了解SDN应用和/或其链接的SDN应用的类型。纯链接现今被许多公司推行,尽管其存在若干缺点和问题。
例如,在纯业务链中链接的多个应用的顺序可能对业务链的总体行为有影响。换言之,不同应用在业务链中链接在一起的顺序可能严重影响业务链的结果。此外,纯业务链中的不同应用可能互相干扰,因此降低性能或甚至禁止某些进程。例如,加密(encryption,crypto)禁止了DPI。或者,防火墙之前的NAT阻止了状态检测。纯业务链接的另一问题在于,许多应用复制并重复特定的核心功能。例如,DPI被许多应用重复。宝贵的计算资源因重复而浪费。
发明内容
鉴于上述优点和问题,本发明旨在改进最新技术。具体而言,本发明的目的是将业务感知和业务链接基础设施引入SDN控制器中。换言之,本发明的目的在于SDN控制器能够了解其链接的应用和应用类型。因此,本发明的具体目标是,业务链中的不同应用互不干扰。本发明还意图减少必要的计算资源,具体是通过采用业务链中不同应用的协同效应。本发明还希望使第三方应用开发人员更容易创建新的且唯一的应用而无需考虑与其它现有应用的交互。一般而言,本发明的总体目标是提供一种有效率的且优化的应用链接(业务链接),同时利用SDN的能力将网络业务作为应用在SDN控制器上运行。
本发明的上述目的通过所附独立权利要求中提供的方案实现。本发明的有利实施方式在各个从属权利要求中进一步定义。具体而言,根据所要求保护的方法和所要求保护的SDN控制器,将业务链中应用的感知提供给SDN控制器,因此能够使业务链更有效率。
本发明的第一方面提供一种在软件定义网络(software defined network,SDN)中链接应用的方法,所述方法包括:在SDN控制器中创建业务数据表,其中,在所述业务数据表中,多个应用与多个应用类型相关联;在SDN控制器中创建定义应用类型的顺序的至少一个业务链;以及基于在所述业务数据表中与至少一个应用相关联的所述应用类型,将所述至少一个应用注册到所述至少一个业务链。
业务链是一个路由环境,其定义一种将包括至少一个数据包的流以预定义顺序在应用之间路由的方案。所述路由方案将使所述至少一个数据包进入和来自通过所述业务链进行链接的应用。所述路由方案存储在所述SDN控制器的数据库中。如果在所述SDN控制器中创建不止一个业务链,则将这些业务链称为不同的业务链实例,均存储在所述数据库中,并且可在所述SDN控制器中管理。每个业务链实例可为具有不同应用集和/或不同预定义路由顺序的路由方案的实例化。这意味着,对于每个业务链实例,所述数据库可包括关于待链接的应用和/或应用类型以及所述应用和/或应用类型待链接的顺序的信息。
任一业务链实例是一个转发指令集,所述SDN控制器将所述转发指令集编程到相关转发实体。例如,如果多个应用在所述SDN控制器上运行,则业务链实例可为进程间通信(inter process communication,IPC)用于在多个应用之间传送各个包的方式。业务链中的应用自己只了解它们在路由方案中的位置,但未必了解至少一个数据包在业务链中的实际路由和/或其它应用在业务链中的实际位置。
一般而言,本发明的上述方法将业务感知实施到所述SDN控制器中。这意味着,通过执行本发明的方法,SDN控制器开始了解其链接的应用。本发明的方法实现了一种更有效率且优化的业务链接,即应用的链接,同时充分利用了SDN将网络业务作为应用在SDN控制器上运行的能力。
具体而言,当SDN控制器将包括至少一个数据包的流路由通过包含在业务链中的一个或多个应用时,根据存储在SDN控制器中的应用的顺序,参照所述业务链(或业务链实例)执行所述路由。应用的顺序,即,尤其是应用类型的顺序,确保不同类型的应用互不干扰。此外,根据业务链的应用的顺序还确保不同类型的应用能够相互协同。例如,可以在业务链的开始处提供DPI类型的应用,使得业务链中的后续应用可使用通过DPI应用获得的信息。对于crypto类型的应用,也是如此执行。因此,能够更精干和简单地编程各个应用,因为它们能够利用使DPI或crypto等在业务链中的单独地方进行的协同。这使应用开发人员更容易开发SDN环境下的新应用或新业务。
在本发明的方法中,所述至少一个业务链是在各种类型的应用之间协调的主要机制。通过将每个业务应用与预定义应用类型相关联,以及通过将业务数据表用于存储应用与应用类型的所述关联,实现了一种类型的应用与其它类型的其它应用的简单集成。具体而言,消除了不同应用类型之间的无用干扰。因此,例如,实现了来自不同供应商的最佳组合SDN应用的混合和匹配。此外,新应用的开发人员不再需要考虑与其它应用的集成,因为在本发明的方法中,所有的集成都由SDN控制器进行。
所述至少一个业务链优选地支持业务链的有序操作(即,一个应用接着另一应用对流进行操作),或者业务链的并发操作(即,多个应用并行对流进行操作)。
根据所述第一方面,在所述方法的第一实施形式中,所述方法还包括通过至少一个应用编程接口(application programming interface,API)使所述至少一个业务链和所述业务数据表暴露给应用。
所述至少一个API以简单的方式并且根据至少一个应用的应用类型使所述至少一个应用注册到所述至少一个业务链。所述API提供标准化接口给新应用的开发人员。此外,使所述至少一个应用通过所述至少一个API访问内部数据流和所述业务数据表。例如,可使应用通过API选择性地访问所述业务数据表内的字段的特定条目。通过在SDN控制器处使用公共API和数据结构,第三方应用开发人员可创建他们自己唯一的应用,无需考虑与其它应用的交互。通过至少一个API,不同应用还能够了解彼此,因此能够避免相互之间的干扰,甚至能够使用协同。
根据如上所述第一方面或根据所述第一方面的所述第一实施形式,在所述方法的第二实施形式中,所述方法包括在所述至少一个业务链中为应用创建多个业务***点,其中,每个业务***点(只)接受关联到所述业务***点的一个或若干应用类型的应用。
业务***点为至少一个业务链在路由方案中的位置(点),特定类型的应用(如由业务数据表定义)可注册和驻留其中,即,特定类型的应用可***其中。对于不同业务链实例,应用可依附于路由方案的不同点。每个业务***点在至少一个业务链中具有唯一角色,并且优选地(只)接受特定类型或数量有限的特定类型的应用。换言之,每个业务***点是针对至少一个应用类型选择的。相同类型的不止一个应用可以注册在每个业务***点。然而,对于每个流,还可使用特定类型的仅一个应用。此外,不同业务***点可接受不同类型的应用。
由于每个应用在业务数据表中与预定义应用类型相关联,所以SDN控制器通过访问业务数据表,能够将每个应用关联到相关业务***点。通过在SDN控制器和应用(以及应用开发人员)之间协调应用类型,确保了应用向合适业务***点的正确分配。因此,通过创建具有业务***点的业务链,本发明的方法提供优化的应用顺序,尤其是对于所有路由通过业务链的流来说一致的顺序。业务***点的顺序有助于优化整体业务传送和业务链接的性能。
根据所述第一方面的所述第二实施形式,在所述方法的第三实施形式,每个业务***点通过至少一个API暴露给应用。
因此,根据所述至少一个应用的应用类型使所述至少一个应用注册到特定业务***点。不同类型的应用能够注册到不同业务***点。然而,业务***点还可支持各种业务类型。
根据如上所述第一方面或根据所述第一方面的任一前述实施形式,在所述方法的第四实施形式中,所述注册步骤包括:所述SDN控制器根据所述业务数据表确定所述至少一个应用的所述应用类型,以及所述SDN控制器根据所述确定的应用类型将所述至少一个应用与至少一个业务***点相关联。
SDN控制器因此能够管理和优化应用在业务链中的顺序。SDN控制器了解不同应用类型,并且能够根据应用的类型排序这些应用,以避免干扰,甚至优选地在应用之间使用协同。因此,本发明的方法实现了有效率的且优化的业务链接。
根据所述第一方面的所述第四实施形式,在所述方法的第五实施形式,所述注册步骤包括:如果确定在所述业务数据表中所述至少一个应用与应用类型不关联,则所述SDN控制器在所述业务数据表中创建新应用类型,以及所述SDN控制器根据所述创建的应用类型将所述至少一个应用与至少一个业务***点相关联。
因此,应用开发人员无需担心将新开发的应用集成到业务链中,并且无需考虑他们的应用与其它应用的交互。在本发明的方法中,SDN控制器负责将应用集成到至少一个业务链中。
根据所述第一方面的所述第二至第五实施形式中的任一者,在所述方法的第六实施形式中,所述业务***点之间的数据流量由业务链调度器传输。
根据如上所述第一方面或根据所述第一方面的任一前述实施形式,在所述方法的第七实施形式中,所述方法还包括:所述SDN控制器根据应用的所述至少一个业务链路由包括至少一个数据包的至少一个流。
每个流并不需要使用至少一个业务链中的所有应用。因此,每个流的业务链是灵活的、可适应的。还有可能只将特定应用需要的一部分流引导至所述应用。
根据所述第一方面的所述第七实施形式,在所述方法的第八实施形式中,所述方法还包括:所述至少一个应用从所述流中提取元数据,以及将所述提取的元数据作为关于所述流的信息存储在流表中。
在流表中,可为不同应用维持集中的流信息和元数据信息以相互共享。换言之,流表实现了关于不同应用之间,特别是不同类型的应用之间,流的信息的共享。应用可访问流,以便获得流信息。如将在下文更详细描述的一样,流表能够在SDN控制器自身中创建,能够在SDN控制器可访问的外部链接模块中创建,或者可以分布于至少一个应用之间。
例如,DPI类型的应用可从主流中提取关于“微流”的信息,所述微流路由通过业务链。然后,应用可使用提取的微流信息填充业务数据表。其它应用可访问业务数据表,并且可使用所述微流信息。因此,使应用能够协同地交换信息。
另外,关于流改变的信息可由应用存储在业务数据表内以供其它应用进一步使用。例如,NAT类型的应用可改变流的源IP,并且可将这种改变记录在业务数据表中的专用条目或字段中。业务链中NAT应用之后的应用可获悉和使用改变的源IP。
根据所述第一方面的所述第八实施形式,在所述方法的第九实施形式中,从所述流中提取的所述元数据包括应用类型、特定应用ID、用户ID和/或流内容ID。
根据所述第一方面的所述第八或第九实施形式,在所述方法的第十实施形式中,从所述流中提取的所述元数据包括关于所述流的每个帧的帧信息。
根据所述第一方面的所述第十实施形式,在所述方法的第十一实施形式中,所述帧信息包括标记为丢弃的帧、改变的帧头和/或前一帧头信息。
根据所述第一方面的所述第八至第十一实施形式,在所述方法的第十二实施形式中,多个应用共享存储在所述流表中的所述元数据。
根据所述第一方面的所述第八至第十二实施形式,在所述方法的第十三实施形式中,所述流表在所述SDN控制器中创建。
换言之,流表在SDN控制器的内部。由于内部流表,业务链接基础设施和业务信息共享基础设施都位于SDN控制器中。因此,链接的应用由SDN控制器提供,并有可能彼此共享信息,例如关于网络数据流量的信息,即关于通过业务链的流的信息。因此,SDN控制器只能够实现本发明的若干优点。此外,本实施形式中需要最少量的设备,并且可实现最快速的业务链接。
根据所述第一方面的第十三实施形式,在所述方法的第十四实施形式中,所述至少一个流根据应用的所述至少一个业务链路由通过所述SDN控制器。
根据所述第一方面的所述第八至第十二实施形式中的任一者,在所述方法的第十五实施形式中,所述流表在连接到所述SDN控制器的链接模块中创建。
换言之,流表在SDN控制器的外部提供。链接模块优选地通过至少一个API暴露给SDN控制器和应用。
根据所述第一方面的所述第十五实施形式,在所述方法的第十六实施形式中,所述方法还包括:所述SDN控制器根据所述业务链定义的应用类型的顺序在所述至少一个应用与所述链接模块之间创建网络路径。
根据所述第一方面的第十六实施形式,在所述方法的第十七实施形式中,所述至少一个流根据应用的所述至少一个业务链路由通过所述链接模块和所述SDN控制器创建的所述网络路径。
由于链接模块中的外部流表,业务信息共享基础设施位于SDN控制器的外面。因此,能够减轻SDN控制器上的负载。
根据所述第一方面的所述第八至第十二实施形式中的任一实施形式,在所述方法的第十八实施形式中,所述流表分布于至少一个应用和注册到所述业务链的另一应用上。
换言之,流表在SDN控制器的外部。SDN控制器可分别通过SDN控制器的(链)API和至少一个应用访问流表。
根据所述第一方面的所述第十八实施形式,在所述方法的第十九实施形式中,包括至少一个数据包的所述至少一个流根据应用的所述至少一个业务链通过使用消息传递机制路由通过所述至少一个应用和所述另一应用。
由于应用中的外部流表,业务信息共享基础设施位于SDN控制器的外面。因此,减轻了SDN控制器的负载,并且可以将负载分布于应用之中。消息传递机制可在SDN控制器或外部模板中提供。可实现最短路由路径。此外,任何业务链实例都是由SDN控制器编程到相关转发实体的转发指令集。在本实施形式中,应用在SDN控制器的外部运行,并且使用了分布式流表,可通过应用在其上安装的主机的(虚拟)交换机上配置的转发条目实现业务链实例。
根据所述第一方面的所述第八至第十九实施形式中的任一者,在所述方法的第二十实施形式中,所述方法还包括:所述至少一个应用查询所述流表,以便获得存储的关于所述流的信息。
通过查询流表,每个应用可以获得所存储的流和/或帧信息。因此,可以使用应用之间的协同,因此,减轻了总处理负载和每个应用的处理负载。
根据如上所述第一方面或根据所述第一方面的任一前述实施形式,在所述方法的第二十一实施形式,所述业务链创建步骤包括:所述SDN控制器创建多个业务链,以及所述SDN控制器为不同客户定制每个业务链。
多个业务链为不同的业务链实例,其中,每个业务链可用于不同客户。因此,本发明的方法使业务链接具有更高的灵活性。
根据所述第一方面的所述第八至第二十一实施形式中的任一者,在所述方法的第二十二实施形式中,所述方法还包括:所述SDN控制器使用用户定义过滤将多个流关联到所述至少一个业务链。
通过采用用户定义过滤,能够容易且快速地定制由SDN控制器创建的至少一个业务链。具体而言,可动态地为不同用户(客户)定义单个业务链,从而提供更高的灵活性。
本发明的第二方面提供一种软件定义网络(software defined network,SDN)控制器,用于在SDN中链接应用,其中,业务数据表安装在所述SDN控制器中,在所述业务数据表中,其中,多个应用与多个应用类型相关联,在所述SDN控制器上实施定义应用类型的顺序的至少一个业务链,以及所述SDN控制器用于,基于在所述业务数据表中与所述应用相关联的所述应用类型将至少一个应用注册到所述业务链。
所述第二方面的所述SDN控制器还可用于根据上述第一方面的所述方法的所述各种实施方式执行步骤和动作。
根据所述第二方面,在所述软件定义网络的第一实施形式中,所述SDN控制器用于在所述至少一个业务链中为应用创建多个业务***点,其中,每个业务***点只接受关联到所述业务***点的一个或若干应用类型的应用。
根据如上所述第二方面或所述第二方面的所述第一实施形式,在所述软件定义网络控制器的第二实施形式中,所述SDN控制器用于根据所述业务数据表确定所述至少一个应用的所述应用类型,以及所述SDN控制器用于根据所述确定的应用类型将所述至少一个应用与至少一个业务***点相关联。
根据所述第二方面的所述第二实施形式,在所述软件定义网络控制器的第三实施形式中,如果确定所述至少一个应用没有在所述业数据表中与应用类型相关联,则所述SDN控制器用于在所述业务数据表中创建新应用类型;以及所述SDN控制器用于根据所述创建的应用类型将所述至少一个应用与至少一个业务***点相关联。
根据如上所述第二方面或所述第二方面的任一前述实施形式,在所述软件定义网络控制器的第四实施形式中,所述SDN控制器用于根据应用的所述至少一个业务链路由包括至少一个数据包的至少一个流,以及流表安装在所述SDN控制中,其中,在所述流表中,由所述应用从所述流中提取的元数据存储为关于所述流的信息。
本发明的第三方面提供一种***,所述***包括根据如上所述第二方面或所述第二方面的所述第一至第三实施形式中的任一者的SDN控制器,以及至少一个应用,其中,所述SDN控制器用于根据应用的所述至少一个业务链路由包括至少一个数据包的至少一个流,以及所述至少一个应用用于从所述流中提取元数据,并且将所述提取的元数据作为关于所述流的信息存储在流表中。
根据如上所述第三方面,在所述***的第一实施形式中,所述流表在所述SDN控制器中创建,或者所述流表分布于所述至少一个应用和注册到所述业务链的另一应用上,或者,所述***还包括连接到所述SDN控制器的链接模块,并且所述流表在所述链接模块中创建。
因此,通过所述第三方面的所述***,可获得上述提及的针对所述第一方面的所述方法的各个优点。
本发明的第四方面提供一种具有程序代码的计算机程序,当所述计算机程序在计算机上运行时,所述程序代码用于执行根据所述第一方面的所述实施形式中的任一者或如上所述第一方面的所述方法。
须注意,本申请中描述的设备、元件、单元和构件可在软件或硬件元件或其任意种类的组合中实施。本申请中描述的各种实体执行的所有步骤和所描述的将由各种实体执行的功能旨在表明各个实体适于或用于执行各自的步骤和功能。即使在下文的特定实施例描述中,执行一特定步骤或功能的那个实体的特定详细元件的描述中未体现那个特定功能或步骤,其中该特定功能或步骤将完全由永恒实体形成,技术人员也应清楚,这些方法和功能可以在各个软件或硬件元件或其任意类型的组合中实施
附图说明
结合所附附图,下面具体实施例的描述将阐述上述本发明的各方面及其实现形式,其中:
图1示出了SDN控制器、流表以及根据本发明一实施例注册到SDN控制器中的业务链的多个SDN应用。
图2示出了根据本发明一实施例的如在SDN控制器中实施的业务链。
图3示出了根据本发明一实施例的SDN应用。
图4示意性地示出了根据本发明一实施例的路由通过SDN控制器的流。
图5示意性地示出了根据本发明一实施例的路由通过链接模块的流。
图6示意性地示出了根据本发明一实施例的路由通过应用的流。
图7示出了根据本发明一实施例的三个不同定制化业务链。
图8示出了根据本发明一实施例的图示业务链接的流程图,以及
图9示出了根据本发明一实施例的图示通过业务链的流的路由的流程图。
图10示出了图示如何通过分别创建于SDN控制器、链接模块中或分布于SDN应用上的流表来维持业务链的流程图。
具体实施方式
图1示出了包括根据本发明一实施例的SDN控制器1、流表13和多个SDN应用4的SDN环境。SDN控制器1用于了解SDN网络中提供的业务,即,了解多个SDN应用4。每个SDN应用4可通过特定应用类型5来识别。
根据本发明各实施例,至少一个业务链3在SDN控制器1中创建和实施。业务链3依据SDN应用4的应用类型5定义它们的顺序。SDN控制器1可以根据业务链3中的SDN应用4的顺序将网络流量,即,包括至少一个数据包的至少一个流9(如图4所示),路由通过业务链3。业务链3的SDN应用4再根据其顺序在流9上操作。因此,SDN应用4可以在流上相继和/或并行操作。业务链3是一个路由方案。关于路由方案的信息存储在SDN控制器1的数据库中或存储器中。不同的业务链3实例可创建并存储在数据库或存储器中。对于每个业务链3(或业务链实例),SDN控制器1将一组转发指令编程到相关转发实例。例如,如果SDN应用4在SDN控制器1上运行,那么可通过配置IPC将流的数据包或帧从一个应用传送给其它应用来实现业务链3。如果SDN应用4在SDN控制器外部运行,那么可通过配置应用安装在其上的主机的(虚拟)交换机将流的数据包或帧从一个应用传送给其它应用来实现业务链3。
此外,根据本发明各实施例,业务数据表2在SDN控制器1中创建,并且能够被SDN应用4访问。
业务数据表2包括每个SDN应用4与预定义的应用类型5的至少一个关联。在图1中,三个不同的SDN应用4,即,三种不同应用类型5的SDN应用4,注册到SDN控制器1中的一个业务链3。每个SDN应用4通过至少一个应用编程接口(application programming interface,API)6注册到SDN控制器1中的业务链3。至少一个API 6使业务链3暴露给SDN应用4。SDN应用4也可通过至少一个API 6访问业务数据表2。链接在业务链3中的SDN应用4的顺序基于它们的应用类型5,应用类型5存储在业务数据表2中。
业务数据表2是本发明各实施例的一个重要方面。如上所述,在业务数据表2中,至少多个SDN应用4与多个应用类型5相关联。这意味着运行于SDN控制器1上的每个业务(例如,应用)均与多个预定应用类型5之一相关联,因此,通过SDN控制器1到业务数据表的连接,SDN控制器1始终了解在其上运行的每个应用类型5。这样,SDN控制器1还能够以特定的优化顺序,尤其是根据应用类型5优化的顺序,运行不同的应用4。SDN控制器1考虑应用类型5来创建至少一个业务链3。在确定顺序时,SDN控制器1考虑不同应用4和应用类型5的可能干扰或试图通过该顺序利用不同应用4与应用类型5之间的协同效应。
此外,根据本发明各实施例,提供了一种流表13,且SDN应用4和SDN控制器1可以访问流表13。流表13可在SDN控制器1自身中创建(参见图4),可在外部链接模块11中提供(参见图5),或可分布于一个或多个SDN应用4上(参见图6)。流表13的这些各种用例的详细内容在下文描述。当根据至少一个业务链3路由包括至少一个包的流时,SDN应用4可使用流表13。每个SDN应用4都了解其在业务链3中的位置,但根据业务链3顺序未必了解至少一个数据包的实际路由顺序,或其它SDN应用4在业务链3中的实际位置。通过使用流表13,流9根据业务链3的顺序通过SDN应用4的预定路由也可有效维持,而无需将流路由通过SDN控制器1。
在流表13中,可以存储流信息,例如,流ID、流的类型或所谓的五元组(包括源IP地址、目的IP地址、源端口号、目的端口号和使用协议),如图1所示。此外,元数据信息,例如,类型长度值(type length value,TLV),可以存储在流表13中。元数据还可包括应用类型(例如,视频、P2P等)、特定应用ID(例如,WeBex视频、BT协议)、用户ID和/或流内容ID(例如,文件类型、加密/非加密内容等)。元数据还可包括关于流9的每个帧的帧信息,例如,关于标记为丢弃的帧的信息、改变的帧头(可选地包括前一帧头信息)和/或前一帧头信息。
流表13实现了不同应用4之间的信息共享,这些不同应用4可以通过它们各自的API 6单独访问流表13。例如,每个应用4可以访问并查询流表13,以便获取其中存储的信息,或者,其可将从流9中提取的信息存储到流表13中。
图2更详细地示出了在SDN控制器1中创建的业务链3的示例。业务链3具有多个业务***点7,这些业务***点7是业务链3中的位置,特定应用类型5可在这些位置处注册。业务***点7通过至少一个API 6暴露给应用4。每个业务***点7优选地用于接受仅一个特定应用类型5。然而,一个或多个业务***点7接受不止一个但并非所有应用类型5也可能是有利的。例如,在图2中,第三业务***点7(从左至右)接受三个不同应用类型(也就是数据丢失保护(data loss prevention,DLP)类型、入侵防御***(intrusion preventionsystem,IPS)类型和入侵检测***(intrusion detection system,IDS)类型的应用4)。在该第三业务***点7之前,第一业务***点7接受仅crypto类型的应用,第二业务***点7接受仅DPI类型的应用。第三业务***点7之后的业务***点7分别接受例如访问控制列表(access control list,ACL)类型、广域网优化控制器(WAN optimization controller,WOC)类型、应用层网关(application layer gateway,ALG)类型或防火墙(firewall,FW)类型的应用4。然而,每个***点7可以注册相同应用类型5的不止一个应用4,但是,通常每个流仅可使用特定应用类型5的一个应用。此外,不是所有应用4(和***点7)都需要逐流使用,因此每个流的链是灵活且可适应的。
业务链3提供了不同应用类型5的顺序。从应用4到业务链3的数据流量通过应用类型相关的业务***点7来执行。各个业务***点7之间的流量通过调度器8来执行,调度器8可以是数据总线等。
由于SDN控制器1了解其链接的不同应用类型5,以及由于其具有业务数据表2中可用的所有信息,尤其是关于哪个应用4与哪个应用类型5相关联的信息,所以SDN控制器可以根据业务链3中的应用4的应用类型5对这些应用4进行排序。
通过这样对应用4进行排序,SDN控制器1可以确保业务链3中的各个应用不会互相干扰。此外,SDN控制器1可以通过不同应用类型5互相协同交互的方式对应用4进行排序。
例如,SDN控制器1可在业务链3的开始处提供DPI类型的应用。DPI应用在流上操作之后可以相应地填充业务数据表2,信息可以由业务链3中DPI应用之后的所有其它应用4使用。可以配置SDN控制器1中的业务链3使得其支持业务链4中应用4的顺序操作,即,其可以将数据包的流路由通过逐个应用4,或者可以执行业务链3中应用的并发操作。例如,在图2中,IPS、DS和DLP类型的应用并行在第三业务***点7处运行。还注意到,数据流量的每个流并非必须使用所有注册到业务链3的应用4。具体而言,业务链3的若干应用4可省略。例如,可以选择性地使应用4不可用或可用,或可绕过。因此,业务链3可由SDN控制器1灵活地调整,例如,针对不同网络用户。
图3示出了SDN应用4,该SDN应用4具有其应用类型5的指示以及至少一个(链)API6。为了使SDN应用4对业务链3施加影响,SDN控制器1使用如图1所示的链API 6暴露业务链3,其耦合到SDN应用4中的链API 6。链API 6使SDN应用4能够根据其应用类型5注册到特定业务***点7。链API 6还使应用4能够访问业务数据表2。通过链API 6,SDN控制器1还能够协调应用类型5与其它应用4的应用类型5,特别是将应用类型5分配给业务链3中的正确业务***点7。
图4示出了业务链3和流表13各自的第一用例。在第一用例中,流表13在SDN控制器1中创建。在第一用例中,首先,应用4使用它们的链API6注册到SDN控制1(实线)。然后,SDN控制器1确定注册的应用4的类型,并将应用类型5与业务链3中的业务***点7相关联。对于每个新业务链实例,即,注册到SDN控制器1的每个新应用4,SDN控制器1都在其内部流表13中创建一个条目。然后,来自南向接口(south bound interface,SBI)等的数据流量9,例如,包括不同帧或包的流9,通过使用业务链3和调度器8路由通过应用4并通过SDN控制器1(虚线)。在第一用例中,可通过配置IPC以预定顺序在被链接应用4之间传送数据包或帧来实现业务链实例。应用4,例如,DPI类型的应用,可将关于流9的信息填充到流以及相应地流表13中。例如,DPI类型的应用可以提取关于主流内的微流的信息,并且可以相应地填充流表13。此外,流的或流内微流的变化或修改可以存储在流表13中(虚线箭头)。
图5示出了业务链3和流表13各自的第二用例。在第二用例中,流表13在链接模块11中创建,即,流表13在SDN控制器1外部。如同对于第一用例,同样,在第二用例中,首先,应用4使用它们的链API 6注册到SDN控制器1。SDN控制器1再次确定注册的应用4的类型,并将应用类型5与业务链3中的业务***点7相关联。在第二用例中,对于每个新业务链实例,即,注册到SDN控制器1的每个新应用4,SDN控制器1都通过***模块11在流表13中创建一个条目。因此,链接模块11具有至少一个API 6。SDN控制器1和应用4可分别使用它们的(链)API 6,以便在链接模块11中访问流表13。
SDN控制器1还在应用4与链接模块11之间创建网络路径。网络路径具体根据业务链3定义的应用类型5的顺序来创建,业务链3安装于SDN控制器1中。然后,来自南向接口(south bound interface,SBI)等的数据流量9,例如,包括不同帧或包的流9,使用SDN控制器1创建的网络路径分别路由通过应用4并通过链接模块11(虚线)。应用4,例如,DPI类型的应用,可将关于流的信息,具体是从流9中提取的元数据,填充到流以及相应地链接模块11中的流表13中。例如,DPI类型的应用可以提取关于主流内的微流的信息,并且可以相应地填充链接模块11中的流表13。并且,流的或流内微流的变化或修改可以存储在安装于链接模块11中的流表13中。提取的元数据尤其可包括应用类型、特定应用ID、用户ID和/或流内容ID。提取的元数据还可包括关于流9的每个帧的帧信息,例如,关于标记为丢弃的帧的信息、改变的帧头和/或前一帧头信息。
图6示出了业务链3和流表13各自的第三用例。在第三用例中,流表13分布于应用4之间,即,流表13在SDN控制器1外部。如在第一和第二用例中一样,在第三用例中,首先,应用4使用它们的链API 6注册到SDN控制器1。SDN控制器1再次确定注册的应用4的类型,并将应用类型5与业务链3中的业务***点7相关联。在第三用例中,对于每个新业务链实例,即,注册到SDN控制器1的每个新应用4,SDN控制器1都在分布于应用4之间的流表13中创建一个条目。因此,SDN控制器1使用其API通过它们各自的API 6访问不同应用4。
然后,来自南向接口(south bound interface,SBI)等的数据流量9,例如,包括不同帧或包的流9,根据在SDN控制器1的环境中维持的应用4的至少一个业务链3直接路由通过应用4(虚线)。为此,应用4优选地使用消息传递机制12。消息传递机制12还可用来在应用4之间交换每个流的信息。消息传递机制12可实施在SDN控制器1或外部模块中。在第二用例中,可通过配置应用4安装在其中的主机的(虚拟)交换机的转发条目以在被链接应用4之间以预定顺序传送数据包或帧来实现业务链实例。应用4,例如,DPI类型的应用,可将关于流的信息,具体是从流9中提取的元数据,填充流以及相应地填充分布式流表13。例如,DPI类型的应用可以提取关于主流内的微流的信息,并且可以相应地填充分布式流表13。此外,对流的或流内微流的改变或修改可以存储在分布于应用4之间的业务数据表2中。提取的元数据尤其可包括应用类型、特定应用ID、用户ID和/或流内容ID。提取的元数据还可包括关于流9的每个帧的帧信息,例如,关于标记为丢弃的帧的信息、改变的帧头和/或前一帧头信息。
图7示出了可在SDN控制器1中创建的不同定制化业务链3a、3b、3c,即,不同业务链实例。SDN控制器1可创建不止一个业务链3实例,例如,为不同客户1、2、3定制的业务链3a、3b、3c。在图7中,为客户1、客户2和客户3分别提供业务链定制。具体而言,并非每个客户都需要业务链3的所有应用。因此,可根据客户,在业务链3a、3b、3c中建立不同的应用顺序。
优选地,SDN控制器1中的至少一个业务链3是灵活的,并且可以优选地针对客户偏好动态地定制。为此,SDN控制器1优选地用于根据客户选择性地使业务链3中的特定应用4可用或不可用。例如,SDN控制器1可将用户(客户)定义滤波器应用到业务链3中的应用4。在图5中,可以看出客户1的业务链3a具有不可用的Crypto、DLP、IPS、IDS和ALG。客户2的业务链3b具有不可用的ACL和WOC。客户3的业务链3c的所有应用4(来自所有应用类型5)在业务链3中均可用。
SDN控制器1可以为不同客户创建多个业务链3a、3b和3c,或者可以使用单个业务链3,这样可以通过根据客户选择性地过滤掉应用4来灵活适应。
图8示出了根据本发明一实施例的图示根据在SDN中链接应用4的方法的业务链接的一般流程图。在第一步骤S1中,在SDN控制器1中创建业务数据表2。此外,可在步骤S1中创建流表13。如上所述,在步骤S1中,流表13可创建于SDN控制1中、外部链接模块11中或可分布于多个应用4之间。该流表13实现了不同应用4之间关于流的信息的共享。在一实施例中,DPI功能会提取关于主流内的“微流”的信息,并相应地填充流表13。此外,该流表13还使应用能够存储关于流改变的信息以便进一步使用。例如,NAT功能可改变流的源IP,这会在流表13的MetaData/TLV字段处登记以便随后的防火墙使用。在第二步骤S2中,在SDN控制器1中创建业务链3。在该步骤S2中也可创建不止一个业务链3。在步骤S3中,在SDN控制器1上安装至少一个应用4,在进一步的步骤S4中,将至少一个应用4基于其应用类型5注册到业务链3。应用类型5与应用4在业务数据表2中相关联。
针对将应用4注册到业务链3的步骤S4,在步骤S5中,SDN控制器1确定业务类型,即,待注册的应用4的应用类型5,是否是已知的,即,应用类型5与应用4是否在业务数据表2中相关联。如果应用类型5是已知的,那么,在步骤S6中,将应用4与业务链3中的特定业务***点7相关联。具体而言,SDN控制器1基于应用4的应用类型5为应用4选择业务***点7。如果在步骤S5中应用类型5是未知的,那么,在步骤S7中,SDN控制器1创建新应用类型,并将应用4与该新应用类型5在业务数据表2中相关联。此外,SDN控制器1将应用类型5与业务链3中的业务***点7相关联。然后,SDN控制器1返回步骤S1。
图9大体上示出了数据流量,即,包括一个或多个数据包的至少一个流,路由通过业务链3。在步骤S8中,新包到达新流9。在步骤S9中,(SDN控制器1等)将包发送给业务链3的第一元素。在步骤S10中,业务链3中的第一元素,即,第一应用4,对包,即,对帧,进行操作。某些应用4在对流进行操作时能够从流中提取元数据。因此,在步骤S11中,第一应用4可以从流9的包中提取元数据,流表13相应地更新提取的元数据。如上所述,流表13可位于SDN控制器1中、外部链接模块11中,或分布于应用4中。在第一应用4完成对包的处理后(以及如果独立地在步骤S11中提取了或未提取元数据),业务链3中的(例如,第一应用4之后的)另一应用4可对包进行操作(步骤S12)。某些应用4还可从流表13中查询相关元数据。如果,例如,应用4确定其需要相关元数据,那么,在步骤S13中,其可以查询流表13。在步骤S14中,应用4还可以存储从流中提取的元数据,并且可以相应地更新流表13。最后,在步骤S15中,业务链中的又一应用4对包进行操作,直到业务链3中的所有应用4都完成了它们对流的操作。
图10分别具体示出了如何通过使用可创建于SDN控制器1中、链接模块11中或可分布于应用4上的流表2来维持在SDN控制器3中创建的业务链3。
在第一用例中(图10的左边流程图),首先,在步骤S16中,用户可输入流滤波器和关联应用4的列表。在步骤S17中,SDN控制器1可以基于应用4创建,例如,作为路由方案存储在其数据库中的业务链3。SDN控制器1还可将用户(客户)定义滤波器应用到现有业务链3的应用4。在步骤S18中,SDN控制器1然后在流表13中为与用户关联的每个应用4创建一个条目(例如,用于存储应用4从流中提取的信息)。在第一用例中,业务数据表2安装在SDN控制器1中。在步骤S19中,将数据流,例如,包括不同帧或包的流9,根据业务链3中应用4的顺序链接到应用4之间。SDN控制器1因此使用(链)API 6来进行应用4与业务链3的业务***点7之间的连接,并使用调度器8来进行业务***点7之间的连接。在步骤S20中,应用或业务可通过使用安装在SDN控制器1中的流表13来交换信息,例如,关于流9的信息、关于流9内微流的信息或关于流9或微流的改变和修改的信息。
在第二用例中(图10的中间流程图),首先,在步骤S21中,用户可输入流滤波器和关联应用4的列表。在步骤S22中,SDN控制器1可以基于应用4,例如,在其数据库中,创建业务链3。SDN控制器1还可将用户(客户)定义滤波器应用到现有业务链3的应用4。在步骤S23中,SDN控制器1然后在流表13中为每个业务链实例,即,为与用户关联的每个应用4,创建一个条目。在第二用例中,流表13安装在外部链接模块11中。在步骤S24中,SDN控制器1根据业务链3的顺序在应用4与链接模块11之间创建网络路径。然后,数据流量,例如,包括不同帧或包的流9,路由通过这些网络路径。在步骤S25中,应用4可通过使用安装在链接模块11中的流表13来交换信息,例如,关于流9的信息、关于流9内微流的信息或关于流9或微流的改变和修改的信息。
在第三用例中(图10的右边流程图),首先,在步骤S26中,用户可输入流滤波器和关联应用4的列表。在步骤S27中,SDN控制器1可以基于应用4,例如,在其数据库中,创建业务链3。SDN控制器1还可将用户(客户)定义滤波器应用到现有业务链3的应用4。在步骤S28中,SDN控制器1然后通过使用至少一个(链)API 6在流表13中为每个业务链实例,即,为用户关联的每个应用4,创建一个条目。在第三用例中,流表13分布于应用4之间。在步骤S29中,SDN控制器1可根据业务链3的顺序在应用4之间创建路径以用作消息传递机制12。消息传递机制12可例如实施在SDN控制器1中或外部模块中,例如,链接模块11或另一模块。然后,数据流量,例如,包括不同帧或包的流9,路由通过应用4和消息传递机制12。在步骤S30中,应用4使用它们的(链)API通过使用分布于应用4之间的流表13来交换信息,例如,关于流9的信息、关于流9内微流的信息或关于流9或微流的改变和修改的信息。
总而言之,本发明提供了一种用于SDN环境的方法和控制器,其中,增加了SDN控制器1对SDN中提供的SDN应用4的感知,且SDN控制器1实现了业务链接基础设施。因此,可以利用不同SDN应用4的更有效率且优化的链接,使得作为网络业务运行于SDN控制器1上的应用4可以以它们互不干扰且甚至使用协同的方式排序。因此,业务链接的效率得以提高,且对计算资源的要求得以降低。
已经结合作为实例的不同实施例以及实施方案描述了本发明。但本领域技术人员通过实践所请发明,研究附图、本公开以及独立权项,能够理解并获得其它变体。在权利要求以及描述中,术语“包括”不排除其它元件或步骤,且表述“一个”并不排除复数可能。单个元件或其它单元可满足权利要求书中所叙述的若干实体或项目的功能。在仅凭某些措施被记载在相互不同的从属权利要求书中这个单纯的事实并不意味着这些措施的结合不能在有利的实现方式中使用。

Claims (29)

1.一种在软件定义网络SDN中链接应用(4)的方法,其特征在于,所述方法包括:
在SDN控制器(1)中创建(S1)业务数据表(2),其中,在所述业务数据表(2)中,多个应用(4)与多个应用类型(5)相关联;
在所述SDN控制器(1)中创建(S2)定义所述应用类型(5)的顺序的至少一个业务链(3),以及
基于在所述业务数据表(2)中与所述至少一个应用(4)相关联的所述应用类型(5)将所述至少一个应用(4)注册(S4)到所述至少一个业务链(3)。
2.根据权利要求1的方法,其特征在于,还包括:
通过至少一个应用编程接口API(6)使所述至少一个业务链(3)和所述业务数据表(2)暴露给所述应用(4)。
3.根据权利要求1或2所述的方法,其特征在于,包括:
在所述至少一个业务链(3)中为所述应用(4)创建多个业务***点(7),其中,每个所述业务***点(7)只接受关联到所述业务***点(7)的所述一个或若干应用类型(5)的所述应用(4)。
4.根据权利要求3所述的方法,其特征在于,每个所述业务***点(7)通过至少一个API(6)暴露给所述应用(4)。
5.根据权利要求1-2,或4之任一所述的方法,其特征在于,所述注册步骤(S4)包括:
所述SDN控制器(1)根据所述业务数据表(2)确定(S5)至少一个应用(4)的所述应用类型(5),
所述SDN控制器(1)根据所述确定的应用类型(5)将所述至少一个应用(4)与至少一个业务***点(7)相关联(S6)。
6.根据权利要求5所述的方法,其特征在于,所述注册步骤(S4)包括:
如果确定(S5)在所述业务数据表(2)中所述至少一个应用(4)与所述应用类型(5)不关联,则所述SDN控制器(1)在所述业务数据表(2)中创建(S7)新应用类型(5),以及
所述SDN控制器(1)根据所述创建的应用类型(5)将所述至少一个应用(4)与所述至少一个业务***点(7)相关联(S7)。
7.根据权利要求1-2,4,或6之任一所述的方法,其特征在于,还包括:
所述SDN控制器(1)根据所述应用(4)的所述至少一个业务链(3)路由(S8至S15)包括至少一个数据包的至少一个流(9)。
8.根据权利要求7所述的方法,其特征在于,还包括:
所述至少一个应用(4)从所述流(9)中提取元数据,以及将所述提取的元数据作为关于所述流(9)的信息存储(S11)在流表(13)中。
9.根据权利要求8所述的方法,其特征在于:
从所述流(9)中提取的所述元数据包括应用类型、特定应用ID、用户ID和/或流内容ID。
10.根据权利要求8或9所述的方法,其特征在于:
从所述流(9)中提取的所述元数据包括关于所述流(9)的每个帧的帧信息。
11.根据权利要求10所述的方法,其特征在于:
所述帧信息包括标记为丢弃的帧、改变的帧头和/或前一帧头信息。
12.根据权利要求8-9,或11之任一所述的方法,其特征在于:
多个应用(4)共享存储在所述流表(13)中的所述元数据。
13.根据权利要求8-9,或11之任一所述的方法,其特征在于:
所述流表(13)在所述SDN控制器(1)中创建。
14.根据权利要求13所述的方法,其特征在于:
根据所述应用(4)的所述至少一个业务链(3)将所述至少一个流(9)路由(S8至S15)通过所述SDN控制器(1)。
15.根据权利要求8-9,或11之任一所述的方法,其特征在于:
所述流表(13)在连接到所述SDN控制器(1)的链接模块(11)中创建。
16.根据权利要求15所述的方法,其特征在于,还包括:
所述SDN控制器(1)根据由所述业务链(3)定义的所述应用类型(5)的所述顺序在所述至少一个应用(4)与所述链接模块(11)之间创建网络路径。
17.根据权利要求16所述的方法,其特征在于:
根据所述应用(4)的所述至少一个业务链(3)将所述至少一个流(9)路由(S8至S15)通过所述链接模块(11)和由所述SDN控制器(1)创建的所述网络路径。
18.根据权利要求8-9,或11之任一所述的方法,其特征在于:
所述流表(13)分布于所述至少一个应用(4)和注册到所述业务链(3)的另一应用(4)之上。
19.根据权利要求18所述的方法,其特征在于:
根据所述应用(4)的所述至少一个业务链(3)通过使用消息传递机制(12)将所述至少一个流(9)路由(S8至S15)通过所述至少一个应用(4)和所述另一应用(4)。
20.根据权利要求8-9,11,14,16-17,或19之任一所述的方法,其特征在于,还包括:
所述至少一个应用(4)查询(S13)所述流表(13),以便获得所述存储的关于所述流(9)的信息。
21.根据权利要求1-2,4,6,8-9,11,14,16-17,或19之任一所述的方法,其特征在于,所述业务链创建步骤(S2)包括:
所述SDN控制器(1)创建多个业务链(3a、3b、3c),以及
所述SDN控制器(1)为不同用户定制各个业务链(3a、3b、3c)。
22.根据权利要求8-9,11,14,16-17,或19之任一所述的方法,其特征在于,还包括:
所述SDN控制器(1)使用用户定义过滤将所述多个流(9)关联到所述至少一个业务链(3)。
23.一种软件定义网络SDN控制器(1),用于在SDN中链接应用,其特征在于:
业务数据表(2)安装在所述SDN控制器(1)中,其中,在所述业务数据表(2)中,多个应用(4)与多个应用类型(5)相关联;
在所述SDN控制器(1)上实施定义所述应用类型(5)的顺序的至少一个业务链(3),以及
所述SDN控制器(1)用于,基于在所述业务数据表(2)中与所述应用(4)相关联的所述应用类型(5)将至少一个应用(4)注册到所述业务链(3)。
24.根据权利要求23所述的SDN控制器(1),其特征在于:
所述SDN控制器(1)用于在所述至少一个业务链(3)中为所述应用(4)创建多个业务***点(7),其中,所述每个业务***点(7)只接受关联到所述业务***点(7)的一个或若干所述应用类型(5)的所述应用(4)。
25.根据权利要求23或24之一所述的SDN控制器(1),其特征在于:
所述SDN控制器(1)用于根据所述业务数据表(2)确定所述至少一个应用(4)的所述应用类型(5);以及
所述SDN控制器(1)用于根据所述确定的应用类型(5)将所述至少一个应用(4)与至少一个业务***点(7)相关联。
26.根据权利要求25所述的SDN控制器(1),其特征在于:
如果确定在所述业务数据表(2)中所述至少一个应用(4)与所述应用类型(5)不关联,则所述SDN控制器(1)用于在所述业务数据表(2)中创建新应用类型(5);以及
所述SDN控制器(1)用于根据所述创建的应用类型(5)将所述至少一个应用(4)与所述至少一个业务***点(7)相关联。
27.根据权利要求23-24,或26之任一所述的SDN控制器(1),其特征在于:
所述SDN控制器(1)用于根据所述应用(4)的所述至少一个业务链(3)路由(S8至S15)包括至少一个数据包的至少一个流(9);
流表(13)安装在所述SDN控制器(1)中,其中,在所述流表(13)中,所述应用(4)从所述流(9)中提取的元数据存储为关于所述流(9)的信息。
28.一种软件定义网络,包括根据权利要求23至26之一的SDN控制器(1)以及至少一个应用(4),其特征在于:
所述SDN控制器(1)用于根据所述应用(4)的所述至少一个业务链(3)路由(S8至S15)包括至少一个数据包的至少一个流(9),以及
所述至少一个应用(4)用于从所述流(9)中提取元数据,以及将所述提取的元数据作为关于所述流(9)的信息存储在流表(13)中。
29.根据权利要求28所述的软件定义网络,其特征在于:
所述流表(13)在所述SDN控制器(1)中创建,或者
所述流表(13)分布于所述至少一个应用(4)和注册到所述业务链(3)的另一应用(4)上,或者
所述软件定义网络还包括连接到所述SDN控制器(1)的链接模块(11),并且所述流表在所述链接模块(11)中创建。
CN201480066756.4A 2013-12-06 2014-03-20 在软件定义网络中链接应用的方法和控制器 Active CN105793823B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
PCT/EP2013/075800 WO2015082016A1 (en) 2013-12-06 2013-12-06 Method and controller for chaining applications in a software defined network
EPPCT/EP2013/075800 2013-12-06
PCT/EP2014/055571 WO2015082084A1 (en) 2013-12-06 2014-03-20 Method and controller for chaining applications in a software defined network

Publications (2)

Publication Number Publication Date
CN105793823A CN105793823A (zh) 2016-07-20
CN105793823B true CN105793823B (zh) 2019-03-26

Family

ID=49886883

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201480066756.4A Active CN105793823B (zh) 2013-12-06 2014-03-20 在软件定义网络中链接应用的方法和控制器

Country Status (3)

Country Link
US (1) US10255120B2 (zh)
CN (1) CN105793823B (zh)
WO (2) WO2015082016A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105450552B (zh) * 2014-07-02 2018-12-14 阿尔卡特朗讯 基于sdn网络对应用服务链的策略与计费控制方法与设备
US10003530B2 (en) 2014-07-22 2018-06-19 Futurewei Technologies, Inc. Service chain header and metadata transport
CN108370325B (zh) * 2015-12-09 2021-05-07 华为技术有限公司 一种通过连接跟踪对网络的管理
WO2017139705A1 (en) * 2016-02-10 2017-08-17 Yaana Technologies, Llc. Dynamic elastic shadow service orchestrator
US10476790B2 (en) * 2016-12-19 2019-11-12 Cisco Technology, Inc. Service chaining at a network device
IL268145B2 (en) * 2017-01-23 2023-09-01 Syed Kamran Hasan Universal connections bchain e3a
US11082312B2 (en) 2017-10-04 2021-08-03 Cisco Technology, Inc. Service chaining segmentation analytics
US10965598B1 (en) 2017-10-04 2021-03-30 Cisco Technology, Inc. Load balancing in a service chain
US10965596B2 (en) 2017-10-04 2021-03-30 Cisco Technology, Inc. Hybrid services insertion
US10534637B1 (en) * 2018-02-21 2020-01-14 Parallels International Gmbh Systems and methods for managing chain of software applications
US20230004412A1 (en) * 2021-06-30 2023-01-05 International Business Machines Corporation Quantifying service chain functions of virtual machines for cross interferences

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103095565A (zh) * 2012-10-18 2013-05-08 中兴通讯股份有限公司 一种软件定义网络操作***及其实现方法
CN103326884A (zh) * 2013-05-30 2013-09-25 烽火通信科技股份有限公司 Sdn网络中结合流检测和包检测的业务流感知***及方法
CN103338163A (zh) * 2013-07-16 2013-10-02 清华大学 支持动态弹性资源调度的软件定义网络控制器

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
IL167059A (en) * 2005-02-23 2010-11-30 Tejas Israel Ltd Network edge device and telecommunications network
US8429371B2 (en) * 2010-03-23 2013-04-23 Avaya Inc. System and method for robust and efficient free chain management
EP2667545A4 (en) 2011-01-17 2017-08-23 Nec Corporation Network system, controller, switch, and traffic monitoring method
US20120239727A1 (en) * 2011-03-16 2012-09-20 Kddi Corporation Multimedia service network and method for providing the same
US8711860B2 (en) * 2011-12-22 2014-04-29 Telefonaktiebolaget L M Ericsson (Publ) Controller for flexible and extensible flow processing in software-defined networks
US10097452B2 (en) * 2012-04-16 2018-10-09 Telefonaktiebolaget Lm Ericsson (Publ) Chaining of inline services using software defined networking
US9473570B2 (en) * 2013-03-13 2016-10-18 Cisco Technology, Inc. Instantiating an application flow into a chain of services in a virtual data center
US9160650B2 (en) * 2013-06-17 2015-10-13 Futurewei Technologies, Inc. Enhanced flow entry table cache replacement in a software-defined networking switch
US9755960B2 (en) * 2013-09-30 2017-09-05 Juniper Networks, Inc. Session-aware service chaining within computer networks

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103095565A (zh) * 2012-10-18 2013-05-08 中兴通讯股份有限公司 一种软件定义网络操作***及其实现方法
CN103326884A (zh) * 2013-05-30 2013-09-25 烽火通信科技股份有限公司 Sdn网络中结合流检测和包检测的业务流感知***及方法
CN103338163A (zh) * 2013-07-16 2013-10-02 清华大学 支持动态弹性资源调度的软件定义网络控制器

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
《An agent-based modeling approach of network migration to new technologies》;Tamal Das,Marek Drogon,Admela Jukan,Marco Hoffmann;《2013 IEEE International Conference on Communications》;20131107;第2583-2588页
《软件定义网络架构研究与实践》;兰巨龙,莫涵,胡宇翔;《中兴通讯技术》;20131031;第19卷(第5期);第11-15页

Also Published As

Publication number Publication date
US10255120B2 (en) 2019-04-09
US20160283290A1 (en) 2016-09-29
CN105793823A (zh) 2016-07-20
WO2015082084A1 (en) 2015-06-11
WO2015082016A1 (en) 2015-06-11

Similar Documents

Publication Publication Date Title
CN105793823B (zh) 在软件定义网络中链接应用的方法和控制器
EP3593503B1 (en) Packet processor in virtual filtering platform
US11909713B2 (en) Address translation for external network appliance
US11356413B2 (en) Providing a fast path between two entities
US20200293180A1 (en) Stage upgrade of image versions on devices in a cluster
US9602415B2 (en) Flow based network service insertion
Trois et al. A survey on SDN programming languages: Toward a taxonomy
CN104092565B (zh) 一种面向云数据中心的多租户策略驱动型软件定义网络方法
Monsanto et al. Composing software defined networks
CN103946834B (zh) 虚拟网络接口对象
CN105306333B (zh) 用于跨越多个网络进行服务链接的方法和控制器
CN107872392A (zh) 在网络中分配服务功能链数据和服务功能实例数据
CN107003860B (zh) 一种软件定义网络控制器及其创建方法
CN106105115A (zh) 网络环境中由服务节点始发的服务链
CN103763367A (zh) 一种云计算数据中心分布式虚拟网络设计方法及***
Xiong et al. A mechanism for configurable network service chaining and its implementation
Castanho et al. Chaining-box: A transparent service function chaining architecture leveraging BPF
Gadre et al. Centralized approaches for virtual network function placement in SDN-enabled networks
EP3058464B1 (en) Method and controller for chaining applications in a software defined network
AT&T
Mohammadkhan et al. Protocols to support autonomy and control for NFV in software defined networks
Alvarado-Unamuno et al. Design and Implementation of Traffic Balancer over Overlay Networks with Vxlan Tunneling
Rankothge Towards virtualized network functions as a service
Körner Software defined networking based data-center services
Reid et al. Namespaces, security, and network addresses

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