С.Н. Падалко, М.Н. Терентьев
82
ISSN 0236-3933. Вестник МГТУ им. Н.Э. Баумана. Сер. Приборостроение. 2017. № 1
/* перейдем на уровень выше */
Adest = GetParentMGW(Adest);
}
/* иначе маршрут пролегает через родителя */
return GetParentMGW(Athis);
}
В этих функциях используются глобальные переменные:
m
,
k
— модуль сети
и порядок размера кластера (см. (7)).
В случаях, когда функция
GetNextMGW()
выполняется на узле-коорди-
наторе, или когда она возвращает 0 на узле-шлюзе, передача сообщения узлу,
логический адрес которого возвращен этой функцией, должна выполняться не
посредством беспроводной сети, а через внешнюю сеть, например, интернет.
Для реализации предлагаемого метода в памяти узла должны храниться его
физический и логический адреса, идентификатор сети, размер кластера, модуль
сети, адрес родителя, число подключенных потомков. Номер кластера может
быть получен из логического адреса узла сдвигом вправо на
k
разрядов.
При маршрутизации способность сети к самоорганизации проявляется в
том, что маршруты передачи сообщений строятся автоматически на основании
информации о фактическом наличии связей между узлами.
Реконфигурация сети.
В случае программного или аппаратного сбоя узел
может потерять информацию о назначенном ему логическом адресе. Другой воз-
можностью потери логического адреса является временная потеря связи с сетью.
И то, и другое приводит к фактической утрате узлом связи с сетью, вследствие
чего узел должен выполнить подключение к сети заново.
Для обнаружения утраты узлом связи с сетью могут использоваться служеб-
ные сообщения. В целях сокращения трафика таких сообщений они должны
рассылаться координатором (в том числе и в многошлюзовой сети), а затем ре-
транслироваться шлюзами. По радиоканалу такие сообщения должны рассы-
латься в широковещательном режиме. Получив служебное сообщение от роди-
теля в дереве, узел должен запомнить факт приема этого сообщения и ретранс-
лировать его потомкам. Интервал рассылки таких сообщений является одним
из параметров работы сети. Неполучение узлом служебных сообщений от роди-
теля в течение установленного промежутка времени должно инициировать по-
вторное подключение этого узла к сети. Если некоторый узел принимает по ра-
дио запрос на подключение к сети от своего родителя в дереве, он должен сам
немедленно начать процедуру подключения к сети.
После реконфигурации сеть может измениться: вновь назначенный узлу ло-
гический адрес может не совпасть со старым, узел для подключения может вы-
брать предложение другого родителя в дереве, возможно, из иного кластера.
Таким образом, после реконфигурации связи между узлами могут быть уста-
новлены иначе. Это приводит к тому, что часть маршрутов передачи данных в
сети может стать недействительной, зато могут появиться новые маршруты.
Другими словами, независимо от последствий реконфигурации связность сети