一种建立FCoE通信连接的方法、装置、名字服务器和系统的制作方法

文档序号:7752204阅读:102来源:国知局
专利名称:一种建立FCoE通信连接的方法、装置、名字服务器和系统的制作方法
技术领域
本发明涉及通信领域,尤其涉及一种建立FCoE通信连接的方法、装置、名字服务器和系统。
背景技术
随着hternet应用的不断发展,网络服务器需要存储的信息和数据越来越多,进而就导致网络服务器所需的存储容量不断增长。当网络服务器的内部存储容量无法满足信息增长的需求,就需要将网络服务器的存储“外部化”。为了解决这一问题,现有技术中提出了存储局域网络(Storage Area Networks, SAN),并由SAN为网络服务器提供专用的外部存储环境,充分利用新的存储硬件技术和网络技术,满足对大容量高可靠数据的存储、访问和备份等需求。光纤通道(Fiber Channel,FC)是SAN中应用最为广泛的一种协议,即SAN中基于 FC网络传输数据。但是,实现FC网络需使用的交换机、网络接口卡、以及线缆的数量较大, 加之,这些设备的成本较高,因而使得FC网络的设备成本高、维护难度大、可扩展性差。为解决上述问题,现有技术利用FCoE(Fiber Channel over Ethernet,以太网光纤通道)协议在以太网的基础上承载FC协议,以将SAN和局域网(LAN)整合。数据中心内大多数存储阵列为FC目标器(FC Target)时,FCoE启动器(FCoE Initiator)连接到无损以太网(Lossless Ethernet),通过 FCoE 交换机(FCoE Switch)将 FC数据传输到FC SAN,最终访问FC目标器。但是,随着FCoE标准的发展,开始出现了 FCoE 目标器(FCoE Target),FCoE启动器可以直接通过无损以太网访问FCoE Target。现有的FC-BB-5 (Fiber Channel Backbone Generation 5)标准中,FCoE 启动器与FC目标器建立通信连接的流程如下步骤A =FCoE启动器启动时,会以目的MAC地址(Media Access Control address)为 All-FCF-MACs (AlI-FCF-MACs 为协议定义的广播地址)发送 Discovery Solicitation (发现请求)报文,通过FCF回传一个Discovery Advertisement (发现通告) 报文,以获取当前网络中所有FCF (FCoEForwarder,FCoE转发器)的MAC地址;步骤B :FCoE启动器选择其中一个FCF发送FLOGI (FABRIC LOGIN,交换结构注册) 报文;步骤C =FCF收到FLOGI报文后会为该FCoE启动器分配一个N_Port_ID (N端口标识),以作为该FCoE启动器在FC网络中的唯一标识;步骤D =FCF 在 N_Port_ID 前面加上 FC-MAP (FCoE mapped MAC address, FCoE 映射 MAC地址)作为该FCoE启动器的虚拟MAC地址,并通过FLOGI LS_ACC (链路接受)报文, 返回给FCoE启动器,其中,虚拟MAC地址共计48位,高M位为FC-MAP,低M位为N_Port_ ID ;步骤E :FCoE 启动器向 FCF 发送 PLOGI NS(Port Login Name Server,端口注册名字服务器)报文,以使FCF在Name Server (名字服务器)上,使用该FCoE启动器将要访问的FC目标器的WWN(World Wide Name,全球唯一名字)查询到该FC目标器在网络中的N_ Port_ID,并通过PLOGI NS响应报文,将该N_Port_ID发送给FCoE启动器;
步骤F :FCoE启动器获得该N_Port_ID,通过FCF,FCoE启动器向FC目标器发送 PLOGI (Port Login,端口注册)报文到将要访问的FC目标器,然后,FC目标器返回PLOGI ACC(端口注册接收)报文,端口注册完成,FCoE启动器通过FCF建立起与FC目标器的通现有技术中,按照FC-BB-5规定的流程,实现了 FCoE启动器与FCoE目标器建立通信连接的流程,但是,发明人发现,现有技术中,FCoE启动器只知道FCoE目标器
ID,当FCoE启动器与FCoE目标器通信时,必须通过FCF进行转发,由于转发操作,造成了不必要的传输延时,同时也加重了 FCF的处理负荷。

发明内容
本发明实施例中提供了一种建立FCoE通信连接的方法、装置和系统,实现了 FCoE 启动器与FCoE目标器可直接建立通信连接,减少了数据传输延时,减轻了原有FCoE转发器的处理负荷。本发明实施例的目的是通过以下技术方案实现的一种建立FCoE通信连接的方法,所述方法包括根据待访问目标器的WffN全球唯一名字标识,获取用于访问所述待访问目标器的目的MAC地址;根据所述目的MAC地址,对所述待访问目标器进行登录操作,以建立FCoE以太网光纤通道通信连接。一种建立FCoE通信连接的方法,其特征在于,所述方法包括发送名字服务器查询报文,所述名字服务器查询报文携带所述待访问目标器的 WffN标识;接收名字服务器查询应答报文,所述名字服务器查询应答报文中携带待访问目标器的N_Port_ID和待访问目标器的目的MAC地址,所述待访问目标器的MAC地址包括由特定网络前缀和所述N_Port_ID生成的虚拟MAC地址或实际MAC地址;或者,发送发现请求报文,所述发现请求报文携带待访问目标器的WWN ;接收发现请求应答报文,所述发现请求应答报文中携带待访问目标器的N_Port_ID和待访问目标器的目的MAC地址,所述待访问目标器的MAC地址包括由特定网络前缀和所述丄 0汁_10生成的虚拟MAC地址或实际MAC 地址;根据所述待访问目标器的MAC地址,对所述待访问目标器进行登录操作,以建立 FCoE以太网光纤通道通信连接。一种建立FCoE通信连接的方法,所述方法包括接收来自FCoE启动器的登录操作请求;根据所述登录操作请求,建立与所述FCoE启动器之间的FCoE通信连接;接收来自所述FCoE启动器的发现请求报文;向所述FCoE启动器发送第二发现通告报文,以对所述发现请求报文做出响应,所述第二发现通告报文中携带本地的MAC地址和本地WffN标识,其中,携带的所述本地的MAC地址为虚拟MAC地址或实际MAC地址,所述虚拟MAC地址由特定网络前缀和N_Port_ID组成。
一种建立FCoE通信连接的方法,所述方法包括接收来自FCoE启动器的PLOGI NS报文,所述PLOGI NS报文携带待访问目标器的 WffN标识;根据所述WffN标识,查询所述待访问目标器的N_Port_ID ;发送PLOG NS应答报文,所述PLOGI NS应答报文中携带所述N_Port_ID,以使所述启动器获得所述待访问目标器的N_Port_ID。一种建立FCoE通信连接的装置,所述装置包括 地址获取模块,用于根据待访问目标器的WffN全球唯一名字标识,获取用于访问所述待访问目标器的目的MAC地址;连接建立模块,用于根据所述地址获取模块获取的所述目的MAC地址,对所述待访问目标器进行登录操作,以建立FCoE以太网光纤通道通信连接。一种建立FCoE通信连接的装置,所述装置包括请求接收模块,用于接收来自FCoE启动器的登录操作请求;请求处理模块,用于根据所述请求接收模块接收的所述登录操作请求,建立与所述FCoE启动器之间的FCoE通信连接;第一设备地址信息通告模块,用于接收来自所述FCoE启动器的发现请求报文;向所述FCoE启动器发送第二发现通告报文,以对所述发现请求报文做出响应,所述第二发现通告报文中携带本地的MAC地址和本地WffN标识,其中,携带的所述本地的MAC地址为虚拟 MAC地址或实际MAC地址,所述虚拟MAC地址由特定网络前缀和N_Port_ID组成。—种名字服务器,所述名字服务器包括接收模块,用于接收来自FCoE启动器的PLOGI NS报文,所述PLOGI NS报文携带待访问目标器的WWN标识;端口号查询模块,用于根据所述接收模块接收的所述WffN标识,查询所述待访问目标器的N_Port_ID ;发送模块,用于发送第一 PLOG NS应答报文,所述第一 PLOGI NS应答报文中携带所述端口号查询模块查询出的所述N_Port_ID,以使所述FCoE启动器获得所述待访问目标器的 N_Port_ID。一种建立FCoE通信连接的系统,所述系统包括至少一个如上述实施例所述的一种建立FCoE通信连接的装置;至少一个如上述实施例所述的一种建立FCoE通信连接的装置或者至少一个如上述实施例所述的一种名字服务器。本发明实施例中,通过根据待访问目标器的WffN全球唯一名字标识,判断所述待访问目标器的类型,所述待访问目标器的类型包括=FCoE以太网光纤通道目标器或FC光纤通道目标器,当所述待访问目标器的类型为FCoE目标器时,根据待访问目标器的MAC媒质接入控制地址,对所述待访问目标器进行登录操作,当所述待访问目标器的类型为FC目标器时,根据FCoE转发器以太网光纤通道转发器的MAC地址,对所述待访问目标器进行登录操作,实现了 FCoE启动器与FCoE目标器可直接建立通信连接,减少了数据传输延时,减轻了原有FCoE转发器的处理负荷。


为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。图1为本发明实施例中的组网结构示意图;图2为本发明实施例1中一种建立FCoE通信连接的方法流程图;图3为本发明实施例2中一种建立FCoE通信连接的方法流程图;图4为本发明实施例3中一种建立FCoE通信连接的方法流程图;图5为本发明实施例4中一种建立FCoE通信连接的方法流程图;图6为本发明实施例5中一种建立FCoE通信连接的方法流程图;图7为本发明实施例6中一种建立FCoE通信连接的方法流程图;图8为本发明实施例7中一种建立FCoE通信连接的方法流程图;图9为本发明实施例8中一种建立FCoE通信连接的方法流程图;图10为本发明实施例9中一种建立FCoE通信连接的方法流程图;图11为本发明实施例中提供的一种建立FCoE通信连接的装置示意图;图12为本发明实施例中提供的另一种建立FCoE通信连接的装置示意图;图13为本发明实施例中提供的一种名字服务器的示意图;图14为本发明实施例10中一种建立FCoE通信连接的方法流程图;图15为本发明实施例中提供的一种建立FCoE通信连接的装置示意图。
具体实施例方式为了使本发明实施例的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。为便于说明,下面介绍本发明的一个具体实施例。如图1所示,为本发明实施例中的组网示意图,图中包括FCoE启动器101、FCoE转发器102、FCoE目标器103、FC目标器 104,其中,FCoE启动器101、FCoE转发器102、FCoE目标器103均位于无损以太网络或以太网络中,FC目标器104位于光纤网络中,FCoE启动器101用于发起对FCoE目标器103和/ 或FC目标器104的数据访问操作,FCoE目标器103和FC目标器104可以是用于存储数据的存储阵列,FCoE转发器102负责FCoE通信连接的建立,分配MAC地址和N_Port_ID,虚线和实线分别表示一个FCoE通信连接。以下以上图的网络实体为例,先对实施例中常用的几个标准操作,做一个简要介绍FLOGI (Fabric Login,交换结构注册)操作一连接到FCoE转发器或FCoE目标器上的操作。例如=FCoE启动器101向FCoE目标器103发起FLOGI操作的具体流程如下FCoE启动器101向FCoE转发器102发送FLOGI报文,当FCoE转发器102接受注册时,为FCoE启动器101分配一个N_Port_ID(N端口标识),并通过LS_ACC (链路服务接受)报文回传给FCoE启动器101 ;当FCoE转发器102不接受注册时,向FCoE启动器101发送LS_RJT(链路服务拒绝)报文以指示注册失败。PLOGI NS (Port Login Name Server,端口注册名字服务器)操作一根据 WffN(fforId Wide Name,全球惟一名字),对名字服务器发出请求操作,以获取WffN对应的N_ Port_ID (N端口标识)的操作。例如FCoE启动器101向FCoE转发器102发起PLOGI NS 操作的具体流程如下FCoE启动器101向FCoE转发器102发送PLOGI NS报文,该PLOGI NS报文携带有FCoE启动器101将要访问的目标器的WWN,FCoE转发器102根据该WWN,在名字服务器上查询到FCoE启动器101将要访问的目标器的N_Port_ID,通过PLOGI NS响应报文将该N_ Port_ID回传给FCoE启动器101。PLOGI (Port Loqin,端口注册)操作一FCoE启动器对FCoE目标器的端口注册, 通过该注册过程,FCoE启动器与FCoE目标器建立FCoE通信连接;或者,FCoE启动器对FC 目标器的端口注册,通过该注册过程,FCoE启动器与FC目标器建立FCoE通信连接,例如 FCoE启动器101对FCoE目标器103发起PLOGI操作的具体流程如下FCoE启动器101向FCoE目标器103发送PLOGI报文,以注册到FCoE目标器103 的端口,当FCoE目标器103接受注册时,向FCoE启动器101回传PLOGI ACC(端口注册接受)报文,以指示FCoE启动器101与FCoE目标器103的FCoE通信连接建立,当FCoE目标器103不接受注册时,向FCoE启动器101回传LS_RJT(链路服务拒绝)报文,以指示FCoE 启动器101与FCoE目标器103的FCoE通信连接建立失败。本实施例中,FCoE启动器101访问FCoE目标器103和/或FC目标器104时,需要首先建立FCoE连接,下面以FCoE启动器101为例,对建立FCoE通信连接的流程进行详细介绍本发明实施例1中提供了一种建立FCoE通信连接的方法,方法流程如图1所示, 包括步骤201、根据待访问目标器的WWN全球唯一名字标识,获取用于访问所述待访问目标器的目的MAC地址;其中,通过所述目的MAC地址FCoE启动器101可以对FCoE目标器103或FC目标器104进行访问;步骤202、根据所述目的MAC地址,对所述待访问目标器进行登录操作,以建立 FCoE以太网光纤通道通信连接。其中,当访问FCoE目标器103时,以建立如图1中实线所示的FCoE通信连接,当访问FC目标器104时,以建立如图1中虚线所示的FCoE通信连接。通过根据待访问目标器的WWN全球唯一名字标识,获取用于访问所述待访问目标器的目的MAC地址,根据所述目的MAC地址,对所述待访问目标器进行登录操作,以建立 FCoE以太网光纤通道通信连接,实现了 FCoE启动器与FCoE目标器可直接建立通信连接,减少了数据传输延时,减轻了原有FCoE转发器的处理负荷。上述实施例中,步骤201之前还可以包括,获取网络中相关设备的地址信息(例如FCoE目标器103的MAC地址和FCoE转发器102的)和获取本地MAC地址(即FCoE启动器101的MAC地址)的操作,如图3所示,为本发明实施例2中提供的一种建立FCoE通信连接的方法,包括
步骤301、获取网络中相关设备的地址信息;其中,本步骤具体可以包括发送发现请求报文;接收第一发现通告报文,所述第一发现通告报文中携带发送端的MAC地址;记录发送端的所述MAC地址;或者,发送发现请求报文;接收第二发现通告报文,所述第二发现通告报文携带发送端的的MAC地址和发送端的WffN标识;生成发送端的所述MAC地址与发送端的所述WffN标识的映射关系。当FCoE转发器101发送发现请求报文时,网络中的FCoE转发器102和FCoE目标器103均会对发现请求报文做出响应,但也可以是发送发现请求报文时,只有FCoE转发器 102对发现请求报文做出响应。通过步骤301收集了网络中FCoE目标器和FCoE转发器的MAC地址。步骤302、获取本地的虚拟MAC地址;其中,本步骤具体可以包括根据步骤301中记录的MAC地址,生成MAC地址列表; 根据所述MAC地址列表,选择一个MAC地址或者选择一个FCoE转发器的MAC地址;发送 FLOGI报文,以获得本地的MAC地址,所述FLOGI报文的目的MAC地址为选择的所述MAC地址。其中,所述本地的MAC地址可以为FCoE启动器101本地的虚拟MAC地址,选择一个MAC 地址可以采用随机方式或是基于位置指定的方式等,不具体限定。通过步骤302,FCoE启动器101获得了分配的MAC地址,其中,这个MAC地址可能是由FCoE转发器102分配,也有可能是由FCoE目标器104分配。步骤303、根据待访问目标器的WffN全球唯一名字标识,获取访问所述待访问目标器的目的MAC地址;步骤304、根据所述目的MAC地址,对所述待访问目标器进行登录操作,以建立 FCoE以太网光纤通道通信连接。通过根据待访问目标器的WWN全球唯一名字标识,获取用于访问所述待访问目标器的目的MAC地址,根据所述目的MAC地址,对所述待访问目标器进行登录操作,以建立 FCoE以太网光纤通道通信连接,实现了 FCoE启动器与FCoE目标器可直接建立通信连接,减少了数据传输延时,减轻了原有FCoE转发器的处理负荷。上述实施例中,步骤303中还可以包括当接收到来自FCoE转发器102和FCoE目标器101的第一发现通告报文时,根据选择的MAC地址,发送PLOGI NS端口注册名字服务器报文,以查询所述待访问目标器的N_ Port_ID N端口标识,所述PLOGI NS报文携带所述待访问目标器的WffN标识;接收PLOGI NS应答报文,所述PLOGINS应答报文携带所述待访问目标器&N_P0rt_ID ;获取所述待访问目标器的N_Port_ID ;判断所述待访问目标器的N_Port_ID与记录的MAC地址是否匹配;如果不匹配,说明访问的是FC目标器104,则将所述FCoE转发器102的MAC地址作为所述目的MAC地址,如果匹配,说明访问的是FCoE目标器103,则将匹配的MAC地址作为所述目的 MAC地址;或者,当接收到来自FCoE转发器102的第一发现通告报文时,根据选择的MAC地址,发送PLOGI NS报文,以查询所述待访问目标器的N_Port_ID,所述PLOGI NS报文携带所述待访问目标器的WWN标识;接收PLOG NS应答报文,所述PLOGI NS应答报文携带所述待访问目标器的N_Port_ID ;获取所述待访问目标器的N_Port_ID ;采用特定网络前缀和所述待访问目标器的所述N_Port_ID生成探测MAC地址;以所述探测MAC地址为目的MAC地址,发送探测报文,例如可以为FLOGI报文;如果在预设时间之内接收到响应报文,例如响应报文为 FLOGI LS_ACC或FLOGI LS_RJT,说明访问的是FCoE目标器103,则将探测MAC地址作为所述目的MAC地址;如果在预设时间之内未接收到响应报文,说明访问的是FC目标器104,则将所述FCOE转发器102的MAC地址作为所述目的MAC地址;或者,当接收到来自FCoE转发器102的第一发现通告报文时,根据选择的MAC地址,发送PLOGI NS报文,以查询所述待访问目标器的N_Port_ID,所述PLOGI NS报文携带所述待访问目标器的WWN标识;接收PLOG NS应答报文,所述PLOGI NS应答报文携带所述待访问目标器的N_Port_ID和所述待访问目标器的类型标识,所述类型标识用于指示所述待访问目标器的类型,所述类型包括FCoE目标器类型和FC目标器类型;获取所述待访问目标器的 N_Port_ID;如果所述类型标识指示为FCoE目标器类型,说明访问的是FCoE目标器103,则采用特定网络前缀和所述N_Port_ID生成所述目的MAC地址;如果所述类型标识指示为FC 目标器类型,说明访问的是FC目标器104,则将所述FCoE转发器102的MAC地址作为所述目的MAC地址;或者,当接收到第二发现通告报文时,根据生成的所述映射关系,查询所述待访问目标器的WffN标识对应的MAC地址,如果查询出MAC地址,说明访问的是FCoE目标器103,则将查询出的MAC地址作为所述目的MAC地址;如果未查询出MAC地址,说明访问的是FC目标器104,则将所述FCoE转发器102的MAC地址作为所述目的MAC地址。本实施例中,FCoE启动器101访问FCoE目标器103和/或FC目标器104时,需要首先建立FCoE连接,可能是通过FCoE转发器102建立与FC目标器104的FCoE通信连接,也有可能是直接与FCoE目标器102建立FCoE通信连接,其中,FCoE转发器102与现有技术中FCoE转发器的功能类似,在此不再赘述;对应FCoE目标器103的处理流程,以下做详细介绍如图4所示,为本发明实施例3中提供的一种建立FCoE通信连接的方法,假定本方法之前,FCoE目标器103已经通过向FCoE转发器102或者一个名字服务器Name server 发起了 FLOGI操作,并获得了虚拟MAC地址,该方法包括步骤401、接收来自FCoE启动器的登录操作请求;在本实施例中,FCoE启动器101建立与FCoE目标器103建立FCoE通信连接,需要接收来自FCoE启动器101的登录操作请求,该登录操作请求属于现有技术中的FLOGI操作和PLOGI操作,再次不再赘述。步骤402、根据所述登录操作请求,建立与所述FCoE启动器之间的FCoE通信连接。FCoE目标器103通过接收来自FCoE启动器101的登录操作请求,根据所述登录操作请求,建立与所述FCoE启动器101之间的FCoE通信连接,实现了 FCoE启动器101与 FCoE目标器103可直接建立通信连接,减少了数据传输延时,减轻了原有FCoE转发器的处理负荷。上述实施例中,步骤401之前还可以包括,通告设备地址信息(例如=FCoE目标器 103向FCoE启动器101通告FCoE目标器103的MAC地址)和分配MAC地址(例如FCoE目标器103为FCoE启动器101分配虚拟MAC地址)的操作,如图5所示,为本发明实施例 4中提供的一种建立FCoE通信连接的方法,包括步骤501、通告设备地址信息,具体为接收来自所述FCoE启动器101的发现请求报文;向所述FCoE启动器101发送第一发现通告报文,以对所述发现请求报文做出响应,所述第一发现通告报文中携带本地的虚拟MAC地址,所述虚拟MAC地址由特定网络前缀和N_Port_ID组成;或者,接收来自所述FCoE启动器101的发现请求报文;向所述FCoE启动器101发送第二发现通告报文,以对所述发现请求报文做出响应,所述第二发现通告报文中携带本地的 MAC地址和本地WffN标识,其中,携带的所述本地的MAC地址为虚拟MAC地址或实际MAC地址,所述虚拟MAC地址由特定网络前缀和N_Port_ID组成。步骤502、分配MAC地址,具体为接收来自所述FCoE启动器101的FLOGI报文;根据所述FLOGI报文进行登录操作;当登录操作成功时,为所述FCoE启动器101分配MAC地址;发送FLOGI响应报文,所述 FLOGI响应报文中携带分配的所述MAC地址。步骤503、接收来自FCoE启动器的登录操作请求;步骤504、根据所述登录操作请求,建立与所述FCoE启动器之间的FCoE通信连接。其中,步骤503与步骤401类似,步骤504与步骤402类似,在此不再赘述。如图6所示,为本发明实施例5中提供的一种建立FCoE通信连接的方法,此时, FCoE转发器102可以替换为一个名字服务器(Name server),假定本方法之前,FCoE目标器103已经通过向FCoE转发器102(或一个名字服务器)发起了 FLOGI操作,并获得了虚拟MAC地址,此时,FCoE转发器102的方法流程包括步骤601、接收来自FCoE启动器的PLOGI NS报文,所述PLOGI NS报文携带待访问目标器的WWN标识;步骤602、根据所述WffN标识,查询所述待访问目标器的N_Port_ID ;步骤603、发送PLOG NS应答报文,所述PLOGI NS应答报文中携带所述N_Port_ID, 以使所述启动器获得所述待访问目标器的N_Port_ID。FCoE目标器103通过接收来自FCoE启动器101的PLOGI NS报文,所述PLOGI NS 报文携带待访问目标器的WWN标识,接收来自FCoE启动器的PLOGI NS报文,所述PLOGI NS 报文携带待访问目标器的WWN标识,发送PLOG NS应答报文,所述PLOGI NS应答报文中携带所述N_Port_ID,以使所述启动器获得所述待访问目标器&N_P0rt_ID,使得FCoE启动器 101获得了待访问目标器的N_Port_ID。上述的PLOGI NS应答报文中还可以携带所述待访问目标器的类型标识,所述类型标识用于指示所述待访问目标器的类型,其中,所述类型包括FCoE目标器类型和FC目标器类型,这样通过PLOGI NS应答报文携带类型标识可以告知FCoE启动器101确定访问的目标器类型,直接对相应的目标器进行访问,减少了 FCoE启动器101处理环节。上述实施例中,步骤601之前还可以包括,通告设备地址信息(例如=FCoE目标器 103向FCoE启动器101通告FCoE目标器103的MAC地址)和分配MAC地址(例如FCoE 目标器103为FCoE启动器101分配MAC地址)的操作,如图7所示,为本发明实施例6中提供的一种建立FCoE通信连接的方法,包括步骤701、通告设备地址信息;具体为接收来自所述FCoE启动器101的发现请求报文;向所述FCoE启动器101发送第一发现通告报文,以对所述发现请求报文做出响应,所述第一发现通告报文中携带本地的MAC 地址;或者,接收来自所述FCoE启动器101的发现请求报文;向所述FCoE启动器101发送第二发现通告报文,以对所述发现请求报文做出响应,所述第二发现通告报文中携带本地的MAC 地址和本地的WffN标识。步骤702、分配MAC地址;具体为接收来自所述FCoE启动器101或FCoE目标器103的FLOGI报文;根据所述FLOGI报文进行登录操作;当登录操作成功时,为所述FCoE启动器101或所述FCoE目标器103分配MAC地址;发送FLOGI响应报文,所述FLOGI响应报文中携带分配的所述MAC地址。这里使得FCoE启动器101获得了分配的虚拟MAC地址;FCoE目标器103获得了分配的虚拟MAC地址步骤703、接收来自FCoE启动器的PLOGI NS报文,所述PLOGI NS报文携带待访问目标器的WWN标识;步骤704、根据所述WffN标识,查询所述待访问目标器的N_Port_ID ;步骤705、发送PLOG NS应答报文,所述PLOGI NS应答报文中携带所述N_Port_ID, 以使所述启动器获得所述待访问目标器的N_Port_ID。其中,步骤703与步骤601类似,步骤704与步骤602类似,在此不再赘述。以上的实施例中,以FCoE启动器101、FCoE转发器102、FCoE目标器103均位于无损以太网络中来举例说明,实际上,FCoE启动器101、FCoE转发器102、FCoE目标器103可以位于其它网络中,例如以太网等。下面详细介绍本发明实施例的完整流程,如下图8为本发明实施例7提供的一种建立FCoE通信连接的方法的流程图,如图8所示,图中只表示出了,FCoE启动器81建立与FCoE目标器83的通信连接的过程,其中,建立 FCoE通信连接的过程包括步骤801、发送发现请求报文;FCoE目标器83启动时,发送目的MAC地址为All-FCF-MACs的Discovery Solicitation报文,以获得接收端的MAC地址,这里的接收端可能为网络中所有的FCoE转发器和FCoE目标器,其中,All-FCF-MACs为广播地址,例如可以为Ox’ FFFFFF。步骤802、接收发现通告报文;FCoE 转发器 82 接收到 Discovery Solicitation 报文之后,回送 Discovery Advertisement 艮文作为口向应,Discovery Advertisement 艮文中携带FCoE转发器82的 EMAC地址;若图中的FCoE转发器82为FCoE目标器82时,接收到Discovery Solicitation 报文之后,回送 Discovery Advertisement 报文作为响应,DiScoVery Advertisement 报文中携带FCoE目标器82的VMAC地址,其中,EMAC地址是实际MAC地址,VMAC地址是虚拟MAC 地址,其高M比特位为特定网络前缀(例如,可以采用FC-MAP),低M比特位为N_Port_ ID(N 端口号)。步骤803、识别FCoE转发器;FCoE目标器83接收到多个Discovery Advertisement报文之后,从步骤802获得的MAC地址中,识别出高M比特位不为特定网络前缀的EMAC地址,该EMAC地址对应的就是FCoE转发器;步骤804、执行FLOGI操作;FCoE目标器83以步骤803获得的EMAC地址为目的MAC地址,向FCoE转发器82 发送FLOG报文,FCoE目标器83通过FLOGI操作获得FCoE转发器82分配的虚拟MAC地址, 该虚拟MAC地址由两部分组成,高24比特位为特定网络前缀,低M比特位为N_Port_ID。通过以上步骤801至步骤804,FCoE目标器83获得了分配的虚拟MAC地址,如果 FCoE目标器83在本操作之前已经获得了虚拟MAC地址,则不需要在执行步骤801至步骤 804以获得虚拟MAC地址。以下步骤为FCoE启动器81建立FCoE通信连接的过程步骤805、发送发现请求报文;FCoE 启动器 81 发送目的 MAC 地址为 All-FCF-MACs 的 Discovery Solicitation 报文,已获得接收端的MAC地址。步骤806、接收发现通告报文;FCoE 转发器 82 接收到 Discovery Solicitation 报文之后,回送 Discovery Advertisement 艮文作为口向应,Discovery Advertisement 艮文中携带FCoE转发器82的 EMAC地址;若图中的FCoE转发器82为FCoE目标器82时,接收到Discovery Solicitation 艮文之后,回送 Discovery Advertisement 才艮文作为口向应,Discovery Advertisement 艮文中携带FCoE目标器82的VMAC地址,其中,EMAC地址是实际MAC地址,VMAC地址是虚拟MAC 地址,其高M比特位为特定网络前缀。事实上,连接到网络中的所有的FCoE转发器和所有的FCoE目标器都会接收到Discovery Solicitation报文,并做出响应,回传Discovery Advertisement 艮文。步骤807、记录MAC地址;记录步骤806中接收的MAC地址。 步骤808、选择一个MAC地址执行FLOGI操作;在步骤806中接收的MAC地址中,选择一个MAC作为目的MAC地址以进行FLOG操作,这些MAC地址包括FCoE转发器82的EMAC地址,FCoE目标器82的VMAC地址,还有其它FCoE转发器和FCoE目标器的MAC地址。另外,选择MAC地址的方式不限于选择的方式, 例如可以为随机选择方式等,或者,选择一个FCoE转发器的MAC地址。步骤809、执行FLOGI操作;向步骤808中选择的一个MAC进行FLOG操作,其中,当选择的MAC地址为FCoE转发器82的EMAC地址时,向FCoE转发器82发起FLOGI操作;当选择的MAC地址为FCoE目标器82的VMAC地址时,向FCoE目标器82发起FLOGI操作,事实上,连接到网络中的所有的FCoE转发器和所有的FCoE目标器都会可能被选择成为执行FLOGI操作的对象。
通过这一步骤FCoE启动器81可获得分配的虚拟MAC地址,该虚拟MAC地址由两部分组成,高M比特位为特定网络前缀,低M比特位为N_Port_ID。另外,以上FCoE启动器81建立FCoE通信连接的过程中,步骤805至步骤809其实不是必须的,例如当FCoE启动器81之前已经建立过一次FCoE通信连接,如果需要再次建立FCoE通信连接,步骤805至步骤809是可以省略的。步骤810、获取用于访问待访问目标器的目的MAC地址;FCoE启动器81向步骤808中选择的MAC地址对应的FCoE目标器或FCoE转发器发起PLOGI NS操作,图中只表示出了,选择FCoE目标器82或FCoE转发器82时,向FCoE 目标器82或FCoE转发器82发起PLOGI NS操作,这样FCoE启动器81获取了待访问目标器的WffN对应的N_Port_ID ;将获得的待访问目标器的N_Port_ID与步骤807中记录的所有MAC地址的后M位进行匹配,如果不匹配,说明访问的是FC目标器104,则将所述FCoE 转发器102的MAC地址作为所述目的MAC地址,如果匹配,说明访问的是FCoE目标器103, 则将匹配的MAC地址作为所述目的MAC地址。步骤811、登录到待访问目标器;当步骤810中确定待访问目标器类型为FC目标器时,注册登录过程完全遵循 FC-BB-5协议,在此不再赘述;当步骤810中确定待访问目标器类型为FCoE目标器时,根据步骤810获得的目的MAC地址,向FCoE目标器发起注册登录,例如如图中所示,FCoE启动器81向FCoE目标器83发起FLOGI操作和PLOGI操作,以登录到FCoE目标器83,其中,本步骤中FLOGI的操作可以选择是否给FCoE启动器81重新分配一个虚拟MAC地址,如果选择不重新分配一个虚拟MAC地址,可以继续使用步骤809中获得的虚拟MAC地址,如果选择重新分配一个虚拟MAC地址,可以重新获得一个虚拟MAC地址。 FCoE通信连接建立成功。图9为本发明实施例8提供的一种建立FCoE通信连接的方法的流程图,如图9所示,该方法包括步骤901、发送发现请求报文;步骤902、接收发现通告报文;步骤903、选择一个FCoE转发器;步骤904、执行FLOGI操作;其中以上的步骤901至步骤904与上面的步骤801至步骤804类似,区别在于,步骤901至步骤910中的交互操作只涉及FCoE目标器93与FCoE转发器92或网络中的其它FCoE转发器的交互操作,而不涉及与其它FCoE目标器的交互操作,例如步骤901发出 Discovery Solicitation报文之后,只有FCoE转发器92和网络中的其它FCoE转发器回送 Discovery Advertisement 艮文作为口向应;步骤903 中只需要从Discovery Advertisement 报文中获得的EMAC地址中,选择一个FCoE转发器,以该FCoE转发器发起FLOGI操作,以获得MAC虚拟地址。另外,如果FCoE目标器93在本操作之前已经获得了虚拟MAC地址,则不需要在执行步骤901至步骤904以获得虚拟MAC地址。以上步骤901至步骤904,为了使FCoE目标器不涉及交互操作,可以采用多种方法,例如设置FCoE目标器对发现请求报文不作出响应,或者,更改发现请求报文的目的 MAC地址,使得FCoE目标器不接收该发现请求报文。
以下步骤为FCoE启动器91建立FCoE通信连接的过程步骤905、发送发现请求报文;步骤906、接收发现通告报文;步骤907、记录FCoE转发器的MAC地址;步骤908、选择一个FCoE转发器执行FLOGI操作;步骤909、执行FLOGI操作;其中以上的步骤905至步骤909与上面的步骤805至步骤810类似,区别在于,步骤905至步骤910中的交互操作只涉及FCoE启动器91与FCoE转发器92或网络中的其它FCoE转发器的交换操作,而不涉及与FCoE目标器93或其它FCoE目标器的交互操作,例如步骤905发出DiscoverySolicitation报文之后,只有FCoE转发器92和网络中的其它 FCoE转发器回送Discovery Advertisement报文作为响应;步骤906只需要从Discovery Advert isement报文中获得的EMAC地址中,选择一个FCoE转发器对应的MAC地址,以该MAC 地址为目的MAC地址,对FCoE转发器发起FLOGI操作。另外,以上FCoE启动器91建立FCoE通信连接的过程中,步骤905至步骤909其实不是必须的,例如当FCoE启动器91之前已经建立过一次FCoE通信连接,如果需要再次建立FCoE通信连接,步骤905至步骤909是可以省略的。步骤910、获取用于访问待访问目标器的目的MAC ;其中,该步骤可以包括FCoE启动器91向步骤908中选择的MAC地址对应的FCoE转发器发起PLOGI NS 操作,这样FCoE启动器91获取了待访问目标器的WffN对应的N_Port_ID ;通过该N_Port_ ID与特定网络前缀,生成探测MAC地址,通过生成的探测MAC地址,FCoE启动器91向待访问目标器发起探测操作,如果在预定时间之内,没有接收到探测响应报文,则说明待访问目标器的类型是FC目标器,则将所述FCOE转发器的MAC地址作为所述目的MAC地址;若在预定时间之内,接收到探测响应报文,则说明待访问目标器的类型是FCoE目标器,则将探测 MAC地址作为所述目的MAC地址。例如可以以探测MAC地址为目的MAC地址,进行FLOGI 操作,如果在预定时间之内,没有接收到FLOGI LS_ACC报文或LS_RJT报文,则说明待访问目标器的类型是FC目标器,若在预定时间之内,接收到FLOGI LS_ACC报文,则说明待访问目标器的类型是FCoE目标器。或者,FCoE启动器91向步骤908中选择的MAC地址对应的FCoE转发器发起PLOGI NS 操作,同时,发送给FCoE启动器91的PLOGI NS响应报文中同时携带待访问目标器的WffN 对应的N_Port_ID和待访问目标器的类型标识,该类型标识用于指示该N_Port_ID是FC目标器的N_Port_ID,还是FCoE目标器的N_Port_ID ;如果该类型标识指示为FC目标器类型, 则说明待访问目标器的类型是FC目标器,则将所述FCOE转发器的MAC地址作为所述目的 MAC地址;如果该类型标识指示为FCoE目标器类型,则说明待访问目标器的类型是FCoE目标器,则采用特定网络前缀和所述N_Port_ID生成所述目的MAC地址。步骤911、登录到待访问目标器;当步骤910中确定待访问目标器类型为FC目标器时,注册登录过程完全遵循 FC-BB-5协议,在此不再赘述;当步骤910中确定待访问目标器类型为FCoE目标器时,根据步骤910获得的目的MAC地址,向FCoE目标器发起注册登录,例如如图中所示,FCoE启动器91向FCoE目标器93发起FLOGI操作和PLOGI操作,以登录到FCoE目标器93,其中,本步骤中FLOGI的操作可以选择是否给FCoE启动器91重新分配一个虚拟MAC地址,如果选择不重新分配一个虚拟MAC地址,可以继续使用步骤909中获得的虚拟MAC地址,如果选择重新分配一个虚拟MAC地址,可以重新获得一个虚拟MAC地址。FCoE通信连接建立成功;图10为本发明实施例9提供的一种建立FCoE通信连接的方法的流程图,如图10 所示,该方法包括步骤1001、发送发现请求报文;步骤1002、接收发现通告报文;步骤1003、识别FCoE转发器;步骤1004、执行FLOGI操作;其中以上的步骤1001至步骤1004与上面的步骤801至步骤804 —样,区别在于, 步骤1002中,FCoE目标器和FCoE转发器返回的DiscoveryAdvertisement报文中,除了携带MAC地址而外,还可以携带FCoE目标器和FCoE转发器对应的WffN标识。另外,如果FCoE目标器103在本操作之前已经获得了虚拟MAC地址,则不需要在执行步骤1001至步骤1004以获得虚拟MAC地址。以下步骤为FCoE启动器101建立FCoE通信连接的过程步骤1005、发送发现请求报文;步骤1006、接收发现通告报文;步骤1007、记录MAC地址和WffN标识,并生成映射表;步骤1008、选择一个MAC地址执行FLOGI操作;步骤1009、执行FLOGI操作;其中以上的步骤1005至步骤1009与上面的步骤805至步骤809类似,区别在于, 步骤1006中,FCoE目标器和FCoE转发器返回的Discovery Advertisement报文中,除了携带MAC地址而外,还需要携带FCoE目标器和FCoE转发器对应的WffN标识,其中,携带的 MAC地址为虚拟MAC地址或实际MAC地址,所述虚拟MAC地址由特定网络前缀和N_Port_ID 组成;步骤1007中,除了记录MAC地址之外,还要记录WffN标识,并建立MAC地址与WffN标识的映射表,例如=FCoE目标器102返回一个Discovery Advertisement报文,该报文中携带FCoE目标器102的MAC地址(VMACl)和WffN(WffNl)标识,则FCoE启动器101需要建立 VMACl-WffNl这样一个映射表项,建立了多个表项之后,就是一个MAC地址一WWN标识的映射表。以上FCoE启动器101建立FCoE通信连接的过程中,步骤1005至步骤1009其实不是必须的,例如当FCoE启动器101之前已经建立过一次FCoE通信连接,如果需要再次建立FCoE通信连接,步骤1005至步骤1009是可以省略的。以上步骤FCoE启动器101获得了 MAC地址。步骤1010、获取用于访问待访问目标器的目的MAC ;FCoE启动器101根据待访问目标器的WffN标识,在步骤1007中生成的映射表中查询是否有对应该WWN标识的表项,如果存在该表项,则说明待访问目标器的类型是FCoE目标器,则将该表项对应的MAC地址作为所述目的MAC地址,否则,说明待访问目标器的类型是FC目标器,则将所述FCoE转发器的MAC地址作为所述目的MAC地址。步骤1011、登录到待访问目标器;当步骤1010中确定待访问目标器类型为FC目标器时,注册登录过程完全遵循 FC-BB-5协议,在此不再赘述;当步骤1010中确定待访问目标器类型为FCoE目标器时,根据步骤1010获得的目的MAC地址,向FCoE目标器发起注册登录,例如如图中所示,FCoE启动器101向FCoE目标器103发起FLOGI操作和PLOGI操作,以登录到FCoE目标器103,其中,本步骤中FLOGI的操作可以选择是否给FCoE启动器101重新分配一个虚拟MAC地址, 如果选择不重新分配一个虚拟MAC地址,可以继续使用步骤1009中获得的虚拟MAC地址, 如果选择重新分配一个虚拟MAC地址,可以重新获得一个虚拟MAC地址。FCoE通信连接建立成功。本发明实施例中还提供了一种建立FCoE通信连接的装置,如图11所示,该装置包括地址获取模块1110,用于根据待访问目标器的WffN全球唯一名字标识,获取用于访问所述待访问目标器的目的MAC地址;连接建立模块1120,用于根据所述地址获取模块1110获取的所述目的MAC地址, 对所述待访问目标器进行登录操作,以建立FCoE以太网光纤通道通信连接。该装置还可以包括设备地址信息获取模块1130,用于发送发现请求报文;接收第一发现通告报文, 所述第一发现通告报文中携带发送端的MAC地址;记录发送端的所述MAC地址;或者,用于发送发现请求报文;接收第二发现通告报文,所述第二发现通告报文携带发送端的的MAC 地址和发送端的WWN标识;生成发送端的所述MAC地址与发送端的所述WffN标识的映射关系。该装置还可以包括网络地址获取模块1140,用于根据记录的发送端的所述MAC地址,生成MAC地址列表;根据所述MAC地址列表,选择一个MAC地址或者选择一个FCoE转发器的MAC地址;发送 FLOGI报文,以获得本地的MAC地址,所述FLOGI报文的目的MAC地址为选择的所述MAC地址。其中,地址获取模块1110包括第一端口标识获取单元1111,用于当接收到来自FCoE转发器和FCoE目标器的第一发现通告报文时,根据所述网络地址获取模块1140选择的MAC地址,发送PLOGI NS端口注册名字服务器报文,以查询所述待访问目标器&N_P0rt_ID N端口标识,所述PLOGI NS 报文携带所述待访问目标器的WWN标识;接收PLOGI NS应答报文,所述PLOGI NS应答报文携带所述待访问目标器的N_Port_ID ;获取所述待访问目标器的N_Port_ID ;第一 MAC地址获取单元1112,用于判断所述第一端口标识获取单元1111获取的所述待访问目标器的N_Port_ID与所述设备地址信息获取模块1130记录的MAC地址是否匹配;如果不匹配,则将所述FCoE转发器的MAC地址作为所述目的MAC地址,如果匹配,则将匹配的MAC地址作为所述目的MAC地址;或者,
第二端口标识获取单元1113,用于当接收到来自FCoE转发器的第一发现通告报文时,根据所述网络地址获取模块1140选择的MAC地址,发送PLOGI NS报文,以查询所述待访问目标器的N_Port_ID,所述PLOGI NS报文携带所述待访问目标器的WffN标识;接收 PLOG NS应答报文,所述PLOGI NS应答报文携带所述待访问目标器的N_Port_ID ;获取所述待访问目标器的N_Port_ID ;第二 MAC地址获取单元1114,用于采用特定网络前缀和所述第二端口标识获取单元1113获取的待访问目标器的所述N_Port_ID生成探测MAC地址;以所述探测MAC地址为目的MAC地址,发送探测报文;如果在预设时间之内接收到响应报文,则将探测MAC地址作为所述目的MAC地址;如果在预设时间之内未接收到响应报文,则将所述FCoE转发器的 MAC地址作为所述目的MAC地址;或者,第三端口标识获取单元1115,用于当接收到来自FCoE转发器的第一发现通告报文时,根据所述网络地址获取模块1140选择的MAC地址,发送PLOGI NS报文,以查询所述待访问目标器的N_Port_ID,所述PLOGI NS报文携带所述待访问目标器的WffN标识;接收 PLOG NS应答报文,所述PLOGI NS应答报文携带所述待访问目标器的N_Port_ID和所述待访问目标器的类型标识,所述类型标识用于指示所述待访问目标器的类型,所述类型包括 FCoE目标器类型和FC目标器类型;获取所述待访问目标器的N_Port_ID ;第三MAC地址获取单元1116,用于当所述第三端口标识获取单元1115获取的所述类型标识指示为FCoE目标器类型,则采用特定网络前缀和所述第三端口标识获取单元 1115获取的待访问目标器的所述N_Port_ID生成所述目的MAC地址;如果所述类型标识指示为FC目标器类型,则将所述FCoE转发器的MAC地址作为所述目的MAC地址。或者,第四MAC地址获取单元1117,用于当接收到第二发现通告报文时,根据所述设备地址信息获取模块1130生成的所述映射关系,查询所述待访问目标器的WffN标识对应的 MAC地址,如果查询出MAC地址,则将查询出的MAC地址作为所述目的MAC地址;如果未查询出MAC地址,则将所述FCoE转发器的MAC地址作为所述目的MAC地址。本发明实施例中还提供了另一种建立FCoE通信连接的装置,如图12所示,该装置包括请求接收模块1210,用于接收来自FCoE启动器的登录操作请求;请求处理模块1220,用于根据所述请求接收模块1210接收的所述登录操作请求, 建立与所述FCoE启动器之间的FCoE通信连接。所述装置还可以包括第一设备地址信息通告模块1230,用于接收来自所述FCoE启动器的发现请求报文;向所述FCoE启动器发送第一发现通告报文,以对所述发现请求报文做出响应,所述第一发现通告报文中携带本地的虚拟MAC地址,所述虚拟MAC地址由特定网络前缀
ID组成;或者,向所述FCoE启动器发送第二发现通告报文,以对所述发现请求报文做出响应,所述第二发现通告报文中携带本地的MAC地址和本地WffN标识,其中,携带的所述本地的MAC地址为虚拟MAC地址或实际MAC地址,所述虚拟MAC地址由特定网络前缀和N_Port_ ID组成。
该装置还可以包括第一网络地址分配模块1240,用于接收来自所述FCoE启动器的FLOGI报文;根据所述FLOGI报文进行登录操作;当登录操作成功时,为所述FCoE启动器分配MAC地址;发送 FLOGI响应报文,所述FLOGI响应报文中携带分配的所述MAC地址。本发明实施例中还提供了一种名字服务器,如图13所示,该名字服务器包括接收模块1310,用于接收来自FCoE启动器的PLOGI NS报文,所述PLOGI NS报文携带待访问目标器的WWN标识;端口号查询模块1320,用于根据所述接收模块1310接收的所述WffN标识,查询所述待访问目标器的N_Port_ID ;发送模块1330,用于发送第一 PLOG NS应答报文,所述第一 PLOGI NS应答报文中携带所述端口号查询模块1320查询出的所述N_Port_ID,以使所述FCoE启动器获得所述待访问目标器的N_Port_ID。上述的发送模块1330,还可以用于发送第二 PLOG NS应答报文,所述第二 PLOGI NS应答报文中携带所述N_Port_ID和所述待访问目标器的类型标识,所述类型标识用于指示所述待访问目标器的类型,其中,所述类型包括FCoE目标器类型和FC目标器类型。该名字服务器还可以包括第二设备地址信息通告模块1340,用于接收来自所述FCoE启动器的发现请求报文;向所述FCoE启动器发送第一发现通告报文,以对所述发现请求报文做出响应,所述第一发现通告报文中携带本地的MAC地址;或者,用于向所述FCoE启动器发送第二发现通告报文,以对所述发现请求报文做出响应,所述第二发现通告报文中携带本地的MAC地址和本地的WffN标识。该名字服务器还可以包括第二网络地址分配模块1350,用于接收来自所述FCoE启动器或FCoE目标器的 FLOGI报文;根据所述FLOGI报文进行登录操作;当登录操作成功时,为所述FCoE启动器或所述FCoE目标器的分配MAC地址;发送FLOGI响应报文,所述FLOGI响应报文中携带分配的所述MAC地址。本发明实施例中还提供了一种建立FCoE通信连接的系统,该系统包括至少一个如上述实施例中提供的一种建立FCoE通信连接的装置;至少一个如上述实施例中提供的一种建立FCoE通信连接的装置或者,至少一个如上述实施例中提供的一种名字服务器。本发明实施例1中,步骤201还可以包括FCoE启动器101向名字服务器发送名字服务器查询报文,以查询所述待访问目标器的N_Port_ID N端口标识,所述名字服务器查询报文携带所述待访问目标器的WffN标识; 接收名字服务器查询应答报文,该名字服务器查询应答报文是名字服务器查询报文的应答报文;当名字服务器查询应答报文不携带N_Port_ID时,说明访问的是FC目标器104,则将FCoE转发器102的MAC地址作为所述待访问目标器的目的MAC地址,通过FCoE转发器 102实现对FC目标器104的访问;当名字服务器查询应答报文携带N_Port_ID和待访问目标器的目的MAC地址时,通过该目的MAC地址实现对FCoE目标器103的访问,待访问目标器的目的MAC地址包括采用特定网络前缀(例如为FC-MAP(Fiber Channel Mapped Address Prefix))和所述N_Port_ID生成所述目的MAC地址,或者,实际MAC地址。实际使用中,可以使用PLOGI NS端口注册名字服务器报文代替名字服务器查询报文,也可以使用自定义的报文代替名字服务器查询报文;在这里,名字服务器中保存有FCoE目标器的N_Port_ID与 WffN对应关系,而没有,FC目标器的N_Port_ID与WffN对应关系,因此,如果名字服务器返回的查询应答报文不携带N_Port_ID信息时,说明没有查询到对应的FCoE目标器,可判断待访问目标应该为FC目标器。或者,FCoE启动器101发送目的MAC地址为All-FCF-MACs或ALL_VN2VN_MACs的发现请求报文,该报文携带待访问目标器的WWN,对于目的地址为All-FCF-MACs,接收端可能为网络中所有的FCoE节点(FCoE启动器和FCoE目标器)和FCoE转发器,对于目的地址为 ALL_VN2VN_MACs,接收端可能为网络中所有的FCoE节点,其中,All-FCF-MACs为广播地址, 例如可以为Ox,FFFFFF, ALL_VN2VN_MACs为针对FCoE节点的组播地址;如果FCoE启动器没有接收到对应发现请求报文的发现请求应答报文,说明访问的是FC目标器104,则将 FCoE转发器102的MAC地址作为所述目的MAC地址,通过FCoE转发器102实现对FC目标器104的访问;如果接收到发现请求应答报文,该发现请求应答报文中携带待访问目标器的N_Port_ID和待访问目标器的目的MAC地址,通过获取该目的MAC地址实现对FCoE目标器103的访问,实际使用中,可以使用PLOGI NS端口注册名字服务器报文代替名字服务器查询报文,也可以使用自定义的报文代替名字服务器查询报文,在这里,接收到发现请求报文的FCoE目标器,都会查找自身的WffN是否与待访问目标器的WffN相同,如果相同,则会回传一个发现请求应答报文,告知FCoE启动器自身的N_Port_ID。对应的,FCoE启动器101没有获得自身的N_Port_ID时,步骤201之前还可以包括,获取FCoE节点MAC地址的操作,如图14所示,为本发明实施例10中提供的一种建立 FCoE通信连接的方法,包括步骤1401、获取本地的虚拟MAC地址;其中,本步骤具体可以包括FCoE启动器101执行FLOGI操作,获得了名字服务器分配的N_Port_ID,所述虚拟MAC地址由特定网络前缀和N_Port_ID组成。通过步骤1401,名字服务器为FCoE节点分配的虚拟MAC地址,保证了 FCoE节点能够快速获取虚拟MAC地址,提高了地址分配效率。步骤1402、根据待访问目标器的WffN全球唯一名字标识,获取访问所述待访问目标器的目的MAC地址;步骤1403、根据所述目的MAC地址,对所述待访问目标器进行登录操作,以建立 FCoE以太网光纤通道通信连接。通过根据待访问目标器的WWN全球唯一名字标识,获取用于访问所述待访问目标器的目的MAC地址,根据所述目的MAC地址,对所述待访问目标器进行登录操作,以建立 FCoE以太网光纤通道通信连接,实现了 FCoE启动器与FCoE目标器可直接建立通信连接,减少了数据传输延时,减轻了原有FCoE转发器的处理负荷。上述实施例中,步骤1403中具体可以包括当步骤1402中确定待访问目标器类型为FC目标器时,注册登录过程完全遵循FC-BB-5协议,在此不再赘述;当步骤1402中确定待访问目标器类型为FCoE目标器时,根据步骤1402获得的目的MAC地址,向FCoE目标器发起注册登录,例如如图中所示,FCoE启动器101向FCoE目标器103发起FLOGI操作和PLOGI操作,以登录到FCoE目标器103,其中,本步骤中FLOGI的操作可以选择是否给FCoE启动器101重新分配一个虚拟MAC地址, 如果选择不重新分配一个虚拟MAC地址,可以继续使用步骤1401中获得的虚拟MAC地址, 如果选择重新分配一个虚拟MAC地址,可以重新获得一个虚拟MAC地址。FCoE通信连接建立成功。上述实施例中,步骤1401之前,需要获取名字服务器的MAC地址和FCoE转发器的 MAC地址,可以包括FCoE节点预先配置名字服务器的MAC地址和FCoE转发器的MAC地址;或者,对于名字服务器和FCoE转发器采用不同的发现请求,通过接收应答报文,获取名字服务器的MAC地址和FCoE转发器的MAC地址,例如针对FCoE转发器,发送组播发现请求,组播目的MAC地址为All-FCF-MACs,接收来自网络中的FCoE转发器发送的应答报文, 该应答报文中携带FCoE转发器的MAC地址;针对名字服务器,发送组播发现请求,组播目的 MAC地址为ALL-NS-MACs,接收来自网络中的名字服务器发送的应答报文,该应答报文中携带名字服务器的MAC地址。图15为本发明实施例中提供的一种建立FCoE通信连接的装置,该装置包括地址获取模块1510和连接建立模块1520。其中,地址获取模块1510,可以包括第五端口标识获取单元1511,用于发送名字服务器查询报文,所述名字服务器查询报文携带所述待访问目标器的WffN标识;接收名字服务器查询应答报文,所述名字服务器查询应答报文中携带待访问目标器的N_Port_ID ;第五MAC地址获取单元1512,用于获取所述第四端口标识获取单元接收的名字服务器查询应答报文中携带的待访问目标器的N_Port_ID,由特定网络前缀和所述N_Port_ ID生成所述目的MAC地址;或者,第六端口标识获取单元1513,用于发送发现请求报文,所述发现请求报文携带待访问目标器的WWN ;接收发现请求应答报文,所述发现请求应答报文中携带待访问目标器的 N_Port_ID ;第六MAC地址获取单元1514,用于获取所述第五端口标识获取单元接收的发现请求应答报文中携带的待访问目标器的N_Port_ID,由特定网络前缀和所述N_Port_ID生成所述目的MAC地址。连接建立模块1520,用于根据所述地址获取模块1510获取的所述目的MAC地址, 对所述待访问目标器进行登录操作,以建立FCoE以太网光纤通道通信连接;本领域普通技术人员可以理解实现上述实施例方法中的全部或部分步骤是可以通过程序来指令相关的硬件完成,上述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。以上对本发明所提供的一种数据访问方法及通信系统以及相关装置进行了详细介绍,对于本领域的一般技术人员,依据本发明实施例的思想,在具体实施方式
及应用范围上均会有改变之处,因此,本说明书内容不应理解为对本发明的限制。
权利要求
1.一种建立FCoE通信连接的方法,其特征在于,所述方法包括根据待访问目标器的WWN全球唯一名字标识,获取用于访问所述待访问目标器的目的 MAC地址;根据所述目的MAC地址,对所述待访问目标器进行登录操作,以建立FCoE以太网光纤通道通信连接。
2.根据权利要求1所述的方法,其特征在于,所述方法之前,还包括发送发现请求报文;接收第一发现通告报文,所述第一发现通告报文中携带发送端的 MAC地址;记录发送端的所述MAC地址;或者,发送发现请求报文;接收第二发现通告报文,所述第二发现通告报文携带发送端的的 MAC地址和发送端的WffN标识;生成发送端的所述MAC地址与发送端的所述WffN标识的映射关系。
3.根据权利要求2所述的方法,其特征在于,所述方法还包括根据记录的发送端的所述MAC地址,生成MAC地址列表;根据所述MAC地址列表,选择一个MAC地址或者选择一个FCoE转发器的MAC地址;发送FLOGI报文,以获得本地的MAC地址,所述FLOGI报文的目的MAC地址为选择的所述MAC地址。
4.根据权利要求3所述的方法,其特征在于,所述根据待访问目标器的WffN全球唯一名字标识,获取访问所述待访问目标器的目的MAC地址,包括当接收到来自FCoE转发器和FCoE目标器的第一发现通告报文时,根据选择的MAC地址,发送PLOGI NS端口注册名字服务器报文,以查询所述待访问目标器的N_Port_ID N端口标识,所述PLOGI NS报文携带所述待访问目标器的WffN标识;接收PLOGI NS应答报文, 所述PLOGI NS应答报文携带所述待访问目标器&N_P0rt_ID ;获取所述待访问目标器的丄 Port_ID ;判断所述待访问目标器的N_Port_ID与记录的MAC地址是否匹配;如果匹配,则将匹配的MAC地址作为所述目的MAC地址;或者,当接收到来自FCoE转发器的第一发现通告报文时,根据选择的MAC地址,发送PLOGI NS报文,以查询所述待访问目标器的N_Port_ID,所述PLOGI NS报文携带所述待访问目标器的WffN标识;接收PLOG NS应答报文,所述PLOGI NS应答报文携带所述待访问目标器的 N_Port_ID ;获取所述待访问目标器的N_Port_ID ;采用特定网络前缀和所述待访问目标器的所述N_Port_ID生成探测MAC地址;以所述探测MAC地址为目的MAC地址,发送探测报文;如果在预设时间之内接收到响应报文,则将探测MAC地址作为所述目的MAC地址;或者,当接收到来自FCoE转发器的第一发现通告报文时,根据选择的MAC地址,发送PLOGI NS报文,以查询所述待访问目标器的N_Port_ID,所述PLOGI NS报文携带所述待访问目标器的WffN标识;接收PLOG NS应答报文,所述PLOGI NS应答报文携带所述待访问目标器的 N_Port_ID和所述待访问目标器的类型标识,所述类型标识用于指示所述待访问目标器的类型,所述类型包括FCoE目标器类型和FC目标器类型;获取所述待访问目标器的N_Port_ ID ;如果所述类型标识指示为FCoE目标器类型,则采用特定网络前缀和所述N_Port_ID生成所述目的MAC地址;或者,当接收到第二发现通告报文时,根据生成的所述映射关系,查询所述待访问目标器的 WffN标识对应的MAC地址,如果查询出MAC地址,则将查询出的MAC地址作为所述目的MAC 地址。
5.根据权利要求1所述的方法,其特征在于,所述根据待访问目标器的WWN全球唯一名字标识,获取访问所述待访问目标器的目的MAC地址,包括发送名字服务器查询报文,所述名字服务器查询报文携带所述待访问目标器的WWN标识;接收名字服务器查询应答报文,所述名字服务器查询应答报文中携带待访问目标器的 N_Port_ID和待访问目标器的目的MAC地址,所述待访问目标器的目的MAC地址包括由特定网络前缀和所述N_Port_ID生成的虚拟MAC地址或实际MAC地址;或者,发送发现请求报文,所述发现请求报文携带待访问目标器的WWN ;接收发现请求应答报文,所述发现请求应答报文中携带待访问目标器的N_Port_ID和待访问目标器的目的 MAC地址,所述待访问目标器的目的MAC地址包括由特定网络前缀和所述N_Port_ID生成的虚拟MAC地址或实际MAC地址。
6.一种建立FCoE通信连接的方法,其特征在于,所述方法包括发送名字服务器查询报文,所述名字服务器查询报文携带所述待访问目标器的WWN标识;接收名字服务器查询应答报文,所述名字服务器查询应答报文中携带待访问目标器的 N_Port_ID和待访问目标器的目的MAC地址,所述待访问目标器的MAC地址包括由特定网络前缀和所述N_Port_ID生成的虚拟MAC地址或实际MAC地址;或者,发送发现请求报文, 所述发现请求报文携带待访问目标器的WWN ;接收发现请求应答报文,所述发现请求应答报文中携带待访问目标器的N_Port_ID和待访问目标器的目的MAC地址,所述待访问目标器的MAC地址包括由特定网络前缀和所述N_Port_ID生成的虚拟MAC地址或实际MAC地址;根据所述待访问目标器的MAC地址,对所述待访问目标器进行登录操作,以建立FCoE 以太网光纤通道通信连接。
7.一种建立FCoE通信连接的方法,其特征在于,所述方法包括接收来自FCoE启动器的登录操作请求;根据所述登录操作请求,建立与所述FCoE启动器之间的FCoE通信连接;接收来自所述FCoE启动器的发现请求报文;向所述FCoE启动器发送第二发现通告报文,以对所述发现请求报文做出响应,所述第二发现通告报文中携带本地的MAC地址和本地WffN标识,其中,携带的所述本地的MAC地址为虚拟MAC地址或实际MAC地址,所述虚拟 MAC地址由特定网络前缀和N_Port_ID组成。
8.一种建立FCoE通信连接的方法,其特征在于,所述方法包括接收来自FCoE启动器的PLOGI NS报文,所述PLOGI NS报文携带待访问目标器的WffN 标识;根据所述WWN标识,查询所述待访问目标器的N_Port_ID ;发送PLOG NS应答报文,所述PLOGI NS应答报文中携带所述N_Port_ID,以使所述启动器获得所述待访问目标器的N_Port_ID。
9.根据权利要求8所述的方法,其特征在于,所述PLOGINS应答报文中还可以携带所述待访问目标器的类型标识,所述类型标识用于指示所述待访问目标器的类型,其中,所述类型包括FCoE目标器类型和FC目标器类型。
10.一种建立FCoE通信连接的装置,其特征在于,所述装置包括地址获取模块,用于根据待访问目标器的WWN全球唯一名字标识,获取用于访问所述待访问目标器的目的MAC地址;连接建立模块,用于根据所述地址获取模块获取的所述目的MAC地址,对所述待访问目标器进行登录操作,以建立FCoE以太网光纤通道通信连接。
11.根据权利要求10所述的装置,其特征在于,所述装置还包括设备地址信息获取模块,用于发送发现请求报文;接收第一发现通告报文,所述第一发现通告报文中携带发送端的MAC地址;记录发送端的所述MAC地址;或者,用于发送发现请求报文;接收第二发现通告报文,所述第二发现通告报文携带发送端的的MAC地址和发送端的WffN标识;生成发送端的所述MAC地址与发送端的所述WffN标识的映射关系。
12.根据权利要求11所述的装置,其特征在于,所述装置还包括网络地址获取模块,用于根据记录的发送端的所述MAC地址,生成MAC地址列表;根据所述MAC地址列表,选择一个MAC地址或者选择一个FCOE转发器的MAC地址;发送FLOGI 报文,以获得本地的MAC地址,所述FLOGI报文的目的MAC地址为选择的所述MAC地址。
13.根据权利要求12所述的装置,其特征在于,所述地址获取模块,包括第一端口标识获取单元,用于当接收到来自FCoE转发器和FCoE目标器的第一发现通告报文时,根据所述网络地址获取模块选择的MAC地址,发送PLOGI NS端口注册名字服务器报文,以查询所述待访问目标器&N_P0rt_ID N端口标识,所述PLOGI NS报文携带所述待访问目标器的WWN标识;接收PLOGI NS应答报文,所述PLOGI NS应答报文携带所述待访问目标器的N_Port_ID ;获取所述待访问目标器的N_Port_ID ;第一 MAC地址获取单元,用于判断所述第一端口标识获取单元获取的所述待访问目标器的N_Port_ID与所述设备地址信息获取模块记录的MAC地址是否匹配;如果匹配,则将匹配的MAC地址作为所述目的MAC地址;或者,第二端口标识获取单元,用于当接收到来自FCoE转发器的第一发现通告报文时,根据所述网络地址获取模块选择的MAC地址,发送PLOGI NS报文,以查询所述待访问目标器的 N_Port_ID,所述PLOGI NS报文携带所述待访问目标器的WffN标识;接收PLOG NS应答报文,所述PLOGI NS应答报文携带所述待访问目标器的N_Port_ID ;获取所述待访问目标器的 N_Port_ID ;第二 MAC地址获取单元,用于采用特定网络前缀和所述第二端口标识获取单元获取的待访问目标器的所述N_Port_ID生成探测MAC地址;以所述探测MAC地址为目的MAC地址, 发送探测报文;如果在预设时间之内接收到响应报文,则将探测MAC地址作为所述目的MAC 地址;或者,第三端口标识获取单元,用于当接收到来自FCoE转发器的第一发现通告报文时,根据所述网络地址获取模块选择的MAC地址,发送PLOGI NS报文,以查询所述待访问目标器的 N_Port_ID,所述PLOGI NS报文携带所述待访问目标器的WffN标识;接收PLOG NS应答报文,所述PLOGI NS应答报文携带所述待访问目标器&N_P0rt_ID和所述待访问目标器的类型标识,所述类型标识用于指示所述待访问目标器的类型,所述类型包括FCoE目标器类型和FC目标器类型;获取所述待访问目标器的N_Port_ID ;第三MAC地址获取单元,用于当所述第三端口标识获取单元获取的所述类型标识指示为FCoE目标器类型,则采用特定网络前缀和所述第三端口标识获取单元获取的待访问目标器的所述N_Port_ID生成所述目的MAC地址; 或者,第四MAC地址获取单元,用于当接收到第二发现通告报文时,根据所述设备地址信息获取模块生成的所述映射关系,查询所述待访问目标器的WffN标识对应的MAC地址,如果查询出MAC地址,则将查询出的MAC地址作为所述目的MAC地址。
14.根据权利要求10所述的装置,其特征在于,所述地址获取模块,包括第五端口标识获取单元,用于发送名字服务器查询报文,所述名字服务器查询报文携带所述待访问目标器的WWN标识;接收名字服务器查询应答报文,所述名字服务器查询应答报文中携带待访问目标器的N_Port_ID和待访问目标器的MAC目的地址;第五MAC地址获取单元,用于获取所述第四端口标识获取单元接收的名字服务器查询应答报文中携带的待访问目标器的目的MAC地址,所述待访问目标器的MAC地址包括由特定网络前缀和所述N_Port_ID生成的虚拟MAC地址或实际MAC地址; 或者,第六端口标识获取单元,用于发送发现请求报文,所述发现请求报文携带待访问目标器的WWN ;接收发现请求应答报文,所述发现请求应答报文中携带待访问目标器的N_Port_ ID和待访问目标器的目的MAC地址;第六MAC地址获取单元,用于获取所述第五端口标识获取单元接收的发现请求应答报文中携带的待访问目标器的目的MAC地址,所述待访问目标器的MAC地址包括由特定网络前缀和所述N_Port_ID生成的虚拟MAC地址或实际MAC地址。
15.一种建立FCoE通信连接的装置,其特征在于,所述装置包括 请求接收模块,用于接收来自FCoE启动器的登录操作请求;请求处理模块,用于根据所述请求接收模块接收的所述登录操作请求,建立与所述 FCoE启动器之间的FCoE通信连接;第一设备地址信息通告模块,用于接收来自所述FCoE启动器的发现请求报文;向所述 FCoE启动器发送第二发现通告报文,以对所述发现请求报文做出响应,所述第二发现通告报文中携带本地的MAC地址和本地WffN标识,其中,携带的所述本地的MAC地址为虚拟MAC 地址或实际MAC地址,所述虚拟MAC地址由特定网络前缀和N_Port_ID组成。
16.一种名字服务器,其特征在于,所述名字服务器包括接收模块,用于接收来自FCoE启动器的PLOGI NS报文,所述PLOGI NS报文携带待访问目标器的WffN标识;端口号查询模块,用于根据所述接收模块接收的所述WWN标识,查询所述待访问目标器的 N_Port_ID ;发送模块,用于发送第一 PLOG NS应答报文,所述第一 PLOGI NS应答报文中携带所述端口号查询模块查询出的所述N_Port_ID,以使所述FCoE启动器获得所述待访问目标器的 N_Port_ID。
17.根据权利要求16所述的名字服务器,其特征在于,;所述发送模块,还可以用于发送第二 PLOG NS应答报文,所述第二 PLOGI NS应答报文中携带所述N_Port_ID和所述待访问目标器的类型标识,所述类型标识用于指示所述待访问目标器的类型,其中,所述类型包括FCoE目标器类型和FC目标器类型。
18.一种建立FCoE通信连接的系统,其特征在于,所述系统包括 至少一个如权利要求10至13所述的一种建立FCoE通信连接的装置;至少一个如权利要求15所述的一种建立FCoE通信连接的装置或者至少一个如权利要求16至17所述的一种名字服务器。
全文摘要
本发明实施例公开了一种建立FCoE通信连接的方法、装置、名字服务器和系统,通过根据待访问目标器的WWN全球唯一名字标识,获取用于访问所述待访问目标器的目的MAC地址,根据所述目的MAC地址,对所述待访问目标器进行登录操作,以建立FCoE以太网光纤通道通信连接,实现了FCoE启动器与FCoE目标器可直接建立通信连接,减少了数据传输延时,减轻了原有FCoE转发器的处理负荷。
文档编号H04L12/28GK102209023SQ20101020803
公开日2011年10月5日 申请日期2010年6月8日 优先权日2010年3月31日
发明者刘利锋, 孟健, 王雨晨, 迈克尔·A·高 申请人:成都市华为赛门铁克科技有限公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1