#omnet #inet
Вопрос:
Я рассматриваю сценарий многооперационной сенсорной сети с протоколом маршрутизации AODV и протоколом X-MAC. Я хочу прочитать поле тип сообщения сообщения RREQ с уровня MAC. Кто-нибудь, пожалуйста, посоветует мне код для этого?
Спасибо.
Ответ №1:
Протоколы канального уровня (например, X-MAC) не должны зависеть от какого-либо протокола, который находится над ними. Точно так же, как драйвер устройства ethernet не должен содержать никакого кода, касающегося размера окна TCP. Вам следует подумать о том, чтобы иметь программную архитектуру, которая отражает то, как сервисы работают в реальной жизни.
Комментарии:
1. Привет, Руди, X-MAC обрабатывает сообщения RREQ как пакет данных, поэтому следует тому же циклу отправки пакета данных. Есть ли какой-либо способ, чтобы X-MAC не рассматривал сообщения RREQ как пакет данных? Спасибо.
2. Нет, данные, поступающие с верхнего уровня, непрозрачны для уровня mac. Это просто данные, вот и все. Если вы хотите сделать что-то пространственное с пакетом, вы можете реализовать такое поведение в коде X-MAC, но этот код должен запускаться в ответ на некоторые метаданные, прикрепленные к пакету, вместо содержимого самого пакета. Теги запросов используются для межуровневой связи в INET для этих случаев использования.
3. Пример: Если вы хотите передавать все пакеты RREQ с максимальной мощностью по беспроводному интерфейсу, вам необходимо прикрепить тег SignalPowerReq (метаданные) к пакету в кодовой базе AODV (где вы знаете всю информацию, которая находится внутри RREQ). Радио на физическом уровне поймет, что SignalPowerReq и будет действовать соответственно. В этой архитектуре радио не знает, что находится внутри пакета. Он просто знает, как обращаться с параметром SignalPowerReq. т. Е. Как передавать пакеты с разной мощностью.
4. Межпротоколная связь является важной концепцией для реализации этого: inet.omnetpp.org/docs/developers-guide/…