基于FPGA实现千兆以太网业务在SDH上的传输
摘要:为了实现千兆以太网业务在SDH网络上的传输(EOS),可以利用FPGA将以太网MAC数据帧在SDH数据帧中进行封装和映射处理。介绍了GFP封装协议以及虚级联技术,给出了FPGA内部的模块化设计方法。利用FPGA的强大功能和内部的丰富资源,简化了电路设计的复杂性。千兆以太网在SDH中的传输增强了SDH设备的业务传输能力。
关键词:以太网;SDH;GFP;EOS
0 引言
随着人们对数据业务需求的不断增长,以太网作为全世界应用最为广泛的网络通信技术之一,在全世界得到了大规模的普及。SDH是电信部门常用的通信传输设备,具有高可靠性和高安全性的特点。EOS(Ethernet over SDH)技术即借现有的SDH传输设备实现以太网业务的传输,具有非常重要的现实意义。
基于以太网的七层架构,在第二层数据链路层传输的是以太网的MAC帧。由于以太网和SDH系统的传输速率不匹配,需要通过封装进行速率调整后才能映射到SDH的虚容器中。目前来讲,常用的是GFP(Generic Framing Procedure)封装。GE(千兆以太网)信号在SDH系统中的映射可以分为相邻级联和虚级联两种模式。相邻级联是在整个传输过程中保持连续带宽,各个级联的VC是相邻的,在SDH网络系统中需要有能够进行相邻级联处理的中间设备,而虚级联的应用方式比较灵活,将连续带宽分解到多个VCs上传输,不一定相邻,在传输的终端再将多个VCs重新组合成连续带宽。因此,虚级联方式有效地节省了带宽,在系统中只需能够进行处理的终端设备即可。在实际使用中,这种方式的应用比较广泛。
1 FPGA收发模块设计
本文实现的传输方式是在STM-16中传输1路GE信号,需要对以太网MAC帧进行GFP封装。GFP帧分为GFP-F和GFP-T两种模式,本设计采用的是GFP-F封装模式。STM-16的传输速率是2.488 32 Gb/s。STM-16一共包括16路STM-1信号,STM-1的传输速率是155.52 Mb/s。STM-1信号采用虚级联方式,利用VC-4-XV(X=1~7)最多采用7路STM-1信号即可传输1路GE信号。剩余STM-1通道的信号用来传输其他数据业务。
以太网数据在SDH设备中传输过程如下:在SDH发送部分中,以太网通过接口处理芯片产生MAC数据帧,通过GMII接口传送给FPGA。FPGA将MAC帧进行GFP协议的封装,然后映射到SDH的虚容器VC当中,再通过添加复用段和再生段开销,生成STM-16数据帧,发送给光模块再上到光网络;在SDH接收部分中,光接收模块从光网络将STM-16数据帧接收F来发送给FPGA,FPGA在内部处理相关的开销,再将GFP数据帧从VC虚容器中提取出来,通过解帧处理,将以太网的MAC帧还原出来,经过处理后发送给以太网。
FPGA的内部设计可以分成发送模块和接收模块两部分。其中,发送模块可以分为以太网数据接收预处理模块、GFP成帧模块、SDH成帧模块;接收模块可以分为SDH解帧模块、GFP解帧模块、以太网数据发送处理模块。发送和接收模块示意图分别如图1和图2所示。
发送部分的三个模块的功能分别如下:以太网数据接收处理模块利用FIFO缓存模块存储每一个有效MAC数据帧的数据和长度。同时实现数据从以太网时钟域到SDH时钟域的转换;GFP成帧模块对以太网MAC帧进行GFP封装,通过调整GFP数据帧和GFP空闲帧的插入,将以太网MAC帧映射到SDH的高阶VC-4虚容器中;SDH成帧模块对虚容器进一步处理,添加开销字段,生成STM-16数据帧,再利用FPGA内部的GTP接口将16位155. 52MHz的并行数据转化为一路2 488.32 MHz高速LVDS差分信号发送出去。
接收部分实现的过程是发送部分的逆过程。
GFP成帧模块分为GFP数据帧产生模块、空闲帧产生模块、插入帧选择模块、GFP扰码模块;GFP解帧模块分为GFP帧同步模块、GFP解扰模块、GFP接收帧处理模块。
GFP数据帧产生模块在去掉MAC帧8 B前导码后,将剩余部分的数据封装为GFP数据帧。按照GFP协议添加4 B的核心头部和4 B的净负荷域头部,将非定长的以太网MAC帧添加到净负荷信息字段,在帧尾添加4 B的净负荷帧校验序列(FCS)。
空闲帧实际上属于GFP用户管理帧的一种,没有净负荷域,只包含一个GFP核心帧头,是4 B的全0比特与序列“B6AB31E0”异或所得。
插入帧选择模块根据流量情况调整数据帧和空闲帧的插入,在没有数据帧要发送时,插入空闲帧,以保证GFP数据流的连续性。
评论