Введение
Алгоритм маршрутизации беспроводных сетей
Протокол маршрутизации состояния связей Hazy Sighted Link State Routing (HSLS) – это протокол маршрутизации беспроводных mesh-сетей, разрабатываемый Фондом CUWiN. Это алгоритм, позволяющий компьютерам, взаимодействующим по цифровому радио в mesh-сети, пересылать сообщения компьютерам, находящимся вне зоны прямой радиосвязи. Его сетевая нагрузка теоретически оптимальна, благодаря использованию как проактивной, так и реактивной маршрутизации на основе состояния связей, что позволяет ограничить сетевые обновления в пространстве и времени. Его создатели полагают, что он является более эффективным протоколом и для маршрутизации проводных сетей. HSLS был разработан исследователями из BBN Technologies.
The Hazy Sighted Link State Routing Protocol (HSLS) is a wireless mesh network routing protocol being developed by the CUWiN Foundation. This is an algorithm allowing computers communicating via digital radio in a mesh network to forward messages to computers that are out of reach of direct radio contact. Its network overhead is theoretically optimal, utilizing both proactive and reactive link state routing to limit network updates in space and time. Its inventors believe it is a more efficient protocol to route wired networks as well. HSLS was invented by researchers at BBN Technologies.
Эффективность
HSLS разрабатывался с учетом масштабируемости для сетей, состоящих более чем из тысячи узлов, и в более крупных сетях начинает демонстрировать более высокую эффективность по сравнению с другими алгоритмами маршрутизации. Это достигается за счет тщательно выверенного баланса между частотой и объемом обновлений, обеспечивающего оптимальное распространение информации о состоянии каналов связи. В отличие от традиционных подходов, HSLS не перегружает сеть информацией о состоянии каналов связи в попытке адаптироваться к перемещающимся узлам, изменяющим свои соединения с остальной сетью. Более того, HSLS не требует, чтобы каждый узел обладал одинаковым представлением о топологии сети.
Зачем протокол состояния связи?
Алгоритмы состояния каналов теоретически привлекательны, поскольку они находят оптимальные маршруты, снижая потери пропускной способности. Разработчики HSLS утверждают, что протоколы маршрутизации делятся на три принципиально различных подхода: проактивные (например, OLSR), реактивные (например, AODV) и алгоритмы, допускающие субоптимальную маршрутизацию. Если представить их графически, они становятся менее эффективными по мере того, как они все больше склоняются к какой-либо одной стратегии, и сеть становится больше. Лучшие алгоритмы, по-видимому, находятся в оптимальной точке баланса. Информация о маршрутизации называется "обновлением состояния канала". Расстояние, на которое распространяется обновление состояния канала, называется "время жизни" и представляет собой счетчик количества копирований обновления от одного узла к другому. Утверждается, что HSLS оптимально сочетает в себе преимущества проактивных, реактивных и субоптимальных подходов к маршрутизации. Эти стратегии объединяются путем ограничения обновлений состояния каналов во времени и пространстве. Ограничение времени жизни снижает объем используемой пропускной способности. Ограничивая моменты времени, когда передается проактивное обновление маршрутизации, можно собрать и передать несколько обновлений одновременно, также экономя пропускную способность. По определению, алгоритм состояния канала использует доступную информацию для построения наилучшего маршрута, поэтому маршрутизация максимально оптимальна, учитывая имеющиеся данные. Субоптимальная маршрутизация возникает естественным образом, поскольку удаленные узлы получают информацию реже. Минимизация проактивных обновлений – наиболее сложная задача. Схема адаптирована из двух алгоритмов маршрутизации с ограниченным состоянием канала. Один из них, "Near Sighted Link State Routing", ограничен в пространстве, то есть в количестве узловых переходов, на которые может передаваться информация о маршрутизации. Другой алгоритм маршрутизации, "Discretized Link State Routing", ограничивает моменты времени, когда может передаваться информация о маршрутизации. Поскольку оптимальное затухание обновления как в пространстве, так и во времени составляет около двух, результатом является периодическое проактивное обновление с фрактальной степенью двойки для расстояний между узлами (например, расстояния 1, 2, 1, 4, 1, 2, 1, 8). Реактивная маршрутизация происходит из-за того, что неудачная попытка использовать соседний канал приводит к истечению следующего таймера, что, вероятно, инициирует поиск альтернативного маршрута. При каждой последующей неудаче повторная попытка расширяет реакцию на более широкую аудиторию узлов сети.
Как это работает
Конструкторы начали настройку этих элементов, определив меру глобальных сетевых потерь. Это включает в себя потери от передачи обновлений маршрутов, а также потери от неэффективных путей передачи. Их точное определение: "Общая накладная стоимость определяется как объем полосы пропускания, используемый сверх минимально необходимого объема полосы пропускания для пересылки пакетов на кратчайшее расстояние (в количестве переходов), при условии, что узлы обладают мгновенной полной информацией о топологии сети". Затем они сделали ряд разумных предположений и использовали математическую оптимизацию для определения времени передачи обновлений состояния каналов связи, а также области охвата узлов, которые должны покрывать эти обновления. По сути, оба параметра должны расти как степень двойки с течением времени. Теоретически оптимальное значение очень близко к двум, с погрешностью всего 0,7%. Это существенно меньше, чем вероятные ошибки, связанные с допущениями, поэтому два – вполне разумное значение. Локальное обновление маршрутизации принудительно выполняется при потере соединения. Это реактивная часть алгоритма. Локальное обновление маршрутизации ведет себя аналогично истечению таймера. В противном случае, каждый раз, когда задержка с момента последнего обновления удваивается, узел передает маршрутизационную информацию, область охвата которой (в количестве сетевых переходов) также удваивается. Это продолжается до определенного верхнего предела. Верхний предел задает сети глобальный масштаб и обеспечивает фиксированное максимальное время отклика для сети без перемещающихся узлов. Алгоритм имеет несколько специальных функций для обработки ситуаций, часто встречающихся в радиосетях, таких как однонаправленные каналы связи и циклические передачи, вызванные устаревшими таблицами маршрутизации. В частности, он перенаправляет все передачи на соседние узлы при потере связи с прилегающим узлом. Он также повторно передает информацию о своей соседности в этом случае. Это полезно, поскольку наиболее ценные, дальние каналы связи также являются наименее надежными в радиосети.
Преимущества
Сеть устанавливает достаточно хорошие маршруты в реальном времени и существенно сокращает количество и размер сообщений, отправляемых для поддержания связи сети, по сравнению со многими другими протоколами. Многие из более простых протоколов маршрутизации в сетях просто перегружают всю сеть информацией о маршрутизации при каждом изменении соединения. Сам алгоритм довольно прост. Информация о маршрутизации и передача данных децентрализованы, что должно обеспечивать хорошую надежность и производительность без локальных перегрузок. Система требует производительных узлов с большим объемом памяти для хранения таблиц маршрутизации. К счастью, они постоянно дешевеют. Система позволяет очень быстро и относительно точно определить, находится ли узел в сети, поскольку в каждом узле присутствует полная, хотя и устаревшая информация о маршрутизации. Однако это не то же самое, что уверенно знать, находится ли узел в сети. Для большинства тарифных сетей, например, для телефонии, этого может быть достаточно, но для систем, связанных с безопасностью, таких как военные или авиационные, этого может быть недостаточно. HSLS обладает хорошими свойствами масштабируемости. Асимптотическая масштабируемость его общей нагрузки сравнима со стандартным протоколом на основе информации о состоянии связей, который масштабируется как , где N – количество узлов в сети.
Критика
Поскольку HSLS отправляет удаленные обновления нечасто, узлы не располагают актуальной информацией о том, доступен ли удаленный узел. Эта проблема в определенной степени свойственна всем протоколам состояния канала связи, поскольку база данных состояния канала связи может по-прежнему содержать объявления от вышедшего из строя узла. Однако протоколы, такие как OSPF, распространяют обновления состояния канала связи от соседей вышедшего из строя узла, и таким образом все узлы быстро узнают о его отказе (или отключении). В случае HSLS невозможно отличить узел, который все еще находится на расстоянии 10 переходов, от вышедшего из строя узла, пока его бывшие соседи не отправят объявления на большие расстояния. Таким образом, HSLS может оказаться неэффективным в ситуациях, требующих высокой надежности. Несмотря на то, что в публикациях, описывающих HSLS, вопросам безопасности уделяется мало внимания, такие методы, как цифровые подписи в обновлениях маршрутизации, могут быть использованы с HSLS (аналогично OSPF с цифровыми подписями), и компания BBN реализовала HSLS с цифровыми подписями в сообщениях об обнаружении соседей и обновлениях состояния канала связи. Реализация подобных схем представляет собой сложную задачу, поскольку в ad hoc сети нельзя гарантировать доступность серверов инфраструктуры открытых ключей. Как и большинство протоколов маршрутизации, HSLS не предусматривает механизмов защиты передаваемых данных. (См. IPsec и TLS.)