Spray-and-Wait
Spray-and-Wait — это протокол маршрутизации в сетях с задержками и разрывами соединений (Delay-Tolerant Networking, DTN), основанный на стратегии ограниченного копирования сообщений. Относится к классу эпидемических (epidemic) алгоритмов, но в отличие от классической эпидемической маршрутизации, где сообщение копируется на каждый встреченный узел, Spray-and-Wait использует фиксированное количество копий (L), что позволяет снизить нагрузку на сеть и расход энергии при сохранении высокой вероятности доставки. Протокол был предложен в 2005 году исследователями Тэдди Спиропулосом, Ксенофонтом Псаунисом и Чандракхантом Рагавендрой из Калифорнийского университета в Лос-Анджелесе.
История и предпосылки создания
Разработка Spray-and-Wait была мотивирована недостатками классической эпидемической маршрутизации, которая, хотя и обеспечивает максимальную вероятность доставки, требует значительных сетевых ресурсов: каждое сообщение копируется на все узлы, с которыми встречается узел-отправитель, что приводит к экспоненциальному росту числа копий и перегрузке сети. В условиях DTN, где связь может быть прерывистой, а пропускная способность каналов низкой, такой подход часто неприемлем.
Spray-and-Wait впервые был описан в работе «Spray and Wait: An Efficient Routing Scheme for Intermittently Connected Mobile Networks» (2005). Протокол быстро привлёк внимание исследователей благодаря простоте реализации и хорошему балансу между вероятностью доставки и накладными расходами. В последующие годы появились многочисленные модификации, адаптирующие базовый алгоритм под различные сценарии: мобильные сенсорные сети, сети транспортных средств (VANET), подводные акустические сети и даже межпланетные коммуникации.
Принцип работы
Spray-and-Wait состоит из двух фаз: фазы распыления (spray phase) и фазы ожидания (wait phase).
Фаза распыления
На этапе распыления узел-источник, имеющий сообщение, создаёт L копий этого сообщения (L — параметр протокола, обычно задаваемый заранее). Затем при каждой встрече с другим узлом, у которого нет копии данного сообщения, источник передаёт ему одну копию, уменьшая свой счётчик оставшихся копий на единицу. Если узел-источник встречает узел, который уже имеет копию, передача не производится. Процесс продолжается до тех пор, пока у источника не останется одна копия (или пока не будет достигнут пункт назначения).
Фаза ожидания
Когда у узла остаётся только одна копия сообщения, он переходит в фазу ожидания. В этой фазе узел больше не копирует сообщение на другие узлы, а хранит его у себя и передаёт только непосредственно узлу-получателю (destination), если встречает его. Если получатель не найден до истечения времени жизни сообщения (TTL), сообщение удаляется.
Таким образом, общее количество копий в сети никогда не превышает L, что радикально снижает сетевой трафик по сравнению с эпидемической маршрутизацией, где число копий может расти неограниченно.
Классификация и модификации
Spray-and-Wait может быть реализован в двух основных вариантах:
- Бинарный Spray-and-Wait (Binary Spray-and-Wait): в фазе распыления узел, имеющий n копий (n > 1), при встрече с узлом, не имеющим копии, передаёт ему floor(n/2) копий, а себе оставляет ceil(n/2). Это ускоряет распространение сообщения, так как копии распространяются быстрее (экспоненциально), но требует более сложной логики на узлах.
- Линейный Spray-and-Wait (Linear Spray-and-Wait): в фазе распыления узел передаёт по одной копии за встречу. Этот вариант проще в реализации, но медленнее распространяет копии.
Известны также гибридные схемы, где L динамически подстраивается под плотность сети или интенсивность трафика. Например, в протоколе Spray-and-Focus фаза ожидания заменяется на фазу фокусировки, где узел с одной копией может передать её другому узлу, если тот имеет более высокую «полезность» (например, большую вероятность встретить получателя).
Характеристики и производительность
Spray-and-Wait обеспечивает следующие свойства:
- Масштабируемость: количество копий фиксировано, что позволяет работать в сетях с большим числом узлов без перегрузки.
- Энергоэффективность: меньшее количество передач снижает расход энергии на мобильных устройствах (например, в сенсорных сетях с батарейным питанием).
- Устойчивость к разрывам: протокол не требует постоянного соединения между узлами, что характерно для DTN.
- Вероятность доставки: при оптимальном выборе L вероятность доставки близка к 1, если среднее время между встречами узлов меньше времени жизни сообщения.
Недостатком является то, что при малом значении L вероятность доставки может быть низкой, особенно в разреженных сетях. При большом L протокол приближается по поведению к эпидемической маршрутизации, теряя преимущества.
Применение
Spray-and-Wait применяется в различных областях, где сети характеризуются частыми разрывами и ограниченными ресурсами:
- Мобильные сенсорные сети (MSN): для сбора данных с датчиков, установленных на животных, транспортных средствах или в труднодоступных местах.
- Сети транспортных средств (VANET): для передачи сообщений между автомобилями в условиях отсутствия инфраструктуры (например, в сельской местности или при авариях).
- Подводные акустические сети: из-за высокой задержки и низкой пропускной способности каналов под водой.
- Межпланетные коммуникации: для передачи данных между космическими аппаратами и Землёй, где задержки могут достигать минут и часов.
- Экстренные и военные коммуникации: в условиях разрушения инфраструктуры или в зонах боевых действий.
Сравнение с другими протоколами DTN
Spray-and-Wait занимает промежуточное положение между простыми, но неэффективными протоколами (например, Direct Delivery — прямая доставка только при встрече с получателем) и ресурсоёмкими, но надёжными (эпидемическая маршрутизация). По сравнению с протоколом PROPHET (Probabilistic Routing Protocol using History of Encounters and Transitivity), который использует вероятностные метрики, Spray-and-Wait не требует хранения истории встреч и менее чувствителен к изменениям топологии. Однако PROPHET может быть эффективнее в сетях с предсказуемыми паттернами мобильности.
Критика и ограничения
Основные критические замечания в адрес Spray-and-Wait связаны с тем, что фиксированное количество копий не всегда оптимально: в плотных сетях оно может быть избыточным, а в разреженных — недостаточным. Кроме того, протокол не учитывает такие факторы, как пропускная способность каналов, задержки передачи и размер сообщений. В некоторых работах отмечается, что при больших объёмах данных Spray-and-Wait может приводить к перегрузке отдельных узлов, накапливающих много копий.
Интересные факты
- Название протокола отражает две фазы: «распыление» (spray) копий по сети, а затем «ожидание» (wait) встречи с получателем.
- Бинарная версия Spray-and-Wait была доказана как оптимальная с точки зрения минимизации задержки доставки при фиксированном числе копий в однородных мобильных сетях.
- Протокол реализован в нескольких симуляторах DTN, включая ONE (Opportunistic Network Environment) и ns-3.
Источники
- Spyropoulos, T., Psounis, K., & Raghavendra, C. S. (2005). Spray and Wait: An Efficient Routing Scheme for Intermittently Connected Mobile Networks. Proceedings of the 2005 ACM SIGCOMM Workshop on Delay-Tolerant Networking, 252–259.
- Spyropoulos, T., Psounis, K., & Raghavendra, C. S. (2007). Spray and Focus: Efficient Mobility-Assisted Routing for Heterogeneous and Correlated Mobility. IEEE Transactions on Mobile Computing, 6(7), 795–808.
- Fall, K., & Farrell, S. (2008). DTN: An Architectural Retrospective. IEEE Journal on Selected Areas in Communications, 26(5), 828–836.
- Keränen, A., Ott, J., & Kärkkäinen, T. (2009). The ONE Simulator for DTN Protocol Evaluation. Proceedings of the 2nd International Conference on Simulation Tools and Techniques, 55.
BFOmetr — база данных и аналитика по компаниям России.
На главную BFOmetr →