Scalable Source Routing (SSR) — это протокол маршрутизации для неструктурированных сетей, таких как мобильные ad hoc-сети , ячеистые сети или сенсорные сети . Он объединяет маршрутизацию источника с маршрутизацией по виртуальному кольцу и основан на идее «вставки Chord в подложку». [1]
SSR работает на плоском адресном пространстве, которое организовано как виртуальное кольцо. Это популярная концепция в одноранговых оверлейных сетях, таких как Chord . Общие знания о структуре кольца позволяют узлам маршрутизировать пакеты, не зная топологии базовой физической сети. В то время как физическая сеть может быть очень динамичной, структура виртуального кольца остается довольно статичной. Таким образом, можно избежать затопления физической сети.
Пакеты перемещаются по кольцу, так что они уменьшают виртуальное расстояние до пункта назначения (то есть абсолютную разницу адресов). Когда каждый узел знает своего правильного предшественника и последователя в виртуальном кольце, доставка на правильный принимающий узел гарантирована. Кольцо называется согласованным .
Часто предполагается, что маршрутизация имеет определенную ориентацию в кольце, но это всего лишь помощь в упрощении теории. На практике это не обязательно и даже вредит производительности.
Таблица пальцев в Chord , которая обеспечивает ярлыки в виртуальном кольце, заменена кэшем маршрутов.
В физической сети SSR использует маршрутизацию источника . Узлы ретрансляции оппортунистически кэшируют пройденную часть маршрута источника данного пакета. Это облегчает сбор информации о маршрутизации, одновременно препятствуя загрязнению кэшей маршрутов узлов устаревшей информацией.
Узлу не нужно иметь полный путь к месту назначения в своем кэше маршрутов, чтобы использовать строку кэша. Вместо этого сообщение направляется к ближайшему физическому узлу, который продвигается в виртуальном кольце. Когда сообщение достигает этого промежуточного узла, этот узел добавляет информацию из своего кэша маршрутов к исходному маршруту. Этот шаг повторяется по мере необходимости. Когда сообщение достигает конечного пункта назначения, после оптимизации пути (с использованием алгоритма Дейкстры ) сообщение об обновлении маршрута отправляется на узел-инициатор, тем самым обновляя кэш маршрутов инициатора. Этот метод облегчает использование кэшей маршрутов фиксированного размера, что ограничивает состояние на узел и делает SSR приемлемым вариантом для сред с низким объемом памяти. [2]
Хотя SSR является полным протоколом маршрутизации (ср. сетевой уровень модели OSI ), он также обеспечивает семантику распределенной хэш-таблицы . Это снижает накладные расходы на наличие оверлейного протокола поверх традиционного протокола маршрутизации и значительно ускоряет операции поиска в MANET , которые в противном случае полагались бы на затопление , [3] [4] при условии, что приложение поддерживает (или модифицировано для поддержки) маршрутизацию на основе ключей . Предоставляемая функциональность DHT также может использоваться для реализации масштабируемых сетевых служб при отсутствии серверов.
Каждый узел периодически рассылает своим физическим соседям сообщение "hello", уведомляя их о своем существовании. Сообщения "hello" содержат список физических соседей каждого узла. Если узел обнаруживает себя включенным в сообщение "hello" другого узла, он предполагает двунаправленное соединение и добавляет другой узел в свой список физических пиров (чтобы позже использовать их для маршрутизации).
Узел также отправляет сообщение «уведомление соседа» своему предполагаемому преемнику, чтобы присоединиться к виртуальному кольцу. Если контактируемый узел обнаруживает, что он не является правильным преемником, он отвечает сообщением, содержащим его наилучшее предположение о преемнике запрашивающего узла. Это повторяется до тех пор, пока не будут найдены правильные виртуальные соседи. (Подробное описание этого процесса, называемого ISPRP, см. [5] Другой способ самозагрузки — линеаризация. [6] )
Когда узел маршрутизирует сообщение
SSR имеет как реактивные, так и проактивные компоненты, что делает его гибридным протоколом маршрутизации. Виртуальная кольцевая маршрутизация концептуально похожа, самое большое отличие заключается в использовании исходной маршрутизации в SSR по сравнению с построением состояния каждого узла (таблиц маршрутизации) в VRR.
{{cite journal}}
: Цитировать журнал требует |journal=
( помощь ){{cite journal}}
: Цитировать журнал требует |journal=
( помощь )