CN107707299B - 一种fc聚合链路的检测方法及装置 - Google Patents

一种fc聚合链路的检测方法及装置 Download PDF

Info

Publication number
CN107707299B
CN107707299B CN201711043315.4A CN201711043315A CN107707299B CN 107707299 B CN107707299 B CN 107707299B CN 201711043315 A CN201711043315 A CN 201711043315A CN 107707299 B CN107707299 B CN 107707299B
Authority
CN
China
Prior art keywords
port
aggregation
local
equipment
forwarding device
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.)
Active
Application number
CN201711043315.4A
Other languages
English (en)
Other versions
CN107707299A (zh
Inventor
朱武杰
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou H3C Technologies Co Ltd
Original Assignee
Hangzhou H3C Technologies Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Hangzhou H3C Technologies Co Ltd filed Critical Hangzhou H3C Technologies Co Ltd
Priority to CN201711043315.4A priority Critical patent/CN107707299B/zh
Publication of CN107707299A publication Critical patent/CN107707299A/zh
Application granted granted Critical
Publication of CN107707299B publication Critical patent/CN107707299B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04BTRANSMISSION
    • H04B10/00Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
    • H04B10/07Arrangements for monitoring or testing transmission systems; Arrangements for fault measurement of transmission systems
    • H04B10/075Arrangements for monitoring or testing transmission systems; Arrangements for fault measurement of transmission systems using an in-service signal
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/08Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters
    • H04L43/0805Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability
    • H04L43/0811Monitoring or testing based on specific metrics, e.g. QoS, energy consumption or environmental parameters by checking availability by checking connectivity
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L43/00Arrangements for monitoring or testing data switching networks
    • H04L43/50Testing arrangements

Abstract

本申请提供一种光纤通道FC聚合链路的检测方法,该方法用于转发设备,可包括:与本地FC聚合口连接的对端设备协商选举FC聚合口检测设备;若本设备被选举为FC聚合口检测设备,从本地FC聚合口中选择一个成员端口为第一参考端口;将第一参考端口、本地FC聚合口中满足第一条件的成员端口的端口状态设置为用于指示参与数据报文转发的选中状态,剩余的成员端口的端口状态设置为用于指示禁止参与数据报文转发的非选中状态;第一条件为:连接的对端端口与所述第一参考端口连接的对端端口处于同一FC聚合口。使用该方法,可实现自动检测FC聚合链路的物理端口的连接是否正常,以及在FC聚合链路的物理端口连接异常时防止流量丢失。

Description

一种FC聚合链路的检测方法及装置
技术领域
本申请涉及计算机通信领域,尤其涉及一种FC聚合链路的检测方法及装置。
背景技术
FC(Fibre Channel,光纤通道)链路聚合通过将多条物理FC链路聚合在一起形成一条逻辑的FC聚合链路,来实现带宽聚合、负载分担以及链路备份的目的。
FC链路聚合是通过FC端口聚合实现的,多个FC端口聚合在一起后形成一个FC聚合口,而这些被聚合在一起的FC端口就称为该FC聚合口的成员端口,该FC聚合口为一个逻辑概念。
通常,FC聚合口中的成员端口具选中状态和非选中状态这两种状态。选中状态的成员端口可以参与数据报文的转发。非选中状态的成员端口不能参与数据报文的转发。
在实际应用中,通常需要检测FC聚合链路,对于FC聚合链路的检测通常可以是对该FC聚合链路对应的聚合口中的成员端口进行检测。然而,这种FC聚合链路的检测,通常是人工完成的。一方面,由于每当聚合口中的成员端口发生变化时,都需要进行FC聚合链路的检测,大大浪费了人力成本;另一方面,当人工没有及时检测的聚合口中的成员端口的连接错误时,就会致使流量从处于选中状态但是错误连接的成员端口转发,就会造成流量的全部或者部分丢失。
发明内容
有鉴于此,本申请提供一种FC聚合链路的检测方法及装置,用以实现自动检测FC聚合链路的连接是否正常,以及在FC聚合链路的连接异常时防止流量丢失。
具体地,本申请是通过如下技术方案实现的:
根据本申请的第一方面,提供一种光纤通道FC聚合链路的检测方法,所述方法应用于转发设备,所述方法包括:
与本地FC聚合口连接的对端设备协商选举FC聚合口检测设备;
若本设备被选举为所述FC聚合口检测设备,则从所述本地FC聚合口中选择一个成员端口为第一参考端口;
将所述第一参考端口、所述本地FC聚合口中满足第一条件的成员端口的端口状态设置为用于指示参与数据报文转发的选中状态,剩余的成员端口的端口状态设置为用于指示禁止参与数据报文转发的非选中状态;所述第一条件为:连接的对端端口与所述第一参考端口连接的对端端口处于同一FC聚合口。
可选的,所述与本地FC聚合口连接的对端设备协商选举FC聚合口检测设备,包括:
向对端设备发送协商报文;
接收对端设备发送的协商报文;
比较本设备的设备优先级和接收的所述协商报文携带的对端设备的设备优先级;
若所述本设备的设备优先级高,则选举所述本设备为FC聚合口检测设备;
若所述对端设备的设备优先级高,则选举所述对端设备为FC聚合口检测设备;
若两者相同,则比较所述本设备的设备标识和接收的所述协商报文携带的对端设备的设备标识;若所述本设备的设备标识小于所述对端设备的设备标识,则选举本设备为FC聚合口检测设备,否则,选举所述对端设备为FC聚合口检测设备。
可选的,所述从所述本地FC聚合口中选择一个成员端口为第一参考端口,包括:
从所述本地FC聚合口中选择一个成员端口,作为待选定成员端口;
通过所述待选定成员端口向对端设备发送端口确认请求消息;
若接收到所述端口确认请求消息的成功响应消息,则将所述待选定端口确定为第一参考端口;
若接收到所述端口确认请求消息的失败响应消息,则将所述待选定成员端口设置为非选中状态,并重新在所述本地FC聚合口中选择新的成员端口作为待选定成员端口。
可选的,所述从所述本地FC聚合口中选择一个成员端口,作为待选定成员端口,包括:
从所述本地FC聚合口中选择聚合优先级最高的成员端口;
若选择出多个优先级最高的成员端口,则在该多个优先级最高的成员端口中选择端口号最小的成员端口;
将选择出的端口号最小的成员端口作为待选定成员端口。
可选的,若本设备未被选举为FC聚合口检测设备,该方法进一步包括:
通过第一本地端口接收到被选举的FC聚合口检测设备发送的端口确认请求消息;
检测所述第一本地端口是否有所属的FC聚合口;
如果没有,则设置该第一本地端口为非选中状态,并向所述FC聚合口检测设备返回端口确认请求消息的失败响应消息;
如果有,进一步检测该第一本地端口所属的FC聚合口是否包含被选为参考端口的成员端口;
若未包含,则将该第一本地端口确定为第二参考端口,向所述FC聚合口检测设备返回端口确认请求消息的成功响应消息;
若包含,则设置该第一本地端口为非选中状态,并向所述FC聚合口检测设备返回端口确认请求消息的失败响应消息。
可选的,若本设备未被选举为FC聚合口检测设备,该方法进一步包括:
通过第二本地端口接收到被选举为FC聚合口检测设备发送的端口信息通告报文;
检测该第二本地端口是否有所属的FC聚合口;
如果没有,则将该第二本地端口设置为非选中状态;
如果有,则检测该第二本地端口所属的FC聚合口是否包含第二参考端口;
若包含,则将所述第二参考端口、所述第二本地端口所属的FC聚合口中满足第二条件的成员端口的端口状态设置为选中状态,剩余的成员端口的端口状态设置为非选中状态;所述第二条件为:连接的对端端口与所述第二参考端口连接的对端端口处于同一FC聚合口;
若未包含,则将该第二本地端口所属的FC聚合口中的成员端口设置为非选中状态。
根据本申请的第二方面,提供一种光纤通道FC聚合链路的检测装置,所述装置应用于转发设备,所述装置包括:
协商单元,用于与本地FC聚合口连接的对端设备协商选举FC聚合口检测设备;
第一确定单元,用于若本设备被选举为所述FC聚合口检测设备,则从所述本地FC聚合口中选择一个成员端口为第一参考端口;
第一设置单元,用于将所述第一参考端口、所述本地FC聚合口中满足第一条件的成员端口的端口状态设置为用于指示参与数据报文转发的选中状态,剩余的成员端口的端口状态设置为用于指示禁止参与数据报文转发的非选中状态;所述第一条件为:连接的对端端口与所述第一参考端口连接的对端端口处于同一FC聚合口。
可选的,所述协商单元,具体用于向对端设备发送协商报文;接收对端设备发送的协商报文;比较本设备的设备优先级和接收的所述协商报文携带的对端设备的设备优先级;若所述本设备的设备优先级高,则选举本设备为FC聚合口检测设备;若所述对端设备的设备优先级高,则选举对端设备为FC聚合口检测设备;若两者相同,则比较所述本设备的设备标识和接收的所述协商报文携带的对端设备的设备标识;若所述本设备的设备标识小于所述对端设备的设备标识,则选举本设备为FC聚合口检测设备,否则,选举所述对端设备为FC聚合口检测设备。
可选的,所述第一确定单元,具体用于从所述本地FC聚合口中选择一个成员端口,作为待选定成员端口;通过所述待选定成员端口向对端设备发送端口确认请求消息;若接收到所述端口确认请求消息的成功响应消息,则将所述待选定端口确定为第一参考端口;若接收到所述端口确认请求消息的失败响应消息,则将所述待选定成员端口设置为非选中状态,并重新在所述本地FC聚合口中选择新的成员端口作为待选定成员端口。
可选的,所述第一确定单元,进一步用于从所述本地FC聚合口中选择聚合优先级最高的成员端口;若选择出多个优先级最高的成员端口,则在该多个优先级最高的成员端口中选择端口号最小的成员端口;将选择出的端口号最小的成员端口作为待选定成员端口。
可选的,所述装置还包括:
第二确定单元,用于若本设备未被选举为FC聚合口检测设备,通过第一本地端口接收到被选举的FC聚合口检测设备发送的端口确认请求消息;检测所述第一本地端口是否有所属的FC聚合口;如果没有,则设置该第一本地端口为非选中状态,并向所述FC聚合口检测设备返回端口确认请求消息的失败响应消息;如果有,进一步检测该第一本地端口所属的FC聚合口是否包含被选为参考端口的成员端口;若未包含,则将该第一本地端口确定为第二参考端口,向所述FC聚合口检测设备返回端口确认请求消息的成功响应消息;若包含,则设置该第一本地端口为非选中状态,并向所述FC聚合口检测设备返回端口确认请求消息的失败响应消息。
可选的,所述装置还包括:
第二设置单元,用于若本设备未被选举为FC聚合口检测设备,通过第二本地端口接收到被选举为FC聚合口检测设备发送的端口信息通告报文;检测该第二本地端口是否有所属的FC聚合口;如果没有,则将该第二本地端口设置为非选中状态;如果有,则检测该第二本地端口所属的FC聚合口是否包含第二参考端口;若包含,则将所述第二参考端口、所述第二本地端口所属的FC聚合口中满足第二条件的成员端口的端口状态设置为选中状态,剩余的成员端口的端口状态设置为非选中状态;所述第二条件为:连接的对端端口与所述第二参考端口连接的对端端口处于同一FC聚合口;若未包含,则将该第二本地端口所属的FC聚合口中的成员端口设置为非选中状态。
一方面,转发设备可通过检测聚合口中的成员端口的对端端口是否与第二参考端口属于同一聚合口,来自动判断该聚合口中的成员端口的的连接是否正常。由于不再需要人工检测FC聚合链路的聚合口中的成员端口的连接是否异常,而是转发设备可以自动检测,从而大大降低了人力成本,同时降低人工检测FC聚合链路的出错率,提高了检测效率。
另一方面,当转发设备检测到该FC聚合链路的聚合口中的成员端口连接异常时,转发设备可将错误连接的成员端口设置为非选中状态。由于非选中状态的成员端口不能发送数据流量,所以使得即使该成员端口连接异常,转发设备也不会将数据流量从错误连接的成员端口发送出去,不会造成流量的丢失。
附图说明
图1是本申请示出的一种FC链路聚合的物理连接示意图;
图2是本申请示出的一种FC聚合链路的检测方法的流程图;
图3是本申请示出的另一种FC聚合链路的物理连接示意图;
图4是本申请示出的另一种FC聚合链路的物理连接示意图;
图5是本申请示出的另一种FC聚合链路的物理连接示意图;
图6是本申请示出的另一种FC聚合链路的物理连接示意图;
图7为本申请示出的一种FC聚合链路的检测装置的结构示意图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本申请相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本申请的一些方面相一致的装置和方法的例子。
在本申请使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本申请。在本申请和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本申请可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本申请范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
参见图1,图1是本申请一示例性实施例示出的一种FC链路聚合的物理连接示意图。
其中,图1(a)为正确的FC链路聚合的物理连接方式。转发设备101的聚合口Aggr101中的成员端口的对端端口都属于同一设备的同一聚合口中,即转发设备102上的聚合口Aggr102中。
图1(b)为错误的FC链路聚合的物理连接方式。转发设备111的聚合口Aggr111中的成员端口的对端端口虽然都在转发设备112上,但不在转发设备112上的同一聚合口Aggr112中。
图1(c)为错误的FC链路聚合的物理连接方式。转发设备121的聚合口Aggr121中的成员端口的对端端口虽然都在转发设备122上,但不在转发设备122上的同一聚合口Aggr122中。
图1(d)为错误的FC链路聚合的物理连接方式。转发设备131的聚合口Aggr131中的成员端口的对端端口不在同一个转发设备上。
图1(e)为错误的FC链路聚合的物理连接方式。转发设备141的聚合口Aggr141中的成员端口的对端端口不在转发设备142的聚合口中。
通常,这种FC链路聚合的物理连接是否正确,是需要人工进行检查的。一方面,FC链路聚合的物理连接的检查不是一次就可以完成的,如当FC聚合口中的成员端口发生变化(如新加入的成员端口等),又例如整个设备带着配置启动后,都需要人工进行FC链路聚合的物理连接的检查,因此大大提高了人力成本。另一方面,人工检查难免会发生错误,所以人工检查的出错率较高。
此外,当人工没有及时检测到FC聚合链路的物理连接错误时,还会出现如下问题:
在实际应用中,当成员端口UP时,该成员端口就会被设置为选中状态。然而,当FC链路聚合的物理连接方式错误时,就会造成流量从该错误物理连接的成员端口转发,造成流量的全部或者部分丢失。
例如,以图1(d)所示的物理连接方式为例。
假设,转发设备131通过聚合口Aggr131对应的FC聚合链路将流量发送至转发设备132。假设Aggr131中的成员端口可包括Port11、Port12、Port13和Port14,这四个成员端口均UP,所以这四个成员端口都被设置为选中状态。
在转发设备131向转发设备132转发流量时,转发设备131可根据负载分担策略等,选择成员端口,通过该成员端口将流量转发至转发设备132。当转发设备131选择出的成员端口为Port13。由于Port13的错误物理连接使得转发设备131将要转发至转发设备132的流量转发至了转发设备133,造成转发设备132接收的流量部分或者全部缺失。
有鉴于此,本申请了提供了一种FC聚合链路的检测方式,一方面,转发设备可自动检测FC聚合链路是否异常,另一方面,在FC聚合链路的物理连接异常时,还能防止流量的部分或者全部丢失。
参见图2,图2是本申请一示例性实施例示出的一种FC聚合链路的检测方法的流程图。该方法可应用在支持FC协议的转发设备上,该方法可包括步骤201至步骤203。
步骤201:与本地FC聚合口连接的对端设备协商选举FC聚合口检测设备;
其中,第一参考端口可以泛指检测设备上的FC聚合口中的参考端口。第二参考端口可以泛指非检测设备(即检测设备的对端设备)上的FC聚合口中的参考端口。这里第一、第二只是为了方便叙述。
在本申请实施例中,当本端设备(即本端转发设备)或对端设备(即对端转发设备)检测到FC聚合链路检测的触发事件发生时,如本端设备检测到本地的FC聚合口有新的成员端口加入或者有成员端口退出、或者检测到本端设备带配置启动后,本端设备和对端设备可协商出一个FC聚合口检测设备(下文为了方便叙述,以简称为检测设备)。通常,以设备ID较小的一端作为检测设备。这里将未被选举为FC聚合口检测设备的设备简称为非检测设备。
步骤202:若本设备被选举为FC聚合口检测设备,则从本地FC聚合口中选择一个成员端口为第一参考端口;
当本端设备确定本端为检测设备后,对端设备作为非检测设备。检测设备可在本端聚合口中的多个成员端口中确定出第一参考端口,并设置为选中状态。
具体的,检测设备可从本地FC聚合口中选择一个成员端口,作为待选定成员端口;然后,检测设备可通过该待选定成员端口向非检测设备发送端口确认请求消息。
非检测设备在收到该端口确认请求消息后,可检测收到该端口确认请求消息的本地端口(这里为了方便叙述,记为第一本地端口)是否有所属的聚合口。
如果该第一本地端口没有所属的聚合口,非检测设备则将该第一本地端口设置为非选中状态,并向检测设备发送端口确认请求消息的失败响应消息。
如果该第一本地端口有所属的聚合口,非检测设备可则进一步检测该第一本地端口所属的聚合口中是否包含已被选为参考端口的成员端口。
如果该第一本地端口所属的聚合口中未包含已被选为参考端口的成员端口,非检测设备可将该第一本地端口确定为第二参考端口,并设置为选中状态。
如果第一本地端口所属的聚合口中包含已被选为参考端口的成员端口,非检测设备则将该第一本地端口设置为非选中状态,并通过第一本地端口向检测设备发送端口确认请求消息的失败响应消息。
检测设备在接收到端口确认请求消息的失败响应消息后,表明上述选择出的作为待选定成员端口无法做参考端口,此时检测设备可将接收到该确认请求消息的失败响应消息的端口由选中状态修改为非选中状态,并可重新在上述FC聚合口中选择新的成员端口,作为待选定的成员端口。若FC聚合口的所有成员端口均无法做参考端口,该FC聚合口中则没有参考端口。当检测设备检测到该FC聚合口中没有参考端口时,可将该FC聚合口中的所有成员端口设置为非选中状态。
若检测设备收到端口确认请求消息的响应成功消息,表明该选择出的待选定成员端口确定为第一参考端口。此时,检测设备可执行步骤203的检测。
步骤203:将所述第一参考端口、本地FC聚合口中满足第一条件的成员端口的端口状态设置为用于指示参与数据报文转发的选中状态,剩余的成员端口的端口状态设置为用于指示禁止参与数据报文转发的非选中状态;所述第一条件为:连接的对端端口与所述第一参考端口连接的对端端口处于同一FC聚合口。
对于非检测设备来说,当非检测设备通过本地端口(这里为了方便描述记为第二本地端口)接收到被选举为FC聚合口检测设备发送的端口信息通告报文,后,可检测该第二本地端口是否有所属的FC聚合口。
如果该第二本地端口没有所属的FC聚合口,则将该第二本地端口设置为非选中状态。如果该第二本地端口有所属的FC聚合口,则可进一步检测该第二本地端口所属的FC聚合口是否包含第二参考端口。
如果该第二本地端口所属的FC聚合口包含第二参考端口,则将第二参考端口、第二本地端口所属的本地FC聚合口中满足第二条件的成员端口的端口状态设置为选中状态,剩余的成员端口的端口状态设置为非选中状态;所述第二条件为连接的对端端口与所述第二参考端口连接的对端端口处于同一FC聚合口。
如果该第二本地端口所属的FC聚合口未包含第二参考端口,则将该第二本地端口所属的FC聚合口中的成员端口设置为非选中状态。
一方面,转发设备可通过检测聚合口中的成员端口的对端端口是否与第二参考端口属于同一聚合口,来自动进行FC聚合链路的检测,判断与该FC聚合链路对应的聚合口中的成员端口的物理连接是否正确。由于不再需要人工检测FC聚合链路的连接是否异常,而是转发设备可以自动检测,从而大大降低了人力成本,同时降低人工FC聚合链路检测的出错率,提高了检测效率。
另一方面,当转发设备检测到该聚合口中的成员端口的物理连接异常时,转发设备可将错误连接的成员端口设置为非选中状态。由于非选中状态的成员端口不能发送数据流量,所以使得即使该聚合口中的成员端口的物理连接异常,转发设备也不会将数据流量从错误连接的成员端口发送出去,不会造成流量的丢失。
下面通过具体的例子,对本申请所提供的FC聚合链路的检测方法进行详细地说明。
实施例1:
参见图3,图3是本申请一示例性实施例示出的另一种FC聚合链路的物理连接示意图。
假设FC聚合链路的物理连接方式如图3所示。转发设备31、转发设备32和转发设备33均支持FC协议和LACP(Link Aggregation Control Protocol,链路汇聚控制协议)协议。
转发设备31上的端口Port301、Port302、Port303和Port304是转发设备31上的聚合口Aggr31的成员端口。转发设备32上的端口Port311、Port312是转发设备32上的聚合口Aggr32的成员端口。转发设备33上的Port313和Port314是转发设备33上的聚合口Aggr33的成员端口。
当转发设备31或转发设备32,或者转发设备33检测到FC聚合链路检测的触发事件发生时,如转发设备31检测到本设备上的FC聚合口有新的成员端口加入或者有成员端口退出、或者检测到本设备带配置启动,或者检测到本设备上的FC聚合口Shut(关闭)了再undoshut(撤销关闭)时,转发设备31或转发设备32可进行FC聚合链路的检测。
通常,FC聚合链路的检测,是指对该FC聚合链路的聚合口中的成员端口进行检测,在本例中,可以理解为对成员端口的物理连接的检测。
具体的,转发设备31和转发设备32、或者转发设备31和转发设备32之间可先协商出检测设备。
以转发设备31和转发设备32之间协商检测设备为例。
转发设备31可比较本设备的设备ID是否小于转发设备32,如果是,转发设备31可确定本设备为检测设备,转发设备32为非检测设备。如果否,转发设备31可确定本设备为非检测设备,转发设备32为检测设备。
对于进行设备ID比较,具体地,转发设备31可向转发设备32发送协商报文。该协商报文里可携带转发设备31的设备优先级和转发设备31的MAC地址。此外,转发设备32还可向转发设备31发送协商报文,该协商报文中可携带转发设备32的设备优先级和MAC地址。
其中,上述协商报文可为基于LACP协议的报文。
以转发设备31利用来自转发设备32的LACP报文进行设备ID比较为例。
转发设备31可接收转发设备32发送的协商报文。转发设备31可获取该协商报文中的转发设备32的设备优先级以及转发设备32的MAC地址。
转发设备31可先比较本设备的设备优先级和转发设备32的设备优先级,若本设备的设备优先级小于转发设备32的设备优先级,则转发设备31可确定本设备的设备ID小于转发设备32的设备ID,并确定本设备为检测设备,转发设备32为非检测设备。若本设备的设备优先级大于转发设备32的设备优先级,则转发设备31可确定本设备的设备ID大于转发设备32的设备ID,确定本设备为非检测设备,转发设备32为检测设备。若本设备和转发设备32的设备优先级相同,则转发设备31可进一步比较本设备和转发设备32的设备标识。
设备标识可以包括MAC地址等标识信息,这里不进行特别的限定。
下面以设备标识为MAC地址为例,来进行说明。
当本设备(转发设备31)和转发设备32的设备优先级相同时,转发设备31可比较本设备的MAC地址和转发设备32的MAC地址。
若本设备的MAC地址小于转发设备32的MAC地址,转发设备31可确定本设备的设备ID小于转发设备2的设备ID,并确定本设备为检测设备,转发设备32为非检测设备。若本设备的MAC地址大于转发设备32的MAC地址,则转发设备31可确定本设备的设备ID大于转发设备32的设备ID,确定本设备为非检测设备,转发设备32为检测设备。
转发设备32可利用来自转发设备31的协商报文,进行上述如转发设备31的比较过程,确定出转发设备32上为非检测设备。
1)假设,转发设备31确定本设备为检测设备,转发设备32为非检测设备。
转发设备31可针对本设备上的每个聚合口,在每个聚合口中确定出该聚合口中的第一参考端口。
这里以在一个聚合口Aggr31中确定第一参考端口为例进行说明,对于在其他聚合口中确定第一参考端口,与下文叙述的相同,这里不再赘述。具体的,转发设备31可在该聚合口的多个成员端口中,选择一个成员端口作为待选定成员端口。
在一种可选的实现方式中,转发设备31可比较该聚合口中的各成员端口的聚合优先级。
若转发设备31比较出的聚合优先级最高的成员端口只有一个,则确定该聚合优先级最高的成员端口作为待选定成员端口。
若转发设备31比较出的聚合优先级最高的成员端口有多个,则进一步比较该聚合优先级最高的多个成员端口的端口号,确定端口号最小成员端口确定为待选定成员端口。
假设,确定出的待选定成员端口为Port301。
在确定出待选定成员端口后,转发设备31可通过该待选定成员端口Port301向转发设备32发送基于LACP协议的端口确定请求报文。
在接收到该端口确定请求报文后,转发设备32可判断接收到该端口确定请求报文的本地端口Port311是否有所属的聚合口。如果没有,则将Port311设置为非选中状态,并向转发设备31返回端口确定请求报文的失败响应报文。
在本例中,Port311属于聚合口Aggr32。然后,转发设备32可检测聚合口Aggr32中是否存在已被选择为参考端口的成员端口。如果聚合口Aggr32中存在已被选择为参考端口的成员端口,则将Port311设置为非选中状态,并向转发设备31返回端口确定请求报文的失败响应报文。
假设,在本例中,Aggr32中没有已被选择为参考端口的成员端口,则转发设备32可将Port311确定为第二参考端口,并设置为选中状态,并向转发设备31返回端口确认请求消息的成功响应消息。
在完成双方的参考端口确定后,转发设备31可进行FC聚合口中的成员端口的检测。
具体的,对于Port302来说,转发设备31可获取第二参考端口Port311和与Port302相连的对端端口Port312的所属设备和所属聚合口的信息。
获取该信息的方式有多种,这里不进行具体限定。
转发设备31和转发设备32可从自身上的各个端口向对端发送携带有本端口所属设备和所属聚合口的LACP报文。
例如,对于获取Port312所属设备和所属聚合口信息来说,转发设备31可通过Port302发送基于LACP协议的端口信息通告报文(这里为了方便叙述,将该端口信息通告报文简称为LACP报文),该LACP报文里携带Port302所属设备(转发设备31)和所属聚合口(Aggr31)信息。转发设备32可从Port312接收到该LACP报文。此外,转发设备32还可通过Port312发送LACP报文,该LACP报文里携带了Port312所属设备(转发设备32)和所属聚合口信息(Aggr32)。转发设备31可从该来自转发设备32的LACP报文中获取Port312所属设备和所属聚合口信息。
对于获取第二参考端口Port311所属设备和所属聚合口信息来说,转发设备31可通过Port301发送LACP报文,该LACP报文里携带Port301所属设备(转发设备31)和所属聚合口(Aggr31)信息。转发设备32可从Port311接收到该LACP报文。此外,转发设备32还可通过Port311发送LACP报文,该LACP报文里携带了Port311所属设备(转发设备32)和所属聚合口信息(Aggr32)。转发设备31可从该来自转发设备32的LACP报文中获取Port311所属设备和所属聚合口信息。
然后,转发设备31可检测Port302相连的对端端口Port312与第一参考端口的对端端口Port311是否在同一聚合口上。
在检测时,转发设备31可先判断Port312和Port311是否在同一设备上。在本例中,Port312和Port311都在转发设备32上。此时,转发设备31可进一步判断Port312和Port311是否在同一聚合口中。在本例中,Port312和Port311均在转发设备32的同一聚合口Aggr32中,所以转发设备31可将Port302设置为选中状态,允许Port302转发数据报文。
对于转发设备32来说,当转发设备32从Port312接收到携带有Port302所属设备(转发设备31)和所属聚合口信息(Aggr31)的端口信息通告报文(这里为了方便描述,将端口信息通告报文简述为LACP报文)后,转发设备32可判断Port312是否有所属的FC聚合口,如果没有,则将Port312设置为非选中状态。在本例中,Port312属于FC聚合口Aggr32.
然后,转发设备32可进一步判断Port312所属的FC聚合口是否有所属的第二参考端口。如果没有,则将Port312所属的FC聚合口中的所有成员端口设置为非选中状态。如果有,则可进一步检测第一参考端口Port301和本地Port312的对端端口Port302是否在同一聚合口中。
在本例中,Port312所属的FC聚合口有所属的第二参考端口,则转发设备32可进一步检测第二参考端口的对端端口Port301和本地Port312的对端端口Port302是否同一聚合口中。
在检测时,转发设备32可先判断Port302和Port301是否在同一设备上。在本例中,Port302和Port301都在转发设备31上。此时,转发设备32可进一步判断Port302和Port301是否在同一聚合口中。在本例中,Port302和Port301均在转发设备32的同一聚合口Aggr31中,所以转发设备31可将Port302设置为选中状态,允许Port302转发数据报文。
需要说明的是,对于第二参考端口的对端端口Port301,转发设备32可通过第二参考端口接收到转发设备31通过Port301发送的端口信息通告报文,该端口信息通告报文里携带了Port301所属的设备信息(转发设备31)和所属的聚合口信息(Aggr31)。
对于Port303,转发设备31可依据如上文叙述的转发设备31获取Port312所属设备和所属聚合口的方式,来获取Port313所属设备和所属聚合口信息,这里不再赘述。
转发设备31可检测Port303相连的对端端口Port313与第一参考端口的对端端口Port311是否同一聚合口上。在检测时,转发设备31可先判断Port313与Port311是否在同一设备上,当在同一设备上时,再进一步判断Port313与Port311是否在同一聚合口中。
在本例中,由于Port313在转发设备3上,Port311在转发设备2上,Port313和Port311在不同的转发设备上,所以转发设备31可将Port303设置为非选中状态,不允许Port303转发数据报文。
对于转发设备33,在转发设备33从端口Port313接收到转发设备31发送的携带有转发设备31的Port303所属设备和所属聚合口信息的端口信息通告报文后,转发设备33可检测Port313是否有所属的FC聚合口。
如果没有,则将Port313设置为非选中状态。
在本例中,Port313有所属的FC聚合口,则可检测Port313所属的聚合口Aggr33上是否存在参考端口。
在本例中,聚合口Aggr33中不存在参考端口,转发设备33可直接将Aggr33中的成员端口设置为非选中状态。即将Port313和Port314设置为非选中状态。
对于Port304,处理流程与上述Port303一致,转发设备31会将Port304设置为非选中状态。这里不再赘述。
2)假设转发设备31与转发设备32进行协商后,转发设备32为检测设备,转发设备31为非检测设备;转发设备31与转发设备33协商后,转发设备33为检测设备,转发设备31为非检测设备。
对于检测设备转发设备32来说,以第一聚合口为Aggr32来说,转发设备32可按照上述确定待选定成员端口的方法,在Aggr32中确定出待选定成员端口。假设确定出的待选定成员端口为Port311。
转发设备32可通过Port311发送端口确认请求消息,在本例中,转发设备31可从本地端口Port301接收到该端口确认请求消息。转发设备31可判断Port301是否有所属的聚合口。
如果Port301没有所属的聚合口,转发设备31可将Port301设置为非选中状态,并可向转发设备32发送端口确认请求消息的失败响应消息。
在本例中,Port301属于聚合口Aggr31。然后,转发设备31可进一步判断Port301所在的聚合口Aggr31中是否存在已被选为参考端口的成员端口。
如果Port301所在的聚合口Aggr31中存在已被选为参考端口的成员端口,转发设备31可将Port301设置为非选中状态,并通过Port301向转发设备32发送端口请求消息的失败响应消息。转发设备32在接收到该端口请求消息的失败响应消息后,可在Aggr32中重新选择新的待选定成员端口。
如果Port301所在的聚合口Aggr31中不存在已被设置为选中状态的参考端口,转发设备31可将Port301设置为第二参考端口,并设置为选中状态,同时向转发设备31返回第二参考端口确定成功消息。
在本例中,假设Port301所在的聚合口Aggr31中不存在已被设置为选中状态的参考端口,转发设备31可将Port301设置为第二参考端口,并设置为选中状态,同时向转发设备31返回第二参考端口确定成功消息。
对于检测设备转发设备33来说,以第一聚合口为Aggr33来说,转发设备33可按照上述确定待选定成员端口的方法,在Aggr33中确定出待选定成员端口。假设确定出的待选定成员端口为Port313,并设置为选中状态。
转发设备33可通过Port313发送端口确认请求消息,在本例中,转发设备31可从本地端口Port303接收到该端口确认请求消息。转发设备31可判断Port303是否有所属的聚合口,在本例中,Port303属于聚合口Aggr31。
然后,转发设备31可判断Port303所在的聚合口Aggr31中是否存在已被选择为参考端口的成员端口。
如果Port303所在的聚合口Aggr31中不存在已被选择为参考端口的成员端口,转发设备31可将Port303设置为第二参考端口,并设置为选中状态,同时向转发设备33返回第二参考端口确定成功消息。
在本例中,由于转发设备31已将Port301确认为第二参考端口,并将Port301设置为选中状态,则转发设备31发现Port303所属的聚合口Aggr31中存在已被选择为参考端口的成员端口,则转发设备31可将Port303设置为非选中状态,并通过Port303向转发设备33发送端口请求消息的失败响应消息。
转发设备33在接收到该端口请求消息的失败响应消息后,可将接收到端口请求消息的失败响应消息的端口Port313设置为非选中状态,并可在Aggr33中依据上述待选定成员端口选择的方法,选择新的成员端口作为待选定成员端口,如选择Port314,并设置为选中状态。
转发设备33可通过Port314发送端口确认请求消息,在本例中,转发设备31可从本地端口Port304接收到该端口确认请求消息。转发设备31可判断Port304是否有所属的聚合口,在本例中,Port304属于聚合口Aggr31。
然后,转发设备31可判断Port304所在的聚合口Aggr31中是否存在已被选择为参考端口的成员端口。
在本例中,由于转发设备31已将Port301确认为第二参考端口,并将Port301设置为选中状态,则转发设备31发现Port304所属的聚合口Aggr31中存在已被选择为参考端口的成员端口,则转发设备31可将Port304设置为非选中状态,并通过Port304向转发设备33发送端口请求消息的失败响应消息。
转发设备33在接收到该端口请求消息的失败响应消息后,可将接收到端口请求消息的失败响应消息的端口Port314设置为非选中状态。然后可在Aggr33中重新选择新的待选定成员端口,由于Aggr33中所有成员端口均被选择过,所以转发设备33不再进行选择。
通过上述描述可知,转发设备32上的端口Port311为第一参考端口,转发设备31上的Port301为第二参考端口,转发设备33上的聚合口中的所有成员端口被设置为非选中状态,禁止数据报文的转发。
接下来,转发设备32可检测第一聚合口Aggr32中的其他成员端口。
对于转发设备32来说,对于其他成员端口Port312来说,转发设备32可通过接收到转发设备31发送的端口信息通告报文(本文为了方便描述,记为LACP报文),获取Port312相连的对端端口Port302的所属设备和所属聚合口的信息,以及获取第一参考端口的对端端口Port301所属设备和所属聚合口的信息;
然后,转发设备32可检测Port312相连的对端端口Port302与第一参考端口的对端端口Port301是否属于同一聚合口。在本例中,Port302与Port301均属于转发设备31的聚合口Aggr31,所以转发设备32可将Port312设定为选中状态,允许数据报文的转发。
对于转发设备31来说,当转发设备31接收通过Port302接收到对端发送的端口信息通告报文后,该端口信息通告报文携带了Port302相连的对端端口Port312所属设备信息和所属聚合组信息。转发设备31可检测Port302是否有所属的聚合组。如果没有,则将Port302设置为非选中状态。
在本例中,Port302有所属的聚合口,则转发设备31可进一步检测Port302所属的FC聚合口中是否有第二参考端口。
如果没有,则将Port302所属的聚合口的全部成员端口设置为非选中状态。
在本例中,Port302所属的聚合口有第二参考端口,则转发设备31可检测第二参考端口的对端端口Port311和Port302的对端端口Port312是否属于同一设备同一聚合口。在本例中,Port311和Port312属于同一聚合口,所以转发设备31可将Port302设置为选中状态。
对于Port303来说,当转发设备31接收通过Port303接收到对端发送的端口信息通告报文后,该端口信息通告报文携带了Port303相连的对端端口Port313所属设备信息和所属聚合组信息。转发设备31可检测Port303是否有所属的聚合组。如果没有,则将Port303设置为非选中状态。
在本例中,Port303有所属的聚合口,则转发设备31可进一步检测Port303所属的FC聚合口中是否有第二参考端口。
如果没有,则将Port303所属的聚合口的全部成员端口设置为非选中状态。
在本例中,Port303所属的聚合口有第二参考端口,则转发设备31可检测第二参考端口的对端端口Port311和Port303的对端端口Port313是否属于同一设备同一聚合口。在本例中,Port311属于转发设备32,Port313属于转发设备33,所以转发设备31可将Port303设置为非选中状态。
对于Port304来说,处理流程与Port303类似,转发设备31可将Port304设置为非选中状态。这里不再赘述。
至此完成实施例1的描述。
通过实施例1的描述可以看出,一方面,转发设备31可通过检测聚合口中的成员端口的对端端口是否与第二参考端口属于同一聚合口,来自动进行FC聚合链路的检测,判断与该FC聚合链路对应的聚合口中的成员端口的物理连接是否正确。由于不再需要人工检测FC聚合链路的连接是否异常,而是由转发设备自动检测,从而大大降低了人力成本,同时降低人工FC聚合链路检测出错率,提高了检测效率。
另一方面,当聚合口Aggr31中的成员端口的物理连接错误时,如聚合口Aggr31中的成员端口Port303和Port304的物理连接错误时,由于转发设备31将Port303和Port304设置为非选中状态,禁止这两个端口转发数据流量,从而使得转发设备31不会将发送给转发设备32的流量,通过成员端口Port303和Port304发送出去,不会造成流量的丢失。
此外,当聚合口Aggr31中的成员端口的物理连接错误时,如聚合口Aggr31中的成员端口Port303和Port304的物理连接错误时,对端可将与Port303和Port304相连的成员端口,如Port313和Port314也设定为非选中状态,禁止这两个端口数据流量的转发,从而使得,两端设备的双向转发的流量都不会丢失。
实施例2:
参见图4,图4是本申请一示例性实施例示出的另一种FC聚合链路的物理连接示意图。
假设FC聚合链路的物理连接方式如图4所述。转发设备41和转发设备42均支持FC协议和LACP协议。
转发设备41上的端口Port401、Port402、Port403和Port404是转发设备41上的聚合口Aggr41的成员端口。转发设备42上的端口Port411、Port412是转发设备42上的聚合口Aggr42的成员端口。转发设备42上的Port413和Port414是转发设备42上的聚合口Aggr43的成员端口。
对于转发设备41或者转发设备42确定本端为检测设备的方法、确定第一参考端口和第二参考端口的方法与实施例1中的方式相同,这里不再赘述。
假设转发设备41为检测设备,转发设备42为非检测设备。转发设备41上的Port401为第一参考端口,转发设备42上的Port411为第二参考端口。
对于Port402,转发设备41可获取Port402相连的对端端口Port412与第二参考端口Port411所属设备和所属聚合口信息,获取方法如实施例1中相同,这里不再赘述。
转发设备41可检测Port402相连的对端端口Port412与第一参考端口的对端端口Port411是否在同一聚合口上。
在检测时,转发设备41可先判断Port412和Port411是否在同一设备上。在本例中,Port412和Port411都在转发设备42上。此时,转发设备41可进一步判断Port412和Port411是否在同一聚合口中。在本例中,由于Port412和Port411均在转发设备42上的聚合口Aggr42上,所以转发设备1可将Port402设置为选中状态,允许Port402转发数据报文。
对于Port403,转发设备41可检测Port403相连的对端端口Port413与第二参考端口Port411是否在同一聚合口上。
在判断时,转发设备41可先判断Port403的对端端口Port413和第一参考端口的对端端口Port411是否在同一设备上。在本例中,Port413和Port411都在转发设备2上。此时,转发设备41可进一步判断Port413和Port411是否在同一聚合口中。在本例中,由于Port413在聚合口Aggr3中,Port411在聚合口Aggr2中,所以为了避免转发设备41将流量从连接错误的端口发出而造成流量丢失。转发设备41可将Port403设置为非选中状态,禁止报文从该端口转发。
对于Port404,处理流程与上述Port403一致,转发设备41会将Port404设置为非选中状态。
针对转发设备42:
对于Port412,转发设备42在从Port412接收到转发设备41发送的携带有Port402的所属设备信息和所属聚合口信息的LACP报文(端口信息通告报文)后,转发设备42可检测Port412是否有所属的FC聚合口。
如果没有,则将Port412设置为非选中状态。
在本例中,Port412有所属的聚合口,则转发设备42可检测Port412所属的聚合口Aggr42中是否存在第二参考端口。
如果Aggr42中不存在第二参考端口,则将Aggr42中的所有成员端口设置为非选中状态。
在本例中,聚合口Agg42存在第二参考端口Port411。然后,转发设备42可接着检测第二参考端口的对端端口Port401和Port412的对端端口Port402是否在同一聚合口中。在本例中,Port401和Port402在都在转发设备41的Aggr41的聚合口中,所以转发设备42可将Port412设置为选中状态。
对于Port413:
转发设备42在从Port413接收到转发设备41发送的携带有Port403的所属设备信息和所属聚合口信息的LACP报文后,转发设备42可检测Port413是否有所属的FC聚合口。
如果没有,则将Port412设置为非选中状态。
在本例中,Port412有所属的聚合口,转发设备42可检测Port412所属的聚合口Aggr43中是否存在第二参考端口。
在本例中,Port413所属的聚合口Agg42不包括第二参考端口(泛指非检测设备上的任一FC聚合口中的参考端口)。然后,转发设备42可将Aggr42中的所有成员端口Port413和Port414设置为非选中状态,禁止报文从这两个端口转发。
至此完成实施例2的描述。
通过实施例2的描述可以看出,一方面,转发设备41可通过检测聚合口中的成员端口的对端端口是否与第二参考端口属于同一设备的同一聚合口,来自动进行FC聚合链路的检测,判断与该FC聚合链路对应的聚合口中的成员端口的物理连接是否正确。由于不再需要人工检测FC聚合链路的连接是否异常,而是由转发设备自动检测,从而大大降低了人力成本,同时降低人工FC聚合链路检测出错率,提高了检测效率。
另一方面,当聚合口Aggr41中的成员端口的物理连接错误时,如聚合口Aggr41中的成员端口Port403和Port404的物理连接错误时,由于转发设备41将Port403和Port404设置为非选中状态,禁止这两个端口转发数据流量,从而使得转发设备41不会通过成员端口Port403和Port404发送出去,不会造成流量的丢失。
此外,此外,当聚合口Aggr41中的成员端口的物理连接错误时,如聚合口Aggr41中的成员端口Port403和Port404的物理连接错误时,对端可将与Port403和Port404相连的成员端口,如Port413和Port414也设定为非选中状态,禁止这两个端口数据流量的转发,从而使得,两端设备的双向转发的流量都不会丢失。
实施例3:
参见图5,图5是本申请一示例性实施例示出的另一种FC聚合链路的物理连接示意图。
假设FC聚合链路的物理连接方式如图5所示。转发设备51和转发设备52均支持FC协议和LACP协议。
转发设备51上的端口Port501、Port502、Port503和Port504是转发设备51上的聚合口Aggr51的成员端口。转发设备52上的端口Port511、Port512是转发设备52上的聚合口Aggr52的成员端口。转发设备52上的端口Port513和Port514均不是聚合口的成员端口。
假设转发设备51作为检测设备,转发设备52作为非检测设备。
对于确定参考端口:
转发设备51可采用上文描述的待选定成员端口确定方法在聚合口Aggr51中确定出待选定成员端口,这里不再赘述。
假设转发设备51在聚合口Aggr51中确定出的待选定成员端口为Port503。转发设备51可通过Port503发送端口确认请求消息。转发设备52可从Port513接收到该端口确认请求消息。
转发设备52可检测接收到该端口确认请求消息的端口Port513是否有所属的聚合口。
在本例中,Port513不为聚合口的成员端口,没有所属的聚合口,所以转发设备52可将Port513设置为非选中状态,并可向通过口Port513向转发设备51发送端口确认请求消息的失败响应消息。
转发设备51在从端口Port503收到端口确认请求消息的失败响应消息后,可从Aggr51中选择新的成员端口作为待选定成员端口。
若新选择出的待选定成员端口为Port504,基于Port503的流程所述,转发设备52还会将Port514设置为非选中状态,并且从该Port514发送端口确认请求消息的失败响应消息。
转发设备51还会从Port504接收到端口确认请求消息的失败响应消息。此时,转发设备51可继续在Aggr51中选择新的成员端口作为待选定成员端口,直至可从该选择出的新的待选定成员端口可以收到端口确认请求消息的成功响应消息为止,或者直至该聚合Aggr51中再没有新的待选定成员端口可选为止。
这里,假设转发设备51最终确定出的第一参考端口为Port501,并设置为选中状态,转发设备52上的第二参考端口为Port511,并设置为选中状态。
对于Port502:转发设备51可检测Port502的对端端口Port512和第一参考端口的对端端口Port511是否属于同一聚合口。在本例中,由于Port512和Port511均属于转发设备52上的聚合口Aggr52,所以转发设备51可将Port502设置为选中状态。
对于转发设备52:
在从Port512接收到转发设备51发送的端口信息通告报文后,可检测Port512是否有所属的FC聚合口。
如果没有,则将Port512设置为非选中状态。
在本例中,Port512有所属的聚合口,转发设备52可检测Port512所属的聚合口Aggr52中是否存在第二参考端口。
在本例中,Port512所属的聚合口Agg42包括第二参考端口(泛指非检测设备上的任一FC聚合口中的参考端口)。然后,转发设备52可检测Port512的对端端口Port502和第二参考端口的对端端口Port501是否属于同一聚合口。在本例中,由于Port502和Port501均属于转发设备51上的聚合口Aggr51,所以转发设备51可将Port512设置为选中状态。
至此完成实施例3的描述。
通过实施例3的描述可以看出,一方面,转发设备51可通过检测聚合口中的成员端口的对端端口是否与第二参考端口属于同一设备的同一聚合口,来自动进行FC聚合链路的检测,判断与该FC聚合链路对应的聚合口中的成员端口的物理连接是否正确。由于不再需要人工检测FC聚合链路的连接是否异常,而是由转发设备自动检测,从而大大降低了人力成本,同时降低人工FC聚合链路检测出错率,提高了检测效率。
另一方面,当聚合口Aggr51中的成员端口的物理连接错误时,如聚合口Aggr51中的成员端口Port503和Port504的物理连接错误时,由于转发设备51将Port503和Port504设置为非选中状态,禁止这两个端口转发数据流量,从而使得转发设备51不会通过成员端口Port503和Port504发送出去,不会造成流量的丢失。
此外,此外,当聚合口Aggr51中的成员端口的物理连接错误时,如聚合口Aggr51中的成员端口Port503和Port504的物理连接错误时,对端可将与Port503和Port504相连的成员端口,如Port513和Port514也设定为非选中状态,禁止这两个端口数据流量的转发,从而使得,两端设备的双向转发的流量都不会丢失。
参见图6,图6是本申请一示例性实施例示出的另一种FC聚合链路的物理连接示意图。
假设FC聚合链路的物理连接方式如图5所示。转发设备51和转发设备52均支持FC协议和LACP协议。
转发设备61上的端口Port601、Port602、Port603和Port604是转发设备61上的聚合口Aggr61的成员端口。转发设备62上的端口Port611、Port612、Port613和Port614是转发设备62上的聚合口Aggr62的成员端口。
对于转发设备61或者转发设备62确定本端为检测设备的方法、确定第一参考端口和第二参考端口的方法与实施例1中的方式相同,这里不再赘述。
假设转发设备61为检测设备,转发设备61上的Port601为第一参考端口,转发设备62上的Port611为第二参考端口。
对于Port602:转发设备61可检测Port602相连的对端端口Port612与第一参考端口的对端端口Port611是否在同一聚合口上。
在检测时,转发设备61可先判断Port612和Port611是否在同一设备上。在本例中,Port612和Port611都在转发设备62上。此时,转发设备61可进一步判断Port612和Port611是否在同一聚合口中。在本例中,由于Port612和Port611均在转发设备62上的聚合口Aggr62上,所以转发设备61可将Port602设置为选中状态,允许Port602转发数据报文。
对于Port603,处理流程与上述Port602一致,转发设备61会将Port603设置为选中状态,这里不再赘述。
对于Port604,处理流程与上述Port602一致,转发设备61会将Port604设置为选中状态,这里不再赘述。
针对转发设备62:
对于Port612:当转发设备62从Port612接收到端口信息通告报文后,转发设备612可检测Port612是否有所属的FC聚合口。
如果没有,转发设备62可将Port612设置为非选中状态。
在本例中,Port612有所属的FC聚合口,则转发设备62可判断Port612所属的聚合口Aggr62中是否存在第二参考端口。若不存在,则直接将聚合口Aggr62所有成员端口设置为非选中状态。
在本例中,Port612所属的聚合口Aggr62中存在第二参考端口Port611,则转发设备62可进一步检测Port612相连的对端端口Port602与第二参考端口的对端端口Port601是否在同一聚合口上。
在检测时,转发设备62可先判断Port602和Port601是否在同一设备上。在本例中,Port602和Port601都在转发设备62上。此时,转发设备62可进一步判断Port602和Port601是否在同一聚合口中。在本例中,由于Port602和Port601均在转发设备61上的聚合口Aggr61上,所以转发设备62可将Port612设置为选中状态,允许Port612转发数据报文。
对于Port613,处理流程与上述Port612一致,转发设备62会将Port603设置为选中状态,这里不再赘述。
对于Port614,处理流程与上述Port612一致,转发设备62会将Port604设置为选中状态,这里不再赘述。
至此完成实施例4的描述。
通过实施例4的描述可以看出,一方面,转发设备61可通过检测聚合口中的成员端口的对端端口是否与第二参考端口属于同一设备的同一聚合口,来自动判断该聚合口对应的FC聚合链路的连接是否正常。由于不再需要人工检测FC聚合链路的连接是否异常,而是由转发设备自动检测,从而大大降低了人力成本,同时降低人工检测FC聚合链路的连接是否异常的出错率,提高了检测效率。
另一方面,转发设备61不仅能确定聚合口Aggr61成员端口的物理连接正常,将该聚合口Aggr51中的物理连接正常的成员端口设置为选中状态,允许这些端口转发数据报文。
请参考图7,图7为本申请一示例性实施例示出的一种FC聚合链路的检测装置的结构示意图。该装置可应用于支持FC协议的转发设备上,该装置可包括:
协商单元701,用于与本地FC聚合口连接的对端设备协商选举FC聚合口检测设备;
第一确定单元702,用于若本设备被选举为所述FC聚合口检测设备,则从所述本地FC聚合口中选择一个成员端口为第一参考端口;
第一设置单元703,用于将所述第一参考端口、所述本地FC聚合口中满足第一条件的成员端口的端口状态设置为用于指示参与数据报文转发的选中状态,剩余的成员端口的端口状态设置为用于指示禁止参与数据报文转发的非选中状态;所述第一条件为:连接的对端端口与所述第一参考端口连接的对端端口处于同一FC聚合口。
可选的,所述协商单元701,具体用于向对端设备发送协商报文;接收对端设备发送的协商报文;比较本设备的设备优先级和接收的所述协商报文携带的对端设备的设备优先级;若所述本设备的设备优先级高,则选举本设备为FC聚合口检测设备;若所述对端设备的设备优先级高,则选举对端设备为FC聚合口检测设备;若两者相同,则比较所述本设备的设备标识和接收的所述协商报文携带的对端设备的设备标识;若所述本设备的设备标识小于所述对端设备的设备标识,则选举本设备为FC聚合口检测设备,否则,选举所述对端设备为FC聚合口检测设备。
可选的,所述第一确定单元702,具体用于从所述本地FC聚合口中选择一个成员端口,作为待选定成员端口;通过所述待选定成员端口向对端设备发送端口确认请求消息;若接收到所述端口确认请求消息的成功响应消息,则将所述待选定端口确定为第一参考端口;若接收到所述端口确认请求消息的失败响应消息,则将所述待选定成员端口设置为非选中状态,并重新在所述本地FC聚合口中选择新的成员端口作为待选定成员端口。
可选的,所述第一确定单元702,进一步用于从所述本地FC聚合口中选择聚合优先级最高的成员端口;若选择出多个优先级最高的成员端口,则在该多个优先级最高的成员端口中选择端口号最小的成员端口;将选择出的端口号最小的成员端口作为待选定成员端口。
可选的,所述装置还包括:
第二确定单元704,用于若本设备未被选举为FC聚合口检测设备,通过第一本地端口接收到被选举的FC聚合口检测设备发送的端口确认请求消息;检测所述第一本地端口是否有所属的FC聚合口;如果没有,则设置该第一本地端口为非选中状态,并向所述FC聚合口检测设备返回端口确认请求消息的失败响应消息;如果有,进一步检测该第一本地端口所属的FC聚合口是否包含被选为参考端口的成员端口;若未包含,则将该第一本地端口确定为第二参考端口,向所述FC聚合口检测设备返回端口确认请求消息的成功响应消息;若包含,则设置该第一本地端口为非选中状态,并向所述FC聚合口检测设备返回端口确认请求消息的失败响应消息。
可选的,所述装置还包括:
第二设置单元705,用于若本设备未被选举为FC聚合口检测设备,通过第二本地端口接收到被选举为FC聚合口检测设备发送的端口信息通告报文;检测该第二本地端口是否有所属的FC聚合口;如果没有,则将该第二本地端口设置为非选中状态;如果有,则检测该第二本地端口所属的FC聚合口是否包含第二参考端口;若包含,则将所述第二参考端口、所述第二本地端口所属的FC聚合口中满足第二条件的成员端口的端口状态设置为选中状态,剩余的成员端口的端口状态设置为非选中状态;所述第二条件为:连接的对端端口与所述第二参考端口连接的对端端口处于同一FC聚合口;若未包含,则将该第二本地端口所属的FC聚合口中的成员端口设置为非选中状态。
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
以上所述仅为本申请的较佳实施例而已,并不用以限制本申请,凡在本申请的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本申请保护的范围之内。

Claims (10)

1.一种光纤通道FC聚合链路的检测方法,其特征在于,所述方法应用于转发设备,所述方法包括:
与本地FC聚合口连接的对端设备协商选举FC聚合口检测设备;
若本设备被选举为所述FC聚合口检测设备,则从所述本地FC聚合口中选择一个成员端口为第一参考端口;
将所述第一参考端口、所述本地FC聚合口中满足第一条件的成员端口的端口状态设置为用于指示参与数据报文转发的选中状态,剩余的成员端口的端口状态设置为用于指示禁止参与数据报文转发的非选中状态;所述第一条件为:连接的对端端口与所述第一参考端口连接的对端端口处于同一FC聚合口;
若本设备未被选举为FC聚合口检测设备,该方法进一步包括:
通过第二本地端口接收到被选举为FC聚合口检测设备发送的端口信息通告报文;
检测该第二本地端口是否有所属的FC聚合口;
如果没有,则将该第二本地端口设置为非选中状态;
如果有,则检测该第二本地端口所属的FC聚合口是否包含第二参考端口;
若包含,则将所述第二参考端口、所述第二本地端口所属的FC聚合口中满足第二条件的成员端口的端口状态设置为选中状态,剩余的成员端口的端口状态设置为非选中状态;所述第二条件为:连接的对端端口与所述第二参考端口连接的对端端口处于同一FC聚合口;
若未包含,则将该第二本地端口所属的FC聚合口中的成员端口设置为非选中状态。
2.根据权利要求1所述的方法,其特征在于,所述与本地FC聚合口连接的对端设备协商选举FC聚合口检测设备,包括:
向对端设备发送协商报文;
接收对端设备发送的协商报文;
比较本设备的设备优先级和接收的所述协商报文携带的对端设备的设备优先级;
若所述本设备的设备优先级高,则选举所述本设备为FC聚合口检测设备;
若所述对端设备的设备优先级高,则选举所述对端设备为FC聚合口检测设备;
若两者相同,则比较所述本设备的设备标识和接收的所述协商报文携带的对端设备的设备标识;若所述本设备的设备标识小于所述对端设备的设备标识,则选举本设备为FC聚合口检测设备,否则,选举所述对端设备为FC聚合口检测设备。
3.根据权利要求1所述的方法,其特征在于,所述从所述本地FC聚合口中选择一个成员端口为第一参考端口,包括:
从所述本地FC聚合口中选择一个成员端口,作为待选定成员端口;
通过所述待选定成员端口向对端设备发送端口确认请求消息;
若接收到所述端口确认请求消息的成功响应消息,则将所述待选定成员端口确定为第一参考端口;
若接收到所述端口确认请求消息的失败响应消息,则将所述待选定成员端口设置为非选中状态,并重新在所述本地FC聚合口中选择新的成员端口作为待选定成员端口。
4.根据权利要求3所述的方法,其特征在于,所述从所述本地FC聚合口中选择一个成员端口,作为待选定成员端口,包括:
从所述本地FC聚合口中选择聚合优先级最高的成员端口;
若选择出多个优先级最高的成员端口,则在该多个优先级最高的成员端口中选择端口号最小的成员端口;
将选择出的端口号最小的成员端口作为待选定成员端口。
5.根据权利要求3所述的方法,其特征在于,若本设备未被选举为FC聚合口检测设备,该方法进一步包括:
通过第一本地端口接收到被选举的FC聚合口检测设备发送的端口确认请求消息;
检测所述第一本地端口是否有所属的FC聚合口;
如果没有,则设置该第一本地端口为非选中状态,并向所述FC聚合口检测设备返回端口确认请求消息的失败响应消息;
如果有,进一步检测该第一本地端口所属的FC聚合口是否包含被选为参考端口的成员端口;
若未包含,则将该第一本地端口确定为第二参考端口,向所述FC聚合口检测设备返回端口确认请求消息的成功响应消息;
若包含,则设置该第一本地端口为非选中状态,并向所述FC聚合口检测设备返回端口确认请求消息的失败响应消息。
6.一种光纤通道FC聚合链路的检测装置,其特征在于,所述装置应用于转发设备,所述装置包括:
协商单元,用于与本地FC聚合口连接的对端设备协商选举FC聚合口检测设备;
第一确定单元,用于若本设备被选举为所述FC聚合口检测设备,则从所述本地FC聚合口中选择一个成员端口为第一参考端口;
第一设置单元,用于将所述第一参考端口、所述本地FC聚合口中满足第一条件的成员端口的端口状态设置为用于指示参与数据报文转发的选中状态,剩余的成员端口的端口状态设置为用于指示禁止参与数据报文转发的非选中状态;所述第一条件为:连接的对端端口与所述第一参考端口连接的对端端口处于同一FC聚合口;
所述装置还包括:
第二设置单元,用于若本设备未被选举为FC聚合口检测设备,通过第二本地端口接收到被选举为FC聚合口检测设备发送的端口信息通告报文;检测该第二本地端口是否有所属的FC聚合口;如果没有,则将该第二本地端口设置为非选中状态;如果有,则检测该第二本地端口所属的FC聚合口是否包含第二参考端口;若包含,则将所述第二参考端口、所述第二本地端口所属的FC聚合口中满足第二条件的成员端口的端口状态设置为选中状态,剩余的成员端口的端口状态设置为非选中状态;所述第二条件为:连接的对端端口与所述第二参考端口连接的对端端口处于同一FC聚合口;若未包含,则将该第二本地端口所属的FC聚合口中的成员端口设置为非选中状态。
7.根据权利要求6所述的装置,其特征在于,所述协商单元,具体用于向对端设备发送协商报文;接收对端设备发送的协商报文;比较本设备的设备优先级和接收的所述协商报文携带的对端设备的设备优先级;若所述本设备的设备优先级高,则选举本设备为FC聚合口检测设备;若所述对端设备的设备优先级高,则选举对端设备为FC聚合口检测设备;若两者相同,则比较所述本设备的设备标识和接收的所述协商报文携带的对端设备的设备标识;若所述本设备的设备标识小于所述对端设备的设备标识,则选举本设备为FC聚合口检测设备,否则,选举所述对端设备为FC聚合口检测设备。
8.根据权利要求6所述的装置,其特征在于,所述第一确定单元,具体用于从所述本地FC聚合口中选择一个成员端口,作为待选定成员端口;通过所述待选定成员端口向对端设备发送端口确认请求消息;若接收到所述端口确认请求消息的成功响应消息,则将所述待选定成员端口确定为第一参考端口;若接收到所述端口确认请求消息的失败响应消息,则将所述待选定成员端口设置为非选中状态,并重新在所述本地FC聚合口中选择新的成员端口作为待选定成员端口。
9.根据权利要求8所述的装置,其特征在于,所述第一确定单元,进一步用于从所述本地FC聚合口中选择聚合优先级最高的成员端口;若选择出多个优先级最高的成员端口,则在该多个优先级最高的成员端口中选择端口号最小的成员端口;将选择出的端口号最小的成员端口作为待选定成员端口。
10.根据权利要求8所述的装置,其特征在于,所述装置还包括:
第二确定单元,用于若本设备未被选举为FC聚合口检测设备,通过第一本地端口接收到被选举的FC聚合口检测设备发送的端口确认请求消息;检测所述第一本地端口是否有所属的FC聚合口;如果没有,则设置该第一本地端口为非选中状态,并向所述FC聚合口检测设备返回端口确认请求消息的失败响应消息;如果有,进一步检测该第一本地端口所属的FC聚合口是否包含被选为参考端口的成员端口;若未包含,则将该第一本地端口确定为第二参考端口,向所述FC聚合口检测设备返回端口确认请求消息的成功响应消息;若包含,则设置该第一本地端口为非选中状态,并向所述FC聚合口检测设备返回端口确认请求消息的失败响应消息。
CN201711043315.4A 2017-10-31 2017-10-31 一种fc聚合链路的检测方法及装置 Active CN107707299B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201711043315.4A CN107707299B (zh) 2017-10-31 2017-10-31 一种fc聚合链路的检测方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201711043315.4A CN107707299B (zh) 2017-10-31 2017-10-31 一种fc聚合链路的检测方法及装置

Publications (2)

Publication Number Publication Date
CN107707299A CN107707299A (zh) 2018-02-16
CN107707299B true CN107707299B (zh) 2020-07-07

Family

ID=61176448

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201711043315.4A Active CN107707299B (zh) 2017-10-31 2017-10-31 一种fc聚合链路的检测方法及装置

Country Status (1)

Country Link
CN (1) CN107707299B (zh)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108632099B (zh) * 2018-05-18 2021-09-21 新华三技术有限公司 一种链路聚合的故障检测方法及装置
CN108848029A (zh) * 2018-06-12 2018-11-20 迈普通信技术股份有限公司 链路汇聚方法、装置及可读存储介质
CN113794634B (zh) * 2021-08-02 2023-06-13 新华三信息安全技术有限公司 一种负载分担方法及设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101577717A (zh) * 2009-06-18 2009-11-11 杭州华三通信技术有限公司 链路协商中的成员口校验方法和系统
CN101582892A (zh) * 2009-06-19 2009-11-18 杭州华三通信技术有限公司 基于光纤通道聚合口的链路协商方法和装置
CN103905326A (zh) * 2012-12-28 2014-07-02 迈普通信技术股份有限公司 以太网链路聚合的报文转发控制方法及网络设备
CN104320333A (zh) * 2014-10-31 2015-01-28 杭州华三通信技术有限公司 一种检测不对称静态聚合的方法及设备

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101217424B (zh) * 2008-01-21 2010-12-29 中兴通讯股份有限公司 聚合链路故障的检测方法和装置
CN101247280B (zh) * 2008-03-12 2011-04-20 中兴通讯股份有限公司 一种链路聚合配置失误的检测方法
CN101420332B (zh) * 2008-12-12 2010-12-08 杭州华三通信技术有限公司 一种成员端口配置情况的通知方法和网络设备
US9264383B1 (en) * 2013-09-30 2016-02-16 Qlogic, Corporation Systems and methods for quality of service for link aggregation groups
CN106302223B (zh) * 2016-09-20 2019-08-06 杭州迪普科技股份有限公司 一种聚合组流量分流的方法和装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101577717A (zh) * 2009-06-18 2009-11-11 杭州华三通信技术有限公司 链路协商中的成员口校验方法和系统
CN101582892A (zh) * 2009-06-19 2009-11-18 杭州华三通信技术有限公司 基于光纤通道聚合口的链路协商方法和装置
CN103905326A (zh) * 2012-12-28 2014-07-02 迈普通信技术股份有限公司 以太网链路聚合的报文转发控制方法及网络设备
CN104320333A (zh) * 2014-10-31 2015-01-28 杭州华三通信技术有限公司 一种检测不对称静态聚合的方法及设备

Also Published As

Publication number Publication date
CN107707299A (zh) 2018-02-16

Similar Documents

Publication Publication Date Title
US8411690B2 (en) Preventing data traffic connectivity between endpoints of a network segment
US8213320B2 (en) Method and switching device for stack port configuration
CN107707299B (zh) 一种fc聚合链路的检测方法及装置
EP1817855B1 (en) System and methods for detecting network failure
EP2187565B1 (en) Detecting and processing method and device of node fault within a peer-to-peer network
CN108123824B (zh) 一种网络故障检测方法及装置
US20140075011A1 (en) Providing a mobile access point
US20140254347A1 (en) Ethernet Ring Protection Switching Method, Node, and System
US20170111296A1 (en) Handling dynamic port/lag changes without breaking communication in an extended bridge
US10944667B2 (en) Loop check packets
US9231856B2 (en) Method for detecting message loop, routing agent apparatus and networking system
US8054749B2 (en) Method and apparatus for checking maintenance association integrity and method and apparatus for adding maintenance end point
CN103428045A (zh) 连通性检测方法、装置和系统
CN106658576B (zh) 一种数据处理方法、装置以及网络系统
CN111682989A (zh) 一种端口链路状态的检测方法、设备及系统
EP2618523A2 (en) Method, network device and system for ethernet ring protection switching
CN111884875A (zh) 一种离线设备确定方法及装置
WO2017000096A1 (zh) 一种链路恢复方法和网络设备
CN113472601A (zh) 连接状态检测方法以及相关设备
CN101808043B (zh) 端口汇聚trunk成员业务报文转发状态的检测方法及装置
US20130100808A1 (en) Managing Utilization Of A Logical Communication Path In A Multi-Path Channel
WO2022057514A1 (zh) 链路故障检测方法、装置及计算机可读存储介质
US11246043B2 (en) Wireless communication device, method, and recording medium
CN110661628B (zh) 一种实现数据组播的方法、装置和系统
CN112468363B (zh) 一种链路连通性检测的方法及装置

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant