Добавить новый бит в пакет
Например, есть два узла A и B. A отправит несколько пакетов IPv6 в B. Могу ли я добавить новый бит к пакетам в качестве функции каждого пакета, такой как идентификатор пакета, чтобы я мог различать эти пакеты по нему.
1 ответ
Если вы используете RPL, вы, вероятно, можете использовать некоторые биты в заголовке поэтапного расширения RPL для этой цели. Проверить структуру
struct uip_ext_hdr_opt_rpl
- у него есть переменная-член
flags
, не все биты которых в настоящее время используются. Соответствующий код, который устанавливает и читает этот заголовок, находится в файле
rpl-ext-header.c
под
net
.
Вероятно, можно также использовать некоторые биты заголовка IEEE 802.15.4 или даже биты основного заголовка IPv6 для ваших целей, но это нарушит совместимость с этими стандартами, и, возможно, будет сложнее реализовать это, делая что-то поверх более высокого уровня. заголовок уровня РПЛ.
Если вы абсолютно не хотите нарушать совместимость с чем-либо, я думаю, что единственный безопасный вариант - добавить свой собственный заголовок расширения IPv6. Так будет безопаснее, но меньше места.