基于以太网的光纤通道虚链路故障检测方法、系统和装置转让专利

申请号 : CN200910262048.9

文献号 : CN102111306B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 王晓东

申请人 : 杭州华三通信技术有限公司

摘要 :

本发明提出一种基于以太网的光纤通道(FCoE)虚链路故障的检测方法、系统和装置,其中方法包括:当传输(Transmit)交换机发现网络出现故障时,发送包含答复周期的FCoE初始化协议保活请求(FIP Keep Alive Request)报文;FCoE设备接收该FIP Keep Alive Request报文,创建虚链路老化定时器,按照所述答复周期设置虚链路老化定时器的超时时间,并向对端FCoE设备发送维持FCoE虚链路的报文;当所述虚链路老化定时器超时时,如果所述FCoE设备尚未收到对端FCoE设备的反馈,则所述FCoE设备检测出与对端FCoE设备之间的FCoE虚链路出现故障。本发明能够在不影响网络带宽的前提下快速检测到FCoE虚链路的失效情况。

权利要求 :

1.一种基于以太网的光纤通道FCoE虚链路故障的检测方法,其特征在于,所述方法包括:当传输Transmit交换机发现网络出现故障时,发送包含答复周期的FCoE初始化协议保活请求FIP Keep Alive Request报文;

FCoE设备接收所述FIP Keep Alive Request报文,创建虚链路老化定时器,按照所述答复周期设置虚链路老化定时器的超时时间,并向对端FCoE设备发送维持FCoE虚链路的报文;当所述虚链路老化定时器超时时,如果所述FCoE设备尚未收到对端FCoE设备的反馈,则所述FCoE设备检测出与对端FCoE设备之间的FCoE虚链路出现故障。

2.根据权利要求1所述的方法,其特征在于,所述FCoE设备为FCoE传输FCF交换机,所述对端FCoE设备为以太节点ENode;

所述FCoE设备设置超时时间和发送维护FCoE虚链路的报文的步骤包括:FCF交换机将所述超时时间设置为2.5倍的答复周期,以所述答复周期为周期向ENode发送2次发现通告Discovery Advertisement报文;

所述FCoE设备判断出FCoE虚链路出现故障的步骤包括:当所述虚链路老化定时器超时时,如果所述FCF交换机尚未收到ENode反馈的FIP Keep Alive报文,则所述FCF交换机检测出与ENode之间的FCoE虚链路出现故障。

3.根据权利要求1所述的方法,其特征在于,所述FCoE设备为ENode,所述对端FCoE设备为FCF交换机;

所述FCoE设备设置超时时间和发送维护FCoE虚链路的报文的步骤包括:ENode将所述超时时间设置为2.5倍的答复周期,以所述答复周期为周期向FCF交换机发送2次FIP Keep Alive报文;

所述FCoE设备判断出FCoE虚链路出现故障的步骤包括:当所述虚链路老化定时器超时时,如果所述ENode尚未收到FCF交换机反馈的Discovery Advertisement报文,则所述ENode检测出与FCF交换机之间的FCoE虚链路出现故障。

4.根据权利要求1、2或3所述的方法,其特征在于,所述方法还包括:

当所述虚链路老化定时器超时时,如果所述FCoE设备已经收到对端FCoE设备的反馈,则所述FCoE设备检测出与对端FCoE设备之间的FCoE虚链路没有出现故障,所述FCoE设备删除虚链路老化定时器,继续维持所述FCoE虚链路。

5.根据权利要求1、2或3所述的方法,其特征在于,所述FIP Keep Alive Request报文中还包含发送实体类型字节,所述发送实体类型字节用于携带发送所述FIP KeepAlive Request报文的设备的类型信息。

6.根据权利要求1、2或3所述的方法,其特征在于,当所述FCoE设备同时接收到多个Transmit交换机发送的FIP Keep Alive Request报文时,按照各个所述FIP Keep Alive Request报文中所包含的最小的答复周期设置所述超时时间并发送所述维持FCoE虚链路的报文。

7.一种FCoE虚链路故障的检测系统,其特征在于,所述系统包括:

Transmit交换机,用于当发现网络出现故障时,发送包含答复周期的FIPKeep Alive Request报文;

FCoE设备,用于接收所述FIP Keep Alive Request报文,创建虚链路老化定时器,按照所述答复周期设置虚链路老化定时器的超时时间,并向对端FCoE设备发送维持FCoE虚链路的报文;当所述虚链路老化定时器超时时,如果所述FCoE设备尚未收到对端FCoE设备的反馈,则所述FCoE设备检测出与对端FCoE设备之间的FCoE虚链路出现故障。

8.一种FCF交换机,其特征在于,所述FCF交换机包括:

第一接收模块,用于接收来自Transmit交换机的FIP Keep Alive Request报文;

第一定时器模块,用于创建虚链路老化定时器,根据所述FIP Keep Alive Request报文中的答复周期设置虚链路老化定时器的超时时间;

第一发送模块,用于向对端以太节点ENode发送Discovery Advertisement报文;

第一检测模块,用于判断所述虚链路老化定时器超时时,FCF交换机是否已收到ENode反馈的FIP Keep Alive报文,如果尚未收到,则检测出与ENode之间的FCoE虚链路出现故障。

9.一种以太节点ENode,其特征在于,所述ENode包括:

第二接收模块,用于接收来自Transmit交换机的FIP Keep Alive Request报文;

第二定时器模块,用于创建虚链路老化定时器,根据所述FIP Keep Alive Request报文中的答复周期设置虚链路老化定时器的超时时间;

第二发送模块,用于向对端FCF交换机发送FIP Keep Alive报文;

第二检测模块,用于判断所述虚链路老化定时器超时时,ENode是否已收到FCF交换机反馈的Discovery Advertisement报文,如果尚未收到,则检测出与FCF交换机之间的FCoE虚链路出现故障。

说明书 :

基于以太网的光纤通道虚链路故障检测方法、系统和装置

技术领域

[0001] 本发明涉及基于以太网的光纤通道(FCoE,Fibre Channel over Ethernet)技术领域,特别涉及FCoE虚链路故障的检测方法、系统和装置。

背景技术

[0002] FCoE协议是将FC协议承载在以太网上的传输协议。如图1为现有技术中的FCoE网络结构示意图,在该FCoE网络中,支持FCoE协议的设备称为FCoE设备,其中,支持FCoE协议的交换机称为FCoE传输(FCF,FCoE Forwarders)交换机,支持FCoE协议的通信实体设备称为以太节点(ENode);在FCoE网络中,不支持FCoE协议、但可以传输FCoE报文的以太网交换机称为传输(Transmit)交换机。在图1所示的FCoE网络中,在FCF交换机和ENode之间需要交互FCoE报文之前,需要首先在二者之间建立并维护FCoE虚链路,FCoE初始化协议(FIP,FCoE Initialization Protocol)正是用于初始化FCoE设备之间(包括FCF交换机和ENode之间、以及FCF交换机和FCF交换机之间)虚链路的协议。
[0003] FIP包括三个主要过程:发现过程、虚链路初始化过程、以及虚链路维持过程。其中,发现过程是指FCoE设备发现对方,以及识别对方身份,协商能力参数的过程;虚链路初始化过程是指当某一FCoE设备已经发现了网络中的其它FCoE设备后,与其建立FCoE虚链路的过程;虚链路维持过程是指当前FCoE设备定期发送维持报文,维持FCoE虚链路有效,同时通过监测对端发送的维持报文来确定FCoE虚链路状态有效的过程。
[0004] 参见图2,图2为现有技术中FCF交换机和ENode之间的虚链路维持过程流程图。包括:
[0005] 步骤201:FCF交换机周期性地向ENode发送发现通告(DiscoveryAdvertisement)报文,该发送周期为FKA_ADV_PERIOD;
[0006] 如果ENode收到Disc overy Advertisement报文,则继续维护二者之间的虚链路;如果ENode持续2.5*FKA_ADV_PERIOD的时间没有收到DiscoveryAdvertisement报文,则ENode认为虚链路失效,不再维护二者之间的虚链路。
[0007] 步骤202:ENode周期性地向FCF交换机发送FIP保活(FIP Keep Alive)报文,该发送周期也为FKA_ADV_PERIOD;
[0008] 如果FCF交换机收到FIP Keep Alive报文,则继续维持二者之间的虚链路;如果FCF交换机持续2.5*FKA_ADV_PERIOD的时间没有收到FIP Keep Alive报文,则FCF交换机认为虚链路失效,不再维持二者之间的虚链路。
[0009] FKA_ADV_PERIOD的默认时间为8s,因此,当FCoE虚链路失效时,FCoE设备最长需要20s才能检测到这一情况,这使得FCF交换机和ENode长时间处于异常状态。如果缩短FKA_ADV_PERIOD的长度,虽然能够解决上述问题,但由于周期变小会导致网络中需要传输大量控制报文,影响网络带宽。因此,如何在不影响网络带宽的前提下快速检测到FCoE虚链路的失效情况,成为现有技术中亟待解决的问题。

发明内容

[0010] 本发明提出一种FCoE虚链路故障的检测方法,能够在不影响网络带宽的前提下快速检测到FCoE虚链路的失效情况。
[0011] 本发明还FCF虚链路故障的检测系统和装置,能够在不影响网络带宽的前提下快速检测到FCoE虚链路的失效情况。
[0012] 本发明的技术方案是这样实现的:
[0013] 一种FCoE虚链路故障的检测方法,包括:
[0014] 当Transmit交换机发现网络出现故障时,发送包含答复周期的请求FIPKeep Alive Request报文;
[0015] FCoE设备接收所述FIP Keep Alive Request报文,创建虚链路老化定时器,按照所述答复周期设置虚链路老化定时器的超时时间,并向对端FCoE设备发送维持FCoE虚链路的报文;当所述虚链路老化定时器超时时,如果所述FCoE设备尚未收到对端FCoE设备的反馈,则所述FCoE设备检测出与对端FCoE设备之间的FCoE虚链路出现故障。
[0016] 一种FCoE虚链路故障的检测系统,包括:
[0017] Transmit交换机,用于当发现网络出现故障时,发送包含答复周期的FIPKeep Alive Request报文;
[0018] FCoE设备,用于接收所述FIP Keep Alive Request报文,创建虚链路老化定时器,按照所述答复周期设置虚链路老化定时器的超时时间,并向对端FCoE设备发送维持FCoE虚链路的报文;当所述虚链路老化定时器超时时,如果所述FCoE设备尚未收到对端FCoE设备的反馈,则所述FCoE设备检测出与对端FCoE设备之间的FCoE虚链路出现故障。
[0019] 一种Transmit交换机,包括:
[0020] 检测模块,用于检测网络是否出现故障,当发现故障时,指示发送模块发送FIP Keep Alive Request报文;
[0021] 发送模块,用于按照所述检测模块的指令,发送包含答复周期的FIP KeepAlive Request报文。
[0022] 一种FCF交换机,包括:
[0023] 第一接收模块,用于接收来自Transmit交换机的FIP Keep Alive Request报文;
[0024] 第一定时器模块,用于创建虚链路老化定时器,根据所述FIP Keep AliveRequest报文中的答复周期设置虚链路老化定时器的超时时间;
[0025] 第一发送模块,用于向对端ENode发送Discovery Advertisement报文;
[0026] 第一检测模块,用于判断所述虚链路老化定时器超时时,FCF交换机是否已收到ENode反馈的FIP Keep Alive报文,如果尚未收到,则检测出与ENode之间的FCoE虚链路出现故障。
[0027] 一种ENode,包括:
[0028] 第二接收模块,用于接收来自Transmit交换机的FIP Keep Alive Request报文;
[0029] 第二定时器模块,用于创建虚链路老化定时器,根据所述FIP Keep AliveRequest报文中的答复周期设置虚链路老化定时器的超时时间;
[0030] 第二发送模块,用于向对端FCF交换机发送FIP Keep Alive报文;
[0031] 第二检测模块,用于判断所述虚链路老化定时器超时时,ENode是否已收到FCF交换机反馈的Discovery Advertisement报文,如果尚未收到,则检测出与FCF交换机之间的FCoE虚链路出现故障。
[0032] 综上可见,本发明提出的FCoE虚链路故障的检测方法、系统和装置,在网络出现故障时,T ransmit发现网络故障,发送包含答复周期的FIP Keep AliveRequest报文,该答复周期可以设置为较小的值;网络中的FCoE设备收到该FIP Keep Alive Request报文,按照答复周期设置虚链路老化定时器的超时时间,并向对端FCoE设备发送维持FCoE虚链路的报文;如果定时器超时时仍未收到对端FCoE设备的反馈,则检测出与对端FCoE之间的虚链路出现故障。通过这种方式,在网络出现故障,也就是已经建立的FCoE虚链路极有可能出现故障的情况下,虚链路两端的FCoE设备按照较小的周期发送维持FCoE虚链路的报文,既能够快速检测出FCoE虚链路的失效情况,又不浪费网络带宽。

附图说明

[0033] 图1为现有技术中的FCoE网络结构示意图;
[0034] 图2为现有技术中FCF交换机和ENode之间的虚链路维持过程流程图;
[0035] 图3为本发明FCoE虚链路故障的检测方法实施例一的实现流程图;
[0036] 图4为本发明实施例二所应用的FCoE网络结构示意图;
[0037] 图5为本发明FCoE虚链路故障的检测方法实施例二的实现流程图。

具体实施方式

[0038] 本发明提出一种FCoE虚链路故障的检测方法,该方法的主要思想是:当网络出现故障时,网络中两个FCoE设备之间的FCoE虚链路就可能出现故障;这种情况下,可以通知FCoE设备按照较小的周期向与该FCoE设备之间存在虚链路的对端FCoE设备发送维持FCoE虚链路的报文,如果该FCoE设备无法及时收到对端FCoE设备的反馈,则该FCoE设备就能够检测出与对端FCoE设备之间的FCoE虚链路出现故障。另外,由于网络出现故障时,存在故障的链路两端的Transmit交换机能够发现该故障,因此可以由Transmit交换机执行上述通知FCoE设备的过程。
[0039] 以下参照附图,对本发明具体实施方式做详细介绍。
[0040] 实施例一:
[0041] 参见图3,图3为本发明FCoE虚链路故障的检测方法实施例一的实现流程图。本实施例以应用于图1所示的FCoE网络结构为例进行说明,假设Transmit交换机1和Transmit交换机2之间的网络链路出现故障,检测方法包括以下步骤:
[0042] 步骤301:Transmit交换机1和Transmit交换机2之间的网络链路出现故障,Transmit交换机1和Transmit交换机2发现该故障,均发送包含REPLY_FKA_ADV_PERIOD的FIP保活请求(FIP Keep Alive Request)报文,将Transmit交换机1发送的报文记为FIP Keep Alive Request 1报文,将Transmit交换机2发送的报文记为FIP Keep Alive Request 2报文。
[0043] 在本步骤中,FIP Keep Alive Request 1报文和FIP Keep Alive Request 2报文中的REPLY_FKA_ADV_PERIOD均设置为100ms,该数值可以根据实际应用情况进行设置,也可以设置为其他不同的值。
[0044] 在本步骤中,Transmit交换机可以通过除该故障链路上的端口以外的其他端口发送FIP Keep Alive Request报文,以Transmit交换机1为例,端口11所在链路出现故障,则Transmit交换机1可以通过端口12和端口22发送FIP Keep Alive Request 1报文。
[0045] 步骤302:ENode收到FIP Keep Alive Request 1报文和FIP Keep AliveRequest2报文。其中,来自Transmit交换机2的FIP Keep Alive Request 2报文的传输路径为:
Transmit交换机2——>Transmit交换机3——>Transmit交换机1——>ENode。
[0046] 根据收到的FIP Keep Alive Request报文,ENode创建虚链路老化定时器,将该虚链路老化定时器的超时时间设置为2.5×REPLY_FKA_ADV_PERIOD=250ms,并以100ms为周期连续发送2次FIPKeep Alive报文。
[0047] 步骤303:FCF交换机接收到ENode发送的FIP Keep Alive报文(其传输路径为ENode——>Transmit交换机1——>Transmit交换机3——>Transmit交换机2——>FCF交换机),按照与现有技术同样的方式,FCF交换机向ENode反馈Discovery Advertisement报文。
[0048] 步骤304:ENode在上述虚链路老化定时器的超时时间之内收到FCF交换机反馈的Discovery Advertisement报文,因此,ENode检测出ENode与FCF交换机之间的FCoE虚链路没有出现故障,则ENode删除虚链路老化定时器,继续按照原有协议维持FCoE虚链路。
[0049] 上述步骤302至304是ENode检测FCoE虚链路故障的过程,以下的步骤305至307为FCF交换机检测FCoE虚链路故障的过程,与上述ENode的检测过程类似。并且,两个检测过程实际上是同时进行的,二者互不影响。
[0050] 步骤305:FCF交换机收到FIP Keep Alive Request 1报文和FIP KeepAlive Request 2报文。其中,来自Transmit交换机1的FIP Keep Alive Request1报文的传输路径为:Transmit交换机1——>Transmit交换机3——>Transmit交换机2——>FCF交换机。
[0051] 根据收到的FIP Keep Alive Request报文,FCF交换机创建虚链路老化定时器,将该虚链路老化定时器的超时时间设置为2.5×REPLY_FKA_ADV_PERIOD=250ms,并以100ms为周期连续发送2次Discovery Advertisement报文。
[0052] 步骤306:ENode接收到FCF交换机发送的Discovery Advertisement报文(其传输路径为FCF交换机——>Transmit交换机2——>Transmit交换机3——>Transmit交换机1——>ENode),按照与现有技术同样的方式,ENode向FCF交换机反馈FIP Keep Alive报文。
[0053] 步骤307:FCF交换机在上述虚链路老化定时器的超时时间之内收到ENode反馈的FIP Keep Alive报文,因此,FCF交换机检测出FCF交换机与ENode之间的FCoE虚链路没有出现故障,则FCF交换机删除虚链路老化定时器,继续按照原有协议维持FCoE虚链路。
[0054] 可以看出,在本实施例中,由于Transmit交换机1、Transmit交换机2和Transmit交换机3的网状结构,Transmit交换机1和Transmit交换机2之间的故障并未对ENode和FCF交换机之间的FCoE虚链路造成影响,ENode和FCF交换机检测到FCoE虚链路未出现故障。以下再举实施例二,在实施例二中,ENode和FCF交换机将会检测到FCoE虚链路出现故障。
[0055] 实施例二:
[0056] 图4为本发明实施例二所应用的FCoE网络结构示意图,图4的FCoE网络中包含Transmit交换机1和Transmit交换机2。
[0057] 参见图5,图5为本发明FCoE虚链路故障的检测方法实施例二的实现流程图。假设Transmit交换机1和Transmit交换机2之间的网络链路出现故障,检测方法包括以下步骤:
[0058] 步骤501:Transmit交换机1和Transmit交换机2之间的网络链路出现故障,Transmit交换机1和Transmit交换机2发现该故障,均发送包含REPLY_FKA_ADV_PERIOD(设置为100ms)的FIP Keep Alive Request报文,将Transmit交换机1发送的报文记为FIP Keep Alive Request 1报文,将Transmit交换机2发送的报文记为FIP Keep Alive Request 2报文。
[0059] 在本步骤中,Transmit交换机可以通过除该故障链路上的端口以外的其他端口发送FIP Keep Alive Request报文,以Transmit交换机1为例,端口11所在链路出现故障,则Transmit交换机1可以通过端口12发送FIP KeepAlive Request 1报文。
[0060] 步骤502:ENode收到FIP Keep Alive Request 1报文,根据收到的FIPKeep Alive Request 1报文,ENode创建虚链路老化定时器,将该虚链路老化定时器的超时时间设置为2.5×REPLY_FKA_ADV_PERIOD=250ms,并以100ms为周期连续发送2次FIP Keep Alive报文。
[0061] 步骤503:由于网络故障,FCF交换机无法接收到ENode发送的FIP KeepAlive报文,也就无法向ENode反馈Discovery Advertisement报文;当ENode的虚链路老化定时器超时时,由于尚未收到FCF交换机的反馈,ENode检测出与FCF交换机之间的FCoE虚链路出现故障,不再维持二者之间FCoE虚链路。
[0062] 上述步骤502和503是ENode检测FCoE虚链路故障的过程,以下的步骤504和505为FCF交换机检测FCoE虚链路故障的过程,与上述ENode的检测过程类似。并且,两个检测过程实际上是同时进行的,二者互不影响。
[0063] 步骤504:FCF交换机收到FIP Keep Alive Request 2报文。
[0064] 根据收到的FIP Keep Alive Request 2报文,FCF交换机创建虚链路老化定时器,将该虚链路老化定时器的超时时间设置为2.5×REPLY_FKA_ADV_PERIOD=250ms。以100ms为周期连续发送2次Discovery Advertisement报文。
[0065] 步骤505:由于网络故障,ENode无法接收到FCF交换机发送的Discovery Advertisement报文,也就无法向FCF交换机反馈FIP Keep Alive报文;当FCF交换机的虚链路老化定时器超时时,由于尚未收到ENode的反馈,FCF交换机检测出与ENode之间的FCoE虚链路出现故障,不再维持二者之间FCoE虚链路。
[0066] 可以看出,在本实施例中,Transmit交换机1和Transmit交换机2之间的故障对ENode和FCF交换机之间的FCoE虚链路造成影响,ENode和FCF交换机检测到二者之间的FCoE虚链路出现故障。
[0067] 上述两个实施例中,FIP Keep Alive Request报文中除包含REPLY_FKA_ADV_PERIOD之外,还可以包含发送实体类型字节(T_Bit),用于携带发送该FIP Keep Alive Request报文的设备的类型信息。例如,T_Bit长度为2个bit,当取值为“00”时,表示发送该FIP Keep Alive Request报文的设备为Transmit交换机。
[0068] 在此简要分析本发明相对于现有技术的优点:在现有技术中,ENode和FCF交换机均以FKA_ADV_PERIOD为周期发送维持FCoE虚链路的报文(具体地,ENode发送FIP Keep Alive报文,FCF交换机发送DiscoveryAdvertisement报文),如果无法及时收到对端的反馈,则检测出FCoE虚链路故障;虽然采用现有技术也能够检测出FCoE虚链路故障,但关键在于,由于现有技术中将发送维持FCoE虚链路的报文的周期(FKA_ADV_PERIOD)一般设置为8s,而本发明可以将发送维持FCoE虚链路的报文的周期(REPLY_FKA_ADV_PERIOD)设置为较小的值(如100ms~1000ms),这样,本发明就能够快速检测到FCoE虚链路的故障。并且,只有在网络中出现故障的前提下才会触发本发明的实施,保证了在正常情况下不会增加网络负担,减少网络中维持FCoE虚链路的报文的数量。
[0069] 另外,上述两个实施例中,ENode连续发送2次FIP Keep Alive报文,FCF交换机连续发送2次Discovery Advertisement报文,其目的是保证FCoE虚链路故障检测的准确性,避免由于偶尔的传输延时导致检测错误。
[0070] 上述两个实施例中,各个Transmit交换机发送的FIP Keep Alive Request报文所包含的REPLY_FKA_ADV_PERIOD取值相同,本发明也可以采用不同Transmit交换机发送包含不同REPLY_FKA_ADV_PERIOD的FIP KeepAlive Request报文的方式;出现这种情况时,FCoE设备可以根据收到的各个FIP Keep Alive Request报文中最小的REPLY_FKA_ADV_PERIOD设置虚链路老化定时器的超时时间、并且以该最小的REPLY_FKA_ADV_PERIOD为周期发送维持FCoE虚链路的报文。
[0071] 本发明还提出一种FCoE虚链路故障的检测系统,包括:
[0072] Transmit交换机,用于当发现网络出现故障时,发送包含答复周期的FIPKeep Alive Request报文;
[0073] FCoE设备,用于接收所述FIP Keep Alive Request报文,创建虚链路老化定时器,按照所述答复周期设置虚链路老化定时器的超时时间,并向对端FCoE设备发送维持FCoE虚链路的报文;当所述虚链路老化定时器超时时,如果所述FCoE设备尚未收到对端FCoE设备的反馈,则所述FCoE设备检测出与对端FCoE设备之间的FCoE虚链路出现故障。
[0074] 本发明还提出一种Transmit交换机,包括:
[0075] 检测模块,用于检测网络是否出现故障,当发现故障时,指示发送模块发送FIP Keep Alive Request报文;
[0076] 发送模块,用于按照所述检测模块的指令,发送包含答复周期的FIP KeepAlive Request报文。
[0077] 本发明还提出一种FCF交换机,包括:
[0078] 第一接收模块,用于接收来自Transmit交换机的FIP Keep Alive Request报文;
[0079] 第一定时器模块,用于创建虚链路老化定时器,根据所述FIP Keep AliveRequest报文中的答复周期设置虚链路老化定时器的超时时间;
[0080] 第一发送模块,用于向对端ENode发送Discovery Advertisement报文;
[0081] 第一检测模块,用于判断所述虚链路老化定时器超时时,FCF交换机是否已收到ENode反馈的FIP Keep Alive报文,如果尚未收到,则检测出与ENode之间的FCoE虚链路出现故障。
[0082] 本发明还提出一种ENode,包括:
[0083] 第二接收模块,用于接收来自Transmit交换机的FIP Keep Alive Request报文;
[0084] 第二定时器模块,用于创建虚链路老化定时器,根据所述FIP Keep AliveRequest报文中的答复周期设置虚链路老化定时器的超时时间;
[0085] 第二发送模块,用于向对端FCF交换机发送FIP Keep Alive报文;
[0086] 第二检测模块,用于判断所述虚链路老化定时器超时时,ENode是否已收到FCF交换机反馈的Discovery Advertisement报文,如果尚未收到,则检测出与FCF交换机之间的FCoE虚链路出现故障。
[0087] 综上可见,本发明提出的FCoE虚链路故障的检测方法、系统和装置,当Transmit发现网络故障,发送包含答复周期的FIP Keep Alive Request报文,该答复周期可以设置为较小的值;网络中的FCoE设备收到该FIP Keep AliveRequest报文,按照答复周期设置虚链路老化定时器的超时时间,并向对端FCoE设备发送维持FCoE虚链路的报文;如果定时器超时时仍未收到对端FCoE设备的反馈,则检测出与对端FCoE之间的虚链路出现故障。通过这种方式,在已经建立的FCoE虚链路极有可能出现故障的情况下,虚链路两端的FCoE设备可以按照较小的周期发送维持FCoE虚链路的报文,在不浪费网络带宽的前提下能够快速检测出FCoE虚链路的失效情况。
[0088] 以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。