О курсе
Курс «Автономные информационные системы: энергия, связь, восстановление» — инженерная дисциплина о том, как информационная система продолжает работать, когда исчезает то, на чём она держится: электросеть, провайдер, облако, домен, поставщик запчастей, сервисный центр. Это не курс по выживанию и не сборник советов. Предмет — три области, которые обычно преподаются порознь и потому почти никогда не сводятся вместе: электропитание малых систем, вычислительная платформа и её ремонт, связь и данные в условиях изоляции.
Объединяет их один вопрос: какое минимальное техническое решение сохраняет работоспособность при отказе внешней инфраструктуры и как это проверить, а не предположить. Последняя часть — не оговорка. Курс устроен так, что каждое числовое утверждение в нём либо вычислено программой, которую можно запустить, либо измерено процедурой, которую можно повторить, либо процитировано из стандарта с точным указателем. Четвёртого класса утверждений в курсе нет, и это главное его свойство.
Курс построен вокруг трёх идей. Первая — отказ есть цепочка: ломается не «электричество» и не «интернет», а последовательность генерация → передача → распределение → преобразование → потребитель и последовательность канал → адресация → имена → сертификаты → аутентификация → сервис; отказ любого звена рвёт всю цепочку. Вторая — измерение прежде вывода: всякое число о потреблении, дальности, ёмкости или тепле должно быть получено прибором или расчётом с явно названной погрешностью, а не взято «по опыту». Третья — проверяемость вместо правдоподобия: лабораторная работа обязана быть способна опровергнуть утверждение темы; если опыт не может провалиться, он ничего не проверяет.
Что даёт курс
- умение разложить собственные сервисы по уровням деградации, применить матрицу сценариев отказа и сформулировать проверяемые требования с допуском и методом проверки;
- умение собрать офлайн-профиль узла с манифестом, хешами, подписью и паритетом и проверить его восстановлением повреждённого файла, а не открытием файла;
- понимание энергобаланса как почасового расчёта: профиль нагрузки, полезная ёмкость с учётом глубины разряда и КПД, реестр запасов вместо универсального коэффициента;
- умение выбрать химию накопителя под задачу, снять разрядную кривую, оценить внутреннее сопротивление и проверить срабатывание защит;
- понимание генерации из доступных средств — фотоэлектрика, педальный привод, автомобильный генератор — как преобразования с коэффициентом, который нужно назвать;
- умение выбрать и собрать платформу из доступного железа, снять профиль её потребления и отремонтировать типовой отказ по методу «симптом → гипотеза → измерение → вывод»;
- умение поставить и восстановить Linux без интернета, поднять локальное зеркало пакетов и провести полный цикл доверенного обновления с карантином и откатом;
- умение поднять на одной машине DNS, DHCP, файловый сервис, справочники, git и локальное время, работающие без апстрима;
- умение восстановить данные с повреждённого носителя и проверить резервную копию восстановлением сервиса, а не отдельных файлов;
- понимание бюджета радиолинии, антенн и цифровых режимов; умение рассчитать запас в децибелах и отличить расчётную дальность от реальной;
- умение построить автономную сеть из нескольких узлов и синхронизировать данные без облака;
- понимание электромагнитной совместимости, перенапряжений и экранирования как расчётной, а не мистической дисциплины, с явными границами применимости моделей;
- навык провести учение на отказ, посчитать метрики готовности и превратить разбор в список доработок.
Результаты обучения
Знать:
- классы отказов внешней инфраструктуры, сценарии А–Г курса и уровни деградации L0–L4 с нормативами времени восстановления;
- модели энергобаланса, накопителей и генерации, их входные данные и границы применимости (что каждая модель не учитывает);
- устройство доверенной цепочки обновлений, офлайн-сервисов и стратегий резервного копирования с проверкой восстановлением;
- модели радиолинии (свободное пространство, двухлучевая, дифракция) и их область применимости;
- классы электромагнитных воздействий по IEC 61000, механизмы экранирования и защиты вводов;
- структуру плана непрерывности, карточек SOP, учения и после-учебного отчёта.
Уметь:
- формулировать проверяемые требования с порогом и методом проверки;
- рассчитывать энергобаланс узла по профилю нагрузки, выбирать батарею, сечения и предохранители;
- поднимать и восстанавливать программный слой узла без интернета и проверять его в изолированном сетевом пространстве;
- рассчитывать бюджет радиолинии и экран корпуса и отличать оценку модели от измерения;
- подбирать защиту вводов по параметрам шины и рассчитывать заземлитель;
- проводить учение, измерять метрики готовности и разбирать расхождения с моделью.
Владеть:
- приёмом «предсказать, затем проверить» и записью каждого числа с классом достоверности (вычислено / измерено / цитируется);
- симуляторами курса
teacher/sim/и скриптами окружений лабораторных; - процедурой диагностики платы «от входа к нагрузке» и ремонта типовых отказов;
- методикой разбора инцидентов без поиска виноватых и ведения журнала узла.
Компетенции
Курс формирует профессиональные компетенции инженера по эксплуатации информационных систем в части обеспечения их непрерывности:
| Компетенция | Индикатор | Где формируется |
|---|---|---|
| Проектирование автономного электропитания информационной системы | рассчитывает энергобаланс и запас на сценарий, выбирает защиту линии | темы 3–5, раздел 2 КП |
| Обеспечение работы программного слоя без внешней инфраструктуры | разворачивает и восстанавливает узел без сети по своему документу | темы 2, 7–9, разделы 4–5 КП |
| Организация резервных каналов связи | рассчитывает радиолинию с моделью рельефа, строит меш-сеть | темы 10–11, раздел 6 КП |
| Обеспечение электромагнитной стойкости | оценивает экран, выбирает защиту вводов, рассчитывает заземление | тема 12, раздел 7 КП |
| Управление эксплуатационной готовностью | составляет план непрерывности, проводит учение, ведёт план улучшений | темы 1, 13, раздел 8 КП |
| Инженерная проверка утверждений | указывает класс и способ проверки каждого числа, опровергает утверждение опытом | все темы |
Коды компетенций конкретного образовательного стандарта присваиваются при включении курса в учебный план.
Пререквизиты
- Командная строка Linux: файлы, права, процессы, диски и файловые системы, bash — курс «Командная строка Linux», темы 1–16.
- Компьютерные сети: адресация, маршрутизация, DNS, DHCP — курс «Компьютерные сети», темы 1–8.
- Школьная физика электричества: напряжение, ток, мощность, закон Ома; логарифм и децибел на уровне определения.
- Криптография (подписи, ключи) желательна для темы 7 — курс «Криптографические методы защиты информации», темы 10, 14, 15.
Как проверить себя
Готовность по каждой теме видна по трём признакам: журнал лабораторной работы заполнен в графах «предсказание» и «факт», и каждое расхождение между ними объяснено; selftest.sh окружения проходит, а внесённая поломка обнаруживается; ответы практического занятия по своему варианту совпадают с выводом расчётных скриптов. Итог курса — курсовой проект с результатом валидатора VALIDATION: PASSED и протоколом учения, а также ответы на итоговые вопросы этой страницы своими словами и с числами из реестра.
Курсовой проект
«Полигон: проект, сборка, учение» — проект узла по варианту из 16: требования, энергетика, платформа с планом ремонта, программный слой, данные, связь, стойкость с оценкой уязвимости по сценарию Г, регламент и протокол четырёхчасового учения. Каждое число записки — в таблице с фиксированным ID и классом достоверности; валидатор пересчитывает их моделями курса и сверяет статусы требований. Все требования выполнимы в П0. Подробно — вкладка «Курсовой проект».
Связь с другими курсами
Курс не повторяет базовые дисциплины, а опирается на них. Повторное изложение запрещено: если тема уже есть в другом курсе, здесь она сокращается до ссылки.
| Что нужно | Где взято | Что делает этот курс |
|---|---|---|
| Командная строка, права, процессы, диски, ФС, bash, планировщики | «Linux, терминал и командная оболочка» — темы 1–16 | применяет к восстановлению и офлайну, не пересказывает |
| TCP/IP, адресация, DNS, DHCP, NAT, маршрутизация, TLS | «Компьютерные сети и сетевые технологии» — темы 1–8, 12, 14–18 | берёт как данность; настраивает только то, что нужно без интернета |
| Криптография, PKI, сертификаты, подписи, пароли и ключи | «Криптографические методы защиты информации» — темы 10, 14, 15 | применяет к офлайн-цепочке обновлений и локальному доверию |
| Журнал, восстановление и резервное копирование СУБД | «Базы данных» — тема 13 | расширяет на файловые системы и мёртвые носители |
| Виртуализация и контейнеры как средство изоляции | «Облачные технологии» — темы 2–3 | использует как инструмент учебной среды |
Формат ссылки — «подробно — курс X, тема N».
Темы курса
Каждая тема включает лекцию (вкладка «Теория»), практику — лабораторную работу или практическое занятие — и дополнительные материалы: вопросы для самопроверки, глоссарий, шпаргалку по инструментам, аннотированный список литературы.
| № | Тема | Раздел | Практика |
|---|---|---|---|
| 1 | Сценарии отказа, уровни деградации и требования | Рамка | ЛР 1 |
| 2 | Офлайн-профиль узла: состав, проверка, ротация | Рамка | ЛР 2 |
| 3 | Энергобаланс и архитектура электропитания | Энергия | ПЗ 3, ЛР 3 |
| 4 | Накопление энергии и преобразователи | Энергия | ЛР 4 |
| 5 | Генерация | Энергия | ПЗ 5, ЛР 5 |
| 6 | Платформа из доступного железа: собрать и починить | Железо | ПЗ 6, ЛР 6 |
| 7 | Автономная ОС и доверенная цепочка обновлений | Программный слой | ЛР 7 |
| 8 | Локальные сервисы и офлайн-знания | Программный слой | ЛР 8 |
| 9 | Сохранность и восстановление данных | Программный слой | ЛР 9 |
| 10 | Радиоканал: бюджет, антенны, приём, цифровые режимы | Связь | ПЗ 10, ЛР 10 |
| 11 | Автономные сети и синхронизация | Связь | ЛР 11 |
| 12 | Электромагнитная совместимость, перенапряжения и защита | Стойкость | ПЗ 12, ЛР 12 |
| 13 | Учения, регламенты, эксплуатационная готовность | Эксплуатация | ПЗ 13, ЛР 13 |
Последовательность обязательна: каждая тема опирается на предыдущие. Если нужна общая картина, минимальная траектория — темы 1, 3, 6, 7, 9, 10, 12.
Учебная среда
Базовый вариант — П0, и он не требует покупок: Linux на имеющемся ноутбуке, виртуальная машина и скрипты. Всё, что нельзя воспроизвести на обычной машине, вынесено в необязательные расширения и не входит в обязательные требования курсового проекта.
Полигон — синтетическая конфигурация, которую читатель описывает и собирает сам. Никакой вымышленной площадки у курса нет; числовые характеристики Полигона (нагрузка, ёмкость, широта, дистанции) задаются вариантом, поэтому проект не сводится к одному заученному ответу. Полигон существует в трёх версиях, каждая следующая — надмножество предыдущей:
| Версия | Что это | Стоимость | Что проверяется |
|---|---|---|---|
| П0 | Виртуальная машина и скрипты на ноутбуке | 0 ₽ | энергобаланс, ОС, сервисы, данные, сеть, расчёты |
| П1 | П0 + мультиметр, USB-тестер, паяльник, плата-донор | ~3–5 тыс. ₽ | измерения потребления, ремонт, проверка расчётов на железе |
| П2 | П1 + SDR, две платы LoRa, панель 10–50 Вт, АКБ 12 В | ~15–20 тыс. ₽ | радиоприём, реальная генерация, экранирование |
Обязательна только версия П0. Ни одно требование курсового проекта не зависит от покупок; расширения помечены как расширения и в оценку требований не входят.
Рекомендуемая платформа: Debian 13 «trixie» или Ubuntu 26.04 LTS на ноутбуке, 8 ГБ ОЗУ, 20–30 ГБ свободного места. Windows допустим с WSL2 для программных работ. Виртуализация — QEMU/KVM или VirtualBox; сетевые работы выполняются в пространствах имён (unshare -rnm), без прав root.
Набор инструментов и команда установки приведены в первой лабораторной работе; минимальный набор:
sudo apt update
sudo apt install -y qemu-system-x86 qemu-utils python3 python3-numpy python3-matplotlib \
python3-pandas iproute2 nftables tcpdump dnsmasq unbound chrony samba nfs-kernel-server \
syncthing git restic testdisk smartmontools cryptsetup par2 fdisk gdisk e2fsprogs \
util-linux openssl gnupg age rsync
Для тем 7–8 дополнительно нужны kiwix-tools и apt-cacher-ng; для темы 10 — декодеры direwolf и wsjtx (наличие пакетов в дистрибутиве проверяется в самой работе). Если инструмент недоступен в конкретной среде, лабораторная предусматривает эквивалент или ветку с приложенными данными — это указано на месте.
Безопасность сформулирована как техническая, а не как оговорка: аккумуляторы — на негорючей поверхности и в очках; сборки выше 24 В — только на макете с ограничением тока; импульсные блоки питания вскрываются только после разряда конденсаторов; ремонт под напряжением не выполняется; передача в эфир — только в разрешённых полосах и на разрешённой мощности.
Как работать с материалами
Тема изучается в следующем порядке.
- Теория. Лекция читается целиком, с остановками на схемах и числах. Числовые примеры полезно пересчитать самостоятельно: почти все они воспроизводятся программой из архива темы, и расхождение — повод разобраться, а не повод поверить тексту. Ссылки вида
[@3]ведут к списку литературы в конце темы. - Дополнительно. Вопросы для самопроверки показывают, усвоен материал или нет: если ответ не формулируется своими словами, соответствующий раздел стоит перечитать. Глоссарий и шпаргалка нужны во время практики.
- Практика. Главный принцип — предсказать, затем проверить: до запуска команды или опыта записывается ожидаемый результат, после — объясняется расхождение. Именно расхождения дают основной прирост понимания. Базовая часть работы составляет обязательный минимум, продвинутая — углублённая, по желанию.
Каждая тема сопровождается реестром утверждений: для каждого числа указано, чем оно получено (расчёт программой, измерение с прибором и погрешностью, цитата из стандарта с локатором). Если утверждение не удаётся отнести ни к одному классу, оно в курс не попадает.
Итоговые вопросы для самопроверки
- Чем надёжность, устойчивость и восстанавливаемость отличаются друг от друга, и какими из них занимается этот курс.
- Что такое RTO и RPO в личном масштабе, и почему требование без метода проверки не является требованием.
- Зачем нужен машиночитаемый манифест офлайн-профиля, и что именно он позволяет проверить.
- Правило трёх копий в офлайн-исполнении: почему третья копия — не облако, и чем плох SMR-диск для интенсивной записи.
- Почему полезная ёмкость аккумулятора не равна произведению «ёмкость × напряжение», и из чего складывается запас.
- Почему опасность цепи определяется не только напряжением, но и доступной энергией.
- Чем различаются PWM- и MPPT-контроллеры заряда, и в какой точке они дают разный результат.
- Почему «100 Вт» на широте 60° в декабре даёт не 400 Вт·ч в сутки, и какая часть этого расхождения приходится на нагрев элемента.
- Почему автомобильный генератор без возбуждения и без батареи не даёт напряжения.
- Как отличить «устройство мертво» от «устройство в защите», и в каком порядке проверяются цепи.
- Что отличает доверенную цепочку обновлений от переноса файлов на флешке.
- Почему расхождение часов ломает TLS, журналы и синхронизацию, и как получить точное время без интернета.
- Почему резервную копию проверяют восстановлением сервиса, а не отдельных файлов.
- Почему расчёт дальности по потерям в свободном пространстве непригоден для наземной УКВ-связи, и что вместо него цитирует курс.
- Что общего и что различного у дигипитера APRS и iGate, и что из них работает в изоляции.
- Почему LoRa не заменяет интернет: что именно ограничивает сеть на её основе.
- Почему корпус с неплотной крышкой экранирует хуже, чем кажется, и какую роль играет глубина щели.
- Что измеряет и что не измеряет уровень сигнала на телефоне.
- Какие метрики фиксируются в учении на отказ, и почему «героизм» участников считается признаком плохого проекта.
- Как связаны «предвидеть — отслеживать — реагировать — учиться» с конкретными документами узла.
Глоссарий курса и обозначения
Термины тем собраны в разделах «Глоссарий темы» вкладок «Дополнительно». Ниже — сквозные термины и обозначения, которые встречаются в нескольких темах.
| Термин | Англ. | Определение | Тема |
|---|---|---|---|
| Сценарий отказа | failure scenario | заданные условия задачи: А — 4 ч, Б — 72 ч при −20 °C, В — 336 ч, Г — 24 ч после импульса (teacher/polygon.json) | 1 |
| Уровень деградации | degradation level | L0…L4: набор функций, сохраняемых узлом; у каждого — норматив RTO | 1, 13 |
| Полигон | — | синтетическая конфигурация узла, описанная числами; версии П0, П1, П2 | все |
| Офлайн-профиль | offline profile | набор данных и ПО узла с манифестом и паритетом | 2 |
| Класс достоверности | — | вычислено (В), измерено (И), цитируется (Ц) | все |
| Реестр утверждений | claims registry | docs/CLAIMS.md: ID, значение, класс, проверка | все |
| План непрерывности | business continuity plan, BCP | документ: сценарии, приоритеты, роли, переходы между уровнями | 13 |
| Учение | exercise, drill | проверка готовности по сценарию с измерением метрик | 13 |
| После-учебный отчёт, план улучшений | AAR / IP | итоговые документы учения: что сработало, что нет, меры с критерием закрытия | 13 |
| Единая точка входа | single point of entry | все вводы проходят через одну панель на границе экрана | 12 |
| Синтетические данные | synthetic data | данные, построенные моделью, независимой от проверяемой; помечаются явно | ЛР |
| Обозначение | Смысл | Единица | Тема |
|---|---|---|---|
| SOC | степень заряда, доля полезной ёмкости | — | 3, 4 |
| SOH | состояние батареи: доля ёмкости относительно новой | — | 4, 13 |
| DoD | глубина разряда, доля номинальной ёмкости, разрешённая к использованию | — | 3, 4 |
| η | КПД звена (преобразователя, заряда, разряда) | — | 3, 4 |
| K_t (в теме 3 — k_T) | температурный коэффициент ёмкости батареи: доля ёмкости при температуре сценария | — | 3, 4, 13, КП |
| γ | температурный коэффициент мощности фотоэлектрической панели — не путать с K_t | %/K | 5 |
| E_полезн | полезная энергия батареи C·U·DoD·K_t | Вт·ч | 3, КП |
| R_int | внутреннее сопротивление батареи | мОм | 4, 13 |
| RTO | целевое время восстановления уровня | мин | 1, 13 |
| RPO | допустимый возраст данных при восстановлении | ч | 1, 9 |
| FSPL | потери в свободном пространстве | дБ | 10 |
| EIRP | эквивалентная изотропно излучаемая мощность | дБм | 10 |
| J(v) | дифракционные потери на клине при параметре v | дБ | 10 |
| PDR | доля доставленных пакетов | % | 10 |
| δ | глубина проникновения поля в проводник (скин-слой) | мкм | 12 |
| SE | эффективность экранирования | дБ | 12 |
| V_RWM, V_C | рабочее напряжение и напряжение ограничения TVS | В | 12 |
| δ_E | расхождение расхода энергии учения с моделью | % | 13 |
Рекомендуемая литература
- Hollnagel E., Woods D. D., Leveson N. (eds.). Resilience Engineering: Concepts and Precepts. — Ashgate, 2006.
- Hollnagel E. Resilience Engineering in Practice: A Guidebook. — Ashgate, 2011.
- NIST SP 800-34 Rev. 1. Contingency Planning Guide for Federal Information Systems. — NIST, 2010. https://csrc.nist.gov/pubs/sp/800/34/r1/upd1/final
- Linden D., Reddy T. B. (eds.). Handbook of Batteries. 4th ed. — McGraw-Hill, 2010.
- Scherz P., Monk S. Practical Electronics for Inventors. 4th ed. — McGraw-Hill, 2016.
- Ott H. W. Electromagnetic Compatibility Engineering. — Wiley, 2009.
- Jackson S. J. Rethinking Repair // Media Technologies: Essays on Communication, Materiality, and Society. — MIT Press, 2014, С. 221–239.
- Debian Installation Guide. — Debian Project. https://www.debian.org/releases/stable/installmanual
- Debian Administrator's Handbook. — Debian Project. https://debian-handbook.info/
- Arch Wiki. — https://wiki.archlinux.org/
- ARRL Handbook for Radio Communications. — ARRL, ежегодное издание.
- ARRL Antenna Book. — ARRL, ежегодное издание.
- ITU-R P.525. Calculation of free-space attenuation. — ITU, 2019. https://www.itu.int/rec/R-REC-P.525
- ITU-R P.526. Propagation by diffraction. — ITU, 2019. https://www.itu.int/rec/R-REC-P.526
- APRS Protocol Reference 1.0.1. — TAPR, 2000. http://www.aprs.org/doc/APRS101.PDF
- RFC 9171. Bundle Protocol Version 7. — IETF, 2022. https://www.rfc-editor.org/rfc/rfc9171
- IEC 61000-2-9. Electromagnetic compatibility — Description of HEMP environment — Radiated disturbance. — IEC, 1996.
- MIL-STD-188-125-1. High-Altitude Electromagnetic Pulse (HEMP) Protection for Ground-Based C4I Facilities Performing Critical, Time-Urgent Missions. Part 1: Fixed Facilities. — US DoD, 1998.
- MIL-STD-188-125-2. … Part 2: Transportable Systems. — US DoD, 1999.
- IEC 61000-4-2:2008, IEC 61000-4-4:2012, IEC 61000-4-5:2014+AMD1:2017. Electromagnetic compatibility (EMC) — Part 4: Testing and measurement techniques (электростатический разряд, пачки быстрых переходных процессов, микросекундные импульсы).
- ISO 22301:2019. Security and resilience — Business continuity management systems — Requirements.
- Homeland Security Exercise and Evaluation Program (HSEEP). — FEMA, 2020. https://www.fema.gov/emergency-managers/national-preparedness/exercises/hseep
- Kiwix. Офлайн-библиотека ZIM. — https://www.kiwix.org/
- Internet-in-a-Box. — https://internet-in-a-box.org/