CN109412683A - 一种在fc网络上实现冗余传输的方法 - Google Patents
一种在fc网络上实现冗余传输的方法 Download PDFInfo
- Publication number
- CN109412683A CN109412683A CN201811154678.XA CN201811154678A CN109412683A CN 109412683 A CN109412683 A CN 109412683A CN 201811154678 A CN201811154678 A CN 201811154678A CN 109412683 A CN109412683 A CN 109412683A
- Authority
- CN
- China
- Prior art keywords
- frame
- port
- sending
- data
- transmission
- 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.)
- Pending
Links
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/03—Arrangements for fault recovery
- H04B10/032—Arrangements for fault recovery using working and protection systems
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/03—Arrangements for fault recovery
- H04B10/038—Arrangements for fault recovery using bypasses
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04B—TRANSMISSION
- H04B10/00—Transmission systems employing electromagnetic waves other than radio-waves, e.g. infrared, visible or ultraviolet light, or employing corpuscular radiation, e.g. quantum communication
- H04B10/07—Arrangements for monitoring or testing transmission systems; Arrangements for fault measurement of transmission systems
- H04B10/075—Arrangements for monitoring or testing transmission systems; Arrangements for fault measurement of transmission systems using an in-service signal
- H04B10/079—Arrangements for monitoring or testing transmission systems; Arrangements for fault measurement of transmission systems using an in-service signal using measurements of the data signal
- H04B10/0795—Performance monitoring; Measurement of transmission parameters
Landscapes
- Physics & Mathematics (AREA)
- Electromagnetism (AREA)
- Engineering & Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- Signal Processing (AREA)
- Communication Control (AREA)
Abstract
本发明公开了一种在FC网络上实现冗余传输的方法,涉及FC网络和冗余传输领域;包括:发送端HBA卡FC接口层发送模块根据配置信息进行冗余模式选择,并且根据底层链路信息进行发送端口的选择;使能相应端口根据冗余模式选择的结果和发送端口选择的结果进行数据发送,发送数据的同时根据设计好的规则进行帧头字段信息的填充;接收端HBA卡FC接口层接收模块进行数据的接收和检验,并且利用帧头的部分字段信息鉴别非重复帧和重复帧,冗余模式下将正确且非重复的FC帧送往内存中;非冗余模式下将正确的FC帧送往内存中。本发明解决了现有技术中冷冗余传输技术中切换延时和数据丢失的问题以及热冗余传输技术中消耗大量软件资源的问题。
Description
技术领域
本发明涉及FC网络传输领域,尤其是一种在FC网络上实现冗余传输的方法。
背景技术
光纤通道(Fibre Channel,FC)协议是由我们熟悉的美国标准化委员会(American National Standards Institute,ANSI)提出的,具有这样优点特征:高传输速率、确定性低延迟、低误码率、抗干扰能力强、传输距离远。FC-AE和FC-AV这两个协议簇是目前世界研究的中心点。FC-AE-1553、FC-AE-ASM则是 FC-AE协议簇中应用最广泛的两种协议。目前国外DDC、LeCory等公司在这些协议的基础上的推出较为成熟的产品及解决方案。国内各大研究单位,比如大学和相关研究所基于此协议的基础上也有一些较为具体的实际方案与应用场景。
随着社会的进步和发展,人们对数据稳定性和可靠性的要求越来越高,同时因为现在通信技术的高要求,以及战斗机,军舰等对数据准确性和实时性要求的高标准,数据通道的冗余机制也是越来越受重视,同时在故障时进行冗余通道切换时,最大限度的保证数据的不丢失和连续性也是近年来相关行业的研究重点。目前的常见的冗余传输技术主要分为冷冗余技术和热冗余技术。冷冗余传输技术中,两条传输链路,一条是主传输链路,另一条是作为备用的从传输链路,当主链路故障时切换都从链路,切换过程中会出现切换延时以及因为链路切换造成的数据丢失。热冗余传输技术中。两条传输链路共同工作互为备份,不会出现切换延时和数据丢失,但是现有热冗余技术都实现依靠软件的控制,消耗了大量的软件资源。
发明内容
本发明的目的在于:为解决现有技术中冷冗余传输技术中切换延时和数据丢失的问题以及热冗余传输技术中消耗大量软件资源的问题,本发明提供一种在 FC网络上实现冗余传输的方法。
本发明采用的技术方案如下:
一种在FC网络上实现冗余传输的方法,包括如下步骤:
步骤1:在PC上构建驱动和应用程序,驱动和应用程序根据配置文件和配置软件配置初始化信息,再根据初始化信息配置需要的性能参数;
步骤2:发送端HBA卡FC接口层发送模块根据配置信息进行冗余模式选择,并且根据底层链路信息进行发送端口的选择;冗余模式的选择包括开启冗余模式和不开启冗余模式,发送端口的选择包括选择单端口发送和双端口同步发送;使能相应端口根据冗余模式选择的结果和发送端口选择的结果进行数据发送,发送数据的同时根据设计好的规则进行帧头字段信息的填充;
步骤3:接收端HBA卡FC接口层接收模块进行数据的接收和检验,并且利用帧头的部分字段信息鉴别非重复帧和重复帧,冗余模式下将正确且非重复的 FC帧送往内存中;非冗余模式下将正确的FC帧送往内存中。
具体地,所述步骤1包括如下步骤:
步骤1.1:在PC上驱动和应用软件进行初始化,包括定义描述符信息;描述符信息包括FC-帧头信息以及FC-帧payload字段在内存中的地址、长度信息;
步骤1.2:通过应用软件配置HBA卡,包括端口速率选择,配置BBcredit 的阈值;
步骤1.3:应用软件通过驱动将初始化的信息和相关配置信息写入HBA卡,包括端口速率、BBcredit的阈值、帧数据缓冲区首地址、描述符缓冲区首地址和指针的缓冲区首地址。
具体地,所述步骤2包括如下步骤:
步骤2.1:发送端HBA卡FC接口层发送模块根据配置信息进行冗余模式选择,并且根据底层链路信息进行发送端口的选择,包括选择单端口作为发送端口以及选择双端口同时作为发送端口,当选择双端口同时作为发送端口时,根据链路堵塞情况选择具体发送端口,具体发送端口包括单端口发送和双端口同步发送;
步骤2.2:发送数据的同时根据配置在FC帧头中填充特征字段信息,特征信息包括S_ID、D_ID、OX_ID,其中S_ID和D_ID表示一对传输的源设备和目标设备,每一对S_ID和D_ID发送的数据帧中OX_ID处于递增状态;
步骤2.3:FC接口层发送模块根据端口BBcredit的阈值和RDY流控机制保障数据的确定性传输。
具体地,所述步骤2.1包括以下步骤:
步骤2.1.1:发送端HBA卡FC接口层发送模块根据配置信息进行冗余模式选择,并且根据底层链路信息进行发送端口的选择,当HBA卡为非冗余模式时;两个发送端口独立互不影响;当HBA卡为非冗余模式时,判断两个发送端口是否同时处于链路建立状态;若是,同时选择两个端口作为发送端口,将DMA取出的发送数据复制成两份同时送到两个发送端口,跳至步骤2.1.2;否则,选择链路建立的端口作为发送端口;
步骤2.1.2:发送端HBA卡FC接口层发送模块在两个发送端口各自的 BBcredit计数值满之后开始计时,计时超过设定的时间阈值则判断此端口处于堵塞状态,时间阈值根据链路速率和实际需求设定,不得超过链路重建时间20s,若有端口处于堵塞状态,只向未堵塞的端口发送数据;否则不作处理。
进一步地,所述步骤2.2中,FC接口层发送模块设置发送端反压机制控制数据帧的发送,保障发送数据不超出发送能力。
具体地,所述FC接口层发送模块设置发送端反压机制控制数据帧的发送的具体步骤如下:
(1):FC接口层发送模块根据模块中维护的读指针和驱动中维护的写指针进行流量控制,判断两个指针差值是否达到高阈值时,若是,生成中断告知驱动关闭协议栈,停止将帧数据放入发送缓存区,并跳转到步骤(2);否则不作处理;
(2):FC接口层发送模块根据判断两个指针差值是否达到低阈值时,若是,生成中断告知驱动开启协议栈,重新允许驱动将帧数据放入发送缓存区;否则不做处理。
具体地,所述步骤3包括如下步骤:
步骤3.1:FC接口层接收模块轮询读取两个物理端口接收到的帧数据;
步骤3.2:FC接口层接收模块判断数据是否正确帧;若是,则跳至步骤3.3,若否,这将帧丢弃;
步骤3.3:根据FC帧头中的D_ID、S_ID、OX_ID三个字段,通过建立的特征信息表,判断此时是否是冗余模式;若是,通过DMA将此帧送往内存;否则判断此FC帧是否是重复帧;若是,丢弃此帧并且将此帧的D_ID、S_ID、OX_ID记录在特征信息表中;否则,通过DMA将此帧送往内存并且将此帧的D_ID、S_ID、 OX_ID记录在特征信息表中。
进一步地,所述步骤3还包括:
步骤3.4:FC接口层接收模块设置接收端流控机制控制接收端的RDY回复和DMA写操作,保障接收数据不超出接收能力。
具体地,所述步骤3.4包括以下步骤:
步骤3.4.1:FC接口层接收模块根据本模块中的FIFO空满情况进行流量控制,当模块内部FIFO趋于满,不再回复RDY;
步骤3.4.2:FC接口层接收模块根据本模块中维护的写指针和驱动中维护的读指针进行流量控制,当两个指针差值达到高阈值时,DMA停止将帧写入内存,并不再回复RDY;
判断FC接口层接收模块的指针差值是否低于高阈值;若是,HBA卡的FC 接口层接收模块则向发送端回复RDY,允许发送节点卡继续发送;否则不做处理。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
(1)本发明提供一种在FC网络上实现冗余传输的方法,通过设计FC接口层发送端完成冗余模式选择和端口选择,实现双端口同时发送相同的数据,设计 FC接口层接收端完成数据筛选重复和非重复帧,实现在FC网络上进行冗余传输,解决了冷冗余传输中切换延时和切换丢帧的问题。
(2)本发明提供一种在FC网络上实现冗余传输的方法,通过设计FC接口层发送端完成冗余模式选择和端口选择,实现双端口同时发送相同的数据,设计 FC接口层接收端完成数据筛选重复帧和非重复帧,实现了在硬件层面直接完成热冗余传输的所有操作,解决了热冗余传输需要消耗软件资源的问题。
(3)本发明通过设置FC接口层,实现了在FC网络上冗余传输数据,同时在FC接口层发送端和接收端设置反压控制和中断机制,解决了在FC网络上传输数据业务时,将数据从协议栈传到内存,以及从内存传到协议栈两种情况下的丢包问题。
(4)本发明支持冗余模式和非冗余模式的自由配置,灵活性高。
(5)本发明实现实时监控链路的建立和堵塞情况,容错率高。
附图说明
本发明将通过例子并参照附图的方式说明,其中:
图1是本发明的方法流程图;
图2是本发明的步骤2冗余传输数据发送方法流程图;
图3是本发明的步骤3冗余传输数据接收方法流程图;
图4是本发明的结构示意图;
图5是本发明的FC帧的帧头;
图6是本发明的发送反压机制示意图;
图7是本发明的接收反压机制示意图;
图8是本发明的将以太网帧UDP报文接入FC网络后进行冗余传输丢包率数据测试图。
具体实施方式
本说明书中公开的所有特征,或公开的所有方法或过程中的步骤,除了互相排斥的特征和/或步骤以外,均可以以任何方式组合。
下面结合图1-8对本发明作详细说明。
如图1所示,一种在FC网络上实现冗余传输的方法,本发明的FC网络传输方法所依赖的硬件结构如图4所示,具体包括以下步骤:
步骤1:在PC上构建驱动和应用程序,驱动和应用程序根据配置文件和配置软件配置初始化信息,再根据初始化信息配置需要的性能参数;
步骤1具体为:
步骤1.1:在PC上应用软件和驱动进行初始化,包括定义描述符信息,描述符信息包括FC-帧头信息以及FC-帧payload字段在内存中的地址、长度信息;
步骤1.2:通过应用软件置HBA卡,包括端口速率选择,配置BBcredit的值,这些配置数据有初始默认值,需要根据需求进行手动配置;端口速率可以选择1/2/4G三种速率可选,同时可以选择冗余模式和非冗余模式,BBcredit的阈值根据需要自由选择,冗余模式下选择建议2,非冗余模式下建议选择6;
步骤1.3:应用软件通过驱动将初始化的信息和相关配置信息写入HBA卡,包括端口速率、BBcredit的阈值、帧数据缓冲区首地址、描述符缓冲区首地址和指针的缓冲区首地址。
步骤2:发送端HBA卡FC接口层发送模块根据配置信息进行冗余模式选择,并且根据底层链路信息进行发送端口的选择;冗余模式的选择包括开启冗余模式和不开启冗余模式,发送端口的选择包括选择单端口发送和双端口同步发送;使能相应端口根据冗余模式选择的结果和发送端口选择的结果进行数据发送,发送数据的同时根据设计好的规则进行帧头字段信息的填充。
如图2所示,步骤2具体为:
步骤2.1:发送端HBA卡FC接口层发送模块根据配置信息进行冗余模式选择,并且根据底层链路信息进行发送端口的选择,包括选择单端口作为发送端口以及选择双端口同时作为发送端口,当选择双端口同时作为发送端口时,根据链路堵塞情况选择具体发送端口,具体发送端口包括单端口发送和双端口同步发送。
步骤2.2:发送数据的同时根据配置在FC帧头中填充特征字段信息,特征信息包括S_ID、D_ID、OX_ID,其中S_ID和D_ID表示一对传输的源设备和目标设备,每一对S_ID和D_ID发送的数据帧中OX_ID处于递增状态,S_ID、D_ID、 OX_ID在帧头的位置如图5所示;
步骤2.3:FC接口层发送模块根据端口BBcredit的阈值和RDY流控机制保障数据的确定性传输,流控过程符合FC协议。
具体地,所述步骤2.1包括以下步骤:
步骤2.1.1:发送端HBA卡FC接口层发送模块根据配置信息进行冗余模式选择,并且根据底层链路信息进行发送端口的选择,当HBA卡为非冗余模式时;两个发送端口独立互不影响;当HBA卡为非冗余模式时,判断两个发送端口是否同时处于链路建立状态;若是,同时选择两个端口作为发送端口,将DMA取出的发送数据复制成两份同时送到两个发送端口,跳至步骤2.1.2;否则,选择链路建立的端口作为发送端口;
步骤2.1.2:发送端HBA卡FC接口层发送模块在两个发送端口各自的 BBcredit计数值满之后开始计时,计时超过设定的时间阈值则判断此端口处于堵塞状态,时间阈值根据链路速率和实际需求设定,不得超过链路重建时间20s,优选地,选择计时超过100ms则判断此端口处于堵塞状态,若有端口处于堵塞状态,只向未堵塞的端口发送数据;否则不作处理。
发送端口选择的规则如表1和表2所示。
表1根据链路建立信息选择发送端口
表2根据链路堵塞信息选择发送端口
进一步地,所述步骤2.2中,FC接口层发送模块设置发送端反压机制控制数据帧的发送,保障发送数据不超出发送能力。
具体地,所述FC接口层发送模块设置发送端反压机制控制数据帧的发送的具体步骤如下:
(1):FC接口层发送模块根据模块中维护的读指针和驱动中维护的写指针进行流量控制,判断两个指针差值是否达到高阈值时,若是,生成中断告知驱动关闭协议栈,停止将帧数据放入发送缓存区,并跳转到步骤(2);否则不作处理;
(2):FC接口层发送模块根据判断两个指针差值是否达到低阈值时,若是,生成中断告知驱动开启协议栈,重新允许驱动将帧数据放入发送缓存区;否则不做处理;这是发送端反压机制,发送反压机制的示意图如图6所示。
步骤3:接收端HBA卡FC接口层接收模块进行数据的接收和检验,并且利用帧头的部分字段信息鉴别非重复帧和重复帧,冗余模式下将正确且非重复的 FC帧送往内存中;非冗余模式下将正确的FC帧送往内存中。
步骤3.1:FC接口层接收模块轮询读取两个物理端口接收到的帧数据和描述符,根据规定好的优先级进行轮询读,当一个端口有数据另一个端口没数据时,读取该端口数据,读完之后,将另一端口的优先级提高;当两个端口都有数据时,每从一个端口读完一帧,就提高另一端口的优先级,交替读取数据。
步骤3.2:FC接口层接收模块根据描述符信息判断数据是否正确帧;若是,则跳至步骤3.3,若否,这将帧丢弃,在接收模块接收数据时,会根据接收到的数据生成描述符,描述符中的信息包括帧的长度、帧的CRC校验结果、帧是否过长或过短、帧有没有丢失标志位等。
步骤3.3:根据FC帧头中的D_ID、S_ID、OX_ID三个字段,通过建立的特征信息表,判断此时是否是冗余模式;若是,通过DMA将此帧送往内存;否则判断此FC帧是否是重复帧;若是,丢弃并且将该帧的D_ID、S_ID、OX_ID记录在特征信息表中;否则,通过DMA将此帧送往内存并且将该帧的D_ID、S_ID、OX_ID 记录在特征信息表中。特征信息表深度为32,以D_ID、S_ID为大类,表示从某一个地址到另一个地址的数据,以OX_ID为小类,表示同一D_ID、S_ID发送来的不同的帧。当接收到的帧为错误帧时,丢弃不更新特征信息表;当接收到的帧为正确帧且信息表中没有相同的D_ID、S_ID、OX_ID信息时,判定为非重复帧,将帧通过DMA送完内存,更新特征信息表,将此帧的D_ID、S_ID、OX_ID覆盖此帧前第32个帧的D_ID、S_ID、OX_ID;当接收到的帧为正确帧,且信息表中有相同的D_ID、S_ID、OX_ID时,判定为重复帧时,将帧丢弃并更新特征信息表,将此帧的D_ID、S_ID、OX_ID覆盖此帧之前第32个帧的D_ID、S_ID、OX_ID;需要注意的是,当收到帧的D_ID、S_ID在信息表中有记录,但是OX_ID不在表中记录的OX_ID窗口中,将帧丢弃也不更新信息表,窗口的判定方法是:以每一对D_ID、S_ID中最新收到的OX_ID为窗口中点,前后深度为8,窗口深总度为 16。值得一提的是,本具体实施中选择的帧头的三个字段也可以替换成其他字段。
步骤3.4:FC接口层接收模块设置接收端流控机制控制接收端的RDY回复和DMA写操作,保障接收数据不超出接收能力。
具体地,所述步骤3.4包括以下步骤:
步骤3.4.1:FC接口层接收模块根据本模块中的FIFO空满情况进行流量控制,当模块内部FIFO趋于满,不再回复RDY;
步骤3.4.2:FC接口层接收模块根据本模块中维护的写指针和驱动中维护的读指针进行流量控制,当两个指针差值达到高阈值时,DMA停止将帧写入内存,并不再回复RDY,这是接收端反压机制;接收端反压机制的示意图如图7所示。
发送端反压机制:HBA卡(硬件)FC接口层发送模块根据接收端回复给节点的RDY数量管理BBcredit计数值,判断BBcredit值是否未满?若未满,则允许将帧通过端口发送到链路上。同时在发送过程中,FC接口层发送模块会不断检测读写指针的差值来分析在发送缓冲区中帧的数量,如果发送缓冲区快溢出了,则FC接口层发送模块会发一个反压中断,告知驱动关闭协议栈,如果发送缓冲区中帧的数量达到了低阈值,则FC接口层发送模块会发一个解除反压中断,告知驱动开启协议栈,重新允许驱动将帧数据放入发送缓存区;保证发送缓冲区不会溢出。
接收端反压机制:FC接口层接收模块会不断检测读写指针的差值来分析在接收缓冲区中帧的数量,如果发送缓冲区快溢出了,FC接口层接收模块会停止 DMA写操作,也不再回复RDY。
在图8中,对比普通以太网卡和使用了本发明冗余传输方案的以太网FC接入卡,在对比测试中,通过传输UDP协议报文来测试丢包率,UDP传输因其协议的自身特性,在传输中不可避免的出现丢包,包括物理链路造成的丢包和协议栈与内存之间传输造成的丢包,并且随着链路带宽的增加丢包率增加。现将UDP 协议的IP报文封装入FC帧中,通过使用了本发明冗余传输方案的FC接入卡进行UDP传输,同时传输过程中,交替对单根光纤传输通道进行断开和连接操作,最终测试结果如图8所示,可以看出,采用本发明的方法后,丢包率几乎为0。
Claims (9)
1.一种在FC网络上实现冗余传输的方法,其特征在于:包括如下步骤:
步骤1:在PC上构建驱动和应用程序,驱动和应用程序根据配置文件和配置软件配置初始化信息,再根据初始化信息配置需要的性能参数;
步骤2:发送端HBA卡FC接口层发送模块根据配置信息进行冗余模式选择,并且根据底层链路信息进行发送端口的选择;冗余模式的选择包括开启冗余模式和不开启冗余模式,发送端口的选择包括选择单端口发送和双端口同步发送;使能相应端口根据冗余模式选择的结果和发送端口选择的结果进行数据发送,发送数据的同时根据设计好的规则进行帧头字段信息的填充;
步骤3:接收端HBA卡FC接口层接收模块进行数据的接收和检验,并且利用帧头的部分字段信息鉴别非重复帧和重复帧,冗余模式下将正确且非重复的FC帧送往内存中;非冗余模式下将正确的FC帧送往内存中。
2.根据权利要求1所述的一种在FC网络上实现冗余传输的方法,其特征在于:所述步骤1包括如下步骤:
步骤1.1:在PC上驱动和应用软件进行初始化,包括定义描述符信息;描述符信息包括FC-帧头信息以及FC-帧payload字段在内存中的地址、长度信息;
步骤1.2:通过应用软件配置HBA卡,包括端口速率选择,配置BBcredit的阈值;
步骤1.3:应用软件通过驱动将初始化的信息和相关配置信息写入HBA卡,包括端口速率、BBcredit的阈值、帧数据缓冲区首地址、描述符缓冲区首地址和指针的缓冲区首地址。
3.根据权利要求1所述的一种在FC网络上实现冗余传输的方法,其特征在于:所述步骤2包括如下步骤:
步骤2.1:发送端HBA卡FC接口层发送模块根据配置信息进行冗余模式选择,并且根据底层链路信息进行发送端口的选择,包括选择单端口作为发送端口以及选择双端口同时作为发送端口,当选择双端口同时作为发送端口时,根据链路堵塞情况选择具体发送端口,具体发送端口包括单端口发送和双端口同步发送;
步骤2.2:发送数据的同时根据配置在FC帧头中填充特征字段信息,特征信息包括S_ID、D_ID、OX_ID,其中S_ID和D_ID表示一对传输的源设备和目标设备,每一对S_ID和D_ID发送的数据帧中OX_ID处于递增状态;
步骤2.3:FC接口层发送模块根据端口BBcredit的阈值和RDY流控机制保障数据的确定性传输。
4.根据权利要求3所述的一种在FC网络上实现冗余传输的方法,其特征在于:所述步骤2.1包括以下步骤:
步骤2.1.1:发送端HBA卡FC接口层发送模块根据配置信息进行冗余模式选择,并且根据底层链路信息进行发送端口的选择,选择数据的发送端口,判断两个发送端口是否同时处于链路建立状态;若是,同时选择两个端口作为发送端口,将DMA取出的发送数据复制成两份同时送到两个发送端口,跳至步骤6.2;否则,选择链路建立的端口作为发送端口;
步骤2.1.2:FC接口层冗余控制模块在两个发送端口各自的BBcredit计数值满之后开始计时,计时超过设定的时间阈值则判断此端口处于堵塞状态,时间阈值根据链路速率和实际需求设定,不得超过链路重建时间20s,若有端口处于堵塞状态,只向未堵塞的端口发送数据;否则不作处理。
5.根据权利要求3或4所述的一种在FC网络上实现冗余传输的方法,其特征在于:所述步骤2.3中,FC接口层发送模块设置发送端反压机制控制数据帧的发送,保障发送数据不超出发送能力。
6.根据权利要求5所述的一种在FC网络上实现冗余传输的方法,其特征在于:所述FC接口层发送模块设置发送端反压机制控制数据帧的发送的具体步骤如下:
(1):FC接口层发送模块根据模块中维护的读指针和驱动中维护的写指针进行流量控制,判断两个指针差值是否达到高阈值时,若是,生成中断告知驱动关闭协议栈,停止将帧数据放入发送缓存区,并跳转到步骤(2);否则不作处理;
(2):FC接口层发送模块根据判断两个指针差值是否达到低阈值时,若是,生成中断告知驱动开启协议栈,重新允许驱动将帧数据放入发送缓存区;否则不做处理。
7.根据权利要求1所述的一种在FC网络上实现冗余传输的方法,其特征在于:所述步骤3包括如下步骤:
步骤3.1:FC接口层接收模块轮询读取两个物理端口接收到的帧数据;
步骤3.2:FC接口层接收模块判断数据是否正确帧;若是,则跳至步骤3.3,若否,这将帧丢弃;
步骤3.3:根据FC帧头中的D_ID、S_ID、OX_ID三个字段,通过建立的特征信息表,判断此时是否是冗余模式;若是,通过DMA将此帧送往内存;否则判断此FC帧是否是重复帧;若是,丢弃此帧并且将此帧的D_ID、S_ID、OX_ID记录在特征信息表中;否则,通过DMA将此帧送往内存并且将此帧的D_ID、S_ID、OX_ID记录在特征信息表中。
8.根据权利要求7所述的一种在FC网络上实现冗余传输的方法,其特征在于:所述步骤3还包括:
步骤3.4:FC接口层接收模块设置接收端流控机制控制接收端的RDY回复和DMA写操作,保障接收数据不超出接收能力。
9.根据权利要求8所述的一种在FC网络上实现冗余传输的方法,其特征在于:所述步骤3.4包括以下步骤:
步骤3.4.1:FC接口层接收模块根据本模块中的FIFO空满情况进行流量控制,当模块内部FIFO趋于满,不再回复RDY;
步骤3.4.2:FC接口层接收模块根据本模块中维护的写指针和驱动中维护的读指针进行流量控制,当两个指针差值达到高阈值时,DMA停止将帧写入内存,并不再回复RDY;
判断FC接口层接收模块的指针差值是否低于高阈值;若是,HBA卡的FC接口层接收模块则向发送端回复RDY,允许发送节点卡继续发送;否则不做处理。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811154678.XA CN109412683A (zh) | 2018-09-30 | 2018-09-30 | 一种在fc网络上实现冗余传输的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811154678.XA CN109412683A (zh) | 2018-09-30 | 2018-09-30 | 一种在fc网络上实现冗余传输的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN109412683A true CN109412683A (zh) | 2019-03-01 |
Family
ID=65465866
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811154678.XA Pending CN109412683A (zh) | 2018-09-30 | 2018-09-30 | 一种在fc网络上实现冗余传输的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109412683A (zh) |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110912655A (zh) * | 2019-12-24 | 2020-03-24 | 瑞斯康达科技发展股份有限公司 | 一种数据冗余备份方法、装置、设备及介质 |
CN112636816A (zh) * | 2020-12-14 | 2021-04-09 | 中航光电科技股份有限公司 | 一种双冗余fc网络传输系统 |
CN114915386A (zh) * | 2022-04-29 | 2022-08-16 | 中国航空无线电电子研究所 | 面向差异化业务场景的确定性通信的冗余传输管理方法 |
CN115065444A (zh) * | 2022-05-30 | 2022-09-16 | 中国电子科技集团公司第十研究所 | 一种星载管控计算机在轨双冗余数据处理方法 |
CN115061642A (zh) * | 2022-08-17 | 2022-09-16 | 北京国科天迅科技有限公司 | 一种通信数据存储方法及装置 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102835077A (zh) * | 2010-03-22 | 2012-12-19 | 思科技术公司 | N端口id虚拟化节点冗余 |
US20130287389A1 (en) * | 2012-04-25 | 2013-10-31 | Siamack Ayandeh | Fiber channel 1:n redundancy |
CN103888293A (zh) * | 2014-02-25 | 2014-06-25 | 电子科技大学 | 多通道fc网络数据仿真系统的数据通道调度方法 |
CN105227279A (zh) * | 2015-10-19 | 2016-01-06 | 中国航空无线电电子研究所 | 一种用于双光纤通道网络通信系统的冗余管理系统 |
US20160366497A1 (en) * | 2015-06-09 | 2016-12-15 | Cisco Technology, Inc. | Fast Recovery of Fibre Channel (FC) Link using Delayed NOS Message after FC Link Failure |
CN107896141A (zh) * | 2017-12-11 | 2018-04-10 | 天津津航计算技术研究所 | 一种fc‑ae‑asm网络数据冗余方法 |
-
2018
- 2018-09-30 CN CN201811154678.XA patent/CN109412683A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN102835077A (zh) * | 2010-03-22 | 2012-12-19 | 思科技术公司 | N端口id虚拟化节点冗余 |
US20130287389A1 (en) * | 2012-04-25 | 2013-10-31 | Siamack Ayandeh | Fiber channel 1:n redundancy |
CN103888293A (zh) * | 2014-02-25 | 2014-06-25 | 电子科技大学 | 多通道fc网络数据仿真系统的数据通道调度方法 |
US20160366497A1 (en) * | 2015-06-09 | 2016-12-15 | Cisco Technology, Inc. | Fast Recovery of Fibre Channel (FC) Link using Delayed NOS Message after FC Link Failure |
CN105227279A (zh) * | 2015-10-19 | 2016-01-06 | 中国航空无线电电子研究所 | 一种用于双光纤通道网络通信系统的冗余管理系统 |
CN107896141A (zh) * | 2017-12-11 | 2018-04-10 | 天津津航计算技术研究所 | 一种fc‑ae‑asm网络数据冗余方法 |
Non-Patent Citations (1)
Title |
---|
肖潇: "支持多业务接入和冗余功能的 FC 节点卡逻辑设计", 《中国优秀硕士学位论文全文数据库 工程科技Ⅱ辑》 * |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110912655A (zh) * | 2019-12-24 | 2020-03-24 | 瑞斯康达科技发展股份有限公司 | 一种数据冗余备份方法、装置、设备及介质 |
CN112636816A (zh) * | 2020-12-14 | 2021-04-09 | 中航光电科技股份有限公司 | 一种双冗余fc网络传输系统 |
CN112636816B (zh) * | 2020-12-14 | 2022-05-20 | 中航光电科技股份有限公司 | 一种双冗余fc网络传输系统 |
CN114915386A (zh) * | 2022-04-29 | 2022-08-16 | 中国航空无线电电子研究所 | 面向差异化业务场景的确定性通信的冗余传输管理方法 |
CN114915386B (zh) * | 2022-04-29 | 2023-10-13 | 中国航空无线电电子研究所 | 面向差异化业务场景的确定性通信的冗余传输管理方法 |
CN115065444A (zh) * | 2022-05-30 | 2022-09-16 | 中国电子科技集团公司第十研究所 | 一种星载管控计算机在轨双冗余数据处理方法 |
CN115061642A (zh) * | 2022-08-17 | 2022-09-16 | 北京国科天迅科技有限公司 | 一种通信数据存储方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109412683A (zh) | 一种在fc网络上实现冗余传输的方法 | |
CN102946325B (zh) | 一种基于软件定义网络的网络诊断方法、系统及设备 | |
RU2608879C2 (ru) | Приводимое в действие контроллером оам для openflow | |
CN107483370B (zh) | 一种在fc网络上传输ip和can业务的方法 | |
US8130752B2 (en) | Real-time network measurement | |
CN102185833B (zh) | 一种基于fpga的fc i/o并行处理方法 | |
CN110493147B (zh) | 一种并行冗余以太网通信控制器及其控制方法 | |
US8165011B2 (en) | Real-time network measurement | |
CN109067650B (zh) | 基于srio交换网络的路由自动搜索及配置方法 | |
US20070255847A1 (en) | Systems and methods for preparing network data for analysis | |
CN109752999A (zh) | 一种基于fpga的arinc429总线通信方法 | |
CN111211863B (zh) | Mac发射端、mac接收端及电路、fpga芯片及数据传输系统 | |
CN107579894B (zh) | 一种基于fpga的ebr1553总线协议实现装置 | |
CN101667959B (zh) | 一种物理层数据传输的方法、装置及数据传输的系统 | |
CN106027397B (zh) | 一种星型拓展的分布式测量设备网络通信方法 | |
WO2013176607A1 (en) | Method and first network node for managing an ethernet network | |
CN107276834B (zh) | 一种航空电子环境下光纤通道流量分析记录方法及装置 | |
CN112653638B (zh) | 一种多路中频与基带高速交换路由的装置及其通信方法 | |
CN105591839A (zh) | 一种测试网络交换芯片的装置、方法及系统 | |
CN106506265B (zh) | 检测fpga芯片挂死的方法及装置 | |
CN104184843B (zh) | 数据转发装置和方法 | |
CN111147175B (zh) | 时间触发以太网数据帧捕获、存储装置及方法 | |
US20030193894A1 (en) | Method and apparatus for early zero-credit determination in an infiniband system | |
CN109412968A (zh) | 一种时间触发以太网端节点的冗余通信接收管理系统及方法 | |
CN113341853B (zh) | 一种ip核、fpga芯片、交流伺服驱动器及通讯方法 |
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 | ||
RJ01 | Rejection of invention patent application after publication | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20190301 |