idnits 2.17.00 (12 Aug 2021) /tmp/idnits25228/draft-martini-frame-encap-mpls-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: ---------------------------------------------------------------------------- == No 'Intended status' indicated for this document; assuming Proposed Standard 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 is 1 instance of too long lines in the document, the longest one being 4 characters in excess of 72. ** The document seems to lack a both a reference to RFC 2119 and the recommended RFC 2119 boilerplate, even if it appears to use RFC 2119 keywords -- however, there's a paragraph with a matching beginning. Boilerplate error? RFC 2119 keyword, line 137: '...otocols this word is REQUIRED, and for...' RFC 2119 keyword, line 138: '... others OPTIONAL. For protocols whe...' RFC 2119 keyword, line 139: '... implementations MUST support sending ...' RFC 2119 keyword, line 156: '... They MUST be set to 0 when transmit...' RFC 2119 keyword, line 162: '... The next 2 bits MUST be set to 0 when...' (32 more instances...) Miscellaneous warnings: ---------------------------------------------------------------------------- == Line 119 has weird spacing: '...oss the netwo...' -- 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.) -- The document date (April 2002) is 7341 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) == Outdated reference: draft-martini-l2circuit-trans-mpls has been published as RFC 4906 ** Downref: Normative reference to an Historic draft: draft-martini-l2circuit-trans-mpls (ref. '1') == Outdated reference: A later version (-01) exists of draft-martini-atm-encap-mpls-00 -- Possible downref: Normative reference to a draft: ref. '3' == Outdated reference: A later version (-01) exists of draft-martini-ethernet-encap-mpls-00 -- Possible downref: Normative reference to a draft: ref. '4' -- Possible downref: Normative reference to a draft: ref. '5' Summary: 6 errors (**), 0 flaws (~~), 5 warnings (==), 5 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 2 Network Working Group Luca Martini 3 Internet Draft Nasser El-Aawar 4 Expiration Date: October 2002 Level 3 Communications, LLC. 6 Giles Heron Steve Vogelsang 7 PacketExchange Ltd. Laurel Networks, Inc. 9 Chris Liljenstolpe Dimitri Stratton Vlachos 10 Cable & Wireless Mazu Networks, Inc. 12 Daniel Tappan Kireeti Kompella 13 Eric C. Rosen Juniper Networks 14 Cisco Systems, Inc. 16 Vinai Sirkay 17 Vivace Networks, Inc. 18 April 2002 20 Encapsulation Methods for Transport of Frame-Relay Over IP and MPLS Networks 22 draft-martini-frame-encap-mpls-00.txt 24 Status of this Memo 26 This document is an Internet-Draft and is in full conformance with 27 all provisions of Section 10 of RFC2026. 29 Internet-Drafts are working documents of the Internet Engineering 30 Task Force (IETF), its areas, and its working groups. Note that other 31 groups may also distribute working documents as Internet-Drafts. 33 Internet-Drafts are draft documents valid for a maximum of six months 34 and may be updated, replaced, or obsoleted by other documents at any 35 time. It is inappropriate to use Internet-Drafts as reference 36 material or to cite them other than as "work in progress." 38 The list of current Internet-Drafts can be accessed at 39 http://www.ietf.org/ietf/1id-abstracts.txt. 41 The list of Internet-Draft Shadow Directories can be accessed at 42 http://www.ietf.org/shadow.html. 44 Abstract 46 This document describes methods for encapsulating the Protocol Data 47 Units (PDUs) of Frame Relay for transport across an MPLS or IP 48 network. 50 Table of Contents 52 1 Specification of Requirements .......................... 2 53 2 Introduction ........................................... 2 54 3 General encapsulation method ........................... 3 55 3.1 The Control Word ....................................... 4 56 3.1.1 Setting the sequence number ............................ 5 57 3.1.2 Processing the sequence number ......................... 5 58 3.2 MTU Requirements ....................................... 6 59 4 Frame Relay ............................................ 6 60 5 Using an MPLS Label as the Demultiplexer Field ......... 8 61 5.1 MPLS Shim EXP Bit Values ............................... 8 62 5.2 MPLS Shim S Bit Value .................................. 8 63 5.3 MPLS Shim TTL Values ................................... 8 64 6 Security Considerations ................................ 8 65 7 Intellectual Property Disclaimer ....................... 9 66 8 References ............................................. 9 67 9 Author Information ..................................... 9 69 1. Specification of Requirements 71 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 72 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 73 document are to be interpreted as described in RFC 2119 75 2. Introduction 77 In an MPLS or IP network, it is possible to use control protocols 78 such as those specified in [1] to set up "emulated virtual circuits" 79 that carry the the Protocol Data Units of layer 2 protocols across 80 the network. A number of these emulated virtual circuits may be 81 carried in a single tunnel. This requires of course that the layer 2 82 PDUs be encapsulated. We can distinguish three layers of this 83 encapsulation: 85 - the "tunnel header", which contains the information needed to 86 transport the PDU across the IP or MPLS network; this is header 87 belongs to the tunneling protocol, e.g., MPLS, GRE, L2TP. 89 - the "demultiplexer field", which is used to distinguish 90 individual emulated virtual circuits within a single tunnel; this 91 field must be understood by the tunneling protocol as well; it 92 may be, e.g., an MPLS label or a GRE key field. 94 - the "emulated VC encapsulation", which contains the information 95 about the enclosed layer 2 PDU which is necessary in order to 96 properly emulate the corresponding layer 2 protocol. 98 This document specifies the emulated VC encapsulation for the frame- 99 relay protocol. Although different layer 2 protocols require 100 different information to be carried in this encapsulation, an attempt 101 has been made to make the encapsulation as common as possible for all 102 layer 2 protocols. Other layer 2 protocols are described in separate 103 documents. [3] [4] [5] 105 This document also specifies the way in which the demultiplexer field 106 is added to the emulated VC encapsulation when an MPLS label is used 107 as the demultiplexer field. 109 QoS related issues are not discussed in this draft 111 For the purpose of this document R1 will be defined as the ingress 112 router, and R2 as the egress router. A layer 2 PDU will be received 113 at R1, encapsulated at R1, transported, decapsulated at R2, and 114 transmitted out of R2. 116 3. General encapsulation method 118 In most cases, it is not necessary to transport the layer 2 119 encapsulation across the network; rather, the layer 2 header can be 120 stripped at R1, and reproduced at R2. This is done using information 121 carried in the control word (see below), as well as information that 122 may already have been signaled from R1 to R2. 124 3.1. The Control Word 126 There are three requirements that may need to be satisfied when 127 transporting layer 2 protocols over an IP or MPLS backbone: 129 -i. Sequentiality may need to be preserved. 130 -ii. Small packets may need to be padded in order to be 131 transmitted on a medium where the minimum transport unit is 132 larger than the actual packet size. 133 -iii. Control bits carried in the header of the layer 2 frame may 134 need to be transported. 136 The control word defined here addresses all three of these 137 requirements. For some protocols this word is REQUIRED, and for 138 others OPTIONAL. For protocols where the control word is OPTIONAL 139 implementations MUST support sending no control word, and MAY support 140 sending a control word. 142 In all cases the egress router must be aware of whether the ingress 143 router will send a control word over a specific virtual circuit. 144 This may be achieved by configuration of the routers, or by 145 signaling, for example as defined in [1]. 147 The control word is defined as follows: 149 0 1 2 3 150 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 151 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 152 | Rsvd | Flags |0 0| Length | Sequence Number | 153 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 155 In the above diagram the first 4 bits are reserved for future use. 156 They MUST be set to 0 when transmitting, and MUST be ignored upon 157 receipt. 159 The next 4 bits provide space for carrying protocol specific flags. 160 These are defined in the protocol-specific details below. 162 The next 2 bits MUST be set to 0 when transmitting. 164 The next 6 bits provide a length field, which is used as follows: If 165 the packet's length (defined as the length of the layer 2 payload 166 plus the length of the control word) is less than 64 bytes, the 167 length field MUST be set to the packet's length. Otherwise the length 168 field MUST be set to zero. The value of the length field, if non- 169 zero, can be used to remove any padding. When the packet reaches the 170 service provider's egress router, it may be desirable to remove the 171 padding before forwarding the packet. 173 The next 16 bits provide a sequence number that can be used to 174 guarantee ordered packet delivery. The processing of the sequence 175 number field is OPTIONAL. 177 The sequence number space is a 16 bit, unsigned circular space. The 178 sequence number value 0 is used to indicate an unsequenced packet. 180 3.1.1. Setting the sequence number 182 For a given emulated VC, and a pair of routers R1 and R2, if R1 183 supports packet sequencing then the following procedures should be 184 used: 186 - the initial packet transmitted on the emulated VC MUST use 187 sequence number 1 188 - subsequent packets MUST increment the sequence number by one for 189 each packet 190 - when the transmit sequence number reaches the maximum 16 bit 191 value (65535) the sequence number MUST wrap to 1 193 If the transmitting router R1 does not support sequence number 194 processing, then the sequence number field in the control word MUST 195 be set to 0. 197 3.1.2. Processing the sequence number 199 If a router R2 supports receive sequence number processing, then the 200 following procedures should be used: 202 When an emulated VC is initially set up, the "expected sequence 203 number" associated with it MUST be initialized to 1. 205 When a packet is received on that emulated VC, the sequence number 206 should be processed as follows: 208 - if the sequence number on the packet is 0, then the packet passes 209 the sequence number check 211 - otherwise if the packet sequence number >= the expected sequence 212 number and the packet sequence number - the expected sequence 213 number < 32768, then the packet is in order. 215 - otherwise if the packet sequence number < the expected sequence 216 number and the expected sequence number - the packet sequence 217 number >= 32768, then the packet is in order. 219 - otherwise the packet is out of order. 221 If a packet passes the sequence number check, or is in order then, it 222 can be delivered immediately. If the packet is in order, then the 223 expected sequence number should be set using the algorithm: 225 expected_sequence_number := packet_sequence_number + 1 mod 2**16 226 if (expected_sequence_number = 0) then expected_sequence_number := 1; 228 Packets which are received out of order MAY be dropped or reordered 229 at the discretion of the receiver. 231 If a router R2 does not support receive sequence number processing, 232 then the sequence number field MAY be ignored. 234 3.2. MTU Requirements 236 The network MUST be configured with an MTU that is sufficient to 237 transport the largest encapsulation frames. If MPLS is used as the 238 tunneling protocol, for example, this is likely to be 12 or more 239 bytes greater than the largest frame size. Other tunneling protocols 240 may have longer headers and require larger MTUs. If the ingress 241 router determines that an encapsulated layer 2 PDU exceeds the MTU of 242 the tunnel through which it must be sent, the PDU MUST be dropped. If 243 an egress router receives an encapsulated layer 2 PDU whose payload 244 length (i.e., the length of the PDU itself without any of the 245 encapsulation headers), exceeds the MTU of the destination layer 2 246 interface, the PDU MUST be dropped. 248 4. Frame Relay 250 A Frame Relay PDU is transported without the Frame Relay header or 251 the FCS. The control word is REQUIRED; however, its use is optional, 252 although desirable. Use of the control word means that the ingress 253 and egress LSRs follow the procedures below. If an ingress LSR 254 chooses not to use the control word, it MUST set the flags in the 255 control word to 0; if an egress LSR chooses to ignore the control 256 word, it MUST set the Frame Relay control bits to 0. 258 The BECN, FECN, DE and C/R bits are carried across the network in the 259 control word. The edge routers that implement this document MAY, when 260 either adding or removing the encapsulation described herein, change 261 the BECN and/or FECN bits from zero to one in order to reflect 262 congestion in the network that is known to the edge routers, and the 263 D/E bit from zero to one to reflect marking from edge policing of the 264 Frame Relay Committed Information Rate. The BECN, FECN, and D/E bits 265 SHOULD NOT be changed from one to zero. 267 The following is an example of a Frame Relay packet: 269 0 1 2 3 270 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 271 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 272 | Rsvd |B|F|D|C| Length | Sequence Number | 273 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 274 | Frame Relay PDU | 275 | " | 276 | " | 277 | " | 278 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 280 * B ( BECN ) Bit 282 The ingress router, R1, SHOULD copy the BECN field from the 283 incoming Frame Relay header into this field. The egress router, 284 R2, MUST generate a new BECN field based on the value of the B 285 bit. 287 * F ( FECN ) Bit 289 The ingress router, R1, SHOULD copy the FECN field from the 290 incoming Frame Relay header into this field. The egress router, 291 R2, MUST generate a new FECN field based on the value of the F 292 bit. 294 * D ( DE ) Bit 296 The ingress router, R1, SHOULD copy the DE field from the 297 incoming Frame Relay header into this field. The egress router, 298 R2, MUST generate a new DE field based on the value of the D bit. 300 If the tunneling protocol provides a field which can be set to 301 specify a Quality of Service, the ingress router, R1, MAY 302 consider the DE bit of the Frame Relay header when determining 303 the value of that field. The egress router MAY then consider the 304 value of this field when queuing the layer 2 PDU for egress. 305 Note however that frames from the same VC MUST NOT be reordered. 307 * C ( C/R ) Bit 309 The ingress router, R1, SHOULD copy the C/R bit from the received 310 Frame Relay PDU to the C bit of the control word. The egress 311 router, R2, MUST copy the C bit into the output frame. 313 5. Using an MPLS Label as the Demultiplexer Field 315 To use an MPLS label as the demultiplexer field, a 32-bit label stack 316 entry [2] is simply prepended to the emulated VC encapsulation, and 317 hence will appear as the bottom label of an MPLS label stack. This 318 label may be called the "VC label". The particular emulated VC 319 identified by a particular label value must be agreed by the ingress 320 and egress LSRs, either by signaling (e.g, via the methods of [1]) or 321 by configuration. Other fields of the label stack entry are set as 322 follows. 324 5.1. MPLS Shim EXP Bit Values 326 If it is desired to carry Quality of Service information, the Quality 327 of Service information SHOULD be represented in the EXP field of the 328 VC label. If more than one MPLS label is imposed by the ingress LSR, 329 the EXP field of any labels higher in the stack SHOULD also carry the 330 same value. 332 5.2. MPLS Shim S Bit Value 334 The ingress LSR, R1, MUST set the S bit of the VC label to a value of 335 1 to denote that the VC label is at the bottom of the stack. 337 5.3. MPLS Shim TTL Values 339 The ingress LSR, R1, SHOULD set the TTL field of the VC label to a 340 value of 2. 342 6. Security Considerations 344 This document specifies only encapsulations, and not the protocols 345 used to carry the encapsulated packets across the network. Each such 346 protocol may have its own set of security issues, but those issues 347 are not affected by the encapsulations specified herein. 349 7. Intellectual Property Disclaimer 351 This document is being submitted for use in IETF standards 352 discussions. 354 8. References 356 [1] "Transport of Layer 2 Frames Over MPLS", draft-martini- 357 l2circuit-trans-mpls-09.txt. ( work in progress ) 359 [2] "MPLS Label Stack Encoding", E. Rosen, Y. Rekhter, D. Tappan, G. 360 Fedorkow, D. Farinacci, T. Li, A. Conta. RFC3032 362 [3] "Encapsulation Methods for Transport of ATM Cells/Frame Over IP 363 and MPLS Networks", draft-martini-atm-encap-mpls-00.txt. ( work in 364 progress ) 366 [4] "Encapsulation Methods for Transport of Ethernet Frames Over IP 367 and MPLS Networks", draft-martini-ethernet-encap-mpls-00.txt. ( work 368 in progress ) 370 [5] "Encapsulation Methods for Transport of PPP/HDLC Frames Over IP 371 and MPLS Networks", draft-martini-ppp-hdlc-encap-mpls-00.txt. ( work 372 in progress ) 374 9. Author Information 376 Luca Martini 377 Level 3 Communications, LLC. 378 1025 Eldorado Blvd. 379 Broomfield, CO, 80021 380 e-mail: luca@level3.net 382 Nasser El-Aawar 383 Level 3 Communications, LLC. 384 1025 Eldorado Blvd. 385 Broomfield, CO, 80021 386 e-mail: nna@level3.net 387 Giles Heron 388 PacketExchange Ltd. 389 The Truman Brewery 390 91 Brick Lane 391 LONDON E1 6QL 392 United Kingdom 393 e-mail: giles@packetexchange.net 395 Dimitri Stratton Vlachos 396 Mazu Networks, Inc. 397 125 Cambridgepark Drive 398 Cambridge, MA 02140 399 e-mail: d@mazunetworks.com 401 Dan Tappan 402 Cisco Systems, Inc. 403 250 Apollo Drive 404 Chelmsford, MA, 01824 405 e-mail: tappan@cisco.com 407 Eric Rosen 408 Cisco Systems, Inc. 409 250 Apollo Drive 410 Chelmsford, MA, 01824 411 e-mail: erosen@cisco.com 413 Steve Vogelsang 414 Laurel Networks, Inc. 415 Omega Corporate Center 416 1300 Omega Drive 417 Pittsburgh, PA 15205 418 e-mail: sjv@laurelnetworks.com 420 Vinai Sirkay 421 Vivace Networks, Inc. 422 2730 Orchard Parkway 423 San Jose, CA 95134 424 e-mail: sirkay@technologist.com 425 Chris Liljenstolpe 426 Cable & Wireless 427 11700 Plaza America Drive 428 Reston, VA 20190 429 e-mail: chris@cw.net 431 Kireeti Kompella 432 Juniper Networks 433 1194 N. Mathilda Ave 434 Sunnyvale, CA 94089 435 e-mail: kireeti@juniper.net