草庐IT

浅析Mesh组网方案的底层基础之1905.1协议

移动Labs 2023-03-28 原文

Part 01

IEEE 1905.1概述 

1905.1定义了一个抽象层(Abstraction Layer,AL)。1905.1 AL为多种家庭网络技术提供公共的数据与控制访问,如IEEE Std 1901-2010,IEEE Std 802.11-2012,IEEE Std 802.3-2008以及MoCA 1.1。

图1 概述

1905.1具有易用性,健壮性,吞吐量大,多路流,负载均衡,QoS,兼容性强,安全性高,可诊断性强等优点。

Part 02

IEEE 1905.1框架 

1905.1 AL位于LLC(Logical Link Control,LLC)和MAC(Media Access Control)之间。1905.1设备使用EUI-48(1950.1 AL MAC)标识1905.1 AL,且必须在本地管理1905.1 AL MAC以确保不会与其相连设备的MAC或1905.1 AL MAC发生冲突。

图2 模型

1905.1 ALME(Abstraction Layer Management Entity)对1905.1 AL进行管理。1905.1 HLE(Higher-Layer Entity)则通过ALME_GET/SET类消息与1905.1 ALME进行交互。

图3 抽象层管理模型

ALME_GET/SET类指令如下:

  • ALME-GET-INTF-LIST.request/response:请求/响应1905.1接口列表
  • ALME-SET-INTF-PWR-STATE.request/confirm:设置/确认1905.1接口状态配置
  • ALME-GET-INTF-PWR-STATE.request/response:获取/响应1905.1接口状态
  • ALME-SET-FWD-RULE.request/confirm:请求/确认转发规则配置
  • ALME-GET-FWD-RULES.request/response:请求/响应转发规则
  • ALME-MODIFY-FWD-RULE.request/confirm:请求/确认转发规则修改
  • ALME-REMOVE-FWD-RULE.request/confirm:请求/确认转发规则删除
  • ALME-GET-METRIC.request/response:请求/响应1905.1链路开销

Part 03

IEEE 1905.1 CMDU 

​1905.1 AL通过1905.1 CMDU(Control Message Data Unit)进行交互。以太网帧头部中以太网类型字段置为0x893A。当1905.1 CMDU超出以太网帧最大长度时,需要进行分片,接收方在接收到所有CMDU分片后进行重组,然后向上层应用传输。

图4 1905.1网络

1905.1 CMDU目前支持如下消息类型:

  • Topology discovery message:拓扑发现消息,0x0000
  • Topology notification message:拓扑通知消息,0x0001
  • Topology query message:拓扑请求消息,0x0002
  • Topology response message:拓扑响应消息,0x0003
  • Vendor specific message:厂商指定消息,0x0004
  • Link metric query message:链路开销请求信息,0x0005
  • Link metric response message:链路开销响应信息,0x0006
  • AP-autoconfiguration search message:0x0007
  • AP-autoconfiguration response message:0x0008
  • AP-autoconfiguration Wi-Fi simple configuration(WSC) message:0x0009
  • AP-autoconfiguration renew message:0x000A
  • 1905.1 push button event notification message:0x000B
  • 1905.1 push button join notification message:0x000C

Part 04

IEEE 1905.1拓扑发现协议 

1905.1拓扑发现协议主要实现以下功能:

1.发现1905.1设备或IEEE 802.1网桥,更新数据库

2.感知网络拓扑变化

3.确定可以访问哪些设备,并推测出更完整的网络拓扑

1905.1拓扑发现协议包括如下三个步骤:

1.多播发现:发现相邻设备,并推测其与相邻1905.1设备之间是否存在IEEE 802.11网桥

2.单播请求/响应:向其他1905.1设备发起请求,以获取该设备信息及其邻居

3.转发的多播拓扑通知:获取其他1905.1设备变化的通知信息

1905.1拓扑发现协议包含五类消息:

1.拓扑发现消息(邻居多播)

1905.1 ALME向每个相邻1905.1设备发送拓扑发现消息以获取设备邻居,并据此构建更完整的网络拓扑。

发生如下事件,需要在1秒内发送一条拓扑发现消息?

1)距离上一次发送拓扑发现消息超过60秒

2)设备初始化

3)接口连接

1905.1ALME可能在等待特定事件(如初始化后所有接口准备完成)完成后发送第一条拓扑发现协议。

2.IEEE 802.1网桥发现消息(邻居多播)

如果1905.1 ALME发送了拓扑发现协议,也必须要发送一条IEEE 802.1网桥发现消息。消息类型为LLDPDU,发送至最近的网桥多播地址(01-80-C2-00-00-0E)。1905.1 AL不影响LLDP正常操作。

3.拓扑请求消息(单播)

4.拓扑响应消息(单播)

5.拓扑通知消息(转发的多播)

如果1905.1 ALME监测到拓扑信息发生变化,需要在1秒内构造并发送拓扑通知消息。如果1905.1 ALME接收到拓扑通知消息,需要进行转发。

有关浅析Mesh组网方案的底层基础之1905.1协议的更多相关文章

  1. ruby - 在 jRuby 中使用 'fork' 生成进程的替代方案? - 2

    在MRIRuby中我可以这样做:deftransferinternal_server=self.init_serverpid=forkdointernal_server.runend#Maketheserverprocessrunindependently.Process.detach(pid)internal_client=self.init_client#Dootherstuffwithconnectingtointernal_server...internal_client.post('somedata')ensure#KillserverProcess.kill('KILL',

  2. postman接口测试工具-基础使用教程 - 2

    1.postman介绍Postman一款非常流行的API调试工具。其实,开发人员用的更多。因为测试人员做接口测试会有更多选择,例如Jmeter、soapUI等。不过,对于开发过程中去调试接口,Postman确实足够的简单方便,而且功能强大。2.下载安装官网地址:https://www.postman.com/下载完成后双击安装吧,安装过程极其简单,无需任何操作3.使用教程这里以百度为例,工具使用简单,填写URL地址即可发送请求,在下方查看响应结果和响应状态码常用方法都有支持请求方法:getpostputdeleteGet、Post、Put与Delete的作用get:请求方法一般是用于数据查询,

  3. 软件测试基础 - 2

    Ⅰ软件测试基础一、软件测试基础理论1、软件测试的必要性所有的产品或者服务上线都需要测试2、测试的发展过程3、什么是软件测试找bug,发现缺陷4、测试的定义使用人工或自动的手段来运行或者测试某个系统的过程。目的在于检测它是否满足规定的需求。弄清预期结果和实际结果的差别。5、测试的目的以最小的人力、物力和时间找出软件中潜在的错误和缺陷6、测试的原则28原则:20%的主要功能要重点测(eg:支付宝的支付功能,其他功能都是次要的)80%的错误存在于20%的代码中7、测试标准8、测试的基本要求功能测试性能测试安全性测试兼容性测试易用性测试外观界面测试可靠性测试二、质量模型衡量一个优秀软件的维度①功能性功

  4. CAN协议的学习与理解 - 2

    最近在学习CAN,记录一下,也供大家参考交流。推荐几个我觉得很好的CAN学习,本文也是在看了他们的好文之后做的笔记首先是瑞萨的CAN入门,真的通透;秀!靠这篇我竟然2天理解了CAN协议!实战STM32F4CAN!原文链接:https://blog.csdn.net/XiaoXiaoPengBo/article/details/116206252CAN详解(小白教程)原文链接:https://blog.csdn.net/xwwwj/article/details/105372234一篇易懂的CAN通讯协议指南1一篇易懂的CAN通讯协议指南1-知乎(zhihu.com)视频推荐CAN总线个人知识总

  5. ES基础入门 - 2

    ES一、简介1、ElasticStackES技术栈:ElasticSearch:存数据+搜索;QL;Kibana:Web可视化平台,分析。LogStash:日志收集,Log4j:产生日志;log.info(xxx)。。。。使用场景:metrics:指标监控…2、基本概念Index(索引)动词:保存(插入)名词:类似MySQL数据库,给数据Type(类型)已废弃,以前类似MySQL的表现在用索引对数据分类Document(文档)真正要保存的一个JSON数据{name:"tcx"}二、入门实战{"name":"DESKTOP-1TSVGKG","cluster_name":"elasticsear

  6. Ruby 守护进程和 JRuby - 备选方案 - 2

    我有一个应用程序正在从Ruby迁移到JRuby(由于需要通过Java提供更好的Web服务安全支持)。我使用的gem之一是daemons创建后台作业。问题在于它使用fork+exec来创建后台进程,但这对JRuby来说是禁忌。那么-是否有用于创建后台作业的替代gem/wrapper?我目前的想法是只从shell脚本调用rake并让rake任务永远运行......提前致谢,克里斯。更新我们目前正在使用几个与Java线程相关的包装器,即https://github.com/jmettraux/rufus-scheduler和https://github.com/philostler/acts

  7. ruby - HTTP POST 上的 SSL 错误(未知协议(protocol)) - 2

    尝试通过SSL连接到ImgurAPI时出现错误。这是代码和错误:API_URI=URI.parse('https://api.imgur.com')API_PUBLIC_KEY='Client-ID--'ENDPOINTS={:image=>'/3/image',:gallery=>'/3/gallery'}#Public:Uploadanimage##args-Theimagepathfortheimagetoupload#defupload(image_path)http=Net::HTTP.new(API_URI.host)http.use_ssl=truehttp.verify

  8. 【网络】-- 网络基础 - 2

    (本文是网络的宏观的概念铺垫)目录计算机网络背景网络发展认识"协议"网络协议初识协议分层OSI七层模型TCP/IP五层(或四层)模型报头以太网碰撞路由器IP地址和MAC地址IP地址与MAC地址总结IP地址MAC地址计算机网络背景网络发展        是最开始先有的计算机,计算机后来因为多项技术的水平升高,逐渐的计算机变的小型化、高效化。后来因为计算机其本身的计算能力比较的快速:独立模式:计算机之间相互独立。    如:有三个人,每个人做的不同的事物,但是是需要协作的完成。    而这三个人所做的事是需要进行协作的,然而刚开始因为每一台计算机之间都是互相独立的。所以前面的人处理完了就需要将数据

  9. 物联网MQTT协议详解 - 2

    一、什么是MQTT协议MessageQueuingTelemetryTransport:消息队列遥测传输协议。是一种基于客户端-服务端的发布/订阅模式。与HTTP一样,基于TCP/IP协议之上的通讯协议,提供有序、无损、双向连接,由IBM(蓝色巨人)发布。原理:(1)MQTT协议身份和消息格式有三种身份:发布者(Publish)、代理(Broker)(服务器)、订阅者(Subscribe)。其中,消息的发布者和订阅者都是客户端,消息代理是服务器,消息发布者可以同时是订阅者。MQTT传输的消息分为:主题(Topic)和负载(payload)两部分Topic,可以理解为消息的类型,订阅者订阅(Su

  10. ruby-on-rails - 能够处理 rar/tar/zip/7z 的 Ruby/rubyzip 替代方案? - 2

    关闭。这个问题不符合StackOverflowguidelines.它目前不接受答案。要求我们推荐或查找工具、库或最喜欢的场外资源的问题对于StackOverflow来说是偏离主题的,因为它们往往会吸引自以为是的答案和垃圾邮件。相反,describetheproblem以及迄今为止为解决该问题所做的工作。关闭9年前。Improvethisquestion我想知道是否有人知道Ruby的ruby​​zip替代品,它可以处理各种格式,特别是zip/rar/7z?我知道libarchive,但它对我的目的来说并不完整(它是一个很好的gem)。(澄清一下,libarchive-对我不起作用-因为

随机推荐