1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
|
Internet Engineering Task Force (IETF) M. Boucadair
Request for Comments: 8026 Orange
Category: Standards Track I. Farrer
ISSN: 2070-1721 Deutsche Telekom AG
November 2016
Unified IPv4-in-IPv6 Softwire Customer Premises Equipment (CPE):
A DHCPv6-Based Prioritization Mechanism
Abstract
In IPv6-only provider networks, transporting IPv4 packets
encapsulated in IPv6 is a common solution to the problem of IPv4
service continuity. A number of differing functional approaches have
been developed for this, each having their own specific
characteristics. As these approaches share a similar functional
architecture and use the same data plane mechanisms, this memo
specifies a DHCPv6 option, whereby a single instance of Customer
Premises Equipment (CPE) can interwork with all of the standardized
and proposed approaches to providing encapsulated IPv4-in-IPv6
services by providing a prioritization mechanism.
Status of This Memo
This is an Internet Standards Track document.
This document is a product of the Internet Engineering Task Force
(IETF). It represents the consensus of the IETF community. It has
received public review and has been approved for publication by the
Internet Engineering Steering Group (IESG). Further information on
Internet Standards is available in Section 2 of RFC 7841.
Information about the current status of this document, any errata,
and how to provide feedback on it may be obtained at
http://www.rfc-editor.org/info/rfc8026.
Boucadair & Farrer Standards Track [Page 1]
^L
RFC 8026 OPTION_S46_PRIORITY DHCPv6 Option November 2016
Copyright Notice
Copyright (c) 2016 IETF Trust and the persons identified as the
document authors. All rights reserved.
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. Code Components extracted from this document must
include Simplified BSD License text as described in Section 4.e of
the Trust Legal Provisions and are provided without warranty as
described in the Simplified BSD License.
Table of Contents
1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . 3
1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . . 4
1.1.1. Requirements Language . . . . . . . . . . . . . . . . 4
1.2. Rationale . . . . . . . . . . . . . . . . . . . . . . . . 4
1.3. DHCPv6 S46 Priority Option . . . . . . . . . . . . . . . 5
1.4. DHCPv6 Client Behavior . . . . . . . . . . . . . . . . . 6
1.5. DHCPv6 Server Behavior . . . . . . . . . . . . . . . . . 7
2. Operator Deployment Considerations for Deploying Multiple
Softwire Mechanisms . . . . . . . . . . . . . . . . . . . . . 7
2.1. Client Address Planning . . . . . . . . . . . . . . . . . 7
2.2. Backwards Compatability with Existing Softwire Clients . 7
3. Security Considerations . . . . . . . . . . . . . . . . . . . 8
4. IANA Considerations . . . . . . . . . . . . . . . . . . . . . 8
4.1. S46 Mechanisms and Their Identifying Option Codes . . . . 8
5. References . . . . . . . . . . . . . . . . . . . . . . . . . 9
5.1. Normative References . . . . . . . . . . . . . . . . . . 9
5.2. Informative References . . . . . . . . . . . . . . . . . 10
Acknowledgements . . . . . . . . . . . . . . . . . . . . . . . . 11
Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . 11
Boucadair & Farrer Standards Track [Page 2]
^L
RFC 8026 OPTION_S46_PRIORITY DHCPv6 Option November 2016
1. Introduction
IPv4 service continuity is one of the major technical challenges that
must be considered during IPv6 migration. Over the past few years, a
number of different approaches have been developed to assist with
this problem (e.g., as described in [RFC6333], [RFC7596], and
[RFC7597]). These approaches, referred to as "S46 mechanisms" in
this document, exist in order to meet the particular deployment,
scaling, addressing, and other requirements of different service
providers' networks.
A common feature shared among all of the differing modes is the
integration of softwire tunnel endpoint functionality into the
Customer Premises Equipment (CPE) router. Due to this inherent data
plane similarity, a single CPE may be capable of supporting several
different approaches. Users may also wish to configure a specific
mode of operation.
A service provider's network may also have more than one S46
mechanism enabled in order to support a diverse CPE population with
differing client functionality, such as during a migration between
mechanisms or where services require specific supporting softwire
architectures.
For softwire-based services to be successfully established, it is
essential that the customer's end node and the service provider's end
node and provisioning systems are able to indicate their capabilities
and preferred mode of operation.
A number of DHCPv6 options for the provisioning of softwires have
been standardized:
RFC 6334 Defines DHCPv6 option 64 for configuring Basic Bridging
BroadBand (B4) [RFC6333] elements with the IPv6 address of
the Address Family Transition Router (AFTR) [RFC6333].
RFC 7341 Defines DHCPv6 option 88 for configuring the address of a
DHCPv4-over-DHCPv6 server, which can then be used by a
softwire client for obtaining further configuration.
RFC 7598 Defines DHCPv6 options 94, 95, and 96 for provisioning
Mapping of Address and Port with Encapsulation (MAP-E)
[RFC7597], Mapping of Address and Port using Translation
(MAP-T) [RFC7599], and Lightweight 4over6 [RFC7596]
respectively.
Boucadair & Farrer Standards Track [Page 3]
^L
RFC 8026 OPTION_S46_PRIORITY DHCPv6 Option November 2016
This document describes a DHCPv6-based prioritization method, whereby
a CPE that supports several S46 mechanisms and receives configuration
for more than one can prioritize which mechanism to use. The method
requires no server-side logic to be implemented and only uses a
simple S46 mechanism prioritization to be implemented in the CPE.
The prioritization method as described here does not provide
redundancy between S46 mechanisms for the client. That is, if the
highest priority S46 mechanism that has been provisioned to the
client is not available for any reason, the means for identifying
this and falling back to the S46 mechanism with the next highest
priority is not in the scope of this document.
1.1. Terminology
This document makes use of the following terms:
o Address Family Transition Router (AFTR): The IPv4-in-IPv6 tunnel
termination point and the Network Address Translator IPv4/IPv4
(NAT44) function deployed in the operator's network [RFC6333].
o Border Relay (BR): A MAP-enabled router managed by the service
provider at the edge of a MAP domain. A BR has at least an
IPv6-enabled interface and an IPv4 interface connected to the
native IPv4 network [RFC7597].
o Customer Premises Equipment (CPE): Denotes the equipment at the
customer edge that terminates the customer end of an IPv6
transitional tunnel. In some documents (e.g., [RFC7597]), this
functional entity is called the Customer Edge (CE).
1.1.1. Requirements Language
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].
1.2. Rationale
The following rationale has been adopted for this document:
(1) Simplified solution migration paths: Define unified CPE
behavior, allowing for smooth migration between the different
S46 mechanisms.
(2) Deterministic CPE coexistence behavior: Specify the behavior
when several S46 mechanisms coexist in the CPE.
Boucadair & Farrer Standards Track [Page 4]
^L
RFC 8026 OPTION_S46_PRIORITY DHCPv6 Option November 2016
(3) Deterministic service provider coexistence behavior: Specify the
behavior when several modes coexist in the service providers
network.
(4) Reusability: Maximize the reuse of existing functional blocks
including tunnel endpoints, the port-restricted Network Address
Port Translator IPv4/IPv4 (NAPT44), forwarding behavior, etc.
(5) Solution agnostic: Adopt neutral terminology and avoid (as far
as possible) overloading the document with solution-specific
terms.
(6) Flexibility: Allow operators to compile CPE software only for
the mode(s) necessary for their chosen deployment context(s).
(7) Simplicity: Provide a model that allows operators to only
implement the specific mode(s) that they require without the
additional complexity of unneeded modes.
1.3. DHCPv6 S46 Priority Option
The S46 Priority Option is used to convey a priority order of IPv4
service continuity mechanisms. Figure 1 shows the format of the S46
Priority Option.
0 1 2 3
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| OPTION_S46_PRIORITY | option-length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| s46-option-code | s46-option-code |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| ... | s46-option-code |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Figure 1: S46 Priority Option
o option-code: OPTION_S46_PRIORITY (111)
o option-length: >=2 and a multiple of 2, in octets.
o s46-option-code: 16-bit IANA-registered option code of the DHCPv6
option that is used to identify the softwire mechanism. S46
mechanisms are prioritized in the appearance order in the S46
Priority Option.
Boucadair & Farrer Standards Track [Page 5]
^L
RFC 8026 OPTION_S46_PRIORITY DHCPv6 Option November 2016
Codes in OPTION_S46_PRIORITY are processed in order; if a client
receives more than one s46-option-code with a particular value, it
should consider this case to be invalid. DHCP servers MAY validate
the list of s46-option-code values to detect invalid values and
duplicates. The option MUST contain at least one s46-option-code.
1.4. DHCPv6 Client Behavior
Clients MAY request the OPTION_S46_PRIORITY option, as defined in
[RFC3315], Sections 17.1.1, 18.1.1, 18.1.3, 18.1.4, 18.1.5, and 22.7.
As a convenience to the reader, we mention here that the client
includes requested option codes in the Option Request Option.
Upon receipt of a DHCPv6 Advertise message from the server containing
OPTION_S46_PRIORITY, the client performs the following steps:
1. Check the contents of the DHCPv6 message for options containing
valid S46 mechanism configuration. A candidate list of possible
S46 mechanisms is created from these option codes.
2. Check the contents of OPTION_S46_PRIORITY for the DHCPv6 option
codes contained in the included s46-option-code fields. From
this, an S46 mechanism priority list is created, ordered from
highest to lowest following the appearance order.
3. Sequentially check the priority list against the candidate list
until a match is found.
4. When a match is found, the client MUST configure the resulting
S46 mechanism.
In the event that no match is found between the priority list and the
candidate list, the client MAY proceed with configuring one or more
of the provisioned S46 softwire mechanism(s). In this case, which
mechanism(s) are chosen by the client is implementation specific and
not defined here.
If an invalid OPTION_S46_PRIORITY option is received, the client MAY
proceed with configuring the provisioned S46 mechanisms as if
OPTION_S46_PRIORITY had not been received.
If an unknown option code is received in the OPTION_S46_PRIORITY
option, the client MUST skip it and continue processing other listed
option codes if they exist. The initial option codes that are
allowed to be included in an OPTION_S46_PRIORITY option are listed in
Section 4.1.
Boucadair & Farrer Standards Track [Page 6]
^L
RFC 8026 OPTION_S46_PRIORITY DHCPv6 Option November 2016
1.5. DHCPv6 Server Behavior
Sections 17.2.2 and 18.2 of [RFC3315] govern server operation in
regard to option assignment. As a convenience to the reader, we
mention here that the server will send a particular option code only
if configured with specific values for that option code and if the
client requested it.
Option OPTION_S46_PRIORITY is a singleton. Servers MUST NOT send
more than one instance of the OPTION_S46_PRIORITY option.
2. Operator Deployment Considerations for Deploying Multiple Softwire
Mechanisms
The following subsections describe some considerations for operators
who are planning on implementing multiple softwire mechanisms in
their network (e.g., during a migration between mechanisms).
2.1. Client Address Planning
As an operator's available IPv4 resources are likely to be limited,
it may be desirable to use a common range of IPv4 addresses across
all of the active softwire mechanisms. However, this is likely to
result in difficulties in routing ingress IPv4 traffic to the correct
Border Relay (BR) / AFTR instance, which is actively serving a given
CE. For example, a client that is configured to use MAP-E may send
its traffic to the MAP-E BR; however, on the return path, the ingress
IP traffic gets routed to a MAP-T BR. The resulting translated
packet that gets forwarded to the MAP-E client will be dropped.
Therefore, operators are advised to use separate IPv4 pools for each
of the different mechanisms to simplify planning and IPv4 routing.
For IPv6 planning, there is less of a constraint as the BR/AFTR
elements for the different mechanisms can contain configuration for
overlapping the client's IPv6 addresses, provided that one mechanism
is actively serving a given client at a time. However, the IPv6
address that is used as the tunnel concentrator's endpoint (BR/AFTR
address) needs to be different for each mechanism to ensure correct
operation.
2.2. Backwards Compatability with Existing Softwire Clients
Deployed clients that can support multiple softwire mechanisms, but
do not implement the prioritization mechanism described here may
require additional planning. In this scenario, the CPE would request
configuration for all of the supported softwire mechanisms in its
DHCPv6 Option Request Option (ORO), but would not request
Boucadair & Farrer Standards Track [Page 7]
^L
RFC 8026 OPTION_S46_PRIORITY DHCPv6 Option November 2016
OPTION_S46_PRIORITY. By default, the DHCPv6 server will respond with
configuration for all of the requested mechanisms, which could result
in unpredictable and unwanted client configuration.
In this scenario, it may be necessary for the operator to implement
logic within the DHCPv6 server to identify such clients and only
provision them with configuration for a single softwire mechanism.
It should be noted that this can lead to complexity and reduced
scalability in the DHCPv6 server implementation due to the additional
DHCPv6 message processing overhead.
3. Security Considerations
Security considerations discussed in [RFC6334] and [RFC7598] apply
for this document.
Misbehaving intermediate nodes may alter the content of the S46
Priority Option. This may lead to setting a different IPv4 service
continuity mechanism than the one initially preferred by the network
side. Also, a misbehaving node may alter the content of the S46
Priority Option and other DHCPv6 options (e.g., DHCPv6 Option 64 or
90) so that the traffic is intercepted by an illegitimate node.
Those attacks are not unique to the S46 Priority Option but are
applicable to any DHCPv6 option that can be altered by a misbehaving
intermediate node.
4. IANA Considerations
IANA has allocated the following DHCPv6 option code:
111 OPTION_S46_PRIORITY
All values should be added to the DHCPv6 option code space defined in
Section 24.3 of [RFC3315].
4.1. S46 Mechanisms and Their Identifying Option Codes
IANA has created a new registry titled "Option Codes permitted in the
S46 Priority Option". This registry enumerates the set of DHCPv6
option codes that can be included in the OPTION_S46_PRIORITY option.
Options may be added to this list using the IETF Review process
described in Section 4.1 of [RFC5226].
The following table shows the option codes that are currently defined
and the S46 mechanisms that they represent. The contents of this
table shows the format and the initial values for the new registry.
Option codes that have not been requested to be added according to
the stated procedure should not be mentioned at all in the table, and
Boucadair & Farrer Standards Track [Page 8]
^L
RFC 8026 OPTION_S46_PRIORITY DHCPv6 Option November 2016
they should not be listed as "reserved" or "unassigned". The valid
range of values for the registry is the range of DHCPv6 option codes
(1-65535).
+-------------+--------------------+-----------+
| Option Code | S46 Mechanism | Reference |
+-------------+--------------------+-----------+
| 64 | DS-Lite | [RFC6334] |
| 88 | DHCPv4 over DHCPv6 | [RFC7341] |
| 94 | MAP-E | [RFC7598] |
| 95 | MAP-T | [RFC7598] |
| 96 | Lightweight 4over6 | [RFC7598] |
+-------------+--------------------+-----------+
Table 1: DHCPv6 Option to S46 Mechanism Mappings
5. References
5.1. Normative References
[RFC2119] Bradner, S., "Key words for use in RFCs to Indicate
Requirement Levels", BCP 14, RFC 2119,
DOI 10.17487/RFC2119, March 1997,
<http://www.rfc-editor.org/info/rfc2119>.
[RFC3315] Droms, R., Ed., Bound, J., Volz, B., Lemon, T., Perkins,
C., and M. Carney, "Dynamic Host Configuration Protocol
for IPv6 (DHCPv6)", RFC 3315, DOI 10.17487/RFC3315, July
2003, <http://www.rfc-editor.org/info/rfc3315>.
[RFC6334] Hankins, D. and T. Mrugalski, "Dynamic Host Configuration
Protocol for IPv6 (DHCPv6) Option for Dual-Stack Lite",
RFC 6334, DOI 10.17487/RFC6334, August 2011,
<http://www.rfc-editor.org/info/rfc6334>.
[RFC7341] Sun, Q., Cui, Y., Siodelski, M., Krishnan, S., and I.
Farrer, "DHCPv4-over-DHCPv6 (DHCP 4o6) Transport",
RFC 7341, DOI 10.17487/RFC7341, August 2014,
<http://www.rfc-editor.org/info/rfc7341>.
[RFC7598] Mrugalski, T., Troan, O., Farrer, I., Perreault, S., Dec,
W., Bao, C., Yeh, L., and X. Deng, "DHCPv6 Options for
Configuration of Softwire Address and Port-Mapped
Clients", RFC 7598, DOI 10.17487/RFC7598, July 2015,
<http://www.rfc-editor.org/info/rfc7598>.
Boucadair & Farrer Standards Track [Page 9]
^L
RFC 8026 OPTION_S46_PRIORITY DHCPv6 Option November 2016
5.2. Informative References
[RFC5226] Narten, T. and H. Alvestrand, "Guidelines for Writing an
IANA Considerations Section in RFCs", BCP 26, RFC 5226,
DOI 10.17487/RFC5226, May 2008,
<http://www.rfc-editor.org/info/rfc5226>.
[RFC6333] Durand, A., Droms, R., Woodyatt, J., and Y. Lee, "Dual-
Stack Lite Broadband Deployments Following IPv4
Exhaustion", RFC 6333, DOI 10.17487/RFC6333, August 2011,
<http://www.rfc-editor.org/info/rfc6333>.
[RFC7596] Cui, Y., Sun, Q., Boucadair, M., Tsou, T., Lee, Y., and I.
Farrer, "Lightweight 4over6: An Extension to the Dual-
Stack Lite Architecture", RFC 7596, DOI 10.17487/RFC7596,
July 2015, <http://www.rfc-editor.org/info/rfc7596>.
[RFC7597] Troan, O., Ed., Dec, W., Li, X., Bao, C., Matsushima, S.,
Murakami, T., and T. Taylor, Ed., "Mapping of Address and
Port with Encapsulation (MAP-E)", RFC 7597,
DOI 10.17487/RFC7597, July 2015,
<http://www.rfc-editor.org/info/rfc7597>.
[RFC7599] Li, X., Bao, C., Dec, W., Ed., Troan, O., Matsushima, S.,
and T. Murakami, "Mapping of Address and Port using
Translation (MAP-T)", RFC 7599, DOI 10.17487/RFC7599, July
2015, <http://www.rfc-editor.org/info/rfc7599>.
Boucadair & Farrer Standards Track [Page 10]
^L
RFC 8026 OPTION_S46_PRIORITY DHCPv6 Option November 2016
Acknowledgements
Many thanks to O. Troan, S. Barth, A. Yourtchenko, B. Volz, T.
Mrugalski, J. Scudder, P. Kyzivat, F. Baker, and B. Campbell for
their input and suggestions.
Authors' Addresses
Mohamed Boucadair
Orange
Rennes
France
Email: mohamed.boucadair@orange.com
Ian Farrer
Deutsche Telekom AG
CTO-ATI, Landgrabenweg 151
Bonn, NRW 53227
Germany
Email: ian.farrer@telekom.de
Boucadair & Farrer Standards Track [Page 11]
^L
|