Приложение Castalia WBAN |Получение пропускной способности - PullRequest
1 голос
/ 02 ноября 2019

Я хочу получить сравнение между пропускной способностью bybassrouting и Multiringrouting для сети WBAN на основе BaselineMAC, а затем нарисовать график для сравнения.

Я добавил следующее в INI-файл


[General]

include ../Parameters/Castalia.ini

sim-time-limit = 100s

#include ../Parameters/SensorDevice/Accelerometer.ini

#SN.physicalProcessName = "CarsPhysicalProcess"
#SN.physicalProcess[*].car_interarrival = 5 #every 5 mins a car will move


SN.wirelessChannel.pathLossMapFile = "../Parameters/WirelessChannel/BANmodels/pathLossMap.txt"
SN.wirelessChannel.temporalModelParametersFile = "../Parameters/WirelessChannel/BANmodels/TemporalModel.txt"

SN.node[*].Communication.Radio.RadioParametersFile = "../Parameters/Radio/BANRadio.txt"
SN.node[*].Communication.Radio.symbolsForRSSI = 16
SN.node[*].Communication.Radio.TxOutputPower = "-15dBm"


#------------------------------------------------------------------
SN.node[*].ApplicationName = "BridgeTest"
SN.node[*].Application.collectTraceInfo = true
SN.node[0].Application.isSink = true
SN.node[*].Application.startupDelay = 1     #wait for 1sec before starting sending packets
SN.node[0].Application.latencyHistogramMax = 600
SN.node[0].Application.latencyHistogramBuckets = 30
SN.node[3].Application.packet_rate = 5
SN.field_x = 100
SN.field_y = 20
SN.deployment = "[0]->center;[1..18]->6x3"
SN.numNodes = 19
#------------------------------------------------------------------
SN.physicalProcess[0].point1_x_coord = 0
SN.physicalProcess[0].point1_y_coord = 10
SN.physicalProcess[0].point2_x_coord = 100
SN.physicalProcess[0].point2_y_coord = 10
#------------------------------------------------------------------


#------------------------------------------------------------------
SN.node[*].Communication.MACProtocolName = "BaselineBANMac"
SN.node[*].Communication.MAC.phyDataRate = 1024
SN.node[0].Communication.MAC.isHub = true
SN.node[*].Communication.MAC.macBufferSize = 48
#------------------------------------------------------------------

[Config myRouting]
SN.node[*].Communication.RoutingProtocolName = "MultipathRingsRouting"
SN.node[*].Application.reportDestination = "0"

[Config noRouting]
SN.node[*].Communication.RoutingProtocolName = "BypassRouting"
SN.node[*].Application.reportDestination = "0"

Я не знаю, как у меня может быть пропускная способность для этой маршрутизации.

это приложение (BridgeTest) содержит вывод с именем Reprogram receive Выход приложения для BridgeTest

Пожалуйста, помогите мне с командой для сравнения теста пропускной способности. Примечание: я попытался использовать SN.node[*].ApplicationName = "ThroughputTest", и он выдал ошибку, так как не определяет переменную isSink

1 Ответ

0 голосов
/ 06 ноября 2019

Прежде всего, было бы хорошо, чтобы было ясно и точно о том, что вы хотите измерить и для какой цели. У вас есть реальная проблема или это только часть вашего опыта в Castalia? Я спрашиваю, потому что «измерение пропускной способности различных протоколов маршрутизации» является довольно расплывчатым утверждением, особенно когда одним из протоколов является BypassRouting, что означает отсутствие маршрутизации! Здесь я предполагаю, что это часть вашего учебного пути с Castalia, и вы просто играете с симулятором, но, пожалуйста, обновите свой вопрос, если другие предположения важны.

Глядя на INI-файл, который я могуобратите внимание, что вы пропустили несколько важных фактов:

  • Вы пытаетесь использовать маршрутизацию (MultiPathRings) с BaselineBANMAc. BaselineBANMAc поддерживает только связь между концентратором и дочерними узлами. Дочерние узлы не могут общаться друг с другом . Таким образом, BaselineBANMAc должен использоваться только с топологиями звездной сети. Многократных прыжков нет. Конечно, вы можете использовать другой MAC, который обеспечивает связь между всеми узлами. Например, TMAC или TunableMAC.

  • Приложение BridgeTest выполняет своего рода маршрутизацию на уровне приложения (в основном это ретрансляция пакетов, которые он получает, основываясь на некоторых простых правилах). Так что это НЕ хорошее приложение для тестирования с модулем маршрутизации. Вам следует прочитать руководство (раздел 3.6.2) и проверить код приложения BridgeTest, чтобы лучше понять его функциональные возможности.

  • Приложение BridgeTest использует пакеты двух типов: 1) Отчетные пакеты (в основном данные зондирования), которые передаются от 18 чувствительных узлов к узлу приемника и 2) Перепрограммируют пакеты, которые передаются от узлов приемника к узлам восприятия. Они имеют разные характеристики (частоту создания и объем создаваемых данных)

  • Вы закомментировали строки физического процесса, в основном без физического процесса. Это означает, что нечего определять, поэтому не будет никаких пакетов отчетов от чувствительных узлов к узлам приемника (первый тип пакетов, которые я упомянул выше). Не уверен, что это преднамеренно.

Я предлагаю вам вернуться к тому, чего вы хотите достичь, и какой именно сценарий симуляции вы хотите протестировать (кроме смутного утверждения, которое вы написали в началеваш вопрос). Изучите различные части / модули, которые, по вашему мнению, имеют отношение к достижению вашей цели, и вы можете задать дополнительные вопросы здесь.

...