引言
使用Ad-hoc加路由协议和直接Mesh模式配置网卡实现的网络结构是一样的,主要是看应用选择,
- Ad-Hoc模式 + B.A.T.M.A.N. / OLSR
优点:灵活性高,适合移动性强或需要优化的复杂网络。
缺点:配置复杂,需手动管理路由协议。 - Mesh模式(802.11s)
优点:配置简单,内置路由功能,易于部署。
缺点:路由协议标准化,灵活性较低。
在实现机器人之间的通信的时候,和为了适应大部分的场景我还是建议使用Ad-Hoc模式 + B.A.T.M.A.N. / OLSR
这里是另外一篇文章的链接:
Ubuntu Ad-Hoc 组网通信配置指南
基本概念
Mesh网络是去中心化的,功能更强大。节点不仅可以直接通信,还可以通过其他节点中继数据。每个节点都能充当路由器,自动发现和维护与其他节点的连接路径。这种中继机制使Mesh网络的覆盖范围更大,即使某些节点失效,网络仍能通过其他路径继续运行。
简介
本指南将帮助您在 Ubuntu 系统上将无线网卡配置为 Mesh 模式(基于 IEEE 802.11s 标准),以加入或创建一个 Mesh 网络。
前提条件
- 硬件:无线网卡需支持 Mesh 模式(可通过
iw list
检查是否支持 mesh point)。 - 软件:Ubuntu 系统(建议 20.04 LTS 或更高版本),并安装
iw
工具。 - 权限:需要管理员权限(使用
sudo
)。
配置步骤
1. 确认网卡支持 Mesh 模式
运行以下命令,检查无线网卡是否支持 Mesh 模式:
bash
iw list
在输出中查找 Supported interface modes
,确认是否有 mesh point
。若支持,继续后续步骤;若不支持,则需更换网卡。
2. 安装 iw 工具
若系统中未安装 iw
,执行以下命令安装:
bash
sudo apt-get update
sudo apt-get install iw
3. 查看无线网卡名称
运行以下命令,确认无线网卡的接口名称(通常为 wlan0
或 wlp2s0
):
bash
ip link
记下您的网卡名称,后续步骤将以 wlan0
为例。
4. 关闭无线网卡
在配置前,先关闭网卡:
bash
sudo ip link set wlan0 down
5. 设置为 Mesh 模式
将网卡设置为 Mesh Point 模式:
bash
sudo iw dev wlan0 set type mp
6. 配置 Mesh ID 和频道
为 Mesh 网络设置标识符(Mesh ID)和频道:
bash
sudo iw dev wlan0 set meshid MyMeshNetwork
sudo iw dev wlan0 set channel 6
MyMeshNetwork
:自定义 Mesh ID,同一网络中的设备需保持一致。6
:频道号(范围 1-11),需与其他设备一致。
7. 开启无线网卡
重新启用网卡:
bash
sudo ip link set wlan0 up
8. 分配 IP 地址
为 Mesh 接口分配静态 IP 地址(例如 192.168.1.1):
bash
sudo ip addr add 192.168.1.1/24 dev wlan0
同一网络中的其他设备可设置为 192.168.1.2 等,确保在同一网段(192.168.1.0/24)。
9. 验证配置
检查网卡是否成功配置为 Mesh 模式:
bash
iw dev wlan0 info
确认 type
显示为 mesh point
。
完整命令示例
以下是以 wlan0
为例的完整配置流程:
bash
# 确认网卡支持 Mesh 模式
iw list
# 关闭网卡
sudo ip link set wlan0 down
# 设置为 Mesh 模式
sudo iw dev wlan0 set type mp
# 设置 Mesh ID 和频道
sudo iw dev wlan0 set meshid MyMeshNetwork
sudo iw dev wlan0 set channel 6
# 开启网卡
sudo ip link set wlan0 up
# 分配 IP 地址
sudo ip addr add 192.168.1.1/24 dev wlan0
# 验证配置
iw dev wlan0 info
注意事项
- Mesh ID 和频道:所有设备的 Mesh ID 和频道必须一致。
- IP 地址:确保设备 IP 在同一网段且不冲突。
- 安全性:默认配置无加密,生产环境建议使用
wpa_supplicant
配置加密。 - 驱动支持:部分网卡可能需要特定驱动,配置前请查阅硬件文档。
故障排除
-
无法连接:
- 检查 Mesh ID 和频道是否一致。
- 确认 IP 地址是否在同一网段。
-
查看配置:
bashiw dev wlan0 info # 查看 Mesh 配置 ip addr show wlan0 # 查看 IP 配置
总结
通过以上步骤,您可以在 Ubuntu 上快速配置无线网卡为 Mesh 模式并加入 Mesh 网络。Mesh 网络提供去中心化的通信方式,适用于多种场景。希望本指南对您有所帮助!