rfc-5388

Information Model and XML Data Model for Traceroute Measurements

S. Niccolini, S. Tartarelli, J. Quittek, T. Dietz, M. Swany
date2008-12 streamIETF areaops wgippm statusPROPOSED STANDARD pages75 canonicalhttps://www.rfc-editor.org/rfc/rfc5388 doi10.17487/RFC5388
This document describes a standard way to store the configuration and the results of traceroute measurements. This document first describes the terminology used in this document and the traceroute tool itself; afterwards, the common information model is defined, dividing the information elements into two semantically separated groups (configuration elements and results elements). Moreover, an additional element is defined to relate configuration elements and results elements by means of a common unique identifier. On the basis of the information model, a data model based on XML is defined to store the results of traceroute measurements. [STANDARDS-TRACK]

Extracted elements (28)

design-rationale §5.2.1

The schema separates 'RequestMetadata' (parameters requested) from 'MeasurementMetadata' (parameters actually used) to capture discrepancies between what was requested and what an implementation applied. Both share a single '_Metadata' XML type; elements absent in a request are represented as empty elements meaning 'use default'.

measurement

design-rationale §6

The XML schema uses an extensible template approach modeled after IPFIX, where configuration metadata is referenced by result elements via the 'TestName' unique identifier (per RFC 4560). This design was coordinated with Open Grid Forum to ensure a one-to-one transformation between the two schemas.

measurement

design-rationale §3

UDP datagrams are recommended as traceroute probe transport rather than ICMP Echoes because many routers do not return ICMP TIME_EXCEEDED in response to an ICMP Echo, making ICMP-based implementations unreliable for hop discovery.

measurement, udp, ip

design-rationale §6

XML was chosen over binary formats (DISMAN-TRACEROUTE-MIB SMIv2 and IPFIX) because it supports clean data structuring, is human-readable, and benefits from extensive tooling. Expected data volumes for traceroute measurements are not extremely high, making XML's resource overhead an acceptable tradeoff.

measurement

interoperability-note §5.2.2.14

CtlMaxFailures is included solely for full compatibility with DISMAN-TRACEROUTE-MIB (RFC 4560); the document explicitly notes that no known traceroute implementation currently supports this parameter.

measurement

interoperability-note §6

The traceroute XML schema is compatible with the Open Grid Forum (OGF) traceroute schema; a simple one-to-one transformation between the two exists because both were designed to minimize unnecessary redundancy.

measurement

normative-requirement §7 SHOULD

An XML declaration SHOULD be present in conforming documents, specifying the version and character encoding (UTF-8). Multi-line strings are subject to RFC 5198.

measurement

normative-requirement §7 MUST

Elements of type '_CtlType' may contain elements from unknown namespaces; those elements MUST be ignored if their namespace is unknown to the processor, enabling forward-compatible extensibility.

measurement

normative-requirement §8.1 SHOULD

Measurement methodologies SHOULD include appropriate techniques to reduce the probability that measurement traffic can be distinguished from normal traffic, preventing differential router treatment and attacker injection of artificial traffic.

measurement, security

normative-requirement §8.1 MUST

Measurement parameters MUST be carefully selected so that measurements inject trivial amounts of additional traffic into networks; injecting too much can skew results and in extreme cases cause congestion and denial of service.

measurement, security

normative-requirement §8.2 RECOMMENDED

Transmission of traceroute measurement information over a network is RECOMMENDED to use appropriate protection mechanisms for privacy, integrity, and authenticity. Stored data is RECOMMENDED to be protected with secure authentication and authorization.

measurement, security, privacy

normative-requirement §7 MUST

Values for XML elements using the 'dateTime' schema type MUST be restricted to values defined in RFC 3339.

measurement

normative-requirement §7 MUST

XML processing instructions and comments in documents conforming to the traceroute schema MUST be ignored by processors.

measurement

privacy-consideration §8.2

Traceroute measurement data may contain sensitive information about network paths, routing states, IP addresses, and round-trip times that network operators may want to protect for business or security reasons. Both transmission and storage of this data require access controls.

measurement, privacy, security

protocol-element §5.2.3

Each 'probe' sub-element within a hop contains: HopAddr (IP address, not DNS), optional HopName (DNS name), 0–255 optional MPLSLabelStackEntry elements, ProbeRoundTripTime, ResponseStatus, and Time (timestamp of response receipt at the interface).

measurement, mpls

protocol-element §5.2.3.7

'MPLSLabelStackEntry' reports one MPLS label stack entry as a 32-bit unsignedInt encoding the MPLS label, Exp field, S flag, and MPLS TTL as defined in RFC 3032. Multiple entries must appear in top-to-bottom stack order.

mpls, measurement

protocol-element §5.2.5

OSName, OSVersion, ToolName, and ToolVersion elements are required in 'MeasurementMetadata' to enable cross-implementation result comparison. Because standard IPPM metrics do not apply to traceroute, OS and tool identification are the only means of normalizing results.

measurement

protocol-element §5.2.3.8

'ProbeRoundTripTime' is a choice type: either 'roundTripTime' (unsignedInt in milliseconds, truncated — values below 1 ms encoded as 0) or 'roundTripTimeNotAvailable' (empty element indicating timeout or failed transmission).

measurement

protocol-element §5.2.3

The 'MeasurementResult' element records per-run traceroute results and contains: TestName, ResultsStartDateAndTime, ResultsIpTgtAddrType, ResultsIpTgtAddr, ProbeResults, and ResultsEndDateAndTime. Each 'ProbeResults' holds 1–255 'hop' elements, each containing 1–10 'probe' elements.

measurement

protocol-element §5.2.1

The 'RequestMetadata' element specifies configuration parameters requested for a traceroute measurement, including CtlTargetAddress, CtlMaxTtl, CtlProbesPerHop, CtlTimeOut, CtlPort, CtlType, and other optional fields. When omitted, all requested parameters are assumed to have been used as recorded in 'MeasurementMetadata'.

measurement

protocol-element §5.2.1

The root 'traceRoute' XML element contains an optional 'RequestMetadata' element and 0 to 2,147,483,647 'Measurement' elements. Each 'Measurement' holds an optional 'MeasurementMetadata' and 0 to 2,147,483,647 'MeasurementResult' elements, enabling a single file to store one or many traceroute measurements.

measurement

protocol-element §5.2.4.1

The 'TestName' element (string255) correlates configuration and results elements and is required in both metadata and result elements. It is not necessarily globally unique and is chosen in accordance with RFC 4560.

measurement

registry §9

Two IANA URN registrations are made per RFC 3688: (1) namespace URI 'urn:ietf:params:xml:ns:traceroute-1.0' for the IPPM traceroute measurement namespace, and (2) schema URI 'urn:ietf:params:xml:schema:traceroute-1.0' pointing to the XML schema defined in Section 7.

registry, measurement

security-consideration §8.1

Traceroute measurements inject probe traffic into the network and can be abused for denial-of-service attacks disguised as legitimate measurement activity. Authentication techniques such as digital signatures may guard against injected artificial traffic attacks.

measurement, security

wire-format §7

CtlProbeDataSize is encoded as unsignedShort with maximum 65507 (65535 minus 20-byte IPv4 header minus 8-byte UDP header, default 0). CtlTimeOut is unsignedByte constrained 1–60 seconds (default 3). CtlPort is unsignedShort min 1 (default 33434). CtlMaxTtl and CtlInitialTtl use u8nonzero (1–255, defaults 30 and 1 respectively).

measurement, udp

wire-format §7

The '_CtlType' complex type is a choice of TCP, UDP, or ICMP (each empty elements) or xs:any with namespace '##other', explicitly allowing probe-type extensions from foreign namespaces.

measurement

wire-format §7

The 'operationResponseStatus' simple type enumerates eleven values: responseReceived, unknown, internalError, requestTimedOut, unknownDestinationAddress, noRouteToTarget, interfaceInactiveToTarget, arpFailure, maxConcurrentLimitReached, unableToResolveDnsName, invalidHostAddress.

measurement

wire-format §7

The XML schema is assigned namespace 'urn:ietf:params:xml:ns:traceroute-1.0' and uses UTF-8 encoding. The 'inetAddress' complex type is a choice among: inetAddressUnknown (empty), inetAddressIpv4 (dotted-quad), inetAddressIpv6 (colon-hex), inetAddressASNumber (32-bit asNumber + mappingType enumeration), or inetAddressDns (string, max 256 chars).

measurement, ip