- (1347 )
- ( 2 )
2.3.2.3 (Content)
, .
, BER- INTEGER (, . . ( ).
(INTEGER) 127, . 127, , ()
00.
BER- INTEGER 9.
9. BER- INTEGER
(Dec) | BER- (Hex) |
02 01 00 - - , 0. - (1 ) - , , , ( 00010 - INTEGER), ( 6- 0), UNI ( 8 7 0) | |
02 01 3b | |
02 02 00 7f | |
02 02 00 80 | |
02 02 01 00 | |
02 02 0D 8F | |
02 03 06 86 D7 | |
-128 | 02 01 80 |
-129 | 02 02 ff 7f |
NULL
NULL , .
NULL , . BER- NULL ( ).
)
, .. T-L-V)
.
(End-of-contents - EOC), , , 00000, 0 , - :
:
(Bitstring type) , , , , . .
, : 0 1001 1111 ( 9 ), BER-, :
00 0 00011 , UNI, ,
00000011 ( 3 9- !)
00000111 , 7 .
01001111 (8 ).
10000000 ( !),
, 0 1001 1111, BER- (40 !) 03 03 07 4F 80 Hex!
|
|
IA5
IA5_String IA5- ( IA5 - ASCII). , .
.
BER- IA5_String . IA5 ASCII-.
IA5- [email protected].
c e n t @ n e i c. n s k. s u 12 1163 65 6e 74 40 6e 65 69 63 2e 6e 73 6b 2e 73 75 T L V | |
c e n t @ n e i c. n s k. s u 12 81 1163 65 6e 74 40 6e 65 69 63 2e 6e 73 6b 2e 73 75 T L V |
. 5 , , .
BER- , ( 2.3.3.) (MIB 2.3.4).
.
(OID).
OBJECT IDENTIFIER OID (), :
X.509,
Directory Information Base (DIB) DAP (X.501), LDAP
MIB .
BER- OBJECT IDENTIFIER .
OBJECT IDENTIFIER .
OBJECT IDENTIFIER OID MIB.
OID , MIB.
2.3.3 .
2.3.3
ISO ITU-T , (root) .
ITU-T X.208X.209 ( ), . 13. ( ) , .
13 MIT
MIT , DNS.
, MIT .
, MIB ( iso.dod.internet.mgmt, . . 13), MIT , ( MIT):
1.3. 6.1.2.1 MIT.
, (x) 0 (itu-t), 1 (iso) 2 (joint-iso-itu), (y) 40, , , MIT, .
|
|
, iso.org (x=1.y=3) :
40 + = 40*1 + 3 =43'Dec 2 'Hex.
256, , , , MIB (iso.org.dod.internet.mgmt.mib, 1.3.6.1.2.1) :
T L V
06 05 2b 06 01 02 01
- OID ( MIB)
- ( OID)
- , , , OID.
10 OID .
10 OID
OID | OID |
{ 0 0 } | ITU-T |
{ 1 0 } | ISO |
{ 1 3 6 } | iso.org.dod |
{ 1 3 6 1 } | iso.org.dod.internet |
{ 1 2 840 } | iso.member-body. ANSI (US) |
{ 2 5 } | (X.500) |
{ 2 5 8 } | - |
2.3.4 MIB
, . , MIB, . , MIB.
, MIB, , IETF, .
, MIB, .
.
MIB, . MIB:
1. MIB I ( Internet MIB - RFC 1065, 1066, 1155, 1156, 1157, 1158 .) , MIT, - (ARP, IP. TCP, UDP ..). , . , , MIB-I. 170 .
2. MIB II (RFC-1213 .). .
3. RMON-1 MIB (RFC 1757). 10 (. ).
4. RMON-II MIB (RFC 2819). .
MIB MIT-Internet:
1. iso.org.dod:
internet OBJECT IDENTIFIER::= { iso(1) org(3) dod(6) 1 }
2. Internet:
directory OBJECT IDENTIFIER::= { internet 1 }
mgmt OBJECT IDENTIFIER::= { internet 2 }
experimental OBJECT IDENTIFIER::= { internet 3 }
private OBJECT IDENTIFIER::= { internet 4 }
3. mgmt.mib (2.1.) , () :
system OBJECT IDENTIFIER::= { mib-2 1 }
interfaces OBJECT IDENTIFIER::= { mib-2 2 }
at OBJECT IDENTIFIER::= { mib-2 3 }
ip OBJECT IDENTIFIER::= { mib-2 4 }
icmp OBJECT IDENTIFIER::= { mib-2 5 }
tcp OBJECT IDENTIFIER::= { mib-2 6 }
udp OBJECT IDENTIFIER::= { mib-2 7 }
egp OBJECT IDENTIFIER::= { mib-2 8 }
transmission OBJECT IDENTIFIER::= { mib-2 10 }
snmp OBJECT IDENTIFIER::= { mib-2 11 }
MIB-II:
|
|
1. System - MIB II , ( , ..). MIB ( - SysUpTime), SNMP.
2. Interfaces - 23 , ( , MTU, , ..) MIB SNMP.
3. AT (3 ) - (Address Translation). MIB I. . AT ARP (MAC) IP .
4. IP (42 ) - IP ( , , ).
5. ICMP (26 ) (/ , ..).
6. TCP (19 ) - , (, , , ..).
7. UDP (6 ) - , UDP (/ , , ).
8. EGP (20 ) - Exterior Gateway Protocol ( , // ).
9. Transmission - MIB.
10. SNMP (29 ) - SNMP - / , , , .
MIB , . ( ) (iso.org.dod .) - (1.3.6 ).
:
: system.syscontact.0,
system.sysUpTime.0,
(, ): system.sysDescr.0
- .
system.sysUpTime.0 1.3.0, system "1" MIB II, sysUpTime - 3 system.
(.. , ).
RMON-1 MIB (RFC 1757) :
ethernet statistics, history control, ethernet history, alarm, host, hostTopN, matrix filter, packet capture, event.
2 MIB II (RFC 1213) if (interface), SNMP .
2.3.5 SNMP-
, SNMP
, ( ) ASN.1 (. .2.3.1 .5).
SNMP, ASN.1, :
(Primitive Types) UNI (00):
INTEGER - ( 02Hex),
OCTET STRING - ( 04Hex),
NULL - ( 05Hex).
OBJECT IDENTIFIER - ( 06Hex),
Enumerated INTEGER ( 0) - ( 0aHex)
(Constructor Types) UNI (00):
SEQUENCE () , - ( 30Hex)
|
|
SEQUENCE OF () - ( 30Hex)
( ASN.1), SNMP (Defined Types), application-wide (01):
NetworkAddress - (Choice) ( X.25, IP, CCS-7 ..). IpAddress. (app 01) IP- 32 (.. IPv4). 4- (OCTET STRING). BER- . , IP- 01 0 00000bin 40hex.
Counter () - , , , . 232-1 (4294967295dec). BER- . , Counter 01 0 00001bin 41hex.
Gauge (, ) - , , . 232-1 (4294967295dec). BER- . , Gauge 01 0 00010bin 42hex
TimeTicks ( ) - , . BER- . , TimeTicks 01 0 00011bin 43hex
Opaque (, ) - ASN.1 (, ). , ASN.1 BER (OCTET STRING). , Opaque 01000100bin 44hex. Opaque .
, SNMP, MIB , :
11 , SNMP MIB
n/n | |||
hex | bin | ||
(primitive) | |||
INTEGER | 00 00 0010 | ||
OCTET STRING | 00 00 0100 | ||
NULL | 00 00 0101 | ||
OBJECT IDENTIFIER (OID) | 00 00 0110 | ||
Enumerated INTEGER | 0a | 00 00 1010 | |
IpAddress | 01 00 0000 | ||
Counter | 01 00 0001 | ||
Gauge | 01 00 0010 | ||
TimeTicks | 01 00 0011 | ||
Opaque | 01 00 0100 | ||
(constructor) | |||
SEQUENCE | 00 11 0000 | ||
SEQUENCE OF | 00 11 0000 | ||
Get | a0 | 10 10 0000 | |
Get-Next | a1 | 10 10 0001 | |
Response | a2 | 10 10 0010 | |
Set | a3 | 10 10 0011 | |
Trap | a4 | 10 10 0100 |
SNMP
(BER .209) . :
SNMP- | , SNMP- | ||||
1 | T | TAG | |||
2 | |||||
( i) | |||||
L | (Length) | ||||
V | (Value, Content) | ||||
n |
13 SNMP-
SNMP-PDU :
14 SNMP
, SNMP- 30 81 fb 02 01 00 04 06 , , 30, 81, fb, 02 ..
(1-), 0, 2- (0), 3- (0), 4- (0), (1) ..
SNMP ASN.1
ASN.1, SNMP , SNMP ASN.1.
|
|
1. SNMP ASN.1 :
RFC1157- SNMP DEFINITIONS::= BEGIN
SNMP-Message::=
SEQUENCE {
version
INTEGER {
version-1 (0)
},
community
OCTET STRING,
SNMP-PDUs
ANY
}
2. SNMP (PDU), SNMP:
SNMP-PDUs ::=
CHOICE {
get-request
GetRequest-PDU,
get-next-request
GetNextRequest-PDU,
get-response
GetResponse-PDU,
set-request
SetRequest-PDU,
trap
Trap-PDU,
}
3. PDU . , GetRequest-PDU :
GetRequest-PDU::=
IMPLICIT SEQUENCE {
request-id
RequestID,
error-status
ErrorStatus,
error-index
Errorlndex,
variable-bindings
VarBindList
}
4. PDU-SNMP
PDU. , :
-- request/response information
RequestID::=
INTEGER
ErrorStatus::=
INTEGER {
noError(0),
tooBig(1),
noSuchName(2),
badValue(3),
readOnly(4)
genErr(5)
}
ErrorIndex::=
INTEGER
-- variable bindings
VarBind::=
SEQUENCE {
name
ObjectName,
value
ObjectSyntax
}
VarBindList::=
SEQUENCE OF
VarBind
4.1 The GetRequest-PDU
GetRequest-PDU::=
[0]
IMPLICIT SEQUENCE {
request-id
RequestID,
error-status -- always 0
ErrorStatus,
error-index -- always 0
ErrorIndex,
variable-bindings
VarBindList
}
4.2. The GetNextRequest-PDU
GetNextRequest-PDU::=
[1]
IMPLICIT SEQUENCE {
request-id
RequestID,
error-status -- always 0