虚拟局域网标记网络内的组播优化.pdf

上传人:奻奴 文档编号:688565 上传时间:2018-03-05 格式:PDF 页数:35 大小:1.67MB
返回 下载 相关 举报
摘要
申请专利号:

CN200310123805.7

申请日:

2003.12.30

公开号:

CN1553664A

公开日:

2004.12.08

当前法律状态:

授权

有效性:

有权

法律详情:

授权|||实质审查的生效|||公开

IPC分类号:

H04L12/56; H04L12/28; H04L29/08

主分类号:

H04L12/56; H04L12/28; H04L29/08

申请人:

阿尔卡特公司;

发明人:

罗伯特·利昂·桑格罗尼兹; 杰里米·林恩·加尔夫; 马克·阿曼德·法恩; 杰弗里·格伦·托马斯

地址:

法国巴黎市

优先权:

2002.12.31 US 60/437,214

专利代理机构:

北京市金杜律师事务所

代理人:

张维

PDF下载: PDF下载
内容摘要

发明公开了一种在VLAN标记环境下优化组播业务的方法和设备。由VLAN间交换设备执行的该方法包括:在所述交换设备上配置的多个VLAN内的第一VLAN内接收一个组播信息流,和将该组播信息流内部地分配给在所述VLAN间交换设备上登记接收此组播信息流的基本上所有的组播组成员。根据本发明,仅在所述的一条或多条VLAN标记通信链路上传输组播信息流的单个拷贝,因而避免了当在多个VLAN内存在组播组成员时通常出现的一个或多个复制的组播信息流。

权利要求书

1: 一种在VLAN间交换设备内的组播优化方法,所述VLAN间 交换设备通过一个或多个组播组成员共享的一条或多条VLAN标记 通信链路操作地连接到在多个VLAN内配置的一个或多个组播组成 员,该方法包括步骤: (a)在多个VLAN中的第一VLAN内接收组播信息流;以及 (b)向在VLAN间交换设备上登记的接收此组播信息流的每个 组播组成员内部地分配此组播信息流; 其中一个或多个组播信息流的单个拷贝通过所述的一条或多条 VLAN标记通信链路传播。
2: 权利要求1的组播优化方法,其中将组播信息流内部地分配给 基本上所有的组播组成员的步骤包括步骤: (a)从第一VLAN将组播信息流内部地择路发送给每个VLAN, 在每个VLAN内存在登记接收此组播信息流的组播组成员;和 (b)将此组播信息流从每个VLAN交换给在VLAN间交换设备 上登记接收此组播信息流的基本上所有的组播组成员。
3: 权利要求2的组播优化方法,其中择路发送组播信息流的步骤 包括步骤:递增所述组播信息流的分组的使用期限计数器。
4: 权利要求1的组播优化方法,其中该方法还包括步骤:在VLAN 间交换设备上登记一个或多个组播组成员,每个登记构成一个对组 播信息流的预约。
5: 权利要求4的组播优化方法,其中在VLAN间交换设备上登 记一个或多个组播组成员的步骤包括步骤:在一个或多个VLAN/组 播组成员资格表内记录组播组成员的预约。
6: 权利要求5的组播优化方法,其中VLAN间交换设备的一个 或多个VLAN/组播组成员资格表使一个或多个组播组成员的组播地 址和IP地址相关。
7: 权利要求4的组播优化方法,其中该方法还包括步骤:在登记 步骤之前,接收来自所述的一个或多个组播组成员的一个组播申报 消息。
8: 权利要求7的组播优化方法,其中来自所述的多个组播组成员 的组播申报消息是一个IGMP成员资格报告消息。
9: 权利要求7的组播优化方法,其中该方法还包括步骤:仅将多 个组播申报消息中的第一个组播申报消息向上发送给一个根路由 器。
10: 权利要求4的组播优化方法,其中该方法还包括步骤:在 VLAN间交换设备上解除登记一个组播组成员,每个解除登记构成 对一个相关组播信息流的预约的撤销。
11: 权利要求10的组播优化方法,其中该方法还包括步骤:在解 除登记一个组播组成员之前,从一个或多个组播组成员接收一个解 除消息以撤销对相关组播信息流的预约。
12: 权利要求11的组播优化方法,其中所述解除消息是一个 IGMP解除消息。
13: 权利要求11的组播优化方法,其中该方法还包括步骤:仅将 多个解除消息中的最后一个解除消息转发给一个上游路由器。
14: 权利要求13的组播优化方法,其中多个解除消息中的最后一 个解除消息包括与第一组播申报消息相同的VLAN标识。
15: 一种适合于支持VLAN标记的VLAN间交换设备,该交换设 备操作地连接到第一VLAN内的第一组播组成员和第二VLAN内的 第二组播组成员,该VLAN间交换设备包括: (a)一个管理模块,包括一个或多个VLAN/组播组成员表,用 于登记来自多个组播组成员的组播组成员预约,所述多个组播组成 员包括第一组播组成员和第二组播组成员;和 (b)一个分组转发引擎,用于: (i)在多个VLAN中的每个VLAN内交换单播分组;和 (ii)根据一个或多个VLAN/组播组成员资格表的组播组成员资 格预约,在包括第一VLAN和第二VLAN的多个VLAN之间择路发 送一个或多个组播分组; 其中一个或多个组播分组的单个拷贝沿着至少一个共享VLAN 标记通信链路传播,所述的通信链路将该交换设备操作地连接到第 一组播组成员和第二组播组成员。
16: 权利要求15的VLAN间交换设备,其中用于择路发送组播 信息流的分组转发引擎适合于当在VLAN之间分配一个或多个组播 分组时递增一个或多个组播分组的使用期限计数器。
17: 权利要求15的VLAN间交换设备,其中管理模块适合于仅 将多个组播申报消息中的第一组播申报消息向上转发给一个根路由 器。
18: 权利要求17的VLAN间交换设备,其中多个组播申报消息 是IGMP成员资格报告消息。
19: 权利要求15的VLAN间交换设备,其中一个或多个VLAN/ 组播组成员资格表使一个或多个组播组成员的组播地址与IP地址相 关。
20: 一种分组网络的组播优化方法,所述分组网络包括通过多条 链路互连的多个节点和一个组播组,其中该组播组包括属于第一 VLAN的第一节点和属于第二VLAN的第二节点,其中第一VLAN 和第二VLAN不同,该方法包括步骤: (a)在第三节点上接收目标为组播组的一个分组; (b)在第一路径上将该分组从第三节点发送给第一节点;和 (c)在第二路径上将该分组从第三节点发送给第二节点; 其中第一路径和第二路径包括支持第一VLAN和第二VLAN的 一条公用VLAN标记链路,并且其中该分组在所述公用VLAN标记 链路上传输一次。

说明书


虚拟局域网标记网络内的组播优化

    相关申请

    本申请要求于2002年12月31提交的美国临时申请60/437,214的利益,为了各种目的将其内容在此引用作为参考。

    【技术领域】

    本发明一般地涉及一种在网络内分配组播数据流的系统和处理方法。具体而言,本发明涉及一种在局域网内将组播信息流有效地更直接地分配给组播组员的新的交换设备和方法,例如,在不将组播信息流转发给根路由器的情况下,从而避免了组播信息流在同一条802.1Q链路上传输多次。

    背景技术

    组播用于避免在网络内不必要的分组复制。然而,当在带有虚拟局域网(VLAN)标记的环境下使用时,组播的优点不复存在。VLAN标记,包括802.1Q VLAN标记,在当前的网络内逐渐地被广泛使用,尤其是大型的校园网结构和跨越多个地理区域的VLAN。在这些环境下,交换机和组合交换机/路由器经常被配置来支持与不同VLAN相连的多个主计算机。使用VLAN标记,可以在不降低单独的各个VLAN的完整性的情况下,使用由多个VLAN共享地单条通信链路。因此,组播信息流可能在同一条VLAN标记链路上多次传输,因此耗费了系统资源和带宽。

    可以在如图1所示的包括多个VLAN的网络内说明在VLAN标记链路上组播的缺点。网络100包括一个路由器102,它分别通过通信链路114、115和116操作地连接到多台交换机104、105和106。与每台交换机相连的是一个或多个主计算机,包括分别操作地连接到第一交换机104、第二交换机105和第三交换机106的主机H1 120至H2 122、主机H3 123至H4 124和H5 125至H6 126。交换机104-106最好被配置来支持可能属于一个或多个VLAN,包括VLAN-A和VLAN-B,的主计算机,如用括号内的参考字符表示的。第一交换机104例如可以支持VLAN-A上的主机H1 120和VLAN-B上的主机H2 122。使用诸如802.1Q的VLAN标记协议来配置路由器102和交换机104-106,因此允许在不降低VLAN完整性的情况下,允许每条中继链路114、115和116传输与VLAN-A和VLAN-B有关的帧。

    根据IP组播,网络100的每个节点最好支持组播帧。路由器102最好保存一个组播成员资格表,该路由器使用它跟踪各个组播组标识、生成组播信息流的一个或多个节点的IP源地址和已请求接收组播信息流的一个或多个主计算机的位置或标识。因而,该VLAN的成员是各个组播信息流的组播信源和接收者。

    当前的分配VLAN A的客户机H1生成的组播信息流的方法是通过交换机104将该组播信息流交换给路由器102。路由器102保存组播组信息,其中最好包括一个和多个流的组播地址和每个流的IP源地址。当客户计算机请求接收组播信息流时,从路由器102通过一台或多台计算机将该信息流转发给请求的客户计算机。例如,如果客户机是VLAN B的客户计算机H4,在交换给客户机H4之前,带有VLAN B标记的信息流通过中继线115发送给交换机105。另外,如果VLAN A的客户机H3也请求接收同一组播信息流,带有VLANA标记的该信息流的另一个拷贝也通过中继线115发送给交换机105。因此,从客户机H1到客户机H3和H4的组播信息流的传播路径需要通过交换机104、中继线114、路由器102、两次通过中继线115和两次经交换机105传输。因而,从客户机H1到客户机H3和H4的整条路径不必要地使用了中继线115上的带宽。

    因此,需要一种克服在VLAN标记环境下与组播信息流有关的带宽浪费和时延增加的系统和方法。

    【发明内容】

    本发明的优选实施例的特征在于一种组播优化方法,包括步骤:从VLAN间交换设备支持的多个VLAN中的第一VLAN接收一个组播信息流;向登记接收此组播信息流的多个VLAN内的每个VLAN内的基本上所有的组播组成员分配此组播信息流。使用本发明,仅组播信息流的单个拷贝需要在一条VLAN标记通信链路上传输,因此不再需要通过所述链路向多个VLAN内的组播组成员传播复制的组播信息流。在VLAN标记链路上传输之前在交换设备上删除和丢弃复制的组播分组,与服务器或用户的VLAN无关。因此,本发明降低了在各个节点和中继线上的负载。

    所述的将组播信息流分配给基本上所有的组播组成员的步骤包括步骤:从第一VLAN即接收此组播信息流的VLAN将该组播信息流内部择路发送给其中存在登记接收此组播信息流的组播组成员的每个VLAN,随后在此组播信息流出现的每个VLAN内,包括此信息流择路发送到的那些VLAN,将该组播信息流交换给基本上所有的登记接收该组播信息流的组播组成员。在VLAN之间内部地择路发送组播信息流的步骤还可以包括常规的第三层路由选择操作,其中包括递增组播信息流分组的使用期限(time-to-live)计数器的步骤。

    为了接收一个组播信息流,该优选实施例中的组播组成员使用诸如互联网组成员资格协议(IGMP)的成员资格报告消息的组播申报(declaration)消息来登记预约此组播信息流。最好由VLAN间交换设备将这些登记记录在一个或多个VLAN/组播组成员资格表内,该表格通常包括预约此组播信息流的一个或多个组播组成员的组播地址和网际协议(IP)地址,或者使两者相关。

    在该优选实施例中,使用VLAN间交换设备所接收的所有的组播申报消息来登记发出申报消息的组成员,或者更新一个或多个VLAN/组播组成员资格表。然而,与现有技术不同,VLAN间交换设备最好适合于仅转发一系列组播申报消息中的第一个消息,而不取决于接收此组播申报消息的VLAN。通过扣留复制的组播申报消息,优选实施例的VLAN间交换设备防止复制的组播信息流在包括802.1Q通信链路的VLAN标记通信链路上的传播。

    当一个登记过的组播组成员需要解除登记它的预约时,该客户机发送一个解除消息以撤销对有关组播信息流的预约。一旦接收到一个或多个解除消息中的每个解除消息,最好是一个IGMP解除消息,VLAN间交换设备删除在VLAN/组播组成员资格表内的相应实体。在最后一个解除消息的情况下,即最后一个登记的组播组成员的解除消息,该交换设备还将该解除消息转发给上游路由器,以便该上游路由器可以断开此组播信息流到VLAN间交换设备的传输。为了保持申报和解除消息之间的对称性,最后一个解除消息最好包括与从VLAN间交换设备转发给上游路由器的第一个申报消息中使用VLAN标识相同的VLAN标识,而与最后一个组播成员有关的实际VLAN无关。

    在另外一个优选实施例中,该组播优化方法包括一种登记处理方法和一种组播信息流处理方法。所述登记处理方法包括步骤:接收指定第一组播组标识的多个组播申报消息,该组播申报消息从与多个VLAN有关的组播组成员发出;登记发出组播申报消息的多个组播组成员中的每个成员;和仅将多个组播申报消息中的第一个组播申报消息转发给一个上游路由器。该组播信息流处理方法包括步骤:从与多个VLAN中的第一个VLAN有关的组播组成员接收一个包含所述第一组播组标识的组播流;将此组播信息流交换给登记接收此组播信息流的与第一VLAN有关的零个或多个组播组成员中的基本上所有的组播组成员;和将此组播信息流分配给与第一VLAN之外的一个或多个VLAN有关的零个或多个组播组成员中的基本上所有的组播组成员。这样,在所述的一条或多条VLAN标记链路上传播的复制组播信息流数量是最小的。

    将组播信息流分配给基本上所有的零个或多个组播组成员的所述步骤最好包括步骤:将组播信息流从第一VLAN择路发送给与零个或多个组播组成员有关的第一VLAN之外的一个或多个VLAN中的每个VLAN,并将来自VLAN间交换设备的组播信息流交换给与第一VLAN之外的一个或多个VLAN有关的基本上所有的零个或多个组播组成员。

    该组播优化方法还可以包括步骤:在不执行任何其它的OSI第三层路由选择程序的情况下,将在VLAN间交换设备上接收到的基本上所有的单播分组交换给在各个单播分组内指定的每个节点。

    在另外一种优选实施例中,VLAN间交换设备包括:一个管理模块,其中包括用于登记组播组成员资格预约的一个或多个VLAN/组播组成员资格表;和一个分组转发引擎,用于在多个VLAN中的每个VLAN内交换单播分组,和根据一个或多个VLAN/组播组成员资格表的组播组成员资格预约来在多个VLAN之间择路发送一个或多个组播分组。这样,在VLAN标记通信链路上的一个或多个复制组播分组的传输是最小的。

    【附图说明】

    图1是根据本发明优选实施例的可以实现本发明的一个VLAN标记网络的拓扑结构;

    图2是根据本发明优选实施例的可以实现本发明的一个VLAN标记网络的拓扑结构;

    图3A是根据本发明优选实施例的VLAN间交换设备处理两个或多个VLAN的客户机的组播申报消息的方法的流程图;

    图3B是根据本发明优选实施例的在一个系统内的信令和数据流的流程,在该系统内从VLAN内接收到第一成员资格报告消息和从VLAN之外接收到第二成员资格报告消息;

    图3C是根据本发明优选实施例的在一个系统内的信令和数据流的流程,在该系统内从VLAN之外接收到第一成员资格报告消息和从VLAN内接收到第二成员资格报告消息;

    图4A是根据本发明优选实施例的在VLAN间交换设备内处理组播信息流的方法的流程图;

    图4B是根据本发明优选实施例的将组播信息流分配给两个或多个VLAN内的客户机的方法的流程图;

    图4C图示根据本发明优选实施例的在一个系统内的信令和数据流的流程,在该系统内来自特定VLAN的成员资格报告消息先于由一个不同的VLAN生成的组播信息流;

    图5A是根据本发明优选实施例的两个或多个VLAN解除对一个组播信息流的登记的方法的流程图;

    图5B图示在一个系统内的信令和数据流的流程,在该系统内来自VLAN之外的第一解除消息先于来自VLAN内的第二解除消息;

    图6是根据本发明优选实施例的VLAN间交换设备的功能方框图。

    【具体实施方式】

    参见图2,图示了可以实现优选实施例的一种VLAN标记网络的拓扑结构。子网200包括多个VLAN间交换设备(CSVD),其中包括第一CSVD 202、第二CVSD 204和第三CVSD 206。CVSD 202、204和206执行VLAN内和VLAN之间的组播信令和业务控制。可以在支持802.1Q的开放系统互连(OSI)的第二层交换机、OSI的第三层路由器或者同时执行VLAN内的OSI第二层交换和在该设备上配置的多个VLAN之间的OSI第三层路由选择的调制解调器企业/LAN交换机内实现CVSD 202、204和206。在优选实施例中,第一CVSD 202是一个ALN交换机,它包括用于执行在其上配置的VLAN之间的传统单播路由选择操作的路由器203。第二CVSD 204和第三CVSD 206最好支持在其上配置的VLAN内的常规单播交换操作。

    第一CVSD 202和第二CVSD 204通过通信链路216操作地相互连接,而第二CVSD 204和第三CVSD 206通过通信链路218操作地连接。在这个实施例中的通信链路216和218使用诸如双绞线对、光纤、射频或红外线链路的有线或无线通信介质为多个VLAN传输信令和数据。

    与每个CVSD 202、204和206相连的是一个或多个主机或站,它们可以包括一个或多个组播组成员。在这个实施例中,第二CVSD204连接到生成一个组播信号流的组播服务器210,第三CVSD 206连接到预约服务器210所生成的组播信息流的多个客户机212和214。组播服务器210和组播客户机212、214构成一个组播组,用通常由在组播组设备之一上运行的高层协议或应用程序分配的一个组播地址来标识所述组播组。该组播信息流又包括一个或多个组播分组。

    在这个实施例中,图2中的每个站是诸如VLAN-A和VLAN-B的一个或多个VLAN的一个成员。具体而言,服务器210和第一客户机212是VLAN-A的成员,而第二客户机214是VLAN-B的成员。在这个例子中,服务器210、第一客户机212和第二客户机214是一个普通组播组的所有成员,因此除了常规的单播业务之外还交换组播业务或组播信息流。

    为了使用通信链路216和218支持多个VLAN,该优选实施例中的每个CVSD 202、204和206最好是VLAN标记的。这样,通常标记通过通信链路216和218传输的业务,从而区分与VLAN有关的业务。在优选实施例中,IEEE 802.1Q规定的VLAN标记协议使用VLAN标识符(VID)来跟踪节点之间的VLAN成员资格信息。

    在现有技术中,交换机和交换路由器、单播和组播业务严格地限制于一台交换机内的特定VLAN,即使该交换机连接到在一个与组播业务不同的VLAN内出现的组播组成员。因此,在将组播信息流从一个VLAN传送给另一个VLAN之前,必须将所有的组播业务转发给一个开放系统互连(OSI)第三层路由设备。

    与现有技术不同,本实施例中的组播业务可以在不通过OSI第三层路由设备传播的情况下,在一个CVSD上从一个VLAN传送到另一个VLAN。允许组播业务在CVSD上穿越VLAN边界,通过防止组播业务向上传输给生成树根部上的路由器,然后再往回向下通过同一VLAN标记通信链路传播,降低了对系统资源的需要。在该优选实施例中,保持了每个VLAN内单播业务的隔离。

    在一些实施例中使用一个或多个VLAN/组播组成员资格(VMGM)表可以实现一个CVSD的新的功能。VMGM表最好为CVSD上的每个支持802.1Q的端口保存每个组播流的组播地址和IP源地址的记录。该组播流与由相应交换机支持的一个或多个VLAN的相关VLAN标识是相互对应的。VMGM表最好还保存一个组播预约信息的记录,一旦接收到用于向CVSD通知组播流登记请求的申报消息时就更新此记录。在优选实施例中,第二CVSD 204和第三CVSD 206分别包括一个VMGM表。在其它的一些实施例中,第一交换设备202也可以包括一个VMGM表,尽管因为已经执行VLAN内组播交换的路由器203的存在,它不是必需的。在路由器203内,VMGM表最好扩充或替换一个或多个现有的表格,路由器203使用这些表格来跟踪各个组播组标识、组播流信源的标识和一个或多个组播流接收者的标识。

    尽管优选实施例的VMGM表代表一个记录,但是本领域的技术人员将理解使用多个独立的VMGM表格也可以实现相同的结果,所述多个表格用于在此交换设备上配置的每个VLAN,为了在其中支持的VLAN之间分配组播业务,查询每个表格。

    图3A所示的是一个方法流程图,CVSD使用该方法来处理两个或多个VLAN的客户机的组播信息流预约请求。

    为了预约一个组播信息流,一个客户机生成一个请求接收组播信息流的组播申报消息。在该优选实施例中,组播申报消息是一个IGMP成员资格报告消息,其中包括生成该成员资格报告消息的客户机的特定VLAN标识。最好在与客户机相关的特定VLAN内的路由器203的指示下发送所述组播申报消息。

    一旦在接收步骤302中接收到IGMP成员资格报告消息,如更新步骤306中所示的,CVSD通过记录用组播地址标识的客户机对组播信息流的预约来更新它的VMGM表。记录该客户机的IP地址和与该客户机有关的VLAN编号。在一些实施例中,VMGM还包括一个优先级标记,用于标识该客户机的申报是否是在CVSD上接收到的第一个申报。该优先级标记可以采用双态开或关的一个比特的形式,或者一个可以区别多个预约请求的时间标志。

    接着,CVSD查询一个或多个VMGM表以确定该组播信息流是否可用于分配给该请求节点。CVSD首先在同一VLAN内测试组播信息流的存在,如用VLAN内的测试步骤308所示的。如果组播信息流在接收到成员资格报告消息的同一VLAN内存在,则VLAN内的测试步骤308的结果为是,并将该组播信息流转发给所述请求设备,如在MS交换步骤310中所示的。如果在生成组播信息流的VLAN内的交换机206上不存在该组播信息流,则VLAN内的测试步骤308的结果为否。

    如果组播信息流在VLAN内不存在,则如VLAN间的测试步骤312所示,该CVSD测试该组播信息流在该CVSD所配置的其余任一个VLAN内的存在。在优选实施例中,VLAN间的测试步骤312检查该组播信息流在第三CVSD 206所支持的除了请求客户机的VLAN之外的所有VLAN内的存在。如果CVSD确定该组播信息流在另一个VLAN内存在,则VLAN间的测试步骤312的结果为是,将该组播信息流从发现它的VLAN发送到请求它的VLAN。如MS路由选择步骤314中所示,例如,可以将与VLAN-B有关或者在其中存在的一个组播信息流从VLAN-B择路发送到VLAN-A,然后再交换给VLAN-A内的预约客户机,如交换步骤316所示。

    在优选实施例中,MS路由选择步骤314包括一个或多个常规的路由选择程序,例如,其中包括递增使用期限指示器。当然,本领域的技术人员将理解可以内部地将组播信息流从一个VLAN交换给一个不同VLAN内的请求客户机,而不需要通常与一个路由选择协议有关的任何处理。

    作为一个普通规则,CVSD将组播申报消息向上转发给路由器,除非存在在CVSD上登记的对该信息流的在先预约。通常放弃在任一个VLAN内生成的随后的组播申报消息,以防止通过同一VLAN标记通信链路传送复制的组播信息流。

    如在先预约测试317所示的,在任一个VLAN内对同一组播信息流的在先登记预约的存在将导致放弃来自客户机的IGMP成员资格报告消息。在同一VLAN内的在先预约请求的情况下,没有必要将一个成员资格报告消息转发给根路由器。根据该优选实施例,在客户机的VLAN外部的在先预约请求的情况下,因为组播信息流,当被另一个VLAN内的CVSD接收时,将被从另一个VLAN择路发送到登记预约的客户机的VLAN,所以也没有必要将一个成员资格报告消息转发给根路由器。

    在CVSD上不存在组播信息流的任何在先预约的情况下,在先预约测试317的结果为否,在一个或多个上游路由设备的指示下,如果可应用的话,将该IGMP成员资格报告消息转发给下一个交换设备。在随后的交换机内重复将成员资格报告转发给下一个上游交换设备的处理过程,直到该成员资格报告抵达一个或多个路由设备中的每个路由设备。尽管常规的交换机通常不能执行VLAN间的测试,并转发组播信息流,如步骤312至316所示的,但是因为避免了在支持802.1Q的通信链路内以不同VLAN为目标的组播业务的复制,在本发明中依然能够实现带宽的有效使用。在到达上游路由器的路径中的任意一个交换设备将被视为一个路由器,因为CVSD并不区分交换机和路由器。

    在图3A中使用的VLAN的参考例子仅用于说明性的目的。通常,第一VLAN的参考例子将代表在一个给定的VLAN内出现的操作,在接收步骤302中从该给定的VLAN接收到成员资格报告消息。该成员资格报告处理方法300同样可以应用于优选实施例的包括VLAN-A和VLAN-B的CVSD所支持的每个VLAN。本领域的技术人员将理解在该优选实施例中存在的CVSD支持多个VLAN,通常由图3A的方法300控制每个VLAN。

    根据优选实施例,在图3B和图3C中图示了图3A的成员资格报告处理方法300的应用。具体而言,图3B的信令和数据流图示来自生成组播信息流的VLAN内部和外部的消息。来自同一VLAN即第一VLAN的成员资格报告消息先于来自该VLAN外部的第二成员资格报告消息。

    在这个实施例中,在服务器210上生成一个已经存在的组播信息流330,并转发给相邻的交换设备即第二CVSD 204。如用包含(A)的括号所表示的,由运行VLAN-A内的服务器210的高层协议或应用程序生成组播信息流330。可以在服务器210上初始化组播信息流330,或者响应于网络200上的另一个用户(未图示)提供组播信息流330。根据生成树协议,通常将组播信息流332转发给包括路由器203的一个或多个上游路由器。在不存在任何登记过的预约的情况下,如步骤362所示的,在路由器203中丢弃或放弃组播信息流332。

    为了说明性的目的,假设VLAN-A内的一个客户机随后生成一个成员资格报告消息334,如用MR(A)所表示的。例如将第一客户机212生成的成员资格报告消息334转发给第三CVSD 206。一旦接收到,第三CVSD 206查询它的VMGM表以确定在同一VLAN内是否存在所请求的组播信息流,步骤308,然后是在另一个VLAN-B内,步骤312。因为该组播信息流在第三CVSD 206上不存在,所以CVSD 206确定是否向上转发该成员资格报告消息。

    通常,仅当成员资格报告消息是所接收的用于此组播信息流的第一个成员资格报告消息时,第三CVSD 206才向上转发该消息。在本例子中,第三CVSD 206查询它的VNGN表,并确定客户机212是VLAN-A或VLAN-B内发出这样一个请求的第一个客户机。因此,将这个IGMP成员资格报告消息336向上转发给第二CVSD 204。与前面相同,在步骤366查询第二交换设备204内的VMGM表以确定是否存在所请求的组播信息流。检测到存在组播信息流330的第二CVSD 204生成将发送回第一客户机212的组播信息流342和344。注意到作为在第二CVSD 204上接收到的第一个成员资格报告消息,将IGMP成员资格报告消息336以组播报告338的形式转发给路由器203。路由器203在步骤368中在本地的组播组成员资格表内登记该成员资格报告消息338。

    继续上面的例子,如果在来自第一客户机212的初始IGMP成员资格报告消息334传播到路由器203之后,VLAN-B内的第二客户机214请求相同的组播信息流,则将组播信息流申报,最好是一个IGMP成员资格报告消息346,发送给上游路由器203,并由第三CVSD 346接收。根据图3A的VLAN内的测试步骤308,CVSD 206查询它的VMGM表以确定该组播信息流在该VLAN即VLAN-B内是否存在。因为由VLAN-A内的服务器210生成该组播信息流342,所以VLAN内的测试步骤308的结果为否。然后,第三CVSD 206查询VMGM表以确定在VLAN-B之外的任一个其它的VLAN即VLAN-A内是否存在组播信息流。当在VLAN间的测试步骤312中检测到已经存在的组播信息流342的存在时,第三CVSD 206最好将该组播信息流342从VLAN-A择路发送到VLAN-B,如图3B中的步骤376和图3A中路由选择步骤314所示的。一旦在VLAN-B内,将该组播信息流352直接发送给第二客户机214。

    在该优选实施例中,在VLAN之间择路发送组播信息流的步骤314包括常规的路由选择操作,其中包括递增使用期限指示器的步骤。然而,本领域的技术人员将理解在没有这种处理的情况下也可以将VLAN-A内的组播信息流342内部地交换给VLAN-B。如本领域的技术人员将理解的,本发明的该实施例避免了将IGMP成员资格报告消息346转发给路由器203。更重要的是,它还避免了从路由器203通过第一通信链路216和第二通信链路218的第二组播信息流,这将不必要地加倍在这些链路上的业务量。

    参考图3C,图示在一个系统内的信令和数据流的流程图,在该系统内来自VLAN外部的用于一个组播信息流的第一成员资格报告消息先于来自VLAN内部的第二成员资格报告消息。如上所述,将由VLAN-A内的高层协议或应用程序生成的组播信息流330转发给第二交换设备204。然后,交换设备204将该组播信息流332转发给上游路由器202,其中在不存在任何已登记的预约记录时丢失所述组播信息流。

    为了说明性的目的,假设在组播信息流330之后,由与组播信息流330有关的VLAN外部的一个客户机生成第一个组播信息流请求消息。由VLAN-B内的第二客户机214生成该请求,最好以IGMP成员资格报告消息380的形式。将该成员资格报告消息380转发给第三CVSD 206,由它首先在VLAN-B内然后在VLAN-A内在VMGM表中查询在先预约。在不存在组播信息流330的在先预约的情况下,将标记VLAN-B的成员资格报告消息382转发给路由器203到第二CVSD 204。一旦接收到,第二CVSD 204查询它的VNGN表以测试组播信息流330在VLAN-B内的存在。尽管在VLAN-B内的组播信息流的测试失败,但是VLAN-A内的测试表明存在组播信息流330。如VLAN内的测试步骤312所规定的,根据路由选择步骤314,第二CVSD 204最好接着将组播信息流330从VLAN-A择路发送到VLAN-B。然后将标记VLAN-B的组播信息流386交换给第三CVSD206,再到第二客户机215,如用组播信息流388所示的。

    继续上面的例子,在成员资格报告消息380之后,VLAN-A内的一个客户机发出了另一个组播信息流请求。在这里,第一客户机212生成该请求,最好是一个IGMP成员资格报告消息390,并转发给第三CVSD 206。当第三CVSD 206查询它的VMGM表时,尽管原先在VLAN-A内生成的事实,但是并未检测到组播信息流330的存在。相反地,当第三CVSD在它的VMGM表内查询在发出请求的VLAN之外的一个VLAN内的信息流时,检测到VLAN-B内的组播信息流386。具体而言,第三CVSD 206在VLAN间的测试步骤312中规定的测试VLAN-B内的信息流期间识别出组播信息流386。作为响应,最好根据路由选择步骤314将组播信息流386从VLAN-B择路发送给VLAN-A,并将所获得的组播信息流392转发给第一客户机212。如前所述,本发明的该实施例避免了将IGMP成员资格报告消息转发给路由器203。并且,也避免了将第二组播信息流从路由器203通过第一通信链路216和第二通信链路218传输,这将没有必要地使这些链路上的业务量加倍。

    参见图4A,图示在CVSD内处理一个组播信息流的方法的流程图。该组播信息流通常在服务器上由高层协议或应用程序生成,发送给上游的路由设备,并由相邻的CVSD接收,如用接收步骤402所示的。相邻的CVSD又将此组播信息流转发给上游路由器,如在转发步骤404中所示的。一旦在相邻的CVSD和任何其它的中间CVSD上接收到,CVSD查询它的VMGM表以测试任何在先的未解决的组播信息流请求的存在。CVSD首先测试在接收到该请求的同一VLAN即第一VLAN内的信息流,如用VLAN内的测试步骤406所示的。响应于在VMGM表内的一个已登记的请求,CVSD使该组播信息流交换给所述请求客户机,如在交换步骤408中所示的。

    CVSD还测试在配置该CVSD的任何其它VLAN即与请求客户机相关的VLAN之外的那些VLAN内的未解决的组播信息流请求。响应于在一个外部VLAN内的未解决的请求,VLAN间的测试步骤410的结果为是,CVSD最好将在第一VLAN内出现的组播信息流择路发送给合适的外部VLAN,如路由选择步骤412所示的。一旦在合适的VLAN内,就将该组播信息流交换给请求该信息流的一个或多个客户机,如在交换步骤414中所示的。在组播信息流的信源和根路由器之间的每个CVSD上重复测试未解决的组播信息流预约的处理过程。在此数据路径中的每个CVSD最好执行图4A的组播信息流处理方法。本领域的技术人员将理解图4A的方法适用于一个带有多个VLAN的CVSD,每个VLAN通常由优选实施例中的图4A的方法来控制。

    参见图4B,图示在从第一VLAN进入一个或多个外部VLAN之后分配组播信息流的方法的流程图。具体而言,图4B的流程图图示在如图4A的交换步骤414所述的在VLAN之间择路发送一个组播信息流之后,用于将该组播信息流传送给VLAN内的客户机以及该VLAN之外的客户机的步骤。在一个或多个客户机的上游生成组播信息流的情况下,图4B的组播信息流交换处理通常出现在下行方向上。

    通常在将组播信息流从第一VLAN择路发送给CVSD支持的一个外部VLAN之后调用图4B中的组播信息流交换处理。一旦在VLAN内接收到,在步骤480将该组播信息流交换给在VMGM表内登记的该VLAN内的每个用户。所述用户可以包括直接连接该CVSD的客户机,或者是通过一个或多个中间交换设备间接连接到该CVSD的客户机。在中间CVSD的情况下,CVSD应当测试在下行方向上传播组播信息流的VLAN之外的VLAN内的已登记用户的存在。这在优选实施例中是必需的,以便接纳仅由这个CVSD接收到其成员资格报告消息的用户。如上面所解释的,这样一个用户可能出现在与组播信息流所处节点的VLAN不同的一个VLAN上。

    如果组播信息流所分配到的节点是一个常规交换机,即不是一个CVSD,则CVSD测试步骤482的结果为否,该处理沿着路径490继续处理。然而,如果所述节点是一个在此所述的CVSD,则CVSD测试步骤482的结果为是,该方法沿着路径494继续处理。在测试步骤485中,该CVSD查询它的VMGM表以识别出在该VLAN之外的,即除了接收到该组播信息流所处节点的VLAN之外的其它VLAN内的任何已登记用户的存在。

    在该优选实施例中,VLAN-B是在VLAN-A内接收到的组播信息流的唯一外部VLAN,反之亦然。如果在其它的一个或多个VLAN内存在一个对组播信息流的未解决的预约,则外部VLAN预约测试步骤486为是,并将该组播信息流从当前的VLAN择路发送给登记预约的VLAN,如路由选择步骤488所示的。本领域的技术人员将理解在本发明的一些实施例中,为了检测由于一个在先登记的请求导致其成员资格报告消息在CVSD内终止的其它组播组成员的存在,步骤485中的测试是必需的。参见下面对图4C的步骤476的解释。

    一旦在路由选择步骤488中择路发送到外部VLAN,则将该组播信息流交换给已经预约此信息流的一个或多个客户机,如在交换步骤489中所示的。本实施例的系统沿着路径496继续处理,从而以如上所述的方式使组播信息流在其它的一个或多个VLAN内交换。

    如果特定的设备不是在此所使用的CVSD,将导致在CVSD测试步骤482中的结果为否,该组播信息流交换处理前进到交换设备测试步骤484。如果所测试的特定设备例如是一个边沿交换机,则交换设备测试步骤484的结果为否,该处理结束与组播信息流分配信道有关的处理。然而,如果在当前的交换设备和用户客户机之间存在一个或多个附加设备,则交换设备测试步骤484的结果为是,该系统前进到返回路径492,导致组播信息流沿着用户客户机的方向传输。

    在图4C中图示了根据优选实施例的图4A的组播信息流处理方法400的应用程序。具体而言,图4C图示了当来自一个VLAN内的成员资格报告消息先于来自一个不同的VLAN由一台服务器生成的组播信息流之前时在网络200内的信令和数据流的流程图。

    在图4C中首先图示的是由一台客户机,例如VLAN-A内的第一客户机212,生成的一个组播信息流请求。将该请求,最好是一个IGMP成员资格报告消息430,转发给第三CVSD 206,由其在它的VMGM表内登记该预约。当在CVSD 206上在VLAN-A或VLAN-B内不存在在先预约的情况下,将成员资格报告消息432转发给第二CVSD 204,它又将成员资格报告消息434转发给路由器203。在每个节点上,最好作为VLAN编号的函数,在可使用的VMGM表内记录对该组播信息流的预约。

    接着图示的是由VLAN-A之外的一台客户机随后生成的一个组播信息流请求。该请求,最好是一个IGMP成员资格报告消息436,由VLAN-B内的第二客户机214生成。与图4A相同,将该成员资格报告消息436转发给第三CVSD 206,并在其VMGM表内登记该预约。根据图3A的更新步骤303,第三CVSD 206更新它的VMGM表以登记此预约,测试该组播信息流在该VLAN 308和在外部VLAN312内的存在,然后向VMGM表查询对同一组播信息流317的在先预约。尽管在VLAN-B内不存在预约,但是检测到第一客户机212在VLAN-A内的在先预约。与图3A的在先预约测试步骤317相同,VLAN-A内在先预约的存在避免了进一步发送成员资格报告消息436。因此,成员资格报告消息436在第三CVSD 206上终止,从而避免了向上游转发不必要的请求,同时避免了在路由器203和第三CVSD 206间传送多余的组播信息流。

    当在随后的某个时间上生成第一客户机212和第二客户机214所请求的组播信息流442时,通常将该信息流转发给上游路由器,并由第二CVSD 204接收,如用转发步骤404所示的。如用VLAN内的测试步骤406所示的,第二CVSD 204测试在同一VLAN即VLAN-A内的任何未解决的对组播信息流442的请求。在这个例子中,与步骤408相同,检测到来自第一客户机212的预约,使组播信息流446向下转发到VLAN-A内。

    一旦在第三CVSD 206上接收到组播信息流446,根据图4A的交换步骤408,检测到在VLAN-A内对第一客户机212的预约,并将组播信息流448交换给该客户机。当检测到在外部VLAN-B内的第二客户机214的预约时,根据图4A的路由选择步骤412和交换步骤414,生成组播信息流450,最好从VLAN-A择路发送给VLAN-B,并交换给第二客户机214。

    如上所述,本发明的实施例避免了路由器203将组播信息流同时传送给VLAN-A内的第一客户机212和VLAN-B内的第二客户机450,从而将与这个组播信息流有关的通过第一通信链路216和第二通信链路218的业务量降低到二分之一。

    参见图5A图示两个或多个VLAN解除登记一个组播信息流的方法的流程图。通常,响应于一个组播信息流解除消息而终止预约。尽管在预定时间周期之后申报到期之时,一个预约通常可以过期,但CVSD对一个过期预约的处理通常与一个解除消息相同。在优选实施例中,如在解除生成步骤502中所示的,组播信息流解除消息是由在第一VLAN内具有一个对组播流有效预约的客户机生成的IGMP解除消息,如在解除生成步骤502中所示的。在被转发给路由器之后,该解除消息最好在接收步骤504中由边沿交换机接收。

    一旦接收到一个解除消息,如在预约删除步骤506中所规定的,从VMGM表中删除对该组播的客户机预约。如在预约测试步骤508中所示的,如果在交换设备的VMGM表内依然存在对该组播信息流的其它预约,则该处理过程结束。如果在VMGM表内存在一个或多个其它的预约,则该预约测试步骤508的结果为是,导致解除登记处理500结束。不需要发送一个解除消息,因为必需保留该组播信息流,并继续发送以服务于在VMGM表内列出的现有组员。

    如果在VMGM表内不存在其它的预约,则预约测试步骤508的结果为否,并将解除消息向上转发给路由器。如步骤512所示的,在该优选实施例中由CVSD发送的解除消息标记有与原先的成员资格报告消息有关的VLAN标识符。原先的成员资格报告消息所代表的是在特定CVSD上接收到的一系列成员资格报告消息。原先的成员资格报告消息可以是第一客户机的VLAN或者该CVSD所支持的任意一个外部VLAN的一个成员。

    在上游路由器之前不存在任何中间交换机或交换设备的情况下,判决块514的结果为否,并如步骤518所示,将该解除消息转发给路由器。然而,如果在到上游路由器的路径上存在一个或多个交换机或其它的网络设备,则如用返回路径520所示的,重复在步骤504-512中的删除预约和有条件地转发解除消息的步骤。

    本领域的技术人员将理解向每个交换机始发的第一个成员资格报告消息可能是不同的,因此,VLAN的标识符没有必要是相同的。例如,向一个上游交换设备始发的成员资格报告消息可能先于例如在一个下游交换设备上从一个不同的网络分支接收到的一个始发的成员资格报告消息。

    图5B是在一个系统内的信令和数据流的流程图,在该系统内,来自该VLAN外部的第一个组播信息流解除消息先于来自该VLAN内部的第二个组播信息流解除消息。在这个例子中,存在一个已有的组播信息流,从服务器210至第二CVSD 204的第一片段530,从第二CVSD 204向上传输到路由器203的VLAN-A内的第二片段532,以及一个在VLAN-A内向下发送给第三CVSD 206的组播信息流534。如图所示,该信息流在步骤544分叉成在VLAN-A内的组播信息流536和在外部VLAN即VLAN-B的组播信息流538。

    从VLAN-B内的第二客户机发送一个组播信息流终止消息,在该优选实施例中具体是一个IGMP解除消息550。一旦在第三CVSD206上接收到,从VMGM表中删除该预约,并查询该表格以确定是否存在其它的预约。任何其它的预约将提供继续接收该组播流的依据。在此,VLAN-A内的组播信息流536和组播信息流538的同时存在必然意味着将存在至少一个对组播信息流534的其它预约。根据图5A的判决块508,解除消息550在第三CVSD 206上结束,并不转发给上游路由器203。尽管删除了到第二客户机214的组播信息流预约有效地结束了组播信息流538,但是到第一客户机212的组播信息流536在没有中断的情况下继续。

    在随后的某个时间上,例如,第一客户机212生成一个组播信息流终止消息,最好是在VLAN-A内的一个IGMP解除消息552。作为响应,根据步骤506,第三CVSD 206通过从VMGM表中删除预约再次解除登记该客户机,这有效地结束了信息流536。如步骤507所规定的,第三交换设备206还查询VMGM表,在此它确定到第一客户机212的预约是最后一个预约。因此,第三CVSD 206将该解除消息554转发给下一个上游设备即第二CVSD 204。如步骤512所规定的,发送带有始发成员资格报告消息的VLAN标记的解除消息554,所述VLAN可以是VLAN-A或VLAN-B。

    一旦接收到解除消息554,第二CVSD 204删除预约,并且该组播信息流534结束。而且,第二CVSD 204查询它的VMGM表以确定到第一客户机212的预约是最后一个预约。如判决块508所规定的,将一个带有始发成员资格报告消息的VLAN标识符的解除消息556转发给路由器203,并在其中解除登记该预约。注意到解除登记到第一第二客户机的预约并未改变到第二CVSD 204的组播信息流530或到路由器203的组播信息流532的继续传输。

    在优选实施例中,在每个CVSD内保存有一个或多个VMGM表。可以为每个VLAN各自地,或者在包括多个VLAN的预约信息的单个综合表格内,保存该优选实施例的VMGM表。如果保存各自的表格,如下所述,可以为在CVSD上配置的每个VLAN查询每个表格。

    应当指出该CVSD的实施例在特征为集线器或轮辐结构的网络拓扑结构内最佳地工作。尽管本发明可应用于网状环境,但通常必需使用一个生成树算法来修改该网络,例如为了防止在多条802.1Q链路上转发组播业务。而且,802.1Q链路最好不连接到任何集线器,因为集线器将导致组播信息流不能发送给与该集线器相连的客户机。本领域的技术人员将理解在CVSD上配置一个常规路由器或者与CVSD集成的一个常规路由器的情况下,该优选实施例的CVSD的操作通常是没有必要的。

    可以将组播业务交换给同一VLAN内的组播路由器。交换机通常可以检测到在该交换机上配置的每个VLAN上的网络内这些组播路由器的存在并获知其位置。然而,最好不允许任一个交换机将从组播路由器接收到的组播业务通过VLAN转发给其它的组播路由器。交换机获知组播路由器位置的机制是本领域的技术人员所公知的,不在本申请的范围之内。探听(snooping)组播路由选择协议分组是其中的一种方法。

    参见图6,图示根据优选实施例的一个VLAN间交换设备。CVSD600通常包括分组转发引擎604、查找高速缓存606、管理模块608和分组缓存器616。将从多个输入端口接收到的输入分组信息流602传送给分组转发引擎604。分组转发引擎604通常负责分类、复制、修改和转发分组。在优选实施例中,根据源IP地址、目标IP地址、源VLAN和源端口来分类分组。

    查找高速缓存606通常为分组转发引擎604提供转发输入分组所必需的输入端口和/或VLAN的目标信息。如果在查找高速缓存606内找不到目标,则将与此分组有关的信息发送给控制算法610以进一步分析。

    控制逻辑610的责任中包括查询VLAN/组播组成员资格表612和信息流表,所述信息流表跟踪在CVSD上出现的组播信息流。查询包括目标IP地址和组播预约VLAN的VMGM表以确定分组和控制信号的转发路径,在本发明中,所述控制信号用于管理所述信息和保存组播信息流请求和终止消息。信息流表根据源IP、目标IP、源VLAN和源端口记录所有已知的组播流。将控制逻辑610提供的结果编程在查找高速缓存内。

    在分组转发操作过程中,直到随后将分组618在相应的终点方向上转发给正确的输入端口之前,将这些分组临时存储在分组缓存器616内。

    尽管上面的描述包含许多详细的规定,但是这些内容不应当被视为对本发明保护范围的限制,而仅仅提供了本发明当前优选实施例的一些说明。

    因此,已经通过例子和非限制性地公开了本发明,应当参考权利要求书来确定本发明的保护范围。

虚拟局域网标记网络内的组播优化.pdf_第1页
第1页 / 共35页
虚拟局域网标记网络内的组播优化.pdf_第2页
第2页 / 共35页
虚拟局域网标记网络内的组播优化.pdf_第3页
第3页 / 共35页
点击查看更多>>
资源描述

《虚拟局域网标记网络内的组播优化.pdf》由会员分享,可在线阅读,更多相关《虚拟局域网标记网络内的组播优化.pdf(35页珍藏版)》请在专利查询网上搜索。

发明公开了一种在VLAN标记环境下优化组播业务的方法和设备。由VLAN间交换设备执行的该方法包括:在所述交换设备上配置的多个VLAN内的第一VLAN内接收一个组播信息流,和将该组播信息流内部地分配给在所述VLAN间交换设备上登记接收此组播信息流的基本上所有的组播组成员。根据本发明,仅在所述的一条或多条VLAN标记通信链路上传输组播信息流的单个拷贝,因而避免了当在多个VLAN内存在组播组成员时通常出。

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 电学 > 电通信技术


copyright@ 2017-2020 zhuanlichaxun.net网站版权所有
经营许可证编号:粤ICP备2021068784号-1