一种外层组播IP地址分配方法以及装置与流程

文档序号:15394486发布日期:2018-09-08 01:51阅读:342来源:国知局

本申请涉及通信领域,尤其涉及一种外层组播ip地址分配方法以及装置。



背景技术:

随着互联网的高速发展,出现了越来越多的一对多或多对多的多方通信形式,比如远程会议、交互式仿真、分布式内容系统和多方游戏等应用。这些应用催发了组播技术的发展。组播技术能有效的解决单点发送多点接收的问题,实现网络中单点到多点的高效数据传送。

虚拟可扩展局域网(英文全称:virtualextensiblelocalareanetwork,简称:vxlan)在转发组播报文时多采用组播复制方式,这种方式是需要先在vxlan网络中建立多棵组播树,每个组播树对应一个组播网际协议(英文全称:internetprotocol,简称:ip)地址,此处的组播ip地址为与组播源为组播业务分配的内层组播ip地址相对应的外层组播ip地址。vxlan节点收到组播报文时,使用该外层组播ip地址对该组播报文进行外层封装,然后转发该组播报文。而目前vxlan中通常是人工为每一个组播业务的内层组播ip地址分配一个vxlan外层组播ip地址,并在该vxlan中的每个交换机上记录该组播业务的内层组播ip地址与该外层组播ip地址的映射关系。然后在服务器点播某个组播业务之后,该vxlan中的交换机可以根据该外层组播ip地址生成相应的组播树,从而转发该组播业务对应的的组播报文。

在这种方法中,整个vxlan中的组播业务的内层组播ip地址以及该内层组播ip地址对应的外层组播ip地址的映射关系全部人工配置,使得人工配置的工作量大,容易出现配置错误。



技术实现要素:

本申请实施例提供了一种外层组播ip地址分配方法和装置,用于在vxlan中自动为组播业务配置外层组播ip地址,有效降低该vxlan中为组播业务分配外层组播ip地址时的出错率。

第一方面,本申请提供一种外层组播ip地址分配方法,包括:

该vxlan中的组播ip地址分配装置在接收到vxlan中的多个交换机中的第一交换机发送的组播源为组播业务分配的内层组播ip地址之后,确定该内层组播ip地址对应的外层组播ip地址;最后该组播ip地址分配装置将该内层组播ip地址与该外层组播ip地址包含在ip地址指示消息中发送给该第一交换机。

本申请中,该组播ip地址分配装置可以为该vxlan中的任意一台交换机,实际应用中的具体选择情况,此处不做限定。

同时,本申请中,该组播ip地址分配装置在发送该ip地址指示消息时,可以将该ip地址指示消息发送给该vxlan中的全部交换机,也可以仅发送给该第一交换机,具体的实施方式此处不做限定。

本申请提供的技术方案中,组播ip地址分配装置在接收到交换机中的第一交换机发送的组播源为组播业务分配的内层组播ip地址之后,该组播ip地址分配装置根据该内层组播ip地址确定与之对应的外层组播ip地址,该外层组播ip地址在该vxlan中标识该组播业务;然后该组播ip地址分配装置将该外层组播ip地址发送给vxlan中的第一交换机。在此方案中,该组播组对应的外层组播ip地址由vxlan自动配置,不再需要人工配置,因此能够降低配置工作量,进而降低配置错误率。

可选的,该组播ip地址分配装置在确定该内层组播ip地址对应的外层组播ip地址可以具体如下:

该组播ip地址分配装置在获取到该内层组播ip地址之后,查询该组播ip地址分配装置已保存的组播封装表中是否存在该内层组播ip地址对应的外层组播ip地址,该组播封装表的每个表项用于记录内层组播ip地址与对应的外层组播ip地址;

若该组播封装表中存在该内层组播ip地址对应的外层组播ip地址,则该组播ip地址分配装置可以确定已为该内层组播ip地址分配了外层组播ip地址,这时该组播ip地址分配装置可以直接从该组播封装表中获取该内层组播ip地址对应的外层组播ip地址;

若该组播封装表中不存在该内层组播ip地址对应的外层组播ip地址,则该组播ip地址分配装置可以确定还未为该内层组播ip地址分配外层组播ip地址,这时该组播ip地址分配装置可以为该内层组播ip地址分配对应的外层组播ip地址。

本申请提供的技术方案中,该组播ip地址分配装置在已为该内层组播ip地址分配相应的外层组播ip地址时直接采用该已分配的外层组播ip地址可以保证相同的内层组播ip地址采用同样的外层组播ip地址,降低vxlan中配置工作量和配置错误率。

可选的,基于上述方案,该组播ip地址分配装置在为该内层组播ip地址分配外层组播ip地址时,该组播ip地址分配装置中可以包括一个ip地址池,该ip地址池中包括多个ip地址,且该多个ip地址仅可用作各内层组播ip地址的ip地址标识,不可再用作其他用途,比如作为普通用户的ip地址。这时若该组播ip地址分配装置确定还未为该内层组播ip地址分配对应的外层组播ip地址,则该组播ip地址分配装置从该ip地址池中选择未使用的ip地址作为该内层组播ip地址对应的外层组播ip地址。

本申请提供的技术方案中,该组播ip地址分配装置从预置的ip地址池中选择相应的外层组播ip地址可以有效地避免ip地址的冲突。

可选的,该组播ip地址分配装置发送该ip地址指示消息时,该ip地址指示消息可以为以太虚拟专用网(英文全称:ethernetvirtualprivatenetwork,简称:evpn)协议扩展消息,该evpn协议扩展消息包括类型字段,长度字段和值字段,该类型字段用于指示该evpn协议扩展消息的类型,该长度字段用于指示该evpn协议扩展消息的长度,该值字段用于指示该外层组播ip地址与该内层组播ip地址。

本申请中,该ip地址指示消息可以为多种协议消息,并不限定于本申请中提供的evpn协议扩展消息,该ip地址指示消息具体为何种协议消息,具体情况,此处不做限定。

第二方面,本申请提供一种外层组播ip地址分配方法,包括:

服务器接收到组播源发送的组播查询消息之后给vxlan中的多个交换机中的第一交换机发送包含有内层组播ip地址的组播响应消息;然后该第一交换机在接收到该组播响应消息之后,从该组播响应消息中获取该内层组播ip地址;再然后该第一交换机将该内层组播ip地址发送给vxlan中的组播ip地址分配装置,以使得该组播ip地址分配装置确定该内层组播ip地址对应的外层组播ip地址;最后该第一交换机接收该组播ip地址分配装置发送的包含有该外层组播ip地址和该内层组播ip地址的ip地址指示消息。

本申请提供的技术方案中,该第一交换机在该服务器发送的组播响应消息中获取该内层组播ip地址并将该内层组播ip地址发送给该组播ip地址分配装置,以使得该组播ip地址分配装置确定该内层组播ip地址对应的外层组播ip地址。这样可以保证每一个服务器点播的组播业务都可以确定外层组播ip地址,可以有效的保证相同的组播业务采用同样的外层组播ip地址,降低vxlan中配置工作量和配置错误率。

可选的,该组播ip地址分配装置发送该ip地址指示消息时,该ip地址指示消息可以为以太虚拟专用网(英文全称:ethernetvirtualprivatenetwork,简称:evpn)协议扩展消息,该evpn协议扩展消息包括类型字段,长度字段和值字段,该类型字段用于指示该evpn协议扩展消息的类型,该长度字段用于指示该evpn协议扩展消息的长度,该值字段用于指示该外层组播ip地址与该内层组播ip地址。

本申请中,该ip地址指示消息可以为多种协议消息,并不限定于本申请中提供的evpn协议扩展消息,该ip地址指示消息具体为何种协议消息,具体情况,此处不做限定。

可选的,该第一交换机在接收到该ip地址指示消息之后,可以根据该ip地址指示消息中的该外层组播ip地址和该内层组播ip地址更新已保存的组播封装表。

本申请提供的方案中,该第一交换机在接收到组播源发送的组播报文后,可以根据该组播封装表和该第一交换机自身保存的组播转发表转发该组播报文给该服务器。该组播转发表的各个表项记录内层组播ip地址与组播组成员之间的映射关系。

第三方面,本申请提供一种组播ip地址分配装置,该组播ip地址分配装置具有实现上述方法中组播ip地址分配装置的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。

一种可能实现方式中,该组播ip地址分配装置,应用于vxlan,该vxlan包括:该组播ip地址分配装置以及多个交换机,每个交换机连接至少一个服务器,该组播ip地址分配装置包括:

接收模块,用于用于接收该多个交换机中的第一交换机发送的内层组播ip地址,该内层组播ip地址为组播源为组播业务分配的组播ip地址,该第一交换机为该多个交换机中的任意一个;

处理模块,用于确定该内层组播ip地址对应的外层组播ip地址,该外层组播ip地址用于在该vxlan内标识该组播业务;

发送模块,用于向该vxlan中的该第一交换机发送ip地址指示消息,该ip地址指示消息包括该外层组播ip地址和该内层组播ip地址。

另一种可能实现方式中,该组播ip地址分配装置,应用于vxlan,该vxlan包括:该组播ip地址分配装置以及多个交换机,每个交换机连接至少一个服务器;其特征在于,包括:

收发器,处理器和总线;

该收发器与该处理器通过该总线相相连;

该收发器,用于接收该多个交换机中的第一交换机发送的内层组播ip地址,该内层组播ip地址为组播源为组播业务分配的组播ip地址,该第一交换机为该多个交换机中的任意一个;

该处理器,用于确定该内层组播ip地址对应的外层组播ip地址,该外层组播ip地址用于在该vxlan内标识该组播业务;

该收发器,用于向该vxlan中的该第一交换机发送ip地址指示消息,该ip地址指示消息包括该外层组播ip地址和该内层组播ip地址。

第四方面,本申请提供一种交换机,该交换机具有实现上述方法中交换机的功能。该功能可以通过硬件实现,也可以通过硬件执行相应的软件实现。该硬件或软件包括一个或多个与上述功能相对应的模块。

一种可能实现方式中,该交换机应用于虚拟可扩展局域网vxlan,该vxlan包括:组播ip地址分配装置以及多个交换机,每个交换机连接至少一个服务器;该交换机为该多个交换机中的任意一个,该交换机包括:

接收模块,用于接收该交换机连接的服务器发送的组播响应消息,该组播响应消息由该服务器根据组播源发送的组播查询消息发送,该组播响应消息包含内层组播ip地址,该内层组播ip地址为该组播源为组播业务分配的组播ip地址;

处理模块,用于从该组播响应消息中获取该内层组播ip地址;

发送模块,用于将该内层组播ip地址发送给组播ip地址分配装置;

该接收模块,用于接收该组播ip地址分配装置发送的ip地址指示消息,该ip地址指示消息包括外层组播ip地址与该内层组播ip地址,该外层组播ip地址为该组播ip地址分配装置根据该内层组播ip地址确定。

另一种可能实现方式中,该交换机应用于虚拟可扩展局域网vxlan,该vxlan包括:组播ip地址分配装置以及多个交换机,每个交换机连接至少一个服务器;该交换机为该多个交换机中的任意一个,该交换机包括:

接收器,处理器以及发送器;

该接收器,用于接收该交换机连接的服务器发送的组播响应消息,该组播响应消息由该服务器根据组播源发送的组播查询消息发送,该组播响应消息包含内层组播ip地址,该内层组播ip地址为该组播源为组播业务分配的组播ip地址;

该处理器,用于从该组播响应消息中获取该内层组播ip地址;

该发送器,用于将该内层组播ip地址发送给组播ip地址分配装置;

该接收器,用于接收该组播ip地址分配装置发送的ip地址指示消息,该ip地址指示消息包括外层组播ip地址与该内层组播ip地址,该外层组播ip地址为该组播ip地址分配装置根据该内层组播ip地址确定。

第五方面,本申请提供了一种计算机可读存储介质,包括指令,当该指令在计算机上运行时,该计算机执行上述各方面该的方法。

第六方面,本申请提供了一种包含指令的计算机程序产品,当该计算机程序产品在计算机上运行时,该计算机执行上述各方面该的方法。

从以上技术方案可以看出,本申请实施例中:组播ip地址分配装置在接收到交换机中的第一交换机发送的组播源为组播业务分配的内层组播ip地址之后,该组播ip地址分配装置根据该内层组播ip地址确定与之对应的外层组播ip地址,该外层组播ip地址在该vxlan中标识该组播业务;然后该组播ip地址分配装置将该外层组播ip地址发送给vxlan中的第一交换机。在此方案中,该组播组对应的外层组播ip地址由vxlan自动配置,不再需要人工配置,因此能够降低配置工作量,进而降低配置错误率。

附图说明

图1为本申请实施例中的vxlan中组播承载形式示意图;

图2为本申请实施例中外层组播ip地址分配方法的一个流程示意图;

图3为本申请实施例中vxlan中组播的过程示意图;

图4为本申请实施例中组播ip地址分配装置的一个结构示意图;

图5为本申请实施例中组播ip地址分配装置的另一个结构示意图;

图6为本申请实施例中交换机的一个结构示意图;

图7为本申请实施例中交换机的另一个结构示意图。

具体实施方式

本申请实施例提供了一种外层组播ip地址分配方法和装置,用于在vxlan中自动为组播业务的内层组播ip地址配置对应的外层组播ip地址,有效降低该vxlan中为内层组播ip地址分配外层组播ip地址时的出错率。

本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便本申请中的实施例能够以除了在本申请中图示或描述的内容以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、系统、产品或设备不仅限于清楚地列出的那些步骤或单元,而是还可以包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。

随着互联网的高速发展,出现了越来越多的一对多或多对多的多方通信形式,比如远程会议、交互式仿真、分布式内容系统和多方游戏等应用。这些应用进而催发了组播业务的发展。

如图1所示,当前的组播系统架构包括vxlan,组播源以及一个或多个服务器。其中vxlan中包括一个或多个交换机,图1中,交换机包括了接入交换机和核心交换机,需要说明的是本申请中关注的是接入交换机,因此,如无特指,本申请中的交换机以及第一交换机均指示接入交换机。同时本申请中的第一交换机为该vxlan中的任意一个交换机。而当前的vxlan中的组播承载方式为:多个服务器分别通过其所连接的多个交换机向组播源点播组播业务(如图1中由左至右的第一个服务器以及第三个服务器,其中灰色箭头指示服务器向组播源进行组播订阅);然后该组播源通过该多个交换机向该多个服务器发送相应的组播报文(如图1中所示的黑色箭头指示vxlan中交换机对组播源发送的组播报文转发到进行组播订阅的服务器)。即组播技术能有效的解决单点发送多点接收的问题,实现网络中单点到多点的高效数据传送。而vxlan在转发组播报文时采用的组播复制方式需要先在vxlan网络中建立多棵组播树,每个组播树对应一个组播ip地址,此处的组播ip地址为与组播源为组播业务分配的内层组播ip地址相对应的外层组播ip地址。vxlan节点收到组播报文时,使用该外层组播ip地址对该组播报文进行外层封装,然后转发该组播报文。而目前vxlan中通常是人工为每一个组播业务的内层组播ip地址分配一个vxlan外层组播ip地址,并在该vxlan中的每个交换机上记录该组播业务的内层组播ip地址与该外层组播ip地址的映射关系。然后在服务器点播某个组播业务之后,该vxlan中的交换机可以根据该外层组播ip地址生成相应的组播树,从而转发该组播业务对应的的组播报文。

在这种方法中,整个vxlan中的组播业务的内层组播ip地址以及该内层组播ip地址对应的外层组播ip地址的映射关系全部人工配置,使得人工配置的工作量大,容易出现配置错误。而目前在vxlan中实现的组播技术通常是人工为每一个组播组分配一个vxlan外层组播ip地址,并在每个交换机上配置该组播组与该外层组播ip地址的映射关系。当服务器点播一个组播组对应的组播业务之后,该vxlan网络中的交换机可以根据该组播组对应的外层组播ip地址生成相应的组播树,以转发该组播组的组播报文。这种方法中,整个vxlan中的组播组与该组播组对应的外层组播ip地址的映射关系全部人工配置,使得人工配置的工作量大,容易出现配置错误。

为了解决这一问题,本申请提供了如下技术方案:该vxlan中的组播ip地址分配装置在接收到vxlan中的多个交换机中的第一交换机发送的组播源为组播业务分配的内层组播ip地址之后,确定该内层组播ip地址对应的外层组播ip地址;最后该组播ip地址分配装置将该内层组播ip地址与该外层组播ip地址包含在ip地址指示消息中发送给该第一交换机。

本申请提供的技术方案应用于vxlan中,该vxlan包括分配装置多个交换机,每个交换机连接至少一个服务器。多数多个交换机连接的多个服务器中包括至少一个组播源,用于为其他服务器提供组播服务。

请参阅图2所示,本申请实施例中ip地址分配方法的一个实施例,包括:

201、组播源向所述vxlan中的所有交换机连接的服务器发送组播查询消息。

组播源向vxlan中所有交换机连接的服务器发送组播查询消息。该组播查询消息携带该组播源需要查询的组播业务的标识,即该组播业务的内层组播ip地址。

在实际应用中,由于服务器点播的组播业务是会变动的,该组播源为了能实时确定某个组播组的成员是否发生变动,该组播源会向与该组播源连接的交换机发送组播查询消息,然后与该组播源连接的交换机会向vxlan中的所有交换机连接的服务器发送组播查询消息,以便确定组播组的成员。所述组播源可以周期性发送组播查询消息,也可以根据指令发送组播查询消息。

202、第一服务器向第一交换机发送组播响应消息,该组播响应消息包含内层组播ip地址。

该第一服务器为任意一个服务器,该第一服务器在接收到该组播查询消息之后,若该第一服务器确定点播该组播查询消息中包括的内层组播ip地址对应的组播业务,则该第一服务器向与该第一服务器连接的第一交换机发送包含该内层组播ip地址的组播响应消息。该内层组播ip地址为该组播源为该组播业务分配的标识。

203、该第一交换机从该组播响应消息中获取该内层组播ip地址。

该第一交换机在接收到该组播响应消息之后,解析该组播响应消息得到该内层组播ip地址。

本实施例中,该第一交换机在接收到该组播响应消息之后,还需要将该组播响应消息转发给该组播源,以使得该组播源根据该组播响应消息确定该第一服务器点播了该内层组播ip地址对应的组播业务并向该第一服务器发送该内层组播ip地址对应的组播报文。

204、该第一交换机将该内层组播ip地址发送给组播ip地址分配装置。

该第一交换机在获取到该内层组播ip地址之后,将该内层组播ip地址发送给该组播ip地址分配装置。

本实施例中,在该第一交换机将该内层组播ip地址发送给该组播ip地址分配装置之前,该第一交换机还可以先根据该内层组播ip地址确定其自身保存的组播封装表中是否存在与该内层组播ip地址对应的外层组播ip地址,若存在,则该第一交换机不向该组播ip地址分配装置发送该内层组播ip地址,同时表明该第一交换机的组播封装表已记录了该内层组播ip地址和与该内层组播ip地址对应的外层组播ip地址。当该第一交换机接收到根据该外层组播ip地址封装的组播报文时,该第一交换机对该组播报文解封装后得原始组播报文,并可以直接使用其自身已保存的组播封装表确定该内层组播ip地址,然后根据确定的内层组播ip地址和组播转发表转发所述原始组播报文;其中,所述原始组播报文是指组播源发送的,且没有经过vxlan封装的组播报文。若第一交换机存储的组播封装表中不存在该内层组播ip地址对应的外层组播ip地址,则该第一交接机向该组播ip地址分配装置发送该内层组播ip地址,以使得该组播ip地址分配装置为该内层组播ip地址分配对应的外层组播ip地址。

在本实施例中,该第一交换机在发送该内层组播ip地址时,可以采用evpn协议扩展消息进行发送也可以采用其他消息进行发送,此处不限定具体实施方式。

205、该组播ip地址分配装置确定该内层组播ip地址对应的外层组播ip地址。

该组播ip地址分配装置在接收到该内层组播ip地址之后,为该内层组播ip地址确定对应的外层组播ip地址。

在本实施例中,组播ip地址分配装置为该内层组播ip地址确定对应的外层组播ip地址时需要先判断该组播ip地址分配装置是否已为该内层组播ip地址分配了对应的外层组播ip地址,具体情况如下:

该组播ip地址分配装置在获取到该内层组播ip地址之后,查询该组播ip地址分配装置中的组播封装表中是否存在该内层组播ip地址对应的外层组播ip地址。本实施例中,组播封装表用于记录内层组播ip地址与外层组播ip地址的对应关系,即该组播封装表的每个表项用于记录一个内层组播ip地址与该内层组播ip地址对应的外层组播ip地址。

若该组播封装表中存在该内层组播ip地址对应的外层组播ip地址,则该组播ip地址分配装置可以确定已经为该内层组播ip地址分配了外层组播ip地址,这时该组播ip地址分配装置可以直接从该组播封装表中获取该内层组播ip地址的外层组播ip地址;

若该组播封装表中不存在该内层组播ip地址对应的外层组播ip地址,则该组播ip地址分配装置可以确定尚未为该内层组播ip地址分配外层组播ip地址,这时该组播ip地址分配装置可以为该内层组播ip地址分配对应的外层组播ip地址。

分配装置该组播ip地址分配装置中可以包括一个ip地址池,该ip地址池中包括多个ip地址,且该多个ip地址仅可用作各内层组播ip地址的外层组播ip地址,不可再用作其他用途,比如作为普通用户的ip地址。该组播ip地址分配装置在为该内层组播ip地址分配外层组播ip地址时,若该组播ip地址分配装置确定尚未为该组播业务分配外层组播ip地址,则该组播ip地址分配装置从该ip地址池中选择未使用的ip地址作为该内层组播ip地址的外层组播ip地址。

206、该组播ip地址分配装置向该第一交换机发送ip地址指示消息,该ip地址指示消息包括该外层组播ip地址与该内层组播ip地址。

该组播ip地址分配装置在确定了该内层组播ip地址的外层组播ip地址之后,将该外层组播ip地址和该内层组播ip地址一起发送给该第一交换机或vxlan中所有的交换机,以使得第一交换机根据该外层组播ip地址与该内层组播ip地址更新该第一交换机保存的组播封装表,即将该内层组播ip地址和该外层组播ip地址的对应关系记录在该组播封装表中,该第一交换机的组播封装表用于记录内层组播ip地址与外层组播ip地址的对应关系,即该组播封装表的每个表项指示一个内层组播ip地址对应的外层组播ip地址。

本申请提供的技术方案中,该组播ip地址分配装置可以向该vxlan中的全部交换机发送该ip地址指示消息也可仅向该第一交换机发送该ip地址指示消息,具体情况,此处不做限定。

本实施例中,为了方便理解,下面以一个实际场景进行说明,假设该组播源,服务器以及交换机的连接关系如图3所示,即该vxlan中存在5个交换机,分别为交换机a、交换机b、交换机c、交换机d和交换机e,其中预先设置该交换机a为组播ip地址分配装置,各个交换机之间可以相互通信。但任一交换机在发送报文到另一交换机之前,需要为该报文添加vxlan封装。若该交换机a作为该组播ip地址分配装置,则该交换机a上还可以包括一个ip地址池,该ip地址池里的ip地址仅用来标识内层组播ip地址,此处该内层组播ip地址由该组播源为组播业务分配。该5个交换机中每个交换机至少连接一个服务器,且该5个交换机连接的多个服务器中包括至少一个组播源,该组播源用于为组播业务分配内层组播ip地址以及发送组播报文。例如,交换机a连接组播源,交换机b连接服务器b,交换机c连接服务器c,交换机d连接服务器d,交换机e连接服务器e。本实施例中以远程会议为当前组播业务,则在该vxlan中的组播过程如下:该组播源向交换机a发送组播查询消息,该组播查询消息用于查询远程会议的点播情况,交换机a在对该组播查询消息添加vxlan封装后向交换机b、交换机c、交换机d和交换机e广播发送该添加了vxlan封装的组播查询消息。然后交换机b、交换机c、交换机d和交换机e分别将接收到的该添加了vxlan封装的组播查询消息解封装,得到该组播查询消息后,将该组播查询消息发送给相连的服务器。即,该交换机b将该组播查询消息发送给该服务器b,该交换机c将该组播查询消息发送给该服务器c,该交换机d将该组播查询消息发送给该服务器d,该交换机e将该组播查询消息发送给该服务器e。然后每个服务器根据自身的情况向该组播源反馈是否参与该远程会议。若该服务器b,服务器c以及服务器e参与该远程会议,则该服务器b会向该交换机b发送组播响应消息,该组播响应消息将包含该远程会议的内层组播ip地址,该组播响应消息同时还指示了该服务器b点播了该远程会议这一组播业务。同理,该服务器c也会向该交换机c发送相应的组播响应消息,该服务器e也会向该交换机e发送相应的组播响应消息。该交换机b,该交换机c以及该交换机e在接收到相应的组播响应消息之后,该交换机b,该交换机c以及该交换机e获取相应的内层组播ip地址。比如该交换机b获取到该远程会议的内层组播ip地址。然后该交换机b,该交换机c以及该交换机e分别将该相应的该远程会议的内层组播ip地址发送给该组播ip地址分配装置,即该交换机a。然后该组播ip地址分配装置在已保存的组播封装表中查询是否已存在该远程会议的外层组播ip地址,该组播封装表的每个表项用于记录内层组播ip地址与对应的外层组播ip地址。若该组播ip地址分配装置确定该组播封装表中已存在该远程会议的外层组播ip地址,假设为ip地址a。则该组播ip地址分配装置将该ip地址a与该远程会议的内层组播ip地址发送给该vxlan中的该交换机b、该交换机c和该交换机e。若该组播ip地址分配装置确定该组播封装表中不存在该远程会议的外层组播ip地址,则该组播ip地址分配装置将会在该ip地址池中选择未使用的ip地址b作为该远程会议的外层组播ip地址。则该组播ip地址分配装置将该ip地址b与该远程会议的内层组播ip地址送给该vxlan中的该交换机b、该交换机c和该交换机e。在该交换机b、该交换机c和该交换机e在接收到该远程会议的外层组播ip地址和该远程会议的内层组播ip地址之后,该交换机b、该交换机c和该交换机e更新各自已保存的组播封装表。该交换机b、该交换机c和该交换机e也会将该组播响应消息发送给该组播源,这时该组播源将该远程会议的数据发送给与加入该组播组的服务器相连的交换机,若该交换机b、该交换机c、该交换机e接收到该远程会议的数据,则该交换机b、该交换机c、该交换机e根据各自保存的组播封装表以及组播转发表将该数据发送给相应的服务器。其中,每个组播转发表包括内层组播ip地址与作为组播组成员的服务器的对应关系。

需要说明的是,在vxlan中,一个交换机向另一个交换机发送报文的时候,需要先为该报文添加vxlan封装,并基于该vxlan封装中的信息向另一交换机发送报文。本发明实施例中的外层组播ip地址即需要添加到vxlan封装中的外层ip地址。然后,组播源连接的交换机,如,交换机a,根据该vxlan封装中的外层组播ip地址在该vxlan中转发组播报文。而接收到该vxlan封装的组播报文的交换机,例如,交换机b,交换机c和交换机e需要对接收到的vxlan封装的组播报文解封装,得到原始的组播报文,并根据所述外层组播ip地址对应的内层组播ip地址,以及交换机b,交换机c和交换机e分别保存的组播转发表,将原始的组播报文发送给点播了该组播业务的服务器。其中,原始的组播报文是指组播源发出的组播报文。

本实施例场景中,该组播ip地址分配装置确定了该远程会议的内层组播ip地址对应的外层组播ip地址之后,该组播ip地址分配装置还可以将该外层组播ip地址和该内层组播ip地址发送给该vxlan中的全部交换机,此处不限定具体的实施方式。

本实施例中,组播ip地址分配装置在接收到交换机中的第一交换机发送的组播源为组播业务分配的内层组播ip地址之后,该组播ip地址分配装置根据该内层组播ip地址确定与之对应的外层组播ip地址,该外层组播ip地址在该vxlan中标识该组播业务;然后该组播ip地址分配装置将该外层组播ip地址发送给vxlan中的第一交换机。在此方案中,该组播组对应的外层组播ip地址由vxlan自动配置,不再需要人工配置,因此能够降低配置工作量,进而降低配置错误率。

上面对本申请实施例中的外层组播ip地址分配方法进行了描述,下面对本申请实施例中的组播ip地址分配装置和交换机进行描述。

具体请参阅图4所示,本申请实施例中的组播ip地址分配装置包括:

接收模块401,用于接收该多个交换机中的第一交换机发送的内层组播ip地址,该内层组播ip地址为组播源为组播业务分配的组播ip地址,该第一交换机为该多个交换机中的任意一个;

处理模块402,用于确定该内层组播ip地址对应的外层组播ip地址,该外层组播ip地址用于在该vxlan内标识该组播业务;

发送模块403,用于向该vxlan中的该第一交换机发送ip地址指示消息,该ip地址指示消息包括该外层组播ip地址和该内层组播ip地址。

可选的,该处理模块402,具体用于根据该内层组播ip地址判断是否已经为该内层组播ip地址分配外层组播ip地址;

若未为该内层组播ip地址分配外层组播ip地址,则为该内层组播ip地址分配外层组播ip地址。

可选的,该处理模块402,具体用于确定组播封装表中是否存在该内层组播ip地址对应的外层组播ip地址,该组播封装表的每个表项用于记录内层组播ip地址与对应的外层组播ip地址;

若该组播封装表中存在该内层组播ip地址对应的外层组播ip地址,则确定已为该内层组播ip地址分配外层组播ip地址;

若该组播封装表中不存在该内层组播ip地址对应的外层组播ip地址,则确定未为该内层组播ip地址分配外层组播ip地址。

可选的,该处理模块402,具体用于从该ip地址池中选取未使用的ip地址作为该内层组播ip地址的外层组播ip地址。可选的,该处理模块402,还用于若该组播ip地址分配装置已经为该组播业务分配了对应的外层组播ip地址,则获取该外层组播ip地址。

可选的,该ip地址指示消息为以太虚拟专用网evpn协议扩展消息,该evpn协议扩展消息包括类型字段,长度字段和值字段,该类型字段用于指示该evpn协议扩展消息的类型,该长度字段用于指示该evpn协议扩展消息的长度,该值字段用于指示该外层组播ip地址与该内层组播ip地址。

进一步的,本实施例中的各模块都可以实施上述实施例中的各步骤。

本实施例中,该接收模块401在接收到交换机中的第一交换机发送的组播源为组播业务分配的内层组播ip地址之后,该处理模块402根据该内层组播ip地址确定与之对应的外层组播ip地址,该外层组播ip地址在该vxlan中标识该组播业务;然后该发送模块403将该外层组播ip地址发送给vxlan中的第一交换机。在此方案中,该组播组对应的外层组播ip地址由vxlan自动配置,不再需要人工配置,因此能够降低配置工作量,进而降低配置错误率。

具体请参阅图5所示,本申请实施例中的组播ip地址分配装置的另一个实施例,该组播ip地址分配装置包括:

收发器501,处理器502以及总线503;该收发器501,与该处理器502通过该总线503相连。

总线503可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图5中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

处理器502可以是中央处理器(centralprocessingunit,简称cpu),网络处理器(networkprocessor,简称np)或者cpu和np的组合。

处理器502还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specificintegratedcircuit,简称asic),可编程逻辑器件(programmablelogicdevice,简称pld)或其组合。上述pld可以是复杂可编程逻辑器件(complexprogrammablelogicdevice,简称cpld),现场可编程逻辑门阵列(field-programmablegatearray,简称fpga),通用阵列逻辑(genericarraylogic,简称gal)或其任意组合。

参见图5所示,该组播ip地址分配装置还可以包括存储器504。该存储器504用于保存组播封装表,该存储器504可以包括易失性存储器(volatilememory),例如随机存取存储器(random-accessmemory,简称ram);存储器也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flashmemory),硬盘(harddiskdrive,简称hdd)或固态硬盘(solid-statedrive,简称ssd);存储器504还可以包括上述种类的存储器的组合。

可选地,存储器504还可以用于存储程序指令,处理器502调用该存储器504中存储的程序指令,可以执行图1至图3中所示实施例中的一个或多个步骤,或其中可选的实施方式,实现上述方法中组播ip地址分配装置行为的功能。

该收发器501,用于接收该多个交换机中的第一交换机发送的内层组播ip地址,该内层组播ip地址为组播源为组播业务分配的组播ip地址,该第一交换机为该多个交换机中的任意一个;

该处理器502,用于确定该内层组播ip地址对应的外层组播ip地址,该外层组播ip地址用于在该vxlan内标识该组播业务;

该收发器501,用于向该vxlan中的该第一交换机发送ip地址指示消息,该ip地址指示消息包括该外层组播ip地址和该内层组播ip地址。

本实施例中,该收发器501在接收到交换机中的第一交换机发送的组播源为组播业务分配的内层组播ip地址之后,该处理器502根据该内层组播ip地址确定与之对应的外层组播ip地址,该外层组播ip地址在该vxlan中标识该组播业务;然后该收发器501将该外层组播ip地址发送给vxlan中的第一交换机。在此方案中,该组播组对应的外层组播ip地址由vxlan自动配置,不再需要人工配置,因此能够降低配置工作量,进而降低配置错误率。

具体请参阅图6所示,本申请实施例中的交换机的一个实施例,该交换机包括:

接收模块601,用于接收该交换机连接的服务器发送的组播响应消息,该组播响应消息由该服务器根据组播源发送的组播查询消息发送,该组播响应消息包含内层组播ip地址,该内层组播ip地址为该组播源为组播业务分配的组播ip地址;

处理模块602,用于从该组播响应消息中获取该内层组播ip地址;

发送模块603,用于将该内层组播ip地址发送给组播ip地址分配装置;

接收模块601,用于接收该组播ip地址分配装置发送的ip地址指示消息,该ip地址指示消息包括外层组播ip地址与该内层组播ip地址,该外层组播ip地址为该组播ip地址分配装置根据该内层组播ip地址确定。

可选的,该ip地址指示消息为以太虚拟专用网evpn协议扩展消息,该evpn协议扩展消息包括类型字段,长度字段和值字段,该类型字段用于指示该evpn协议扩展消息的类型,该长度字段用于指示该evpn协议扩展消息的长度,该值字段用于指示该外层组播ip地址与该内层组播ip地址。

可选的,该处理模块602,还用于根据该外层组播ip地址与该内层组播ip地址更新组播封装表,该组播封装表的每个表项用于记录内层组播ip地址与对应的外层组播ip地址。

本实施例中,该处理模块602通过该接收模块601接收到的该服务器发送的组播响应消息中获取该内层组播ip地址,然后该发送模块603将该内层组播ip地址发送给该组播ip地址分配装置,以使得该组播ip地址分配装置确定该内层组播ip地址对应的外层组播ip地址。这样可以保证每一个服务器点播的组播业务都可以确定外层组播ip地址,可以有效的保证相同的组播业务采用同样的外层组播ip地址,降低vxlan中配置工作量和配置错误率。

具体请参阅图7所示,本申请实施例中的交换机的另一个实施例,该交换机包括:

接收器701,处理器702,发送器703以及总线704;所述接收器701,发送器703与所述处理器702通过所述总线704相连。

总线704可以是外设部件互连标准(peripheralcomponentinterconnect,简称pci)总线或扩展工业标准结构(extendedindustrystandardarchitecture,简称eisa)总线等。该总线可以分为地址总线、数据总线、控制总线等。为便于表示,图7中仅用一条粗线表示,但并不表示仅有一根总线或一种类型的总线。

处理器702可以是中央处理器(centralprocessingunit,简称cpu),网络处理器(networkprocessor,简称np)或者cpu和np的组合。

处理器702还可以进一步包括硬件芯片。上述硬件芯片可以是专用集成电路(application-specificintegratedcircuit,简称asic),可编程逻辑器件(programmablelogicdevice,简称pld)或其组合。上述pld可以是复杂可编程逻辑器件(complexprogrammablelogicdevice,简称cpld),现场可编程逻辑门阵列(field-programmablegatearray,简称fpga),通用阵列逻辑(genericarraylogic,简称gal)或其任意组合。

参见图7所示,该交换机还可以包括存储器705。该存储器705用于保存组播封装表。该存储器705可以包括易失性存储器(volatilememory),例如随机存取存储器(random-accessmemory,简称ram);存储器也可以包括非易失性存储器(non-volatilememory),例如快闪存储器(flashmemory),硬盘(harddiskdrive,简称hdd)或固态硬盘(solid-statedrive,简称ssd);存储器705还可以包括上述种类的存储器的组合。

可选地,存储器705还可以用于存储程序指令,处理器702调用该存储器705中存储的程序指令,可以执行图1至图3中所示实施例中的一个或多个步骤,或其中可选的实施方式,实现上述方法中交换机行为的功能。

所述接收器701,用于接收该交换机连接的服务器发送的组播响应消息,该组播响应消息由该服务器根据组播源发送的组播查询消息发送,该组播响应消息包含内层组播ip地址,该内层组播ip地址为该组播源为组播业务分配的组播ip地址;

该处理器702,用于从该组播响应消息中获取该内层组播ip地址;

所述发送器703,用于将该内层组播ip地址发送给组播ip地址分配装置;

所述接收器701,用于接收该组播ip地址分配装置发送的ip地址指示消息,该ip地址指示消息包括外层组播ip地址与该内层组播ip地址,该外层组播ip地址为该组播ip地址分配装置根据该内层组播ip地址确定。

本实施例中,该处理器702通过该接收器701接收到的该服务器发送的组播响应消息中获取该内层组播ip地址,然后该发送器703将该内层组播ip地址发送给该组播ip地址分配装置,以使得该组播ip地址分配装置确定该内层组播ip地址对应的外层组播ip地址。这样可以保证每一个服务器点播的组播业务都可以确定外层组播ip地址,可以有效的保证相同的组播业务采用同样的外层组播ip地址,降低vxlan中配置工作量和配置错误率。

在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。

所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一计算机可读存储介质传输等。

所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的系统,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。

以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1