通信系统、控制装置、通信方法以及程序的制作方法

文档序号:7792887阅读:109来源:国知局
通信系统、控制装置、通信方法以及程序的制作方法
【专利摘要】本发明在OpenFlow网络中不受VLAN ID数的制约、且以更少的流条目数来实现广播或组播。通信系统包含:控制装置,其针对构成在包含转发节点的物理网络上的每个虚拟网络来设定广播域或组播域,并对所述转发节点设定将包含用于确定该广播域或组播域的标识符在内的匹配条件与分组的转发目的地建立了对应的广播或组播用的控制信息;以及转发节点,其使用所述广播或组播用的控制信息来进行广播或组播。
【专利说明】通信系统、控制装置、通信方法以及程序

【技术领域】
[0001][关于相关申请的记载]
[0002]本发明以日本国特许申请:特愿2012-107595号(2012年5月9日申请)为基础,将该申请的全部记载内容以引用方式编入记载在本说明书中。
[0003]本发明涉及通信系统、控制装置、通信方法以及程序,特别涉及由转发接收分组的转发节点、以及控制该转发节点的控制装置来实现通信的通信系统、控制装置、通信方法以及程序。

【背景技术】
[0004]专利文献I?4中公开了在虚拟网络上进行广播或组播的方法。在专利文献I中,公开了如下方法:对每个物理端口、VLAN(Virtual Local Area Network,虚拟局域网)分配第2层网络(以下称作“L2NW”)用的运营商虚拟LAN(CVLAN)的地址,对每个CVLAN分配广播、组播地址,由此实现广播/组播。
[0005]在专利文献2中,公开了使用接入路由器的分组路由方法,该接入路由器具备将接受到的分组中的用户MAC报头内的发送源MAC地址与该分组所通过了的终端侧虚拟接口之间的关系进行学习并存储的虚拟集线器,以该存储的信息为基础来转发分组,另外,在网络侧附加VPN编号,封装为IP分组并送出。在专利文献2中,建立分组复制服务器这样的广播用的服务器,进行复制并对同一VPN内的其它接入路由器进行转发,由此实现广播(参考
[0122]实施方式7)。
[0006]在专利文献3中公开了对所输入的数据帧附加包含向出口侧的节点的转发信息在内的扩展标签来进行转发的节点。记载了在进行广播的情况下,通过在扩展标签中设定入口侧的节点的转发信息(例如发送源MAC地址),来进行数据帧的中继(权利要求3、
[0129]、
[0137])。
[0007]在专利文献4中公开了在具备使用不同的链路而连接的多个终端的发送介质来交换分组的方法。在专利文献4中,记录了使用与帧所经由的交换机I对I结合的标识符的列表(广播控制信息)来防止分组环(
[0038]?
[0040])。
[0008]在非专利文献1、2中公开了一种网络,该网络包含:被称作“OpenFlow交换机”(开放流交换机)的交换机,其将通信捕捉为端到端的流,对该流进行处理;以及控制装置,其对这些交换机设定被称作“流条目”(f 1W entry)的控制信息。
[0009]先行技术文献
[0010]专利文献
[0011]专利文献I JP特开2000-286853号公报
[0012]专利文献2 JP特开2002-247089号公报
[0013]专利文献3 JP特开2004-266874号公报
[0014]专利文献4 JP特表2007-534191号公报
[0015]非专利文献
[0016]非专利文献1:Nick McKeown 等 8 名、“OpenFlow:Enabling Innovat1n inCampus Networks”、[online]、[平成 24 (2012)年 3 月 14 日检索]、因特网〈URL:http://www.0penflow.0rg/documents/openflow-wp-latest.pdf>
[0017]非专利文献2:“0penFlow Switch Spec i fi cat i on,,Ver s i on1.1.0Implemented(Wire Protocol 0x02)、[online]、[平成 24 (2012)年 3 月 14 日检索]、因特网〈URL:http://www.0penf low.0rg/documents/openf low-spec-vl.1.0.pdf>
[0018]发明要解决的课题
[0019]以下的分析由本发明给出。如专利文献I的
[0005]、专利文献2的
[0016]记载的那样,IEEE802.1中所规定的VLAN报头为12比特的长度,从而存在可识别的VLAN的数量受限于4096这样的问题。
[0020]在非专利文献1、2的OpenFlow网络中,通过在位于边缘的交换机中遵循流条目来进行与网络外部的输入输出分组的VLAN ID(虚拟局域网标识)的变换,能将网络可处理的VLAN数扩展至4096以上。
[0021]但是,在以该方法将VLAN数扩展至4096以上来进行广播或组播(以下也称作“BCMC”)的情况下,单播用的流为I个端到端的流即可,与此相对,广播、组播用的流需要端数X端数那么多的流条目。进而,在该方法中,由于需要与要由OpenFlow网络处理的广播、组播域的数量相应那么多的广播、组播用的流,因此随着广播、组播域的端点增多,另外随着广播、组播域的数量增大,存在流处理装置的流条目数飞跃性地增大这样的问题。
[0022]为此例如考虑以下的方法。考虑在图16所示的OpenFlow网络中设定广播、组播用的流条目。由此,在各转发节点设定图17所示的用于实现谋求使广播、组播分组不成环的生成树的、不依赖于VLAN ID的广播、组播用的流条目(以下称作“BCMC基础流条目”,标注标号400A?400C)。
[0023]图18?图20是在图17的各转发节点设定的BCMC用基础流条目400A?400C的一例,设定与图17的箭头线对应的流条目、以及丢弃(Drop)能成环的分组的流条目。通过使用这样的BCMC用基础流条目400A?400C,能针对每个广播、组播域应对流条目数增大的问题。并且,位于网络的边缘的转发节点不进行与外部的网络的输入输出分组的VLAN ID的变换,而使用例如以下那样的该转发节点的端口的VLAN设定来处理分组。具体地,在端口为非标记端口(untagged)来进行了 VLAN ID的设定的情况下,位于所述边缘的转发节点仅在输入分组为untagged的情况下,以所设定的VLAN ID被设为tagged的状态从该端口输入分组,在输入分组为tagged的情况下,在该端口进行丢弃输入分组的处理。另一方面,在端口为标记端口(tagged)来进行了 VLAN ID的设定的情况下,位于所述边缘的转发节点仅在输入分组的VLAN ID相同的情况下,以该VLAN ID被设为tagged的状态从该端口输入分组,在输入分组为untagged或者不同的VLAN ID的情况下,在该端口进行丢弃输入分组的处理。
[0024]另外,在端口为非标记端口(untagged)来进行了 VLAN ID的设定的情况下,位于所述边缘的转发节点仅在输出分组的VLAN ID相同的情况下,以将VLAN ID设为untagged的状态从该端口输出分组,在输出分组的VLAN ID不同的情况下,在该端口进行丢弃输出分组的处理。另一方面,在该端口为标记端口(tagged)来进行了 VLAN ID的设定的情况下,位于所述边缘的转发节点仅在输出分组的VLAN ID相同的情况下,以该VLAN ID被设为tagged的状态从该端口输出分组,在输出分组的VLAN ID不同的情况下,在该端口进行丢弃输出分组的处理。
[0025]这种情况下的OpenFlow网络中的广播、组播域例如如图21所示的虚拟网络500A的虚拟L2SW502A与外部NW端点503A、503B的组合、以及虚拟L2SW502B与外部NW端点503C?503E的组合那样,在同一广播域、组播域使用相同的VLAN ID。另外,图21的外部NW端点503A表示图17的转发节点200A的外部节点300A所连接的端口为非标记端口(untagged),VLAN ID为10。同样地,图21的外部NW端点503B表示图17的转发节点200B的外部节点300B所连接的端口为标记端口(tagged),VLAN ID为10,外部NW端点503C表示图17的转发节点200B的外部节点300C所连接的端口为标记端口(tagged),VLAN ID为20。同样地,外部NW端点503D表示图17的转发节点200C的外部节点300D所连接的端口为标记端口(tagged),VLAN ID为20,外部NW端点503E表示图17的转发节点200C的外部节点300E所连接的端口为标记端口(tagged),VLAN ID为20。如此,通过在同一广播域、组播域使用相同的VLAN ID,并使用位于边缘的转发节点的端口的VLAN设定,能应对广播、组播域的端点的增多所引起的流条目数的增大问题。
[0026]但是,在该方法中,若要在不同的广播、组播域使用相同的VLAN ID,则由于在流网络中不能区别广播域、组播域,因而不能在不同的广播、组播域使用相同的VLAN ID。为此,流网络可处理的VLAN数被限制在4096。
[0027]如以上那样,在非专利文献1、2的OpenFlow网络中,要实现广播、组播,就会有流条目的增多、或者VLAN数的限制的任一者成为制约这样的问题点。
[0028]另一方面,虽然根据专利文献I的方法,能处理超过上述的VLAN数的上限4096的VLAN,但由于针对每个CVLAN分配广播、组播地址,因此与上述OpenFlow网络相同,都需要庞大的条目数。
[0029]另外,根据专利文献2的方法,除了需要分组复制服务器这样的广播用的服务器,还会在IP网络与分组复制服务器之间产生相应的通信量。
[0030]另外,由于专利文献3的方法还在转发标签中设定发送源MAC地址,因此与专利文献I的方法相同,有条目数变得巨大的可能性。


【发明内容】

[0031]本发明的目的在于,在非专利文献1、2的OpenFlow网络中,不受IEEE802.1规定的VLAN ID数的制约且以更少的流条目数来实现广播或组播。
[0032]用于解决课题的手段
[0033]根据第I观点,提供一种通信系统,具备:控制装置,其针对构成在包含转发节点的物理网络上的每个虚拟网络来设定广播域或组播域,并对所述转发节点设定将包含用于确定该广播域或组播域在内的标识符的匹配条件与分组的转发目的地建立了对应的广播或组播用的控制信息;以及转发节点,其使用所述广播或组播用的控制信息来进行广播或组播。
[0034]根据第2观点,提供一种控制装置,针对构成在包含转发节点的物理网络上的每个虚拟网络来设定广播域或组播域,并对所述转发节点设定将包含用于确定所设定的广播域或组播域的标识符的匹配条件与分组的转发目的地建立了对应的广播或组播用的控制信息。
[0035]根据第3观点,提供一种通信方法,包含:针对构成在包含转发节点的物理网络上的每个虚拟网络来设定广播域或组播域的步骤;以及对所述转发节点设定将包含用于确定该广播域或组播域的标识符在内的匹配条件与分组的转发目的地建立了对应的广播或组播用的控制信息的步骤,使所述转发节点使用所述广播或组播用的控制信息来执行广播或组播。本方法与控制转发节点的计算机这样的特定的设备结合。
[0036]根据第4观点,提供一种程序,使构成对转发节点设定控制信息的控制装置的计算机执行以下处理:针对构成在包含所述转发节点的物理网络上的每个虚拟网络来设定广播域或组播域的处理;以及对所述转发节点设定将包含用于确定该广播域或组播域在内的标识符的匹配条件与分组的转发目的地建立了对应的广播或组播用的控制信息。另外,该程序能记录在计算机可读的(非瞬态的)存储介质中。即,本发明能具象化为计算机程序女口广叩ο
[0037]发明效果
[0038]根据本发明,能在非专利文献1、2的OpenFlow网络中不受VLAN ID的数量的制约且以更少的流条目数来实现广播或组播。

【专利附图】

【附图说明】
[0039]图1是表示本发明的第I实施方式的构成的图。
[0040]图2是表示本发明的第I实施方式的控制装置的构成的框图。
[0041]图3是表示由本发明的第I实施方式的控制装置构成的虚拟网络的构成的图。
[0042]图4是表不图1与图3的对应关系的图。
[0043]图5是表示本发明的第I实施方式的转发节点的构成的框图。
[0044]图6是表示由本发明的第I实施方式的控制装置对转发节点200A设定的流条目的图。
[0045]图7是表示由本发明的第I实施方式的控制装置对转发节点200B设定的流条目的图。
[0046]图8是表示由本发明的第I实施方式的控制装置对转发节点200C设定的流条目的图。
[0047]图9是表示本发明的第I实施方式的控制装置所进行的BCMC用基础流条目的生成处理的流程的流程图。
[0048]图10是表示本发明的第I实施方式的控制装置所进行的BCMC用流条目的设定处理的流程的流程图。
[0049]图11是表示本发明的第I实施方式的转发节点的分组接收时的处理的流程的流程图。
[0050]图12是表示由本发明的第2实施方式的控制装置构成的虚拟网络的构成的图。
[0051]图13是表示由本发明的第2实施方式的控制装置对转发节点200A设定的流条目的图。
[0052]图14是表示由本发明的第2实施方式的控制装置对转发节点200B设定的流条目的图。
[0053]图15是表示由本发明的第2实施方式的控制装置对转发节点200C设定的流条目的图。
[0054]图16是表示非专利文献1、2的OpenFlow网络的构成的图。
[0055]图17是用于说明非专利文献1、2的OpenFlow网络中的广播、组播的图。
[0056]图18是表示对图16的转发节点200A设定的流条目的图。
[0057]图19是表示对图16的转发节点200B设定的流条目的图。
[0058]图20是表示对图16的转发节点200C设定的流条目的图。
[0059]图21是由非专利文献1、2的OpenFlow网络构成的虚拟网络的一例。

【具体实施方式】
[0060]首先,参考附图来说明本发明的I个实施方式的概要。另外,附记在该概要中的附图参考标号是作为用于帮助理解的一例且为了方便而附记在各要素的标号,并不意图将本发明限定为图示的方式。
[0061]本发明在该I个实施方式中,如图1所示那样,能以包含对转发节点200A?200C设定广播或组播用的控制信息的控制装置100、以及使用所述广播或组播用的控制信息来进行广播或组播的转发节点200A?200C的构成来实现。
[0062]更具体地,所述控制装置100针对在包含转发节点200A?200C的物理网络上构成的每个虚拟网络来设定广播域或组播域(参考图3),对所述转发节点设定将包含用于确定该广播域或组播域的标识符在内的匹配条件、与分组的转发目的地建立了对应的广播或组播用的控制信息。
[0063]另外,作为广播或组播用的分组转发路径的计算方法,如用上述图16?图17所说明的那样,能使用谋求广播、组播分组不成环那样的生成树的方法。
[0064][第I实施方式]
[0065]接下来,参考对本发明的第I实施方式进行详细说明。图1是表示本发明的第I实施方式的构成的图。参考图1,示出了包含由多个转发节点200构成的网络、以及控制转发节点200A?200C来实现外部节点300A?300E间的通信的控制装置100的构成。以下在不特别区别转发节点200A?200C、外部节点300A?300E的情况下,分别记作“转发节点200”、“外部节点300”。
[0066]控制装置100通过对路径上的转发节点200设定流条目,来进行I个外部节点300与其它外部节点300之间的分组的路径控制。转发节点200在从外部节点300或其它转发节点200接收到分组时,检索从控制装置100设定的流条目中的具有适于接收分组的匹配条件的流条目,遵循该该流条目来进行接收分组的处理。作为在该流条目中设定的处理内容,进行向外部节点300或其它转发节点200的转发、向控制装置100的输出、丢弃(Drop)
坐寸ο
[0067]I个外部节点300 (例如外部节点300A)将给其它外部节点300 (例如外部节点300D或外部节点300E)的分组发送给转发节点200,或者从转发节点200接收以其它外部节点300为发送源的分组。
[0068]在此,将与外部节点300连接的转发节点200设为“边缘转发节点200”,将仅与转发节点200连接的转发节点200设为核心转发节点。核心转发节点根据网络也有不存在的情况,在图1的示例中就不存在核心转发节点。另外,外部节点300并不需要与边缘转发节点直接连接,也可以经由不受控制装置100的直接控制的L2SW(第2层交换机)等的原有设备来连接,也有外部节点300为L3SW或路由器、且在其之前存在另外的外部节点300的情况。
[0069]另外,在本实施方式中,而用使用图17?图20所示的BCMC用基础流条目。另外,尽管在图17的示例中,未设定用于在转发节点200B与200C间进行转发的流条目,但这是为了广播、组播分组在网络内成为无环。每当网络的构成或状态发生变化,就变更BCMC用的路径和BCMC用基础流条目。在此,BCMC地址是指广播、组播用的地址。例如,在MAC地址的情况下,在排头I字节的I/G比特上设定I。
[0070]图2是表征本实施方式的控制装置100的详细的构成的框图。参考图2,控制装置100构成为具备:转发节点通信部101、转发节点控制部102、虚拟网络管理部103、转发节点信息存储部104、物理网络拓扑存储部105、BCMC用基础流条目存储部106、流条目存储部107、流存储部108、虚拟网络拓扑信息存储部109、以及虚拟节点信息存储部110。
[0071]转发节点通信部101将来自转发节点200的转发节点信息、输入分组信息中继到转发节点控制部102、虚拟网络管理部103。另外,转发节点通信部101参考转发节点信息存储部104,将来自虚拟网络管理部103的输出分组信息、与来自转发节点控制部102的流条目相关的设定指示、流条目的参考请求、来自虚拟网络管理部103和转发节点控制部102的转发节点信息的参考请求等中继给转发节点200。
[0072]转发节点控制部102将经由转发节点通信部101而接收到的转发节点信息注册在转发节点信息存储部104中。另外,转发节点控制部102以转发节点信息存储部104的信息和输入分组信息为基础来把握网络拓扑,更新物理网络拓扑存储部105的网络拓扑信息。
[0073]另外,转发节点控制部102根据所述网络拓扑信息来求取广播、组播分组用的成为基础的路径,生成实现该路径的每个转发节点200的广播、组播分组用的BCMC用基础流条目400,并存储至BCMC用基础流条目存储部106。
[0074]另外,转发节点控制部102根据来自虚拟网络管理部103的虚拟节点信息及虚拟网络拓扑信息、以及BCMC用基础流条目来求取BCMC用流条目,存储至流条目存储部107,而且通过转发节点通信部101来对转发节点200设定流条目。进而,转发节点控制部102根据从虚拟网络管理部103接收到的流设定信息和网络拓扑信息来求取流条目,将流设定信息存储至流存储部108,对流条目存储部107设定流条目,并通过转发节点通信部101对转发节点200设定流条目。
[0075]虚拟网络管理部103与存储多个虚拟网络上的虚拟节点信息的虚拟节点信息存储部110、以及存储每个虚拟网络的虚拟节点的连接关系的虚拟网络拓扑信息存储部109连接,来管理虚拟网络。并且,虚拟网络管理部103将这些虚拟节点信息和虚拟网络拓扑信息交给转发节点控制部102。
[0076]另外,虚拟网络管理部103在经由转发节点通信部101从转发节点200接受到输入分组信息时,基于虚拟网络拓扑信息对输入分组信息进行处理。更具体地,虚拟网络管理部103基于输入分组信息、上述虚拟节点信息存储部110、虚拟网络拓扑信息存储部109的信息,来进行输入分组信息的丢弃、在虚拟L3SW(参考图3的虚拟L3SW501A)等的虚拟节点的接收、从外部NW端点(参考图3的外部NW端点503A?503E)等的虚拟节点的输出分组信息的输出等的处理。另外,输出分组信息的输出不仅在来自转发节点通信部101的输入分组信息的接收时进行,还以虚拟L3SW(参考图3的虚拟L3SW501A)等的虚拟节点的主机发送为契机来进行。虚拟网络管理部103通过转发节点通信部101对转发节点200输出输出分组信息。
[0077]进而,虚拟网络管理部103有通过流设定信息对转发节点控制部102委托流设定的情况,该流设定基于来自转发节点通信部101的输入分组信息和与之对应的丢弃,或者基于来自转发节点通信部101的输入分组信息和与之对应的向转发节点通信部101的输出分组信息的输出。另外,虚拟网络管理部103还能根据虚拟网络拓扑信息等对转发节点控制部102进行流设定委托。
[0078]转发节点信息存储部104存储各转发节点200的信息。作为存储在转发节点信息存储部104的信息,例如能举出转发节点的端口信息、VLAN设定信息、转发节点的能力、用于向转发节点进行接入的地址等。另外,除了这些以外,也可以包含统计信息等。
[0079]物理网络拓扑存储部105存储表征转发节点200间的连接关系的网络拓扑信息。
[0080]BCMC用基础流条目存储部106保持用于网络中的广播、组播用的流的成为基础的每个转发节点200的流条目。例如,在设定了图17的箭头线所示那样的转发节点200A?200C间的广播、组播用的流的情况下,在BCMC用基础流条目存储部106中存储对应于这些流而生成的图18?图20的BCMC用基础流条目。
[0081]流条目存储部107存储对转发节点200设定的流条目。
[0082]流存储部108存储按每个流而确定的路径、处理等的流设定信息。流设定信息例如包含用于确定流的匹配条件、使分组从网络的流终点输出时的分组的状态、分组输入到网络时的外部NW端点(参考图3的外部NW端点503A?503E)或输出时的外部NW端点(参考图3的外部NW端点503A?503E)等的信息、与关联的流条目关联的虚拟节点信息坐寸ο
[0083]虚拟网络拓扑信息存储部109保持每个虚拟网络500A的虚拟节点间的连接信息。
[0084]虚拟节点信息存储部110存储每个虚拟网络的虚拟L3SW(参考图3的虚拟L3SW501A)、虚拟L2SW(参考图3的虚拟L2SW502A、502B)、外部NW端点(参考图3的外部NW端点503A?503E)等的虚拟节点信息。例如若是虚拟L3SW(参考图3的虚拟L3SW501A),则虚拟节点信息是虚拟接口信息、路由选择表信息、ARP (Address Resolut1n Protocol,地址解析协议)条目信息等的与L3SW同样的信息和虚拟网络500A的关系等。另外,例如若是虚拟L2SW(参考图3的虚拟L2SW502A、502B),则存储虚拟接口信息、MAC转发表的条目信息等的与L2SW相同的信息、和用于唯一识别广播域的广播域ID (BC域ID)、与虚拟网络500A的关系等。另外,若是外部NW端点(参考图3的外部NW端点503A?503E),则存储与控制装置100所管理的网络中的哪个转发节点200的哪个端口的哪个VLAN ID有关系的信息、与虚拟网络500A的关系等。另外,根据外部NW端点(参考图3的外部NW端点503A?503E)的VLAN ID是untagged还是tagged来进行存储,在untagged的情况下存储是否使用untagged用的VLAN ID,在使用的情况下存储使用哪个VLAN ID,另外,在tagged的情况下存储使用哪个VLAN ID等。
[0085]图3表示由本实施方式的控制装置100提供的虚拟网络的一例。在虚拟网络500A中,作为虚拟节点,存在虚拟L3SW501A、虚拟L2SW502A、502B、外部NW端点503A?503E ;而作为虚拟网络拓扑,虚拟L3SW501A与虚拟L2SW502A、502B连接,虚拟L2SW502A与外部NW端点503A、503B连接,虚拟L2SW502B与外部NW端点503C?503E连接。另外,虚拟L2SW502A作为BC域ID而具有“I”,虚拟L2SW502B作为BC域ID而具有“2”。另外,BC域ID的分配按照能由虚拟网络管理部103唯一确定虚拟L2SW502的方式分配即可。
[0086]在此,虚拟网络500A如图4所示那样,设为与图1的物理网络对应(图4的虚线表示物理-虚拟间的对应关系),外部NW端点503A在转发节点200A的外部节点300A连接端口与VLAN ID为“ 10”的非标记端口(untagged)建立对应。同样地,外部NW端点503B在转发节点200B的外部节点300B连接端口与VLAN ID为“20”的标记端口(tagged)建立对应,外部NW端点503C在转发节点200B的外部节点300C连接端口与VLAN ID为“30”的标记端口(tagged)建立对应。另外,外部NW端点503D在转发节点200C的外部节点300D连接端口与VLAN ID为“20”的标记端口(tagged)建立对应,外部NW端点503E在转发节点200C的外部节点300E连接端口与VLAN ID为“20”的标记端口(tagged)建立对应。
[0087]图5是表示转发节点200的细节的构成的框图。参考图5,转发节点200构成为具备:流条目检索部201、流条目存储部202、流条目处理部203、流处理部204、以及控制装置通信部205。
[0088]流条目检索部201从接收分组中提取用于检索流条目的流条目检索条件信息,使用流条目检索条件信息来对流条目存储部202进行检索。若所述检索的结果是有匹配的流条目,则流条目检索部201更新其超时时间、统计信息等。并且,流条目检索部201将在匹配的流条目中确定的处理内容(指令或动作设置)和输入分组交给流处理部204。
[0089]流条目存储部202保持从控制装置100的转发节点控制部102设定的流条目。在此,流条目存储部202所保持的流条目与保持在控制装置100的流条目存储部107中的流条目同步。
[0090]流条目处理部203在通过控制装置通信部205而从控制装置100接受到流条目的追加、删除等的设定指不或参考指不时,对流条目存储部202进行相应的处理。另外,流条目处理部203参考流条目存储部202,关于流条目当中超时的流条目予以删除,并通过控制装置通信部205将已删除该流条目这一情况传达给控制装置100。
[0091]流处理部204遵循从流条目检索部201或控制装置100传来的输入分组和要运用的处理内容,来对分组进行处理。具体地,进行分组报头信息的变更、向外部节点300或其它转发节点200的转发、向控制装置100的输出、丢弃(Drop)等。
[0092]控制装置通信部205进行控制装置100与流条目处理部203、流处理部204的中继。
[0093]图6?图8表示在图3的虚拟网络500A中为了进行广播、组播而分别对转发节点200A?200C设定的BCMC用流条目的一例。另外,在图6?图8的示例中,使用2个表,在该转发节点从外部节点300接收到分组的情况下,遵循第I表(表#1)的指令来进行参考第2表(表#2)的流水线(Pipeline)处理(参考非专利文献2的“4.1.1 PipelineProcessing”)。图6?图8只是例示,流表的数量为I以上即可,也可以将流条目分割为I个以上。
[0094]另外,图6?8的BCMC用流条目以如下情况为前提:在从转发节点200的端口输出分组时,转发节点200以设定至该端口的VLAN设定信息为基础来进行以下(I)、(2)所示的处理。
[0095](I)转发节点200在端口为非标记端口(untagged)且进行了 VLANID的设定的情况下,仅在输入分组为untagged的情况下,以设定的VLANID被设为tagged的状态从该端口输入分组,在输入分组为tagged的情况下,在该端口进行丢弃输入分组的处理。另一方面,在端口为标记端口(tagged)且进行了 VLAN ID的设定的情况下,仅在输入分组的VLANID相同的情况下,以该VLAN ID被设为tagged的状态从该端口输入分组,在输入分组为untagged或是不同的VLAN ID的情况下,在该端口进行丢弃输入分组的处理。
[0096](2)另外,转发节点200在转发节点200的该端口为非标记端口(untagged)且进行了 VLAN ID的设定的情况下,仅在输出分组的VLANID相同的情况下,以将VLAN ID设为untagged的状态从该端口输入分组,在输出分组的VLAN ID不同的情况下在该端口进行丢弃输出分组的处理。另一方面,在该端口为标记端口(tagged)且进行了 VLAN ID的设定的情况下,仅在输出分组的VLAN ID相同的情况下以该VLAN ID被设为tagged的状态从该端口输出分组,在输出分组的VLAN ID不同的情况下,在该端口进行丢弃输出分组的处理。当然,设对转发节点200的端口设定了适当的VLAN信息。
[0097]进而,在图6?8的BCMC用流条目中,为了使能处理的VLAN数为4096以上,在分组中插入 MPLS (Mult1-Protocol Label Switching,多协议标签交换)Shim 报头,将 MPLS标签设为BC域ID,将该信息作为流条目的匹配条件。这种情况下,由于MPLS标签为20比特,因此能在广播、组播用中处理22° (1048576)的VLAN数。另外,该VLAN数的扩展方法为一例,还能作为BC域ID用而使MPLS Shim报头堆栈来进一步扩展。另外,也可以与MPLSShim报头的插入同时地删除VLAN报头(这种情况下,也可以在网络出口的MPLS Shim报头的删除时插入(还原)VLAN报头)。另外,也可以以VLAN报头或MAC报头将分组封装,来将BC域ID运用至外侧的MAC报头的发送源地址,也可以以MPLS Shim报头将分组封装,来将BC域ID运用至MPLS标签。
[0098]另外,图6?8的BCMC用流条目只是一例,如图18?图20的BCMC用基础流条目400那样在图6的第2流表(表#2)的流条目N0.1的指令中追加“转发节点200C连接端口输出”也没问题。同样地,由于即使在图7的第I流表(表#1)的流条目N0.3的指令中追加“外部节点300C连接端口输出”,也使用转发节点200B的端口的VLAN设定,因此没有问题,由于即使在图7的第I流表(表#1)的流条目N0.4的指令中追加“外部节点300B连接端口输出”,也使用转发节点200B的端口的VLAN设定,因此没有问题。另外,也可以在转发节点200的端口的VLAN设定为untagged且没有VLAN ID的设定的情况下,仅在输入分组为untagged的情况下,以被设为untagged的状态从该端口输入分组,在输入分组为tagged的情况下,在该端口进行丢弃输入分组的处理。另外,仅在输出分组为untagged的情况下,以被设为untagged的状态从该端口输出分组,在tagged的情况下,在该端口进行丢弃输出分组的处理,在这样的情况下,图6的第I流表(表#1)的流条目N0.2的指令中“变更为VLAN ID 10”成为“删除VLAN报头”,图6的第2流表(表#2)的流条目N0.1的匹配条件的第2层的VLAN ID为“无”、指令为在排头“插入VLAN报头(VLAN ID不确定)”等。
[0099]另外,图7的第I流表(表#1)的流条目N0.1、N0.2的指令中的“转发节点200C连接端口输出”、“转发节点200B连接端口输出”使用图19的基础流条目N0.1、N0.2的信息而被设定。在图3的状态下,虽然无需从虚拟L2SW502A向外部节点300C连接端口转发BC分组,但通过如上述那样使用基础流条目的信息,不再需要在新连接VLAN ID 10即外部NW端点503的情况下对虚拟L2SW502A新设定流条目。当然,在没有外部NW端点503的追加等、虚拟网络的构成不变的情况下、或每当虚拟网络的构成变更时都进行更新流条目的更新的运用的情况下,还能省略图7的第I流表(表#1)的流条目N0.1、N0.2的指令中的“转发节点200C连接端口输出”、“转发节点200B连接端口输出”。
[0100]另外,上述的转发节点200能以非专利文献1、2的OpenFlow交换机来实现。另外,控制装置100能以非专利文献1、2的OpenFlow控制器为基础并追加上述的各功能来实现。
[0101]另外,上述的控制装置100的各部(处理单元)还能由在构成控制装置100的计算机中使用其硬件来使上述的各处理被执行的计算机程序实现。
[0102]接下来,参考附图来详细说明本实施方式的动作。图9是表征由控制装置100生成BCMC用基础流条目400的处理的流程的流程图。
[0103]参考图9,首先,控制装置100的转发节点控制部102在与转发节点200连接时获取转发节点200的信息,并保存至转发节点信息存储部104 (步骤S101)。
[0104]接下来,转发节点控制部102从其它转发节点200获取从转发节点200发送的给该其它转发节点200的分组来作为输入分组信息,并通过参考转发节点信息存储部104的转发节点信息来获取转发节点200间的连接信息(步骤S102)。然后,转发节点控制部102将转发节点200间的连接信息反映至物理网络拓扑存储部105的网络拓扑信息中。
[0105]接下来,转发节点控制部102根据物理网络拓扑存储部105的网络拓扑信息,按照使广播、组播分组在网络中成为无环的方式求取生成树,针对每个转发节点200来生成广播、组播用的BCMC用基础流条目,并设定至BCMC用基础流条目存储部106 (步骤S103)。
[0106]通过以上的处理,生成图17的箭头线所示那样的广播或组播用的路径、以及图18?图20所示的BCMC用基础流条目。
[0107]接下来,说明直到控制装置100使用上述BCMC用基础流条目来设定实现在各个BC域的广播或组播的BCMC用流条目为止的次序。
[0108]图10是表征控制装置100所进行的BCMC用流条目400的设定处理的流程的流程图。参考图10,首先,控制装置100的转发节点控制部102经由虚拟网络管理部103从虚拟节点信息存储部110获取设定BCMC用流条目的虚拟网络的构成信息(步骤S201)。在此,转发节点控制部102获取图3的虚拟网络500A的虚拟L2SW502的虚拟节点信息、与该虚拟L2SW502处于连接关系的外部NW端点503的虚拟节点信息、以及表示它们的连接关系的虚拟网络拓扑彳目息。
[0109]接下来,转发节点控制部102经由虚拟网络管理部103从虚拟节点信息存储部110获取与所述获取到的虚拟节点对应的BC域ID(步骤S202)。在以下的说明中,如图3所示那样,设获取到虚拟L2SW502A的BC域ID = 1、虚拟L2SW502B的BC域ID = 2。BC域ID具有为了唯一识别虚拟L2SW502的广播域而足够的长度,具有大于VLAN数12比特的区域。
[0110]接下来,转发节点控制部102从BCMC用基础流条目存储部106获取BCMC用基础流条目400(步骤S203)。在此,获取图18?图20所示的BCMC用基础流条目群。
[0111]接下来,转发节点控制部102使用在步骤S201?S203获取的信息,生成实现在BC域的BCMC的BCMC用流条目,并存储至流条目存储部107 (步骤S204)。具体地,参考图4所示的虚拟网络与物理网络的对应关系来选择BCMC用基础流条目,在该处理内容(指令)中设定BC域ID的附加或删除、所述附加的BC域ID向匹配条件的追记、向另外的表的分歧等。其结果,按照使各转发节点200中的VLAN ID与BC域ID间的对应关系成为I对I的方式来生成BCMC用流条目。
[0112]接下来,转发节点控制部102经由转发节点通信部101对转发节点200设定所述生成的BCMC用流条目(步骤S205)。
[0113]图6?图8是为了进行在图3的虚拟L2SW502A(BC域ID = I)、虚拟L2SW502B (BC域ID = 2)的广播而设定的流条目的示例。例如,对从图3 (图4)的外部NW端点503A输入的BC分组(转发节点200A所接收到的外部节点300A的BC分组)如图6所示那样,通过图6的表#1的流条目N0.1和图6的表#2的流条目N0.1来进行处理,其中图6的表#1的流条目N0.1具有以第2流表(表#2)对从与外部NW端点503A对应的外部节点300A接收到的BC分组进行处理的指令,图6的表#2的流条目N0.1具有仅在VLAN ID为“ 10”的情况下插入MPLS Shim报头(BC域ID= I)、且转发至转发节点200B的指令。另外,为了对插入有MPLS Shim报头(BC域ID = I)的分组进行处理,对转发节点200B如图7所示那样设定图7的表#1的流条目N0.3,该流条目具有如下指令:在通过从转发节点200A接收到的BC分组,从对MPLS Shim报头设定了 BC域ID = I的分组中删除MPLS Shim报头的基础上将VLAN ID改写为20,并转发至外部节点300B。另外,根据图6的表#2的流条目,即使是从外部节点300A接收到的BC分组,VLAN ID不是“10”的分组也会被丢弃(Drop)(图6的表#2的流条目N0.2)。通过以上,实现了从外部节点300A发送的BC分组在BC域ID =I的广播。
[0114]同样地,例如对从图3(图4)的外部NW端点503B输入的BC分组(转发节点200B所接收到的外部节点300B的BC分组(VLAN ID = 20))如图7所示那样,通过图7的表#1的流条目N0.1和图7的表#2的流条目N0.1来进行处理,其中,图7的表#1的流条目N0.1具有如下指令:将从与外部NW端点503B对应的外部节点300B接收到的BC分组从外部节点300C连接端口输出,且以第2流表(表#2)进行处理,图7的表#2的流条目N0.1具有如下指令:仅在VLAN ID为“20”的情况下插入MPLS Shim报头(BC域ID = I),并转发给转发节点200A。另外,为了对插入有MPLS Shim报头(BC域ID = I)的分组进行处理,对转发节点200A如图6所示那样设定图6的表#1的流条目N0.2,图6的表#1的流条目N0.2具有如下指令:在通过从转发节点200B接收到的BC分组,从对MPLS Shim报头设定了 BC域ID= I的分组中删除MPLS Shim报头的基础上将VLAN ID改写为“ 10”,并转发给外部节点300A。另外,根据图7的表#2的流条目,即使是从外部节点300B接收到的BC分组,VLANID不是10的分组也会被丢弃(Drop)(图6的表#2的流条目N0.2)。根据以上,实现了从外部节点300A发送的BC分组在BC域ID = I的广播。
[0115]如以上那样,在本实施方式中,在位于边缘的转发节点200中设定如下流条目:将追加BC域ID用的报头的BCMC用流条目、BC域ID作为流条目的匹配条件,删除BC域ID用的报头作为其动作,并运用VLAN ID。
[0116]接下来,说明转发节点200使用上述BCMC用流条目来对接收分组进行处理的次序。
[0117]图11是表征转发节点200所进行的接收分组处理的流程的流程图。参考图11,首先,转发节点200的流条目检索部201从接收分组中提取用于检索流条目的流条目检索条件信息(步骤S301)。例如,在与图6?图8的流条目的匹配条件进行比对的情况下,提取输入端口、第2层的目的地地址、以及BC域ID保存区域作为流条目检索条件信息。
[0118]接下来,转发节点200的流条目检索部201从流条目存储部202确定适合在步骤S301提取的流条目检索条件信息的流条目(步骤S302)。然后,流条目检索部201将匹配的流条目的处理内容(指令或动作设置)和接收分组交给流处理部204。在此,在接收到对目的地地址设定了 BCMC地址的BC分组的情况下,在步骤S205使用对转发节点200设定的BCMC用流条目。
[0119]接下来,转发节点200的流处理部204遵循从流条目检索部201交来的分组、以及匹配的流条目的处理内容(指令或动作设置),来执行向外部节点300或其它转发节点的转发、报头附加或删除、分组的丢弃等(步骤S303)。
[0120]如以上那样,根据本实施方式,即使将VLAN数扩展至4096以上,也能不伴随流条目数的飞跃性的增大地实现BCMC。其理由在于,生成将具有VLAN数4096以上的区域的BC域ID用作了流条目的匹配条件的流条目,并设定至转发节点200。S卩,这是因为,由于在转发节点200,VLANID与BC域ID间的对应关系是I对1,因此不会成为飞跃性的流条目数的增大。没有如专利文献1、3那样流条目的数量与外部节点的数量成正比地增加的情况。
[0121][第2实施方式]
[0122]上述的第I实施方式的图6?图8中例示的BCMC用流条目是以转发节点200的端口的VLAN设定的利用为前提的,转发节点200中的VLANID与BC域ID间的对应关系被限制在I对I。例如,如图12那样不能取如下构成:与转发节点200B的VLAN ID为“20”的外部节点300B连接端口对应的外部NW端点503B和虚拟L2SW502A(BC域ID = I)具有连接关系,与相同的转发节点200B的VLAN ID为“20”的外部节点300C连接端口对应的外部NW端点503C和虚拟L2SW502B(BC域ID = 2)具有连接关系。另外,不能取如下构成:与转发节点200C的VLAN ID为“20”的外部节点300D连接端口对应的外部NW端点503D和虚拟L2SW502B(BC域ID = 2)具有连接关系,与相同的转发节点200C的VLAN ID为“30”的外部节点300E连接端口对应的外部NW端点503E和虚拟L2SW502B(BC域ID = 2)具有连接关系。
[0123]本发明的第2实施方式针对每个转发节点200来生成BCMC用流条目,并设定至转发节点200,以使得控制装置100的转发节点控制部102即使不利用转发节点200的端口的VLAN设定也没问题。由于基本的构成、以及动作与第I实施方式相同,因此以下以BCMC用流条目的差异等为中心来进行说明。
[0124]图13?图15是表征在本发明的第2实施方式中分别对转发节点200A?200C设定的BCMC用流条目的图。另外,为了避免说明的重复,设为转发节点200的端口的VLAN设定与第I实施方式相同。另外,如图18?20所示那样,关于BCMC用流条目,在各转发节点200中端口的VLAN ID与BC域间的对应关系成为I对1,这一点与第I实施方式不同。
[0125]更具体地,例如,对从图12的外部NW端点503B输入的BC分组(转发节点200B所接收到的外部节点300B的BC分组(VLAN ID = 20))如图14所示那样通过图14的表#1的流条目N0.1和图14的表#2的流条目N0.1来进行处理,其中,图14的表#1的流条目N0.1具有如下指令:在从与外部NW端点503B对应的外部节点300B接收到的BC分组中插入MPLS Shim报头(BC域ID = I)的基础上转发至转发节点200A,进而以第2流表(表#2)进行处理,图14的表#2的流条目N0.1具有丢弃(Drop)BC分组的指令。另外,为了对插入有MPLS Shim报头(BC域ID = I)的分组进行处理,对转发节点200A如图13所示那样设定图13的表#1的流条目N0.2,图13的表#1的流条目N0.2具有如下的指令:在通过从转发节点200B接收到的BC分组,从对MPLS Shim报头设定了 BC域ID = I的分组中删除MPLS Shim报头的基础上将VLAN ID改写为10,并转发至外部节点300A。
[0126]同样地,例如,对从图12的外部NW端点503C输入的BC分组(转发节点200B所接收到的外部节点300C的BC分组(VLAN ID = 20))如图14所示那样通过图14的表#1的流条目N0.2和图14的表#2的流条目N0.1来进行处理,其中,图14的表#1的流条目N0.2在从与外部NW端点503C对应的外部节点300C接收到的BC分组(VLAN ID = 20)中插入MPLS Shim报头(BC域ID = 2)的基础上转发给转发节点200A,进而以第2流表(表#2)进行处理,图14的表#2的流条目N0.1丢弃(Drop)BC分组。另外,插入有MPLS Shim报头(BC域ID = 2)的分组在转发节点200C中是未命中上位的流条目的BC分组,因此通过图15的表#1的流条目N0.5而被丢弃(Drop)。
[0127]通过以上,在转发节点200B,即使是同一 VLAN ID,也对应于输入端口而与不同的BC域ID建立对应。另一方面,在转发节点200C,即使是不同的VLAN ID,也与基于输入端口的同一 BC域ID (BC域ID = 2)建立对应(参考图15的表#1的流条目N0.1、N0.2)。
[0128]在第I实施方式中,与转发节点200的外部NW连接端口相关的BCMC用流条目的数量成为转发节点200中的外部NW连接端口数(例如图7的表#1的流条目N0.UN0.2这2个条目)+与转发节点200有关系的全部外部NW端点503的VLAN ID数(例如图7的表#2的流条目N0.1、N0.2这2个条目)。
[0129]与此相对,在第2实施方式中,与转发节点200的外部NW连接端口相关的BCMC用流条目的数量至少成为与该转发节点200有关系的全部外部NW端点503的VLAN ID数的总和(例如图14的表#2的流条目N0.l、N0.2这2个条目)。由此,对与该转发节点200有关系的越多的外部NW端点503设定同一 VLAN ID,则BCMC用流条目的数量就越比第I实施方式增加。
[0130]另一方面,在第2实施方式中,有网络中的广播域、组播域的构成不受限制的优点。其理由在于,控制装置100的转发节点控制部102按照在转发节点200中端口的VLANID与BC域间的对应关系成为I对I的方式生成BCMC用流条目。
[0131]尽管以上说明了本发明的实施方式,但本发明并不限定于上述的实施方式,能在不脱离本发明的基本的技术思想的范围内加入进一步的变形、置换、调整。例如,尽管在上述的实施方式中使用图1等所示的网络构成进行了说明,但转发节点和外部节点的数量并无制约。
[0132]另外,例如,即便是设定有第I实施方式中说明的BCMC用流条目的转发节点200、与设定有第I实施方式中说明的BCMC用流条目的转发节点200混合存在的构成(第3实施方式)也没问题。
[0133]另外,通过引用方式将上述的专利文献以及非专利文献的各公开编入说明书中。在本发明的全部公开(包含权利要求)的框架内,能进一步基于其基本的技术思想来进行实施方式乃至实施例的变更、调整。另外,能在本发明的权利要求的框架内进行各种公开要素(包含各权利要求的各要素、各实施方式乃至实施例的各要素、各附图的各要素等)的多样的组合乃至选择。即,本发明包括本领域技术人员能按照包含权利要求在内的全部公开、技术思想而得到的各种变形、修正,这是不言自明的。
[0134]标号说明
[0135]100 控制装置
[0136]101 转发节点通信部
[0137]102 转发节点控制部
[0138]103 虚拟网络管理部
[0139]104 转发节点信息存储部
[0140]105 物理网络拓扑存储部
[0141]106 BCMC用基础流条目存储部
[0142]107 流条目存储部
[0143]108 流存储部
[0144]109 虚拟网络拓扑信息存储部
[0145]110 虚拟节点信息存储部
[0146]200、200A ?200C 转发节点
[0147]201 流条目检索部
[0148]202 流条目存储部
[0149]203 流条目处理部
[0150]204 流处理部
[0151]205 控制装置通信部
[0152]300、300A ?300E 外部节点
[0153]400、400A ?400C BCMC 用基础流条目
[0154]500A 虚拟网络
[0155]50IA 虚拟 L3SW
[0156]502A.502B 虚拟 L2SW
[0157]503A ?503E 外部 NW 端点
【权利要求】
1.一种通信系统,包含: 控制装置,其针对构成在包含转发节点的物理网络上的每个虚拟网络来设定广播域或组播域,并对所述转发节点设定将包含用于确定该广播域或组播域的标识符在内的匹配条件与分组的转发目的地建立了对应的广播或组播用的控制信息;和 转发节点,其使用所述广播或组播用的控制信息来进行广播或组播。
2.根据权利要求1所述的通信系统,其中, 所述控制装置具备: 虚拟网络管理部,其对构成在包含转发节点的物理网络上的虚拟网络进行管理;和转发节点管理部,其通过对所述转发节点设定包含所述广播或组播用的控制信息在内的控制信息来管理转发节点。
3.根据权利要求1或2所述的通信系统,其中, 所述转发节点管理部设定控制信息, 该控制信息使所述广播或组播的路径上的上游侧的转发节点在接收分组中追加包含用于确定所述该广播域或组播域的标识符在内的追加报头, 且该控制信息使位于所述上游侧的转发节点的下游的转发节点基于包含所述标识符的追加报头来进行分组转发。
4.根据权利要求1?3中任一项所述的通信系统,其中, 所述控制装置针对各转发节点,生成并设定将用于确定所述广播域或组播域的标识符与所述转发节点中的VLAN ID以I对I的方式进行对应的控制信息。
5.根据权利要求1?4中任一项所述的通信系统,其中, 所述控制装置针对各转发节点,生成并设定将用于确定所述广播域或组播域的标识符与所述转发节点中的各端口的VLAN ID以I对I的方式进行对应的控制信息。
6.根据权利要求1?5中任一项所述的通信系统,其中, 能设定比12比特更长的数据长度的所述标识符。
7.—种控制装置,针对构成在包含转发节点的物理网络上的每个虚拟网络来设定广播域或组播域,并对所述转发节点设定将包含用于确定所述设定的广播域或组播域的标识符在内的匹配条件与分组的转发目的地建立了对应的广播或组播用的控制信息。
8.—种通信方法,包含: 针对构成在包含转发节点的物理网络上的每个虚拟网络来设定广播域或组播域的步骤;和 对所述转发节点设定将包含用于确定该广播域或组播域的标识符在内的匹配条件与分组的转发目的地建立了对应的广播或组播用的控制信息的步骤, 使所述转发节点使用所述广播或组播用的控制信息来执行广播或组播。
9.一种程序,使构成对转发节点设定控制信息的控制装置的计算机执行如下处理: 针对构成在包含所述转发节点的物理网络上的每个虚拟网络来设定广播域或组播域的处理;和 对所述转发节点设定将包含用于确定该广播域或组播域的标识符在内的匹配条件与分组的转发目的地建立了对应的广播或组播用的控制信息的处理。
【文档编号】H04L12/761GK104272679SQ201380023703
【公开日】2015年1月7日 申请日期:2013年5月8日 优先权日:2012年5月9日
【发明者】田部阳介 申请人:日本电气株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1