Pardon me, I'm new here, but I was wondering why the channel hopping
scheme is defined the way it is. Currently, RFC 7554 notes that the
channel selected for a transmission by a node is:
frequency = frequency_table [ (ASN + channelOffset) mod nFreq ]
where channelOffset is a set value for this node to use in this slot of
the slotframe cycle, frequency_table is a set array of frequencies, and
nFreq is the size of frequency_table.
The question I have is with ASN, the "absolute slot number". RFC 7554
states that it increments one for each slot time, so that as a
particular slotframe slot recurs, the ASN is incremented by the number
of slots in the slotframe.
The result is that to ensure that each node's transmissions cycle
through all the frequencies in the frequency_table, the length of the
slotframe needs to be relatively prime to nFreq:
A way of ensuring communication happens on all available frequencies
is to set the number of timeslots in a slotframe to a prime number.
My question is that if ASN was redefined to be a counter of slotframes
rather than of slots, then each node would cycle through all the
frequencies regardless of the size of the slotframe, because each node's
frequency index would advance 1 with each slotframe rather than
(slotframe_size mod nFreq).
This alternative is fairly obvious, so there must be a known reason why
it isn't desirable.
6tisch mailing list