树莓派玩转树莓派Incentive Mesh Network开发者社区

树莓派搭建mesh网络

2019-10-31  本文已影响0人  东京的雨不会淋湿首尔

设备:

树莓派3b+
wifi:TL-WN722N V1

参考资料:

OpenWRT 搭建802.11s Mesh网络
HOWTO
open-mesh

Mesh网络拓扑

如下图所示,mesh网络由MPP、MP、MAP三种设备组成:

这三种设备配置也不一样,他们之间是通过mesh链路连接在一起的,但是需要保证mesh节点工作的信道号和mesh id号必须相同!


image.png

首先要能ssh连上树莓派,由于树莓派本身的wifi模块不支持mesh网络,所以挑选了TL-WN722N V1

给wifi设备安装驱动

查看https://www.jianshu.com/p/6407472e2550

设置开放式网状网络

在此示例中,我们将配置一个mesh节点以使用mesh网络,该节点将自动与使用相同配置(mesh和信道)的任何其他对等节点连接。

每个mesh节点都需要配置如下:

我的想使用第二张网卡也就是wlan1来做mesh组网,过程如下:
如果遇到了这个错误command failed: Device or resource busy (-16),就先把网卡关掉在启用

ip link set wlan1 down

添加mesh

iw dev wlan1 interface add mesh0 type mp

查看是否创建成功

ifconfig -a | grep mesh0

输出:mesh0: flags=4098<BROADCAST,MULTICAST> mtu 1500

注意:默认情况下,所有mesh接口都从通道1开始。

iw dev mesh0 set channel 1

关闭mesh0并设置mesh id

ip link set mesh0 down
iw dev mesh0 set meshid mymesh

启用mesh0

ifconfig mesh0 up

分配ip,mesh组网要在同一个网段下

ifconfig mesh0 192.168.8.191

这样一台设备就配置好了。配置其他设备的时候只需要分陪不同的IP即可。在默认配置中,mesh节点将自动尝试创建所有其他具有相同mesh id的网格节点的对等链接。


或者使用另一种方式:

使用phy接口,使用iw list,查看网卡对应的phy,我的wlan1对应的phy1
先关掉wlan1

ip link set wlan1 down
iw phy phy1 interface add mesh0 type mp mesh_id mymesh

验证是否创建成功

ifconfig -a | grep mesh0

启用mesh0

ifconfig mesh0 up

设置ip,假设为10.0.0.1

ifconfig mesh0 10.0.0.1

验证

使用iw dev mesh0 station dumpiw dev mesh0 mpath dump命令检查已建立的对等链接:

root@raspberrypi:/home/pi# iw dev mesh0 station dump
Station 00:11:7f:1b:a7:6b (on mesh0)
    inactive time:  760 ms
    rx bytes:   70526
    rx packets: 915
    tx bytes:   170
    tx packets: 3
    tx retries: 0
    tx failed:  0
    rx drop misc:   0
    signal:     -4 [-4] dBm
    signal avg: -27 [-27] dBm
    Toffset:    18446744073126120807 us
    tx bitrate: 24.0 MBit/s
    rx bitrate: 24.0 MBit/s
    mesh llid:  6895
    mesh plid:  26132
    mesh plink: ESTAB
    mesh local PS mode: ACTIVE
    mesh peer PS mode:  ACTIVE
    mesh non-peer PS mode:  ACTIVE
    authorized: yes
    authenticated:  yes
    associated: yes
    preamble:   long
    WMM/WME:    yes
    MFP:        no
    TDLS peer:  no
    DTIM period:    2
    beacon interval:1000
    short slot time:yes
    connected time: 340 seconds

iw dev mesh0 mpath dump

DEST ADDR         NEXT HOP          IFACE   SN  METRIC  QLEN    EXPTIME     DTIM    DRET    FLAGS
00:11:7f:1b:a7:63 00:11:7f:1b:a7:63 mesh0   11  456 0   0   100 0   0x4

一些解释:
Destination MAC Address:目地mac地址。此mesh路径的目的地。直接路径的目的地和下一跳具有相同的MAC地址。
Next-hop MAC address:下一跳地址。直接路径的目的地和下一跳具有相同的MAC地址。
IFACE :专属网的名称
SN:此路径的目标序列号。 DSN用于确定节点路径信息的“新鲜度”。例如,假设节点接收到其路径表中已经存在的目的地的路径响应。如果路径响应的DSN较高,则它将替换现有路径,因为它将被认为是较新的。
Air Time Link Metric:路径的度量(或“成本”)。较低的度量标准是首选,并且在选择了多个路径的情况下,协议栈将选择成本最低的协议(即:空中链路度量最低的协议)。该值是使用预期的吞吐量得出的(metric = 1 + 8192 / Expected_throughput_mbps)预期吞吐量(Expected_throughput_mbps)取决于驱动程序(例如,某些包含重传)。
Frame Queue Length:此网格路径的排队帧数。
Expiration Time:此mesh路径过期的时间(以jiffies为单位)
Discovery Timeout:路径发现的剩余时间(如果正在发现此路径)。
Discovery Retries:重试发现的次数(如果正在发现此路径)。
Flags:它是一个位掩码,由该路径的以下状态标志组成:

MESH_PATH_ACTIVE = BIT(0),
MESH_PATH_RESOLVING = BIT(1),
MESH_PATH_DSN_VALID = BIT(2),
MESH_PATH_FIXED = BIT(3),
MESH_PATH_RESOLVED = BIT(4),

上一篇 下一篇

猜你喜欢

热点阅读