1.3 节点的家底与契约:能力模型与系统约束


1.3 节点的家底与契约:能力模型与系统约束

节点能力模型把一台设备上场的本钱拆成四项:计算(CPU 与内存)、通信(速率与射程)、能量(电池与采集)、移动性(静止、漫游或高速)。系统约束则是全体节点默认签下的契约:带宽共享、能量有限、无中心权威、拓扑可变、安全边界开放。

某个项目验收前夜,实验室里的演示一切正常,到了现场却频繁掉线。排查三天,最后发现症结荒诞:现场用的电池是杂牌的,电压偏低零点二伏,发射功率随之缩水,邻接关系时有时无。设备没坏、协议没错,败的是"家底"——节点的物理能力参数撑不住实验室里从未收紧过的余量。从那以后我养成了习惯:谈任何自组织网络设计,先把每个节点的家底列成表,再谈协议。

四项家底与设备分级

计算能力决定节点能跑多复杂的协议——OLSR 这类表驱动路由对内存的胃口,和一些传感器节点全部可用内存在同一量级。通信能力包括速率档位与射程,射程又由发射功率、天线增益与接收灵敏度共同决定(第2章会把它们组织成链路预算)。能量是最硬的约束:手机、车载、市电mesh路由节点不缺电,纽扣电池传感节点则每一毫安时都要精打细算。移动性把节点分成静态(固定部署)、游牧(偶尔换位)、移动(持续运动)三类,直接决定第4章要讲的自适应机制的权重。

设备等级 计算 通信 能量 移动性 典型角色
传感末端 微控制器级 低速低功耗 电池以月年计 多为静态 数据源
Mesh 路由单元 嵌入式级 中速中射程 市电或大电池 静态或游牧 骨干中继
手持终端 通用处理器 中高速 电池以天计 人随行走 混合角色
车载或机载 较强算力 高速率多天线 车电或机载电源 高速移动 高动态中继

这张表的一个隐含结论:真实网络几乎总是异构的。传感末端与 Mesh 骨干同场,能力差出两三个数量级,协议若按"人人平等"设计,弱节点会被协议自身的开销压垮。分簇结构(第2章)与分层架构(第7章)本质上都是对异构性的回应。

算一笔能量账

能量约束值得单独算一遍,因为它最容易被乐观估计。下面这段脚本估算一个传感节点的理论寿命:发送、接收、睡眠三个状态的电流与时长占比给定,用电池容量除以平均电流。三节干电池串联约 2700 毫安时,微控制器发送电流约三十毫安、接收约二十毫安、睡眠约二十微安。

# 传感节点能量寿命估算:占空比决定一切 battery_mah = 2700.0 # 三节干电池串联的容量,单位毫安时 i_tx, i_rx, i_sleep = 30.0, 20.0, 0.02 # 发送、接收、睡眠电流,毫安 # 占空比:每分钟醒 1 秒收发,其余睡眠 duty_tx, duty_rx = 0.008, 0.009 duty_sleep = 1.0 - duty_tx - duty_rx avg_ma = i_tx*duty_tx + i_rx*duty_rx + i_sleep*duty_sleep life_hours = battery_mah / avg_ma print(f"平均电流约 {avg_ma:.3f} mA") print(f"理论寿命约 {life_hours/24:.0f} 天,即 {life_hours/24/365:.1f} 年") # 输出示例:平均电流约 0.486 mA # 理论寿命约 231 天,即 0.6 年

把占空比从每分钟醒一秒改成每五分钟醒一秒,寿命立刻拉长到三年以上——这就是为什么低功耗协议把"睡眠调度"当作核心设计而不是附加功能。但账还没算完:电池自放电、低温容量衰减、协议控制消息的"被动清醒"(邻居广播把你吵醒)都要再砍掉两到四成。工程上的经验法则是:理论寿命乘以零点六再向客户承诺。

契约条款:五条系统假设

第一条,带宽共享。空口是会议室,同一区域同一信道的节点互相踩踏,可用容量随邻居数下降——这与有线网"各插各的网线"完全不同。第二条,能量有限,上面算过账了。第三条,无中心权威,没有谁能强制执行规则,协议必须假设任何节点都可能拒不听话(无心之失或有意为之,后者归第6章处理)。第四条,拓扑可变,任何基于"这张图长期不变"的优化都有保质期,过期要能自动失效。第五条,安全边界开放,无线介质谁都听得见,物理层的"线"不再提供第一道防线。

这五条契约彼此放大:拓扑可变让路由消息增多,路由消息加剧带宽共享的拥挤;能量有限又限制你不能用更多消息去对抗变化。理解自组织网络的全部技巧,就是在这五条契约的挤压下找平衡木。后面七章的每一个机制,几乎都能对应回这五条里的某一条。

异构同台的一次配置教训

背景:一个厂区项目混用了两个批次的传感节点,新批次内存翻倍。操作:初期按厂商默认配置,两批节点跑同一种路由协议。结果:运行两周后旧批次节点陆续重启,日志指向内存耗尽——新批次固件默认开了更大的邻居缓存,旧节点跟着抄配置后内存溢出。解读:异构网络里"统一配置"是个伪安全牌,能力分级必须落到配置层面,让弱节点跑轻量配置(更小的缓存、更长的信标间隔)。变式:如果用第7章的分层架构,把旧批次节点降级为纯末端、只和邻近骨干节点说话,问题同样消失——能力分级既可以在参数层做,也可以在架构层做。

家底清单怎么落到采购与配置

能力模型不止用于理解,它直接指导两件落地的事。第一件是采购分级:一份规范的采购单应该按"角色"而不是"型号"写——骨干角色写明"支持市电或太阳能、内存不低于多少、双频射频",末端角色写明"电池寿命目标、是否可外接天线"。同一项目混用三档设备是常态,但每档的数量与位置应该在设计文档里就定下来,而不是到货后再"看哪里信号差就往哪塞好设备"。第二件是配置基线:每档设备对应一份配置模板(信标间隔、路由缓存大小、队列长度),异构网络里"统一配置"是坑(本节前面的教训),分级模板才是正解。模板之外,再给每个节点留一份"能力档案"——固件版本、射频规格、电池健康度,排障时这三样是第一现场。

台词摘录

  • 四项家底:计算、通信、能量、移动性,先列表再谈协议。
  • 异构常态:真实网络能力差数量级,"人人平等"的协议设计会压垮弱节点。
  • 占空比主导:低功耗设计的核心变量是醒着的时间比例,不是电池容量。
  • 承诺打折:理论能量寿命乘以零点六再交付。
  • 五条契约:带宽共享、能量有限、无中心、拓扑可变、边界开放——后续所有机制的约束来源。

作者与出处
原作者: 灏天文库
来源:灏天文库
整理: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U