OpenWrt之有线中继无缝漫游mesh组网详解

文章目录

    • 前言
    • 什么是Mesh
    • Mesh的优点
    • 检查OpenWrt的设置选项
    • 设置WIFI
    • 设置KVR
      • NAS ID
        • 设置教程
      • 移动域 / Mobility Domain
        • 设置教程
      • 重关联截止时间 / Reassociation Deadline
        • 设置教程
      • FT协议 / Fast Transition / FT protocol
        • 设置教程
      • 本地生成 PMK / Generate PMK locally
        • 设置教程
      • R0 密钥生存期 / R0 Key Lifetime
        • 设置教程
      • R1 密钥持有者 / R1 Key Holder
        • 设置要求
        • 设置教程
      • PMK R1 推送
        • 设置教程
      • 外部 R0KH 列表 / External R0KH List
        • 设置教程
      • 外部 R1KH 列表
        • 设置教程
      • 注意事项
    • 设置AP
    • 后话


前言

开始之前, 得看一下路由器是否支持KVR协议, 不支持可以关闭页面了.

如何看是否支持?

  • 一般支持mesh组网的路由器都支持kvr协议

  • 注意: 本次是有线APClient的方式, 想学习无线的方法请看另外一篇博文


什么是Mesh

在开始教程之前, 有必要了解一下什么是Mesh.

Mesh是一种网络拓扑结构,其中多个节点通过直接的连接相互关联,形成一个网状结构。这与其他拓扑结构(如星型、总线型或环状结构)不同,因为在网状结构中,大多数节点都直接相互连接,而不是通过一个中心节点或线路。


Mesh的优点

  1. 自动组网
    • 有线回程
    • 无线回程 (使用802.11s协议)
    • 组成mesh节点, 管理整个mesh网络拓扑结构
  2. 无缝漫游
    • 802.11k协议 (筛选节点)
    • 802.11v协议 (节点之间 负载均衡)
    • 802.11r协议 (节点之间 快速切换) (打王者/ 微信电话的过程中切换wifi不会断开连接)


综上, 所谓的mesh组网就是这两点, 不同品牌之间为什么不可以组mesh?

各家品牌把这些协议魔改私有化, 只能自家用, 别人没办法参与进来

  • 注意: 下面的设置是通过AP+802.11(kv)r协议实现组网目的, 别的品牌mesh组网是自动帮你设置, 虽然OpenWrt也有类似的mesh插件, 但这里我是手动设置, 这里我是跟mesh组网是有点偷换概念了

检查OpenWrt的设置选项

打开OpenWrt管理页面, 转到 网络 --> 无线编辑一下2.4G或者5G的wifi, 看一下有没有kvr的相关选项, 想无缝漫游至少得有802.11r协议


802.11s


如果路由器至少支持802.11r协议, 就可以继续往下走

  • 注意: 如果你知道去软件包安装 wpad-openssl 或 wpad-wolfssl 或 wpad-mesh-openssl 或 wpad–mesh-wolfssl 或许会有相关选项

设置WIFI

需要跟主路由的ESSID保持一致, 密码也要一致, 信道的话是否一致都是可以的


设置KVR

需要开启AC和AP开启kvr选项

  • 注意: 下面会以2.4GWIFI设置作为教程, 5GWIFI按照同样的教程设置即可.

NAS ID

在802.11s协议中,NAS ID是一个标识符,用于区分不同的接入点(AP)或接入控制器(AC)。在802.11r Fast BSS Transition(FT)过程中,NAS ID是在RADIUS帧中用于标识网络访问服务器的一个字段。

设置教程

这里采用MAC地址作为AC与AP之间的唯一标识符, 在网络 -> 无线页面找到2.4G的BSSID

BSSIDNAS ID
6A:DB:5A:22:F7:EF6ADB5A22F7EF

NAS ID就是把MAC地址的:删除就得到该值

  • 注意: 下面会以2.4GWIFI设置作为教程, 5GWIFI按照同样的教程设置即可

移动域 / Mobility Domain

移动域的概念是为了提供更平滑的移动体验,特别是在需要切换访问点时,以确保无缝连接。

设置教程

这里保持默认即可, 是全部组网的路由都要相同, 一般OpenWrt仅默认4f57


重关联截止时间 / Reassociation Deadline

指的是客户端设备完成重关联的时间限制。重关联是指在一个移动域中从一个AP切换到另一个AP,而无需执行完整的重新关联过程。

当一个客户端设备决定切换到另一个AP时,它会发送重关联请求给目标访问点。目标访问点在接收到请求后,可能需要执行一些操作,例如验证客户端的身份,生成新的加密密钥等。重关联截止时间就是规定了这一过程的最大时间限制。

如果目标访问点在重关联截止时间内无法完成相关操作,客户端设备可能会放弃重关联,选择执行完整的重新关联过程,或者保持当前连接。这有助于确保无线移动过程中的快速漫游,避免在切换访问点时出现过长的连接中断。

重关联截止时间的设定是为了平衡快速漫游和网络安全性之间的需求。
短的重关联截止时间可以提供更快的漫游体验,但可能增加目标访问点的处理压力
而较长的截止时间则可以给目标访问点更多的时间来完成必要的操作,但可能导致漫游时间的延长

设置教程

参照H3C的设置, 他家的产品设置为20/50秒

这里修改为20000即20秒.


FT协议 / Fast Transition / FT protocol

802.11r的核心功能是FT(Fast BSS Transition,快速BSS切换), 移动域使用FT协议来支持快速漫游。FT协议分为两种工作模式,即FT over the Air(FT/OTA)FT over the DS(FT/DS),这两者都旨在加速漫游过程。

  • FT over the Air (FT/OTA)
    • 优点: 通过在无线链路上执行密钥协商,无需AP之间的介质,可以更快地完成漫游。适用于支持802.11r的无线网络,无需DS(Distribution System)的支持。
    • 缺点: 可能受到无线链路条件的限制,如信号弱或干扰较多的情况下可能影响性能。



客户端直接与目标AP通信,进行漫游前的认证,适用于对漫游兼容性要求高的场景。建议采用本方式配置FT功能。

  • FT over the DS (FT/DS)
    • 优点: 通过Distribution System(DS)(通常是以太网)来传输关键信息,不受无线链路条件的限制。适用于对FT/OTA的支持有限或在需要在DS上执行其他操作时,如集中式身份验证等。
    • 缺点: 可能引入一些额外的延迟,因为数据必须通过DS传输。需要DS的支持。


客户端通过当前AP与目标AP通信,进行漫游前的认证,适用于对漫游性能要求高的场景。

设置教程

国内设备包括苹果大多只支持FT/OTA, 所以选择FT over the Air (FT/OTA)


本地生成 PMK / Generate PMK locally

PMK是用于安全通信的一种密钥,它通常与预共享密钥(PSK)相关联。PSK是在网络和客户端之间预先共享的密钥,而PMK是由PSK生成的。

  • PSK查看

设置教程

保持勾选即可


R0 密钥生存期 / R0 Key Lifetime

设置教程

保持默认10000分钟即可


R1 密钥持有者 / R1 Key Holder

R1密钥持有者是指在进行快速漫游过程中,负责存储和管理R1密钥的设备。R1密钥是在FT协议的上下文中生成的,用于在移动设备在不同访问点之间进行漫游时保持连接的密钥。

设置要求

十六进制表示的 6 字节标识符,无冒号分隔.(R1密钥的长度通常是256比特[32字节])

设置教程

这里与NAS ID保持一致就行


PMK R1 推送

PMK-R1推送功能,它是为了加速移动设备在不同访问点之间的快速漫游而设计的。

设置教程

保持勾选即可


外部 R0KH 列表 / External R0KH List

同一移动域中的 R0KH 列表。
格式:MAC 地址,NAS 标识符,128 位密钥(十六进制字符串)。
在从初始移动域关联期间使用的 R0KH 中请求 PMK-R1 密钥时,该列表用于将 R0KH-ID(NAS 标识符)映射到目标 MAC 地址。

设置教程
BSSIDNAS ID128 位密钥(十六进制字符串)
6A:DB:5A:22:F7:EF6ADB5A22F7EF9331A0F671018466BC4814910FC8028C
  • 注意: 这个128 位密钥与R1 密钥持有者保持一致

格式如下(英文符号):

6A:DB:5A:22:F7:EF,6ADB5A22F7EF,9331A0F671018466BC4814910FC8028C
  • key计算方法

在windows系统中, 可以打开Powershell, 执行命令

(Get-Random -Count 16 -InputObject (0..255) | ForEach-Object { $_.ToString("X2") }) -join ''

在linux系统中, 执行命令

xxd -l 16 -p /dev/random


外部 R1KH 列表

设置教程

外部 R0KH 列表数据保持一致


注意事项

假设我有4个路由器, 1个AC, 3个AP.

外部 R0KH 列表外部 R1KH 列表就需要把4个路由器都填上 (多少个组网无缝漫游就得填多少个)


设置AP

除了AC不用设置, 需要修改全部AP的lan口地址和关闭LAN口的DHCP服务

  • 设置LAN口地址

我AC的IP是192.168.3.1
AC就得设置成192.168.3.x (不同AC不要设置相同的IP)
子网掩码225.255.255.0
网关填写AC的IP
广播地址留空

  • 设置DNS地址

设置为AC的IP即可

  • 关闭IPV6, 这三个设置为禁用

  • 关闭LAN口的DHCP服务, 保持忽略此接口勾选


后话

mesh最重要一点是802.11r协议的无缝漫游而已, 让你打王者切换wifi的时候不会460, 打微信电话不会卡顿, 本身设置不算复杂, 就是重复工作比较多, 设置一遍之后都能掌握.

其实上面的kvr甚至不需要设置什么, 只需要把kvr选项开启即可, 剩下的选项默认即可, 把AP的设置改改就可以

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/374318.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

java设计模式之中介者模式

中介者模式(Mediator Pattern) 基本介绍 中介者模式,用一个中介对象来封装一系列的对象交互。中介者使各个对象不需要显式地相互引用,从而使其解耦松散。而且可以独立地改变它们之间的交互。中介者模式属于行为型模式。比如MVC模…

vue3+echarts:Vue中使用echarts从后端获取数据并赋值显示

//由于前后端交互,所以使用axios发送请求 const Count ref(null); //设备种类数值 const Name ref(null); //设备种类名称 //设备种类 饼图 const pieChart () > {const getpieChart echarts.init(document.getElementById("deviceKind"));// 创建图标getpieC…

Windows11安装运行Linux(Ubuntu)

一、安装windows支持 输入windows打开界面 选择虚拟机监控程序平台、适用于linux的子系统、虚拟机平台 在 Windows 系统中,"虚拟机平台"和"虚拟机监控程序平台"是两个与虚拟化相关的功能,但它们各自有着不同的作用和用途。 虚拟机…

【FPGA】高云FPGA之IP核的使用->PLL锁相环

FPGA开发流程 1、设计定义2、设计输入3、分析和综合4、功能仿真5、布局布线6、时序仿真7、IO分配以及配置文件(bit流文件)的生成8、配置(烧录)FPGA9、在线调试 1、设计定义 使用高云内置IP核实现多路不同时钟输出 输入时钟50M由晶…

【PostgreSQL内核学习(二十六) —— (共享数据缓冲区)】

共享数据缓冲区 概述共享数据缓冲区管理共享缓冲区管理的核心功能包括: 共享数据缓冲区的组织结构初始化共享缓冲池BufferDesc 结构体InitBufferPool 函数 如何确定请求的数据页面是否在缓冲区中?BufferTag 结构体RelFileNode 结构体ForkNumber 结构体Re…

高速接口PCB布局指南(二)通用高速信号布线

高速接口PCB布局指南(二)通用高速信号布线 1.PCB材料编织2.高速信号布线长度3.高速信号布线长度匹配4.高速信号参考平面 tips:资料主要来自网络,仅供学习使用。 1.PCB材料编织 在常见的 PCB 材料上为差分信号布线时,…

【Iceberg学习二】Branch和Tag在Iceberg中的应用

Iceberg 表元数据保持一个快照日志,记录了对表所做的更改。快照在 Iceberg 中至关重要,因为它们是读者隔离和时间旅行查询的基础。为了控制元数据大小和存储成本,Iceberg 提供了快照生命周期管理程序,如 expire_snapshots&#xf…

知识图谱问答:构建人机自然交互的桥梁

目录 前言1 基本概念1.1 图灵测试1.2 特定领域的问答系统1.3 知识图谱问答1.4 典型应用与系统 2 智能问答系统分类2.1 问句类型分类2.2 系统来源分类 3 实现知识图谱问答主要技术方法3.1 基于问句模板的方法3.2 基于语义解析的方法3.3 基于检索排序的方法3.4 基于深度学习的方法…

代码随想录算法训练营第十二天 | 239. 滑动窗口最大值,347.前 K 个高频元素 [栈与队列篇]

代码随想录算法训练营第十二天 LeetCode 239. 滑动窗口最大值题目描述思路参考代码总结 LeetCode 347.前 K 个高频元素题目描述思路参考代码 LeetCode 239. 滑动窗口最大值 题目链接:239. 滑动窗口最大值 文章讲解:代码随想录#239. 滑动窗口最大值 视频讲…

现货黄金突破2050美元 后续还会涨吗?

一两个月以前,受美联储降息预期影响,现货黄金价格一度强势上涨,并且刷新历史新高。随后,市场不断消化降息预期,金价逐步回落,盘中一度下探2000大关。在今年的一季度,行情再度发生变化&#xff0…

华为5G沸沸扬扬!那你知道三防平板网络是什么类型呢!

近日,华为在5G的事件在热搜上可是着实的火了一把啊!让小编想起一款来自亿道信息EM-I22K-5G的一款三防平板产品,你知道是什么网络类型的呢? EM-I22K-5G 不知道?没关系呀!小编可以为你普及亿道信息EM-I22K-5G…

寒假作业-day5

TCP和UDP区别 TCP ----稳定 1、提供面向连接的,可靠的数据传输服务; 2、传输过程中,数据无误、数据无丢失、数据无失序、数据无重复; 3、数据传输效率低,耗费资源多; 4、数据收发是不同步的; UD…

软件价值8-站点连通性检查

站点连通性检查,即看网站是否能访问得通,实用价值不大,不过用来作软件应用入门还不错。 代码: import urllib.request import tkinter as tkdef test_connectivity():window tk.Tk()window.geometry(600x400)window.resizable(F…

性能实测:分布式存储 ZBS 与集中式存储 HDS 在 Oracle 数据库场景表现如何

作者:深耕行业的 SmartX 金融团队 金鑫 在金融客户的基础架构环境中,HDS 是一种被广泛使用的存储解决方案。作为集中式存储的代表之一,HDS 拥有高性能、高可用性和可扩展性的企业级存储特点,适用于实时数据处理、虚拟化和灾难备份…

阿里云游戏服务器一年费用多少?

阿里云游戏服务器租用价格表:4核16G服务器26元1个月、146元半年,游戏专业服务器8核32G配置90元一个月、271元3个月,阿里云服务器网aliyunfuwuqi.com分享阿里云游戏专用服务器详细配置和精准报价: 阿里云游戏服务器租用价格表 阿…

论文阅读-Transformer-based language models for software vulnerability detection

「分享了一批文献给你,请您通过浏览器打开 https://www.ivysci.com/web/share/biblios/D2xqz52xQJ4RKceFXAFaDU/ 您还可以一键导入到 ivySCI 文献管理软件阅读,并在论文中引用 」 本文主旨:本文提出了一个系统的框架来利用基于Transformer的语…

JavaScript常用技巧专题七

文章目录 一、提炼函数1.1、好处1.2、示例 二、合并重复的条件片段三、把条件分支语句提炼成函数四、合理使用循环五、提前让函数退出代替嵌套条件分支六、传递对象参数代替过长的参数列表七、少用三目运算符八、合理使用链式调用8.1、优点8.2、缺点 九、纯函数9.1、不属于纯函…

2-2 动手学深度学习v2-损失函数-笔记

损失函数,用来衡量预测值和真实值之间的区别。是机器学习里面一个非常重要的概念。 三个常用的损失函数 L2 loss、L1 loss、Huber’s Robust loss 均方损失 L2 Loss l ( y , y ′ ) 1 2 ( y − y ′ ) 2 l(y,y^{\prime})\frac{1}{2}(y-y^{\prime})^{2} l(y,y′)21…

火山引擎ByteHouse:如何为OLAP设计高性能向量检索能力?

更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群 背景 随着 LLM 技术应用及落地,数据库需要提高向量分析以及 AI 支持能力,向量数据库及向量检索等能力“异军突起”,迎来业界持续…

第七届西湖论剑·中国杭州网络安全技能大赛 AI 回声海螺 WP

第七届西湖论剑中国杭州网络安全技能大赛-AI-回声海螺 开题,提示输入密码给FLAG。 这个回声海螺应该是个AI,就是复读机,应该是想办法从中骗出密码。 感觉这题不像是AI,也没用啥模型,应该是WEB。或者是说类似于AI的提示…