2015-03-04 3 views
2

RFC 2578 «Структура информации управления версии 2 (SMIv2)» содержит тип TimeTicks, который определяется как IMPLICIT INTEGER (0..4294967295) и описывается как «неотрицательное целое число, которое представляет время по модулю 2^32 (4294967296 десятичной), в сотых долях секунды между двумя эпохами ".Разница между типами TimeTicks и TimeInterval SMI

RFC 2579 «Текстуальные Условные обозначения для SMIv2» содержит тип TimeInterval который определяется как TEXTUAL-CONVENTION с SYNTAX INTEGER (0..2147483647) и описывается как «период времени, измеренный в единицах 0,01 секунд.».

Я не вижу различий между этими двумя вещами, или, другими словами, зачем нужен TimeInterval (за исключением, возможно, по историческим причинам), когда есть TimeTicks. Если существуют практические различия, каковы они и какие типы я должен использовать?

+0

У меня очень хороший вопрос! Раньше я никогда не слышал о TimeInterval. Я замечаю, что максимально допустимое значение отличается. – Jolta

ответ

2

Я считаю, что TimeTicks предназначено для представления момента во времени, ссылаясь на две известные эпохи, тогда как TimeInterval представляет собой период времени без ссылки.

В случае TimeTicks, обратите внимание на последнее предложение определения:

Тип TimeTicks представляет собой неотрицательное целое число, которое представляет время, по модулю 2^32 (4294967296 десятичных), в сотых долей второго между двумя эпохами. Когда определены объекты, которые используют этот тип ASN.1 , описание объекта идентифицирует как опорные эпох.

Следующий параграф описывает, как TimeStamp определяет эти две эпохи:

Например, [3] определяет TimeStamp текстовую конвенцию, которая на основе типа TimeTicks. С TimeStamp первая ссылка epoch определяется как время, когда sysUpTime [5] равно нулю, а вторая ссылочная эпоха определяется как текущее значение sysUpTime.

TimeInterval не предназначен для подсчета времени, а не для определения продолжительности времени. Взгляните на этот объект от CISCO, который использует TimeInterval:

snmpTargetAddrTimeout OBJECT-TYPE 
     SYNTAX  TimeInterval 
     MAX-ACCESS read-create 
     STATUS  current 
     DESCRIPTION   "This object should reflect the expected maximum round 
      trip time for communicating with the transport address 
      defined by this row. When a message is sent to this 
      address, and a response (if one is expected) is not 
      received within this time period, an implementation 
      may assume that the response will not be delivered. 
      Note that the time interval that an application waits 
      for a response may actually be derived from the value 
      of this object. The method for deriving the actual time 
      interval is implementation dependent. One such method 
      is to derive the expected round trip time based on a 
      particular retransmission algorithm and on the number 
      of timeouts which have occurred. The type of message may 
      also be considered when deriving expected round trip 
      times for retransmissions. For example, if a message is 
      being sent with a securityLevel that indicates both 
      authentication and privacy, the derived value may be 
      increased to compensate for extra processing time spent 
      during authentication and encryption processing. 
" 
     DEFVAL { 1500 } 
     ::= { snmpTargetAddrEntry 4 } 
Смежные вопросы