3.3 网络层与路由协议


3.3 网络层与路由协议

本节摘要:网络层决定"数据包沿哪条多跳路径回到基站"。在能量受限、拓扑动态的 WSN 里,路由不能只看"最短",还要看"最省、最平衡"。本节对比平面路由(洪泛/协商/定向扩散)、分簇路由(LEACH 的核心)、能量感知路由与地理位置路由,教你按网络规模与能量需求选型。

邻居们有序了,可基站可能在几十甚至几百跳之外。数据得一路"接力"传回去,这条接力路线正是网络层与路由协议的活。

路由在 WSN 为什么"难"

在互联网里,路由器连在稳定电源上,谁快谁距离短就选谁。在 WSN 里没这么单纯:节点会坏、拓扑会变、更重要的是中继节点的能量会被"接力负担"掏空。若总选同一条"最短路径",这条路上的节点很快能耗殆尽,网络就出现能量空洞甚至分块。所以 WSN 路由要在"省电、可靠、平衡"三者间权衡,而不是只求跳数少。

路由协议家族:各自怎么记这本账

洪泛(Flooding):为了压住消息,数据向所有邻居反复多发,必然重复与冲突。简单粗暴、隐蔽性好,但极耗电、易"广播风暴"。适合小规模救急或某些军事场景,不适合日常主干。

协商式 / SPIN:发送前先广播"元数据描述我有什么数据",感兴趣的节点再回请求,最后才真正发数据。省去了一大堆无用的整包转发,走的是"先说后传"的记账逻辑。

定向扩散(Directed Diffusion):从汇聚节点发出"兴趣",感兴趣的区域建立"梯度",数据沿着梯度回传。它在路径建立与数据融合上一体化,很"省"。

分簇路由 / LEACH:节点先分簇,选簇头,簇头汇集簇内数据、聚合后一跳发给基站。关键在于周期性轮换簇头,避免同一节点一直当"中转车夫"而烧完,显著平衡全网能耗。这是能量账本里最漂亮的"轮岗"设计。

能量感知路由:选路时把剩余能量、链路质量、路径总能耗纳入评分,主动绕开低电量节点,甚至把负载分摊到多条路径上。

地理位置路由:已知各节点坐标,数据包朝最靠近基站的邻居转发,无需维护全局路径表,效率高、扩展好。

图标题:能量感知路由绕开低电量节点

单纯最短可能走"邻居B→基站",但它余能只剩 3 分;能量感知路由会优先走"邻居A→基站",即便路径稍长一点,却保护了低电量的 B,避免网络过早分块。

一张选型对照表

路由族 能耗 扩展 平衡 适用
洪泛 小规模/特定场景
SPIN/协商 数据量大、去冗余
定向扩散 中低 查询型应用
分簇 LEACH 大规模持续监测
能量感知 中低 能量失衡场景
地理位置 有定位信息

一个具体案例:为什么 LEACH 要轮换簇头

LEACH 的精髓不在"分簇",而在"轮换"。设想一个簇,若簇头固定,簇头既要收全簇数据又要聚合、还要跳到基站,能耗远超普通成员,用不了多久就断电,簇随之瘫痪。LEACH 在每个轮(round)重新随机选簇头,让"车夫的苦差"轮流扛,把能耗打散到全网。这正是账本里"负载均衡"的具象:不是所有人不被累,而是轮流累、谁也别先垮。

⚠️ 常见坑:以为"单条最短路径 = 最优"。实际上它最稳的缺点就是会把某一条路上的节点挖空。多数 WSN 主干要的是"路径多样性 + 能耗均衡",而不是一条黄金路线。

机会转发:别死守着一条既定路径

WSN 拓扑随节点失效时时在变,死守一条"当初算好的"路径,一旦中途节点倒下就断链。更省心的是机会转发/地理机会路由:不预先锁定整条路,而是把包递给"离基站更近且链路好的那批邻居",谁收到、谁更合适就由谁继续往下送:

机会转发: 发方先问"谁在朝基站方向且愿意接手" → 择优者接力 → 绕开坏点 好处: 不怕单点失效, 天然抗衰落, 无需全局维护大表 代价: 需要邻居信息与一定的竞争开销(MAC 层配合)

这对"动态、故障多"的野外网尤其值钱——它把"找一条可靠的路"变成"一直都有路可走",是能量感知之外又一层平衡手段。与大而全的路由表相比,它省下的正是维护大量状态的那笔"登记费"。

路由开销也要记账:路径维护不免费

整段只谈选路,常忽略"为了能选路"本身的成本。维护一个高效路由,节点得定期交换握手、更新路由表、探测邻居状态——这些"登记账"也要花电:

表驱动: 随时有好路径可查, 但维护一堆表项持续烧电, 内存也吃紧 按需(反应式): 等要发才临时找路, 平时少花维护费, 但首发会等一会儿 折中: 大而稳定的网可稍偏向表, 动态小网偏向按需, 别一锅端

结论是:路由不是免费的,任何"为了更省"而引入的机制,本身也在消费能量。 选型时要把"维护这套路由要花多少"也算进净收益,而不是只看传输路径漂亮。

一个"能量均衡"的小账

把"均衡"落成数字,体会为什么它比"最短"值钱。设最短路径上经过节点 X,它每转发一次消耗较高,而绕路加一个跳数、却能让多个节点分摊:

路径1(最短): A→X→BS, X 每轮多扛 60 单位电, 若干轮后 X 先饿死 → 网络分块 路径2(稍长): A→B→C→BS, 每节点只多扛少量, 谁也别先垮 → 整网活得更久 衡量: 单包略多花几跳, 换来网络寿命多撑几成, 这才是"总账"最优

所以"最优路径"在 WSN 里几乎从不等于"最短路径",而是"让全网活得更久的那条"。做方案时,先想清楚你在优化"单包成本"还是"全网寿命"——目标不同,选路也完全不同。

本节要点回顾

  • 路由目标:省电 + 可靠 + 平衡,不是单纯最短。
  • 家族谱系:洪泛/SPIN/定向扩散/分簇/能量感知/地理位置。
  • LEACH 核心:分簇聚合 + 周期轮换簇头来均衡能耗。
  • 能量感知:选路看余能,主动绕开低电量节点。
  • 选型:持续监测大规模 → 分簇;有定位 → 地理位置路由。

路找好了,可无线信道本身就爱丢包、丢包重新传又烧电。下一节看传输层怎么在极端受限下"保可靠"。


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