Добавить новый бит в пакет

Например, есть два узла 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. Так будет безопаснее, но меньше места.

Другие вопросы по тегам