具体实施方式
为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
现有技术中,在FCoE发起者向标准中定义的广播地址ALL-FCF-MACs发送广播以获取当前网络中FCF的MAC地址时,如果FCF和FCoE目标器都响应该广播则FCoE会认为响应所述广播的都是FCF,因此,当FCoE发起者选择任意一个FCF进行Flogi注册时,如果选择到的实际上是一个FCoE目标器则无法从FCoE目标器获得N-Port ID,因此无法获得在FCoE网络中的网络地址,从而无法建立起与FCoE网络中网络节点之间的通信连接。本发明实施例提供网络地址获取方法及以太网光纤通道协议目标器及通信系统,用以实现在FCoE网络中存在FCoE目标器的情况下FCoE发起者也能够顺利获得网络地址。
本发明实施例提供一种获取网络地址方法,参见图1,该方法包括:
步骤100:接收FCoE发起者的网络注册请求;
步骤102:根据所述网络注册请求判断所述FCoE发起者是否有FCoE网络中的网络地址,若否,则将所述网络注册请求转发至FCoE转换设备;
其中,在FCoE网络中,发起者需要通过网络注册获得网络地址,只有进行了注册并获取到唯一的网络地址,网络中的节点才可以访问到该发起者并进一步建立网络通信;
本发明实施例中,当接收到FCoE发起者的网络注册请求的网络节点不能为FCoE发起者分配网络唯一标识时,需要将该注册请求转发给FCoE转换设备FCF,由FCF根据接收到的网络注册请求来分配网络唯一标识,例如24位的N-Port ID作为FCoE发起者在光纤通道(Fibre Channel,FC)网络中的唯一标识,同时,FCF会在N-Port ID前面加上标准定义的高24位标识FC-MAP以完成FCoE发起者的虚拟MAC地址的构建,在响应所接收到网络注册请求时,将构建的虚拟MAC地址作为FCoE网络中的网络地址包含在响应消息中;
步骤104:接收FCoE转换设备返回的网络注册请求响应消息,将接收到网络注册请求响应消息返回至发送网络注册请求的FCoE发起者,其中,网络注册请求响应消息包括FCoE发起者的FCoE网络中的网络地址。
通过本发明实施例所提供的获取网络地址的方法,在接收到FCoE发起者网络注册请求而不能为该FCoE发起者分配网络地址时,将网络注册请求转发至FCF,并将FCF对注册请求的响应消息返回至FCoE发起者,从而实现了再不改动现有FCoE发起者以及FCF的情况下FCoE发起者顺利获得FCoE网络中网络地址,从而保护了客户在现有FCoE发起者及FCF上的投资,节约了网络构建成本。
本发明实施例还提供一种获取网络地址方法,图2为本方法实施执行的场景图,本方法实施例的执行主体可以是FCoE目标器,参见图3,该方法包括:
步骤300:响应所接收到的FCF MAC地址请求(ALL-FCF-MACs)广播消息;
在FCoE发起者进行网络注册前,FCoE发起者会向FCoE网络发送ALL-FCF-MACs广播消息,本发明实施例中,可以设置目标器对所接收到的ALL-FCF-MACs广播消息会返回响应消息,响应消息中包括了FCoE目标器的MAC地址;
步骤302:接收FCoE发起者的网络注册请求,其中网络注册请求中包括FCoE发起者的MAC地址;
步骤304:根据所述FCoE发起者的MAC地址判断该MAC地址是否为虚拟MAC地址,若否,则进入步骤306;若是,则进入步骤310;
通常网络注册请求中包括了FCoE发起者的MAC地址,本发明实施例中,作为网络地址的虚拟MAC地址,可以由作为低24位的N-Port ID加上标准定义的高24位标识FC-MAP构建成FCoE网络中的网络地址,在本发明实施例中,可以判断FCoE发起者是否具有虚拟的MAC地址,如果没有则说明该FCoE发起者还没有获得用以构建FCoE网络中网络地址的网络唯一标识N-Port ID,则需要将该网络注册请求转发给FCF,以获得FCoE发起者在FC网络中的唯一标识;
步骤306:将所述网络注册请求转发至任一预先判断得到的FCF;
其中,在将网络注册请求转发至FCF可以是将网络注册请求转发至预先判断得到的FCF,也可以在每次转发时判断FCF,本实施例采用前者,即将网络注册请求转发至预先判断得到的FCF;
其中,接收到网络注册请求的FCF根据接收到的网络注册请求来分配网络唯一标识,例如24位的N-Port ID作为FCoE发起者在FC网络中的唯一标识,同时,FCF会在N-Port ID前面加上标准定义的高24位标识FC-MAP以完成FCoE发起者的虚拟MAC地址的构建,在响应所接收到网络注册请求时,将构建的虚拟MAC地址作为FCoE网络中的网络地址包含在响应消息中;
步骤308:接收FCF返回的网络注册请求响应消息,将接收到网络注册请求响应消息返回至发送网络注册请求的FCoE发起者,其中,网络注册请求响应消息包括FCoE发起者的网络地址;
步骤310:返回FCoE发起者的网络地址;
其中,如果FCoE目标器收到的FCoE发起者发来的注册请求时,检查出FCoE发起者使用的MAC地址为虚拟MAC地址。此时,FCoE将不转发该Flogi请求。将由FCoE目标器处理该请求,响应消息可以包括返回N_Port ID和其他一些服务参数(如Node_Name、Common Service Parameter、Class ServiceParameter、QoS Parameter等)。在此处FCoE目标器不会为FCoE发起者分配新的N_Port ID,只需要将FCoE发起者的返回包含N_Port ID的网络地址,即可。
其中,参见图4,在步骤304中判断FCF的方法可以包括:
步骤40:发送ALL-FCF-MACs广播消息;
步骤41:接收所述广播消息的响应消息,对所接收响应消息中的MAC地址进行判断,若MAC地址为物理MAC地址,则判断该物理MAC地址对应的响应消息发送方为FCF;
其中,判断MAC地址是否为物理地址可以通过对收到的MAC地址的高24位进行判断,如果在该高24位的范围在0EFC00-0EFCFF,则说明使用的是虚拟MAC地址,否则使用的是物理地址;
步骤42:记录判断得到的FCF的网络地址。
通过本发明实施所提供的方法,在FCoE发起者发起ALL-FCF-MACs广播消息时,在FCoE网络中存在FCoE目标器的情况下,FCF和FCoE都将进行响应,在不对现有FCoE发起者进行改动的情况下,FCoE发起者可以任意选择一个响应消息的发送方,将网络注册请求发送至该响应消息的发送方,如果所选择的是FCoE目标器时,FCoE目标器将网络注册请求转发至FCF,并将FCF对注册请求的响应消息返回至FCoE发起者,从而实现了在不改动现有FCoE发起者以及FCF的情况下FCoE发起者顺利获得FCoE网络中网络地址,从而保护了客户在现有FCoE发起者及FCF上的投资,节约了网络构建成本。并且,本实施例中预先判断得到FCF,提高了注册效率。
本发明实施例还提供了一种获取网络地址方法,当FCoE发起者通过FCoE目标器完成网络注册后,FCoE发起者后续的网络地址查询等网络行为也可以通过FCoE目标器来完成,因此,参见图5,在前述的获取FCoE网络中网络地址方法基础上还可以包括:
步骤500:接收FCoE发起者对欲访问FCoE目标器的的网络地址查询请求,所述查询请求中包含有欲访问FCoE目标器的全球唯一名称(World Wide Name,WWN);
步骤502:将该查询请求转发给任一预先判断得到的FCF;
步骤504:接收FCF返回的与所述欲访问FCoE目标器WWN匹配的网络地址;
其中,FCF接收到查询请求后,可以根据WWN与网络地址的匹配关系去查找与欲访问FCoE目标器WWN匹配的网络地址。其中,网络地址可以是FC网中网络唯一标识例如N-Port ID,也可以是FCoE网中虚拟MAC地址。WWN与网络地址的对应关系可以是存在于名称服务器(Name Sever,NS)上,也可以存储到其他设备上,本发明实施例不做限制;其中,若存储所述的WWN与网络地址的对应关系的设备存在于FC网络中,则网络地址可以为网络唯一标识例如N-Port ID;
步骤506:将与所述欲访问FCoE目标器WWN匹配的网络地址返回至FCoE发起者。
通过本发明实施例所提供的方法,当FCoE发起者选择FCoE目标器进行网络地址查询的话,FCoE目标器将请求转发至FCF,并将FCF返回的结果转发给FCoE发起者,因此在FCoE网络中存在FCoE目标器的情况下,实现了在不改动现有FCoE发起者以及FCF的情况下FCoE发起者顺利获得需要查询的FCoE目标器的网络地址。
本发明实施例还提供一种获取网络地址方法,参见图6,该方法包括:
步骤600:FCoE发起者ALL-FCF-MACs广播消息;
步骤602:FCoE目标器和FCF响应所接收到的FCF MAC地址请求广播消息;
步骤604:FCoE发起者记录所有返回的MAC地址,并任意选择其中一个MAC地址发送网络注册请求;
步骤606:当FCoE目标器接收FCoE发起者的网络注册请求时,其中网络注册请求中包括FCoE发起者的MAC地址,根据所述FCoE发起者的MAC地址判断得到所述FCoE发起者MAC地址不是虚拟MAC地址时,则进入步骤608;
本方法实施例中FCoE目标器判断FCoE发起者MAC地址是否为虚拟MAC地址的方法,可参考前述实施例;
步骤608:FCoE目标器将所述网络注册请求转发至任一预先判断得到的FCF;
其中,在将网络注册请求转发至FCF可以是将网络注册请求转发至预先判断得到的FCF,也可以在每次转发时判断得到FCF,本实施例采用前者,即将网络注册请求转发至预先判断得到的FCF;其判断FCF的方法可参考前述实施例;
步骤610:FCF接收到网络注册请求,为FCoE发起者构建虚拟MAC地址,该虚拟MAC地址作为FCoE的网络地址包含在响应消息中,将该响应消息发送至FCoE目标器;
其中,FCF构建虚拟地址的方法可参考前述实施例;
步骤612:FCoE目标器接收FCF返回的网络注册请求响应消息,将接收到网络注册请求响应消息返回至发送网络注册请求的FCoE发起者;
步骤614:FCoE发起者从网络注册请求响应消息中获取网络地址,根据所获取的网络地址中的N-Port ID创建虚拟端口以便与网络节点建立数据通信;
步骤616:FCoE目标器接收FCoE发起者对欲访问FCoE目标器的的网络地址查询请求,所述查询请求中包含有欲访问FCoE目标器的WWN;
步骤618:FCoE目标器将该查询请求转发给任一预先判断得到的FCF;
步骤620:FCF根据欲访问FCoE目标器WWN查询匹配的网络地址,并将查询得到的与所述WWN匹配的网络地址返回给FCoE目标器;
步骤622:FCoE目标器将接收的与所述欲访问FCoE目标器匹配的网络地址返回给FCoE发起者;
其中,FCF接收到查询请求后,可以在WWN与网络地址的对应关系中上去查找与欲访问FCoE目标器WWN匹配的网络地址,例如N-Port ID;其中,WWN与网络标识的对应关系可以是存在于名称服务器(Name Sever,NS)上,也可以集成到其他设备上,本发明实施例不做限制。
本方法实施例中,对FCoE目标器和FCF对FCoE发起者的FCF广播发现消息都进行响应,在FCoE发起者选择到FCoE目标器发送网络注册请求时,在保证FCoE发起者和FCF完全不改变的情况下,FCoE目标器通过转发注册请求到真是的FCF上,使得FCoE发起者顺利获得网络地址,从而保护了客户在现有FCoE发起者及FCF上的投资,节约了网络构建成本。
参见图7,本发明实施例还提供一种FCoE目标器,可以执行获取网络地址的方法,包括:接收单元700,第一判断单元702,转发单元704,反馈单元706;其中:
接收单元700,用于接收FCoE发起者的网络注册请求以及接收FCoE转换设备返回的网络注册请求响应消息,其中,网络注册请求响应消息包括FCoE发起者的网络地址;
第一判断单元702,用于根据所述网络注册请求判断所述FCoE发起者是否有FCoE网络中的网络地址,当判断得到所述FCoE发起者没有FCoE网络中的网络地址时,将判断结果发送至转发单元;
转发单元704,用于当判断得到FCoE发起者没有FCoE网络中的网络地址时,将所述网络注册请求转发至FCoE转换设备;
反馈单元706,用于将所述接收单元接收到网络注册请求响应消息返回至发送网络注册请求的FCoE发起者。
通过本发明实施例所提供的FCoE目标器,在接收到FCoE发起者网络注册请求而不能为该FCoE发起者分配网络地址时,将网络注册请求转发至FCF,并将FCF对注册请求的响应消息返回至FCoE发起者,从而实现了再不改动现有FCoE发起者以及FCF的情况下FCoE发起者顺利获得FCoE网络中网络地址。
参见图8,本发明实施例还提供一种FCoE目标器,可以用于执行获取网络地址的方法,包括:响应单元800,接收单元802,第一判断单元804,转发单元810,反馈单元812;其中:
响应单元800,用于响应所接收到的ALL-FCF-MACs广播消息;
其中,响应单元800接收到ALL-FCF-MACs广播消息时,将FCoE目标器的MAC地址响应给广播消息发送方;
接收单元802,用于接收FCoE发起者的网络注册请求以及接收FCoE转换设备返回的网络注册请求响应消息,其中,网络注册请求响应消息包括FCoE发起者的FCoE网络中的网络地址;
第一判断单元804,用于根据所述网络注册请求判断所述FCoE发起者是否有FCoE网络中的网络地址,当判断得到所述FCoE发起者没有FCoE网络中的网络地址时,将判断结果发送至转发单元;
转发单元810,用于当FCoE发起者没有FCoE网络中的网络地址时,将所述网络注册请求转发至记录单元808中记录的任一预先判断得到的FCF;
反馈单元812,用于将所述接收单元接收到网络注册请求响应消息返回至发送网络注册请求的FCoE发起者。
为判断得到FCF,本发明实施例提供的FCoE目标器,还可以包括:
第二判断单元806,用于发送FCF MAC地址请求的广播消息,接收所述广播消息的响应消息,对所接收响应消息中的MAC地址进行判断,若MAC地址为物理MAC地址,则判断该物理MAC地址对应的响应消息发送方为FCF;
记录单元808,用于记录判断得到的FCF的网络地址。
本发明实施例还提供一种FCoE目标器,可以用于执行上述获取网络地址方法当FCoE发起者通过FCoE目标器完成网络注册后,FCoE发起者后续的网络地址查询等网络行为也可以通过FCoE目标器来完成,因此:
接收单元802,还用于接收FCoE发起者对欲访问FCoE目标器的的网络地址查询请求以及接收FCF返回的与所述欲访问FCoE目标器WWN匹配的网络地址,所述查询请求中包含有欲访问FCoE目标器的全球唯一名称(World WideName,WWN);
转发单元810,还用于将该查询请求转发给任一预先判断得到的FCF;
反馈单元812,还用于将与所述欲访问FCoE目标器WWN匹配的网络地址返回至FCoE发起者。
通过本发明实施例所提供的FCoE目标器,当FCoE发起者选择FCoE目标器进行网络注册请求的话,FCoE目标器将请求转发至FCF,并将FCF返回的结果转发给FCoE发起者,因此在FCoE网络中存在FCoE目标器的情况下,实现了在不改动现有FCoE发起者以及FCF的情况下FCoE发起者顺利获得FCoE网络中网络地址等网络行为。
对于装置实施例而言,由于与方法实施例在技术上有相似之处,为了节约篇幅所以描述比较简单,相关之处参见方法实施例的部分说明即可。
参见图9,本发明实施例还提供一种通信系统,包括:
FCoE发起者900,用于发送ALL-FCF-MACs广播消息,接收广播消息响应,从响应的MAC地址中任意选择其中一个MAC地址发送网络注册请求;
FCoE目标器902,用于响应所接收到的ALL-FCF-MACs广播消息,获得FCoE发起者的网络注册请求,当所述FCoE发起者没有获得FCoE网络中的网络地址时,将FCoE发起者的网络注册请求转发至任一预先判断得到的FCF;
FCF904,用于接收FCoE目标器发送的FCoE发起者的网络注册请求,为FCoE发起者构建虚拟MAC地址,所述虚拟MAC地址作为FCoE的网络地址包含在网络注册请求响应消息中,将所述响应消息发送至FCoE目标器;
所述FCoE目标器902,还用于接收FCF返回的网络注册请求响应消息,将接收到的网络注册请求响应消息返回至发送网络注册请求的FCoE发起者;
所述FCoE发起者900,还用于接收所述FCoE目标器返回的网络注册请求响应消息,从网络注册请求响应消息中获取FCoE网络中网络地址,根据所获取的网络地址中的N-Port ID创建虚拟端口,以便与网络节点建立数据通信。
当FCoE发起者通过FCoE目标器完成网络注册后,FCoE发起者后续的网络行为也可以通过FCoE目标器来完成,因此,本发明所提供的通信系统中:
所述FCoE发起者,还用于向FCoE目标器发送欲访问FCoE目标器的的网络地址查询请求,
所述FCoE目标器,还用于接收FCoE发起者对欲访问FCoE目标器的的网络地址查询请求,所述查询请求中包含有欲访问FCoE目标器的WWN;将所述查询请求转发给任一预先判断得到的FCF;
所述FCF,还用于根据欲访问FCoE目标器WWN查询匹配的网络地址,并将查询得到的与所述WWN匹配的网络地址返回给FCoE目标器;
所述FCoE目标器,还用于将接收的与所述欲访问FCoE目标器匹配的网络地址返回给FCoE发起者;
所述FCoE发起者,还用于接收与所述欲访问FCoE目标器匹配的网络地址。
本通信系统实施例中,对FCoE目标器对FCoE发起者请求进行响应,在保证FCoE发起者和FCF完全不改变的情况下,使得FCoE发起者顺利获得网络地址,从而保护了客户在现有FCoE发起者及FCF上的投资,节约了网络构建成本。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的硬件平台的方式来实现,当然也可以全部通过硬件来实施,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案对背景技术做出贡献的全部或者部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上对本发明进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。