董春雷,何斌斌,陈艇

(1.中国人民解放军战略支援部队信息工程大学,河南郑州,450002;2.31121部队,江苏徐州,221000)

0 引言

FC(Fiber Channel)为美国标准化委员会(ANSI)在1988 年提出的高速串行传输总线,具备高带宽,高可靠性,高稳定性的特点,主要应用在航空电子,音视频处理,大数据传输等诸多领域。FC 交换芯片是符合FC(Fiber Channel)通信协议,具备多端口,低延时,高可靠性的交换芯片[1~2]。随着信息技术的不断发展,交换芯片的应用环境日益复杂,在航空电子环境等应用中,FC 网络可能存在多个交换设备级联实现多个端点设备互连,为了满足实时性和可靠性的要求,系统会根据CPU 处理延迟对网络中的每个设备分配具体的工作时隙,因此FC 网络要求所有设备在工作之前进行时间同步,然后网络中每个设备在固定的时间(时隙)内完成相应的任务(数据传输和处理),从而避免多台设备同时传输数据导致FC网络的传输拥塞和处理时延不确定性[3~7]。如果时间同步精度不高,将导致时隙之间的保护间隔过大,压缩数据传输和处理的时间,因此FC 交换芯片需要具备高精确度的时间同步功能,实现全网络设备的时间同步。

1 FC 时间同步原理

FC-FS 协议中定义了两种时间同步方式,分别是基于扩展链路服务(ELS,Extended Link Service)时间同步和基于原始信号(PS,Primitive Signal)时间同步,在时间同步的FC 网络中,一般具有一个时间同步服务器(Server),网络中的其他端点或者交换设备称为时间同步客户端(Client),它们内部都集成了实时时间(real time clock,RTC)计数器[8]。时间同步服务器负责向网络的其他客户端发送带有本地RTC 值的ELS 帧或者原始信号,客户端接收到时间同步帧或者原始信号后,解析出其中的RTC,然后更新各客户端本地的RTC,实现与服务器的时间同步。

根据Fibre Channel Framing and Signaling-4 (FC-FS-4)协议规定,ELS 时间同步是客户端(Client)先向时间同步服务端(Master)发送时间同步请求帧(CSR),服务器端同意之后,会向对应的客户端发送时间同步更新帧(CSU),如图1 所示,CSU 帧中带有时间同步服务器生成CSU 帧时的时间戳,客户端收到CSU 帧之后解析出其中的时间戳,然后更新本地的RTC,实现客户端与服务器的时间同步。服务端一般会向每一个请求的客户端定时发送CSU 帧,防止本地RTC 因为晶振误差导致本地时间计数器误差随时间而增大。PS 时间同步通过服务端定时发送连续的SYNx、SYNy、SYNz 原语信号来实现时间同步,SYNx、SYNy、SYNz 原语信号携带有时间信息,如图2 所示,每个原语信号32bit,相比于ELS 时间同步,PS 时间同步占用链路带宽较小,客户端接收并解析出SYNx、SYNy、SYNz 原语信号中携带的时间值,然后更新本地时间计数器,实现时间同步。

图1 FC 网络中时间同步

图2 时间同步原语传输方式

在FC 网络中,无论是ELS 时间同步还是PS 时间同步,FC 交换芯片需要转发ELS 时间同步帧或者PS 时间同步原语信号,实现服务端和客户端的时间同步[9],同时FC 交换芯片也可以作为FC 网络中的时间同步服务器,向各个设备或者端口发送时间同步帧或者原语。由于FC 交换芯片具有不可预知的转发延迟,因此转发ELS 时间同步帧或者PS 时间同步原语信号会引入新的误差,特别是经过多级FC 交换芯片,这个误差将变得更大并难以确定,因此FC 交换芯片需要对转发的ELS 时间同步或者时间同步原语进行时间补偿,弥补经过FC 交换芯片带来的时间延迟。

FC 协议定义了时间同步的方法和原理,并提供了一种简单补偿交换芯片内补充交换调度延迟的方法,而没有考虑交换芯片接收端口、发送端口,以及光纤传输的延迟补偿,时间同步精度较低。FC 网络ELS 时间同步模型,模型中有一个时间同步服务器,一个时间同步服务端,一个时间同步客户端。FC 客户端先向FC 时间同步服务器发送时间同步请求帧(CSR),CSR 经过交换转发至时间同步服务器,时间同步服务器收到CSR 帧之后,会定时向时间同步客户端发送时间同步更新帧(CSU),同样CSU 需要通过FC 交换芯片转发至客户端,客户端收到CSU 帧之后,解析出其中的时间信息,然后更新本地实时时钟,达到与时间同步服务器时间同步。

2 基于交换芯片的FC 时间同步电路

■2.1 FC 交换传输延迟分析

经过分析,FC 时间同步ELS 或者PS 在FC 交换中具有不确定的传输延迟,如图3 所示,FC 交换网络的延迟主要有接收光纤传输延迟rf、FC 协议链路接收通路处理延迟rp、FC 接收帧缓冲延迟、FC 交换转发延迟、FC 发送帧缓冲延迟、FC 协议链路发送通路延迟sp 以及发送光纤延迟tf,其中rf 和tf 可以根据实际的应用场景,通过测量实际光纤的长度计算得到,rp 和sp 跟FC 交换端口的具体设计有关,这两部分的延迟可通过实际的情况加以补偿。对于ELS 时间同步帧,FC 接收帧缓冲、FC 交换以及FC 发送帧缓存的延迟可能根据交换实际拥塞情况的不同而不同;对于PS 时间同步,时间同步PS 不经过FC 交换进行转发,但是FC 发送通路需要在没有发送报文的情况下传输时间同步PS,这部分延迟也是不可预知的[10]。因此需要统计接收端解析出FC 时间同步ELS 或者PS 时刻与发送端发送ELS 或者PS 时刻之间的延迟,然后进行补偿。

■2.2 FC 交换时间同步电路

根据以上的分析,本设计在接收通路和接收缓冲之间、发送缓冲和发送通路之间分别增加了时间同步解析模块和重组模块用于实现时间补偿。如图3 所示,时间同步电路位于FC 交换芯片的FC 端口模块上,FC 端口模块包括:FC协议链路接收通路、FC 协议链路发送通路、FC 端口状态机、FC 接收帧缓存、FC 发送帧缓存,基于FC 交换芯片的时间同步延迟补偿电路包括:ELS 时间同步帧和原语解析模块、ELS 时间同步帧和原语重组模块、接收通路延迟补偿寄存器rx_delay 及发送通路延迟补偿寄存器tx_delay。其中,ELS 时间同步帧和原语解析模块用于对接收的ELS 时间同步帧和时间同步原语进行解析;ELS 时间同步帧和原语重组模块用于对接收的ELS 时间同步帧和时间同步原语进行重组;接收通路延迟补偿寄存器rx_delay 用于对FC 协议链路接收通路的延迟进行补偿;发送通路延迟补偿寄存器tx_delay 用于对FC 协议链路发送通路的延迟进行补偿。rx_delay 的值为rp+tf,tx_delay 的值为sp+rf。

在进行时间同步之前,使用ELS 时间同步帧或者时间同步原语进行时间同步操作,得到对应的FC 协议链路接收通路处理延迟rp 和FC 协议链路发送通路处理延迟sp 值。测量接收和发送光纤的长度,将所述接收和发送光纤的长度分别除以光速,得到接收光纤传输延迟rf 和发送光纤传输延迟tf 值。配置rx_delay 的值为rp+tf,配置tx_delay 的值为sp+rf。

整个补充原理可概括为:时间同步解析模块完成时间同步ELS 和PS 的解析,解析出时间同步信号中的时间信息,然后加上接收光纤传输延迟rf和FC 协议链路接收通路处理延迟rp,补偿之后的时间值与当时时间同步服务器的时间相近,然后更新本地的RTC,此时本地RTC 将基于更新之后的值进行计时。在发送端,发送时间同步PS 或者ELS 帧时,先从本地RTC中读取时间值,然后加上FC 协议链路发送通路延迟sp 和发送光纤延迟tf,使用补偿之后的时间值更换即将发送的时间同步PS 或者ELS 帧中的时间值,重新组装新的时间同步原语或者帧发送出去,实现时间同步原语或者帧在FC 交换的透明传输。

3 实验测试

根据时间同步服务的场景,我们利用JDSU FC 测试仪与FC 交换芯片NFS6400 形成server 端点和client 端点对接网络,并采用以xilinx vu440 系列FPGA 芯片为基础的原型验证平台,通过光纤连接,组成了与实际情况相吻合的验证环境,如图4 所示。

图4 交换为Client 模式

(1)FC 交换为Client 模式

FC 交换Client 模式主要实现时间同步信号的转发,设置FC 测试仪其中一个端口为Master 模式,另一个端口为Client 模式,两个端口分别与交换相连,如图4 所示,Master 端口通过交换向Client 发送时间同步信号,通过交换转发实现Master 与Client 的同步,如图5 所示,Client实现了与Master 的同步。

图5 FC 交换为Client 模式时间同步测试

(2)FC 交换为Master 模式

FC 交换在master 模式下,主动向其他Client 端口发送时间同步信号,实现网络的同步,如图6 所示,从图中可以看出,两个Client 接收的时间误差在100ns 以内。

图6 FC 交换为Master 模式时间同步测试

4 结论

针对现有FC 协议没有考虑交换芯片的接收端口、发送端口、交换转发以及光纤传输的延迟补偿,时间同步精度较低的问题,本文基于FC 协议时间同步原理对FC 交换延迟进行了分析,提出了一种时间同步实现方式,验证结果表明该时间同步方式时间同步精度高,时间误差可以控制在100ns 以内。本文的FC 时间同步电路适用于FC 协议中的时间同步原语与ELS 时间同步帧,同样适用于传统的时间同步服务器或者客户端,硬件电路实现简易,精度高,进一步提高了FC 网络的时间同步精度,可有效提高FC 网络的效率。后续还将在同步精度方面继续进行探索与优化,以适应FC 网络更大规模的应用。