由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 简单说说Hornet Mesh Network
进入Programming版参与讨论
1 (共1页)
T********i
发帖数: 2416
1
这个真的是创新。据我所知,中国真的根本没人做。
背景是,目前所有的wireless network stack都suck!而且是disguistingly suck!包
括所谓流行的Zigbee和BLE。谷歌的OpenThread半死不活。下面我会细说。
首先Hornet是基于Zigbee框架的。但是把Zigbee里面毫无人性的部分该删就删,该改就
改。可以说,从入网,到密钥管理,到路由协议和算法,都大幅度修改了。甚至MAC包
都有微调。已经到了没必要兼容Zigbee的程度了。但是依然能够兼容Zigbee的End-
device,就是简单设备没有路由转发功能的。
Zigbee一般只有2个密钥。Hornet每2个设备都有独立私密密钥,因此是端-端加密的。
Hornet的MAC+NWK+APS,总代码量15,000行。没错是一万五千行。代码量少,但是功能
全面增强。代码越少,犯错机会就越少。
比较起来,OpenThread的代码量是24万行。多16倍。OpenThread没有APS层,没有端-端
加密的密钥管理标准。而且,OpenThread的一个网络最多250个设备。Hornet是65000个
,更适合商业和工业部署。
我家装有超过150个Hornet的无线设备。因为射频优化的太好,150个设备基本互相可见
。这对于Zigbee来讲就是噩梦。因为如果都是router,有150个neighbor的router不能
存活。如果都是End-device也不行。Hornet设备能够根据网络密度自动转化成router或
者end-device。这个feature目前只有thread具备。
T********i
发帖数: 2416
2
另外,Hornet,加上RTOS的操作系统,一共占用内存10KB。
端-端加密,mesh routing with over 65,000 nodes,10KB内存就能轻松搞定。
d*******r
发帖数: 3299
3
相当于自己另起炉灶了?
网络协议里面是一堆堆的legacy code, 自己写肯定清爽很多.
T********i
发帖数: 2416
4
其实,跟legacy code关系不大,关键是协议栈本身的算法设计要正确。
目前所有的协议栈,都表达了设计者和用户的利益冲突。利益冲突是无解的。
但是,利益冲突之外,明显能看出设计者还没完全想明白。
我的协议栈设计,是把问题想明白了。


: 相当于自己另起炉灶了?

: 网络协议里面是一堆堆的legacy code, 自己写肯定清爽很多.



【在 d*******r 的大作中提到】
: 相当于自己另起炉灶了?
: 网络协议里面是一堆堆的legacy code, 自己写肯定清爽很多.

T********i
发帖数: 2416
5
这个协议栈最终肯定是要开源的。
当然OpenThread也是开源的。目前也是刚刚开始推。
技术指标好,肯定会有人用。但是开源前技术和法律准备也要一年半载。
d*******r
发帖数: 3299
6
期待看到 well-written 的开源文档 + code

【在 T********i 的大作中提到】
: 这个协议栈最终肯定是要开源的。
: 当然OpenThread也是开源的。目前也是刚刚开始推。
: 技术指标好,肯定会有人用。但是开源前技术和法律准备也要一年半载。

T********i
发帖数: 2416
7
写文档就是要写几百页的Protocol Specification。
要写明和Zigbee/Thread/BLE在各个细节部分的相同点和差异。
而且要写明白为什么有这种差异?
开源的好处是,Protocol Specification可以直接引用代码的函数Reference。
其实说出来,都是大实话。理都懂。问题是,在设计阶段,无穷多的选项中,你要能想
出来设计成什么样。我认为这就是所谓自主创新和弯道超车的差别。

【在 d*******r 的大作中提到】
: 期待看到 well-written 的开源文档 + code
d*******r
发帖数: 3299
8
如果只有源代码,没有(简单)文档的话,宣传理解的成本有点高啊

【在 T********i 的大作中提到】
: 写文档就是要写几百页的Protocol Specification。
: 要写明和Zigbee/Thread/BLE在各个细节部分的相同点和差异。
: 而且要写明白为什么有这种差异?
: 开源的好处是,Protocol Specification可以直接引用代码的函数Reference。
: 其实说出来,都是大实话。理都懂。问题是,在设计阶段,无穷多的选项中,你要能想
: 出来设计成什么样。我认为这就是所谓自主创新和弯道超车的差别。

T********i
发帖数: 2416
9
我的意思是必须写复杂文档。也就是把specification写明白。
当然,准备成本高一些。但是必须的。

【在 d*******r 的大作中提到】
: 如果只有源代码,没有(简单)文档的话,宣传理解的成本有点高啊
1 (共1页)
进入Programming版参与讨论