4. 频谱资源建模
在 Flex Grid 光网络中,频谱不再是固定 50 GHz 的“格子”,而是一段连续可切的频率轴。频谱资源建模的任务,就是把物理光纤上可用的频率范围抽象成规划器能够计算、分配和回收的数据结构。模型建得准不准,直接决定后续路由与频谱分配(RSA)能否落地。本节围绕四个建模要素展开:可用频谱范围、保护带与隔离带、频谱碎片化表示、资源池化与分配约束。
一、可用频谱范围:把频率轴切成可管理的“资源坐标系”
可用频谱范围由光层硬件决定。以 C 波段为例,常取 191.35 THz 至 196.10 THz,对应约 1530 nm 至 1565 nm。Flex Grid 的颗粒度通常取 6.25 GHz 或 12.5 GHz,前者用于精细切片,后者用于简化调度。建模时先定义三个量:起始频率 f_start、终止频率 f_end、最小颗粒度 g。可用槽位数 N = (f_end − f_start) / g。若 f_start=191.35 THz、f_end=196.10 THz、g=6.25 GHz,则 N=760 个频隙。规划器内部通常用整数索引 i∈[0, N−1] 表示频隙,物理频率 f(i)=f_start+i·g。这样做的价值在于:所有分配、碎片统计、约束判断都转化为整数区间运算,避免浮点误差。
需要特别说明参照约定:本文所有频率区间均采用左闭右开 [f_low, f_high),即包含低端、不包含高端。这样相邻区间拼接时不会重复计数,也便于用“起始索引 + 频隙数”唯一表示一个频谱块。
二、保护带与隔离带:不是浪费,而是可计算的工程余量
保护带(guard band)用于同一链路中相邻光通道之间,防止滤波器滚降、频率漂移和非线性效应造成串扰。隔离带(isolation band)则用于不同方向、不同光纤或不同管理域之间,隔离程度要求更高。建模时二者都表现为“不可分配频隙”,但语义不同:保护带随通道带宽动态附加,隔离带通常是固定预留。
一个可操作的建模方式是:为每个已分配通道记录其“占用区间”和“保护区间”。例如某 400G 通道占用 75 GHz,若两侧各留 12.5 GHz 保护带,则实际不可用区间为 75 + 2×12.5 = 100 GHz。在 6.25 GHz 颗粒度下,即 16 个频隙。隔离带则单独维护一张固定预留表,例如在 C 波段两端各预留 100 GHz 作为边缘隔离,不参与任何业务分配。这样,规划器在寻找空闲频谱时,只需在“可用频隙集合”中扣除保护带与隔离带,逻辑清晰且可审计。
三、频谱碎片化表示:从“空闲多少”到“空闲成什么样”
传统固定栅格中,空闲资源常用“剩余波道数”描述。Flex Grid 中,空闲频谱可能被切成多个不连续的小块,仅看总量会严重误判。碎片化表示的核心是记录空闲频隙的“区间集合”,而不是单一计数。常用表示法有三种:位图(bitmap)、区间列表(interval list)、最大连续块(largest continuous block, LCB)。
位图最直观:长度为 N 的 0/1 数组,1 表示占用,0 表示空闲。区间列表更紧凑:只记录每个空闲块的起始索引和长度,例如 {[500,580), [740,780)}。LCB 则用于快速判断“能否容纳某个带宽请求”。工程上常同时维护位图和 LCB,前者用于精确分配,后者用于快速准入判断。碎片度可定义为“空闲块数 / 总空闲频隙数”,值越大说明空闲越零散。例如总空闲 12 个频隙却分成 2 块,碎片度约 0.167;若分成 6 块,碎片度升至 0.5,此时即使总空闲量不变,大带宽请求的阻塞率也会显著上升。
四、资源池化与分配约束:把“能放”变成“可放且合规”
资源池化是指把一条链路或一条端到端光路的可用频谱视为一个可分配池,池内频隙按需切分。池化本身不产生新频谱,但能统一管理、统一回收,避免各通道各自为政。分配约束则决定“哪些空闲频隙真正可用”,至少包括以下五类:
- 连续性约束:一个光通道必须占用连续频隙,不能跨碎片拼接。
- 保护带约束:新通道两侧必须留出规定保护带,且保护带不能与已有通道重叠。
- 隔离带约束:不得占用固定隔离区,跨方向或跨域时还需额外隔离。
- 颗粒度约束:起始索引和频隙数必须对齐到 6.25 GHz 或 12.5 GHz 网格。
- 波长连续性约束:端到端无波长转换时,同一通道在所有链路上必须使用相同频隙区间。
实际分配时,规划器通常按“首次命中”或“最佳命中”策略扫描。以首次命中为例:从索引 0 开始,找到第一个满足“连续长度 ≥ 请求频隙数 + 两侧保护带”的空闲区间,且该区间不与隔离带相交,即完成分配。若找不到,则触发碎片整理、重路由或延迟建立。下面给出一个简化的分配判断伪代码,便于理解约束如何落地:
输入:请求频隙数 n,保护带 gb,空闲区间列表 free_list
输出:分配起始索引 start 或 失败
for each interval [s, e) in free_list:
usable_start = s + gb
usable_end = e - gb
if usable_end - usable_start >= n:
if usable_start 对齐颗粒度 and (usable_start + n) 对齐颗粒度:
return usable_start
return 失败
这段逻辑说明:保护带不是事后附加,而是在扫描阶段就参与可用长度计算。若把保护带遗漏,规划器会给出看似可行、实际却违反隔离要求的分配结果。工程上建议把保护带和隔离带统一建模为“不可用频隙掩码”,与占用位图合并后再做区间扫描,可减少分支判断和人为错误。
综上,频谱资源建模的本质是把物理频率轴转化为可计算、可审计、可回收的整数资源池。可用范围定义边界,保护带与隔离带定义合规余量,碎片化表示定义空闲形态,资源池化与分配约束定义“能放且合规”的判定规则。四者共同构成 Flex Grid 频谱规划的数据基础,后续的路由选择、碎片整理和长距传输性能评估都建立在这一模型之上。