蓝牙mesh消息包与以太网帧的分层构成
笔者在接触以太网之前,先了解的是蓝牙mesh的各类信息。现翻看一本介绍TCP/IP协议的资料,发现应用层数据在以太网协议栈内的封装过程与蓝牙mesh协议栈内的封装过程异曲同工。下图左侧是手头这本TCP/IP协议中的分层图示,下图右侧是我能找到的蓝牙mesh协议中分层相关的结构表示得比较清晰的图片。蓝牙mesh分层中,为了强调底层传输层的分组包作用,将分包过程也表示了出来;以太网中,由网络层(IP层)分组包。

接下来分析一下两协议的分层包结构。
蓝牙mesh协议

TCP/IP协议
APP层首部:根据使用的应用层协议添加,具体要看上层协议规定的首部。
TCP首部:↓
与提供可靠连接的TCP“平起平坐”的UDP,首部就简单的多了,只有源目端口号、16位UDP长度和检验和(覆盖整个UDP报文),这里就不放图了。
蓝牙mesh消息包与以太网帧的分层构成的更多相关文章
- 【转】以太网帧、IP报文格式
原文:https://www.cnblogs.com/yongren1zu/p/6274460.html https://blog.csdn.net/gufachongyang02/article/d ...
- 以太网帧、IP报文格式
这几天完成一个对比以太网帧的程序(c语言),老师给了以太网帧头部和IP报文头部的结构体,跟实际抓取到的数据包的格式是相同的. 以太网帧头部的数据结构: typedef struct { unsigne ...
- SIG蓝牙mesh笔记3_网络结构
目录 3. Mesh Networking 3.1 Bearers 承载层 3.2 Network Layer 网络层 3.2.3 Address validity 地址有效性 3.2.4 Netwo ...
- 【VS开发】【Linux开发】【DSP开发】如何截获以太网帧并解析
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 3 ...
- 关于蓝牙Mesh您必须知道的七件事
蓝牙技术联盟于7月19日正式宣布,蓝牙(Bluetooth)技术开始全面支持Mesh网状网络.全新的Mesh功能提供设备间多对多传输,并特别提高构建大范围网络覆盖的通信能力,适用于楼宇自动化.无线传感 ...
- 蓝牙mesh介绍
了解一下关于蓝牙Mesh的知识. 蓝牙mesh网络使用,并且依赖于低功耗蓝牙(BLE).低功耗蓝牙技术是蓝牙mesh使用的无线通信协议栈. 蓝牙BR / EDR能够实现一台设备到另一台设备的连接和通信 ...
- 解密蓝牙mesh系列
解密蓝牙mesh系列 https://mp.weixin.qq.com/s/KdVhkgcmHIboA0xPFqFCgQ 1.NRF52832 & NRF52840 BLE mesh 协议栈 ...
- SIG蓝牙mesh笔记5_Provisionging
目录 Bluetooth Mesh Provisioning Provisioning bearer layer Generic Provisioning PDU Bluetooth Mesh Pro ...
- SIG蓝牙mesh笔记2_mesh组成
目录 SIG 蓝牙 mesh 组成 mesh网络概述 网络和子网 设备和节点 devices & nodes 入网 mesh中的几个概念 智能插座例子 SIG 蓝牙 mesh 组成 mesh网 ...
- stm32+lwip(五):以太网帧发送测试
我是卓波,很高兴你来看我的博客. 系列文章: stm32+lwip(一):使用STM32CubeMX生成项目 stm32+lwip(二):UDP测试 stm32+lwip(三):TCP测试 stm32 ...
随机推荐
- 单实例Primary快速搭建Standby RAC参考手册(19.16 ADG)
环境:Single Instance -> RAC Single Instance: db_name=demo db_unique_name=demo instance_name=demo se ...
- java 进阶P-5.5+P-6.1
框架加数据 以框架+数据来提高可扩展性 命令的解析是否可以脱离if-else 定义一个Handler来处理命令 用Hash表来保存命令和Handler之间的关系 抽象 Shape是什么形状 Shape ...
- pycharm设置python头文件模版
钢铁知识库,一个学习python爬虫.数据分析的知识库.人生苦短,快用python. 使用pycharm创建python文件时候,有时候需要自动生成想要的文件头,如何生成呢? 只需要以下几步: 在fi ...
- Feign远程调用 (介绍与使用)
Feign远程调用 Feign是代替RestTemplate进行远程调用的组件,避免了RestTemplate手写复杂的url容易出错的问题,并提高代码的可读性 使用Feign步骤 1)引入依赖 哪个 ...
- 真正“搞”懂HTTP协议14之HTTP3
我们前一篇学习了HTTP/2,相比于HTTP/1,HTTP/2在性能上有了大幅的改进,但是HTTP/2因为底层还是基于TCP协议的,虽然HTTP/2在应用层引入了流的概念,利用多路复用解决了队头阻塞的 ...
- tomcat报错:java.io.IOException: No space left on device
1 简介 今天网站很多页面访问突然就404了,路径分明没有变,是正确的,就很奇怪 排查日志发现报错java.io.IOException: No space left on device 这个错误,是 ...
- 可视化的容器镜像的图形管理工具Portainer【强烈推荐】
Portainer是一个可视化的容器镜像的图形管理工具,利用Portainer可以轻松构建,管理和维护Docker环境. 而且完全免费,基于容器化的安装方式,方便高效部署. 官方站点:https:// ...
- 如何使用 ArrayPool
如果不停的 new 数组,可能会造成 GC 的压力,因此在 aspnetcore 中推荐使用 ArrayPool 来重用数组,本文将介绍如何使用 ArrayPool. 使用 ArrayPool Arr ...
- 基于NPOI封装导出Excel方法
背景: 在工作中我们有一个很常见的业务场景:导出列表的数据,生成Excel,而使用NPOI生成Excel我们也会遇到一个问题,每遇到一个不同的类导出时都要生成不同的表头,行,列,但其实里面大部分代码都 ...
- 通过Rsync实现文件远程备份
转载:博客园 https://www.cnblogs.com/huligong1234/p/13513395.html