本发明专利技术提供一种多播数据包通信方法、装置与系统,将客户端发送的第一多播数据包通过OVS接收并转换为单播数据包,OVS向多播数据包通信装置发送单播数据包,由多播数据包通信装置基于单播数据包向相关多个云资源服务器转发第二多播数据包,通过多播数据包通信装置加快了多播数据包的处理速度,尤其针对大数量的云资源服务器时,使得大量多播数据包的转发能够实现。
【技术实现步骤摘要】
本专利技术涉及计算机通信领域,尤其涉及虚拟网络中的广播数据包通信。
技术介绍
虚拟交换机(Open VSwitch,OVS)是一个虚拟交换软件,主要在虚拟机环境下作为一个虚拟交换机使用。OVS支持多个宿主机的分布式环境,OVS可用于传递虚拟机之间的流量,或者用于实现虚拟机和外界网络的通信。在基于OVS的虚拟网络中,当客户端发送广播、组播等多播数据包(即广播流)时,OVS接收多播数据包。由于在大型虚拟网络中通常同时会有多个客户端,为了做到多个客户端之间的隔离,OVS需要将多播数据包采用隧道(tunnel)的方式转发到相应云资源服务器的隧道端口。然而,当云资源服务器首次建立连接时,需要首先建立隧道,因此会造成客户端的多播数据包在本地滞留。当云资源服务器数量大于650台以上时,由于OVS输出端口存在数量限制,因此会导致多播数据包发送失败。
技术实现思路
基于以上问题,本专利技术的目的在于提供一种多播数据包通信方法、装置与系统,能够应对云资源服务器数量较多时的情况,以及能够快速进行多播数据包通信。根据本专利技术的一个方面,提供一种多播数据包通信方法,包括步骤:虚拟交换机接收来自客户端的第一多播数据包,基于第一多播数据包构建单播数据包;虚拟交换机向多播数据包通信装置发送单播数据包;多播数据包通信装置接收单播数据包;多播数据包通信装置提取单播数据包对应的客户端特征;多播数据包查询客户端特征所对应的多个云资源服务器;多播数据包通信装置基于单播数据包构建第二多播数据包;多播数据包通信装置向多个云资源服务器发送第二多播数据包。优选地,多播数据包通信装置基于英特尔数据面开发套件数据处理框架接收单播数据包以及发送第二多播数据包。优选地,一个或多个多播数据包通信装置通过一个虚拟IP地址接收来自虚拟交换机的单播数据包。优选地,多个多播数据包通信装置通过等价路由分配用于处理单播数据包的多播数据包通信装置。优选地,多播数据包通信装置查询客户端特征所对应的多个云资源服务器步骤包括:多播数据包通信装置查询本地数据库,将客户端特征与本地数据库中的数据匹配,从而获得与客户端特征所对应的多个云资源服务器,其中,本地数据库定期接收后端数据库的数据。根据本专利技术的第二个方面,提供一种多播数据包通信装置,包括接收模块,接收来自虚拟交换机的单播数据包,查询模块,提取单播数据包中的客户端特征,并查询客户端特征所对应的多个云资源服务器,组包模块,基于单播数据包构建第二多播数据包,发送模块,向多个云资源服务器发送第二多播数据包。优选地,多播数据包通信装置采用英特尔数据面开发套件数据处理框架。优选地,第二个方面的多播数据包通信装置还包括,本地数据库,本地数据库存储客户端特征所对应的多个云资源服务器信息,查询模块将客户端特征与本地数据库中的数据匹配,从而获得与客户端特征所对应的多个云资源服务器,本地数据库定期接收后端数据库的数据。根据本专利技术的第三个方面,提供一种多播数据包通信系统还包括一个或多个如上述第二个方面的多播数据包通信装置,多播数据包通信系统通过一个虚拟IP地址接收来自虚拟交换机的单播数据包。优选地,第三个方面的多播数据包通信系统还包括等价路由装置,等价路由装置分配用于处理单播数据包的多播数据包通信装置。本专利技术中OVS接收多播数据包后发送单播数据包,通过设置多播数据包通信装置接收单播数据包,由多播数据包通信装置查找相对应的多个云资源服务器,并向多个云资源服务器发送多播数据包。由于增加了多播数据包通信装置,OVS不再需要通过tunnel发送多播数据包,因此避免了多播数据包在本地滞留,也不再有云资源服务器数量的限制。附图说明以下结合附图和具体实施例对本专利技术的技术方案进行详细的说明,以使本专利技术的特性和优点更为明显。图1为现有的多播数据包通信方法的数据流向示意图;图2为本专利技术的多播数据包通信方法的一个实例的数据流向示意图;图3为本专利技术的多播数据包通信方法的流程示意图;图4为本专利技术的多播数据包通信系统的一个实例的模块示意图;图5为现有技术的多播数据包通信方法与本专利技术的一个实例的多播数据包通信方法的测试数据对比表。具体实施方式以下将对本专利技术的实施例给出详细的说明。尽管本专利技术将结合一些具体实施方式进行阐述和说明,但需要注意的是本专利技术并不仅仅只局限于这些实施方式。相反,对本专利技术进行的修改或者等同替换,均应涵盖在本专利技术的权利要求范围当中。一些示例性实施例被描述成作为流程图描绘的处理或方法。虽然流程图将各项操作描述成顺序的处理,但是其中的许多操作可以被并行地、并发地或者同时实施。此外,各项操作的顺序可以被重新安排。当其操作完成时所述处理可以被终止,但是还可以具有未包括在附图中的附加步骤。所述处理可以对应于方法、函数、规程、子例程、子程序等等。应当理解的是,虽然在这里可能使用了术语“第一”、“第二”等等来描述各个单元或是数据,但是这些单元或数据不应当受这些术语限制。使用这些术语仅仅是为了将一个数据与另一个数据进行区分。举例来说,在不背离示例性实施例的范围的情况下,第一多播数据包可以被称为第二多播数据包,并且类似地第二多播数据包可以被称为第一多播数据包。下文描述中的单播流与单播数据包具有相同的涵义,即都是指信息的接收和传递在节点间是一对一进行。广播流与多播数据包都是指信息的接收和传递在节点间是一对多进行,需要注意的是,本文中的广播流或是多播数据包既适用于广播通信方式,也适用于组播通信方式。图1为现有的多播数据包通信方法的数据流向示意图,下面将通过图1介绍现有技术的多播数据包通信方法。如图1所示,在云主机100上运行多个虚拟的客户端101,多个客户端101的结构以及运行原理相同。客户端101向外发出多播数据包,在云主机100上运行的OVS102接收多播数据包。OVS102的云主机100通常使用openflow协议,OVS102实现openflow交换机的功能,云主机100实现openflow控制器的功能。云主机100提取多播数据包中的客户端特征,这里的客户端特征包括客户端101的虚拟IP地址、用户名、用户IP地址、用户设备通信物理地址等中的一个或多个。云主机100根据提取的客户端特征在后端数据库103中查找与客户端特征匹配的多个云资源服务器104,并将多个云资源服务器104的到达路径通过openflow协议与OVS102交互。OVS102构建转发的多播数据包,并通过tunnel的方式将转发的多播数据包发送到多个相应的云资源服务器104的隧道端口。各个云资源服务104对多播数据包进行处理并向OVS102返回单播数据包,OVS102将单播数据包转发回客户端101。在现有的多播数据包通信方法中,OVS102向多个相应的云资源服务器转发多播数据包,由于多播数据包需要通过tunnel的方式进行发送,因此如果部分云资源服务器的连接属于新建,则在发送多播数据包之前需要先建立tunnel,直到所有的tunnel都建立完毕后才能进行多播数据包转发。从而会导致多播数据包在云主机100本地滞留。由于云主机100需要在后端数据库103中查找与客户端特征匹配的多个云资源服务器,当云资源服务器的数量比较庞大时,通过后端数据库103查找云资源服务器104的信息就会变得非常缓慢。OVS102进行多播数据包的发本文档来自技高网...

【技术保护点】
一种多播数据包通信方法,其特征在于包括步骤:虚拟交换机接收来自客户端的第一多播数据包,基于所述第一多播数据包构建单播数据包;虚拟交换机向多播数据包通信装置发送所述单播数据包;所述多播数据包通信装置接收所述单播数据包;所述多播数据包通信装置提取所述单播数据包对应的客户端特征;所述多播数据包通信装置查询所述客户端特征所对应的多个云资源服务器;所述多播数据包通信装置基于所述单播数据包构建第二多播数据包;所述多播数据包通信装置向所述多个云资源服务器发送所述第二多播数据包。
【技术特征摘要】
1.一种多播数据包通信方法,其特征在于包括步骤:虚拟交换机接收来自客户端的第一多播数据包,基于所述第一多播数据包构建单播数据包;虚拟交换机向多播数据包通信装置发送所述单播数据包;所述多播数据包通信装置接收所述单播数据包;所述多播数据包通信装置提取所述单播数据包对应的客户端特征;所述多播数据包通信装置查询所述客户端特征所对应的多个云资源服务器;所述多播数据包通信装置基于所述单播数据包构建第二多播数据包;所述多播数据包通信装置向所述多个云资源服务器发送所述第二多播数据包。2.如权利要求1所述的多播数据包通信方法,其特征在于,所述多播数据包通信装置基于英特尔数据面开发套件数据处理框架接收所述单播数据包以及发送所述第二多播数据包。3.如权利要求1所述的多播数据包通信方法,其特征在于,一个或多个所述多播数据包通信装置通过一个虚拟IP地址接收来自虚拟交换机的所述单播数据包。4.如权利要求3所述的多播数据包通信方法,其特征在于,多个所述多播数据包通信装置通过等价路由分配用于处理所述单播数据包的所述多播数据包通信装置。5.如权利要求1所述的多播数据包通信方法,其特征在于,所述多播数据包通信装置查询客户端特征所对应的多个云资源服务器步骤包括:所述多播数据包通信装置查询本地数据库,将客户端特征与所...
【专利技术属性】
技术研发人员:文旭,徐亮,方俊,
申请(专利权)人:上海优刻得信息科技有限公司,
类型:发明
国别省市:上海;31
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。