СПОСОБ И СИСТЕМА, ПРЕДНАЗНАЧЕННЫЕ ДЛЯ ОБЕСПЕЧЕНИЯ СЕТЕВЫХ ПРОТОКОЛОВ И ПРОТОКОЛОВ МАРШРУТИЗАЦИИ ДЛЯ КОММУНАЛЬНЫХ УСЛУГ
METHOD AND SYSTEM DESIGNED TO PROVIDE NETWORK PROTOCOLS AND ROUTING PROTOCOLS FOR UTILITY SERVICES

Область техники, к которой относится изобретение
Область изобретения в целом относится к сетям и сетевым компьютерным системам и, более конкретно, относится к способу и системе, предназначенным для обеспечения сетевых протоколов и протоколов маршрутизации для коммунальных и домашних услуг.
Сущность изобретения
Иллюстративные варианты осуществления иллюстрируют схему и протоколы маршрутизации в RF сети (наземной или беспроводной LAN), работающей в режиме FHSS с предоставлением возможности двухсторонней связи между коммунальными и домашними устройствами (такими как электрические счетчики, водомеры, газовые счетчики, устройства автоматизации распределения (DA) и устройства внутри помещения), которые являются хост-узлами IP в RF сети LAN, взаимно соединяющейся с коммунальной хост-системой (также упомянутой как удаленный учрежденческий сервер или BOS), которая является хост-узлом IP в инфраструктуре беспроводной или проводной WAN (глобальной сети). Версией IP в иллюстративном варианте осуществления является IPv6. Пакеты IPv6 инкапсулируют в IPv4 для передачи через обычную ретрансляцию/коммутацию пакетов WAN, основанную на IPv4. Способ, предназначенный для маршрутизации пакетов IPv6 в сети беспроводной LAN, включает в себя предоставление точки доступа (АР), который может выполнять инкапсуляцию (например, пакетов IPv4 в IPv6) в его возможности как шлюза между LAN и WAN и предоставление множества конечных точек или устройств IPv6, которые кажутся непосредственно соединенными с АР на уровне IPv6.
Физически конечные точки или устройства могут устанавливать пути радиопередачи непосредственно в АР (один сетевой сегмент в АР) или в другие устройства IPv6 (множество сетевых сегментов в АР), и алгоритмы и способы этого изобретения описывают, как создают топологию сети согласно АР и маршрутизируют пакеты с использованием канального уровня передачи данных (уровня 2 в модели OSI). Устройства или узлы возникают, обнаруживают доступные сети, выбирают сети для соединения, выбирают упорядоченное множество реальных кандидатов восходящего потока данных в качестве своего следующего сетевого сегмента в своей схеме маршрутизации, регистрируются с узлами восходящего потока данных, имеющими наилучшую стоимость пути или линии связи, и окончательно регистрируются с АР, связанными с одной или более из доступных сетей. Процесс обнаружения сети, проводимый с помощью узлов, гарантирует, что имеются маршруты для того, чтобы передавать пакеты в восходящем потоке данных в АР для выхода в коммунальную хост-систему, в то время как явная регистрация с узлами восходящего потока данных и АР обеспечивает АР самым последним представлением о сети и гарантирует, что трафик может также проходить в нисходящем потоке данных в узел. Это является схемой маршрутизации с множеством выходов и множеством входов, в которой узел сети может быть частью множества сетей через один или более АР (шлюзов).
Вышеупомянутые и другие предпочтительные признаки, включая различные новые детали осуществления и комбинации элементов, теперь будут описаны более подробно со ссылкой на сопровождающие чертежи и отмечены в формуле изобретения. Следует понимать, что конкретные способы и системы, описанные в настоящей заявке, изображены только в качестве иллюстрации, а не в качестве ограничений. Как будет понятно специалистам в данной области техники, принципы и признаки, описанные в настоящей заявке, могут быть осуществлены в различных и многочисленных вариантах осуществления, не выходя за рамки объема изобретения.
Краткое описание чертежей
Фиг.1А иллюстрирует общую архитектуру сети одного возможного варианта осуществления.
Фиг.1В является альтернативным представлением общей архитектуры сети одного возможного варианта осуществления.
Фиг.1С является обобщенной блок-схемой беспроводной коммунальной сети одного возможного варианта осуществления.
Фиг.2 является представлением побитовой структуры заголовка канального уровня маршрутизируемого пакета.
Фиг.3 изображает формат сообщения объявления сети, отправленного с помощью узла о наилучшем пути в конкретную сеть, известную ему.
Фиг.4 является упрощенным представлением таблицы маршрутизации, составленной в узле после того, как он принимает объявления сетей из своих соседних узлов.
Фиг.5 является примером списка маршрутов разных типов маршрутов, которые могут присутствовать в узле.
Фиг.6 изображает формат для сообщения “регистрация восходящего потока данных”, посланного с помощью узла в другой узел восходящего потока данных.
Фиг.7 является иллюстративным форматом для сообщения “подтверждение приема регистрации восходящего потока данных”, посланного с помощью узла восходящего потока данных в узел регистрации.
Фиг.8 является иллюстративным форматом для сообщения “регистрация АР”, посланного с помощью узла в АР, с которым он желает зарегистрироваться.
Фиг.9 дополнительно иллюстрирует содержания описания соседнего узла AREG, содержащегося в сообщении “регистрация АР”.
Фиг.10 изображает сеть, в которой конечный узел соединен через множество ретрансляторов более чем с одним АР, предоставляющими выход в одну сеть WAN.
Фиг.11 является представлением упорядоченного списка сетевых сегментов восходящего потока данных, сгенерированных в конечном узле М 1041 для выхода в сеть во время процесса появления в сети, изображенной на фиг.10.
Фиг.12 изображает сеть фиг.11, в которой произошло изменение одной из стоимостей линий связи.
Фиг.13 является представлением переупорядоченного списка сетевых сегментов восходящего потока данных, сгенерированных в конечном узле М для выхода в сеть во время процесса обновления маршрутизации в сети, изображенной на фиг.13.
Фиг.14 представляет шаблонную сеть, в которой множество АР, ретрансляторов и устройств конечных точек появляются один за другим.
Фиг.15 изображает таблицу стоимостей линий связи между всеми узлами, которые могут устанавливать RF линии связи друг с другом в одном возможном варианте осуществления.
Фиг.16 предоставляет описания нотации, использованной на фиг.17.
Фиг.17 является кратким изложением процесса определения и распространения маршрута, который происходит, когда узел загружают в сеть фиг.14, чтобы стать установленным.
Фиг.18 описывает конфигурацию с множеством выходов/множеством сетей для адаптивной маршрутизации.
Подробное описание предпочтительных вариантов осуществления
В следующем описании для целей объяснения изложена конкретная номенклатура, чтобы обеспечить полное понимание различных изобретательских концепций, раскрытых в настоящей заявке. Однако специалисты в данной области техники поймут, что эти конкретные детали не требуются, для того чтобы осуществить различные изобретательские концепции, раскрытые в настоящей заявке.
Некоторые части следующих подробных описаний представлены в понятиях алгоритмов и символических представлений операций относительно битов данных в компьютерной памяти. Эти алгоритмические описания и представления являются средствами, используемыми специалистами в областях обработки данных для того, чтобы наиболее эффективно передавать сущность своей работы другим специалистам в данной области техники. Алгоритм в настоящей заявке является и его обычно понимают как логическую последовательность последовательных или параллельных этапов, ведущих к желаемому результату. Этапы являются этапами, требующими манипуляций физическими величинами.
Однако следует иметь в виду, что все из этих или подобных понятий должны быть связаны с соответствующими физическими величинами и являются только удобными метками, примененными к этим величинам. Если специально не указано иначе, как понятно из следующего обсуждения, понятно, что по всему описанию, обсуждения, использующие понятия, такие как “обработка” или “вычисление с помощью компьютера”, или “вычисление”, или “определение”, или “отображение”, или тому подобные, относятся к действиям и процессам компьютерной системы или подобного электронного вычислительного устройства, которое манипулирует данными и преобразует данные, представленные как физические (электронные) величины в регистрах и памятях компьютерной системы, в другие данные, также представленные как физические величины в памятях или регистрах, или других таких устройствах запоминания, передачи или отображения информации компьютерной системы.
Настоящее изобретение также относится к устройству, предназначенному для выполнения операций, описанных в настоящей заявке. Это устройство может быть специально сконструировано для требуемых целей или оно может содержать универсальный компьютер, выборочно активируемый или реконфигурируемый с помощью компьютерной программы, запомненной в компьютере. Такая компьютерная программа может быть запомнена на носителях памяти, доступных для чтения с помощью компьютера, таких как любой тип диска, включая гибкие диски, оптические диски, CD-ROM, и магнитно-оптические диски, памяти, доступные только по чтению (“ROM”), памяти произвольного доступа (“RAM”), EPROM, EEPROM, магнитные или оптические карты и любой тип носителей, подходящих для запоминания электронных инструкций, но не ограниченных ими, и каждый из них соединен с шиной компьютерной системы.
Алгоритмы, процессы и способы, представленные в настоящей заявке, по существу, не связаны с любым конкретным компьютером или другим устройством или не ограничены любым конкретным компьютером или другим устройством. Различные универсальные системы могут быть использованы с программами в соответствии с уроками, преподанными в настоящей заявке, или может оказаться удобным сконструировать более специализированное устройство для того, чтобы выполнять требуемые этапы способа. Требуемая структура для множества этих систем будет понятна из описания, приведенного ниже. Кроме того, настоящее изобретение не описано со ссылкой на какой-либо конкретный язык программирования. Будет понятно, что множество языков программирования могут быть использованы для того, чтобы осуществить уроки изобретения, как описано в настоящей заявке.
Беспроводная сеть
Ссылаясь на фиг.1А, сеть связи включает в себя множество устройств 140 и 130 (“узлов”), соединенных друг с другом (по меньшей мере, один или более) и с одной или более точками доступа (АР) в беспроводной LAN 160. Если не указано иначе, АР в качестве альтернативы могут быть упомянуты как “шлюзы”. В свою очередь, АР могут быть соединены с одной или более удаленных учрежденческих систем (BOS) 150 через одну или более сетей 110, обычно глобальных сетей (WAN). Удаленная учрежденческая система может быть осуществлена в одном или более вычислительных устройствах, например центральном сервере, таком как центральный сервер 150, как изображено на фиг.1В, и может быть осуществлена через одну или более сетей.
Ссылаясь на фиг.1В, узлы, такие как устройства, питаемые от батареи, (BPD) 130 и/или устройства с постоянным питанием (CPD) 140, могут обнаруживать доступные сети 110 с помощью прослушивания всех соседних узлов, с которыми они могут установить линии связи, могут выбирать сеть, с которой они должны соединиться, и могут выбирать множество реальных кандидатов в восходящем потоке данных в качестве своего следующего сетевого сегмента. Следует заметить, что в одном предпочтительном в настоящее время варианте осуществления CPD могут действовать в качестве посредника для BPD. Однако альтернативные варианты осуществления могут позволять BPD непосредственно участвовать в качестве узлов с беспроводной сети без посредника.
Пример 1
Узел М-1, устройство 140 с постоянным питанием на фиг.1А, слышит о двух сетях WAN-1 и WAN-2 типа сети 110 WAN (с уникальными IP адресами) из своих соседних узлов и регистрируется как с АР-1, так и с АР-2 типа точки 120 доступа, который обеспечивает выход в эти WAN. Он делает это через узлы М-5, М-6, М-18, М-2 и М-12 восходящего потока данных типа устройства 140 с постоянным питанием, для того чтобы связаться с BOS-1 типа центрального сервера 150. Каждый из этих узлов может составить таблицу маршрутизации с упорядоченным списком следующих сетевых сегментов и соответствующими стоимостями линий связи (смежной стоимостью между локальным узлом и следующим сетевым сегментом) и стоимостью пути (объявленной стоимостью выхода с помощью следующего сетевого сегмента). Затем каждый узел регистрируется со своим соседним узлом и сервером 120 восходящего потока данных. Шлюз 120 может отслеживать топологию сети и функциональные возможности всех устройств, находящихся под его управлением, а также других устройств. Узлы могут поддерживать локальное состояние и состояния своих непосредственных соседних узлов и могут периодически обновлять свои регистрации.
Беспроводная коммунальная сеть
Следующий иллюстративный вариант осуществления предусматривает сетевую систему и способ мониторинга и управления коммунальным измерительным прибором в коммунальной сети.
Фиг.1С является обобщенной блок-схемой коммунальной сети 170, которая может быть использована для того, чтобы осуществлять варианты осуществления настоящего изобретения. Коммунальная сеть 170 может включать в себя одно или более электронных устройств 171 или узлов. В предпочтительном варианте осуществления электронные устройства 171 могут быть соединены через беспроводную локальную сеть (LAN) 172. В примере коммунальной сети LAN может быть окрестной сетью (NAN), соответствующей окрестности или зоне обслуживания для коммунальных услуг. Как изображено в иллюстративном варианте осуществления, могут быть использованы множество LAN, которые могут перекрываться или могут не перекрываться таким образом, что данное электронное устройство может быть соединено (или может быть частью только одной беспроводной LAN или множества беспроводных LAN) только с одной беспроводной LAN или множеством беспроводных LAN. Узлы могут быть любым типом электронного устройства. Примеры электронных устройств или узлов включают в себя коммунальные узлы, которые могут включать в себя коммунальный измерительный прибор или могут быть соединены с коммунальным измерительным прибором. Коммунальный измерительный прибор является устройством, которое может измерять измеряемые количества, обычно продукты широкого потребления, как электричество, вода, природный газ и т.д. Коммунальные узлы, которые соединяются с коммунальным измерительным прибором, могут включать в себя карту сетевого интерфейса (NIC) для связи в сети, могут включать в себя один или более RF приемопередатчиков для связи в одной или более беспроводных LAN и могут включать в себя одно или более интерфейсных устройств коммунальных измерительных приборов (данный коммунальный узел может взаимодействовать с множеством измерительных приборов, которые могут измерять или могут не измерять разные продукты широкого потребления, такие как электричество, газ, вода и т.д.). Коммунальные узлы также могут включать в себя интерфейс устройства в доме, чтобы соединяться с устройствами в доме через сеть в доме (которая может быть или может не быть беспроводной сетью). Интерфейс устройства в доме соединяется с устройствами в доме, чтобы обеспечивать линию связи между коммунальным узлом и устройствами в доме. Кроме того, коммунальный узел может обеспечивать линию связи между устройствами в доме и беспроводной сетью связи, соединенной с коммунальным узлом. Другие примеры электронных устройств включают в себя устройства связи, такие как телевизионные приставки (которые могут быть использованы в передаче кабельного телевидения или спутникового телевидения), бытовые приборы (например, холодильник, обогреватель, осветительный прибор (приборы), приборы приготовления пищи и т.д.), компьютеры или вычислительные устройства (например, игровые консоли, устройства памяти, РС, серверы и т.д.), сетевые устройства, такие как ретранслятор, шлюз, точка доступа, маршрутизатор или другие сетевые устройства, телефоны или сотовые телефоны, устройство заряда батареи, устройства транспортировки, транспортные средства транспортировки (например, электрический или гибридный автомобиль или другое транспортное средство, которое может “встраиваться” или может не “встраиваться” в коммунальную сетку, чтобы принимать измеряемый/контролируемый продукт широкого потребления, такой как электричество), устройства развлечения (например, телевизоры, DVD плееры, телевизионные приставки, игровые консоли и т.д.) и другие устройства, которые могут находится в доме, коммерческом предприятии, на шоссе или стоянке или в другом местоположении. Ретрансляторы могут управлять связью между электронными устройствами 171 и беспроводной LAN 172. Например, ретрансляторы могли бы обеспечивать связь между электронными устройствами и инфраструктурой беспроводной сети. Если не указано иначе, другие устройства в сети, такие как измерительные приборы, электронные устройства, шлюзы и т.д., также могут действовать как ретрансляторы, и ретрансляторы могут выполнять функции других устройств или программного обеспечения в сети.
Беспроводная LAN 172 может быть любым типом беспроводной сети и может использовать любую частоту, канал связи и протокол связи. В одном предпочтительном в настоящее время варианте осуществления одна или более беспроводных LAN 172 являются сетями FHSS (расширенного спектра путем скачкообразной перестройки частоты).
LAN 172 обычно соединяют с одним или более точками доступа (АР) 173. Данная LAN может быть соединена только с одним АР или может быть соединена с двумя или более точками доступа. Точки 173 доступа могут быть соединены с одной или более глобальными сетями (WAN) 174. WAN 174 могут быть соединены с одной или более удаленными учрежденческими системами (BOS) 175. Удаленная учрежденческая система может управлять множеством деловых или управленческих задач, включая участие в сборе измерительной информации, управление измерительными устройствами, безопасность для сети или другие функции, которые могут быть желательными в сети AMI. Примеры удаленных учрежденческих систем включают в себя системы выписки счетов и учета, уполномоченные серверы, системы обнаружения выхода из строя (которые могут быть использованы в коммунальной сети), системы хранения данных и т.д.
Узлы в сети связи, которая может быть LAN или WAN, или их комбинацией, могут связываться с использованием одного или более протоколов. Узлы могут включать в себя электронное устройство, ретранслятор, точка доступа, маршрутизатор, или BOS. Некоторые узлы могут связываться с использованием IPv6, некоторые могут связываться согласно IPv4, в то время как некоторые могут связываться согласно либо IPv4, либо IPv6. Некоторые узлы могут инкапсулировать пакеты IPv6 в пакет IPv4. Кроме того, некоторые узлы могут устанавливать туннель IPv4 через сеть IPv6. Связь между узлами и маршрутизация, используемая в узлах соединения беспроводной сети связи, описана более подробно ниже.
В одном предпочтительном в настоящее время варианте осуществления используемый протокол маршрутизации является алгоритмом с множеством выходов/множеством входов последовательных сетевых сегментов для определения оптимального маршрута в узел назначения/из узла назначения, который может использовать стоимость пути и/или предысторию стабильной маршрутизации восходящего потока данных и/или нисходящего потока данных в качестве метрики для определения следующего сетевого сегмента для маршрутизации пакета. В предпочтительном в настоящее время варианте осуществления подсчеты сетевых сегментов не используют для оценки стоимости пути, а используют для того, чтобы предотвращать циклы маршрутизации, как описано ниже. В таком варианте осуществления узел может выбирать маршрут с наименьшим значением метрики в качестве предпочтительного маршрута, чтобы передавать пакеты.
В одном предпочтительном в настоящее время варианте осуществления протокол маршрутизации используют в первоначальном процессе сканирования обнаружения сети с помощью нового узла через все интервалы времени или каналы, чтобы получить все (предпочтительно) его соседние узлы и чтобы получить ответы подтверждения приема и первоначальное значение оценок качества линии связи в эти обнаруженные соседние узлы. Эта первоначальная оценка качества линии связи может быть использована для того, чтобы выбрать некоторое число наилучших соседних узлов восходящего потока данных, с которыми говорить (выбранное число может быть конфигурируемым).
Регистрация узла со своими узлами восходящего потока данных в предпочтительном в настоящее время варианте осуществления означает, что узел намеревается использовать эти узлы восходящего потока данных для выхода в другую сеть. В ответ на регистрацию с узлом восходящего потока данных узел восходящего потока данных добавит регистрирующийся узел нисходящего потока данных в элементы таблицы маршрутизации нисходящего потока данных, поддерживаемые с помощью узла восходящего потока данных. Узлы восходящего потока данных также могут продолжать поддерживать новейшую временную информацию о регистрирующемся узле в ответ на регистрацию с помощью узла нисходящего потока данных. Маршрутизацию узлов друг через друга предпочтительно устанавливают для того, чтобы периодически обмениваться временной информацией, для того чтобы оставаться в синхронизации и обмениваться пакетами в RF LAN, использующей способы FHSS. В настоящем варианте осуществления обновления времени вложены в любые сообщения передачи данных, но явный обмен временной информации может быть инициирован, если не было обмена данными в течение предварительно сконфигурированного интервала времени (например, порядка 30 минут).
Затем может иметь место регистрация узла с одним или более АР. Этот процесс регистрации предпочтительно будет подсказывать АР добавить регистрирующийся узел в его таблицу маршрутизации и гарантировать, что статус узла является новейшим. Регистрация узла с АР может происходить периодически, но более редко, чем регистрация с узлом восходящего потока данных. В предпочтительном в настоящее время варианте осуществления частота является порядка один раз каждый 12 часов.
Адресация
Адресации Ipv6
Каждый узел 130, 140 в беспроводной сети связи может быть идентифицирован для сквозной маршрутизации в конкретной сети с помощью уникального адреса Ipv6. Адреса Ipv6 обычно состоят из двух логических частей: 64-битового префикса сети и 64-битовой основной части. После успешной регистрации с помощью узла с АР может передать узлу множество TLV (значение длины типа), содержащих конфигурацию сети, включая глобально маршрутизируемый префикс Ipv6, связанный с подсетью, с которой соединяется узел. Затем узел может послать запрос динамического обновления DNS (RFC 2136) в сервер DNS главной коммунальной системы сети (BOS). Когда сервер приложений желает послать трафик в беспроводную LAN, он может разрешить имя DNS узла в адрес Ipv6 для маршрутизации уровня 3 (IP) через WAN в правильный АР. Если WAN является основанной на IPv4, пакеты IPv6 могут быть инкапсулированы в IPv4 с соответствующими префиксами для туннелирования через глобальную сеть с ретрансляцией/коммутацией пакетов IPv4. В BOS принятый пакет Ipv6 мог бы быть расформирован.
Узел может регистрироваться с множеством сетей либо в одном и том же АР, либо в множестве АР, причем в этом случае он может послать последовательность приоритетов для сетей, к которым он принадлежит, на основании своей оценки или вычисления самой наименьшей стоимости маршрута. В предпочтительном в настоящее время варианте осуществления узел будет иметь адрес IP для каждой сети, с которой он зарегистрирован. Сервер DNS может связать эти адреса IP с основным именем узла в предпочтительной последовательности в соответствии со стратегиями, определенными в сервере DNS. Когда сервер BOS в сети WAN желает послать трафик в беспроводную LAN, сервер DNS последовательно проходит через адреса IPv6 кандидатов, в то же время разрешая основное имя узла. Как описано выше, глобальная сеть с ретрансляцией/коммутацией пакетов IPv4 WAN могла бы быть пройдена с помощью инкапсуляции пакета IPv6 в сервере BOS в пакет IPv4 с соответствующим префиксом, чтобы дать возможность туннелирования.
Адресация канального уровня
Каждый узел 130, 140 может быть идентифицирован для маршрутизации в беспроводной LAN с помощью уникального адреса канального уровня, назначенного его радиоинтерфейсу. В этом варианте осуществления каждый узел имеет только один интерфейс. Другие варианты осуществления могут иметь множество дискретных адресов канального уровня. Адреса канального уровня являются обычно длиной 8 байт и являются адресом МАС устройства. Широковещательный адрес канального уровня может быть шестнадцатеричным ff:ff:ff:ff:ff:ff (все единицы). Пакеты, переданные с этим локальным широковещательным адресом, предпочтительно обрабатывают с помощью всякого устройства, которое их принимает.
Передача пакета RF канального уровня
Фиг.2 иллюстрирует состав бит заголовка канального уровня, который может переносить информация, как объяснено в таблице ниже.
Флаги, переносимые с помощью заголовка канального уровня, изображенного на фиг.2, изображены в таблице 1:
Таблица 1
Бит (биты)
Имя
Описание
0-3
Версия
Номер версии протокола. Если принята более высокая версия, кадр отбрасывают
4-7
Id протокола
id протокола более высокого уровня:0х03: протокол маршрутизации SSN0х04: сетевой протокол IPv40х06: сетевой протокол IPv60х07: трассировка канала передачи данных
8-12
Подсчет адреса
Указывает полное число адресов, содержащихся в заголовке канала передачи данных, включая адреса источника, получателя и промежуточный адрес для пакетов, маршрутизированных из источника
13-17
TTL
Его устанавливают, когда генерируют пакет. Первоначальное значение устанавливают в 'TTL по умолчанию', и оно является конфигурируемым. TTL дают приращение каждому сетевому сегменту, который переходит пакет
18-22
Текущее смещение
Установлено в 0 в пакетах, которые не используют маршруты источника. Его устанавливают в 0, когда пакет сначала посылают в сеть. Ему дают приращение при каждом сетевом сегменте, который проходит пакет
23-25
Приоритет
Уровень DLC поддерживает 8 уровней приоритета, это поле отображается непосредственно в эти приоритеты
26
Бит маршрута источника
Указывает, содержит ли пакет весь межсегментный маршрут, используемый между источником и получателем
27
Сохранить маршрут источника
Установлен, когда код передачи L2 должен сохранить элементы в маршруте источника при передаче пакета в нисходящем потоке передачи данных
28-31
Зарезервированы
Зарезервированы для будущего использования
Как проиллюстрировано на фиг.2, за флагами следует исходный адрес узла, генерирующего пакет. В предпочтительном в настоящее время варианте осуществления адрес источника флага может быть никогда не установлен в широковещательный адрес.
Как проиллюстрировано на фиг.2, за адресом источника следует адрес следующего сетевого сегмента, в который должен быть послан пакет. В предпочтительном в настоящее время варианте осуществления, если бит маршрута источника установлен, тогда включают весь список адресов сетевых сегментов, заканчивающихся в адресе получателя, иначе задают только один следующий сетевой сегмент. В любом случае конечный адрес является адресом пункта назначения, в который должен быть маршрутизирован пакет.
Если бит маршрута источника установлен, заголовок пакета содержит полный маршрут, который будет охватывать пакет. Следует заметить, что пакет может быть маршрутизирован от источника между двумя узлами без промежуточных сетевых сегментов (т.е. подсчет адреса равен 2, и адрес назначения является либо адресом узла, либо широковещательным адресом). Это является механизмом, который может быть использован для того, чтобы опрашивать отдельные узлы 120, 140 из терминала, такого как отладочная подвижная станция.
Если бит маршрута источника не установлен, код передачи L2 в узле может принимать решение на основании значения поля подсчета адреса. Например, если подсчет адреса равен 1 в пакете, посланном из RF LAN в сеть WAN (117) или центральный сервер (150), это означает, что пакет может быть передан в любой узел выхода или АР в системе. Если подсчет адреса больше 1, это означает, что все дополнительные адреса в таблице передачи в узле являются допустимыми пунктами назначения выхода L2. Адреса в таблице передачи для сети упорядочены с помощью предпочтения от наименее желаемых до наиболее желаемых.
Если подсчет адреса больше 1, пакет может быть повторно маршрутизирован другому адресату L2 в случае перегрузки или ошибки. Когда выбран другой пункт назначения L2, предыдущая сеть должна быть удалена (либо с помощью отрицательного приращения текущего смещения, либо обнуления предыдущего поля). Удаление предыдущей сети предназначено для того, чтобы помочь уменьшить появление циклов маршрутизации, когда пакет мог бы быть повторно инжектирован еще дальше от пункта назначения, чем первоначальный источник.
Предпочтительно TTL становится уменьшенным, когда пакет проходит через передачу L2 узла. Пакеты, проходящие через передачу L2, удаляют, когда TTL становится нулем, сообщение с нулевым TTL, адресованные в локальный хост-узел, доставляют наверх стека. Узлы 130, 140, которые посылают сообщения в АР (шлюз) 120 без использования полного маршрута источника, предпочтительно должны устанавливать TTL, равный, по меньшей мере, числу сетевых сегментов в самом длинном пути, которые они имеют ведущим в АР 120. Максимальный TTL может быть сконфигурирован с помощью администратора. В предпочтительном в настоящее время варианте осуществления пакеты, посланные с адресом назначения, установленным в широковещательную передачу L2, не передают.
Доставку одноадресных пакетов предпочтительно подтверждают с помощью уровня DLC (управление каналом передачи данных). Широковещательные пакеты могут быть осуществлены как одноадресные пакеты в схеме FHSS, и предпочтительно их прием также подтверждают. Невозможно посылать одноадресные пакеты с неподтвержденным приемом. Когда узел 130, 140 посылает пакеты в соседний узел, уровень MAC может сообщать число повторных передач и окончательный успех передачи. Сетевой уровень может сохранять подсчеты этой информации на основе последовательных соседних узлов.
Подсистема маршрутизации
В предпочтительном варианте осуществления подсистема маршрутизации может быть разделена на четыре функциональных компонента:
сканирование и обнаружение соседних узлов,
поддержание соседних узлов,
регистрация узла с соседними узлами восходящего потока данных,
регистрация узла с АР.
Предпочтительный в настоящее время вариант осуществления подсистемы маршрутизации использует DLF (механизм продвижения данных канала передачи данных) кодового объекта для маршрутизации уровня 2 и MLME (объект управления подуровнем управления доступом к среде) кодового объекта для получения соседних узлов и поддержания временной информации между соседними узлами. DLF взаимодействует с MLME через множество API.
Сканирование и обнаружение соседних узлов
Узлы, такие как CPD 140 могут инициировать обнаружение сети, например, когда:
он не имеет реальных узлов выхода (он не связан с какими-либо АР),
связь с узлами восходящего потока данных не обслуживается, либо административно, либо вследствие частичного сбоя, либо потери распространения,
сообщение периодической регистрации в один из его АР завершено неуспешно, по меньшей мере, 3 раза,
объявлена новая сеть.
Узлы, такие как BPD 130 могут инициировать обнаружение сети, например, если обслужена линия связи в ее назначенный главный узел (узел 140 CPD).
В иллюстративных вариантах осуществления узел обнаруживает соседние узлы с использованием двух основных процессов: широковещательного обнаружения и запросов соседних узлов. Когда узел возникает, MLME может найти все смежности узла (или непосредственно соединенные RF линии связи) посредством “процесса широковещательного обнаружения”. Он может делать это случайным образом, чтобы определять, когда он должен начать посылку кадров широковещательного обнаружения (секция канала может быть сделана случайным образом). Затем он может выполнить цикл через каждый интервал времени, передавая каждый последовательный кадр широковещательного обнаружения в следующем интервале времени, возвращаясь в последнем интервале времени. В предпочтительном варианте осуществления этот процесс гарантирует, что кадр широковещательного обнаружения послан в каждом канале в последовательности скачкообразной перестройки частот сети, основанной на FHSS.
В иллюстративных вариантах осуществления имеются два режима для широковещательного обнаружения: агрессивный и пассивный. Когда включено питание, устройство может войти в режим агрессивного обнаружения, в котором оно отправляет кадры обнаружения в рандомизированных интервалах времени, которые могут быть порядка миллисекунд. Он может войти в режим пассивного обнаружения, когда истекла продолжительность агрессивного обнаружения. В режиме пассивного обнаружения узел может ожидать значительно большее время между отправлением кадров широковещательного обнаружения, обычно порядка минут.
Если процесс обнаружения нашел соседний узел (смежность) или множество соседних узлов, тогда MLME может запросить обнаруженные соседние узлы для их непосредственных соседних узлов (предпочтительно в ответ будут предоставлены все из непосредственных соседних узлов). Это может быть сделано, чтобы обнаружить среду сети более быстро (в противоположность широковещательной передаче большого числа кадров в сетевых сегментах замыкающего контакта с любым одним конкретным устройством). Механизм запроса соседнего узла предпочтительно является простым запросом/ответом: узел, принимающий запрос соседнего узла, применяет критерий предпочтительно ко всем узлам в своем списке, и предпочтительно все узлы, которые “соответствуют” критерию, размещают в ответе соседнего узла. Если критерий не задан, все узлы в списке могут быть размещены в ответе соседнего узла.
MLME может уведомлять DLF, когда обнаружение закончено, т.е. все (предпочтительно) узлы запрошены для их соседних узлов, и сделана попытка достичь этих соседних узлов.
Используя список соседних узлов, созданный с помощью MLME, DLF может попытаться и найти объявленные маршруты выхода. Он может выполнять эту задачу с помощью прослушивания сообщений “объявления сети” (NADV) из устройств в таблице соседних узлов MLME.
Сообщение NADV может объявлять множество маршрутов выхода, которые могут включать в себя стоимость пути и подсчет сетевых сегментов маршрутов выхода. Стоимость пути является наименьшей стоимостью, связанной с этим выходом (АР), среди всех путей-кандидатов. Подсчет сетевых сегментов является наибольшим числом сетевых сегментов, которые должны быть охвачены, чтобы достичь этого выхода. Подсчет сетевых сегментов используют для того, чтобы предотвратить циклы маршрутизации, и не используют в связи со стоимостью пути. Формат сообщения NADV изображен на фиг.3. Адрес МАС пункта назначения является адресом МАС устройства, из которого, в конечном счете, поступило объявление сети. В большинстве случаев оно является точкой выхода (или АР), поскольку сети идентифицируют с помощью узлов выхода.
Из объявлений, принятых в виде сообщений NADV, каждый узел может составить таблицу маршрутизации, перечисляющую доступные сети, узел выхода (АР), идентифицирующий каждую из сетей, и доступные пути в этот узел выхода. Предпочтительно каждый из доступных путей описывают с помощью следующего сетевого сегмента, флагов, описывающих тип пути, и стоимостей линии связи и пути. Флаги указывают тип маршрута, является ли он постоянным элементом в таблице, может ли он быть объявлен с помощью узла и т.д. В предпочтительном варианте осуществления узел будет решать регистрироваться с этим узлом восходящего потока данных, для которого полная стоимость (стоимости линии связи и пути) в сеть является наименьшей. Другие варианты осуществления могут использовать другие критерии, включая достоверную надежность линии связи при обеспечении долгосрочного выхода в сеть. Пример информации, которая может быть захвачена в таблице маршрутизации, представлен на фиг.4.
Из информации таблицы маршрутизации узлы могут составлять таблицу передачи или следующего сетевого сегмента со списком адресов МАС пунктов назначения, тип, связанный с каждым адресом, и стоимость пути для него. В предпочтительном в настоящее время варианте осуществления тип отражает предпочтение выбора, связанное с пунктом назначения, и может быть одним из пяти: маршрутизированный из источника, последовательный по сегментам, непосредственная смежность, частичный или локальный. Фиг.5 предоставляет пример типов маршрута, которые могут быть перечислены. В предпочтительном в настоящее время варианте осуществления случай пункта назначения типа последовательного по сегментам перечислен вместе со следующим сетевым сегментом из узла источника. В случае пункта назначения типа маршрутизированного из источника, матрица сетевых сегментов явно указана с пунктом назначения в таблице передачи. Множество элементов для одного и того же пункта назначения могут быть перечислены в порядке предпочтения, который может быть определен, как с помощью флага типа, так и стоимости пути. В предпочтительном в настоящее время варианте осуществления при попытке достичь адресата 4 в примере, приведенном ниже, узел сначала будет использовать один из элементов последовательно по сегментам, которых поддерживают в связанном списке, в порядке увеличения стоимости маршрута. В других вариантах осуществления алгоритм маршрутизации предусматривает информацию маршрутизации, поддерживаемую в узле источника, чтобы создать элемент маршрута источника для пункта назначения 4, с помощью структурирования прямого множества путей в адрес назначения. Еще в других вариантах осуществления узел будет использовать частичный маршрут, который он подобрал из проходящего трафика в некоторый момент времени.
Поддержание соседних узлов
В предпочтительном в настоящее время варианте осуществления соседние узлы восходящего потока данных и нисходящего потока данных постоянно поддерживают посредством маяков MLME или целевых периодических сообщений, подтверждающих активность, используемых для синхронизации тактовых импульсов и гарантирования, что узлы могут еще обмениваться пакетами друг с другом. Этот постоянный контакт и обратная связь могут быть использованы уровнем маршрутизации L2 для множества целей, которые могут включать в себя:
обновление соседних узлов передают в устройства нисходящего потока данных в маяках обновления синхронизации,
узлы используют MLME, чтобы обнаруживать, ушел ли их нисходящий поток данных или восходящий поток данных.
Характеристики линии связи восходящего потока данных узла могут изменяться, например, когда:
узел восходящего потока данных ушел,
обнаружен новый предпочтительный восходящий поток данных,
изменяется качество линии связи (плавно во времени).
В предпочтительном в настоящее время варианте осуществления эти правила применяют рекурсивно ко всем узлам восходящего потока данных в пути. Когда происходит смежный узел, узел повторно вычисляет стоимости в каждый из своих узлов выхода. Когда стоимость узла в его восходящий поток данных существенно изменяет стоимость в одну из сетей, через которую он маршрутизирует, он распространяет эту информацию в следующем множестве маяков MLME в свои узлы нисходящего потока данных.
В предпочтительном в настоящее время варианте осуществления изменение информации сети распространяют с помощью сообщения “список соседних узлов” с полем типа протокола, установленным в 0х2, указывающим, что частичный список изменений распространен. В одном варианте осуществления это может отражать добавление новых сетей или изменение стоимости существующих сетей. Когда восходящий поток данных исчезает, заставляя конкретную сеть фактически становится больше не маршрутизируемой, сообщение “список соседних узлов” посылают с типом протокола, установленным в 0х3, чтобы указать, что сеть удалена из списка сети узлов восходящего потока данных.
В предпочтительном в настоящее время варианте осуществления АР уведомляют об изменениях топологии сети с помощью периодических сообщений регистрации сети, которые являются одноадресными для него. Эти сообщения могут быть посланы с помощью каждого узла в сети АР и могут содержать полный список его узлов восходящего потока данных и/или стоимости линий связи в каждый из них.
В предпочтительном в настоящее время варианте осуществления MLME сохраняет два сглаженных средних значения, которые могут быть использованы с помощью DLF для определения стоимости линий связи для целей маршрутизации: сглаженный RSSI и сглаженный процент успеха информации. Понятие “сглаженный” относится к типу усреднения, выполненному относительно данных. В предпочтительном в настоящее время варианте осуществления усреднение использует формулу: усредненное среднее значение = А  среднее значение + В  выборку; В = (1-А). Этот тип усреднения не требует большого объема памяти для запоминания (в противоположность запоминанию последних N выборок), а также имеет контролируемый объем “предыстории”. Понятие предыстории относится к тому, насколько новое значение влияет на текущее сглаженное среднее значение. Это может быть управляемым с помощью значений А и В: большие значения А означают, что среднее значение имеет большую предысторию, чем меньшие значения А. Другие варианты осуществления могут использовать другие способы усреднения, которые являются желательными при превалирующих состояниях сети.
RSSI является указателем интенсивности принятого сигнала. Эта величина может быть измерена для всех кадров, принятых из узла. В некоторых вариантах осуществления она только имеет ограниченное использование в вычислениях качества линии связи, так как оно может не давать понятное указание частоты ошибок по битам линии связи. Предпочтительно, когда любой кадр принимают из узла, RSSI этого кадра усредняют в сглаженный RSSI с использованием формулы усреднения.
В предпочтительном в настоящее время варианте осуществления критерий процента успеха “информации” используют в качестве наилучшей метрики качества линии связи и, следовательно, в принятии решений маршрутизации. Процент успеха “информации” является формой частоты успеха пакета. Понятие “информация” используют, чтобы обозначать кадры, отличные от кадров, которые начинали связь. Первый кадр, посланный в узел, намеченный в его последовательности скачкообразной перестройки частоты, может не достигнуть успеха вследствие помехи или вследствие того, что приемник занят. Процент успеха информации, включающий в себя только те кадры, которые прослушивает целевой узел, а не кадры в начале связи, предоставляет метрику качества линии связи, который значительно не изменяется с нагрузкой приемника. Процент успеха информации считают как наилучший указатель качества линии связи.
Регистрация узла с соседними узлами восходящего потока данных
Каждый узел может явно регистрироваться с узлами восходящего потока данных, которые он намеревается использовать в сети. Эта регистрация означает, что узел восходящего потока данных будет теперь пытаться сохранять новейшую временную информацию о регистрирующемся узле и сохранять элемент таблицы маршрутизации нисходящего потока данных. Это гарантирует, что трафик может не только проходить к выходам, но также обратно в узел.
Узел регистрируется со своим узлом восходящего потока данных с помощью посылки сообщения “регистрировать восходящий поток данных”. Сообщение “регистрировать восходящий поток данных” содержит тип устройства и метрику работоспособности соседства. Метрику работоспособности соседства используют для того, чтобы отбирать узлы нисходящего потока данных, когда восходящий поток данных становится перегруженным. Устройства с малой метрикой работоспособности соседства (и, следовательно, предположительно малым разнесением маршрута) предпочтительно выбирают до устройств с большой метрикой работоспособности соседства.
Формат для сообщения “регистрация восходящего потока данных” задан на фиг.6. Тип сообщения указывает, что это регистрация восходящего потока данных. Стоимость соседства является метрикой работоспособности соседства, основанной на комбинации номеров потенциальных и активных узлов восходящего потока данных.
Потенциальные узлы восходящего потока данных позитивно или негативно подтверждают прием сообщения “регистрировать восходящий поток данных” с использованием сообщения “подтверждение приема регистрации восходящего потока данных”. “Работоспособность соседства” устройства обновляют на основании значения этого подтверждения приема. Потенциальные узлы восходящего потока данных дают меньший вес, чем подтвержденные узлы восходящего потока данных.
Формат для сообщения “подтверждение приема регистрации восходящего потока данных” приведен на фиг.7. Тип указывает, что это сообщение “подтверждение приема регистрации восходящего потока данных”. “Номер последовательности” является номером последовательности, посланным с помощью инициатора запроса в сообщении “регистрации восходящего потока данных”. Код состояния ответа может быть одним из следующих:
0х0, узел успешно добавлен,
0х1, узел не достиг успеха быть добавленным
0х2, узел отвергнут вследствие высокой нагрузки
0х3, узел уже поддержан.
Регистрация узла с АР
Узел регистрируется с АР с помощью посылки одноадресного сообщения “регистрировать АР” (AREG). Сообщение AREG содержит список адресов узлов в сети АР, которые регистрирующийся узел использует как узлы восходящего потока данных, и стоимость линии связи, связанную с каждым из этих узлов восходящего потока данных. Оно также может сдержать список других сетей-кандидатов (представленных с помощью узлов выхода этих сетей) и их стоимость.
Формат сообщения AREG предоставлен на фиг.8. Тип установлен таким образом, чтобы указывать, что это сообщение AREG. Бит М устанавливают, если имеются еще данные, чтобы послать. Номер последовательности является номером последовательности сообщения регистрации. Номер сообщения используют, когда сообщение регистрации посылают множеством частей. Каждый соседний узел AREG описывает узел восходящего потока данных в путях, используемых регистрирующимся узлом.
Описание формата для соседнего узла AREG с сообщением AREG предоставлено на фиг.9. Адрес МАС соответствует узлу восходящего потока данных или точке выхода сети, о которой регистрирующийся узел информирует АР. Стоимость является записанной стоимостью либо в узел восходящего потока данных, либо в описываемую точку выхода сети. Бит Е является битом узла выхода сети. Его устанавливают, если описание соседнего узла представляет узел выхода сети, а не соседний узел восходящего потока данных.
Когда узел успешно зарегистрирован с АР, АР разместит узел в своей таблице маршрутизации, и убедится, что он хранит новейшее состояние узла. Узел посылает периодические сообщения регистрации в АР (порядка каждые 12 часов). АР будет обновлять свою таблицу маршрутизации, когда он увидит следующие сообщения регистрации. Если АР пропустит три последовательных сообщения регистрации, узел будет отобран из таблицы маршрутизации АР и он будет должен перерегистрироваться.
В ответ на успешную регистрацию первый раз АР предпочтительно будет посылать в нисходящем потоке множество TLV, содержащих любую информацию конфигурации сети. Этот список может включать в себя, помимо прочего, глобально маршрутизируемый префикс IPv6 АР, адрес МАС АР, адрес сервера DNS, таймеры передачи сети и любые другие переменные, относящиеся к маршрутизации L2/L1.
Если АР становится перегруженным со слишком многими узлами, он может начать отбирать узлы, которые имеют другие сети-кандидаты. Он может оценить это с помощью просмотра разных сетей, сообщенных в сообщениях AREG, и может удалить самого работоспособного кандидата из сети.
В настоящее время предпочтительный процесс возникновения узла может быть обобщен следующим образом с использованием фиг.10 и фиг.11. Фиг.10 изображает топологию сети с АР1 1021 и АР2 1022, обеспечивающими выход в сеть 1 1010. Допускают, что ретрансляторы R1 1030, R2 1032 и R3 1033 и точки доступа АР1 и АР2 уже возникли. М1 1041 является первым конечным узлом, процесс возникновения в сети которого описан ниже. Таблицы 2а и 2b перечисляют стоимости линий связи, которые обнаружены и установлены.
Таблица 2а
Сеть 1010
АР(1021)
АР(1022)
R(1031)
R(1032)
R(1033)
М(1041)
Сеть 1010
5
10
АР(1021)
5
20
40
АР(1022)
10
30
R(1031)
20
10
R(1032)
40
10
10
30
R(1033)
30
10
15
М(1041)
30
15
Таблица 2b
Линия связи
Стоимость линии связи
АР(1021) ↔ Сеть (1010)
5
АР(1022) ↔ Сеть (1010)
10
R(1031) ↔ АР(1021)
20
R(1031) ↔ R(1032)
10
АР(1021) ↔ R(1032)
40
R(1032) ↔ R(1033)
10
АР(1022) ↔ R(1033)
30
Когда М1(1041) возникает, сканирование соседних узлов MLME обнаруживает смежность R2(1032) и R3(1033) на первом этапе. После установления смежности R2(1032) и R3(1033) посылают сообщения объявления сети. А именно на втором этапе R2(1032) посылает сообщение объявления сети, объявляющее один маршрут выхода в сеть 1(1010) через АР1(1021). Сообщение содержит адрес МАС АР1(1021), класс или маску подмножества адреса сети (адрес IPv6 или IPv4), стоимость смежности с М1(1041), как видимую с помощью R1(1031), максимальное число сетевых сегментов, которые он охватывает, чтобы достичь узла (2) выхода, и наименьшую стоимость пути выхода в сеть (35). Используя короткую нотацию, заявители могут сформулировать [R2(1032) посылает NADV(30,MAC_ADDRESS(AP1(1021)),2,35)]. Следует заметить, что R2(1032) не объявляет прямой маршрут, который он имеет в АР1(1021), поскольку стоимость пути равна 45, которая больше чем 35. Затем на третьем этапе R3(1033) посылает в ответ сообщение NADV, объявляющее один маршрут выхода через АР2(1022). В короткой нотации заявители могут записать [R3(1033) посылает NADV(15,MAC_ADDRESS(AP2(1022)),1,40)]. За этим следует вычисление на четвертом этапе с помощью М1(1041) полной стоимости сетей с помощью суммирования стоимости пути и стоимости линии связи и создания упорядоченного списка следующих сетевых сегментов восходящего потока данных, чтобы использовать. Узел R3(1033) восходящего потока данных имеет полную стоимость, равную 55, в то время как узел R2(1032) восходящего потока данных имеет полную стоимость, равную 65. Вследствие этого, R3(1033) предпочитают и помещают над R2(1032) в списке, как указано в таблицах 2а и 2b выше. На пятом этапе М1(1041) пытается зарегистрироваться с R3(1033) с помощью посылки сообщения регистрации восходящего потока данных в R3(1033), не сообщающее никакого другого возможного узла для этого выхода. Шестой этап происходит, когда R3(1033) посылает сообщение подтверждения приема регистрации восходящего потока данных в М1(1041), принимающее М1(1041). М1(1041) принимают, поскольку он не имеет никакого другого потенциального узла для этого выхода. За этим следует седьмой этап, на котором М1(1041) пытается зарегистрироваться с R2(1032) с помощью посылки сообщения регистрации восходящего потока данных в R2(1032), не сообщающее никакого другого потенциального узла для этого выхода. Затем идет восьмой этап, на котором R2(1032) посылает сообщение подтверждения приема регистрации восходящего потока данных в М1(1041), принимающее М1(1041). М1(1041) принимают, поскольку он не имеет никакого другого потенциального узла для этого выхода. На девятом этапе М1(1041) пытается зарегистрироваться с АР2(1022) с помощью посылки сообщения регистрации АР. Он сообщает R3(1033) в качестве узла восходящего потока данных, который он намеревается использовать. Следует десятый этап, на котором АР2(1022) принимает М1(1041) с помощью посылки сообщения подтверждения приема регистрации АР и передает М1(1041) конфигурацию сети (демонстративно адрес IPv6, адрес DNS, префикс сети АР2(1022)). Теперь АР2(1022) может также маршрутизироваться в М1(1041). Следующий этап или одиннадцатый этап является, на котором М1(1041) пытается зарегистрироваться с АР1(1021) с помощью посылки сообщения регистрации АР. Он сообщает R2(1032) в качестве узла восходящего потока данных, который он намеревается использовать. На двенадцатом этапе АР1(1021) принимает М1(1041) с помощью посылки сообщения подтверждения приема регистрации АР и передает М1(1041) конфигурацию сети (демонстративно адрес IPv6, адрес DNS и т.д., префикс сети АР1(1021)). Теперь АР1(1021) может также маршрутизироваться в М1(1041). Затем на тринадцатом этапе М1(1041) посылает сообщение динамического обновления DNS (RFC 2136) в сервер DNS сети 1 со своим адресом IPv6 через АР2(1022). Последний этап происходит, когда М1(1041) посылает сообщение динамического обновления DNS (RFC 2136) в сервер DNS сети 1 со своим вторым адресом IPv6 через АР1(1021).
Способ для обновления маршрутов, когда в сети происходит изменение, проиллюстрирован с использованием примера изменения стоимости линии связи в сети 1000. Измененная сеть изображена на фиг.12, причем единственное отличие является темной линией, указывающей, что стоимость маршрута из R1(1031) в АР1(1021) изменилась с 20 до 5.
Сначала R1(1031) обновляет R2(1032) через MLME, поскольку R2(1032) использует R1(1031) в качестве восходящего потока данных в АР1(1021). R2(1032) повторно вычисляет свою стоимость в АР2(1021). Теперь стоимость равна 15. R2(1032) обновляет М1(1041) через MLME по новой стоимости пути, которая равна 20. Затем М1(1041) повторно вычисляет полную стоимость сетей с помощью суммирования стоимости пути и стоимости линии связи и создает переупорядоченный список следующих сегментов восходящего потока данных, чтобы использовать. Узел R3(1033) восходящего потока данных имеет полную стоимость, равную 55, в то время как узел R2(1032) восходящего потока данных имеет полную стоимость, равную 50. Вследствие этого, R2(1032) теперь предпочитают и помещают над R3(1033) в списке. Переупорядоченный список информации маршрута изображен на фиг.12. Наконец, R1(1031), R2(1032) и М1(1041) посылают обновленную информацию, как в АР2(1021), так и в АР2(1022) посредством их следующего периодического сообщения регистрации АР.
Небольшая RF сеть, изображенная на фиг.14, далее будет использована, чтобы проиллюстрировать предпочтительный вариант осуществления того, как работает определение и распространение маршрута в типичном сценарии, в котором сначала организуют точки доступа (ряд 1520) и ретрансляторы (ряд 1530), а затем включают конечные точки (ряд 1540). Как проиллюстрировано на фиг.15, стоимости линий связи отображают между узлами, которые устанавливают связь друг с другом на RF уровне. Фиг.16 использована совместно с фиг.17, чтобы проиллюстрировать предпочтительный вариант осуществления, в котором полная последовательность изменений происходит между узлами, чтобы установить маршруты или пути для доставки пакетов в восходящем потоке передачи данных в объявленную сеть или в нисходящем потоке передачи данных из объявленной сети WAN в RF сеть.
Следует заметить, что на этапе 4 фиг.17 R2(1532) никогда не объявит маршрут из 3-сетевых сегментом в сеть 1 через R1(1531) R1(1531) обратно в R1(1531). Этот способ необъявления информации маршрутизации обратно вдоль уже пройденного маршрута называют способом “разделенного горизонта”, и он предотвращает циклы маршрутизации.
В одном предпочтительном в настоящее время варианте осуществления механизм маршрутизации адаптирован таким образом, чтобы быть совместимым и использованным со схемой расширенного спектра путем скачкообразной перестройки частоты (FHSS), использованной с беспроводной сети предпочтительного варианта осуществления, и быть усилением некоторых из неотъемлемых операционных признаков FHSS. Регулярные временные обновления являются необходимыми в способе скачкообразной перестройки частоты, чтобы дрейфы тактовых импульсов в различных узлах, которые должны оставаться в синхронизации, чтобы синхронно обмениваться пакетами. Протокол маршрутизации сводит непроизводительные затраты пакета к минимуму с помощью использования временных обновлений скачкообразной перестройки частоты как сообщений “подтверждения активности” для посылки информации статуса линии связи. В качестве альтернативы временные обновления также могут быть вложены в любые пакеты данных, которые передают. Если не указано иначе, сообщения, подтверждающие активность, являются сообщениями, посылаемыми для того, чтобы обновить информацию, и они могут быть посланы регулярно. Сообщения “я активный”, которые также могут быть использованы для того, чтобы обновлять информацию маршрутизации, обычно посылают для того, чтобы объявить, например, когда первоначально в узел подано питание, или узел введен в сеть.
В таком варианте осуществления может не быть широковещательной передачи в традиционном смысле в протоколе маршрутизации в сети, использующей схему FHSS. Узлы намечают непосредственно один за другим для обмена пакетом. Протокол маршрутизации в этом раскрытии изобретения использует абстракцию широковещательной передачи, в соответствии с чем кадр широковещательной передачи канального уровня, использующий 8-битовый адрес МАС из всех единиц (ff:ff:ff:ff:ff:ff в шестнадцатеричном представлении), передают в каждом интервале времени канала, начиная в случайно выбранном интервале времени, и с предварительно определенным временем ожидания между каждой передачей.
В предпочтительном варианте осуществления раскрытого изобретения, протокол маршрутизации, описанный в настоящей заявке, использует функциональные возможности разграничивающей сигнализации в беспроводной сети, основанной на FHSS, в которой маяк является периодической широковещательной передачей в определенной известной последовательности скачкообразной перестройки частоты, которую могут распознать все соседние узлы. Маяк широковещательной передачи, который может быть принят с помощью множества соседних узлов, является значительно более эффективным, чем посылка обновления маршрутизации в каждый соседний узел. Маяк является также более короткой передачей с меньшими непроизводительными затратами, чем обновление маршрутизации, так как нет сообщений подтверждения приема и, следовательно, меньше повторных передач пакета после неудачи.
В одном предпочтительном в настоящее время варианте осуществления протокол маршрутизации, описанный в настоящей заявке, сконструирован с возможностью использования совокупных вычислительных ресурсов устройств (узлов) в сети вместо зависимости от одного шлюза в корне беспроводной сети, чтобы вычислять и распределять маршруты во все узлы. Конечная точка выбирает предпочтительное множество упорядоченного множества узлов восходящего потока данных, чтобы использовать в качестве следующих сетевых сегментов, чтобы выйти в сеть WAN через множество точек доступа (также упомянутых как шлюзы), на основании объявлений маршрутов выхода со связанными стоимостями путей для каждого маршрута и каждого сетевого сегмента. После неудачи восходящего потока данных первичного маршрута или в точки доступа, возврат обратно во вторичные маршруты и/или точки доступа в базе данных конечной точки является безотлагательным без какого-либо ожидания повторного схождения алгоритма маршрутизации, поскольку маршруты уже предварительно сошлись.
В одном предпочтительном в настоящее время варианте осуществления протокол маршрутизации позволяет узлам перемещаться из одной сети WAN в другую сеть WAN. Когда узел восходящего потока данных объявляет, что он знает маршруты в узел нисходящего потока данных, он посылает множество маршрутов выхода во все доступные сети WAN. Таблица маршрутизации в каждом узле перечисляет следующие сетевые сегменты через множество точек доступа для всех доступных сетей WAN, делая возможным быстрое перемещение в случае, когда первичная сеть или сеть по умолчанию становится недоступной.
В одном предпочтительном в настоящее время варианте осуществления каждый узел регистрируется со всеми узлами восходящего потока данных, которые он намеревается использовать. Теперь узел восходящего потока данных может хранить таблицу маршрутизации нисходящего потока данных для этого узла. Трафик, предназначенный для конечной точки, теперь может быть маршрутизирован первично на основе последовательных сетевых сегментов, где только следующий сетевой сегмент из источника или любого узла затем добавляют в заголовок сообщения пакета. Конечно, адрес назначения обычно включают. Маршрутизация источника, в которой весь упорядоченный список узлов, через которые должен пройти пакет, явно указывают с помощью шлюза в заголовке сообщения, также находится в рамках объема этого алгоритма. Протокол маршрутизации, раскрытый в этом изобретении, позволяет каждому узлу иметь множество следующих сетевых сегментов в своей базе знаний и дает ему возможность выбирать из них для передачи на основе последовательных сетевых сегментов. При этом пакеты могут обходить проблематичные линии связи без неудач передачи и повторных передач, и это является значительно более выгодным в беспроводной сети, в которой RF линии связи имеют тенденцию быть временными по характеру. Кроме того, настоящее изобретение избегает открытых циклов обнаружения маршрута, в которые вовлекают способы маршрутизации источника при наличии неуспешных линий связи.
Иллюстративный протокол маршрутизации, описанный в настоящей заявке, имеет обеспечения для “частичных” маршрутов, которые являются альтернативными маршрутами, собранными по частям с помощью узла из трафика, проходящего через него. “Частичные” маршруты отбрасывают из таблицы маршрутизации узла, когда назначенная память является полной, и, когда они становятся устаревшими после заданного количества времени. Эти маршруты, которые являются в дополнение к объявленным маршрутам, служат для того, чтобы расширять список избыточных линий связи, доступных для узла, для гарантирования успешной передачи пакета.
Иллюстративный протокол маршрутизации, описанный в настоящей заявке, дает возможность сортировки и предпочтительного упорядочивания следующих сетевых сегментов, доступных для узла, чтобы маршрутизировать пакеты в пункт назначения в сети IPv6. Логика сортировки может изменяться в разных осуществлениях. В настоящем варианте осуществления логика сортировки использует, как источник информации маршрута, а также стоимость пути в пункт назначения, так и стоимость линии связи в желаемый сетевой сегмент. Например, следующему сетевому сегменту, подобранному из “частичного” маршрута, который был собран по частям из проходящего трафика с использованием редкого маршрута, дают меньшее предпочтение, чем следующему сетевому сегменту, намеченному как являющимся часто используемым в трафике на основе последовательных сетевых сегментов. Множество следующих сетевых сегментов в категории “частичные” или категории на основе последовательных сетевых сегментов, были бы отсортированы в упорядоченный список в соответствии со стоимостью пути. Имеются другие опции для выбора маршрута, и эти опции описаны в деталях этого изобретения.
Иллюстративный протокол маршрутизации, описанный в настоящей заявке, предусматривает расширение логики сортировки, чтобы отдавать предпочтение самой последней использованной линии связи или линии связи, передающей самый большой трафик через конфигурируемое окно (и, следовательно, считающейся “сильной”), таким образом, давая возможность большего управления потоками трафика. Чтобы обходить перегруженные линии связи, также учитывают метрику текущей нагрузки трафика в каждой доступной линии связи в возможный следующий сетевой сегмент, когда узел выбирает наилучший следующий сетевой сегмент, чтобы использовать.
С узлом, которому разрешено регистрироваться во множестве сетей (давая в результате узел, получающий множество адресов IP) и сервером DNS, который может сортировать эти адреса IP в соответствии с конфигурируемыми стратегиями для разрешения главного имени узла, теперь представлен способ, предназначенный для управления выходом трафика в RF LAN.
Компенсация нагрузки и надежный механизм
переворачивания для маршрутизации
Фиг.18 изображает конкретный сценарий развертывания сети, который обходит алгоритм маршрутизации, описанный в этой заявке, чтобы предусматривать компенсацию нагрузки и надежные механизмы переворачивания.
Алгоритм маршрутизации, описанный в настоящей заявке, в частности, адаптирован к развертываниям, таким как развертывание, проиллюстрированное на фиг.18. Понятие регистрации с множеством точек выхода и понятие конфигурируемых стоимостей линий связи может быть усилено, чтобы дать возможность (почти) мгновенного резервирования нескольких уровней. Например, если АР-1, устройство типа (1810) точки доступа, откажет, тогда может быть выбран следующий доступный АР-2, по существу, немедленно. Кроме того, если АР-2 откажет, пакеты могут быть резервированы в маршруты через АР-3 и т.д. Объединение всех АР в более центральном местоположении способствует объявлениям сети маршрутов через все АР в узлы конечных точек, давая в результате регистрацию этих узлов конечных точек со всеми АР вместо одного или двух АР, как в сценарии, в котором АР являются распределенными. Эти маршруты до разных АР в центральном местоположении выглядят очень похожими с точки зрения стоимостей линий связи, гарантируя, что все они формируют это в таблицу маршрутизации (в предпочтительном варианте осуществления) узлов и, следовательно, обеспечивают надежный механизм резервирования. Ретрансляторы (1830) могут быть использованы для того, чтобы расширять досягаемость этих объявлений для лучшего отношения АР к узлу конечной точки. Кроме того, стратегии управления трафиком в АР могут быть использованы для того, чтобы регулировать стоимости линий связи или путей в точках доступа, чтобы достичь компенсации нагрузки или дать возможность резервирования ресурса для определенных типов трафика.
Изобретение описано со ссылкой на конкретные варианты осуществления. Однако специалисты в данной области техники без труда поймут, что можно осуществить изобретение в специальных видах, отличных от видов предпочтительных вариантов осуществления, описанных выше. Это может быть выполнено, не выходя за рамки сущности изобретения.
Таким образом, предпочтительный вариант осуществления является только иллюстративным и не должен, так или иначе, считаться ограничительным. Рамки объема изобретения заданы с помощью прилагаемой формулы изобретения, а не предыдущим описанием, и предполагают, что все изменения и эквиваленты, которые находятся в пределах формулы изобретения, включены в рамки объема изобретения.