| 1 | <?xml version="1.0" encoding="US-ASCII"?>
|
| 2 | <!DOCTYPE rfc SYSTEM "rfc2629.dtd">
|
| 3 | <?rfc toc="yes"?>
|
| 4 | <?rfc tocdepth="3"?>
|
| 5 | <?rfc symrefs="yes"?>
|
| 6 | <?rfc sortrefs="yes"?>
|
| 7 | <?rfc inline="yes"?>
|
| 8 | <?rfc compact="yes"?>
|
| 9 | <?rfc subcompact="no"?>
|
| 10 | <rfc category="info" number="XXXX" submissionType="IETF"
|
| 11 | ipr="pre5378Trust200902" updates="2330" consensus="yes">
|
| 12 | <front>
|
| 13 | <title abbrev="IPPM IPv6 Update">IPv6, IPv4 and Coexistence Updates for
|
| 14 | the Active Metric Framework of IP Performance Metrics (IPPM)</title>
|
| 15 |
|
| 16 | <author fullname="Al Morton" initials="A." surname="Morton">
|
| 17 | <organization>AT&T Labs</organization>
|
| 18 |
|
| 19 | <address>
|
| 20 | <postal>
|
| 21 | <street>200 Laurel Avenue South</street>
|
| 22 |
|
| 23 | <city>Middletown</city>
|
| 24 |
|
| 25 | <region>NJ</region>
|
| 26 |
|
| 27 | <code>07748</code>
|
| 28 |
|
| 29 | <country>United States of America</country>
|
| 30 | </postal>
|
| 31 |
|
| 32 | <phone>+1 732 420 1571</phone>
|
| 33 |
|
| 34 | <facsimile>+1 732 368 1192</facsimile>
|
| 35 |
|
| 36 | <email>acmorton@att.com</email>
|
| 37 | <!--[rfced] The following URI does not seem to work. Please update or remove.
|
| 38 |
|
| 39 | ORIGINAL:
|
| 40 | http://home.comcast.net/~acmacm/
|
| 41 | -->
|
| 42 |
|
| 43 | <uri>http://home.comcast.net/~acmacm/</uri>
|
| 44 | </address>
|
| 45 | </author>
|
| 46 |
|
| 47 | <author fullname="Joachim Fabini" initials="J." surname="Fabini">
|
| 48 | <organization>TU Wien</organization>
|
| 49 |
|
| 50 | <address>
|
| 51 | <postal>
|
| 52 | <street>Gusshausstrasse 25/E389</street>
|
| 53 |
|
| 54 | <city>Vienna</city>
|
| 55 |
|
| 56 | <region/>
|
| 57 |
|
| 58 | <code>1040</code>
|
| 59 |
|
| 60 | <country>Austria</country>
|
| 61 | </postal>
|
| 62 |
|
| 63 | <phone>+43 1 58801 38813</phone>
|
| 64 |
|
| 65 | <facsimile>+43 1 58801 38898</facsimile>
|
| 66 |
|
| 67 | <email>Joachim.Fabini@tuwien.ac.at</email>
|
| 68 |
|
| 69 | <uri>http://www.tc.tuwien.ac.at/about-us/staff/joachim-fabini/</uri>
|
| 70 | </address>
|
| 71 | </author>
|
| 72 |
|
| 73 | <author fullname="Nalini Elkins" initials="N." surname="Elkins">
|
| 74 | <organization>Inside Products, Inc.</organization>
|
| 75 |
|
| 76 | <address>
|
| 77 | <postal>
|
| 78 | <street/>
|
| 79 |
|
| 80 | <city>Carmel Valley</city>
|
| 81 |
|
| 82 | <region>CA</region>
|
| 83 |
|
| 84 | <code>93924</code>
|
| 85 |
|
| 86 | <country>United States of America</country>
|
| 87 | </postal>
|
| 88 |
|
| 89 | <phone/>
|
| 90 |
|
| 91 | <facsimile/>
|
| 92 |
|
| 93 | <email>nalini.elkins@insidethestack.com</email>
|
| 94 |
|
| 95 | <uri/>
|
| 96 | </address>
|
| 97 | </author>
|
| 98 |
|
| 99 | <author fullname="Michael S. Ackermann" initials="M." surname="Ackermann">
|
| 100 | <organization>Blue Cross Blue Shield of Michigan</organization>
|
| 101 |
|
| 102 | <address>
|
| 103 | <postal>
|
| 104 | <street/>
|
| 105 |
|
| 106 | <city/>
|
| 107 |
|
| 108 | <region/>
|
| 109 |
|
| 110 | <code/>
|
| 111 |
|
| 112 | <country/>
|
| 113 | </postal>
|
| 114 |
|
| 115 | <phone/>
|
| 116 |
|
| 117 | <facsimile/>
|
| 118 |
|
| 119 | <email>mackermann@bcbsm.com</email>
|
| 120 |
|
| 121 | <uri/>
|
| 122 | </address>
|
| 123 | </author>
|
| 124 |
|
| 125 | <author fullname="Vinayak Hegde" initials="V." surname="Hegde">
|
| 126 | <organization>Consultant</organization>
|
| 127 |
|
| 128 | <address>
|
| 129 | <postal>
|
| 130 | <street>Brahma Sun City, Wadgaon-Sheri</street>
|
| 131 |
|
| 132 | <city>Pune</city>
|
| 133 |
|
| 134 | <region>Maharashtra</region>
|
| 135 |
|
| 136 | <code>411014</code>
|
| 137 |
|
| 138 | <country>India</country>
|
| 139 | </postal>
|
| 140 |
|
| 141 | <phone>+91 9449834401</phone>
|
| 142 |
|
| 143 | <email>vinayakh@gmail.com</email>
|
| 144 |
|
| 145 | <uri>http://www.vinayakhegde.com</uri>
|
| 146 | </address>
|
| 147 | </author>
|
| 148 |
|
| 149 | <date month="August" year="2018"/>
|
| 150 |
|
| 151 | <!-- [rfced] Please insert any keywords (beyond those that appear in
|
| 152 | the title) for use on https://www.rfc-editor.org/search.
|
| 153 | -->
|
| 154 |
|
| 155 | <keyword>example</keyword>
|
| 156 |
|
| 157 |
|
| 158 | <abstract>
|
| 159 | <t>This memo updates the IP Performance Metrics (IPPM) framework defined
|
| 160 | by RFC 2330 with new considerations for measurement methodology and testing. It
|
| 161 | updates the definition of standard-formed packets to include
|
| 162 | IPv6 packets, deprecates the definition of minimal IP packet, and
|
| 163 | augments distinguishing aspects, referred to as type p, for
|
| 164 | test packets in RFC 2330. This memo identifies that IPv4-IPv6
|
| 165 | coexistence can challenge measurements within the scope of the IPPM
|
| 166 | framework. Example use cases include, but are not limited to, IPv4-IPv6
|
| 167 | translation, NAT, and protocol encapsulation. IPv6 header compression and
|
| 168 | use of IPv6 over Low-Power Wireless Area Networks (6LoWPAN) are
|
| 169 | considered and excluded from the standard-formed packet evaluation.</t>
|
| 170 | </abstract>
|
| 171 |
|
| 172 | </front>
|
| 173 |
|
| 174 | <middle>
|
| 175 | <section title="Introduction">
|
| 176 | <t>The IETF IP Performance Metrics (IPPM) working group first created a
|
| 177 | framework for metric development in <xref target="RFC2330"/>. This
|
| 178 | framework has stood the test of time and enabled development of many
|
| 179 | fundamental metrics. It has been updated in the area of metric
|
| 180 | composition <xref target="RFC5835"/> and in several areas related to
|
| 181 | active stream measurement of modern networks with reactive properties
|
| 182 | <xref target="RFC7312"/>.</t>
|
| 183 |
|
| 184 | <t>The IPPM framework <xref target="RFC2330"/> recognized (in Section
|
| 185 | 13) that many aspects of an IP packet can influence its processing during
|
| 186 | transfer across the network.</t>
|
| 187 |
|
| 188 | <t>In Section 15 of <xref target="RFC2330"/>, the notion of a
|
| 189 | "standard-formed" packet is defined. However, the definition was never
|
| 190 | updated to include IPv6, as the original authors originally desired to
|
| 191 | do.</t>
|
| 192 |
|
| 193 | <t>In particular, IPv6 Extension Headers and protocols that use IPv6
|
| 194 | header compression are growing in use. This memo seeks to provide the
|
| 195 | needed updates.</t>
|
| 196 | </section>
|
| 197 |
|
| 198 | <section title="Requirements Language">
|
| 199 | <t>
|
| 200 | The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL
|
| 201 | NOT", "SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED",
|
| 202 | "MAY", and "OPTIONAL" in this document are to be interpreted as
|
| 203 | described in BCP 14 <xref target="RFC2119"/> <xref target="RFC8174"/>
|
| 204 | when, and only when, they appear in all capitals, as shown here.
|
| 205 | </t>
|
| 206 |
|
| 207 | </section>
|
| 208 |
|
| 209 | <section title="Scope">
|
| 210 | <t>The purpose of this memo is to expand the coverage of IPPM metrics to
|
| 211 | include IPv6, highlight additional aspects of test packets, and
|
| 212 | make them part of the IPPM performance metric framework.</t>
|
| 213 |
|
| 214 | <t>The scope is to update key sections of <xref target="RFC2330"/>,
|
| 215 | adding considerations that will aid the development of new measurement
|
| 216 | methodologies intended for today's IP networks. Specifically, this memo
|
| 217 | expands the type-p examples in Section 13 and expands the definition (in Section 15)
|
| 218 | of a standard-formed packet to include IPv6 header aspects and other
|
| 219 | features.</t>
|
| 220 |
|
| 221 | <t>Other topics in <xref target="RFC2330"/> that might be updated or
|
| 222 | augmented are deferred to future work. This includes the topics of
|
| 223 | passive and various forms of hybrid active/passive measurements.</t>
|
| 224 | </section>
|
| 225 |
|
| 226 | <section title="Packets of Type P">
|
| 227 | <t>A fundamental property of many Internet metrics is that the measured
|
| 228 | value of the metric depends on characteristics of the IP packet(s) used
|
| 229 | to make the measurement. Potential influencing factors include IP header
|
| 230 | fields and their values, as well as higher-layer protocol headers and
|
| 231 | their values. Consider an IP-connectivity metric: one obtains different
|
| 232 | results depending on whether one is interested in, for example, connectivity for
|
| 233 | packets destined for well-known TCP ports or unreserved UDP ports,
|
| 234 | those with invalid IPv4 checksums, or those with TTL or Hop Limit of 16. In some circumstances, these distinctions will result in
|
| 235 | special treatment of packets in intermediate nodes and end systems -- for
|
| 236 | example, if Diffserv <xref target="RFC2474"/>, Explicit Congestion Notification (ECN) <xref target="RFC3168"/>, Router Alert <xref target="RFC6398"/>, Hop-by-Hop
|
| 237 | extensions <xref target="RFC7045"/>, or Flow Labels <xref
|
| 238 | target="RFC6437"/> are used, or in the presence of firewalls or RSVP
|
| 239 | reservations.</t>
|
| 240 |
|
| 241 | <t>Because of this distinction, we introduce the generic notion of a
|
| 242 | "packet of type p", where in some contexts P will be explicitly defined
|
| 243 | (i.e., exactly what type of packet we mean), partially defined (e.g.,
|
| 244 | "with a payload of B octets"), or left generic. Thus we may talk about
|
| 245 | generic IP-Type-P-connectivity or more specific
|
| 246 | IP-port-HTTP-connectivity. Some metrics and methodologies may be
|
| 247 | fruitfully defined using generic type-p definitions, which are then made
|
| 248 | specific when performing actual measurements.</t>
|
| 249 |
|
| 250 | <t>Whenever a metric's value depends on the type of the packets involved, the metric's name will include either a specific type or
|
| 251 | a phrase such as "type-p". Thus we will not define an "IP-connectivity"
|
| 252 | metric but instead an "IP-Type-P-connectivity" metric and/or perhaps an
|
| 253 | "IP-port-HTTP-connectivity" metric. This naming convention serves as an
|
| 254 | important reminder that one must be conscious of the exact type of
|
| 255 | traffic being measured.</t>
|
| 256 |
|
| 257 | <t>If the information constituting type p at the Source is found to have
|
| 258 | changed at the Destination (or at a measurement point between the Source
|
| 259 | and Destination, as in <xref target="RFC5644"/>), then the modified
|
| 260 | values MUST be noted and reported with the results. Some modifications
|
| 261 | occur according to the conditions encountered in transit (such as
|
| 262 | congestion notification) or due to the requirements of segments of the
|
| 263 | Source-to-Destination path. For example, the packet length will change
|
| 264 | if IP headers are converted to the alternate version/address family or
|
| 265 |
|
| 266 | <!--[rfced] Does the second sentence here state conditions that are always
|
| 267 | true or give examples of what might be true in some cases? Please clarify.
|
| 268 |
|
| 269 | ORIGINAL:
|
| 270 | Even header fields like TTL/Hop Limit that typically change in transit may
|
| 271 | be relevant to specific tests. For example, Neighbor Discovery
|
| 272 | Protocol (NDP) [RFC4861] packets are transmitted with the Hop Limit
|
| 273 | value set to 255, and the validity test specifies that the Hop Limit
|
| 274 | MUST have a value of 255 at the receiver, too. So, while other tests
|
| 275 | may intentionally exclude the TTL/Hop Limit value from their type-p
|
| 276 | definition, for this particular test, the correct Hop Limit value is
|
| 277 | of high relevance and MUST be part of the type-p definition.
|
| 278 |
|
| 279 | PERHAPS:
|
| 280 | Even header fields like TTL/Hop Limit that typically change in transit may
|
| 281 | be relevant to specific tests. For example, Neighbor Discovery
|
| 282 | Protocol (NDP) [RFC4861] packets could be transmitted with the Hop Limit
|
| 283 | value set to 255, while the validity test specifies that the Hop Limit
|
| 284 | MUST have a value of 255 at the receiver, too. So, while other tests
|
| 285 | may intentionally exclude the TTL/Hop Limit value from their type-p
|
| 286 | definition, for this particular test, the correct Hop Limit value is
|
| 287 | of high relevance and MUST be part of the type-p definition.
|
| 288 |
|
| 289 | -->
|
| 290 | optional Extension Headers are added or removed. Even header fields
|
| 291 | like TTL/Hop Limit that typically change in transit may be relevant to
|
| 292 | specific tests. For example, Neighbor Discovery Protocol (NDP) <xref
|
| 293 | target="RFC4861"/> packets are transmitted with the Hop Limit value set to
|
| 294 | 255, and the validity test specifies that the Hop Limit MUST have a
|
| 295 | value of 255 at the receiver, too. So, while other tests may
|
| 296 | intentionally exclude the TTL/Hop Limit value from their type-p
|
| 297 | definition, for this particular test, the correct Hop Limit value is of
|
| 298 | high relevance and MUST be part of the type-p definition.</t>
|
| 299 |
|
| 300 | <t>Local policies in intermediate nodes based on examination of IPv6
|
| 301 | Extension Headers may affect measurement repeatability. If intermediate
|
| 302 | nodes follow the recommendations of <xref target="RFC7045"/>,
|
| 303 | repeatability may be improved to some degree.</t>
|
| 304 |
|
| 305 | <t>A closely related note: It would be very useful to know if a given
|
| 306 | Internet component (like host, link, or path) treats equally a class C
|
| 307 | of different types of packets. If so, then any one of those types of
|
| 308 | packets can be used for subsequent measurement of the component. This
|
| 309 | suggests we devise a metric or suite of metrics that attempt to
|
| 310 | determine class C (a designation that has no relationship to address
|
| 311 | assignments, of course).</t>
|
| 312 |
|
| 313 | <t>Load balancing over parallel paths is one particular example where
|
| 314 | such a class C would be more complex to determine in IPPM measurements.
|
| 315 | Load balancers and routers often use flow identifiers, computed as
|
| 316 | hashes (specific parts) of the packet header, for deciding among the
|
| 317 | available parallel paths a packet will traverse. Packets with identical
|
| 318 | hashes are assigned to the same flow and forwarded to the same resource
|
| 319 | in the load balancer's (or router's) pool. The presence of a load
|
| 320 | balancer on the measurement path, as well as the specific headers and
|
| 321 | fields that are used for the forwarding decision, are not known when
|
| 322 | measuring the path as a black box. Potential assessment scenarios
|
| 323 | include the measurement of one of the parallel paths, and the
|
| 324 | measurement of all available parallel paths that the load balancer can
|
| 325 | use. Knowledge of a load balancer's flow definition (alternatively: its
|
| 326 | class C specific treatment in terms of header fields in scope of hash
|
| 327 | operations) is therefore a prerequisite for repeatable measurements. A
|
| 328 | path may have more than one stage of load balancing, adding to class C
|
| 329 | definition complexity.</t>
|
| 330 | </section>
|
| 331 |
|
| 332 | <section title="Standard-Formed Packets">
|
| 333 | <t>Unless otherwise stated, all metric definitions that concern IP
|
| 334 | packets include an implicit assumption that the packet is
|
| 335 | standard-formed. A packet is standard-formed if it meets all of the
|
| 336 | following REQUIRED criteria:</t>
|
| 337 |
|
| 338 | <t><list style="hanging">
|
| 339 | <t hangText="+">It includes a valid IP header. See below for
|
| 340 | version-specific criteria.</t>
|
| 341 |
|
| 342 | <t hangText="+">It is not an IP fragment.</t>
|
| 343 |
|
| 344 | <t hangText="+">The Source and Destination addresses correspond to
|
| 345 | the intended Source and Destination, including Multicast Destination
|
| 346 | addresses.</t>
|
| 347 |
|
| 348 | <t hangText="+">If a transport header is present, it contains a
|
| 349 | valid checksum and other valid fields.</t>
|
| 350 | </list>For an IPv4 (<xref target="RFC0791"/> and updates) packet to be
|
| 351 | standard-formed, the following additional criteria are REQUIRED:<list
|
| 352 | style="symbols">
|
| 353 | <t>The version field is 4.</t>
|
| 354 |
|
| 355 | <!--[rfced] This bullet point seems to contain two different
|
| 356 | requirements. Please check whether they should each have their own bullet
|
| 357 | point or remain together.
|
| 358 |
|
| 359 | ORIGINAL:
|
| 360 | The Internet Header Length (IHL) value is >= 5; the checksum is
|
| 361 | correct.
|
| 362 | -->
|
| 363 | <t>The Internet Header Length (IHL) value is >= 5; the checksum
|
| 364 | is correct.</t>
|
| 365 |
|
| 366 | <t>Its total length as given in the IPv4 header corresponds to the
|
| 367 | size of the IPv4 header plus the size of the payload.</t>
|
| 368 |
|
| 369 | <t>Either the packet possesses sufficient TTL to travel from the
|
| 370 | Source to the Destination if the TTL is decremented by one at each
|
| 371 | hop, or it possesses the maximum TTL of 255.</t>
|
| 372 |
|
| 373 | <t>It does not contain IP options unless explicitly noted.</t>
|
| 374 | </list></t>
|
| 375 |
|
| 376 | <t>For an IPv6 (<xref target="RFC8200"/> and updates) packet to be
|
| 377 | standard-formed, the following criteria are REQUIRED:<list
|
| 378 | style="symbols">
|
| 379 | <t>The version field is 6.</t>
|
| 380 |
|
| 381 | <t>Its total length corresponds to the size of the IPv6 header (40
|
| 382 | octets) plus the length of the payload as given in the IPv6
|
| 383 | header.</t>
|
| 384 |
|
| 385 | <t>The payload length value for this packet (including Extension
|
| 386 | Headers) conforms to the IPv6 specifications.</t>
|
| 387 |
|
| 388 | <t>Either the packet possesses sufficient Hop Limit to travel from
|
| 389 | the Source to the Destination if the Hop Limit is decremented by one
|
| 390 | at each hop, or it possesses the maximum Hop Limit of 255.</t>
|
| 391 |
|
| 392 | <t>Either the packet does not contain IP Extension Headers, or it
|
| 393 | contains the correct number and type of headers as specified in the
|
| 394 | packet, and the headers appear in the standard-conforming order
|
| 395 | (Next Header).</t>
|
| 396 |
|
| 397 | <t>All parameters used in the header and Extension Headers are found
|
| 398 | in the IANA Registry of Internet Protocol Version 6 (IPv6)
|
| 399 | Parameters, specified in <xref target="IANA-6P"/>.</t>
|
| 400 | </list></t>
|
| 401 |
|
| 402 | <t>Two mechanisms require some discussion in the context of
|
| 403 | standard-formed packets, namely IPv6 over Low-Power Wireless Area
|
| 404 | Networks (6LowPAN) <xref target="RFC4944"/> and Robust Header
|
| 405 | Compression (ROHC) <xref target="RFC3095"/>. 6LowPAN, as defined in <xref target="RFC4944"/>
|
| 406 | and updated by <xref target="RFC6282"/> with header compression and
|
| 407 | <xref target="RFC6775"/> with neighbor discovery optimizations, proposes
|
| 408 | solutions for using IPv6 in resource-constrained environments. An
|
| 409 | adaptation layer enables the transfer of IPv6 packets over networks
|
| 410 | having an MTU smaller than the minimum IPv6 MTU. Fragmentation and
|
| 411 | reassembly of IPv6 packets, as well as the resulting state that would
|
| 412 | be stored in intermediate nodes, poses substantial challenges to
|
| 413 | measurements. Likewise, ROHC operates statefully in compressing headers
|
| 414 | on subpaths, storing state in intermediate hosts. The modification of
|
| 415 | measurement packets' type p by ROHC and 6LowPAN requires substantial work, as do requirements
|
| 416 | with respect to the concept of standard-formed packets for these two
|
| 417 | protocols. For these reasons, we
|
| 418 | consider ROHC and 6LowPAN packets to be out of the scope of the
|
| 419 | standard-formed packet evaluation.</t>
|
| 420 |
|
| 421 | <t>The topic of IPv6 Extension Headers brings current controversies into
|
| 422 | focus, as noted by <xref target="RFC6564"/> and <xref target="RFC7045"/>.
|
| 423 | However, measurement use cases in the context of the IPPM framework,
|
| 424 | such as in-situ OAM <xref target="IOAM-DATA"/> in enterprise
|
| 425 | environments, can benefit from inspection, modification, addition, or
|
| 426 | deletion of IPv6 extension headers in hosts along the measurement
|
| 427 | path.</t>
|
| 428 |
|
| 429 | <t><xref target="RFC8250"/> endorses the use of the IPv6 Destination Option
|
| 430 | for measurement purposes, consistent with other approved IETF
|
| 431 | specifications.</t>
|
| 432 |
|
| 433 | <t>The following additional considerations apply when IPv6 Extension
|
| 434 | Headers are present:</t>
|
| 435 |
|
| 436 | <t><list style="symbols">
|
| 437 | <t>Extension Header inspection: Some intermediate nodes may inspect
|
| 438 | Extension Headers or the entire IPv6 packet while in transit. In
|
| 439 | exceptional cases, they may drop the packet or route via a
|
| 440 | suboptimal path, and measurements may be unreliable or
|
| 441 | unrepeatable. The packet (if it arrives) may be standard-formed,
|
| 442 | with a corresponding type p.</t>
|
| 443 |
|
| 444 | <t>Extension Header modification: In Hop-by-Hop headers, some TLV-encoded options may be permitted to change at intermediate nodes
|
| 445 | while in transit. The resulting packet may be standard-formed, with
|
| 446 | a corresponding type p.</t>
|
| 447 |
|
| 448 | <t>Extension Header insertion or deletion: Although such behavior is
|
| 449 | not endorsed by current standards, it is possible that Extension
|
| 450 | Headers could be added to, or removed from, the header chain. The
|
| 451 | resulting packet may be standard-formed, with a corresponding
|
| 452 | type p. This point simply encourages measurement system designers to
|
| 453 | be prepared for the unexpected and notify users when such events
|
| 454 | occur. There are issues with Extension Header insertion and deletion,
|
| 455 | of course, such as exceeding the path MTU due to insertion, etc.</t>
|
| 456 |
|
| 457 | <t>A change in packet length (from the corresponding packet observed
|
| 458 | at the Source) or header modification is a significant factor in
|
| 459 | Internet measurement and REQUIRES a new type p to be reported with
|
| 460 | the test results.</t>
|
| 461 | </list>It is further REQUIRED that if a packet is described as having
|
| 462 | a "length of B octets", then 0 <= B <= 65535; and if B is the
|
| 463 | payload length in octets, then B <= (65535-IP header size in octets,
|
| 464 | including any Extension Headers). The jumbograms defined in <xref
|
| 465 | target="RFC2675"/> are not covered by the above length analysis, but if
|
| 466 | the IPv6 Jumbogram Payload Hop-by-Hop Option Header is present, then a
|
| 467 | packet with corresponding length MUST be considered standard-formed. In
|
| 468 | practice, the path MTU will restrict the length of standard-formed
|
| 469 | packets that can successfully traverse the path. Path MTU Discovery for
|
| 470 | IP version 6 (PMTUD, <xref target="RFC8201"/>) or Packetization Layer
|
| 471 | Path MTU Discovery (PLPMTUD, <xref target="RFC4821"/>) is recommended to
|
| 472 | prevent fragmentation.</t>
|
| 473 |
|
| 474 | <t>So, for example, one might imagine defining an IP-connectivity metric
|
| 475 | as "IP-type-P-connectivity for standard-formed packets with the IP
|
| 476 | Diffserv field set to 0", or, more succinctly, "IP-type-P-connectivity
|
| 477 | with the IP Diffserv Field set to 0", since standard-formed is already
|
| 478 | implied by convention. Changing the contents of a field, such as the
|
| 479 | Diffserv Code Point, ECN bits, or Flow Label may have a profound effect
|
| 480 | on packet handling during transit, but does not affect a packet's status
|
| 481 | as standard-formed. Likewise, the addition, modification, or deletion of
|
| 482 | extension headers may change the handling of packets in transit
|
| 483 | hosts.</t>
|
| 484 |
|
| 485 | <t><xref target="RFC2330"/> defines the "minimal IP packet from A to B"
|
| 486 | as a particular type of standard-formed packet often useful to consider.
|
| 487 | When defining IP metrics, no packet smaller or simpler than this can be
|
| 488 | transmitted over a correctly operating IP network. However, the concept
|
| 489 | of the minimal IP packet has not been employed (since typical active
|
| 490 | measurement systems employ a transport layer and a payload) and its
|
| 491 | practical use is limited. Therefore, this memo deprecates the concept of
|
| 492 | the "minimal IP packet from A to B".</t>
|
| 493 | </section>
|
| 494 |
|
| 495 | <section title="NAT, IPv4-IPv6 Transition, and Compression Techniques">
|
| 496 | <t>This memo adds the key considerations for utilizing IPv6 in two
|
| 497 | critical conventions of the IPPM framework, namely packets of type p and
|
| 498 | standard-formed packets. The need for coexistence of IPv4 and IPv6 has
|
| 499 | originated transitioning standards like the framework for IPv4/IPv6
|
| 500 | Translation in <xref target="RFC6144"/> or IP/ICMP Translation
|
| 501 | Algorithms in <xref target="RFC7915"/> and <xref target="RFC7757"/>.</t>
|
| 502 |
|
| 503 | <t>The definition and execution of measurements within the context of
|
| 504 | the IPPM framework is challenged whenever such translation mechanisms
|
| 505 | are present along the measurement path. In use cases like
|
| 506 | IPv4-IPv6 translation, NAT, protocol encapsulation, or IPv6 header
|
| 507 | compression may result in modification of the measurement packet's
|
| 508 | type p along the path. All these changes MUST be reported. Example
|
| 509 | consequences include, but are not limited to:</t>
|
| 510 |
|
| 511 | <t><list style="symbols">
|
| 512 | <t>Modification or addition of headers or header field values in
|
| 513 | intermediate nodes. IPv4-IPv6 transitioning or IPv6 header
|
| 514 | compression mechanisms may result in changes of the measurement
|
| 515 | packets' type p, too. Consequently, hosts along the measurement path
|
| 516 | may treat packets differently because of the type-p modification.
|
| 517 | Measurements at observation points along the path may also need
|
| 518 | extra context to uniquely identify a packet.</t>
|
| 519 |
|
| 520 | <t>Network Address Translators (NAT) on the path can have an
|
| 521 | unpredictable impact on latency measurement (in terms of the amount
|
| 522 | of additional time added) and possibly other types of measurements.
|
| 523 | It is not usually possible to control this impact as testers may
|
| 524 | not have any control of the underlying network or middleboxes.
|
| 525 | There is a possibility that stateful NAT will lead to unstable
|
| 526 | performance for a flow with specific type p, since state needs to be
|
| 527 | created for the first packet of a flow, and state may be lost later
|
| 528 | if the NAT runs out of resources. However, this scenario does not
|
| 529 | invalidate the type p for testing; for example, the purpose of a
|
| 530 | test might be exactly to quantify the NAT's impact on delay
|
| 531 | variation. The presence of NAT may mean that the measured
|
| 532 | performance of type p will change between the source and the
|
| 533 | destination. This can cause an issue when attempting to correlate
|
| 534 | measurements conducted on segments of the path that include or
|
| 535 | exclude the NAT. Thus it is a factor to be aware of when conducting
|
| 536 | measurements.</t>
|
| 537 |
|
| 538 | <t>Variable delay due to internal state. One side effect of changes
|
| 539 | due to IPv4-IPv6 transitioning mechanisms is the variable delay that
|
| 540 | intermediate nodes spend for header modifications. Similar to NAT,
|
| 541 | the allocation of internal state and establishment of context within
|
| 542 | intermediate nodes may cause variable delays, depending on the
|
| 543 | measurement stream pattern and position of a packet within the
|
| 544 | stream. For example, the first packet in a stream will typically
|
| 545 | trigger allocation of internal state in an intermediate IPv4-IPv6
|
| 546 | transition host. Subsequent packets can benefit from lower
|
| 547 | processing delay due to the existing internal state. However, large
|
| 548 | interpacket delays in the measurement stream may result in the
|
| 549 | intermediate host deleting the associated state and needing to
|
| 550 | re-establish it on arrival of another stream packet. It is worth
|
| 551 | noting that this variable delay due to internal state allocation in
|
| 552 | intermediate nodes can be an explicit use case for measurements.</t>
|
| 553 |
|
| 554 | <t>Variable delay due to packet length. IPv4-IPv6 transitioning or
|
| 555 | header compression mechanisms modify the length of measurement
|
| 556 | packets. The modification of the packet size may or may not change
|
| 557 | how the measurement path treats the packets.</t>
|
| 558 | </list></t>
|
| 559 |
|
| 560 | <t/>
|
| 561 | </section>
|
| 562 |
|
| 563 | <section anchor="Security" title="Security Considerations">
|
| 564 | <t>The security considerations that apply to any active measurement of
|
| 565 | live paths are relevant here as well. See <xref target="RFC4656"/> and
|
| 566 | <xref target="RFC5357"/>.</t>
|
| 567 |
|
| 568 | <t>When considering the privacy of those involved in measurement or those
|
| 569 | whose traffic is measured, the sensitive information available to
|
| 570 | potential observers is greatly reduced when using active techniques
|
| 571 | that are within this scope of work. Passive observations of user
|
| 572 | traffic for measurement purposes raise many privacy issues. We refer the
|
| 573 | reader to the privacy considerations described in the Large Scale
|
| 574 | Measurement of Broadband Performance (LMAP) framework <xref
|
| 575 | target="RFC7594"/>, which covers active and passive techniques.</t>
|
| 576 | </section>
|
| 577 |
|
| 578 | <section anchor="IANA" title="IANA Considerations">
|
| 579 | <t>This document has no IANA actions.</t>
|
| 580 | </section>
|
| 581 |
|
| 582 | </middle>
|
| 583 |
|
| 584 | <back>
|
| 585 | <references title="Normative References">
|
| 586 | <?rfc include='reference.RFC.0791'?>
|
| 587 |
|
| 588 | <?rfc include='reference.RFC.2119'?>
|
| 589 |
|
| 590 | <?rfc include='reference.RFC.2330'?>
|
| 591 |
|
| 592 | <?rfc include='reference.RFC.2474'?>
|
| 593 |
|
| 594 | <?rfc include='reference.RFC.2675'?>
|
| 595 |
|
| 596 | <?rfc include='reference.RFC.3168'?>
|
| 597 |
|
| 598 | <?rfc include='reference.RFC.3095'?>
|
| 599 |
|
| 600 | <?rfc include='reference.RFC.4944'?>
|
| 601 |
|
| 602 | <?rfc include='reference.RFC.4656'?>
|
| 603 |
|
| 604 | <?rfc include='reference.RFC.4821'?>
|
| 605 |
|
| 606 | <?rfc include='reference.RFC.4861'?>
|
| 607 |
|
| 608 | <?rfc include='reference.RFC.5357'?>
|
| 609 |
|
| 610 | <?rfc include='reference.RFC.5644'?>
|
| 611 |
|
| 612 | <?rfc include='reference.RFC.5835'?>
|
| 613 |
|
| 614 | <?rfc include='reference.RFC.6144'?>
|
| 615 |
|
| 616 | <?rfc include='reference.RFC.6282'?>
|
| 617 |
|
| 618 | <?rfc include='reference.RFC.6398'?>
|
| 619 |
|
| 620 | <?rfc include='reference.RFC.6437'?>
|
| 621 |
|
| 622 | <?rfc include='reference.RFC.6564'?>
|
| 623 |
|
| 624 | <?rfc include='reference.RFC.6775'?>
|
| 625 |
|
| 626 | <?rfc include='reference.RFC.7045'?>
|
| 627 |
|
| 628 | <?rfc include='reference.RFC.7312'?>
|
| 629 |
|
| 630 | <?rfc include='reference.RFC.7757'?>
|
| 631 |
|
| 632 | <?rfc include='reference.RFC.7915'?>
|
| 633 |
|
| 634 | <?rfc include='reference.RFC.8174'?>
|
| 635 |
|
| 636 | <?rfc include='reference.RFC.8200'?>
|
| 637 |
|
| 638 | <?rfc include='reference.RFC.8201'?>
|
| 639 |
|
| 640 | <?rfc include='reference.RFC.8250'?>
|
| 641 | </references>
|
| 642 |
|
| 643 | <references title="Informative References">
|
| 644 | <?rfc include='reference.RFC.7594'?>
|
| 645 |
|
| 646 | <!-- draft-ietf-ippm-ioam-data-03 exists -->
|
| 647 | <reference anchor='IOAM-DATA'>
|
| 648 | <front>
|
| 649 | <title>Data Fields for In-situ OAM</title>
|
| 650 |
|
| 651 | <author initials='F' surname='Brockners' fullname='Frank Brockners'>
|
| 652 | <organization />
|
| 653 | </author>
|
| 654 |
|
| 655 | <author initials='S' surname='Bhandari' fullname='Shwetha Bhandari'>
|
| 656 | <organization />
|
| 657 | </author>
|
| 658 |
|
| 659 | <author initials='C' surname='Pignataro' fullname='Carlos Pignataro'>
|
| 660 | <organization />
|
| 661 | </author>
|
| 662 |
|
| 663 | <author initials='H' surname='Gredler' fullname='Hannes Gredler'>
|
| 664 | <organization />
|
| 665 | </author>
|
| 666 |
|
| 667 | <author initials='J' surname='Leddy' fullname='John Leddy'>
|
| 668 | <organization />
|
| 669 | </author>
|
| 670 |
|
| 671 | <author initials='S' surname='Youell' fullname='Stephen Youell'>
|
| 672 | <organization />
|
| 673 | </author>
|
| 674 |
|
| 675 | <author initials='T' surname='Mizrahi' fullname='Tal Mizrahi'>
|
| 676 | <organization />
|
| 677 | </author>
|
| 678 |
|
| 679 | <author initials='D' surname='Mozes' fullname='David Mozes'>
|
| 680 | <organization />
|
| 681 | </author>
|
| 682 |
|
| 683 | <author initials='P' surname='Lapukhov' fullname='Petr Lapukhov'>
|
| 684 | <organization />
|
| 685 | </author>
|
| 686 |
|
| 687 | <author initials='R' surname='Chang' fullname='Remy Chang'>
|
| 688 | <organization />
|
| 689 | </author>
|
| 690 |
|
| 691 | <author initials='d' surname='daniel.bernier@bell.ca' fullname='daniel.bernier@bell.ca'>
|
| 692 | <organization />
|
| 693 | </author>
|
| 694 |
|
| 695 | <author initials='J' surname='Lemon' fullname='John Lemon'>
|
| 696 | <organization />
|
| 697 | </author>
|
| 698 |
|
| 699 | <date month='June' day='27' year='2018' />
|
| 700 |
|
| 701 |
|
| 702 | </front>
|
| 703 |
|
| 704 | <seriesInfo name='Work in Progress,' value='draft-ietf-ippm-ioam-data-03' />
|
| 705 |
|
| 706 | </reference>
|
| 707 |
|
| 708 |
|
| 709 | <reference anchor="IANA-6P" target="https://www.iana.org/assignments/ipv6-parameters">
|
| 710 | <front>
|
| 711 | <title>Internet Protocol Version 6 (IPv6) Parameters</title>
|
| 712 |
|
| 713 | <author fullname="IANA" initials="" surname="IANA">
|
| 714 |
|
| 715 | <organization>IANA</organization>
|
| 716 | </author>
|
| 717 |
|
| 718 | <date />
|
| 719 | </front>
|
| 720 |
|
| 721 | </reference>
|
| 722 | </references>
|
| 723 | <section anchor="Acknowledgements" title="Acknowledgements" numbered="no">
|
| 724 | <t>The authors thank Brian Carpenter for identifying the lack of IPv6
|
| 725 | coverage in IPPM's framework and listing additional distinguishing
|
| 726 | factors for packets of type p. Both Brian and Fred Baker discussed many
|
| 727 | of the interesting aspects of IPv6 with the coauthors, leading to a
|
| 728 | more solid first draft: thank you both. Thanks to Bill Jouris for an
|
| 729 | editorial pass through the pre-00 text. As we completed our journey,
|
| 730 | Nevil Brownlee, Mike Heard, Spencer Dawkins, Warren Kumari, and Suresh
|
| 731 | Krishnan all contributed useful suggestions.</t>
|
| 732 | </section>
|
| 733 |
|
| 734 | </back>
|
| 735 | </rfc>
|