Skip to content
Урок 5. Ёмкость шлюза: почему редкость = десятки тысяч узлов

Урок 5. Ёмкость шлюза: почему редкость = десятки тысяч узлов

Урок 5. Ёмкость шлюза: почему редкость уплинков = десятки тысяч узлов

Паспорт урока

ПараметрЗначение
Место в модулеPowerSentry, модуль 3 «Масштаб города», урок 5 из 8
Длительность45 мин
Возраст14–16
Оборудованиеsentry_city_sim.py (левый график PDR)
Предварительные знанияУроки 1–4; показательная функция желательна
ПредметМатематика (вероятность, экспонента), информатика (сети)
Кульминация модуля. Здесь замыкается центральный тезис: редкость выхода в эфир даёт одновременно годы жизни от батарейки И десятки тысяч узлов на шлюз. Первую половину ученики доказали на уроке 1, вторую докажут сегодня — и увидят, что это одно и то же решение.

Образовательные цели

ЦельБлумМиллерЧем доказывается
5.1Рассчитывать ёмкость сети по модели ALOHAприменятьпоказывает какРасчёт G и PDR для 10 000 узлов
5.2Обосновывать зависимость масштаба от частоты уплинковоцениватьзнает какОбъяснение разницы в 300 раз
5.3Объяснять коллизию как механизм потери кадровпониматьзнает какРазбор уязвимого окна
5.4Связывать энергетику и ёмкость как следствия одного решенияанализироватьзнает какФормулировка центрального тезиса

Сценарий занятия (45 минут)

ВремяБлокЧто делает педагогЧто делают ученики
0–5RetrievalМини-квиз по урокам 3–4Пишут, разбор
5–12Постановка«Сколько узлов вынесет один шлюз?»Предполагают
12–25Теория ALOHAКоллизии, уязвимое окно, формулаРазбирают, считают
25–33СимуляторГрафик PDR от числа узловРаботают со стендом
33–40Замыкание тезисаДве стороны одной монетыФормулируют вывод
40–45Практика и ДЗЗадачиРешают

Блок 1. Постановка (5–12 мин)

Вопрос

«Мы научились делать узел, живущий годами. Теперь городской вопрос: сколько таких узлов сможет обслужить один шлюз? Тысяча? Сто? Десять тысяч?»

Собрать предположения класса, записать диапазон на доску.

Уточнение условий

«Шлюз слушает 8 каналов. Узлы передают, когда сами решат — никакого расписания у них нет. Никто ни с кем не договаривается.»

Проблема

«Если двое узлов заговорят одновременно на одном канале, их сигналы наложатся, и шлюз не разберёт ни одного. Оба кадра потеряны. Это называется коллизия.

Вопрос: при каком числе узлов коллизии станут проблемой?»

Связь с FoxHunter. На уроке 3 модуля охоты дети решали похожую задачу через расписание (TDMA): каждой лисе свой слот, коллизий нет по построению. Здесь выбран противоположный подход — никакого расписания. Стоит напомнить это и спросить: почему для города не подошло расписание?

Ответ, к которому придём: синхронизировать тысячи спящих узлов дороже, чем смириться с редкими коллизиями.


Блок 2. Теория ALOHA (12–25 мин)

2.1. Базовый уровень (14 лет)

Через разговор в большой комнате.

Представь зал, где сто человек изредка произносят по одной фразе — раз в час. Вероятность, что двое заговорят одновременно, крайне мала: почти всегда говорит кто-то один, и его слышно.

А теперь пусть те же сто человек говорят каждую минуту. Наложения станут постоянными, и разобрать что-либо будет невозможно.

Число людей не изменилось. Изменилась частота.

2.2. Углублённый уровень (14–16 лет)

Шаг 1. Что такое ALOHA.

Протокол случайного доступа: участники передают, когда захотят, без согласования. Названа по сети ALOHAnet (Гавайи, 1970-е) — исторически первая система такого рода.

LoRaWAN использует именно этот принцип: узел просыпается, передаёт и засыпает, не слушая эфир и ни с кем не договариваясь. Это делает узел предельно простым и экономным — он не тратит энергию на прослушивание канала.

Шаг 2. Уязвимое окно.

Кадр длительностью T погибнет, если другой узел начнёт передачу в интервале от −T до +T относительно его начала. То есть уязвимое окно составляет 2T.

        ← T →← T →
    ────┬────┬────┬────
        │ наш кадр │
    любая чужая передача в этом окне 2T → коллизия

Шаг 3. Нагрузка канала G.

Нагрузка — средняя доля времени, занятая передачами:

G=Nузлов×Uуплинков в сутки86400×Nканалов×TairtimeG = \frac{N_{\text{узлов}} \times U_{\text{уплинков в сутки}}}{86400 \times N_{\text{каналов}}} \times T_{\text{airtime}}

Шаг 4. Доля успешных кадров.

Для чистой ALOHA:

PDR=e2GPDR = e^{-2G}

где PDR (Packet Delivery Ratio) — доля доставленных кадров.

Показатель степени содержит 2G именно из-за уязвимого окна двойной длительности.

Шаг 5. Численный расчёт.

Исходные данные: SF10, airtime кадра 0,29 с, 8 каналов.

Пример: 10 000 узлов, 2 уплинка в сутки.

G=10000×286400×8×0,29=20000691200×0,290,0084G = \frac{10\,000 \times 2}{86\,400 \times 8} \times 0{,}29 = \frac{20\,000}{691\,200} \times 0{,}29 \approx 0{,}0084PDR=e2×0,0084=e0,01680,983=98,3%PDR = e^{-2 \times 0{,}0084} = e^{-0{,}0168} \approx 0{,}983 = \mathbf{98{,}3\%}

Десять тысяч узлов на одном шлюзе — и теряется менее двух процентов кадров.

Шаг 6. Ёмкость при разных моделях узла.

Найдём число узлов, при котором PDR падает до 95%:

Модель узлаУплинков/сутУзлов на шлюз при 95% PDR
Событийный ЖКХ2≈ 30 500
«Разумный» периодический48 (раз в 30 мин)≈ 1 270
Наивный частый1440 (раз в минуту)≈ 42

Разница между первой и последней строкой — более чем в 700 раз. И это не разные радиомодули, не разные антенны и не разные шлюзы. Это один и тот же узел с разной частотой выхода в эфир.

Отсюда практический вывод для города: один шлюз на район покрывает десятки тысяч точек контроля — но только пока узлы событийные. Сделайте их болтливыми, и та же сеть схлопнется до нескольких десятков.


Блок 3. Симулятор (25–33 мин)

Запуск: uv run sentry_city_sim.py

Демонстрация

  1. Левый график — PDR от числа узлов (логарифмическая ось).
  2. Событийный режим (2 уплинка/сут): PDR держится близко к 100% до десятков тысяч узлов.
  3. Переключить на «раз в минуту»: кривая обваливается уже на сотне узлов.
  4. Ползунок SF: увеличение SF растит airtime и обрушивает ёмкость.

Ключевое наблюдение

«Обратите внимание: график PDR обрушивается резко. Пока нагрузка мала, потерь почти нет; после некоторого порога деградация лавинообразна. Это свойство экспоненты — и это опасно: сеть может выглядеть здоровой прямо перед обвалом.»


Блок 4. Замыкание центрального тезиса (33–40 мин)

Это методическая кульминация модуля. Провести как осознание, а не как объявление.

Сопоставление двух уроков

Вывести на доску рядом результаты урока 1 и сегодняшнего:

Частота уплинковСрок жизни узла (урок 1)Узлов на шлюз (урок 5)
2 в суткидесятилетия≈ 30 500
48 в суткиоколо 10 лет≈ 1 270
1440 в суткименее года≈ 42

Вопрос классу

«Посмотрите на таблицу. Что вы замечаете?»

Ожидаемое наблюдение: обе величины улучшаются от одного и того же решения — редко выходить в эфир.

Формулировка тезиса

Центральный тезис модуля (ученик должен уметь его защитить):

Город масштабируется не дальнобойностью радио, а энергоэффективностью протокола. Редкость выхода в эфир даёт одновременно годы жизни от батарейки И десятки тысяч узлов на шлюз — это две стороны одной монеты.

Событийная архитектура, за которую мы воевали ради лишнего года автономности, оказывается тем же самым решением, которое позволяет одному шлюзу нести целый район.

Почему не расписание (TDMA)

Вернуться к вопросу из блока 1:

ПодходПлюсМинус для города
TDMA (как в FoxHunter)коллизий нетнужна синхронизация тысяч узлов: точные часы, служебный трафик, сложность
ALOHA (LoRaWAN)узел предельно прост и экономенколлизии есть, но при редких передачах пренебрежимо малы

Вывод: при малой нагрузке ALOHA даёт почти те же потери, что расписание, но бесплатно по сложности и энергии. Расписание окупается только при высокой загрузке канала.


Блок 5. Практические задачи (40–45 мин)

Уровень A (14 лет)

A1. Что такое коллизия и почему при ней гибнут оба кадра?

Ответ

Коллизия — наложение двух передач во времени на одном канале. Приёмник получает смесь сигналов и не может корректно декодировать ни один из них, поэтому теряются оба кадра.

A2. Сто узлов шлют раз в сутки — сеть работает. Те же сто узлов шлют раз в минуту — сеть не справляется. Что изменилось?

Ответ

Изменилась частота передач, то есть суммарная нагрузка на канал. Число узлов то же, но каждый занимает эфир в 1440 раз чаще, поэтому вероятность наложения резко выросла.

A3. Почему шлюз не «договаривается» с узлами о расписании?

Ответ

Потому что для расписания нужна синхронизация тысяч спящих узлов: точные часы, служебные сообщения, приём даунлинков. Это усложнило бы узел и увеличило расход энергии. При редких передачах проще смириться с редкими коллизиями.

Уровень B (14–15 лет)

B1. Рассчитайте нагрузку G и PDR для 10 000 узлов при 2 уплинках в сутки (SF10, airtime 0,29 с, 8 каналов).

РешениеG=10000×286400×8×0,29=20000691200×0,290,0084G = \frac{10\,000 \times 2}{86\,400 \times 8} \times 0{,}29 = \frac{20\,000}{691\,200} \times 0{,}29 \approx 0{,}0084PDR=e2G=e0,016898,3%PDR = e^{-2G} = e^{-0{,}0168} \approx \mathbf{98{,}3\%}

Теряется менее 2% кадров — вполне приемлемо, тем более что тревожные сообщения повторяются.

B2. Во сколько раз упадёт допустимое число узлов при переходе с SF10 (airtime 0,29 с) на SF12 (airtime ≈ 1 с)?

Решение

Нагрузка G пропорциональна airtime. Чтобы сохранить тот же G (а значит и PDR), число узлов должно уменьшиться во столько же раз, во сколько вырос airtime:

1,00,293,45 раза\frac{1{,}0}{0{,}29} \approx \mathbf{3{,}45\ \text{раза}}

При 95% PDR: с ≈ 30 500 узлов до ≈ 8 800.

Вывод: дальнобойность SF12 покупается не только энергией узла, но и ёмкостью всей сети. Это ключевой компромисс LoRaWAN.

B3. Почему в формуле стоит 2G, а не просто G?

Ответ

Потому что кадр уязвим не только во время собственной передачи, но и в течение такого же интервала до её начала: если другой узел начал передавать чуть раньше и его кадр ещё длится, произойдёт наложение.

Уязвимое окно составляет 2T, отсюда и множитель 2 в показателе экспоненты.

Уровень C (15–16 лет)

C1. Найдите число узлов, при котором PDR падает до 95% для событийной модели (2 уплинка/сут, SF10).

Решение

Из условия PDR = 0,95:

e2G=0,952G=ln0,95G=ln0,9520,0256e^{-2G} = 0{,}95 \Rightarrow -2G = \ln 0{,}95 \Rightarrow G = \frac{-\ln 0{,}95}{2} \approx 0{,}0256

Выразим число узлов:

N=G×86400×8U×T=0,0256×6912002×0,2930500 узловN = \frac{G \times 86\,400 \times 8}{U \times T} = \frac{0{,}0256 \times 691\,200}{2 \times 0{,}29} \approx \mathbf{30\,500\ \text{узлов}}

Это и есть цифра «около 30 000», заявленная в документе CityScale.

C2. Реальная городская сеть работает лучше расчёта по чистой ALOHA. Назовите не менее трёх причин.

Разбор
  1. Резервирование шлюзами. В городе узел обычно слышат 2–3 шлюза. Кадр, погибший на одном из-за коллизии, принимается соседним; сетевой сервер устраняет дубликаты. Это напрямую компенсирует потери ALOHA.

  2. Разные SF ортогональны. Кадры на разных коэффициентах расширения могут приниматься одновременно на одном канале — их сигналы разделимы. Фактически это увеличивает число независимых «каналов».

  3. Эффект захвата (capture effect). При коллизии двух кадров с существенно разной мощностью более сильный часто декодируется успешно. Чистая ALOHA этого не учитывает и даёт пессимистичную оценку.

  4. ADR распределяет узлы по SF. Близкие узлы уходят на быстрые SF, освобождая эфир.

Вывод: формула e^(−2G) даёт консервативную нижнюю границу. Это правильный инженерный подход: проектировать по пессимистичной оценке, а реальность окажется лучше.

C3. Обоснуйте, почему деградация сети опасна именно своей резкостью, и предложите, что должен мониторить оператор.

Разбор

Природа опасности. PDR = e^(−2G) — экспонента: при малых G потери почти незаметны, а после некоторого порога падают лавинообразно. Сеть, работающая на 97%, при удвоении нагрузки может уйти на 60% — без предупреждающих признаков.

Дополнительный риск: деградация самоусиливается, если узлы повторяют неподтверждённые передачи, — рост потерь порождает рост нагрузки.

Что мониторить:

МетрикаЗачем
Текущий PDR (доля доставленных)прямой индикатор здоровья
Расчётная нагрузка Gпредупреждает до обвала
Число активных узлов и их частотавыявляет «болтливые» узлы
Распределение по SFпоказывает эффективность ADR

Главная рекомендация: мониторить не только результат (PDR), но и причину (G). Нагрузка растёт плавно и предсказуемо, тогда как PDR обрушивается внезапно. Управлять надо по опережающему показателю.

Это готовый раздел конкурсной работы — см. документ 5 экспертизы, §3.2.


Ответы на вопросы, которые прозвучат

Вопрос ученикаКак отвечать
«Почему узел не слушает эфир перед передачей?»Прослушивание требует включённого приёмника — это миллиамперы. Для узла, живущего годами, это неприемлемо. Проще передать и смириться с редкой коллизией
«А если кадр потерялся — узел узнает?»В обычном режиме нет: он не ждёт подтверждения. Для критичных сообщений есть подтверждаемые передачи, но они дороже по энергии и эфиру
«Разве 2% потерь — это нормально?»Для телеметрии да: следующий пакет придёт через 12 часов. Для тревоги — есть повторы каждые 10 минут, поэтому одиночная потеря не критична
«Можно ли увеличить число каналов?»Оно ограничено регулированием диапазона и оборудованием шлюза. Проще управлять нагрузкой, чем расширять полосу
«Что будет, если один узел сломается и начнёт слать непрерывно?»Он один займёт заметную долю канала и ухудшит работу всех соседей. Поэтому сети мониторят активность узлов и отключают аномальные

Раздаточный лист (для печати)

Урок 5. Ёмкость шлюза

ALOHA: узлы передают когда захотят. Наложение двух кадров = коллизия, гибнут оба.

Уязвимое окно:

        ← T →← T →
    ────┬─────┬─────┬────
         наш кадр
    чужая передача в окне 2T → коллизия

Формулы:

G=Nузлов×Uупл/сут86400×Nканалов×TairtimePDR=e2GG = \frac{N_{\text{узлов}} \times U_{\text{упл}/\text{сут}}}{86400 \times N_{\text{каналов}}} \times T_{airtime} \qquad PDR = e^{-2G}

Расчёт: 10 000 узлов, 2 уплинка/сут, SF10 (0,29 с), 8 каналов

G = _________ PDR = ________ %

Ёмкость шлюза при PDR 95%:

Модель узлаУплинков/сутУзлов на шлюз
Событийный ЖКХ2
Раз в 30 минут48
Раз в минуту1440

Во сколько раз отличаются крайние строки? ________

ЗАМЫКАНИЕ ТЕЗИСА — заполните обе колонки:

Уплинков/сутСрок жизни узлаУзлов на шлюз
2
48
1440

Что общего у двух колонок?

____________________________________________________

Центральный тезис модуля своими словами:

____________________________________________________

____________________________________________________


Домашнее задание

Обязательная часть

Врайтап по рубрике А. Обязательный пункт: сформулируйте своими словами, почему редкость передач улучшает и автономность, и ёмкость сети.

Уровень A

Придумать бытовой пример системы, где участники «говорят когда хотят» и мешают друг другу. Описать, что происходит при росте числа участников.

Уровень B

Рассчитать ёмкость шлюза для узла, шлющего 6 раз в сутки (каждые 4 часа) при SF9 (airtime 0,144 с). Сравнить с событийной моделью.

Ответ для педагога

G при PDR 95% равен 0,0256.

N=0,0256×6912006×0,14420500 узловN = \frac{0{,}0256 \times 691\,200}{6 \times 0{,}144} \approx 20\,500\ \text{узлов}

Интересное наблюдение: втрое более частые передачи почти компенсированы вдвое меньшим airtime (SF9 вместо SF10). Ёмкость упала лишь с 30 500 до 20 500. Вывод: выбор SF влияет на ёмкость так же сильно, как частота.

Уровень C

Оценить, сколько шлюзов потребуется городу с населением 500 000 человек, если ставить датчик протечки в каждый подвал (примите 1 датчик на 100 жителей). Учесть запас на рост и резервирование.

Ориентир для педагога

Узлов: 500 000 / 100 = 5 000.

По ёмкости хватило бы одного шлюза (30 500 узлов). Но реальное число определяется не ёмкостью, а покрытием: шлюз должен «слышать» подвалы через бетон, а дальность ограничена. Плюс резервирование (каждый узел должен слышать 2 шлюза).

Правильный ответ ученика: ёмкость здесь не является ограничивающим фактором — число шлюзов диктуется радиопокрытием и резервированием, а не пропускной способностью. Планирование размещения — это задача картирования покрытия (методика проекта WarWalk).

Этот вывод особенно ценен: он показывает, что «узкое место» надо определять расчётом, а не предполагать.


Итог урока: что записать в журнал

Вывод урока 5

  1. LoRaWAN использует ALOHA: узлы передают без согласования, наложение = коллизия.
  2. Уязвимое окно кадра — 2T, отсюда формула PDR = e^(−2G).
  3. Нагрузка G пропорциональна числу узлов × частоте передач × airtime.
  4. Ёмкость шлюза: ≈ 30 500 событийных узлов против ≈ 42 болтливых — разница более чем в 700 раз при том же железе.
  5. Переход с SF10 на SF12 сокращает ёмкость в 3,45 раза: дальность покупается ёмкостью.
  6. Центральный тезис: редкость выхода в эфир даёт одновременно годы автономности и десятки тысяч узлов на шлюз — две стороны одной монеты.
  7. Формула ALOHA даёт консервативную оценку: реальная сеть работает лучше за счёт резервирования шлюзов и эффекта захвата.

Связь с курсом

Что родилось на этом урокеГде станет инструментом
ALOHA, ёмкость каналаУрок 8 (защита проекта), конкурсные работы
Компромисс «дальность против ёмкости»Урок 6 (ADR), WarWalk урок 2
Эфир как общий ресурсВсе радиопроекты курса
Центральный тезис модуляУрок 8 — его защищают на пятиминутной презентации

Чек-лист педагога перед уроком

  • Симулятор запускается, левый график PDR и ползунок SF работают
  • Проверены контрольные числа: G = 0,0084 и PDR = 98,3% для 10 000 узлов
  • На доске подготовлено место для сопоставления двух таблиц (урок 1 и урок 5)
  • Раздаточный лист распечатан
  • Продуман момент замыкания тезиса — это кульминация модуля, не проговаривать заранее