解决什么问题
当一条新关键流加入网络时,最危险的问题不是它自己能不能通,而是它会不会破坏已有关键流。TSN 的目标是保护边界,所以配置系统应该有能力说“不”。
准入控制解决的就是这个问题:在接受新流之前,先判断路径、带宽、队列、窗口、冗余和设备能力是否仍然足够。
背景与直觉
电影院座位有限。新观众想进来,如果还有合适座位就可以接受;如果只剩过道,卖票反而会破坏秩序。网络资源也是这样。平均带宽看起来有空,不代表特定时间窗口、特定队列和特定路径还有空位。
怎么解决
准入控制通常要检查以下输入。
| 检查项 | 为什么重要 |
|---|---|
| 流规格 | 周期、最大帧长、deadline 决定资源需求 |
| 路径 | 每条链路和每台桥都要有资源 |
| 队列 | 关键流必须进入受保护队列 |
| 调度窗口 | Qbv 下要有可用相位和余量 |
| 冗余需求 | FRER 会放大路径资源消耗 |
| 已有流 | 新流不能让旧流 miss deadline |
如果任何关键条件不满足,拒绝新流是正确结果。确定性网络宁可明确拒绝,也不应该悄悄接受后让所有边界失效。
带来了什么新问题
准入控制需要准确的状态。拓扑过期、设备能力描述错误、已有配置和控制器视图不一致,都会让准入判断失真。集中式配置因此必须配合状态反馈和版本管理。
另一个问题是策略。多个候选路径都可行时,应该选最短路径、最少资源路径、最容易保留冗余的路径,还是最不影响未来扩展的路径?这会进入更高级的调度和优化问题。
检查点
- 为什么“还有平均带宽”不等于“可以准入一条新 deadline 流”?
- 接受一条带 FRER 的新流时,资源需求为什么可能不只增加一倍?