第2章:OTN帧结构详解

好,咱们今天来聊聊OTN帧结构。说实话,这玩意儿是OTN的根基,搞不懂帧结构,后面那些复用、映射、保护什么的,全都没法聊。我当年刚入行时,对着帧结构图看了三天三夜,才总算摸到点门道。今天我就把那些踩过的坑、悟出来的经验,一股脑儿倒给你。

2.1 OTUk帧结构:一个4080字节的“集装箱”

先看最基础的OTUk帧。说白了,OTUk帧就是一个固定大小的数据块——4080字节。为什么是4080?不是4096?嗯,这里有个历史原因,咱们后面再说。

这4080字节被分成4行,每行4080/4=1020字节。你看,4行×1020列,这就是OTUk帧的基本骨架。

核心要点:OTUk帧 = 4行 × 4080列 = 16320字节

帧周期固定:对于OTU1是48.971μs,OTU2是12.191μs,OTU3是3.035μs

我习惯把OTUk帧想象成一个集装箱。集装箱有固定的尺寸,不管里面装什么货物,箱子本身的大小不变。OTUk帧也一样,不管承载什么业务,帧结构永远是4080字节。

2.2 OPUk/ODUk/OTUk三层结构:俄罗斯套娃

接下来是重头戏——三层结构。你想想看,为什么需要三层?直接一层搞定不行吗?

我举个例子。假设你要寄一个包裹:

  • OPUk(光通道净荷单元):相当于包裹里的货物本身。客户业务(比如SDH、以太网)就放在这里。
  • ODUk(光通道数据单元):相当于包裹的包装盒。它给OPUk加上了路径开销,用于端到端的管理。
  • OTUk(光通道传输单元):相当于快递单和胶带。它给ODUk加上了前向纠错(FEC)和段开销,用于物理层传输。

说白了,就是一层套一层。客户业务→OPUk→ODUk→OTUk,最后送到光纤上跑。

我的经验:调试时最容易搞混的是ODUk和OTUk的开销位置。记住一点:ODUk开销在帧的第2-4行第1列,OTUk开销在第1行第1列。我曾经因为搞反了这两个位置,查了整整一个下午的bug。

2.3 帧对齐开销(FAS):找到帧的“起跑线”

FAS,全称Frame Alignment Signal,帧对齐信号。它的作用是什么?说白了,就是告诉接收端:“嘿,帧从这里开始!”

FAS位于OTUk帧的第1行第1-6字节,固定为0xF6F6F6282828。你可能会问,为什么是这串数字?嗯,这是ITU-T G.709标准规定的,咱们照着做就行。

接收端怎么用FAS?它会不断扫描收到的比特流,寻找这6个字节的固定模式。一旦找到,就知道帧的起始位置了。这个过程叫帧定位。

注意:帧定位不是一次就能成功的。为了防止误判,通常需要连续多次确认。我见过一个案例,因为光纤抖动导致FAS被误检,整个系统频繁失步。后来加了3次确认机制,问题才解决。

2.4 复用结构:从小水管到大管道

复用,说白了就是把多个低速信号合并成一个高速信号。OTN的复用结构有点像水管拼接:

  • ODU0:1.25Gbps,承载1000BASE-X
  • ODU1:2.5Gbps,承载OC-48/STM-16
  • ODU2:10Gbps,承载OC-192/STM-64
  • ODU3:40Gbps,承载OC-768/STM-256
  • ODU4:100Gbps,承载100GE

复用规则是这样的:

  1. 低阶ODU可以复用到高阶ODU中。比如4个ODU1可以复用到1个ODU2中。
  2. 复用是通过时隙(TS)实现的。ODU2有4个时隙,每个时隙2.5Gbps。
  3. 时隙分配是固定的,不能动态调整。

避坑指南:我曾经在项目中遇到一个问题——客户想用ODU2承载3个ODU1和1个ODU0。结果发现ODU2只有4个时隙,每个时隙2.5Gbps,而ODU0只有1.25Gbps,占不满一个时隙。最后只能把ODU0先映射到ODU1里,再复用进ODU2。你看,复用结构不是随便拼的,得按规矩来。

2.5 开销字节详解:那些“看不见”的管理信息

OTN帧里除了客户数据,还有很多开销字节。这些开销字节虽然不承载用户数据,但它们是OTN网络的“神经系统”。

开销类型 位置 主要功能
FAS 第1行第1-6列 帧对齐
OTUk开销 第1行第7-14列 段监控、通用通信通道
ODUk开销 第2-4行第1列 路径监控、串联连接监控
OPUk开销 第1行第15-16列 净荷结构标识、映射方式

我建议你重点关注ODUk的路径监控字节(PM)。它包含误码计数、告警指示等信息。调试时,看PM字节就能知道链路质量好不好。

2.6 前向纠错(FEC):给信号上“保险”

OTUk帧的最后一部分是FEC,位于第1-4行第3825-4080列,共256列×4行=1024字节。FEC用的是Reed-Solomon(255,239)编码,可以纠正最多8个字节的错误。

你可能会问,为什么要加FEC?因为光信号在光纤里传输会衰减、会受干扰。不加FEC,10G信号可能只能传40公里;加了FEC,能传80公里甚至更远。

我的经验:FEC不是万能的。如果误码率太高,FEC也会失效。我曾经遇到一个场景,光纤老化导致误码率飙升到10^-4,FEC完全扛不住,业务直接中断。所以,别把FEC当救命稻草,该换光纤还得换。

2.7 映射方式:客户业务怎么“塞”进OPUk

最后说说映射。客户业务(比如以太网、SDH)要进OPUk,得先经过映射。常见的映射方式有:

  • 比特同步映射(BMP):简单粗暴,直接按比特对齐。适用于时钟同步的场景。
  • 异步映射(AMP):通过填充字节调整速率差异。适用于时钟不同步的场景。
  • 通用成帧规程(GFP):把数据包封装成帧,再映射进OPUk。适用于以太网等分组业务。

我习惯用GFP映射以太网业务。为什么呢?因为GFP能保留以太网帧的边界信息,接收端还原时更准确。不过GFP也有缺点——开销大,效率低一点。

注意:映射方式选错了,业务可能通不了。我记得有一次,客户用AMP映射1000BASE-X,结果因为时钟偏差太大,业务时断时续。后来换成BMP,问题就解决了。所以,选映射方式时,一定要搞清楚客户业务的时钟特性。

好了,OTN帧结构就讲到这里。下一章咱们聊聊OTN的时钟和同步,那又是一个让人头疼的话题。不过别怕,跟着我一步步来,你也能成为OTN专家。