2015-08-26 1 views
1

С моей точки зрения:В чем разница между ASN.1 и SMI?

ASN.1 имеет широкую область использования, а SMI - это подмножество ASN.1, которое используется специально для SNMP.

Это правильно? Если нет, в чем разница?

ответ

2

ASN.1 стандартизован обозначение. Из RFC 2578, похоже, SMI использует эту нотацию, так как в настоящее время я использую английскую грамматику для построения этих предложений. Например, в разделе 2, они дают:

SNMPv2-SMI DEFINITIONS ::= BEGIN 
    -- the path to the root 
    org   OBJECT IDENTIFIER ::= { iso 3 } -- "iso" = 1 

Этот текст следует синтаксис ASN.1 для определения модуля ASN.1 («SNMPv2-SMI»), с первым определением в модуле будучи АСН .1 («org»), имеющее конкретный тип ASN.1 («OBJECT IDENTIFIER»).

Кроме того, RFC 2578 устанавливает ограничения на нотацию ASN.1, которая может использоваться. В качестве примера, в 3.1 они ограничивают идентификаторы ASN.1 от использования дефиса, что в противном случае было бы разрешено. Это похоже на то, что в сообщении StackOverflow мы будем использовать предложения в соответствии с английской грамматикой, но предложения с использованием прошедшего времени не допускаются.

Сторона примечания: RFC 2578 использует ASN.1 1988. Существуют более новые версии стандарта ASN.1, и некоторые обозначения из стандарта 1988 года были устранены (в частности, макросы).

+0

Я читал в разных местах, например. http://en.wikipedia.org/wiki/Structure_of_Management_Информация о том, что SMI является «адаптированным подмножеством ASN.1». Я всегда был туман, если «адаптированный» имел здесь особое значение, но я думаю, что ваш ответ означает, что это только ограничения (с нулевыми изменениями или дополнениями) по сравнению с ASN.1? – k1eran

+1

@ k1eran Я не изучил SMI RFC достаточно, чтобы сказать, добавляют ли они какие-либо нотации, которые не поддерживаются ASN.1. Я задавался вопросом о том, что слово «адаптировано». Быстрое прочтение заставляет меня думать, что они могли бы опустить слово «адаптировано» и избегать путаницы, которую это могло бы вызвать, но я не знаю точно. – Kevin

+0

@ Kevin: Я исправлю, что все обозначения SMI действительны в ASN.1, но некоторые нотации asn.1 могут быть неверными в SMI. –

0

Это именно то, что написано в учебнике. Подробнее см. IETF RFC 1155 и 2578.

+0

Да, его там в RFC, но определение, содержащееся в RFC, мало технически для понимания. Можете ли вы рассказать мне о непрофессиональных условиях, что просто понять. –

2

К сожалению, поскольку комитет ASN.1 на протяжении многих лет пытался заставить IETF использовать фактический ASN.1 для SNMP, группа, ответственная за SNMP, отклонялась от ASN.1 различными способами, что делает невозможным общий целевые ASN.1 Инструменты для полной обработки SNMP MIB. Они не только используют отозванную нотацию MACN ASN.1, но используют ее таким образом, что даже ASN.1 Инструменты, которые все еще поддерживают устаревшую нотацию MACN ASN.1, не могут должным образом обрабатывать определения MIB. Вам нужен специальный инструмент, созданный специально для MIB SNMP, чтобы полностью разобрать и обработать их должным образом.

+0

Хотя не в том же масштабе, он имеет некоторое сходство с Oracle/Google fracas над Java: Stop Messing With Our Stuff! – bazza