forked from otroan/MAP
-
Notifications
You must be signed in to change notification settings - Fork 0
/
draft-ietf-softwire-map-dhcp.xml
800 lines (666 loc) · 35.3 KB
/
draft-ietf-softwire-map-dhcp.xml
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
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
<?xml version="1.0" encoding="US-ASCII"?>
<?xml-stylesheet type='text/xsl' href='rfc2629.xslt' ?>
<?rfc toc="yes" ?>
<?rfc tocompact="yes" ?>
<?rfc compact="yes" ?>
<?rfc subcompact="yes" ?>
<?rfc symrefs="yes"?>
<?rfc sortrefs="yes" ?>
<?rfc comments="yes" ?>
<?rfc inline="yes" ?>
<!DOCTYPE rfc SYSTEM "rfc2629.dtd" [
<!ENTITY rfc2119 PUBLIC "" "http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119.xml">
]>
<rfc category="std" docName="draft-ietf-softwire-map-dhcp-00"
ipr="trust200902">
<front>
<title abbrev="MAP DHCPv6 Options">DHCPv6 Options for Mapping of Address
and Port</title>
<author fullname="Tomasz Mrugalski" initials="T." surname="Mrugalski">
<organization abbrev="ISC">Internet Systems Consortium,
Inc.</organization>
<address>
<postal>
<street>950 Charter Street</street>
<city>Redwood City</city>
<region>CA</region>
<code>94063</code>
<country>USA</country>
</postal>
<phone>+1 650 423 1345</phone>
<email>[email protected]</email>
<uri>http://www.isc.org/</uri>
</address>
</author>
<!-- Med and Xiaohong requested to be removed from the authors list
<author fullname="Mohamed Boucadair" initials="M." surname="Boucadair">
<organization>France Telecom</organization>
<address>
<postal>
<street></street>
<city>Rennes</city>
<code>35000</code>
<country>France</country>
</postal>
<email>[email protected]</email>
<uri>http://www.francetelecom.com/</uri>
</address>
</author>-->
<!--<author initials="X." surname="Deng" fullname="Xiaohong Deng">
<organization>France Telecom</organization>
<address>
<postal>
<street>Haidian district</street>
<code>100190</code>
<city>Beijing</city>
<country>China</country>
</postal>
<email>[email protected]</email>
<uri>http://www.francetelecom.com/</uri>
</address>
</author>-->
<author fullname="Ole Troan" initials="O" surname="Troan">
<organization abbrev="Cisco">Cisco Systems, Inc.</organization>
<address>
<postal>
<street>Telemarksvingen 20</street>
<city>Oslo</city>
<code>N-0655</code>
<country>Norway</country>
</postal>
<email>[email protected]</email>
<uri>http://cisco.com</uri>
</address>
</author>
<author initials="C.X." surname="Bao" fullname="Congxiao Bao">
<organization abbrev="Tsinghua University">
CERNET Center/Tsinghua University</organization>
<address>
<postal>
<street>Room 225, Main Building, Tsinghua University</street>
<city>Beijing</city> <code>100084</code>
<country>CN</country>
</postal>
<phone>+86 10-62785983</phone>
<email>[email protected]</email>
</address>
</author>
<author fullname="Wojciech Dec" initials="W" surname="Dec">
<organization abbrev="Cisco">Cisco Systems, Inc.</organization>
<address>
<postal>
<street></street>
<city></city>
<region></region>
<code></code>
<country>The Netherlands</country>
</postal>
<phone></phone>
<facsimile></facsimile>
<email>[email protected]</email>
<uri></uri>
</address>
</author>
<!-- Qiong Sun requested joining author team as well (22.10.2011 12:10) -->
<date />
<area>Internet</area>
<workgroup>Softwire WG</workgroup>
<keyword>MAP</keyword>
<keyword>DHCPv6</keyword>
<!-- SECTION 0: Abstract -->
<abstract>
<t>This document specifies DHCPv6 options for the provisioning of
Mapping of Address and Port (MAP Customer Edge (CE) devices, based on
the MAP paramaters derfined in <xref
target="I-D.ietf-softwire-map"></xref></t>
<t></t>
</abstract>
</front>
<middle>
<!-- SECTION 1: Introduction -->
<section title="Introduction">
<t>Mapping of Address and Port (MAP) defined in <xref
target="I-D.ietf-softwire-map"></xref> is a mechanism for providing IPv4
connectivity service to end users over a service provider's IPv6
network, allowing for shared or dedicated IPv4 addressing. It consists
of a set of one or more MAP Border Relay (BR) routers, responsible for
stateless forwarding, and one or more MAP Customer Edge (CE) routers,
that collectively form a MAP Domain when configured with common MAP
rule-sets. In a residential broadband deployment the CE is sometimes
referred to as a Residential Gateway (RG) or Customer Premises Equipment
(CPE).</t>
<t>A typical MAP CE will serve its end-user with one WAN side interface
connected to an operator domain providing a MAP service. To function in
the MAP domain, the CE requires to be provisioned with the appropiate
MAP service paramaters for that domain. Particularly in larger networks
it is not feasible to configure such parameters manually, which forms
the requirement for a dynamic MAP provisioning mechanism that is defined
in this document based on the existing DHCPv6 <xref
target="RFC3315"></xref> protocol. The configuration of the MAP BR is
outside of scope of this document.</t>
<t>This document specifies the DHCPv6 options that allow MAP CE
provisioning, based on the definitions of parameters provided in <xref
target="I-D.ietf-softwire-map"></xref>, and is applicable to both MAP-E
and MAP-T transport variants. The definition of DHCPv6 options for MAP
CE provisioning does not preclude the definition of other dynamic
methods for configuring MAP devices, or supplementing such
configuration, nor is the use of DHCPv6 provisioning mandatory for MAP
operation.</t>
<t>Since specification of MAP architecture is still expected to
evolve, DHCPv6 options may have to evolve too to fit the revised
MAP specification.
</t>
<t>Described proposal is not a dynamic port allocation mechanism.
</t>
<t>Readers interested in deployment considerations are encouraged
to read <xref target="I-D.mdt-softwire-map-deployment" />.</t>
</section>
<!-- SECTION 2: REQUIREMENTS LANGUAGE -->
<section anchor="conventions" title="Conventions">
<t>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 RFC 2119 <xref
target="RFC2119"></xref>.</t>
</section>
<section anchor="description" title="MAP Information">
<t>The following presents the information parameters that are used to
configure a MAP CE:</t>
<t><list style="symbols">
<t>A Default Mapping Rule (DMR). This rule governs the default
forwarding/mapping behaviour of the MAP CE, ie it informs the CE of
the BR router's address or prefix that is typically used as a
default. The DMR is a mandatory parameter for a MAP CE.</t>
<t>A Basic Mapping Rule (BMR). This rule governs the MAP
configuration of the CE, including that of completing the CE's MAP
IPv6 address, as well as deriving the CEs IPv4 parameters. Key
parameters of a BMR include: i) The IPv4 Prefix - Used to derive the
CE's IPv4 address; ii) The Embedded Address bit length - Used to
derive how many, if any, of the CE's IPv6 address is mapped to the
IPv4 address. iii) The IPv6 prefix - used to determine the CE's IPv6
MAP domain prefix that is to form the base for the CE's MAP address.
The BMR is an optional rule for a MAP CE.</t>
<t>A Forward Mapping Rule (FMR). This rule governs the MAP CE-CE
forwarding behaviour for IPv4 destinations covered by the rule. The
FMR is effectively a special type of an BMR, given that it shares
exactly the same configuration parameters, except that these
parameters are only applied for setting up forwarding. Its presence
enables a given CE to communicate directly in "mesh mode" with other
CEs. The FMR is an optional rule, and the absence of such a rule
indicates that the CE is to simply use its default mapping rule for
all destinations.</t>
<t>Transport mode; encapsulation (MAP-E) or translation (MAP-T)
modes to be used for the MAP CE Domain.</t>
<t>Additional parameters. The MAP specification allows great
flexibility in the level of automation a CE uses to derive its IPv4
address and port-sharing (PSID), ranging from full derivation of
these parameters from the CE's IPv6 prefix, to full parametrization
of MAP configuration independent of the CE's IPv6 prefix. Optional
parameters such as the PSID allow this flexibility.</t>
</list></t>
<!--
<t>Discussion: Qiong Sun also proposed to add deployment mode
here. Jacni Qin recommends against it. Deployment mode is to
notify whether CE is in Hub and spoke mode or mesh. In Hub and
spoke mode, only the first default MAP mapping rule is needed
in the following MAP procedure. While in mesh mode, all MAP
mapping rules are included to achieve CE-CE traffic
optimization. Tomek: I believe that hub and spoke or mesh
affects number of rules, so server will provision one (hub and
spoke) or many (mesh) rules. CE does not need to explicitly be
information about this. It can derive this information in a
simple manner: if (number of rules>1) then mode=mesh else
mode=hub_and_spoke.</t> -->
<!-- Tomek: Discussion resolved: see additional comment in "MAP
Flags Option" section. Algo for detecting mode: In th hub
and spoke mode, all traffic should be forwarded using
DMR. Hub and spoke mode is achieved with a BMR IPv4 rule
prefix length of 32 and no further FMR. -->
</section>
<!-- conventions -->
<!-- SECTION 3: DESCRIPTION -->
<section title="DHCPv6 MAP Options Format">
<t>The DHCPv6 protocol is used for MAP CE provisioning following regular
DHCPv6 notions, with the MAP CE assuming a DHCPv6 client role, and the
MAP parameters provided by the DHCPv6 server following server side
policies. The format and usage of the MAP options is defined in the
following sections.</t>
<t>Discussion: As the exact parameters required to configure MAP
rules and MAP in general are expected to change, this section
is expected to be updated and follow change in the <xref
target="I-D.ietf-softwire-map"></xref>.</t>
<!-- <t>Discussion: Proposed layout assumes that several simple
options are used. Such approach simplifies implementation as it
is much easier for implementors to reuse existing code handling
such options. This design choice comes at a cost,
however. Clients must perform checks if provided set of options
is complete. Alternatively, it would be possible to define one
complex option that contains all mandatory
parameters. </t> -->
<t>Discussion: It should be noted that initial concept of 4rd/MAP
provisioning was presented in DHC working group meeting. It used
one complex option to convey all required parameters. Strong
suggestion from DHC WG was to use several simpler
options. Options (possibly nested) are preferred over
conditional option formatting. See DHCP option guidelines
document <xref target="I-D.ietf-dhc-option-guidelines"/>).</t>
<t>Server that supports MAP configuration and is configured to
provision requesting CE MUST include exactly one OPTION_MAP
option in a REPLY message for each MAP domain. It is envisaged
that in typical network, there will be only one MAP domain
deployed.</t>
<section anchor="option-flags" title="MAP Option">
<t>This MAP Option specifies the container option used to group all
rules for a specified MAP domain.</t>
<figure align="center" anchor="img-map-option" title="MAP Option">
<preamble></preamble>
<artwork align="center"><![CDATA[
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_MAP | option-length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| flags | .
+-+-+-+-+-+-+-+-+ sub-options (variable length) .
. .
+---------------------------------------------------------------+]]>
</artwork>
</figure>
<t><list style="symbols">
<t>option-code: OPTION_MAP (TBD1)</t>
<t>option-length: 1 + Length of the sub-options</t>
<t>flags: This 8-bits long conveys the MAP Option Flags.
The meaning of specific bits is explained in
<xref target="img-map-option-flag"/>.</t>
<t>sub-options: options associatied to this MAP option.</t>
</list></t>
<t>The sub options field encapsulates those options that are specific
to this MAP Option. For example, all of the MAP Rule Options are in
the sub-options field. A DHCP message may contain multiple MAP
Options.</t>
<t>The Format of the MAP Option Flags field is:</t>
<t><figure align="center" anchor="img-map-option-flag"
title="MAP Option Flags">
<preamble></preamble>
<artwork align="center"><![CDATA[
0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
|Reserved |T|
+-+-+-+-+-+-+-+-+]]>
</artwork>
</figure><list style="symbols">
<t>Reserved: 7-bits reserved for future use.</t>
<t>T: 1 bit field that specifies transport mode to use:
translation (0) or encapsulation (1).</t>
</list></t>
<t>It was suggested to also provision information whether MAP
network is working in hub and spoke or mesh mode. That is
not necessary, as mesh mode is assumed when there is at least
one FMR present.</t>
</section>
<section title="MAP Rule Option">
<t>Figure X shows the format of the MAP Rule option used for conveying
the BMR and FMR.</t>
<t>Server includes one or more MAP Rule Options in MAP Flags option.</t>
<t>Server MAY send more than one MAP Rule Option, if it is
configured to do so. Clients MUST NOT send MAP Rule
Option.</t>
<figure align="center" anchor="img-option-rule"
title="MAP Rule Option">
<preamble></preamble>
<artwork align="center"><![CDATA[
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_MAP_RULE | option-length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| prefix6-len | ea-len | prefix4-len | rule-flags |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| rule-ipv4-prefix |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| rule-ipv6-prefix |
| (variable length) |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. sub-options (variable length) .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]>
</artwork>
</figure>
<t><list style="symbols">
<t>option-code: OPTION_MAP_RULE (TBD2)</t>
<t>option-length: length of the option, excluding
option-code and option-length fields, including length of
all sub-options.</t>
<t>prefix6-len: 8 bits long field expressing the bit mask length
of the IPv6 prefix specified in the rule-ipv6-prefix field.</t>
<t>ea-len: 8-bits long field that specifies the Embedded-Address
(EA) bit length. Values allowed range from 0 to 48.</t>
<t>prefix4-len: 8 bits long field expressing the bit mask length
of the IPv4 prefix specified in the rule-ipv4-prefix field.</t>
<t>rule-flags: 8 bit long field carrying flags applicable to the
rule. The meaning of specific bits is explained in
<xref target="img-rule-flags"/>.</t>
<t>rule-ipv4-prefix: a 32 bit fixed length field that specifies
the IPv4 prefix for the MAP rule. </t>
<t>rule-ipv6-prefix: a variable length field that specifies the
IPv6 domain prefix for the MAP rule. The field is padded with
zeros up to the nearest octet boundary when prefix6-len is not
divisible by 8.</t>
<t>rule sub-options: a variable field that may contain zero or
more options that specify additional parameters for this MAP
BMR/FMR rule. Currently there is only one option defined that may
appear in rule sub-options field, eg the OPTION_MAP_PORTPARAMS,
defined in section <xref target="option-portparams"></xref>.</t>
</list></t>
<t>The value of the EA-len and prefix4-len SHOULD be equal to or
greater than 32.</t>
<t>The Format of the MAP Rule Flags field is:<figure align="center"
anchor="img-rule-flags" title="MAP Rule Flags">
<preamble></preamble>
<artwork align="center"><![CDATA[
0 1 2 3 4 5 6 7
+-+-+-+-+-+-+-+-+
|Reserved |F|
+-+-+-+-+-+-+-+-+]]></artwork>
</figure></t>
<t><list style="symbols">
<t>Reserved: 7-bits reserved for future use as flags.</t>
<t>F-Flag: 1 bit field that specifies whether the rule is to be
used for forwarding (FMR). 0x0 = This rule is NOT used as an FMR.
0x1 = This rule is also an FMR.</t>
<t>Note: BMR rules can be also FMR rules by setting the F flag.
BMR rules are determined by a match of the Rule-IPv6-prefix
against the CPE's prefix(es).</t>
</list></t>
<t>It is expected that in a typical MAP deployment scenarios, there
will be a single DMR and a single BMR, which could also be designated
as an FMR using the F-Flag.</t>
<t></t>
</section>
<section title="MAP DMR Option">
<t>Figure X shows the format of the MAP Rule option used for conveying
the DMR.</t>
<t><figure align="center" anchor="img-option-dmr"
title="MAP DMR Option">
<preamble></preamble>
<artwork align="center"><![CDATA[
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_MAP_DMR | option-length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|dmr-prefix6-len| dmr-ipv6-prefix |
+-+-+-+-+-+-+-+-+ (variable length) |
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. sub-options (variable length) .
. .
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
]]></artwork>
</figure></t>
<t><list style="symbols">
<t>option-code: OPTION_MAP_DMR (TBD3)</t>
<t>option-length: 1 + length of dmr-ipv6-prefix + sub-options in
bytes</t>
<t>dmr-prefix6-len: T8 bits long field expressing the bit mask
length of the IPv6 prefix specified in the dmr-ipv6-prefix
field.</t>
<t>dmr-ipv6-prefix: a variable length field that specifies the
IPv6 prefix or address for the MAP BR. This field is padded with
zeros up to the nearest octet boundary when prefix4-len is not
divisible by 8.</t>
<t>sub options: options associatied to this MAP DMR option.</t>
</list></t>
</section>
<section anchor="option-portparams" title="MAP Port Parameters Option">
<t>Port Parameters Option specifies optional Rule Port Parameters that
MAY be provided as part of the Mapping Rule. It MAY appear as
sub-option in OPTION_MAP_RULE option. It MUST NOT appear directly in a
message.</t>
<t>See <xref target="I-D.ietf-softwire-map"/>, Section 5.1
for detailed description of Port mapping algorithm.</t>
<figure align="center" anchor="img-option-portparams"
title="MAP Port Parameters Option">
<preamble></preamble>
<artwork align="center"><![CDATA[
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_MAP_PORTPARAMS | option-length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| rsv |offset | rsv | PSID-len| PSID |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+]]></artwork>
</figure>
<t><list style="symbols">
<t>option-code: OPTION_MAP_PORTPARAMS (TBD4)</t>
<t>option-length: 4</t>
<t>rsvd: This 4-bits long field is currently not used and
MUST be set to 0 by server. Its value MUST be ignored by
clients.</t>
<t>offset: (PSID offset) 4 bits long field that specifies
the numeric value for the MAP algorithm's excluded port
range/offset bits (A-bits), as per section 5.1.1 in <xref
target="I-D.ietf-softwire-map"></xref>. Default must be
set to 4.</t>
<t>PSID-len: Bit length value of the number of significant
bits in the PSID field. (also known as 'k'). When set to
0, the PSID field is to be ignored. After the first 'a'
bits, there are k bits in the port number representing
valid of PSID. Subsequently, the address sharing ratio
would be 2 ^k.</t>
<t>PSID: Explicit 16-bit (unsigned word) PSID value. The
PSID value algorithmically identifies a set of ports
assigned to a CE. The first k-bits on the left of this
2-octets field is the PSID value. The remaining (16-k)
bits on the right are padding zeros.
</t>
</list>
</t>
<t>When receiveing the Port Parameters option with an explicit
PSID, the client MUST use this explicit PSID in configuring
its MAP interface. </t>
</section>
</section>
<section anchor="example" title="MAP Options Examples">
<t>DHCPv6 server provisioning a single MAP Rule to a CE
(DHCPv6 client) will convey the following MAP options in its
messages:</t>
<section title="BMR Option Example">
<figure align="center" anchor="img-bmr-example"
title="BMR Option Example">
<preamble></preamble>
<artwork align="center"><![CDATA[
TODO: Reflect example in section 5.2 of MAP draft
]]></artwork>
</figure>
</section>
<section title="FMR Option Example">
<figure align="center" anchor="img-fmr-example"
title="FMR Option Example">
<preamble></preamble>
<artwork align="center"><![CDATA[
TODO: Reflect example in section 5.3 of MAP draft
]]></artwork>
</figure>
</section>
<section title="DMR Option Example">
<figure align="center" anchor="img-dmr-example"
title="DMR Option Examples">
<preamble></preamble>
<artwork align="center"><![CDATA[
TODO: Reflect example in section 5.4 of MAP draft
]]></artwork>
</figure>
</section>
</section>
<section title="DHCPv6 Server Behavior">
<t><xref target="RFC3315">RFC 3315 Section 17.2.2</xref> describes how a
DHCPv6 client and server negotiate configuration values using the ORO.
As a convenience to the reader, we mention here that a server will by
default not reply with a MAP Rule Option if the client has not
explicitly enumerated it on its Option Request Option.</t>
<t>A Server following this specification MUST allow the configuration of
one or more MAP Rule Options, and SHOULD send such options grouped under
a single MAP_OPTION.</t>
<t>Server MUST transmit all configured instances of the Mapping Rule
Options with all sub-options, if client requested it using
OPTION_MAP_RULE in its Option Request Option (ORO). Server MUST transmit
MAP Flags Option if client requested OPTION_MAP in its ORO.</t>
<!-- sadly, with introduction of OPTION_PORTPARAMS that is no longer true.
<t>Rules assignment is a stateless process from the server's
perspective. Server does not need to maintain a state of rules
provisioned to clients, track lifetimes, expire outdated rules
etc. Server SHOULDs assign the same set of rules to all CEs in
one MAP Domain, unless there are several classes of CEs defined,
e.g. regular and premium users. In such case, each class of CEs
is expected to get the same set of rules. Server is not expected
to track MAP rules on a per CE basis. Exact assignment of
specific rules to a specific CEs is outside of scope of this
document.</t> -->
<t>The server MUST be capable of following per client assignment rules
when assigning MAP options.</t>
</section>
<section title="DHCPv6 Client Behavior">
<t>A MAP CE acting as DHCPv6 client will request MAP configuration to be
assigned by the DHCPv6 server located in the ISP network. A client
supporting MAP functionality SHOULD request OPTION_MAP, OPTION_MAP_RULE
and OPTION_MAP_DMR options in its ORO in SOLICIT, REQUEST, RENEW, REBIND
and INFORMATION-REQUEST messages.</t>
<t>When processing received MAP options the following behaviour is
expected:<list style="symbols">
<t>A client MUST support processing multiple received
OPTION_MAP_RULE options in a OPTION_MAP option</t>
<t>A client receiving an unsupported MAP option, or an unrecognized
parameter value SHOULD discard the entire OPTION_MAP.</t>
<t>Only one OPTION_MAP_DMR is allowed per OPTION_MAP option.</t>
</list></t>
<t>The client MUST be capable of applying the received MAP option
parameters for the configuration of the local MAP instance.</t>
<t>Note that system implementing MAP CE functionality may have
multiple network interfaces, and these interfaces may be
configured differently; some may be connected to networks that
call for MAP, and some may be connected to networks that are
using normal dual stack or other means. The MAP CE system
should approach this specification on an interface-by-interface
basis. For example, if the CE system is attached to multiple
networks that provide the MAP Mapping Rule Option, then the CE
system MUST configure a MAP connection (i.e. a translation or
encapsulation) for each interface separately as each MAP
provides IPv4 connectivity for each distinct interface. Means to
bind a MAP configuration to a given interface in a multiple
interfaces device are out of scope of this document.</t>
</section>
<section title="Usage of flags and paramaters">
<t>The defined MAP options contain a number of flags and parameters that
are intended to provide full flexibility in the configuration of a MAP
CE. Some usage examples are:</t>
<t><list style="symbols">
<t>A MAP CE receiving an OPTION_MAP option with the T flag set to 1
will assume a MAP-E (encapsulation) mode of operation for the domain
and all associated rules. Conversely, when the received option has
the T flag set to 0, the CE will assume a MAP-T (stateless NAT46
translation) mode of operation.</t>
<t>The presence of a OPTION_MAP_RULE option, along with IPv4 prefix
parameters, indicates to the MAP CE that NAPT44 mode of operation is
expected, following the address mapping rules defined in <xref
target="I-D.ietf-softwire-map"></xref>. Conversely, the absence of
an OPTION_MAP_RULE option indicates that NAT44 mode is not required,
and that the MAP CE is to plainly encapsulate (MAP-E mode) or
statelessly translate using NAT64 (MAP-T mode) any IPv4 traffic sent
following the DMR.</t>
<t>The MAP domain ipv6-prefix in the BMR should correspond to a
service prefix assigned to the CPE by the operator, with the latter
being assigned using regular IPv6 means, eg DHCP PD or SLAAC. This
parameter allows the CPE to select the prefix for MAP operation.</t>
<t>The EA_LEN parameter, along with the length of the IPv4 prefix in
the BMR option, allows the MAP CE to determine whether address
sharing is in effect, and what is the address sharing ratio. Eg: A
prefix4-len of 16 bits, and EA-len of 18 combines to a 32 bit IPv4
address with a sharing ratio of 4.</t>
<t>The use of the F(orward) flag in the BMR allows a CE to apply a
received BMR as an FMR, thereby enabling mesh-mode for the domain
covered by the BMR rule.</t>
<t>In the absence of a BMR, the presence of the mandatory DMR
indicates to the CPE the address or prefix of a BR, and makes the
MAP CE fully compatible with DS-Lite and stateful or stateless NAT64
core nodes. Eg a MAP CE configured in MAP-E mode, with just a DMR
and a BR IPv6 address equivalent to that of the AFTR, effectively
acts as a DS-Lite B4 element. For more discussion about MAP
deployment considerations, see
<xref target="I-D.mdt-softwire-map-deployment"></xref>.</t>
</list></t>
</section>
<section title="Deployment considerations">
<t>Usage of PSID Option should be avoided if possible and PSID
embedded in the delegated prefix should be used instead. This
allows MAP deployment to not introduce any additional state in
DHCP server. PSID Option must be assigned on a per CE basis,
thus requiring more complicated server configuration.</t>
<t>In a typical environment, there will be only one MAP domain,
so server will provide only a single instance of MAP option that
acts a container for MAP Rule Options and other options that are
specific to that MAP domain.</t>
<t>In case of multiple provisioning domains, as defined in <xref
target="I-D.ietf-homenet-arch"/>, one server may be required to
provide information about more than one MAP domain. In such
case, server will provide two or more instances of MAP Options,
each with its own set of sub-option that define MAP rules for
each specific MAP domain. Details of mulitple provisioning
domains are discussed in Section 4.1 of <xref
target="I-D.mdt-softwire-map-deployment"/>.</t>
</section>
<section title="IANA Considerations">
<t>IANA is kindly requested to allocate DHCPv6 option codes for TBD1 for
OPTION_MAP, TBD2 for OPTION_MAP_RULE, TBD3 for OPTION_MAP_DMR, and TBD4
for OPTION_MAP_Port. All values should be added to the DHCPv6 option
code space defined in Section 24.3 of <xref
target="RFC3315"></xref>.</t>
</section>
<section title="Security Considerations">
<t>Implementation of this document does not present any new security
issues, but as with all DHCPv6-derived configuration state, it is
completely possible that the configuration is being delivered by a third
party (Man In The Middle). As such, there is no basis to trust that the
access over the MAP can be trusted, and it should not therefore bypass
any security mechanisms such as IP firewalls.</t>
<t>Readers concerned with security of MAP provisioning over
DHCPv6 are encouraged to familiarize with <xref
target="I-D.ietf-dhc-secure-dhcpv6"/>.</t>
<t>Section XX of <xref target="I-D.ietf-softwire-map"/> discusses
security issues of the MAP mechanism.</t>
<t>Section 23 of <xref target="RFC3315"/> discusses
DHCPv6-related security issues.</t>
</section>
<section title="Acknowledgements">
<t>This document was created as a product of a MAP design
team. Following people were members of that team: Congxiao Bao,
Mohamed Boucadair, Gang Chen, Maoke Chen, Wojciech Dec, Xiaohong
Deng, Jouni Korhonen, Xing Li, Satoru Matsushima, Tomasz
Mrugalski, Tetsuya Murakami, Jacni Qin, Necj Scoberne, Qiong
Sun, Tina Tsou, Dan Wing, Leaf Yeh and Jan Zorz.</t>
<t>Former MAP design team members are: Remi Despres.</t>
</section>
</middle>
<back>
<!-- SECTION 8.1: Normative References -->
<references title="Normative References">
<?rfc include="http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-softwire-map.xml" ?>
<?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.3315"?>
<?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.3633"?>
<?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.2119" ?>
</references>
<!-- SECTION 8.2: Informative References -->
<references title="Informative References">
<?rfc include="http://xml.resource.org/public/rfc/bibxml/reference.RFC.5226" ?>
<?rfc include="http://xml.resource.org/public/rfc/bibxml3/reference.I-D.mdt-softwire-map-deployment.xml" ?>
<?rfc include="http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-tsvwg-iana-ports"?>
<?rfc include="http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-homenet-arch"?>
<?rfc include="http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-dhc-option-guidelines.xml" ?>
<?rfc include="http://xml.resource.org/public/rfc/bibxml3/reference.I-D.mrugalski-dhc-dhcpv6-4rd.xml" ?>
<?rfc include="http://xml.resource.org/public/rfc/bibxml3/reference.I-D.boucadair-dhcpv6-shared-address-option.xml" ?>
<?rfc include="http://xml.resource.org/public/rfc/bibxml3/reference.I-D.ietf-dhc-secure-dhcpv6.xml" ?>
<?rfc include="http://xml.resource.org/public/rfc/bibxml3/reference.I-D.murakami-softwire-4rd.xml" ?>
</references>
</back>
</rfc>