首页> 中国专利> 二层以太网络的组播树构建方法和网络节点设备

二层以太网络的组播树构建方法和网络节点设备

摘要

本发明公开了一种二层以太网络的组播树构建方法和网络节点设备,其中该组播树构建方法包括:根据网络拓扑信息,计算以网络中各节点为根节点的广播树;基于泛洪机制获得组播源节点和组播接收节点的组播业务属性;根据组播源节点和组播接收节点的组播业务属性,在以网络中各节点为根节点的广播树中,查找以组播源节点为根节点的广播树,并基于查找到的广播树,构建从组播源节点到组播接收节点的组播树。采用本发明可以在任意拓扑结构的二层以太网络中建立可快速收敛的组播树。

著录项

  • 公开/公告号CN102142970A

    专利类型发明专利

  • 公开/公告日2011-08-03

    原文格式PDF

  • 申请/专利权人 华为技术有限公司;

    申请/专利号CN201110063393.7

  • 发明设计人 张雪江;

    申请日2011-03-16

  • 分类号H04L12/18(20060101);H04L12/44(20060101);

  • 代理机构11127 北京三友知识产权代理有限公司;

  • 代理人任默闻

  • 地址 518129 广东省深圳市龙岗区坂田华为基地总部办公楼

  • 入库时间 2023-12-18 03:04:41

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2019-03-08

    未缴年费专利权终止 IPC(主分类):H04L12/18 授权公告日:20131218 终止日期:20180316 申请日:20110316

    专利权的终止

  • 2013-12-18

    授权

    授权

  • 2011-09-28

    实质审查的生效 IPC(主分类):H04L12/18 申请日:20110316

    实质审查的生效

  • 2011-08-03

    公开

    公开

说明书

技术领域

本发明涉及通信技术领域,尤其涉及二层以太网络的组播树构建方法和网络节点设备。

背景技术

在IP(Internet Protocol,网际协议)三层网络中,开展如BTV(Broadcast Television,广播电视)等组播业务时,通常需要基于PIM(Protocol Independent Multicast,协议无关的组播)等组播协议,构建从组播源节点到网络边缘节点之间的组播树,组播业务流将沿着这棵组播树,被逐点复制到各边缘节点。边缘节点(可以看作为二层网络的根节点)到接入用户的节点(可以看作为二层网络的叶子节点)之间通常是一个由二层以太交换机构建的二层以太网络,组播业务需要以组播方式从边缘节点逐点复制到接入用户的节点,最终由接入用户的节点复制给每个用户。为了避免组播业务在二层网络各节点间进行组播复制时成环路,需要从组播源节点到组播叶子节点之间通过相应的协议构建一棵组播树,组播业务沿着这棵组播树从组播源节点逐点复制到各个叶子节点,最终由叶子节点复制给用户。

为了在组播源节点和各叶子节点之间构建一棵无环组播树,目前在二层网络上为接入用户提供组播业务时,通常的方法是:先在节点间的端口上部署一个专门用于组播业务的VLAN(Multicast VLAN,简称MVLAN),再基于MSTP(Multiple Spanning Tree Protocol,多生成树协议),破除MVLAN的环路,构建MVLAN生成树,再基于IGMP(Internet GroupManagement Protocol,互联网组播管理协议)Join(加入)和Leave(离开)报文的Snooping(探测),在MVLAN生成树上构建组播树。

但是,目前的技术方案在组播业务开展过程中存在以下问题:

由于对用户组播业务的加入过程需要依靠MSTP生成树上各节点基于IGMP Snooping的逐点处理,导致组播业务获取时间(在BTV视频业务中,对应用户的频道切换时间)较长。

由于组播路径基于MSTP生成树构建,MSTP生成树收敛时间长,且在收敛后的MSTP生成树上对组播路径的更新需要基于各节点对IGMP Query(查询)和Report(报告)的逐点处理,导致在网络节点或链路故障、拓扑发生变化时,组播业务中断时间过长。

由于组播路径基于MSTP生成树构建,从组播源节点到用户之间的组播路径不能保证经由的节点数量最少、链路带宽最大,因此,组播业务QoS(Quality of Service,服务质量)难以保证。

发明内容

本发明实施例提供一种二层以太网络的组播树构建方法,用以在任意拓扑结构的二层以太网络中建立可快速收敛的组播树,该方法包括:

根据网络拓扑信息,计算以网络中各节点为根节点的广播树;

基于泛洪机制获得组播源节点和组播接收节点的组播业务属性;

根据组播源节点和组播接收节点的组播业务属性,在所述以网络中各节点为根节点的广播树中,查找以组播源节点为根节点的广播树,并基于查找到的广播树,构建从组播源节点到组播接收节点的组播树。

本发明实施例还提供一种二层以太网络的网络节点设备,用以在任意拓扑结构的二层以太网络中建立可快速收敛的组播树,该设备包括:

计算模块,用于根据网络拓扑信息,计算以网络中各节点为根节点的广播树;

获得模块,用于基于泛洪机制获得组播源节点和组播接收节点的组播业务属性;

构建模块,用于根据组播源节点和组播接收节点的组播业务属性,在所述以网络中各节点为根节点的广播树中,查找以组播源节点为根节点的广播树,并基于查找到的广播树,构建从组播源节点到组播接收节点的组播树。

本发明实施例中,根据网络拓扑信息,计算以网络中各节点为根节点的广播树;基于泛洪机制获得组播源节点和组播接收节点的组播业务属性;根据组播源节点和组播接收节点的组播业务属性,在以网络中各节点为根节点的广播树中,查找以组播源节点为根节点的广播树,并基于查找到的广播树,构建从组播源节点到组播接收节点的组播树;可以在任意拓扑结构的二层以太网络中建立可快速收敛的组播树。

附图说明

为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。在附图中:

图1为本发明实施例中二层以太网络的组播树构建方法的处理流程图;

图2为本发明实施例中基于泛洪机制的网络拓扑信息的全网扩散示意图;

图3为本发明实施例中计算以某节点为根节点其它节点为叶子节点的广播树的示意图;

图4为本发明实施例中构建组播树的示意图;

图5为本发明实施例中将节点标识映射为组播地址的示意图;

图6为本发明实施例中变化信息在全网扩散的示意图;

图7为本发明实施例中二层以太网络的网络节点设备的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚明白,下面结合附图对本发明实施例做进一步详细说明。在此,本发明的示意性实施例及其说明用于解释本发明,但并不作为对本发明的限定。

如图1所示,本发明实施例中二层以太网络的组播树构建方法的处理流程可以包括:

步骤101、根据网络拓扑信息,计算以网络中各节点为根节点的广播树;

步骤102、基于泛洪机制获得组播源节点和组播接收节点的组播业务属性;

步骤103、根据组播源节点和组播接收节点的组播业务属性,在所述以网络中各节点为根节点的广播树中,查找以组播源节点为根节点的广播树,并基于查找到的广播树,构建从组播源节点到组播接收节点的组播树。

图1所示流程由网络中各节点进行实施。其中的网络拓扑信息可以包括网络中各节点的状态及连接关系、各节点间链路的状态及带宽等信息。在根据网络拓扑信息,计算以网络中各节点为根节点的广播树之前,需获得网络拓扑信息。本发明实施例中基于泛洪(Flooding)机制使网络中各节点获取到网络拓扑信息,网络中各节点保存上述网络拓扑信息。上述网络拓扑信息可以保存在网络中各节点的数据库中,例如可以保存在ASDB(Adjacent State DataBase,邻居状态数据库)中。具体的,可以与邻居节点进行状态通告,获得网络拓扑信息,将网络拓扑信息存入本节点上的数据库。由于各节点上的数据库可能由于某些原因出现不一致的情况,因此可以将本节点上的数据库与邻居节点上的数据库进行同步,以确保各节点上的数据库相同;这样的同步可以是周期性进行,也可以是不定时进行。

具体实施时,网络中各节点可在其互联端口上运行数据链路层网络中的扩展的中间系统到中间系统(Intermediate system to intermediate system,IS-IS)协议,该数据链路层网络中的扩展的IS-IS协议具体可以是最短路径桥接(Shortest Path Bridging),多连结透明互连(Transparent Interconnect of Lots of Links,TRILL)或其他类似协议。通过数据链路层网络中的扩展的IS-IS协议,节点间建立邻居关系,并将本节点上各端口的链路状态(Up和Down(启动和关闭)状态)和链路带宽等信息通告给其邻居节点,邻居节点在收到这些信息后除了保存在本节点上的数据库之外,还通告给其相邻的其它邻居节点,最终使各节点获取了全网节点的状态及连接关系、节点间的链路状态及带宽等信息,形成网络拓扑信息并生成数据库以存储网络拓扑信息。图2为基于泛洪机制的网络拓扑信息的全网扩散示意图。图2中,Mac3、Mac4分别是节点3和节点4的标识;这里节点标识(ID)用于标识各个节点和节点间的路径寻址,可以用设备MAC(Media AccessControl,介质访问控制)地址标识。

节点间可以基于Hello(握手)报文建立邻居关系,例如,节点间可以通过周期性的Hello报文建立邻居关系。如图2中,节点3和节点4之间通过周期性的Hello报文建立邻居关系。

在邻居关系建立后,各节点交换各自的邻居关系和状态,将本节点所连接的其它邻居节点、邻居节点状态、和与其它邻居节点间的链路状态、链路带宽度量值(Metric)等信息通告给邻居节点,例如可以通过ASA(Adjacency State Advertisement,邻居节点通告)报文通告给邻居节点。邻居节点在收到ASA报文后,将ASA报文中所表达的邻居节点间的连接关系、邻居状态、邻居节点间链路状态、邻居节点间带宽等信息保存在本地的数据库中,用于反映网络拓扑信息。例如,在图2中,节点3将自己和节点4之间的邻居关系(Mac3->Mac4)以及之间的带宽(Metric34)等信息以ASA报文方式通告给自己的另外两个邻居(节点2和节点6)。实施中,在邻居状态变化时,还可以实时通告ASA,例如检测到邻居节点Up/Down、和邻居间的链路Up/Down时,以事件触发方式实时通告给其它邻居节点。

某个节点在接收到邻居状态通告的ASA报文后,除存入本节点的数据库之外,继续向自己的邻居通告,最后达到全网扩散。如图2中,节点2和节点6在收到来自节点3的ASA后,又继续通告给了自己的邻居(节点2通告给节点1和节点5,节点6通告给节点5、节点8、节点10、节点4)。此外,邻居节点间还可以进行数据库同步,例如邻居节点间定时同步数据库。

经过上述基于泛洪机制的网络拓扑信息的全网扩散,最终各节点获取了反映全网各节点间的连接关系、各节点状态、节点间链路状态、节点间带宽等信息的数据库,并能确保各个节点上所保存的数据库完全相同。

在获取到网络拓扑信息后,即可根据网络拓扑信息计算以网络中各节点为根节点的广播树。具体实施时,可以基于CSPF(Constrained Shortest Path First,约束式最短路径优先)算法,根据网络拓扑信息,计算以网络中各节点为根节点的广播树。每个节点都要基于CSPF算法,从数据库中计算出以任何一个节点(包括自身节点)为根节点,其它节点为叶子节点的广播树。如果整个网络有n个节点,则每个节点都需要计算出n棵广播树。

图3为计算以某节点为根节点其它节点为叶子节点的广播树的示意图,在图3所示的由10个节点所构建的二层以太网络中,基于数据库和CSPF算法,在任何一个节点上都需要计算出10棵广播树,图3中示例了两棵广播树(一棵是以节点1为根的广播树;另外一棵是以节点4为根的广播树),以其它8个节点为根的广播树没有在图3中标识。

以某节点为根节点,其它节点为叶子节点的广播树对该广播树上的一个节点来说,其物理意义是:对来自该根节点的广播流,将会从哪个端口流入,需要从哪些端口广播出去。因此,每棵广播树的计算结果,对该广播树上的一个节点来说,在控制平面可以表达为(根节点ID;入端口;{出端口列表})。在图3中,节点1为根节点和节点4为根节点的两棵广播树对节点6而言,可表达为:

BC-TREE1:(节点1;if6-5;{if6-10})

BC-TREE4:(节点4;if6-4;{if6-5,if6-8})

表达式中的if i-j表示节点i和节点j之间的端口。

基于广播树可以为组播业务构建组播树。在以提供组播业务G的节点(组播源节点)为根节点,其它节点为叶子节点的广播树上,根据各叶子节点对组播业务G的需求状态对广播树的拓扑结构进行裁剪,获取广播树上各节点的出端口列表,如果从节点A开始(包括节点A)往下的叶子节点都不需要组播业务,则在广播树上各节点的出端口列表中裁剪掉各节点至节点A之间的端口,即可为组播业务构建组播树。

在构建组播树之前,需获得网络中组播源节点和组播接收节点的组播业务属性。本发明实施例中基于泛洪机制使网络中各节点获取到组播源节点和组播接收节点的组播业务属性,具体实施时可以与邻居节点进行状态通告,获得组播源节点和组播接收节点的组播业务属性,保存组播源节点和组播接收节点的组播业务属性,例如可以将组播源节点和组播接收节点的组播业务属性存入本节点上的数据库(例如ASDB)中。

具体的,对于组播业务G,其涉及的网络节点包括组播源节点和组播接收节点。组播源节点是提供组播业务G的节点,可将其组播业务属性记为G/Tx,表示该节点将发送该组播业务G。组播接收节点是用户需要接收该组播业务G的节点,可将其组播业务属性为G/Rx,表示该节点将接收该组播业务G。前述Tx、Rx仅为一例,实施中也可由其它符号表示组播源节点和组播接收节点。

图4为构建组播树的示意图。在图4中,节点1是组播业务G的发送节点,其附属的组播业务属性是G/Tx;节点4、节点5、节点8上有用户需要接收组播业务G,是组播业务G的接收节点,其附属的组播业务属性是G/Rx。

基于泛洪机制,组播源节点可以将自身的组播业务属性G/Tx扩散到全网所有节点,组播接收节点可以将自身的组播业务属性扩散到全网所有节点。具体的,与前述网络拓扑信息的泛洪类似,在网络拓扑信息的泛洪之后,组播源节点和组播接收节点的组播业务属性可以通过ASA通告给邻居节点,邻居节点继续通告给其它节点,最终通过这种洪泛机制,扩散到全网所有节点,并在各节点上保存,例如存入各个节点的数据库如ASDB中。还可以定时或不定时地与邻居节点上的数据库进行同步,以保持各节点数据库的一致性。具体的,可以新增一个TLV(type-1ength-value,类型长度值)以在全网所有节点扩散组播源节点和组播接收节点的组播业务属性,TLV的形式可以如下表:

  Type  Length组播地址 G  T(R)  Node ID(节点MAC地址)

接入用户的叶子节点可以启用IGMP Snooping协议监测用户的组播请求,用户需要加入某个组播组时,向接入用户的叶子节点发送IGMP Join报文,用户离开某个组播组时,向接入用户的叶子节点发送IGMP Leave报文。接入用户的叶子节点接收到IGMP Join/Leave报文后,不再向邻居节点转发该报文,而是在由此确定本节点成为组播接收节点,或者不再是组播接收节点后,基于泛洪机制向全网通告。当某节点监测到该节点接入的用户中有第一个用户需要加入到某个组播组时,该节点即成为组播接收节点,需要通过泛洪机制向全网通告;当某节点监测到该节点接入的所有用户都离开某个组播组,该节点可将不再是组播接收节点的变化信息基于泛洪机制通告全网。

图4中,节点1将组播业务属性G/Tx通告给节点2和节点7,并由节点2和节点7向全网逐渐扩散。节点4、节点5、节点8上有用户需要接收组播业务G,其组播业务属性G/Rx被通告给各自的邻居并被扩散到全网。

在组播源节点和组播接收节点基于泛洪机制向全网通告组播业务属性后,网络中各节点可知晓网络中的组播源节点和组播接收节点,进而基于查找到的以组播源节点为根节点的广播树,构建从组播源节点到组播接收节点的组播树。组播树上各节点为组播业务G生成相应的组播转发表,其转发表为(组播业务G,入端口,出端口列表),各节点依靠组播转发表将组播业务流从源节点逐点复制到叶子节点,最终复制到用户。

由上述实施例可以得知,本发明实施例中可基于二层网络中的数据链路层网络中的扩展的IS-IS协议,通过泛洪机制将节点链路状态、链路带宽信息在全网扩散,计算出以任何节点为根节点,其它节点为叶子节点的广播树(路径中经由的节点数量最少、链路带宽最大),并将组播源节点和组播接收节点的组播业务属性通过对数据链路层网络中的扩展的IS-IS中的TLV进行扩展后也基于泛洪机制在全网扩散,基于以组播源节点为根的最优广播树进行剪枝获得最优组播树。

图4中示出了在10个节点构建的带有环网结构的二层以太网络中,构建一棵快速收敛的最优组播树的方法。其中网络拓扑信息、组播源节点和组播接收节点的组播业务属性基于泛洪机制通过数据链路层网络中的扩展的IS-IS协议全网扩散,构建从组播源节点到各个需要组播业务的叶子节点(组播接收节点)之间的组播树。

具体实施时,构建从组播源节点到组播接收节点的组播树之后,还可以包括:在检测到网络拓扑信息变化、网络中各节点的组播业务属性变化、或主备组播源节点切换时,基于泛洪机制在网络中通告变化信息,以便进行组播树的快速收敛与重构。

具体的,可以与邻居节点进行状态通告,将变化信息通告邻居节点;根据变化信息更新本节点上的数据库(例如ASDB),还可以与邻居节点上的数据库进行同步。检测到网络拓扑信息变化的节点可以通过ASA报文将变化信息通告给其邻居节点,并由邻居节点继续通告给自己的邻居节点;网络中组播业务属性变化的节点也可以通过ASA报文将变化信息通告给其邻居节点,并由邻居节点继续通告给自己的邻居节点;对于主备组播源节点切换,可以由切换后的节点将变化信息通告给其邻居节点,并由邻居节点继续通告给自己的邻居节点;通过这种泛洪机制,最后变化信息将扩散到整个网络。并且,还可以通过邻居节点间数据库的同步,确保所有节点都能正确获取整网拓扑信息。

实施时,为了加快变化信息的全网通告,还可以将变化信息通过以本节点为根节点的广播树进行广播,从而让其它节点快速感知到该节点所发生的事件。具体的,以不同节点为根节点的各个广播树可以分别具有特定的标识。可以用组播地址表示该特定的标识,在广播变化信息时,可以使用根节点为本节点的广播树的组播地址作为目的地址发送变化信息。组播地址可以是用发出变化信息的节点ID(设备MAC地址)自动映射成的一个组播地址,以确保全网所有节点可以识别该组播地址,映射方法举一例可以如图5所示,将某个发出变化信息的节点ID(以设备MAC地址为例)前8位改为“00000001”,从而映射成一个组播地址。

网络中各节点可以将数据平面通往控制平面的通道加入节点的出端口列表中。例如在图3中,节点1为根节点和节点4为根节点的广播树,对节点6而言,添加从节点6的数据平面到控制平面的通道后,变为:

BC-TREE1:(节点1;if6-5;{if6-10,if6-6})

BC-TREE4:(节点4;if6-4;{if6-5,if6-8,if 6-6})

当某节点检测到某一个邻居节点或链路状态发生变化导致网络拓扑信息发生变化,将这个变化信息通过本节点为根节点的广播树进行广播,由于每个节点数据平面至控制平面的通道是该广播树上的一个出端口,各个节点的控制平面可以接收到该变化信息。因此,检测到网络拓扑信息发生变化的节点基于这棵广播树进行广播时,只需要在这个节点上发送一个广播消息,就能向全网所有节点同时通告这一拓扑变化事件。

图6为变化信息在全网扩散的示意图。在图6中,如果节点7发生故障而从Up状态变为Down状态时,其邻居节点1、节点5、节点8将通过自己节点为根节点的广播树向全网广播,并基于泛洪机制通过ASA向各自的邻居通告而实现全网扩散。

每个节点在收到变化信息后,对原先已经计算好的各节点为根节点的广播树重新计算,只需要计算有变化部分的广播路径,没有变化的路径不必重新计算,可以减少计算量,加快计算速度。

由于每个节点在收到变化信息后,都需要重新计算以网络中各节点为根节点的多个广播树,再基于其中以组播源节点为根节点的广播树构建组播树,这样计算时间较长;因此为了进一步加快组播树的收敛时间,可以优先计算以组播源节点为根的广播树。若网络中存在多个组播源节点,提供多个组播业务,则优先计算以这些组播源节点为根的广播树。对于某组播组而言,若重新计算的以该组播组的组播源节点为根节点的广播树和原先的广播树没有变化,则组播树可以无需重新构建。在重新计算获得的广播树与对应的原广播树不一致时,需要基于重新计算获得的广播树,构建组播树。

在网络中各节点的组播业务属性变化时,网络中组播业务属性变化的节点通过ASA报文将变化信息通告给其邻居节点,并由邻居节点继续通告给自己的邻居节点;网络中的节点以此基于泛洪机制获得变化后的组播源节点和变化后的组播接收节点的组播业务属性;根据变化后的组播源节点和变化后的组播接收节点的组播业务属性,在所述以网络中各节点为根节点的广播树中,查找以变化后的组播源节点为根节点的广播树,并基于查找到的广播树,构建从变化后的组播源节点到变化后的组播接收节点的组播树。

在图6中,如果节点4上有第一个用户需要加入组播组或者所有用户离开组播组时,节点4将基于泛洪机制将变化信息向邻居通告,以实现变化信息的全网扩散,节点4还可以自己节点为根节点的广播树向全网广播该变化信息以实现全网扩散。

在组播源节点的广播树上的各个节点在发现有一个新的叶子节点成为组播接收节点,具有组播业务属性G/Rx时,根据原先的广播树对原先的组播树进行相应的增枝操作,也就是将某个端口增加到节点的出端口列表中;在发现某个叶子节点不再是组播接收节点,则对原先的组播树进行剪枝操作,在节点出端口列表中删除某个出端口。增枝或剪枝操作后,生成新的组播树,更新原先的组播转发表。

如果网络中部署了主备组播服务器,接入在两个节点上,节点间进行选举,由其中的一个节点作为主节点,提供组播业务,另一节点作为备用节点。当主节点故障或主用服务器故障时,主备节点将会发生切换。和节点监测到网络拓扑信息发生变化时向全网的快速通告方法一样,主备节点切换时,切换后的节点会基于邻居间的ASA通告和邻居间数据库的同步,将变化信息通告、扩散到全网所有节点;为了确保这个消息能够快速通告给全网所有节点,也可以在本节点为根的广播树上,将变化信息快速广播给全网所有节点。

在图6中,如果节点1和节点2是主备的组播源节点,在发生主备切换时,切换后的节点将自己提供组播业务(是组播源节点)通过ASA向各自的邻居通告,还可以通过自己节点为根节点的广播树向全网广播,从而实现全网扩散。

为了实现在组播源节点发生主备切换时,组播树的快速重构,最大程度减少对组播业务的中断时间,可以在提供组播业务之前,构建组播树时,同时生成两棵组播树,一棵为主用,另外一棵为备用,即基于主组播源节点为根节点的广播树,构建从主组播源节点到组播接收节点的主组播树;基于备组播源节点为根节点的广播树,构建从备组播源节点到组播接收节点的备组播树。当组播源节点发生主备切换时,无需进行组播树的重新剪枝操作,直接进行主备组播树的切换即可,可以极大地缩短组播业务的中断时间。

综上,在本发明实施例中,由于各节点为根节点的广播树是基于全网的网络拓扑信息的泛洪机制和各节点的CSPF并行计算而获得的,广播树的构建速度快。本发明实施例将组播源节点和组播接收节点的组播业务属性,也通过泛洪机制扩散到网络各节点,各节点直接基于这个组播业务属性,对广播树进行简单的剪枝操作即可生成组播树。而且,在节点发现邻居节点状态或者和邻居间的链路状态发生变化、主备组播源节点发生主备切换、接入用户的节点发现第一个用户加入或所有用户离开组播组时,这些节点都会基于泛洪机制向全网所有节点通告这些消息,还可以通过自己为根节点的广播树向全网所有节点广播这些消息,以快速重构广播树或组播树。另外,可以针对这些不同的变化信息,对已经构建好的广播树和组播树进行适当的修正即可,无需完全重新计算,如在组播源节点发生主备切换,只要在已经计算好的两棵主备组播树之间直接进行切换即可,无需任何计算。

基于同一发明构思,本发明实施例中还提供了一种二层以太网络的网络节点设备和二层以太网络,如下面的实施例所述。由于该二层以太网络的网络节点设备和二层以太网络解决问题的原理与二层以太网络的组播树构建方法相似,因此其实施可以参见二层以太网络的组播树构建方法的实施,重复之处不再赘述。

如图7所示,本发明实施例中二层以太网络的网络节点设备可以包括:

计算模块701,用于根据网络拓扑信息,计算以网络中各节点为根节点的广播树;

获得模块702,用于基于泛洪机制获得组播源节点和组播接收节点的组播业务属性;

构建模块703,用于根据组播源节点和组播接收节点的组播业务属性,在所述以网络中各节点为根节点的广播树中,查找以组播源节点为根节点的广播树,并基于查找到的广播树,构建从组播源节点到组播接收节点的组播树。

一个实施例中,上述获得模块702具体可用于:

与邻居节点进行状态通告,获得组播源节点和组播接收节点的组播业务属性;保存所述组播源节点和组播接收节点的组播业务属性。

一个实施例中,上述网络节点设备还可以包括:

变化信息通告模块,用于在检测到网络拓扑信息变化、网络中各节点的组播业务属性变化、或主备组播源节点切换时,基于泛洪机制在网络中通告变化信息。

一个实施例中,变化信息通告模块具体可以用于:

与邻居节点进行状态通告,将变化信息通告邻居节点。

一个实施例中,网络中各节点组播转发表的出端口列表中包括数据平面至控制平面的通道;变化信息通告模块还可以用于:将变化信息通过以本节点为根节点的广播树进行广播。

一个实施例中,上述网络节点设备还可以包括:

第一组播树重构模块,用于在检测到网络拓扑信息变化时,重新计算以组播源节点为根节点的广播树;在重新计算获得的广播树与对应的原广播树不一致时,基于重新计算获得的广播树,构建从组播源节点到组播接收节点的组播树。

一个实施例中,上述网络节点设备还可以包括:

第二组播树重构模块,用于在网络中各节点的组播业务属性变化时,基于泛洪机制获得变化后的组播源节点和变化后的组播接收节点的组播业务属性;根据变化后的组播源节点和变化后的组播接收节点的组播业务属性,在所述以网络中各节点为根节点的广播树中,查找以变化后的组播源节点为根节点的广播树,并基于查找到的广播树,构建从变化后的组播源节点到变化后的组播接收节点的组播树。

一个实施例中,构建模块703具体可以用于:

基于以主组播源节点为根节点的广播树上,构建从主组播源节点到组播接收节点的主组播树;

基于以备组播源节点为根节点的广播树上,构建从备组播源节点到组播接收节点的备组播树;

上述网络节点设备还可以包括:

第三组播树重构模块,用于在主备组播源节点切换时,在主组播树与备组播树之间切换。

本发明实施例中还提供一种二层以太网络,该二层以太网络可以包括多个上述网络节点设备。

综上所述,本发明实施例中组播树的构建是基于组播源节点的组播业务属性G/Tx和组播接收节点的组播业务属性G/Rx,对由数据链路层网络中的扩展的IS-IS协议所构建的广播树进行剪枝操作构建的。各节点状态、节点间链路状态、提供组播业务的组播源节点、需要接收组播业务的叶子节点(组播接收节点)等信息是基于邻居间相互通告的全网泛洪扩散机制,在各节点生成一个能够反映这些信息的数据库。各节点基于数据库,采用CSPF算法,计算出以每个节点为根节点的广播树,然后查找出以提供组播业务的节点(组播源节点)为根节点的广播树,根据哪些节点需要接收组播业务(组播接收节点)的信息,对这棵广播树进行剪枝生成组播树。由于本发明实施例根据全网拓扑结构、节点间的带宽,基于CSPF算法,计算出从组播源节点到接收组播的叶子节点之间路径最短、沿途链路带宽最高的组播树,因此组播业务时延短、丢包少,QoS有保证。

如果某个节点状态、节点间链路状态发生变化引起的拓扑结构变化,组播源节点切换、用户加入或离开组播组等业务信息发生变化时,本发明实施例基于邻居间ASA通告的泛洪机制,还通过已经构建好的以本节点为根节点的广播树进行快速广播的方法,可以使这些变化信息被很快地扩散到全网所有节点,各个节点基于这些信息,可以快速地重新构建组播树。

如果网络节点或链路状态发生变化,则各节点在收到这个消息后,首先计算从组播源节点到其它各节点的广播树,如果此广播树和原先的广播树没有变化,则组播树无需构建,否则,基于新的广播树和已经保存在本地的用于标识哪些节点需要组播业务的信息,对这棵新的广播树进行剪枝操作,生成新的组播树。

如果是组播源节点发生了变化,从一个节点切换到另外一个新的节点,则各节点在收到这个消息后,对已经计算好的主备组播树进行切换即可。

用户加入或离开组播组时,如果是本节点上第一个用户需要加入这个组播组,或者是最后一个用户需要离开这个组播组,导致这个叶子节点对是否需要接收该组播业务的状态发生变化,则各个节点在收到这个信息后,只要对已经生成的以组播源节点为根的广播树进行重新剪枝操作即可生成新的组播树。

因此,本发明实施例中,基于链路状态信息的泛洪扩散机制和各个节点的并行计算,使得网络拓扑发生变化、组播源主备节点切换时,组播树的计算和收敛过程很快,用户的组播业务中断时间短。由于在CSPF算法中,不仅考虑了路径的节点数,还考虑了节点间的带宽信息,广播树路径的节点数最少,路径带宽最大,从整个路径的节点数和带宽看是最优的。所构建的从组播源节点到接入用户的各个叶子节点之间的组播树,是在最优广播树上通过剪枝实现的,因此,组播树从整个路径的节点数和带宽看是最优的(节点最少,带宽最高)。

本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。

本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。

这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。

这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。

以上所述,仅为本发明较佳的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到的变化或替换,都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应该以权利要求的保护范围为准。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号