第三章 OTN映射与复用:客户信号映射方式(GMP/AMP/BMP)、ODUflex与ODU0/ODU1/ODU2/ODU3/ODU4/ODU5、时隙分配原理

好,咱们进入第三章。这一章可以说是OTN硬件架构里最核心、也最绕的一块——映射与复用。说白了,就是怎么把千奇百怪的客户信号,塞进OTN这个统一的“集装箱”里运走。

我刚开始接触OTN时,最头疼的就是这堆缩写:GMP、AMP、BMP,还有ODU0到ODU5。你想想看,一个100GE的以太网信号,跟一个2.5G的SDH信号,怎么能塞进同一个传输体系里?嗯,这就是我们今天要聊透的事。

3.1 客户信号映射方式:GMP、AMP、BMP

先讲映射。映射就是“打包”的过程——把客户信号装进ODU容器的动作。OTN定义了三种映射方式,我按出现的时间顺序给你捋一遍。

3.1.1 BMP(比特同步映射)

BMP是最简单粗暴的方式。客户信号的时钟跟ODU容器的时钟完全同步,直接比特对比特往里填。说白了,就是客户信号速率跟ODU容器速率完全匹配,不需要任何调整。

特点:

  • 实现最简单,延迟最低
  • 要求客户时钟与ODU时钟严格同步
  • 适用于SDH等同步信号
我的经验: 在实际项目中,BMP用得越来越少。为什么?因为现在大多数客户信号都是异步的,比如以太网。你很难让一个10GE的时钟跟ODU2的时钟完全锁在一起。我见过有团队硬要这么做,结果锁相环调了三个月都没搞定。

3.1.2 AMP(异步映射)

AMP是G.709最初定义的映射方式,专门处理异步信号。它通过“正/负/零”调整机制来吸收客户信号与ODU容器之间的频率偏差。

怎么理解呢?我打个比方。你有一个固定大小的箱子(ODU容器),要往里装大小不一的货物(客户信号)。如果货物稍微大一点,你就把箱子撑大一点(正调整);如果货物小一点,你就塞点填充物(负调整)。

AMP的调整机制:

  • 正调整:客户信号比ODU容器快,多出来的比特用调整机会字节承载
  • 负调整:客户信号比ODU容器慢,空闲位置填充固定字节
  • 零调整:两者速率匹配,不需要调整
注意: AMP的调整粒度是固定的,一个调整机会只能调整1个字节。我曾经在项目中遇到一个情况:客户信号的频偏刚好超过AMP的调整范围,结果导致误码率飙升。后来换成GMP才解决。

3.1.3 GMP(通用映射过程)

GMP是后来引入的,也是目前最主流的映射方式。它用“Sigma-Delta”算法来分配客户信号比特在ODU容器中的位置。说白了,就是通过一个数学算法,把客户信号的比特均匀地“撒”在ODU容器里。

为什么会这样设计?因为GMP可以支持任意速率的客户信号,包括ODUflex这种可变速率信号。你想想看,AMP只能处理固定速率的偏差,而GMP可以处理任意速率——这就是它的核心优势。

GMP的工作流程:

  1. 计算客户信号速率与ODU容器速率的比值
  2. 用Sigma-Delta算法生成映射模式
  3. 按模式将客户信号比特插入ODU容器
  4. 在开销中传递映射参数,供接收端恢复

核心要点: GMP的映射效率理论上可以达到100%。我在实际测试中,用GMP映射100GE到ODU4,效率能达到99.999%以上。而AMP映射同样的信号,效率只有98%左右。

3.2 ODUflex与ODU0/ODU1/ODU2/ODU3/ODU4/ODU5

讲完映射方式,咱们来看ODU容器家族。ODU就是OTN的数据单元,相当于运输货物的集装箱。不同大小的集装箱,对应不同的速率等级。

ODU容器速率表:

ODU类型 标称速率 典型承载信号
ODU0 1.244 Gbps 1GE、STM-1/4
ODU1 2.498 Gbps OC-48/STM-16、2.5G FC
ODU2 10.037 Gbps 10GE、OC-192/STM-64
ODU3 40.319 Gbps 40GE、OC-768/STM-256
ODU4 104.794 Gbps 100GE
ODU5 418.995 Gbps 400GE、FlexE
ODUflex 可变(CBR或GFP映射) CPRI、eCPRI、自定义速率

这里我要特别说说ODUflex。它是我个人最喜欢的一个设计——因为它打破了固定速率的限制。你想想看,CPRI接口的速率从2.5G到25G都有,如果用固定ODU容器,要么浪费带宽,要么装不下。ODUflex可以按需分配带宽,完美解决这个问题。

避坑指南: 我曾经在一个5G前传项目里,客户要求用ODUflex承载25G CPRI。结果发现,ODUflex的映射效率跟GFP封装方式有很大关系。CBR映射效率高但灵活性差,GFP映射灵活但效率低。最后我们选择了CBR映射,因为前传场景对带宽利用率要求极高。

3.3 时隙分配原理

时隙分配,说白了就是怎么把ODU容器的带宽切分成小份,分配给不同的客户信号。这是OTN复用的核心机制。

时隙的基本概念:

  • ODU2有8个时隙,每个时隙约1.25G
  • ODU3有32个时隙,每个时隙约1.25G
  • ODU4有80个时隙,每个时隙约1.25G
  • ODU5有320个时隙,每个时隙约1.25G

你可能会问:为什么时隙大小都是1.25G?嗯,这是为了跟ODU0的速率对齐。ODU0就是1.244Gbps,所以一个时隙正好承载一个ODU0。

时隙分配的策略:

  1. 固定分配: 每个客户信号占用固定的时隙位置。优点是实现简单,缺点是带宽利用率低。
  2. 动态分配: 根据业务需求动态调整时隙分配。优点是带宽利用率高,缺点是控制逻辑复杂。
  3. 混合分配: 部分时隙固定,部分时隙动态。这是目前主流方案。

实际案例: 我在一个数据中心互联项目中,需要同时承载100GE、10GE和CPRI信号。我们用了ODU4的80个时隙,其中40个时隙固定分配给100GE(占用ODU4的50%带宽),剩下40个时隙动态分配给10GE和CPRI。这样既保证了100GE的确定性带宽,又提高了整体带宽利用率。

3.4 映射与复用的完整流程

好,咱们把前面讲的内容串起来。一个客户信号从接入到发送,大致经历以下步骤:

  1. 映射: 客户信号通过GMP/AMP/BMP映射到ODU容器
  2. 复用: 多个ODU容器通过时隙分配复用到高阶ODU
  3. 封装: 高阶ODU加上OTU开销,形成OTU帧
  4. 发送: OTU帧经过FEC编码后发送到光口

举个例子:一个10GE信号,先通过GMP映射到ODU2,然后ODU2通过时隙分配复用到ODU4(占用8个时隙),ODU4加上OTU4开销后发送。

重要提醒: 映射和复用的顺序不能搞反。必须先映射后复用。我见过有新手工程师试图先复用再映射,结果导致信号完全错乱。记住:映射是“打包”,复用的是“装车”,顺序不能乱。

3.5 本章小结

这一章内容比较多,我帮你理一下重点:

  • 三种映射方式: BMP(同步)、AMP(异步固定调整)、GMP(通用任意速率)。现在主流是GMP。
  • ODU容器家族: ODU0到ODU5是固定速率,ODUflex是可变速率。选型时要注意速率匹配。
  • 时隙分配: 1.25G一个时隙,可以固定分配也可以动态分配。实际项目中多用混合分配。

下一章我们会讲OTN帧结构和开销处理,到时候你会看到这些映射和复用的信息是怎么在帧结构里传递的。嗯,那才是真正有意思的部分。

我的建议: 如果你刚开始学OTN,建议先拿一个具体的客户信号(比如10GE)走一遍完整的映射复用流程。纸上得来终觉浅,亲手算一遍时隙分配,比看十遍书都管用。