CN104350710B - 实现FCoE的方法、装置和系统 - Google Patents
实现FCoE的方法、装置和系统 Download PDFInfo
- Publication number
- CN104350710B CN104350710B CN201380000224.6A CN201380000224A CN104350710B CN 104350710 B CN104350710 B CN 104350710B CN 201380000224 A CN201380000224 A CN 201380000224A CN 104350710 B CN104350710 B CN 104350710B
- Authority
- CN
- China
- Prior art keywords
- fef
- fcs
- scopes
- fcoe
- mac address
- 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.)
- Expired - Fee Related
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L45/00—Routing or path finding of packets in data switching networks
- H04L45/02—Topology update or discovery
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/622—Layer-2 addresses, e.g. medium access control [MAC] addresses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L2101/00—Indexing scheme associated with group H04L61/00
- H04L2101/60—Types of network addresses
- H04L2101/618—Details of network addresses
- H04L2101/645—Fibre channel identifiers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L61/00—Network arrangements, protocols or services for addressing or naming
- H04L61/09—Mapping addresses
- H04L61/10—Mapping addresses of different types
- H04L61/106—Mapping addresses of different types across networks, e.g. mapping telephone numbers to data network addresses
Landscapes
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提供一种实现FCoE的方法、装置和系统,其中方法包括:所述第一FEF获取所述FCS分配的第一光纤通道标识FC‑ID范围;接收所述FCS发送的转发信息,所述转发信息中包括:其他FEF的MAC地址及所述FCS分配给所述其他FEF的FC‑ID范围的对应关系;所述第一FEF根据所述转发信息更新报文转发表,所述报文转发表中包括介质访问控制MAC地址与FC‑ID范围的对应关系。本发明使得FCoE网络的实现更加简单。
Description
技术领域
本发明涉及通信技术,尤其涉及一种实现以太网光纤通道(fiber channel overethernet,简称:FCoE)的方法、装置和系统。
背景技术
通过采用FCoE技术可以将光纤通道映射到以太网,将光纤通道信息插入以太网信息包内,从而让服务器-SAN存储设备的光纤通道请求和数据可以通过以太网连接来传输,而无需专门的光纤通道结构。
在实现FCoE的网络架构中,主要由FCoE转发器(FCoE forwarder,简称:FCF)负责FCoE报文的转发,即网络中的源设备发送的FCoE报文,需要经过FCF,FCF根据用于转发报文的路由表查找到报文的转发路径,并将报文转发至目的设备。由于一个FCF通常需要使用一个独立的域标识,而域(domain)标识(identifier,简称ID)的数量是有限的,所以整个网络规模也受到FCF数量的限制,造成FCF组网的扩展性差。为此,现有技术中引入了一个新的功能实体,FCoE数据平面转发器(FCoE data-plane forwarder FCoE,简称:FDF),由FCF控制FDF进行转发,使用FCF和FDF的组合组网可以一定程度上减少FCF的数量;这种组合组网中,FCF会进行路由计算并把相关信息下发给FDF,FDF根据路由表查找转发路径来转发源设备至目的设备的FCoE报文。
但是,不论是FCF的组网,还是FCF和FDF的组合组网,要实现FCoE报文的转发,路由的计算和下发都十分复杂,即FCoE的控制平面实现复杂度较高。
发明内容
本发明提供一种实现FCoE的方法、装置和系统,以降低FCoE控制平面的实现复杂度。
第一方面,提供一种实现以太网光纤通道FCoE的方法,应用于FCoE网络,所述FCoE网络包括:光纤通道控制平面服务器FCS以及至少一个光纤通道边缘转发器FEF,所述至少一个FEF中包括第一FEF;所述方法包括:
所述第一FEF接收所述FCS分配的第一光纤通道标识FC-ID范围;还接收所述FCS发送的转发信息,所述转发信息中包括:其他FEF的介质访问控制MAC地址及所述FCS分配给所述其他FEF的FC-ID范围的对应关系;
所述第一FEF根据所述转发信息,更新所述第一FEF的报文转发表,所述报文转发表中包括MAC地址与FC-ID范围的对应关系;
其中,所述第一FEF根据所述转发信息,更新所述第一FEF的报文转发表,具体包括:所述第一FEF根据所述转发信息,在所述第一FEF的报文转发表中记录所述其他FEF的MAC地址及FC-ID范围的对应关系。
结合第一方面,在第一种可能的实现方式中,在所述第一FEF获取所述FCS分配的第一FC-ID范围之后,所述方法还包括:所述第一FEF接收第一本地节点发送的连接请求;所述第一FEF根据所述连接请求,从所述第一FC-ID范围中为所述第一本地节点分配第一节点FC-ID;所述FEF根据所述第一节点FC-ID,更新所述第一FEF的报文转发表;其中,所述FEF根据所述第一节点FC-ID,更新所述第一FEF的报文转发表,具体包括:所述第一FEF根据所述第一节点FC-ID,在所述第一FEF的报文转发表中记录所述第一本地节点的MAC地址及所述第一节点FC-ID的对应关系。
结合第一方面或第一方面的第一种可能的实现方式,在第二种可能的实现方式中,所述方法还包括:所述第一FEF接收所述FCS发送的退出信息,所述退出信息中包括第二FEF的MAC地址;所述第一FEF根据所述退出信息,更新所述第一FEF的报文转发表;其中,所述第一FEF根据所述退出信息,更新所述第一FEF的报文转发表,具体包括:所述第一FEF根据所述退出信息,从所述第一FEF的报文转发表中删除所述第二FEF的MAC地址对应的转发表项。
结合第一方面至第一方面的第二种可能的实现方式中的任一种,在第三种可能的实现方式中,在所述第一FEF获取所述FCS分配的第一光纤通道标识FC-ID范围之前,所述方法还包括:所述第一FEF与所述FCS建立连接;所述第一FEF与所述FCS建立连接具体包括:所述第一FEF被静态配置FCS地址,并根据所述FCS地址与所述FCS建立连接;或者,所述第一FEF通过动态发现方式与所述FCS建立连接。
结合第一方面至第一方面的第三种可能的实现方式中的任一种,在第四种可能的实现方式中,所述方法还包括:所述第一FEF接收来自本地节点的FCoE报文;从所述FCoE报文中获取目的FC-ID;所述第一FEF根据所述目的FC-ID,查找所述第一FEF的报文转发表,得到与所述目的FC-ID对应的目的FEF的MAC地址;所述第一FEF将所述目的FEF的MAC地址设置为所述FCoE报文的目的MAC地址,发送所述FCoE报文。
第二方面,提供一种实现以太网光纤通道FCoE的方法,应用于FCoE网络,所述FCoE网络包括光纤通道控制平面服务器FCS以及至少一个光纤通道边缘转发器FEF,所述至少一个FEF中包括第一FEF;所述方法包括:
所述FCS为所述第一FEF分配第一光纤通道标识FC-ID范围;
所述FCS将所述第一FC-ID范围、以及转发信息发送至所述第一FEF,以使得所述第一FEF根据所述转发信息更新所述第一FEF的报文转发表;所述转发信息中包括:其他FEF的介质访问控制MAC地址及所述FCS分配给所述其他FEF的FC-ID范围的对应关系;所述报文转发表中包括MAC地址与FC-ID范围的对应关系。
结合第二方面,在第一种可能的实现方式中,在所述FCS为所述第一FEF分配第一FC-ID范围之后,所述方法还包括:所述FCS将所述第一FEF对应的第一转发信息发送至所述其他FEF,以使得所述其他FEF根据所述第一转发信息更新所述其他FEF的报文转发表,所述第一转发信息中包括:所述第一FEF的MAC地址和所述第一FC-ID范围的对应关系。
结合第二方面或第二方面的第一种可能的实现方式,在第二种可能的实现方式中,所述方法还包括:所述FCS向所述第一FEF发送退出信息,所述退出信息中包括第二FEF的MAC地址,以使得所述第一FEF根据所述退出信息更新所述第一FEF的报文转发表。
第三方面,提供一种光纤通道边缘转发器FEF,包括:
信息接收单元,用于接收光纤通道控制平面服务器FCS分配的第一光纤通道标识FC-ID范围;还接收所述FCS发送的转发信息,所述转发信息中包括:其他FEF的介质访问控制MAC地址及所述FCS分配给所述其他FEF的FC-ID范围的对应关系;
转发表更新单元,用于根据所述转发信息,更新所述FEF的报文转发表,所述报文转发表中包括MAC地址与FC-ID范围的对应关系;具体用于根据所述转发信息,在所述FEF的报文转发表中记录所述其他FEF的MAC地址及FC-ID范围的对应关系。
结合第三方面,在第一种可能的实现方式中,还包括:请求接收单元,用于接收第一本地节点发送的连接请求;地址分配单元,用于根据所述连接请求,从所述第一FC-ID范围中为所述第一本地节点分配第一节点FC-ID;所述转发表更新单元,还用于根据所述第一节点FC-ID,更新所述FEF的报文转发表;具体用于根据所述第一节点FC-ID,在所述FEF的报文转发表中记录所述第一本地节点的MAC地址及所述第一节点FC-ID的对应关系。
结合第三方面或第三方面的第一种可能的实现方式,在第二种可能的实现方式中,所述信息接收单元,还用于接收所述FCS发送的退出信息,所述退出信息中包括第二FEF的MAC地址;所述转发表更新单元,还用于根据所述退出信息,更新所述第一FEF的报文转发表;具体用于根据所述退出信息,从所述第一FEF的报文转发表中删除所述第二FEF的MAC地址对应的转发表项。
结合第三方面至第三方面的第二种可能的实现方式中的任一种,在第三种可能的实现方式中,还包括:连接处理单元,用于与所述FCS建立连接;具体用于根据静态配置的FCS地址与所述FCS建立连接;或者,通过动态发现方式获取所述FCS地址,并与所述FCS建立连接。
结合第三方面至第三方面的第三种可能的实现方式中的任一种,在第四种可能的实现方式中,还包括:报文转发单元;所述报文转发单元,用于接收来自本地节点的FCoE报文,并从所述FCoE报文中获取目的FC-ID;根据所述目的FC-ID,查找所述FEF的报文转发表,得到与所述目的FC-ID对应的目的FEF的MAC地址;将所述目的FEF的MAC地址设置为所述FCoE报文的目的MAC地址,并发送所述FCoE报文。
第四方面,提供一种光纤通道控制平面服务器FCS,包括:
地址分配单元,用于为第一FEF分配第一光纤通道标识FC-ID范围;
信息发送单元,用于将所述第一FC-ID范围、以及转发信息发送至所述第一FEF,以使得所述第一FEF根据所述转发信息更新所述第一FEF的报文转发表,所述转发信息中包括:其他FEF的介质访问控制MAC地址及所述FCS分配给所述其他FEF的FC-ID范围的对应关系,所述报文转发表中包括MAC地址与FC-ID范围的对应关系。
结合第四方面,在第一种可能的实现方式中,所述信息发送单元,还用于将所述第一FEF对应的第一转发信息发送至所述其他FEF,以使得所述其他FEF根据所述第一转发信息更新所述其他FEF的报文转发表,所述第一转发信息中包括:所述第一FEF的MAC地址和所述第一FC-ID范围的对应关系。
结合第四方面或第四方面的第一种可能的实现方式,在第二种可能的实现方式中,所述信息发送单元,还用于向所述第一FEF发送退出信息,所述退出信息中包括第二FEF的MAC地址,以使得所述第一FEF根据所述退出信息更新所述第一FEF的报文转发表。
第五方面,提供一种实现以太网光纤通道FCoE的系统,包括至少一个本发明所述的光纤通道边缘转发器FEF、以及本发明所述的光纤通道控制平面服务器FCS。
本发明提供的实现FCoE的方法、装置和系统的技术效果是:FCoE网络中的至少一个FEF中的第一FEF,该第一FEF可以接收FCS分配的第一FC-ID范围,还接收FCS发送的转发信息,所述转发信息中包括:其他FEF的MAC地址及FCS分配给其他FEF的FC-ID范围的对应关系;第一FEF就可以据此更新转发FCoE报文所依据的报文转发表,在该报文转发表中记录MAC地址与FC-ID范围的对应关系;这种报文转发表的形成方式非常简单和快速,相对于现有技术中的主控FCS每次网络更新都要重新计算全网路由,将使得报文转发表的形成实现简单,FCoE网络的控制平面的实现更加简单,降低了FCoE控制平面的实现复杂度。
附图说明
图1为本发明实施例提供的一种FCoE网络的组网架构示意图;
图2为本发明实施例提供的实现FCoE的方法流程图;
图3为本发明实施例提供的FCoE网络的另一种组网架构示意图;
图4为本发明实施例提供的另一实现FCoE的方法流程图;
图5为本发明实施例提供的又一实现FCoE的方法流程图;
图6为本发明实施例提供的实现FCoE的方法的信令交互示意图;
图7为本发明实施例提供的实现FCoE的方法的报文转发示意图;
图8为本发明实施例提供的实现FCoE的方法中的报文变化示意图;
图9为本发明实施例提供的FEF的结构示意图;
图10为本发明实施例提供的FEF的另一结构示意图;
图11为本发明实施例提供的FEF的又一结构示意图;
图12为本发明实施例提供的FCS的结构示意图;
图13为本发明实施例提供的FEF的实体结构示意图;
图14为本发明实施例提供的FCS的实体结构示意图。
具体实施方式
参见图1,为本发明实施例提供的一种FCoE网络的组网架构示意图,本发明实施例提供了一种实现FCoE的方法,可基于图1所示的FCoE网络组网架构。如图1所示,所述FCoE网络中包括光纤通道控制平面服务器(FC control-plane server,简称:FCS)和光纤通道边缘转发器(FC edge forwarder,简称:FEF)两种功能实体,其中:
FCS参与FCoE网络的控制平面和管理平面的运作,不参与FCoE网络的数据平面的转发;用于集中控制和管理FEF,下发相关信令和参数给FEF。
FEF用于接收FCS的控制和管理,从FCS接收相关的信令和参数;还用于生成报文转发表,根据该报文转发表进行FCoE报文的转发,即完成FCoE网络的数据平面的转发。
图1中,FCS1下管理4个FEF,但具体实施中并不限制FEF的数量和拓扑结构,该FCS1可以通过普通以太交换机(switch)或其他设备与各FEF连接。服务器1(Server1)和存储器2(storage2)均是传统的FCoE终端节点(end node,简称ENode),ENode节点是网络中以FCoE方式转发报文的节点设备,例如可以是服务器控制器局域网络(controller areanetwork,简称:CAN)网卡,FCoE交换机,支持FCoE的存储设备等。ENode节点与FEF相连接时,ENode节点的端口称为VN端口(VN port),FEF的端口称为VF端口(VF port),该VN端口和VF端口之间可以通过FCoE初始化协议(FCoE initialization protocol,简称FIP)进行初始化连接。
以图1所示的组网为例,本发明实施例所述的实现FCoE的方法包括:各个FEF,具体为FEF1、FEF2、FEF3和FEF4,与负责主控制的FCS1建立连接,并根据FCS1下发的相关信息生成用于转发报文的报文转发表,然后根据报文转发表转发FCoE报文,这样,图1所示的FCoE网络才能够执行转发FCoE报文的功能。若图1所示的FCoE网络中,有新的FEF加入,例如FEF5要加入,该网络中的各个FEF,具体为FEF1、FEF2、FEF3和FEF4,的报文转发表将进行更新;或者,有新的ENode加入,则该新的ENode所连接的FEF的报文转发表也需要更新,并根据更新后的转发表进行报文转发。
接下来,在本发明实施例中,将结合图1所示的FCoE网络的组网架构示意图,详细说明如何实现FCoE,包括控制平面和数据平面;例如控制平面的报文转发表的生成,数据平面的FCoE报文的转发。
图2为本发明实施例提供的实现FCoE的方法流程图,如图2所示,该方法可以包括:
201、第一FEF接收FCS为所述第一FEF分配的第一光纤通道标识(fiber channelidentifier,简称:FC-ID)范围;还接收FCS发送的转发信息,所述转发信息中包括:其他FEF的介质访问控制(media access control,简称MAC)地址及所述FCS分配给所述其他FEF的FC-ID范围的对应关系;
本实施例中,FCoE网络的任一FEF在新加入该FCoE网络时,都会接收所述FCS为自己分配的FC-ID范围;每个FEF获得的FC-ID范围,主要用于分配给接入该FEF的ENode;FC-ID则主要用于FCoE报文在网络中的寻址转发。
可选的,上述的FC-ID范围的表示方式可以有多种,例如,以掩码的方式表示(1.1.0/16),或者是从某个FC-ID开始的连续n个(n>0),例如,假设某个FC-ID范围是(1.1.110),这就表示该FC-ID范围是从1.1.1这个FC-ID开始的连续的10个,即1.1.1、1.1.2、1.1.3......1.1.10。具体实施中可能还有其他表示方式,并不局限于上述举例。
此外,假设FCoE网络中有多个FEF时,FCS为每个FEF分配的FC-ID范围是不同的,即不同的FEF被分配的FC-ID范围不能重叠。更具体的,当FCoE网络中有一个FCS时,该FCS下的各FEF被分配的FC-ID范围不能重叠;当FCoE网络中有多个FCS时,不同的FCS之间所控制的FC-ID范围也不能重叠,即分别属于不同FCS的各FEF被分配的FC-ID范围不能重叠,该FC-ID范围不重叠指的是全网唯一。
实现FC-ID范围不重叠的方式可以有多种,以下列举几种但具体实施中并不局限于此:例如,以一个FCS为例,该FCS上可以记录哪些FC-ID范围已经被分配,则下次再为其他FEF分配FC-ID范围时,这些已经使用过的将不会再次被分配,所以单个FCS还是很容易控制不重叠的。另外,以网络中有两个FCS为例,假设存在FCS1和FCS2,则为了保证这两个FCS分配的FC-ID范围不重叠,可以采用如下方式:
例如,可以在这两个FCS1和FCS2上预先配置其各自所能控制的FC-ID资源,比如,假设整个FC-ID资源为一个资源池,可以配置FCS1负责控制该资源池中的第一部分FC-ID资源,则后续FCS1在为其下属的各FEF分配FC-ID范围时,就是从该第一部分FC-ID资源中选择分配;而配置FCS2负责控制该资源池中的第二部分FC-ID资源,则后续FCS2在为其下属的各FEF分配FC-ID范围时,就是从该第二部分FC-ID资源中选择分配,这样两个FCS之间就不会有重叠。
又例如,可以使得FCS1和FCS2之间存在交互信令,通过该交互信令共享各自的FC-ID范围分配信息,比如,FCS1为其下属的某个FEF分配了第一FC-ID范围后,会将该第一FC-ID范围通过交互信令通知FCS2,这样FCS2就可以知道第一FC-ID范围已经在FCS1被使用,则FCS2在为其下属的FEF分配时就不会再使用该第一FC-ID范围。同理,FCS2也会将其分配过的FC-ID范围通知FCS1,两个FCS之间的信息交互可以避免FC-ID范围的重复分配。
再例如,假设FCS1和FCS2在为各自的FEF分配FC-ID范围时,都是从FC-ID资源池(例如是个FC-ID数据库)中选择某个FC-ID范围分配,则FCS1在分配后可以将已经分配过的FC-ID范围做上标记,该标记用于表示这个FC-ID范围已经被分配,则FCS2在从FC-ID资源池选择要分配的FC-ID范围时,会查看标记,如果已经有标记的将不会使用,只会使用没有标记的即未被分配过的FC-ID范围进行分配。
本实施中,FCS在获知第一FEF新加入FCoE网络时,会为所述第一FEF分配第一FC-ID范围,并且FCS会记录所述第一FEF对应的第一转发信息,所述第一转发信息包括所述第一FEF的MAC地址和所述第一FC-ID范围的对应关系。
所述第一FC-ID范围由所述第一FEF控制,用于分配给接入所述第一FEF的本地节点,即接入所述第一FEF的ENode;具体的,所述第一FEF为每个接入所述第一FEF的本地节点,从所述第一FC-ID范围中选择一个FC-ID,分配给该本地节点。
此外,FCS给所述第一FEF分配的所述第一FC-ID范围,可以是FCS随机选择的,或者按照某种规则策略选择的,本发明实施例不做限制。
本实施中,所述第一FEF还接收所述FCS发送的转发信息,所述转发信息中包括:其他FEF的MAC地址及所述FCS分配给所述其他FEF的FC-ID范围的对应关系。
具体的,当所述第一FEF新加入FCoE网络时,若FCoE网络中已存在其他FEF,所述第一FEF,除了接收FCS分配的所述第一FC-ID范围,还接收所述FCS发送的转发信息,所述转发信息可以存储在FCS上,FCS在获知所述第一FEF新加入网络时,就将所述转发信息发送给所述第一FEF;所述的转发信息与所述第一FC-ID范围,可以携带在同一个消息里发送给所述第一FEF,也可以通过不同的消息分别发送给所述第一FEF。此外,在所述第一FEF加入FCoE网络后,若又有新的FEF加入FCoE时,所述第一FEF接收所述FCS发送的转发信息,即接收所述FCS发送的新的FEF对应的转发信息,包括新的FEF的MAC地址和所述FCS为所述新的FEF分配的FC-ID范围的对应关系。
例如图1中,假设FCS1获知FEF1新加入FCoE网络,为FEF1分配的FC-ID范围为“1.1.0/16”,并且FCS1上保存的分配给其他FEF的FC-ID范围如下面的表1所示,则FEF1接收到的转发信息包括“FEF2-MAC,1.2.0/16”、“FEF3-MAC,1.3.0/16”和“FEF4-MAC,1.4.0/16”,也即FCS1将网络中的其他FEF所对应的FC-ID范围都通知FEF1。当然,FEF2~FEF4的FC-ID范围也是FEF2~FEF4在加入网络时由FCS1分配的,FCS1会将其分配给每个FEF的FC-ID范围都进行记录,即记录FEF的MAC地址与FC-ID范围的对应关系,如下表1所示。
表1 FEF及其FC-ID范围
FEF的MAC地址 | FC-ID范围 |
FEF2-MAC | 1.2.0/16 |
FEF3-MAC | 1.3.0/16 |
FEF4-MAC | 1.4.0/16 |
FEF1-MAC | 1.1.0/16 |
202、所述第一FEF根据所述转发信息,更新所述第一FEF的报文转发表,所述报文转发表中包括介质访问控制MAC地址与FC-ID范围的对应关系;
所述报文转发表中包括MAC地址与FC-ID范围的对应关系;更进一步的,所述报文转发表中还可以对应的出端口。其中,所述第一FEF根据所述转发信息,更新所述第一FEF的报文转发表,具体包括:所述第一FEF根据所述转发信息,在所述第一FEF的报文转发表中记录所述其他FEF的MAC地址及FC-ID范围的对应关系。进一步地,还可以包括与所述其他FEF对应的出端口。
此外,当FCS所记录的各个FEF的MAC地址与FC-ID范围的对应关系发生变化时,FCS也将通知网络中的所有FEF。具体的,当第一FEF新加入FCoE网络时,FCS会将该第一FEF对应的第一转发信息发送至FCoE网络中除该第一FEF之外的其他FEF,以使得其他FEF根据所述第一转发信息更新所述其他FEF的报文转发表,所述第一转发信息中包括所述第一FEF的MAC地址和所述第一FC-ID范围的对应关系。这样,可以使全网中的各FEF知道各自负责的FC-ID范围,而这个通知具体由FCS负责。
例如图1所示,当FEF1新加入网络,FCS1为该FEF1分配对应的FC-ID范围后,FCS1也会将该FEF1对应的转发信息,即FEF1的MAC地址及其FC-ID范围的对应关系,通知给其他FEF,比如FEF2、FEF3和FEF4,使得全网中的各FEF知道各自负责的FC-ID范围,而这个通知由FCS1负责。
进一步地,在所述第一FEF接收所述FCS分配的第一FC-ID范围之后,所述方法还包括:所述第一FEF接收第一本地节点发送的连接请求;所述第一FEF根据所述连接请求,从所述第一FC-ID范围中为所述第一本地节点分配第一节点FC-ID;所述FEF根据所述第一节点FC-ID,更新所述第一FEF的报文转发表;具体地,所述第一FEF根据所述第一节点FC-ID,在所述第一FEF的报文转发表中记录所述第一本地节点的MAC地址及所述第一节点FC-ID的对应关系;进一步地,还可以记录所述第一本地节点对应的出端口。
如下以图1中FEF1下连接的服务器1为例进行说明:当服务器1接入FEF1时,向FEF1发送连接请求,例如,FIP FLOGI(fabric login,交换网登录)消息,收到该连接请求的FEF1将会从FCS1分配给FEF1的FC-ID范围中选择一个未分配的FC-ID,分配给服务器1,可以将为服务器1分配的FC-ID称为节点FC-ID。服务器1除了具有节点FC-ID外,还具有一个标识,即全球唯一名字(world wide name,简称:WWN),该WWN是64bit,其作用是为了身份识别和安全控制,类似于介质访问控制(media access control,简称:MAC),但不用于转发寻址。
更进一步地,当第二FEF退出FCoE网络时,FCS也会通知FCoE网络中剩余的FEF,以使得剩余的FEF更新报文转发表。可选地,所述方法还包括:所述第一FEF接收所述FCS发送的退出信息,所述退出信息中包括第二FEF的MAC地址;所述第一FEF根据所述退出信息,更新所述第一FEF的报文转发表;具体地,所述第一FEF根据所述退出信息,从所述第一FEF的报文转发表中删除所述第二FEF的MAC地址对应的转发表项。
可选地,在步骤201之前,所述第一FEF与所述FCS建立连接。由于FCS负责对FCoE网络中各FEF进行控制和管理,因此每个新加入网络的FEF首先要与FCS建立连接。具体地,若所述第一FEF新加入FCoE网络时,所述第一FEF首先与所述FCS建立连接,再接收所述FCS为所述第一FEF分配的第一FC-ID范围。具体地,所述第一FEF可以通过传输控制协议(transmission control protocol,简称:TCP)或者用户数据包协议(user datagramprotocol,简称:UDP)与所述FCS建立连接关系。
这种连接关系的建立可以通过多种方式,包括:
对所述第一FEF进行静态配置,所述第一FEF根据静态配置的FCS的地址与所述FCS建立连接;或者,
通过动态发现方式获取所述FCS的地址,并与所述FCS建立连接;具体地,由所述第一FEF发送广播或者组播报文,所述FCS进行应答;或者,所述FCS可以周期性的发送组播/广播通告告知网络其所控制的FEF,所述FCS的地址或标识。
需要说明的是,所述第一FEF与FCS之间建立的连接,通常是逻辑上的连接关系,当然也可以是物理直连。
以图1为例,FEF1新加入FCoE网络,FCS1将其他FEF,比如FEF2、FEF3和FEF4的转发信息发送给FEF1,使得FEF1根据FEF2、FEF3和FEF4的转发信息更新FEF1的报文转发表。此外,FEF1接收本地节点,即Server1的连接请求,FEF1从其FC-ID范围,即1.1.0/16中为Server1分配节点FC-ID,例如1.1.1,然后更新FEF1的报文转发表。如下的表2示出了FEF1的报文转发表:
表2 FEF1的报文转发表
FC-ID范围 | MAC地址 | 出端口 |
1.2.0/16 | FEF2-MAC | 1 |
1.3.0/16 | FEF3-MAC | 1 |
1.4.0/16 | FEF4-MAC | 1 |
1.1.1/24 | Server1-MAC | 100 |
参见上述的表2所示,第2~5行中的每一行都可以称为一条转发表项,其中,第2~4行的转发表项是根据FCS1发送的其他FEF的转发信息生成的,每个转发表项包括:其他FEF的MAC地址、FC-ID范围和出端口的对应关系。例如,第2行中的“1.2.0/16——FEF2-MAC——1”,其中的1.2.0/16是FEF2的FC-ID范围,FEF2-MAC是FEF2的MAC地址,1是用于将报文输出至FEF2的出端口,参见图1中的FEF1上的圆圈1,表示该出端口。表2中的第5行的转发表项是FEF1根据为本地节点,即Server1分配的节点FC-ID生成的。该转发表项包括:本地节点的MAC地址、节点FC-ID和出端口的对应关系,具体如表2中的第5行所示“1.1.1——Server1-MAC——100”。
通常,上述的报文转发表中的输出端口,是由FEF通过数据平面地址学习得到的。如果出端口没有学习到,那么可以为空。在这种情况下,发送的报文就会遵从通常的二层转发技术,作为未知单播来处理,通常会使用洪泛的方法。
此外,图1所示的网络中的各个FEF上均生成各自的报文转发表,例如,对于FEF2,其在新加入该网络中时,可以是接收了FCS1发给它的关于FEF3和FEF4的转发信息,所以FEF2上的报文转发表中生成有对应FEF3和FEF4的转发表项,当FEF1新加入该网络后,FCS1将FEF1的转发信息(包括FEF1的MAC地址及其对应的FC-ID范围)通知FEF2,FEF2将在其报文转发表中增加对应该FEF1的转发表项即可。当FEF2下没有连接的本地节点时,其报文转发表中可以暂没有本地节点对应的转发表项。
进一步地,每个FEF可以根据自己的报文转发表转发FCoE报文。所述方法还可以包括:
所述第一FEF接收来自本地节点的FCoE报文,并从所述FCoE报文中获取目的FC-ID;
所述第一FEF根据所述目的FC-ID,查找所述第一FEF的报文转发表,得到与所述目的FC-ID对应的目的FEF的MAC地址;
所述第一FEF将所述目的FEF的MAC地址设置为所述FCoE报文的目的MAC地址,发送所述FCoE报文。
举例来说,参见图1,以服务器1发送FCoE报文给存储器2为例,来说明该组网中的各个FEF如何进行FCoE报文转发;其中,服务器1是连接在FEF1下的节点,FEF1分配给该服务器1的FC-ID是1.1.1,如表2所示,在FEF1的报文转发表中,其转发表项包括“1.1.1——Server1-MAC——100;而存储器2是连接在FEF4下的节点,假设FEF4分配给该存储器2的FC-ID是1.4.1;在FEF4上的报文转发表中,其转发表项包括“1.4.1——storge2-MAC——200。首先,服务器1将FCoE报文发送至FEF1,FEF1从所述FCoE报文中获取目的MAC地址,发现所述目的MAC地址是FEF1的MAC地址,则FEF1对所述FCoE报文进行解封装,从所述FCoE报文中获取目的FC-ID,所述目的FC-ID是1.4.1;FEF1根据所述目的FC-ID,即1.4.1,查找FEF1的报文转发表,得到与所述目的FC-ID对应的目的MAC地址为FEF4-MAC,对应的出端口为端口100,则FEF1将FEF4-MAC作为所述FCoE报文的目的MAC地址,并进行封装,然后将FCoE报文从端口1发出。FEF4收到所述FCoE报文后,获取所述FCoE报文的目的MAC,发现该目的MAC是FEF4的MAC地址,则FEF4对所述FCoE报文进行解封装,从所述FCoE报文中获取到目的FC-ID为1.4.1;FEF4根据所述目的FC-ID,即1.4.1,查询FEF4的报文转发表,得到与所述目的FC-ID,即1.4.1,对应的目的MAC地址是storge2-MAC,对应的出端口为端口200,则FEF4使用storge2-MAC作为所述FCoE报文的目的MAC地址,并进行FCoE封装,然后FEF4将FCoE报文由端口200发送到存储器2。
进一步的,某个FEF与FCS之间可能还经过某个或某些FEF,即组网中可以包括FEF级联的拓扑,例如图3所示,为本发明实施例提供的FCoE网络的另一种组网架构示意图,FEF4通过FEF5连接到FCS。例如,接入FEF1的服务器1需要与接入FEF4的存储器2通信,那么服务器1发送给存储器2的FCoE报文需要经过FEF5才能到达FEF4,此时FEF5可以称为中间FEF。当FEF5接收到所述FCoE报文,FEF5获取所述FCoE报文的目的MAC地址,为FEF4-MAC,FEF5确定所述FCoE报文的目的MAC不是FEF5的MAC地址,则FEF5不对所述FCoE报文进行解封装,而是直接转发所述FCoE报文至FEF4。
需要说明的是,图3所示一级级联结构仅作为一个示例,实际部署中可以采用二级或多级级联结构,本发明对级联的级数不做限制。本实施例中实现FCoE的方法,当第一FEF新加入FCoE网络时,第一FEF只需要接收FCS为该第一FEF分配FC-ID范围,并接收网络中其他FEF的转发信息,该第一FEF就可以据此建立报文转发表了,对于其他FEF也是,只需要FCS将分配给新加入FCoE网络的第一FEF的第一FC-ID范围通知其他FEF,其他FEF在其转发表上增加该第一FEF对应的转发表项即可,相对于现有技术需要重新计算全网路由来说,报文转发表的生成更加简单和快速,提高了路由效率,简化了FCoE的实现。
图4为本发明实施例提供的另一实现FCoE的方法流程图,本实施例中实现FCoE的方法由FCS执行,本实施例仅做简单说明,具体可以结合图2实施例所述方法。如图4所示,所述方法可以包括:
401、FCS为第一FEF分配第一FC-ID范围;
本实施例中,任一FEF在新加入该FCoE网络时,所述FCS都会FEF为分配一个FC-ID范围;每个FEF获得的FC-ID范围,主要用于分配给接入该FEF的ENode;FC-ID则主要用于FCoE报文在网络中的寻址转发。
具体的,第一FEF新加入FCoE网络时,FCS为所述第一FEF分配第一FC-ID范围;所述第一FC-ID范围由所述第一FEF控制,用于分配给接入第一FEF的本地节点,即接入第一FEF的ENode;具体的,所述第一FEF为每个接入所述第一FEF的本地节点从所述第一FC-ID范围中选择一个FC-ID分配给该本地节点。
FC-ID范围的表示方式可以有多种,例如,以掩码的方式表示(1.1.0/16),或者是从某个FC-ID开始的连续n个(n>0),例如,假设某个FC-ID范围是(1.1.110),这就表示该FC-ID范围是从1.1.1这个FC-ID开始的连续的10个,即1.1.1、1.1.2、1.1.3......1.1.10。具体实施中可能还有其他表示方式,并不局限于上述举例。
此外,假设FCoE网络中有多个FEF时,FCS为每个FEF分配的FC-ID范围是不同的,即不同的FEF被分配的FC-ID范围不能重叠。更具体的,当FCoE网络中有一个FCS时,该FCS下的各FEF被分配的FC-ID范围不能重叠;当FCoE网络中有多个FCS时,不同的FCS之间所控制的FC-ID范围也不能重叠,即分别属于不同FCS的各FEF被分配的FC-ID范围不能重叠,该FC-ID范围不重叠指的是全网唯一。
实现FC-ID范围不重叠的方式可以有多种,具体可参见201,在此不再赘述。
402、所述FCS将所述第一FC-ID范围和转发信息发送至第一FEF,以使得所述第一FEF根据所述转发信息更新所述第一FEF的报文转发表;所述转发信息中包括:其他FEF的MAC地址及所述FCS分配给所述其他FEF的FC-ID范围的对应关系;所述报文转发表中包括介质访问控制MAC地址与FC-ID范围的对应关系。
进一步的,当FCoE网络中还有除该第一FEF之外的其他FEF时,FCS还会将其他FEF对应的转发信息发送至所述第一FEF;该转发信息中包括其他FEF的MAC地址及FCS分配给所述其他FEF的FC-ID范围的对应关系;所述转发信息可以存储在FCS上,FCS在获知所述第一FEF新加入网络时,就将所述转发信息发送给所述第一FEF。该其他FEF可以是在第一FEF之前加入网络的FEF,也可以是在该第一FEF之后加入网络的FEF;例如,在所述第一FEF加入FCoE网络后,若有新的FEF加入FCoE时,所述第一FEF接收的所述FCS发送的转发信息,即为新加入FEF的转发信息。
举例如下:参见图1,FCS1在获知FEF1新加入FCoE网络时,为FEF1分配对应的FC-ID范围即“1.1.0/16”,并将FCoE网络中的其他FEF(比如FEF2、FEF3和FEF4)分别对应的转发信息(比如包括MAC地址及其负责的FC-ID范围)发送至FEF1,以使得FEF1据此生成报文转发表,并根据所述报文转发表转发FCoE报文。
此外,FCS也会将新加入网络的第一FEF对应的第一转发信息发送至所述其他FEF,以使得所述其他FEF根据所述第一转发信息更新所述其他FEF的报文转发表,所述第一转发信息中包括所述第一FEF的MAC地址和所述第一FC-ID范围的对应关系。这样,可以使全网中的各FEF知道各自负责的FC-ID范围,而这个通知具体由FCS负责。
例如,图1中FCS1也会将FEF1的MAC地址及其对应的FC-ID范围,通知至FCoE网络中的其他FEF,以使得其他FEF更新其自身的报文转发表,比如在报文转发表中增加一个对应该FEF1的转发表项。
进一步地,在401之前,所述FCS与所述第一FEF建立连接;
例如,新加入FCoE网络的第一FEF,要与负责主控的FCS建立连接。由于FCS负责对FCoE网络中各FEF进行控制和管理,因此每个新加入网络的FEF首先要与FCS建立连接。第一FEF新加入FCoE网络时,都要首先与FCS建立连接,再接收FCS为所述第一FEF分配的第一FC-ID范围。
具体地,所述FCS与所述第一FEF之间可以通过TCP或者UDP建立连接关系。这种连接关系的建立可以通过多种方式,包括但不限于:所述第一FEF被静态配置FCS地址,并根据所述FCS地址,与所述FCS建立连接;或者,所述第一FEF通过动态发现方式,获取所述FCS的地址,并与所述FCS建立连接;比如由所述第一FEF发送广播或者组播报文,所述FCS进行应答,或者同时所述FCS可以周期性的发送组播/广播通告告知网络其所控制的FEF,所述FCS的地址或标识。
需要说明的是,所述第一FEF与FCS之间建立的连接,通常是逻辑上的连接关系,当然也可以是物理直连。
本实施例中实现FCoE的方法,当第一FEF新加入FCoE网络时,FCS为该第一FEF分配第一FC-ID范围,并将存储的网络中其他FEF的转发信息告知该第一FEF,该第一FEF就可以据此建立报文转发表了,对于其他FEF也是,只需要FCS将分配给新加入FCoE网络的第一FEF的第一FC-ID范围通知其他FEF,其他FEF在其转发表上增加该第一FEF对应的转发表项即可,相对于现有技术需要重新计算全网路由来说,报文转发表的生成更加简单和快速,提高了路由效率,简化了FCoE的实现。
进一步地,图5为本发明实施例提供的又一实现FCoE的方法流程图,在上述图2所示的实现FCoE的方法基础上,本实施例详细说明本发明FCoE网络中如何转发FCoE报文,如图5所示,包括:
501、第一FEF接收来自本地节点的FCoE报文;
由于所述FCoE报文来自所述第一FEF的本地节点,因此所述第一FEF相当于所述FCoE报文的起点FEF。
502、所述第一FEF从所述FCoE报文中获取目的FC-ID;
所述FCoE报文中包括源FC-ID,目的FC-ID,源MAC地址和目的MAC地址。其中,源FC-ID是所述第一FEF的本地节点的FC-ID,源MAC地址是所述第一FEF的本地节点的MAC地址;而目的FC-ID是目的ENode的MAC地址,目的MAC地址则是所述第一FEF的MAC地址。
503、第一FEF根据所述目的FC-ID,查找所述第一FEF的报文转发表,得到与所述目的FC-ID对应的目的FEF的MAC地址;
其中,起点FEF将根据目的FC-ID,查找到该目的FC-ID对应的目的FEF。例如,以图3为例,假设报文发送的目的节点是存储器2,该存储器2对应的目的FC-ID是1.4.1;起点FEF根据该1.4.1就可以查到存储器2是在FEF4下的节点,所以目的FEF是FEF4。
504、第一FEF将所述目的FEF的MAC地址设置为所述FCoE报文的目的MAC地址,发送所述FCoE报文。
本实施例中,起点FEF就已经将报文的目的MAC地址直接设置为目的FEF的MAC地址,这与现有技术的处理是不同的,比如,以图3所示为例,当服务器1向存储器2发送报文时,按照现有技术,FEF1(现有技术中是FCF设备)解封装后通过目的FC-ID获取下一跳FEF的MAC地址,将FCoE报文的目的MAC地址设为FEF5的MAC地址,发往FEF5,然后FEF5解封装后通过目的FC-ID查找下一跳FEF的MAC地址,将FCoE报文的目的MAC地址设为FEF4的MAC地址,发往FEF4;即现有技术中,FCoE报文从入口FEF,即FEF1到出口FEF,即FEF4经过的每一跳,即每个中间FEF(现有技术中是FCF设备),都需要经过解封装,使用下一跳MAC地址路由,再次封装的过程,报文转发处理代价大、效率低。而本发明实施例中,在入口FEF,即FEF1处,就可以根据目的FC-ID查找到出口FEF的MAC地址,直接将FCoE报文的目的MAC地址设为出口FEF的MAC地址,即FEF4的MAC地址,中间FEF只做转发,不修改报文的目的MAC,不做报文的解封装和封装处理;比如在FEF5处,仅需要根据报文中的目的MAC地址,即FEF4-MAC,直接将报文从对应的端口300输出即可,从而实现FCoE报文简单、快速地转发。因此,本实施例的实现FCoE的方法,FEF在转发FCoE报文时,相对于现有技术有所改进,能够提高报文的转发处理效率。
本实施例中,将结合图3所示的组网架构,描述从FEF1作为新设备加入该网络,服务器1加入到FEF1下,以及服务器1向存储器2发送FCoE报文的整个流程。其中,图6为本发明实施例提供的实现FCoE的方法的信令交互示意图,由于FEF2和FEF3的处理类似,因此在图6中仅示出了FEF2。图7为本发明实施例提供的实现FCoE的方法的报文转发示意图。
具体地,如图6所示,本实施例中实现FCoE的方法的信令交互过程如下:
601、FEF1与FCS1建立连接;
例如,FEF1被静态配置了FCS1地址,并据此与FCS1建立连接。
602、FCS1向FEF1分配FC-ID范围;
例如,FCS为FEF1分配的FC-ID范围是1.1.0/16。
603、FCS1向FEF1发送FEF的转发信息;
例如,FCS1将FEF2、FEF3、FEF4和FEF5的转发信息都发送至FEF1,包括:FEF2的MAC地址与FEF2的FC-ID范围的对应关系,FEF3的MAC地址与FEF3的FC-ID范围的对应关系,FEF4的MAC地址与FEF4的FC-ID范围的对应关系,以及FEF5的MAC地址与FEF5的FC-ID范围的对应关系;FEF2、FEF3、FEF4和FEF5的FC-ID范围也是由FCS分配的。
604、FCS1向其他FEF通知FEF1的转发信息;
例如,FCS1将FEF1的MAC地址及对应的FC-ID范围,通知至FEF2、FEF3、FEF4和FEF5,以使得FEF2、FEF3、FEF4和FEF5更新各自的报文转发表,即在各自的报文转发表中增加一个FEF1对应的转发表项,包括FEF1的MAC地址与FEF1的FC-ID范围的对应关系。在图6中,仅示出了FCS1向FEF2通知上述信息,但实际上FCS1也通知了FEF3、FEF4和FEF5。
另外,需要说明的是,该步骤的实现方式可以是多种多样。比如可以向每个FEF进行单播,也可以使用特定的组播地址向所有FEF进行组播。内容的通知可以是增量型的,即只通知变化的部分,也可以是完全型的,即把所有信息都下发。不同的实现方式,在具体的步骤上可能会有不同,此处不一一列举。其目的是使得每个FEF都可以动态的正确获得当前网络的转发信息。
需要说明的是,本实施例并不限制603和604的执行顺序,例如这两个步骤可以分开执行,也可以同时执行。
605、FEF1根据其他FEF的转发信息,生成报文转发表的转发表项;
其中,具体的转发表项的内容可以参见上面的实施例,不再赘述。
606、服务器1向FEF1发送FIP VLAN discovery;
607、FEF1向服务器1回复FIP FCF discovery;
608、服务器1向FEF1发送FIP FLOGI;
其中,606~608,以及后续的609都是服务器1新与FEF1建立连接时的常规流程,不再详述。比如,任何一个节点在与FEF建立连接时,都需要发送FIP FLOGI消息。需要说明的是,本发明实施例的实现FCoE的方法,不需要节点(ENode)处做任何改进,所以对于服务器1来说,其执行的流程与现有技术相同。
609、FEF1向服务器1回复FIP FLOGI ACC,携带为服务器1下发的FC-ID和其他信息;
例如,FEF1将从FCS1为自己分配的FC-ID范围即1.1.0/16中,选择一个FC-ID分配至服务器1,假设分配的服务器1的FC-ID是1.1.1。FEF1将该FC-ID携带在FIP FLOGI ACC中发送至服务器1。
610、FEF1根据为服务器1分配的FC-ID,生成报文转发表中的转发表项;
例如,该转发表项包括“1.1.1——Server1-MAC——100”。
上述的601~610,执行的是控制平面和管理平面的流程,新的节点(服务器1)和新的FEF(FEF1)加入到该网络中,FCS1为新FEF1分配了FC-ID范围,FEF1又从该FC-ID范围中为服务器1分配了FC-ID;并且,各个FEF上都生成或者更新了报文转发表,已经准备好转发FCoE报文。
进一步地,如图7所示,承接图6完成控制平面之后,说明FCoE报文的转发;具体结合图3所示FCoE网络中服务器1发送FCoE报文至存储器2的报文处理过程。如图7所示,本实施例中实现FCoE的方法的报文转发过程如下:
701、服务器1向FEF1发送FCoE报文;
其中,服务器1发送的FCoE报文的报文格式和机制与现有技术相同,不再详述;该报文中包括:源MAC地址(即服务器1的MAC地址)、目的MAC地址(相邻的FEF即FEF1的MAC地址)、源FC-ID(即服务器1的FC-ID,1.1.1)、目的FC-ID(即存储器2的FC-ID,1.4.1)。
参见图8,为本发明实施例提供的实现FCoE的方法中的报文变化示意图,图8示出了FCoE报文在转发过程中,在各FEF处报文头部的部分内容。
702、FEF1将报文中的目的MAC地址重新封装为FEF4的MAC地址;
其中,当FEF1接收到服务器1发送的报文时,剥掉外层的以太封装,获取报文中的目的FC-ID,即1.4.1;FEF1查找其自身的报文转发表,得知包括该1.4.1的FC-ID范围是1.4.0/16,该1.4.0/16对应的MAC地址是FEF4-MAC,即报文的目的FC-ID对应的目的节点是位于FEF4下。因此,FEF1重新进行FCoE封装,将该FEF4-MAC设置为报文的目的MAC地址,将报文的源MAC地址设置为FEF1自身的MAC地址。
703、FEF1将报文发送至FEF4;
FEF1将报文从端口1发出,发往FEF4,中间可能会经过其他设备,包括FEF5。由于报文的目的MAC不是FEF5,所以FEF5进行普通的二层转发,继续将报文发往FEF4。以图3为例,FEF5将报文从端口300发出至FEF4。因此,从图8来看,报文头部的内容没有变动,即FEF5没有对报文头部进行任何更改。
704、FEF4将报文的目的MAC地址更改为存储器2的MAC地址;
其中,当报文到达FEF4后,FEF4会剥掉外层以太封装,获取内层FC报文的目的FC-ID地址。FEF4将根据报文的目的FC-ID,查找自身的报文转发表中的转发表项,获得与该FC-ID对应的MAC地址和本地输出端口。以图3为例,FEF4将得到目的MAC是storage2的MAC地址,所述本地输出端口是端口200,即从该端口200输出报文将到达存储器2。
FEF4重新进行FCoE封装,将报文的源MAC地址更改为自身的MAC地址,即FEF4-MAC,并将报文的目的MAC地址更改为存储器2的MAC地址,即存储器2-MAC。可以参见图8。
705、FEF4将报文发送至存储器2。
其中,FEF4将报文通过端口200发送至存储器2。需要说明的是,本实施例的FEF1与FEF4之间可以使用多跳的以太交换机组成的网络。
进一步的,FCoE网络的FCS还可以下发分区信息,该分区信息主要是用于通知FEF分区内的某个节点与某个节点之间是允许通信的,比如,以图1为例,如果定义分区(Zone)X包含Server1和storage2,那么FCS会在该分区激活后下发(1.1.1,1.4.1,allowed)到FEF1和FEF4。FEF可以根据下发的分区信息生成访问控制列表(access control list,简称:ACL),该ACL主要用于记录上述分区信息,并且用于当FEF接收到报文时,查看该ACL,如果报文的发送节点和接收节点是ACL中记录的处于同一分区的能够通信的节点,则继续进行报文转发,否则表明该报文是不能转发的。比如,当FEF1在收到来自Server1的报文,查找报文转发表进行转发时,需要根据分区信息产生的ACL来检查报文的源和目的是否可以通信,只有在允许通信的情况下,才会进行转发。
参见图9,为本发明实施例提供的FEF的结构示意图,用于实现如本发明图2、图3、图6和图8任一实施例所述的实现FCoE的方法,其工作原理可以参见前述方法实施例。如图9所示,第一FEF包括:信息接收单元91和转发表更新单元92;其中,
信息接收单元91,用于接收FCS分配的第一FC-ID范围;还接收所述FCS发送的转发信息,所述转发信息中包括:其他FEF的MAC地址及所述FCS分配给所述其他FEF的FC-ID范围的对应关系;
转发表更新单元92,用于根据所述转发信息更新报文转发表,所述报文转发表中包括介质访问控制MAC地址与FC-ID范围的对应关系;具体用于根据所述转发信息,在所述第一FEF的报文转发表中记录所述其他FEF的MAC地址及FC-ID范围的对应关系。
其中,FCS在获知第一FEF新加入FCoE网络时,会为所述第一FEF分配第一FC-ID范围;所述第一FC-ID范围由所述第一FEF控制,用于分配给接入所述第一FEF的本地节点,即接入所述第一FEF的ENode;具体的,所述第一FEF为每个接入所述第一FEF的本地节点从所述第一FC-ID范围中选择一个FC-ID分配给该本地节点,FC-ID则主要用于FCoE报文在网络中的寻址转发。可选的,上述的FC-ID范围的表示方式可以有多种,例如,以掩码的方式表示(1.1.0/16),或者是从某个FC-ID开始的连续n个(n>0)。
此外,假设FCoE网络中有多个FEF时,FCS为每个FEF分配的FC-ID范围是不同的,即不同的FEF被分配的FC-ID范围不能重叠;该FC-ID范围不重叠指的是全网唯一。具体可参见201,在此不再赘述。
其中,当FCoE网络中存在多个FEF时,所述第一FEF,除了接收FCS分配的所述第一FC-ID范围,还可以接收所述FCS发送的转发信息,所述转发信息中包括其他FEF的MAC地址及FCS分配给所述其他FEF的FC-ID范围的对应关系。
可以理解的是,所述信息接收单元91接收的转发信息可以是所述第一FEF新加入FCoE网络时,FCS保存的、FCoE网络中已存在的其他FEF的转发信息,也可以是所述第一FEF加入FCoE网络后,有新的FEF加入时,新加入FEF的转发信息。
进一步的,图10为本发明实施例提供的FEF的另一结构示意图,如图10所示,在图9结构的基础上,所述第一FEF还包括请求接收单元93和地址分配单元94;
请求接收单元93,用于接收第一本地节点发送的连接请求;
地址分配单元94,用于根据所述连接请求,从所述第一FC-ID范围中为所述第一本地节点分配节点第一FC-ID;
所述转发表更新单元92,还用于根据所述第一节点FC-ID,更新所述报文转发表;其中,所述FEF根据所述第一节点FC-ID,更新所述第一FEF的报文转发表,具体包括:所述第一FEF在所述第一FEF的报文转发表中记录所述第一本地节点的MAC地址及所述第一节点FC-ID的对应关系。
具体的,在所述第一FEF的报文转发表中记录所述第一本地节点的MAC地址与第一节点FC-ID的对应关系;进一步还可以包括与所述第一本地节点对应的出端口。
进一步的,所述信息接收单元91,还用于接收所述FCS发送的退出信息,所述退出信息中包括第二FEF的MAC地址;
所述转发表更新单元92,还用于根据所述退出信息,更新所述第一FEF的报文转发表;具体用于根据所述退出信息,从所述第一FEF的报文转发表中删除所述第二FEF的MAC地址对应的转发表项。
进一步的,该FEF还可以包括:连接处理单元95,用于在所述信息接收单元接收所述FCS分配的第一FC-ID范围之前,与所述FCS建立连接;具体包括用于根据静态配置的FCS的地址与所述FCS建立连接;或者,通过动态发现方式获取所述FCS的地址,并与所述FCS建立连接。
其中,由于FCS负责对FCoE网络中各FEF进行控制和管理,因此每个新加入网络的FEF首先要与FCS建立连接。具体地,若所述第一FEF新加入FCoE网络时,所述第一FEF首先与所述FCS建立连接,再接收所述FCS为所述第一FEF分配的第一FC-ID范围。具体地,所述第一FEF可以通过TCP或者UDP与所述FCS建立连接关系。这种连接关系的建立可以通过多种方式,包括但不限于:对所述第一FEF进行静态配置,所述第一FEF根据静态配置的FCS的地址与所述FCS建立连接;通过动态发现方式获取所述FCS的地址,并与所述FCS建立连接。需要说明的是,所述第一FEF与FCS之间建立的连接,通常是逻辑上的连接关系,当然也可以是物理直连。
本实施例中第一FEF通过获取FCS分配的FC-ID范围,以及网络中其他FEF的转发信息,可以建立报文转发表;对于其他FEF也是,也只需要获取FCS分配给第一FEF的第一FC-ID范围,就可以在报文转发表中增加相应的转发表项,相对于现有技术需要重新计算全网路由来说,报文转发表的生成更加简单和快速,提高了路由效率,简化了FCoE的实现。
图11为本发明实施例提供的FEF的又一结构示意图,在图9或10所示FEF的基础上,该第一FEF中还可以包括:报文转发单元96;所述报文转发单元96,用于接收来自本地节点的FCoE报文,并从所述FCoE报文中获取目的FC-ID;根据所述目的FC-ID,查找所述报文转发表得到与所述FC-ID对应的目的FEF的MAC地址;将所述目的FEF的MAC地址设置为所述FCoE报文的目的MAC地址;并发送所述FCoE报文;
具体的,图11以图10所示FEF结构为基础作为示例,如图11所示,所述报文转发单元96具体可以包括:地址获取子单元961、目的查找子单元962、报文处理子单元963和报文发送子单元964;其中,
所述地址获取子单元961,用于接收来自本地节点的FCoE报文,并从所述FCoE报文中获取目的FC-ID;
由于所述FCoE报文来自所述第一FEF的本地节点,因此所述第一FEF相当于所述FCoE报文的起点FEF。
所述目的查找子单元962,用于根据所述目的FC-ID,查找所述报文转发表得到与所述FC-ID对应的目的FEF的MAC地址;
所述FCoE报文中包括源FC-ID,目的FC-ID,源MAC地址和目的MAC地址。其中,源FC-ID是所述第一FEF的本地节点的FC-ID,源MAC地址是所述第一FEF的本地节点的MAC地址;而目的FC-ID是目的ENode的MAC地址,目的MAC地址则是所述第一FEF的MAC地址。
所述报文处理子单元963,用于将所述目的FEF的MAC地址设置为所述FCoE报文的目的MAC地址;
所述报文发送子单元964,用于发送所述FCoE报文。
本实施例中,起点FEF就已经将报文的目的MAC地址直接设置为目的FEF的MAC地址,这与现有技术的处理是不同的,比如,以图3所示为例,当服务器1向存储器2发送报文时,按照现有技术,FEF1(现有技术中是FCF设备)解封装后通过目的FC-ID获取下一跳FEF的MAC地址,将FCoE报文的目的MAC地址设为FEF5的MAC地址,发往FEF5,然后FEF5解封装后通过目的FC-ID查找下一跳FEF的MAC地址,将FCoE报文的目的MAC地址设为FEF4的MAC地址,发往FEF4;即现有技术中,FCoE报文从入口FEF,即FEF1到出口FEF,即FEF4经过的每一跳,即每个中间FEF(现有技术中是FCF设备),都需要经过解封装,使用下一跳MAC地址路由,再次封装的过程,报文转发处理代价大、效率低。而本发明实施例中,在入口FEF,即FEF1处,就可以根据目的FC-ID查找到出口FEF的MAC地址,直接将FCoE报文的目的MAC地址设为出口FEF的MAC地址,即FEF4的MAC地址,中间FEF只做转发,不修改报文的目的MAC,不做报文的解封装和封装处理;比如在FEF5处,仅需要根据报文中的目的MAC地址,即FEF4-MAC,直接将报文从对应的端口300输出即可,从而实现FCoE报文简单、快速地转发。
本实施例中,第一FEF通过获取FCS分配的第一FC-ID范围,以及网络中其他FEF的转发信息,可以建立报文转发表;对于其他FEF也是,也只需要获取FCS分配给新加入FCoE网络的第一FEF的第一FC-ID范围,就可以在报文转发表中增加相应的转发表项,相对于现有技术需要重新计算全网路由来说,FCoE网络的控制平面实现更加快速和简单,降低了控制平面的实现复杂度。此外,本发明实施例中,FCoE报文的入口FEF处根据目的FC-ID查找到出口FEF的MAC地址,并直接设置为FCoE报文的目的MAC地址,中间FEF对FCoE报文只做转发,而不做解封装和封装处理,相对于现有技术中对FCoE报文逐跳进行路由、解封装和封装处理,本实施例中FEF的报文转发处理代价小、效率高。
参见图12,为本发明实施例提供的FCS的结构示意图,用于实现如本发明图4实施例所述的实现FCoE的方法,其工作原理参见前述方法实施例。如图12所示,该FCS包括:
地址分配单元1201,用于为第一FEF分配第一FC-ID范围;
信息发送单元1202,用于将所述第一FC-ID范围、以及转发信息发送至所述第一FEF,以使得所述第一FEF根据所述转发信息更新所述第一FEF的报文转发表,所述转发信息中包括:其他FEF的MAC地址及所述FCS分配给所述其他FEF的FC-ID范围的对应关系,所述报文转发表中包括MAC地址与FC-ID范围的对应关系。其中,所述第一FEF根据所述转发信息更新所述第一FEF的报文转发表,具体包括:所述第一FEF根据所述转发信息,在所述第一FEF的报文转发表中记录所述其他FEF的MAC地址及所述其他FEF的FC-ID范围的对应关系。
其中,FCS在获知第一FEF新加入FCoE网络时,会为所述第一FEF分配第一FC-ID范围;所述第一FC-ID范围由所述第一FEF控制,用于分配给接入所述第一FEF的本地节点,即接入所述第一FEF的ENode;具体的,所述第一FEF为每个接入所述第一FEF的本地节点从所述第一FC-ID范围中选择一个FC-ID分配给该本地节点,FC-ID则主要用于FCoE报文在网络中的寻址转发。可选的,上述的FC-ID范围的表示方式可以有多种,例如,以掩码的方式表示(1.1.0/16),或者是从某个FC-ID开始的连续n个(n>0)。
此外,假设FCoE网络中有多个FEF时,FCS为每个FEF分配的FC-ID范围是不同的,即不同的FEF被分配的FC-ID范围不能重叠;该FC-ID范围不重叠指的是全网唯一。具体可参见201,在此不再赘述。
其中,当FCoE网络中已存在多个FEF时,所述第一FEF,除了接收FCS分配的所述第一FC-ID范围,还可以接收所述FCS发送的转发信息,所述转发信息中包括其他FEF的MAC地址及所述FCS分配给所述其他FEF的FC-ID范围的对应关系。可以理解的是,所述信息接收单元91接收的转发信息可以是所述第一FEF新加入FCoE网络时,FCS保存的、FCoE网络中已存在的其他FEF的转发信息,也可以是所述第一FEF加入FCoE网络后,有新的FEF加入时,新加入FEF的转发信息。
进一步的,所述信息发送单元1202,还用于将所述第一FEF对应的第一转发信息发送至所述其他FEF,以使得所述其他FEF根据所述第一转发信息更新所述其他FEF的报文转发表;所述第一转发信息包括:所述第一FEF的MAC地址与所述第一FC-ID范围的对应关系。具体的,在所述地址分配单元1201为所述第一FEF分配对应的第一光纤通道标识FC-ID范围之后,所述信息发送单元1202将所述第一FEF对应的第一转发信息发送至所述其他FEF。
其中,当FCS所记录的各个FEF的MAC地址与FC-ID范围的对应关系发生变化时,FCS也将通知网络中的所有FEF。具体的,当第一FEF新加入FCoE网络时,FCS会将该第一FEF对应的第一转发信息发送至FCoE网络中除该第一FEF之外的其他FEF,以使得其他FEF根据所述第一转发信息更新所述其他FEF的报文转发表,所述第一转发信息中包括所述第一FEF的MAC地址和所述第一FC-ID范围的对应关系。这样,可以使全网中的各FEF知道各自负责的FC-ID范围,而这个通知具体由FCS负责。
进一步的,所述信息发送单元1202,还用于向所述第一FEF发送退出信息,所述退出信息中包括第二FEF的MAC地址,以使得所述第一FEF根据所述退出信息更新所述第一FEF的报文转发表。其中,所述第一FEF根据所述退出信息,更新所述第一FEF的报文转发表,具体包括:所述第一FEF从所述第一FEF的报文转发表中删除所述第二FEF的MAC地址对应的转发表项。
本实施例的FCS,通过向第一FEF分配对应的第一FC-ID范围,并将网络中其他FEF的转发信息发送至该第一FEF,使得第一FEF能够据此更新报文转发表,在报文转发表中增加相应的转发表项,相对于现有技术需要重新计算全网路由来说,FCoE网络的控制平面的实现更加快速和简单,降低了控制平面的实现复杂度。
图13为本发明实施例提供的FEF的硬件结构示意图,用于实现如本发明图2、图3、图6和图8中任一实施例所示的实现FCoE的方法,其工作原理可以参见前述方法实施例。如图13所示,第一FEF可以包括:存储器1301、处理器1302、总线1303和通信接口1304。处理器1302和存储器1301和通信接口1304之间通过总线1303连接并完成相互间的通信。处理器1302可能为单核或多核中央处理单元(central processing unit,简称:CPU),或者为特定集成电路(application specific integrated circuit,简称:ASIC),或者为被配置成实施本发明实施例的一个或多个集成电路。存储器1301可以为高速RAM存储器,也可以为非易失性存储器(non-volatile memory),例如至少一个磁盘存储器。
其中,存储器1301用于存放程序代码,所述程序代码包括计算机操作指令;
所述处理器1302执行计算机操作指令,以执行:通过通信接口1304接收FCS分配的第一FC-ID范围和所述FCS发送的转发信息,所述转发信息中包括:其他FEF的MAC地址及所述FCS分配给所述其他FEF的FC-ID范围的对应关系,并根据所述转发信息更新所述第一FEF的报文转发表,所述报文转发表中包括MAC地址与FC-ID范围的对应关系;
所述处理器1302具体用于根据所述转发信息,在所述第一FEF的报文转发表中记录所述其他FEF的MAC地址及FC-ID范围的对应关系。所述存储器1301,还可以用于存储所述第一FEF的报文转发表,例如表2所示。
其中,FCS在获知第一FEF新加入FCoE网络时,会为所述第一FEF分配第一FC-ID范围;所述第一FC-ID范围由所述第一FEF控制,用于分配给接入所述第一FEF的本地节点,即接入所述第一FEF的ENode;具体的,所述第一FEF为每个接入所述第一FEF的本地节点从所述第一FC-ID范围中选择一个FC-ID分配给该本地节点,FC-ID则主要用于FCoE报文在网络中的寻址转发。可选的,上述的FC-ID范围的表示方式可以有多种,例如,以掩码的方式表示(1.1.0/16),或者是从某个FC-ID开始的连续n个(n>0)。
此外,假设FCoE网络中有多个FEF时,FCS为每个FEF分配的FC-ID范围是不同的,即不同的FEF被分配的FC-ID范围不能重叠;该FC-ID范围不重叠指的是全网唯一。具体可参见201,在此不再赘述。
其中,当FCoE网络中已存在多个FEF时,所述第一FEF除了接收FCS分配的所述第一FC-ID范围,还可以接收所述FCS发送的转发信息,所述转发信息中包括其他FEF的MAC地址及所述FCS分配给所述其他FEF的FC-ID范围的对应关系。可以理解的是,所述信息接收单元91接收的转发信息可以是所述第一FEF新加入FCoE网络时,FCS保存的、FCoE网络中已存在的其他FEF的转发信息,也可以是所述第一FEF加入FCoE网络后,有新的FEF加入时,该新的FEF的转发信息。
此外,当FCS所记录的各个FEF的MAC地址与FC-ID范围的对应关系发生变化时,FCS也将通知网络中的所有FEF。具体的,当所述第一FEF新加入FCoE网络时,FCS会将该第一FEF对应的第一转发信息发送至FCoE网络中除该第一FEF之外的其他FEF,以使得其他FEF根据所述第一转发信息更新所述其他FEF的报文转发表,所述第一转发信息中包括所述第一FEF的MAC地址和所述第一FC-ID范围的对应关系。这样,可以使全网中的各FEF知道各自负责的FC-ID范围,而这个通知具体由FCS负责。
进一步的,处理器1302,还用于通过通信接口1304接收第一本地节点发送的连接请求,根据所述连接请求,从所述第一FC-ID范围中为所述第一本地节点分配第一节点FC-ID;根据所述第一节点FC-ID,更新所述报文转发表;所述处理器1302,具体用于在所述第一FEF的报文转发表中记录所述第一本地节点的MAC地址及所述第一节点FC-ID的对应关系。
进一步的,处理器1302,还用于通过通信接口1304接收所述FCS发送的退出信息,所述退出信息中包括第二FEF的MAC地址;根据所述退出信息,更新所述第一FEF的报文转发表;其中,所述第一FEF根据所述退出信息,更新所述第一FEF的报文转发表,具体包括:所述第一FEF从所述第一FEF的报文转发表中删除所述第二FEF的MAC地址对应的转发表项。
进一步的,处理器1302,还用于在获取所述FCS分配的第一FC-ID范围之前,通过通信接口1304与所述FCS建立连接;具体包括:用于根据静态配置的FCS的地址与所述FCS建立连接;或者,通过动态发现方式获取所述FCS的地址,并与所述FCS建立连接。
其中,由于FCS负责对FCoE网络中各FEF进行控制和管理,因此每个新加入网络的FEF首先要与FCS建立连接。具体地,若所述第一FEF新加入FCoE网络时,所述第一FEF首先与所述FCS建立连接,再接收所述FCS为所述第一FEF分配的第一FC-ID范围。具体地,所述第一FEF可以通过TCP或者UDP与所述FCS建立连接关系。这种连接关系的建立可以通过多种方式,包括但不限于:对所述第一FEF进行静态配置,所述第一FEF根据静态配置的FCS的地址与所述FCS建立连接;通过动态发现方式获取所述FCS的地址,并与所述FCS建立连接。需要说明的是,所述第一FEF与FCS之间建立的连接,通常是逻辑上的连接关系,当然也可以是物理直连。
进一步的,处理器1302,还用于通过通信接口1304接收来自本地节点的FCoE报文,并从所述FCoE报文中获取目的FC-ID;根据所述目的FC-ID,查找所述报文转发表,得到与所述目的FC-ID对应的目的FEF的MAC地址;将所述目的FEF的MAC地址设置为所述FCoE报文的目的MAC地址,并发送所述FCoE报文。
另外,处理器1302除了执行上述方法流程之外,还可用于执行计算机指令,以实现本发明方法实施例中的其他步骤,在此不再赘述。
本实施例中,第一FEF通过获取FCS分配的第一FC-ID范围,以及网络中其他FEF的转发信息,可以建立报文转发表;对于其他FEF也是,也只需要获取FCS分配给新加入FCoE网络的第一FEF的第一FC-ID范围,就可以在报文转发表中增加相应的转发表项,相对于现有技术需要重新计算全网路由来说,FCoE网络的控制平面实现更加快速和简单,降低了控制平面的实现复杂度。此外,本发明实施例中,FCoE报文的入口FEF处根据目的FC-ID查找到出口FEF的MAC地址,并直接设置为FCoE报文的目的MAC地址,中间FEF对FCoE报文只做转发,而不做解封装和封装处理,相对于现有技术中对FCoE报文逐跳进行路由、解封装和封装处理,本实施例中FEF的报文转发处理代价小、效率高。
图14为本发明实施例提供的FCS的硬件结构示意图,用于实现如本发明图4所示的实现FCoE的方法,其工作原理参见前述方法实施例。如图14所示,该FCS可以包括:存储器1401、处理器1402、总线1403和通信接口1404。处理器1402和存储器1301和通信接口1404之间通过总线1403连接并完成相互间的通信。处理器1402可能为单核或多核中央处理单元(central processing unit,简称:CPU),或者为特定集成电路(application specificintegrated circuit,简称:ASIC),或者为被配置成实施本发明实施例的一个或多个集成电路。存储器1401可以为高速RAM存储器,也可以为非易失性存储器(non-volatilememory),例如至少一个磁盘存储器。
其中,存储器1401用于存放程序代码,所述程序代码包括计算机操作指令;
所述处理器1402执行计算机操作指令,以执行:为第一FEF分配第一FC-ID范围,并通过通信接口1404将所述第一FC-ID范围、以及转发信息发送至所述第一FEF,以使得所述第一FEF更新所述第一FEF的报文转发表;所述转发信息中包括:其他FEF的MAC地址及所述FCS分配给所述其他FEF的FC-ID范围的对应关系;所述报文转发表中包括MAC地址与FC-ID范围的对应关系。
所述存储器1401,还用于存储所述第一FC-ID范围。
其中,所述第一FEF根据所述转发信息更新所述第一FEF的报文转发表,具体包括:所述第一FEF在所述第一FEF的报文转发表中记录所述其他FEF的MAC地址及FC-ID范围的对应关系。
其中,FCS在获知第一FEF新加入FCoE网络时,会为所述第一FEF分配第一FC-ID范围;所述第一FC-ID范围由所述第一FEF控制,用于分配给接入所述第一FEF的本地节点,即接入所述第一FEF的ENode;具体的,所述第一FEF为每个接入所述第一FEF的本地节点从所述第一FC-ID范围中选择一个FC-ID分配给该本地节点,FC-ID则主要用于FCoE报文在网络中的寻址转发。可选的,上述的FC-ID范围的表示方式可以有多种,例如,以掩码的方式表示(1.1.0/16),或者是从某个FC-ID开始的连续n个(n>0)。
此外,假设FCoE网络中有多个FEF时,FCS为每个FEF分配的FC-ID范围是不同的,即不同的FEF被分配的FC-ID范围不能重叠;该FC-ID范围不重叠指的是全网唯一。具体可参见201,在此不再赘述。
其中,当FCoE网络中已存在多个FEF时,所述第一FEF,除了接收FCS分配的所述第一FC-ID范围,还可以接收所述FCS发送的转发信息,所述转发信息中包括其他FEF的MAC地址及所述FCS分配给所述其他FEF的FC-ID范围的对应关系。可以理解的是,所述信息接收单元91接收的转发信息可以是所述第一FEF新加入FCoE网络时,FCS保存的、FCoE网络中已存在的其他FEF的转发信息,也可以是所述第一FEF加入FCoE网络后,有新的FEF加入时,新加入FEF的转发信息。
进一步的,处理器1402,还用于通过通信接口1404将所述第一FEF对应的第一转发信息发送至所述其他FEF,以使得所述其他FEF根据所述第一转发信息更新所述其他FEF的报文转发表;所述第一转发信息包括:所述第一FEF的MAC地址与所述第一FC-ID范围的对应关系。
其中,当FCS所记录的各个FEF的MAC地址与FC-ID范围的对应关系发生变化时,FCS也将通知网络中的所有FEF。具体的,当第一FEF新加入FCoE网络时,FCS会将该第一FEF对应的第一转发信息发送至FCoE网络中除该第一FEF之外的其他FEF,以使得其他FEF根据所述第一转发信息更新所述其他FEF的报文转发表,所述第一转发信息中包括所述第一FEF的MAC地址和所述第一FC-ID范围的对应关系。这样,可以使全网中的各FEF知道各自负责的FC-ID范围,而这个通知具体由FCS负责。
进一步的,处理器1402还用于向所述第一FEF发送退出信息,所述退出信息中包括第二FEF的MAC地址,以使得所述第一FEF根据所述退出信息更新所述第一FEF的报文转发表;其中,所述第一FEF根据所述退出信息,更新所述第一FEF的报文转发表,具体包括:所述第一FEF从所述第一FEF的报文转发表中删除所述第二FEF的MAC地址对应的转发表项。
另外,处理器1402除了执行上述方法流程之外,还可用于执行计算机指令,以实现本发明方法实施例中的其他步骤,在此不再赘述。
本实施例的FCS,通过向第一FEF分配第一FC-ID范围,并将网络中其他FEF的转发信息发送至该第一FEF,使得该第一FEF能够据此更新报文转发表,在报文转发表中增加相应的转发表项,相对于现有技术需要重新计算全网路由来说,FCoE网络的控制平面的实现更加快速和简单,降低了控制平面的实现复杂度。
本发明实施例还提供了一种实现以太光纤通道FCoE的系统,所述系统中包括FCS和FEF两种功能实体。其中,FCS参与FCoE网络的控制平面和管理平面的运作,不参与FCoE网络的数据平面的转发;用于集中控制和管理FEF,下发相关信令和参数给FEF。FEF用于接收FCS的控制和管理,从FCS接收相关的信令和参数;还用于生成报文转发表,根据该报文转发表进行FCoE报文的转发,即完成FCoE网络的数据平面的转发。
具体地,FEF的功能和结构如本发明图9至图11和图13中任一实施例所述;FCS的功能和结构如本发明图12和图14任一实施例所述。该FCS控制和管理FEF,例如可以形成图1或者图3或者其他的组网形式。FEF和FCS的结构和工作原理可以结合参见本发明的方法实施例以及装置实施例,在此不再赘述。以图1为例,新加入FCoE网络中的第一FEF,与负责主控制的FCS1建立连接,并获取FCS1下发的第一FC-ID范围,还接收FCS1下发的转发信息,所述转发信息中包括:其他FEF的MAC地址及所述FCS分配给所述其他FEF的FC-ID范围的对应关系;根据该转发信息更新用于转发报文的报文转发表,具体包括:所述第一FEF在所述第一FEF的报文转发表中记录所述其他FEF的MAC地址及FC-ID范围的对应关系;然后根据报文转发表转发FCoE报文。FCS1还可以将该第一FEF对应的第一转发信息发送给FCoE网络中的除第一FEF之外的其他FEF,以使得其他FEF据此更新其报文转发表,比如增加该新加入的第一FEF对应的转发表项,该转发表项包括第一FEF的MAC地址与第一FC-ID范围的对应关系。
采用该系统实现FCoE,第一FEF通过获取FCS分配的FC-ID范围,以及网络中其他FEF的转发信息,可以建立报文转发表;对于其他FEF也是,也只需要获取FCS分配给新加入FCoE网络的第一FEF的第一FC-ID范围,就可以在报文转发表中增加相应的转发表项,相对于现有技术需要重新计算全网路由来说,FCoE网络的控制平面实现更加快速和简单,降低了控制平面的实现复杂度;此外,本发明实施例中,FCoE报文的入口FEF处根据目的FC-ID查找到出口FEF的MAC地址,并直接设置为FCoE报文的目的MAC地址,中间FEF对FCoE报文只做转发,而不做解封装和封装处理,相对于现有技术中对FCoE报文逐跳进行路由、解封装和封装处理,本实施例中FEF的报文转发处理代价小、效率高。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储于一计算机可读取存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围。
Claims (15)
1.一种实现以太网光纤通道FCoE的方法,应用于FCoE网络,其特征在于,所述FCoE网络包括光纤通道控制平面服务器FCS和至少一个光纤通道边缘转发器FEF,所述至少一个FEF中包括第一FEF;所述方法包括:
所述第一FEF接收所述FCS分配的第一光纤通道标识FC-ID范围,所述第一FC-ID范围由所述第一FEF控制,用于分配给接入所述第一FEF的本地节点;还接收所述FCS发送的转发信息,所述转发信息中包括:其他FEF的介质访问控制MAC地址及所述FCS分配给所述其他FEF的FC-ID范围的对应关系;
所述第一FEF根据所述转发信息,更新所述第一FEF的报文转发表,所述报文转发表中包括MAC地址与FC-ID范围的对应关系;
其中,所述第一FEF根据所述转发信息,更新所述第一FEF的报文转发表,具体包括:所述第一FEF根据所述转发信息,在所述第一FEF的报文转发表中记录所述其他FEF的MAC地址及FC-ID范围的对应关系;
所述第一FEF接收本地节点发送的连接请求;
所述第一FEF根据所述连接请求,从所述第一FC-ID范围中为所述本地节点分配第一FC-ID;
所述FEF根据所述第一FC-ID,更新所述第一FEF的报文转发表;
所述第一FEF接收来自所述本地节点的FCoE报文;
所述第一FEF从所述FCoE报文中获取目的FC-ID;
所述第一FEF根据所述目的FC-ID,查找所述第一FEF的报文转发表,得到与所述目的FC-ID对应的目的FEF的MAC地址;
所述第一FEF将所述目的FEF的MAC地址设置为所述FCoE报文的目的MAC地址,发送所述FCoE报文。
2.根据权利要求1所述的方法,其特征在于,所述FEF根据所述第一FC-ID,更新所述第一FEF的报文转发表,具体包括:所述第一FEF根据所述第一FC-ID,在所述第一FEF的报文转发表中记录所述本地节点的MAC地址及所述第一FC-ID的对应关系。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:所述第一FEF接收所述FCS发送的退出信息,所述退出信息中包括第二FEF的MAC地址;
所述第一FEF根据所述退出信息,更新所述第一FEF的报文转发表;
其中,所述第一FEF根据所述退出信息,更新所述第一FEF的报文转发表,具体包括:所述第一FEF根据所述退出信息,从所述第一FEF的报文转发表中删除所述第二FEF的MAC地址对应的转发表项。
4.根据权利要求1或2所 述的方法,其特征在于,在所述第一FEF获取所述FCS分配的第一光纤通道标识FC-ID范围之前,所述方法还包括:所述第一FEF与所述FCS建立连接;所述第一FEF与所述FCS建立连接具体包括:
所述第一FEF被静态配置FCS地址,并根据所述FCS地址与所述FCS建立连接;或者,
所述第一FEF通过动态发现方式获取所述FCS地址,并与所述FCS建立连接。
5.一种实现以太网光纤通道FCoE的方法,应用于FCoE网络,其特征在于,所述FCoE网络包括光纤通道控制平面服务器FCS和至少一个光纤通道边缘转发器FEF,所述至少一个FEF中包括第一FEF;所述方法包括:
所述FCS为所述第一FEF分配第一光纤通道标识FC-ID范围,所述第一FC-ID范围由所述第一FEF控制,用于分配给接入所述第一FEF的本地节点;
所述FCS将所述第一FC-ID范围、以及转发信息发送至所述第一FEF,以使得所述第一FEF根据所述转发信息更新所述第一FEF的报文转发表,并在收到本地节点的连接请求后,根据所述连接请求从所述第一FC-ID范围中为所述本地节点分配第一FC-ID,并根据所述第一FC-ID,更新所述第一FEF的报文转发表;所述转发信息中包括:其他FEF的介质访问控制MAC地址及所述FCS分配给所述其他FEF的FC-ID范围的对应关系;所述报文转发表中包括MAC地址与FC-ID范围的对应关系,以便所述第一FEF收到来自本地节点的FCoE报文时,根据所述FCoE报文中的目的FC-ID,查找所述第一FEF的报文转发表,得到与所述目的FC-ID对应的目的FEF的MAC地址,并将所述目的FEF的MAC地址设置为所述FCoE报文的目的MAC地址,发送所述FCoE报文。
6.根据权利要求5所述的方法,其特征在于,在所述FCS为所述第一FEF分配第一FC-ID范围之后,所述方法还包括:
所述FCS将所述第一FEF对应的第一转发信息发送至所述其他FEF,以使得所述其他FEF根据所述第一转发信息更新所述其他FEF的报文转发表,所述第一转发信息中包括:所述第一FEF的MAC地址和所述第一FC-ID范围的对应关系。
7.根据权利要求5或6所述的方法,其特征在于,所述方法还包括:
所述FCS向所述第一FEF发送退出信息,所述退出信息中包括第二FEF的MAC地址,以使得所述第一FEF根据所述退出信息更新所述第一FEF的报文转发表。
8.一种光纤通道边缘转发器FEF,所述FEF为第一FEF,其特征在于,包括:
信息接收单元,用于接收光纤通道控制平面服务器FCS分配的第一光纤通道标识FC-ID范围,所述第一FC-ID范围由所述第一FEF控制,用于分配给接入所述第一FEF的本地节点;还接收所述FCS发送的转发信息,所述转发信息中包括:其他FEF的介质访问控制MAC地址及所述FCS分配给所述其他FEF的FC-ID范围的对应关系;
转发表更新单元,用于根据所述转发信息,更新所述第一FEF的报文转发表,所述报文转发表中包括MAC地址与FC-ID范围的对应关系;具体用于根据所述转发信息,在所述第一FEF的报文转发表中记录所述其他FEF的MAC地址及FC-ID范围的对应关系;
请求接收单元,用于接收第一本地节点发送的连接请求;
地址分配单元,用于根据所述连接请求,从所述第一FC-ID范围中为所述第一本地节点分配第一节点FC-ID;
所述转发表更新单元,还用于根据所述第一节点FC-ID,更新所述第一FEF的报文转发表;
报文转发单元,用于接收来自本地节点的FCoE报文,所述FCoE报文中的源FC-ID是所述本地节点的FC-ID,源MAC地址是所述本地节点的MAC地址,目的FC-ID是目的节点的FC-ID,目的MAC地址是所述第一FEF的MAC地址;从所述FCoE报文中获取目的FC-ID;根据所述目的FC-ID,查找所述第一FEF的报文转发表,得到与所述目的FC-ID对应的目的FEF的MAC地址;将所述目的FEF的MAC地址设置为所述FCoE报文的目的MAC地址,并发送所述FCoE报文。
9.根据权利要求8所述的FEF,其特征在于,
所述转发表更新单元,具体用于根据所述第一节点FC-ID,在所述第一FEF的报文转发表中记录所述第一本地节点的MAC地址及所述第一节点FC-ID的对应关系。
10.根据权利要求8或9所述的FEF,其特征在于,
所述信息接收单元,还用于接收所述FCS发送的退出信息,所述退出信息中包括第二FEF的MAC地址;
所述转发表更新单元,还用于根据所述退出信息,更新所述第一FEF的报文转发表;具体用于根据所述退出信息,从所述第一FEF的报文转发表中删除所述第二FEF的MAC地址对应的转发表项。
11.根据权利要求8或9所述的FEF,其特征在于,还包括:
连接处理单元,用于与所述FCS建立连接;具体用于根据静态配置的FCS地址与所述FCS建立连接;或者,通过动态发现方式获取所述FCS地址,并与所述FCS建立连接。
12.一种光纤通道控制平面服务器FCS,其特征在于,包括:
地址分配单元,用于为第一FEF分配第一光纤通道标识FC-ID范围,所述第一FC-ID范围由所述第一FEF控制,用于分配给接入所述第一FEF的本地节点;
信息发送单元,用于将所述第一FC-ID范围、以及转发信息发送至所述第一FEF,以使得所述第一FEF根据所述转发信息更新所述第一FEF的报文转发表,并在收到本地节点的连接请求后,根据所述连接请求从所述第一FC-ID范围中为所述本地节点分配第一FC-ID,并根据所述第一FC-ID,更新所述第一FEF的报文转发表,所述转发信息中包括:其他FEF的介质访问控制MAC地址及所述FCS分配给所述其他FEF的FC-ID范围的对应关系,所述报文转发表中包括MAC地址与FC-ID范围的对应关系,以便所述第一FEF收到来自本地节点的FCoE报文时,根据所述FCoE报文中的目的FC-ID,查找所述第一FEF的报文转发表,得到与所述目的FC-ID对应的目的FEF的MAC地址,并将所述目的FEF的MAC地址设置为所述FCoE报文的目的MAC地址,发送所述FCoE报文。
13.根据权利要求12所述的FCS,其特征在于,
所述信息发送单元,还用于将所述第一FEF对应的第一转发信息发送至所述其他FEF,以使得所述其他FEF根据所述第一转发信息更新所述其他FEF的报文转发表,所述第一转发信息中包括:所述第一FEF的MAC地址和所述第一FC-ID范围的对应关系。
14.根据权利要求12或13所述的FCS,其特征在于,
所述信息发送单元,还用于向所述第一FEF发送退出信息,所述退出信息中包括第二FEF的MAC地址,以使得所述第一FEF根据所述退出信息更新所述第一FEF的报文转发表。
15.一种实现以太网光纤通道FCoE的系统,其特征在于,包括至少一个如权利要求8至11中任一项所述的光纤通道边缘转发器FEF、以及如权利要求12至14中任一项所述的光纤通道控制平面服务器FCS。
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
PCT/CN2013/074269 WO2014169439A1 (zh) | 2013-04-16 | 2013-04-16 | 实现FCoE的方法、装置和系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN104350710A CN104350710A (zh) | 2015-02-11 |
CN104350710B true CN104350710B (zh) | 2017-12-08 |
Family
ID=51730677
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201380000224.6A Expired - Fee Related CN104350710B (zh) | 2013-04-16 | 2013-04-16 | 实现FCoE的方法、装置和系统 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN104350710B (zh) |
WO (1) | WO2014169439A1 (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107241271B (zh) * | 2017-06-19 | 2020-02-21 | 联想(北京)有限公司 | 一种数据处理方法及网络设备 |
CN112333074B (zh) * | 2020-10-30 | 2023-04-18 | 新华三信息技术有限公司 | 光纤通道报文处理方法、装置、设备及机器可读存储介质 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102209023A (zh) * | 2010-03-31 | 2011-10-05 | 成都市华为赛门铁克科技有限公司 | 一种建立FCoE通信连接的方法、装置、名字服务器和系统 |
CN102427410A (zh) * | 2011-12-02 | 2012-04-25 | 北京星网锐捷网络技术有限公司 | 光纤通道身份标识处理方法、装置、系统及网络设备 |
CN102647338A (zh) * | 2012-02-03 | 2012-08-22 | 华为技术有限公司 | 网络通信方法和设备 |
WO2012149505A1 (en) * | 2011-04-29 | 2012-11-01 | Huawei Technologies Co., Ltd. | Method and system of centralized control and management for fiber channel over ethernet networks |
Family Cites Families (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101631076B (zh) * | 2009-08-21 | 2011-06-08 | 杭州华三通信技术有限公司 | 报文传输控制方法和以太网承载光纤通道协议系统 |
US8446817B2 (en) * | 2010-01-19 | 2013-05-21 | Cisco Technology, Inc. | Distributed virtual fibre channel over Ethernet forwarder |
US9172590B2 (en) * | 2010-05-11 | 2015-10-27 | Brocade Communications Systems, Inc. | Single virtual domain fibre channel over ethernet fabric |
CN102833287B (zh) * | 2011-06-16 | 2015-12-16 | 华为数字技术(成都)有限公司 | 分布式文件系统及分布式文件系统中访问数据资源的方法 |
-
2013
- 2013-04-16 CN CN201380000224.6A patent/CN104350710B/zh not_active Expired - Fee Related
- 2013-04-16 WO PCT/CN2013/074269 patent/WO2014169439A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102209023A (zh) * | 2010-03-31 | 2011-10-05 | 成都市华为赛门铁克科技有限公司 | 一种建立FCoE通信连接的方法、装置、名字服务器和系统 |
WO2012149505A1 (en) * | 2011-04-29 | 2012-11-01 | Huawei Technologies Co., Ltd. | Method and system of centralized control and management for fiber channel over ethernet networks |
CN102427410A (zh) * | 2011-12-02 | 2012-04-25 | 北京星网锐捷网络技术有限公司 | 光纤通道身份标识处理方法、装置、系统及网络设备 |
CN102647338A (zh) * | 2012-02-03 | 2012-08-22 | 华为技术有限公司 | 网络通信方法和设备 |
Also Published As
Publication number | Publication date |
---|---|
CN104350710A (zh) | 2015-02-11 |
WO2014169439A1 (zh) | 2014-10-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN103997414B (zh) | 生成配置信息的方法和网络控制单元 | |
CN105577548B (zh) | 一种软件定义网络中报文处理方法和装置 | |
CN104380658B (zh) | 流分类器、业务路由触发器、报文处理的方法和系统 | |
CN103139037B (zh) | 用于实现灵活的虚拟局域网的方法和装置 | |
CN108989212A (zh) | 多个下一跳的路由协议信令及其关系 | |
JP6177890B2 (ja) | 別個のインフィニバンドサブネット間のトラフィックをファットツリールーティングに基づいてルーティングするためのシステムおよび方法 | |
CN105262681B (zh) | 分布式路由架构 | |
CN103947160B (zh) | 通过基于trill的网络承载fcoe帧的方法 | |
CN104202266B (zh) | 一种通信方法、交换机、控制器及通信系统 | |
CN108989202A (zh) | 用于虚拟节点的基于结构路径上下文的转发 | |
CN108989203A (zh) | 通告用于虚拟节点中的服务路由的选定结构路径 | |
CN1822570B (zh) | 在基于以太网的网络中进行的伪线路对等体地址的自动发现方法 | |
CN107040469A (zh) | 网络设备及方法 | |
CN107547335A (zh) | 在evpn中信号通知ip地址移动的方法和网络设备 | |
CN109218178A (zh) | 一种报文处理方法及网络设备 | |
CN106797351A (zh) | 使用控制器执行逻辑网络转发的系统和方法 | |
CN107770062A (zh) | 一种数据包发送方法、装置及网络架构 | |
CN105681198B (zh) | 一种业务链处理方法、设备及系统 | |
CN103944768A (zh) | 为受管计算机网络提供逻辑联网功能 | |
CN106464528A (zh) | 用于通信网络中的层3数据中心互连的无接触编配 | |
CN110324159B (zh) | 链路配置方法、控制器和存储介质 | |
CN108965134B (zh) | 报文转发方法及装置 | |
CN109729012A (zh) | 一种单播报文传输方法和装置 | |
US11296997B2 (en) | SDN-based VPN traffic scheduling method and SDN-based VPN traffic scheduling system | |
CN106209648A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant | ||
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20171208 Termination date: 20180416 |