mesh的网络层发送的数据包中,有一个字段TTL,占用7bits。也就是数值从0-127(0b0000000-0b1111111)。
TTL的作用是比较直接的,直译生命周期。大部分人都容易理解,而且好多文章会写TTL每次被中继转发一次后就会把TTL值减1,直到为0,则不会再被转发,从而来确定消息最大的转发次数。
但这里稍微有些出入。看下原文。
转义一下
主要是看1那个数值,可能已经被转发,但不会被转发,也就是说,当TTL设定一个大于1的值时,当中继转发后减1,其中一个中继收到的TTL是1的时候,它就不会再转发了。也就是说TTL到1是最后一次。所以原文里也有说最多被转发126次。
那么TTL设定0有什么意义呢?我的理解是当用在低功耗节点和朋友节点的时候,是不是就可以设定TTL为0,这样,就不需要被中继转发。
以上是根据mesh的文档分析。