1INET-ADDRESS-MIB DEFINITIONS ::= BEGIN 2 3IMPORTS 4 MODULE-IDENTITY, mib-2, Unsigned32 FROM SNMPv2-SMI 5 TEXTUAL-CONVENTION FROM SNMPv2-TC; 6 7inetAddressMIB MODULE-IDENTITY 8 LAST-UPDATED "200502040000Z" 9 ORGANIZATION 10 "IETF Operations and Management Area" 11 CONTACT-INFO 12 "Juergen Schoenwaelder (Editor) 13 International University Bremen 14 P.O. Box 750 561 15 28725 Bremen, Germany 16 17 Phone: +49 421 200-3587 18 EMail: j.schoenwaelder@iu-bremen.de 19 20 Send comments to <ietfmibs@ops.ietf.org>." 21 DESCRIPTION 22 "This MIB module defines textual conventions for 23 representing Internet addresses. An Internet 24 address can be an IPv4 address, an IPv6 address, 25 or a DNS domain name. This module also defines 26 textual conventions for Internet port numbers, 27 autonomous system numbers, and the length of an 28 Internet address prefix. 29 30 Copyright (C) The Internet Society (2005). This version 31 of this MIB module is part of RFC 4001, see the RFC 32 itself for full legal notices." 33 REVISION "200502040000Z" 34 DESCRIPTION 35 "Third version, published as RFC 4001. This revision 36 introduces the InetZoneIndex, InetScopeType, and 37 InetVersion textual conventions." 38 REVISION "200205090000Z" 39 DESCRIPTION 40 "Second version, published as RFC 3291. This 41 revision contains several clarifications and 42 introduces several new textual conventions: 43 InetAddressPrefixLength, InetPortNumber, 44 InetAutonomousSystemNumber, InetAddressIPv4z, 45 and InetAddressIPv6z." 46 REVISION "200006080000Z" 47 48 49 50 DESCRIPTION 51 "Initial version, published as RFC 2851." 52 ::= { mib-2 76 } 53 54InetAddressType ::= TEXTUAL-CONVENTION 55 STATUS current 56 DESCRIPTION 57 "A value that represents a type of Internet address. 58 59 unknown(0) An unknown address type. This value MUST 60 be used if the value of the corresponding 61 InetAddress object is a zero-length string. 62 It may also be used to indicate an IP address 63 that is not in one of the formats defined 64 below. 65 66 ipv4(1) An IPv4 address as defined by the 67 InetAddressIPv4 textual convention. 68 69 ipv6(2) An IPv6 address as defined by the 70 InetAddressIPv6 textual convention. 71 72 ipv4z(3) A non-global IPv4 address including a zone 73 index as defined by the InetAddressIPv4z 74 textual convention. 75 76 ipv6z(4) A non-global IPv6 address including a zone 77 index as defined by the InetAddressIPv6z 78 textual convention. 79 80 dns(16) A DNS domain name as defined by the 81 InetAddressDNS textual convention. 82 83 Each definition of a concrete InetAddressType value must be 84 accompanied by a definition of a textual convention for use 85 with that InetAddressType. 86 87 To support future extensions, the InetAddressType textual 88 convention SHOULD NOT be sub-typed in object type definitions. 89 It MAY be sub-typed in compliance statements in order to 90 require only a subset of these address types for a compliant 91 implementation. 92 93 Implementations must ensure that InetAddressType objects 94 and any dependent objects (e.g., InetAddress objects) are 95 consistent. An inconsistentValue error must be generated 96 if an attempt to change an InetAddressType object would, 97 for example, lead to an undefined InetAddress value. In 98 99 100 101 particular, InetAddressType/InetAddress pairs must be 102 changed together if the address type changes (e.g., from 103 ipv6(2) to ipv4(1))." 104 SYNTAX INTEGER { 105 unknown(0), 106 ipv4(1), 107 ipv6(2), 108 ipv4z(3), 109 ipv6z(4), 110 dns(16) 111 } 112 113InetAddress ::= TEXTUAL-CONVENTION 114 STATUS current 115 DESCRIPTION 116 "Denotes a generic Internet address. 117 118 An InetAddress value is always interpreted within the context 119 of an InetAddressType value. Every usage of the InetAddress 120 textual convention is required to specify the InetAddressType 121 object that provides the context. It is suggested that the 122 InetAddressType object be logically registered before the 123 object(s) that use the InetAddress textual convention, if 124 they appear in the same logical row. 125 126 The value of an InetAddress object must always be 127 consistent with the value of the associated InetAddressType 128 object. Attempts to set an InetAddress object to a value 129 inconsistent with the associated InetAddressType 130 must fail with an inconsistentValue error. 131 132 When this textual convention is used as the syntax of an 133 index object, there may be issues with the limit of 128 134 sub-identifiers specified in SMIv2, STD 58. In this case, 135 the object definition MUST include a 'SIZE' clause to 136 limit the number of potential instance sub-identifiers; 137 otherwise the applicable constraints MUST be stated in 138 the appropriate conceptual row DESCRIPTION clauses, or 139 in the surrounding documentation if there is no single 140 DESCRIPTION clause that is appropriate." 141 SYNTAX OCTET STRING (SIZE (0..255)) 142 143InetAddressIPv4 ::= TEXTUAL-CONVENTION 144 DISPLAY-HINT "1d.1d.1d.1d" 145 STATUS current 146 DESCRIPTION 147 "Represents an IPv4 network address: 148 149 150 151 152 Octets Contents Encoding 153 1-4 IPv4 address network-byte order 154 155 The corresponding InetAddressType value is ipv4(1). 156 157 This textual convention SHOULD NOT be used directly in object 158 definitions, as it restricts addresses to a specific format. 159 However, if it is used, it MAY be used either on its own or in 160 conjunction with InetAddressType, as a pair." 161 SYNTAX OCTET STRING (SIZE (4)) 162 163InetAddressIPv6 ::= TEXTUAL-CONVENTION 164 DISPLAY-HINT "2x:2x:2x:2x:2x:2x:2x:2x" 165 STATUS current 166 DESCRIPTION 167 "Represents an IPv6 network address: 168 169 Octets Contents Encoding 170 1-16 IPv6 address network-byte order 171 172 The corresponding InetAddressType value is ipv6(2). 173 174 This textual convention SHOULD NOT be used directly in object 175 definitions, as it restricts addresses to a specific format. 176 However, if it is used, it MAY be used either on its own or in 177 conjunction with InetAddressType, as a pair." 178 SYNTAX OCTET STRING (SIZE (16)) 179 180InetAddressIPv4z ::= TEXTUAL-CONVENTION 181 DISPLAY-HINT "1d.1d.1d.1d%4d" 182 STATUS current 183 DESCRIPTION 184 "Represents a non-global IPv4 network address, together 185 with its zone index: 186 187 Octets Contents Encoding 188 1-4 IPv4 address network-byte order 189 5-8 zone index network-byte order 190 191 The corresponding InetAddressType value is ipv4z(3). 192 193 The zone index (bytes 5-8) is used to disambiguate identical 194 address values on nodes that have interfaces attached to 195 different zones of the same scope. The zone index may contain 196 the special value 0, which refers to the default zone for each 197 scope. 198 199 This textual convention SHOULD NOT be used directly in object 200 201 202 203 definitions, as it restricts addresses to a specific format. 204 However, if it is used, it MAY be used either on its own or in 205 conjunction with InetAddressType, as a pair." 206 SYNTAX OCTET STRING (SIZE (8)) 207 208InetAddressIPv6z ::= TEXTUAL-CONVENTION 209 DISPLAY-HINT "2x:2x:2x:2x:2x:2x:2x:2x%4d" 210 STATUS current 211 DESCRIPTION 212 "Represents a non-global IPv6 network address, together 213 with its zone index: 214 215 Octets Contents Encoding 216 1-16 IPv6 address network-byte order 217 17-20 zone index network-byte order 218 219 The corresponding InetAddressType value is ipv6z(4). 220 221 The zone index (bytes 17-20) is used to disambiguate 222 identical address values on nodes that have interfaces 223 attached to different zones of the same scope. The zone index 224 may contain the special value 0, which refers to the default 225 zone for each scope. 226 227 This textual convention SHOULD NOT be used directly in object 228 definitions, as it restricts addresses to a specific format. 229 However, if it is used, it MAY be used either on its own or in 230 conjunction with InetAddressType, as a pair." 231 SYNTAX OCTET STRING (SIZE (20)) 232 233InetAddressDNS ::= TEXTUAL-CONVENTION 234 DISPLAY-HINT "255a" 235 STATUS current 236 DESCRIPTION 237 "Represents a DNS domain name. The name SHOULD be fully 238 qualified whenever possible. 239 240 The corresponding InetAddressType is dns(16). 241 242 The DESCRIPTION clause of InetAddress objects that may have 243 InetAddressDNS values MUST fully describe how (and when) 244 these names are to be resolved to IP addresses. 245 246 The resolution of an InetAddressDNS value may require to 247 query multiple DNS records (e.g., A for IPv4 and AAAA for 248 IPv6). The order of the resolution process and which DNS 249 record takes precedence depends on the configuration of the 250 resolver. 251 252 253 254 This textual convention SHOULD NOT be used directly in object 255 definitions, as it restricts addresses to a specific format. 256 However, if it is used, it MAY be used either on its own or in 257 conjunction with InetAddressType, as a pair." 258 SYNTAX OCTET STRING (SIZE (1..255)) 259 260InetAddressPrefixLength ::= TEXTUAL-CONVENTION 261 DISPLAY-HINT "d" 262 STATUS current 263 DESCRIPTION 264 "Denotes the length of a generic Internet network address 265 prefix. A value of n corresponds to an IP address mask 266 that has n contiguous 1-bits from the most significant 267 bit (MSB), with all other bits set to 0. 268 269 An InetAddressPrefixLength value is always interpreted within 270 the context of an InetAddressType value. Every usage of the 271 InetAddressPrefixLength textual convention is required to 272 specify the InetAddressType object that provides the 273 context. It is suggested that the InetAddressType object be 274 logically registered before the object(s) that use the 275 InetAddressPrefixLength textual convention, if they appear 276 in the same logical row. 277 278 InetAddressPrefixLength values larger than 279 the maximum length of an IP address for a specific 280 InetAddressType are treated as the maximum significant 281 value applicable for the InetAddressType. The maximum 282 significant value is 32 for the InetAddressType 283 'ipv4(1)' and 'ipv4z(3)' and 128 for the InetAddressType 284 'ipv6(2)' and 'ipv6z(4)'. The maximum significant value 285 for the InetAddressType 'dns(16)' is 0. 286 287 The value zero is object-specific and must be defined as 288 part of the description of any object that uses this 289 syntax. Examples of the usage of zero might include 290 situations where the Internet network address prefix 291 is unknown or does not apply. 292 293 The upper bound of the prefix length has been chosen to 294 be consistent with the maximum size of an InetAddress." 295 SYNTAX Unsigned32 (0..2040) 296 297InetPortNumber ::= TEXTUAL-CONVENTION 298 DISPLAY-HINT "d" 299 STATUS current 300 DESCRIPTION 301 "Represents a 16 bit port number of an Internet transport 302 303 304 305 layer protocol. Port numbers are assigned by IANA. A 306 current list of all assignments is available from 307 <http://www.iana.org/>. 308 309 The value zero is object-specific and must be defined as 310 part of the description of any object that uses this 311 syntax. Examples of the usage of zero might include 312 situations where a port number is unknown, or when the 313 value zero is used as a wildcard in a filter." 314 REFERENCE "STD 6 (RFC 768), STD 7 (RFC 793) and RFC 2960" 315 SYNTAX Unsigned32 (0..65535) 316 317InetAutonomousSystemNumber ::= TEXTUAL-CONVENTION 318 DISPLAY-HINT "d" 319 STATUS current 320 DESCRIPTION 321 "Represents an autonomous system number that identifies an 322 Autonomous System (AS). An AS is a set of routers under a 323 single technical administration, using an interior gateway 324 protocol and common metrics to route packets within the AS, 325 and using an exterior gateway protocol to route packets to 326 other ASes'. IANA maintains the AS number space and has 327 delegated large parts to the regional registries. 328 329 Autonomous system numbers are currently limited to 16 bits 330 (0..65535). There is, however, work in progress to enlarge the 331 autonomous system number space to 32 bits. Therefore, this 332 textual convention uses an Unsigned32 value without a 333 range restriction in order to support a larger autonomous 334 system number space." 335 REFERENCE "RFC 1771, RFC 1930" 336 SYNTAX Unsigned32 337 338InetScopeType ::= TEXTUAL-CONVENTION 339 STATUS current 340 DESCRIPTION 341 "Represents a scope type. This textual convention can be used 342 in cases where a MIB has to represent different scope types 343 and there is no context information, such as an InetAddress 344 object, that implicitly defines the scope type. 345 346 Note that not all possible values have been assigned yet, but 347 they may be assigned in future revisions of this specification. 348 Applications should therefore be able to deal with values 349 not yet assigned." 350 REFERENCE "RFC 3513" 351 SYNTAX INTEGER { 352 -- reserved(0), 353 354 355 356 interfaceLocal(1), 357 linkLocal(2), 358 subnetLocal(3), 359 adminLocal(4), 360 siteLocal(5), -- site-local unicast addresses 361 -- have been deprecated by RFC 3879 362 -- unassigned(6), 363 -- unassigned(7), 364 organizationLocal(8), 365 -- unassigned(9), 366 -- unassigned(10), 367 -- unassigned(11), 368 -- unassigned(12), 369 -- unassigned(13), 370 global(14) 371 -- reserved(15) 372 } 373 374InetZoneIndex ::= TEXTUAL-CONVENTION 375 DISPLAY-HINT "d" 376 STATUS current 377 DESCRIPTION 378 "A zone index identifies an instance of a zone of a 379 specific scope. 380 381 The zone index MUST disambiguate identical address 382 values. For link-local addresses, the zone index will 383 typically be the interface index (ifIndex as defined in the 384 IF-MIB) of the interface on which the address is configured. 385 386 The zone index may contain the special value 0, which refers 387 to the default zone. The default zone may be used in cases 388 where the valid zone index is not known (e.g., when a 389 management application has to write a link-local IPv6 390 address without knowing the interface index value). The 391 default zone SHOULD NOT be used as an easy way out in 392 cases where the zone index for a non-global IPv6 address 393 is known." 394 REFERENCE "RFC4007" 395 SYNTAX Unsigned32 396 397InetVersion ::= TEXTUAL-CONVENTION 398 STATUS current 399 DESCRIPTION 400 "A value representing a version of the IP protocol. 401 402 unknown(0) An unknown or unspecified version of the IP 403 protocol. 404 405 406 407 ipv4(1) The IPv4 protocol as defined in RFC 791 (STD 5). 408 409 ipv6(2) The IPv6 protocol as defined in RFC 2460. 410 411 Note that this textual convention SHOULD NOT be used to 412 distinguish different address types associated with IP 413 protocols. The InetAddressType has been designed for this 414 purpose." 415 REFERENCE "RFC 791, RFC 2460" 416 SYNTAX INTEGER { 417 unknown(0), 418 ipv4(1), 419 ipv6(2) 420 } 421END 422