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
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
1001
1002
1003
1004
1005
1006
1007
1008
1009
1010
1011
1012
1013
1014
1015
1016
1017
1018
1019
1020
1021
1022
1023
1024
1025
1026
1027
1028
1029
1030
1031
1032
1033
1034
1035
1036
1037
1038
1039
1040
1041
1042
1043
1044
1045
1046
1047
1048
1049
1050
1051
1052
1053
1054
1055
1056
1057
1058
1059
1060
1061
1062
1063
1064
1065
1066
1067
1068
1069
1070
1071
1072
1073
1074
1075
1076
1077
1078
1079
1080
1081
1082
1083
1084
1085
1086
1087
1088
1089
1090
1091
1092
1093
1094
1095
1096
1097
1098
1099
1100
1101
1102
1103
1104
1105
1106
1107
1108
1109
1110
1111
1112
1113
1114
1115
1116
1117
1118
1119
1120
1121
1122
1123
1124
1125
1126
1127
1128
1129
1130
1131
1132
1133
1134
1135
1136
1137
1138
1139
1140
1141
1142
1143
1144
1145
1146
1147
1148
1149
1150
1151
1152
1153
1154
1155
1156
1157
1158
1159
1160
1161
1162
1163
1164
1165
1166
1167
1168
1169
1170
1171
1172
1173
1174
1175
1176
1177
1178
1179
1180
1181
1182
1183
1184
1185
1186
1187
1188
1189
1190
1191
1192
1193
1194
1195
1196
1197
1198
1199
1200
1201
1202
1203
1204
1205
1206
1207
1208
1209
1210
1211
1212
1213
1214
1215
1216
1217
1218
1219
1220
1221
1222
1223
1224
1225
1226
1227
1228
1229
1230
1231
1232
1233
1234
1235
1236
1237
1238
1239
1240
1241
1242
1243
1244
1245
1246
1247
1248
1249
1250
1251
1252
1253
1254
1255
1256
1257
1258
1259
1260
1261
1262
1263
1264
1265
1266
1267
1268
1269
1270
1271
1272
1273
1274
1275
1276
1277
1278
1279
1280
1281
1282
1283
1284
1285
1286
1287
1288
1289
1290
1291
1292
1293
1294
1295
1296
1297
1298
1299
1300
1301
1302
1303
1304
1305
1306
1307
1308
1309
1310
1311
1312
1313
1314
1315
1316
1317
|
Internet Engineering Task Force (IETF) CJ. Bernardos
Request for Comments: 8885 A. de la Oliva
Category: Experimental UC3M
ISSN: 2070-1721 F. Giust
Athonet
JC. Zúñiga
SIGFOX
A. Mourad
InterDigital
October 2020
Proxy Mobile IPv6 Extensions for Distributed Mobility Management
Abstract
Distributed Mobility Management solutions allow networks to be set up
in such a way that traffic is distributed optimally and centrally
deployed anchors are not relied upon to provide IP mobility support.
There are many different approaches to address Distributed Mobility
Management -- for example, extending network-based mobility protocols
(like Proxy Mobile IPv6) or client-based mobility protocols (like
Mobile IPv6), among others. This document follows the former
approach and proposes a solution based on Proxy Mobile IPv6, in which
mobility sessions are anchored at the last IP hop router (called the
mobility anchor and access router). The mobility anchor and access
router is an enhanced access router that is also able to operate as a
local mobility anchor or mobility access gateway on a per-prefix
basis. The document focuses on the required extensions to
effectively support the simultaneous anchoring several flows at
different distributed gateways.
Status of This Memo
This document is not an Internet Standards Track specification; it is
published for examination, experimental implementation, and
evaluation.
This document defines an Experimental Protocol for the Internet
community. 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). Not
all documents approved by the IESG are candidates for any level of
Internet Standard; see 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
https://www.rfc-editor.org/info/rfc8885.
Copyright Notice
Copyright (c) 2020 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
(https://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
1.1. Requirements Language
2. Terminology
3. PMIPv6 DMM Extensions
3.1. Initial Registration
3.2. The CMD as PBU/PBA Relay
3.3. The CMD as MAAR Locator
3.4. The CMD as PBU/PBA Proxy
3.5. De-registration
3.6. Retransmissions and Rate Limiting
3.7. The Distributed Logical Interface (DLIF) Concept
4. Message Format
4.1. Proxy Binding Update
4.2. Proxy Binding Acknowledgement
4.3. Anchored Prefix Option
4.4. Local Prefix Option
4.5. Previous MAAR Option
4.6. Serving MAAR Option
4.7. DLIF Link-Local Address Option
4.8. DLIF Link-Layer Address Option
5. IANA Considerations
6. Security Considerations
7. References
7.1. Normative References
7.2. Informative References
Acknowledgements
Authors' Addresses
1. Introduction
The Distributed Mobility Management (DMM) paradigm aims at minimizing
the impact of currently standardized mobility management solutions,
which are centralized (at least to a considerable extent) [RFC7333].
The two most relevant examples of current IP mobility solutions are
Mobile IPv6 [RFC6275] and Proxy Mobile IPv6 (PMIPv6) [RFC5213].
These solutions offer mobility support at the cost of handling
operations at a cardinal point (i.e., the mobility anchor) and
burdening it with data forwarding and control mechanisms for a large
number of users. The mobility anchor is the home agent for Mobile
IPv6 and the local mobility anchor for PMIPv6. As stated in
[RFC7333], centralized mobility solutions are prone to several
problems and limitations: longer (sub-optimal) routing paths,
scalability problems, signaling overhead (and most likely a longer
associated handover latency), more complex network deployment, higher
vulnerability due to the existence of a potential single point of
failure, and lack of granularity of the mobility management service
(i.e., mobility is offered on a per-node basis because it is not
possible to define finer granularity policies, for example, on a per-
application basis).
The purpose of DMM is to overcome the limitations of the traditional
centralized mobility management [RFC7333] [RFC7429]; the main concept
behind DMM solutions is indeed bringing the mobility anchor closer to
the mobile node (MN). Following this idea, the central anchor is
moved to the edge of the network and is deployed in the default
gateway of the MN. That is, the first elements that provide IP
connectivity to a set of MNs are also the mobility managers for those
MNs. In this document, we call these entities Mobility Anchors and
Access Routers (MAARs).
This document focuses on network-based DMM; hence, the starting point
is making PMIPv6 work in a distributed manner [RFC7429]. Mobility is
handled by the network without the MN's involvement. But differently
from PMIPv6, when the MN moves from one access network to another,
the router anchoring the MN's address may change, hence requiring
signaling between the anchors to retrieve the MN's previous
location(s). Also, a key aspect of network-based DMM is that a
prefix pool belongs exclusively to each MAAR in the sense that those
prefixes are assigned by the MAAR to the MNs attached to it and are
routable at that MAAR. Prefixes are assigned to MNs attached to a
MAAR at that time, but remain with those MNs as mobility occurs,
remaining always routable at that MAAR as well as towards the MN
itself.
We consider partially distributed schemes, where only the data plane
is distributed among access routers similar to mobile access gateways
(MAGs), whereas the control plane is kept centralized towards a
cardinal node (used as an information store), which is discharged
from any route management and MN's data forwarding tasks.
1.1. Requirements Language
The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
"SHOULD", "SHOULD NOT", "RECOMMENDED", "NOT RECOMMENDED", "MAY", and
"OPTIONAL" in this document are to be interpreted as described in
BCP 14 [RFC2119] [RFC8174] when, and only when, they appear in all
capitals, as shown here.
2. Terminology
The following terms used in this document are defined in the PMIPv6
specification [RFC5213]:
BCE: Binding Cache Entry
LMA: Local Mobility Anchor
MAG: Mobile Access Gateway
MN: Mobile Node
P-CoA: Proxy Care-of Address
PBA: Proxy Binding Acknowledgement
PBU: Proxy Binding Update
The following terms used in this document are defined in the Mobile
IPv6 (MIPv6) specification [RFC6275]:
CN: Correspondent Node
The following terms are used in this document:
Home Control-Plane Anchor (Home-CPA or H-CPA):
The Home-CPA function hosts the MN's mobility session. There can
be more than one mobility session for an MN, and those sessions
may be anchored on the same or different Home-CPAs. The Home-CPA
will interface with the Home-DPA for managing the forwarding
state.
Home Data Plane Anchor (Home-DPA or H-DPA):
The Home-DPA is the topological anchor for the MN's IP addresses
and/or prefixes. The Home-DPA is chosen by the Home-CPA on a
session basis. The Home-DPA is in the forwarding path for all the
MN's IP traffic.
Access Control Plane Node (Access-CPN or A-CPN):
The Access-CPN is responsible for interfacing with the MN's Home-
CPA and the Access-DPN. The Access-CPN has a protocol interface
to the Home-CPA.
Access Data Plane Node (Access-DPN or A-DPN):
The Access-DPN function is hosted on the first-hop router where
the MN is attached. This function is not hosted on a Layer 2 (L2)
bridging device such as an eNode(B) or Access Point.
The following terms are defined and used in this document:
MAAR (Mobility Anchor and Access Router):
First-hop router where the MNs attach. It also plays the role of
mobility manager for the IPv6 prefixes it anchors, running the
functionalities of PMIP's MAG and LMA. Depending on the prefix,
it plays the role of Access-DPN, Home-DPA, and Access-CPN.
CMD (Central Mobility Database):
The node that stores the BCEs allocated for the MNs in the
mobility domain. It plays the role of Home-CPA.
P-MAAR (Previous MAAR):
When an MN moves to a new point of attachment, a new MAAR might be
allocated as its anchor point for future IPv6 prefixes. The MAAR
that served the MN prior to new attachment becomes the P-MAAR. It
is still the anchor point for the IPv6 prefixes it had allocated
to the MN in the past and serves as the Home-DPA for flows using
these prefixes. There might be several P-MAARs serving an MN in
cases when the MN is frequently switching points of attachment
while maintaining long-lasting flows.
S-MAAR (Serving MAAR):
The MAAR to which the MN is currently attached. Depending on the
prefix, it plays the role of Access-DPN, Home-DPA, and Access-CPN.
Anchoring MAAR:
A MAAR anchoring an IPv6 prefix used by an MN.
DLIF (Distributed Logical Interface):
It is a logical interface at the IP stack of the MAAR. For each
active prefix used by the MN, the S-MAAR has a DLIF configured
(associated with each MAAR still anchoring flows). In this way,
an S-MAAR exposes itself towards each MN as multiple routers, one
as itself and one per P-MAAR.
3. PMIPv6 DMM Extensions
The solution consists of decoupling the entities that participate in
the data and the control planes: the data plane becomes distributed
and managed by the MAARs near the edge of the network, while the
control plane, besides those on the MAARs, relies on a central entity
called the Central Mobility Database (CMD). In the proposed
architecture, the hierarchy present in PMIPv6 between LMA and MAG is
preserved but with the following substantial variations:
* The LMA is discharged from the data forwarding role; only the
Binding Cache and its management operations are maintained.
Hence, the LMA is renamed as "CMD", which is therefore a Home-CPA.
Also, the CMD is able to send and parse both PBU and PBA messages.
* The MAG is enriched with the LMA functionalities, hence the name
Mobility Anchor and Access Router (MAAR). It maintains a local
Binding Cache for the MNs that are attached to it, and it is able
to send and parse PBU and PBA messages.
* The Binding Cache will be extended to include information
regarding P-MAARs where the MN was anchored and still retains
active data sessions.
* Each MAAR has a unique set of global prefixes (which are
configurable) that can be allocated by the MAAR to the MNs but
must be exclusive to that MAAR, i.e., no other MAAR can allocate
the same prefixes.
The MAARs leverage the CMD to access and update information related
to the MNs, which is stored as mobility sessions; hence, a
centralized node maintains a global view of the network status. The
CMD is queried whenever an MN is detected joining/leaving the
mobility domain. It might be a fresh attachment, a detachment, or a
handover, but as MAARs are not aware of past information related to a
mobility session, they contact the CMD to retrieve the data of
interest and eventually take the appropriate action. The procedure
adopted for the query and the message exchange sequence might vary to
optimize the update latency and/or the signaling overhead. Here, one
method for the initial registration and three different approaches
for updating the mobility sessions using PBUs and PBAs are presented.
Each approach assigns a different role to the CMD:
* The CMD is a PBU/PBA relay;
* The CMD is only a MAAR locator;
* The CMD is a PBU/PBA proxy.
The solution described in this document allows per-prefix anchoring
decisions -- for example, to support the anchoring of some flows at a
central Home-DPA (like a traditional LMA) or to enable an application
to switch to the locally anchored prefix to gain route optimization,
as indicated in [RFC8563]. This type of per-prefix treatment would
potentially require additional extensions to the MAARs and signaling
between the MAARs and the MNs to convey the per-flow anchor
preference (central, distributed), which are not covered in this
document.
Note that an MN may move across different MAARs, which might result
in several P-MAARs existing at a given moment of time, each of them
anchoring a different prefix used by the MN.
3.1. Initial Registration
Initial registration is performed when an MN attaches to a network
for the first time (rather than attaching to a new network after
moving from a previous one).
In this description (shown in Figure 1), it is assumed that:
1. The MN is attaching to MAAR1.
2. The MN is authorized to attach to the network.
Upon MN attachment, the following operations take place:
1. MAAR1 assigns a global IPv6 prefix from its own prefix pool to
the MN (Pref1). It also stores this prefix (Pref1) in the
locally allocated temporary BCE.
2. MAAR1 sends a PBU [RFC5213] with Pref1 and the MN's MN-ID to the
CMD.
3. Since this is an initial registration, the CMD stores a BCE
containing the MN-ID, Pref1, and MAAR1's address (as a Proxy-CoA)
as the primary fields.
4. The CMD replies with a PBA with the usual options defined in
PMIPv6 [RFC5213], meaning that the MN's registration is fresh and
no past status is available.
5. MAAR1 stores the BCE described in (1) and unicasts a Router
Advertisement (RA) to the MN with Pref1.
6. The MN uses Pref1 to configure an IPv6 address (IP1) (e.g., with
stateless address autoconfiguration (SLAAC)).
Note that:
1. Alternative IPv6 autoconfiguration mechanisms can also be used,
though this document describes the SLAAC-based one.
2. IP1 is routable at MAAR1 in the sense that it is on the path of
packets addressed to the MN.
3. MAAR1 acts as a plain router for packets destined to the MN as no
encapsulation or special handling takes place.
In the diagram shown in Figure 1 (and subsequent diagrams), the flow
of packets is presented using '*'.
+-----+ +---+ +--+
|MAAR1| |CMD| |CN|
+-----+ +---+ +*-+
| | *
MN | * +---+
attach. | ***** _|CMD|_
detection | flow1 * / +-+-+ \
| | * / | \
local BCE | * / | \
allocation | * / | \
|--- PBU -->| +---*-+-' +--+--+ `+-----+
| BCE | * | | | | |
| creation |MAAR1+------+MAAR2+-----+MAAR3|
|<-- PBA ---| | * | | | | |
local BCE | +---*-+ +-----+ +-----+
finalized | *
| | Pref1 *
| | +*-+
| | |MN|
| | +--+
Operations sequence Packet flow
Figure 1: First Attachment to the Network
Note that the registration process does not change regardless of the
CMD's modes (relay, locator, or proxy) described in the following
sections. The procedure is depicted in Figure 1.
3.2. The CMD as PBU/PBA Relay
Upon MN mobility, if the CMD behaves as a PBU/PBA relay, the
following operations take place:
1. When the MN moves from its current point of attachment and
attaches to MAAR2 (now the S-MAAR), MAAR2 reserves an IPv6 prefix
(Pref2), stores a temporary BCE, and sends a PBU to the CMD for
registration.
2. Upon PBU reception and BC lookup, the CMD retrieves an already
existing entry for the MN and binds the MN-ID to its former
location; thus, the CMD forwards the PBU to the MAAR indicated as
Proxy-CoA (MAAR1) and includes a new mobility option to
communicate the S-MAAR's global address to MAAR1 (defined as the
Serving MAAR option in Section 4.6). The CMD updates the P-CoA
field in the BCE related to the MN with the S-MAAR's address.
3. Upon PBU reception, MAAR1 can install a tunnel on its side
towards MAAR2 and the related routes for Pref1. Then MAAR1
replies to the CMD with a PBA (including the option mentioned
before) to ensure that the new location has successfully changed.
The PBA contains the prefix anchored at MAAR1 in the Home Network
Prefix option.
4. The CMD, after receiving the PBA, updates the BCE and populates
an instance of the P-MAAR list. The P-MAAR list is an additional
field on the BCE that contains an element for each P-MAAR
involved in the MN's mobility session. The list element contains
the P-MAAR's global address and the prefix it has delegated.
Also, the CMD sends a PBA to the new S-MAAR, which contains the
previous Proxy-CoA and the prefix anchored to it embedded into a
new mobility option called the Previous MAAR option (defined in
Section 4.5). Then, upon PBA arrival, a bidirectional tunnel can
be established between the two MAARs, and new routes are set
appropriately to recover the IP flow(s) carrying Pref1.
5. Now, packets destined for Pref1 are first received by MAAR1,
encapsulated into the tunnel, and forwarded to MAAR2, which
finally delivers them to their destination. In the uplink, when
the MN transmits packets using Pref1 as a source address, they
are sent to MAAR2 (as it is the MN's new default gateway) and
then tunneled to MAAR1, which routes them towards the next hop to
the destination. Conversely, packets carrying Pref2 are routed
by MAAR2 without any special packet handling both for the uplink
and downlink.
+-----+ +---+ +-----+ +--+ +--+
|MAAR1| |CMD| |MAAR2| |CN| |CN|
+-----+ +---+ +-----+ +*-+ +*-+
| | | * *
| | MN * +---+ *
| | attach. ***** _|CMD|_ *
| | det. flow1 * / +-+-+ \ *flow2
| |<-- PBU ---| * / | \ *
| BCE | * / | *******
| check+ | * / | * \
| update | +---*-+-' +--+-*+ `+-----+
|<-- PBU*---| | | * | | *| | |
route | | |MAAR1|______|MAAR2+-----+MAAR3|
update | | | **(______)** *| | |
|--- PBA*-->| | +-----+ +-*--*+ +-----+
| BCE | * *
| update | Pref1 * *Pref2
| |--- PBA*-->| +*--*+
| | route ---move-->|*MN*|
| | update +----+
Operations sequence Data Packet flow
PBU/PBA messages with * contain
a new mobility option
Figure 2: Scenario after a Handover, CMD as Relay
For MN's next movements, the process is repeated, but the number of
P-MAARs involved increases (according to the number of prefixes that
the MN wishes to maintain). Indeed, once the CMD receives the first
PBU from the new S-MAAR, it forwards copies of the PBU to all the
P-MAARs indicated in the BCE, namely the P-MAAR registered as the
current P-CoA (i.e., the MAAR prior to handover) plus the ones in the
P-MAAR list. Those P-MAARs reply with a PBA to the CMD, which
aggregates all of the PBAs into one PBA to notify the S-MAAR, which
finally can establish the tunnels with the P-MAARs.
It should be noted that this design separates the mobility management
at the prefix granularity, and it can be tuned in order to erase old
mobility sessions when not required, while the MN is reachable
through the latest prefix acquired. Moreover, the latency associated
with the mobility update is bound to the PBA sent by the furthest
P-MAAR, in terms of RTT, that takes the longest time to reach the
CMD. The drawback can be mitigated by introducing a timeout at the
CMD, by which, after its expiration, all the PBAs so far collected
are transmitted, and the remaining are sent later upon their arrival.
Note that, in this case, the S-MAAR might receive multiple PBAs from
the CMD in response to a PBU. The CMD SHOULD follow the
retransmissions and rate-limiting considerations described in
Section 3.6, especially when aggregating and relaying PBAs.
When there are multiple P-MAARs, e.g., k MAARs, a single PBU received
by the CMD triggers k outgoing packets from a single incoming packet.
This may lead to packet bursts originating from the CMD, albeit to
different targets. Pacing mechanisms MUST be introduced to avoid
bursts on the outgoing link.
3.3. The CMD as MAAR Locator
The handover latency experienced in the approach shown before can be
reduced if the P-MAARs are allowed to directly signal their
information to the new S-MAAR. This procedure reflects what was
described in Section 3.2 up to the moment the P-MAAR receives the PBU
with the Serving MAAR option. At that point, a P-MAAR is aware of
the new MN's location (because of the S-MAAR's address in the Serving
MAAR option), and, besides sending a PBA to the CMD, it also sends a
PBA to the S-MAAR, including the prefix it is anchoring. This latter
PBA does not need to include new options, as the prefix is embedded
in the Home Network Prefix (HNP) option and the P-MAAR's address is
taken from the message's source address. The CMD is released from
forwarding the PBA to the S-MAAR as the latter receives a copy
directly from the P-MAAR with the necessary information to build the
tunnels and set the appropriate routes. Figure 3 illustrates the new
message sequence. The data forwarding is unaltered.
+-----+ +---+ +-----+ +--+ +--+
|MAAR1| |CMD| |MAAR2| |CN| |CN|
+-----+ +---+ +-----+ +*-+ +*-+
| | | * *
| | MN * +---+ *
| | attach. ***** _|CMD|_ *
| | det. flow1 * / +-+-+ \ *flow2
| |<-- PBU ---| * / | \ *
| BCE | * / | *******
| check+ | * / | * \
| update | +---*-+-' +--+-*+ `+-----+
|<-- PBU*---| | | * | | *| | |
route | | |MAAR1|______|MAAR2+-----+MAAR3|
update | | | **(______)** *| | |
|--------- PBA -------->| +-----+ +-*--*+ +-----+
|--- PBA*-->| route * *
| BCE update Pref1 * *Pref2
| update | +*--*+
| | | ---move-->|*MN*|
| | | +----+
Operations sequence Data Packet flow
PBU/PBA messages with * contain
a new mobility option
Figure 3: Scenario after a Handover, CMD as Locator
3.4. The CMD as PBU/PBA Proxy
A further enhancement of previous solutions can be achieved when the
CMD sends the PBA to the new S-MAAR before notifying the P-MAARs of
the location change. Indeed, when the CMD receives the PBU for the
new registration, it is already in possession of all the information
that the new S-MAAR requires to set up the tunnels and the routes.
Thus, the PBA is sent to the S-MAAR immediately after a PBU is
received, including the Previous MAAR option in this case. In
parallel, a PBU is sent by the CMD to the P-MAARs containing the
Serving MAAR option to notify them about the new MN's location so
that they receive the information to establish the tunnels and routes
on their side. When P-MAARs complete the update, they send a PBA to
the CMD to indicate that the operation has concluded and the
information is updated in all network nodes. This procedure is
obtained from the first procedure rearranging the order of the
messages, but the parameters communicated are the same. This scheme
is depicted in Figure 4, where, again, the data forwarding is kept
untouched.
+-----+ +---+ +-----+ +--+ +--+
|MAAR1| |CMD| |MAAR2| |CN| |CN|
+-----+ +---+ +-----+ +*-+ +*-+
| | | * *
| | MN * +---+ *
| | attach. ***** _|CMD|_ *
| | det. flow1 * / +-+-+ \ *flow2
| |<-- PBU ---| * / | \ *
| BCE | * / | *******
| check+ | * / | * \
| update | +---*-+-' +--+-*+ `+-----+
|<-- PBU*---x--- PBA*-->| | * | | *| | |
route | route |MAAR1|______|MAAR2+-----+MAAR3|
update | update | **(______)** *| | |
|--- PBA*-->| | +-----+ +-*--*+ +-----+
| BCE | * *
| update | Pref1 * *Pref2
| | | +*--*+
| | | ---move-->|*MN*|
| | | +----+
Operations sequence Data Packet flow
PBU/PBA messages with * contain
a new mobility option
Figure 4: Scenario after a Handover, CMD as Proxy
3.5. De-registration
The de-registration mechanism devised for PMIPv6 cannot be used as is
in this solution because each MAAR handles an independent mobility
session (i.e., a single prefix or a set of prefixes) for a given MN,
whereas the aggregated session is stored at the CMD. Indeed, if a
P-MAAR initiates a de-registration procedure because the MN is no
longer present on the MAAR's access link, it removes the routing
state for the prefix(es), that would be deleted by the CMD as well,
hence defeating any prefix continuity attempt. The simplest approach
to overcome this limitation is to deny a P-MAAR to de-register a
prefix, that is, allowing only an S-MAAR to de-register the whole MN
session. This can be achieved by first removing any L2 detachment
event so that de-registration is triggered only when the binding
lifetime expires, hence providing a guard interval for the MN to
connect to a new MAAR. Then, a change in the MAAR operations is
required, and at this stage, two possible solutions can be deployed:
* A P-MAAR stops the BCE timer upon receiving a PBU from the CMD
containing a "Serving MAAR" option. In this way, only the S-MAAR
is allowed to de-register the mobility session, arguing that the
MN definitely left the domain.
* P-MAARs can, upon BCE expiry, send de-registration messages to the
CMD, which, instead of acknowledging the message with a 0
lifetime, sends back a PBA with a non-zero lifetime, hence
renewing the session if the MN is still connected to the domain.
3.6. Retransmissions and Rate Limiting
The node sending PBUs (the CMD or S-MAAR) SHOULD make use of the
timeout to also deal with missing PBAs (to retransmit PBUs). The
INITIAL_BINDACK_TIMEOUT [RFC6275] SHOULD be used for configuring the
retransmission timer. The retransmissions by the node MUST use an
exponential backoff process in which the timeout period is doubled
upon each retransmission until either the node receives a response or
the timeout period reaches the value MAX_BINDACK_TIMEOUT [RFC6275].
The node MAY continue to send these messages at this slower rate
indefinitely. The node MUST NOT send PBU messages to a particular
node more than MAX_UPDATE_RATE times within a second [RFC6275].
3.7. The Distributed Logical Interface (DLIF) Concept
One of the main challenges of a network-based DMM solution is how to
allow a MN to simultaneously send/receive traffic that is anchored at
different MAARs and how to influence the MN's selection process of
its source IPv6 address for a new flow without requiring special
support from the MN's IP stack. This document defines the DLIF,
which is a software construct in the MAAR that can easily hide the
change of associated anchors from the MN.
+---------------------------------------------------+
( Operator's )
( core )
+---------------------------------------------------+
| |
+---------------+ tunnel +---------------+
| IP stack |===============| IP stack |
+---------------+ +-------+-------+
| mn1mar1 |--+ (DLIFs) +--|mn1mar1|mn1mar2|--+
+---------------+ | | +-------+-------+ |
| phy interface | | | | phy interface | |
+---------------+ | | +---------------+ |
MAAR1 (o) (o) MAAR2 (o)
x x
x x
prefA::/64 x x prefB::/64
(AdvPrefLft=0) x x
(o)
|
+-----+
prefA::MN1 | MN1 | prefB::MN1
(deprecated) +-----+
Figure 5: DLIF: Exposing Multiple Routers (One per P-MAAR)
The basic idea of the DLIF concept is the following: each S-MAAR
exposes itself to a given MN as multiple routers, one per P-MAAR
associated with the MN. Let's consider the example shown in
Figure 5: MN1 initially attaches to MAAR1, configuring an IPv6
address (prefA::MN1) from a prefix locally anchored at MAAR1
(prefA::/64). At this stage, MAAR1 plays the role of both anchoring
and serving MAAR and also behaves as a plain IPv6 access router.
MAAR1 creates a DLIF to communicate (through a point-to-point link)
with MN1, exposing itself as a (logical) router with specific MAC and
IPv6 addresses (e.g., prefA::MAAR1/64 and fe80::MAAR1/64) using the
DLIF mn1mar1. As explained below, these addresses represent the
"logical" identity of MAAR1 for MN1 and will "follow" the MN while
roaming within the domain (note that the place where all this
information is maintained and updated is out of scope of this
document; potential examples are to keep it on the home subscriber
server -- HSS -- or the user's profile).
If MN1 moves and attaches to a different MAAR of the domain (MAAR2 in
the example of Figure 5), this MAAR will create a new logical
interface (mn1mar2) to expose itself to MN1, providing it with a
locally anchored prefix (prefB::/64). In this case, since the MN1
has another active IPv6 address anchored at MAAR1, MAAR2 also needs
to create an additional logical interface configured to resemble the
one used by MAAR1 to communicate with MN1. In this example, MAAR1 is
the only P-MAAR (MAAR2 is the same as S-MAAR), so only the logical
interface mn1mar1 is created. However, the same process would be
repeated if more P-MAARs were involved. In order to keep the prefix
anchored at MAAR1 reachable, a tunnel between MAAR1 and MAAR2 is
established and the routing is modified accordingly. The PBU/PBA
signaling is used to set up the bidirectional tunnel between MAAR1
and MAAR2, and it might also be used to convey the information about
the prefix(es) anchored at MAAR1 and the addresses of the associated
DLIF (i.e., mn1mar1) to MAAR2.
+------------------------------------------+ +----------------------+
| MAAR1 | | MAAR2 |
|+----------------------------------------+| |+--------------------+|
||+------------------++------------------+|| ||+------------------+||
|||+-------++-------+||+-------++-------+||| |||+-------++-------+|||
||||mn3mar1||mn3mar2||||mn2mar1||mn2mar2|||| ||||mn1mar1||mn1mar2||||
|||| LMAC1 || LMAC2 |||| LMAC3 || LMAC4 |||| |||| LMAC5 || LMAC6 ||||
|||+-------++-------+||+-------++-------+||| |||+-------++-------+|||
||| LIFs of MN3 || LIFs of MN2 ||| ||| LIFs of MN1 |||
||+------------------++------------------+|| ||+------------------+||
|| MAC1 (phy if MAAR1) || || MAC2 (phy if MAAR2)||
|+----------------------------------------+| |+--------------------+|
+------------------------------------------+ +----------------------+
x x x
x x x
(o) (o) (o)
| | |
+--+--+ +--+--+ +--+--+
| MN3 | | MN2 | | MN1 |
+-----+ +-----+ +-----+
Figure 6: Distributed Logical Interface Concept
Figure 6 shows the logical interface concept in more detail. The
figure shows two MAARs and three MNs. MAAR1 is currently serving MN2
and MN3, while MAAR2 is serving MN1. Note that an S-MAAR always
plays the role of anchoring MAAR for the attached (served) MNs. Each
MAAR has one single physical wireless interface as depicted in this
example.
As discussed before, each MN always "sees" multiple logical routers
-- one per anchoring MAAR -- independently of its currently S-MAAR.
From the point of view of the MN, these MAARs are portrayed as
different routers, although the MN is physically attached to a single
interface. This is achieved by the S-MAAR configuring different
logical interfaces. MN1 is currently attached to MAAR2 (i.e., MAAR2
is its S-MAAR) and, therefore, it has configured an IPv6 address from
MAAR2's pool (e.g., prefB::/64). MAAR2 has set up a logical
interface (mn1mar2) on top of its wireless physical interface (phy if
MAAR2), which is used to serve MN1. This interface has a logical MAC
address (LMAC6) that is different from the hardware MAC address
(MAC2) of the physical interface of MAAR2. Over the mn1mar2
interface, MAAR2 advertises its locally anchored prefix prefB::/64.
Before attaching to MAAR2, MN1 was attached to MAAR1 and configured a
locally anchored address at that MAAR, which is still being used by
MN1 in active communications. MN1 keeps "seeing" an interface
connecting to MAAR1 as if it were directly connected to the two
MAARs. This is achieved by the S-MAAR (MAAR2) configuring an
additional DLIF, mn1mar1, which behaves as the logical interface
configured by MAAR1 when MN1 was attached to it. This means that
both the MAC and IPv6 addresses configured on this logical interface
remain the same regardless of the physical MAAR that is serving the
MN. The information required by an S-MAAR to properly configure this
logical interfaces can be obtained in different ways: as part of the
information conveyed in the PBA, from an external database (e.g., the
HSS) or by other means. As shown in the figure, each MAAR may have
several logical interfaces associated with each attached MN and
always has at least one (since an S-MAAR is also an anchoring MAAR
for the attached MN).
In order to enforce the use of the prefix locally anchored at the
S-MAAR, the RAs sent over those logical interfaces playing the role
of anchoring MAARs (different from the serving one) include a zero
preferred prefix lifetime (and a non-zero valid prefix lifetime, so
the prefix remains valid while being deprecated). The goal is to
deprecate the prefixes delegated by these MAARs (so that they will no
longer be serving the MN). Note that ongoing communications may keep
on using those addresses even if they are deprecated, so this only
affects the establishment of new sessions.
The DLIF concept also enables the following use case: suppose that
access to a local IP network is provided by a given MAAR (e.g., MAAR1
in the example shown in Figure 5) and that the resources available at
that network cannot be reached from outside the local network (e.g.,
cannot be accessed by an MN attached to MAAR2). This is similar to
the local IP access scenario considered by 3GPP, where a local
gateway node is selected for sessions requiring access to services
provided locally (instead of going through a central gateway). The
goal is to allow an MN to be able to roam while still being able to
have connectivity to this local IP network. The solution adopted to
support this case makes use of more specific routes, as discussed in
RFC 4191 [RFC4191], when the MN moves to a MAAR different from the
one providing access to the local IP network (MAAR1 in the example).
These routes are advertised through the DLIF where the MAAR is
providing access to the local network (MAAR1 in this example). In
this way, if MN1 moves from MAAR1 to MAAR2, any active session that
MN1 may have with a node on the local network connected to MAAR1 will
survive via the tunnel between MAAR1 and MAAR2. Also, any potential
future connection attempt to the local network will be supported even
though MN1 is no longer attached to MAAR1, so long as a source
address configured from MAAR1 is selected for new connections (see
[RFC6724], rule 5.5).
4. Message Format
This section defines extensions to the PMIPv6 [RFC5213] protocol
messages.
4.1. Proxy Binding Update
A new flag (D) is included in the PBU to indicate that the PBU is
coming from a MAAR or a CMD and not from a MAG. The rest of the PBU
format remains the same as defined in [RFC5213].
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence # |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
|A|H|L|K|M|R|P|F|T|B|S|D| Rsrvd | Lifetime |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. .
. Mobility Options .
. .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
DMM Flag (D)
The D flag is set to indicate to the receiver of the message that
the PBU is from a MAAR or a CMD. When an LMA that does not
support the extensions described in this document receives a
message with the D flag set, the PBU in that case MUST NOT be
processed by the LMA, and an error MUST be returned.
Mobility Options
Variable-length field of such length that the complete Mobility
Header is an integer that is a multiple of 8 octets long. This
field contains zero or more TLV-encoded mobility options. The
encoding and format of the defined options are described in
Section 6.2 of [RFC6275]. The receiving node MUST ignore and skip
any options that it does not understand.
4.2. Proxy Binding Acknowledgement
A new flag (D) is included in the PBA to indicate that the sender
supports operating as a MAAR or CMD. The rest of the PBA format
remains the same as defined in [RFC5213].
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Status |K|R|P|T|B|S|D| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Sequence # | Lifetime |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
. .
. Mobility Options .
. .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
DMM Flag (D)
The D flag is set to indicate that the sender of the message
supports operating as a MAAR or CMD. When a MAG that does not
support the extensions described in this document receives a
message with the D flag set, it MUST ignore the message, and an
error MUST be returned.
Mobility Options
Variable-length field of such length that the complete Mobility
Header is an integer multiple of 8 octets long. This field
contains zero or more TLV-encoded mobility options. The encoding
and format of the defined options are described in Section 6.2 of
[RFC6275]. The MAAR MUST ignore and skip any options that it does
not understand.
4.3. Anchored Prefix Option
A new Anchored Prefix option is defined for use with the PBU and PBA
messages exchanged between MAARs and CMDs. Therefore, this option
can only appear if the D bit is set in a PBU/PBA. This option is
used for exchanging the MN's prefix anchored at the anchoring MAAR.
There can be multiple Anchored Prefix options present in the message.
The Anchored Prefix option has an alignment requirement of 8n+4. Its
format is as follows:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Reserved | Prefix Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Anchored Prefix +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
65
Length
8-bit unsigned integer indicating the length of the option in
octets, excluding the type and length fields. This field MUST be
set to 18.
Reserved
This field is unused at the time of publication. The value MUST
be initialized to 0 by the sender and MUST be ignored by the
receiver.
Prefix Length
8-bit unsigned integer indicating the prefix length in bits of the
IPv6 prefix contained in the option.
Anchored Prefix
A 16-octet field containing the MN's IPv6 Anchored Prefix. Only
the first Prefix Length bits are valid for the Anchored Prefix
option. The rest of the bits MUST be ignored.
4.4. Local Prefix Option
A new Local Prefix option is defined for use with the PBU and PBA
messages exchanged between MAARs or between a MAAR and a CMD.
Therefore, this option can only appear if the D bit is set in a PBU/
PBA. This option is used for exchanging a prefix of a local network
that is only reachable via the anchoring MAAR. There can be multiple
Local Prefix options present in the message.
The Local Prefix option has an alignment requirement of 8n+4. Its
format is as follows:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Reserved | Prefix Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Local Prefix +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
66
Length
8-bit unsigned integer indicating the length of the option in
octets, excluding the type and length fields. This field MUST be
set to 18.
Reserved
This field is unused at the time of publication. The value MUST
be initialized to 0 by the sender and MUST be ignored by the
receiver.
Prefix Length
8-bit unsigned integer indicating the prefix length in bits of the
IPv6 prefix contained in the option.
Local Prefix
A 16-octet field containing the IPv6 Local Prefix. Only the first
Prefix Length bits are valid for the IPv6 Local Prefix. The rest
of the bits MUST be ignored.
4.5. Previous MAAR Option
This new option is defined for use with the PBA messages exchanged by
the CMD to a MAAR. This option is used to notify the S-MAAR about
the P-MAAR's global address and the prefix anchored to it. There can
be multiple Previous MAAR options present in the message.
The Previous MAAR option has an alignment requirement of 8n+4. Its
format is as follows:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Reserved | Prefix Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Previous MAAR +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ Home Network Prefix +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
67
Length
8-bit unsigned integer indicating the length of the option in
octets, excluding the type and length fields. This field MUST be
set to 34.
Reserved
This field is unused at the time of publication. The value MUST
be initialized to 0 by the sender and MUST be ignored by the
receiver.
Prefix Length
8-bit unsigned integer indicating the prefix length in bits of the
IPv6 prefix contained in the option.
Previous MAAR
A 16-octet field containing the P-MAAR's IPv6 global address.
Home Network Prefix
A 16-octet field containing the MN's IPv6 Home Network Prefix.
Only the first Prefix Length bits are valid for the MN's IPv6 Home
Network Prefix. The rest of the bits MUST be ignored.
4.6. Serving MAAR Option
This new option is defined for use with the PBU message exchanged
between the CMD and a P-MAAR. This option is used to notify the
P-MAAR about the current S-MAAR's global address. Its format is as
follows:
The Serving MAAR option has an alignment requirement of 8n+6. Its
format is as follows:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ S-MAAR's Address +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
68
Length
8-bit unsigned integer indicating the length of the option in
octets, excluding the type and length fields. This field MUST be
set to 16.
Serving MAAR
A 16-octet field containing the S-MAAR's IPv6 global address.
4.7. DLIF Link-Local Address Option
A new DLIF Link-Local Address option is defined for use with the PBA
message exchanged between MAARs and between a MAAR and a CMD. This
option is used for exchanging the link-local address of the DLIF to
be configured on the S-MAAR so it resembles the DLIF configured on
the P-MAAR.
The DLIF Link-Local Address option has an alignment requirement of
8n+6. Its format is as follows:
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ +
| |
+ DLIF Link-Local Address +
| |
+ +
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
69
Length
8-bit unsigned integer indicating the length of the option in
octets, excluding the type and length fields. This field MUST be
set to 16.
DLIF Link-Local Address
A 16-octet field containing the link-local address of the logical
interface.
4.8. DLIF Link-Layer Address Option
A new DLIF Link-Layer Address option is defined for use with the PBA
message exchanged between MAARs and between a MAAR and a CMD. This
option is used for exchanging the link-layer address of the DLIF to
be configured on the S-MAAR so it resembles the DLIF configured on
the P-MAAR.
The format of the DLIF Link-Layer Address option is shown below.
Based on the size of the address, the option MUST be aligned
appropriately, as per the mobility option alignment requirements
specified in [RFC6275].
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
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| Type | Length | Reserved |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| |
+ DLIF Link-Layer Address +
. ... .
| |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
Type
70
Length
8-bit unsigned integer indicating the length of the option in
octets, excluding the type and length fields.
Reserved
This field is unused at the time of publication. The value MUST
be initialized to 0 by the sender and MUST be ignored by the
receiver.
DLIF Link-Layer Address
A variable length field containing the link-layer address of the
logical interface to be configured on the S-MAAR.
The content and format of this field (including octet and bit
ordering) is as specified in Section 4.6 of [RFC4861] for carrying
link-layer addresses. On certain access links where the link-
layer address is not used or cannot be determined, this option
cannot be used.
5. IANA Considerations
This document defines six new mobility options: Anchored Prefix,
Local Prefix, Previous MAAR, Serving MAAR, DLIF Link-Local Address,
and DLIF Link-Layer Address. IANA has assigned Type values for these
options from the same numbering space as allocated for the other
mobility options in the "Mobility Options" registry defined in
http://www.iana.org/assignments/mobility-parameters.
This document reserves a new flag (D) with a value of 0x0010 in the
"Binding Update Flags" registry and a new flag (D) with a value of
0x02 in the "Binding Acknowledgment Flags" of the "Mobile IPv6
parameters" registry (http://www.iana.org/assignments/mobility-
parameters).
6. Security Considerations
The protocol extensions defined in this document share the same
security concerns of PMIPv6 [RFC5213]. It is recommended that the
signaling messages, PBU and PBA, exchanged between the MAARs be
protected using IPsec, specifically by using the established security
association between them. This essentially eliminates the threats
related to the impersonation of a MAAR.
When the CMD acts as a PBU/PBA relay, the CMD may act as a relay of a
single PBU to multiple P-MAARs. In situations with many fast
handovers (e.g., with vehicular networks), multiple previous (e.g.,
k) MAARs may exist. In this situation, the CMD creates k outgoing
packets from a single incoming packet. This bears a certain
amplification risk. The CMD MUST use a pacing approach in the
outgoing queue to cap the output traffic (i.e., the rate of PBUs
sent) to limit this amplification risk.
When the CMD acts as a MAAR locator, mobility signaling (PBAs) is
exchanged between P-MAARs and the current S-MAAR. Hence, security
associations are REQUIRED to exist between the involved MAARs (in
addition to the ones needed with the CMD).
Since de-registration is performed by timeout, measures SHOULD be
implemented to minimize the risks associated with continued resource
consumption (DoS attacks), e.g., imposing a limit on the number of
P-MAARs associated with a given MN.
The CMD and the participating MAARs MUST be trusted parties
authorized perform all operations relevant to their role.
There are some privacy considerations to consider. While the
involved parties trust each other, the signaling involves disclosing
information about the previous locations visited by each MN, as well
as the active prefixes they are using at a given point of time.
Therefore, mechanisms MUST be in place to ensure that MAARs and CMDs
do not disclose this information to other parties or use it for other
ends than providing the distributed mobility support specified in
this document.
7. References
7.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,
<https://www.rfc-editor.org/info/rfc2119>.
[RFC4191] Draves, R. and D. Thaler, "Default Router Preferences and
More-Specific Routes", RFC 4191, DOI 10.17487/RFC4191,
November 2005, <https://www.rfc-editor.org/info/rfc4191>.
[RFC4861] Narten, T., Nordmark, E., Simpson, W., and H. Soliman,
"Neighbor Discovery for IP version 6 (IPv6)", RFC 4861,
DOI 10.17487/RFC4861, September 2007,
<https://www.rfc-editor.org/info/rfc4861>.
[RFC5213] Gundavelli, S., Ed., Leung, K., Devarapalli, V.,
Chowdhury, K., and B. Patil, "Proxy Mobile IPv6",
RFC 5213, DOI 10.17487/RFC5213, August 2008,
<https://www.rfc-editor.org/info/rfc5213>.
[RFC6275] Perkins, C., Ed., Johnson, D., and J. Arkko, "Mobility
Support in IPv6", RFC 6275, DOI 10.17487/RFC6275, July
2011, <https://www.rfc-editor.org/info/rfc6275>.
[RFC7333] Chan, H., Ed., Liu, D., Seite, P., Yokota, H., and J.
Korhonen, "Requirements for Distributed Mobility
Management", RFC 7333, DOI 10.17487/RFC7333, August 2014,
<https://www.rfc-editor.org/info/rfc7333>.
[RFC8174] Leiba, B., "Ambiguity of Uppercase vs Lowercase in RFC
2119 Key Words", BCP 14, RFC 8174, DOI 10.17487/RFC8174,
May 2017, <https://www.rfc-editor.org/info/rfc8174>.
7.2. Informative References
[DISTRIBUTED-ANCHORING]
Bernardos, C. and J. Zuniga, "PMIPv6-based distributed
anchoring", Work in Progress, Internet-Draft, draft-
bernardos-dmm-distributed-anchoring-09, 29 May 2017,
<https://tools.ietf.org/html/draft-bernardos-dmm-
distributed-anchoring-09>.
[DMM-PMIP] Bernardos, C., Oliva, A., and F. Giust, "A PMIPv6-based
solution for Distributed Mobility Management", Work in
Progress, Internet-Draft, draft-bernardos-dmm-pmip-09, 8
September 2017,
<https://tools.ietf.org/html/draft-bernardos-dmm-pmip-09>.
[RFC6724] Thaler, D., Ed., Draves, R., Matsumoto, A., and T. Chown,
"Default Address Selection for Internet Protocol Version 6
(IPv6)", RFC 6724, DOI 10.17487/RFC6724, September 2012,
<https://www.rfc-editor.org/info/rfc6724>.
[RFC7429] Liu, D., Ed., Zuniga, JC., Ed., Seite, P., Chan, H., and
CJ. Bernardos, "Distributed Mobility Management: Current
Practices and Gap Analysis", RFC 7429,
DOI 10.17487/RFC7429, January 2015,
<https://www.rfc-editor.org/info/rfc7429>.
[RFC8563] Katz, D., Ward, D., Pallagatti, S., Ed., and G. Mirsky,
Ed., "Bidirectional Forwarding Detection (BFD) Multipoint
Active Tails", RFC 8563, DOI 10.17487/RFC8563, April 2019,
<https://www.rfc-editor.org/info/rfc8563>.
Acknowledgements
The authors would like to thank Dirk von Hugo, John Kaippallimalil,
Ines Robles, Joerg Ott, Carlos Pignataro, Vincent Roca, Mirja
Kühlewind, Éric Vyncke, Adam Roach, Benjamin Kaduk, and Roman Danyliw
for the comments on this document. The authors would also like to
thank Marco Liebsch, Dirk von Hugo, Alex Petrescu, Daniel Corujo,
Akbar Rahman, Danny Moses, Xinpeng Wei, and Satoru Matsushima for
their comments and discussion on the documents
[DISTRIBUTED-ANCHORING] and [DMM-PMIP], on which the present document
is based.
The authors would also like to thank Lyle Bertz and Danny Moses for
their in-depth review of this document and their very valuable
comments and suggestions.
Authors' Addresses
Carlos J. Bernardos
Universidad Carlos III de Madrid
Av. Universidad, 30
28911 Leganes Madrid
Spain
Phone: +34 91624 6236
Email: cjbc@it.uc3m.es
URI: http://www.it.uc3m.es/cjbc/
Antonio de la Oliva
Universidad Carlos III de Madrid
Av. Universidad, 30
28911 Leganes Madrid
Spain
Phone: +34 91624 8803
Email: aoliva@it.uc3m.es
URI: http://www.it.uc3m.es/aoliva/
Fabio Giust
Athonet S.r.l.
via Ca' del Luogo 6/8
36050 Bolzano Vicentino (VI)
Italy
Email: fabio.giust.research@gmail.com
Juan Carlos Zúñiga
SIGFOX
425 rue Jean Rostand
31670 Labege
France
Email: j.c.zuniga@ieee.org
URI: http://www.sigfox.com/
Alain Mourad
InterDigital Europe
Email: Alain.Mourad@InterDigital.com
URI: http://www.InterDigital.com/
|