Lab041 — сеансы связи, безопасный запуск и защита от пакетов предыдущего сеанса Исходное состояние - Корень: C:/Users/user/Desktop/projects/SDR_Rover - Ветка: main. - Исходный HEAD: 88addff5b615dd7c13506b6e4c83c131a6a4bb39. - Рабочее дерево и индекс были чистыми; расхождение с локально известной origin/main составляло 0/0. - Коммиты Lab039 и Lab040 присутствовали; сетевые команды Git не выполнялись. Форматы прикладных сообщений - Общий прикладной заголовок: !BBQQII, 26 байт, сетевой порядок, без неявного выравнивания. - Поля заголовка: версия, тип, ground_session_id, rover_boot_id, control_epoch и sequence_number. - Типы: SESSION_HELLO, SESSION_STATUS, MOVEMENT_AUTHORIZE_REQUEST, MOVEMENT_AUTHORIZE_ACK, CONTROL_STATE, EMERGENCY_STOP, EMERGENCY_ACK, RESET_REQUEST, RESET_ACK и SESSION_REJECT. - CONTROL_STATE содержит скорость float32, поворот float32, торможение uint8 и разрешение движения uint8; выполняется смысловая проверка диапазонов и сочетаний. - Идентификаторы запуска имеют 64 бита; период управления и номер сообщения — 32 бита; идентификаторы аварии и сброса — 64 бита. - Отдельная контрольная сумма не добавлена: контрольная сумма общего пакета Lab033 уже охватывает всю полезную нагрузку. Успешная проверка суммы не заменяет смысловую проверку. - тип | прикладной заголовок, байт | специализированная часть, байт | прикладное сообщение, байт | заголовок Lab033, байт | передаётся всего, байт - SESSION_HELLO | 26 | 9 | 35 | 32 | 67 - SESSION_STATUS | 26 | 10 | 36 | 32 | 68 - MOVEMENT_AUTHORIZE_REQUEST | 26 | 8 | 34 | 32 | 66 - MOVEMENT_AUTHORIZE_ACK | 26 | 9 | 35 | 32 | 67 - CONTROL_STATE | 26 | 10 | 36 | 32 | 68 - EMERGENCY_STOP | 26 | 8 | 34 | 32 | 66 - EMERGENCY_ACK | 26 | 8 | 34 | 32 | 66 - RESET_REQUEST | 26 | 21 | 47 | 32 | 79 - RESET_ACK | 26 | 18 | 44 | 32 | 76 - SESSION_REJECT | 26 | 2 | 28 | 32 | 60 Постоянная нагрузка управления - CONTROL_STATE: 68 передаваемых байт × 20 сообщений/с = 10.88000 кбит/с. - За 20 с передаётся 400 команд, или 27200 байт. - Прикладной заголовок занимает 72.222% прикладного сообщения и 38.235% всего передаваемого пакета команды. - В Lab040 пакет команды занимал 46 байт и создавал 7.36000 кбит/с; рост составляет 3.52000 кбит/с, или 47.826%. - Один исходный обмен SESSION_HELLO и SESSION_STATUS: 135 байт, что соответствует 0.05400 кбит/с при усреднении по одному опыту. - Один исходный обмен разрешения движения: 133 байт, или 0.05320 кбит/с при усреднении по одному опыту. - Аварийная команда с подтверждением: 132 байт; запрос сброса с подтверждением: 155 байт. Обоснование идентификаторов - Одного sequence_number недостаточно: после перезапуска он может снова начаться с нуля, а задержанный большой номер прежнего запуска будет выглядеть допустимым без границы сеанса. - ground_session_id отделяет запуски наземной станции; rover_boot_id немедленно делает недействительными команды, адресованные предыдущему запуску ровера. - control_epoch отделён от сеанса, потому что внутри одного соединения движение может быть повторно запрещено и разрешено после остановки или сброса. - 64 бита выбраны как минимально требуемая ширина с практически большим пространством случайных значений; в воспроизводимой модели значения выводятся из фиксированного начального значения. Источник для реального изделия должен быть определён отдельно. Автоматы сторон - Наземная станция: GROUND_BOOT → GROUND_SYNCING → GROUND_SAFE_SYNCHRONIZED → GROUND_MOVEMENT_AUTH_REQUESTED → GROUND_ACTIVE. - Аварийная ветвь станции: GROUND_EMERGENCY_REQUESTED → GROUND_EMERGENCY_CONFIRMED → GROUND_RESET_REQUESTED → безопасное согласованное состояние. - Ровер: ROVER_BOOT_SAFE → ROVER_SESSION_SYNCED_SAFE → ROVER_MOVEMENT_AUTHORIZED; состояния STAGE1_DECELERATION, STAGE2_BRAKING и EMERGENCY_LATCHED сохранены. - После запуска ровер запрещает движение, потому что его программное состояние и происхождение ранее сохранённой команды больше нельзя считать достоверными. - SESSION_STATUS и MOVEMENT_AUTHORIZE_ACK подтверждают этапы протокола, но сами не являются командой движения. - После сброса или перезапуска старая команда не восстанавливается: требуется новое действие оператора и новая CONTROL_STATE текущего периода управления. Сравнение sequence_number - delta = (new - old) modulo 2^32; сообщение новее только при 0 < delta < 2^31. - delta = 0 означает дубликат или старое сообщение; delta > 2^31 означает старый номер; delta = 2^31 неоднозначно и всегда отклоняется. - Правило применяется только при совпадении ground_session_id, rover_boot_id, control_epoch и stream_id. Ограничение модели - Исследуются задержки, дубликаты, перестановка, старые пакеты и потеря оперативного состояния при перезапуске. - Намеренная подделка не моделируется. Идентификаторы сеанса не доказывают отправителя, поэтому эта защита не заменяет криптографическую аутентификацию. - Что именно моделируется розыгрышем: моменты потерь по экспоненциальной модели Good-Bad, доставка и повтор служебных сообщений сеанса, время до безопасного согласования и до разрешения движения, объём эпизодической служебной нагрузки. Только эти величины являются результатом моделирования Lab041. - Что задано архитектурой, а не разыгрывается: исход обработки старого пакета, разрешено ли движение после перезапуска и сохраняется ли аварийное намерение. Матрица перебирает эти случаи, а поведение реализации проверяется отдельно функциональными проверками. - Что не моделируется вовсе: транспорт видео, планировщик очередей, доставка телеметрии и доставка команд по радиоканалу. Соответствующие показатели относятся к Lab037 и Lab040 и в Lab041 не пересчитываются. - Оценка пути после перезапуска получена по замкнутой формуле при параметрах профиля nominal Lab039 и одинакова во всех повторах; это расчёт, а не результат розыгрыша. Матрица 180 сочетаний архитектура | канал | сценарий | повторы | безопасный сеанс, % | разрешение, % | нарушения, % | старые пакеты приняты, % | потеря намерения, % | управление, кбит/с | эпизодическая служебная, кбит/с | полный поток, кбит/с Без идентификаторов сеанса | Без потерь | Обычный запуск обеих сторон | 1 | 0.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | Без потерь | Перезапуск наземной станции при движении | 1 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | Без потерь | Перезапуск ровера при движении | 1 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | Без потерь | Одновременный перезапуск | 1 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | Без потерь | Перезапуск наземной станции при аварийном намерении | 1 | 0.000 | 100.000 | 100.000 | 0.000 | 100.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | Без потерь | Перезапуск ровера в аварийной фиксации | 1 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | Без потерь | Длительный перерыв связи | 1 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | Без потерь | Старая команда прежнего сеанса станции | 1 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | Без потерь | Старая команда прежнего запуска ровера | 1 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | Без потерь | Старый период управления | 1 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | Без потерь | Номер сообщения с нуля в новом сеансе | 1 | 0.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | Без потерь | Переполнение 32-битного номера | 1 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | Без потерь | Дубликат приветствия сеанса | 1 | 0.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | Без потерь | Потеря состояния сеанса | 1 | 0.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | Без потерь | Потеря подтверждения разрешения | 1 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | Без потерь | Потеря подтверждения аварии | 1 | 0.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10560 | 262.05847 Без идентификаторов сеанса | Без потерь | Потеря подтверждения сброса | 1 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.12400 | 262.07687 Без идентификаторов сеанса | Без потерь | Старый запрос сброса | 1 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | Без потерь | Поздняя положительная команда после аварии | 1 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | Без потерь | Перезапуск после сброса до подтверждения | 1 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Обычный запуск обеих сторон | 200 | 0.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Перезапуск наземной станции при движении | 200 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Перезапуск ровера при движении | 200 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Одновременный перезапуск | 200 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Перезапуск наземной станции при аварийном намерении | 200 | 0.000 | 100.000 | 100.000 | 0.000 | 100.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Перезапуск ровера в аварийной фиксации | 200 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Длительный перерыв связи | 200 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Старая команда прежнего сеанса станции | 200 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Старая команда прежнего запуска ровера | 200 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Старый период управления | 200 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Номер сообщения с нуля в новом сеансе | 200 | 0.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Переполнение 32-битного номера | 200 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Дубликат приветствия сеанса | 200 | 0.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Потеря состояния сеанса | 200 | 0.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Потеря подтверждения разрешения | 200 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Потеря подтверждения аварии | 200 | 0.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.11009 | 262.06295 Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Потеря подтверждения сброса | 200 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.12732 | 262.08018 Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Старый запрос сброса | 200 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Поздняя положительная команда после аварии | 200 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 260 кбит/с, помеха 200 мс | Перезапуск после сброса до подтверждения | 200 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Обычный запуск обеих сторон | 200 | 0.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Перезапуск наземной станции при движении | 200 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Перезапуск ровера при движении | 200 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Одновременный перезапуск | 200 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Перезапуск наземной станции при аварийном намерении | 200 | 0.000 | 100.000 | 100.000 | 0.000 | 100.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Перезапуск ровера в аварийной фиксации | 200 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Длительный перерыв связи | 200 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Старая команда прежнего сеанса станции | 200 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Старая команда прежнего запуска ровера | 200 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Старый период управления | 200 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Номер сообщения с нуля в новом сеансе | 200 | 0.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Переполнение 32-битного номера | 200 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Дубликат приветствия сеанса | 200 | 0.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Потеря состояния сеанса | 200 | 0.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Потеря подтверждения разрешения | 200 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Потеря подтверждения аварии | 200 | 0.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16817 | 262.12103 Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Потеря подтверждения сброса | 200 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.13727 | 262.09014 Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Старый запрос сброса | 200 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Поздняя положительная команда после аварии | 200 | 0.000 | 100.000 | 100.000 | 100.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Без идентификаторов сеанса | 230 кбит/с, помеха 1000 мс | Перезапуск после сброса до подтверждения | 200 | 0.000 | 100.000 | 100.000 | 0.000 | 0.000 | 10.88000 | 0.00000 | 261.95287 Идентификаторы и безопасный запуск | Без потерь | Обычный запуск обеих сторон | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы и безопасный запуск | Без потерь | Перезапуск наземной станции при движении | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы и безопасный запуск | Без потерь | Перезапуск ровера при движении | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы и безопасный запуск | Без потерь | Одновременный перезапуск | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы и безопасный запуск | Без потерь | Перезапуск наземной станции при аварийном намерении | 1 | 100.000 | 0.000 | 0.000 | 0.000 | 100.000 | 10.88000 | 0.05400 | 262.00687 Идентификаторы и безопасный запуск | Без потерь | Перезапуск ровера в аварийной фиксации | 1 | 100.000 | 0.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.05400 | 262.00687 Идентификаторы и безопасный запуск | Без потерь | Длительный перерыв связи | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы и безопасный запуск | Без потерь | Старая команда прежнего сеанса станции | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы и безопасный запуск | Без потерь | Старая команда прежнего запуска ровера | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы и безопасный запуск | Без потерь | Старый период управления | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы и безопасный запуск | Без потерь | Номер сообщения с нуля в новом сеансе | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы и безопасный запуск | Без потерь | Переполнение 32-битного номера | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы и безопасный запуск | Без потерь | Дубликат приветствия сеанса | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16120 | 262.11407 Идентификаторы и безопасный запуск | Без потерь | Потеря состояния сеанса | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16120 | 262.11407 Идентификаторы и безопасный запуск | Без потерь | Потеря подтверждения разрешения | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16040 | 262.11327 Идентификаторы и безопасный запуск | Без потерь | Потеря подтверждения аварии | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.21280 | 262.16567 Идентификаторы и безопасный запуск | Без потерь | Потеря подтверждения сброса | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.23120 | 262.18407 Идентификаторы и безопасный запуск | Без потерь | Старый запрос сброса | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы и безопасный запуск | Без потерь | Поздняя положительная команда после аварии | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы и безопасный запуск | Без потерь | Перезапуск после сброса до подтверждения | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Обычный запуск обеих сторон | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Перезапуск наземной станции при движении | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Перезапуск ровера при движении | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10852 | 262.06139 Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Одновременный перезапуск | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.11010 | 262.06297 Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Перезапуск наземной станции при аварийном намерении | 200 | 100.000 | 0.000 | 0.000 | 0.000 | 100.000 | 10.88000 | 0.05400 | 262.00687 Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Перезапуск ровера в аварийной фиксации | 200 | 100.000 | 0.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.05400 | 262.00687 Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Длительный перерыв связи | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.11348 | 262.06634 Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Старая команда прежнего сеанса станции | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10799 | 262.06086 Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Старая команда прежнего запуска ровера | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10773 | 262.06059 Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Старый период управления | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Номер сообщения с нуля в новом сеансе | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10997 | 262.06284 Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Переполнение 32-битного номера | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Дубликат приветствия сеанса | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16120 | 262.11407 Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Потеря состояния сеанса | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16226 | 262.11512 Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Потеря подтверждения разрешения | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16040 | 262.11327 Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Потеря подтверждения аварии | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.21848 | 262.17134 Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Потеря подтверждения сброса | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.23547 | 262.18833 Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Старый запрос сброса | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10799 | 262.06086 Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Поздняя положительная команда после аварии | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10984 | 262.06271 Идентификаторы и безопасный запуск | 260 кбит/с, помеха 200 мс | Перезапуск после сброса до подтверждения | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10733 | 262.06020 Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Обычный запуск обеих сторон | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Перезапуск наземной станции при движении | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Перезапуск ровера при движении | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Одновременный перезапуск | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.11354 | 262.06640 Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Перезапуск наземной станции при аварийном намерении | 200 | 100.000 | 0.000 | 0.000 | 0.000 | 100.000 | 10.88000 | 0.05400 | 262.00687 Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Перезапуск ровера в аварийной фиксации | 200 | 100.000 | 0.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.05400 | 262.00687 Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Длительный перерыв связи | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.12937 | 262.08224 Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Старая команда прежнего сеанса станции | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Старая команда прежнего запуска ровера | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Старый период управления | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Номер сообщения с нуля в новом сеансе | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10865 | 262.06152 Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Переполнение 32-битного номера | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Дубликат приветствия сеанса | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16120 | 262.11407 Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Потеря состояния сеанса | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16120 | 262.11407 Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Потеря подтверждения разрешения | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16040 | 262.11327 Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Потеря подтверждения аварии | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.23379 | 262.18665 Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Потеря подтверждения сброса | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.24705 | 262.19992 Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Старый запрос сброса | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Поздняя положительная команда после аварии | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы и безопасный запуск | 230 кбит/с, помеха 1000 мс | Перезапуск после сброса до подтверждения | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Обычный запуск обеих сторон | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Перезапуск наземной станции при движении | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Перезапуск ровера при движении | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Одновременный перезапуск | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Перезапуск наземной станции при аварийном намерении | 1 | 100.000 | 0.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.05400 | 262.00687 Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Перезапуск ровера в аварийной фиксации | 1 | 100.000 | 0.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.05400 | 262.00687 Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Длительный перерыв связи | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Старая команда прежнего сеанса станции | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Старая команда прежнего запуска ровера | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Старый период управления | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Номер сообщения с нуля в новом сеансе | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Переполнение 32-битного номера | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Дубликат приветствия сеанса | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16120 | 262.11407 Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Потеря состояния сеанса | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16120 | 262.11407 Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Потеря подтверждения разрешения | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16040 | 262.11327 Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Потеря подтверждения аварии | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.21280 | 262.16567 Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Потеря подтверждения сброса | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.23120 | 262.18407 Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Старый запрос сброса | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Поздняя положительная команда после аварии | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы, безопасный запуск и сохранённое намерение | Без потерь | Перезапуск после сброса до подтверждения | 1 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Обычный запуск обеих сторон | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10733 | 262.06020 Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Перезапуск наземной станции при движении | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10826 | 262.06112 Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Перезапуск ровера при движении | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10892 | 262.06178 Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Одновременный перезапуск | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10773 | 262.06059 Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Перезапуск наземной станции при аварийном намерении | 200 | 100.000 | 0.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.05400 | 262.00687 Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Перезапуск ровера в аварийной фиксации | 200 | 100.000 | 0.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.05400 | 262.00687 Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Длительный перерыв связи | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.11199 | 262.06486 Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Старая команда прежнего сеанса станции | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10760 | 262.06046 Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Старая команда прежнего запуска ровера | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10786 | 262.06073 Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Старый период управления | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10812 | 262.06099 Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Номер сообщения с нуля в новом сеансе | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.11090 | 262.06377 Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Переполнение 32-битного номера | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10852 | 262.06139 Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Дубликат приветствия сеанса | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16120 | 262.11407 Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Потеря состояния сеанса | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16147 | 262.11433 Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Потеря подтверждения разрешения | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16594 | 262.11881 Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Потеря подтверждения аварии | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.21927 | 262.17213 Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Потеря подтверждения сброса | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.23663 | 262.18949 Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Старый запрос сброса | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10865 | 262.06152 Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Поздняя положительная команда после аварии | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10878 | 262.06165 Идентификаторы, безопасный запуск и сохранённое намерение | 260 кбит/с, помеха 200 мс | Перезапуск после сброса до подтверждения | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10746 | 262.06033 Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Обычный запуск обеих сторон | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Перезапуск наземной станции при движении | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.11063 | 262.06350 Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Перезапуск ровера при движении | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.11169 | 262.06455 Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Одновременный перезапуск | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10931 | 262.06218 Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Перезапуск наземной станции при аварийном намерении | 200 | 100.000 | 0.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.05400 | 262.00687 Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Перезапуск ровера в аварийной фиксации | 200 | 100.000 | 0.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.05400 | 262.00687 Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Длительный перерыв связи | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.11698 | 262.06985 Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Старая команда прежнего сеанса станции | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Старая команда прежнего запуска ровера | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Старый период управления | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.11261 | 262.06548 Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Номер сообщения с нуля в новом сеансе | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10841 | 262.06127 Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Переполнение 32-битного номера | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.11076 | 262.06363 Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Дубликат приветствия сеанса | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16120 | 262.11407 Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Потеря состояния сеанса | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16120 | 262.11407 Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Потеря подтверждения разрешения | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.16040 | 262.11327 Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Потеря подтверждения аварии | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.21966 | 262.17253 Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Потеря подтверждения сброса | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.25147 | 262.20433 Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Старый запрос сброса | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Поздняя положительная команда после аварии | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Идентификаторы, безопасный запуск и сохранённое намерение | 230 кбит/с, помеха 1000 мс | Перезапуск после сброса до подтверждения | 200 | 100.000 | 100.000 | 0.000 | 0.000 | 0.000 | 10.88000 | 0.10720 | 262.06007 Перезапуски и безопасное состояние - В основном режиме движение до синхронизации: 0; до подтверждения разрешения: 0; без новой команды оператора: 0. - Максимальный путь после перезапуска в основном режиме: 9.7737 м; это путь безопасного торможения, а не продолжение старой команды. - Величина рассчитана по формуле v*t + v^2/(2a) при v = 6.9444 м/с, t = 0.250 с и a = 3.0 м/с^2 из профиля nominal Lab039. Оценка одноступенчатая и не учитывает предварительное замедление Stage1, поэтому она консервативнее двухступенчатой модели Lab039. - Продолжение движения после перезапуска: 0; запуск по старой команде: 0. Пакеты предыдущего сеанса - Основной режим: введено 2807, отклонено 2807, ошибочно принято 0. - Эти числа получены перебором таблицы сценариев: семь сценариев со старым пакетом умножаются на число повторов, а исход перебора задан архитектурой, а не розыгрышем помех. Они показывают охват перебора, а не измеренную вероятность отклонения. - Что старый пакет действительно отклоняется реализацией, показывают проверки 06, 07, 08, 10 и 19: они вызывают receive_control и receive_reset настоящих автоматов и сверяют причину отказа. - Отрицательный уровень без идентификаторов: ошибочно принято 2807 старых пакетов. - Причины отказа основного режима: сеанс станции=401, запуск ровера=401, период управления=401, номер сообщения=802, событие аварии=401, запрос сброса=401. - Неоднозначных delta=2^31 отклонено: 401. Аварийное намерение и сброс - Сохранение emergency_intent на станции сохраняет намерение оператора; ROVER_BOOT_SAFE независимо защищает физическое движение ровера после его перезапуска. Это разные задачи. - В основном режиме потерь аварийного намерения: 0; восстановлений намерения: 401. - Ошибочно принятых старых запросов сброса: 0; движений до RESET_ACK: 0; автоматических восстановлений движения: 0. - Потеря EMERGENCY_ACK не снимает аварийное намерение; потеря RESET_ACK вызывает повтор того же идемпотентного запроса. Инварианты безопасности основного режима - Что означают числа ниже. Счётчики матрицы показывают, сколько сочетаний сценария и канала описывают небезопасный переход. В основном режиме безопасный запуск и постоянное аварийное намерение исключают такие переходы по построению архитектуры, поэтому счётчик равен нулю как следствие выбранной архитектуры, а не как результат розыгрыша помех. - Поведение самой реализации подтверждается функциональными проверками; их номера указаны рядом с каждым свойством. Именно проверки, а не матрица, являются доказательством для перечисленных свойств. - Движение до синхронизации: 0 (проверки 11, 15). - Движение до подтверждения разрешения: 0 (проверки 12, 13). - Движение без новой команды оператора: 0 (проверка 14). - Использование старого периода управления: 0 (проверка 08). - Снятие аварийной фиксации обычной командой: 0 (проверка 22). - Потеря аварийного намерения после перезапуска станции: 0 (проверки 17, 18). - Движение до подтверждения сброса: 0 (проверки 20, 21). - Автоматическое восстановление старой команды после сброса: 0 (проверки 13, 14). - Принятие старого запроса сброса: 0 (проверка 19). Свойства, которые матрица не измеряет - Следующие свойства зависят от разбора конкретного сообщения, а не от розыгрыша сценария, поэтому счётчика по 180 сочетаниям для них не существует. Ранее они выводились в списке инвариантов как нули; это было ошибкой представления, и такие строки удалены. - Принятие команды старого сеанса станции: подтверждается проверками 06 и 16. - Принятие команды старого запуска ровера: подтверждается проверкой 07. - Принятие неоднозначной разности номеров 2^31: подтверждается проверкой 10. - Отрицательная скорость и превышение разрешённой скорости: подтверждаются проверкой 04; диапазон 0...15 м/с проверяется при кодировании в protocol/control_messages.py. Учёт нагрузки - Постоянное управление: 10.88000 кбит/с во всех сочетаниях. - Исходные сообщения согласования: в среднем 0.05400 кбит/с; разрешение движения: 0.04788 кбит/с. - Аварийные сообщения и сброс: в среднем 0.00574 кбит/с; повторы и повторные подтверждения: 0.01536 кбит/с. - Эпизодическая служебная нагрузка основного режима: средняя 0.12298 кбит/с, максимум 0.25147 кбит/с. Именно к этой величине относились прежние значения 0,12298–0,25147 кбит/с. - Постоянные исходные потоки: видео 243.39287, телеметрия 7.68000, управление 10.88000 кбит/с. - Видео и телеметрия здесь не моделируются: значения перенесены из Lab038, поля video_load_kbps и telemetry_load_kbps файла data/processed/lab038/lab038_summary.csv. Управление вычислено по размеру пакета и частоте. - Полный предложенный поток основного режима: средний 262.07584 кбит/с, максимум 262.20433 кбит/с. - Доли доставки видео, телеметрии и управления, а также длина очереди в Lab041 не определяются. Модель этой лабораторной воспроизводит обмен служебными сообщениями сеанса, но не планировщик очередей и не транспорт видео. Соответствующие показатели следует брать из Lab037 и Lab040. Функциональные проверки - ПРОЙДЕНО — 01. Сериализация всех сообщений: все десять типов имеют однозначное двоичное представление - ПРОЙДЕНО — 02. Отклонение неверной версии: неверная версия отклонена - ПРОЙДЕНО — 03. Отклонение неизвестного типа: неизвестный тип отклонён - ПРОЙДЕНО — 04. Допустимые диапазоны управления: диапазоны и сочетания полей управления проверены, включая отрицательную скорость и границу 15 м/с - ПРОЙДЕНО — 05. Номер ноль в новом сеансе: новый сеанс принимает начальный номер ноль - ПРОЙДЕНО — 06. Старый сеанс станции: старый сеанс наземной станции отклонён - ПРОЙДЕНО — 07. Старый запуск ровера: старый идентификатор запуска ровера отклонён - ПРОЙДЕНО — 08. Старый период управления: старый период управления отклонён - ПРОЙДЕНО — 09. Переполнение номера сообщения: переход от 0xFFFFFFFF к нулю принят как новый - ПРОЙДЕНО — 10. Неоднозначная половина диапазона: неоднозначная половина диапазона отклонена - ПРОЙДЕНО — 11. Безопасное состояние после запуска: после запуска движение запрещено с обеих сторон - ПРОЙДЕНО — 12. Состояние сеанса не запускает движение: состояние сеанса и дубликат приветствия не разрешают движение - ПРОЙДЕНО — 13. Подтверждение разрешения не восстанавливает движение: подтверждение разрешения сохраняет нулевое состояние - ПРОЙДЕНО — 14. Новая команда оператора обязательна: движение начинается только по новой команде оператора - ПРОЙДЕНО — 15. Безопасный перезапуск ровера: перезапуск ровера немедленно создаёт безопасное состояние - ПРОЙДЕНО — 16. Прекращение старого потока станции: новый сеанс прекращает старый поток команд - ПРОЙДЕНО — 17. Восстановление аварийного намерения: сохранённое аварийное намерение восстановлено - ПРОЙДЕНО — 18. Подтверждение не снимает аварийное намерение: подтверждение аварии не снимает намерение - ПРОЙДЕНО — 19. Отклонение старого запроса сброса: запрос сброса старого сеанса отклонён - ПРОЙДЕНО — 20. Повтор после потери подтверждения сброса: без подтверждения тот же запрос сброса передаётся повторно - ПРОЙДЕНО — 21. Повторное подтверждение дубликата сброса: дубликат не повторяет сброс и получает подтверждение - ПРОЙДЕНО — 22. Аварийная фиксация не снимается обычной командой: обычная команда не снимает аварийную фиксацию - ПРОЙДЕНО — 23. Воспроизводимость: помехи и 64-битные идентификаторы воспроизводимы - ПРОЙДЕНО — 24. Постоянная нагрузка команд управления: поток управления совпадает с размером 68 байт, частотой 20 Гц и длительностью опыта Созданные файлы - protocol/control_messages.py - protocol/session_state.py - experiments/lab041_session_restart_safety.py - data/processed/lab041/lab041_summary.csv - data/processed/lab041/lab041_session_metrics.csv - data/processed/lab041/lab041_rejection_metrics.csv - data/processed/lab041/lab041_restart_metrics.csv - data/processed/lab041/lab041_load_metrics.csv - data/processed/lab041/lab041_report.txt - data/processed/lab041/lab041_session_time.png - data/processed/lab041/lab041_authorization_time.png - data/processed/lab041/lab041_old_packet_rejection.png - data/processed/lab041/lab041_restart_distance.png - data/processed/lab041/lab041_emergency_intent.png - data/processed/lab041/lab041_safety_violations.png - data/processed/lab041/lab041_protection_load.png Ограничения - Модель не включает криптографическую аутентификацию и не рассматривает намеренного нарушителя. - Размеры идентификаторов и источник случайности для реального изделия должны быть закреплены отдельным проектным решением. - Фиксация результатов в Git выполняется отдельно после завершения расчётов и проверок.