Network Working Group S. Niccolini Request for Comments: 5388 S. Tartarelli Category: Standards Track J. Quittek T. Dietz NEC M. Swany UDel December 2008
Network Working Group S. Niccolini Request for Comments: 5388 S. Tartarelli Category: Standards Track J. Quittek T. Dietz NEC M. Swany UDel December 2008
Information Model and XML Data Model for Traceroute Measurements
跟踪路由测量的信息模型和XML数据模型
Status of This Memo
关于下段备忘
This document specifies an Internet standards track protocol for the Internet community, and requests discussion and suggestions for improvements. Please refer to the current edition of the "Internet Official Protocol Standards" (STD 1) for the standardization state and status of this protocol. Distribution of this memo is unlimited.
本文件规定了互联网社区的互联网标准跟踪协议,并要求进行讨论和提出改进建议。有关本协议的标准化状态和状态,请参考当前版本的“互联网官方协议标准”(STD 1)。本备忘录的分发不受限制。
Copyright Notice
版权公告
Copyright (c) 2008 IETF Trust and the persons identified as the document authors. All rights reserved.
版权所有(c)2008 IETF信托基金和确定为文件作者的人员。版权所有。
This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (http://trustee.ietf.org/ license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document.
本文件受BCP 78和IETF信托有关IETF文件的法律规定的约束(http://trustee.ietf.org/ 许可证信息)在本文件发布之日生效。请仔细阅读这些文件,因为它们描述了您对本文件的权利和限制。
Abstract
摘要
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.
本文档描述了存储跟踪路由测量的配置和结果的标准方法。本文档首先描述了本文档中使用的术语以及traceroute工具本身;然后,定义公共信息模型,将信息元素划分为两个语义上分离的组(配置元素和结果元素)。此外,还定义了一个附加元素,通过公共唯一标识符将配置元素和结果元素关联起来。在信息模型的基础上,定义了一个基于XML的数据模型来存储跟踪路由测量结果。
Table of Contents
目录
1. Introduction ....................................................3 2. Terminology Used in This Document ...............................3 3. The Traceroute Tool and Its Operations ..........................4 4. Results of Traceroute Measurements ..............................5 5. Information Model for Traceroute Measurements ...................5 5.1. Data Types .................................................6 5.2. Information Elements .......................................7 5.2.1. Relationships between the Information Elements ......7 5.2.2. Configuration Information Elements .................12 5.2.3. Results Information Elements .......................17 5.2.4. Information Element Correlating Configuration and Results ..........................21 5.2.5. Information Elements to Compare Traceroute Measurement Results ................................22 6. Data Model for Storing Traceroute Measurements .................23 7. XML Schema for Traceroute Measurements .........................24 8. Security Considerations ........................................38 8.1. Conducting Traceroute Measurements ........................39 8.2. Securing Traceroute Measurement Information ...............39 9. IANA Considerations ............................................40 10. References ....................................................40 10.1. Normative References .....................................40 10.2. Informative References ...................................41 Appendix A. Traceroute Default Configuration Parameters ...........43 A.1. Alternative Traceroute Implementations ....................46 Appendix B. Known Problems with Traceroute ........................47 B.1. Compatibility between Traceroute Measurement Results and IPPM Metrics ..........................................47 Appendix C. Differences to DISMAN-TRACEROUTE-MIB ..................47 C.1. Scope .....................................................48 C.2. Naming ....................................................49 C.3. Semantics .................................................49 C.4. Additional Information Elements ...........................50 Appendix D. Traceroute Examples with XML Representation ...........50
1. Introduction ....................................................3 2. Terminology Used in This Document ...............................3 3. The Traceroute Tool and Its Operations ..........................4 4. Results of Traceroute Measurements ..............................5 5. Information Model for Traceroute Measurements ...................5 5.1. Data Types .................................................6 5.2. Information Elements .......................................7 5.2.1. Relationships between the Information Elements ......7 5.2.2. Configuration Information Elements .................12 5.2.3. Results Information Elements .......................17 5.2.4. Information Element Correlating Configuration and Results ..........................21 5.2.5. Information Elements to Compare Traceroute Measurement Results ................................22 6. Data Model for Storing Traceroute Measurements .................23 7. XML Schema for Traceroute Measurements .........................24 8. Security Considerations ........................................38 8.1. Conducting Traceroute Measurements ........................39 8.2. Securing Traceroute Measurement Information ...............39 9. IANA Considerations ............................................40 10. References ....................................................40 10.1. Normative References .....................................40 10.2. Informative References ...................................41 Appendix A. Traceroute Default Configuration Parameters ...........43 A.1. Alternative Traceroute Implementations ....................46 Appendix B. Known Problems with Traceroute ........................47 B.1. Compatibility between Traceroute Measurement Results and IPPM Metrics ..........................................47 Appendix C. Differences to DISMAN-TRACEROUTE-MIB ..................47 C.1. Scope .....................................................48 C.2. Naming ....................................................49 C.3. Semantics .................................................49 C.4. Additional Information Elements ...........................50 Appendix D. Traceroute Examples with XML Representation ...........50
Traceroutes are used by lots of measurement efforts, either as independent measurements or as a means of getting path information to support other measurement efforts. That is why there is the need to standardize the way the configuration and the results of traceroute measurements are stored. The standard metrics defined by the IPPM group in matters of delay, connectivity, and losses do not apply to the metrics returned by the traceroute tool. Therefore, in order to compare results of traceroute measurements, the only possibility is to add to the stored results a specification of the operating system as well as the name and version for the traceroute tool used. This document, in order to store results of traceroute measurements and allow comparison of them, defines a standard way to store them using an XML schema.
跟踪路由被许多测量工作所使用,无论是作为独立测量还是作为获取路径信息以支持其他测量工作的手段。这就是为什么需要标准化配置和跟踪路由测量结果的存储方式。IPPM集团在延迟、连通性和损失方面定义的标准度量不适用于traceroute工具返回的度量。因此,为了比较跟踪路由测量的结果,唯一的可能是在存储的结果中添加操作系统规范以及所用跟踪路由工具的名称和版本。为了存储跟踪路由测量的结果并允许对其进行比较,本文档定义了使用XML模式存储它们的标准方法。
The document is organized as follows: Section 2 defines the terminology used in this document; Section 3 describes the traceroute tool; Section 4 describes the results of a traceroute measurement as displayed to the screen from which the traceroute tool was launched; Section 5 and Section 6, respectively, describe the information model and data model for storing configuration and results of the traceroute measurements; Section 7 contains the XML schema to be used as a template for storing and/or exchanging traceroute measurement information; the document ends with security considerations and IANA considerations in Section 8 and Section 9 respectively.
本文件组织如下:第2节定义了本文件中使用的术语;第3节描述了traceroute工具;第4节描述了跟踪路线测量的结果,显示在启动跟踪路线工具的屏幕上;第5节和第6节分别描述了用于存储跟踪路由测量配置和结果的信息模型和数据模型;第7节包含XML模式,用作存储和/或交换跟踪路由测量信息的模板;本文件在第8节和第9节分别以安全考虑和IANA考虑作为结尾。
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document are to be interpreted as described in [RFC2119].
本文件中的关键词“必须”、“不得”、“必需”、“应”、“不应”、“应”、“不应”、“建议”、“可”和“可选”应按照[RFC2119]中所述进行解释。
The terminology used in this document is defined as follows:
本文件中使用的术语定义如下:
o traceroute tool: a software tool for network diagnostic that behaves as described in Section 3;
o traceroute工具:用于网络诊断的软件工具,其行为如第3节所述;
o traceroute measurement: an instance of the traceroute tool launched, with specific configuration parameters (traceroute measurement configuration parameters), from a specific host (initiator of the traceroute measurement) giving as output specific traceroute measurement results;
o traceroute测量:从特定主机(traceroute测量的发起人)启动的traceroute工具实例,带有特定的配置参数(traceroute测量配置参数),给出特定的traceroute测量结果作为输出;
o traceroute probe: one of many IP packets sent out by the traceroute tool during a traceroute measurement;
o 跟踪路由探测:在跟踪路由测量期间,跟踪路由工具发送的多个IP数据包之一;
o traceroute measurement configuration parameters: the configuration parameters of a traceroute measurement;
o 跟踪路由测量配置参数:跟踪路由测量的配置参数;
o traceroute measurement results: the results of a traceroute measurement;
o 示踪路线测量结果:示踪路线测量的结果;
o traceroute measurement information: both the results and the configuration parameters of a traceroute measurement;
o traceroute measurement information: both the results and the configuration parameters of a traceroute measurement;translate error, please retry
o traceroute measurement path: a sequence of hosts transited in order by traceroute probes during a traceroute measurement.
o 跟踪路由测量路径:在跟踪路由测量期间,跟踪路由探针按顺序传输的主机序列。
Traceroute is a network diagnostic tool used to determine the hop-by-hop path from a source to a destination and the Round Trip Time (RTT) from the source to each hop. Traceroute can be therefore used to discover some information (hop counts, delays, etc.) about the path between the initiator of the traceroute measurement and other hosts.
Traceroute是一种网络诊断工具,用于确定从源到目标的逐跳路径以及从源到每个跳的往返时间(RTT)。因此,跟踪路由可用于发现有关跟踪路由测量的发起方和其他主机之间的路径的一些信息(跳数、延迟等)。
Typically, the traceroute tool attempts to discover the path to a destination by sending UDP probes with specific time-to-live (TTL) values in the IP packet header and trying to elicit an ICMP TIME_EXCEEDED response from each gateway along the path to some host.
通常,traceroute工具通过在IP数据包头中发送具有特定生存时间(TTL)值的UDP探测,并尝试从每个网关沿到某个主机的路径获取ICMP time_EXCENDED响应,来尝试发现到目标的路径。
In more detail, a first set of probes with TTL equal to 1 is sent by the traceroute tool from the host initiating the traceroute measurement (some tool implementations allow setting the initial TTL to a value equal to "n" different from 1, so that the first "n-1" hops are skipped and the first hop that will be traced is the "n-th" in the path). Upon receiving a probe, the first hop host decreases the TTL value (by one or more). By observing a TTL value equal to zero, the host rejects the probe and typically returns an ICMP message with a TIME_EXCEEDED value. The traceroute tool can therefore derive the IP address of the first hop from the header of the ICMP message and evaluate the RTT between the host initiating the traceroute measurement and the first hop. The next hops are discovered following the same procedure, taking care to increase at each step the TTL value of the probes by one. The TTL value is increased until either an ICMP PORT_UNREACHABLE message is received, meaning that the destination host has been reached, or the maximum configured number of hops has been hit.
更详细地说,跟踪路由工具从发起跟踪路由测量的主机发送TTL等于1的第一组探测(一些工具实现允许将初始TTL设置为不同于1的等于“n”的值,以便跳过第一个“n-1”跳,并且将跟踪的第一个跳是路径中的“第n个”)。在接收到探测后,第一跳主机降低TTL值(一个或多个)。通过观察等于零的TTL值,主机拒绝探测,并通常返回一条超过时间值的ICMP消息。因此,跟踪路由工具可以从ICMP消息头中导出第一跳的IP地址,并评估发起跟踪路由测量的主机与第一跳之间的RTT。按照相同的程序发现下一个跃点,注意在每一步将探针的TTL值增加1。TTL值增加,直到收到ICMP端口不可访问消息(表示已到达目标主机)或达到最大配置跳数。
Some implementations use ICMP Echoes, instead of UDP datagrams. However, many routers do not return ICMP messages about ICMP messages, i.e., no ICMP TIME_EXCEEDED is returned for an ICMP Echo.
一些实现使用ICMP回显,而不是UDP数据报。然而,许多路由器不返回关于ICMP消息的ICMP消息,即,对于ICMP回送,不返回超过ICMP时间的消息。
Therefore, this document recommends to base implementations on UDP datagrams. Considerations on TCP-based implementations of the traceroute tool are reported in Appendix A.1.
因此,本文档建议基于UDP数据报实现。关于基于TCP的跟踪路由工具实现的注意事项,见附录A.1。
The following list reports the information fields provided as results by all traceroute tool implementations considered. The order in which they are reported here is not relevant and changes in different implementations. For each hop, the following information is reported:
下面的列表报告了所有考虑的跟踪路由工具实现作为结果提供的信息字段。此处报告它们的顺序与不同实现中的更改无关。对于每个跃点,报告以下信息:
o the hop index;
o 跳跃指数;
o the host symbolic address, provided that at least one of the probes received a response, the symbolic address could be resolved at the corresponding host, and the option to display only numerical addresses was not set;
o 主机符号地址,前提是至少一个探测器收到响应,符号地址可以在相应的主机上解析,并且未设置仅显示数字地址的选项;
o the host IP address, provided that at least one of the probes received a response;
o 主机IP地址,前提是至少一个探测器接收到响应;
o the RTT for each response to a probe.
o 每个探测器响应的RTT。
Depending on the traceroute tool implementation, additional information might be displayed in the output (for instance, MPLS-related information).
根据跟踪路由工具的实现,输出中可能会显示其他信息(例如,与MPLS相关的信息)。
It might happen that some probes do not receive a response within the configured timeout (for instance, if the probe is filtered out by a firewall). In this case, an "*" is displayed in place of the RTT. The information model reflects this using a string with the value of "RoundTripTimeNotAvailable", meaning either the probe was lost because of a timeout or it was not possible to transmit a probe. It may also happen that some implementations print the same line multiple times when a router decreases the TTL by more than one, thus looking like multiple hops. The information model is not impacted by this since each line is handled separately; it is left to the applications handling the XML file how to deal with it. Moreover, for delays below 1 ms, some implementations report 0 ms (e.g., UNIX and LINUX), while WINDOWS reports "< 1 ms".
某些探测器可能在配置的超时内未收到响应(例如,如果探测器被防火墙过滤掉)。在这种情况下,显示“*”以代替RTT。信息模型使用一个值为“RoundTripTimeNotAvailable”的字符串来反映这一点,这意味着由于超时导致探针丢失或无法传输探针。当路由器将TTL减少一个以上时,某些实现也可能多次打印同一行,因此看起来像是多跳。信息模型不受此影响,因为每一行都是单独处理的;如何处理XML文件留给处理XML文件的应用程序。此外,对于小于1毫秒的延迟,一些实现报告为0毫秒(例如UNIX和LINUX),而WINDOWS报告为“<1毫秒”。
The information model is composed of information elements; for defining these information elements, a template is used. Such template is specified in the list below:
信息模型由信息元素组成;为了定义这些信息元素,使用了一个模板。该模板在以下列表中指定:
o name - A unique and meaningful name for the information element. The preferred spelling for the name is to use mixed case if the name is compound, with an initial lower-case letter, e.g., "sourceIpAddress".
o 名称-信息元素的唯一且有意义的名称。如果名称为复合名称,首选的拼写是使用大小写混合,并带有首字母小写字母,例如“sourceIpAddress”。
o description - The semantics of this information element.
o 描述-此信息元素的语义。
o dataType - One of the types listed in Section 5.1 of this document or in an extension of the information model. The type space for attributes is constrained to facilitate implementation.
o 数据类型-本文件第5.1节或信息模型扩展中列出的类型之一。属性的类型空间受到约束,以便于实现。
o units - If the element is a measure of some kind, the units identify what the measure is.
o 单位-如果元素是某种度量,则单位标识度量是什么。
This section describes the set of basic valid data types of the information model.
本节介绍信息模型的基本有效数据类型集。
o string - The type "string" represents a finite-length string of valid characters from the Unicode character encoding set. Unicode allows for ASCII and many other international character sets to be used. It is expected that strings will be encoded in UTF-8 format, which is identical in encoding for US-ASCII characters but which also accommodates other Unicode multi-byte characters.
o 字符串-类型“string”表示Unicode字符编码集中有效字符的有限长度字符串。Unicode允许使用ASCII和许多其他国际字符集。预计字符串将以UTF-8格式编码,UTF-8格式与US-ASCII字符的编码相同,但也适用于其他Unicode多字节字符。
o string255 - Same type as "string" but with the restriction of 255 characters.
o string255-与“string”类型相同,但限制为255个字符。
o inetAddressType - The type "inetAddressType" represents a type of Internet address. The allowed values are imported from [RFC4001] (where the intent was to import only some of the values); additional allowed values are "asnumber" and "noSpecification".
o inetAddressType-类型“inetAddressType”表示一种Internet地址类型。允许的值从[RFC4001]导入(其目的是仅导入部分值);其他允许值为“asnumber”和“noSpecification”。
o inetAddress - The type "inetAddress" denotes a generic Internet address. The allowed values are imported from [RFC4001] (the values imported are unknown, ipv4, ipv6, and dns), while non-global IPv4/IPv6 addresses (e.g., ipv4z and ipv6z) are excluded; an additional allowed value is the AS number, indicated as the actual number plus the indication of how the mapping from IP address to AS number was performed. "Unknown" is used to indicate an IP address that is not in one of the formats defined.
o inetAddress-类型“inetAddress”表示通用Internet地址。允许的值从[RFC4001]导入(导入的值为未知、ipv4、ipv6和dns),而非全局ipv4/ipv6地址(例如ipv4z和ipv6z)被排除在外;另外一个允许的值是AS编号,表示为实际编号,加上指示如何执行从IP地址到AS编号的映射。“Unknown”用于表示IP地址不是定义的格式之一。
o ipASNumberMappingType - The type "ipASNumberMappingType" represents a type of mapping from IP to AS number, it indicates the method that was used to do get the mapping (allowed values are "bgptables", "routingregistries", "nslookup", "others" or "unknown").
o ipASNumberMappingType-类型“ipASNumberMappingType”表示从IP到AS编号的映射类型,它表示用于获取映射的方法(允许的值为“bgptables”、“routingregistries”、“nslookup”、“others”或“unknown”)。
o boolean - The type "boolean" represents a boolean value according to XML standards [W3C.REC-xmlschema-2-20041028].
o boolean—根据XML标准[W3C.REC-xmlschema-2-20041028],类型“boolean”表示布尔值。
o unsignedInt - The type "unsignedInt" represents a value in the range (0..4294967295).
o unsignedInt-类型“unsignedInt”表示范围(0..4294967295)内的值。
o unsignedShort - The type "unsignedShort" represents a value in the range (0..65535).
o unsignedShort-类型“unsignedShort”表示范围(0..65535)内的值。
o unsignedByte - The type "unsignedByte" represents a value in the range (0..255).
o unsignedByte-类型“unsignedByte”表示范围(0..255)内的值。
o u8nonzero - The type "u8nonzero" represents a value in the range (1..255).
o u8nonzero-类型“u8nonzero”表示范围(1..255)内的值。
o probesType - The type "probesType" represents a way of indicating the protocol used for the traceroute probes. Values defined in this document are UDP, TCP, and ICMP.
o ProbeType-类型“ProbeType”表示一种指示用于跟踪路由探测的协议的方式。本文档中定义的值为UDP、TCP和ICMP。
o operationResponseStatus - The type "operationResponseStatus" is used to report the result of an operation. The allowed values are imported from [RFC4560].
o operationResponseStatus-类型“operationResponseStatus”用于报告操作结果。允许的值从[RFC4560]导入。
o dateTime - The type "dateTime" represents a date-time specification according to XML standards [W3C.REC-xmlschema-2-20041028] but is restricted to the values defined in [RFC3339].
o dateTime—类型“dateTime”表示符合XML标准[W3C.REC-xmlschema-2-20041028]的日期时间规范,但仅限于[RFC3339]中定义的值。
This section describes the elements related to the storing of a traceroute measurement. The elements are grouped in two groups (configuration and results) according to their semantics. In order to relate configuration and results elements by means of a common unique identifier, an additional element is defined belonging to both groups.
本节描述与跟踪路由测量存储相关的元素。元素根据其语义分为两组(配置和结果)。为了通过公共唯一标识符将配置和结果元素关联起来,定义了属于这两个组的附加元素。
Every traceroute measurement is represented by an instance of the "traceRoute" element. This class provides a standardized representation for traceroute measurement data. The "traceroute" element is an element that can be composed of (depending on the nature of the traceroute measurement):
每个traceroute度量都由“traceroute”元素的一个实例表示。此类为追踪路线测量数据提供标准化表示。“追踪路由”元素是一种可以由以下元素组成的元素(取决于追踪路由测量的性质):
o 1 optional "RequestMetadata" element;
o 1个可选的“RequestMetadata”元素;
o 0..2147483647 "Measurement" elements.
o 0..2147483647“测量”元素。
Each "Measurement" element contains:
每个“测量”元素包含:
o 1 optional "MeasurementMetadata" element;
o 1可选的“MeasurementMetadata”元素;
o 0..2147483647 "MeasurementResult" elements.
o 0..2147483647“MeasurementResult”元素。
The "RequestMetadata" element can be used for specifying parameters of a traceroute measurement to be performed at one or more nodes by one or more traceroute implementations. Depending on the capabilities of a traceroute implementation, not all requested parameters can be applied. Which parameters have actually been applied for a specific traceroute measurement is specified in a "MeasurementMetadata" element.
“RequestMetadata”元素可用于指定一个或多个跟踪路由实现将在一个或多个节点上执行的跟踪路由测量的参数。根据跟踪路由实现的功能,并非所有请求的参数都可以应用。“MeasurementMetadata”元素中指定了实际应用于特定跟踪路线测量的参数。
The "RequestMetadata" element is a sequence that contains:
“RequestMetadata”元素是一个包含以下内容的序列:
o 1 "TestName" element;
o 1“TestName”元素;
o 1 optional "ToolVersion" element;
o 1个可选的“ToolVersion”元素;
o 1 optional "ToolName" element;
o 1个可选的“ToolName”元素;
o 1 "CtlTargetAddress" element;
o 1“CtlTargetAddress”元素;
o 1 optional "CtlBypassRouteTable" element;
o 1个可选的“CtlBypassRouteTable”元素;
o 1 optional "CtlProbeDataSize" element;
o 1个可选的“CtlProbeDataSize”元素;
o 1 optional "CtlTimeOut" element;
o 1个可选的“CTLTEOUT”元素;
o 1 optional "CtlProbesPerHop" element;
o 1个可选的“CtlProbesPerHop”元素;
o 1 optional "CtlPort" element;
o 1个可选的“CtlPort”元素;
o 1 optional "CtlMaxTtl" element;
o 1个可选的“CtlMaxTtl”元素;
o 1 optional "CtlDSField" element;
o 1个可选的“CtlDSField”元素;
o 1 optional "CtlSourceAddress" element;
o 1个可选的“CtlSourceAddress”元素;
o 1 optional "CtlIfIndex" element;
o 1个可选的“CtlIfIndex”元素;
o 1 optional "CtlMiscOptions" element;
o 1个可选的“选项”元素;
o 1 optional "CtlMaxFailures" element;
o 1个可选的“CtlMaxFailures”元素;
o 1 optional "CtlDontFragment" element;
o 1个可选的“CtlDontFragment”元素;
o 1 optional "CtlInitialTtl" element;
o 1个可选的“CtlInitialTtl”元素;
o 1 optional "CtlDescr" element;
o 1个可选的“CtlDescr”元素;
o 1 "CtlType" element.
o 1“CtlType”元素。
If the "RequestMetadata" element is omitted from an XML file, it means that the traceroute measurement configuration parameters requested were all used and the "MeasurementMetadata" element lists them in detail.
如果XML文件中省略了“RequestMetadata”元素,则表示请求的跟踪路由度量配置参数都已使用,“MeasurementMetadata”元素将详细列出这些参数。
The "MeasurementMetadata" element is a sequence that contains:
“MeasurementMetadata”元素是包含以下内容的序列:
o 1 "TestName" element;
o 1“TestName”元素;
o 1 "OSName" element;
o 1“OSName”元素;
o 1 "OSVersion" element;
o 1“OSVersion”元素;
o 1 "ToolVersion" element;
o 1“工具版本”元素;
o 1 "ToolName" element;
o 1“ToolName”元素;
o 1 "CtlTargetAddressType" element;
o 1“CtlTargetAddressType”元素;
o 1 "CtlTargetAddress" element;
o 1“CtlTargetAddress”元素;
o 1 "CtlBypassRouteTable" element;
o 1“可路由”元素;
o 1 "CtlProbeDataSize" element;
o 1“CtlProbeDataSize”元素;
o 1 "CtlTimeOut" element;
o 1个“CTLTEOUT”元素;
o 1 "CtlProbesPerHop" element;
o 1“CtlProbesPerHop”元件;
o 1 "CtlPort" element;
o 1“CtlPort”元素;
o 1 "CtlMaxTtl" element;
o 1个“CtlMaxTtl”元素;
o 1 "CtlDSField" element;
o 1“CTLDSFELD”元素;
o 1 "CtlSourceAddressType" element;
o 1“CtlSourceAddressType”元素;
o 1 "CtlSourceAddress" element;
o 1“CtlSourceAddress”元素;
o 1 "CtlIfIndex" element;
o 1“CtlIfIndex”元素;
o 1 optional "CtlMiscOptions" element;
o 1个可选的“选项”元素;
o 1 "CtlMaxFailures" element;
o 1“CtlMaxFailures”元素;
o 1 "CtlDontFragment" element;
o 1“CtlDontFragment”元素;
o 1 "CtlInitialTtl" element;
o 1“CtlInitialTtl”元素;
o 1 optional "CtlDescr" element;
o 1个可选的“CtlDescr”元素;
o 1 "CtlType" element.
o 1“CtlType”元素。
Configuration information elements can describe not just traceroute measurements that have already happened ("MeasurementMetadata" elements), but also the configuration to be used when requesting a measurement to be made ("RequestMetadata" element). This is quite different semantically, even if the individual information elements are similar. Due to this similarity, both "RequestMetadata" and "MeasurementMetadata" are represented by the same type in the XML schema. All elements that are missing from the "RequestMetadata" or marked as optional in the "RequestMetadata" but mandatory in the "MeasurementMetadata" must be specified as empty elements. Specifying them as empty elements means use the default value. The "CtlType" element could have been optional in the "RequestMetadata", but since default values cannot be specified for complex types in an XML schema, the element is mandatory in the "RequestMetadata".
配置信息元素不仅可以描述已经发生的跟踪路由测量(“MeasurementMetadata”元素),还可以描述请求进行测量时要使用的配置(“RequestMetadata”元素)。这在语义上是完全不同的,即使单个信息元素是相似的。由于这种相似性,“RequestMetadata”和“MeasurementMetadata”在XML模式中用相同的类型表示。“RequestMetadata”中缺少的或在“RequestMetadata”中标记为可选但在“MeasurementMetadata”中为必需的所有元素必须指定为空元素。将它们指定为空元素意味着使用默认值。“CtlType”元素在“RequestMetadata”中可能是可选的,但由于无法为XML模式中的复杂类型指定默认值,因此该元素在“RequestMetadata”中是必需的。
The "MeasurementResult" element is a sequence that contains:
“MeasurementResult”元素是一个包含以下内容的序列:
o 1 "TestName" element;
o 1“TestName”元素;
o 1 "ResultsStartDateAndTime" element;
o 1“ResultsStartDateAndTime”元素;
o 1 "ResultsIpTgtAddrType" element;
o 1“ResultsIpTgtAddrType”元素;
o 1 "ResultsIpTgtAddr" element;
o 1“ResultsIPTGTADD”元素;
o 1 "ProbeResults" elements;
o 1“问题结果”要素;
o 1 "ResultsEndDateAndTime" element.
o 1“ResultsEndDateAndTime”元素。
Additionally, it is important to say that each "ProbeResults" element is a sequence that contains:
此外,每个“ProbeResults”元素都是一个包含以下内容的序列,这一点很重要:
o 1..255 "hop" elements.
o 1..255个“跃点”元素。
Each "hop" element is a sequence that contains:
每个“跃点”元素都是一个序列,包含:
o 1..10 "probe" elements;
o 1..10个“探头”元件;
o 1 optional "HopRawOutputData" element.
o 1个可选的“HopRawOutputData”元素。
Each "probe" element contains:
每个“探测”元素包含:
o 1 "HopAddrType" element;
o 1“HopAddrType”元素;
o 1 "HopAddr" element;
o 1“HopAddr”元素;
o 1 optional "HopName" element;
o 1个可选的“HopName”元素;
o 0..255 optional "MPLSLabelStackEntry" elements;
o 0..255可选的“MPLSLabelStackEntry”元素;
o 1 "ProbedRoundTripTime" element;
o 1“ProbedRoundTripTime”元素;
o 1 "ResponseStatus" element;
o 1“ResponseStatus”元素;
o 1 "Time" element.
o 1“时间”要素。
Different numbers of appearances of the three basic elements in the XML file are meant for different scopes:
XML文件中三个基本元素的不同出现次数适用于不同的范围:
o a file with only 1 "RequestMetadata" element represents a file containing the traceroute measurement configuration parameters of a traceroute measurement; it can be used to distribute the traceroute measurement configuration parameters over multiple nodes asked to run the same traceroute measurement;
o 只有1个“RequestMetadata”元素的文件表示包含跟踪路由测量的跟踪路由测量配置参数的文件;它可用于将跟踪路由测量配置参数分布在要求运行同一跟踪路由测量的多个节点上;
o a file with 1 "Measurement" element containing 1 "MeasurementMetadata" and 1 "MeasurementResult" element represents a file containing the traceroute measurement information of a traceroute measurement;
o 包含1个“Measurement”元素(包含1个“MeasurementMetadata”和1个“MeasurementResult”元素)的文件表示包含跟踪路由测量的跟踪路由测量信息的文件;
o a file with 1 "Measurement" element containing 1 "MeasurementMetadata" and n "MeasurementResult" elements represents a file containing the traceroute measurement information of a set of traceroute measurements run over different times with always the same traceroute measurement configuration parameters;
o 包含1个“Measurement”元素(包含1个“MeasurementMetadata”和n个“MeasurementResult”元素)的文件表示一个文件,该文件包含在不同时间运行的一组跟踪路由测量的跟踪路由测量信息,跟踪路由测量配置参数始终相同;
o a file with 1 "RequestMetadata" and 1 "Measurement" element containing 1 "MeasurementMetadata" and 1 "Measurement" element represents a file containing the traceroute measurement information of a traceroute measurement (containing both the requested traceroute measurement configuration parameters and the ones actually used);
o 包含1个“RequestMetadata”和1个“Measurement”元素(包含1个“MeasurementMetadata”和1个“Measurement”元素)的文件表示包含跟踪路由测量的跟踪路由测量信息的文件(包含请求的跟踪路由测量配置参数和实际使用的参数);
o other combinations are possible to store multiple traceroute measurements all in one XML file.
o 其他组合可以在一个XML文件中存储多个跟踪路由测量值。
This section describes the elements specific to the configuration of the traceroute measurement (belonging to both the "RequestMetadata" and "MeasurementMetadata" elements).
本节描述特定于跟踪路由度量配置的元素(同时属于“RequestMetadata”和“MeasurementMetadata”元素)。
o name - CtlTargetAddressType
o 名称-CtlTargetAddressType
o description - Specifies the type of address in the corresponding "CtlTargetAddress" element. This element is not directly reflected in the XML schema of Section 7. The host address type can be determined by examining the inetAddress type name and the corresponding element value.
o 描述-指定相应“CtlTargetAddress”元素中的地址类型。这个元素没有直接反映在第7节的XML模式中。可以通过检查inetAddress类型名称和相应的元素值来确定主机地址类型。
o dataType - inetAddressType
o 数据类型-inetAddressType
o units - N/A
o 单位-不适用
o name - CtlTargetAddress
o 名称-CtlTargetAddress
o description - In the "RequestMetadata" element, it specifies the host address requested to be used in the traceroute measurement. In the "MeasurementMetadata" element, it specifies the host address used in the traceroute measurement.
o 描述-在“RequestMetadata”元素中,它指定了在跟踪路由测量中使用的请求主机地址。在“MeasurementMetadata”元素中,它指定跟踪路由测量中使用的主机地址。
o dataType - inetAddress
o 数据类型-inetAddress
o units - N/A
o 单位-不适用
o name - CtlBypassRouteTable
o 名称-CTLBrouteTable
o description - In the "RequestMetadata" element, specifies if the optional bypassing of the route table was enabled or not. In the "MeasurementMetadata" element, specifies if the optional bypassing of the route table was enabled or not. If enabled, the normal routing tables will be bypassed and the probes will be sent directly to a host on an attached network. If the host is not on a directly attached network, an error is returned. This option can be used to perform the traceroute measurement to a local host through an interface that has no route defined. This object can be used when the setsockopt SOL_SOCKET SO_DONTROUTE option is supported and set (see [IEEE.1003-1G.1997]).
o 描述-在“RequestMetadata”元素中,指定是否启用了路由表的可选旁路。在“MeasurementMetadata”元素中,指定是否启用路由表的可选旁路。如果启用,正常路由表将被绕过,探测器将直接发送到连接网络上的主机。如果主机不在直接连接的网络上,则返回错误。此选项可用于通过未定义路由的接口对本地主机执行跟踪路由测量。当支持并设置setsockopt SOL_SOCKET SO_Dontrote选项时,可以使用此对象(参见[IEEE.1003-1G.1997])。
o dataType - boolean
o 数据类型-布尔
o units - N/A
o 单位-不适用
o name - CtlProbeDataSize
o 名称-CtlProbeDataSize
o description - Specifies the size of the probes of a traceroute measurement in octets (requested if in the "RequestMetadata" element, actually used if in the "MeasurementMetadata" element). If UDP datagrams are used as probes, then the value contained in this object is exact. If another protocol is used to transmit probes (i.e., TCP or ICMP), for which the specified size is not appropriate, then the implementation can use whatever size (appropriate to the method) is closest to the specified size. The maximum value for this object is computed by subtracting the smallest possible IP header size of 20 octets (IPv4 header with no options) and the UDP header size of 8 octets from the maximum IP packet size. An IP packet has a maximum size of 65535 octets (excluding IPv6 jumbograms).
o 描述-以八位字节为单位指定跟踪路由测量的探测大小(如果在“RequestMetadata”元素中请求,则实际用于“MeasurementMetadata”元素)。如果UDP数据报用作探测,则此对象中包含的值是精确的。如果使用另一个协议来传输指定大小不合适的探测(即TCP或ICMP),则实现可以使用最接近指定大小的任何大小(适用于该方法)。此对象的最大值是通过从最大IP数据包大小中减去可能的最小IP报头大小20个八位字节(IPv4报头没有选项)和UDP报头大小8个八位字节来计算的。IP数据包的最大大小为65535个八位字节(不包括IPv6巨型程序)。
o dataType - unsignedShort
o 数据类型-unsignedShort
o units - octets
o 单位-八位字节
o name - CtlTimeOut
o name-CtlTimeOut
o description - Specifies the timeout value, in seconds, for each probe of a traceroute measurement (requested if in the "RequestMetadata" element, actually used if in the "MeasurementMetadata" element).
o 描述-指定跟踪路由测量的每个探测的超时值(以秒为单位)(如果在“RequestMetadata”元素中请求,则在“MeasurementMetadata”元素中实际使用)。
o dataType - unsignedByte
o 数据类型-无符号字节
o units - seconds
o 单位-秒
o name - CtlProbesPerHop
o 名称-CtlProbesPerHop
o description - Specifies the number of probes with the same time-to-live (TTL) value that are sent for each host (requested if in the "RequestMetadata" element, actually used if in the "MeasurementMetadata" element).
o description-指定为每个主机发送的具有相同生存时间(TTL)值的探测数(如果在“RequestMetadata”元素中请求,则为“MeasurementMetadata”元素中实际使用)。
o dataType - unsignedByte
o 数据类型-无符号字节
o units - probes
o 单位-探头
o name - CtlPort
o 名称-CtlPort
o description - Specifies the base port used by the traceroute measurement (requested if in the "RequestMetadata" element, actually used if in the "MeasurementMetadata" element).
o 描述-指定跟踪路由测量使用的基本端口(如果在“RequestMetadata”元素中请求,则实际使用,如果在“MeasurementMetadata”元素中)。
o dataType - unsignedShort
o 数据类型-unsignedShort
o units - port number
o 单位-端口号
o name - CtlMaxTtl
o 名称-CtlMaxTtl
o description - Specifies the maximum TTL value for the traceroute measurement (requested if in the "RequestMetadata" element, actually used if in the "MeasurementMetadata" element).
o description-指定跟踪路由测量的最大TTL值(如果在“RequestMetadata”元素中请求,如果在“MeasurementMetadata”元素中实际使用)。
o dataType - u8nonzero
o 数据类型-非零
o units - time-to-live value
o 单位-生存时间价值
o name - CtlDSField
o 名称-CtlDSField
o description - Specifies the value that was requested to be stored in the Differentiated Services (DS) field in the traceroute probe (if in the "RequestMetadata" element). Specifies the value that was stored in the Differentiated Services (DS) field in the traceroute probe (if in the "MeasurementMetadata" element). The DS field is defined as the Type of Service (TOS) octet in an IPv4 header or as the Traffic Class octet in an IPv6 header (see Section 7 of [RFC2460]). The value of this object must be a decimal integer in the range from 0 to 255. This option can be used to determine what effect an explicit DS field setting has on a traceroute measurement and its probes. Not all values are legal or meaningful. Useful TOS octet values are probably 16 (low delay) and 8 (high throughput). Further references can be found in [RFC2474] for the definition of the Differentiated Services (DS) field and in [RFC1812] Section 5.3.2 for Type of Service (TOS).
o 描述-指定请求存储在跟踪路由探测中的差异化服务(DS)字段中的值(如果在“RequestMetadata”元素中)。指定存储在跟踪路由探测中的差异化服务(DS)字段中的值(如果在“MeasurementMetadata”元素中)。DS字段定义为IPv4报头中的服务类型(TOS)八位字节或IPv6报头中的流量类八位字节(参见[RFC2460]第7节)。此对象的值必须是0到255范围内的十进制整数。此选项可用于确定显式DS字段设置对跟踪路由测量及其探头的影响。并非所有的价值观都是合法或有意义的。有用的TOS八位组值可能是16(低延迟)和8(高吞吐量)。有关区分服务(DS)字段的定义,请参见[RFC2474],服务类型(TOS)请参见[RFC1812]第5.3.2节。
o dataType - unsignedByte
o 数据类型-无符号字节
o units - N/A
o 单位-不适用
o name - CtlSourceAddressType
o 名称-CtlSourceAddressType
o description - Specifies the type of address in the corresponding "CtlSourceAddress" element. This element is not directly reflected in the XML schema of Section 7. The host address type can be determined by examining the "inetAddress" type name and the corresponding element value. DNS names are not allowed for the "CtlSourceAddress".
o 描述-指定相应“CtlSourceAddress”元素中的地址类型。这个元素没有直接反映在第7节的XML模式中。可以通过检查“inetAddress”类型名称和相应的元素值来确定主机地址类型。“CtlSourceAddress”不允许使用DNS名称。
o dataType - inetAddressType
o 数据类型-inetAddressType
o units - N/A
o 单位-不适用
o name - CtlSourceAddress
o 名称-CtlSourceAddress
o description - Specifies the IP address (which has to be given as an IP number, not a hostname) as the source address in traceroute probes (requested if in the "RequestMetadata" element, actually used if in the "MeasurementMetadata" element). On hosts with more than one IP address, this option can be used in the "RequestMetadata" element to force the source address to be something other than the primary IP address of the interface the probe is sent on; the value "unknown" means the default address will be used.
o 描述-指定IP地址(必须作为IP号而不是主机名提供)作为跟踪路由探测中的源地址(如果在“RequestMetadata”元素中请求,如果在“MeasurementMetadata”元素中实际使用)。在具有多个IP地址的主机上,此选项可在“RequestMetadata”元素中使用,以强制源地址不是发送探测器的接口的主IP地址;值“未知”表示将使用默认地址。
o dataType - inetAddress
o 数据类型-inetAddress
o units - N/A
o 单位-不适用
o name - CtlIfIndex
o 名称-CtlIfIndex
o description - Specifies the interface index as defined in [RFC2863] that is requested to be used in the traceroute measurement for sending the traceroute probes (if in the "RequestMetadata" element). A value of 0 indicates that no specific interface is requested. Specifies the interface index actually used (if in the "MeasurementMetadata" element).
o 描述-指定[RFC2863]中定义的接口索引,该索引被请求用于跟踪路由测量以发送跟踪路由探测(如果在“RequestMetadata”元素中)。值0表示未请求任何特定接口。指定实际使用的接口索引(如果在“MeasurementMetadata”元素中)。
o dataType - unsignedInt
o 数据类型-无符号
o units - N/A
o 单位-不适用
o name - CtlMiscOptions
o 名称-选项
o description - Specifies implementation-dependent options (requested if in the "RequestMetadata" element, actually used if in the "MeasurementMetadata" element).
o 描述-指定依赖于实现的选项(如果在“RequestMetadata”元素中请求,则实际使用,如果在“MeasurementMetadata”元素中)。
o dataType - string255
o 数据类型-string255
o units - N/A
o 单位-不适用
o name - CtlMaxFailures
o 名称-CtlMaxFailures
o description - Specifies the maximum number of consecutive timeouts allowed before terminating a traceroute measurement (requested if in the "RequestMetadata" element, actually used if in the "MeasurementMetadata" element). A value of either 255 (maximum hop count/possible TTL value) or 0 indicates that the function of terminating a remote traceroute measurement when a specific number of consecutive timeouts are detected was disabled. This element is included to give full compatibility with [RFC4560]. No known implementation of traceroute currently supports it.
o description-指定终止跟踪路由测量之前允许的最大连续超时数(如果在“RequestMetadata”元素中请求,则在“MeasurementMetadata”元素中实际使用)。值255(最大跃点计数/可能的TTL值)或0表示在检测到特定数量的连续超时时终止远程跟踪路由测量的功能已禁用。包含此元素是为了与[RFC4560]完全兼容。目前还没有已知的traceroute实现支持它。
o dataType - Unsigned8
o 数据类型-未签名8
o units - timeouts
o 单位-超时
o name - CtlDontFragment
o 名称-CtlDontFragment
o description - Specifies if the don't fragment (DF) flag in the IP header for a probe was enabled or not (if in the "MeasurementMetadata" element). If in the "RequestMetadata", it specifies if the flag was requested to be enabled or not. Setting the DF flag can be used for performing a manual PATH MTU test.
o description-指定是否启用了探测器IP标头中的“不分段(DF)”标志(如果在“MeasurementMetadata”元素中)。如果在“RequestMetadata”中,则指定是否请求启用该标志。设置DF标志可用于执行手动路径MTU测试。
o dataType - boolean
o 数据类型-布尔
o units - N/A
o 单位-不适用
o name - CtlInitialTtl
o 名称-CtlInitialTtl
o description - Specifies the initial TTL value for a traceroute measurement (requested if in the "RequestMetadata" element, actually used if in the "MeasurementMetadata" element). Such TTL setting is intended to bypass the initial (often well-known) portion of a path.
o 描述-指定跟踪路由测量的初始TTL值(如果在“RequestMetadata”元素中请求,则实际使用,如果在“MeasurementMetadata”元素中)。此类TTL设置旨在绕过路径的初始(通常众所周知)部分。
o dataType - u8nonzero
o 数据类型-非零
o units - N/A
o 单位-不适用
o name - CtlDescr
o 名称-CtlDescr
o description - Provides a description of the traceroute measurement.
o 描述-提供跟踪路由测量的描述。
o dataType - string255
o 数据类型-string255
o units - N/A
o 单位-不适用
o name - CtlType
o name-CtlType
o description - Specifies the implementation method used for the traceroute measurement (requested if in the "RequestMetadata" element, actually used if in the "MeasurementMetadata" element). It specifies if the traceroute is using TCP, UDP, ICMP, or other types of probes. It is possible to specify other types of probes by using an element specified in another schema with a different namespace.
o 描述-指定用于跟踪路由测量的实现方法(在“RequestMetadata”元素中请求,在“MeasurementMetadata”元素中实际使用)。它指定跟踪路由是否使用TCP、UDP、ICMP或其他类型的探测。可以通过使用在另一个具有不同命名空间的模式中指定的元素来指定其他类型的探测。
o dataType - probesType
o 数据类型-ProbeType
o units - N/A
o 单位-不适用
This section describes the elements specific to the results of the traceroute measurement.
本节描述了特定于示踪路线测量结果的元素。
o name - ResultsStartDateAndTime
o 名称-结果开始日期和时间
o description - Specifies the date and start time of the traceroute measurement. This is the time when the first probe was seen at the sending interface.
o 描述-指定跟踪路由测量的日期和开始时间。这是在发送接口处看到第一个探测器的时间。
o dataType - DateTime
o 数据类型-日期时间
o units - N/A
o 单位-不适用
o name - ResultsIpTgtAddrType
o 名称-结果iptgtaddrtype
o description - Specifies the type of address in the corresponding "ResultsIpTgtAddr" element. This element is not directly reflected in the XML schema of Section 7. The host address type can be determined by examining the "inetAddress" type name and the corresponding element value.
o description-指定相应“ResultsIpTgtAddr”元素中的地址类型。这个元素没有直接反映在第7节的XML模式中。可以通过检查“inetAddress”类型名称和相应的元素值来确定主机地址类型。
o dataType - inetAddressType
o 数据类型-inetAddressType
o units - N/A
o 单位-不适用
o name - ResultsIpTgtAddr
o 名称-结果iptgtaddr
o description - Specifies the IP address associated with a "CtlTargetAddress" value when the destination address is specified as a DNS name. The value of this object should be "unknown" if a DNS name is not specified or if a specified DNS name fails to resolve.
o 描述-当目标地址指定为DNS名称时,指定与“CtlTargetAddress”值关联的IP地址。如果未指定DNS名称或指定的DNS名称无法解析,则此对象的值应为“未知”。
o dataType - inetAddress
o 数据类型-inetAddress
o units - N/A
o 单位-不适用
o name - HopAddrType
o 名称-HopAddrType
o description - Specifies the type of address in the corresponding "HopAddr" element. This element is not directly reflected in the XML schema of Section 7. The host address type can be determined
o description - Specifies the type of address in the corresponding "HopAddr" element. This element is not directly reflected in the XML schema of Section 7. The host address type can be determinedtranslate error, please retry
by examining the "inetAddress" type name and the corresponding element value. DNS names are not allowed for "HopAddr".
通过检查“inetAddress”类型名称和相应的元素值。“HopAddr”不允许使用DNS名称。
o dataType - inetAddressType
o 数据类型-inetAddressType
o units - N/A
o 单位-不适用
o name - HopAddr
o 姓名-HopAddr
o description - Specifies the address of a hop in the traceroute measurement path. This object is not allowed to be a DNS name.
o 描述-指定跟踪路由测量路径中的跃点地址。此对象不允许是DNS名称。
o dataType - inetAddress
o 数据类型-inetAddress
o units - N/A
o 单位-不适用
o name - HopName
o 名称-HopName
o description - Specifies the DNS name of the "HopAddr" if it is available. If it is not available, the element is omitted.
o description-指定“HopAddr”的DNS名称(如果可用)。如果不可用,则忽略该元素。
o dataType - inetAddress
o 数据类型-inetAddress
o units - N/A
o 单位-不适用
o name - MPLSLabelStackEntry
o 名称-MPLSLabelStackEntry
o description - Specifies entries of the MPLS label stack of a probe observed when the probe arrived at the hop that replied to the probe. This object contains one MPLS label stack entry as a 32-bit value as it is observed on the MPLS label stack. Contained in this single number are the MPLS label, the Exp field, the S flag, and the MPLS TTL value as specified in [RFC3032]. If more than one MPLS label stack entry is reported, then multiple instances of elements of this type are used. They must be ordered in the same order as on the label stack with the top label stack entry being reported first.
o 描述-指定当探测器到达响应探测器的跃点时观察到的探测器的MPLS标签堆栈的条目。此对象包含一个MPLS标签堆栈项,作为在MPLS标签堆栈上观察到的32位值。此单个编号中包含[RFC3032]中指定的MPLS标签、Exp字段、S标志和MPLS TTL值。如果报告了多个MPLS标签堆栈条目,则使用此类型元素的多个实例。它们的顺序必须与标签堆栈上的顺序相同,首先报告顶部标签堆栈条目。
o dataType - unsignedInt
o 数据类型-无符号
o units - N/A
o 单位-不适用
o name - ProbeRoundTripTime
o 名称-ProbeRoundTripTime
o description - If this element contains the element "roundTripTime", this specifies the amount of time measured in milliseconds from when a probe was sent to when its response was received or when it timed out. The value of this element is reported as the truncation of the number reported by the traceroute tool (the output "< 1 ms" is therefore encoded as 0 ms). If it contains the element "roundTripTimeNotAvailable", it means either the probe was lost because of a timeout or it was not possible to transmit a probe.
o 描述-如果此元素包含元素“roundTripTime”,则指定从发送探测到接收其响应或超时的时间量(以毫秒为单位)。该元素的值被报告为traceroute工具报告的数字的截断(因此输出“<1 ms”被编码为0 ms)。如果它包含“roundTripTimeNotAvailable”元素,则表示探测器因超时而丢失或无法传输探测器。
o dataType - unsignedShort or string
o 数据类型-unsignedShort或string
o units - milliseconds or N/A
o 单位-毫秒或不适用
o name - ResponseStatus
o 姓名-ResponseStatus
o description - Specifies the result of a traceroute measurement made by the host for a particular probe.
o 描述-指定主机对特定探头进行的跟踪路由测量的结果。
o dataType - operationResponseStatus
o 数据类型-操作响应状态
o units - N/A
o 单位-不适用
o name - Time
o 命名时间
o description - Specifies the timestamp for the time the response to the probe was received at the interface.
o description-指定接口接收到探针响应的时间戳。
o dataType - DateTime
o 数据类型-日期时间
o units - N/A
o 单位-不适用
o name - ResultsEndDateAndTime
o 名称-ResultsEndDateAndTime
o description - Specifies the date and end time of the traceroute measurement. It is either the time when the response to the last probe of the traceroute measurement was received or the time when
o 描述-指定跟踪路由测量的日期和结束时间。它是接收到对跟踪路由测量的最后一个探头的响应的时间,或者是
the last probe of the traceroute measurement was sent plus the relative timeout (in case of a missing response).
已发送跟踪路由测量的最后一个探针加上相对超时(在缺少响应的情况下)。
o dataType - DateTime
o 数据类型-日期时间
o units - N/A
o 单位-不适用
o name - HopRawOutputData
o 名称-HopRawOutputData
o description - Specifies the raw output data returned by the traceroute measurement for a certain hop in a traceroute measurement path. It is an implementation-dependent, printable string, expected to be useful for a human interpreting the traceroute results.
o 描述-指定跟踪路由测量为跟踪路由测量路径中的某个跃点返回的原始输出数据。它是一个依赖于实现的、可打印的字符串,预期对解释跟踪路由结果的人员有用。
o dataType - string
o 数据类型-字符串
o units - N/A
o 单位-不适用
5.2.4. Information Element Correlating Configuration and Results Elements
5.2.4. 关联配置和结果元素的信息元素
This section defines an additional element belonging to both previous groups (configuration elements and results elements) named "TestName". This element is defined in order to relate configuration and results elements by means of a common unique identifier (to be chosen in accordance to the specification of [RFC4560]).
本节定义了属于前面两个组(配置元素和结果元素)的名为“TestName”的附加元素。定义该元素是为了通过公共唯一标识符(根据[RFC4560]规范选择)将配置和结果元素关联起来。
o name - TestName
o name-TestName
o description - Specifies the name of a traceroute measurement. This is not necessarily unique within any well-defined scope (e.g., a specific host, initiator of the traceroute measurement).
o 描述-指定跟踪路由测量的名称。在任何明确定义的范围内(例如,特定主机、跟踪路由测量的发起人),这不一定是唯一的。
o dataType - string255
o 数据类型-string255
o units - N/A
o 单位-不适用
5.2.5. Information Elements to Compare Traceroute Measurement Results with Each Other
5.2.5. 相互比较示踪路线测量结果的信息元素
This section defines additional elements belonging to both previous groups (configuration elements and results elements); these elements were defined in order to allow traceroute measurement results comparison among different traceroute measurements.
本节定义了属于前两个组的附加元素(配置元素和结果元素);这些元素的定义是为了在不同的示踪路线测量之间进行示踪路线测量结果的比较。
o name - OSName
o 名称-OSName
o description - Specifies the name of the operating system on which the traceroute measurement was launched. This element is ignored if used in the "RequestMetadata".
o 描述-指定启动跟踪路由测量的操作系统的名称。如果在“RequestMetadata”中使用,则忽略此元素。
o dataType - string255
o 数据类型-string255
o units - N/A
o 单位-不适用
o name - OSVersion
o 名称-OSV
o description - Specifies the OS version on which the traceroute measurement was launched. This element is ignored if used in the "RequestMetadata".
o 描述-指定启动跟踪路由测量的操作系统版本。如果在“RequestMetadata”中使用,则忽略此元素。
o dataType - string255
o 数据类型-string255
o units - N/A
o 单位-不适用
o name - ToolVersion
o 名称-工具版本
o description - Specifies the version of the traceroute tool (requested to be used if in the "RequestMetadata" element, actually used if in the "MeasurementMetadata" element).
o 描述-指定跟踪路由工具的版本(如果在“RequestMetadata”元素中请求使用,如果在“MeasurementMetadata”元素中实际使用)。
o dataType - string255
o 数据类型-string255
o units - N/A
o 单位-不适用
o name - ToolName
o 名称-工具名称
o description - Specifies the name of the traceroute tool (requested to be used if in the "RequestMetadata" element, actually used if in the "MeasurementMetadata" element).
o 描述-指定跟踪路由工具的名称(如果在“RequestMetadata”元素中请求使用,如果在“MeasurementMetadata”元素中实际使用)。
o dataType - string255
o 数据类型-string255
o units - N/A
o 单位-不适用
For storing and transmitting information according to the information model defined in the previous section, a data model is required that specifies how to encode the elements of the information model.
为了根据上一节中定义的信息模型存储和传输信息,需要一个数据模型来指定如何对信息模型的元素进行编码。
There are several design choices for a data model. It can use a binary or textual representation and it can be defined from scratch or use already existing frameworks and data models. In general, the use of already existing frameworks and models should be preferred.
数据模型有几种设计选择。它可以使用二进制或文本表示,可以从头定义,也可以使用现有的框架和数据模型。一般来说,应该优先使用现有的框架和模型。
Binary and textual representations both have advantages and disadvantages. Textual representations are (with some limitations) human-readable, while a binary representation consumes less resources for storing, transmitting, and parsing data.
二进制和文本表示都有优点和缺点。文本表示法(有一些限制)是人类可读的,而二进制表示法在存储、传输和解析数据方面消耗的资源更少。
An already existing and closely related data model is the DISMAN-TRACEROUTE-MIB module [RFC4560], which specifies a Structure of Management Information version 2 (SMIv2) encoding [RFC2578], [RFC2579], and [RFC2580] for transmitting traceroute measurement information (configuration and results). This data model is well suited and supported within network management systems, but as a general format for storing and transmitting traceroute results, it is not easily applicable.
一个已经存在且密切相关的数据模型是DISAN-TRACEROUTE-MIB模块[RFC4560],它指定了用于传输跟踪路由测量信息(配置和结果)的管理信息版本2(SMIv2)编码[RFC2578]、[RFC2579]和[RFC2580]的结构。该数据模型非常适合并在网络管理系统中得到支持,但作为存储和传输跟踪路由结果的通用格式,它不容易应用。
Another binary representation would be an extension of traffic-flow information encodings as specified for the IP Flow Information Export (IPFIX) protocol [RFC5101], [RFC5102]. The IPFIX protocol is extensible. However, the architecture behind this protocol [IPFIX] is targeted at exporting passively measured flow information. Therefore, some obstacles are expected when trying to use it for transmitting traceroute measurement information.
另一个二进制表示是为IP流信息导出(IPFIX)协议[RFC5101]、[RFC5102]指定的流量信息编码的扩展。IPFIX协议是可扩展的。然而,该协议背后的体系结构[IPFIX]旨在导出被动测量的流量信息。因此,在尝试使用它传输跟踪路由测量信息时,可能会遇到一些障碍。
For textual representations, using the eXtensible Markup Language (XML) [W3C.REC-xml-20060816] is an obvious choice. XML supports clean structuring of data and syntax checking of records. With some
对于文本表示,使用可扩展标记语言(XML)[W3C.REC-XML-20060816]是一个明显的选择。XML支持数据的干净结构化和记录的语法检查。有一些
limitations, it is human-readable. It is supported well by a huge pool of tools and standards for generating, transmitting, parsing, and converting it to other data formats. Its disadvantages are the resource consumption for processing, storing, and transmitting information. Since the expected data volumes related to traceroute measurement in network operation and maintenance are not expected to be extremely high, the inefficient usage of resources is not a significant disadvantage. Therefore, XML was chosen as a basis for the traceroute measurement information model that is specified in this memo.
限制,它是人类可读的。它得到了大量用于生成、传输、解析和转换为其他数据格式的工具和标准的支持。它的缺点是处理、存储和传输信息的资源消耗。由于网络运行和维护中与跟踪路由测量相关的预期数据量预计不会非常高,因此资源的低效使用不是一个显著的缺点。因此,选择XML作为本备忘录中指定的跟踪路线测量信息模型的基础。
Section 7 contains the XML schema to be used as a template for storing and/or exchanging traceroute measurement information. The schema was designed in order to use an extensible approach based on templates (pretty similar to how the IPFIX protocol is designed) where the traceroute configuration elements (both the requested parameters, "RequestMetadata", and the actual parameters used, "MeasurementMetadata") are metadata to be referenced by results information elements (data) by means of the "TestName" element (used as a unique identifier, chosen in accordance to the specification of [RFC4560]). Currently Open Grid Forum (OGF) is also using this approach and cross-requirements have been analyzed. As a result of this analysis, the XML schema contained in Section 7 is compatible with the OGF schema since both were designed in a way that limits the unnecessary redundancy and a simple one-to-one transformation between the two exists.
第7节包含XML模式,用作存储和/或交换跟踪路由测量信息的模板。该模式的设计是为了使用基于模板的可扩展方法(与IPFIX协议的设计非常类似),其中跟踪路由配置元素(请求的参数“RequestMetadata”和实际使用的参数“MeasurementMetadata”)是由结果信息元素引用的元数据(数据)通过“TestName”元素(用作唯一标识符,根据[RFC4560]的规范选择)。当前开放网格论坛(OGF)也使用这种方法,并对交叉需求进行了分析。通过这种分析,第7节中包含的XML模式与OGF模式兼容,因为两者的设计方式都限制了不必要的冗余,并且两者之间存在简单的一对一转换。
This section presents the XML schema to be used as a template for storing and/or exchanging traceroute measurement information. The schema uses UTF-8 encoding as defined in [RFC3629]. In documents conforming to the format presented here, an XML declaration SHOULD be present specifying the version and the character encoding of the XML document. The document should be encoded using UTF-8. Since some of the strings can span multiple lines, [RFC5198] applies. XML processing instructions and comments MUST be ignored. Mind that whitespace is significant in XML when writing documents conforming to this schema. Documents using the presented format must be valid according to the XML schema shown in this section. Since elements of type "_CtlType" may contain elements from unknown namespaces, those elements MUST be ignored if their namespace is unknown to the processor. Values for elements using the XML schema type "dateTime" MUST be restricted to values defined in [RFC3339]. Future versions of this format MAY extend this schema by creating a new schema that redefines all or some of the data types and elements defined in this version or by establishing a complete new schema.
本节介绍将用作存储和/或交换跟踪路由测量信息的模板的XML模式。该模式使用[RFC3629]中定义的UTF-8编码。在符合此处所示格式的文档中,应提供XML声明,指定XML文档的版本和字符编码。文档应使用UTF-8编码。由于某些字符串可以跨越多行,[RFC5198]适用。必须忽略XML处理说明和注释。请注意,在编写符合此模式的文档时,空白在XML中非常重要。根据本节所示的XML模式,使用所示格式的文档必须有效。由于类型为“_CtlType”的元素可能包含来自未知命名空间的元素,因此如果处理器不知道这些元素的命名空间,则必须忽略这些元素。使用XML架构类型“dateTime”的元素的值必须限制为[RFC3339]中定义的值。此格式的未来版本可能会通过创建一个新模式来扩展此模式,该模式会重新定义此版本中定义的所有或部分数据类型和元素,或者通过建立一个完整的新模式来扩展此模式。
Due to the limited line length some lines appear wrapped.
由于线条长度有限,有些线条看起来是包裹的。
<?xml version="1.0" encoding="UTF-8"?> <xs:schema elementFormDefault="qualified" targetNamespace="urn:ietf:params:xml:ns:traceroute-1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tr="urn:ietf:params:xml:ns:traceroute-1.0"> <xs:simpleType name="string255"> <xs:annotation> <xs:documentation>String restricted to 255 characters.</xs:documentation> </xs:annotation>
<?xml version="1.0" encoding="UTF-8"?> <xs:schema elementFormDefault="qualified" targetNamespace="urn:ietf:params:xml:ns:traceroute-1.0" xmlns:xs="http://www.w3.org/2001/XMLSchema" xmlns:tr="urn:ietf:params:xml:ns:traceroute-1.0"> <xs:simpleType name="string255"> <xs:annotation> <xs:documentation>String restricted to 255 characters.</xs:documentation> </xs:annotation>
<xs:restriction base="xs:string"> <xs:maxLength value="255"/> </xs:restriction> </xs:simpleType>
<xs:restriction base="xs:string"> <xs:maxLength value="255"/> </xs:restriction> </xs:simpleType>
<xs:simpleType name="u8nonzero"> <xs:annotation> <xs:documentation>unsignedByte with non zero value.</xs:documentation> </xs:annotation>
<xs:simpleType name="u8nonzero"> <xs:annotation> <xs:documentation>unsignedByte with non zero value.</xs:documentation> </xs:annotation>
<xs:restriction base="xs:unsignedByte"> <xs:minInclusive value="1"/> </xs:restriction> </xs:simpleType>
<xs:restriction base="xs:unsignedByte"> <xs:minInclusive value="1"/> </xs:restriction> </xs:simpleType>
<xs:complexType name="_roundTripTime"> <xs:choice> <xs:element name="roundTripTime"> <xs:simpleType> <xs:restriction base="xs:unsignedInt"/> </xs:simpleType> </xs:element>
<xs:complexType name="_roundTripTime"> <xs:choice> <xs:element name="roundTripTime"> <xs:simpleType> <xs:restriction base="xs:unsignedInt"/> </xs:simpleType> </xs:element>
<xs:element name="roundTripTimeNotAvailable"> <xs:complexType/> </xs:element> </xs:choice> </xs:complexType>
<xs:element name="roundTripTimeNotAvailable"> <xs:complexType/> </xs:element> </xs:choice> </xs:complexType>
<xs:complexType name="_inetAddressUnknown"/>
<xs:complexType name="_inetAddressUnknown"/>
<xs:simpleType name="_inetAddressIpv4"> <xs:restriction base="xs:string"> <xs:pattern value="(([1-9]?[0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5
<xs:simpleType name="_inetAddressIpv4"> <xs:restriction base="xs:string"> <xs:pattern value="(([1-9]?[0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5
]).){3}([1-9]?[0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])"/> </xs:restriction> </xs:simpleType>
]).){3}([1-9]?[0-9]|1[0-9][0-9]|2[0-4][0-9]|25[0-5])"/> </xs:restriction> </xs:simpleType>
<xs:simpleType name="_inetAddressIpv6"> <xs:restriction base="xs:string"> <xs:pattern value="(([\dA-Fa-f]{1,4}:){7}[\dA-Fa-f]{1,4})(:([\d ]{1,3}.){3}[\d]{1,3})?"/> </xs:restriction> </xs:simpleType>
<xs:simpleType name="_inetAddressIpv6"> <xs:restriction base="xs:string"> <xs:pattern value="(([\dA-Fa-f]{1,4}:){7}[\dA-Fa-f]{1,4})(:([\d ]{1,3}.){3}[\d]{1,3})?"/> </xs:restriction> </xs:simpleType>
<xs:simpleType name="_inetAddressDns"> <xs:restriction base="xs:string"> <xs:maxLength value="256"/> </xs:restriction> </xs:simpleType>
<xs:simpleType name="_inetAddressDns"> <xs:restriction base="xs:string"> <xs:maxLength value="256"/> </xs:restriction> </xs:simpleType>
<xs:complexType name="_inetAddressASNumber"> <xs:annotation> <xs:documentation>Specifies the AS number of a hop in the traceroute path as a 32-bit number and indicates how the mapping from IP address to AS number was performed.</xs:documentation> </xs:annotation>
<xs:complexType name="_inetAddressASNumber"> <xs:annotation> <xs:documentation>Specifies the AS number of a hop in the traceroute path as a 32-bit number and indicates how the mapping from IP address to AS number was performed.</xs:documentation> </xs:annotation>
<xs:sequence> <xs:element name="asNumber" type="xs:unsignedInt"/>
<xs:sequence> <xs:element name="asNumber" type="xs:unsignedInt"/>
<xs:element name="ipASNumberMappingType"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="bgptables"/>
<xs:element name="ipASNumberMappingType"> <xs:simpleType> <xs:restriction base="xs:string"> <xs:enumeration value="bgptables"/>
<xs:enumeration value="routingregistries"/>
<xs:enumeration value="routingregistries"/>
<xs:enumeration value="nslookup"/>
<xs:enumeration value="nslookup"/>
<xs:enumeration value="others"/>
<xs:enumeration value="others"/>
<xs:enumeration value="unknown"/> </xs:restriction> </xs:simpleType> </xs:element> </xs:sequence> </xs:complexType>
<xs:enumeration value="unknown"/> </xs:restriction> </xs:simpleType> </xs:element> </xs:sequence> </xs:complexType>
<xs:complexType name="inetAddress"> <xs:choice>
<xs:complexType name="inetAddress"> <xs:choice>
<xs:element name="inetAddressUnknown" type="tr:_inetAddressUnknown"/>
<xs:element name="inetAddressUnknown" type="tr:_inetAddressUnknown"/>
<xs:element name="inetAddressIpv4" type="tr:_inetAddressIpv4"/>
<xs:element name="inetAddressIpv4" type="tr:_inetAddressIpv4"/>
<xs:element name="inetAddressIpv6" type="tr:_inetAddressIpv6"/>
<xs:element name="inetAddressIpv6" type="tr:_inetAddressIpv6"/>
<xs:element name="inetAddressASNumber" type="tr:_inetAddressASNumber"/>
<xs:element name="inetAddressASNumber" type="tr:_inetAddressASNumber"/>
<xs:element minOccurs="0" name="inetAddressDns" type="tr:_inetAddressDns"/> </xs:choice> </xs:complexType>
<xs:element minOccurs="0" name="inetAddressDns" type="tr:_inetAddressDns"/> </xs:choice> </xs:complexType>
<xs:complexType name="inetAddressWithoutDns"> <xs:sequence> <xs:choice> <xs:element name="inetAddressUnknown" type="tr:_inetAddressUnknown"/>
<xs:complexType name="inetAddressWithoutDns"> <xs:sequence> <xs:choice> <xs:element name="inetAddressUnknown" type="tr:_inetAddressUnknown"/>
<xs:element name="inetAddressIpv4" type="tr:_inetAddressIpv4"/>
<xs:element name="inetAddressIpv4" type="tr:_inetAddressIpv4"/>
<xs:element name="inetAddressIpv6" type="tr:_inetAddressIpv6"/>
<xs:element name="inetAddressIpv6" type="tr:_inetAddressIpv6"/>
<xs:element name="inetAddressASNumber" type="tr:_inetAddressASNumber"/> </xs:choice> </xs:sequence> </xs:complexType>
<xs:element name="inetAddressASNumber" type="tr:_inetAddressASNumber"/> </xs:choice> </xs:sequence> </xs:complexType>
<xs:simpleType name="operationResponseStatus"> <xs:restriction base="xs:string"> <xs:enumeration value="responseReceived"/>
<xs:simpleType name="operationResponseStatus"> <xs:restriction base="xs:string"> <xs:enumeration value="responseReceived"/>
<xs:enumeration value="unknown"/>
<xs:enumeration value="unknown"/>
<xs:enumeration value="internalError"/>
<xs:enumeration value="internalError"/>
<xs:enumeration value="requestTimedOut"/>
<xs:enumeration value="requestTimedOut"/>
<xs:enumeration value="unknownDestinationAddress"/>
<xs:enumeration value="unknownDestinationAddress"/>
<xs:enumeration value="noRouteToTarget"/>
<xs:enumeration value="noRouteToTarget"/>
<xs:enumeration value="interfaceInactiveToTarget"/>
<xs:enumeration value="interfaceInactiveToTarget"/>
<xs:enumeration value="arpFailure"/>
<xs:enumeration value="arpFailure"/>
<xs:enumeration value="maxConcurrentLimitReached"/>
<xs:enumeration value="maxConcurrentLimitReached"/>
<xs:enumeration value="unableToResolveDnsName"/>
<xs:enumeration value="unableToResolveDnsName"/>
<xs:enumeration value="invalidHostAddress"/> </xs:restriction> </xs:simpleType>
<xs:enumeration value="invalidHostAddress"/> </xs:restriction> </xs:simpleType>
<xs:complexType name="_CtlType"> <xs:choice> <xs:element name="TCP"> <xs:complexType/> </xs:element>
<xs:complexType name="_CtlType"> <xs:choice> <xs:element name="TCP"> <xs:complexType/> </xs:element>
<xs:element name="UDP"> <xs:complexType/> </xs:element>
<xs:element name="UDP"> <xs:complexType/> </xs:element>
<xs:element name="ICMP"> <xs:complexType/> </xs:element>
<xs:element name="ICMP"> <xs:complexType/> </xs:element>
<xs:any namespace="##other"/> </xs:choice> </xs:complexType>
<xs:any namespace="##other"/> </xs:choice> </xs:complexType>
<xs:complexType name="_ProbeResults"> <xs:sequence> <xs:element maxOccurs="255" name="hop"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="10" name="probe"> <xs:complexType> <xs:sequence> <xs:element name="HopAddr" type="tr:inetAddressWithoutDns"> <xs:annotation> <xs:documentation>Specifies the address of a hop in the traceroute measurement path. This object is not allowed to be a DNS name. The address type can be determined by examining the "inetAddress" type name and the corresponding element value.</xs:documentation> </xs:annotation> </xs:element>
<xs:complexType name="_ProbeResults"> <xs:sequence> <xs:element maxOccurs="255" name="hop"> <xs:complexType> <xs:sequence> <xs:element maxOccurs="10" name="probe"> <xs:complexType> <xs:sequence> <xs:element name="HopAddr" type="tr:inetAddressWithoutDns"> <xs:annotation> <xs:documentation>Specifies the address of a hop in the traceroute measurement path. This object is not allowed to be a DNS name. The address type can be determined by examining the "inetAddress" type name and the corresponding element value.</xs:documentation> </xs:annotation> </xs:element>
<xs:element minOccurs="0" name="HopName" type="tr:_inetAddressDns"> <xs:annotation> <xs:documentation>Specifies the DNS name of the "HopAddr" if it is available. If it is not available, the element is omitted.</xs:documentation> </xs:annotation> </xs:element>
<xs:element minOccurs="0" name="HopName" type="tr:_inetAddressDns"> <xs:annotation> <xs:documentation>Specifies the DNS name of the "HopAddr" if it is available. If it is not available, the element is omitted.</xs:documentation> </xs:annotation> </xs:element>
<xs:element maxOccurs="255" minOccurs="0" name="MPLSLabelStackEntry"> <xs:annotation> <xs:documentation>Specifies entries of the MPLS label stack of a probe observed when the probe arrived at the hop that replied to the probe. This object contains one MPLS label stack entry as a 32-bit value as it is observed on the MPLS label stack. Contained in this single number are the MPLS label, the Exp field, the S flag, and the MPLS TTL value as specified in [RFC3032]. If more than one MPLS label stack entry is reported, then multiple instances of elements of this type are used. They must be ordered in the same order as on the label stack with the top label stack entry being reported first.</xs:documentation> </xs:annotation>
<xs:element maxOccurs="255" minOccurs="0" name="MPLSLabelStackEntry"> <xs:annotation> <xs:documentation>Specifies entries of the MPLS label stack of a probe observed when the probe arrived at the hop that replied to the probe. This object contains one MPLS label stack entry as a 32-bit value as it is observed on the MPLS label stack. Contained in this single number are the MPLS label, the Exp field, the S flag, and the MPLS TTL value as specified in [RFC3032]. If more than one MPLS label stack entry is reported, then multiple instances of elements of this type are used. They must be ordered in the same order as on the label stack with the top label stack entry being reported first.</xs:documentation> </xs:annotation>
<xs:simpleType> <xs:restriction base="xs:unsignedInt"> <xs:maxInclusive value="4294967295"/> </xs:restriction> </xs:simpleType> </xs:element>
<xs:simpleType> <xs:restriction base="xs:unsignedInt"> <xs:maxInclusive value="4294967295"/> </xs:restriction> </xs:simpleType> </xs:element>
<xs:element name="ProbeRoundTripTime" type="tr:_roundTripTime"> <xs:annotation> <xs:documentation>If this element contains the element "roundTripTime", this specifies the amount of time measured in milliseconds from when a probe was sent to when its response was received or when it timed out. The value of this element is reported as the truncation of the number reported by the traceroute tool (the output "< 1 ms" is therefore encoded as 0 ms). If it contains the element
<xs:element name=“ProbeRoundTripTime”type=“tr:_roundTripTime”><xs:annotation><xs:documentation>如果此元素包含元素“roundTripTime”,则指定从发送探测到接收其响应或超时的时间量(以毫秒为单位)。此元素的值报告为traceroute工具报告的数字的截断(因此输出“<;1 ms”编码为0 ms)。如果它包含元素
"roundTripTimeNotAvailable", it means either the probe was lost because of a timeout or it was not possible to transmit a probe. </xs:documentation> </xs:annotation> </xs:element>
"roundTripTimeNotAvailable", it means either the probe was lost because of a timeout or it was not possible to transmit a probe. </xs:documentation> </xs:annotation> </xs:element>
<xs:element name="ResponseStatus" type="tr:operationResponseStatus"> <xs:annotation> <xs:documentation>Specifies the result of a traceroute measurement made by the host for a particular probe.</xs:documentation> </xs:annotation> </xs:element>
<xs:element name="ResponseStatus" type="tr:operationResponseStatus"> <xs:annotation> <xs:documentation>Specifies the result of a traceroute measurement made by the host for a particular probe.</xs:documentation> </xs:annotation> </xs:element>
<xs:element name="Time" type="xs:dateTime"> <xs:annotation> <xs:documentation>Specifies the timestamp for the time the response to the probe was received at the interface.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element>
<xs:element name="Time" type="xs:dateTime"> <xs:annotation> <xs:documentation>Specifies the timestamp for the time the response to the probe was received at the interface.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element>
<xs:element minOccurs="0" name="HopRawOutputData" type="tr:string255"> <xs:annotation> <xs:documentation>Specifies the raw output data returned by the traceroute measurement for a certain hop in a traceroute measurement path. It is an implementation-dependent, printable string, expected to be useful for a human interpreting the traceroute results.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType>
<xs:element minOccurs="0" name="HopRawOutputData" type="tr:string255"> <xs:annotation> <xs:documentation>Specifies the raw output data returned by the traceroute measurement for a certain hop in a traceroute measurement path. It is an implementation-dependent, printable string, expected to be useful for a human interpreting the traceroute results.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType>
<xs:complexType name="_Metadata"> <xs:annotation> <xs:documentation>Specifies the metadata for a traceroute operation -- the parameters requested if used in
<xs:complexType name="_Metadata"> <xs:annotation> <xs:documentation>Specifies the metadata for a traceroute operation -- the parameters requested if used in
"RequestMetadata" or the actual parameters used if used in "MeasurementMetadata".</xs:documentation> </xs:annotation>
"RequestMetadata" or the actual parameters used if used in "MeasurementMetadata".</xs:documentation> </xs:annotation>
<xs:sequence> <xs:element name="TestName" type="tr:string255"> <xs:annotation> <xs:documentation>Specifies the name of a traceroute measurement. This is not necessarily unique within any well-defined scope (e.g., a specific host, initiator of the traceroute measurement).</xs:documentation> </xs:annotation> </xs:element>
<xs:sequence> <xs:element name="TestName" type="tr:string255"> <xs:annotation> <xs:documentation>Specifies the name of a traceroute measurement. This is not necessarily unique within any well-defined scope (e.g., a specific host, initiator of the traceroute measurement).</xs:documentation> </xs:annotation> </xs:element>
<xs:element default="" name="OSName" type="tr:string255"> <xs:annotation> <xs:documentation>Specifies the name of the operating system on which the traceroute measurement was launched. This element is ignored if used in the "RequestMetadata".</xs:documentation> </xs:annotation> </xs:element>
<xs:element default="" name="OSName" type="tr:string255"> <xs:annotation> <xs:documentation>Specifies the name of the operating system on which the traceroute measurement was launched. This element is ignored if used in the "RequestMetadata".</xs:documentation> </xs:annotation> </xs:element>
<xs:element default="" name="OSVersion" type="tr:string255"> <xs:annotation> <xs:documentation>Specifies the OS version on which the traceroute measurement was launched. This element is ignored if used in the "RequestMetadata".</xs:documentation> </xs:annotation> </xs:element>
<xs:element default="" name="OSVersion" type="tr:string255"> <xs:annotation> <xs:documentation>Specifies the OS version on which the traceroute measurement was launched. This element is ignored if used in the "RequestMetadata".</xs:documentation> </xs:annotation> </xs:element>
<xs:element default="" name="ToolVersion" type="tr:string255"> <xs:annotation> <xs:documentation>Specifies the version of the traceroute tool (requested to be used if in the "RequestMetadata" element, actually used if in the "MeasurementMetadata" element).</xs:documentation> </xs:annotation> </xs:element>
<xs:element default="" name="ToolVersion" type="tr:string255"> <xs:annotation> <xs:documentation>Specifies the version of the traceroute tool (requested to be used if in the "RequestMetadata" element, actually used if in the "MeasurementMetadata" element).</xs:documentation> </xs:annotation> </xs:element>
<xs:element default="" name="ToolName" type="tr:string255"> <xs:annotation> <xs:documentation>Specifies the name of the traceroute tool (requested to be used if in the "RequestMetadata" element, actually used if in the "MeasurementMetadata" element).</xs:documentation> </xs:annotation>
<xs:element default="" name="ToolName" type="tr:string255"> <xs:annotation> <xs:documentation>Specifies the name of the traceroute tool (requested to be used if in the "RequestMetadata" element, actually used if in the "MeasurementMetadata" element).</xs:documentation> </xs:annotation>
</xs:element>
</xs:element>
<xs:element name="CtlTargetAddress" type="tr:inetAddress"> <xs:annotation> <xs:documentation>In the "RequestMetadata" element, it specifies the host address requested to be used in the traceroute measurement. In the "MeasurementMetadata" element, it specifies the host address used in the traceroute measurement. The host address type can be determined by examining the "inetAddress" type name and the corresponding element value.</xs:documentation> </xs:annotation> </xs:element>
<xs:element name="CtlTargetAddress" type="tr:inetAddress"> <xs:annotation> <xs:documentation>In the "RequestMetadata" element, it specifies the host address requested to be used in the traceroute measurement. In the "MeasurementMetadata" element, it specifies the host address used in the traceroute measurement. The host address type can be determined by examining the "inetAddress" type name and the corresponding element value.</xs:documentation> </xs:annotation> </xs:element>
<xs:element default="false" name="CtlBypassRouteTable" type="xs:boolean"> <xs:annotation> <xs:documentation>In the "RequestMetadata" element specifies if the optional bypassing of the route table was enabled or not. In the "MeasurementMetadata" element, specifies if the optional bypassing of the route table was enabled or not. If enabled, the normal routing tables will be bypassed and the probes will be sent directly to a host on an attached network. If the host is not on a directly attached network, an error is returned. This option can be used to perform the traceroute measurement to a local host through an interface that has no route defined. This object can be used when the setsockopt SOL_SOCKET SO_DONTROUTE option is supported and set (see the POSIX standard IEEE.1003-1G.1997). </xs:documentation> </xs:annotation> </xs:element>
<xs:element default="false" name="CtlBypassRouteTable" type="xs:boolean"> <xs:annotation> <xs:documentation>In the "RequestMetadata" element specifies if the optional bypassing of the route table was enabled or not. In the "MeasurementMetadata" element, specifies if the optional bypassing of the route table was enabled or not. If enabled, the normal routing tables will be bypassed and the probes will be sent directly to a host on an attached network. If the host is not on a directly attached network, an error is returned. This option can be used to perform the traceroute measurement to a local host through an interface that has no route defined. This object can be used when the setsockopt SOL_SOCKET SO_DONTROUTE option is supported and set (see the POSIX standard IEEE.1003-1G.1997). </xs:documentation> </xs:annotation> </xs:element>
<xs:element default="0" name="CtlProbeDataSize"> <xs:annotation> <xs:documentation>Specifies the size of the probes of a traceroute measurement in octets (requested if in the "RequestMetadata" element, actually used if in the "MeasurementMetadata" element). If UDP datagrams are used as probes, then the value contained in this object is exact. If another protocol is used to transmit probes (i.e., TCP or ICMP) for which the specified size is not appropriate, then the implementation can use whatever size (appropriate to the method) is closest to the specified size. The maximum value for this object is computed by subtracting the smallest possible IP header size of 20 octets (IPv4 header with no options) and the
<xs:element default=“0”name=“CtlProbeDataSize”><xs:annotation><xs:documentation>指定跟踪路由测量的探测大小(如果在“RequestMetadata”元素中请求,如果在“MeasurementMetadata”元素中实际使用)。如果UDP数据报用作探测,则此对象中包含的值是精确的。如果使用另一个协议来传输指定大小不合适的探测(即TCP或ICMP),则实现可以使用最接近指定大小的任何大小(适用于该方法)。此对象的最大值是通过减去可能的最小IP头大小20个八位字节(IPv4头不带选项)和
UDP header size of 8 octets from the maximum IP packet size. An IP packet has a maximum size of 65535 octets (excluding IPv6 jumbograms).</xs:documentation> </xs:annotation>
UDP header size of 8 octets from the maximum IP packet size. An IP packet has a maximum size of 65535 octets (excluding IPv6 jumbograms).</xs:documentation> </xs:annotation>
<xs:simpleType> <xs:restriction base="xs:unsignedShort"> <xs:maxInclusive value="65507"/> </xs:restriction> </xs:simpleType> </xs:element>
<xs:simpleType> <xs:restriction base="xs:unsignedShort"> <xs:maxInclusive value="65507"/> </xs:restriction> </xs:simpleType> </xs:element>
<xs:element default="3" name="CtlTimeOut"> <xs:annotation> <xs:documentation>Specifies the timeout value, in seconds, for each probe of a traceroute measurement (requested if in the "RequestMetadata" element, actually used if in the "MeasurementMetadata" element).</xs:documentation> </xs:annotation>
<xs:element default="3" name="CtlTimeOut"> <xs:annotation> <xs:documentation>Specifies the timeout value, in seconds, for each probe of a traceroute measurement (requested if in the "RequestMetadata" element, actually used if in the "MeasurementMetadata" element).</xs:documentation> </xs:annotation>
<xs:simpleType> <xs:restriction base="xs:unsignedByte"> <xs:minInclusive value="1"/>
<xs:simpleType> <xs:restriction base="xs:unsignedByte"> <xs:minInclusive value="1"/>
<xs:maxInclusive value="60"/> </xs:restriction> </xs:simpleType> </xs:element>
<xs:maxInclusive value="60"/> </xs:restriction> </xs:simpleType> </xs:element>
<xs:element default="3" name="CtlProbesPerHop"> <xs:annotation> <xs:documentation>Specifies the number of probes with the same time-to-live (TTL) value that are sent for each host (requested if in the "RequestMetadata" element, actually used if in the "MeasurementMetadata" element).</xs:documentation> </xs:annotation>
<xs:element default="3" name="CtlProbesPerHop"> <xs:annotation> <xs:documentation>Specifies the number of probes with the same time-to-live (TTL) value that are sent for each host (requested if in the "RequestMetadata" element, actually used if in the "MeasurementMetadata" element).</xs:documentation> </xs:annotation>
<xs:simpleType> <xs:restriction base="xs:unsignedByte"> <xs:minInclusive value="1"/>
<xs:simpleType> <xs:restriction base="xs:unsignedByte"> <xs:minInclusive value="1"/>
<xs:maxInclusive value="10"/> </xs:restriction> </xs:simpleType> </xs:element>
<xs:maxInclusive value="10"/> </xs:restriction> </xs:simpleType> </xs:element>
<xs:element default="33434" name="CtlPort"> <xs:annotation> <xs:documentation>Specifies the base port used by the traceroute measurement (requested if in the "RequestMetadata" element, actually used if in the "MeasurementMetadata" element).</xs:documentation> </xs:annotation>
<xs:element default="33434" name="CtlPort"> <xs:annotation> <xs:documentation>Specifies the base port used by the traceroute measurement (requested if in the "RequestMetadata" element, actually used if in the "MeasurementMetadata" element).</xs:documentation> </xs:annotation>
<xs:simpleType> <xs:restriction base="xs:unsignedShort"> <xs:minInclusive value="1"/> </xs:restriction> </xs:simpleType> </xs:element>
<xs:simpleType> <xs:restriction base="xs:unsignedShort"> <xs:minInclusive value="1"/> </xs:restriction> </xs:simpleType> </xs:element>
<xs:element default="30" name="CtlMaxTtl" type="tr:u8nonzero"> <xs:annotation> <xs:documentation>Specifies the maximum TTL value for the traceroute measurement (requested if in the "RequestMetadata" element, actually used if in the "MeasurementMetadata" element).</xs:documentation> </xs:annotation> </xs:element>
<xs:element default="30" name="CtlMaxTtl" type="tr:u8nonzero"> <xs:annotation> <xs:documentation>Specifies the maximum TTL value for the traceroute measurement (requested if in the "RequestMetadata" element, actually used if in the "MeasurementMetadata" element).</xs:documentation> </xs:annotation> </xs:element>
<xs:element default="0" name="CtlDSField" type="xs:unsignedByte"> <xs:annotation> <xs:documentation>Specifies the value that was requested to be stored in the Differentiated Services (DS) field in the traceroute probe (if in the "RequestMetadata" element). Specifies the value that was stored in the Differentiated Services (DS) field in the traceroute probe (if in the "MeasurementMetadata" element). The DS field is defined as the Type of Service (TOS) octet in an IPv4 header or as the Traffic Class octet in an IPv6 header (see Section 7 of [RFC2460]). The value of this object must be a decimal integer in the range from 0 to 255. This option can be used to determine what effect an explicit DS field setting has on a traceroute measurement and its probes. Not all values are legal or meaningful. Useful TOS octet values are probably 16 (low delay) and 8 (high throughput). Further references can be found in [RFC2474] for the definition of the Differentiated Services (DS) field and in [RFC1812] Section 5.3.2 for Type of Service (TOS).</xs:documentation> </xs:annotation> </xs:element>
<xs:element default="0" name="CtlDSField" type="xs:unsignedByte"> <xs:annotation> <xs:documentation>Specifies the value that was requested to be stored in the Differentiated Services (DS) field in the traceroute probe (if in the "RequestMetadata" element). Specifies the value that was stored in the Differentiated Services (DS) field in the traceroute probe (if in the "MeasurementMetadata" element). The DS field is defined as the Type of Service (TOS) octet in an IPv4 header or as the Traffic Class octet in an IPv6 header (see Section 7 of [RFC2460]). The value of this object must be a decimal integer in the range from 0 to 255. This option can be used to determine what effect an explicit DS field setting has on a traceroute measurement and its probes. Not all values are legal or meaningful. Useful TOS octet values are probably 16 (low delay) and 8 (high throughput). Further references can be found in [RFC2474] for the definition of the Differentiated Services (DS) field and in [RFC1812] Section 5.3.2 for Type of Service (TOS).</xs:documentation> </xs:annotation> </xs:element>
<xs:element name="CtlSourceAddress" type="tr:inetAddressWithoutDns"> <xs:annotation> <xs:documentation>Specifies the IP address (which has to be given as an IP number, not a hostname) as the source address in traceroute probes (requested if in the "RequestMetadata" element, actually used if in the "MeasurementMetadata" element). On hosts with more than one IP address, this option can be used in the "RequestMetadata" element to force the source address to be something other than the primary IP address of the interface the probe is sent on; the value "unknown" means the default address will be used. The address type can be determined by examining the "inetAddress" type name and the corresponding element value.</xs:documentation> </xs:annotation> </xs:element>
<xs:element name="CtlSourceAddress" type="tr:inetAddressWithoutDns"> <xs:annotation> <xs:documentation>Specifies the IP address (which has to be given as an IP number, not a hostname) as the source address in traceroute probes (requested if in the "RequestMetadata" element, actually used if in the "MeasurementMetadata" element). On hosts with more than one IP address, this option can be used in the "RequestMetadata" element to force the source address to be something other than the primary IP address of the interface the probe is sent on; the value "unknown" means the default address will be used. The address type can be determined by examining the "inetAddress" type name and the corresponding element value.</xs:documentation> </xs:annotation> </xs:element>
<xs:element default="0" name="CtlIfIndex" type="xs:unsignedInt"> <xs:annotation> <xs:documentation>Specifies the interface index as defined in [RFC2863] that is requested to be used in the traceroute measurement for sending the traceroute probes (if in the "RequestMetadata" element). A value of 0 indicates that no specific interface is requested. Specifies the interface index actually used (if in the "MeasurementMetadata" element).</xs:documentation> </xs:annotation> </xs:element>
<xs:element default="0" name="CtlIfIndex" type="xs:unsignedInt"> <xs:annotation> <xs:documentation>Specifies the interface index as defined in [RFC2863] that is requested to be used in the traceroute measurement for sending the traceroute probes (if in the "RequestMetadata" element). A value of 0 indicates that no specific interface is requested. Specifies the interface index actually used (if in the "MeasurementMetadata" element).</xs:documentation> </xs:annotation> </xs:element>
<xs:element minOccurs="0" name="CtlMiscOptions" type="tr:string255"> <xs:annotation> <xs:documentation>Specifies implementation-dependent options (requested if in the "RequestMetadata" element, actually used if in the "MeasurementMetadata" element).</xs:documentation> </xs:annotation> </xs:element>
<xs:element minOccurs="0" name="CtlMiscOptions" type="tr:string255"> <xs:annotation> <xs:documentation>Specifies implementation-dependent options (requested if in the "RequestMetadata" element, actually used if in the "MeasurementMetadata" element).</xs:documentation> </xs:annotation> </xs:element>
<xs:element default="5" name="CtlMaxFailures" type="xs:unsignedByte"> <xs:annotation> <xs:documentation>Specifies the maximum number of consecutive timeouts allowed before terminating a traceroute measurement (requested if in the "RequestMetadata" element, actually used if in the
<xs:element default="5" name="CtlMaxFailures" type="xs:unsignedByte"> <xs:annotation> <xs:documentation>Specifies the maximum number of consecutive timeouts allowed before terminating a traceroute measurement (requested if in the "RequestMetadata" element, actually used if in the
"MeasurementMetadata" element). A value of either 255 (maximum hop count/possible TTL value) or 0 indicates that the function of terminating a remote traceroute measurement when a specific number of consecutive timeouts are detected was disabled. This element is included to give full compatibility with [RFC4560]. No known implementation of traceroute currently supports it.</xs:documentation> </xs:annotation> </xs:element>
"MeasurementMetadata" element). A value of either 255 (maximum hop count/possible TTL value) or 0 indicates that the function of terminating a remote traceroute measurement when a specific number of consecutive timeouts are detected was disabled. This element is included to give full compatibility with [RFC4560]. No known implementation of traceroute currently supports it.</xs:documentation> </xs:annotation> </xs:element>
<xs:element default="false" name="CtlDontFragment" type="xs:boolean"> <xs:annotation> <xs:documentation>Specifies if the don't fragment (DF) flag in the IP header for a probe was enabled or not (if in the "MeasurementMetadata" element). If in the "RequestMetadata", it specifies if the flag was requested to be enabled or not. Setting the DF flag can be used for performing a manual PATH MTU test.</xs:documentation> </xs:annotation> </xs:element>
<xs:element default="false" name="CtlDontFragment" type="xs:boolean"> <xs:annotation> <xs:documentation>Specifies if the don't fragment (DF) flag in the IP header for a probe was enabled or not (if in the "MeasurementMetadata" element). If in the "RequestMetadata", it specifies if the flag was requested to be enabled or not. Setting the DF flag can be used for performing a manual PATH MTU test.</xs:documentation> </xs:annotation> </xs:element>
<xs:element default="1" name="CtlInitialTtl" type="tr:u8nonzero"> <xs:annotation> <xs:documentation>Specifies the initial TTL value for a traceroute measurement (requested if in the "RequestMetadata" element, actually used if in the "MeasurementMetadata" element). Such TTL setting is intended to bypass the initial (often well-known) portion of a path.</xs:documentation> </xs:annotation> </xs:element>
<xs:element default="1" name="CtlInitialTtl" type="tr:u8nonzero"> <xs:annotation> <xs:documentation>Specifies the initial TTL value for a traceroute measurement (requested if in the "RequestMetadata" element, actually used if in the "MeasurementMetadata" element). Such TTL setting is intended to bypass the initial (often well-known) portion of a path.</xs:documentation> </xs:annotation> </xs:element>
<xs:element maxOccurs="1" minOccurs="0" name="CtlDescr" type="tr:string255"> <xs:annotation> <xs:documentation>Provides a description of the traceroute measurement.</xs:documentation> </xs:annotation> </xs:element>
<xs:element maxOccurs="1" minOccurs="0" name="CtlDescr" type="tr:string255"> <xs:annotation> <xs:documentation>Provides a description of the traceroute measurement.</xs:documentation> </xs:annotation> </xs:element>
<xs:element name="CtlType" type="tr:_CtlType"> <xs:annotation> <xs:documentation>Specifies the implementation method used for the traceroute measurement (requested if in the "RequestMetadata" element, actually used if in the
<xs:element name="CtlType" type="tr:_CtlType"> <xs:annotation> <xs:documentation>Specifies the implementation method used for the traceroute measurement (requested if in the "RequestMetadata" element, actually used if in the
"MeasurementMetadata" element). It specifies if the traceroute is using TCP, UDP, ICMP, or other types of probes. It is possible to specify other types of probes by using an element specified in another schema with a different namespace.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType>
"MeasurementMetadata" element). It specifies if the traceroute is using TCP, UDP, ICMP, or other types of probes. It is possible to specify other types of probes by using an element specified in another schema with a different namespace.</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType>
<xs:complexType name="_Measurement"> <xs:annotation> <xs:documentation>Contains the actual traceroute measurement results.</xs:documentation> </xs:annotation>
<xs:complexType name="_Measurement"> <xs:annotation> <xs:documentation>Contains the actual traceroute measurement results.</xs:documentation> </xs:annotation>
<xs:sequence> <xs:element name="TestName" type="tr:string255"> <xs:annotation> <xs:documentation>Specifies the name of a traceroute measurement. This is not necessarily unique within any well-defined scope (e.g., a specific host, initiator of the traceroute measurement).</xs:documentation> </xs:annotation> </xs:element>
<xs:sequence> <xs:element name="TestName" type="tr:string255"> <xs:annotation> <xs:documentation>Specifies the name of a traceroute measurement. This is not necessarily unique within any well-defined scope (e.g., a specific host, initiator of the traceroute measurement).</xs:documentation> </xs:annotation> </xs:element>
<xs:element name="ResultsStartDateAndTime" type="xs:dateTime"> <xs:annotation> <xs:documentation>Specifies the date and start time of the traceroute measurement. This is the time when the first probe was seen at the sending interface.</xs:documentation> </xs:annotation> </xs:element>
<xs:element name="ResultsStartDateAndTime" type="xs:dateTime"> <xs:annotation> <xs:documentation>Specifies the date and start time of the traceroute measurement. This is the time when the first probe was seen at the sending interface.</xs:documentation> </xs:annotation> </xs:element>
<xs:element name="ResultsIpTgtAddr" type="tr:inetAddressWithoutDns"> <xs:annotation> <xs:documentation>Specifies the IP address associated with a "CtlTargetAddress" value when the destination address is specified as a DNS name. The value of this object should be "unknown" if a DNS name is not specified or if a specified DNS name fails to resolve. The address type can be determined by examining the "inetAddress" type name and the corresponding element value.</xs:documentation> </xs:annotation> </xs:element>
<xs:element name="ResultsIpTgtAddr" type="tr:inetAddressWithoutDns"> <xs:annotation> <xs:documentation>Specifies the IP address associated with a "CtlTargetAddress" value when the destination address is specified as a DNS name. The value of this object should be "unknown" if a DNS name is not specified or if a specified DNS name fails to resolve. The address type can be determined by examining the "inetAddress" type name and the corresponding element value.</xs:documentation> </xs:annotation> </xs:element>
<xs:element name="ProbeResults" type="tr:_ProbeResults"/>
<xs:element name="ProbeResults" type="tr:_ProbeResults"/>
<xs:element name="ResultsEndDateAndTime" type="xs:dateTime"> <xs:annotation> <xs:documentation>Specifies the date and end time of the traceroute measurement. It is either the time when the response to the last probe of the traceroute measurement was received or the time when the last probe of the traceroute measurement was sent plus the relative timeout (in case of a missing response).</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType>
<xs:element name="ResultsEndDateAndTime" type="xs:dateTime"> <xs:annotation> <xs:documentation>Specifies the date and end time of the traceroute measurement. It is either the time when the response to the last probe of the traceroute measurement was received or the time when the last probe of the traceroute measurement was sent plus the relative timeout (in case of a missing response).</xs:documentation> </xs:annotation> </xs:element> </xs:sequence> </xs:complexType>
<xs:element name="traceRoute"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="RequestMetadata" type="tr:_Metadata"/>
<xs:element name="traceRoute"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="RequestMetadata" type="tr:_Metadata"/>
<xs:element maxOccurs="2147483647" minOccurs="0" name="Measurement"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="MeasurementMetadata" type="tr:_Metadata"/>
<xs:element maxOccurs="2147483647" minOccurs="0" name="Measurement"> <xs:complexType> <xs:sequence> <xs:element minOccurs="0" name="MeasurementMetadata" type="tr:_Metadata"/>
<xs:element maxOccurs="2147483647" minOccurs="0" name="MeasurementResult" type="tr:_Measurement"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
<xs:element maxOccurs="2147483647" minOccurs="0" name="MeasurementResult" type="tr:_Measurement"/> </xs:sequence> </xs:complexType> </xs:element> </xs:sequence> </xs:complexType> </xs:element> </xs:schema>
Security considerations discussed in this section are grouped into considerations related to conducting traceroute measurements and considerations related to storing and transmitting traceroute measurement information.
本节讨论的安全注意事项分为与执行跟踪路由测量相关的注意事项和与存储和传输跟踪路由测量信息相关的注意事项。
This memo does not specify an implementation of a traceroute tool. Neither does it specify a certain procedure for storing traceroute measurement information. Still, it is considered desirable to discuss related security issues below.
此备忘录未指定跟踪路由工具的实现。它也没有指定存储跟踪路由测量信息的特定程序。尽管如此,我们还是希望在下面讨论相关的安全问题。
Conducting Internet measurements can raise both security and privacy concerns. Traceroute measurements, in which traffic is injected into the network, can be abused for denial-of-service attacks disguised as legitimate measurement activity.
进行互联网测量会引起安全和隐私问题。Traceroute测量(将流量注入网络)可能被滥用,用于伪装为合法测量活动的拒绝服务攻击。
Measurement parameters MUST be carefully selected so that the measurements inject trivial amounts of additional traffic into the networks they measure. If they inject "too much" traffic, they can skew the results of the measurement, and in extreme cases cause congestion and denial of service.
必须仔细选择测量参数,以便测量将少量的额外流量注入到它们测量的网络中。如果它们注入了“太多”的流量,它们可能会扭曲测量结果,在极端情况下会导致拥塞和拒绝服务。
The measurements themselves could be harmed by routers giving measurement traffic a different priority than "normal" traffic, or by an attacker injecting artificial measurement traffic. If routers can recognize measurement traffic and treat it separately, the measurements will not reflect actual user traffic. If an attacker injects artificial traffic that is accepted as legitimate, the loss rate will be artificially lowered. Therefore, the measurement methodologies SHOULD include appropriate techniques to reduce the probability that measurement traffic can be distinguished from "normal" traffic.
路由器赋予测量流量不同于“正常”流量的优先级,或者攻击者注入人工测量流量,可能会损害测量本身。如果路由器能够识别测量流量并单独处理,那么测量将不会反映实际的用户流量。如果攻击者注入被认为合法的人工流量,则损失率将被人为降低。因此,测量方法应包括适当的技术,以降低测量流量可与“正常”流量区分的概率。
Authentication techniques, such as digital signatures, may be used where appropriate to guard against injected traffic attacks.
在适当的情况下,可以使用诸如数字签名之类的认证技术来防止注入流量攻击。
Traceroute measurement information is not considered highly sensitive. Still, it may contain sensitive information on network paths, routing states, used IP addresses, and roundtrip times that operators of networks may want to protect for business or security reasons.
跟踪路由测量信息不被认为是高度敏感的。不过,它可能包含有关网络路径、路由状态、使用的IP地址和往返时间的敏感信息,网络运营商出于业务或安全原因可能需要保护这些信息。
It is thus important to control access to information acquired by conducting traceroute measurements, particularly when transmitting it over a networks but also when storing it. It is RECOMMENDED that a transmission of traceroute measurement information over a network uses appropriate protection mechanisms for preserving privacy, integrity, and authenticity. It is further RECOMMENDED that secure authentication and authorization are used for protecting stored traceroute measurement information.
因此,控制对通过跟踪路由测量获得的信息的访问非常重要,尤其是在通过网络传输信息时,以及在存储信息时。建议通过网络传输跟踪路由测量信息时使用适当的保护机制来保护隐私、完整性和真实性。进一步建议使用安全身份验证和授权来保护存储的跟踪路由测量信息。
This document uses URNs to describe an XML namespace and an XML schema for traceroute measurement information storing and transmission, conforming to a registry mechanism described in [RFC3688]. Two URI assignments have been made.
本文档使用URN描述用于跟踪路由测量信息存储和传输的XML名称空间和XML模式,符合[RFC3688]中描述的注册表机制。已经进行了两次URI分配。
1. Registration for the IPPM traceroute measurements namespace
1. IPPM跟踪路由测量命名空间的注册
* URI: urn:ietf:params:xml:ns:traceroute-1.0
* URI:urn:ietf:params:xml:ns:traceroute-1.0
* Registrant Contact: IESG
* 注册联系人:IESG
* XML: None. Namespace URIs do not represent an XML.
* XML:没有。命名空间URI不表示XML。
2. Registration for the IPPM traceroute measurements schema
2. IPPM跟踪路由测量方案的注册
* URI: urn:ietf:params:xml:schema:traceroute-1.0
* URI:urn:ietf:params:xml:schema:traceroute-1.0
* Registrant Contact: IESG
* 注册联系人:IESG
* XML: See Section 7 of this document.
* XML:参见本文档第7节。
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate Requirement Levels", BCP 14, RFC 2119, March 1997.
[RFC2119]Bradner,S.,“RFC中用于表示需求水平的关键词”,BCP 14,RFC 2119,1997年3月。
[RFC2460] Deering, S. and R. Hinden, "Internet Protocol, Version 6 (IPv6) Specification", RFC 2460, December 1998.
[RFC2460]Deering,S.和R.Hinden,“互联网协议,第6版(IPv6)规范”,RFC 2460,1998年12月。
[RFC2863] McCloghrie, K. and F. Kastenholz, "The Interfaces Group MIB", RFC 2863, June 2000.
[RFC2863]McCloghrie,K.和F.Kastenholz,“接口组MIB”,RFC 28632000年6月。
[RFC3032] Rosen, E., Tappan, D., Fedorkow, G., Rekhter, Y., Farinacci, D., Li, T., and A. Conta, "MPLS Label Stack Encoding", RFC 3032, January 2001.
[RFC3032]Rosen,E.,Tappan,D.,Fedorkow,G.,Rekhter,Y.,Farinaci,D.,Li,T.,和A.Conta,“MPLS标签堆栈编码”,RFC 3032,2001年1月。
[RFC3339] Klyne, G., Ed. and C. Newman, "Date and Time on the Internet: Timestamps", RFC 3339, July 2002.
[RFC3339]Klyne,G.,Ed.和C.Newman,“互联网上的日期和时间:时间戳”,RFC33392002年7月。
[RFC3629] Yergeau, F., "UTF-8, a transformation format of ISO 10646", STD 63, RFC 3629, November 2003.
[RFC3629]Yergeau,F.,“UTF-8,ISO 10646的转换格式”,STD 63,RFC 3629,2003年11月。
[RFC4001] Daniele, M., Haberman, B., Routhier, S., and J. Schoenwaelder, "Textual Conventions for Internet Network Addresses", RFC 4001, February 2005.
[RFC4001]Daniele,M.,Haberman,B.,Routhier,S.,和J.Schoenwaeld,“互联网网络地址的文本约定”,RFC 4001,2005年2月。
[RFC4560] Quittek, J. and K. White, "Definitions of Managed Objects for Remote Ping, Traceroute, and Lookup Operations", RFC 4560, June 2006.
[RFC4560]Quittek,J.和K.White,“远程Ping、跟踪路由和查找操作的托管对象定义”,RFC 4560,2006年6月。
[RFC5198] Klensin, J. and M. Padlipsky, "Unicode Format for Network Interchange", RFC 5198, March 2008.
[RFC5198]Klensin,J.和M.Padlipsky,“网络交换的Unicode格式”,RFC 51982008年3月。
[IEEE.1003-1G.1997] Institute of Electrical and Electronics Engineers, "Protocol Independent Interfaces", IEEE Standard 1003.1G, March 1997.
[IEEE.1003-1G.1997]电气和电子工程师协会,“协议独立接口”,IEEE标准1003.1G,1997年3月。
[IPFIX] Sadasivan, G., "Architecture for IP Flow Information Export", Work in Progress, September 2006.
[IPFIX]Sadasivan,G.,“IP流信息导出的体系结构”,正在进行的工作,2006年9月。
[RFC1812] Baker, F., "Requirements for IP Version 4 Routers", RFC 1812, June 1995.
[RFC1812]Baker,F.,“IP版本4路由器的要求”,RFC1812,1995年6月。
[RFC2474] Nichols, K., Blake, S., Baker, F., and D. Black, "Definition of the Differentiated Services Field (DS Field) in the IPv4 and IPv6 Headers", RFC 2474, December 1998.
[RFC2474]Nichols,K.,Blake,S.,Baker,F.,和D.Black,“IPv4和IPv6头中区分服务字段(DS字段)的定义”,RFC 2474,1998年12月。
[RFC2578] McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., "Structure of Management Information Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.
[RFC2578]McCloghrie,K.,Ed.,Perkins,D.,Ed.,和J.Schoenwaeld,Ed.“管理信息的结构版本2(SMIv2)”,STD 58,RFC 2578,1999年4月。
[RFC2579] McCloghrie, K., Ed., Perkins, D., Ed., and J. Schoenwaelder, Ed., "Textual Conventions for SMIv2", STD 58, RFC 2579, April 1999.
[RFC2579]McCloghrie,K.,Ed.,Perkins,D.,Ed.,和J.Schoenwaeld,Ed.“SMIv2的文本约定”,STD 58,RFC 2579,1999年4月。
[RFC2580] McCloghrie, K., Perkins, D., and J. Schoenwaelder, "Conformance Statements for SMIv2", STD 58, RFC 2580, April 1999.
[RFC2580]McCloghrie,K.,Perkins,D.,和J.Schoenwaeld,“SMIv2的一致性声明”,STD 58,RFC 25801999年4月。
[RFC3688] Mealling, M., "The IETF XML Registry", BCP 81, RFC 3688, January 2004.
[RFC3688]Mealling,M.“IETF XML注册表”,BCP 81,RFC 3688,2004年1月。
[RFC5101] Claise, B., "Specification of the IP Flow Information Export (IPFIX) Protocol for the Exchange of IP Traffic Flow Information", RFC 5101, January 2008.
[RFC5101]Claise,B.,“用于交换IP流量信息的IP流量信息导出(IPFIX)协议规范”,RFC 5101,2008年1月。
[RFC5102] Quittek, J., Bryant, S., Claise, B., Aitken, P., and J. Meyer, "Information Model for IP Flow Information Export", RFC 5102, January 2008.
[RFC5102]Quitek,J.,Bryant,S.,Claise,B.,Aitken,P.,和J.Meyer,“IP流信息导出的信息模型”,RFC 5102,2008年1月。
[W3C.REC-xml-20060816] Bray, T., Paoli, J., Maler, E., Sperberg-McQueen, C., and F. Yergeau, "Extensible Markup Language (XML) 1.0 (Fourth Edition)", World Wide Web Consortium FirstEdition REC-xml-20060816, August 2006, <http://www.w3.org/TR/2006/REC-xml-20060816>.
[W3C.REC-xml-20060816]Bray,T.,Paoli,J.,Maler,E.,Sperberg McQueen,C.,和F.Yergeau,“可扩展标记语言(xml)1.0(第四版)”,万维网联盟第一版REC-xml-20060816,2006年8月<http://www.w3.org/TR/2006/REC-xml-20060816>.
[W3C.REC-xmlschema-2-20041028] Biron, P. and A. Malhotra, "XML Schema Part 2: Datatypes Second Edition", World Wide Web Consortium Recommendation REC-xmlschema-2-20041028, October 2004, <http://www.w3.org/TR/2004/REC-xmlschema-2-20041028>.
[W3C.REC-xmlschema-2-20041028]Biron,P.和A.Malhotra,“XML模式第2部分:数据类型第二版”,万维网联盟建议REC-xmlschema-2-20041028,2004年10月<http://www.w3.org/TR/2004/REC-xmlschema-2-20041028>.
This section lists traceroute measurement configuration parameters as well as their defaults on various platforms and illustrates how widely they may vary. This document considers four major traceroute tool implementations and compares them based on configurable parameters and default values. The LINUX (SUSE 9.1), BSD (FreeBSD 7.0), and UNIX (SunOS 5.9) implementations are based on UDP datagrams, while the WINDOWS (XP SP2) one uses ICMP Echoes. The comparison is summarized in the following table, where an N/A in the option column means that such parameter is not configurable for the specific implementation. A comprehensive comparison of available implementations is outside the scope of this document; however, by sampling a few different implementations, it can be observed that they can differ quite significantly in terms of configurable parameters and also default values. Note that in the following table only those options that are available in at least two of the considered implementations are reported.
本节列出了跟踪路由测量配置参数及其在各种平台上的默认值,并说明了它们的变化范围。本文档考虑了四种主要的traceroute工具实现,并基于可配置参数和默认值对它们进行了比较。LINUX(SUSE 9.1)、BSD(FreeBSD 7.0)和UNIX(SunOS 5.9)实现基于UDP数据报,而WINDOWS(XP SP2)则使用ICMP回显。下表总结了比较结果,其中选项列中的N/A表示该参数对于特定实现不可配置。对可用实现的全面比较不在本文件范围内;然而,通过对几个不同的实现进行采样,可以发现它们在可配置参数和默认值方面可能存在很大差异。请注意,在下表中,仅报告了至少两种所考虑的实现中可用的选项。
+---------------------------------------------------------+ | OS |Option| Description | Default | +--------+------+-------------------------------+---------+ | LINUX | -m |Specify the maximum TTL used | 30 | |--------+------|in traceroute probes. |---------| | FreeBSD| -m | | OS var | |--------+------| |---------| | UNIX | -m | | 30 | |--------+------| |---------| | WINDOWS| -h | | 30 | +--------+------+-------------------------------+---------+ | LINUX | -n |Display hop addresses | - | |--------+------|numerically rather than |---------| | FreeBSD| -n |symbolically. | - | |--------+------| |---------| | UNIX | -n | | - | |--------+------| |---------| | WINDOWS| -d | | - | +--------+------+-------------------------------+---------+ | LINUX | -w |Set the time to wait for a | 3 sec | |--------+------|response to a probe. |---------| | FreeBSD| -w | | 5 sec | |--------+------| |---------| | UNIX | -w | | 5 sec | |--------+------| |---------| | WINDOWS| -w | | 4 sec |
+---------------------------------------------------------+ | OS |Option| Description | Default | +--------+------+-------------------------------+---------+ | LINUX | -m |Specify the maximum TTL used | 30 | |--------+------|in traceroute probes. |---------| | FreeBSD| -m | | OS var | |--------+------| |---------| | UNIX | -m | | 30 | |--------+------| |---------| | WINDOWS| -h | | 30 | +--------+------+-------------------------------+---------+ | LINUX | -n |Display hop addresses | - | |--------+------|numerically rather than |---------| | FreeBSD| -n |symbolically. | - | |--------+------| |---------| | UNIX | -n | | - | |--------+------| |---------| | WINDOWS| -d | | - | +--------+------+-------------------------------+---------+ | LINUX | -w |Set the time to wait for a | 3 sec | |--------+------|response to a probe. |---------| | FreeBSD| -w | | 5 sec | |--------+------| |---------| | UNIX | -w | | 5 sec | |--------+------| |---------| | WINDOWS| -w | | 4 sec |
+--------+------+-------------------------------+---------+ | LINUX | N/A |Specify a loose source route | - | |--------+------|gateway (to direct the |---------| | FreeBSD| -g |traceroute probes through | - | |--------+------|routers not necessarily in |---------| | UNIX | -g | the path). | - | |--------+------| |---------| | WINDOWS| -g | | - | +--------+------+-------------------------------+---------+ | LINUX | -p |Set the base UDP port number | 33434 | |------- +------|used in traceroute probes |---------| | FreeBSD| -p |(UDP port = base + nhops - 1). | 33434 | |--------+------| |---------| | UNIX | -p | | 33434 | |--------+------| |---------| | WINDOWS| N/A | | - | +--------+------+-------------------------------+---------+ | LINUX | -q |Set the number of probes per | 3 | |--------+------|TTL. |---------| | FreeBSD| -q | | 3 | |--------+------| |---------| | UNIX | -q | | 3 | |--------+------| |---------| | WINDOWS| N/A | | 3 | +--------+------+-------------------------------+---------+ | LINUX | -S |Set the IP source address in |IP | |--------+------|outgoing probes to the |address | | FreeBSD| -s |specified value. |of the | |--------+------| |out | | UNIX | -s | |interface| |--------+------| | | | WINDOWS| N/A | | | +--------+------+-------------------------------+---------+ | LINUX | -t |Set the Type of Service (TOS) | 0 | |--------+------|in the probes to the specified |---------| | FreeBSD| -t |value. | 0 | |--------+------| |---------| | UNIX | -t | | 0 | |--------+------| |---------| | WINDOWS| N/A | | 0 | +--------+------+-------------------------------+---------+ | LINUX | -v |Verbose output: received ICMP | - | |--------+------|packets other than |---------| | FreeBSD| -v |TIME_EXCEEDED and | - | |--------+------|UNREACHABLE are listed. |---------| | UNIX | -v | | - | |--------+------| |---------| | WINDOWS| N/A | | - |
+--------+------+-------------------------------+---------+ | LINUX | N/A |Specify a loose source route | - | |--------+------|gateway (to direct the |---------| | FreeBSD| -g |traceroute probes through | - | |--------+------|routers not necessarily in |---------| | UNIX | -g | the path). | - | |--------+------| |---------| | WINDOWS| -g | | - | +--------+------+-------------------------------+---------+ | LINUX | -p |Set the base UDP port number | 33434 | |------- +------|used in traceroute probes |---------| | FreeBSD| -p |(UDP port = base + nhops - 1). | 33434 | |--------+------| |---------| | UNIX | -p | | 33434 | |--------+------| |---------| | WINDOWS| N/A | | - | +--------+------+-------------------------------+---------+ | LINUX | -q |Set the number of probes per | 3 | |--------+------|TTL. |---------| | FreeBSD| -q | | 3 | |--------+------| |---------| | UNIX | -q | | 3 | |--------+------| |---------| | WINDOWS| N/A | | 3 | +--------+------+-------------------------------+---------+ | LINUX | -S |Set the IP source address in |IP | |--------+------|outgoing probes to the |address | | FreeBSD| -s |specified value. |of the | |--------+------| |out | | UNIX | -s | |interface| |--------+------| | | | WINDOWS| N/A | | | +--------+------+-------------------------------+---------+ | LINUX | -t |Set the Type of Service (TOS) | 0 | |--------+------|in the probes to the specified |---------| | FreeBSD| -t |value. | 0 | |--------+------| |---------| | UNIX | -t | | 0 | |--------+------| |---------| | WINDOWS| N/A | | 0 | +--------+------+-------------------------------+---------+ | LINUX | -v |Verbose output: received ICMP | - | |--------+------|packets other than |---------| | FreeBSD| -v |TIME_EXCEEDED and | - | |--------+------|UNREACHABLE are listed. |---------| | UNIX | -v | | - | |--------+------| |---------| | WINDOWS| N/A | | - |
+--------+------+-------------------------------+---------+ | LINUX | N/A |Set the time (in msec) to | - | |--------+------|pause between probes. |---------| | FreeBSD| -z | | 0 | |--------+------| |---------| | UNIX | -P | | 0 | |--------+------| |---------| | WINDOWS| N/A | | - | +--------+------+-------------------------------+---------+ | LINUX | -r |Bypass the normal routing | - | |--------+------|tables and send directly to a |---------| | FreeBSD| -r |host on attached network. | - | |--------+------| |---------| | UNIX | -r | | - | |--------+------| |---------| | WINDOWS| N/A | | - | +--------+------+-------------------------------+---------+ | LINUX | -f |Set the initial TTL for the | 1 | |--------+------|first probe. |---------| | FreeBSD| -f | | 1 | |--------+------| |---------| | UNIX | -f | | 1 | |--------+------| |---------| | WINDOWS| N/A | | 1 | +--------+------+-------------------------------+---------+ | LINUX | -F |Set the "don't fragment" bit. | - | |--------+------| |---------| | FreeBSD| -F | | - | |--------+------| |---------| | UNIX | -F | | - | |--------+------| |---------| | WINDOWS| N/A | | - | +--------+------+-------------------------------+---------+ | LINUX | N/A |Enable socket level debugging. | - | |--------+------| |---------| | FreeBSD| -d | | - | |--------+------| |---------| | UNIX | -d | | - | |--------+------| |---------| | WINDOWS| N/A | | - | +--------+------+-------------------------------+---------+ | LINUX | N/A |Use ICMP Echoes instead of UDP | - | |--------+------|datagrams. |---------| | FreeBSD| -I | | - | |--------+------| |---------| | UNIX | -I | | - | |--------+------| |---------| | WINDOWS| N/A | | - |
+--------+------+-------------------------------+---------+ | LINUX | N/A |Set the time (in msec) to | - | |--------+------|pause between probes. |---------| | FreeBSD| -z | | 0 | |--------+------| |---------| | UNIX | -P | | 0 | |--------+------| |---------| | WINDOWS| N/A | | - | +--------+------+-------------------------------+---------+ | LINUX | -r |Bypass the normal routing | - | |--------+------|tables and send directly to a |---------| | FreeBSD| -r |host on attached network. | - | |--------+------| |---------| | UNIX | -r | | - | |--------+------| |---------| | WINDOWS| N/A | | - | +--------+------+-------------------------------+---------+ | LINUX | -f |Set the initial TTL for the | 1 | |--------+------|first probe. |---------| | FreeBSD| -f | | 1 | |--------+------| |---------| | UNIX | -f | | 1 | |--------+------| |---------| | WINDOWS| N/A | | 1 | +--------+------+-------------------------------+---------+ | LINUX | -F |Set the "don't fragment" bit. | - | |--------+------| |---------| | FreeBSD| -F | | - | |--------+------| |---------| | UNIX | -F | | - | |--------+------| |---------| | WINDOWS| N/A | | - | +--------+------+-------------------------------+---------+ | LINUX | N/A |Enable socket level debugging. | - | |--------+------| |---------| | FreeBSD| -d | | - | |--------+------| |---------| | UNIX | -d | | - | |--------+------| |---------| | WINDOWS| N/A | | - | +--------+------+-------------------------------+---------+ | LINUX | N/A |Use ICMP Echoes instead of UDP | - | |--------+------|datagrams. |---------| | FreeBSD| -I | | - | |--------+------| |---------| | UNIX | -I | | - | |--------+------| |---------| | WINDOWS| N/A | | - |
+--------+------+-------------------------------+---------+ | LINUX | -I |Specify a network interface to | - | |--------+------|obtain the IP address for |---------| | FreeBSD| -i |outgoing IP packets | - | |--------+------|(alternative to option -s). |---------| | UNIX | -i | | - | |--------+------| |---------| | WINDOWS| N/A | | - | +--------+------+-------------------------------+---------+ | LINUX | N/A |Toggle checksum. | - | |--------+------| |---------| | FreeBSD| -x | | - | |--------+------| |---------| | UNIX | -x | | - | |--------+------| |---------| | WINDOWS| N/A | | - | +--------+------+-------------------------------+---------+ | LINUX | - |As optional last parameter, |Depends | |--------+------|LINUX, FreeBSD, and UNIX |on | | FreeBSD| - |implementations allow |implement| |--------+------|specifying the probe datagram |ation. | | UNIX | - |length for outgoing probes. | | |--------+------| | | | WINDOWS| N/A | | | +--------+------+-------------------------------+---------+
+--------+------+-------------------------------+---------+ | LINUX | -I |Specify a network interface to | - | |--------+------|obtain the IP address for |---------| | FreeBSD| -i |outgoing IP packets | - | |--------+------|(alternative to option -s). |---------| | UNIX | -i | | - | |--------+------| |---------| | WINDOWS| N/A | | - | +--------+------+-------------------------------+---------+ | LINUX | N/A |Toggle checksum. | - | |--------+------| |---------| | FreeBSD| -x | | - | |--------+------| |---------| | UNIX | -x | | - | |--------+------| |---------| | WINDOWS| N/A | | - | +--------+------+-------------------------------+---------+ | LINUX | - |As optional last parameter, |Depends | |--------+------|LINUX, FreeBSD, and UNIX |on | | FreeBSD| - |implementations allow |implement| |--------+------|specifying the probe datagram |ation. | | UNIX | - |length for outgoing probes. | | |--------+------| | | | WINDOWS| N/A | | | +--------+------+-------------------------------+---------+
As stated above, the widespread use of firewalls might prevent UDP-or ICMP-based traceroutes to completely trace the path to a destination since traceroute probes might end up being filtered. In some cases, such limitation might be overcome by sending instead TCP packets to specific ports that hosts located behind the firewall are listening for connections on. TCP-based implementations use TCP, SYN, or FIN probes and listen for TIME_EXCEEDED messages, TCP RESET, and other messages from firewalls and gateways on the path. On the other hand, some firewalls filter out TCP SYN packets to prevent denial-of-service attacks; therefore, the actual advantage of using TCP instead of UDP traceroute depends mainly on firewall configurations, which are not known in advance. A detailed analysis of TCP-based traceroute tools and measurements is outside the scope of this document; regardless, for completeness reasons, the information model also supports the storing of TCP-based traceroute measurements.
如上所述,防火墙的广泛使用可能会阻止基于UDP或ICMP的跟踪路由完全跟踪到目标的路径,因为跟踪路由探测可能最终被过滤。在某些情况下,可以通过将TCP数据包发送到位于防火墙后面的主机正在侦听连接的特定端口来克服这种限制。基于TCP的实现使用TCP、SYN或FIN探测,并侦听路径上来自防火墙和网关的超时消息、TCP重置消息和其他消息。另一方面,一些防火墙过滤掉TCP SYN数据包以防止拒绝服务攻击;因此,使用TCP而不是UDP跟踪路由的实际优势主要取决于防火墙配置,这是事先不知道的。基于TCP的跟踪路由工具和测量的详细分析不在本文件范围内;无论如何,出于完整性原因,信息模型还支持存储基于TCP的跟踪路由测量。
B.1. Compatibility between Traceroute Measurement Results and IPPM Metrics
B.1. 跟踪路由测量结果与IPPM指标之间的兼容性
Because of implementation choices, a known inconsistency exists between the round-trip delay metric defined by the IPPM working group in RFC 2681 and the results returned by the current traceroute tool implementations. Unfortunately, it is unlikely that the traceroute tool implementations will implement the standard definition in the near future. The only possibility is therefore to compare results of different traceroute measurements with each other; in order to do this, specifications both of the operating system (name and version) and of the traceroute tool version used were added to the metadata elements in order to help in comparing metrics between two different traceroute measurement results (if run using the same operating system and the same version of the tool). Moreover, the traceroute tool has built-in configurable mechanisms like timeouts and can experience problems related to the crossing of firewalls; therefore, some of the packets that traceroute sends out end up being timeout or filtered. As a consequence, it might not be possible to trace the path to a node or there might not be a complete enough set of probes describing the RTT to reach it.
由于实施方式的选择,IPPM工作组在RFC 2681中定义的往返延迟度量与当前跟踪路由工具实施返回的结果之间存在已知的不一致。不幸的是,traceroute工具实现不太可能在不久的将来实现标准定义。因此,唯一的可能性是相互比较不同示踪路线测量的结果;为此,将操作系统(名称和版本)和所用跟踪路由工具版本的规范添加到元数据元素中,以帮助比较两个不同跟踪路由测量结果之间的度量(如果使用相同的操作系统和相同版本的工具运行)。此外,traceroute工具具有内置的可配置机制,如超时,并可能遇到与防火墙交叉相关的问题;因此,traceroute发送的一些数据包最终会超时或被过滤。因此,可能无法跟踪到节点的路径,或者可能没有足够完整的一组描述RTT的探测来到达它。
For performing remote traceroute operations at managed node, the IETF has standardized the DISMAN-TRACEROUTE-MIB module in [RFC4560]. This module allows:
为了在受管节点上执行远程跟踪路由操作,IETF在[RFC4560]中对DISAN-traceroute-MIB模块进行了标准化。此模块允许:
o retrieving capability information of the traceroute tool implementation at the managed node;
o 在受管节点上检索跟踪路由工具实现的能力信息;
o configuring traceroute measurements to be performed;
o 配置要执行的跟踪路由测量;
o retrieving information about ongoing and completed traceroute measurements;
o 检索有关正在进行的和已完成的跟踪路线测量的信息;
o retrieving traceroute measurement statistics.
o 正在检索跟踪路由测量统计信息。
The traceroute storage format described in this document has significant overlaps with this MIB module. Particularly, the models for the traceroute measurement configuration and for the results from completed measurements are almost identical. But for other parts of the DISMAN-TRACEROUTE MIB module there is no need to model them in a traceroute measurement storage format. Particularly, the capability information, information about ongoing measurements, and measurement statistics are not covered by the DISMAN traceroute storage model.
本文档中描述的traceroute存储格式与此MIB模块有很大的重叠。特别是,示踪线路测量配置和完成测量结果的模型几乎相同。但对于DISAN-TRACEROUTE MIB模块的其他部分,无需以TRACEROUTE测量存储格式对其进行建模。特别是,能力信息、有关正在进行的测量的信息和测量统计信息不在DEMAN traceroute存储模型的范围内。
Concerning traceroute measurements and their results, there are structural differences between the two models caused by the different choices for the encoding of the specification. For DISMAN-TRACEROUTE-MIB, the Structure of Management Information (SMIv2, STD 58, RFC 2578 [RFC2578]) was used, while the IPPM traceroute measurement data model is encoded using XML.
关于示踪路线测量及其结果,由于规范编码的不同选择,两个模型之间存在结构性差异。对于DISAN-TRACEROUTE-MIB,使用管理信息结构(SMIv2,STD 58,RFC 2578[RFC2578]),而IPPM TRACEROUTE测量数据模型使用XML编码。
This difference in structure implies that the DISMAN-TRACEROUTE-MIB module contains SMI-specific information elements (managed objects) that concern tables of managed objects (specification, entry creation and deletion, status retrieval) that are not required for the XML-encoded traceroute measurement data model.
这种结构上的差异意味着DISAN-TRACEROUTE-MIB模块包含SMI特定的信息元素(托管对象),这些信息元素与托管对象表(规范、条目创建和删除、状态检索)有关,而XML编码的TRACEROUTE测量数据模型不需要这些表。
But for most of the remaining information elements that concern configuration of traceroute measurements and results of completed measurements, the semantics are identical between the DISMAN-TRACEROUTE-MIB module and the traceroute measurement data model. There are very few exceptions to this; these are listed below. Also, naming of information elements is identical between both models with a few exceptions. For the traceroute measurement data model, a few information elements have been added, some because of the different structure and some to provide additional information on completed measurements.
但是,对于与跟踪路由测量的配置和已完成测量的结果有关的大多数剩余信息元素,DISAN-traceroute-MIB模块和跟踪路由测量数据模型之间的语义是相同的。很少有例外;下面列出了这些问题。此外,两个模型之间信息元素的命名是相同的,只有少数例外。对于追踪路线测量数据模型,添加了一些信息元素,一些是因为结构不同,一些是为了提供有关已完成测量的附加信息。
There are some basic differences in nature and application between MIB modules and XML documents. This results in two major differences of scope between the DISMAN-TRACEROUTE-MIB module and the traceroute measurement data model.
MIB模块和XML文档在性质和应用方面有一些基本的区别。这导致DISAN-TRACEROUTE-MIB模块和TRACEROUTE测量数据模型在范围上存在两个主要差异。
The first difference is the "traceRouteResultsTable" contained in the DISMAN-TRACEROUTE-MIB module. This table allows online observation of status and progress of an ongoing traceroute measurement. This highly dynamic information is not included in the traceroute measurement data model because it has not been envisioned to use the model for dynamically reporting progress of individual traceroute measurements. The traceroute measurement data model is rather intended to be used for reporting completed traceroute measurements.
第一个区别是DISAN-TRACEROUTE-MIB模块中包含的“TRACEROUTESULTSTABLE”。此表允许在线观察正在进行的跟踪路线测量的状态和进度。这种高度动态的信息不包括在跟踪路由测量数据模型中,因为没有设想使用该模型来动态报告单个跟踪路由测量的进度。追踪路线测量数据模型旨在用于报告已完成的追踪路线测量。
The second difference is due to the fact that information in a MIB is typically tied to a local node hosting the MIB instance. The "RequestMetadata" element specified in the traceroute measurement data model can be used for specifying a measurement request that may be applied to several probes in a network. This concept does not exist in the DISMAN-TRACEROUTE-MIB module.
第二个区别是,MIB中的信息通常绑定到承载MIB实例的本地节点。跟踪路由测量数据模型中指定的“RequestMetadata”元素可用于指定可应用于网络中多个探测器的测量请求。此概念在DISAN-TRACEROUTE-MIB模块中不存在。
For the remaining elements in the DISMAN-TRACEROUTE-MIB module and in the traceroute measurement data model, there is a very good match between the two worlds. The "traceRouteCtlTable" corresponds to the "MeasurementMetadata" element, and the combination of the "traceRouteProbeHistoryTable" and the "traceRouteHopsTable" corresponds to a collection of "MeasurementResult" elements.
对于DISAN-TRACEROUTE-MIB模块和TRACEROUTE测量数据模型中的其余元素,这两个世界之间存在非常好的匹配。“tracerouteCtlable”对应于“MeasurementMetadata”元素,“traceRouteProbeHistoryTable”和“traceRouteHopsTable”的组合对应于“MeasurementResult”元素的集合。
Basically, names in both models are chosen using the same naming conventions.
基本上,两个模型中的名称都是使用相同的命名约定选择的。
For the traceroute measurement configuration information, all names, such as "CtlProbesPerHop", are identical in both models except for the traceRoute prefix that was removed to avoid unnecessary redundancy in the XML file and for "CtlDataSize", which was renamed to "CtlProbeDataSize" for clarification in the traceroute measurement data model.
对于跟踪路由测量配置信息,除了为避免XML文件中不必要的冗余而删除的跟踪路由前缀和为在跟踪路由测量数据模型中澄清而重命名为“CtlProbeDataSize”的“CTLDASIZE”之外,两个模型中的所有名称(如“CtlProbesPerHop”)都是相同的。
Results of measurements in the DISMAN-TRACEROUTE-MIB modules are distributed over two tables, the "traceRouteResultsTable" contains mainly information about ongoing measurements and the "traceRouteProbeHistoryTable" contains only information about completed measurements. According to the SMIv2 naming conventions, names of information elements in these tables have different prefixes ("traceRouteResults" and "traceRouteProbeHistory"). Since the traceroute measurement data model only reports on completed measurements, this separation is not needed anymore and the prefix "Results" is used for all related information elements.
DISAN-TRACEROUTE-MIB模块中的测量结果分布在两个表中,“TRACEROUTESURTSTABLE”主要包含有关正在进行的测量的信息,“traceRouteProbeHistoryTable”仅包含有关已完成测量的信息。根据SMIv2命名约定,这些表中信息元素的名称具有不同的前缀(“traceRouteResults”和“traceRouteProbeHistory”)。由于跟踪路由测量数据模型仅报告已完成的测量,因此不再需要这种分离,所有相关信息元素都使用前缀“Results”。
Beyond that, there are only a few changes in element names. The renaming actions include:
除此之外,元素名称只有少量更改。重命名操作包括:
o "traceRouteProbeHistoryResponse" to "ProbeRoundTripTime";
o “跟踪路由ProbeHistoryResponse”到“ProbeRoundTripTime”;
o "traceRouteProbeHistoryHAddr" to "HopAddr";
o “追踪路由ProbeHistoryAddr”至“HopAddr”;
o "traceRouteProbeHistoryTime" to "ResultsEndDateAndTime";
o “traceRouteProbeHistoryTime”到“ResultsEndDateAndTime”;
o "traceRouteProbeHistoryLastRC" to "ResultsHopRawOutputData".
o “traceRouteProbeHistoryLastRC”到“ResultsHopRawOutputData”。
The semantics were changed for two information elements only.
仅更改了两个信息元素的语义。
For "traceRouteProbeHistoryResponse" in the DISMAN-TRACEROUTE-MIB, a value of 0 indicates that it is not possible to transmit a probe. For the traceroute measurement data model, a value of 0 for element
对于DEMAN-TRACEROUTE-MIB中的“TRACEROUTEPHISTORYRESPONSE”,值为0表示无法传输探测。对于追踪路线测量数据模型,元素的值为0
"RoundTripTime" indicates that the measured time was less than one millisecond. For the case that it was not possible to transmit a probe, a string is used that indicates the problem.
“RoundTripTime”表示测量的时间小于一毫秒。对于无法传输探测器的情况,使用字符串指示问题。
For "traceRouteCtlIfIndex" in the DISMAN-TRACEROUTE-MIB, a value of 0 indicates that the option to set the index is not available. This was translated to the traceroute measurement data model, such that a value of 0 for this element indicates that the used interface is unknown.
对于DISAN-TRACEROUTE-MIB中的“TRACEROUTCTLIFINDEX”,值为0表示设置索引的选项不可用。这已转换为跟踪路由测量数据模型,因此此元素的值为0表示所使用的接口未知。
The element "traceRouteProbeHistoryLastRC" in the DISMAN-TRACEROUTE-MIB was replaced by element "ResultsHopRawOutputData". While "traceRouteProbeHistoryLastRC" just reports a reply code, "ResultsHopRawOutputData" reports the full raw output data (per hop) produced by the traceroute measurement that was used.
DISAN-TRACEROUTE-MIB中的元素“TRACEROUTPROBEHISTORYLASTRC”已替换为元素“ResultsHopRawOutputData”。“traceRouteProbeHistoryLastRC”只报告一个回复代码,“ResultsHopRawOutputData”报告所使用的跟踪路由测量产生的完整原始输出数据(每跳)。
Only a few information elements have been added to the model of the DISMAN-TRACEROUTE-MIB module.
只有少数信息元素添加到了DISAN-TRACEROUTE-MIB模块的模型中。
o For providing information on the MPLS label stack entries of a probe in the traceroute measurement path, "MPLSLabelStackEntry" was added.
o 为了提供跟踪路由测量路径中探测器的MPLS标签堆栈条目信息,添加了“MPLSLabelStackEntry”。
o For providing additional timestamp beyond "ResultsEndDateAndTime", "ResultsStartDateAndTime" and "Time" were added.
o 为了在“ResultsEndDateAndTime”之外提供额外的时间戳,添加了“ResultsStartDateAndTime”和“Time”。
o For providing DNS names at the time of the execution of the traceroute for each "HopAddr" (which may change over time), "HopName" was added.
o 为了在执行跟踪路由时为每个“HopAddr”(可能随时间而改变)提供DNS名称,添加了“HopName”。
This section shows some examples of traceroute applications. In addition, the encoding of requests and results is shown for some of those examples. Also, note that in these XML examples some lines appear wrapped due to the limited length of line.
本节显示了跟踪路由应用程序的一些示例。此外,其中一些示例还显示了请求和结果的编码。另外,请注意,在这些XML示例中,由于行的长度有限,有些行被包装起来。
A typical traceroute on a LINUX system looks like the following: # traceroute -f 4 www.example 1500 traceroute to ww.example (192.0.2.42), 30 hops max, 1500-byte packets 5 out.host1.example (192.0.2.254) 6.066 ms 5.625 ms 6.095 ms 6 rtr4.host6.example (192.0.2.142) 6.979 ms 6.221 ms 7.368 ms 7 hop7.rtr9.example (192.0.2.11) 16.165 ms 15.347 ms 15.514 ms 8 192.0.2.222 (192.0.2.222) 32.796 ms 28.723 ms 26.988 ms 9 in.example (192.0.2.123) 15.861 ms 16.262 ms 17.610 ms 10 in.example (192.0.2.123)(N!) 17.391 ms * *
LINUX系统上的典型跟踪路由如下所示:#traceroute-f 4 www.example 1500 traceroute to ww.example(192.0.2.42),最大30跳,1500字节数据包5 out.host1.example(192.0.2.254)6.066 ms 5.625 ms 6.095 ms 6 rtr4.host6.example(192.0.2.142)6.979 ms 6.221 ms 7.368 ms 7 hop7.rtr9.example(192.0.2.2.11)16.165毫秒15.347毫秒15.514毫秒8 192.0.2.222(192.0.2.222)32.796毫秒28.723毫秒26.988毫秒9英寸示例(192.0.2.123)15.861毫秒16.262毫秒17.610毫秒10英寸示例(192.0.2.123)(N!)17.391毫秒**
This traceroute ignores the first 4 hops and uses 1500-byte packets including the header. It does not reach its goal since the last listed hop says that the network is not reachable (N!). The XML representation for this trace follows: <?xml version="1.0" encoding="UTF-8"?> <traceRoute xmlns="urn:ietf:params:xml:ns:traceroute-1.0"> <RequestMetadata> <TestName>Example 1</TestName> <OSName/> <OSVersion/> <ToolVersion/> <ToolName/> <CtlTargetAddress> <inetAddressDns>www.example</inetAddressDns> </CtlTargetAddress> <CtlBypassRouteTable/> <CtlProbeDataSize>1472</CtlProbeDataSize> <CtlTimeOut/> <CtlProbesPerHop/> <CtlPort/> <CtlMaxTtl/> <CtlDSField/> <CtlSourceAddress> <inetAddressUnknown/> </CtlSourceAddress> <CtlIfIndex/> <CtlMiscOptions/> <CtlMaxFailures/> <CtlDontFragment/> <CtlInitialTtl>4</CtlInitialTtl> <CtlDescr>Show how it encodes in XML</CtlDescr> <CtlType><UDP/></CtlType> </RequestMetadata> <Measurement> <MeasurementMetadata> <TestName>Example 1</TestName> <OSName>Linux</OSName> <OSVersion>2.6.16.54-0.2.5-smp i386</OSVersion> <ToolVersion>1.0</ToolVersion> <ToolName>traceroute</ToolName> <CtlTargetAddress> <inetAddressDns>www.example</inetAddressDns> </CtlTargetAddress> <CtlBypassRouteTable/> <CtlProbeDataSize>1472</CtlProbeDataSize> <CtlTimeOut/> <CtlProbesPerHop/> <CtlPort/>
This traceroute ignores the first 4 hops and uses 1500-byte packets including the header. It does not reach its goal since the last listed hop says that the network is not reachable (N!). The XML representation for this trace follows: <?xml version="1.0" encoding="UTF-8"?> <traceRoute xmlns="urn:ietf:params:xml:ns:traceroute-1.0"> <RequestMetadata> <TestName>Example 1</TestName> <OSName/> <OSVersion/> <ToolVersion/> <ToolName/> <CtlTargetAddress> <inetAddressDns>www.example</inetAddressDns> </CtlTargetAddress> <CtlBypassRouteTable/> <CtlProbeDataSize>1472</CtlProbeDataSize> <CtlTimeOut/> <CtlProbesPerHop/> <CtlPort/> <CtlMaxTtl/> <CtlDSField/> <CtlSourceAddress> <inetAddressUnknown/> </CtlSourceAddress> <CtlIfIndex/> <CtlMiscOptions/> <CtlMaxFailures/> <CtlDontFragment/> <CtlInitialTtl>4</CtlInitialTtl> <CtlDescr>Show how it encodes in XML</CtlDescr> <CtlType><UDP/></CtlType> </RequestMetadata> <Measurement> <MeasurementMetadata> <TestName>Example 1</TestName> <OSName>Linux</OSName> <OSVersion>2.6.16.54-0.2.5-smp i386</OSVersion> <ToolVersion>1.0</ToolVersion> <ToolName>traceroute</ToolName> <CtlTargetAddress> <inetAddressDns>www.example</inetAddressDns> </CtlTargetAddress> <CtlBypassRouteTable/> <CtlProbeDataSize>1472</CtlProbeDataSize> <CtlTimeOut/> <CtlProbesPerHop/> <CtlPort/>
<CtlMaxTtl/> <CtlDSField/> <CtlSourceAddress> <inetAddressIpv4>192.0.2.1</inetAddressIpv4> </CtlSourceAddress> <CtlIfIndex>2</CtlIfIndex> <CtlMiscOptions/> <CtlMaxFailures/> <CtlDontFragment/> <CtlInitialTtl>4</CtlInitialTtl> <CtlDescr>Show how it encodes in XML</CtlDescr> <CtlType><UDP/></CtlType> </MeasurementMetadata> <MeasurementResult> <TestName>Example 1</TestName> <ResultsStartDateAndTime>2008-05-16T14:22:34+02:00</ResultsStar tDateAndTime> <ResultsIpTgtAddr> <inetAddressIpv4>192.0.2.42</inetAddressIpv4> </ResultsIpTgtAddr> <ProbeResults> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.254</inetAddressIpv4> </HopAddr> <HopName>out.host1.example</HopName> <ProbeRoundTripTime> <roundTripTime>6</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-16T14:22:35+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.254</inetAddressIpv4> </HopAddr> <HopName>out.host1.example</HopName> <ProbeRoundTripTime><roundTripTime>5</roundTripTime></Pro beRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-16T14:22:35+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.254</inetAddressIpv4> </HopAddr> <HopName>out.host1.example</HopName>
<CtlMaxTtl/> <CtlDSField/> <CtlSourceAddress> <inetAddressIpv4>192.0.2.1</inetAddressIpv4> </CtlSourceAddress> <CtlIfIndex>2</CtlIfIndex> <CtlMiscOptions/> <CtlMaxFailures/> <CtlDontFragment/> <CtlInitialTtl>4</CtlInitialTtl> <CtlDescr>Show how it encodes in XML</CtlDescr> <CtlType><UDP/></CtlType> </MeasurementMetadata> <MeasurementResult> <TestName>Example 1</TestName> <ResultsStartDateAndTime>2008-05-16T14:22:34+02:00</ResultsStar tDateAndTime> <ResultsIpTgtAddr> <inetAddressIpv4>192.0.2.42</inetAddressIpv4> </ResultsIpTgtAddr> <ProbeResults> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.254</inetAddressIpv4> </HopAddr> <HopName>out.host1.example</HopName> <ProbeRoundTripTime> <roundTripTime>6</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-16T14:22:35+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.254</inetAddressIpv4> </HopAddr> <HopName>out.host1.example</HopName> <ProbeRoundTripTime><roundTripTime>5</roundTripTime></Pro beRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-16T14:22:35+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.254</inetAddressIpv4> </HopAddr> <HopName>out.host1.example</HopName>
<ProbeRoundTripTime> <roundTripTime>6</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-16T14:22:35+02:00</Time> </probe> <HopRawOutputData> 5 out.host1.example (192.0.2.254) 6.06 6 ms 5.625 ms 6.095 ms</HopRawOutputData> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.142</inetAddressIpv4> </HopAddr> <HopName>rtr4.host6.example</HopName> <ProbeRoundTripTime> <roundTripTime>6</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-16T14:22:36+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.142</inetAddressIpv4> </HopAddr> <HopName>rtr4.host6.example</HopName> <ProbeRoundTripTime> <roundTripTime>6</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-16T14:22:36+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.142</inetAddressIpv4> </HopAddr> <HopName>rtr4.host6.example</HopName> <ProbeRoundTripTime> <roundTripTime>7</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-16T14:22:37+02:00</Time> </probe> <HopRawOutputData> 6 rtr4.host6.example (192.0.2.142) 6.9 79 ms 6.221 ms 7.368 ms</HopRawOutputData> </hop> <hop> <probe>
<ProbeRoundTripTime> <roundTripTime>6</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-16T14:22:35+02:00</Time> </probe> <HopRawOutputData> 5 out.host1.example (192.0.2.254) 6.06 6 ms 5.625 ms 6.095 ms</HopRawOutputData> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.142</inetAddressIpv4> </HopAddr> <HopName>rtr4.host6.example</HopName> <ProbeRoundTripTime> <roundTripTime>6</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-16T14:22:36+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.142</inetAddressIpv4> </HopAddr> <HopName>rtr4.host6.example</HopName> <ProbeRoundTripTime> <roundTripTime>6</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-16T14:22:36+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.142</inetAddressIpv4> </HopAddr> <HopName>rtr4.host6.example</HopName> <ProbeRoundTripTime> <roundTripTime>7</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-16T14:22:37+02:00</Time> </probe> <HopRawOutputData> 6 rtr4.host6.example (192.0.2.142) 6.9 79 ms 6.221 ms 7.368 ms</HopRawOutputData> </hop> <hop> <probe>
<HopAddr> <inetAddressIpv4>192.0.2.11</inetAddressIpv4> </HopAddr> <HopName>hop7.rtr9.example</HopName> <ProbeRoundTripTime> <roundTripTime>16</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-16T14:22:37+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.11</inetAddressIpv4> </HopAddr> <HopName>hop7.rtr9.example</HopName> <ProbeRoundTripTime> <roundTripTime>15</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-16T14:22:38+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.11</inetAddressIpv4> </HopAddr> <HopName>hop7.rtr9.example</HopName> <ProbeRoundTripTime> <roundTripTime>15</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-16T14:22:38+02:00</Time> </probe> <HopRawOutputData> 7 hop7.rtr9.example (192.0.2.11) 16.16 5 ms 15.347 ms 15.514 ms</HopRawOutputData> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.222</inetAddressIpv4> </HopAddr> <ProbeRoundTripTime> <roundTripTime>32</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-16T14:22:39+02:00</Time> </probe> <probe> <HopAddr>
<HopAddr> <inetAddressIpv4>192.0.2.11</inetAddressIpv4> </HopAddr> <HopName>hop7.rtr9.example</HopName> <ProbeRoundTripTime> <roundTripTime>16</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-16T14:22:37+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.11</inetAddressIpv4> </HopAddr> <HopName>hop7.rtr9.example</HopName> <ProbeRoundTripTime> <roundTripTime>15</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-16T14:22:38+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.11</inetAddressIpv4> </HopAddr> <HopName>hop7.rtr9.example</HopName> <ProbeRoundTripTime> <roundTripTime>15</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-16T14:22:38+02:00</Time> </probe> <HopRawOutputData> 7 hop7.rtr9.example (192.0.2.11) 16.16 5 ms 15.347 ms 15.514 ms</HopRawOutputData> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.222</inetAddressIpv4> </HopAddr> <ProbeRoundTripTime> <roundTripTime>32</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-16T14:22:39+02:00</Time> </probe> <probe> <HopAddr>
<inetAddressIpv4>192.0.2.222</inetAddressIpv4> </HopAddr> <ProbeRoundTripTime> <roundTripTime>38</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-16T14:22:39+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.222</inetAddressIpv4> </HopAddr> <ProbeRoundTripTime> <roundTripTime>26</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-16T14:22:39+02:00</Time> </probe> <HopRawOutputData> 8 192.0.2.222 (192.0.2.222) 32.796 ms 28.723 ms 26.988 ms</HopRawOutputData> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.123</inetAddressIpv4> </HopAddr> <HopName>in.example</HopName> <ProbeRoundTripTime> <roundTripTime>15</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-16T14:22:40+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.123</inetAddressIpv4> </HopAddr> <HopName>in.example</HopName> <ProbeRoundTripTime> <roundTripTime>16</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-16T14:22:40+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.123</inetAddressIpv4> </HopAddr>
<inetAddressIpv4>192.0.2.222</inetAddressIpv4> </HopAddr> <ProbeRoundTripTime> <roundTripTime>38</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-16T14:22:39+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.222</inetAddressIpv4> </HopAddr> <ProbeRoundTripTime> <roundTripTime>26</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-16T14:22:39+02:00</Time> </probe> <HopRawOutputData> 8 192.0.2.222 (192.0.2.222) 32.796 ms 28.723 ms 26.988 ms</HopRawOutputData> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.123</inetAddressIpv4> </HopAddr> <HopName>in.example</HopName> <ProbeRoundTripTime> <roundTripTime>15</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-16T14:22:40+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.123</inetAddressIpv4> </HopAddr> <HopName>in.example</HopName> <ProbeRoundTripTime> <roundTripTime>16</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-16T14:22:40+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.123</inetAddressIpv4> </HopAddr>
<HopName>in.example</HopName> <ProbeRoundTripTime> <roundTripTime>17</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-16T14:22:40+02:00</Time> </probe> <HopRawOutputData> 9 in.example (192.0.2.123) 15.861 ms 16.262 ms 17.610 ms</HopRawOutputData> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.123</inetAddressIpv4> </HopAddr> <HopName>in.example</HopName> <ProbeRoundTripTime> <roundTripTime>17</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>noRouteToTarget</ResponseStatus> <Time>2008-05-16T14:22:41+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.123</inetAddressIpv4> </HopAddr> <HopName>in.example</HopName> <ProbeRoundTripTime> <roundTripTimeNotAvailable/> </ProbeRoundTripTime> <ResponseStatus>requestTimedOut</ResponseStatus> <Time>2008-05-16T14:22:44+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.123</inetAddressIpv4> </HopAddr> <HopName>in.example</HopName> <ProbeRoundTripTime> <roundTripTimeNotAvailable/> </ProbeRoundTripTime> <ResponseStatus>requestTimedOut</ResponseStatus> <Time>2008-05-16T14:22:44+02:00</Time> </probe> <HopRawOutputData>10 in.example (192.0.2.123)(N!) 17.391 ms * *</HopRawOutputData> </hop> </ProbeResults>
<HopName>in.example</HopName> <ProbeRoundTripTime> <roundTripTime>17</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-16T14:22:40+02:00</Time> </probe> <HopRawOutputData> 9 in.example (192.0.2.123) 15.861 ms 16.262 ms 17.610 ms</HopRawOutputData> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.123</inetAddressIpv4> </HopAddr> <HopName>in.example</HopName> <ProbeRoundTripTime> <roundTripTime>17</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>noRouteToTarget</ResponseStatus> <Time>2008-05-16T14:22:41+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.123</inetAddressIpv4> </HopAddr> <HopName>in.example</HopName> <ProbeRoundTripTime> <roundTripTimeNotAvailable/> </ProbeRoundTripTime> <ResponseStatus>requestTimedOut</ResponseStatus> <Time>2008-05-16T14:22:44+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.123</inetAddressIpv4> </HopAddr> <HopName>in.example</HopName> <ProbeRoundTripTime> <roundTripTimeNotAvailable/> </ProbeRoundTripTime> <ResponseStatus>requestTimedOut</ResponseStatus> <Time>2008-05-16T14:22:44+02:00</Time> </probe> <HopRawOutputData>10 in.example (192.0.2.123)(N!) 17.391 ms * *</HopRawOutputData> </hop> </ProbeResults>
<ResultsEndDateAndTime>2008-05-16T14:22:44+02:00</ResultsEndDat eAndTime> </MeasurementResult> </Measurement> </traceRoute>
<ResultsEndDateAndTime>2008-05-16T14:22:44+02:00</ResultsEndDat eAndTime> </MeasurementResult> </Measurement> </traceRoute>
The second example was generated on an OpenBSD system. On that system, the traceroute looks like the following: # traceroute -P tcp w2.example 128
第二个示例是在OpenBSD系统上生成的。在该系统上,traceroute如下所示:#traceroute-ptcp w2.example 128
traceroute to w2.example (192.0.2.254), 64 hops max, 160-byte packets 1 router1.example.org (192.0.2.22) 0.486 ms 0.486 ms 0.482 ms 2 router7.example.org (192.0.2.1) 3.27 ms 1.420 ms 1.873 ms 3 hop0.c.example (192.0.2.105) 3.177 ms 3.258 ms 3.859 ms 4 hop6.c.example (192.0.2.107) 5.994 ms 4.607 ms 5.678 ms 5 hop3.c.example (192.0.2.111) 20.341 ms 20.732 ms 19.505 ms 6 in.example.net (192.0.2.222) 20.333 ms 19.174 ms 19.856 ms 7 egress.example.net (192.0.2.227) 20.268 ms 21.79 ms 19.992 ms 8 routerin.example (192.0.2.253) 19.983 ms 19.931 ms 19.894 ms 9 routerdmz.example (192.0.2.249) 20.943 ms !X * 19.829 ms !X
追踪路由到w2.example(192.0.2.254),最大64跳,160字节数据包1 router1.example.org(192.0.2.22)0.486 ms 0.486 ms 0.482 ms 2 router7.example.org(192.0.2.1)3.27 ms 1.420 ms 1.873 ms 3 hop0.c.example(192.0.2.105)3.177 ms 3.258 ms 3.859 ms 4 hop6.c.example(192.0.2.107)5.994 ms 4 ms 4.607 ms 5.678 ms 3.192.0.11120.341 ms 20.732 ms 19.505 ms 6 in.example.net(192.0.2.222)20.333 ms 19.174 ms 19.856 ms 7 example.example.net(192.0.2.227)20.268 ms 21.79 ms 19.992 ms 8 routerin.example(192.0.2.253)19.983 ms 19.931 ms 19.894 ms 9 routerdmz.example(192.0.2.249)20.943 ms!X*19.829毫秒!X
It was executed with the TCP protocol and 128-byte packets (plus header). The traceroute ended at hop 9 because the packets are administratively filtered (!X). A corresponding XML representation follows: <?xml version="1.0" encoding="UTF-8"?> <traceRoute xmlns="urn:ietf:params:xml:ns:traceroute-1.0"> <RequestMetadata> <TestName>Example 2</TestName> <OSName/> <OSVersion/> <ToolVersion/> <ToolName/> <CtlTargetAddress> <inetAddressDns>w2.example</inetAddressDns> </CtlTargetAddress> <CtlBypassRouteTable/> <CtlProbeDataSize>128</CtlProbeDataSize> <CtlTimeOut/> <CtlProbesPerHop/> <CtlPort/> <CtlMaxTtl/> <CtlDSField/> <CtlSourceAddress> <inetAddressUnknown/> </CtlSourceAddress> <CtlIfIndex/> <CtlMiscOptions/>
It was executed with the TCP protocol and 128-byte packets (plus header). The traceroute ended at hop 9 because the packets are administratively filtered (!X). A corresponding XML representation follows: <?xml version="1.0" encoding="UTF-8"?> <traceRoute xmlns="urn:ietf:params:xml:ns:traceroute-1.0"> <RequestMetadata> <TestName>Example 2</TestName> <OSName/> <OSVersion/> <ToolVersion/> <ToolName/> <CtlTargetAddress> <inetAddressDns>w2.example</inetAddressDns> </CtlTargetAddress> <CtlBypassRouteTable/> <CtlProbeDataSize>128</CtlProbeDataSize> <CtlTimeOut/> <CtlProbesPerHop/> <CtlPort/> <CtlMaxTtl/> <CtlDSField/> <CtlSourceAddress> <inetAddressUnknown/> </CtlSourceAddress> <CtlIfIndex/> <CtlMiscOptions/>
<CtlMaxFailures/> <CtlDontFragment/> <CtlInitialTtl/> <CtlDescr>Show how it encodes in XML</CtlDescr> <CtlType><TCP/></CtlType> </RequestMetadata> <Measurement> <MeasurementMetadata> <TestName>Example 2</TestName> <OSName>OpenBSD</OSName> <OSVersion>4.1 i386</OSVersion> <ToolVersion></ToolVersion> <ToolName>traceroute</ToolName> <CtlTargetAddress> <inetAddressDns>w2.example</inetAddressDns> </CtlTargetAddress> <CtlBypassRouteTable/> <CtlProbeDataSize>128</CtlProbeDataSize> <CtlTimeOut/> <CtlProbesPerHop/> <CtlPort/> <CtlMaxTtl/> <CtlDSField/> <CtlSourceAddress> <inetAddressIpv4>192.0.2.42</inetAddressIpv4> </CtlSourceAddress> <CtlIfIndex>1</CtlIfIndex> <CtlMiscOptions/> <CtlMaxFailures/> <CtlDontFragment/> <CtlInitialTtl/> <CtlDescr>Show how it encodes in XML</CtlDescr> <CtlType><TCP/></CtlType> </MeasurementMetadata> <MeasurementResult> <TestName>Example 2</TestName> <ResultsStartDateAndTime>2008-05-14T09:57:11+02:00</ResultsStar tDateAndTime> <ResultsIpTgtAddr> <inetAddressIpv4>192.0.2.254</inetAddressIpv4> </ResultsIpTgtAddr> <ProbeResults> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.22</inetAddressIpv4> </HopAddr> <HopName>router1.example.org</HopName>
<CtlMaxFailures/> <CtlDontFragment/> <CtlInitialTtl/> <CtlDescr>Show how it encodes in XML</CtlDescr> <CtlType><TCP/></CtlType> </RequestMetadata> <Measurement> <MeasurementMetadata> <TestName>Example 2</TestName> <OSName>OpenBSD</OSName> <OSVersion>4.1 i386</OSVersion> <ToolVersion></ToolVersion> <ToolName>traceroute</ToolName> <CtlTargetAddress> <inetAddressDns>w2.example</inetAddressDns> </CtlTargetAddress> <CtlBypassRouteTable/> <CtlProbeDataSize>128</CtlProbeDataSize> <CtlTimeOut/> <CtlProbesPerHop/> <CtlPort/> <CtlMaxTtl/> <CtlDSField/> <CtlSourceAddress> <inetAddressIpv4>192.0.2.42</inetAddressIpv4> </CtlSourceAddress> <CtlIfIndex>1</CtlIfIndex> <CtlMiscOptions/> <CtlMaxFailures/> <CtlDontFragment/> <CtlInitialTtl/> <CtlDescr>Show how it encodes in XML</CtlDescr> <CtlType><TCP/></CtlType> </MeasurementMetadata> <MeasurementResult> <TestName>Example 2</TestName> <ResultsStartDateAndTime>2008-05-14T09:57:11+02:00</ResultsStar tDateAndTime> <ResultsIpTgtAddr> <inetAddressIpv4>192.0.2.254</inetAddressIpv4> </ResultsIpTgtAddr> <ProbeResults> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.22</inetAddressIpv4> </HopAddr> <HopName>router1.example.org</HopName>
<ProbeRoundTripTime> <roundTripTime>0</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:13+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.22</inetAddressIpv4> </HopAddr> <HopName>router1.example.org</HopName> <ProbeRoundTripTime> <roundTripTime>0</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:13+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.22</inetAddressIpv4> </HopAddr> <HopName>router1.example.org</HopName> <ProbeRoundTripTime> <roundTripTime>0</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:13+02:00</Time> </probe> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.1</inetAddressIpv4> </HopAddr> <HopName>router7.example.org</HopName> <ProbeRoundTripTime> <roundTripTime>3</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:13+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.1</inetAddressIpv4> </HopAddr> <HopName>router7.example.org</HopName> <ProbeRoundTripTime> <roundTripTime>1</roundTripTime>
<ProbeRoundTripTime> <roundTripTime>0</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:13+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.22</inetAddressIpv4> </HopAddr> <HopName>router1.example.org</HopName> <ProbeRoundTripTime> <roundTripTime>0</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:13+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.22</inetAddressIpv4> </HopAddr> <HopName>router1.example.org</HopName> <ProbeRoundTripTime> <roundTripTime>0</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:13+02:00</Time> </probe> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.1</inetAddressIpv4> </HopAddr> <HopName>router7.example.org</HopName> <ProbeRoundTripTime> <roundTripTime>3</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:13+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.1</inetAddressIpv4> </HopAddr> <HopName>router7.example.org</HopName> <ProbeRoundTripTime> <roundTripTime>1</roundTripTime>
</ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:13+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.1</inetAddressIpv4> </HopAddr> <HopName>router7.example.org</HopName> <ProbeRoundTripTime> <roundTripTime>1</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:14+02:00</Time> </probe> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.105</inetAddressIpv4> </HopAddr> <HopName>hop0.c.example</HopName> <ProbeRoundTripTime> <roundTripTime>3</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:14+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.105</inetAddressIpv4> </HopAddr> <HopName>hop0.c.example</HopName> <ProbeRoundTripTime> <roundTripTime>3</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:14+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.105</inetAddressIpv4> </HopAddr> <HopName>hop0.c.example</HopName> <ProbeRoundTripTime> <roundTripTime>3</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus>
</ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:13+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.1</inetAddressIpv4> </HopAddr> <HopName>router7.example.org</HopName> <ProbeRoundTripTime> <roundTripTime>1</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:14+02:00</Time> </probe> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.105</inetAddressIpv4> </HopAddr> <HopName>hop0.c.example</HopName> <ProbeRoundTripTime> <roundTripTime>3</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:14+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.105</inetAddressIpv4> </HopAddr> <HopName>hop0.c.example</HopName> <ProbeRoundTripTime> <roundTripTime>3</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:14+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.105</inetAddressIpv4> </HopAddr> <HopName>hop0.c.example</HopName> <ProbeRoundTripTime> <roundTripTime>3</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus>
<Time>2008-05-14T09:57:14+02:00</Time> </probe> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.107</inetAddressIpv4> </HopAddr> <HopName>hop6.c.example</HopName> <ProbeRoundTripTime> <roundTripTime>5</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:15+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.107</inetAddressIpv4> </HopAddr> <HopName>hop6.c.example</HopName> <ProbeRoundTripTime> <roundTripTime>4</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:16+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.107</inetAddressIpv4> </HopAddr> <HopName>hop6.c.example</HopName> <ProbeRoundTripTime> <roundTripTime>5</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:16+02:00</Time> </probe> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.111</inetAddressIpv4> </HopAddr> <HopName>hop3.c.example</HopName> <ProbeRoundTripTime> <roundTripTime>20</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus>
<Time>2008-05-14T09:57:14+02:00</Time> </probe> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.107</inetAddressIpv4> </HopAddr> <HopName>hop6.c.example</HopName> <ProbeRoundTripTime> <roundTripTime>5</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:15+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.107</inetAddressIpv4> </HopAddr> <HopName>hop6.c.example</HopName> <ProbeRoundTripTime> <roundTripTime>4</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:16+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.107</inetAddressIpv4> </HopAddr> <HopName>hop6.c.example</HopName> <ProbeRoundTripTime> <roundTripTime>5</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:16+02:00</Time> </probe> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.111</inetAddressIpv4> </HopAddr> <HopName>hop3.c.example</HopName> <ProbeRoundTripTime> <roundTripTime>20</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus>
<Time>2008-05-14T09:57:17+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.111</inetAddressIpv4> </HopAddr> <HopName>hop3.c.example</HopName> <ProbeRoundTripTime> <roundTripTime>20</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:18+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.111</inetAddressIpv4> </HopAddr> <HopName>hop3.c.example</HopName> <ProbeRoundTripTime> <roundTripTime>19</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:19+02:00</Time> </probe> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.222</inetAddressIpv4> </HopAddr> <HopName>in.example.net</HopName> <ProbeRoundTripTime> <roundTripTime>20</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:20+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.222</inetAddressIpv4> </HopAddr> <HopName>in.example.net</HopName> <ProbeRoundTripTime> <roundTripTime>19</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:20+02:00</Time> </probe>
<Time>2008-05-14T09:57:17+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.111</inetAddressIpv4> </HopAddr> <HopName>hop3.c.example</HopName> <ProbeRoundTripTime> <roundTripTime>20</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:18+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.111</inetAddressIpv4> </HopAddr> <HopName>hop3.c.example</HopName> <ProbeRoundTripTime> <roundTripTime>19</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:19+02:00</Time> </probe> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.222</inetAddressIpv4> </HopAddr> <HopName>in.example.net</HopName> <ProbeRoundTripTime> <roundTripTime>20</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:20+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.222</inetAddressIpv4> </HopAddr> <HopName>in.example.net</HopName> <ProbeRoundTripTime> <roundTripTime>19</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:20+02:00</Time> </probe>
<probe> <HopAddr> <inetAddressIpv4>192.0.2.222</inetAddressIpv4> </HopAddr> <HopName>in.example.net</HopName> <ProbeRoundTripTime> <roundTripTime>19</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:21+02:00</Time> </probe> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.227</inetAddressIpv4> </HopAddr> <HopName>egress.example.net</HopName> <ProbeRoundTripTime> <roundTripTime>20</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:22+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.227</inetAddressIpv4> </HopAddr> <HopName>egress.example.net</HopName> <ProbeRoundTripTime> <roundTripTime>21</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:22+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.227</inetAddressIpv4> </HopAddr> <HopName>egress.example.net</HopName> <ProbeRoundTripTime> <roundTripTime>19</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:23+02:00</Time> </probe> </hop> <hop>
<probe> <HopAddr> <inetAddressIpv4>192.0.2.222</inetAddressIpv4> </HopAddr> <HopName>in.example.net</HopName> <ProbeRoundTripTime> <roundTripTime>19</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:21+02:00</Time> </probe> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.227</inetAddressIpv4> </HopAddr> <HopName>egress.example.net</HopName> <ProbeRoundTripTime> <roundTripTime>20</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:22+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.227</inetAddressIpv4> </HopAddr> <HopName>egress.example.net</HopName> <ProbeRoundTripTime> <roundTripTime>21</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:22+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.227</inetAddressIpv4> </HopAddr> <HopName>egress.example.net</HopName> <ProbeRoundTripTime> <roundTripTime>19</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:23+02:00</Time> </probe> </hop> <hop>
<probe> <HopAddr> <inetAddressIpv4>192.0.2.253</inetAddressIpv4> </HopAddr> <HopName>routerin.example</HopName> <ProbeRoundTripTime> <roundTripTime>19</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:24+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.253</inetAddressIpv4> </HopAddr> <HopName>routerin.example</HopName> <ProbeRoundTripTime> <roundTripTime>19</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:24+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.253</inetAddressIpv4> </HopAddr> <HopName>routerin.example</HopName> <ProbeRoundTripTime> <roundTripTime>19</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:25+02:00</Time> </probe> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.249</inetAddressIpv4> </HopAddr> <HopName>routerdmz.example</HopName> <ProbeRoundTripTime> <roundTripTime>20</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>unknown</ResponseStatus> <Time>2008-05-14T09:57:26+02:00</Time> </probe> <probe> <HopAddr>
<probe> <HopAddr> <inetAddressIpv4>192.0.2.253</inetAddressIpv4> </HopAddr> <HopName>routerin.example</HopName> <ProbeRoundTripTime> <roundTripTime>19</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:24+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.253</inetAddressIpv4> </HopAddr> <HopName>routerin.example</HopName> <ProbeRoundTripTime> <roundTripTime>19</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:24+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.253</inetAddressIpv4> </HopAddr> <HopName>routerin.example</HopName> <ProbeRoundTripTime> <roundTripTime>19</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T09:57:25+02:00</Time> </probe> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.249</inetAddressIpv4> </HopAddr> <HopName>routerdmz.example</HopName> <ProbeRoundTripTime> <roundTripTime>20</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>unknown</ResponseStatus> <Time>2008-05-14T09:57:26+02:00</Time> </probe> <probe> <HopAddr>
<inetAddressIpv4>192.0.2.249</inetAddressIpv4> </HopAddr> <HopName>routerdmz.example</HopName> <ProbeRoundTripTime> <roundTripTimeNotAvailable/> </ProbeRoundTripTime> <ResponseStatus>requestTimedOut</ResponseStatus> <Time>2008-05-14T09:57:26+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.249</inetAddressIpv4> </HopAddr> <HopName>routerdmz.example</HopName> <ProbeRoundTripTime> <roundTripTime>19</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>unknown</ResponseStatus> <Time>2008-05-14T09:57:30+02:00</Time> </probe> </hop> </ProbeResults> <ResultsEndDateAndTime>2008-05-14T09:57:30+02:00</ResultsEndDat eAndTime> </MeasurementResult> </Measurement> </traceRoute>
<inetAddressIpv4>192.0.2.249</inetAddressIpv4> </HopAddr> <HopName>routerdmz.example</HopName> <ProbeRoundTripTime> <roundTripTimeNotAvailable/> </ProbeRoundTripTime> <ResponseStatus>requestTimedOut</ResponseStatus> <Time>2008-05-14T09:57:26+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.249</inetAddressIpv4> </HopAddr> <HopName>routerdmz.example</HopName> <ProbeRoundTripTime> <roundTripTime>19</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>unknown</ResponseStatus> <Time>2008-05-14T09:57:30+02:00</Time> </probe> </hop> </ProbeResults> <ResultsEndDateAndTime>2008-05-14T09:57:30+02:00</ResultsEndDat eAndTime> </MeasurementResult> </Measurement> </traceRoute>
The third and last example is based on the Microsoft Windows pendant of traceroute. On an MS Windows system, the command is called "tracert" and typically looks as follows:
第三个也是最后一个示例基于traceroute的Microsoft Windows挂件。在MS Windows系统上,该命令称为“tracert”,通常如下所示:
# tracert -h 10 www.example.org
#tracert-H10 www.example.org
Tracing route to www.example.org [192.0.2.11] over a maximum of 10 hops:
在最多10跳的时间内跟踪到www.example.org[192.0.2.11]的路由:
1 1 ms 1 ms 8 ms 192.0.2.99 2 <1 ms <1 ms <1 ms r1.provider4.example [192.0.2.102] 3 <1 ms <1 ms <1 ms rtr8.provider8.example [192.0.2.254] 4 1 ms 1 ms 1 ms hop11.hoster7.example [192.0.2.4] 5 2 ms 3 ms 1 ms sw6.provider2.example [192.0.2.201] 6 3 ms 3 ms 3 ms out.provider2.example [192.0.2.111] 7 * 6 ms 5 ms 192.0.2.123 8 5 ms 5 ms 5 ms 192.0.2.42 9 94 ms 95 ms 95 ms ingress.example.org [192.0.2.199] 10 168 ms 169 ms 169 ms 192.0.2.44
1 1 ms 1 ms 8 ms 192.0.2.99 2 <1 ms <1 ms <1 ms r1.provider4.example [192.0.2.102] 3 <1 ms <1 ms <1 ms rtr8.provider8.example [192.0.2.254] 4 1 ms 1 ms 1 ms hop11.hoster7.example [192.0.2.4] 5 2 ms 3 ms 1 ms sw6.provider2.example [192.0.2.201] 6 3 ms 3 ms 3 ms out.provider2.example [192.0.2.111] 7 * 6 ms 5 ms 192.0.2.123 8 5 ms 5 ms 5 ms 192.0.2.42 9 94 ms 95 ms 95 ms ingress.example.org [192.0.2.199] 10 168 ms 169 ms 169 ms 192.0.2.44
Trace complete.
跟踪完成。
In this example, the trace was limited to 10 hops, so the tenth and last hop of this example was not the final destination. Applying the XML schema defined in this document, the trace could look as follows: <?xml version="1.0" encoding="UTF-8"?> <traceRoute xmlns="urn:ietf:params:xml:ns:traceroute-1.0"> <RequestMetadata> <TestName>Example 3</TestName> <OSName/> <OSVersion/> <ToolVersion/> <ToolName/> <CtlTargetAddress> <inetAddressDns>www.example.org</inetAddressDns> </CtlTargetAddress> <CtlBypassRouteTable/> <CtlProbeDataSize/> <CtlTimeOut/> <CtlProbesPerHop/> <CtlPort/> <CtlMaxTtl>10</CtlMaxTtl> <CtlDSField/> <CtlSourceAddress> <inetAddressUnknown/> </CtlSourceAddress> <CtlIfIndex/> <CtlMiscOptions/> <CtlMaxFailures/> <CtlDontFragment/> <CtlInitialTtl/> <CtlDescr>Show how it encodes in XML</CtlDescr> <CtlType><TCP/></CtlType> </RequestMetadata> <Measurement> <MeasurementMetadata> <TestName>Example 3</TestName> <OSName>Windows</OSName> <OSVersion>XP SP2 32-bit</OSVersion> <ToolVersion></ToolVersion> <ToolName>tracert</ToolName> <CtlTargetAddress> <inetAddressDns>www.example.org</inetAddressDns> </CtlTargetAddress> <CtlBypassRouteTable/> <CtlProbeDataSize/> <CtlTimeOut/> <CtlProbesPerHop/>
In this example, the trace was limited to 10 hops, so the tenth and last hop of this example was not the final destination. Applying the XML schema defined in this document, the trace could look as follows: <?xml version="1.0" encoding="UTF-8"?> <traceRoute xmlns="urn:ietf:params:xml:ns:traceroute-1.0"> <RequestMetadata> <TestName>Example 3</TestName> <OSName/> <OSVersion/> <ToolVersion/> <ToolName/> <CtlTargetAddress> <inetAddressDns>www.example.org</inetAddressDns> </CtlTargetAddress> <CtlBypassRouteTable/> <CtlProbeDataSize/> <CtlTimeOut/> <CtlProbesPerHop/> <CtlPort/> <CtlMaxTtl>10</CtlMaxTtl> <CtlDSField/> <CtlSourceAddress> <inetAddressUnknown/> </CtlSourceAddress> <CtlIfIndex/> <CtlMiscOptions/> <CtlMaxFailures/> <CtlDontFragment/> <CtlInitialTtl/> <CtlDescr>Show how it encodes in XML</CtlDescr> <CtlType><TCP/></CtlType> </RequestMetadata> <Measurement> <MeasurementMetadata> <TestName>Example 3</TestName> <OSName>Windows</OSName> <OSVersion>XP SP2 32-bit</OSVersion> <ToolVersion></ToolVersion> <ToolName>tracert</ToolName> <CtlTargetAddress> <inetAddressDns>www.example.org</inetAddressDns> </CtlTargetAddress> <CtlBypassRouteTable/> <CtlProbeDataSize/> <CtlTimeOut/> <CtlProbesPerHop/>
<CtlPort/> <CtlMaxTtl>10</CtlMaxTtl> <CtlDSField/> <CtlSourceAddress> <inetAddressIpv4>192.0.2.142</inetAddressIpv4> </CtlSourceAddress> <CtlIfIndex>3</CtlIfIndex> <CtlMiscOptions/> <CtlMaxFailures/> <CtlDontFragment/> <CtlInitialTtl/> <CtlDescr>Show how it encodes in XML</CtlDescr> <CtlType><TCP/></CtlType> </MeasurementMetadata> <MeasurementResult> <TestName>Example 3</TestName> <ResultsStartDateAndTime>2008-05-14T11:03:09+02:00</ResultsStar tDateAndTime> <ResultsIpTgtAddr> <inetAddressIpv4>192.0.2.11</inetAddressIpv4> </ResultsIpTgtAddr> <ProbeResults> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.99</inetAddressIpv4> </HopAddr> <ProbeRoundTripTime> <roundTripTime>1</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:09+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.99</inetAddressIpv4> </HopAddr> <ProbeRoundTripTime> <roundTripTime>1</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:09+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.99</inetAddressIpv4> </HopAddr> <ProbeRoundTripTime>
<CtlPort/> <CtlMaxTtl>10</CtlMaxTtl> <CtlDSField/> <CtlSourceAddress> <inetAddressIpv4>192.0.2.142</inetAddressIpv4> </CtlSourceAddress> <CtlIfIndex>3</CtlIfIndex> <CtlMiscOptions/> <CtlMaxFailures/> <CtlDontFragment/> <CtlInitialTtl/> <CtlDescr>Show how it encodes in XML</CtlDescr> <CtlType><TCP/></CtlType> </MeasurementMetadata> <MeasurementResult> <TestName>Example 3</TestName> <ResultsStartDateAndTime>2008-05-14T11:03:09+02:00</ResultsStar tDateAndTime> <ResultsIpTgtAddr> <inetAddressIpv4>192.0.2.11</inetAddressIpv4> </ResultsIpTgtAddr> <ProbeResults> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.99</inetAddressIpv4> </HopAddr> <ProbeRoundTripTime> <roundTripTime>1</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:09+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.99</inetAddressIpv4> </HopAddr> <ProbeRoundTripTime> <roundTripTime>1</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:09+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.99</inetAddressIpv4> </HopAddr> <ProbeRoundTripTime>
<roundTripTime>8</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:09+02:00</Time> </probe> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.102</inetAddressIpv4> </HopAddr> <HopName>r1.provider4.example</HopName> <ProbeRoundTripTime> <roundTripTime>0</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:09+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.102</inetAddressIpv4> </HopAddr> <HopName>r1.provider4.example</HopName> <ProbeRoundTripTime> <roundTripTime>0</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:09+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.102</inetAddressIpv4> </HopAddr> <HopName>r1.provider4.example</HopName> <ProbeRoundTripTime> <roundTripTime>0</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:09+02:00</Time> </probe> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.254</inetAddressIpv4> </HopAddr> <HopName>rtr8.provider8.example</HopName> <ProbeRoundTripTime>
<roundTripTime>8</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:09+02:00</Time> </probe> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.102</inetAddressIpv4> </HopAddr> <HopName>r1.provider4.example</HopName> <ProbeRoundTripTime> <roundTripTime>0</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:09+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.102</inetAddressIpv4> </HopAddr> <HopName>r1.provider4.example</HopName> <ProbeRoundTripTime> <roundTripTime>0</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:09+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.102</inetAddressIpv4> </HopAddr> <HopName>r1.provider4.example</HopName> <ProbeRoundTripTime> <roundTripTime>0</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:09+02:00</Time> </probe> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.254</inetAddressIpv4> </HopAddr> <HopName>rtr8.provider8.example</HopName> <ProbeRoundTripTime>
<roundTripTime>0</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:09+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.254</inetAddressIpv4> </HopAddr> <HopName>rtr8.provider8.example</HopName> <ProbeRoundTripTime> <roundTripTime>0</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:09+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.254</inetAddressIpv4> </HopAddr> <HopName>rtr8.provider8.example</HopName> <ProbeRoundTripTime> <roundTripTime>0</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:09+02:00</Time> </probe> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.4</inetAddressIpv4> </HopAddr> <HopName>hop11.hoster7.example</HopName> <ProbeRoundTripTime> <roundTripTime>1</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:09+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.4</inetAddressIpv4> </HopAddr> <HopName>hop11.hoster7.example</HopName> <ProbeRoundTripTime> <roundTripTime>1</roundTripTime> </ProbeRoundTripTime>
<roundTripTime>0</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:09+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.254</inetAddressIpv4> </HopAddr> <HopName>rtr8.provider8.example</HopName> <ProbeRoundTripTime> <roundTripTime>0</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:09+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.254</inetAddressIpv4> </HopAddr> <HopName>rtr8.provider8.example</HopName> <ProbeRoundTripTime> <roundTripTime>0</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:09+02:00</Time> </probe> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.4</inetAddressIpv4> </HopAddr> <HopName>hop11.hoster7.example</HopName> <ProbeRoundTripTime> <roundTripTime>1</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:09+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.4</inetAddressIpv4> </HopAddr> <HopName>hop11.hoster7.example</HopName> <ProbeRoundTripTime> <roundTripTime>1</roundTripTime> </ProbeRoundTripTime>
<ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:10+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.4</inetAddressIpv4> </HopAddr> <HopName>hop11.hoster7.example</HopName> <ProbeRoundTripTime> <roundTripTime>1</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:10+02:00</Time> </probe> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.201</inetAddressIpv4> </HopAddr> <HopName>sw6.provider2.example</HopName> <ProbeRoundTripTime> <roundTripTime>2</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:10+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.201</inetAddressIpv4> </HopAddr> <HopName>sw6.provider2.example</HopName> <ProbeRoundTripTime> <roundTripTime>3</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:11+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.201</inetAddressIpv4> </HopAddr> <HopName>sw6.provider2.example</HopName> <ProbeRoundTripTime> <roundTripTime>1</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:11+02:00</Time>
<ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:10+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.4</inetAddressIpv4> </HopAddr> <HopName>hop11.hoster7.example</HopName> <ProbeRoundTripTime> <roundTripTime>1</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:10+02:00</Time> </probe> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.201</inetAddressIpv4> </HopAddr> <HopName>sw6.provider2.example</HopName> <ProbeRoundTripTime> <roundTripTime>2</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:10+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.201</inetAddressIpv4> </HopAddr> <HopName>sw6.provider2.example</HopName> <ProbeRoundTripTime> <roundTripTime>3</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:11+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.201</inetAddressIpv4> </HopAddr> <HopName>sw6.provider2.example</HopName> <ProbeRoundTripTime> <roundTripTime>1</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:11+02:00</Time>
</probe> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.111</inetAddressIpv4> </HopAddr> <HopName>out.provider2.example</HopName> <ProbeRoundTripTime> <roundTripTime>3</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:11+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.111</inetAddressIpv4> </HopAddr> <HopName>out.provider2.example</HopName> <ProbeRoundTripTime> <roundTripTime>3</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:11+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.111</inetAddressIpv4> </HopAddr> <HopName>out.provider2.example</HopName> <ProbeRoundTripTime> <roundTripTime>3</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:12+02:00</Time> </probe> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.123</inetAddressIpv4> </HopAddr> <ProbeRoundTripTime> <roundTripTimeNotAvailable/> </ProbeRoundTripTime> <ResponseStatus>requestTimedOut</ResponseStatus> <Time>2008-05-14T11:03:14+02:00</Time> </probe>
</probe> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.111</inetAddressIpv4> </HopAddr> <HopName>out.provider2.example</HopName> <ProbeRoundTripTime> <roundTripTime>3</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:11+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.111</inetAddressIpv4> </HopAddr> <HopName>out.provider2.example</HopName> <ProbeRoundTripTime> <roundTripTime>3</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:11+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.111</inetAddressIpv4> </HopAddr> <HopName>out.provider2.example</HopName> <ProbeRoundTripTime> <roundTripTime>3</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:12+02:00</Time> </probe> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.123</inetAddressIpv4> </HopAddr> <ProbeRoundTripTime> <roundTripTimeNotAvailable/> </ProbeRoundTripTime> <ResponseStatus>requestTimedOut</ResponseStatus> <Time>2008-05-14T11:03:14+02:00</Time> </probe>
<probe> <HopAddr> <inetAddressIpv4>192.0.2.123</inetAddressIpv4> </HopAddr> <ProbeRoundTripTime> <roundTripTime>6</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:15+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.123</inetAddressIpv4> </HopAddr> <ProbeRoundTripTime> <roundTripTime>5</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:16+02:00</Time> </probe> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.42</inetAddressIpv4> </HopAddr> <ProbeRoundTripTime> <roundTripTime>5</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:17+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.42</inetAddressIpv4> </HopAddr> <ProbeRoundTripTime> <roundTripTime>5</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:17+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.42</inetAddressIpv4> </HopAddr> <ProbeRoundTripTime> <roundTripTime>5</roundTripTime>
<probe> <HopAddr> <inetAddressIpv4>192.0.2.123</inetAddressIpv4> </HopAddr> <ProbeRoundTripTime> <roundTripTime>6</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:15+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.123</inetAddressIpv4> </HopAddr> <ProbeRoundTripTime> <roundTripTime>5</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:16+02:00</Time> </probe> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.42</inetAddressIpv4> </HopAddr> <ProbeRoundTripTime> <roundTripTime>5</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:17+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.42</inetAddressIpv4> </HopAddr> <ProbeRoundTripTime> <roundTripTime>5</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:17+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.42</inetAddressIpv4> </HopAddr> <ProbeRoundTripTime> <roundTripTime>5</roundTripTime>
</ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:17+02:00</Time> </probe> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.199</inetAddressIpv4> </HopAddr> <HopName>ingress.example.org</HopName> <ProbeRoundTripTime> <roundTripTime>94</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:19+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.199</inetAddressIpv4> </HopAddr> <HopName>ingress.example.org</HopName> <ProbeRoundTripTime> <roundTripTime>95</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:19+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.199</inetAddressIpv4> </HopAddr> <HopName>ingress.example.org</HopName> <ProbeRoundTripTime> <roundTripTime>95</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:19+02:00</Time> </probe> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.44</inetAddressIpv4> </HopAddr> <ProbeRoundTripTime> <roundTripTime>168</roundTripTime> </ProbeRoundTripTime>
</ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:17+02:00</Time> </probe> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.199</inetAddressIpv4> </HopAddr> <HopName>ingress.example.org</HopName> <ProbeRoundTripTime> <roundTripTime>94</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:19+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.199</inetAddressIpv4> </HopAddr> <HopName>ingress.example.org</HopName> <ProbeRoundTripTime> <roundTripTime>95</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:19+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.199</inetAddressIpv4> </HopAddr> <HopName>ingress.example.org</HopName> <ProbeRoundTripTime> <roundTripTime>95</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:19+02:00</Time> </probe> </hop> <hop> <probe> <HopAddr> <inetAddressIpv4>192.0.2.44</inetAddressIpv4> </HopAddr> <ProbeRoundTripTime> <roundTripTime>168</roundTripTime> </ProbeRoundTripTime>
<ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:20+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.44</inetAddressIpv4> </HopAddr> <ProbeRoundTripTime> <roundTripTime>169</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:21+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.44</inetAddressIpv4> </HopAddr> <ProbeRoundTripTime> <roundTripTime>169</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:23+02:00</Time> </probe> </hop> </ProbeResults> <ResultsEndDateAndTime>2008-05-14T11:03:23+02:00</ResultsEndDat eAndTime> </MeasurementResult> </Measurement> </traceRoute>
<ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:20+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.44</inetAddressIpv4> </HopAddr> <ProbeRoundTripTime> <roundTripTime>169</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:21+02:00</Time> </probe> <probe> <HopAddr> <inetAddressIpv4>192.0.2.44</inetAddressIpv4> </HopAddr> <ProbeRoundTripTime> <roundTripTime>169</roundTripTime> </ProbeRoundTripTime> <ResponseStatus>responseReceived</ResponseStatus> <Time>2008-05-14T11:03:23+02:00</Time> </probe> </hop> </ProbeResults> <ResultsEndDateAndTime>2008-05-14T11:03:23+02:00</ResultsEndDat eAndTime> </MeasurementResult> </Measurement> </traceRoute>
The three examples given in this section are intended to give an impression of how a trace could be represented in XML. The representation generated by an implementation may differ from the examples here depending on the system and the capabilities of the traceroute implementation.
本节中给出的三个示例旨在展示如何用XML表示跟踪。根据跟踪路由实现的系统和功能,实现生成的表示可能不同于此处的示例。
Authors' Addresses
作者地址
Saverio Niccolini NEC Laboratories Europe, NEC Europe Ltd. Kurfuersten-Anlage 36 Heidelberg 69115 Germany Phone: +49 (0) 6221 4342 118 EMail: saverio.niccolini@nw.neclab.eu URI: http://www.nw.neclab.eu
Saverio Niccolini NEC Laboratories Europe,NEC Europe Ltd.Kurfuersten Anlage 36 Heidelberg 69115德国电话:+49(0)6221 4342 118电子邮件:Saverio。niccolini@nw.neclab.euURI:http://www.nw.neclab.eu
Sandra Tartarelli NEC Laboratories Europe, NEC Europe Ltd. Kurfuersten-Anlage 36 Heidelberg 69115 Germany Phone: +49 (0) 6221 4342 132 EMail: sandra.tartarelli@nw.neclab.eu URI: http://www.nw.neclab.eu
Sandra Tartarelli NEC Laboratories Europe,NEC Europe Ltd.Kurfuersten Anlage 36 Heidelberg 69115德国电话:+49(0)6221 4342 132电子邮件:Sandra。tartarelli@nw.neclab.euURI:http://www.nw.neclab.eu
Juergen Quittek NEC Laboratories Europe, NEC Europe Ltd. Kurfuersten-Anlage 36 Heidelberg 69115 Germany Phone: +49 (0) 6221 4342 115 EMail: quittek@nw.neclab.eu URI: http://www.nw.neclab.eu
Juergen Quittek NEC Laboratories Europe,NEC Europe Ltd.Kurfuersten Anlage 36 Heidelberg 69115德国电话:+49(0)6221 4342 115电子邮件:quittek@nw.neclab.euURI:http://www.nw.neclab.eu
Thomas Dietz NEC Laboratories Europe, NEC Europe Ltd. Kurfuersten-Anlage 36 Heidelberg 69115 Germany Phone: +49 (0) 6221 4342 128 EMail: thomas.dietz@nw.neclab.eu URI: http://www.nw.neclab.eu
Thomas Dietz NEC Laboratories Europe,NEC Europe Ltd.Kurfuersten Anlage 36 Heidelberg 69115德国电话:+49(0)6221 4342 128电子邮件:Thomas。dietz@nw.neclab.euURI:http://www.nw.neclab.eu
Martin Swany Dept. of Computer and Information Sciences University of Delaware Newark DE 19716 U.S.A. EMail: swany@UDel.Edu
马丁斯万尼德拉瓦大学计算机与信息科学系NeWark de 19716美国电子邮件:swany@UDel.Edu