文档介绍:GFP协议GFP(GenericFramingProcedure,通用成帧规程)是一种通用映射技术,它可将变长或定长的数据分组,进行统一的适配处理,实现数据业务在多种高速物理传输通道中的传输。一方面,GFP采用灵活的帧封装以支持固定或可变长度的数据,GFP能对可变长度的用户PDU(ProtocolDataUnit,协议数据单元)进行全封装,免去对数据的拆分、重组及对帧的填充,简化了系统的操作,提高了系统的处理速度和稳定度;另一方面,GFP不像LAPS以特定字符7E填充帧头来确定帧边界,GFP使用类似于ATM中基于差错控制的帧定界方式,以HEC(HeadErrorCheck,帧头错误检验)为基础,通过两字节当前帧的净荷长度和两字节的帧头错误检验来确定帧的边界,这种显示帧长度指示的方式可减少边界搜索处理时间,对于有较高同步需求的数据链路来说相当重要,同时它克服了靠帧标志定位带来的种种缺点,进一步加快了处理速度,适应下一代SDH高速的要求。GFP标准定义了两种模式:透传模式和帧映射模式。GFP-T(透明映射的GFP)是一种面向块状码的数据流模式,实现对时延敏感的SAN网(work,存储区域网)的线路码的高效和透明地传输,它面对的是FiberChannel(光纤通道)、FICON和ESCON接口的数据流。GFP-F(帧映射的GFP)是一种面向PDU的数据流模式,用作传输IP协议、多协议标记交换(MPLS)和以太网的数据流。在这里我们主要介绍适用于传输以太网数据的GFP-F模式。GFP帧结构GFP协议定义了两种类型的GFP帧:GFP客户帧和GFP管理帧。GFP的帧结构如图1所示,按字节排列,它包括GFP帧头(CoreHeader)和GFP净荷区(GFPPayloadArea)两部分。GFP帧头包括帧长度标识(PLI,PayloadLengthIndicator)和帧头错误检验(CoreHEC)。PLI为2个字节,表明帧的净荷长度,当PLI大于或等于4时,表明该帧是GFP客户帧,否则为GFP管理帧(目前只定义了PLI等于0时的空闲帧)。帧头错误检验也为2个字节,它采用CRC-16的检错方法给帧头提供保护。这是GFP一大特点,它通过计算接收到数据的帧头错误检验值与数据本身比较来实现帧的定位,通过PLI知道帧的长度,这样就可迅速、直接地把净荷从GFP帧中提取出来,从而避免了HDLC协议的需要大量时间的繁琐操作。在发送和接收GFP帧前,四字节的帧头要与十六进制数B6AB31E0进行异或以实现所谓的扰码功能。GFP净荷区包括:净荷头(PayloadHeader)、净荷信息域(PayloadInformation)和净荷的帧检验序列(PayloadFCS)三部分,而净荷头包括:净荷类型(PayloadType)、净荷类型的HEC(TypeHEC)和扩展头(ExtensionHeader)三部分。净荷类型为2个字节,表明GFP净荷信息的内容和格式。它包括净荷类型标识(PTI)、净荷FCS标识(PFI)、扩展帧头标识(EXI)和用户净荷标识(UPI)。PTI为3bit,表明该GFP帧为客户数据帧还是客户管理帧;PFI为1bit,表明有没有净荷的FCS;EXI为4bit,表明采用哪种扩展帧头:空扩展帧头、线性扩展帧头还是环扩展帧头??;UPI为8bit,表明GFP净荷中的数据类