发明内容
本发明实施例提供了一种组播流量转发端口的生成方法及相关设备,以期解决双活接入下的组播流量转发问题。
第一方面,本发明实施例提供了一种组播流量转发端口的生成方法,包括:
当第一接入设备接收到远端接入设备发送的查询报文时,第一接入设备生成第一动态路由器端口;
第一接入设备通过互联链路向第二接入设备发送查询报文,查询报文被第二接入设备用于生成第二动态路由器端口;第一接入设备与第二接入设备为双活接入设备;
第一动态路由器端口和第二动态路由器端口均指向远端接入设备;
当第一接入设备接收到报告报文时,第一接入设备根据报告报文生成第一子接口侧主机端口;报告报文包括点播用户设备点播的组播流量的地址信息;
第一接入设备通过第一动态路由器端口向远端接入设备发送报告报文,报告报文被远端接入设备用于生成隧道侧主机端口;隧道侧主机端口指向第一接入设备或第二接入设备;
隧道侧主机端口用于将根据组播流量的地址信息获取到的组播流量发送给第一接入设备或第二接入设备;第一子接口侧主机端口用于将接收到的组播流量发送给点播用户设备。
在该技术方案中,通过第一接入设备根据查询报文生成第一动态路由器端口,转发查询报文以使第二接入设备生成第二动态路由器端口,进一步第一接入设备接收到报告报文后生成第一子接口侧主机端口,并转发报告报文给第二接入设备,以使第二接入设备也生成第二子接口侧主机端口,从而建立起针对组播流量的组播树,以使组播流量可以根据建立好的主机端口准确转发到点播用户设备去。
在一种可能的设计中,第一子接口侧主机端口用于将接收到的组播流量通过第二接入设备发送给点播用户设备。
在该技术方案中,在点播用户设备单归接入第二用户设备的实施场景下,第一子接口侧主机端口指向第二接入设备,从而可以将组播流量通过第一接入设备转发给点播用户设备。
在一种可能的设计中,第一子接口侧主机端口为互联链路的子接口侧主机端口。
在一种可能的设计中,第一接入设备接收到的报告报文来自点播用户设备;则第一接入设备还向第二接入设备发送报告报文,报告报文被第二接入设备用于生成第二子接口侧主机端口。
在该技术方案中,第一接入设备如果不是从第二接入设备接收到的报告报文,那么就可以将报告报文转发给第二接入设备,从而使第二接入设备也相应的生成第二子接口侧主机端口。
在一种可能的设计中,第一接入设备通过与第二接入设备互联的第一互联子接口向第二接入设备发送报告报文。
在一种可能的设计中,第一接入设备接收到的报告报文为第二接入设备通过与第一接入设备互联的第二互联子接口发送的。
在一种可能的设计中,第一子接口侧主机端口以及隧道侧主机端口与组播流量的地址信息存在对应关系。
在一种可能的设计中,该方法还包括:
当第一接入设备接收到与组播流量的地址信息匹配的组播流量时,第一接入设备通过第一子接口侧主机端口向点播用户设备发送组播流量。
在该技术方案中,第一接入设备根据之前确定的第一子接口侧主机端口进行组播流量的转发,从而使组播流量准确到达点播用户设备。
在一种可能的设计中,第一子接口侧主机端口指向第二接入设备;第一接入设备通过第一子接口侧主机端口经由第二接入设备向点播用户设备发送组播流量。
在该技术方案中,在单归接入的实施场景中,第一接入设备根据之前确定的第一子接口侧主机端口将组播流量的转发至第二接入设备,第二接入设备与点播用户设备存在连接,从而使组播流量准确到达点播用户设备。
本发明第二方面提供了一种第一接入设备。包括处理器、存储器以及收发器。处理器连接到存储器和收发器,例如处理器可以通过总线连接到存储器和收发器。收发器用于与其他网络设备进行通信。存储器用于存储程序代码等。处理器用于执行第一方面的部分或全部流程。
本发明第三方面提供了另一种第一接入设备,包括接收模块、处理模块和发送模块,接收模块和发送模块共同用于实现第二方面中的收发器。该第一接入设备通过上述模块实现第一方面的部分或全部方法。
本发明的第四方面,提供了一种存储介质,该存储介质中存储了程序代码,该程序代码被计算设备运行时,执行第一方面或第一方面的任意一种实现方式提供的组播流量转发端口的生成方法。该存储介质包括但不限于快闪存储器(英文:flash memory),硬盘(英文:hard disk drive,缩写:HDD)或固态硬盘(英文:solid state drive,缩写:SSD)。
本发明的第五方面,提供了一种计算机程序产品,该计算机产品被计算设备运行时,执行第一方面或第一方面的任意一种实现方式提供的组播流量转发端口的生成方法。
具体实施方式
下面结合本发明实施例中的附图对本发明实施例进行描述。
请参见图1和图2,图1是本发明实施例提供的一种双归接入场景下的组播流量转发模型的结构示意图,图2是本发明实施例提供的一种单归接入场景下的组播流量转发模型的结构示意图。图1和图2的组播流量转发模型都包括:第一接入设备D1、第二接入设备D2、远端接入设备D3以及点播用户设备D4。其中,点播用户设备D4为点播组播流量的点播用户所述的服务器;第一接入设备D1与第二接入设备D2为双活接入设备,例如可以为点播用户设备侧的VXLAN二层网关;远端接入设备D3为VXLAN隧道远端的接入设备,例如可以为远端的VXLAN二层网关。
需要说明的是,双活接入技术可以将两台VXLAN的接入设备在VXLAN网络中虚拟成一台逻辑设备。即在本发明实施例中,第一接入设备D1和第二接入设备D2无论相对于远端接入设备D3还是点播用户设备D4,都被视作一台逻辑设备。在具体实现中,双活接入设备的两台接入设备的VTEP(VXLAN Tunnel Endpoints,VXLAN隧道端点)地址是相同的,因此,远端接入设备D3在发送组播协议报文或者组播流量时,会发送给双活接入设备对于的VTEP地址,然后远端接入设备D3根据VTEP地址随机选择一条连接,发送给第一接入设备D1或者第二接入设备D2。相似地,m-lag技术可以使第一接入设备D1和第二接入设备D2共享MAC,通过m-lag将点播用户设备D4连接的双活接入设备的子接口配置为ETH-Trunk,两个子接口的MAC和ARP表项同步。点播用户设备D4在发送组播协议报文时,会通过该ETH-Trunk发送,到达第一接入设备D1或者第二接入设备D2。
在图1的结构中,点播用户设备D4同时连接到双活接入设备(图1示出的第一接入设备D1、第二接入设备D2),即双归接入;在图2的结构中,点播用户设备D4仅连接到双活接入设备中的其中一台(图2示出的第一接入设备D1),即单归接入。
这里,首先解释桥域BD的概念。VXLAN网络中的BD类似于传统网络中VLAN(VirtualLocal Area Network,虚拟局域网)的概念,即同一个BD内的网络设备才能够进行互通。
进一步地,在第一接入设备D1和第二接入设备D2之间存在一条直连链路作为保护链路,称为peer-link链路(以下也称“互联链路”),用于第一接入设备D1和第二接入设备D2之间的表项同步和数据报文转发。
当第一接入设备D1和第二接入设备D2建立了peer-link保护链路后,双活接入设备会自动在该互联端口上为每个BD建立一个二层互联子接口,用于第一接入设备D1和第二接入设备D2之间在该BD下的报文转发。例如,如果存在两个BD,那么该互联端口上可以建立两个二层互联子接口,一个二层互联子接口用于BD1的流量互通,另一个二层互联子接口用于BD2的流量互通。
当在某一BD下面使能二层组播功能时(例如,igmp Snooping,Internet GroupManagement Protocol Snooping互联网组管理协议窥探),可以将该BD对应的二层互联子接口作为静态路由器端口。当静态路由器端口生成以后,隧道侧发过来的组播协议报文信息到达双活接入设备的某台设备(例如第一接入设备D1)时,就可以通过静态路由器端口发送到双活接入设备的另一台设备(例如第二接入设备D2),这样使得双活接入设备都能学习到隧道侧的组播协议报文,以正常地生成子接口侧主机端口。从而可以利用子接口侧主机端口进行组播流量的转发。以下将第一接入设备D1的二层互联子接口即静态路由器端口称为第一互联子接口,将第二接入设备D2的二层互联子接口即静态路由器端口称为第二互联子接口。
在本发明实施例中,第一接入设备D1和第二接入设备D2均是被使能了二层组播功能,并且远端接入设备D3也被使能了二层组播功能以及二层组播查询器,从而远端接入设备D3可以作为查询器设备,向头端复制列表中的设备发送查询报文。
请参见图3,图3是本发明实施例提供的一种组播流量转发端口的生成方法的流程示意图,本发明实施例适用于图1所示的双归接入场景。在本发明实施例中,将第一接入设备假设为点播用户设备以及远端接入设备发送的组播协议报文的接收设备。在实际应用中,由于双活接入设备的VTEP地址相同且双归接入点播用户设备,因此第一接入设备和第二接入设备均有可能作为组播协议报文接收设备,本发明实施例仅以第一接入设备为例阐述组播流量转发端口的生成方法,并不作出具体限定。该方法包括但不限于如下步骤:
S301,远端接入设备向头端复制列表中的设备发送查询报文。
远端接入设备为VXLAN隧道远端的接入设备,头端复制列表中包括属于同一个BD的VTEP列表。远端接入设备使能为查询器并获取到头端复制列表后,可以将查询(query)报文根据VTEP列表进行复制并在BD内广播,从而将查询报文发送给属于同一个BD的所有VTEP。
在本发明实施例中,第一接入设备与第二接入设备就是该BD下的双活接入设备,即第一接入设备与第二接入设备共用的一个VTEP也在头端复制列表中。则远端接入设备根据头端复制列表发送查询报文时,就会根据该VTEP,在与第一接入设备连接或第二接入设备连接的任一链路中随机的选择一条链路向第一接入设备或者第二接入设备发送查询报文。在本发明实施例中,假设了这里远端接入设备随机选择的为与第一接入设备连接的链路,即将查询报文发送给第一接入设备。在实际应用中,远端接入设备也可能随机选择与第二接入设备连接的链路,即将查询报文发送给第二接入设备。
相应地,第一接入设备接收查询报文。
S302,第一接入设备生成第一动态路由器端口。
第一接入设备根据查询报文可以生成第一动态路由器端口,第一动态路由器端口指向远端接入设备。第一动态路由器端口是为报告报文的转发提供路由端口的,第一动态路由器端口实质是第一接入设备中与远端接入设备连接的一个子接口对应的物理端口,例如,10GE1/0/1.1,该子接口是与上述BD相同的BD下的。
需要说明的是,动态路由器端口存在有效期限,远端接入设备定期可以对动态路由器端口进行更新。
S303,第一接入设备通过互联链路向第二接入设备发送查询报文。
第一接入设备在接收到查询报文后,可以通过互联链路向第二接入设备发送查询报文,其中互联链路即双活接入设备之间的peer-link。
相应地,第二接入设备接收查询报文。
需要说明的是,如果远端接入设备是向第二接入设备发送查询报文,那么则是第二接入设备通过互联端口向第一接入设备发送查询报文。
在本发明实施例中,S302和S303之间不限定执行前后顺序,也可以同时执行。
S304,第二接入设备生成第二动态路由器端口。
与第一动态路由端口相似的,第二接入设备根据查询报文可以生成第二动态路由器端口,第二动态路由器端口指向远端接入设备。第二动态路由器端口是为报告报文的转发提供路由端口的,第二动态路由器端口实质是第二接入设备中与远端接入设备连接的一个子接口对应的物理端口,例如,10GE 1/0/2.1。
S305,点播用户上线时,点播用户设备向第一接入设备发送报告报文。
当点播用户上线时,点播用户设备会向第一接入设备或者第二接入设备发送报告(report)报文,以通知点播用户上线。之前提到,基于m-lag技术,双活接入设备的子接口配置为ETH-Trunk,因此点播用户设备通过ETH-Trunk可以将报告报文随机的发送到第一接入设备或者第二接入设备。在本发明实施例中,假设了点播用户设备向第一接入设备发送报告报文,在实际应用中,点播用户设备也可能随机向第二接入设备发送报告报文。
进一步地,报告报文包括点播用户设备点播的组播流量的地址信息,这里的地址信息也即IP地址。
相应地,第一接入设备接收报告报文。
S306,第一接入设备根据报告报文,生成第一子接口侧主机端口。
第一接入设备根据报告报文,可以生成第一子接口侧主机端口,第一子接口侧主机端口指向点播用户设备。第一子接口侧主机端口实质是第一接入设备中与点播用户设备连接的一个子接口对应的物理端口,例如,10GE 1/0/3.1。当第一接入设备收到组播流量时,就可以通过第一子接口侧主机端口将接收到的组播流量发送给点播用户设备。
在本发明实施例中,针对该报告报文的所有主机端口都与报告报文中的组播流量的地址信息存在对应关系。例如,第一子接口侧主机端口是与报告报文中的组播流量的地址信息对应的,当该组播流量的地址信息对应的组播流量下发时,第一接入设备就可以查询到该组播流量的地址信息对应的是该第一子接口侧主机端口,从而通过第一子接口侧主机端口转发该组播流量。如果存在另一个组播流量,可以根据本发明实施例的方法生成与之对应的主机端口用于转发该组播流量。
S307,第一接入设备通过第一动态路由端口向远端接入设备发送报告报文。
报告报文是根据路由端口进行路由的,因此第一接入设备通过之前生成的第一动态路由端口,可以将报告报文转发给远端接入设备。
相应地,远端接入设备接收报告报文。
S308,远端接入设备根据报告报文,生成隧道侧主机端口。
远端接入设备接收到报告报文后,可以学习报告报文以获取该报告报文对应的隧道信息,即报告报文来源于哪个隧道,从而生成指向该隧道的隧道侧主机端口。可以理解的,隧道侧主机端口指向该隧道,也即指向该隧道端点(VTEP)对应的第一接入设备或第二接入设备。
与第一子接口侧主机端口同理的,隧道侧主机端口是与报告报文中的组播流量的地址信息对应的,当远端接入设备下发该组播流量的地址信息对应的组播流量时,远端接入设备就可以查询到该组播流量的地址信息对应的是该隧道侧主机端口,从而通过该隧道侧主机端口转发该组播流量。由于第一接入设备和第二接入设备对应的VTEP相同,因此组播流量通过隧道侧主机端口既可能到达第一接入设备,也可能到达第二接入设备。
S309,第一接入设备通过与第二接入设备互联的第一互联子接口向第二接入设备发送报告报文。
第一接入设备接收到报告报文后,可以通过与第二接入设备互联的第一互联子接口向第二接入设备发送报告报文。这里,第一互联子接口即为上文提到的,在使能该BD下的第一接入设备的二层组播功能时生成的与第二接入设备互联的二层互联子接口,且将该第一互联子接口配置为静态路由器端口,因此,第一接入设备在路由报告报文时,查询到静态路由器端口为第一互联子接口,就可以通过第一互联子接口向第二接入设备发送报告报文。
从而第二接入设备也可以接收到报告报文。
S310,第二接入设备根据报告报文,生成第二子接口侧主机端口。
第二接入设备根据报告报文,可以生成第二子接口侧主机端口,第二子接口侧主机端口指向点播用户设备。第二子接口侧主机端口实质是第二接入设备中与点播用户设备连接的一个子接口对应的物理端口,例如,10GE 1/0/4.1。当第二接入设备收到组播流量时,就可以通过第二子接口侧主机端口将接收到的组播流量发送给点播用户设备。
与第一子接口侧主机端口同理的,第二子接口侧主机端口是与报告报文中的组播流量的地址信息对应的,当该组播流量的地址信息对应的组播流量下发时,第二接入设备就可以查询到该组播流量的地址信息对应的是该第二子接口侧主机端口,从而通过该第二子接口侧主机端口转发该组播流量。
进一步地,第二接入设备收到报告报文后,也可以将该报告报文发送给点播用户设备,而点播用户设备发现报告报文的内容与第一接入设备发送的报告报文一致,且隧道侧主机端口已经建立时,则会丢弃第二接入设备发送的报告报文,不对其处理。
需要说明的是,当报告报文是发给第二接入设备时,则由第二接入设备通过与第一接入设备互联的第二互联子接口发送报告报文,而第一接入设备根据报告报文,生成第一子接口侧主机端口。其原理与本发明实施例上述方法一样,这里不再赘述。
需要说明的是,S307-S308以及S309-S310之间不限定执行前后顺序,也可以同时执行。
至此,由隧道侧主机端口、第一子接口侧主机端口以及第二子接口侧主机端口构成的组播树就建立完成了。根据上述主机端口,就可以指导组播流量的转发路径。
进一步地,该方法还可以包括:
S311,远端接入设备根据报告报文中的组播流量的地址信息,获取组播流量。
在组播树建立好之后,远端接入设备根据报告报文中的组播流量的地址信息,可以向组播源获取组播流量。
S312,远端接入设备通过隧道侧主机端口向第一接入设备或第二接入设备发送组播流量。当组播流量发送给第一接入设备时,执行S3131;当组播流量发送给第二接入设备时,执行S3132。
远端接入设备根据组播流量的地址信息,确定该组播流量对应的转发端口为隧道侧主机端口,从而通过隧道侧主机端口随机向第一接入设备或第二接入设备发送组播流量。当组播流量发送给第一接入设备时,则执行S3131由第一接入设备向下转发;当组播流量发送给第二接入设备时,则执行S3132由第二接入设备向下转发。
S3131,第一接入设备通过第一子接口侧主机端口向点播用户设备发送组播流量。
第一接入设备根据组播流量的地址信息,确定该组播流量对应的转发端口为第一子接口侧主机端口,则通过第一子接口侧主机端口向点播用户设备发送组播流量。
S3132,第二接入设备通过第二子接口侧主机端口向点播用户设备发送组播流量。
第二接入设备根据组播流量的地址信息,确定该组播流量对应的转发端口为第二子接口侧主机端口,则通过第二子接口侧主机端口向点播用户设备发送组播流量。
从而,在双活接入设备的场景下,根据生成的组播树,组播流量都可以准确转发到点播用户设备去。
本发明实施例在双归场景下,通过第一接入设备根据查询报文生成第一动态路由器端口,转发查询报文以使第二接入设备生成第二动态路由器端口,进一步第一接入设备接收到报告报文后生成指向点播用户设备的第一子接口侧主机端口,并转发报告报文给第二接入设备,以使第二接入设备也生成指向点播用户设备的第二子接口侧主机端口,从而建立起针对组播流量的组播树,以使组播流量可以根据建立好的主机端口准确转发到点播用户设备去。
请参见图4,图4是本发明实施例提供的另一种组播流量转发端口的生成方法的流程示意图,本发明实施例适用于图2所示的单归接入场景。在本发明实施例中,将第一接入设备假设为双活接入设备中与点播用户设备连接的设备,而第二接入设备则不与点播用户设备连接,因此第一接入设备即为点播用户设备发送的组播协议报文的接收设备。与图3所示的实施例一致的,本发明实施例也假设第一接入设备假设为远端接入设备发送的组播协议报文的接收设备。在实际应用中,由于双活接入设备的VTEP地址相同,因此第一接入设备和第二接入设备均有可能作为远端接入设备发送的组播协议报文接收设备,本发明实施例仅以第一接入设备为例阐述组播流量转发端口的生成方法,并不作出具体限定。该方法包括但不限于如下步骤:
S401,远端接入设备向头端复制列表中的设备发送查询报文。
S402,第一接入设备生成第一动态路由器端口。
S403,第一接入设备通过互联链路向第二接入设备发送查询报文。
S404,第二接入设备生成第二动态路由器端口。
S405,点播用户上线时,点播用户设备向第一接入设备发送报告报文。
S406,第一接入设备根据报告报文,生成第一子接口侧主机端口。
S407,第一接入设备通过第一动态路由端口向远端接入设备发送报告报文。
S408,远端接入设备根据报告报文,生成隧道侧主机端口。
S409,第一接入设备通过与第二接入设备互联的第一互联子接口向第二接入设备发送报告报文。
S401-S409的具体实现方式可以参考S301-S309,这里不再赘述。
S410,第二接入设备根据报告报文,生成第二子接口侧主机端口。
第二接入设备根据报告报文,可以生成第二子接口侧主机端口,第二子接口侧主机端口指向第一接入设备。具体来说,第二接入设备接收到报告报文后,可以学习主机端口,即在互联链路(peer-link)与第一接入设备连接的二层子接口侧生成第二子接口侧主机端口。第二子接口侧主机端口实质是第二接入设备中与第一接入设备连接的互联链路的子接口对应的物理端口,例如,10GE 1/0/5.1。当第二接入设备收到组播流量时,就可以通过第二子接口侧主机端口将接收到的组播流量发送给第一接入设备,经由第一接入设备发送给点播用户设备。
进一步地,第二接入设备也会将报告报文发送给点播用户设备,而点播用户设备发现报告报文与第一接入设备发送的一致,则会丢弃。
需要说明的是,S407-S408以及S409-S410之间不限定执行前后顺序,也可以同时执行。
至此,由隧道侧主机端口、第一子接口侧主机端口以及第二子接口侧主机端口构成的组播树就建立完成了。根据上述主机端口,就可以指导组播流量的转发路径。
进一步地,该方法还可以包括:
S411,远端接入设备根据报告报文中的组播流量的地址信息,获取组播流量。
S411的具体实现方式可以参考S311,这里不再赘述。
S412,远端接入设备通过隧道侧主机端口向第一接入设备或第二接入设备发送组播流量。当组播流量发送给第一接入设备时,执行S4131;当组播流量发送给第二接入设备时,执行S4132-S4133。
S4131,第一接入设备通过第一子接口侧主机端口向点播用户设备发送组播流量。
由于第一接入设备与点播用户设备是存在连接的,第一子接口侧主机端口直接指向点播用户设备,因此,第一接入设备根据组播流量的地址信息,确定该组播流量对应的转发端口为第一子接口侧主机端口,则通过第一子接口侧主机端口向点播用户设备发送组播流量。
S4132,第二接入设备通过第二子接口侧主机端口向第一接入设备发送组播流量。
第二接入设备根据组播流量的地址信息,确定该组播流量对应的转发端口为第二子接口侧主机端口,则通过第二子接口侧主机端口向第一接入设备发送组播流量。
S4133,第一接入设备通过第一子接口侧主机端口向点播用户设备发送组播流量。
第一接入设备根据组播流量的地址信息,确定该组播流量对应的转发端口为第一子接口侧主机端口,则通过第一子接口侧主机端口向点播用户设备发送组播流量。
从而,在双活接入设备的场景下,根据生成的组播树,组播流量都可以准确转发到点播用户设备去。
本发明实施例在单归场景下,通过第一接入设备根据查询报文生成第一动态路由器端口,转发查询报文以使第二接入设备生成第二动态路由器端口,进一步第一接入设备接收到报告报文后生成指向点播用户设备的第一子接口侧主机端口,并转发报告报文给第二接入设备,以使第二接入设备生成指向第一接入设备的第二子接口侧主机端口,从而建立起针对组播流量的组播树,以使组播流量可以根据建立好的主机端口准确转发到点播用户设备去。
上文主要从不同网元之间交互的角度对本发明实施例提供的方案进行了介绍。可以理解的是,第一接入设备、第二接入设备、远端接入设备以及点播用户设备为了实现上述功能,其包含了执行各个功能相应的硬件结构和/或软件模块。结合本发明中所公开的实施例描述的各示例的单元及算法步骤,本发明实施例能够以硬件或硬件和计算机软件的结合形式来实现。某个功能究竟以硬件还是计算机软件驱动硬件的方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同的方法来实现所描述的功能,但是这种实现不应认为超出本发明实施例的技术方案的范围。
本发明实施例可以根据上述方法示例对第一接入设备、第二接入设备、远端接入设备以及点播用户设备等进行功能模块或功能单元的划分,例如,可以对应各个功能划分各个功能模块或功能单元,也可以将两个或两个以上的功能集成在一个处理模块或处理单元中。上述集成的模块或单元既可以采用硬件的形式实现,也可以采用软件功能模块的形式实现。需要说明的是,本发明实施例中对模块或单元的划分是示意性的,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。请参见以下具体介绍。
请参见图5,图5是本发明实施例提供的一种第一接入设备的结构示意图。用于实现图3的实施例中的第一接入设备。如图5所示,该第一接入设备包括:
接收模块501,用于接收远端接入设备发送的查询报文;
处理模块502,用于生成第一动态路由器端口;
发送模块503,用于通过互联链路向第二接入设备发送所述查询报文,所述查询报文被所述第二接入设备用于生成第二动态路由器端口;所述第一接入设备与所述第二接入设备为双活接入设备;所述第一动态路由器端口和所述第二动态路由器端口均指向所述远端接入设备;
所述接收模块501还用于:接收报告报文;
所述处理模块502还用于:根据所述报告报文生成第一子接口侧主机端口;所述报告报文包括点播用户设备点播的组播流量的地址信息;
所述发送模块503还用于:通过所述第一动态路由器端口向所述远端接入设备发送所述报告报文,所述报告报文被所述远端接入设备用于生成隧道侧主机端口;所述隧道侧主机端口指向所述第一接入设备或所述第二接入设备;所述隧道侧主机端口用于将根据所述组播流量的地址信息获取到的所述组播流量发送给所述第一接入设备或所述第二接入设备;所述第一子接口侧主机端口用于将接收到的所述组播流量发送给所述点播用户设备。
可选的,所述第一子接口侧主机端口用于将接收到的所述组播流量通过所述第二接入设备发送给所述点播用户设备。
可选的,所述第一子接口侧主机端口为所述互联链路的子接口侧主机端口。
可选的,所述第一接入设备接收到的所述报告报文来自所述点播用户设备;
所述发送模块503还用于:向所述第二接入设备发送所述报告报文,所述报告报文被所述第二接入设备用于生成第二子接口侧主机端口。
可选的,所述发送模块503用于:
通过与所述第二接入设备互联的第一互联子接口向所述第二接入设备发送所述报告报文。
可选的,所述第一接入设备接收到的所述报告报文为所述第二接入设备通过与所述第一接入设备互联的第二互联子接口发送的。
可选的,所述第一子接口侧主机端口以及所述隧道侧主机端口与所述组播流量的地址信息存在对应关系。
可选的,所述发送模块503用于:
当接收到与所述组播流量的地址信息匹配的所述组播流量时,通过所述第一子接口侧主机端口向所述点播用户设备发送所述组播流量。
可选的,所述第一子接口侧主机端口指向所述第二接入设备;
所述发送模块503用于:通过所述第一子接口侧主机端口经由所述第二接入设备向所述点播用户设备发送所述组播流量。
可以理解的,关于图5的第一接入设备包括的功能块的具体实现方式及相应的有益效果,可参考前述图3的实施例的具体介绍,这里不赘述。
上述图5所示实施例中的第一接入设备可以以图6所示的第一接入设备600实现。如图6所示,为本发明实施例提供了另一种第一接入设备的结构示意图,图6所示的第一接入设备600包括:处理器601和收发器603,所述收发器603用于支持第一接入设备600与上述实施例中涉及的第二接入设备、远端接入设备以及点播用户设备之间的信息传输,例如收发器603用于实现图5中任一接收模块501或发送模块503所执行的动作,处理器601用于实现图5中任一处理模块502所执行的动作。处理器601和收发器603通信连接,例如通过总线相连。所述第一接入设备600还可以包括存储器602。存储器602用于存储供第一接入设备600执行的程序代码和数据,处理器601用于执行存储器602中存储的应用程序代码,以实现图3-图4所示实施例提供的第一接入设备的动作。
需要说明的是,实际应用中第一接入设备可以包括一个或者多个处理器,该第一接入设备600的结构并不构成对本发明实施例的限定。
处理器601可以是中央处理器(central processing unit,CPU),网络处理器(network processor,NP),硬件芯片或者其任意组合。上述硬件芯片可以是专用集成电路(application-specific integrated circuit,ASIC),可编程逻辑器件(programmablelogic device,PLD)或其组合。上述PLD可以是复杂可编程逻辑器件(complexprogrammable logic device,CPLD),现场可编程逻辑门阵列(field-programmable gatearray,FPGA),通用阵列逻辑(generic array logic,GAL)或其任意组合。
存储器602可以包括易失性存储器(volatile memory),例如随机存取存储器(random access memory,RAM);存储器602也可以包括非易失性存储器(non-volatilememory),例如只读存储器(read-only memory,ROM),快闪存储器(flash memory),硬盘(hard disk drive,HDD)或固态硬盘(solid-state drive,SSD);存储器602还可以包括上述种类的存储器的组合。
在本发明实施例中还提供了一种计算机存储介质,可以用于存储图5所示实施例中所述第一接入设备所用的计算机软件指令,其包含用于执行上述实施例中为第一接入设备所设计的程序。该存储介质包括但不限于快闪存储器、硬盘、固态硬盘。
在本发明实施例中还提供了一种计算机程序产品,该计算机产品被计算设备运行时,可以执行上述图5实施例中为第一接入设备所涉及的组播流量转发端口的生成方法。
本发明的说明书和权利要求书及所述附图中的术语“第一”、“第二”、“第三”和“第四”等是用于区别不同对象,而不是用于描述特定顺序。此外,术语“包括”和“具有”以及它们任何变形,意图在于覆盖不排他的包含。例如包含了一系列步骤或单元的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可选的还包括没有列出的步骤或单元,或可选的还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。
本领域普通技术人员可以理解,在本发明的各种实施例中,上述各过程的序号的大小并不意味着执行顺序的先后,各过程的执行顺序应以其功能和内在逻辑确定,而不应对本发明实施例的实施过程构成任何限定。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本发明实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,所述计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带)、光介质(例如,DVD)、或者半导体介质(例如固态硬盘Solid State Disk(SSD))等。
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分流程,是可以通过计算机程序来指令相关的硬件来完成,所述的程序可存储于一计算机可读取存储介质中,该程序在执行时,可包括如上述各方法的实施例的流程。其中,所述的存储介质可为磁碟、光盘、只读存储记忆体(Read-Only Memory,ROM)或随机存储记忆体(Random AccessMemory,RAM)等。
以上所揭露的仅为本发明较佳实施例而已,当然不能以此来限定本发明之权利范围,因此依本发明权利要求所作的等同变化,仍属本发明所涵盖的范围。