CN102148760A - Id申请方法、装置及系统 - Google Patents
Id申请方法、装置及系统 Download PDFInfo
- Publication number
- CN102148760A CN102148760A CN2011100850962A CN201110085096A CN102148760A CN 102148760 A CN102148760 A CN 102148760A CN 2011100850962 A CN2011100850962 A CN 2011100850962A CN 201110085096 A CN201110085096 A CN 201110085096A CN 102148760 A CN102148760 A CN 102148760A
- Authority
- CN
- China
- Prior art keywords
- fbatch
- main process
- switch
- process equipment
- batch processing
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Images
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供ID申请方法、装置及系统。该方法包括:主机设备向交换机发送携带有批处理能力请求的FLOGI,以使所述交换机响应于所述FLOGI中所携带的批处理能力请求,向所述主机设备返回携带有批处理配置信息的LS_ACC;所述主机设备接收到所述交换机返回的所述LS_ACC后,若根据所述批处理配置信息获知所述交换机支持批处理操作,则向所述交换机发送携带有所要申请ID的数量的FBATCH Request,以使交换机若检测获知本次可分配的ID资源不少于所要申请ID的数量,则响应于所述FBATCH Request,向所述主机设备返回携带有数量与所述要申请ID的数量等量的ID的FBATCH Reply。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种ID申请方法、装置及系统。
背景技术
随着网络存储和各种分布式应用的不断发展,企业和用户对高速通信技术的需求越来越高。FC(Fibre Channel,光纤通道)是一种高速度、高可靠、低延迟、高吞吐量的数据传输系统,极大地满足了企业和用户的这种高速通信需求,其可以广泛应用于高性能存储、大规模数据库和数据仓库、存储备份与恢复、集群系统、网络存储系统、数字视频网络等领域。
FC网络中,最主要的寻址方式是使用24bit的FC ID(类似IP网络中的IP地址),所有的主机设备都必须获得至少一个FC ID才能发起对外的通讯。FC ID是在主机设备和FC交换机之间动态交互获得的,当主机设备需要一个FC ID时必须先发起一个FLOGI操作等待FC交换机应答,当FC交换机认同该FLOGI操作时会反馈一个LS_ACC的应答给主机设备,其中就包含了由FC交换机分配出来的FC ID信息,该信息将作为主机设备的FC ID。
FC这种连接在物理上是点对点的,在这两点之间的逻辑连接上也是点对点连接,即一个FC交换机端口(F端口)仅需对外分配一个FC ID给主机设备(N端口)。但是自从出现了NPV(N-Port Virtualizer)的技术后,逻辑上主机设备和FC交换机之间的一条物理链路上可以建立多个虚拟的N端口对应一个F端口的对应,即一个FC交换机端口(F端口)可能需对外分配多个FC ID给主机设备(NPV端口)。图1为现有技术中主机设备申请多个FC ID的流程图。如图1所示,当主机设备第一次申请FC ID时发送FLOGI(用于申请FC ID,并进行其它交互参数协商)到FC交换机对应的端口,FC交换机收到后在自身能够分配新ID的情况下反馈一个LS_ACC的应答给主机设备,主机设备因此获得第一个ID信息。后续的FC ID的申请,由主机设备发起FDISK操作后同样由FC交换机应答一个LS_ACC分配出一个FC ID。若存在多个FC ID的申请,将一直重复这个过程。
可以看出,采用上述ID申请方法,主机设备与FC交换机之间所需的交互次数与所需申请ID的个数相同。在实现应用中,已经出现了可以虚拟多达1K个NPV端口的主机设备,因此如果1k个虚拟NPV端口都需要申请FC ID的话,那么将看到存在总共1K次主机设备与FC交换机之间的交互过程,这将大大影响FC的工作效率,使得FC从失效状态转换成工作状态(例如FC接口发生link down再link up、或者热插拔等事件)所需的时间将大幅加长。
发明内容
针对上述缺陷,本发明提供ID申请方法、装置及系统,用以实现批量申请FC ID,从而提高网络性能。
本发明提供了一种ID申请方法,包括:
步骤S1,主机设备向交换机发送携带有批处理能力请求的登录请求报文(FLOGI),以使所述交换机响应于所述FLOGI中所携带的批处理能力请求,向所述主机设备返回携带有批处理配置信息的链路状态应答报文(LS_ACC);
步骤S2,所述主机设备接收到所述交换机返回的所述LS_ACC后,若根据所述批处理配置信息获知所述交换机支持批处理操作,则向所述交换机发送携带有所要申请ID的数量的批处理请求报文(FBATCH Request),以使所述交换机若获知本次可分配的ID资源不少于所要申请ID的数量,则响应于所述FBATCH Request,向所述主机设备返回携带有数量与所述要申请ID的数量等量的ID的批处理响应报文(FBATCH Reply)。
根据本发明的另一方面,还提供一种主机设备,包括:
登录请求报文发送模块,用于向交换机发送携带有批处理能力请求的FLOGI,以使交换机接收到所述FLOGI后,响应于所述FLOGI中所携带的批处理能力请求,向所述主机设备返回携带有批处理配置信息的链路状态应答报文LS_ACC;
批处理请求报文发送模块,用于接收到所述交换机返回的所述LS_ACC后,若根据所述批处理配置信息获知所述交换机支持批处理操作,则向所述交换机发送携带有所要申请ID的数量的FBATCH Request,以使所述交换机若获知本次可分配的ID资源不少于所要申请ID的数量,则响应于所述FBATCH Request,向所述主机设备返回携带有数量与所述要申请ID的数量等量的ID的FBATCH Reply;
批处理响应报文接收模块,用于接收所述FBATCH Reply。
根据本发明的又一方面,还提供了另一种ID申请方法,包括:
步骤S1’,交换机从主机设备接收携带有批处理能力请求的登录请求报文FLOGI;
步骤S2’,所述交换机响应于所述FLOGI中所携带的批处理能力请求,向所述主机设备返回携带有批处理配置信息的链路状态应答报文LS_ACC,以使所述主机设备接收到所述交换机返回的所述LS_ACC后,若根据所述批处理配置信息获知所述交换机支持批处理操作,则向所述交换机发送携带有所要申请ID的数量的FBATCH Request;
步骤S3’,所述交换机若获知本次可分配的ID资源不少于所要申请ID的数量,则响应于所述FBATCH Request,向所述主机设备返回携带有数量与所述要申请ID的数量等量的ID的FBATCH Reply。
根据本发明的又一方面,还提供一种交换机,包括:
登录请求报文接收模块,用于从主机设备接收携带有批处理能力请求的FLOGI;
链路状态应答报文发送模块,用于响应于所述FLOGI中所携带的批处理能力请求,向所述主机设备返回携带有批处理配置信息的LS_ACC;
批处理请求报文接收模块,用于接收所述主机设备向所述交换机发送携带有所要申请ID的数量的FBATCH Request,其中所述FBATCH Request为主机设备若根据所述批处理配置信息获知所述交换机支持批处理操作时发送;
批处理响应报文发送模块,用于接收所述FBATCH Request,若检测获知本次可分配的ID资源不少于所要申请ID的数量,则响应于所述FBATCH Request,向所述主机设备返回携带有数量与所述要申请ID的数量等量的ID的FBATCH Reply。
本发明还提供一种ID申请系统,包括本发明提供的主机设备和交换机。
根据本发明的ID申请方法、主机设备、交换机及ID申请系统,通过主机设备与交换机之间在FLOGI/LS_ACC交互过程中进行了批处理相关参数协商,并当协商成功后在两者之间进行FBATCH交互过程,实现了批量申请ID,极大地缩短了申请大量ID所需时间,显著提高了网络性能。
附图说明
图1为现有技术中主机设备申请多个FC ID的流程图。
图2为本发明ID申请方法的流程图。
图3为主机设备与交换机之间进行FLOGI/LS_ACC交互的流程图。
图4为主机设备与交换机之间进行FBATCH交互的流程图。
图5为本发明另一ID申请方法的流程图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚,下面将结合附图,对本发明的技术方案进行清楚、完整地描述。
本发明ID申请方法可适用于图1所示的网络架构。如图1所示,该网络包括互相通信的主机设备和交换机。本发明的ID申请方法用于主机设备向交换机申请ID。下面结合本发明ID申请方法的流程图对ID申请过程进行详细说明。
图2为本发明ID申请方法的流程图。如图2所示,该ID申请方法包括:
步骤S1,主机设备向交换机发送携带有批处理能力请求的FLOGI,以使所述交换机响应于所述FLOGI中所携带的批处理能力请求,向所述主机设备返回携带有批处理配置信息的LS_ACC;
步骤S2,所述主机设备接收到所述交换机返回的所述LS_ACC后,若根据所述批处理配置信息获知所述交换机支持批处理操作,则向所述交换机发送携带有所要申请ID的数量的FBATCH Request,以使所述交换机若本次可分配的ID资源若不少于所要申请ID的数量,则响应于所述FBATCH Request,向所述主机设备返回携带有数量与所述要申请ID的数量等量的ID的FBATCH Reply。
下面结合主机设备与交换机之间的通信报文的设置对上述步骤进行详细说明。
具体地,主机设备在向交换机发送的FLOGI中携带批处理能力请求,以及交换机在向主机返回的LS_ACC中携带批处理配置信息,均通过对现有的FC服务参数的设置来实现。表1为FC服务参数能力列表。
表1
在步骤S1中,主机设备在向交换机发送的FLOGI中,将表1中所示的Valid Vendor Version Level字段设置为1,以启用FLOGI中的payload域。该payload域用于为FLOGI/LS_ACC配置负载信息,其具体内容及格式参见表2。
表2
如表2所示,FLOGI的payload域中包括有Vendor Version Level域,该域占用16字节,主机设备通过对该域进行设置以在FLOGI中携带批处理能力请求。下面结合表3至表6对Vendor Version Level域的帧格式及各字段内容进行说明。
表3
表4
表5
表6
在上述表格中,表3为Vendor Version Level域帧格式。如表3中所示,Vendor Version Level域中包括Magic num字段、Version字段、V字段、Type字段、T字段和Data字段。表4为对Vendor Version Level域中的上述各字段的说明列表,分别对Magic num字段、Version字段、V字段、Type字段、T字段和Data字段的含义及数值类型进行了说明。
其中,FLOGI中有效的字段包括Magic num字段、Version字段、Type字段和Data字段。具体地,Magic num字段用于区分不同厂商的Vendor VersionLevel,一般使用6字节的厂商名称,为ASCII码字符。此处,主机设备在FLOGI中将Magic Num字段设为“FBATCH”,以标识批处理能力请求;Version字段表示版本号,其为0-127中的任意数值;Type字段是用于表示Data字段的类型字段。表5中对Type字段进行了进一步的说明。
如表5所示,当Type字段为0x00时表示查询是否具备批处理功能;当Type字段为0x01时表示应答,并仅当Type字段为0x01时Data字段生效。更为具体地,表6中示出了Data字段包括S字段、Num字段和Reserve字段,并说明了各字段含义。
图3为主机设备与交换机之间进行FLOGI/LS_ACC交互的流程图。结合图2和图3,主机设备与交换机之间进行的FLOGI/LS_ACC交互包括:
在步骤S1中,主机设备为了在FLOGI报文中携带批处理能力请求需进行以下设置:首先将FLOGI中的Valid Vendor Version Level域设置为1,启动了payload域;将payload域中的Vendor Version Level域的Magic num字段设置为“FBATCH”,标识该报文包含批处理能力请求;将Version字段设置为本地支持的最高版本号;并将Type字段设置为0x00,以探询交换机是否支持批处理操作。
交换机接收到主机设备发送的FLOGI后,首先检测Valid Vendor VersionLevel域的数值,若数值为1,则确定Vendor Version Level域有效;若数值不为1,则确定Vendor Version Level域无效,按照原有的用于分配单个FC ID的流程发送LS_ACC。在Vendor Version Level域有效的前提下,交换机对Vendor Version Level域中的Magic Num字段、Version字段和Type字段的合法性进行判断,具体包括以下步骤:Version
获取Vendor Version Level域的前6个字节,即Magic Num字段的内容,若所获取的内容为“FBATCH”,则认定合法,对应答的LS_ACC进行相应的修改,即将LS_ACC的Vendor Version Level域的Magic Num字段内容设置为“FBATCH”,并继续进行其他字段的检测;反之,则认定不合法,直接按照原有的用于分配单个FC ID的流程发送LS_ACC;
获取Version字段数值,检测该数值是否不大于本地支持的版本数值,若不大于,则认定合法,将LS_ACC的Vendor Version Level域的Version字段内容设置为双方支持的最高版本,并将Vendor Version Level域的V字段内容设置为1,以表示支持该版本,并继续进行其他字段的检测;若小于,则将LS_ACC的Vendor Version Level域的Version字段内容设置为本地最高版本,并将Vendor Version Level域的V字段内容设置为0,以表示不支持该版本,直接按照原有的用于分配单个FC ID的流程发送LS_ACC;
获取Type字段数值,若检测该字段数值为0x00,则认定合法,将LS_ACC的Vendor Version Level域的Type字段内容设置为0x01,并将Vendor VersionLevel域的T字段内容设置为1,以表示类型域合法;若该字段数值不为0x00,则将LS_ACC的Vendor Version Level域的Type字段内容设置为0x01,并将Vendor Version Level域的T字段内容设置为0,以表示类型域不合法,直接按照原有的用于分配单个FC ID的流程发送LS_ACC。
完成上述合法性判断后,交换机还对本地配置是否支持一次分配多个FCID进行判断,若支持,则将Vendor Version Level域的Data字段的S字段设置为1,将Num字段设置为本地用户配置或默认设置的一次可支持分配的FCID数量,并在完成设置后按照与原有的用于分配单个FC ID的流程发送LS_ACC;若不支持,则将Vendor Version Level域的Data字段的S字段设置为0,以表示不支持,并直接按照原有的用于分配单个FC ID的流程发送LS_ACC。
在步骤S2中,主机设备收到LS_ACC后,检测该LS_ACC中携带的批处理配置信息,具体包括:
检测Vendor Version Level域的Magic Num字段是否为FBATCH,若是,则执行下一步检测;若否,则执行原有的申请单个FC ID的流程;
检测V字段是否为1,若是,则执行下一步检测;若否,则执行原有的申请单个FC ID的流程;
检测T字段是否为1,若是,则执行下一步检测;若否,则执行原有的申请单个FC ID的流程;
检测S字段是否为1,若是,则执行下一步检测;若否,则执行原有的申请单个FC ID的流程;
检测Num字段是否大于1,若是,则进入FBATCH交互流程;若否,则执行原有的申请单个FC ID的流程。
图4为主机设备与交换机之间进行FBATCH交互的流程图。结合图2和图4,主机设备与交换机之间进行的FBATCH交互包括:
在步骤S3中,主机设备根据本地需要申请的FC ID的情况及获得的交换机可一次性申请的FC ID的数目,准备FBATCH Request报文并发送给交换机。FBATCH Request报文遵循FC的帧头定义,表7为FC的帧头格式。
表7
其中,R_CTL域沿用扩展链路服务(Extended Link Service,ELS)的定义,具体定义如表8所示。
表8
因此,在FBATCH Request报文中,R_CTL域的information字段设置为0010b,在交换机返回的FBATCH Reply报文中,R_CTL域的information字段设置为0011b;D_ID域设置为0xFFFFFE(该地址为广播地址,用于在进行服务请求时使用);S_ID域设置为之前LS_ACC中反馈的ID值;TYPE域表示后续的Parameter的类型,由于type域受控于R_CTL中的类型定义,而所有R_CTL中的定义对应的TYPE域值0xE0-0xFF都表示Vendor specific类型,因此本发明将采用TYPE=0xE0(FBATCH)值作为新增报文的类型字段;其它域都置0,在TYPE为0xE0时无需关心。
表9为FBATCH Request报文Parameter域说明。表10为FBATCHRequest报文Parameter域中各字段内容说明。
表9
表10
主机设备首先判断交换机可一次提供的FC ID数量是否大于等于本机需要申请的数量,若是,则将ID申请数量设置为本机实际需要申请的数量;若否,则将ID申请数量设置为交换机一次允许申请的FC ID数量。
构造FBATCH Request报文的过程中,结合上述分析,将R_CTL域的information字段设置为0010b;D_ID域设置为0xFFFFFE;S_ID域设置为之前LS_ACC中反馈的ID值;TYPE域设置为0xE0;Parameter域的Num字段设置为上述判断获得的ID申请数量。
完成FBATCH Request报文的构造后,将该FBATCH Request报文发送至交换机。优选地,在发送报文的同时,启动接收超时定时器,以根据能否在定时时间内接收到交换机返回的FBATCH Reply报文来确定申请是否失败,即:若在接收超时定时器超时后未收到所述交换机返回的FBATCH Reply报文,则获知申请失败,结束等待。
交换机接收到FBATCH Request报文后,对报文进行合法性检验,即检测:R_CTL域的information字段是否为0011b,D_ID域是否为0xFFFFFE,S_ID域中的ID值是否为本地分配过的ID值,以及TYPE域是否为0xE0。若其中的任意一项或多项为否,则认为报文不合法,丢弃该报文;若上述检测结果均为是,则认为报文合法,并根据S_ID域中的ID值获取主机设备的信息(交换机在向主机设备返回分配有该ID值的LS_ACC时,会记录所分配的ID值所对应的主机设备的信息(例如包括主机设备的地址栏),该主机设备的信息携带在主机设备发送至交换机的FLOGI报文中,具体信息内容与现有技术中的申请单一ID的方法相同)。
随后,交换机从FBATCH Request的Num字段中获知主机设备所要申请的FC ID数量,并按照以下设置构造FBATCH Reply报文:将R_CTL域的information字段设置为0011b;D_ID域设置为FBATCH Request报文中的S_ID;S_ID域设置为主机设备的地址;TYPE域设置为0xE0;此外,还需判断是否能满足所要申请ID的数量,若是,则将Parameter域的Num字段设置为所要申请ID的数量;若否,则将Parameter域的Num字段设置为本次能够分配的ID数量(该数量可以为0),并在Parameter域的FC ID[n]字段(参见表11和表12,表11为FBATCH Reply报文Parameter域说明,表12为FBATCH Reply报文Parameter域中各字段内容说明)中设置分配的FC ID,当分配的ID数量为0时,FC ID[n]字段可空置。
表11
表12
域 | 说明 |
Num | 本次总共分配的FC ID的个数 |
FC ID[n] | 表示分配出来的FC ID值,具体的FC ID个数由Num域给定 |
Reserve | 保留域 |
完成构造上述FBATCH Reply报文后,交换机将该FBATCH Reply报文发送至主机设备。
主机设备接收到FBATCH Reply报文后,对报文进行合法性检验,即检验:R_CTL域的information字段是否为0011b;D_ID域字段是否为之前分配的ID;S_ID域是否与LS_ACC中的一致以及TYPE域设置是否为0xE0。若以上检验结果有任意一项或多项为否,则认为报文不合法,丢弃报文;当以上检验结果均为是时,认为该报文合法,并删除之前创建的接收超时定时器。
接下来,主机设备检验该FBATCH Reply报文中应答的Num是否与所发送的FBATCH Request报文的Num一致,若不一致,则将FC ID[n]字段中的ID取出并分发,减少本地需要申请的ID数量,剩余未申请到的FC ID认为申请失败,并结束流程;若一致,则将FC ID[n]字段中的ID取出并分发,减少本地需要申请的ID数量,并判断剩余的本地需要申请的ID数量是否为0,若为0则结束流程,若不为0则重新执行FBATCH交互流程。
根据上述实施例的ID申请方法,通过主机设备与交换机之间在FLOGI/LS_ACC交互过程中进行了批处理相关参数协商,并当协商成功后在两者之间进行FBATCH交互过程,实现了批量申请ID,极大地缩短了申请大量ID所需时间,显著提高了网络性能。
进一步地,在上述实施例的ID申请方法中,在步骤S1之前还包括:
所述主机设备若获知需要申请多个ID,则检测所述主机设备是否支持批处理操作,若是,则执行所述步骤S1。
进一步地,在上述实施例的ID申请方法中,步骤S2之后还包括:
主机设备接收到所述交换机返回的所述LS_ACC后,若根据所述批处理配置信息获知所述交换机不支持批处理操作,则向所述交换机逐个申请ID。
此外,若主机设备所接收到的交换机返回应答报文并非LS_ACC,则按照现有技术中逐个申请ID的流程执行后续步骤。
本发明还提供一种主机设备,包括:
登录请求报文发送模块,用于向交换机发送携带有批处理能力请求的FLOGI,以使交换机接收到所述FLOGI后,响应于所述FLOGI中所携带的批处理能力请求,向所述主机设备返回携带有批处理配置信息的LS_ACC;
批处理请求报文发送模块,用于接收到所述交换机返回的所述LS_ACC后,若根据所述批处理配置信息获知所述交换机支持批处理操作,则向所述交换机发送携带有所要申请ID的数量的FBATCH Request,以使所述交换机若本次可分配的ID资源若不少于所要申请ID的数量,则响应于所述FBATCHRequest,向所述主机设备返回携带有数量与所述要申请ID的数量等量的ID的批处理响应报文FBATCH Reply;
批处理响应报文接收模块,用于接收所述FBATCH Reply。
上述实施例的主机设备可依照上述任一实施例的ID申请方法申请ID,故此处不再赘述。
根据上述实施例的主机设备,由于主机设备在与交换机的FLOGI/LS_ACC交互过程中与交换机进行了批处理相关参数协商,并当协商成功后发起与交换机的FBATCH交互过程,实现了批量申请ID,极大地缩短了申请大量ID所需时间,显著提高了网络性能。
图5为本发明另一ID申请方法的流程图。如图5所示,该ID申请方法包括:
步骤S1’,交换机从主机设备接收携带有批处理能力请求的FLOGI;
步骤S2’,所述交换机响应于所述FLOGI中所携带的批处理能力请求,向所述主机设备返回携带有批处理配置信息的LS_ACC,以使所述主机设备接收到所述交换机返回的所述LS_ACC后,若根据所述批处理配置信息获知所述交换机支持批处理操作,则向所述交换机发送携带有所要申请ID的数量的FBATCH Request;
步骤S3’,所述交换机若本次可分配的ID资源若不少于所要申请ID的数量,则响应于所述FBATCH Request,向所述主机设备返回携带有数量与所述要申请ID的数量等量的ID的FBATCH Reply。
根据上述实施例的ID申请方法,通过主机设备与交换机之间在FLOGI/LS_ACC交互过程中进行了批处理相关参数协商,并当协商成功后在两者之间进行FBATCH交互过程,实现了批量申请ID,极大地缩短了申请大量ID所需时间,显著提高了网络性能。
进一步地,在上述实施例的ID申请方法中,步骤S1’和步骤S2’之间还包括:
交换机检测所述FLOGI中是否携带批处理能力请求,若是,则执行所述步骤S2’。
进一步地,在上述实施例的ID申请方法中,步骤S2’之后还包括:
交换机若获知本次可分配的ID资源少于所要申请ID的数量,则响应于FBATCH Request报文,向主机设备返回携带有数量与本次可分配的ID资源的数量等量的ID的FBATCH Reply报文。
进一步地,在上述实施例的ID申请方法中,步骤S2’包括:
交换机若检测获知所述FLOGI的payload域有效,则检测所述payload域中的Vendor Version Level域的Magic num字段是否为FBATCH,若是,则将LS_ACC的Vendor Version Level域的Magic Num字段内容设置为FBATCH;
检测所述FLOGI的Version字段是否不大于本地支持的版本数值,若是,将LS_ACC的Version字段设置为双方支持的最高版本,并将V字段设置为1;若否,则将LS_ACC的Version字段设置为本地最高版本,并将VendorVersion Level域的V字段内容设置为0;
检测所述FLOGI的Type字段是否为0x00,若是,将LS_ACC的VendorVersion Level域的Type字段内容设置为0x01,并将T字段设置为1;若否,将LS_ACC的Type字段设置为0x01,并将T字段内容设置为0;
所述交换机将所述LS_ACC发送至所述主机设备,以使所述主机设备接收到所述交换机返回的所述LS_ACC后,若根据所述批处理配置信息获知所述交换机支持批处理操作,则向所述交换机发送携带有所要申请ID的数量的FBATCH Request。
进一步地,在上述实施例的ID申请方法中,步骤S3’包括:
所述交换机检测所述FBATCH Request的R_CTL域的information字段是否为0011b,D_ID域是否为0xFFFFFE,S_ID域中的ID值是否为本地分配过的ID值,以及TYPE域是否为0xE0;
若检测结果均为是,将所述FBATCH Reply的R_CTL域的information字段设置为0011b;D_ID域设置为所述FBATCH Request报文中的S_ID域中的ID值;S_ID域设置为主机设备的地址;TYPE域设置为0xE0;若检测获知所述FBATCH Request的Num字段的数值不大于本次可分配的ID资源,将所述FBATCH Reply的Parameter域的Num字段设置为所述FBATCHRequest的Num字段的数值;
所述交换机将所述FBATCH Reply发送至所述主机设备。
本发明还提供一种交换机,包括:
登录请求报文接收模块,用于从主机设备接收携带有批处理能力请求的FLOGI;
链路状态应答报文发送模块,用于响应于所述FLOGI中所携带的批处理能力请求,向所述主机设备返回携带有批处理配置信息的LS_ACC;
批处理请求报文接收模块,用于接收所述主机设备向所述交换机发送携带有所要申请ID的数量的FBATCH Request,其中所述FBATCH Request为主机设备若根据所述批处理配置信息获知所述交换机支持批处理操作时发送;
批处理响应报文发送模块,用于接收所述FBATCH Request,若检测获知本次可分配的ID资源若不少于所要申请ID的数量,则响应于所述FBATCHRequest,向所述主机设备返回携带有数量与所述要申请ID的数量等量的ID的FBATCH Reply。
根据上述实施例的交换机,由于在与交换机的FLOGI/LS_ACC交互过程中,响应于主机设备的批处理能力请求进行批处理信息配置,并在能够支持批处理操作时,在与主机设备的FBATCH交互过程中,为主机设备批量分配ID,从而极大地缩短了ID申请、分配所需时间,显著提高了网络性能。
进一步地,在上述实施例的交换机中,链路状态应答报文发送模块还用于检测FLOGI中是否携带批处理能力请求。
进一步地,在上述实施例的交换机中,批处理响应报文发送模块还用于若获知本次可分配的ID资源少于所要申请ID的数量,则响应于FBATCHRequest,向所述主机设备返回携带有数量与本次可分配的ID资源的数量等量的ID的FBATCH Reply。
本发明还提供一种ID申请系统,包括上述实施例的主机设备及交换机。
根据上述实施例的ID申请系统,能够实现ID批量申请,显著提高了网络性能。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (19)
1.一种网络标识ID申请方法,其特征在于,包括:
步骤S1,主机设备向交换机发送携带有批处理能力请求的登录请求报文FLOGI,以使所述交换机响应于所述FLOGI中所携带的批处理能力请求,向所述主机设备返回携带有批处理配置信息的链路状态应答报文LS_ACC;
步骤S2,所述主机设备接收到所述交换机返回的所述LS_ACC后,若根据所述批处理配置信息获知所述交换机支持批处理操作,则向所述交换机发送携带有所要申请ID的数量的批处理请求报文FBATCH Request,以使所述交换机若获知本次可分配的ID资源不少于所要申请ID的数量,则响应于所述FBATCH Request,向所述主机设备返回携带有数量与所述要申请ID的数量等量的ID的批处理响应报文FBATCH Reply。
2.根据权利要求1所述的ID申请方法,其特征在于,所述步骤S1之前还包括:
所述主机设备若获知需要申请多个ID,则检测所述主机设备是否支持批处理操作,若是,则执行所述步骤S1。
3.根据权利要求1所述的ID申请方法,其特征在于,所述步骤S1之后还包括:
所述主机设备接收到所述交换机返回的所述LS_ACC后,若根据所述批处理配置信息获知所述交换机不支持批处理操作,则向所述交换机逐个申请ID。
4.根据权利要求1所述的ID申请方法,其特征在于,所述步骤S2包括:
所述主机设备接收所述交换机返回的所述LS_ACC;
根据所述批处理配置信息判断所述交换机是否支持批处理操作;
若是,则启动接收超时定时器,并向所述交换机发送携带有所要申请ID的数量的FBATCH Request;
相应地,若在所述接收超时定时器超时后未收到所述交换机返回的FBATCH Reply,则获知申请失败。
5.根据权利要求1至4任一所述的ID申请方法,其特征在于,所述步骤S1包括:
主机设备启动所述FLOGI中的payload域,将所述payload域中的VendorVersion Level域的Magic num字段设置为FBATCH,Type字段设置为0x00,Version字段设置为本地支持的最高版本号;
主机设备将所述FLOGI发送至所述交换机以使所述交换机响应于所述FLOGI中所携带的批处理能力请求,向所述主机设备返回携带有批处理配置信息的所述LS_ACC。
6.根据权利要求1至4任一所述的ID申请方法,其特征在于,所述步骤S2包括:
所述主机设备接收到所述交换机返回的所述LS_ACC后,检测所述LS_ACC的Vendor Version Level域的Magic Num字段是否为FBATCH,V字段、T字段和S字段是否均为1以及Num字段是否大于1;
若检测结果均为是,所述主机设备将FBATCH Request的R_CTL域的information字段设置为0010b,D_ID域设置为0xFFFFFE;S_ID域设置为LS_ACC中携带的分配给所述主机设备的ID,TYPE域设置为0xE0,Parameter域的Num字段设置为ID申请数量;
所述主机设备将所述FBATCH Request发送至所述交换机,以使所述交换机若获知本次可分配的ID资源不少于所要申请ID的数量,则响应于所述FBATCH Request,向所述主机设备返回携带有数量与所述要申请ID的数量等量的ID的FBATCH Reply。
7.一种主机设备,其特征在于,包括:
登录请求报文发送模块,用于向交换机发送携带有批处理能力请求的FLOGI,以使交换机接收到所述FLOGI后,响应于所述FLOGI中所携带的批处理能力请求,向所述主机设备返回携带有批处理配置信息的链路状态应答报文LS_ACC;
批处理请求报文发送模块,用于接收到所述交换机返回的所述LS_ACC后,若根据所述批处理配置信息获知所述交换机支持批处理操作,则向所述交换机发送携带有所要申请ID的数量的FBATCH Request,以使所述交换机若获知本次可分配的ID资源不少于所要申请ID的数量,则响应于所述FBATCH Request,向所述主机设备返回携带有数量与所述要申请ID的数量等量的ID的批处理响应报文FBATCH Reply;
批处理响应报文接收模块,用于接收所述FBATCH Reply。
8.根据权利要求7所述的主机设备,其特征在于,所述登录请求报文发送模块还用于若获知需要申请多个ID,则检测所述主机设备是否支持批处理操作,若是,则向交换机发送携带有批处理能力请求的FLOGI。
9.根据权利要求7所述的主机设备,其特征在于,所述批处理请求报文发送模块还用于接收到所述交换机返回的所述LS_ACC后,若根据所述批处理配置信息获知所述交换机不支持批处理操作,则向所述交换机逐个申请ID。
10.根据权利要求7所述的主机设备,其特征在于,还包括:
定时模块,用于所述批处理请求报文发送模块向所述交换机发送携带有所要申请ID的数量的FBATCH Request时启动接收定时器;若所述批处理响应报文接收模块在所述接收超时定时器超时后未收到所述交换机返回的FBATCH Reply,则获知申请失败。
11.一种ID申请方法,其特征在于,包括:
步骤S1’,交换机从主机设备接收携带有批处理能力请求的登录请求报文FLOGI;
步骤S2’,所述交换机响应于所述FLOGI中所携带的批处理能力请求,向所述主机设备返回携带有批处理配置信息的链路状态应答报文LS_ACC,以使所述主机设备接收到所述交换机返回的所述LS_ACC后,若根据所述批处理配置信息获知所述交换机支持批处理操作,则向所述交换机发送携带有所要申请ID的数量的FBATCH Request;
步骤S3’,所述交换机若获知本次可分配的ID资源不少于所要申请ID的数量,则响应于所述FBATCH Request,向所述主机设备返回携带有数量与所述要申请ID的数量等量的ID的FBATCH Reply。
12.根据权利要求11所述的ID申请方法,其特征在于,所述步骤S1’和步骤S2’之间还包括:
所述交换机检测所述FLOGI中是否携带批处理能力请求,若是,则执行所述步骤S2’。
13.根据权利要求11所述的ID申请方法,其特征在于,所述步骤S2’之后还包括:
所述交换机若获知本次可分配的ID资源少于所要申请ID的数量,则响应于所述FBATCH Request,向所述主机设备返回携带有数量与本次可分配的ID资源的数量等量的ID的FBATCH Reply。
14.根据权利要求11至13任一所述的ID申请方法,其特征在于,所述步骤S2’包括:
所述交换机若检测获知所述FLOGI的payload域有效,则检测所述payload域中的Vendor Version Level域的Magic num字段是否为FBATCH,若是,则将LS_ACC的Vendor Version Level域的Magic Num字段内容设置为FBATCH;
检测所述FLOGI的Version字段是否不大于本地支持的版本数值,若是,将LS_ACC的Version字段设置为双方支持的最高版本,并将V字段设置为1;若否,则将LS_ACC的Version字段设置为本地最高版本,并将VendorVersion Level域的V字段内容设置为0;
检测所述FLOGI的Type字段是否为0x00,若是,将LS_ACC的VendorVersion Level域的Type字段内容设置为0x01,并将T字段设置为1;若否,将LS_ACC的Type字段设置为0x01,并将T字段设置为0;
所述交换机将所述LS_ACC发送至所述主机设备,以使所述主机设备接收到所述交换机返回的所述LS_ACC后,若根据所述批处理配置信息获知所述交换机支持批处理操作,则向所述交换机发送携带有所要申请ID的数量的FBATCH Request。
15.根据权利要求11至13任一所述的ID申请方法,其特征在于,所述步骤S3’包括:
所述交换机检测所述FBATCH Request的R_CTL域的information字段是否为0011b,D_ID域是否为0xFFFFFE,S_ID域中的ID值是否为本地分配过的ID值,以及TYPE域是否为0xE0;
若检测结果均为是,将所述FBATCH Reply的R_CTL域的information字段设置为0011b;D_ID域设置为所述FBATCH Request报文中的S_ID域中的ID值;S_ID域设置为主机设备的地址;TYPE域设置为0xE0;若检测获知所述FBATCH Request的Num字段的数值不大于本次可分配的ID资源,将所述FBATCH Reply的Parameter域的Num字段设置为所述FBATCHRequest的Num字段的数值;
所述交换机将所述FBATCH Reply发送至所述主机设备。
16.一种交换机,其特征在于,包括:
登录请求报文接收模块,用于从主机设备接收携带有批处理能力请求的FLOGI;
链路状态应答报文发送模块,用于响应于所述FLOGI中所携带的批处理能力请求,向所述主机设备返回携带有批处理配置信息的LS_ACC;
批处理请求报文接收模块,用于接收所述主机设备向所述交换机发送携带有所要申请ID的数量的FBATCH Request,其中所述FBATCH Request为主机设备若根据所述批处理配置信息获知所述交换机支持批处理操作时发送;
批处理响应报文发送模块,用于接收所述FBATCH Request,若检测获知本次可分配的ID资源不少于所要申请ID的数量,则响应于所述FBATCHRequest,向所述主机设备返回携带有数量与所述要申请ID的数量等量的ID的批处理响应报文FBATCH Reply。
17.根据权利要求16所述的交换机,其特征在于,所述链路状态应答报文发送模块还用于检测所述FLOGI中是否携带批处理能力请求。
18.根据权利要求16所述的交换机,其特征在于,所述批处理响应报文发送模块还用于若获知本次可分配的ID资源少于所要申请ID的数量,则响应于所述FBATCH Request,向所述主机设备返回携带有数量与本次可分配的ID资源的数量等量的ID的FBATCH Reply。
19.一种ID申请系统,其特征在于,包括如权利要求7至10任一所述的主机设备和如权利要求16至18任一所述的交换机。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110085096.2A CN102148760B (zh) | 2011-04-02 | 2011-04-02 | Id申请方法、装置及系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201110085096.2A CN102148760B (zh) | 2011-04-02 | 2011-04-02 | Id申请方法、装置及系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102148760A true CN102148760A (zh) | 2011-08-10 |
CN102148760B CN102148760B (zh) | 2014-01-22 |
Family
ID=44422770
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201110085096.2A Expired - Fee Related CN102148760B (zh) | 2011-04-02 | 2011-04-02 | Id申请方法、装置及系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102148760B (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102427410A (zh) * | 2011-12-02 | 2012-04-25 | 北京星网锐捷网络技术有限公司 | 光纤通道身份标识处理方法、装置、系统及网络设备 |
CN102883235A (zh) * | 2012-09-29 | 2013-01-16 | 福建星网锐捷网络有限公司 | 一种n端口代理方法、装置及网络设备 |
WO2017219848A1 (zh) * | 2016-06-22 | 2017-12-28 | 中兴通讯股份有限公司 | 分布式数据库中id的处理方法、管理系统及服务器 |
CN104247391B (zh) * | 2012-05-23 | 2018-12-28 | 富士施乐株式会社 | 信息处理设备、信息处理程序、信息处理方法以及计算机可读介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060092932A1 (en) * | 2004-11-01 | 2006-05-04 | Cisco Technology, Inc. | Trunking for fabric ports in fibre channel switches and attached devices |
US20060230218A1 (en) * | 2005-04-11 | 2006-10-12 | Emulex Design & Manufacturing Corporation | Method and apparatus for SATA tunneling over fibre channel |
CN1992729A (zh) * | 2005-12-27 | 2007-07-04 | 国际商业机器公司 | 数据处理系统和方法 |
WO2010006958A1 (en) * | 2008-07-15 | 2010-01-21 | International Business Machines Corporation | Network system with initiator subnetwork communication |
-
2011
- 2011-04-02 CN CN201110085096.2A patent/CN102148760B/zh not_active Expired - Fee Related
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20060092932A1 (en) * | 2004-11-01 | 2006-05-04 | Cisco Technology, Inc. | Trunking for fabric ports in fibre channel switches and attached devices |
US20060230218A1 (en) * | 2005-04-11 | 2006-10-12 | Emulex Design & Manufacturing Corporation | Method and apparatus for SATA tunneling over fibre channel |
CN1992729A (zh) * | 2005-12-27 | 2007-07-04 | 国际商业机器公司 | 数据处理系统和方法 |
WO2010006958A1 (en) * | 2008-07-15 | 2010-01-21 | International Business Machines Corporation | Network system with initiator subnetwork communication |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102427410A (zh) * | 2011-12-02 | 2012-04-25 | 北京星网锐捷网络技术有限公司 | 光纤通道身份标识处理方法、装置、系统及网络设备 |
CN102427410B (zh) * | 2011-12-02 | 2014-09-10 | 北京星网锐捷网络技术有限公司 | 光纤通道身份标识处理方法、装置、系统及网络设备 |
CN104247391B (zh) * | 2012-05-23 | 2018-12-28 | 富士施乐株式会社 | 信息处理设备、信息处理程序、信息处理方法以及计算机可读介质 |
CN102883235A (zh) * | 2012-09-29 | 2013-01-16 | 福建星网锐捷网络有限公司 | 一种n端口代理方法、装置及网络设备 |
WO2017219848A1 (zh) * | 2016-06-22 | 2017-12-28 | 中兴通讯股份有限公司 | 分布式数据库中id的处理方法、管理系统及服务器 |
Also Published As
Publication number | Publication date |
---|---|
CN102148760B (zh) | 2014-01-22 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US10644935B2 (en) | Method for configuring fibre channel storage area network, and apparatus | |
CN102571996B (zh) | Ip地址分配方法、装置以及网络系统 | |
CN110505319A (zh) | 一种rs485从设备地址自动分配方法及系统 | |
US9973351B2 (en) | Data processing method and apparatus, storage controller, and cabinet | |
CN102316043B (zh) | 端口虚拟化方法、交换机及通信系统 | |
CN103139157B (zh) | 一种基于socket的网络通信方法、装置及系统 | |
CN103024028A (zh) | 一种云计算中虚拟机ip地址探测系统及方法 | |
CN105610962A (zh) | 一种防冲突移动终端ip地址分配中继设备及方法 | |
CN110740155B (zh) | 分布式系统中的请求处理方法及装置 | |
CN104185036A (zh) | 一种视频文件回源方法及装置 | |
US11463376B2 (en) | Resource distribution method and apparatus in Internet of Things, device, and storage medium | |
CN105763670A (zh) | 一种为容器分配ip地址的方法及装置 | |
CN102148760B (zh) | Id申请方法、装置及系统 | |
CN104812021A (zh) | 一种ap接入ac的方法及装置 | |
CN102299932A (zh) | 一种dhcp服务器备份方法和dhcp服务器 | |
CN110837407A (zh) | 无服务器云服务系统及其资源管理方法以及电子设备 | |
CN101145948A (zh) | 软件升级方法和装置、以及网元 | |
CN100505614C (zh) | 系统备份及恢复方法和备份及恢复服务器 | |
CN110972170A (zh) | 基站的配置方法及基站 | |
CN102523316B (zh) | 一种地址分配方法和设备 | |
WO2022160864A1 (zh) | 用于智能设备入网的方法、装置及智能设备 | |
CN114124812A (zh) | 维护表项一致性的方法、装置及电子设备 | |
CN106231003A (zh) | 一种地址分配方法及装置 | |
CN105451215A (zh) | 一种通信方法和电子设备 | |
CN107306289B (zh) | 一种基于云计算的负载均衡方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20140122 Termination date: 20200402 |
|
CF01 | Termination of patent right due to non-payment of annual fee |