交换机、控制设备及其管理方法

文档序号:10626756阅读:272来源:国知局
交换机、控制设备及其管理方法
【专利摘要】一种控制设备与交换机通信,控制设备包含存储器,存储器中存储多个网络应用程序,网络应用程序是对交换机接收的数据流进行处理的软件程序,控制设备选取交换机所需的网络应用程序并将其发送给交换机,并在发送完毕后发送安装命令给交换机,交换机接收网络应用程序并进行安装,当交换机接收外界的数据流时,将数据流传给网络应用程序进行处理。本发明还提供一种控制设备的管理方法及一种交换机的管理方法。本发明所提供的控制设备、交换机及管理方法能简化控制设备和交换机之间的数据传送过程,提高控制设备和交换机之间传送数据流表的效率,交换机能独立的完成部分数据流的处理,减轻控制设备的处理器负担。
【专利说明】
交换机、控制设备及其管理方法
技术领域
[0001]本发明涉及通信领域,具体而言,涉及软件定义网络(Software Defined Network,SDN)中交换机、控制设备及其管理的方法。【背景技术】
[0002]软件定义网络(Software Defined Network, SDN)是一种新型网络创新架构,其核心技术开放流(Open Flow)通过将网络设备控制面与数据面分离开来,SDN控制器实现网络拓扑的收集、路由的计算、流表的生成及下发、网络的管理与控制等功能,网络层设备例如交换机仅负责流量的转发及策略的执行。转发与控制分离带来了控制逻辑集中,SDN 控制器拥有网络的全局静态拓扑、全网的动态转发表信息、全网络的资源利用率、故障状态等,从而也开放了网络能力,通过集中的SDN控制器实现网络资源的统一管理、整合以及虚拟化后,采用规范化的接口为上层应用提供按需的网络资源及服务,实现网络能力开放,按需提供,但是这样的设置产生了以下问题:第一,造成了数据流在控制设备和交换机之间、 交换机和交换机之间重复来回的信息传递;第二,交换机的带外信号管理端口限制与控制设备之间的通信速度。
[0003]参阅图1,图1所示为现有SDN网络架构中进行地址解析的数据流传输示意图,是对第一问题的举例描述,在图1中包含控制设备10,第一交换机20a、第二交换机20b、第三交换机20c、第四交换机20d、第一主机30a、第二主机30b,各个设备之间的连接关系为:控制设备10与第一交换机20a直接相连、控制设备10与第二交换机20b直接相连,第一交换机20a、第二交换机20b、第三交换机20c,第四交换机20d之间两两相连,第三交换机20c 与第一主机30a直接相连、第四交换机20d和第二主机30b直接相连。在这里假设第一主机30a的地址为10.10.10.100,第二主机30b的地址为10.10.10.200。第一主机30a向第三交换机20c请求对IP地址10.10.10.200进行地址解析,第三交换机20c接收请求信息并传送给第一交换机20a,第一交换机20a将请求信息发送给控制设备10,控制设备10以广播的方式向所有端口发送地址解析请求。第一交换机20a接收到地址解析请求并以广播方式发送地址解析请求,第三交换机20c接收地址解析请求并以广播方式发送地址解析请求,第四交换机20d接收地址解析请求,此时第四交换机20d并不能对地址解析请求信息进行正确的解读,因而将把该地址解析请求传送给第二交换机20b,通过第二交换机20b将地址解析请求发送给控制设备10进行处理。控制设备10接收地址解析请求后将以广播方式发送地址解析请求,第二交换机20b将接收地址解析请求并将其以广播方式传送出去,第四交换机20d接收地址解析请求并将其以广播方式进行传送,第二主机30b接收到地址解析请求,产生地址解析回应信息并将回应信息返回给第四交换机20d。
[0004]此时,第四交换机20d并不能对地址解析回应信息进行正确的解读,因而需要通过第二交换机20b将地址解析回应信息发送给控制设备10进行处理。控制设备10接收地址解析回应信息后,创建一个流表,该流表中包含信息的来源地址目的地址、物理地址、输入/输出端口等地址解析信息,并将该流表以广播的方式传送给所有端口。第二交换机20b接收流表并以广播方式将该流表传送出去,第四交换机20d将接收该流表。
[0005]第四交换机20d将地址解析回应信息传送给第三交换机20c,同样的,第三交换机20c并不能对地址解析回应信息进行正确的解读,因而需要通过第一交换机20a将地址解析回应信息传送给控制设备10进行处理。控制设备10接收地址解析回应信息后,创建一个流表,该流表中包含信息的来源地址、目的地址、物理地址、输入/输出端口等地址解析信息,并将该流表以广播的方式传送给所有端口。第一交换机20a接收流表并以广播方式将该流表传送出去,第三交换机20c将接收该流表。第三交换机20c将包含地址为 10.10.10.200属于第二主机30b的地址解析回应信息发送给第一主机30a。因此在现有架构之下,造成了数据流在控制设备和交换机之间、交换机和交换机之间重复来回的信息传递的问题。
[0006]参阅图2,图2所示为现有SDN网络架构中第一交换机20a与控制设备10的连接示意图。下面参阅图2来详细说明所述的第二个问题,第一交换机20a包含有32个四通道可插拔端口(Quad Small Form-factor Pluggable, QSFP) 20al 以及一个带外信号管理端口 20a2,每个四通道可插拔端口的可容纳40Gbps的传输速率,第一交换机20a通过带外信号管理端口 20a2与控制设备10进行通信,带外信号管理端口 20a2的传输速率仅仅为lGbps, 由于在现有架构中有大量的数据需要经过带外信号管理端口 20a2进行传送,因而带外信号管理端口 20a2的传输速率将限制数据流表的处理效率。
[0007]由于现有SDN网络架构中存在以上的问题,因而急需提供一种简化控制设备和交换机之间的数据传送过程,提高控制设备和交换机之间传送数据流表的控制设备、交换机及管理方法。
【发明内容】

[0008]有鉴于此,本发明提供一种控制设备,用以简化控制设备和交换机的数据传送过程,提高控制设备信息处理效率。
[0009]另外,本发明还提供一种交换机,用以简化和控制设备的数据传送过程,提高交换机处理数据的效率。
[0010]本发明提供一种控制设备管理的方法,用以简化控制设备和交换机的数据传送过程,提高控制设备信息处理效率。
[0011]另外,本发明还提供一种交换机管理的方法,用以简化和控制设备的数据传送过程,提高交换机处理数据的效率。
[0012]本发明实施方式中提供的控制设备,所述控制设备与交换机进行通信,所述控制设备包括存储器,所述存储器中存储多个网络应用程序,所述网络应用程序是对所述交换机接收的数据流进行处理的软件程序,所述控制设备还包括:选择模块、控制模块。选择模块用于从所述多个网络应用程序中选取所述交换机所需的网络应用程序,控制模块用于将所选取的网络应用程序发送给所述交换机,并在发送完毕后发送安装命令给所述交换机, 以控制所述交换机安装所需的网络应用程序。
[0013]优选地,所述控制设备还包括管理模块用于向所述交换机发送询问消息,询问所述交换机已经安装的网络应用程序,其中所述选择模块接收所述交换机返回的已安装程序表,并选取不包含在所述已安装程序表中的网络应用程序以发送给所述交换机。
[0014]优选地,所述选择模块接收所述交换机发送的下载网络应用程序的请求信息,并根据所述请求信息选取所述交换机所指定要下载的网络应用程序以发送给所述交换机。
[0015]优选地,所述选择模块还用于对选取的所述网络应用程序进行分块处理,并对所述网络应用程序的程序块进行标号,所述控制模块利用扩展的包裹信息依照所述标号传送所述程序块给所述交换机。
[0016]优选地,所述扩展的包裹信息包括信令类型、网络应用程序名称和/或程序块标号。
[0017]本发明实施方式中提供的交换机,所述交换机与控制设备进行通信,所述交换机包括安装模块、代理模块。安装模块用于接收所述控制设备发送的网络应用程序,并接收所述控制设备发送的安装命令,安装所述网络应用程序,代理模块用于为所述网络应用程序建立处理任务,与所述网络应用程序进行通信,将数据流提供给所述网络应用程序进行处理。
[0018]优选地,所述数据流为packet-out报文。
[0019]优选地,还包括查询模块用于接收所述控制设备发送的询问信息,查询所述交换机已经安装的网络应用程序,生成已安装程序表,并将所述已安装程序表发送给所述控制设备。
[0020]优选地,还包括查询模块用于向所述控制设备发送下载网络应用程序的请求信息,所述请求信息包含指定要下载的网络应用程序,以供所述控制设备根据所述请求信息选取所述指定要下载的的网络应用程序。
[0021]优选地,所述安装模块接收所述网络应用程序的具体步骤包括接收组成网络应用程序的N个程序块,其中,每个程序块具有标号,所述程序块是利用扩展的包裹信息依照所述标号进行传送的。
[0022]优选地,所述扩展的包裹信息包括信令类型、网络应用程序名称和/或程序块标号。
[0023]优选地,所述网络应用程序接收所述数据流并判断是否识别所述数据流,如果识另IJ,则产生对所述数据流的处理流程,并将所述处理流程发送至所述代理模块,所述代理模块还用于接收所述处理流程,根据所述处理流程对数据流进行处理。
[0024]优选地,所述代理模块还用于当所述网络应用程序不识别所述数据流时,将所述数据流传输给下一个网络应用程序进行处理。
[0025]优选地,所述代理模块还用于当所述交换机的所有网络应用程序都无法识别所述数据流时,将所述数据流传给所述控制设备。
[0026]本发明实施方式中提供的控制设备的管理方法,所述控制设备与交换机进行通信,所述控制设备包括存储器,所述存储器中存储多个网络应用程序,所述网络应用程序是对所述交换机接收的数据流进行处理的软件程序,所述方法还包括从所述多个网络应用程序中选取所述交换机所需的网络应用程序,将所选取的网络应用程序发送给所述交换机, 并在发送完毕后发送安装命令给所述交换机,以控制所述交换机安装所需的网络应用程序。
[0027]优选地,所述方法还包括向所述交换机发送询问消息,询问所述交换机已经安装的网络应用程序,接收所述交换机返回的已安装程序表,并选取不包含在所述已安装程序表中的网络应用程序以发送给所述交换机。
[0028]优选地,所述方法还包括接收所述交换机发送的下载网络应用程序的请求信息, 并根据所述请求信息选取所述交换机所指定要下载的网络应用程序以发送给所述交换机。
[0029]优选地,所述方法还包括对选取的所述网络应用程序进行分块处理,并对所述网络应用程序的程序块进行标号,利用扩展的包裹信息依照所述标号传送所述程序块给所述交换机。
[0030]优选地,所述扩展的包裹信息包括信令类型、网络应用程序名称和/或程序块标号。[0031 ]本发明实施方式中提供的交换机的管理方法,所述交换机与控制设备进行通信,所述方法包括接收所述控制设备发送的网络应用程序,并接收所述控制设备发送的安装命令,安装所述网络应用程序,为所述网络应用程序建立处理任务,与所述网络应用程序进行通信,将数据流提供给所述网络应用程序进行处理。
[0032]优选地,所述数据流为packet-out报文。
[0033]优选地,所述方法还包括接收所述控制设备发送的询问信息,查询所述交换机已经安装的网络应用程序,生成已安装程序表,并将所述已安装程序表发送给所述控制设备。
[0034]优选地,所述方法还包括向所述控制设备发送下载网络应用程序的请求信息,所述请求信息包含指定要下载的网络应用程序,以供所述控制设备根据所述请求信息选取所述指定要下载的的网络应用程序。
[0035]优选地,接收所述网络应用程序的具体步骤包括接收组成网络应用程序的N个程序块,其中,每个程序块具有标号,所述程序块是利用扩展的包裹信息依照所述标号进行传送的。
[0036]优选地,所述扩展的包裹信息包括信令类型、网络应用程序名称和/或程序块标号。
[0037]优选地,所述方法还包括所述网络应用程序接收所述数据流并判断是否识别所述数据流,如果识别,则产生对所述数据流的处理流程,并根据所述处理流程对数据流进行处理。
[0038]优选地,当所述网络应用程序不识别所述数据流时,将所述数据流传输给下一个网络应用程序进行处理。
[0039]优选地,所述方法还包括当所述交换机所有网络应用程序都无法识别所述数据流时,将所述数据流传给所述控制设备。
[0040]因此,本发明实施方式中的控制设备、交换机及管理方法能简化控制设备和交换机之间的数据传送过程,提高控制设备和交换机之间传送数据流表的效率,交换机能独立的完成部分数据流的处理,减轻控制设备的处理器负担,将控制设备中的处理数据流功能, 以网络应用程序的方式安装于交换机上,以降低控制设备的处理时间及负担,控制设备能依交换机的性能及处理需求,安装不同的网络应用程序,提高交换机处理数据的能力,协助当控制设备停止运作时,交换机还能以网络应用程序处理数据流,并确保数据流能被正确的处理。【附图说明】
[0041]图1是现有软件定义网络架构中进行地址解析的数据流传输示意图。
[0042]图2是现有软件定义网络架构中交换机与控制设备之间连接示意图。
[0043]图3是本发明控制设备10、第一交换机20a的应用环境图。
[0044]图4是本发明控制设备10、第一交换机20a —实施方式的功能模块图。
[0045]图5是本发明控制设备10、第一交换机20a另一实施方式的功能模块图。
[0046]图6是本发明控制设备10控制第一交换机20a安装网络应用程序的一实施方式的流程图。
[0047]图7是本发明控制设备10控制第一交换机20a安装网络应用程序的另一实施方式的流程图。
[0048]图8是本发明第一交换机20a处理数据流的一实施方式的流程图。
[0049]主要元件符号说明
[0050]控制设备10
[0051]管理模块100
[0052]选择模块102
[0053]控制模块104
[0054]存储器106
[0055]处理器108
[0056]第一交换机20a
[0057]第二交换机20b
[0058]第三交换机20c
[0059]第四交换机20d
[0060]第一主机30a
[0061]第二主机30b
[0062]安全通道40
[0063]四通道可插拔端口20al
[0064]带外信号管理端口20a2
[0065]查询模块200
[0066]安装模块202
[0067]代理模块204
[0068]处理模块206
[0069]存储模块208【具体实施方式】
[0070]参阅图3,图3所示为本发明控制设备10、第一交换机20a的应用环境图。在图3 中包含控制设备10,第一交换机20a、第二交换机20b、第三交换机20c、第四交换机20d,其中,第一交换机20a、第二交换机20b为核心交换机,第三交换机20c、第四交换机20d为边缘交换机,控制设备10与第一交换机20a直接相连、控制设备10与第二交换机20b直接相连,第一交换机20a、第二交换机20b、第三交换机20c、第四交换机20d之间两两相连,第三交换机20c与第一主机30a相连,第四交换机20d第二主机30b连接。
[0071]为了解决控制设备和交换机之间之间数据流来回重复传递、交换机的带外信号管理端口传输速度限制与控制设备之间的通信速度等问题,本实发明在控制设备10中存储多个网络应用程序,每个网络应用程序能对一种数据流进行处理,比如对地址解析数据流进行处理的地址解析应用程序,也可为实现其他网络功能的程序,如路由应用程序、防火墙程序等。控制设备为交换机预先安装网络应用程序,当交换机接收数据流后,将数据流传给自身安装的网络应用程序进行识别处理,这样,交换机无须将所有数据流都传给控制设备进行处理,避免了控制设备和交换机之间数据流来回重复传递的问题,由于大大减少了交换机和控制设备之间的数据流,因而也解决了交换机的带外信号管理端口限制与控制设备之间的通信速度的问题。下面为本发明实施方式的详细说明。
[0072]参阅图4,图4所示为本发明控制设备10、第一交换机20a —实施方式的功能模块图。在本实施方式中,控制设备10、第一交换机20a应用于在图3所示的实施环境中,第一交换机20a通过带外信号管理端口 20a2经过安全通道40与控制设备10相连,类似地,第二交换机20b通过自身的带外信号管理端口经过安全通道与控制设备10相连。第一交换机20a和第二第二交换机20b的结构功能相同或相似。
[0073]在本实施方式中,控制设备10包括管理模块100、选择模块102、控制模块104、存储器106,其中,存储器106中存储有多个网络应用程序,每个网络应用程序能对一种数据流进行处理,比如对地址解析数据流进行处理的地址解析应用程序,也可为实现其他网络功能的程序,如路由应用程序、防火墙程序等。第一交换机20a包括查询模块200、安装模块 202及代理模块204。
[0074]控制设备10的管理模块100向第一交换机20a发送询问消息,询问第一交换机 20a已经安装的网络应用程序。其中,网络应用程序是安装在交换机中用于对交换机接收的数据流进行处理的软件程序,比如常见的地址解析应用程序、Layer2学习程序、路由应用程序、防火墙程序等,每个网络应用程序有对应的身份号码(identificat1n,ID)。
[0075]第一交换机20a的查询模块200接收控制设备10发送的询问信息,查询已经安装的网络应用程序,生成已安装程序表,并将已安装程序表发送给控制设备10。
[0076]控制设备10的选择模块102接收第一交换机20a发送的已安装程序表,并从存储器106中选取不包含在已安装程序表中的其他的网络应用程序,将选取的网络应用程序进行分块处理,并对程序块依次进行标号,如block 1、…、block n。
[0077]控制设备10的控制模块104发送扩展的OpenFlow规格书中的包裹信息(Bundle Message)以传送网络应用程序,扩展的包裹信息包括信令类型、网络应用程序名称和、或程序块标号。
[0078]举例而言,控制模块104需传送名称为App-1D的网络应用程序给第一交换机20a, 该网络应用程序的程序块标号为block 1、…、block n,那么控制模块104发送扩展的包裹信息可如下所示:
[0079]bundlemessage1:OFPBCT-〇PEN_APP-REQUESTApp-1D;
[0080]bundlemessage2:0FPT-BUNDLE-ADD-MESSAGEApp-1Dblock1 ;
[0081]bundlemessage3:0FPT-BUNDLE-ADD-MESSAGEApp-1D.? ?
[0082]bundlemessage4:0FPT-BUNDLE-ADD-MESSAGEApp-1Dblockn ;
[0083]bundle message 5:0FPBCT-CL0SE-APP_REQUEST App-1D ;
[0084]bundle message 6:0FPBCT_C0MMIT-REQUEST App-1D〇
[0085]其中,bundle message 1表示控制设备10要求第一交换机20a开始下载名为 App-1D的网络应用程序的控制信息;bundle message 1表示控制设备10要求第一交换机 20a下载名为App-1D的网络应用程序的程序块1的控制信息;bundle message 3表示控制设备10要求第一交换机20a开始下载名为App-1D的网络应用程序其他程序块的控制信息;bundle message 4表示控制设备10要求第一交换机20a开始下载名为App-1D的网络应用程序的程序块n的控制信息;bundle message 5表示第一交换机20a结束下载名为 App-1D的网络应用程序的控制信息;bundle message 6表示第一交换机20a安装下载名为 App-1D的网络应用程序的控制信息。
[0086]以下是控制模块104利用扩展的bundle message传送网络应用程序的具体过程。控制模块104发送bundle message 1给第一交换机20a,第一交换机20a的安装模块202接收bundle message 1,并分析名为App-1D的网络应用软件是否已经安装,若已经安装,则返回已安装信息给控制设备10结束下载过程,若没有安装,则返回确认接收信息给控制设备10,准备接收网络应用程序。控制模块104接收到确认接收信息后,将bundle message 2发给第一交换机20a,将名为App-1D的网络应用程序的程序块1传送给第一交换机20a,安装模块202接收程序块1。控制模块104持续将其他程序块传送给第一交换机 20a,直到将所有程序块发送完毕,安装模块202持续接收其他程序块,控制模块104发送 bundle message 5,控制第一交换机20a结束网络应用程序的下载,并发送bundle message 6,控制第一交换机20a安装该网络应用程序,第一交换机20a的安装模块202接收bundle message 5、bundle message 6,结束下载网络应用程序并安装该网络应用程序。
[0087]第一交换机20a通过以上实施方式安装了多个网络应用程序后,自身就能对数据流进行相应处理,当第一交换机20a接收外界传入的数据流时,代理模块204为网络应用程序建立处理任务,使用网络套接字,即“Network Socket”与网络应用程序进行通信,将Packet-Out报文传送给第一交换机20a的代理模块204,代理模块204接收输入的 Packet-Out报文,为网络应用程序建立处理任务,使用网络套接字,S卩“Network Socket” 与网络应用程序进行通信,将Packet-Out报文提供给网络应用程序,网络应用程序接收 Packet-Out报文并判断是否识别该Packet-Out报文,如果识别,则网络应用程序发送 Packet-Out报文的处理流程发送至代理模块204,代理模块204接收处理流程,对数据流进行处理,如果不识别该Packet-Out报文,则将Packet-Out报文依次传输给下一个网络应用程序进行处理,当所有网络应用程序都无法识别该Packet-Out报文时,将Packet-Out报文传给控制设备10进行处理。例如,第一交换机20a安装了 “Layer2学习程序”,当Layer2 学习程序接收到能识别的Packet-Out报文时,根据识别结果,Layer2学习程序有权限要求第一交换机20a的代理模块204增加、删除或者修改流表和执行端口相关处理。
[0088]在另外实施方式中,控制设备10的管理模块100侦测第一交换机20a所处的网络状态,控制设备10的选择模块102根据侦测到的第一交换机20a的网络状态选取第一交换机20a需要的网络应用程序,控制设备10的控制模块104发送扩展的包裹信息(Bundle Message)以传送选取的网络应用程序。
[0089]此外,在其他实施方式中,第一交换机20a的查询模块200向控制设备10发送请求信息,请求安装网络应用程序,该请求信息中可以指定请求安装一个或多个网络应用程序,控制设备10的选择模块102接收第一交换机20a发送的请求信息,并选取指定的网络应用程序,将选取的网络应用程序进行分块处理,控制设备10的控制模块104发送扩展的包裹信息(Bundle Message)以传送选取的网络应用程序。
[0090]参阅图5,图5所示为本发明控制设备10、第一交换机20a另一实施方式的功能模块图,在本实施方式中,控制设备10包括管理模块1〇〇、选择模块102、控制模块104、处理器 108及存储器106。第一交换机20a包括查询模块200、安装模块202及代理模块204、处理模块206及存储模块208。管理模块100、选择模块102、控制模块104、查询模块200、安装模块202及代理模块204功能与图4中相同,存储器106用于存储控制设备10各个模块的软件代码以及接收的数据流等资料。处理器108用于执行软件代码以实现上述控制设备10 的模块的功能。存储模块208用于存储第一交换机20a各个模块的软件代码以及接受的数据流等资料。处理模块206用于执行软件代码以实现上述第一交换机20a的模块的功能。
[0091]从上面的实施方式中可以看出,若第一交换机20a安装了能识别地址解析请求的地址解析程序时,交换机接收到地址解析请求时,将地址解析请求送入地址解析应用程序, 直接进行地址解析处理,不需要交换机与控制设备沟通,这样第一交换机20a不需要将地址解析请求再传送给控制设备10等待控制设备10发送控制命令才能获取处理方式,能避免来回重复在第一交换机20a和控制设备10之间传送数据流,当第一交换机20a安装多个网络应用程序时,能大大减少了交换机和控制设备之间的数据流,因而也解决了交换机的带外信号管理端口限制与控制设备之间的通信速度的问题。
[0092]请参阅图6,图6所示为本发明控制设备10控制第一交换机20a安装网络应用程序的一实施方式的流程图。图6所示的流程通过图3所示的应用环境和图4、图5的功能模块实现。
[0093]在步骤S600,控制设备10的管理模块100发送消息给第一交换机20a,询问第一交换机20a已安装的应用程序。
[0094]在步骤S602,第一交换机20a的查询模块200接收控制设备10发送的询问信息, 查询已经安装的网络应用程序,生成已安装程序表,并将已安装程序表发送给控制设备10。
[0095]在步骤S604,控制设备10的选择模块102接收已安装程序表,并选取不包含在已安装程序表中的其他的网络应用程序,将选取的网络应用程序进行分块处理,将网络应用程序以程序块的形式发送给第一交换机20a。
[0096]在步骤S606,第一交换机20a的安装模块202接收新的网络应用程序的程序块。
[0097]在步骤S608,控制设备10发送安装命令给第一交换机20a。
[0098]在步骤S610,第一交换机20a接收安装命令,安装并激活该网络应用程序。
[0099]图7为本发明控制设备10控制第一交换机20a安装网络应用程序的另一实施方式的流程图。图7所示的流程通过图3所示的环境应用的网络架构和图4、图5的功能模块实施。
[0100]在步骤S700,第一交换机20a的查询模块200向控制设备10发送请求信息,请求安装命名为App-1D的网络应用程序,当然,该请求信息中可以指定请求安装多个网络应用程序。
[0101]在步骤S702,控制设备10的选择模块102接收第一交换机20a发送的请求信息, 并选取指定的网络应用程序,将选取的网络应用程序进行分块处理,并对程序块进行标号。
[0102]在步骤S704,控制设备10的控制模块104利用扩展的包裹信息将命名为App-1D 的网络应用程序的程序块发送给第一交换机20a。
[0103]在步骤S706,第一交换机20a的安装模块202接收所有的网络应用程序所有的程序块。
[0104]在步骤S708,控制设备10的控制模块104发送完网络应用程序的所有程序块后, 发送携带关闭网络应用程序下载的bundle message给第一交换机20a。
[0105]在步骤S710,第一交换机20a的安装模块202接收携带关关闭网络应用程序下载的bundle message,结束网络应用程序的下载。
[0106]在步骤S712,控制设备10的控制模块104发送携带确认安装网络应用程序的 bundle message至控制第一交换机20a。
[0107]在步骤S714,第一交换机20a的安装模块202接收携带确认安装网络应用程序的 bundle message,并安装该网络应用程序。
[0108]第一交换机20a通过上述实施方式安装了多个网络应用程序后,当第一交换机 20a接收外界传入的数据流时,就能对数据流进行处。具体处理过程请参阅图8。
[0109]参阅图8,图8所示为本发明第一交换机20a处理数据流的一实施方式的流程图。 图8所示的流程通过图1的网络架构和图4、图5的功能模块实施。
[0110]在步骤S800,第一交换机20a的代理模块204为网络应用程序建立处理任务。
[0111]在步骤S802,使用网络套接字(Network Socket)与网络应用程序进行通信,将 Packet-Out报文提供给网络应用程序。
[0112]在步骤S804,网络应用程序接收Packet-Out报文并判断是否识别该Packet-Out 报文。
[0113]如果识别,则在步骤S806,网络应用程序发送Packet-Out报文的处理流程至代理模块204。
[0114]在步骤S808,代理模块204接收处理流程,Packet-Out报文进行处理,如创建流表。
[0115]如果不识别该Packet-Out报文,则在步骤S810,判断是否依次将Packet-Out报文提供给第一交换机20a的所有网络应用程序。
[0116]如果没有提供给第一交换机20a的所有网络应用程序,则在步骤S812,将 Packet-Out报文传输给下一个网络应用软件,以进行Packet-Out报文识别。
[0117]如果已提供给第一交换机20a的所有网络应用程序,则在步骤S814,代理模块204 将Packet-Out报文传送给控制设备10进行处理。
[0118]因此,本发明实施方式中的控制设备10、第一交换机20a及管理方法能简化控制设备10和第一交换机20a之间的数据传送过程,提高控制设备和交换机之间数据流的传输速率,第一交换机20a能独立的完成部分数据流的处理,减轻控制设备10的处理器负担,将控制设备10中的处理数据流功能,以网络应用程序的方式安装于第一交换机20a上,以降低控制设备10的处理时间及负担,控制设备10能依第一交换机20a的性能及处理需求, 安装不同的网络应用程序,提高交换机处理数据的能力,协助当控制设备10停止运作时, 第一交换机20a还能以网络应用程序处理数据流,并确保数据流能被正确的处理。
【主权项】
1.一种控制设备,所述控制设备与交换机进行通信,所述控制设备包括存储器,所述存 储器中存储多个网络应用程序,所述网络应用程序是对所述交换机接收的数据流进行处理 的软件程序,其特征在于,所述控制设备还包括:选择模块,用于从所述多个网络应用程序中选取所述交换机所需的网络应用程序;及控制模块,用于将所选取的网络应用程序发送给所述交换机,并在发送完毕后发送安 装命令给所述交换机,以控制所述交换机安装所需的网络应用程序。2.如权利要求1所述的控制设备,其特征在于,还包括:管理模块,用于向所述交换机发送询问消息,询问所述交换机已经安装的网络应用程 序;其中所述选择模块接收所述交换机返回的已安装程序表,并选取不包含在所述已安装 程序表中的网络应用程序以发送给所述交换机。3.如权利要求1所述的控制设备,其特征在于,所述选择模块接收所述交换机发送的 下载网络应用程序的请求信息,并根据所述请求信息选取所述交换机所指定要下载的网络 应用程序以发送给所述交换机。4.如权利要求1所述的控制设备,其特征在于,所述选择模块还用于对选取的所述网 络应用程序进行分块处理,并对所述网络应用程序的程序块进行标号;所述控制模块利用扩展的包裹信息依照所述标号传送所述程序块给所述交换机。5.如权利要求4所述的控制设备,其特征在于,所述扩展的包裹信息包括信令类型、网 络应用程序名称和/或程序块标号。6.—种交换机,所述交换机与控制设备进行通信,其特征在于,所述交换机包括:安装模块,用于接收所述控制设备发送的网络应用程序,并接收所述控制设备发送的 安装命令,安装所述网络应用程序;及代理模块,用于为所述网络应用程序建立处理任务,与所述网络应用程序进行通信,将 数据流提供给所述网络应用程序进行处理。7.如权利要求6所述的交换机,其特征在于,所述数据流为packet-out报文。8.如权利要求6所述的交换机,其特征在于,还包括查询模块,用于接收所述控制设备 发送的询问信息,查询所述交换机已经安装的网络应用程序,生成已安装程序表,并将所述 已安装程序表发送给所述控制设备。9.如权利要求6所述的交换机,其特征在于,还包括查询模块,用于向所述控制设备发 送下载网络应用程序的请求信息,所述请求信息包含指定要下载的网络应用程序,以供所 述控制设备根据所述请求信息选取所述指定要下载的的网络应用程序。10.如权利要求6所述的交换机,其特征在于,所述安装模块接收所述网络应用程序的 具体步骤包括:接收组成网络应用程序的N个程序块,其中,每个程序块具有标号,所述程序块是利用 扩展的包裹信息依照所述标号进行传送的。11.如权利要求10所述的交换机,其特征在于,所述扩展的包裹信息包括信令类型、网 络应用程序名称和/或程序块标号。12.如权利要求6所述的交换机,其特征在于,所述网络应用程序接收所述数据流并判 断是否识别所述数据流,如果识别,则产生对所述数据流的处理流程,并将所述处理流程发送至所述代理模块;所述代理模块还用于接收所述处理流程,根据所述处理流程对数据流进行处理。13.如权利要求12所述的交换机,其特征在于,所述代理模块还用于当所述网络应用 程序不识别所述数据流时,将所述数据流传输给下一个网络应用程序进行处理。14.如权利要求13所述的交换机,其特征在于,所述代理模块还用于当所述交换机的 所有网络应用程序都无法识别所述数据流时,将所述数据流传给所述控制设备。15.—种控制设备的管理方法,所述控制设备与交换机进行通信,所述控制设备包括存 储器,所述存储器中存储多个网络应用程序,所述网络应用程序是对所述交换机接收的数 据流进行处理的软件程序,其特征在于,所述方法还包括:从所述多个网络应用程序中选取 所述交换机所需的网络应用程序;及将所选取的网络应用程序发送给所述交换机,并在发送完毕后发送安装命令给所述交 换机,以控制所述交换机安装所需的网络应用程序。16.如权利要求15所述的方法,其特征在于,还包括:向所述交换机发送询问消息,询问所述交换机已经安装的网络应用程序;接收所述交换机返回的已安装程序表,并选取不包含在所述已安装程序表中的网络应 用程序以发送给所述交换机。17.如权利要求15所述的方法,其特征在于,还包括:接收所述交换机发送的下载网络应用程序的请求信息,并根据所述请求信息选取所述 交换机所指定要下载的网络应用程序以发送给所述交换机。18.如权利要求15所述的方法,其特征在于,所述方法还包括:对选取的所述网络应用程序进行分块处理,并对所述网络应用程序的程序块进行标 号;利用扩展的包裹信息依照所述标号传送所述程序块给所述交换机。19.如权利要求18所述的方法,其特征在于,所述扩展的包裹信息包括信令类型、网络 应用程序名称和/或程序块标号。20.—种交换机的管理方法,所述交换机与控制设备进行通信,其特征在于,所述方法 包括:接收所述控制设备发送的网络应用程序,并接收所述控制设备发送的安装命令,安装 所述网络应用程序;及为所述网络应用程序建立处理任务,与所述网络应用程序进行通信,将数据流提供给 所述网络应用程序进行处理。21.如权利要求20所述的方法,其特征在于,所述数据流为packet-out报文。22.如权利要求20所述的方法,其特征在于,所述方法还包括:接收所述控制设备发送的询问信息,查询所述交换机已经安装的网络应用程序,生成 已安装程序表,并将所述已安装程序表发送给所述控制设备。23.如权利要求20所述的方法,其特征在于,所述方法还包括:向所述控制设备发送下载网络应用程序的请求信息,所述请求信息包含指定要下载的 网络应用程序,以供所述控制设备根据所述请求信息选取所述指定要下载的的网络应用程 序。24.如权利要求20所述的方法,其特征在于,接收所述网络应用程序的具体步骤包括: 接收组成网络应用程序的N个程序块,其中,每个程序块具有标号,所述程序块是利用扩展的包裹信息依照所述标号进行传送的。25.如权利要求24所述的方法,其特征在于,所述扩展的包裹信息包括信令类型、网络 应用程序名称和/或程序块标号。26.如权利要求20所述的方法,其特征在于,所述方法还包括:所述网络应用程序接收所述数据流并判断是否识别所述数据流,如果识别,则产生对 所述数据流的处理流程,并,根据所述处理流程对数据流进行处理。27.如权利要求20所述的方法,其特征在于,当所述网络应用程序不识别所述数据流 时,将所述数据流传输给下一个网络应用程序进行处理。28.如权利要求27所述的方法,其特征在于,所述方法还包括:当所述交换机所有网络应用程序都无法识别所述数据流时,将所述数据流传给所述控 制设备。
【文档编号】H04L12/801GK105991457SQ201510069148
【公开日】2016年10月5日
【申请日】2015年2月10日
【发明人】李宗宪
【申请人】鸿富锦精密工业(深圳)有限公司, 鸿海精密工业股份有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1