Кратко
- RFC 1316 описывает физические и виртуальные символьные порты и одну или несколько поддерживаемых ими сессий как разные управляемые объекты.
- Административный статус порта задаёт локально разрешённое, а операционный — локально наблюдаемое; суммарный счётчик порта и счётчик сессии имеют разные границы.
executeдля reset или kill является определённой командой MIB, а не доказательством личности, содержания, приёма, удалённого действия или прикладного результата.
Разъём не был всей связью
RFC 1316 охватывал RS-232-порт аппаратного терминала, параллельный порт и виртуальный консольный порт без физического разъёма. Физический порт соответствует аппаратному один к одному; виртуальный — сходная программная сущность без коннектора. Это определяет поверхность, о которой говорит агент. Имя и индекс порта остаются локальными координатами, а не всемирной идентичностью устройства, пользователя или разговора.
Отдельной единицей служит session. Каждый порт может поддерживать один или несколько сеансов; сеанс — виртуальное соединение, несущее символы между портом и некоторым партнёром, обычно поверх стека вроде Telnet над TCP. Порт и сеанс связаны, но не взаимозаменяемы. Активность на порту не сообщает, какой сеанс участвовал, какие данные имели смысл и что сделала другая сторона.
Разрешение не равнялось состоянию
charPortAdminStatus описывает желаемое состояние независимо от flow control. Enabled разрешает символы и новые сеансы; disabled разрешает символы, но не новые сеансы; off не разрешает ни того ни другого; maintenance выделяет режим вне нормальной работы, например тест. Это правило локального управления.
charPortOperStatus отвечает на другой вопрос: up, down, maintenance, absent или active. RFC определяет active как up при присутствующем пользователе, например вошедшем в систему. Но это всё ещё классификация состояния агентом. Она не называет пользователя, не подтверждает аутентификацию или полномочия, не сохраняет введённый текст и не доказывает, что удалённая программа его приняла или выполнила.
Наличие двух полей оставляет видимым расхождение. Настройка может не совпадать с наблюдаемым состоянием. Disabled не стирает предыдущие символы. Maintenance не является отчётом об успешном тесте. Active не означает завершённую работу. Смешение этих значений превращает разные вопросы в один неправдоподобно уверенный ответ.
Сумма символов не была стенограммой
Счётчики порта намеренно широки. Входной счётчик включает framing, символы flow control вроде XON/XOFF, BREAK, локально обработанный ввод и ввод, отправленный всем сеансам. Выходной включает аналогичные управляющие элементы, локально созданный вывод и вывод от всех сеансов. Рост числа — полезное техническое наблюдение, но не запись содержания одной беседы.
Счётчики сеанса определены как подмножества соответствующих счётчиков порта. Это помогает локально соотнести известный сеанс с общей величиной. Но из этого не следует, что удалённый партнёр получил, понял или использовал символы. Кроме того, индекс сеанса значим только в контексте порта и может повторяться на другом порту. «Сеанс 2» без порта, агента и времени способен создать вымышленную непрерывность.
Connected не было сообщением об успехе
Число открытых сеансов включает состояния connecting, connected и disconnecting. Для charSessState connected означает, что символьные данные могли течь по сетевой стороне сеанса. Это не утверждает, что конкретный символ прошёл, что адресат был доступен приложению, что человек увидел экран или что действие завершилось.
Дополнительные поля дают ограниченные связи: протокол, происхождение установки unknown/network/local и ссылку на локальную MIB-информацию, если она существует. При её отсутствии connection ID может быть нулевым объектом. Эти данные улучшают корреляцию, но не создают из отсутствия точный endpoint, проверенную личность или эффект.
Execute не писал отчёт о последствиях
Чтение charPortReset всегда возвращает ready. Запись execute вызывает reset, предназначенный для возврата аппаратной и программной частей порта в чистое начальное состояние и отключения имеющихся сеансов. charSessKill работает так же для одного сеанса: чтение возвращает ready, а execute вызывает завершение.
Это важные границы управления. Однако более позднее ready не говорит, кто записал execute, с каким правом, какие сеансы были тогда, что увидел партнёр и произошли ли потеря, переподключение или восстановление. Запрос, субъект и основание полномочий, состояния до/после и внешние наблюдения должны оставаться отдельными фактами. Нельзя принимать значение чтения за полный журнал прошедшего действия.
Историческая ценность — в сдержанном словаре
Практическая задача RFC 1316 состояла в управлении терминалами, последовательными портами и виртуальными консолями. Но его общий урок шире: политика порта, условие порта, общая сумма, доля сеанса, состояние сеанса и команда — разные виды свидетельства. Современный интерфейс может показать их компактно, но не должен склеивать их в вывод, которого ни один объект не наблюдал.
Источники и границы свидетельства
Статья опирается на RFC 1316, Definitions of Managed Objects for Character Stream Devices (апрель 1992). Он поддерживает различия физического/виртуального порта, порта/сеанса, административного/операционного статуса, суммы/подмножества счётчиков, состояний сеанса и команд reset/kill. Он не устанавливает реальный порт, названного человека, учётные данные, полномочия, точного партнёра, содержание, доставку, отображение, результат приложения или фактическое выполнение команды.
Обзор для участников
Подробный контекст профиля
Войдите с подходящим уровнем подписки, чтобы открыть полный обзор и примечания к источникам.
Только для Стратегического сообщества
Стратегическое сообщество
Открыто всем читателям. Вступите и войдите, чтобы открыть обзоры профилей.
Вступить в Стратегическое сообществоТолько для Альянса лидеров
Альянс лидеров
Для проверенных владельцев IP-активов и руководителей. Войдите, чтобы открыть обзоры Альянса.
Вступить в Альянс лидеров
