idnits 2.17.00 (12 Aug 2021) /tmp/idnits37622/draft-koren-avt-crtp-ipcp-00.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Looks like you're using RFC 2026 boilerplate. This must be updated to follow RFC 3978/3979, as updated by RFC 4748. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** The document seems to lack a 1id_guidelines paragraph about Internet-Drafts being working documents. ** The document seems to lack a 1id_guidelines paragraph about 6 months document validity. ** The document seems to lack a 1id_guidelines paragraph about the list of Shadow Directories -- however, there's a paragraph with a matching beginning. Boilerplate error? == No 'Intended status' indicated for this document; assuming Proposed Standard == The page length should not exceed 58 lines per page, but there was 1 longer page, the longest (page 1) being 507 lines Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. ** There are 15 instances of too long lines in the document, the longest one being 8 characters in excess of 72. ** The abstract seems to contain references ([RFC1332,RFC2023], [RFC1661], [CRTP], [IPHC]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. Miscellaneous warnings: ---------------------------------------------------------------------------- == The copyright year in the RFC 3978 Section 5.4 Copyright Line does not match the current year -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- Couldn't find a document date in the document -- date freshness check skipped. Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Missing Reference: 'RFC1331' is mentioned on line 92, but not defined ** Obsolete undefined reference: RFC 1331 (Obsoleted by RFC 1548) == Unused Reference: 'RFC1144' is defined on line 389, but no explicit reference was found in the text == Outdated reference: draft-ietf-avt-crtp-enhance has been published as RFC 3545 ** Obsolete normative reference: RFC 2023 (Obsoleted by RFC 2472) ** Obsolete normative reference: RFC 1889 (Obsoleted by RFC 3550) -- Possible downref: Non-RFC (?) normative reference: ref. 'MCML' Summary: 11 errors (**), 0 flaws (~~), 6 warnings (==), 3 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Audio/Video Transport Working Group M. Engan 3 Internet Draft Effnet 4 November 17, 2000 S. Casner 5 Expires July 2001 Packet Design 6 draft-koren-avt-crtp-ipcp-00.txt C. Bormann 7 Universitaet Bremen TZI 8 T. Koren 9 Cisco Systems 11 IP Header Compression over PPP 13 Status of this memo 15 This document is an Internet Draft and is in full conformance with all 16 provisions of Section 10 of RFC 2026. Internet Drafts are working documents of 17 the Internet Engineering Task Force (IETF), its Areas, and its Working Groups. 18 Note that other groups may also distribute working documents as Internet Drafts. 20 Internet Drafts are draft documents valid for a maximum of six months. Internet 21 Drafts may be updated, replaced, or obsolete by other documents at any time. It 22 is not appropriate to use Internet Drafts as reference material or to cite them 23 other than as "work in progress". 25 The list of current Internet-Drafts can be accessed at: 26 http://www.ietf.org/ietf/1id-abstracts.txt 28 The list of Internet-Draft Shadow Directories can be accessed at: 29 http://www.ietf.org/shadow.txt 31 This draft is being submitted as a possible work item to the IETF Audio/Video 32 Transport working group. To subscribe to the mailing list send a message to 33 rem-conf-request@es.net with the line "subscribe" in the body of the message. 34 Archives are available from: 35 ftp://ftp.es.net/pub/mail-archive/rem-conf 37 Copyright Notice 39 Copyright (C) The Internet Society (1999). All Rights Reserved. 41 Abstract 43 This document describes an option for negotiating the use of header 44 compression on IP datagrams transmitted over the Point-to-Point 45 Protocol [RFC1661]. It defines extensions to the PPP Control 46 Protocols for IPv4 and IPv6 [RFC1332, RFC2023]. Header compression 47 may be applied to IPv4 and IPv6 datagrams in combination with TCP, 48 UDP and RTP transport protocols as specified in [IPHC] and [CRTP]. 50 1. Introduction 52 The IP Header Compression (IPHC) defined in [IPHC] may be used for 53 compression of both IPv4 and IPv6 datagrams or packets encapsulated 54 with multiple IP headers. IPHC is also capable of compressing both 55 TCP and UDP transport protocol headers. The IP/UDP/RTP header 56 compression defined in [CRTP] fits within the framework defined by 57 IPHC so that it may also be applied to both IPv4 and IPv6 packets. 59 In order to establish compression of IP datagrams sent over a PPP 60 link each end of the link must agree on a set of configuration 61 parameters for the compression. The process of negotiating link 62 parameters for network layer protocols is handled in PPP by a family 63 of network control protocols (NCPs). Since there are separate NCPs 64 for IPv4 and IPv6, this document defines configuration options to be 65 used in both NCPs to negotiate parameters for the compression scheme. 67 IPHC relies on the link layer's ability to indicate the types of 68 datagrams carried in the link layer frames. In this document nine new 69 types for the PPP Data Link Layer Protocol Field are defined along 70 with their meaning. 72 In general, header compression schemes that use delta encoding of 73 compressed packets require that the lower layer does not reorder 74 packets between compressor and decompressor. IPHC uses delta encoding 75 of compressed packets for TCP and RTP. The IPHC specification [IPHC] 76 includes methods that allow link layers that may reorder packets to 77 be used with IPHC. Since PPP does not reorder packets these 78 mechanisms are disabled by default. When using reordering mechanisms 79 such as multiclass multilink PPP [MCML], care must be taken so that 80 packets that share the same compression context are not reordered. 82 2. Configuration Option 84 This document specifies a new compression protocol value for the IPCP 85 IP-Compression-Protocol option as specified in [RFC1332]. The new 86 value and the associated option format are described in section 2.1. 88 The option format is structured to allow future extensions to the 89 IPHC scheme. 91 NOTE: The specification of link and network layer parameter 92 negotiation for PPP [RFC1661], [RFC1331], [RFC1332] does not 93 prohibit multiple instances of one configuration option but states 94 that the specification of a configuration option must explicitly 95 allow multiple instances. From the current specification of the 96 IPCP IP-Compression-Protocol configuration option [RFC1332, p 6] 97 it follows that it can only be used to select a single compression 98 protocol at any time. 100 NOTE: [RFC1332] is not explicit about whether the option 101 negotiates the capabilities of the receiver or of the sender. In 102 keeping with current practice, we assume that the option describes 103 the capabilities of the decompressor (receiving side) of the peer 104 that sends the Config-Req. 106 2.1. Configuration Option Format 108 Both the network control protocol for IPv4, IPCP [RFC1332] and the 109 IPv6 NCP, IPV6CP [RFC2023] may be used to negotiate IP Header 110 Compression parameters for their respective protocols. The format of 111 the configuration option is the same for both IPCP and IPV6CP. 113 Description 115 This NCP configuration option is used to negotiate parameters for 116 IP Header Compression. The option format is summarized below. 117 The fields are transmitted from left to right. 119 0 1 2 3 120 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 121 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 122 | Type | Length | IP-Compression-Protocol | 123 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 124 | TCP_SPACE | NON_TCP_SPACE | 125 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 126 | F_MAX_PERIOD | F_MAX_TIME | 127 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 128 | MAX_HEADER | suboptions... 129 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 131 Type 132 2 134 Length 135 >= 14 137 The length may be increased if the presence of additional 138 parameters is indicated by additional suboptions. 140 IP-Compression-Protocol 141 0061 (hex) 143 TCP_SPACE 144 The TCP_SPACE field is two octets and indicates the maximum value 145 of a context identifier in the space of context identifiers 146 allocated for TCP. 148 Suggested value: 15 150 TCP_SPACE must be at least 0 and at most 255 (The value 0 implies 151 having one context). 153 NON_TCP_SPACE 154 The NON_TCP_SPACE field is two octets and indicates the maximum 155 value of a context identifier in the space of context identifiers 156 allocated for non-TCP. These context identifiers are carried in 157 COMPRESSED_NON_TCP, COMPRESSED_UDP and COMPRESSED_RTP packet 158 headers. 160 Suggested value: 15 162 NON_TCP_SPACE must be at least 0 and at most 65535 (The value 0 163 implies having one context). 165 F_MAX_PERIOD 166 Maximum interval between full headers. No more than F_MAX_PERIOD 167 COMPRESSED_NON_TCP headers may be sent between FULL_HEADER 168 headers. 170 Suggested value: 256 172 A value of zero implies infinity, i.e. there is no limit to the 173 number of consecutive COMPRESSED_NON_TCP headers. 175 F_MAX_TIME 176 Maximum time interval between full headers. COMPRESSED_NON_TCP 177 headers may not be sent more than F_MAX_TIME seconds after sending 178 the last FULL_HEADER header. 180 Suggested value: 5 seconds 182 A value of zero implies infinity. 184 MAX_HEADER 185 The largest header size in octets that may be compressed. 187 Suggested value: 168 octets 189 The value of MAX_HEADER should be large enough so that at least 190 the outer network layer header can be compressed. To increase 191 compression efficiency MAX_HEADER should be set to a value large 192 enough to cover common combinations of network and transport layer 193 headers. 195 suboptions 196 The suboptions field consists of zero or more suboptions. Each 197 suboption consists of a type field, a length field and zero or 198 more parameter octets, as defined by the suboption type. The 199 value of the length field indicates the length of the suboption in 200 its entirety, including the lengths of the type and length fields. 202 0 1 2 203 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 204 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 205 | Type | Length | Parameters... 206 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 208 2.2 IP/UDP/RTP Compression Suboptions 210 There are three alternative suboptions for negotiation of the use of 211 IP/UDP/RTP compression. The choice of suboption depends on which 212 enhanced features of that compression are to be used. At most one 213 of these suboptions is to be included in the NCP 214 IP-Compression-Protocol option. 216 After successful negotiation of parameters for IP Header Compression 217 the use of Protocol Identifiers FULL_HEADER, COMPRESSED_TCP, 218 COMPRESSED_TCP_NODELTA and COMPRESSED_NON_TCP is enabled, regardless 219 of the presence of an RTP-Compression suboption. 221 2.2.1 Basic IP/UDP/RTP compression suboption 223 Description 225 Enable use of Protocol Identifiers COMPRESSED_RTP, COMPRESSED_UDP and 226 CONTEXT_STATE as specified in [CRTP]. 228 0 1 229 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 230 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 231 | Type | Length | 232 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 234 Type 235 1 237 Length 238 2 240 2.2.2 CRTP-ENHANCE Suboption 242 Description 244 Enable use of Protocol Identifiers COMPRESSED_RTP, COMPRESSED_UDP and 245 CONTEXT_STATE as specified in [CRTP], and enable use of all enhancements 246 to CRTP as specified in [ECRTP]. 248 0 1 249 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 250 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 251 | Type | Length | 252 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 254 Type 255 2 257 Length 258 2 260 2.2.3 CRTP-ENHANCE-NO-ACK-SCHEME Suboption 262 Description 264 Enable use of Protocol Identifiers COMPRESSED_RTP, COMPRESSED_UDP and 265 CONTEXT_STATE as specified in [CRTP], and enable use of all enhancements 266 to CRTP as specified in [ECRTP] except operation in ACK mode. 268 0 1 269 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 270 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 271 | Type | Length | 272 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 274 Type 275 3 277 Length 278 2 280 3. Multiple Network Control Protocols 282 The IPHC protocol is able to compress both IPv6 and IPv4 datagrams. 283 Both IPCP and IPV6CP are able to negotiate option parameter values 284 for IPHC. These values apply to the compression of packets where the 285 outer header is an IPv4 header and an IPv6 header, respectively. 287 3.1. Sharing Context Identifier Space 289 For the compression and decompression of IPv4 and IPv6 datagram 290 headers the context identifier space is shared. While the parameter 291 values are independently negotiated, sharing the context identifier 292 spaces becomes more complex when the parameter values differ. Since 293 the compressed packets share context identifier space, the 294 compression engine must allocate context identifiers out of a common 295 pool; for compressed packets, the decompressor has to examine the 296 context state to determine what parameters to use for decompression. 298 Context identifier spaces are not shared between TCP and non- 299 TCP/UDP/RTP. Doing so would require additional mechanisms to ensure 300 that no error can occur when switching from using a context 301 identifier for TCP to non-TCP. 303 4. Demultiplexing of Datagrams 305 The IPHC specification [IPHC] defines four header formats for 306 different types of compressed headers. They are compressed TCP, 307 compressed TCP with no delta encoding, compressed non-TCP with 8 bit 308 CID and compressed non-TCP with 16 bit CID. The two non-TCP formats 309 may be distinguished by their contents so both may use the same 310 link-level identifier. A fifth header format, the full header is 311 distinct from a regular header in that it carries additional 312 information to establish shared context between the compressor and 313 decompressor. 315 The specification of IP/UDP/RTP Header Compression [CRTP] defines 316 four additional formats of compressed headers. They are for 317 compressed UDP and compressed RTP (on top of UDP), both with either 318 8- or 16-bit CIDs. In addition, there is an explicit error message 319 from the decompressor to the compressor. 321 The link layer must be able to indicate these header formats with 322 distinct values. Nine PPP Data Link Layer Protocol Field values are 323 specified below. 325 FULL_HEADER 326 The frame contains a full header as specified in [CRTP] Section 327 3.3.1. This is the same as the FULL_HEADER specified in [IPHC] 328 Section 5.3. 329 Value: 0061 (hex) 331 COMPRESSED_TCP 332 The frame contains a datagram with a compressed header with the 333 format as specified in [IPHC] Section 6a. 334 Value: 0063 (hex) 336 COMPRESSED_TCP_NODELTA 337 The frame contains a datagram with a compressed header with the 338 format as specified in [IPHC] Section 6b. 339 Value: 2063 (hex) 341 COMPRESSED_NON_TCP 342 The frame contains a datagram with a compressed header with the 343 format as specified in either Section 6c or Section 6d of 344 [IPHC]. 345 Value: 0065 (hex) 347 COMPRESSED_RTP_8 348 The frame contains a datagram with a compressed header with the 349 format as specified in [CRTP] Section 3.3.2, using 8-bit CIDs. 350 Value: 0069 (hex) 352 COMPRESSED_RTP_16 353 The frame contains a datagram with a compressed header with the 354 format as specified in [CRTP] Section 3.3.2, using 16-bit CIDs. 355 Value: 2069 (hex) 357 COMPRESSED_UDP_8 358 The frame contains a datagram with a compressed header with the 359 format as specified in [CRTP] Section 3.3.3, using 8-bit CIDs. 360 Value: 0067 (hex) 362 COMPRESSED_UDP_16 363 The frame contains a datagram with a compressed header with the 364 format as specified in [CRTP] Section 3.3.3, using 16-bit CIDs. 365 Value: 2067 (hex) 367 CONTEXT_STATE 368 The frame is a link-level message sent from the decompressor to 369 the compressor as specified in [CRTP] Section 3.3.5. 370 Value: 2065 (hex) 372 5. References 374 [CRTP] Casner, S. and V. Jacobson, "Compressing IP/UDP/RTP 375 Headers for Low-Speed Serial Links", RFC 2508, February 376 1999. 378 [ECRTP] S. Casner, V. Jacobson, T. Koren, P. Ruddy, B. Thompson, 379 A. Tweeedly, D. Wing, J. Geevarghese, 380 "Enhancements to IP/UDP/RTP Header Compression", 381 draft-ietf-avt-crtp-enhance-01.txt, July 2001. 383 [IPHC] Degermark, M., Nordgren, B. and S. Pink, "Header 384 Compression for IP", RFC 2507, February 1999. 386 [RFC2023] Haskin, E. and E. Allan, "IP Version 6 over PPP", RFC 387 2023, October 1996. 389 [RFC1144] Jacobson, V., "Compressing TCP/IP Headers for Low- Speed 390 Serial Links", RFC 1144, February 1990. 392 [RFC1332] McGregor, G., "The PPP Internet Protocol Control Protocol 393 (IPCP)", RFC 1332, May 1992. 395 [RFC1889] Schulzrinne, H., Casner, S., Frederick, R. and V. 396 Jacobson, "RTP: A Transport Protocol for real-time 397 applications", RFC 1889, January 1996. 399 [RFC1661] Simpson, W., Ed., "The Point-To-Point Protocol (PPP)", STD 400 51, RFC 1661, July 1994. 402 [MCML] Bormann, C., "The Multi-Class Extension to Multi-Link 403 PPP", Work in Progress. 405 6. Security Considerations 407 Negotiation of the option defined here imposes no additional security 408 considerations beyond those that otherwise apply to PPP [RFC1661]. 410 The use of header compression can, in rare cases, cause the 411 misdelivery of packets. If necessary, confidentiality of packet 412 contents should be assured by encryption. 414 Encryption applied at the IP layer (e.g., using IPSEC mechanisms) 415 precludes header compression of the encrypted headers, though 416 compression of the outer IP header and authentication/security 417 headers is still possible as described in [IPHC]. For RTP packets, 418 full header compression is possible if the RTP payload is encrypted 419 by itself without encrypting the UDP or RTP headers, as described in 420 [RFC1889]. This method is appropriate when the UDP and RTP header 421 information need not be kept confidential. 423 7. Authors' Addresses 425 Mathias Engan 426 Effnet 427 Aurorum 2 428 SE-977 75 Lulea, Sweden 430 Phone: +46 920 75600 431 Mobile: +46 70 833 8932 432 Fax: +46 920 75610 433 EMail: engan@effnet.com 435 Stephen L. Casner 436 Packet Design, Inc. 437 66 Willow Place 438 Menlo Park, CA 94025 439 United States of America 441 Email: casner@acm.org 443 Carsten Bormann 444 Universitaet Bremen FB3 TZI 445 Postfach 330440 446 D-28334 Bremen, GERMANY 448 Phone: +49.421.218-7024 449 Fax: +49.421.218-7000 450 EMail: cabo@tzi.org 452 Tmima Koren 453 Cisco Systems, Inc. 454 170 West Tasman Drive 455 San Jose, CA 95134-1706 456 United States of America 458 Email: tmima@cisco.com 460 8. Full Copyright Statement 462 Copyright (C) The Internet Society (1999). All Rights Reserved. 464 This document and translations of it may be copied and furnished to 465 others, and derivative works that comment on or otherwise explain it 466 or assist in its implementation may be prepared, copied, published 467 and distributed, in whole or in part, without restriction of any 468 kind, provided that the above copyright notice and this paragraph are 469 included on all such copies and derivative works. However, this 470 document itself may not be modified in any way, such as by removing 471 the copyright notice or references to the Internet Society or other 472 Internet organizations, except as needed for the purpose of 473 developing Internet standards in which case the procedures for 474 copyrights defined in the Internet Standards process must be 475 followed, or as required to translate it into languages other than 476 English. 478 The limited permissions granted above are perpetual and will not be 479 revoked by the Internet Society or its successors or assigns. 481 This document and the information contained herein is provided on an 482 "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING 483 TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING 484 BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION 485 HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF 486 MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.