AODV 是什么
AODV(Ad hoc On-Demand Distance Vector,RFC 3561)是移动自组网(MANET)里的按需路由协议:平时不维护全网路由表,需要发数据时才广播 RREQ 找路,目的节点回 RREP 建立反向路由,链路中断由 RERR 通知上游。IANA 为它登记 654/udp,TCP 同号一并注册。它和表驱动的 OLSR(698)代表 MANET 的两条技术路线:AODV 按需触发、平时几乎不占带宽,代价是首包要等一次路由发现。
基本信息
| 服务 | aodv(Ad hoc On-Demand Distance Vector) |
|---|---|
| 协议 | UDP 654(TCP 同号注册) |
| 规范 | RFC 3561 |
| 适用场景 | MANET 自组网、无线多跳链路 |
| 登记机构 / 注册人 | Charles Perkins |
典型使用场景
- 无线 mesh 与应急通信:基站或光纤不可用时的临时多跳组网
- 车载自组网(VANET)研究:节点高速移动、拓扑持续变化
- 传感器与无人机编队:低功耗节点难以维护全局路由表
- 协议仿真与教学:NS-3、OMNeT++ 的 AODV 模块是经典实验对象
- 资产排查:内网出现 654 监听或外联时判断是否为设备自带路由组件
报文速查
| 报文 | 发送方向 | 作用 | 触发条件 |
|---|---|---|---|
| RREQ | 源节点广播 | 寻找目的节点的路由 | 有数据要发但无有效路由 |
| RREP | 目的或中间节点回送 | 建立正向与反向路由 | 收到 RREQ 且条件满足 |
| RERR | 检测到断链的节点广播 | 通知上游清理失效路由 | 链路或下一跳不可达 |
| HELLO | 邻居间周期性广播 | 本地连通性探测 | 需要维护邻居表时 |
定位与判定
定位与判定
# Linux:确认是否有进程监听 654
ss -lntup 'sport = :654'
# 部分老系统没有 ss,退化为
netstat -anp | grep ':654 '
# Windows:列出占用端口与进程号
netstat -ano | findstr :654
# 抓包确认:RREQ 是广播报文,RREP 单播回源
sudo tcpdump -i any -n udp port 654 -c 20AODV 虽然注册在低段端口,但属于设备内部的协议实现,不像 22 或 443 那样有独立服务进程。排查时若发现 654/udp,优先怀疑无线设备、仿真节点或嵌入式模块,再判断是否为通用服务器上的异常程序。