CN103051482B - 基于fc交换机的一种端口隔离及恢复的实现方法 - Google Patents
基于fc交换机的一种端口隔离及恢复的实现方法 Download PDFInfo
- Publication number
- CN103051482B CN103051482B CN201210591198.6A CN201210591198A CN103051482B CN 103051482 B CN103051482 B CN 103051482B CN 201210591198 A CN201210591198 A CN 201210591198A CN 103051482 B CN103051482 B CN 103051482B
- Authority
- CN
- China
- Prior art keywords
- port
- state
- primitive
- mac
- credit
- 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
Links
Landscapes
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明提出一种基于FC交换机的一种端口隔离及恢复的实现方法,解决了由于交换机端口发送信用丢失而频繁发生链路复位的问题。该方法对交换机各个端口进行信用管理,当信用为0并且持续时间超过设置的信用丢失时间(E_D_TOV)时,产生链路复位,将该端口强制隔离,使该端口MAC一直处于下线状态(OLS1)。同时将该事件上报网络管理器,当网络管理器检测到发生故障的节点机故障消除时,将对应的交换机端口恢复,使其重新上线。本发明实时性强,安全性高,具有故障恢复功能。
Description
技术领域
本发明属于计算机通信技术,涉及FC交换机的一种故障端口隔离及恢复的实现方法。
背景技术
FC网络具备高带宽、低延迟和高可靠等特性,非常适合在对数据传输实时性有较高要求的分布式实时系统中使用。在FC通信网络中,为了保证接收方缓冲区不会溢出,采用流量控制技术来匹配发送方发送速率和接收方接收速率。
FC通信网络流量控制在FC-2层实现,用来协调节点机之间、节点机与交换机、以及交换机内部端口之间的帧流量,防止接收方缓冲区溢出。流量控制中使用的方法有两种:端到端信用(EE_Credit)管理和缓冲到缓冲信用(BB_Credit)管理。在当前的民用和军用航空电子FC网络中,大多支持3类服务,采用缓冲到缓冲的信用管理机制实现流量控制。
在实时网络系统中,交换机作为整个网络的核心部件,负责为网络中所有节点机提供数据交换。但是如果节点机发生故障,在接收到交换机转发的数据帧后不向对应的交换机端口回复R_RDY原语,导致交换机对应端口信用丢失。FC标准规定,当端口没有信用超过设置时间后,该端口将会发生链路复位,然后再重新同步链路。如果该节点机故障一直存在,一直不能向与其连接的交换机端口回复R_RDY原语,会导致该节点机和与其连接的交换机端口频繁发生链路复位。同时由于该端口长时间无信用,会导致目的端口为该端口的数据不能转发到该端口,并且会最终反压到发送端口的输入缓冲区,如果与交换机发送端口相连的节点机一直发送数据,会导致它们之间发生链路复位,这样会多个该故障端口和已该故障端口为目的端口的发送端口都发生链路复位,从而引起整个交换网络堵塞,会大幅度降低交换机的交换性能。
发明内容
本发明提出一种基于FC交换机的一种端口隔离及恢复的实现方法,解决了由于交换机端口发送信用丢失而频繁发生链路复位的问题。该方法将交换机发送信用丢失的端口强制隔离,确保交换机其它端口正常工作,实现线速无阻交换当节点机故障消除时,将对应端口进行恢复。
本发明的解决方案如下:
对交换机各个端口进行信用管理,当信用为0并且持续时间超过设置的信用丢失时间(E_D_TOV)时,产生链路复位,将该端口强制隔离,使该端口MAC一直处于下线状态(OLS1)。同时将该事件上报网络管理器,当网络管理器检测到发生故障的节点机故障消除时,将对应的交换机端口恢复,使其重新上线。
具体方案如下:
基于FC交换机的一种端口隔离及恢复的实现方法,包括以下环节:
1)交换机内部各个端口独立进行端口信用管理,如果某端口信用丢失,则向故障隔离单元发送一个“端口信用丢失”信号;
2)端口隔离单元根据“端口信用丢失”信号,控制FC MAC发生链路复位,等链路重新到达AC状态(激活状态)后,再将该端口强制隔离,使FC MAC一直处于离线状态;同时产生一个“链路复位中断”上报网络管理器;
3)网络管理器响应中断,并读取交换机内部中断状态寄存器确定是哪个端口发生了链路复位,并且可以根据节点机故障情况决定是否恢复该端口,即,当检测该节点机故障消除时,使该端口的FC MAC重新到达AC状态(激活状态);
步骤1)所述的端口信用管理的实现过程具体如下:
1.1)设置发送信用计数器:当交换机端口的发送端每发送一个帧,该端口的发送信用计数减1,当该端口的接收端收到与之连接的节点机发送的R_RDY(接收准备好)原语后,发送信用加1;
1.2)交换机端口的发送端在发送每一帧前,首先检测该端口的发送信用,如果当前的发送信用不为0,则允许该端口发送数据帧,同时,信用丢失时间计数器清零;如果发送信用为0,则该端口不能发送数据帧,同时,信用丢失时间计数器以100us的时钟精度逐步递增;
1.3)当信用丢失时间计数器的值大于设定值(E_D_TOV)时,产生一个“信用丢失”信号;
步骤2)所述的FC MAC发生链路复位的实现过程具体如下:
2.1)在正常通信时,交换机端口MAC(简称MAC A)和与之连接的节点机端口MAC(简称MAC B)均处于AC状态(激活状态);
2.2)当MAC A收到link_to_reset(链路复位信号)后,进入LR1状态(LR原语发送状态),此时发送LR(链路复位)原语;MAC B接收到LR(链路复位)原语后,进入LR2状态(LR原语接收状态),发送LRR(链路复位应答)原语;
2.3)当MAC A收到LRR(链路复位应答)原语后,进入LR3状态(LRR原语接收状态),此时发送IDLE(空闲)原语;MAC B接收到IDLE(空闲)原语后,进入AC状态(激活状态),发送IDLE(空闲)原语;
2.4)当MAC A收到IDLE(空闲)原语后,进入AC状态(激活状态),此时发送IDLE(空闲)原语,此时MAC A和MAC B均处于AC状态,完成链路复位过程;
步骤2)所述的端口强制隔离的实现过程具体如下:
当完成链路复位后,内部产生一个强制离线信号(link_to_off),当MAC A收到link_to_off后,进入OLS1状态(OLS原语发送状态),并且固定在OLS1状态(OLS原语发送状态),不再发生跳变,此时发送OLS(离线)原语;MAC B接收到OLS(离线)原语后,进入OLS2状态(OLS原语接收状态),发送LR(链路复位)原语,实现端口隔离;
步骤3)所述的端口恢复的实现过程具体如下:
3.1)当需要使该端口重新上线时,通过软件操作将link_to_off清零;当MACA接收到LR(链路复位)原语后,进入LR2状态(LR原语接收状态),发送LRR(链路复位应答)原语;MAC B接收到LRR(链路复位应答)原语后,进入LR3状态(LRR原语接收状态),发送IDLE(空闲)原语;
3.2)当MAC A收到IDLE(空闲)原语后,进入AC状态(激活状态),此时发送IDLE(空闲)原语,此时MAC A和MAC B均处于AC状态(激活状态),实现端口恢复。
本发明的优点是:
实时性强:采用硬件逻辑对故障端口进行检测,一旦发生故障,可以立即将故障端口从整个网络中剔除。
安全性高:将故障端口隔离后,消除故障端口带来的影响,保证交换机其它正常端口能够线速无阻的交换。
具有故障恢复功能:当网络管理器检测到发生故障的节点机故障消除后,通过软件进行配置,可使对应的交换机隔离端口重新上线,恢复正常工作
附图说明
图1是端口隔离及恢复实现方案示意图;
图2是端口信用管理实现步骤示意图;
图3是FC MAC状态迁移示意图。
具体实施方式
本发明的实现方式分为端口隔离及恢复实现方案、端口信用管理、FC MAC状态迁移三个部分。下面分别对三个部分进行具体介绍。
1.端口隔离及恢复实现方案:
如图1所示,当交换机的某个或某些Egress端口(端口输出端)信用长时间为零时,对端口进行隔离,其过程如下:
1)交换机内部各个端口独立进行信用管理,如果某端口信用丢失(信用为0且为0的时间超过了E_D_TOV设置),向故障隔离单元一个“端口信用丢失”信号。
2)端口隔离单元根据“端口信用丢失”信号,控制FC MAC发生链路复位(link_to_reset),等链路重新到达AC状态后(作为链路复位和端口隔离的区分点),再将该端口强制隔离,使FC MAC一直处于离线状态(OLS)。同时产生一个“链路复位中断”上报网络管理器。
3)网络管理器响应中断,并读取交换机内部中断状态寄存器确定是哪个端口发生了链路复位,并且可以根据节点机故障情况决定是否恢复该端口,当检测该节点机故障消除时,使该端口的FC MAC重新到达AC状态。
2.端口信用管理:
如图2所示,端口信用管理负责维护交换机的信用,根据信用判断是否产生“信用丢失信号”,其实现步骤如下:
1)交换机输出端口在发送每一帧前,需要检测该端口发送信用,如果发送信用不为0,则该端口可以发送数据帧,如果发送信用为0,则该端口不能发送数据帧。
2)交换机输出端口每发送一个帧,发送信用计数减1,当该端口收到与之连接的节点机发送的R_RDY原语后,发送信用加1。
3)当该端口信用为0时,启动信用丢失时间计数器以100us的时钟精度逐步递增,当该端口信用不为0时,信用丢失时间计数器清零。
4)当信用丢失时间寄存器大于设置时间(E_D_TOV)时,产生一个“信用丢失”信号。
3.FC MAC状态迁移:
对于交换机中发生信用丢失的端口,其发生链路复位、端口隔离和端口恢复,都是通过对FC MAC的控制实现,在本节内容中,主要描述链路服务、端口隔离和端口恢复时FC MAC的状态迁移过程,完整的FC MAC迁移图可以参考FC-FS-2标准。交换机发送端口FC MAC状态迁移如图3所示,其中,步骤1)到4)为链路复位过程,步骤5)为端口隔离过程,步骤6)到7)为端口恢复过程。
1)在正常通信时,交换机发送端口MAC(简称MAC A)和与之连接的节点机的接收端(简称MAC B)均处于AC状态。
2)当MAC A收到link_to_reset后,进入LR1状态,此时发送LR原语;MAC B接收到LR原语后,进入LR2状态,发送LRR原语。
3)当MAC A收到LRR原语后,进入LR3状态,此时发送IDLE原语;MAC B接收到IDLE原语后,进入AC状态,发送IDLE原语。
4)当MAC A收到IDLE语言后,进入AC状态,此时发送IDLE原语,此时MAC A和MAC B均处于AC状态,完成链路复位过程。
5)当完成链路复位后,内部产生一个强制离线信号(link_to_off),当MAC A收到link_to_off后,进入OLS1状态,并且固定在OLS1状态,不再发生跳变,此时发送OLS原语;MAC B接收到OLS原语后,进入OLS2状态,发送LR原语。
6)当需要使该端口重新上线时,通过软件操作将link_to_off清零。当MACA接收到LR原语后,进入LR2状态,发送LRR原语;
MAC B接收到LRR原语后,进入LR3状态,发送IDLE原语。
7)当MAC A收到IDLE语言后,进入AC状态,此时发送IDLE原语,此时MAC A和MAC B均处于AC状态,完成重新同步过程。
Claims (1)
1.基于FC交换机的一种端口隔离及恢复的实现方法,包括以下环节:
1)交换机内部各个端口独立进行端口信用管理,如果某端口信用丢失,则向故障隔离单元发送一个“端口信用丢失”信号;
2)端口隔离单元根据“端口信用丢失”信号,控制FC MAC发生链路复位,等链路重新到达AC状态(激活状态)后,再将该端口强制隔离,使FC MAC一直处于离线状态;同时产生一个“链路复位中断”上报网络管理器;
3)网络管理器响应中断,并读取交换机内部中断状态寄存器确定是哪个端口发生了链路复位,并且可以根据节点机故障情况决定是否恢复该端口,即,当检测该节点机故障消除时,使该端口的FC MAC重新到达AC状态(激活状态);
步骤1)所述的端口信用管理的实现过程具体如下:
1.1)设置发送信用计数器:当交换机端口的发送端每发送一个帧,该端口的发送信用计数减1,当该端口的接收端收到与之连接的节点机发送的R_RDY(接收准备好)原语后,发送信用加1;
1.2)交换机端口的发送端在发送每一帧前,首先检测该端口的发送信用,如果当前的发送信用不为0,则允许该端口发送数据帧,同时,信用丢失时间计数器清零;如果发送信用为0,则该端口不能发送数据帧,同时,信用丢失时间计数器以100us的时钟精度逐步递增;
1.3)当信用丢失时间计数器的值大于设定值(E_D_TOV)时,产生一个“信用丢失”信号;
步骤2)所述的FC MAC发生链路复位的实现过程具体如下:
2.1)在正常通信时,交换机端口MAC(简称MAC A)和与之连接的节点机端口MAC(简称MAC B)均处于AC状态(激活状态);
2.2)当MAC A收到link_to_reset(链路复位信号)后,进入LR1 状态(LR原语发送状态),此时发送LR(链路复位)原语;MAC B接收到LR(链路复位)原语后,进入LR2状态(LR原语接收状态),发送LRR(链路复位应答)原语;
2.3)当MAC A收到LRR(链路复位应答)原语后,进入LR3状态(LRR原语接收状态),此时发送IDLE(空闲)原语;MAC B接收到IDLE(空闲)原语后,进入AC状态(激活状态),发送IDLE(空闲)原语;
2.4)当MAC A收到IDLE(空闲)原语后,进入AC状态(激活状态),此时发送IDLE(空闲)原语,此时MAC A和MAC B均处于AC状态,完成链路复位过程;
步骤2)所述的端口强制隔离的实现过程具体如下:
当完成链路复位后,内部产生一个强制离线信号(link_to_off),当MAC A收到link_to_off后,进入OLS1状态(OLS原语发送状态),并且固定在OLS1状态(OLS原语发送状态),不再发生跳变,此时发送OLS(离线)原语;MAC B接收到OLS(离线)原语后,进入OLS2状态(OLS原语接收状态),发送LR(链路复位)原语,实现端口隔离;
步骤3)所述的端口恢复的实现过程具体如下:
3.1)当需要使该端口重新上线时,通过软件操作将link_to_off清零;当MAC A接收到LR(链路复位)原语后,进入LR2状态(LR原语接收状态),发送LRR(链路复位应答)原语;MAC B接收到LRR(链路复位应答)原语后,进入LR3状态(LRR原语接收状态),发送IDLE(空闲)原语;
3.2)当MAC A收到IDLE(空闲)原语后,进入AC状态(激活状态),此时发送IDLE(空闲)原语,此时MAC A和MAC B均处于AC状态(激活状态),实现端口恢复。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210591198.6A CN103051482B (zh) | 2012-12-28 | 2012-12-28 | 基于fc交换机的一种端口隔离及恢复的实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201210591198.6A CN103051482B (zh) | 2012-12-28 | 2012-12-28 | 基于fc交换机的一种端口隔离及恢复的实现方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103051482A CN103051482A (zh) | 2013-04-17 |
CN103051482B true CN103051482B (zh) | 2015-09-30 |
Family
ID=48063987
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201210591198.6A Active CN103051482B (zh) | 2012-12-28 | 2012-12-28 | 基于fc交换机的一种端口隔离及恢复的实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103051482B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108462528B (zh) * | 2016-12-12 | 2020-12-29 | 中国航空工业集团公司西安航空计算技术研究所 | Fc链路超时处理电路 |
CN111010354B (zh) * | 2019-12-13 | 2022-03-08 | 苏州浪潮智能科技有限公司 | 一种光模块准入判别方法、装置、主干网交换机及介质 |
US11190588B2 (en) * | 2020-04-28 | 2021-11-30 | International Business Machines Corporation | Host initiated link reset in a storage area network |
CN113162683B (zh) * | 2021-03-04 | 2024-04-09 | 中国航空工业集团公司西安航空计算技术研究所 | 一种机载fc通信链路故障检测方法 |
US20230078787A1 (en) * | 2021-09-16 | 2023-03-16 | International Business Machines Corporation | Executing a host initiated link reset in a storage area network |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN1272992A (zh) * | 1998-06-16 | 2000-11-08 | 阿尔卡塔尔公司 | 具有基于信用的缓冲器控制的数字通信量交换 |
US6570850B1 (en) * | 1998-04-23 | 2003-05-27 | Giganet, Inc. | System and method for regulating message flow in a digital data network |
CN1538675A (zh) * | 2003-04-15 | 2004-10-20 | 华为技术有限公司 | 对以太网交换机的用户端口之间进行隔离的方法 |
CN101689171A (zh) * | 2007-07-06 | 2010-03-31 | 惠普开发有限公司 | 网络中的端到端流控制 |
CN101917231A (zh) * | 2010-08-27 | 2010-12-15 | 电子科技大学 | 一种光纤通道交换机的数据缓存方法 |
-
2012
- 2012-12-28 CN CN201210591198.6A patent/CN103051482B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US6570850B1 (en) * | 1998-04-23 | 2003-05-27 | Giganet, Inc. | System and method for regulating message flow in a digital data network |
CN1272992A (zh) * | 1998-06-16 | 2000-11-08 | 阿尔卡塔尔公司 | 具有基于信用的缓冲器控制的数字通信量交换 |
CN1538675A (zh) * | 2003-04-15 | 2004-10-20 | 华为技术有限公司 | 对以太网交换机的用户端口之间进行隔离的方法 |
CN101689171A (zh) * | 2007-07-06 | 2010-03-31 | 惠普开发有限公司 | 网络中的端到端流控制 |
CN101917231A (zh) * | 2010-08-27 | 2010-12-15 | 电子科技大学 | 一种光纤通道交换机的数据缓存方法 |
Non-Patent Citations (1)
Title |
---|
多用途光纤通道交换机的设计与实现;谢军等;《计算机研究与发展》;20111231(第S1期);第335-339页 * |
Also Published As
Publication number | Publication date |
---|---|
CN103051482A (zh) | 2013-04-17 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105991384B (zh) | 兼容时间触发以太网与1553b的航天以太网通信方法 | |
CN103051482B (zh) | 基于fc交换机的一种端口隔离及恢复的实现方法 | |
EP2798782B1 (en) | Technique for handling a status change in an interconnect node | |
CN107508640B (zh) | 基于光纤通道技术的双环冗余自愈光纤网络构建方法 | |
US10708081B2 (en) | Failure protection method based on ring protection link, device, and system | |
CN103442035B (zh) | 一种空管自动化系统的双网热备冗余实现方法 | |
CN104301146A (zh) | 软件定义网络中的链路切换方法和装置 | |
CN104753828A (zh) | 一种sdn控制器、数据中心系统和路由连接方法 | |
EP3249853B1 (en) | Ethernet ring protection switching method and node | |
CN105790825B (zh) | 一种分布式保护中控制器热备份的方法和装置 | |
CN101547131B (zh) | Eaps环网单通故障定位和保护方法 | |
CN104767664A (zh) | 一种环形通信网络增减从节点的方法、装置及系统 | |
CN103414591B (zh) | 一种端口故障恢复时的快速收敛方法和系统 | |
JP2015139110A (ja) | 中継システムおよびスイッチ装置 | |
US9264303B2 (en) | Protection switching method and system provision by a distributed protection group | |
CN103179087A (zh) | 应用层到TCP层异步Socket数据传输方法及系统 | |
CN105591894B (zh) | 一种分布式系统的单板提高板间数据通道可靠性的方法和装置 | |
CN103944781A (zh) | 一种防止堆叠系统单边分裂的方法及系统 | |
CN101483527B (zh) | 一种双引擎交换机设备及其引擎切换方法 | |
CN103973537B (zh) | 一种具有故障保护功能的环网及用于环网的故障保护方法 | |
CN103780444A (zh) | EoC网络中的环路自动检测装置及方法 | |
CN107786356A (zh) | 一种主备倒换与负荷分担的网络设备系统 | |
CN110190994B (zh) | 一种基于报文缓冲的无损流量串接管理方法 | |
CN104883276A (zh) | 基于分布式架构的oam迁移方法及系统 | |
US20230198894A1 (en) | Communication system, communication path monitoring method, communication device, and program |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant |