通信系统、控制器、交换机、存储器管理设备和通信方法

文档序号:6495588阅读:276来源:国知局
通信系统、控制器、交换机、存储器管理设备和通信方法
【专利摘要】一种通信系统包括具有iSCSI发起方的服务器设备、具有iSCSI目标的存储器、存储器管理设备、开放流控制器以及开放流交换机。存储器管理设备存储用于每个管理ID的iSCSI通信包的路由数据,该每个管理ID基于iSCSI发起方名称和iSCSI目标名称被确定。服务器设备发送该iSCSI通信包,在该iSCSI通信包中管理ID存储于目的地端口号中。开放流交换机根据条目来传递包。开放流控制器生成和分发将iSCSI通信包传递到开放流交换机的条目。提供了一种通信方法,在该通信方法中由具有上述配置的通信系统基于iSCSI数据来实施流控制,而不对开放流交换机中的包处理产生高负荷。
【专利说明】通信系统、控制器、交换机、存储器管理设备和通信方法
【技术领域】
[0001]本发明涉及一种开放流技术,并且特别地涉及一种基于iSCSI (互联网小型计算机系统接口)的数据进行的开放流控制技术。
【背景技术】
[0002]开放流是在流的各单元中实施路由控制的通信技术。在开放流中,基于MAC地址、IP地址和端口号等的组合确定“流”。在开放流技术中,不是一致地基于源节点和目的地节点来确定路由。在开放流技术中,对于每个流,可以在源节点和目的地节点之间改变路由。另外,除了位于相邻节点之间的系统,还可以在端对端系统(位于终端节点之间)中管理路由。作为开放流技术的相关技术,非专利文献I是已知的。
[0003]另一方面,随着计算机系统的发展,对高速大容量辅助存储器设备的需求日益增力口。特别地,对于处置大规模计算机系统的情况,在许多情形中使用这样的配置,其中存储器(磁盘阵列)作为一组存储器设备与SAN(存储区域网络)连接。iSCSI被公知为通过网络使用SCSI (小型计算机系统接口)命令的协议。从相对廉价的设备成本以及现有基础设施的有效使用的角度,使用iSCSI的SAN在未来很大程度上发展的市场中在商业上受注目。
[0004]作为使用iSCSI的SAN中的相关技术,日本专利公布(JP2004-164490A (专利文献I))是已知的。在JP2004-164490A中公开了一种技术,其中通过在iSCSI存储系统中使用虚拟主机标识符,实施存储器到主机的分配而不改变存储器路由器的设置。
[0005]使用iSCSI的SAN在SCSI的下层中使用TCP / IP (传输控制协议/互联网协议)。使用此开放流技术的开放流交换机只能处置OSI参考模型中上至层4中的TCP层的协议。因为iSCSI层位于OSI参考模型的层4,但是位于比TCP层高的层中,iSCSI层无法被使用开放流技术的开放流交换机识别。因此,此开放流交换机无法通过直接参考包中所包含的iSCSI层数据的SCSI名称(iSCSI发起方名称和iSCSI目标名称)来控制流。需要可以处置iSCSI层中的数据的开放流交换机,从而实现更灵活的流控制。
[0006]引文列表
[0007][专利文献]
[0008][专利文献I] JP2004_164490A
[0009][非专利文献]
[0010][非专利文献 I] " The OpenFlow Switch Consortium"
[0011]〈http: / / www.0penflowswitch.0rg / >

【发明内容】

[0012]本发明的目的是提供一种在使用开放流技术的开放流交换机中的通信方法,该通信方法基于iSCSI数据实施流控制,而不对包处理产生沉重的负荷。
[0013]本发明的通信系统包括:具有iSCSI发起方的服务器设备、具有iSCSI目标的存储器、管理存储器的存储器管理设备、控制开放流交换机的开放流控制器以及传递包的开放流交换机。该存储器管理设备存储用于每个管理ID的iSCSI通信包的路由数据,该每个管理ID基于iSCSI发起方名称和iSCSI目标名称被设置。该服务器设备将iSCSI通信包发送到开放流交换机,在该iSCSI通信包中,管理ID存储于TCP报头的目的地端口号字段。当流表中不存在到iSCSI通信包的条目时,开放流交换机将该iSCSI通信包传递到开放流控制器。当该开放流交换机在该流表中具有用于该iSCSI通信包的条目时,该开放流交换机根据该条目来传递包。当接收到iSCSI通信包时,开放流控制器向存储器管理设备查询与iSCSI通信包中包含的管理ID对应的路由数据。开放流控制器生成条目来传递iSCSI通信包并且将该条目分发到开放流交换机。
[0014]本发明的通信方法是一种由通信系统实施的方法,该通信系统包括具有iSCSI发起方的服务器设备、具有iSCSI目标的存储器、管理存储器的存储器管理设备、控制开放流交换机的开放流控制器以及传递包的开放流交换机。该存储器管理设备存储用于每个管理ID的iSCSI通信包的路由数据,该每个管理ID基于iSCSI发起方名称和iSCSI目标名称被确定。该服务器设备将iSCSI通信包发送到开放流交换机,管理ID被写于或存储于该iSCSI通信包中。该服务器设备在TCP报头的目的地端口号的字段中存储管理ID。当流表中不存在用于iSCSI通信包的任何条目时,该开放流交换机将该iSCSI通信包传递到开放流控制器。当该流表中存在到该iSCSI通信包的条目时,该开放流交换机根据该条目来传递包。当接收到该iSCSI通信包时,该开放流控制器向存储器管理设备查询管理ID。当接收到该iSCSI通信包时,该开放流控制器向该存储器管理设备查询对应于该管理ID的路由数据。该开放流控制器基于路由数据的查询结果来生成传递该iSCSI通信包的条目。该开放流控制器将条目分发到开放流交换机。
[0015]根据本发明,可以提供一种通信方法,在该通信方法中,使用开放流技术的开放流交换机基于iSCSI数据来实施流控制,而不对包处理产生沉重的负荷。
【专利附图】

【附图说明】
[0016]通过将结合附图进行的对本发明示例性实施例的描述,上述事项、其它目的以及特征将变得清楚。
[0017]图1为示出根据本发明示例性实施例的通信系统I的网络配置的示图;
[0018]图2为示出根据本发明示例性实施例的通信系统I中由存储器管理设备300管理的存储器管理表的示图;
[0019]图3为示出根据本发明示例性实施例的通信系统I中的通信方法的示图;
[0020]图4为示出根据本发明示例性实施例的通信系统I中,在从iSCSI发起方发送到iSCSI目标的iSCSI通信包中管理ID500存储的位置的示图;以及
[0021]图5为示出根据本发明示例性实施例的通信系统I中,在从iSCSI目标发送到iSCSI发起方的响应包中管理ID500存储的位置的示图。
【具体实施方式】
[0022]下面将参考附图描述根据本发明示例性实施例的通信系统I。
[0023](配置)
[0024]首先将描述本示例性实施例的通信系统I的配置。图1为示意性示出根据本发明示例性实施例的通信系统I的网络配置的示图。
[0025]本示例性实施例的通信系统I包括服务器设备100、开放流控制器200 (在下文称为“0FC”)、开放流交换机201至204 (在下文称为“0FS”)、存储器管理设备300以及存储器 400。
[0026]服务器设备100包括iSCSI发起方,并且通过通信系统I与存储器400的iSCSI目标401和402通信。
[0027]0FC200和0FS201至204分别与通信路径205至208连接。0FC200通过使用通信路径205至208来设置0FS201至204中用于通信系统I的流控制的流表。另外,0FC200和存储器管理设备300通过通信路径221连接。0FC200通过通信路径221从存储器管理设备300获得用于设置传递iSCSI通信包的流条目的地数据。
[0028]0FS201至204为在通信系统I上传递包的交换机。服务器设备100和存储器400通过通信路径210至219、通过0FS201至204连接。
[0029]管理该存储器400的软件安装于存储器管理设备300中。存储器管理设备300和存储器400通过通信路径230连接。存储器管理设备300通过使用通信路径230来实施控制消息的发送和接收,从而管理存储器400。另外,存储器管理设备300和0FS201通过通信路径220连接。
[0030]图2示出根据本发明的本示例性实施例的通信系统I中,由存储器管理设备300管理的存储器管理表。存储器管理表的条目具有管理ID500、发起方IP地址501、发起方端口号502、发起方名称503、目标端口号504、目标名称505以及目标连接端口 506的字段作为属性。
[0031]管理ID500为唯一地基于iSCSI发起方名称和iSCSI目标名称的组合被确定的数值。发起方IP地址501为作为iSCSI发起方的设备的IP地址。发起方端口号502为由作为用于iSCSI通信的iSCSI发起方的设备使用的端口号。发起方名称503为被指配给作为iSCSI发起方的设备的标识符。目标端口号504为实施iSCSI通信的iSCSI目标的端口号。目标端口号504由存储器管理设备300静态地设置。或者,目标端口号504可以通过通信路径230从iSCSI目标401和402获得。目标名称505为被指配给作为iSCSI目标的设备的标识符。与iSCSI目标连接的OFS以及iSCSI目标所连接的OFS的端口存储于目标连接端口 506的字段中。目标连接端口 506由存储器管理设备300静态地设置,或者通过通信路径230从iSCSI目标401和402获得。
[0032]iSCSI目标401和402存在于存储器400中。同一 IP地址被指配给iSCSI目标401和402。每个iSCSI目标使用“3260”作为实施iSCSI通信的TCP端口号。
[0033](操作)
[0034]接着将描述本示例性实施例的通信系统I的通信方法。图3为示出根据本发明的本示例性实施例的通信系统I的通信方法的示图。将描述服务器设备100上的iSCSI发起方和存储器400上的iSCSI目标401之间的iSCSI通信作为示例。假设服务器设备100上的iSCSI发起方和存储器400上的iSCSI目标401之间的iSCSI通信甚至从未被实施,并且0FS201至204中不存在用于iSCSI通信的流条目。
[0035]步骤(I)
[0036]服务器设备100的iSCSI发起方通过0FS201将发起方名称503和目标名称505通知给存储器管理设备300。
[0037]步骤⑵
[0038]在存储器管理设备300中,“10”作为管理ID500被指配给发起方名称503和目标名称505。存储器管理设备300将在步骤(I)已经被通知的发起方名称503和目标名称504存储在存储器管理表中。存储器管理设备300将为“ 10”的管理ID500通知给服务器设备100的iSCSI发起方。
[0039]步骤(3)
[0040]服务器设备100将在步骤⑵已经从存储器管理设备300通知的为“10”的管理ID500设置为iSCSI通信包的目的地端口号。
[0041]步骤(4)
[0042]服务器设备100在目的地端口号的字段中设置“10”并且发送图4的包。图4为示出根据本发明的本示例性实施例的通信系统I中,在从iSCSI发起方发送到iSCSI目标的iSCSI通信包中,管理ID500存储的位置的示图。在图4的示例中,管理ID500存储于从iSCSI发起方发送到iSCSI目标的iSCSI通信包的TCP报头601的目的地端口号的字段中。
[0043]步骤(5)
[0044]0FS201参考在步骤(4)中从服务器设备100发送的iSCSI通信包。当不存在传递iSCSI通信包的任何流条目时,0FS201通过通信路径205将iSCSI通信包传递到0FC200以用于流控制。在此过程的示例中,假设服务器设备100上的iSCSI发起方和存储器400上的iSCSI目标401之间的iSCSI通信从未被实施,并且用于iSCSI通信的任何流条目不存在于0FS201至204中。因此,0FS201通过通信路径205将iSCSI通信包传递到0FC200以用于流控制。
[0045]步骤(6)
[0046]0FC200通过通信路径221将在步骤(5)中接收的iSCSI通信包中设置的目的地端口号(管理ID500)、源IP地址(发起方IP地址)以及源端口号(发起方端口号)通知给存储器管理设备300。
[0047]步骤(7)
[0048]存储器管理设备300参考TCP报头601的目的地端口号(管理ID500)的字段以及图2的存储器管理表,并且搜索包含管理ID500的条目。存储器管理设备300将在步骤
(6)中通知的iSCSI通信包中的数据(源IP地址以及源端口号)存储在从存储器管理表搜索的条目中的发起方IP地址501和发起方端口号502的字段中。存储器管理设备300将为“3260”的目的地端口号以及为(203-4)的目标连接端口 506通知给0FC200。
[0049]步骤⑶
[0050]0FC200将下述条目写入0FS201至204的流表,该条目定义将从服务器设备100发送的iSCSI通信包的目的地端口号从“10”重写为“3260”的动作,以及将0FS203的输出端口 203_4规定为iSCSI通信中的目的地的规则。
[0051]步骤(9)
[0052]根据流条目中的规则(将从服务器设备100发送的iSCSI通信包传递到0FS203的端口 203_4)以及动作(将从服务器设备100发送的iSCSI通信包的目的地端口号从“10”重写为“3260” ),0FS201将iSCSI通信包传递到0FS203。[0053]步骤(10)
[0054]0FS203通过0FS203的端口 203-4,将从0FS201接收的iSCSI通信包发送到存储器400的目标401。
[0055]步骤(11)
[0056]接收到从服务器设备100发送的iSCSI通信包的存储器400上的目标401实施从该iSCSI通信包取出的SCSI命令的处理。针对服务器设备100的该iSCSI发起方,目标401发送一 iSCSI通信包(对从服务器设备100发送的iSCSI通信包的响应包)。
[0057]步骤(12)
[0058]0FS203参考在步骤(11)从目标401发送的响应包。如果不存在用于处理该响应包的任何流条目,则0FS203将该响应包传递到0FC200。在此过程的示例中,因为0FS203甚至一次都没发送过响应包,所以用于处理该响应包的流条目不存在。因此,0FS203将该响应包传递到0FC200。
[0059]步骤(13)
[0060]0FC200通过通信路径221将在步骤(11)中从目标401发送的响应包中的目的地IP地址(发起方IP地址)和目的地端口号(发起方端口号)通知给存储器管理设备300。
[0061]步骤(14)
[0062]存储器管理设备300基于目的地IP地址(发起方IP地址)和目的地端口号(发起方端口号)参考图2的存储器管理表,从而搜索相应条目。存储器管理设备300将所搜索的条目的管理ID500( “10”)通知给0FC200。
[0063]步骤(15)
[0064]0FC200在0FS201至204的流表中写入下述条目,该条目规定将从存储器400发送的响应包的目的地端口号从“ 3260 ”重写为“ IO ”的动作以及将响应包的目的地指定为0FS201的输出端口 201-1的规则。
[0065]步骤(16)
[0066]根据流条目的规则(将从存储器400发送的响应包传递到0FS201的端口 201_1)和动作(将从存储器400发送的响应包的源端口号从“3260”重写为“ 10”),0FS203将该响应包传递到0FS201。图5为示出根据本发明示例性实施例的通信系统I中,在从iSCSI目标发送到iSCSI发起方的响应包中存储的管理ID500的位置的示图。管理ID500存储于从iSCSI目标发送到iSCSI发起方的响应包的TCP报头601的源端口号的字段中。
[0067]步骤(17)
[0068]0FS201通过0FS201的端口 201_1将从0FS203接收的响应包发送到服务器设备100的iSCSI发起方。
[0069]步骤(18)
[0070]随后,从服务器设备100的iSCSI发起方传递的iSCSI通信包根据0FS201至204的流条目被传递。因为在0FS201至204的流表中已经存在条目,所以到0FC200的包传递不被实施。
[0071]步骤(19)
[0072]从存储器400的目标401传递的响应包根据0FS201至204的流条目被传递。因为0FS201至204的流表中已经存在条目,所以到0FC200的包传递不被实施。[0073]在本示例性实施例中,管理ID500存储于TCP报头的目的地端口号中以用于流控制,而不将iSCSI名称存储于TCP报头的选项区域中。因此,在0FS201至204的包处理中,供应商扩展操作变得不必要,使得高速交换成为可能。
[0074]另外,在本示例性实施例中,通过将iSCSI名称存储于TCP报头的选项字段中,iSCSI通信包基于TCP报头的目的地端口号的字段中存储的管理ID500来识别,而不识别iSCSI通信包。因此,包的数据大小被抑制的流控制成为可能。
[0075]另外,在本示例性实施例中,管理ID500基于iSCSI发起方名称503和iSCSI目标名称505被确定。因为单独地被设置到iSCSI目标的IP地址不用于确定管理ID500,因此可以实现具有可扩展配置的存储器400。在本示例性实施例中,即使目标根据需要被添加到存储器400,如果iSCSI名称不改变,流也可以基于相同的管理ID500被控制。
[0076]在本示例性实施例中,同一 IP地址被设置到所有iSCSI目标。然而,即使在单独IP地址被设置到每个iSCSI目标的情况下,本发明也可以被实施。这种情况下,通过将被设置到整个存储器400的虚拟IP地址设置为目的地IP地址,iSCSI发起方发送包。在重写目的地端口号的同时,0FS201至204将目的地IP地址重写为用于每个目标的IP地址。另夕卜,以同样的方式,对于来自目标的响应包,0FS201至204在重写源端口号时将源IP地址重写为被设置到整个存储器400的虚拟IP地址。
[0077]如上所述,已经参考附图描述了本发明的示例性实施例。然而,本发明不限于上述示例性实施例,并且可以由本领域技术人员进行适当调整而不偏离本发明的精神。
[0078]应指出,本专利申请根据公约主张基于日本专利申请JP2011-134425的优先权。其公开内容通过引用结合于此。
【权利要求】
1.一种通信系统,包括: 服务器设备,包括iSCSI发起方; 存储器,包括iSCSI目标; 存储器管理设备,被配置成管理所述存储器; 开放流控制器,被配置成控制开放流交换机;以及 所述开放流交换机,被配置成传递包, 其中所述存储器管理设备存储用于每个管理ID的iSCSI通信包的路由数据,所述每个管理ID是基于iSCSI发起方名称和iSCSI目标名称而确定的, 其中所述服务器设备将所述iSCSI通信包发送到所述开放流交换机,在所述iSCSI通信包中所述管理ID被设置在TCP报头的目的地端口号的字段中, 其中所述开放流交换机在用以处理所述iSCSI通信包的任何条目都不存在于流表中时,将所述iSCSI通信包传递到所述开放流控制器,并且在用以处理所述iSCSI通信包的所述条目存在于所述流表中时,基于所述条目来传递所述iSCSI通信包,以及 其中所述开放流控制器在接收到所述iSCSI通信包时向所述存储器管理设备查询对应于所述管理ID的所述路由数据,生成用以传递所述iSCSI通信包的所述条目,并且将所述条目分发到所述开放流交换机。
2.根据权利要求1所述的通信系统,其中,当不保持所述管理ID时,所述服务器设备在发送所述iSCSI通信包之前,将所述iSCSI发起方名称和所述iSCSI目标名称发送到所述存储器管理设备,以及 其中所述存储器管理设备基于所述iSCSI发起方名称和所述iSCSI目标名称来分配所述管理ID,并且将所述管理ID发送到所述服务器设备。
3.根据权利要求1或2所述的通信系统,其中用以传递从所述服务器设备发送的所述iSCSI通信包的所述条目具有用以将被存储在所述TCP报头的所述目的地端口号字段中的所述管理ID重写为由所述iSCSI目标使用的端口号的动作,以及 其中用以传递从所述存储器发送的所述iSCSI通信包的所述条目具有将所述TCP报头的源端口号重写为所述管理ID的动作。
4.根据权利要求1至3中任意一项所述的开放流控制器。
5.根据权利要求1至3中任意一项所述的开放流交换机。
6.根据权利要求1至3中任意一项所述的存储器管理设备。
7.—种在通信系统中的通信方法,所述通信系统包括: 服务器设备,包括iSCSI发起方; 存储器,包括iSCSI目标; 存储器管理设备,被配置成管理所述存储器; 开放流控制器,被配置成控制开放流交换机;以及 所述开放流交换机,被配置成传递包, 所述通信方法包括: 由所述存储器管理设备存储用于每个管理ID的iSCSI通信包的路由数据,所述每个管理ID是基于iSCSI发起方名称和iSCSI目标名称而确定的; 由所述服务器设备将所述管理ID存储在TCP报头的目的地端口号的字段中;由所述服务器设备将所述iSCSI通信包发送到所述开放流交换机,所述管理ID被存储在所述iSCSI通信包中; 当用以处理所述iSCSI通信包的任何条目都不存在于流表中时,由所述开放流交换机将所述iSCSI通信包传递到所述开放流控制器; 当用以处理所述iSCSI通信包的所述条目存在于所述流表中时,由所述开放流交换机基于所述条目来传递所述iSCSI通信包; 在接收到所述iSCSI通信包时,由所述开放流控制器向所述存储器管理设备查询对应于所述管理ID的所述路由数据; 基于向所述存储器管理设备的查询的结果,由所述开放流控制器生成用以传递所述iSCSI通信包的所述条目;以及 由所述开放流控制器将所述条目分发到所述开放流交换机。
8.根据权利要求7所述的通信方法,还包括: 当不保持所述管理ID时,在发送所述iSCSI通信包之前,由所述服务器设备将所述iSCSI发起方名称和所述iSCSI目标名称发送到所述存储器管理设备;以及 由所述存储器管理设备基于所述iSCSI发起方名称和所述iSCSI目标名称来分配所述管理ID;以及 由所述存储器管理设备将所述管理ID发送到所述服务器设备。
9.根据权利要求7或8所述的通信方法,还包括: 将被存储在TCP报头的目的地端口号中的所述管理ID重写为从所述服务器设备发送的所述iSCSI通信包中的所述iSCSI目标所使用的端口号;以及 将所述TCP报头的源端口号重写为从所述存储器发送的所述iSCSI通信包中的所述管理ID。
【文档编号】G06F13/10GK103608791SQ201280029418
【公开日】2014年2月26日 申请日期:2012年6月14日 优先权日:2011年6月16日
【发明者】峰下孝 申请人:日本电气株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1