第2章:OTN帧结构详解
各位好,我是老张。今天咱们来啃一块硬骨头——OTN帧结构。说实话,我刚入行那会儿,看着OTN帧结构图也是一脸懵。但干这行十几年下来,我越来越觉得,搞懂帧结构就像拿到了一把钥匙,整个OTN网络的大门就打开了。
这一章,我会带着大家把OTUk、OPUk、ODUk这些概念掰开揉碎了讲。别怕,咱们一步步来。
2.1 OTUk帧结构——基础中的基础
先说说OTUk帧。说白了,这就是OTN网络里最基础的传输单元。我习惯把它想象成一个集装箱,里面装什么货,怎么装,都有严格规定。
一个标准的OTUk帧,大小是4行×4080列。注意,这是字节数。为什么是4080列?嗯,这里有个历史原因——它和SDH的帧结构有渊源,但咱们今天不展开讲。
这4080列,分成三个区域:
- OTUk开销区:第1到16列,共4行×16列=64字节
- OPUk净荷区:第17到3824列,共4行×3808列=15232字节
- FEC校验区:第3825到4080列,共4行×256列=1024字节
我给大家画个简图:
行号 1-16列 17-3824列 3825-4080列
1 | OTUk开销 | OPUk净荷 | FEC校验 |
2 | OTUk开销 | OPUk净荷 | FEC校验 |
3 | OTUk开销 | OPUk净荷 | FEC校验 |
4 | OTUk开销 | OPUk净荷 | FEC校验 |
这里要注意,FEC不是必须的。我在项目里见过不少设备,为了节省成本,把FEC关掉了。但我个人建议,除非你链路质量特别好,否则别省这个钱。FEC能帮你纠正不少传输错误。
我曾经在一个长途干线项目里,为了省那点带宽,把FEC关了。结果呢?误码率飙升,业务三天两头中断。后来老老实实把FEC打开,世界清净了。所以,FEC能开就开,别省。
2.2 OPUk/ODUk/OTUk开销分析
好,现在咱们看看这三个"Uk"到底有什么区别。我换个说法:
- OPUk:客户信号的"包装盒",负责把各种业务信号装进去
- ODUk:在OPUk外面加了一层"管理标签",用于端到端管理
- OTUk:在ODUk外面再加一层"运输标签",用于段层管理
你想想看,这就像寄快递:OPUk是商品本身,ODUk是快递单,OTUk是运输公司的分拣标签。三层各司其职。
2.2.1 OPUk开销
OPUk开销位于第15-16列,主要包含:
| 字节位置 | 名称 | 功能 |
|---|---|---|
| 第1行15-16列 | PSI | 净荷结构标识,指示映射方式 |
| 第2行15-16列 | JC | 调整控制字节,用于速率适配 |
| 第3行15-16列 | NJO/PJO | 负/正调整机会字节 |
| 第4行15-16列 | 保留 | 留给未来扩展 |
PSI这个字节特别重要。它里面有个PT(Payload Type)字段,告诉你里面装的是什么业务。比如0x20表示CBR客户信号,0x21表示GFP映射的包业务。我在调测时,经常先看这个字段,确认业务类型对不对。
2.2.2 ODUk开销
ODUk开销占第2-4行的第1-14列。这里面东西比较多,我挑几个重点说:
- TCM(串联连接监视):第3行1-3列,共3个字节。用于跨运营商或跨设备商的性能监视。我做过一个跨国项目,两端设备厂商不同,全靠TCM来定位故障。
- PM(路径监视):第2行1-3列,用于端到端性能监视。包括BIP-8校验、BEI、BIAE等。
- EXP(实验字节):第2行4-5列,留给厂商自定义。有些厂商用它来传私有信息。
- GCC(通用通信通道):第4行1-2列,用于设备间通信。比如OSPF、LMP等协议就跑在这上面。
在排查故障时,我习惯先看PM里的BIP-8错误计数。如果这个数在增长,说明链路有误码。再看TCM,能帮你定位是哪一段出了问题。这个套路,我用了十年,屡试不爽。
2.2.3 OTUk开销
OTUk开销只占第1行的第1-14列。它负责段层的管理:
| 列号 | 名称 | 功能 |
|---|---|---|
| 1-7 | FAS | 帧对齐信号,用于帧同步 |
| 8 | MFAS | 复帧对齐信号 |
| 9-10 | SM | 段监视,包括BIP-8、STAT等 |
| 11-12 | GCC0 | 通用通信通道0 |
| 13-14 | RES | 保留字节 |
FAS是帧同步的关键。设备收到信号后,先找FAS,找到后才能正确解析后面的数据。MFAS用于复帧,当需要传输超过256个复帧的信息时,就用它来扩展。
2.3 OTN映射与复用路径
这部分是重点中的重点。我见过不少工程师,帧结构背得滚瓜烂熟,但一问到映射路径就卡壳。说白了,映射就是怎么把客户信号装进OPUk里。
OTN的映射路径,我习惯用这个图来理解:
客户信号 → ODUflex/ODU0/ODU1/ODU2/ODU3/ODU4
↓
OPUk(映射)
↓
ODUk(复用)
↓
OTUk(成帧)
↓
FEC编码
↓
光模块发送
常见的映射方式有几种:
- CBR映射:用于SDH/SONET信号。比如STM-64映射到ODU2,就是典型的CBR映射。我做过一个项目,把10G SDH信号直接映射到ODU2e,简单粗暴。
- GFP映射:用于以太网信号。比如10GE映射到ODU2e,就是用GFP-F封装。这里要注意,GFP有帧映射和透明映射两种,别搞混了。
- ATM映射:现在用得少了,但老设备上还能见到。
复用路径呢?说白了就是小管道往大管道里塞。比如:
- 4个ODU1可以复用成1个ODU2
- 4个ODU2可以复用成1个ODU3
- 10个ODU2e可以复用成1个ODU4
但要注意,复用不是简单的"4个ODU1塞进ODU2"就完事了。它涉及到时隙分配、指针调整等复杂操作。我当年第一次调复用的时候,指针调整没配对,结果业务全断了。嗯,从那以后,我对指针调整就特别敏感。
映射和复用的本质,就是解决"客户信号速率"和"OTN管道速率"之间的匹配问题。速率不匹配时,就用调整字节(JC、NJO、PJO)来做速率适配。这个思想贯穿整个OTN设计。
2.4 实际案例分析
讲个真实案例。去年有个客户,要把10GE业务从A地传到B地,中间经过三个设备厂商的网络。我当时的方案是这样的:
- 在A端,10GE信号通过GFP-F映射到ODU2e
- ODU2e再映射到OTU2e,加上FEC
- 经过中间网络时,用TCM来监视每一段的性能
- 在B端,解映射恢复出10GE信号
结果呢?中间有一段链路质量不好,误码率偏高。但因为开了FEC,加上TCM及时告警,我们很快就定位到了问题段,换了根光纤就解决了。如果没有FEC和TCM,这个故障排查起来可就费劲了。
所以,我建议大家在实际组网时,一定要把FEC和TCM用好。它们不是摆设,是真正的"救命稻草"。
2.5 小结
这一章内容不少,我给大家捋一下重点:
- OTUk帧结构:4行×4080列,分开销区、净荷区、FEC区
- OPUk/ODUk/OTUk:三层结构,各司其职
- 映射方式:CBR、GFP、ATM,根据业务类型选择
- 复用路径:小管道往大管道塞,注意时隙和指针
下一章,咱们聊聊OTN设备的硬件架构。到时候我会讲讲,这些帧结构在设备里是怎么实现的。咱们下章见。