一种单播报文传输方法和装置与流程

文档序号:17600671发布日期:2019-05-07 20:15阅读:312来源:国知局
本申请涉及通信
技术领域
:,尤其是涉及一种单播报文传输方法和装置。
背景技术
::以太网虚拟专用网(ethernetvirtualprivatenetwork,evpn)是一种二层的虚拟专用网(virtualprivatenetwork,vpn)技术,控制平面可以采用多协议边界网关协议(multiprotocolbordergatewayprotocol,mp-bgp)来通告路由信息,而数据平面可以采用可扩展虚拟局域网络(virtualextensiblelocalareanetwork,vxlan)来封装数据报文。在evpn网络中,当租户的物理站点分散在不同的位置时,则可以基于已有的服务提供商网络或者企业ip网络,为同一租户的相同网段提供二层互联,并为同一租户的不同网段提供三层互联。进一步的,evpn的优势可以在于:可以通过mp-bgp实现vxlan隧道端点(vxlantunnelendpoint,vtep)设备的自动发现、vxlan隧道的自动建立、vxlan隧道与vxlan标识的自动关联,无需用户的手工配置,可以降低网络部署难度。而且,可以分离控制平面与数据平面,控制平面可以负责发布路由信息,而数据平面可以负责转发数据报文,分工明确,易于管理。在evpn网络中,需要在任意两个vtep设备之间建立vxlan隧道,且每个vtep设备均需要维护转发表,这个转发表中的每个转发表项用于记录主机地址与vxlan隧道的对应关系。基于此,vtep设备在接收到单播报文之后,可以通过单播报文的目的地址查询转发表,得到与该目的地址对应的vxlan隧道,并通过vxlan隧道转发该单播报文,从而实现单播报文的正确转发。但是,evpn网络的vtep设备数量很多,每个vtep设备均与其它vtep设备建立vxlan隧道,导致建立大量vxlan隧道,消耗较多的设备资源。技术实现要素:本申请提供一种单播报文传输方法,应用于第一边缘设备,包括:在接收到已知单播报文后,通过所述已知单播报文的目的地址查询地址转发表,得到与所述目的地址对应的目标比特索引标识;其中,所述地址转发表用于记录主机地址与比特索引标识之间的对应关系;为所述已知单播报文封装比特索引显式复制bier头,所述bier头包括所述目标比特索引标识;通过所述目标比特索引标识查询比特索引转发表,得到与所述目标比特索引标识对应的出接口,并通过所述出接口发送封装后的已知单播报文。本申请提供一种单播报文传输装置,应用于第一边缘设备,包括:获取模块,用于在接收到已知单播报文后,通过所述已知单播报文的目的地址查询地址转发表,得到与所述目的地址对应的目标比特索引标识;其中,所述地址转发表用于记录主机地址与比特索引标识之间的对应关系;处理模块,用于为所述已知单播报文封装比特索引显式复制bier头,所述bier头包括所述目标比特索引标识;通过所述目标比特索引标识查询比特索引转发表,得到与所述目标比特索引标识对应的出接口;发送模块,用于通过所述出接口发送封装后的已知单播报文。基于上述技术方案,本申请实施例中,可以利用比特索引转发表发送已知单播报文,而不需要通过vxlan隧道发送已知单播报文,从而避免每个边缘设备与其它边缘设备建立vxlan隧道,即每个边缘设备均不需要建立和维护大量vxlan隧道,节省设备资源,提高设备处理性能。附图说明为了更加清楚地说明本申请实施例或者现有技术中的技术方案,下面将对本申请实施例或者现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本申请中记载的一些实施例,对于本领域普通技术人员来讲,还可以根据本申请实施例的这些附图获得其他的附图。图1是本申请一种实施方式中的bier网络的组网示意图;图2是本申请一种实施方式中的单播报文传输方法的流程图;图3a是本申请一种实施方式中的传统vxlan网络的组网示意图;图3b是本申请一种实施方式中的evpnvxlan网络的组网示意图;图3c是本申请一种实施方式中的扩展团体属性的格式示意图;图4是本申请另一种实施方式中的单播报文传输方法的流程图;图5是本申请另一种实施方式中的单播报文传输方法的流程图;图6是本申请一种实施方式中的单播报文传输装置的结构图;图7是本申请一种实施方式中的第一边缘设备的结构示意图。具体实施方式在本申请实施例使用的术语仅仅是出于描述特定实施例的目的,而非限制本申请。本申请和权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其它含义。还应当理解,本文中使用的术语“和/或”是指包含一个或多个相关联的列出项目的任何或所有可能组合。应当理解,尽管在本申请实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,此外,所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。本申请实施例中提供一种单播报文传输方法,该方法可以应用于vxlan网络,如传统的vxlan网络或者evpn网络。在传统方式中,针对这两种类型的vxlan网络,均需要在任意两个vtep设备之间建立vxlan隧道,从而导致每个vtep设备均建立大量vxlan隧道,消耗较多的设备资源。在传统方式中,可以利用比特索引显式复制(bitindexexplicitreplication,bier)技术建立组播隧道,通过组播隧道传输bum(broadcastunknown-unicastmulticast)报文,如广播报文、未知单播报文、组播报文等。在此基础上,本申请实施例中,可以利用bier技术建立的组播隧道,传输已知单播报文,从而避免vtep设备建立大量vxlan隧道,节省设备资源,提高设备处理性能。其中,bier技术是一种新的组播基础转发架构技术,其属于overlay技术。在bier网络中,所有支持bier技术的网络节点均具有唯一的比特索引标识(索引范围可以为1-65535),可以通过比特索引标识来表示网络节点。每个网络节点均可以建立比特索引转发表(bitindexforwardingtable,bift),该比特索引转发表用于记录比特掩码与出接口之间的对应关系。进一步的,每个网络节点均可以依据bier报文携带的比特串(bitstring)和比特索引转发表来传输bum报文。参见图1所示,为bier网络的组网示意图,假设bier网络一共存在6个网络节点,则每个网络节点的比特索引标识均可以为6位。例如,网络节点101的比特索引标识为100000,表示比特索引标识为6,即第六位为1,而其它位均为0;网络节点102的比特索引标识为010000,表示比特索引标识为5,即第五位为1;网络节点103的比特索引标识为001000,表示比特索引标识为4,即第四位为1;网络节点104的比特索引标识为000100,表示比特索引标识为3,即第三位为1;网络节点105的比特索引标识为000010,表示比特索引标识为2,即第二位为1;网络节点106的比特索引标识为000001,表示比特索引标识为1,即第一位为1。当然,上述只是比特索引标识的示例,对此不做限制。参见图1所示,每个网络节点均创建比特索引转发表,例如,网络节点可以根据各网络节点的比特索引标识创建比特索引转发表,对此创建方式不做限制,可以采用传统方式实现,图1示出每个网络节点的比特索引转发表。当然,这些比特索引转发表只是示例,对此比特索引转发表的内容不做限制。在上述应用场景下,网络节点101在接收到组播报文后,可以为该组播报文封装bier头,该bier头可以携带比特串,该比特串包括所有目的节点对应的比特索引标识,当然,该bier头还可以包括其它内容,对此不做限制。若该组播报文的目的节点为网络节点104、网络节点105和网络节点106,则比特串可以为000111,也就是说,通过第三位的1表示网络节点104,通过第二位的1表示网络节点105,通过第一位的1表示网络节点106。网络节点101可以将比特串000111与比特索引转发表中的比特掩码000111进行与操作,与操作结果为000111,由于与操作结果中存在数值1,因此,将组播报文的bier头的比特串修改为与操作结果000111,并通过比特掩码000111对应的出接口发送组播报文,即将该组播报文发送给网络节点102。网络节点102在接收到组播报文后,将比特串000111与比特索引转发表中的比特掩码000011进行与操作,与操作结果为000011,由于与操作结果中存在数值1,因此将组播报文的bier头的比特串修改为与操作结果000011,通过比特掩码000011对应的出接口发送组播报文,即将组播报文发送给网络节点103。网络节点102将比特串000111与比特掩码000011进行与操作后,为了避免组播报文的重复发送,不是直接将比特串000111与比特索引转发表中的比特掩码000110进行与操作,而是先对比特串000111与比特掩码000011进行复位操作。具体的,对比特掩码000011进行取反操作,得到取反结果111100,然后,将比特串000111与取反结果111100进行与操作,得到复位结果000100。然后,网络节点102将复位结果000100与比特索引转发表中的比特掩码000110进行与操作,与操作结果为000100,由于与操作结果中存在数值1,因此,将组播报文的bier头的比特串修改为与操作结果000100,并通过比特掩码000110对应的出接口发送组播报文,即将组播报文发送给网络节点104。网络节点103在接收到组播报文后,将比特串000011与比特索引转发表中的比特掩码000001进行与操作,与操作结果为000001,由于与操作结果中存在数值1,因此将组播报文的bier头的比特串修改为与操作结果000001,通过比特掩码000001对应的出接口发送组播报文,即将组播报文发送给网络节点106。网络节点103将比特串000011与比特掩码000001进行与操作后,对比特掩码000001进行取反操作,得到取反结果111110,然后,可以将比特串000011与取反结果111110进行与操作,得到复位结果000010。进一步的,网络节点103可以将复位结果000010与比特索引转发表中的比特掩码000010进行与操作,与操作结果为000010,由于与操作结果中存在数值1,因此,可以将组播报文的bier头的比特串修改为与操作结果000010,并通过比特掩码000010对应的出接口发送组播报文,即可以将组播报文发送给网络节点105。网络节点103将复位结果000010与比特掩码000010进行与操作后,还可以对比特掩码000010进行取反操作,得到取反结果111101,然后,可以将复位结果000010与取反结果111101进行与操作,得到复位结果000000。进一步的,网络节点103可以将复位结果000000与比特索引转发表中的比特掩码000100进行与操作,与操作结果为000000,由于与操作结果中不存在数值1,因此,网络节点103不再通过比特掩码000100对应的出接口发送组播报文。网络节点104在接收到组播报文后,由于该组播报文的bier头的比特串为000100,而比特串000100与网络节点104的比特索引标识000100相同,因此,将组播报文解封装为普通组播报文,即去除组播报文的bier头,得到解封装后的组播报文,并将该组播报文发送到传统组播网络,对此发送过程不再赘述。网络节点105在接收到组播报文后,由于该组播报文的bier头的比特串为000010,而比特串000010与网络节点105的比特索引标识000010相同,因此,将组播报文解封装为普通组播报文,即去除组播报文的bier头,得到解封装后的组播报文,并将该组播报文发送到传统组播网络,对此发送过程不再赘述。网络节点106在接收到组播报文后,由于该组播报文的bier头的比特串为000001,而比特串000001与网络节点106的比特索引标识000001相同,因此,将组播报文解封装为普通组播报文,即去除组播报文的bier头,得到解封装后的组播报文,并将该组播报文发送到传统组播网络,对此发送过程不再赘述。综上所述,组播报文可以被发送给网络节点104、网络节点105和网络节点106等目的节点,并最终发送到传统组播网络,能够实现组播报文的传输。由于能够实现组播报文的传输,因此,网络节点101、网络节点102、网络节点103和网络节点106之间的路径,可以称为组播隧道;网络节点101、网络节点102、网络节点103和网络节点105之间的路径,可以称为组播隧道;网络节点101、网络节点102、网络节点104之间的路径,可以称为组播隧道。在上述实施例中,可以通过组播隧道传输组播报文,当然,也可以通过组播隧道传输广播报文或未知单播报文,对此传输过程不再赘述。在此基础上,本申请实施例中,可以利用组播隧道传输已知单播报文。例如,通过网络节点101、网络节点102、网络节点103和网络节点106之间的组播隧道传输已知单播报文,通过网络节点101、网络节点102、网络节点103和网络节点105之间的组播隧道传输已知单播报文,以此类推。为了使用组播隧道传输已知单播报文,则每个网络节点可以分配比特索引标识,且每个网络节点可以创建比特索引转发表,这样,可以在bier网络中创建组播隧道。在此基础上,本申请实施例中还可以涉及如下情况:情况1、通告网络标识和比特索引标识的对应关系。情况2、在地址转发表中学习主机地址与比特索引标识之间的对应关系。情况3,利用地址转发表和比特索引转发表传输已知单播报文。以下结合具体应用场景,对上述三个情况进行详细说明。情况1、针对每个边缘设备(如vtep设备)来说,可以向其它边缘设备通告本边缘设备的网络标识和本边缘设备的比特索引标识的对应关系。例如,在vxlan网络(如传统vxlan网络(即非evpn网络)或者evpn网络)中,每个边缘设备可以作为bier网络中的网络节点,因此,每个边缘设备具有唯一的比特索引标识。此外,在vxlan网络中,为了隔离不同的租户,可以为每个租户配置网络标识,如虚拟可扩展局域网网络标识(vxlannetworkidentifier,vni)等,这样,可以通过网络标识区分不同租户的虚拟机。例如,租户a具有虚拟机1和虚拟机2,租户b具有虚拟机3和虚拟机4,虚拟机1和虚拟机2对应网络标识a,虚拟机3和虚拟机4对应网络标识b。基于此,在虚拟机1连接的边缘设备a配置虚拟机1的网络标识a,在虚拟机2连接的边缘设备b配置虚拟机2的网络标识a,在虚拟机3连接的边缘设备a配置虚拟机3的网络标识b,在虚拟机4连接的边缘设备c配置虚拟机4的网络标识b。综上所述,每个边缘设备上均配置有网络标识和比特索引标识,因此,每个边缘设备均可以向其它边缘设备通告在本边缘设备上配置的网络标识和比特索引标识,以使其它边缘设备获知该边缘设备的网络标识和比特索引标识。为了区分方便,可以将边缘设备区分为第一边缘设备和第二边缘设备,例如,将通告网络标识和比特索引标识的边缘设备称为第一边缘设备,且第一边缘设备可以是任意一个边缘设备,将第一边缘设备之外的其它边缘设备称为第二边缘设备。在此基础上,参见图2所示,情况1的过程可以包括以下步骤:步骤201,第一边缘设备向第二边缘设备发送第二类报文,第二类报文包括在第一边缘设备上配置的vxlan的网络标识和第一边缘设备的比特索引标识。步骤202,第二边缘设备接收第一边缘设备发送的第二类报文。步骤203,第二边缘设备创建映射表,所述映射表包括该网络标识与第一边缘设备的比特索引标识之间的对应关系。上述第二类报文可以包括:路由协议扩展报文或者evpn路由通告扩展报文。具体的,在传统vxlan网络中,则第二类报文可以为路由协议扩展报文,在evpnvxlan网络中,则第二类报文可以为evpn路由通告扩展报文。参见图3a所示,为传统vxlan网络的组网示意图,在图3a中以3个边缘设备为例,实际应用中,边缘设备的数量可以更多,对此不做限制。其中,每个边缘设备可以作为第一边缘设备,当边缘设备311作为第一边缘设备时,则边缘设备312和边缘设备313可以作为第二边缘设备;当边缘设备312作为第一边缘设备时,则边缘设备311和边缘设备313可以作为第二边缘设备,以此类推。在后续过程中,以边缘设备311作为第一边缘设备,边缘设备312作为第二边缘设备为例,其它情况的处理类似,后续不再赘述。例如,边缘设备311获取在边缘设备311上配置的网络标识(即与边缘设备311连接的多个虚拟机对应的网络标识,如vni1、vni2和vni3等)和比特索引标识(如000001),然后,可以向其它边缘设备发送路由协议扩展报文,也就是说,路由协议扩展报文被发送给边缘设备312和边缘设备313,该路由协议扩展报文可以携带在边缘设备311上配置的网络标识和比特索引标识。路由协议扩展报文是开放式最短路径优先(openshortestpathfirst,ospf)协议扩展报文,或者,中间系统到中间系统(intermediatesystemtointermediatesystem,isis)协议扩展报文,或者,边界网关(bordergatewayprotocol,bgp)协议扩展报文。当然,也可以是其它类型的扩展报文,对此不做限制。在传统的ospf协议报文中,并未携带网络标识和比特索引标识,因此,可以对传统的ospf协议报文进行扩展,得到ospf协议扩展报文,在ospf协议扩展报文中携带网络标识和比特索引标识,对于通过ospf协议扩展报文的哪个字段来携带网络标识和比特索引标识,本申请实施例中不做限制。在传统的isis协议报文中,并未携带网络标识和比特索引标识,因此,可以对传统的isis协议报文进行扩展,得到isis协议扩展报文,在isis协议扩展报文中携带网络标识和比特索引标识,对于通过isis协议扩展报文的哪个字段来携带网络标识和比特索引标识,本申请实施例中不做限制。在传统的bgp协议报文中,并未携带网络标识和比特索引标识,因此,可以对传统的bgp协议报文进行扩展,得到bgp协议扩展报文,在bgp协议扩展报文中携带网络标识和比特索引标识,对于通过bgp协议扩展报文哪个字段来携带网络标识和比特索引标识,本申请实施例中不做限制。边缘设备312接收到边缘设备311发送的路由协议扩展报文后,可以从路由协议扩展报文中获取边缘设备311的网络标识和比特索引标识。然后,在映射表中记录边缘设备311的网络标识(如vni1、vni2和vni3)与边缘设备311的比特索引标识(如000001)的对应关系,参见表1所示。边缘设备312接收到边缘设备313发送的路由协议扩展报文后,可以从路由协议扩展报文中获取边缘设备313的网络标识和比特索引标识,并在映射表中记录边缘设备313的网络标识(如vni1)与边缘设备313的比特索引标识(如000100),参见表1所示。表1参见图3b所示,为evpnvxlan网络的组网示意图,在图3b中,是以3个边缘设备为例,在实际应用中,边缘设备的数量还可以更多,对此不做限制。其中,每个边缘设备均可以作为第一边缘设备,当边缘设备321作为第一边缘设备时,则边缘设备322和边缘设备323可以作为第二边缘设备,以此类推。边缘设备321获取在边缘设备321上配置的网络标识(如vni1、vni2和vni3)和比特索引标识(如000001),向其它边缘设备发送evpn路由通告扩展报文,evpn路由通告扩展报文被发送给边缘设备322和边缘设备323,evpn路由通告扩展报文携带在边缘设备321上配置的网络标识和比特索引标识。其中,evpn路由通告报文可以是基于mp-bgp的协议报文。在传统的evpn路由通告报文中可以携带网络标识,但是,并未携带比特索引标识,因此,可以对传统的evpn路由通告报文进行扩展,得到evpn路由通告扩展报文,使得evpn路由通告扩展报文能够携带比特索引标识,也就是说,evpn路由通告扩展报文携带网络标识和比特索引标识。例如,可以在传统的evpn路由通告报文中添加bierextendedcommunity(扩展团体属性),并通过bierextendedcommunity来携带比特索引标识。参见图3c所示,为bierextendedcommunity的格式示意图,bfr-id字段用于承载比特索引标识。边缘设备322接收到evpn路由通告扩展报文后,从evpn路由通告扩展报文中获取在边缘设备321上配置的网络标识和比特索引标识,并在映射表中记录边缘设备321上配置的网络标识与比特索引标识,具体实现参见上述流程,在此不再赘述。情况2、边缘设备向其它边缘设备通告主机地址与比特索引标识的对应关系,其它边缘设备在地址转发表中记录主机地址与比特索引标识的对应关系。具体的,在传统vxlan组网或者evpnvxlan组网中,边缘设备可以向其它边缘设备发送第一类报文,第一类报文包括该第二边缘设备下挂主机的主机地址和该边缘设备的比特索引标识;这样,其它边缘设备可以在地址转发表中记录该边缘设备下挂主机的主机地址与该边缘设备的比特索引标识之间的对应关系。或者,在evpnvxlan组网中,边缘设备在学习到主机地址后,可以向其它边缘设备发送evpn路由通告扩展报文,evpn路由通告扩展报文包括所述学习到的主机地址和该边缘设备的比特索引标识;这样,其它边缘设备可以在地址转发表中记录所述学习到的主机地址和该边缘设备的比特索引标识。为了区分方便,本申请实施例中,可以将边缘设备区分为第一边缘设备和第二边缘设备,例如,可以将通告主机地址与比特索引标识的边缘设备称为第二边缘设备,并可以将接收主机地址与比特索引标识的边缘设备称为第一边缘设备。在此基础上,参见图4所示,情况2的过程可以包括以下步骤:步骤401,第二边缘设备向第一边缘设备发送第一类报文,该第一类报文包括第二边缘设备下挂主机的主机地址和第二边缘设备的比特索引标识。具体的,第二边缘设备可以通过第二边缘设备下挂主机对应的网络标识查询上述映射表,得到与该下挂主机对应的网络标识对应的比特索引标识,并向该比特索引标识对应的边缘设备(即第一边缘设备)发送第一类报文。步骤402,第一边缘设备接收第二边缘设备发送的该第一类报文。步骤403,第一边缘设备在地址转发表中记录第二边缘设备下挂主机的主机地址与第二边缘设备的比特索引标识之间的对应关系。上述第一类报文还可以包括但不限于:bum报文或者evpn路由通告扩展报文。具体的,在传统vxlan网络中,则第一类报文可以为bum报文,在evpnvxlan网络中,则第一类报文可以为evpn路由通告扩展报文。方式一、参见图3a所示,为传统vxlan网络的组网示意图,以第二边缘设备是边缘设备312,第一边缘设备是边缘设备311为例进行说明。边缘设备312通过接口a接收到主机314发送的bum报文后,在地址转发表中记录主机314的主机地址(即bum报文的源地址,如mac地址和/或ip地址,以mac地址314为例)与接口a的对应关系,参见表2所示。表2目的地址出接口mac地址314接口a边缘设备312在接收到bum报文后,还可以确定该bum报文对应的网络标识,即主机314所属的vxlan网络的网络标识,如vni2,然后,边缘设备312通过该网络标识查询表1所示的映射表,得到与该网络标识对应的比特索引标识,如比特索引标识000001,并向比特索引标识000001对应的边缘设备311发送该bum报文,即该bum报文作为上述第一类报文。边缘设备312向比特索引标识000001对应的边缘设备311发送bum报文时,为该bum报文封装bier头,所述bier头包括该比特索引标识000001,并通过该比特索引标识000001查询比特索引转发表,得到与该比特索引标识000001对应的出接口,并通过所述出接口发送封装后的bum报文。当然,若网络标识与比特索引标识的映射表中,该bum报文对应的网络标识对应的比特索引标识为多个,则可以在对该bum进行bier封装时,bier头中的比特串包括该多个比特索引标识。如表1所示的,vni1对应的比特索引标识为:000001和000100。具体的,边缘设备312可以为bum报文封装bier头,该bier头可以携带比特串,比特串包括边缘设备311的比特索引标识000001。将比特串000001与比特索引转发表中的比特掩码进行与操作,若与操作结果中存在数值1,则将bum报文的bier头的比特串修改为与操作结果,通过该比特掩码对应的出接口发送bum报文,具体过程参见上述实施例,在此不再赘述。边缘设备312在向边缘设备311发送bum报文时,该bum报文可以包括源主机地址(如主机314的mac地址314)和比特索引标识000010。边缘设备311在接收到bum报文后,可以解封装bum报文的bier头,并从bum报文中获取源主机地址(如主机314的mac地址314)和边缘设备312的比特索引标识000010。然后,可以在地址转发表中记录该主机地址与该比特索引标识之间的对应关系,参见表3所示,为地址转发表的示例。表3目的地址比特索引标识mac地址314000010当然,在实际应用中,地址转发表还可以包括其它内容,例如,状态(如静态状态或者动态状态等)、vni信息、生存周期等,对此不做限制。方式二、参见图3b所示,为evpnvxlan网络的组网示意图,以第二边缘设备是边缘设备322,第一边缘设备是边缘设备321为例进行说明。边缘设备322通过接口a接收到主机324发送的bum报文或者地址解析解析(addressresolutionprotocol,arp)报文后,在地址转发表中记录主机324的主机地址(如mac地址和/或ip地址,以mac地址324为例)与接口a的对应关系。进一步的,可以确定bum报文或者arp报文对应的网络标识,通过该网络标识查询表1所示的映射表,得到该网络标识对应的比特索引标识,如比特索引标识000001,并向比特索引标识000001对应的边缘设备321发送evpn路由通告扩展报文,即evpn路由通告扩展报文作为第一类报文。在一个例子中,边缘设备322在向边缘设备321发送evpn路由通告扩展报文时,该evpn路由通告扩展报文可以包括主机地址(如主机324的mac地址324)和边缘设备322的比特索引标识000010。其中,evpn路由通告扩展报文可以是基于mp-bgp的协议报文,在传统的evpn路由通告报文中,可以携带主机地址,但是,并未携带比特索引标识,因此,可以对传统的evpn路由通告报文进行扩展,使得evpn路由通告扩展报文能够携带比特索引标识,例如,可以在evpn路由通告报文中增加团体扩展属性(bierextendedcommunity),并通过这个团体扩展属性携带比特索引标识。综上所述,evpn路由通告报文可以携带主机324的mac地址324和边缘设备322的比特索引标识000010。边缘设备321在接收到evpn路由通告扩展报文后,还可以从evpn路由通告扩展报文中获取主机地址和边缘设备322的比特索引标识,然后,边缘设备321可以在地址转发表中记录该主机地址与该比特索引标识之间的对应关系。方式三、参见图3b所示,为evpnvxlan网络的组网示意图,以第二边缘设备是边缘设备322,第一边缘设备是边缘设备321为例进行说明。边缘设备322通过接口a接收到主机324发送的arp报文后,在地址转发表中记录主机324的主机地址(如mac地址和/或ip地址,以mac地址324为例)与接口a的对应关系。进一步的,边缘设备322向其它所有边缘设备(如边缘设备321和边缘设备323等)发送evpn路由通告扩展报文。在一个例子中,该evpn路由通告报文可以包括主机地址(如主机324的mac地址324)和边缘设备322的比特索引标识000010。边缘设备321在接收到evpn路由通告报文后,还可以从evpn路由通告报文中获取主机地址和边缘设备322的比特索引标识,然后,边缘设备321可以在地址转发表中记录该主机地址与该比特索引标识之间的对应关系。情况3、边缘设备利用地址转发表和比特索引转发表传输已知单播报文,即地址转发表中已经存在这个单播报文的目的地址(如目的mac地址)。为了区分方便,本申请实施例中,可以将边缘设备区分为第一边缘设备和第二边缘设备,例如,可以将发送已知单播报文的边缘设备称为第一边缘设备,将接收第一边缘设备发送的已知单播报文的边缘设备称为第二边缘设备。在一个例子中,第一边缘设备可以为bier网络的入节点,即bfir(bitforwardingingressrouter,比特转发入路由)节点,第二边缘设备可以为bier网络的出节点,即bfer(bitforwardingegressrouter,比特转发出路由)节点,在此基础上,参见图5所示,情况3的单播报文传输方法可以包括以下步骤:步骤501,第一边缘设备在接收到已知单播报文后,通过该单播报文的目的地址查询地址转发表,得到与该目的地址对应的目标比特索引标识。步骤502,第一边缘设备为已知单播报文封装bier头,所述bier头包括目标比特索引标识;通过该目标比特索引标识查询比特索引转发表,得到与该目的比特索引标识对应的出接口,并通过该出接口发送封装后的已知单播报文。步骤503,第二边缘设备接收第一边缘设备发送的该已知单播报文。参见图3a所示,为传统vxlan网络的组网示意图,在本应用场景中,以第二边缘设备是边缘设备312,第一边缘设备是边缘设备311为例进行说明。边缘设备311在接收到已知单播报文后,假设已知单播报文的目的mac地址为mac地址314,则通过mac地址314查询表3所示的地址转发表,得到比特索引标识000010,并通过比特索引标识000010询比特索引转发表,得到与该比特索引标识000010对应的出接口,并通过该出接口发送该已知单播报文。具体的,边缘设备311可以为已知单播报文封装bier头,该bier头可以携带比特串,比特串包括比特索引标识000010。边缘设备311将比特串000010与比特索引转发表中的比特掩码进行与操作,若与操作结果中存在数值1,则将已知单播报文的bier头的比特串修改为与操作结果,并通过该比特掩码对应的出接口发送已知单播报文,具体发送过程可以参见上述实施例,在此不再赘述。边缘设备312接收到已知单播报文后,若已知单播报文的bier头的比特串与边缘设备312的比特索引标识000010相同,则去除已知单播报文的bier头,得到解封装后的已知单播报文,通过已知单播报文的目的mac地址查询表2所示的地址转发表,得到接口a,通过接口a将已知单播报文发送给主机314。参见图3b所示,为evpnvxlan网络的组网示意图,evpnvxlan网络的实现流程与传统vxlan网络的实现流程类似,在此不再赘述。基于上述技术方案,本申请实施例中,可以利用比特索引转发表发送单播报文,而不需要通过vxlan隧道发送单播报文,从而避免每个边缘设备与其它边缘设备建立vxlan隧道,即每个边缘设备均不需要建立和维护大量vxlan隧道,节省设备资源,提高设备处理性能。基于与上述方法同样的申请构思,本申请实施例中还提出一种单播报文传输装置,应用于第一边缘设备,参见图6所示,为该装置的结构示意图,包括:获取模块61,用于在接收到已知单播报文后,通过所述已知单播报文的目的地址查询地址转发表,得到与所述目的地址对应的目标比特索引标识;其中,所述地址转发表用于记录主机地址与比特索引标识之间的对应关系;处理模块62,用于为所述已知单播报文封装比特索引显式复制bier头,所述bier头包括所述目标比特索引标识;通过所述目标比特索引标识查询比特索引转发表,得到与所述目标比特索引标识对应的出接口;发送模块63,用于通过所述出接口发送封装后的已知单播报文。在一个例子中,所述装置还包括(在图中未视出):接收模块,用于接收第二边缘设备发送的第一类报文,第一类报文包括所述第二边缘设备下挂主机的主机地址和所述第二边缘设备的比特索引标识;记录模块,用于在地址转发表中记录所述第二边缘设备下挂主机的主机地址与所述第二边缘设备的比特索引标识之间的对应关系。所述发送模块63,还用于向第二边缘设备发送第二类报文,所述第二类报文包括在所述第一边缘设备上配置的虚拟可扩展局域网vxlan的网络标识和所述第一边缘设备的比特索引标识,以使所述第二边缘设备创建映射表,所述映射表包括所述网络标识与所述第一边缘设备的比特索引标识之间的对应关系,并根据所述映射表向所述第一边缘设备发送第一类报文。在一个例子中,若所述装置应用于传统vxlan组网,则所述第二类报文为路由协议扩展报文,所述第一类报文为bum报文;若所述装置应用于以太网虚拟专用网络evpnvxlan组网,则所述第二类报文为第一evpn路由通告扩展报文,所述第一类报文为第二evpn路由通告扩展报文。若所述装置应用于evpnvxlan组网;所述装置还包括:接收模块,用于接收所述第二边缘设备在学习到主机地址后发送的第三evpn路由通告扩展报文,其中,所述第三evpn路由通告扩展报文包括所述学习到的主机地址和所述第二边缘设备的比特索引标识;记录模块,用于在地址转发表中记录所述学习到的主机地址和所述第二边缘设备的比特索引标识之间的对应关系。本申请实施例提供的第一边缘设备,从硬件层面而言,硬件架构示意图具体可以参见图7所示,可以包括:机器可读存储介质和处理器,其中:机器可读存储介质:存储指令代码。处理器:与机器可读存储介质通信,读取和执行机器可读存储介质中存储的所述指令代码,实现本申请上述示例公开的单播报文传输操作。上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本申请时可以把各单元的功能在同一个或多个软件和/或硬件中实现。本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可以由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其它可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其它可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。而且,这些计算机程序指令也可以存储在能引导计算机或其它可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或者多个流程和/或方框图一个方框或者多个方框中指定的功能。这些计算机程序指令也可装载到计算机或其它可编程数据处理设备上,使得在计算机或者其它可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其它可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。以上所述仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。当前第1页12当前第1页12
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1