ROS多机通信(四)——Ubuntu 网卡 Mesh 模式配置指南

引言

使用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. 查看无线网卡名称

运行以下命令,确认无线网卡的接口名称(通常为 wlan0wlp2s0):

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 地址是否在同一网段。
  • 查看配置:

    bash 复制代码
    iw dev wlan0 info    # 查看 Mesh 配置
    ip addr show wlan0   # 查看 IP 配置

总结

通过以上步骤,您可以在 Ubuntu 上快速配置无线网卡为 Mesh 模式并加入 Mesh 网络。Mesh 网络提供去中心化的通信方式,适用于多种场景。希望本指南对您有所帮助!

相关推荐
逢生博客1 小时前
Ubuntu 安装 gvm 管理 Go 语言开发环境
linux·ubuntu·golang·gvm
码农小灰2 小时前
Kafka消息持久化机制全解析:存储原理与实战场景
java·分布式·kafka
多吃蔬菜!!!2 小时前
vscode 搭建C/C++开发环境搭建(linux)
linux·c语言·c++
李李李li3 小时前
Ubuntu 22.04 安装tensorrt
linux·tensorrt
phoenix09814 小时前
Linux入门DAY29
linux·运维
入秋5 小时前
Linux服务器安装部署 Nginx、Redis、PostgreSQL、Docker
linux·前端
Mr. Cao code5 小时前
使用Tomcat Clustering和Redis Session Manager实现Session共享
java·linux·运维·redis·缓存·tomcat
zcz16071278215 小时前
Linux 网络命令大全
linux·运维·网络
the sun345 小时前
Reactor设计模式及其在epoll中的应用
linux·运维·服务器·c++
喜欢你,还有大家5 小时前
Linux笔记7——shell编程基础-1
linux·运维·笔记