GFP内核加速LAN/SAN协议在SONET中的传输


在电信行业中,SONET网络无处不在,被广泛应用于语音和数据传输 。目前的标准协议主要针对传输层,如针对语音和数据的ATM协议以及针对数据传输的HDLC或PPP协议 。然而,因为这些协议都不是专门针对通过SONET/SDH网络进行数据传输而开发的,所以都会引起带宽效率的降低 。
此外,电信运营商希望通过增加自己网络上所传输的客户业务类型以及优化带宽利用情况来增加营收 。这包括捕捉新市场机会,如存储区域网络(SAN-采用光纤通道(Fibre Channel))以及新兴的视频点播(利用DVB-SAI)应用 。Fibre Channel和DVB代表了这些数据网络协议所定义的两类非凡客户业务或客户数据类型 。
通用成帧规程(GFP)能够支持多种客户网络协议,是能够满足广泛的数据传输应用需求的第一种封装机制 。GFP被国际电信联盟(ITU)接受并作为G.7041/Y.1303标准,该标准提供了不同协议映射到传输网络的灵活及有效的机制 。
本文将讨论一种灵活的网络解决方案,能够满足系统供给商部署城域设备时提供前述服务的需要 。赛灵思(Xilinx)公司所提供的解决方案包括利用Virtex-II Pro 器件提供全面集成的客户适配解决方案,直到利用Spartan-3 FPGA支持低成本的协议封装 。Virtex-II Pro和Virtex-II Pro X中集成的高速RocketIO收发器支持多种客户协议,从而可以利用工作在高达1~11 Gbps速率的协议实现无缝通信,再结合嵌入式PowerPC处理器,不仅可在单片FPGA器件中支持客户适配能力,还可提供实时控制和处理能力 。
基于这些平台和赛灵思公司丰富的IP内核产品,新的GFP内核提供了一种完全可配置的解决方案,支持在快速变化的电信环境中实现具有动态适应能力的定制解决方案 。
GFP标准
GFP采用的是将基于八字节的数据流直接映射到八字节同步流中,如同步光学网络/同步数字体系(SONET/SDH) 。GFP帧进行了不规则扰码编码(scramble)处理以保证直流平衡(即使线路上传输的"0"和"1"的数量保持平衡),GFP帧的定界是通过内核头部的长度域来完成的 。
由于帧起始嵌入在GFP流中,因此为保证数据传输,两个GFP端点首先必须实现同步 。单个端点的同步过程是这样的:先检测内核头部是否存在正确的CRC域,假如存在的话,就利用长度域指向下一个帧的起点,然后重复这一过程 。假如在预先编程设定的重复次数内这一过程都是成功的,那么就实现了GFP流同步过程 。
GFP协议有些方面对于所有实现方式都是共同的 。这包括诸如帧定界和同步;CRC插入/检测/校正以及扰码编码处理等选项 。
除了这些共同的方面以外,为了处理不同的协议映射方式,还需要一些非凡的客户功能 。这包括针对两类客户数据映射方式的一些选项:帧映射(GFP-F)和透明映射(GFP-T) 。表1列出了G.7041标准支持的所有GFP-F和GFP-T协议 。
GFP-F支持可变长度的帧数据(即包含可变长度的数据包) 。此时一个客户帧(如一个以太网帧)被直接映射到一个GFP-F帧中 。这时,在系统中需要有一个媒体访问控制器(MAC)来端接第2层协议 。例如在以太网中,一个以太网MAC负责去除前导位和帧分界符,校验CRC,并将以太网帧交给GFP端点进行封装 。
GFP-T支持固定数据包长度和传输块编码(block-coded)固定速度流(如Fibre Channel,Ethernet,或ESCON/SBCON) 。这种模式下生成的是封装了块编码数据的GFP帧,其中包括映射为64B65B块编码的客户协议8B10B数据和控制(符号) 。
透明映射协议不需要在传输前缓冲整个客户帧 。相反,数据和控制符号都是按顺序处理的 。八个8B/10B符号(加上一个标志位)组合为一个64B/65B块编码 。这一块编码同时包括数据字符和控制字符 。

推荐阅读