最近看到一个问题,在 64 位操作系统中。实际测试环境 Ubuntu 22.04,GCC 11。
问 sizeof(stuct test) =
?当然我知道这道题想考察的 int/long 定义以及对齐问题,之前编码也不会太在意这类似问题,直接打印出来就行,但是作为考题这里有诸多不严谨地方。我们好好探索下。
最近看到一个问题,在 64 位操作系统中。实际测试环境 Ubuntu 22.04,GCC 11。
问 sizeof(stuct test) =
?当然我知道这道题想考察的 int/long 定义以及对齐问题,之前编码也不会太在意这类似问题,直接打印出来就行,但是作为考题这里有诸多不严谨地方。我们好好探索下。
本文为 Thread 路由协议相关规范,翻译自Thread Specification->5.9 Routing Protocol,作为理论储备。这里未做任何解释,接下来会结合其他系列文档从抓包、代码实现结合协议规范去理解该路由协议。
本节描述了 Thread 网络中使用的路由协议。Thread 路由协议是一个简单的距离向量路由协议。协议的主要目标是最大化地可以在单个消息中传输的路由信息量。因此,该协议限制了包含最多 MAX_ROUTERS 或更少路由器的网络。
...我感觉自去年以来我一直在等待。
随着 2018 年的结束,广告支持的崩溃迫使我转向付费咨询。尽管这对我在财务上更有利,但主要关注咨询工作意味着在 2019 年几乎没有发布任何关于 SmallNetBuilder 的产品评论。
...Thread® 是一种基于 IPv6 的网络协议,专为低功耗、Mesh 组网的 IoT 设备设计,基于 IEEE 802.15.4-2006 的无线 Mesh 网络,通常称为无线个域网(WPAN)。Thread 与其他 802.15 Mesh 网络协议(如 ZigBee、Z-Wave 和蓝牙低功耗)相似,但是独立无关。
Thread 的主要特点包括:
...这里来聊聊跨源资源共享CORS(Cross Origin Resouce Share)。
开局一张图,很多人错误理解跨源资源共享就是浏览器在访问服务器A(domain-a.com)获取的资源如果包含跨源服务器B(domain-a.com)资源的时候那么此时就需要跨源资源共享,所以我们需要配置我们的访问控制策略Access-Control-Allow-Origin 运行所有站点访问。
...对于 iptables 学习,反复看过 man iptables
命令,但是缺乏归纳总结,不用就忘了。现在好了,直接让 ChatGPT 帮我画一些系统框图辅助记忆。
GCC 优化过于复杂,这里探索 GCC 对未使用的代码和变量以及文件的优化策略。
如下两个文件。
...Matter 中的具有定义明确的设备数据模型 (Device Data Model),它是对设备功能的分层建模,在此模型最顶层的实体就是设备。
Matter 中所有的设备,包含手机,家庭语音助手的音箱都统称为 Nodes。Node 作为网络中节点,它是网络中唯一可识别和可寻址的资源,用户可以将其视为一个功能的整体。同样地,通信中原地址和目的地址也是描述 Node。
...设备认证特指 CSA Matter 认证产品的验证流程,也就是 Matter 设备在 Commissioning 过程需要向 Commissioner 证明其是一个合法的设备。该流程主要是利用设备在生成阶段烧录的 DAC 证书、私钥和和证书链。Commissioner 会在该阶段完成如下验证:
在 Matter 开发阶段,开发者是可以在没有认证的前提下完成所有功能开发。一旦打算进入量产,那么需要联系 Matter 认证实验室完成认证,认证实验室会将认证状态同步到 DCL,保证 Commissioning 阶段能够完成 DAC 流程。
认证通过 Public Key Infrastructure (PKI) 系统构造根证书、中间证书和 DAC 的三级证书结构。这和我们常使用的 HTTPs 的认证体系是一致的。
...Commissioning 在 Matter 特指给一个新设备分配 Fabric 操作凭据的一系列流程。该流程中区分两个不同的角色,Commissioner 作为该流程的操作者, Commissionee 即为该新设备。
通常地,手机 App 作为这里的 Commissioner ,而我们购买的智能硬件作为 Commissionee。如下流程指示 Commissioning 流程的关键步骤。
...