2、OTN帧结构解析:OTUk帧结构、OPUk/ODUk/OTUk三层关系、帧定位与开销字节
好,咱们进入OTN最核心的部分——帧结构。说实话,我当年刚接触OTN时,看着那一堆开销字节和分层结构,头都大了。但后来在项目里调过几次故障,才真正体会到:不懂帧结构,你连故障定位的门都摸不着。
2.1 OTUk帧结构:4行4080列
OTUk帧是个固定长度的块,4行×4080列。你想想看,这4080列里,前16列是开销,中间3808列是净荷,最后256列是FEC校验。我习惯把这16列开销比作「信封上的地址和邮戳」,净荷是「信纸」,FEC是「防拆封条」。
关键尺寸:
- 帧总长:4 × 4080 = 16320字节
- 开销区:4 × 16 = 64字节
- 净荷区:4 × 3808 = 15232字节
- FEC区:4 × 256 = 1024字节
这里有个坑,我提醒你注意:不同速率等级的OTUk,帧结构完全一样,但帧周期不同。OTU1是48.971μs,OTU2是12.191μs,OTU4只有1.168μs。速率越高,帧跑得越快,但帧的「长相」一模一样。
2.2 OPUk/ODUk/OTUk三层关系
这三层的关系,说白了就是「套娃」——一层套一层。我经常跟团队里的新人说:你把它想象成快递包裹。
- OPUk(光通道净荷单元):这是你要寄的「货物」。客户信号(比如100GE、STM-64)先映射到这里。OPUk负责适配各种客户速率,说白了就是「装箱」。
- ODUk(光通道数据单元):这是「货物清单」。ODUk里记录了这箱货是谁的、从哪来、到哪去、有没有出错。ODUk的TCM开销,我曾在一次跨省故障中靠它定位到了具体是哪段光缆断了。
- OTUk(光通道传输单元):这是「快递车」。OTUk负责把ODUk+OPUk打包,加上FEC,然后扔到光纤里跑。OTUk的SM开销,就是这辆车的「行车记录仪」。
我的经验: 排查故障时,先看OTUk层的SM(段监视),再看ODUk层的PM(路径监视)。如果SM有误码但PM没有,问题大概率出在本段光缆;如果SM和PM都有误码,那可能是上游或下游的问题。这个判断逻辑,我在现网中验证过无数次。
为什么会设计成三层?嗯,其实是为了解耦。OTUk只管一段光纤的传输质量,ODUk只管端到端的业务质量,OPUk只管客户信号的适配。这样,任何一层出问题,都不会影响其他层的功能。
2.3 帧定位与开销字节
帧定位,就是接收端怎么知道一帧从哪里开始。OTN用的是FAS(帧定位信号),放在第1行第1~6列。FAS的字节是固定的:0xF6 0xF6 0xF6 0x28 0x28 0x28。接收端只要连续找到6个这样的字节,就认为锁定了帧头。
我记得有一次,某运营商的设备频繁报「LOF(帧丢失)」,我上去一查,发现是光模块的时钟恢复电路有问题,导致FAS字节被误判。换了个模块,问题立刻消失。你看,帧定位看似简单,但实际工程中坑不少。
开销字节里,我重点说几个常用的:
| 开销字节 | 位置 | 功能 | 我的备注 |
|---|---|---|---|
| FAS | 第1行1~6列 | 帧定位 | 锁定帧头的关键 |
| MFAS | 第1行7列 | 复帧定位 | 用于扩展开销,比如TCM |
| SM | 第1行8~10列 | 段监视 | 查本段光缆质量,我最常用 |
| PM | 第2行8~10列 | 路径监视 | 查端到端业务质量 |
| TCM | 第3~4行 | 串联连接监视 | 跨运营商、跨域时必看 |
| GCC | 第1行11~12列 | 通用通信通道 | 可以传DCN、OSC等 |
避坑指南: 我曾经遇到过一个案例,某段光缆的SM开销显示BIP-8误码率高达10^-4,但业务却正常。后来发现,是FEC把误码全纠正了。所以,只看SM开销是不够的,还要结合FEC纠错统计一起看。否则,你可能会误判光缆状态。
最后,我建议你记住一个原则:开销字节是OTN的「眼睛」。你读懂了开销,就能看到光缆上发生的每一件事。比如,BIP-8误码增加,说明光缆质量在劣化;IAE告警,说明对端设备有故障;BDI,说明下游已经检测到问题并反馈回来了。
嗯,这一节的内容就到这里。下一节,我会带你深入OPUk的映射方式,看看客户信号是怎么装进这个「箱子」里的。