首页> 中国专利> 胖树网络中的组播组建立方法、装置及胖树网络

胖树网络中的组播组建立方法、装置及胖树网络

摘要

本发明实施例提供一种胖树网络中的组播组建立方法、装置及胖树网络,该方法包括:网络节点根据目标组播组地址向所述目标组播组的管理交换节点发送加入请求,加入请求用于请求将所述网络节点加入所述目标组播组,目标组播组的管理交换节点为所述目标组播组地址所属的核心交换节点;其中,胖树网络包括多个交换节点,其中顶层为核心交换节点,每个所述核心交换节点管理多个组播组地址。本发明中,每个核心交换节点就只需管理分配给它的这些组播组,网络设备要加入组播组时只需向对应的核心交换节点发送加入请求即可,实现了负载分流,避免了单点故障对整个网络的影响,且加入请求从底层向顶层自路由,复杂度低,提高了整个网络的组播效率。

著录项

  • 公开/公告号CN104518891A

    专利类型发明专利

  • 公开/公告日2015-04-15

    原文格式PDF

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

    申请/专利号CN201410855950.2

  • 发明设计人 胡冰;阳坤;崔雷;

    申请日2014-12-31

  • 分类号H04L12/18(20060101);

  • 代理机构11205 北京同立钧成知识产权代理有限公司;

  • 代理人杨贝贝;黄健

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

  • 入库时间 2023-12-17 04:14:53

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2017-12-15

    授权

    授权

  • 2015-05-13

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

    实质审查的生效

  • 2015-04-15

    公开

    公开

说明书

技术领域

本发明涉及通信技术,尤其涉及一种胖树网络中的组播组建立方法、装 置及胖树网络。

背景技术

目前,数据中心常用的拓扑结构为胖树(Fat-Tree)结构,在一个Fat-tree 为基础的互连网络中,叶节点代表处理器或服务器,内部节点为交换机或 交换芯片,每条边对应于上下层节点之间的双向链接。Fat-tree中的路由 全程包含两个阶段,上升阶段和下降阶段,举例说明,假设叶节点处理器 i发送一个数据包到处理器j,在上升阶段,数据包通过内部的交换机/交 换芯片沿着Fat-tree向上,一直到处理器i和j的共同“祖先”,其中共同 “祖先”的数目可以不止一个,然后进入下降阶段,该数据包通过内部交 换机或交换芯片一路向下发送到处理器j。

需要说明的是,对于一个包含N个节点的网络具有完全平分带宽的特 性,具体指把这N个节点任意分成两部分,只要每部分包含N/2个节点, 那么这两部分之间的链路带宽总和为单条链路带宽的N/2倍,因此这两部 分彼此间可以全速通信,如果无法保证完全平分带宽,那么采用任何路由 测量都不能确保无拥塞。因而,为了使Fat-tree能保证平分带宽,Fat-tree 对每一层交换机或交换芯片的数目都有严格的限制,举例说明,假设一个 Fat-tree网络中:每个交换机或交换芯片的端口数目为2n个,单元(pod) 的数目为2n个,在每个pod中,接入(access)交换机或交换芯片的数目 为n个,汇聚(aggregation)交换机或交换芯片的数目也为n个,而处理 器或服务器的数目则为n2个,另外,核心(core)交换机或交换芯片的数 目为n2个,在该例所举的Fat-tree网站中为了保证负载平衡,需要通过5n2个交换机或交换芯片把2n3个处理器或服务器无拥塞地联通起来,数据由 access交换机或交换芯片负载平衡到core交换机或交换芯片(上行),在 由core交换机或交换芯片返回到access交换机或交换芯片,才能保证整 个网络的100%吞吐量,这种方式在对于单播调度容易实现,但是在组播 调度中实现有一定难度。

现有技术中,Fat-tree网络的组播方案主要采用有界拥塞的多播调度 (Bounded Congestion Multicast Scheduling,简称BCMS)算法,BCMS 算法是一种集中式算法,主要利用开流(Open-Flow)控制数据中心的主 体框架,BCMS算法中有一个中央调度器手机流量的带宽需求,监控数据 中心的网络状况,即网络链路的当前可用带宽,并计算每一个流的路由路 径并配置交换机。其中,BCMS算法的主要特征是可以保证在一个Fat-tree 网络的任何链路拥堵程度都是有界的,具体可以定义容量容许 (admissible)数据源下,BCMS算法使一个Fat-tree网络任何链路的最大 拥堵程度为C,C的值由Fat-tree网络m、n、r、s的值决定,其中m是顶 层core交换机的数目,r是底层边缘(edge)交换机的数目,n是每个edge 交换机所连接终端的数目,s是core交换机的链路带宽,即对于一个给定 的Fat-tree网络,C是确定的值也是确定的。由于Fat-tree网络中,每个组 播流量必须经过路由交换机的上行链路才到达core交换机,因而BCMS 算法的第一步是先确定组播边缘交换机的上行链路,并设定适用的core 交换机,等组播发送到core交换机后,组播流会经由下行链路被转发到所 有目的边缘交换机中,然后第二步是迭代地发现core交换机的一个适当子 集,通过这个子集组播可以通过递迭下行数据,具体地,可以采用最小基 数的贪心(greedy)策略选择core交换机子的一个适当子集。

但是,若采用现有技术中的BCMS算法,基于Fat-tree网络的组播调 度的每个步骤都需要全局的信息,然后进行全局的计算,导致整个网络单 点故障及性能的局限性严重。

发明内容

本发明提供一种胖树网络中的组播组建立方法、装置及胖树网络,用于 解决现有技术中整个网络单点故障及性能的局限性严重的问题。

本发明第一方面提供一种胖树网络中的组播组建立方法,胖树网络包括 N层,所述胖树网络包括多个交换节点,其中顶层为核心交换节点,每个所 述核心交换节点管理所述胖树网络的管理设备分配的多个组播组地址;

所述方法包括:

网络节点根据目标组播组地址向所述目标组播组的管理交换节点发送加 入请求,所述加入请求用于请求将所述网络节点加入所述目标组播组,以建 立所述目标组播组,所述目标组播组的管理交换节点为所述目标组播组地址 所属的核心交换节点;

其中,所述加入请求根据所述目标组播组地址从所述胖树网络的底层交 换节点依次自路由到所述目标组播组的管理交换节点。

结合第一方面,在第一方面的第一种可能的实施方式中,所述方法还包 括:

所述网络节点根据目标组播组地址向所述目标组播组的管理交换节点发 送退出请求,所述退出请求用于请求将所述网络节点退出所述目标组播组;

其中,所述退出请求根据所述目标组播组地址从所述胖树网络的底层交 换节点依次自路由到所述目标组播组的管理交换节点。

结合第一方面,在第一方面的第二种可能的实施方式中,所述目标组播 组建立完成后,还包括:

所述网络节点向所述目标组播组发送数据,所述数据根据所述目标组播 组地址从所述胖树网络的底层交换节点依次自路由到所述目标组播组的管理 交换节点,并由所述目标组播组的管理交换节点向所述目标组播组转发。

结合第一方面,在第一方面的第三种可能的实施方式中,所述胖树网络 中交换节点的地址还包括a元素、b元素和c元素,在所述c不等于0时,a 表示所述交换节点属于单元a,b表示所述交换节点在所述单元a中的b+1列 上;

其中,c表示所述交换节点在所述胖树网络的N-c层,c∈ {0,1,……,N-1}。

结合第一方面至第一方面的第三种可能的实施方式中任一项,在第一方 面的第四种可能的实施方式中,所述组播组地址包括N个元素,所述网络节 点的地址包括N个元素。

结合第一方面的第四种可能的实施方式,在第一方面的第五种可能的实 施方式中,N=3时,所述胖树网络包含2n个单元,每个单元包含n个接入交 换节点和n个汇聚交换节点,所述接入交换节点在所述胖树网络的第1层, 所述汇聚交换节点在所述胖树网络的第2层,所述核心交换节点在所述胖树 网络的第3层。

本发明第二方面提供一种胖树网络中的组播组建立方法,所述胖树网络 包括N层,所述胖树网络包括多个交换节点,其中顶层为核心交换节点,每 个所述核心交换节点管理所述胖树网络的管理设备分配的多个组播组地址;

该方法包括:

所述核心交换节点接收网络节点根据目标组播组地址发送的加入请求, 所述加入请求用于请求将所述网络节点加入所述目标组播组,以建立所述目 标组播组,所述目标组播组地址由所述核心交换节点管理;

其中,所述加入请求根据所述目标组播组地址从所述胖树网络的底层交 换节点依次自路由到所述目标组播组的管理交换节点。

结合第二方面,在第二方面的第一种可能的实施方式中,还包括:

所述核心交换节点接收网络节点根据目标组播组地址发送的退出请求, 所述退出请求用于请求将所述网络节点退出所述目标组播组;

其中,所述退出请求根据所述目标组播组地址从所述胖树网络的底层交 换节点依次自路由到所述目标组播组的管理交换节点。

结合第二方面,在第二方面的第二种可能的实施方式中,所述目标组播 组建立完成后,还包括:

所述核心交换节点接收网络节点向所述目标组播组发送的数据,所述数 据根据所述目标组播组地址从所述胖树网络的底层交换节点依次自路由到所 述核心交换节点;

所述核心交换节点根据转发表中的所述目标组播组地址对应的相关表 项,将所述数据向所述目标组播组转发。

结合第二方面,在第二方面的第三种可能的实施方式中,所述胖树网络 中交换节点的地址还包括a元素、b元素和c元素,在所述c不等于0时,a 表示所述交换节点属于单元a,b表示所述交换节点在所述单元a中的b+1列 上;

其中,c表示所述交换节点在所述胖树网络的N-c层,c∈ {0,1,……,N-1}。

结合第二方面至第二方面的第三种可能的实施方式中任一项,在第二方 面的第四种可能的实施方式中,所述组播组地址包括N个元素,所述网络节 点的地址包括N个元素。

结合第二方面的第四种可能的实施方式中任一项,在第二方面的第五种 可能的实施方式中,N=3时,所述胖树网络包含2n个单元,每个单元包含n 个接入交换节点和n个汇聚交换节点,所述接入交换节点在所述胖树网络的 第1层,所述汇聚交换节点在所述胖树网络的第2层,所述核心交换节点在 所述胖树网络的第3层。

本发明第三方面提供一种网络节点,胖树网络包括N层,所述胖树网络 包括多个交换节点,其中顶层为核心交换节点,每个所述核心交换节点管理 所述胖树网络的管理设备分配的多个组播组地址;

所述网络节点包括:

发送模块,用于根据目标组播组地址向所述目标组播组的管理交换节点 发送加入请求,所述加入请求用于请求将所述网络节点加入所述目标组播组, 以建立所述目标组播组,所述目标组播组的管理交换节点为所述目标组播组 地址所属的核心交换节点;

其中,所述加入请求根据所述目标组播组地址从所述胖树网络的底层交 换节点依次自路由到所述目标组播组的管理交换节点。

结合第三方面,在第三方面的第一种可能的实施方式中,所述发送模块, 还用于根据目标组播组地址向所述目标组播组的管理交换节点发送退出请 求,所述退出请求用于请求将所述网络节点退出所述目标组播组;

其中,所述退出请求根据所述目标组播组地址从所述胖树网络的底层交 换节点依次自路由到所述目标组播组的管理交换节点。

结合第三方面,在第三方面的第二种可能的实施方式中,所述发送模块, 还用于向所述目标组播组发送数据,所述数据根据所述目标组播组地址从所 述胖树网络的底层交换节点依次自路由到所述目标组播组的管理交换节点, 并由所述目标组播组的管理交换节点向所述目标组播组转发。

结合第三方面,在第三方面的第三种可能的实施方式中,所述胖树网络 中交换节点的地址还包括a元素、b元素和c元素,在所述c不等于0时,a 表示所述交换节点属于单元a,b表示所述交换节点在所述单元a中的b+1列 上;

其中,c表示所述交换节点在所述胖树网络的N-c层,c∈ {0,1,……,N-1}。

结合第三方面或第三方面的第三种可能的实施方式,在第三方面的第四 种可能的实施方式中,所述组播组地址包括N个元素,所述网络节点的地址 包括N个元素。

结合第三方面的第四种可能的实施方式,在第三方面的第五种可能的实 施方式中,N=3时,所述胖树网络包含2n个单元,每个单元包含n个接入交 换节点和n个汇聚交换节点,所述接入交换节点在所述胖树网络的第1层, 所述汇聚交换节点在所述胖树网络的第2层,所述核心交换节点在所述胖树 网络的第3层。

本发明第四方面提供一种核心交换节点,胖树网络包括N层,所述胖树 网络包括多个交换节点,其中顶层为核心交换节点,每个所述核心交换节点 管理所述胖树网络的管理设备分配的多个组播组地址;

所述核心交换节点包括:

接收模块,用于接收网络节点根据目标组播组地址发送的加入请求,所 述加入请求用于请求将所述网络节点加入所述目标组播组,以建立所述目标 组播组,所述目标组播组地址由所述核心交换节点管理;

其中,所述加入请求根据所述目标组播组地址从所述胖树网络的底层交 换节点依次自路由到所述目标组播组的管理交换节点。

结合第四方面,在第四方面的第一种可能的实施方式中,所述接收模块, 还用于接收网络节点根据目标组播组地址发送的退出请求,所述退出请求用 于请求将所述网络节点退出所述目标组播组;

其中,所述退出请求根据所述目标组播组地址从所述胖树网络的底层交 换节点依次自路由到所述目标组播组的管理交换节点。

结合第四方面,在第四方面的第二种可能的实施方式中,所述核心交换 节点还包括:发送模块;

所述接收模块,还用于所述核心交换节点接收网络节点向所述目标组播 组发送数据,所述数据根据所述目标组播组地址从所述胖树网络的底层交换 节点依次自路由到所述核心交换节点;

所述发送模块,用于根据转发表中的所述目标组播组地址的相关表项, 将所述数据向所述目标组播组转发。

结合第四方面,在第四方面的第三种可能的实施方式中,所述胖树网络 中交换节点的地址还包括a元素、b元素和c元素,在所述c不等于0时,a 表示所述交换节点属于单元a,b表示所述交换节点在所述单元a中的b+1列 上;

其中,c表示所述交换节点在所述胖树网络的N-c层,c∈ {0,1,……,N-1}。

结合第四方面至第四方面的第三种可能的实施方式中任一项,在第四方 面的第四种可能的实施方式中,所述组播组地址包括N个元素,所述网络节 点的地址包括N个元素。

结合第四方面的第四种可能的实施方式,在第四方面的第五种可能的实 施方式中,N=3时,所述胖树网络包含2n个单元,每个单元包含n个接入交 换节点和n个汇聚交换节点,所述接入交换节点在所述胖树网络的第1层, 所述汇聚交换节点在所述胖树网络的第2层,所述核心交换节点在所述胖树 网络的第3层。

本发明实施例第五方面提供一种胖树网络,包括:多个交换节点,且分 为N层;

所述胖树网络的顶层为核心交换节点,每个所述核心交换节点管理所述 胖树网络的管理设备分配的多个组播组地址。

结合第五方面,在第五方面的第一种可能的实施方式中,所述组播组地 址包括N个元素。

结合第五方面的第一种可能的实施方式,在第五方面的第二种可能的实 施方式中,N=3时,所述胖树网络包含2n个单元,每个单元包含n个接入交 换节点和n个汇聚交换节点,所述接入交换节点在所述胖树网络的第1层, 所述汇聚交换节点在所述胖树网络的第2层,所述核心交换节点在所述胖树 网络的第3层。

本发明提供的胖树网络中的组播组建立方法、装置及胖树网络中,胖树 网络的管理设备将多个组播组地址分配到各个核心交换节点,即每个核心交 换节点就只需管理分配给它的这些组播组,即进行分布式管理,网络设备要 加入组播组时只需向对应的核心交换节点发送加入请求即可,实现了负载分 流,避免了单点故障对整个网络的影响,且加入请求可以在目标组播组地址 的指引下依次从底层向顶层自路由,复杂度低,容易实现,提高了整个网络 的组播效率。

附图说明

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

图1为本发明提供的胖树网络结构示意图;

图2为本发明提供的胖树网络中的组播组建立方法实施例一的流程示意 图;

图3为本发明提供的核心交换节点实施例一的结构示意图;

图4为本发明提供的核心交换节点实施例二的结构示意图。

具体实施方式

为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发 明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述, 显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于 本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获 得的所有其他实施例,都属于本发明保护的范围。

本发明实施例中所说的网络节点可以是处理器或服务器,但并不以此为 限。“%”表示求模运算。

本发明实施例提供一种胖树网络中的组播组建立方法,具体地,该胖树 网络包括N层,该胖树网络包括多个交换节点,其中顶层为核心(core)节 点,每个核心交换节点管理胖树网络的管理设备分配的多个组播组地址。

其中,胖树网络的管理设备可以采用路由算法将多个组播组地址分配到 各个核心交换节点,那么每个核心交换节点就只需管理分配给它的这些组播 组,即进行分布式管理,实现了负载分流,减少了每个核心交换节点的工作 量。

要建立一个组播组,胖树网络的管理设备会预先设定好哪些网络节点要 加入该组播组,在要加入的目标组播组初始化完成后,待加入的网络节点会 主动发送加入请求。

具体地,网络节点根据目标组播组地址向目标组播组的管理交换节点发 送加入请求,该加入请求用于请求将上述网络节点加入目标组播组,以建立 该目标组播组。

其中,该目标组播组的管理交换节点为目标组播组地址所属的核心管理 节点。该目标组播组的管理交换节点还负责在后续有网络节点向该目标组播 组发送数据时,完成数据的复制工作。

本实施例中,加入请求根据目标组播组地址从上述胖树网络的底层交换 节点依次自路由到上述目标组播组的管理交换节点。

具体地,目标组播组地址中各元素可以分别指引不同的信息,有的指引 所连接交换节点的位置,有的指引端口号,在目标组播组地址的指引下,加 入请求可以沿着所指引的路径一层一层自路由到顶层的目标组播组的管理交 换节点,以完成加入目标组播组。

具体地,加入请求沿着所指引的路径向上的过程中,每经过一个交换节 点,这个交换节点就判断自己的转发表中是否包含目标组播组地址,若包含, 则将接收所述加入请求的端口作为目的端口添加到转发表中,该网络节点成 功加入目标组播组;若不包含,则先将目标组播组地址写入转发表,并在写 入时,将接收所述加入请求的端口作为目的端口添加到转发表中,之后该加 入请求继续自路由到上一层交换节点。需要说明的是,加入请求到达核心交 换节点后,核心交换节点同样判断自己的转发表中是否包含目标组播组地址, 若包含,则将接收所述加入请求的端口作为目的端口添加到转发表中,该网 络节点成功加入目标组播组;若不包含,则先将目标组播组地址写入转发表, 并在写入时,将接收所述加入请求的端口作为目的端口添加到转发表中,不 同的是,由于核心交换节点是顶层交换节点,加入请求不再向上层转发。

本实施例中,胖树网络的管理设备将多个组播组地址分配到各个核心交 换节点,即每个核心交换节点就只需管理分配给它的这些组播组,即进行分 布式管理,网络设备要加入组播组时只需向对应的核心交换节点发送加入请 求即可,实现了负载分流,避免了单点故障对整个网络的影响,且加入请求 可以在目标组播组地址的指引下依次从底层向顶层自路由,复杂度低,容易 实现,提高了整个网络的组播效率。

进一步地,如果有网络节点要退出目标组播组,与前述加入流程类似, 也非常简单易实现,具体地,该网络节点根据目标组播组地址向目标组播组 的管理交换节点发送退出请求,该退出请求用于请求将上述网络节点退出上 述目标组播组。同样,退出请求根据目标组播组地址从胖树网络的底层交换 节点依次自路由到该目标组播组的管理交换节点。

具体地,退出请求自路由的过程中,所经过的交换节点会判断自己的转 发表中是否包含目标组播组地址,若包含,则在目标组播组地址的相关记录 中删除目的端口,即删除接收该退出请求的端口,删除之后检查目标组播组 地址的相关记录中是否还包含其它端口,若还包含其它端口,该网络节点成 功退出目标组播组,若不包含其它端口,则将转发表中目标组播组地址对应 的整体记录全部删除,之后退出请求自路由到上层交换节点。当然,如果是 在核心交换节点,则无需再向上层自路由。

进一步地,在上述组播组建立完成后,网络中任何网络节点都可以向该 组播组发送数据,发送数据的流程与前述加入请求和退出请求的流程类似。 具体地,网络节点向目标组播组发送数据,该数据可以根据目标组播组地址 从上述胖树网络的底层交换节点依次自路由到目标组播组的管理交换节点, 并由目标组播组的管理交换节点向所述目标组播组转发。

具体地,上述数据向上路由到目标组播组的管理交换节点的过程中,无 需进行数据复制,到达管理交换节点之后,管理交换节点根据转发表中记录 的目标组播组地址的相关表项,查看目标组播组地址对应的相关端口,将数 据复制到这几个端口,数据会从这几个端口到达对应的下层交换节点,下层 交换节点执行与管理交换节点相同的动作,依次进行,直到数据到达目标组 播组中的所有网络节点,数据传输完毕。整个数据传输过程中,只需该目标 组播组对应的管理交换节点参与管理,沿着一定路径完成数据传输,无需考 虑整个网络的其它信息,简单快捷,且避免了单点故障对数据传输的影响。

相应地,胖树网络中的交换节点的地址中包括a元素、b元素和c元素, c表示交换节点在胖树网络中的N-c层,c∈{0,1,……,N-1}。这样加入请求 或数据自路由过程可以根据交换节点的地址知道交换节点在网络中的层。

具体地,交换节点的地址可以表示为(a,b,c),在c=0时,表明该交换 机为顶层交换机,此时a元素和b元素没有实际意义,仅作为一般地二进制 标号,在c不等于0时,a表示所述交换节点属于单元a,b表示所述交换节 点在所述单元a中的b+1列上。相应地,网络节点发出的数据或请求可以根 据上述目标组播组地址的指引,找到对应的单元号、端口号,向上完成自路 由。

进一步地,上述组播组地址包括N个元素,即与胖树网络的层数相同, 这N个元素分别指引数据从所述胖树网络的底层交换节点依次自路由到所述 目标组播组的管理交换节点。同理,对于前述加入请求、退出请求,网络节 点只要发出即可,然后加入请求、退出请求就可以根据目标组播组地址从胖 树网络的底层交换节点依次自路由到所述目标组播组的管理交换节点。

同样,在上述胖树网络中,网络节点的地址也包括N个元素,这样一个 网络节点向另一个目的网络节点发送单播消息时,单播消息就可以在目的网 络节点地址的指引下,自路由到从胖树网络的底层交换节点依次自路由到顶 层的核心交换节点,再由核心交换节点目标网络节点转发。

常见地胖树网络包括3层,即N=3,此时,胖树网络包含2n个单元,每 个单元包含n个接入交换节点和n个汇聚交换节点,所述接入交换节点在所 述胖树网络的第1层,所述汇聚交换节点在所述胖树网络的第2层,所述核 心交换节点在所述胖树网络的第3层。

假设所述网络节点的地址包括i、j、k3个元素,i表示所述网络节点属于 单元i,j表示所述网络节点与所述单元i中第j+1列的接入交换节点连接,k 表示所述网络节点连接在所述单元i中第j+1列的接入交换节点的第k+1个端 口上。网络节点的地址和组播组的地址都可以记为(i,j,k),在j>n或者k>n 时,(i,j,k)为组播组地址,否则(i,j,k)为网络节点地址。

图1为本发明提供的胖树网络结构示意图,如图1所示,该胖树网络包 括3层,图1中最下层的圆圈表示网络节点,依次向上的三层为接入交换节 点、汇聚交换节点和核心交换节点,每个虚线框表示一个单元(pod)。本例 中n=2。

对于网络节点地址中的i、j、k3个元素,每个元素占用log2n比特(bit)。

图2为本发明提供的胖树网络中的组播组建立方法实施例一的流程示意 图,如图2所示,以图1所示的胖树网络为例,该方法包括:

S201、胖树网络的管理设备采用路由算法给胖树网络中的各核心交换节 点分配组播组地址。

假设组播组地址为(h,m,u),采用路由算法,u%n对应核心交换节点地 址的最高位,m%n对应核心交换节点地址的第二位,核心交换节点的第三位 都相同。例如对于组播组地址(2,3,3),u%n=3%2=1,m%n=3%2=1,因此 该组播组地址(2,3,3)分配给地址为(11,0)的核心交换节点。采用这样的 算法分配之后,每个核心交换节点分配到的组播组地址数据基本相等,以保 证负载的分流。

S202、初始化目标组播组,采用轮询的方式向核心交换节点申请未使用 的组播组地址,获取所述目标组播组地址,并将该目标组播组地址所属的核 心交换节点作为目标组播组的管理交换节点。

例如从地址为(11,0)的核心交换节点上获取了组播组地址(2,3,3)作 为目标组播组地址。

下面以地址为(0,0,1)的网络节点为例说明网络节点加入目标组播组的 过程。

S203、地址为(0,0,1)的网络节点根据目标组播组地址发出加入请求。 即该网络节点属于pod0,且与pod0中第1列的接入交换节点连接,参照图2, 加入请求到达地址为(00,2)的接入交换机,接入交换机检查转发表中是否 包含组播组地址为(2,3,3)的表项,若没有,则创建组播组地址为(2,3,3) 的表项,若有,则将接收加入请求的端口作为目的端口写入组播组地址为 (2,3,3)的表项。

然后根据目标组播组地址中u=3,加入请求从地址为(00,2)的接入交换 节点的3号端口发送到地址为(01,1)的汇聚交换节点。

S204、地址为(01,1)的汇聚交换节点检查转发表中检查转发表中是否 包含组播组地址为(2,3,3)的表项,若没有,则创建组播组地址为(2,3,3) 的表项,若有,则将接收加入请求的端口作为目的端口写入组播组地址为 (2,3,3)的表项。

S205、地址为(01,1)的汇聚交换节点将加入请求发送到地址为(11,0) 的核心交换节点。

具体地,地址为(01,1)的汇聚交换节点可以根据目标组播组地址中m=3, 将加入请求从汇聚交换节点3号端口发送到地址为(11,0)的核心交换节点。

S206、地址为(11,0)的核心交换节点检查转发表中是否包含组播组地 址为(2,3,3)的表项,若没有,则创建组播组地址为(2,3,3)的表项,若有, 则将接收加入请求的端口作为目的端口写入组播组地址为(2,3,3)的表项。

另外,地址为(11,0)的核心交换节点检查转发表中是否存在地址为(01,1) 的汇聚交换节点,若不存在,则增加地址为(01,1)的交换节点。

S207、地址为(11,0)的核心交换节点判断加入请求的目的节点就是该 核心节点,结束流程。

其它网络节点加入组播组时,均参照上述流程即可。

基于上述实施例,本发明实施例还提供一种胖树网络中的组播组建立方 法,该方法的执行主体为一个上述核心交换机。基于的场景同样是:胖树网 络包括N层,所述胖树网络包括多个交换节点,其中顶层为核心交换节点, 每个所述核心交换节点管理所述胖树网络的管理设备分配的多个组播组地 址。

与前述方法对应地,该方法包括:核心交换节点接收所述网络节点根据 目标组播组地址发送的加入请求,该加入请求用于请求将该网络节点加入目 标组播组,以建立目标组播组。

具体地,加入请求根据目标组播组的地址从胖树网络的底层交换节点依 次自路由到所述目标组播组的管理交换节点。

其中,该目标组播组地址由该核心交换节点管理。

具体地,加入请求自路由的方法,参照前述实施例,在此不再赘述。

加入请求到达核心交换节点后,核心交换节点先判断自己的转发表中是 否包含目标组播组地址,若包含,则将接收所述加入请求的端口作为目的端 口添加到转发表中,该网络节点成功加入目标组播组;若不包含,则先将目 标组播组地址写入转发表,并在写入时,将接收所述加入请求的端口作为目 的端口添加到转发表中。

本实施例中,胖树网络的管理设备将多个组播组地址分配到各个核心交 换节点,即每个核心交换节点就只需管理分配给它的这些组播组,即进行分 布式管理,网络设备要加入组播组时只需向对应的核心交换节点发送加入请 求即可,实现了负载分流,避免了单点故障对整个网络的影响,且加入请求 可以在目标组播组地址的指引下依次从底层向顶层自路由,复杂度低,容易 实现,提高了整个网络的组播效率。

相应地,在有网络节点要退出目标组播组时,核心交换节点接收网络节 点根据目标组播组地址发送的退出请求,该退出请求用于请求将所述网络节 点退出所述目标组播组。所述退出请求根据所述目标组播组地址从所述胖树 网络的底层交换节点依次自路由到所述目标组播组的管理交换节点。

相应地,在目标组播组建立完成后,网络节点可以向目标组播组发送数 据,数据经过该目标组播组对应的管理交换节点,由管理交换节点进行转发, 以实现分布式管理,分流负载。具体地,核心交换节点接收网络节点向目标 组播组发送的数据,该数据根据目标组播组地址从上述胖树网络的底层交换 节点依次自路由到所述核心交换节点。然后,核心交换节点根据转发表中该 目标组播组地址对应的相关表项,将上述数据向目标组播组转发。

进一步地,胖树网络中交换节点的地址包括a元素、b元素和c元素,c 表示交换节点在胖树网络中的N-c层,c∈{0,1,……,N-1}。

具体地,交换节点的地址可以表示为(a,b,c),在c=0时,表明该交换 机为顶层交换机,此时a元素和b元素没有实际意义,仅作为一般地二进制 标号,在c不等于0时,a表示所述交换节点属于单元a,b表示所述交换节 点在所述单元a中的b+1列上。相应地,网络节点发出的数据或请求可以根 据上述目标组播组地址的指引,找到对应的单元号、端口号,向上完成自路 由。

进一步地,上述组播组地址包括N个元素,即与胖树网络的层数相同, 这N个元素分别指引数据从所述胖树网络的底层交换节点依次自路由到所述 目标组播组的管理交换节点。同理,对于前述加入请求、退出请求,网络节 点只要发出即可,然后加入请求、退出请求就可以根据目标组播组地址从胖 树网络的底层交换节点依次自路由到所述目标组播组的管理交换节点。

同样,在上述胖树网络中,网络节点的地址也包括N个元素,这样一个 网络节点向另一个目的网络节点发送单播消息时,单播消息就可以在目的网 络节点地址的指引下,自路由到从胖树网络的底层交换节点依次自路由到顶 层的核心交换节点,再由核心交换节点目标网络节点转发。

常见地胖树网络包括3层,即N=3,此时,胖树网络包含2n个单元,每 个单元包含n个接入交换节点和n个汇聚交换节点,所述接入交换节点在所 述胖树网络的第1层,所述汇聚交换节点在所述胖树网络的第2层,所述核 心交换节点在所述胖树网络的第3层。

假设所述网络节点的地址包括i、j、k3个元素,i表示所述网络节点属于 单元i,j表示所述网络节点与所述单元i中第j+1列的接入交换节点连接,k 表示所述网络节点连接在所述单元i中第j+1列的接入交换节点的第k+1个端 口上。网络节点的地址和组播组的地址都可以记为(i,j,k),在j>n或者k>n 时,(i,j,k)为组播组地址,否则(i,j,k)为网络节点地址。

本发明实施例提供一种网络节点,该网络节点为胖树网络中的网络节点, 具体地,胖树网络包括多个交换节点,其中顶层为核心交换节点,每个所述 核心交换节点管理所述胖树网络的管理设备分配的多个组播组地址。

该网络节点包括:发送模块,用于根据目标组播组地址向所述目标组播 组的管理交换节点发送加入请求,所述加入请求用于请求将所述网络节点加 入所述目标组播组,以建立所述目标组播组,所述目标组播组的管理交换节 点为所述目标组播组地址所属的核心交换节点;其中,所述加入请求根据所 述目标组播组地址从所述胖树网络的底层交换节点依次自路由到所述目标组 播组的管理交换节点。

本实施例中,胖树网络的管理设备将多个组播组地址分配到各个核心交 换节点,即每个核心交换节点就只需管理分配给它的这些组播组,即进行分 布式管理,网络设备要加入组播组时只需向对应的核心交换节点发送加入请 求即可,实现了负载分流,避免了单点故障对整个网络的影响,且加入请求 可以在目标组播组地址的指引下依次从底层向顶层自路由,复杂度低,容易 实现,提高了整个网络的组播效率。

另一实施例中,上述发送模块,用于根据目标组播组地址向所述目标组 播组的管理交换节点发送退出请求,所述退出请求用于请求将所述网络节点 退出所述目标组播组;其中,所述退出请求根据所述目标组播组地址从所述 胖树网络的底层交换节点依次自路由到所述目标组播组的管理交换节点。

另一实施例中,上述发送模块,用于向所述目标组播组发送数据,所述 数据根据所述目标组播组地址从所述胖树网络的底层交换节点依次自路由到 所述目标组播组的管理交换节点,并由所述目标组播组的管理交换节点向所 述目标组播组转发。

所述胖树网络中交换节点的地址还包括a元素、b元素和c元素,在所述 c不等于0时,a表示所述交换节点属于单元a,b表示所述交换节点在所述 单元a中的b+1列上;

具体地,交换节点的地址可以表示为(a,b,c),在c=0时,表明该交换 机为顶层交换机,此时a元素和b元素没有实际意义,仅作为一般地二进制 标号,在c不等于0时,a表示所述交换节点属于单元a,b表示所述交换节 点在所述单元a中的b+1列上。相应地,网络节点发出的数据或请求可以根 据上述目标组播组地址的指引,找到对应的单元号、端口号,向上完成自路 由。

其中,c表示所述交换节点在所述胖树网络的N-c层,c∈ {0,1,……,N-1}。

所述组播组地址包括N个元素,所述网络节点的地址包括N个元素。

N=3时,所述胖树网络包含2n个单元,每个单元包含n个接入交换节点 和n个汇聚交换节点,所述接入交换节点在所述胖树网络的第1层,所述汇 聚交换节点在所述胖树网络的第2层,所述核心交换节点在所述胖树网络的 第3层。

该网络节点用于执行前述方法实施例,其实现原理和技术效果类似,在 此不再赘述。

图3为本发明提供的核心交换节点实施例一的结构示意图,该核心交换 节点为胖树网络中的核心交换节点,具体地所述胖树网络包括多个交换节点, 其中顶层为核心交换节点,每个所述核心交换节点管理所述胖树网络的管理 设备分配的多个组播组地址。

参照图3,核心交换节点包括接收模块301,用于接收网络节点根据目标 组播组地址发送的加入请求,所述加入请求用于请求将所述网络节点加入所 述目标组播组,以建立所述目标组播组,所述目标组播组地址由所述核心交 换节点管理。

其中,所述加入请求根据所述目标组播组地址从所述胖树网络的底层交 换节点依次自路由到所述目标组播组的管理交换节点。

本实施例中,胖树网络的管理设备将多个组播组地址分配到各个核心交 换节点,即每个核心交换节点就只需管理分配给它的这些组播组,即进行分 布式管理,网络设备要加入组播组时只需向对应的核心交换节点发送加入请 求即可,实现了负载分流,避免了单点故障对整个网络的影响,且加入请求 可以在目标组播组地址的指引下依次从底层向顶层自路由,复杂度低,容易 实现,提高了整个网络的组播效率。

另一实施例中,接收模块301,还用于接收网络节点根据目标组播组地 址发送的退出请求,所述退出请求用于请求将所述网络节点退出所述目标组 播组。其中,所述退出请求根据所述目标组播组地址从所述胖树网络的底层 交换节点依次自路由到所述目标组播组的管理交换节点。

另一实施例中,参照图3,上述核心交换节点还包括:发送模块302。

具体地,接收模块301,用于所述核心交换节点接收网络节点向所述目 标组播组发送数据,所述数据根据所述目标组播组地址从所述胖树网络的底 层交换节点依次自路由到所述核心交换节点。

发送模块302,用于根据转发表中的所述目标组播组地址的相关表项, 将所述数据向所述目标组播组转发。

所述胖树网络中交换节点的地址还包括a元素、b元素和c元素,在所述 c不等于0时,a表示所述交换节点属于单元a,b表示所述交换节点在所述 单元a中的b+1列上;

其中,c表示所述交换节点在所述胖树网络的N-c层,c∈ {0,1,……,N-1}。

所述组播组地址包括N个元素,所述网络节点的地址包括N个元素。

N=3时,所述胖树网络包含2n个单元,每个单元包含n个接入交换节点 和n个汇聚交换节点,所述接入交换节点在所述胖树网络的第1层,所述汇 聚交换节点在所述胖树网络的第2层,所述核心交换节点在所述胖树网络的 第3层。

该核心交换节点用于执行前述方法实施例,其实现原理和技术效果类似, 在此不再赘述。

本发明实施例还提供一种胖树网络,该胖树网络包含多个交换节点,且 分为N层,该胖树网络的顶层为核心交换节点,每个核心交换节点管理该胖 树网络的管理设备分配的多个组播地址。

本实施例的胖树网络中,每个核心交换节点管理该胖树网络的管理设备 分配的多个组播地址,即进行分布式管理,实现了负载分流,避免了单点故 障对整个网络的影响,且加入请求可以在目标组播组地址的指引下依次从底 层向顶层自路由,复杂度低,容易实现,提高了整个网络的组播效率。

具体地,上述组播组地址包括N个元素,即与胖树网络的层数相同,这 N个元素分别指引数据从所述胖树网络的底层交换节点依次自路由到所述目 标组播组的管理交换节点。同理,对于前述加入请求、退出请求,网络节点 只要发出即可,然后加入请求、退出请求就可以根据目标组播组地址从胖树 网络的底层交换节点依次自路由到所述目标组播组的管理交换节点。。

N=3时,所述胖树网络包含2n个单元,每个单元包含n个接入交换节点 和n个汇聚交换节点,所述接入交换节点在所述胖树网络的第1层,所述汇 聚交换节点在所述胖树网络的第2层,所述核心交换节点在所述胖树网络的 第3层。

具体地,3层胖树网络可以参照图1,但并不以此为限。

本发明实施例还提供一种网络节点,该网络节点为胖树网络中的网络节 点,具体地,胖树网络包括多个交换节点,其中顶层为核心交换节点,每个 所述核心交换节点管理所述胖树网络的管理设备分配的多个组播组地址。

该网络节点包括:发送器,用于根据目标组播组地址向所述目标组播组 的管理交换节点发送加入请求,所述加入请求用于请求将所述网络节点加入 所述目标组播组,以建立所述目标组播组,所述目标组播组的管理交换节点 为所述目标组播组地址所属的核心交换节点;其中,所述加入请求根据所述 目标组播组地址从所述胖树网络的底层交换节点依次自路由到所述目标组播 组的管理交换节点。

本实施例中,胖树网络的管理设备将多个组播组地址分配到各个核心交 换节点,即每个核心交换节点就只需管理分配给它的这些组播组,即进行分 布式管理,网络设备要加入组播组时只需向对应的核心交换节点发送加入请 求即可,实现了负载分流,避免了单点故障对整个网络的影响,且加入请求 可以在目标组播组地址的指引下依次从底层向顶层自路由,复杂度低,容易 实现,提高了整个网络的组播效率。

另一实施例中,上述发送器,用于根据目标组播组地址向所述目标组播 组的管理交换节点发送退出请求,所述退出请求用于请求将所述网络节点退 出所述目标组播组;其中,所述退出请求根据所述目标组播组地址从所述胖 树网络的底层交换节点依次自路由到所述目标组播组的管理交换节点。

另一实施例中,上述发送器,用于向所述目标组播组发送数据,所述数 据根据所述目标组播组地址从所述胖树网络的底层交换节点依次自路由到所 述目标组播组的管理交换节点,并由所述目标组播组的管理交换节点向所述 目标组播组转发。

所述胖树网络中交换节点的地址还包括a元素、b元素和c元素,在所述 c不等于0时,a表示所述交换节点属于单元a,b表示所述交换节点在所述 单元a中的b+1列上;

其中,c表示所述交换节点在所述胖树网络的N-c层,c∈ {0,1,……,N-1}。

所述组播组地址包括N个元素,所述网络节点的地址包括N个元素。

N=3时,所述胖树网络包含2n个单元,每个单元包含n个接入交换节点 和n个汇聚交换节点,所述接入交换节点在所述胖树网络的第1层,所述汇 聚交换节点在所述胖树网络的第2层,所述核心交换节点在所述胖树网络的 第3层。

该网络节点用于执行前述方法实施例,其实现原理和技术效果类似,在 此不再赘述。

图4为本发明提供的核心交换节点实施例二的结构示意图,该核心交换 节点为胖树网络中的核心交换节点,具体地所述胖树网络包括多个交换节点, 其中顶层为核心交换节点,每个所述核心交换节点管理所述胖树网络的管理 设备分配的多个组播组地址。

参照图4,该核心交换节点包括:接收器401,用于接收网络节点根据目 标组播组地址发送的加入请求,所述加入请求用于请求将所述网络节点加入 所述目标组播组,以建立所述目标组播组,所述目标组播组地址由所述核心 交换节点管理。

其中,所述加入请求根据所述目标组播组地址从所述胖树网络的底层交 换节点依次自路由到所述目标组播组的管理交换节点。

本实施例中,胖树网络的管理设备将多个组播组地址分配到各个核心交 换节点,即每个核心交换节点就只需管理分配给它的这些组播组,即进行分 布式管理,网络设备要加入组播组时只需向对应的核心交换节点发送加入请 求即可,实现了负载分流,避免了单点故障对整个网络的影响,且加入请求 可以在目标组播组地址的指引下依次从底层向顶层自路由,复杂度低,容易 实现,提高了整个网络的组播效率。

另一实施例中,接收器401,还用于接收网络节点根据目标组播组地址 发送的退出请求,所述退出请求用于请求将所述网络节点退出所述目标组播 组。其中,所述退出请求根据所述目标组播组地址从所述胖树网络的底层交 换节点依次自路由到所述目标组播组的管理交换节点。

另一实施例中,参照图4,上述核心交换节点还包括:发送器402。

具体地,接收器401,用于所述核心交换节点接收网络节点向所述目标 组播组发送数据,所述数据根据所述目标组播组地址从所述胖树网络的底层 交换节点依次自路由到所述核心交换节点。

发送器402,用于根据转发表中的所述目标组播组地址的相关表项,将 所述数据向所述目标组播组转发。

所述胖树网络中交换节点的地址还包括a元素、b元素和c元素,在所述 c不等于0时,a表示所述交换节点属于单元a,b表示所述交换节点在所述 单元a中的b+1列上;

其中,c表示所述交换节点在所述胖树网络的N-c层,c∈ {0,1,……,N-1}。

所述组播组地址包括N个元素,所述网络节点的地址包括N个元素。

N=3时,所述胖树网络包含2n个单元,每个单元包含n个接入交换节点 和n个汇聚交换节点,所述接入交换节点在所述胖树网络的第1层,所述汇 聚交换节点在所述胖树网络的第2层,所述核心交换节点在所述胖树网络的 第3层。

该核心交换节点用于执行前述方法实施例,其实现原理和技术效果类似, 在此不再赘述。

在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法, 可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的, 例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外 的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或 一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或 直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连 接,可以是电性,机械或其它的形式。

所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作 为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方, 或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或 者全部单元来实现本实施例方案的目的。

另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中, 也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单 元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件 功能单元的形式实现。

上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机 可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指 令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等) 或处理器(英文:processor)执行本发明各个实施例所述方法的部分步骤。 而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文:Read-Only  Memory,简称:ROM)、随机存取存储器(英文:Random Access Memory, 简称:RAM)、磁碟或者光盘等各种可以存储程序代码的介质。

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

去获取专利,查看全文>

相似文献

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

客服邮箱:kefu@zhangqiaokeyan.com

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

  • 服务号