Это зависит от того, что вы делаете, и от того, что вам нужно.
Если бы у меня было несколько скалярных объектов, и я добавил некоторые из них в конец поддерева для поддержки более нового оборудования, а старое оборудование не поддерживало его, вы бы просто полагались на старое оборудование, отклоняющее запросы для новых OID. Это совершенно бесполезно.
Если ваши MIB более структурные, с таблицами вы можете:
- Сделай то же самое; просто добавьте в таблицу дополнительные поля, которые поддерживаются условно, или
- Создайте вторую таблицу с новой информацией, , разделяющую индекс с первой , чтобы эффективно «расширить» первую таблицу. Однако это может быть излишним, и ваши пользователи должны будут опрашивать обе таблицы независимо друг от друга; семантически, однако, они будут аккуратно связаны.
Как правило, вы хотите избегать расширения ваших MIB. Подумайте о данных, которые вам понадобятся заранее, насколько это возможно, независимо от состояния аппаратной поддержки. Конечно, в реальности вы будете думать / придумывать функции позже, так что этого нельзя полностью избежать. Конечно, не меняйте OID: это запрещено .
Кстати, хотя лексическая запись MIB - ASN.1, схема, которую вы действительно используете, - SMIv2 .