跨二层虚拟网络传输组播报文的方法、设备及系统的制作方法

文档序号:9690872阅读:269来源:国知局
跨二层虚拟网络传输组播报文的方法、设备及系统的制作方法
【技术领域】
[0001] 本发明涉及计算机网络领域,尤其涉及一种TRILL网络中跨二层虚拟网络传输组 播报文的方法、设备及系统。
【背景技术】
[0002] 多链路透明互连(英文:Transparent Interconnection of Lots of Links,简称 TRILL)协议是互联网工程任务组(英文:Internet Engineering Task Force,缩写:IETF) 推荐的一种在二层网络上基于链路状态计算的路由协议,用于解决大型数据中心中生成树 协议(英文:Spanning Tree Protocol,缩写:STP)的不足。数据中心可以采用TRILL来构 建大二层组网,克服传统二层网络带宽利用率低、收敛慢的缺点。
[0003] 图1为现有技术中TRILL网络架构示意图。如图1所示,TRILL网络采用两层结构, 包含多个具有接入功能的路由桥(英文:Routing Bridge,缩写:RB),以及,多个具有转发 功能的网关。在TRILL网络中,同一个TRILL物理网络可以由不同的租户(租户是指使用系 统和电脑运算资源的用户)共同使用,每个租户使用至少一个二层虚拟网络,每个二层虚 拟网络通过12 bits的虚拟局域网标识(英文:virtual local area network identifier, 缩写:VLAN ID)或24bits的精细标签(英文:fine grained label,缩写:FGL)来识别。每 个二层虚拟网络可以包含多个终端,同一个二层虚拟网络内的不同终端可以接入不同的路 由桥,且不同终端之间能够通过一个或多个路由桥通信,不同二层虚拟网络的终端之间可 以通过TRILL网络中的任一网关进行组播报文转发。
[0004] 通常情况下,在TRILL网络中,根据协议无关组播(英文:Protocol Independent Multicast,缩写:P頂)协议,每个二层虚拟网络指定一个网关为其转发组播报文,即只有 该二层虚拟网络的指定网关才能复制转发该二层虚拟网络内所有终端发送的组播报文。例 如,图1中,假设终端1和终端3在二层虚拟网络VLAN 10内(VLAN 10在图1中未示出), 二层虚拟网络VLAN 10的指定网关为网关1,则只有网关1能够转发VLAN 10内的组播报 文。此时,若终端1发送1000组不同的组播报文,则这1000组组播报文只能通过网关1进 行跨二层虚拟网络的复制转发。
[0005] 由于网关与二层虚拟网络的这种一一对应关系,使得某一二层虚拟网络内的所有 组播报文都通过一个固定的网关进行复制转发,因此,当某一二层虚拟网络存在大量需要 转发的组播报文时,该二层虚拟网络的指定网关的负担较重。

【发明内容】

[0006] 本发明提供一种TRILL网络中跨二层虚拟网络传输组播报文的方法、设备及系 统,以解决现有技术中为二层虚拟网络转发组播报文的网关,在所述二层虚拟网络存在大 量需要转发的组播报文时负担过重的问题。
[0007] 第一方面,本发明提供一种TRILL网络中跨二层虚拟网络传输组播报文的方法, 包括:
[0008] 网关接收各个路由桥RB发送的链路状态报文LSP ;其中,每个所述LSP包括二层 虚拟网络的网络标识和组播地址;
[0009] 所述网关分别对各个LSP中的所述网络标识和组播地址进行计算,得到每一网络 标识和组播地址组合对应的计算结果;
[0010] 若所述网关确定所述网关上预先配置的信息与一个网络标识和组播地址组合对 应的计算结果相匹配,向所述TRILL网络中的各个RB发送通告消息,所述通告消息包括所 述相匹配的组合中的网络标识和组播地址;
[0011] 所述网关从至少一个RB接收所述相匹配的组合中的组播地址对应的组播报文, 并转发所述组播报文。
[0012] 结合第一方面,在第一方面的第一种可能的实现方式中,所述网关分别对各个LSP 中的所述网络标识和组播地址进行计算,得到每一网络标识和组播地址组合对应的计算结 果,包括:
[0013] 所述网关分别对所述各个LSP中的所述网络标识和组播地址进行数据变换,并与 所述TRILL网络中网关总个数运算后,得到每一网络标识和组播地址组合对应的计算结 果。
[0014] 结合第一方面的第一种可能的实现方式,在第一方面的第二种可能的实现方式 中,所述网关分别对各个LSP中的所述网络标识和组播地址进行数据变换,并与TRILL网络 中网关总个数运算后,得到每一网络标识和组播地址组合对应的计算结果,具体包括:
[0015] 所述网络标识为12bits的虚拟局域网标识VLAN ID ;
[0016] 所述组播地址为D类IP地址Group Address ;
[0017] 所述网关总个数为整数k ;
[0018] 所述网络标识和组播地址组合对应的计算结果为m,所述m = (VLAN ID<<32+Group Address)% k;
[0019] 其中,"〈〈"表示右移,"%"表示取余。
[0020] 结合第一方面的第一种可能的实现方式,在第一方面的第三种可能的实现方式 中,所述网关分别对各个LSP中的所述网络标识和组播地址进行数据变换,并与TRILL网络 中网关总个数运算后,得到每一网络标识和组播地址组合对应的计算结果,具体包括:
[0021] 所述网络标识为24bits的精细标签FGL ;
[0022] 所述组播地址为D类IP地址Group Address ;
[0023] 所述网关总个数为整数k ;
[0024] 所述网络标识和组播地址组合对应的计算结果为m,所述m= ((FGL〈〈k% 12 I FGL) % k+(Group Address<<k% 32 (Group Address) % k) % k ;
[0025] 其中,"〈〈"表示右移"表示取余," I "表示或运算。
[0026] 结合第一方面的第二种可能的实现方式或第一方面的第三种可能的实现方式,在 第一方面的第四种可能的实现方式中,
[0027] 所述网关上预先配置的信息为所述网关的编号;所述编号是根据所述TRILL网络 中网关的TRILL协议系统标识system ID,将所述TRILL网络中的所有网关,以从0开始到 k-Ι的自然数数列进行排序得到的;
[0028] 相应的,若所述网关确定所述网关上预先配置的信息与一个网络标识和组播地址 组合对应的计算结果相匹配,则向所述TRILL网络中的各个RB发送通告消息,包括:
[0029] 若所述网关确定自身编号与一网络标识和组播地址组合对应的计算结果m相等, 则向所述TRILL网络中各个RB发送所述通告消息。
[0030] 结合第一方面至第一方面的第四种可能的实现方式中任意一种实现方式,在第一 方面的第五种可能的实现方式中,若所述网关确定所述网关上预先配置的信息与一个网络 标识和组播地址组合对应的计算结果相匹配,且所述网关不是TRILL分发树的树根,则所 述通告消息为包含所述相匹配的组合中的网络标识和组播地址的第一 LSP ;
[0031] 相应的,所述向所述TRILL网络中的各个RB发送通告消息,包括:
[0032] 所述网关通过所述第一 LSP将所述相匹配的组合中的网络标识和网络标识通告 给所述TRILL网络中的各个RB。
[0033] 结合第一方面至第一方面的第四种可能的实现方式中任意一种实现方式,在第一 方面的第六种可能的实现方式中,若所述网关确定所述网关上预先配置的信息与一网络标 识和组播地址组合对应的计算结果相匹配,且所述网关是TRILL分发树的树根,则所述通 告消息为包含所述相匹配的组合中的网络标识和组播地址,以及,所述相匹配的组合中的 网络标识和组播地址与TRILL分发树的树根的对应关系的扩展LSP ;
[0034] 相应的,所述向所述TRILL网络中的各个RB发送通告消息,包括:
[0035] 所述网关通过所述扩展LSP将所述相匹配的组合中的网络标识和组播地址,以 及,所述相匹配的组合中的网络标识和组播地址与TRILL分发树的树根的对应关系通告给 TRILL网络中的各个RB。
[0036] 第二方面,本发明提供一种TRILL网络中跨二层虚拟网络传输组播报文的方法, 包括:
[0037] 路由桥分别向所述TRILL网络中的每个网关发送链路状态报文LSP,其中,所述 LSP包括:二层虚拟网络的网络标识和组播地址;所述LSP用于使每个网关对所述LSP中 的网络标识和组播地址进行计算,并将计算结果与网关上预先配置的信息进行匹配;
[0038] 所述路由桥接收第一网关发送的通告消息;其中,所述第一网关为TRILL网络中, 所述网关上预先配置的信息与所述网络标识和组播地址组合对应的计算结果相匹配的网 关;
[0039] 所述路由桥将所述组播地址对应的组播报文发送到所述第一网关。
[0040] 结合第二方面,在第二方面的第一种可能的实现方式中,若所述第一网关不是 TRILL分发树的树根,则所述通告消息为包含所述网络标识和组播地址的第一 LSP ;
[0041] 相应的,所述路由桥接收第一网关发送的通告消息,将所述组播地址对应的组播 报文发送到所述第一网关,包括 :
[0042] 所述路由桥接收第一网关发送的所述第一 LSP ;
[0043] 根据所述第一 LSP将所述第一网关设置在与所述网络标识和组播地址对应的 TRILL分发树上;
[0044] 将所述组播地址对应的组播报文通过所述TRILL分发树发送到所述第一网关。
[0045] 结合第二方面,在第二方面的第二种可能的实现方式中,若所述第一网关是TRILL 分发树的树根,则所述通告消息为包含所述网络标识和组播地址,以及,所述网络标识和组 播地址与TRILL分发树的树根的对应关系的扩展LSP ;
[0046] 相应的,所述路由桥接收第一网关发送的通告消息,将所述组播地址对应的组播 报文发送到所述第一网关,包括 :
[0047] 所述路由桥接收所述第一网关发送的所述扩展LSP ;
[0048] 根据所述扩展LSP生成本地组播表项;
[0049] 使用所述本地组播表项中以所述第一网关为树根的TRILL分发树,将所述组播地 址对应的组播报文发送至所述第一网关。
[0050] 第三方面,本发明提供一种网关,包括:
[0051] 接收模块,用于接收各个路由桥RB发送的链路状态报文LSP ;其中,每个所述 LSP包括:二层虚拟网络的网络标识和组播地址;
[0052] 计算模块,用于分别对所述接收模块接收到的各个LSP中的所述网络标识和组播 地址进行计算,得到每一网络标识和组播地址组合对应的计算结果;
[0053] 发送模块,用于若所述网关确定所述网关上预先配置的信息与一个网络标识和组 播地址组合对应的计算结果相匹配,向TRILL网络中的各个RB发送通告消息,所述通告消 息包括所述相匹配的组合中的网络标识和组播地址;
[0054] 组播报文接收模块,用于从至少一个RB接收所述相匹配的组合中的组播地址对 应的组播报文;
[0055] 组播报文转发模块,用于转发所述组播报文接收模块接收到的所述组播报文。
[0056] 在第三方面的第一种可能的实现方式中,结合第三方面,所述计算模块,具体用 于:
[0057] 分别对所述接收模块接收到的各个LSP中的所述网络标识和组播地址进行数据 变换,并与TRILL网络中网关总个数运算后,得到每一网络标识和组播地址组合对应的计 算结果。
[0058] 结合第三方面的第一种可能的实现方式,在第三方面的第二种可能的实现方式 中,
[0059] 所述网络标识为12bits的虚拟局域网标识VLAN ID ;
[0060] 所述组播地址为D类IP地址Group Address ;
[0061] 所述网关总个数为整数k ;
[0062] 所述网络标识和组播地址组合对应的计算结果为m ;
[0063] 所述计算模块具体用于根据公式m = (VLAN ID〈〈32+Group Address) % k得到每 一网络标识和组播地址组合对应的计算结果;
[0064] 其中,"〈〈"表示右移," %"表示取余。
[0065] 结合第三方面的第一种可能的实现方式,在第三方面的第三种可能的实现方式 中,
[0066] 所述网络标识为24bits的精细标签FGL ;
[0067] 所述组播地址为D类IP地址Group Address ;
[0068] 所述网关总个数为整数k ;
[0069] 所述网络标识和组播地址组合对应的计算结果为m ;
[0070] 所述计算模块具体用于根据公式m = ((FGL〈〈k % 12 | FGL) % k+ (Group Address〈〈k% 32 |Group Address) % k) % k得到每一网络标识和组播地址组合对应的计算 结果;
[0071 ] 其中,"〈〈"表示右移," % "表示取余," I "表示或运算。
[0072] 结合第三方面的第二种可能的实现方式或第三方面的第三种可能的实现方式,在 第三方面的第四种可能的实现方式中,
[0073] 所述网关上预先配置的信息为所述网关的编号;所述编号是根据所述TRILL网络 中网关的TRILL协议系统标识system ID,将所述TRILL网络中的所有网关,以从0开始到 k_l的自然数数列进行排序得到的;
[0074] 相应的,所述发送模块,具体用于:
[0075] 若所述网关确定自身编号与一网络标识和组播地址组合对应的计算结果m相等, 则向所述TRILL网络中各个RB发送所述通告消息。
[0076] 结合第三方面至第三方面的第四种可能的实现方式中任意一种实现方式,在第三 方面的第五种可能的实现方式中,若所述网关确定所述网关上预先配置的信息与一个网络 标识和组播地址组合对应的计算结果相匹配,且所述网关不是TRILL分发树的树根,则所 述通告消息为包含所述相匹配的组合中的网络标识和组播地址的第一 LSP ;<
当前第1页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1