一种数据包发送方法、装置及混合云网络系统与流程

文档序号:14253016阅读:162来源:国知局
一种数据包发送方法、装置及混合云网络系统与流程
本发明涉及计算机
技术领域
,特别涉及一种数据包发送方法、装置及混合云网络系统。
背景技术
:云计算(cloudcomputing),是一种基于互联网的计算方式,通过这种方式,共享的软硬件资源和信息可以按需求提供给计算机和其他设备。业界按照云计算提供者与使用者的所属关系为划分标准,将云计算分为三类,即公有云、私有云和混合云。混合云融合了公有云和私有云,是近年来云计算的主要模式和发展方向,混合云一般是通过在vpc(virtualprivatecloud,虚拟私有云)与私有云之间架设vpn(virtualprivatenetwork,虚拟专用网)或者互联网专线连接实现的。vpc用于公有云环境下为租户提供私有云环境的虚拟网络,vpn是一种通过隧道封装的方式在公用网络中提供专有网络的技术,在混合云场景下用于在私有云到公有云上的网络安全接入。混合云系统包括网关交换机、至少两个网关服务器及vpc,vpc中部署了至少一个宿主机,宿主机中部署了至少一个虚拟机,宿主机接收虚拟机发送的数据包后,将数据包发送给网关交换机,网关交换机将数据包发送给网关服务器,网关服务器对接收到的数据包进行ip(internetprotocol,网络之间互连的协议)地址转换并ip地址换后的数据包转发给网关交换机,网关交换机将转换后的数据包发送给互联网系统中的服务器,从而实现虚拟机与互联网系统中的服务器之间的通信。在上述过程中,仅有一个网关服务器处于可用(active)状态,其他的网关服务器则处于非可用(passive)状态,仅有该处于可用状态的网关服务器可以为接收到的数据包提供转发服务。由上可见,对于上述网关服务器,需要通过网关服务器转发的数据包仅由处于可用状态的网关服务器进行转发,处于可用状态的网关服务器的数量只有一个,且该可用状态的网关服务器的带宽等网络资源是有限的,因此,当需要通过该可用状态的网关服务器转发的所有数据包的总流量大时,该处于可用状态的网关服务器的网络负载大,易出现网络拥塞、网络丢包等情况。技术实现要素:本发明实施例的目的在于提供一种数据包发送方法、装置及混合云网络系统,以减少网络拥塞、网络丢包等情况的出现。第一方面,为达到上述目的,本发明实施例公开了一种数据包发送方法,应用于混合云网络系统中的网关交换机,所述混合云网络系统包括:网关集群和vpc中的宿主机,所述网关集群包括:网关交换机和至少两个网关服务器,每一网关服务器的初始状态均为可用状态,所述方法包括:接收第一宿主机发送的目标数据包的第一封装包,其中,所述第一封装包携带目标服务器的ip地址;根据所述目标服务器的ip地址,从处于可用状态网关服务器中确定目标网关服务器;将所述第一封装包发送给所述目标网关服务器,以使所述目标网关服务器对所述第一封装包进行解封装得到所述目标数据包,并对所述目标数据包进行ip地址转换得到第一数据包;接收所述目标网关服务器发送的所述第一数据包,并将所述第一数据包发送给所述目标服务器。较佳的,所述第一封装包为:所述第一宿主机中配置的虚拟交换机对所述目标数据包进行封装,交换封装后的所述目标数据包的外层源ip地址与内层目的ip地址所得到的。较佳的,所述方法还包括:接收所述目标服务器发送的第二数据包,并将所述第二数据包发送给所述目标网关服务器,以使得所述目标网关服务器根据ip地址转换信息对所述第二数据包进行ip地址转换得到第三数据包,对所述第三数据包进行封装处理得到第三数据的第二封装包,其中,所述ip地址转换信息用于记录:网关服务器对接收到的数据包进行ip地址转换前后ip地址之间的对应关系,所述第二数据包为所述目标服务器生成的、针对所述第一数据包的响应数据包;接收所述目标网关服务器发送的所述第二封装包,并将所述第二封装包发送给所述第一宿主机。较佳的,所述根据所述目标服务器的ip地址,从处于可用状态网关服务器中确定目标网关服务器,包括:基于所述网关交换机中配置的开放式最短路径优先路由协议以及等价多路径路由协议,以及网关服务器中配置的开放式最短路径优先路由协议,获得当前处于可用状态的网关服务器;根据哈希算法计算所述目标服务器的ip地址的哈希值,根据所述哈希值从处于可用状态的网关服务器中确定目标网关服务器。较佳的,所述对所述目标数据包进行ip地址转换得到第一数据包,包括:对所述目标数据包进行ip地址转换;将转换后的所述目标数据包携带的目的ip地址修改为所述目标服务器的ip地址得到是第一数据包。较佳的,所述对所述目标数据包进行ip地址转换,包括:根据所述目标数据包携带的vxlan标识与ip地址池中的ip地址的对应关系,确定目标ip地址;将所述目标数据包携带的源ip地址修改为所述目标ip地址。较佳的,所述方法还包括:获取新增网关服务器的邻居网关服务器的路由表;基于所获取的路由表,学习所述邻居网关服务器的路由,配置所述新增网关服务器的路由。第二方面,为达到上述目的,本发明实施例公开了一种数据包发送装置,应用于混合云网络系统中的网关交换机,所述混合云网络系统中包括网关集群和vpc中的宿主机,所述网关集群包括网关交换机和至少两个网关服务器,每一网关服务器的初始状态均为可用状态,所述装置包括:第一接收模块,用于接收第一宿主机发送的目标数据包的第一封装包,其中,所述第一封装包携带目标服务器的ip地址;确定模块,用于根据所述目标服务器的ip地址,从处于可用状态网关服务器中确定目标网关服务器;第一发送模块,用于将所述第一封装包发送给所述目标网关服务器;以使所述目标网关服务器对所述第一封装包进行解封装得到所述目标数据包;对所述目标数据包进行ip地址转换得到第一数据包;第二发送模块,用于接收所述目标网关服务器发送的所述第一数据包,并将所述第一数据包发送给所述目标服务器。较佳的,所述第一封装包为:所述第一宿主机中配置的虚拟交换机对所述目标数据包进行封装,交换封装后的所述目标数据包的外层源ip地址与内层目的ip地址所得到的。较佳的,所述装置还包括:第二接收模块,用于接收所述目标服务器发送的第二数据包,并将所述第二数据包发送给所述目标网关服务器,以使得所述目标网关服务器根据ip地址转换信息对所述第二数据包进行ip地址转换得到第三数据包,对所述第三数据包进行封装处理得到第三数据的第二封装包,其中,所述ip地址转换信息用于记录:网关服务器对接收到的数据包进行ip地址转换前后ip地址之间的对应关系,所述第二数据包为所述目标服务器生成的、针对所述第一数据包的响应数据包;第三发送模块,用于接收所述目标网关服务器发送的所述第二封装包,并将所述第二封装包发送给所述第一宿主机。较佳的,所述确定模块,具体用于:基于所述网关交换机中配置的开放式最短路径优先路由协议以及等价多路径路由协议,以及网关服务器中配置的开放式最短路径优先路由协议,获得当前处于可用状态的网关服务器;根据哈希算法计算所述目标服务器的ip地址的哈希值,根据所述哈希值从处于可用状态的网关服务器中确定目标网关服务器。较佳的,所述装置还包括:获取模块,用于获取新增网关服务器的邻居网关服务器的路由表;配置模块,用于基于所获取的路由表,学习所述邻居网关服务器的路由,配置所述新增网关服务器的路由。第三方面,为达到上述目的,本发明实施例公开了一种混合云网络系统,所述混合云网络系统包括:网关集群和vpc中的宿主机,所述网关集群包括:网关交换机和至少两个网关服务器,每一网关服务器的初始状态均为可用状态,其中,所述宿主机中的第一宿主机,用于向所述网关服务器发送所述目标数据包的第一封装包,其中,所述第一封装包携带目标服务器的ip地址;所述网关交换机,用于接收第一宿主机发送的所述第一封装包,根据所述目标服务器的ip地址,从处于可用状态网关服务器中确定目标网关服务器;将所述第一封装包发送给所述目标网关服务器;所述目标网关服务器,用于对所述第一封装包进行解封装得到所述目标数据包;对所述目标数据包进行ip地址转换得到第一数据包;将所述第一数据包发送给所述网关交换机;所述网关交换机,还用于接收所述目标网关服务器发送的所述第一数据包,并将所述第一数据包发送给所述目标服务器。较佳的,所述第一宿主机中配置有虚拟交换机,所述虚拟交换机用于对所述目标数据包进行封装,并交换封装后的所述目标数据包的外层源ip地址与内层目的ip地址得到所述第一封装包。较佳的,所述网关交换机,还用于接收所述目标服务器发送的第二数据包,并将所述第二数据包发送给所述目标网关服务器;所述目标网关服务器根据ip地址转换信息对所述第二数据包进行ip地址转换得到第三数据包,对所述第三数据包进行封装处理得到第三数据的第二封装包,将所述第二封装包发送给所述网关服务器;其中,所述ip地址转换信息用于记录:网关服务器对接收到的数据包进行ip地址转换前后ip地址之间的对应关系,所述第二数据包为所述目标服务器生成的、针对所述第一数据包的响应数据包;所述网关交换机,还用于接收所述目标网关服务器发送的所述第二封装包,并将所述第二封装包发送给所述第一宿主机。较佳的,所述网关交换机,具体用于:基于所述网关交换机中配置的开放式最短路径优先路由协议以及等价多路径路由协议,以及网关服务器中配置的开放式最短路径优先路由协议,获得当前处于可用状态的网关服务器;根据哈希算法计算所述目标服务器的ip地址的哈希值,根据所述哈希值从处于可用状态的网关服务器中确定目标网关服务器。较佳的,所述目标服务器,具体用于:对所述目标数据包进行ip地址转换;将转换后的所述目标数据包携带的目的ip地址修改为所述目标服务器的ip地址得到是第一数据包。较佳的,所述目标服务器,具体用于:根据所述目标数据包携带的vxlan标识与ip地址池中的ip地址的对应关系,确定目标ip地址;将所述目标数据包携带的源ip地址修改为所述目标ip地址。较佳的,所述网关交换机,还用于:获取新增网关服务器的邻居网关服务器的路由表;基于所获取的路由表,学习所述邻居网关服务器的路由,由上述技术方案可见,本发明实施例提供一种数据包处理方法、装置及系统,所述方法应用于混合云网络系统中的网关交换机,混合云系统中包括网关集群和vpc中的宿主机,所述网关集群包括网关交换机和至少两个网关服务器,每一网关服务器初始状态均为可用状态,包括:接收第一宿主机发送的目标数据包的第一封装包,其中,所述第一封装包携带目标服务器的ip地址;根据所述目标服务器的ip地址,从处于可用状态网关服务器中确定目标网关服务器;将所述第一封装包发送给所述目标网关服务器;以使所述目标网关服务器对所述第一封装包进行解封装得到所述目标数据包;对所述目标数据包进行ip地址转换得到第一数据包;接收所述目标网关服务器发送的所述第一数据包,并将所述第一数据包发送给所述目标服务器。应用本发明实施例,与现有技术相比,本发明实施例中,每一网关服务器初始状态均为可用状态,因而,网关交换机接收到数据包后,可以从处于可用状态的网关服务器中选择一个网关服务器对数据进行处理转发数据包,不同的数据包可以通过不同的网关服务器进行处理并转发,实现网络流量的负载均衡,减少了网络拥塞、网络丢包等情况的出现。附图说明为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例提供的数据包发送方法的第一种流程示意图;图2为目标网关服务器获得第一数据包的流程示意图;图3为本发明实施例提供的数据包发送方法的第二种流程示意图;图4为本发明实施例提供的数据包发送装置的第一种结构示意图;图5为本发明实施例提供的数据包发送装置的第二种结构示意图;图6为本发明实施例提供的一种混合云系统的结构示意图。具体实施方式下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。下面,首先对本申请文件中涉及到的技术术语进行简单介绍。公有云通常是指第三方提供商用户能够使用的云,公有云一般可通过internet使用,可能是免费或成本低廉的。公有云的最大意义是能够以低廉的价格,提供有吸引力的服务给最终用户,创造新的业务价值,公有云作为一个支撑平台,还能够整合上游的服务(如增值业务,广告)提供者和下游最终用户,打造新的价值链和生态系统。公有云服务是在公有云环境中为租户提供了可以基于网络远程访问的产品服务,公有云服务包括数据存储类产品服务,例如rds(relationaldatabaseservice,关系型数据库服务)、s3(simplestorageservice,简单存储服务)和redis,redis是是一个开源的键值数据库。公有云服务还包括数据分析类产品。一般此类服务在网络上某种特定的4-7层协议的特定端口来为租户提供服务。在公有云环境下,租户的网络是可以自定义拓扑的,称为overlay网络,不同的租户可以定义相同的overlay网络,overlay网络内部的虚拟机可以彼此联通,但不同租户之间的虚拟机和网络彼此隔离,相对于underlay网络来说,overlay一般是通过隧道技术比如vxlan(virtualextensiblelocalareanetwork,虚拟可扩展局域网)和nvgre协议来实现租户网络隔离,overlay网络中运行的实例通常是租户的虚拟机和网络实例,比如nat,负载均衡实例。underlay网络指的是公有云数据中心的底层承载网络,是idc(internetdatacenter,互联网数据中心)的基础网络,用于承载overlay网络的隧道网络协议,对租户透明。一般来说,公有云服务可以使用underlay网络实现,也可以运行在租户的虚拟机环境中。在underlay网络中的公有云服务相对overlay中部署的公共服务资源复用性更好,更易于管理,对用户的overlay网络没有侵入问题,因而安全隔离性也更好。vpc是一种共有共基础架构类产品,用于在公有云环境下为用户提供私有云环境的技术解决方案,在vpc中的主机和服务具有完全的私有网络属性,不同的租户在网络层隔离,实现更高的安全性,vpc还是一个公共云计算资源的动态配置池,需要使用加密协议、隧道协议和其他安全程序,在民营企业和云服务提供商之间传输数据。一个vpc基本上把提供商的多租户架构变成单租户架构。混合云是一种包含了私有云和公有云服务的整体解决方案和技术架构,在私有云和vpc之间通过互联网专线或vpn连接,将私有云和公有云变成一张完整的内部网络,既保障了私有云数据的安全性,又可以利用公有云的产品功能和计算资源的弹性化,是最典型的一种云计算部署方案。vpn是通过隧道封装的方式在共有网络中提供专有网络的一种技术,在混合云场景下用于用户私有云或私有机房到公有云上的安全网络接入,虚拟专用网络理解成是虚拟出来的企业内部专线。它可以通过特殊的加密的通讯协议在连接在internet上的位于不同地方的两个或多个企业内部网之间建立一条专有的通讯线路,就好比是架设了一条专线一样,但是它并不需要真正的去铺设光缆之类的物理线路。这就好比去电信局申请专线,但是不用给铺设线路的费用,也不用购买路由器等硬件设备。vpn技术是路由器具有的重要技术之一,vpn的核心就是在利用公共网络建立虚拟私有网。根据隧道协议对vpn进行划分,vpn包括:ipsec(internetprotocolsecurity)vpn和ssl(securitysocketlayer)vpn。ipsecvpn是采用ipsec协议来实现远程接入的一种vpn技术,。ipsec协议是ietf(internetengineeringtaskforceinternet工程任务组)制定的协议,为ip数据报提供了高质量的、可互操作的、基于密码学的安全性。特定的通信方之间在ip层通过加密与数据源验证等方式,来保证数据报在网络上传输时的私有性、完整性、真实性和防重放。sslvpn即指采用ssl协议来实现远程接入的一种新型vpn技术。ssl(安全套接层)协议是一种在internet上保证发送信息安全的通用协议,采用b/s结构(browser/server,浏览器/服务器模式)。它处在应用层,ssl采用公钥加密通过ssl连接传输的数据来工作。sslvpn主要作用是提供安全的远程访问服务并以实际行动来保护用户的机密;不断完善企业级结构的安全和远程访问控制工具;采用多级认证和先进的加密技术来保护交互式的远程会议的安全性。nat((networkaddresstranslation,网络地址转换))用于提供内网地址到外网地址的映射,服务器的内网地址经过nat后会被替换成一个公网的ip地址,因此可以为内网环境中的服务器提供到公网(internet)的访问服务。开放式最短路径优先路由协议,简称ospf(openshortestpathfirst)协议,是一个内部网关协议,是由internet工程任务组开发的开放性路由协议,即该ospf协议的规范是开放的,这里所说的“开放”是相对于某些“私有”的路由协议而言。等价多路径路由协议,简称ecmp(equal-costmultipathrouting)协议,在存在多条不同链路到达同一目的地址的网络环境中,如果使用传统的路由技术,发往该目的地址的数据包只能利用其中的一条链路,其它链路处于备份状态或无效状态,并且在动态路由环境下相互的切换需要一定时间,而ecmp协议可以在该网络环境下同时使用多条链路,不仅增加了传输带宽,并且可以无时延无丢包地备份失效链路的数据传输。ecmp协议最大的特点是实现了等值情况下,多路径负载均衡和链路备份的目的。需要说明的是,网关集群与vpc均部署在公有云数据中心,公有云数据中心可以理解为运行着公有云的数据中心,网关集群中的网关集群中的每一网关服务器均部署在公有云数据中心的出口,且同时配置有共同的ip地址池和内网ip地址。网关服务器接入网关交换机从而实现汇聚,网关交换机旁挂接入公有云数据中心出口。图1为本发明实施例提供的数据包发送方法的第一种流程示意图,应用于混合云网络系统中的网关交换机,混合云网络系统包括:网关集群和vpc中的宿主机,网关集群包括:网关交换机和至少两个网关服务器,每一网关服务器的初始状态均为可用状态,方法包括:s101:接收第一宿主机发送的目标数据包的第一封装包,其中,第一封装包携带目标服务器的ip地址。具体的,第一封装包为:第一宿主机中配置的虚拟交换机对目标数据包进行封装,交换封装后的目标数据包的外层源ip地址与内层目的ip地址所得到的。本领域技术人员可以理解的是,第一宿主机为vpc中的宿主机,目标服务器为互联网中的服务器。目标数据包携带的源地址是虚拟机的网卡ip地址,即虚拟机的ip地址,目的地址为目标服务器的ip地址,这里所说的目标服务器的ip地址为目标服务器的外网ip地址。第一宿主机中配置有虚拟交换机,在这种情况下,可以理解为第一封装包是由虚拟交换机将发送给网关交换机的。虚拟交换机在接收到虚拟机发送的目标数据包后,需要根据目标数据包携带的目的ip地址确定是否对目标数据包进行封装,如果作为目标数据包发送端的虚拟机与目标服务器位于同网段、同宿主机的时候,该虚拟机与目标服务器就可以直接在宿主机内部完成二层转发,实现虚拟机与目标服务器之间的通信,因此,不需要对目标数据包进行封装。虚拟交换在确定目标服务器为互联网中的服务器后,因为虚拟机与目标服务器之间的通信需要进行三层转发,因此对目标数据包进行封装。具体的,可以采用vlan(virtuallocalareanetwork,虚拟局域网)协议对目标数据进行封装,也可以采用vxlan封装技术将目标数据包封装成vxlan协议数据包,vxlan是一种将二层数据包用三层协议进行封装的技术。采用vxlan对目标数据包进行封装是现有技术,在这里不进行赘述。也可以采用nvgre技术对目标数据包进行封装,nvgre是基于策略的软件控制的网络虚拟化框架,主要功能是支持公有云和私有云中多租户网络使用gre(genericroutingencapsulation,通用路由封装)协议,通过运用云托管和数据中心方案,使公有云和私有云之间工作负载进行无缝迁移。gre协议是对某些网络层协议(如ip和ipx)的数据报文进行封装,使这些被封装的数据报文能够在另一个网络层协议中传输。还可以采用mpls(multi-protocollabelswitching,多协议标签交换)协议对目标数据包进行封装,mpls是是一种在开放的通信网上利用标签引导数据高速、高效传输的新技术,是一种可提供高性价比和多业务能力的交换技术。封装后的目标数据包的外层源ip地址为第一宿主机的ip地址,内层目的ip地址为目标服务器的ip地址,虚拟交换机交换封装后的目标数据包的外层源ip地址与内层目的ip地址从而得到第一封装包,第一封装包的外层源ip地址为目标服务器的ip地址,内层目的地址为第一宿主机的ip地址。在实际应用中,第一宿主机可以通过数据中心路由将第一封装包发送到网关集群,网关集群中的网关交换机接收该第一封装包。s102:根据目标服务器的ip地址,从处于可用状态网关服务器中确定目标网关服务器。具体的,根据目标服务器的ip地址,从处于可用状态网关服务器中确定目标网关服务器,可以包括:基于网关交换机中配置的开放式最短路径优先路由协议以及等价多路径路由协议,以及网关服务器中配置的开放式最短路径优先路由协议,获得当前处于可用状态的网关服务器;根据哈希算法计算目标服务器的ip地址的哈希值,根据哈希值从处于可用状态的网关服务器中确定目标网关服务器。在本发明实施例中,网关交换机在接收到第一封装包时,可以根据ospf协议的功能,获知每一个网关服务器与自身的连接状态,具体获知连接状态的方法是现有技术,在这里不进行赘述。网关交换机根据获知的连接状态,判断网关服务器是否处于可用状态,从而可以获得当前处于可用状态的网关服务器是哪些。在网关交换机的路由表中,网关交换机到每一网关服务器之间路径开销都相等,根据ecmp协议,网关交换机与网关服务器之间形成了多个等价路径,网关服务器之间是等价的关系。本领域技术人员可以理解的是,哈希(hash)算法,即散列函数,能够将任意长度的二进制值映射为固定长度的较小二进制值,这个小的二进制值称为哈希值。哈希值是一段数据唯一且极其紧凑的数值表示形式。网关交换机可以根据哈希值与处于可用状态的网关服务器之间的对应关系,可以确定目标网关服务器。需要说明的是,一个网关服务器可以与至少一个哈希值之间存在对应关系。哈希值与网关服务器的对应关系可以是预先建立并存储的,例如,可以对网关服务器进行排序,然后依次建立哈希值与网关服务器的对应关系,当然,还可以通过其他方式确定网关服务器与哈希值之间的对应关系。在现有技术中,只存在一个处于可用状态的网关服务器,虚拟机与互联网中的服务器进行通信的流量全部由一个处于可用状态的网关服务器,容易造成性能瓶颈,进而导致网络拥塞、网络丢包等情况的频繁出现,在本发明实施例中,存在至少两个网关服务器处于可用状态,处于可用状态的网关服务器共同分担网络流量,实现网络流量的负载均衡,不会造成性能瓶颈,进而减少了网络拥塞、网络丢包等情况的出现。s103:将第一封装包发送给目标网关服务器,以使目标网关服务器对第一封装包进行解封装得到目标数据包,并对目标数据包进行ip地址转换得到第一数据包。网关交换机在确定需要目标网关服务器之后,将第一封装包发送给目标网关服务器,目标网关服务器进行解封装得到目标数据包,解封装是封装的逆过程,也是现有技术,在这里不进行赘述。s104:接收目标网关服务器发送的第一数据包,并将第一数据包发送给目标服务器。在实际应用中,网关交换机在接收到第一数据包之后,将第一数据包发往目标服务器所在的互联网,经互联网路由至目标服务器,第一数据包经互联网路由至目标服务器的方式与现有技术中的方式相同,在此不进行赘述。在本发明的一个优选的实施例中,方法可以包括:获取新增网关服务器的邻居网关服务器的路由表;基于所获取的路由表,学习邻居网关服务器的路由,配置新增网关服务器的路由。在确定网关集群中的网关服务器的负载过高时,增加网关服务器的数量,网关集群中已有的网关服务器可以通过网关服务器之间的信息交换发现新增网关服务器,当确定自身是新增网关服务器的邻居网关服务器,则向网关交换机发送自身的路由表,网关交换机接收到路由表后,网关交换机有学习功能,学习邻居网关服务器的路由,配置新增网关服务器的路由,能够学习ecmp协议,配置自身到新增网关服务器之间的路径开销,从而使得新增网关服务器与网关集群中的其他网关服务器之间是等价关系。在本发明实施例中,还可以根据网关服务器的负载情况,进行扩容,即增加网关服务器的数量,扩容后流量自动负载均衡。应用本发明实施例,与现有技术相比,本发明实施例中,每一网关服务器初始状态均为可用状态,因而,网关交换机接收到数据包后,可以从处于可用状态的网关服务器中选择一个网关服务器对数据进行处理转发数据包,不同的数据包可以通过不同的网关服务器进行处理并转发,实现网络流量的负载均衡,减少了网络拥塞、网络丢包等情况的出现。另外,相较于网络系统中只存在一个网关服务器,虚拟机与目标服务器之间的通信依赖于这台网关服务器,存在单点隐患,本发明实施例中网关集群中的网关服务器可以同时进行工作,其中一个网关服务器出现故障,网关交换机可以选择其他的网关服务器,因此不会存在单点隐患。在本发明的一个具体实施例中,图2为目标网关服务器获得第一数据包的流程示意图,对所述目标数据包进行ip地址转换得到第一数据包,可以包括:s201:对目标数据包进行ip地址转换。具体的,对目标数据包进行ip地址转换,可以包括:根据第一封装包携带的网络标识与ip地址池中的ip地址的对应关系,确定目标ip地址;将目标数据包携带的源ip地址修改为目标ip地址。需要说明的是,这里所说的网络标识是能够识别第一宿主机所属的网络的标识,在实际应用中,如果采用vlan协议对目标数据包进行封装得到第一封装包,第一封装包携带的为vlanid(identity,身份识别号)即为上面所说的网络标识;如果采用vxlan协议对目标数据包进行封装得到第一封装包,第一封装包携带的为vxlanid即为上面所说的网络标识;如果采用nvgre技术对目标数据包进行封装得到第一封装包,第一封装包中携带了gre头部,gre头部的低24位即为上面所说的网络标识;如果采用mpls技术对目标数据包进行封装得到第一封装包,第一封装包中携带的mplstag(标签)即为上面所说的网络标识。在本发明实施例中,第一封装包携带的网络标识与ip地址池中的ip地址的对应关系是预先设置的,根据确定的网络标识,可以根据对应关系,在ip地址池中确定目标ip地址,在确定出目标ip地址后,对目标数据包进行ip地址转换即对目标数据包进行nat,nat前后ip地址的对应关系如表1所示。表1源ip地址目的ip地址nat前虚拟机ip地址第一宿主机的ip地址nat后目标ip地址第一宿主机的ip地址在实际应用中,ip地址转换还包括对端口的转换,示例性的,目标数据包携带的源端口为端口a,目的端口为端口b,转换后的源端口为端口c,端口c由目标网关服务器确定,具体的确定方法是现有技术,在这里不进行赘述。nat前后ip地址的对应关系如表2所示。表2源ip地址源端口目的ip地址目的ip端口nat前虚拟机ip地址端口a第一宿主机的ip地址端口bnat后目标ip地址端口c第一宿主机的ip地址端口bs202:将转换后的目标数据包携带的目的ip地址修改为目标服务器的ip地址得到是第一数据包。虚拟交换机在对目标数据包进行封装后,交换了封装后的目标数据包的外层源ip地址与内层目的ip地址,此时转换后的目标数据包携带的目的ip地址为第一宿主机的ip地址,为了能实现数据的传输,需要将转换后的目标数据包携带的第一宿主机的ip地址修改为目标服务器的ip地址,从而得到第一数据包。因第一数据包携带的目的ip地址为目标服务器的ip地址,根据目标服务器的ip地址,能够正确地路由到目标服务器。示例性的,基于表2,对转换后的目标数据包进行修改后的ip地址对应关系如表3所示。表3源ip地址源端口目的ip地址目的ip端口nat前虚拟机ip地址端口a第一宿主机的ip地址端口bnat后/修改前目标ip地址端口c第一宿主机的ip地址端口b修改后目标ip地址端口c目标服务器的ip地址端口b应用本发明实施例,与现有技术相比,本发明实施例中,每一网关服务器初始状态均为可用状态,因而,网关交换机接收到数据包后,可以从处于可用状态的网关服务器中选择一个网关服务器对数据进行处理转发数据包,不同的数据包可以通过不同的网关服务器进行处理并转发,实现网络流量的负载均衡,减少了网络拥塞、网络丢包等情况的出现。另外,相较于网络系统中只存在一个网关服务器,虚拟机与目标服务器之间的通信依赖于这台网关服务器,存在单点隐患,本发明实施例中网关集群中的网关服务器可以同时进行工作,其中一个网关服务器出现故障,网关交换机可以选择其他的网关服务器,因此不会存在单点隐患。在本发明的一个优先实施例中,参见图3,图3为本发明实施例提供的数据包发送方法的第二种流程示意图,与图1所示实施例相比,本实施例中,在s104之后还包括s105和s106。s105:接收目标服务器发送的第二数据包,并将第二数据包发送给目标网关服务器,以使得目标网关服务器根据ip地址转换信息对第二数据包进行ip地址转换得到第三数据包,对第三数据包进行封装处理得到第三数据的第二封装包,其中,ip地址转换信息用于记录:网关服务器对接收到的数据包进行ip地址转换前后ip地址之间的对应关系,第二数据包为目标服务器生成的、针对第一数据包的响应数据包。目标服务器接收到第一数据包后,生成第一数据包的响应数据包,即第二数据包,第二数据包中携带的源ip地址为目标服务器的ip地址,目的ip地址为目标ip地址。网关交换机接收目标服务器发送的第二数据包后,根据哈希算法计算目标服务器的ip地址的哈希值,根据哈希值从处于可用状态的网关服务器中确定目标网关服务器,确定的目标网关服务器与上述接收第一封装包的目标网关服务器为同一个网关服务器。目标网关服务器在接收到第二数据包后,根据ip地址转换信息,对第二数据包进行ip地址转换得到第三数据包,第三数据包携带的源ip地址为目标服务器的ip地址,目的ip地址为虚拟机的ip地址。示例性的,根据表3进行ip地址转换得到第三数据包,第三数据包的目的ip地址从目标ip地址转换为虚拟机的ip地址,目的端口从端口c转换为端口a,源ip地址及源端口不变。目标网关服务器根据ip地址转换信息对第三数据包进行封装,得到第二封装包,具体的,采用的封装技术是上面所说的四种封装技术中的一种,在这里不进行赘述。s106:接收目标网关服务器发送的第二封装包,并将第二封装包发送给第一宿主机。第一宿主机在接收到第二封装包后,第一宿主机配置的虚拟交换机对第二封装包进行解封装,并将解封装得到的第三数据包发送给虚拟机。应用本发明实施例,与现有技术相比,本发明实施例中,每一网关服务器初始状态均为可用状态,因而,网关交换机接收到数据包后,可以从处于可用状态的网关服务器中选择一个网关服务器对数据进行处理转发数据包,不同的数据包可以通过不同的网关服务器进行处理并转发,实现网络流量的负载均衡,减少了网络拥塞、网络丢包等情况的出现。另外,相较于网络系统中只存在一个网关服务器,虚拟机与目标服务器之间的通信依赖于这台网关服务器,存在单点隐患,本发明实施例中网关集群中的网关服务器可以同时进行工作,其中一个网关服务器出现故障,网关交换机可以选择其他的网关服务器,因此不会存在单点隐患。与上述方法实施例相对应,本发明实施例还提供了一种数据包发送装置。图4为本发明实施例提供的数据包发送装置的第一种结构示意图,该装置应用于混合云网络系统中的网关交换机,混合云网络系统中包括网关集群和vpc中的宿主机,网关集群包括网关交换机和至少两个网关服务器,每一网关服务器的初始状态均为可用状态,装置可以包括第一接收模块401、确定模块402、第一发送模块403和第二发送模块404。第一接收模块401,用于接收第一宿主机发送的目标数据包的第一封装包,其中,第一封装包携带目标服务器的ip地址。具体的,第一封装包为:第一宿主机中配置的虚拟交换机对目标数据包进行封装,交换封装后的所述目标数据包的外层源ip地址与内层目的ip地址所得到的。确定模块402,用于根据目标服务器的ip地址,从处于可用状态网关服务器中确定目标网关服务器。确定模块402,可以具体用于:基于网关交换机中配置的开放式最短路径优先路由协议以及等价多路径路由协议,以及网关服务器中配置的开放式最短路径优先路由协议,获得当前处于可用状态的网关服务器;根据哈希算法计算目标服务器的ip地址的哈希值,根据哈希值从处于可用状态的网关服务器中确定目标网关服务器。第一发送模块403,用于将第一封装包发送给所述目标网关服务器;以使目标网关服务器对第一封装包进行解封装得到目标数据包;对目标数据包进行ip地址转换得到第一数据包;第二发送模块404,用于接收目标网关服务器发送的第一数据包,并将第一数据包发送给目标服务器。在本发明的一个优选实施例中,该装置还可以包括获取模块和配置模块(图中未示出)。获取模块,用于获取新增网关服务器的邻居网关服务器的路由表;配置模块,用于基于所获取的路由表,学习邻居网关服务器的路由,配置新增网关服务器的路由。应用本发明实施例,与现有技术相比,本发明实施例中,每一网关服务器初始状态均为可用状态,因而,网关交换机接收到数据包后,可以从处于可用状态的网关服务器中选择一个网关服务器对数据进行处理转发数据包,不同的数据包可以通过不同的网关服务器进行处理并转发,实现网络流量的负载均衡,减少了网络拥塞、网络丢包等情况的出现。另外,相较于网络系统中只存在一个网关服务器,虚拟机与目标服务器之间的通信依赖于这台网关服务器,存在单点隐患,本发明实施例中网关集群中的网关服务器可以同时进行工作,其中一个网关服务器出现故障,网关交换机可以选择其他的网关服务器,因此不会存在单点隐患。图5为本发明实施例提供的数据包发送装置的第二种结构示意图,该装置应用于混合云网络系统中的网关交换机,混合云网络系统中包括网关集群和vpc中的宿主机,所述网关集群包括网关交换机和至少两个网关服务器,每一网关服务器的初始状态均为可用状态,装置还可以包括第二接收模块405和第三发送模块406。第二接收模块405,用于接收目标服务器发送的第二数据包,并将第二数据包发送给目标网关服务器,以使得目标网关服务器根据ip地址转换信息对第二数据包进行ip地址转换得到第三数据包,对所述第三数据包进行封装处理得到第三数据的第二封装包,其中,ip地址转换信息用于记录:网关服务器对接收到的数据包进行ip地址转换前后ip地址之间的对应关系,第二数据包为目标服务器生成的、针对所述第一数据包的响应数据包。第三发送模块406,用于接收目标网关服务器发送的所述第二封装包,并将第二封装包发送给第一宿主机。应用本发明实施例,与现有技术相比,本发明实施例中,每一网关服务器初始状态均为可用状态,因而,网关交换机接收到数据包后,可以从处于可用状态的网关服务器中选择一个网关服务器对数据进行处理转发数据包,不同的数据包可以通过不同的网关服务器进行处理并转发,实现网络流量的负载均衡,减少了网络拥塞、网络丢包等情况的出现。另外,相较于网络系统中只存在一个网关服务器,虚拟机与目标服务器之间的通信依赖于这台网关服务器,存在单点隐患,本发明实施例中网关集群中的网关服务器可以同时进行工作,其中一个网关服务器出现故障,网关交换机可以选择其他的网关服务器,因此不会存在单点隐患。图6为本发明实施例提供的一种混合云系统的结构示意图,混合云网络系统包括:网关集群和vpc中的宿主机,网关集群包括:网关交换机和至少两个网关服务器,每一网关服务器的初始状态均为可用状态,其中,宿主机中的第一宿主机,用于向网关服务器发送目标数据包的第一封装包,其中,第一封装包携带目标服务器的ip地址;网关交换机,用于接收第一宿主机发送的第一封装包,根据目标服务器的ip地址,从处于可用状态网关服务器中确定目标网关服务器;将第一封装包发送给目标网关服务器;目标网关服务器,用于对第一封装包进行解封装得到目标数据包;对目标数据包进行ip地址转换得到第一数据包;将第一数据包发送给网关交换机;网关交换机,还用于接收目标网关服务器发送的第一数据包,并将第一数据包发送给目标服务器。在本发明的一个具体实例中,第一宿主机中配置有虚拟交换机,虚拟交换机用于对目标数据包进行封装,并交换封装后的目标数据包的外层源ip地址与内层目的ip地址所得到第一封装包。需要说明的是,第一宿主机中配置有虚拟交换机,在这种情况下,可以理解为第一封装包是由虚拟交换机将发送给网关交换机的。在本发明的一个优选的实施例中,网关交换机,还用于接收目标服务器发送的第二数据包,并将第二数据包发送给目标网关服务器;目标网关服务器根据ip地址转换信息对第二数据包进行ip地址转换得到第三数据包,对第三数据包进行封装处理得到第三数据的第二封装包,将第二封装包发送给网关服务器;其中,ip地址转换信息用于记录:网关服务器对接收到的数据包进行ip地址转换前后ip地址之间的对应关系,第二数据包为目标服务器生成的、针对第一数据包的响应数据包;网关交换机,还用于接收目标网关服务器发送的第二封装包,并将第二封装包发送给第一宿主机。在本发明的一个具体实例中,网关交换机,具体用于:基于网关交换机中配置的开放式最短路径优先路由协议以及等价多路径路由协议,以及网关服务器中配置的开放式最短路径优先路由协议,获得当前处于可用状态的网关服务器;根据哈希算法计算目标服务器的ip地址的哈希值,根据哈希值从处于可用状态的网关服务器中确定目标网关服务器。在本发明的一个具体实例中,目标服务器,具体用于:对目标数据包进行ip地址转换;将转换后的目标数据包携带的目的ip地址修改为目标服务器的ip地址得到是第一数据包。在本发明的一个优选的实施例中,目标服务器,具体用于:根据第一封装包携带的网络标识与ip地址池中的ip地址的对应关系,确定目标ip地址;将目标数据包携带的源ip地址修改为目标ip地址。在本发明的一个具体实例中,网关交换机,还用于:获取新增网关服务器的邻居网关服务器的路由表;基于所获取的路由表,学习邻居网关服务器的路由,配置新增网关服务器的路由。应用本发明实施例,与现有技术相比,本发明实施例中,每一网关服务器初始状态均为可用状态,因而,网关交换机接收到数据包后,可以从处于可用状态的网关服务器中选择一个网关服务器对数据进行处理转发数据包,不同的数据包可以通过不同的网关服务器进行处理并转发,实现网络流量的负载均衡,减少了网络拥塞、网络丢包等情况的出现。另外,相较于网络系统中只存在一个网关服务器,虚拟机与目标服务器之间的通信依赖于这台网关服务器,存在单点隐患,本发明实施例中网关集群中的网关服务器可以同时进行工作,其中一个网关服务器出现故障,网关交换机可以选择其他的网关服务器,因此不会存在单点隐患。需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。本说明书中的各个实施例均采用相关的方式描述,各个实施例之间相同相似的部分互相参见即可,每个实施例重点说明的都是与其他实施例的不同之处。尤其,对于装置实施例而言,由于其基本相似于方法实施例,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。本领域普通技术人员可以理解实现上述方法实施方式中的全部或部分步骤是可以通过程序来指令相关的硬件来完成,所述的程序可以存储于计算机可读取存储介质中,这里所称得的存储介质,如:rom/ram、磁碟、光盘等。以上所述仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所作的任何修改、等同替换、改进等,均包含在本发明的保护范围内。当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1