美文网首页
Mesh(二)----Networking

Mesh(二)----Networking

作者: shlin | 来源:发表于2017-12-10 20:43 被阅读0次

    地址

    • 单播地址(unicast address)
      最大32767(0x7FFF),有Provisioner在配对的时候分配
    • 虚拟地址(virtual address)
      代表一系列目标地址,16bit的值, 范围0x8000~0xBFFF
      虚拟地址的意思:
      Label UUID是128bit的,一个或多个elements可以订阅该UUID,达到接收消息的目的,对该UUID做hash,即为虚拟地址。
    • 组地址(Group address)
      这个很好理解了。组地址的一些定义如下:


      image.png

    Network PDU

    结构如下:


    image.png
    • IV Index
      IV Index提供一个在应用层和网络层,用于临时加密认证的信息熵。它必须经常改变以避免相同的SEQ。
    • NID
      加密后的NetKey
    • CTL
      控制位,决定该信息是一条控制信息还是一条可使用信息。
    • TTL
      是否继续转发
    • SEQ
      24bit,这让节点可以传送多达0xFFFFFF条不重复的信息。每生成新的Network PDUs,Sequence number都会增加。
    • SRC和DST
      起点地址和终点地址,起点地址只能是单播地址,终点可以是任何地址。
    • TransportPDU
      数据段,最大128bits
    • NetMIC
      验证DST和TransportPDU未发生丢包,而导致其改变。

    流程:
    几个关键的点,检查NID里的NetKey是否相同,检查SRC和DST地址。


    image.png

    底层上,消息是可以分段和重组的。
    有一个有意思的地方,在消息分段和重组机制里,利用了Segment offset number和last Segment number。

    相关文章

      网友评论

          本文标题:Mesh(二)----Networking

          本文链接:https://www.haomeiwen.com/subject/ycovixtx.html