一种基于SDN的负载分担和安全访问方法及系统与流程

文档序号:14253166阅读:205来源:国知局
一种基于SDN的负载分担和安全访问方法及系统与流程
本发明属于网络通信
技术领域
,尤其涉及一种基于sdn的负载分担和安全访问方法及系统。
背景技术
:随着网络的壮大,网络设备和网络用户数量日益增多,网络中的服务器的负担越来越大,采用集群服务器来进行分担处理成为必然的选择。例如在视频监控系统中,接入的网络摄像机ipc有几万路甚至更多,都需要被视频管理服务器vm集中管理。然而单台vm服务器的接入量有限,如何确保网络摄像机ipc在只填写一个vm服务器注册地址的情况下进行有效的集中管理,成为急需解决的问题。在现有技术中,为了解决上述问题,通常采用业务级负载分担方案,通过一台或多台主服务器来分别管理不同业务级的网络摄像机ipc。然而在这种方案中,网络的性能瓶颈总是在主服务器。此外,对每一台主服务器都要求比较高,增加了主服务器的投资。技术实现要素:本发明的目的是提供一种基于sdn的负载分担和安全访问方法及系统,以解决大批量设备接入和业务的负载分担问题,同时提高了接入设备访问的安全性要求。为了实现上述目的,本发明技术方案如下:一种基于sdn的负载分担和安全访问方法,用于实现管理服务器集群中各管理服务器的负载分担和安全访问,所述管理服务器集群位于sdn网络中,所述sdn网络中还包括sdn控制器和sdn交换机,所述基于sdn的负载分担和安全访问方法,包括:sdn控制器接收管理服务器集群中各管理服务器下发的流表,生成包括管理服务器mac地址、ip地址和已管理任务数量的管理表项;在一台管理服务器已管理任务数量超过设定阈值时,sdn控制器向sdn交换机下发控制表项,通知sdn交换机修改发往该管理服务器的报文,将修改后的报文发往管理服务器集群中其他有冗余业务能力的管理服务器。进一步地,所述基于sdn的负载分担和安全访问方法,还包括:所述sdn交换机在修改发往该管理服务器的报文时,还在报文中增加一个字段并赋值,用于表示该报文被修改了目的管理服务器。进一步地,所述基于sdn的负载分担和安全访问方法,还包括:接收到修改后的报文的管理服务器,识别所增加的字段及其赋值,符合预设值时进行响应,在响应报文中同样增加一个字段并赋值,否则丢弃该报文。进一步地,所述基于sdn的负载分担和安全访问方法,还包括:所述sdn交换机在接收到管理服务器的响应报文时,识别所增加字段及其赋值,删除该字段后另增加一个字段并赋值。进一步地,所述管理服务器集群包括第一管理服务器和第二管理服务器,所述第一管理服务器下管理有第一接入设备,所述第二管理服务器下管理有第二接入设备,所述基于sdn的负载分担和安全访问方法,还包括:在第一管理服务器下管理的第一接入设备访问第二管理服务器下管理的第二接入设备时,第一管理服务器在sdn网络中广播携带有第二接入设备网络信息的广播消息;第二管理服务器接收到广播消息后,回复第一管理服务器该第二接入设备在第二管理服务器管理;第一管理服务器通过第二管理服务器向第二接入设备发起连接,建立第一接入设备与第二接入设备的连接。本发明还提出了一种基于sdn的负载分担和安全访问系统,用于实现管理服务器集群中各管理服务器的负载分担和安全访问,所述管理服务器集群位于sdn网络中,所述基于sdn的负载分担和安全访问系统包括位于所述sdn网络中的sdn控制器和sdn交换机,其中:sdn控制器,用于接收管理服务器集群中各管理服务器下发的流表,生成包括管理服务器mac地址、ip地址和已管理任务数量的管理表项,在一台管理服务器已管理任务数量超过设定阈值时,向sdn交换机下发控制表项;sdn交换机,用于根据sdn控制器下发的控制表项,修改发往已管理任务数量超过设定阈值的管理服务器的报文,将修改后的报文发往管理服务器集群中其他有冗余业务能力的管理服务器。进一步地,所述sdn交换机在修改发往已管理任务数量超过设定阈值的管理服务器的报文时,还在报文中增加一个字段并赋值,用于表示该报文被修改了目的管理服务器。进一步地,接收到修改后的报文的管理服务器,识别所增加的字段及其赋值,符合预设值时进行响应,在响应报文中同样增加一个字段并赋值,否则丢弃该报文。进一步地,所述sdn交换机在接收到管理服务器的响应报文时,识别所增加字段及其赋值,删除该字段后另增加一个字段并赋值。进一步地,所述管理服务器集群包括第一管理服务器和第二管理服务器,所述第一管理服务器下管理有第一接入设备,所述第二管理服务器下管理有第二接入设备,所述基于sdn的负载分担和安全访问系统,还包括:在第一管理服务器下管理的第一接入设备访问第二管理服务器下管理的第二接入设备时,第一管理服务器在sdn网络中广播携带有第二接入设备网络信息的广播消息;第二管理服务器接收到广播消息后,回复第一管理服务器该第二接入设备在第二管理服务器管理;第一管理服务器通过第二管理服务器向第二接入设备发起连接,建立第一接入设备与第二接入设备的连接。本发明提出的一种基于sdn的负载分担和安全访问方法及系统,通过sdn控制器记录管理服务器的已管理任务数量,在超过设定阈值时,向sdn交换机下发控制表项,通知sdn交换机修改发往该管理服务器的报文,将其发往管理服务器集群中其他有冗余业务能力的管理服务器。即通过sdn控制器,灵活控制报文的目的地址,适应性强,实现了管理服务器的负载分担。同时在报文中增加一个字段并赋值,满足了的不同vm上接入设备访问的安全性要求。附图说明图1为本发明实施例视频监控系统结构示意图;图2为本发明一种基于sdn的负载分担和安全访问方法流程图。具体实施方式下面结合附图和实施例对本发明技术方案做进一步详细说明,以下实施例不构成对本发明的限定。以如图1所示的视频监控系统中的vm服务器集群为例,本实施例一种基于sdn的负载均衡和安全访问方法,实现vm服务器vm1、vm2、vm3的负载分担,以及安全访问。本实施例vm服务器(vm1、vm2、vm3)与sdn控制器、sdn交换机位于同一个sdn网络中,通过sdn网络互连,设备间通过openflow协议的流表进行信息的传送。sdn交换机作为该网络的出口。视频监控系统中的接入设备ipc、客户端通过互联网与vm服务器交互时,需要经过sdn交换机。本实施例一种基于sdn的负载分担和安全访问方法,如图2所示,包括:sdn控制器接收管理服务器集群中各管理服务器下发的流表,生成包括管理服务器mac地址、ip地址和已管理任务数量的管理表项;在一台管理服务器已管理任务数量超过设定阈值时,sdn控制器向sdn交换机下发控制表项,通知sdn交换机修改发往该管理服务器的报文,将修改后的报文发往管理服务器集群中其他有冗余业务能力的管理服务器。以下通过图1的视频监控系统,对上述方法进行详细的阐述。首先假定图1中各设备的基本信息如下:vm1实际的ip地址为192.168.1.10,mac地址为48:ea:63:11:01:10;vm2实际的ip地址为192.168.1.20,mac地址为48:ea:63:11:01:20;vm3实际的ip地址为192.168.1.30,mac地址为48:ea:63:11:01:30;ipc1的ip地址:192.168.100.1,mac地址为48:ea:63:22:10:01;客户端的ip地址:192.168.200.2,mac地址为48:ea:63:33:33:02。本实施例管理服务器在图1的系统中,是指vm服务器vm1、vm2、vm3,vm服务器已管理任务数量即已注册ipc数量。各vm服务器与sdn控制器进行通信,下发流表到sdn控制器,在sdn控制器中生成包括管理服务器mac地址、ip地址和已管理任务数量的管理表项,如下表所示:vm服务器mac地址ip地址已注册ipc数量vm148:ea:63:11:01:10192.168.1.10900vm248:ea:63:11:01:20192.168.1.20200vm348:ea:63:11:01:30192.168.1.300表1本实施例假定每个vm服务器的注册上限为1000路ipc,vm服务器集群的注册策略是从vm1-vm2-vm3,前一个vm服务器注册超过90%后会转到后一个vm进行注册,即vm1已注册ipc数量达到900后,会转到vm2进行注册。当vm2已注册ipc数量达到900后,转到vm3进行注册。容易理解的是,vm服务器集群的注册策略也可以根据设定的优先级来排序,即在vm1已注册ipc数量达到900后,会从其他有冗余业务能力的vm服务器中选择一个优先级高的来进行注册。本发明不限于vm服务器集群的注册策略,目的就是在vm服务器集群中各个vm服务器间实现负载分担。本实施例在网络摄像机ipc上只填写一个vm服务器注册地址,例如填写vm1服务器的地址,通过本申请的方法能够确保网络摄像机ipc在只填写一个vm服务器注册地址的情况下进行有效的集中管理,并且做到vm服务器的负载分担。例如,ipc1向vm1的ip地址发起注册,注册服务器ip地址为vm1的ip地址。注册报文的源地址为ipc1的ip地址:192.168.100.1,目的地址为vm1的ip地址:192.168.1.10,此时注册报文的源mac地址为ipc1的mac地址(48:ea:63:22:10:01),目的mac地址为vm1的mac地址(48:ea:63:11:01:10)。sdn控制器根据记录的管理表项,发现vm1服务器已注册ipc数量已经达到900,而vm2、vm3均未达到上限,按照vm服务器集群的注册策略,例如接下来向vm2进行负载分担,则向sdn交换机发送控制表项,通知sdn交换机修改发往该vm1服务器的报文,将其发往vm2服务器。例如,发往sdn交换机的控制表项如下:表2具体地,sdn交换机收到控制表项后,将注册服务器ip地址修改为vm2的ip地址,将目的ip为vm1服务器的注册报文的目的地址修改为vm2的ip地址,目的mac也改为vm2的mac地址。此时注册报文的源mac地址为ipc1的mac地址48:ea:63:22:10:01,目的mac地址为vm2的mac地址48:ea:63:11:01:20,源ip地址为ipc1的ip地址192.168.100.1,目的ip地址为vm2的ip地址192.168.1.20。随后,sdn交换机转发修改后的注册报文,向vm2发送。vm2服务器在收到注册报文后,完成注册,回复注册响应报文给ipc1,注册响应报文的源mac地址为vm2的mac地址48:ea:63:11:01:20,目的mac地址为ipc1的mac地址48:ea:63:22:10:01,源ip地址为vm2的ip地址192.168.1.20,目的ip地址为ipc1的ip地址192.168.100.1。注册服务器ip地址为vm2的ip地址。同时,vm2增加了一个注册ipc,会向sdn控制器发送流表,sdn控制器更新管理表项。sdn交换机收到vm2发送的注册响应报文,将其转发给ipc1,注册流程完成。后续ipc1的注册保活报文向vm2发送。同样地,客户端也可以通过上述方式注册到不同的vm,完成负载分担和安全接入,这里不再赘述。通过上述步骤,ipc、客户端通过负载分担方式注册到不同的视频管理服务器vm,本实施例一种基于sdn的负载分担和安全访问方法,还包括:在第一管理服务器下管理的第一接入设备访问第二管理服务器下管理的第二接入设备时,第一管理服务器在sdn网络中广播携带有第二接入设备网络信息的广播消息;第二管理服务器接收到广播消息后,回复第一管理服务器该第二接入设备在第二管理服务器管理;第一管理服务器通过第二管理服务器向第二接入设备发起连接,建立第一接入设备与第二接入设备的连接。容易理解的是,传统客户端在访问ipc时,会在网络里去寻找ipc,通过路由来找到ipc,或使用nat等网络技术连接到该ipc,获取该ipc的访问权限,客户端可以直接控制ipc,这样中间没有缓冲的设备对恶意行为进行控制,会带来极大的安全隐患。而通过上述步骤,两个不同vm下的接入设备可以进行互访,并且通过vm服务器来转发,提高了访问的安全性。例如,如果vm3有个客户端需点播ipc1的实况,首先vm3会在sdn网络中发广播,带上ipc1的ip地址,寻找其注册在哪个vm上;此时报文的源mac和源ip为vm3,目的地址为广播地址,带上ipc1的ip地址。当vm1收到此广播报文后,发现ipc1未注册在自身则丢弃此广播报文。当vm2收到此广播报文后,发现ipc1注册在自身上,回复域间报文给vm3,告知ipc1注册在vm2,vm2回复给vm3的报文,源mac和源ip为vm2,目的mac和目的ip为vm3。随后vm3对ipc1发起实况请求,此请求通过vm2转发给ipc1,ipc1将实况流发给vm2,vm2通过域间实况流程将ipc1的实况发给vm3,vm3转发ipc1的实况流给其客户端,实现了不同vm下的客户端和ipc进行交互的目的。本申请技术方案为了识别注册报文是否经过合法的修改,还包括:sdn交换机在修改发往该管理服务器的报文时,还在报文中增加一个字段并赋值,用于表示该报文被修改了目的管理服务器。接收到修改后的报文的管理服务器,识别所增加的字段及其赋值,符合预设值时进行响应,在响应报文中同样增加一个字段并赋值,否则丢弃该报文。例如,在修改注册报文时,会在注册报文中增加一个字段“recode”并赋值“1”,表明修改过注册报文的内容。vm2收到此注册报文时发现报文中带有“recode”且字段值为“1”,则知道此报文是被sdn交换机修改过注册地址和注册服务器的,这才进行正常的注册流程,进行响应,回复注册响应报文,在注册响应报文中同样带有“recode”且字段值为“1”。如果发现报文中带有“recode”且字段值不为“1”或者报文根本就没有带“recode”字段,此时vm认为这个报文是dos攻击并将其丢弃,从而满足了不同vm上接入设备访问的安全性要求。本实施例在注册响应报文中同样带有“recode”且字段值为“1”,是为了保证注册响应报文和注册报文的格式一致,都增加一个字段,同时可以标明安全性,只有增加字段的报文进行处理,没有字段的就认为是dos攻击。相应地,sdn交换机在收到注册响应报文时,发现报文中带有“recode”且字段值为“1”,对此报文进行修改,sdn交换机收到回复ipc1的报文后对其删除“recode”字段,同时生成“recode-a”字段,并赋值“1”,对ipc说明此报文是被修改过vm注册地址的,后续保活向vm2发起,其余报文字段不做修改。本申请技术方案,终端例如ipc的注册服务器都可以配置为一个注册服务器,例如vm1,当vm1接近负载上限,通过sdn控制器调度网络使得这些ipc将注册报文送往合适的vm,从而简化了ipc的配置工作,并实现了vm服务器的负载分担。终端之间的互访,各自访问自己的vm,由vm进行转接或告知其实际ip。与上述方法对应地,本实施例还给出了一种基于sdn的负载分担和安全访问系统,该系统包括位于sdn网络中的管理服务器集群,以及位于所述sdn网络中的sdn控制器和sdn交换机,其中:sdn控制器,用于接收管理服务器集群中各管理服务器下发的流表,生成包括管理服务器mac地址、ip地址和已管理任务数量的管理表项,在一台管理服务器已管理任务数量超过设定阈值时,向sdn交换机下发控制表项;sdn交换机,用于根据sdn控制器下发的控制表项,修改发往已管理任务数量超过设定阈值的管理服务器的报文,将修改后的报文发往管理服务器集群中其他有冗余业务能力的管理服务器。优选地,本实施例sdn交换机在修改发往已管理任务数量超过设定阈值的管理服务器的报文时,还在报文中增加一个字段并赋值,用于表示该报文被修改了目的管理服务器。而接收到修改后的报文的管理服务器,识别所增加的字段及其赋值,符合预设值时进行响应,在响应报文中同样增加一个字段并赋值,否则丢弃该报文。本实施例sdn交换机在接收到管理服务器的响应报文时,识别所增加字段及其赋值,删除该字段后另增加一个字段并赋值。本实施例基于sdn的负载分担和安全访问系统中,两个不同管理服务器下的接入设备可以进行互访。具体地:管理服务器集群包括第一管理服务器和第二管理服务器,所述第一管理服务器下管理有第一接入设备,所述第二管理服务器下管理有第二接入设备,所述基于sdn的负载分担和安全访问系统,还包括:在第一管理服务器下管理的第一接入设备访问第二管理服务器下管理的第二接入设备时,第一管理服务器在sdn网络中广播携带有第二接入设备网络信息的广播消息;第二管理服务器接收到广播消息后,回复第一管理服务器该第二接入设备在第二管理服务器管理;第一管理服务器通过第二管理服务器向第二接入设备发起连接,建立第一接入设备与第二接入设备的连接。以上实施例仅用以说明本发明的技术方案而非对其进行限制,在不背离本发明精神及其实质的情况下,熟悉本领域的技术人员当可根据本发明作出各种相应的改变和变形,但这些相应的改变和变形都应属于本发明所附的权利要求的保护范围。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1