通信系统、节点、控制设备、通信方法以及程序的制作方法_4

文档序号:9600679阅读:来源:国知局
证信息的请求)的时间点直到数据包被传递到主机⑶的时间点为止的流的序列的参考图和顺序图。
[0104]如图13和图14中所示,当主机㈧将要发送到主机⑶的用户数据包发送到节点#1时(ST1 ;图13和图14中的用户数据包),节点#1在流表13中搜索(流条目)并且因此,确定数据包为不具有匹配所接收到的数据包的处理规则(流条目)的未知数据包(在图12中的步骤S103为否)。节点#1将查询(创建处理规则(流条目)和验证信息的请求)发送给控制设备(控制器)20 (ST2 ;图13和图14中的Packet-1n)。
[0105]当接收到查询(创建处理规则(流条目)和验证信息的请求)时,控制设备(控制器)20根据图11中的流程图来创建要在此数据包的转发路径上的节点#1至节点#3中设置的处理规则(流条目)和验证信息(CA),并且将它们发送到节点#1-#3(ST3-1至ST5-1 ;图 13 和图 14 中的 Flow Mod(Add)w/CA)。
[0106]节点#1-#3中的每一个将从控制设备(控制器)20发送的处理规则(流条目)和验证信息(CA)添加到其自身设备的流表13,并且如果添加了缓冲区ID,则对数据包执行动作(图13和图14中的ST3-2至ST5-2)。在下文的描述中,假定在图13和图14中的ST4-1中发送的处理规则(流条目)和验证信息(CA)由于某些原因未到达节点#2,并且因此处理规则(流条目)和验证信息(CA)未被添加到节点#2的流表13。
[0107]并且然后,节点#1生成添加了包括验证信息(CA)的额外头部的用户数据包(参见图9),并且根据在ST3-1中接收到的处理规则中包括的动作(参见与DPID = 1、匹配键=A以及验证信息=CA相对应的图5中的条目中的动作(Act1ns))从规定端口(连接到节点#2的端口 )输出所生成的数据包(图13和图14中的ST6)。
[0108]当接收到添加了包括验证信息(CA)的额外头部的用户数据包时,节点#2在流表13中进行搜索,并且因此确定不存在匹配所接收到的数据包的处理规则(流条目)或存在匹配所接收到的数据包的处理规则(流条目)但验证信息并不匹配所接收到的数据包的验证信息(在图12中在步骤S103为否,或在步骤S106为否)。节点#2将查询(创建处理规则(流条目)和验证信息的请求)发送到控制设备(控制器)20(ST8 ;图13和图14中Packet-1n)。
[0109]当接收到查询(创建处理规则(流条目)和验证信息的请求)时,控制设备(控制器)20获取要在该数据包的路径上的节点#2中设置的处理规则(流条目)和验证信息(CA)(图11中的步骤S012),并且根据图11中的流程图将它们发送到节点#2(ST9 ;图13和图 14 中的 Flow Mod (Add) w/CA)。
[0110]节点#2将从控制设备(控制器)20发送的处理规则(流条目)和验证信息添加到其自己的设备的流表13,并且如果添加了缓冲区ID,则执行动作(图13和图14中的ST10)。
[0111]并且然后,节点#2根据在ST10中所接收到的处理规则中的动作(参见图5中的与DPID = 2、匹配键=A以及验证信息=CA相对应的条目中的动作(Act1ns))从规定端口(连接到节点#3的端口)输出添加了包括验证信息(CA)的额外头部的用户数据包(图13和图14中的ST11)。
[0112]当接收到添加了包括验证信息(CA)的额外头部的用户数据包时,节点#3在流表13中进行搜索,并且因此确定处理规则(流条目)中的一个符合所接收到的数据包并且验证信息也匹配所接收到的数据包的验证信息(在图12中在步骤S103为是并且在步骤106中为是),并执行在所提取的和所确认的处理规则中定义的动作(图13和图14中的ST12)。
[0113]更具体而言,节点#3从用户数据包移除包括验证信息(CA)的额外头部,并且根据在ST12中提取的和确认的处理规则(流条目)中的动作(参见图5中的与DPID = 3、匹配键=A以及验证信息=CA相对应的条目中的动作(Act1ns))从规定端口(连接到主机(B)的端口)输出该数据包(图13和图14中的ST13)。
[0114]如上文所述,在不仅处理规则(流条目)的匹配键匹配所接收到的数据包的头部信息而且由控制设备(控制器)20单独地生成的验证信息也匹配所接收到的数据包的验证信息的条件下,在此示例性实施例中执行动作。因此,此示例性实施例可以避免在本说明书的开始处所述的条件,其中执行了在处理规则(流条目)中规定的非计划动作。
[0115]在此示例性实施例中,如果在步骤S104中确定验证信息未被包括在所接收到的数据包中,则在没有比较验证信息、考虑无需向其添加验证信息的数据包的情况下执行动作。作为其替代,如果验证信息未被包括在所接收到的数据包中,也能够总是防止动作的执行。
[0116](第二示例性实施例)
[0117]接下来,将参照附图来详细地描述本发明的第二示例性实施例。尽管在上文所述的本发明的第一示例性实施例中使用包括验证信息的额外头部将验证信息添加到数据包,但是还可以在不使用额外头部的情况下在数据包中包括验证信息。下文描述了第二示例性实施例,其中验证信息被包括在数据包中而不使用额外头部。因为第二示例性实施例中节点10和控制设备(控制器)20的基本配置与第一示例性实施例中的节点10和控制设备(控制器)20的基本配置类似,所以下文以差异为重点来描述配置。
[0118]图15为示意性地示出了在此示例性实施例中的控制设备(控制器)20的流条目DB 21中保存的信息(流条目)的图。此示例性实施例与第一示例性实施例不同在于独立验证信息字段未被包括在流条目DB 21中,而是包括验证信息(CA)的匹配键被存储在流条目的匹配键字段中,以及在于用于将验证信息写入(或者恢复)到MAC DA字段中的处理被定义为动作(更严格地,利用值Dn’(参见图19)来替换MAC DA字段并且恢复MAC DA字段)。在下文的描述中,原始MAC DA字段的值被指示为“Dn”,而被转换为包括验证信息(CA)的MAC DA字段的值被指示为“Dn’ ”。
[0119]例如,当接收到与匹配键“A”匹配的数据包时,图15中的DPID为1的节点(例如,图3中的节点#1)根据动作字段(Act1ns)将包括验证信息(CA)的值D1’设置在数据包的MAC DA字段,并且然后从第九端口输出数据包。当从DPID为1的节点(例如,图3中的节点#1)接收到MAC DA字段包括验证信息(CA)的数据包(与匹配键A’匹配的数据包)时,DPID为2的节点(例如,图3中的节点#2)将数据包从第六端口输出。当从DPID为2的节点(例如,图3中的节点#2)接收到MAC DA字段包括验证信息(CA)的数据包(与匹配键A’匹配的数据包)时,DPID为3的节点(例如,图3中的节点#3)将MAC DA字段恢复为和原始接收到的数据包的MAC DA的字段相同的内容(D1),并且从第一端口输出数据包。作为上文处理的结果,在验证信息“CA”被用于匹配期间,控制转发路径使得验证信息“CA”由转发路径上的第一跳节点来添加并且数据包经由规定路径来转发。
[0120]图16为示意性地示出了在此示例性实施例中的控制设备(控制器)20的验证信息DB 27中保存的信息(验证信息)的图。该信息不同于第一示例性实施例中的信息在于添加了用于将MAC DA字段恢复为和原始接收的数据包的MAC DA的那些相同的内容的原始MAC DA字段的内容(与图15中的Dl、D2以及DX相对应)以及用于执行该恢复处理的最后跳的节点数量。
[0121]图17为示出了此示例性实施例中的节点10a的具体配置的图。该配置不同于示出第一示例性实施例中的节点10的配置的图7中的配置,在于验证信息匹配单元152a、表搜索单元153a以及转发处理单元15a替换对应的单元,因为验证信息以及验证信息匹配单元152a的比较操作在两个示例性实施例之间不同(将稍后描述细节)。
[0122]图18为示意性地示出了在图15中的DPID为2的节点(图3中的节点#2)的流表13中保存的信息(流条目)的图。如图18中所示,从图15中的流条目DB 21中检索的对应的DPID的流条目被设置在流表13中。在图15中的DPID为1和3的节点(图3中的节点#1和#3)中,类似地设置了与DPID中的每一个相对应的流条目。
[0123]图19为示出由节点10基于由控制设备(控制器)20设置的动作(将MAC DA设置为D1’ ;参见图15中的节点为DPID = 1的节点的动作(Act1ns))来重写的数据包的配置的图。在图19中的示例中,添加了验证信息的数据包32a具有下面这样的配置,其中在图19的底部示出的48比特信息被写入在用户数据包31的MAC DA字段中。尽管包括指示验证信息的8比特固定数据,但是函数A (最后跳节点的DPID,原始MAC DA)和函数f2 (匹配键,随机数)被写入在图19中的示例中,此配置仅仅是示例性的。可以根据需来改变用于存储验证信息的字段、验证信息的内容以及用于减少原始数据的函数。
[0124]接下来,描述此示例性实施例的操作。图20为在本发明的第二示例性实施例中的控制设备(控制器)的操作的流程图。在此图中示出的操作不同于示出了第一示例性实施例中的控制设备(控制器)的图11的操作在于,当控制设备在步骤S002a中检查验证信息是否被包括在查询数据包中时,控制设备并非检查额外头部,而是检查上述固定数据(参见图19)是否写入在MAC DA中。其它步骤类似于第一示例性实施例中的那些步骤,并且因此在这里省略描述。
[0125]图21为示出了本发明的第二示例性实施例中的节点10a操作的流程图。该操作不同于示出第一示例性实施例中的节点10的操作的图12中的操作在于,当节点在步骤S104a中检查验证信息是否被包括在所接收的数据包中时,节点并非检查额外头部,而是检查上述固定数据(参见图19)是否被写入在MAC DA中,并且还在于最后跳节点不删除额外头部而是根据转发数据包之前的动作来恢复原始MAC DA。其它步骤类似于第一示例性实施例中的那些步骤并且因此在这里省略描述。
[0126]如上文所述,可以以验证信息被包括在现有数据包的特定字段中的模式来实现本发明。
[0127](第三示例性实施例)
[0128]接下来,将参照附图来详细地描述本发明的第三示例性实施例。尽管在本发明的第一示例性实施例中通过将验证信息与流表的流条目相关联而将相同验证信息存储在节点中,但是其中节点使用不同的验证信息来进行比较的另一配置也是可能的。下文描述了第三示例性实施例,其中节点使用不同的验证信息来进行比较。因为第三示例性实施例中节点10和控制设备
当前第4页1 2 3 4 5 6 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1