IP address field type

  • Release version: Xanadu
  • Updated August 1, 2024
  • 2 minutes to read
  • Summarize
    Summarized using AI
    This content was generated using new OpenAI-powered functionality. Results are provided on an as is basis and are not guaranteed to be accurate or complete.

    Summary of IP address field type

    The IP Address field type in ServiceNow stores validated IPv4 and IPv6 addresses, supporting standard dot-decimal notation for IPv4 and standard hexadecimal notation for IPv6. It also supports IPv6 canonical notation for zero compression, following the guidelines of IETF RFC5952. This field type ensures that IP addresses are correctly formatted and stored, facilitating accurate data handling and validation.

    Show full answer Show less

    Key Features

    • Support for IPv4 and IPv6: Accepts both IPv4 and IPv6 addresses, including various valid notations such as expanded and canonical forms.
    • Storage format: IP addresses are stored as VARCHAR fields with a length of 40 characters, typically in standard dot-decimal or canonical notation regardless of input format.
    • Automatic normalization: IPv6 addresses input in non-canonical forms are converted and stored in canonical format by default, unless overridden by the ipdatacontrol attribute.
    • Data migration support: Enables migration from string-based IP address fields to the validated IP address field type, enforcing validation and formatting rules during migration.
    • ipdatacontrol attribute: Controls how IP addresses are validated and normalized during input and storage, with four possible settings:
      • canonical: Validates and converts IPs to canonical form; invalid IPs are rejected.
      • canonicalizewhenpossible (default): Valid IPs are canonicalized; invalid IPs are stored as entered.
      • expanded: Validates and stores IPs in expanded form for efficient range queries; invalid IPs are rejected.
      • none: No validation or normalization; used only as an emergency fallback, essentially treating the field as a plain string.

    Practical Implications for ServiceNow Customers

    Using the IP Address field type ensures that IP addresses entered into ServiceNow are consistently validated and stored in a standardized format, improving data quality and reliability. This is critical for configurations, asset management, or any operational processes relying on accurate IP information. The ipdatacontrol attribute provides flexibility in how strict the validation and normalization are, allowing customers to tailor behavior to their specific needs, including during data migration.

    The IP Address (Validated IPV4, IPV6) [ip_addr] field type stores valid IPv4 and IPv6 addresses.

    Support for IPv4 and IPv6

    Standard dot-decimal notation is supported for IPv4 and standard hex notation is supported for IPv6. For IPv6, you can use canonical notation to compress zeros. Familiarize yourself with IETF RFC5952 for examples and guidelines on text representation for IPv6 addresses.

    The following are examples of valid IP addresses:
    • A standard IPv4 address in dot-decimal notation:

      10.34.51.20

    • An expanded IPv4 address would be zero padded:

      10.1.10.210 would be represented as 010.001.010.210

    • An IPv6 address in fully expanded notation:

      1507:f0d0:1002:0051:0000:0000:0000:0004

    • The same IPv6 address above using the canonical notation:

      1507:f0d0:1002:51::4

    How IP addresses are stored in the database

    The IP address ip_addr field is a Variable Character (VARCHAR) field with a length of 40 characters. The values are normally stored in standard (dot-decimal or canonical) notation for both IPv4 and IPv6 addresses regardless of the notation you use when you input values in the field.

    For example, if you enter an IPv6 address in a non-canonical format (expanded or any other valid formats per IETF RFC5952), by default, the system will store it in canonical format unless an IP Data Control attribute value is defined on that column with a different address format. See the [ip_data_control] glide attribute section in Altering tables and fields using dictionary attributes for more details.

    Support for data migration

    Provide support in migrating IP addresses stored as string fields to the new IP Address(Validated IPV4,IPV6) type. The new IP address type accepts only a valid IP address. The existing data is formatted according to the ip_data_control attribute. The ip_data_control attriute can be set to exactly one of the following four values:
    • canonical: Incoming IP addresses are validated and canonicalized before they are entered in the database. Invalid IP addresses are rejected.
    • canonicalize_when_possible: Valid IP addresses are canonicalized before before being entered in to the database. Invalid IP addresses are also entered in to the database without being changed.
      Note:
      canonicalize_when_possible is the default value for the ip_data_control attribute, unless it's otherwise specified.
    • expanded: The IP addresses are validated and stored in an expanded form to support efficient database range queries. Invalid IP addresses are rejected.
    • none: No validation or normalization is performed in this value type. It is used only as an emergency mechanism as it essentially reverts this type to a plain string field.