summaryrefslogtreecommitdiff
path: root/doc/rfc/rfc8818.txt
blob: a58c50126895f12bf5ef509c71f6dc3b3db8315d (plain) (blame)
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
Internet Engineering Task Force (IETF)                      H. Chan, Ed.
Request for Comments: 8818                                          CIHE
Category: Informational                                           X. Wei
ISSN: 2070-1721                                      Huawei Technologies
                                                                  J. Lee
                                                       Sejong University
                                                                 S. Jeon
                                                 Sungkyunkwan University
                                                      CJ. Bernardos, Ed.
                                                                    UC3M
                                                            October 2020


                     Distributed Mobility Anchoring

Abstract

   This document defines distributed mobility anchoring in terms of the
   different configurations and functions to provide IP mobility
   support.  A network may be configured with distributed mobility
   anchoring functions for both network-based or host-based mobility
   support, depending on the network's needs.  In a distributed mobility
   anchoring environment, multiple anchors are available for mid-session
   switching of an IP prefix anchor.  To start a new flow or to handle a
   flow not requiring IP session continuity as a mobile node moves to a
   new network, the flow can be started or restarted using an IP address
   configured from the new IP prefix anchored to the new network.  If
   the flow needs to survive the change of network, there are solutions
   that can be used to enable IP address mobility.  This document
   describes different anchoring approaches, depending on the IP
   mobility needs, and how this IP address mobility is handled by the
   network.

Status of This Memo

   This document is not an Internet Standards Track specification; it is
   published for informational purposes.

   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/rfc8818.

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
   2.  Conventions and Terminology
   3.  Distributed Mobility Anchoring
     3.1.  Configurations for Different Networks
       3.1.1.  Network-Based DMM
       3.1.2.  Client-Based DMM
   4.  IP Mobility Handling in Distributed Anchoring Environments:
           Mobility Support Only When Needed
     4.1.  Nomadic Case
     4.2.  Mobility Case with Traffic Redirection
     4.3.  Mobility Case with Anchor Relocation
   5.  Security Considerations
   6.  IANA Considerations
   7.  References
     7.1.  Normative References
     7.2.  Informative References
   Acknowledgements
   Contributors
   Authors' Addresses

1.  Introduction

   A key requirement in distributed mobility management (DMM) [RFC7333]
   is to enable traffic to avoid traversing a single mobility anchor far
   from an optimal route.  This document defines different
   configurations, functional operations, and parameters for distributed
   mobility anchoring and explains how to use them to avoid
   unnecessarily long routes when a mobile node moves.

   Other distributed mobility management documents already address
   source address selection [RFC8653] and control-plane and data-plane
   signaling [FPC-DMM-PROTOCOL].  A number of distributed mobility
   solutions have also been proposed, for example, in [DMM-DMA],
   [RFC8885], [DMM-WIFI], [DMM-ENHANCED-ANCHORING], and
   [STATELESS-UPLANE-VEPC].

   Distributed mobility anchoring employs multiple anchors in the data
   plane.  In general, control-plane functions may be separated from
   data-plane functions and be centralized but may also be co-located
   with the data-plane functions at the distributed anchors.  Different
   configurations of distributed mobility anchoring are described in
   Section 3.1.

   As a Mobile Node (MN) attaches to an access router and establishes a
   link between them, a /64 IPv6 prefix anchored to the router may be
   assigned to the link for exclusive use by the MN [RFC6459].  The MN
   may then configure a global IPv6 address from this prefix and use it
   as the source IP address in a flow to communicate with its
   Correspondent Node (CN).  When there are multiple mobility anchors
   assigned to the same MN, an address selection for a given flow is
   first required before the flow is initiated.  Using an anchor in an
   MN's network of attachment has the advantage that the packets can
   simply be forwarded according to the forwarding table.  However,
   after the flow has been initiated, the MN may later move to another
   network that assigns a new mobility anchor to the MN.  Since the new
   anchor is located in a different network, the MN's assigned prefix
   does not belong to the network where the MN is currently attached.

   When the MN wants to continue using its assigned prefix to complete
   ongoing data sessions after it has moved to a new network, the
   network needs to provide support for the MN's IP address and session
   continuity, since routing packets to the MN through the new network
   deviates from applying default routes.  The IP session continuity
   needs of a flow (application) determine how the IP address used by
   this flow has to be anchored.  If the ongoing IP flow can cope with
   an IP prefix/address change, the flow can be reinitiated with a new
   IP address anchored in the new network.  On the other hand, if the
   ongoing IP flow cannot cope with such change, mobility support is
   needed.  A network supporting a mix of flows both requiring and not
   requiring IP mobility support will need to distinguish these flows.

2.  Conventions and Terminology

   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.

   All general mobility-related terms and their acronyms used in this
   document are to be interpreted as defined in the Mobile IPv6 (MIPv6)
   base specification [RFC6275], the Proxy Mobile IPv6 (PMIPv6)
   specification [RFC5213], the Mobility Terminology document [RFC3753],
   and the DMM Current Practices and Gap Analysis document [RFC7429].
   These include terms such as Mobile Node (MN), Correspondent Node
   (CN), Home Agent (HA), Home Address (HoA), Care-of-Address (CoA),
   Local Mobility Anchor (LMA), and Mobile Access Gateway (MAG).

   In addition, this document uses the following terms and definitions:

   IP session continuity:  The ability to maintain an ongoing transport
      interaction by keeping the same local endpoint IP address
      throughout the lifetime of the IP socket despite the mobile host
      changing its point of attachment within the IP network topology.
      The IP address of the host may change after closing the IP socket
      and before opening a new one, but that does not jeopardize the
      ability of applications using these IP sockets to work flawlessly.
      Session continuity is essential for mobile hosts to maintain
      ongoing flows without any interruption [RFC8653].

   Higher-layer session continuity:  The ability to maintain an ongoing
      transport- or higher-layer (e.g., application) interaction by
      keeping the session identifiers throughout the lifetime of the
      session despite the mobile host changing its point of attachment
      within the IP network topology.  This can be achieved by using
      mechanisms at the transport or higher layers.

   IP address reachability:  The ability to maintain the same IP address
      for an extended period of time.  The IP address stays the same
      across independent sessions, even in the absence of any session.
      The IP address may be published in a long-term registry (e.g.,
      DNS) and is made available for serving incoming (e.g., TCP)
      connections.  IP address reachability is essential for mobile
      hosts to use specific/published IP addresses [RFC8653].

   IP mobility:  The combination of IP address reachability and session
      continuity.

   Anchoring (of an IP prefix/address):  An IP prefix (i.e., Home
      Network Prefix (HNP)) or address (i.e., HoA) assigned for use by
      an MN is topologically anchored to an anchor node when the anchor
      node is able to advertise a route into the routing infrastructure
      for the assigned IP prefix.  The traffic using the assigned IP
      address/prefix must traverse the anchor node.  We can refer to the
      function performed by the IP anchor node as anchoring, which is a
      data-plane function.

   Location Management (LM) function:  A control-plane function that
      keeps and manages the network location information of an MN.  The
      location information may be a binding of the advertised IP
      address/prefix (e.g., HoA or HNP) to the IP routing address of the
      MN or of a node that can forward packets destined to the MN.

      When the MN is a Mobile Router (MR), the location information will
      also include the Mobile Network Prefix (MNP), which is the
      aggregate IP prefix delegated to the MR to assign IP prefixes for
      use by the Mobile Network Nodes (MNNs) in the mobile network.

      In a client-server protocol model, secure (i.e., authenticated and
      authorized) location query and update messages may be exchanged
      between a Location Management client (LMc) and a Location
      Management server (LMs), where the location information can be
      updated or queried from the LMc.  Optionally, there may be a
      Location Management proxy (LMp) between LMc and LMs.

      With separation of control plane and data plane, the LM function
      is in the control plane.  It may be a logical function at the
      control-plane node, control-plane anchor, or mobility controller.

      It may be distributed or centralized.

   Forwarding Management (FM) function:  Packet interception and
      forwarding to/from the IP address/prefix assigned for use by the
      MN, based on the internetwork location information, either to the
      destination or to some other network element that knows how to
      forward the packets to their destination.

      This function may be used to achieve traffic indirection.  With
      separation of control plane and data plane, the FM function may
      split into an FM function in the data plane (FM-DP) and an FM
      function in the control plane (FM-CP).

      FM-DP may be distributed with distributed mobility management.  It
      may be a function in a data-plane anchor or data-plane node.

      FM-CP may be distributed or centralized.  It may be a function in
      a control-plane node, control-plane anchor, or mobility
      controller.

   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 a mobile node, and those sessions may be
      anchored on the same or different Home-CPA's.  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 address/prefix(es).  The Home-
      DPA is chosen by the Home-CPA on a session basis.  The Home-DPA is
      in the forwarding path for all the mobile node's IP traffic.

   Access Control-Plane Node (Access-CPN or A-CPN):  The Access-CPN is
      responsible for interfacing with the mobile node's Home-CPA and
      with 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 mobile node
      is attached.  This function is not hosted on a Layer 2 bridging
      device such as an eNode(B) or Access Point.

3.  Distributed Mobility Anchoring

3.1.  Configurations for Different Networks

   We next describe some configurations with multiple distributed
   anchors.  To cover the widest possible spectrum of scenarios, we
   consider architectures in which the control and data planes are
   separated.  We analyze where LM and FM functions, which are specific
   sub-functions involved in mobility management, can be placed when
   looking at the different scenarios with distributed anchors.

3.1.1.  Network-Based DMM

   Figure 1 shows a general scenario for network-based distributed
   mobility management.

   The main characteristics of a network-based DMM solution are:

   *  There are multiple data-plane anchors, each with an FM-DP
      function.

   *  The control plane may either be distributed (not shown in the
      figure) or centralized (as shown in the figure).

   *  The Control-Plane Anchor (CPA) and the Data Plane Anchor (DPA) may
      or may not be co-located.  If the CPA is co-located with the
      distributed DPAs, then there are multiple co-located CPA-DPA
      instances (not shown in the figure).

   *  An IP prefix/address IP1 (anchored to the DPA with IP address
      IPa1) is assigned for use to an MN.  The MN uses this IP1 address
      to communicate with CNs (not shown in the figure).

   *  The location management (LM) function may be co-located or split
      (as shown in the figure) into a separate server (LMs) and a client
      (LMc).  In this case, the LMs may be centralized whereas the LMc
      may be distributed or centralized.

              ____________  Network
          ___/            \___________
         /      +-----+                \___
        (       |LMs  |    Control-        \
       /        +-.---+    plane            \
      /  +--------.---+    functions         \
     (   |CPA:    .   |    in the             )
     (   |FM-CP, LMc  |    network            )
     (   +------------+                        \
    /          . .                              \
   (           .     .                           )
   (           .         .                       )
   (           .             .                   \
    \    +------------+ +------------+Distributed )
     (   |DPA(IPa1):  | |DPA(IPa2):  |DPAs        )
     (   |anchors IP1 | |anchors IP2 |          _/
      \  |FM-DP       | |FM-DP       | etc.    /
       \ +------------+ +------------+        /
        \___                Data-plane  _____/
            \______         functions  /
                   \__________________/

         +------------+
         |MN(IP1)     | Mobile node attached
         |flow(IP1,..)| to the network
         +------------+

                 Figure 1: Network-Based DMM Configuration

3.1.2.  Client-Based DMM

   Figure 2 shows a general scenario for client-based distributed
   mobility management.  In this configuration, the mobile node performs
   Control-Plane Node (CPN) and Data-Plane Node (DPN) mobility
   functions, namely the forwarding management and location management
   (client) roles.

          +-----+
          |LMs  |
          +-.---+
   +--------.---+
   |CPA:    .   |
   |FM-CP, LMp  |
   +------------+
         . .
         .     .
         .         .
         .             .
   +------------+ +------------+ Distributed
   |DPA(IPa1):  | |DPA(IPa2):  | DPAs
   |anchors IP1 | |anchors IP2 |
   |FM-DP       | |FM-DP       |  etc.
   +------------+ +------------+

   +------------+
   |MN(IP1)     |Mobile node
   |flow(IP1,..)|using IP1
   |FM,    LMc  |anchored to
   +------------+DPA(IPa1)

                  Figure 2: Client-Based DMM Configuration

4.  IP Mobility Handling in Distributed Anchoring Environments: Mobility
    Support Only When Needed

   IP mobility support may be provided only when needed instead of being
   provided by default.  Three cases can be considered:

   *  Nomadic case: No address continuity is required.  The IP address
      used by the MN changes after a movement and traffic using the old
      address is disrupted.  If session continuity is required, then it
      needs to be provided by a solution running at Layer 4 or above.

   *  Mobility case with traffic redirection: Address continuity is
      required.  When the MN moves, the previous anchor still anchors
      the traffic using the old IP address and forwards it to the new
      MN's location.  The MN obtains a new IP address anchored to the
      new location and preferably uses it for new communications
      established while connected at the new location.

   *  Mobility case with anchor relocation: Address continuity is
      required.  In this case, the route followed by the traffic is
      optimized by using some means for traffic indirection to deviate
      from default routes.

   A straightforward choice of mobility anchoring is the following: the
   MN chooses, as a source IP address for packets belonging to an IP
   flow, an address allocated by the network the MN is attached to when
   the flow was initiated.  As such, traffic belonging to this flow
   traverses the MN's mobility anchor [DMM-DMA] [RFC8885].

   The IP prefix/address at the MN's side of a flow may be anchored to
   the Access Router (AR) to which the MN is attached.  For example,
   when an MN attaches to a network (Net1) or moves to a new network
   (Net2), an IP prefix from the attached network is assigned to the
   MN's interface.  In addition to configuring new link-local addresses,
   the MN configures from this prefix an IP address that is typically a
   dynamic IP address (meaning that this address is only used while the
   MN is attached to this access router, so the IP address configured by
   the MN dynamically changes when attaching to a different access
   network).  It then uses this IP address when a flow is initiated.
   Packets from this flow addressed to the MN are simply forwarded
   according to the forwarding table.

   There may be multiple IP prefixes/addresses that an MN can select
   when initiating a flow.  They may be from the same access network or
   different access networks.  The network may advertise these prefixes
   with cost options [PREFIX-COST] so that the mobile node may choose
   the one with the least cost.  In addition, the IP prefixes/addresses
   provided by the network may be of different types regarding whether
   mobility support is supported [RFC8653].  An MN will need to choose
   which IP prefix/address to use for each flow according to whether or
   not it needs IP mobility support, for example, using the mechanisms
   described in [RFC8653].

4.1.  Nomadic Case

   When IP mobility support is not needed for a flow, the LM and FM
   functions are not utilized so that the configurations in Section 3.1
   are simplified as shown in Figure 3.

   Net1                                                Net2

   +---------------+                                   +---------------+
   |AR1            |            AR is changed          |AR2            |
   +---------------+              ------->             +---------------+
   |CPA:           |                                   |CPA:           |
   |---------------|                                   |---------------|
   |DPA(IPa1):     |                                   |DPA(IPa2):     |
   |anchors IP1    |                                   |anchors IP2    |
   +---------------+                                   +---------------+

   +...............+                                   +---------------+
   .MN(IP1)        .              MN moves             |MN(IP2)        |
   .flow(IP1,...)  .              =======>             |flow(IP2,...)  |
   +...............+                                   +---------------+

               Figure 3: Changing to a New IP Address/Prefix

   When there is no need to provide IP mobility to a flow, the flow may
   use a new IP address acquired from a new network as the MN moves to
   the new network.

   Regardless of whether or not IP mobility is needed, if the flow has
   not terminated before the MN moves to a new network, the flow may
   subsequently restart using the new IP address assigned from the new
   network.

   When IP session continuity is needed, even if an application flow is
   ongoing as the MN moves, it may still be desirable for the
   application flow to change to using the new IP prefix configured in
   the new network.  The application flow may then be closed at the IP
   level and then be restarted using a new IP address configured in the
   new network.  Such a change in the IP address used by the application
   flow may be enabled using a higher-layer mobility support that is not
   in the scope of this document.

   In Figure 3, a flow initiated while the MN was using the IP prefix
   IP1, anchored to a previous access router AR1 in network Net1, has
   terminated before the MN moves to a new network Net2.  After moving
   to Net2, the MN uses the new IP prefix IP2, anchored to a new access
   router AR2 in network Net2, to start a new flow.  Packets may then be
   forwarded without requiring IP-layer mobility support.

   An example call flow is outlined in Figure 4.  An MN attaches to AR1,
   which sends a router advertisement (RA) including information about
   the prefix assigned to the MN, from which the MN configures an IP
   address (IP1).  This address is used for new communications, for
   example, with a correspondent node (CN).  If the MN moves to a new
   network and attaches to AR2, the process is repeated (the MN obtains
   a new IP address, IP2, from AR2).  Since the IP address (IP1)
   configured at the previously visited network is not valid at the
   current attachment point, any existing flows have to be reestablished
   using IP2.

   Note that in these scenarios, if there is no mobility support
   provided by Layer 4 or above, application traffic would stop.

    MN                    AR1           AR2                           CN
     |MN attaches to AR1:  |             |                             |
     |acquires MN-ID and profile         |                             |
     |--RS---------------->|             |                             |
     |                     |             |                             |
     |<----------RA(IP1)---|             |                             |
     |                     |             |                             |
   Assigned prefix IP1     |             |                             |
   IP1 address configuration             |                             |
     |                     |             |                             |
     |<-Flow(IP1,IPcn,...)-+------------------------------------------>|
     |                     |             |                             |
     |MN detaches from AR1 |             |                             |
     |MN attaches to AR2   |             |                             |
     |                     |             |                             |
     |--RS------------------------------>|                             |
     |                     |             |                             |
     |<--------------RA(IP2)-------------|                             |
     |                     |             |                             |
   Assigned prefix IP2     |             |                             |
   IP2 address configuration             |                             |
     |                     |             |                             |
     |<-new Flow(IP2,IPcn,...)-----------+---------------------------->|
     |                     |             |                             |

           Figure 4: Restarting a Flow with New IP Prefix/Address

4.2.  Mobility Case with Traffic Redirection

   When IP mobility is needed for a flow, the LM and FM functions in
   Section 3.1 are utilized.  There are two possible cases: (i) the
   mobility anchor remains playing that role and forwards traffic to a
   new locator in the new network, and (ii) the mobility anchor (data-
   plane function) is changed but binds the MN's transferred IP address/
   prefix.  The latter enables optimized routes but requires some data-
   plane node that enforces traffic indirection.  We focus on the first
   case in this section.  The second case is addressed in Section 4.3.

   Mobility support can be provided by using mobility management
   methods, such as the approaches surveyed in the following academic
   papers: [IEEE-DISTRIBUTED-MOBILITY], [PMIP-DMA], and
   [DMM-MOBILE-INTERNET].  After moving, a certain MN's traffic flow may
   continue using the IP prefix from the prior network of attachment.
   Yet, some time later, the application generating this traffic flow
   may be closed.  If the application is started again, the new flow may
   not need to use the prior network's IP address to avoid having to
   invoke IP mobility support.  This may be the case where a dynamic IP
   prefix/address, rather than a permanent one, is used.  Packets
   belonging to this flow may then use the new IP prefix (the one
   allocated in the network where the flow is being initiated).  Routing
   is again kept simpler without employing IP mobility and will remain
   so as long as the MN, which is now in the new network, does not move
   again to another network.

   An example call flow in this case is outlined in Figure 5.  In this
   example, the AR1 plays the role of the FM-DP entity and redirects the
   traffic (e.g., using an IP tunnel) to AR2.

    MN                    AR1           AR2                           CN
     |MN attaches to AR1:  |             |                             |
     |acquires MN-ID and profile         |                             |
     |--RS---------------->|             |                             |
     |                     |             |                             |
     |<----------RA(IP1)---|             |                             |
     |                     |             |                             |
   Assigned prefix IP1     |             |                             |
   IP1 address configuration             |                             |
     |                     |             |                             |
     |<-Flow(IP1,IPcn,...)-+------------------------------------------>|
     |                     |             |                             |
     |MN detaches from AR1 |             |                             |
     |MN attaches to AR2   |             |                             |
     |                     |             |                             |
     |--RS------------------------------>|                             |
      (some IP mobility support solution)
     |<--------------RA(IP2,IP1)---------|                             |
     |                     |             |                             |
     |                     +<-Flow(IP1,IPcn,...)---------------------->|
     |                     +<===========>+                             |
     |<-Flow(IP1,IPcn,...)-------------->+                             |
     |                     |             |                             |
   Assigned prefix IP2     |             |                             |
   IP2 address configuration             |                             |
     |                     |             |                             |
   Flow(IP1,IPcn) terminates             |                             |
     |                     |             |                             |
     |<-new Flow(IP2,IPcn,...)-----------+---------------------------->|
     |                     |             |                             |

    Figure 5: Flow Using IP Prefix from Home Network after MN has Moved

   Another solution could be to place an FM-DP entity closer to the CN
   network to perform traffic steering to deviate from default routes
   (which will bring the packet to AR1 per default routing).  The LM and
   FM functions are implemented as shown in Figure 6.

   Net1                                                Net2

   +---------------+                                   +---------------+
   |AR1            |                                   |AR2            |
   +---------------+                                   +---------------+
   |CPA:           |                                   |CPA:           |
   |               |                                   |LM:IP1 at IPa1 |
   |---------------|      IP1 (anchored to Net1)       |---------------|
   |DPA(IPa1):     |      is redirected to Net2        |DPA(IPa2):     |
   |anchors IP1    |              =======>             |anchors IP2    |
   |FM:IP1 via IPa2|                                   |FM:IP1 via IPa1|
   +---------------+                                   +---------------+

   +...............+                                   +---------------+
   .MN(IP1)        .              MN moves             |MN(IP2,IP1)    |
   .flow(IP1,...)  .              =======>             |flow(IP1,...)  |
   .               .                                   |flow(IP2,...)  |
   +...............+                                   +---------------+

                        Figure 6: Anchor Redirection

   Multiple instances of DPAs (at access routers), which are providing
   IP prefixes to the MNs, are needed to provide distributed mobility
   anchoring in an appropriate configuration such as those described in
   Figure 1 (Section 3.1.1) for network-based distributed mobility or in
   Figure 2 (Section 3.1.2) for client-based distributed mobility.

4.3.  Mobility Case with Anchor Relocation

   We focus next on the case where the mobility anchor (data-plane
   function) is changed but binds the MN's transferred IP address/
   prefix.  This enables optimized routes but requires some data-plane
   node that enforces traffic indirection.

   IP mobility is invoked to enable IP session continuity for an ongoing
   flow as the MN moves to a new network.  The anchoring of the IP
   address of the flow is in the home network of the flow (i.e.,
   different from the current network of attachment).  A centralized
   mobility management mechanism may employ indirection from the anchor
   in the home network to the current network of attachment.  Yet, it
   may be difficult to avoid using an unnecessarily long route (when the
   route between the MN and the CN via the anchor in the home network is
   significantly longer than the direct route between them).  An
   alternative is to move the IP prefix/address anchoring to the new
   network.

   The IP prefix/address anchoring may move without changing the IP
   prefix/address of the flow.  The LM function in Figure 1 of
   Section 3.1.1 is implemented as shown in Figure 7.

   Net1                                              Net2

   +---------------+                                 +---------------+
   |AR1            |                                 |AR2            |
   +---------------+                                 +---------------+
   |CPA:           |                                 |CPA:           |
   |LM:IP1 at IPa1 |                                 |LM:IP1 at IPa2 |
   |   changes to  |                                 |               |
   |   IP1 at IPa2 |                                 |               |
   |---------------|                                 |---------------|
   |DPA(IPa1):     | IP1 anchoring effectively moved |DPA(IPa2):     |
   |anchored IP1   |            =======>             |anchors IP2,IP1|
   +---------------+                                 +---------------+

   +...............+                                 +---------------+
   .MN(IP1)        .            MN moves             |MN(IP2,IP1)    |
   .flow(IP1,...)  .            =======>             |flow(IP1,...)  |
   +...............+                                 +---------------+

                        Figure 7: Anchor Relocation

   As an MN with an ongoing session moves to a new network, the flow may
   preserve IP session continuity by moving the anchoring of the
   original IP prefix/address of the flow to the new network.

   One way to accomplish such a move is to use a centralized routing
   protocol, but such a solution may present some scalability concerns
   and its applicability is typically limited to small networks.  One
   example of this type of solution is described in [BGP-ATN-IPS].  When
   an MN associates with an anchor, the anchor injects the MN's prefix
   into the global routing system.  If the MN moves to a new anchor, the
   old anchor withdraws the /64 and the new anchor injects it instead.

5.  Security Considerations

   As stated in [RFC7333], "a DMM solution MUST support any security
   protocols and mechanisms needed to secure the network and to make
   continuous security improvements".  It "MUST NOT introduce new
   security risks".

   There are different potential deployment models of a DMM solution.
   The present document has presented three different scenarios for
   distributed anchoring: (i) nomadic case, (ii) mobility case with
   traffic redirection, and (iii) mobility case with anchor relocation.
   Each of these cases has different security requirements, and the
   actual security mechanisms depend on the specifics of each solution/
   scenario.

   As general rules, for the first distributed anchoring scenario
   (nomadic case), no additional security consideration is needed, as
   this does not involve any additional mechanism at Layer 3.  If
   session connectivity is required, the Layer 4 or above solution used
   to provide it MUST also provide the required authentication and
   security.

   The second and third distributed anchoring scenarios (mobility case)
   involve mobility signaling among the mobile node and the control-
   plane and data-plane anchors.  The control-plane messages exchanged
   between these entities MUST be protected using end-to-end security
   associations with data-integrity and data-origination capabilities.
   IPsec [RFC8221] Encapsulating Security Payload (ESP) in transport
   mode with mandatory integrity protection SHOULD be used for
   protecting the signaling messages.  Internet Key Exchange Protocol
   Version 2 (IKEv2) [RFC8247] SHOULD be used to set up security
   associations between the data-plane and control-plane anchors.  Note
   that in scenarios in which traffic indirection mechanisms are used to
   relocate an anchor, authentication and authorization mechanisms MUST
   be used.

   Control-plane functionality MUST apply authorization checks to any
   commands or updates that are made by the control-plane protocol.

6.  IANA Considerations

   This document has no IANA actions.

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>.

   [RFC3753]  Manner, J., Ed. and M. Kojo, Ed., "Mobility Related
              Terminology", RFC 3753, DOI 10.17487/RFC3753, June 2004,
              <https://www.rfc-editor.org/info/rfc3753>.

   [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>.

   [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>.

   [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>.

   [RFC8221]  Wouters, P., Migault, D., Mattsson, J., Nir, Y., and T.
              Kivinen, "Cryptographic Algorithm Implementation
              Requirements and Usage Guidance for Encapsulating Security
              Payload (ESP) and Authentication Header (AH)", RFC 8221,
              DOI 10.17487/RFC8221, October 2017,
              <https://www.rfc-editor.org/info/rfc8221>.

   [RFC8247]  Nir, Y., Kivinen, T., Wouters, P., and D. Migault,
              "Algorithm Implementation Requirements and Usage Guidance
              for the Internet Key Exchange Protocol Version 2 (IKEv2)",
              RFC 8247, DOI 10.17487/RFC8247, September 2017,
              <https://www.rfc-editor.org/info/rfc8247>.

7.2.  Informative References

   [BGP-ATN-IPS]
              Templin, F., Saccone, G., Dawra, G., Lindem, A., and V.
              Moreno, "A Simple BGP-based Mobile Routing System for the
              Aeronautical Telecommunications Network", Work in
              Progress, Internet-Draft, draft-ietf-rtgwg-atn-bgp-06, 30
              June 2020,
              <https://tools.ietf.org/html/draft-ietf-rtgwg-atn-bgp-06>.

   [DMM-DMA]  Seite, P., Bertin, P., and J. Lee, "Distributed Mobility
              Anchoring", Work in Progress, Internet-Draft, draft-seite-
              dmm-dma-07, 6 February 2014,
              <https://tools.ietf.org/html/draft-seite-dmm-dma-07>.

   [DMM-ENHANCED-ANCHORING]
              Kim, Y. and S. Jeon, "Enhanced Mobility Anchoring in
              Distributed Mobility Management", Work in Progress,
              Internet-Draft, draft-yhkim-dmm-enhanced-anchoring-05, 8
              July 2016, <https://tools.ietf.org/html/draft-yhkim-dmm-
              enhanced-anchoring-05>.

   [DMM-MOBILE-INTERNET]
              Chan, H., Yokota, H., Xie, J., Seite, P., and D. Liu,
              "Distributed and Dynamic Mobility Management in Mobile
              Internet: Current Approaches and Issues", Journal of
              Communications, Vol. 6, No. 1, February 2011.

   [DMM-WIFI] Sarikaya, B. and L. Li, "Distributed Mobility Management
              Protocol for WiFi Users in Fixed Network", Work in
              Progress, Internet-Draft, draft-sarikaya-dmm-for-wifi-05,
              30 October 2017, <https://tools.ietf.org/html/draft-
              sarikaya-dmm-for-wifi-05>.

   [FPC-DMM-PROTOCOL]
              Matsushima, S., Bertz, L., Liebsch, M., Gundavelli, S.,
              Moses, D., and C. Perkins, "Protocol for Forwarding Policy
              Configuration (FPC) in DMM", Work in Progress, Internet-
              Draft, draft-ietf-dmm-fpc-cpdp-14, 22 September 2020,
              <https://tools.ietf.org/html/draft-ietf-dmm-fpc-cpdp-14>.

   [IEEE-DISTRIBUTED-MOBILITY]
              Lee, J., Bonnin, J., Seite, P., and H. A. Chan,
              "Distributed IP mobility management from the perspective
              of the IETF: motivations, requirements, approaches,
              comparison, and challenges", IEEE Wireless Communications,
              vol. 20, no. 5, pp. 159-168, October 2013.

   [PMIP-DMA] Chan, H., "Proxy mobile IP with distributed mobility
              anchors", IEEE Globecom Workshops Miami, FL, 2010, pp.
              16-20, December 2010.

   [PREFIX-COST]
              McCann, P. and J. Kaippallimalil, "Communicating Prefix
              Cost to Mobile Nodes", Work in Progress, Internet-Draft,
              draft-mccann-dmm-prefixcost-03, 11 April 2016,
              <https://tools.ietf.org/html/draft-mccann-dmm-prefixcost-
              03>.

   [RFC6459]  Korhonen, J., Ed., Soininen, J., Patil, B., Savolainen,
              T., Bajko, G., and K. Iisakkila, "IPv6 in 3rd Generation
              Partnership Project (3GPP) Evolved Packet System (EPS)",
              RFC 6459, DOI 10.17487/RFC6459, January 2012,
              <https://www.rfc-editor.org/info/rfc6459>.

   [RFC8653]  Yegin, A., Moses, D., and S. Jeon, "On-Demand Mobility
              Management", RFC 8653, DOI 10.17487/RFC8653, October 2019,
              <https://www.rfc-editor.org/info/rfc8653>.

   [RFC8885]  Bernardos, CJ., de la Oliva, A., Giust, F., Zúñiga, JC.,
              and A. Mourad, "Proxy Mobile IPv6 Extensions for
              Distributed Mobility Management", RFC 8885,
              DOI 10.17487/RFC8885, October 2020,
              <https://www.rfc-editor.org/info/rfc8885>.

   [STATELESS-UPLANE-VEPC]
              Matsushima, S. and R. Wakikawa, "Stateless user-plane
              architecture for virtualized EPC (vEPC)", Work in
              Progress, Internet-Draft, draft-matsushima-stateless-
              uplane-vepc-06, 21 March 2016,
              <https://tools.ietf.org/html/draft-matsushima-stateless-
              uplane-vepc-06>.

Acknowledgements

   The work of Jong-Hyouk Lee was supported by the MSIT (Ministry of
   Science and ICT), Korea, under the ITRC (Information Technology
   Research Center) support program (IITP-2020-2015-0-00403) supervised
   by the IITP (Institute for Information & communications Technology
   Planning & Evaluation).

Contributors

   Alexandre Petrescu and Fred Templin had contributed to earlier draft
   versions of this document regarding distributed anchoring for
   hierarchical networks and for network mobility, although these
   extensions were removed to keep the document within reasonable
   length.

   This document has benefited from other work on mobility support in
   SDN networks, on providing mobility support only when needed, and on
   mobility support in enterprise networks.  These works have been
   referenced.  While some of these authors have taken the work to
   jointly write this document, others have contributed at least
   indirectly by writing these works.  The latter include Philippe
   Bertin, Dapeng Liu, Satoru Matushima, Pierrick Seite, Jouni Korhonen,
   and Sri Gundavelli.

   For completeness, some terminology from draft-ietf-dmm-deployment-
   models-04 has been incorporated into this document.

   Valuable comments have been received from John Kaippallimalil,
   ChunShan Xiong, Dapeng Liu, Fred Templin, Paul Kyzivat, Joseph
   Salowey, Yoshifumi Nishida, Carlos Pignataro, Mirja Kuehlewind, Eric
   Vyncke, Qin Wu, Warren Kumari, Benjamin Kaduk, Roman Danyliw, and
   Barry Leiba.  Dirk von Hugo, Byju Pularikkal, and Pierrick Seite have
   generously provided careful review with helpful corrections and
   suggestions.  Marco Liebsch and Lyle Bertz also performed very
   detailed and helpful reviews of this document.

Authors' Addresses

   H. Anthony Chan (editor)
   Caritas Institute of Higher Education
   2 Chui Ling Lane, Tseung Kwan O
   N.T.
   Hong Kong

   Email: h.a.chan@ieee.org


   Xinpeng Wei
   Huawei Technologies
   Xin-Xi Rd. No. 3, Haidian District
   Beijing, 100095
   China

   Email: weixinpeng@huawei.com


   Jong-Hyouk Lee
   Sejong University
   209, Neungdong-ro, Gwangjin-gu
   Seoul
   05006
   Republic of Korea

   Email: jonghyouk@sejong.ac.kr


   Seil Jeon
   Sungkyunkwan University
   2066 Seobu-ro, Jangan-gu
   Suwon, Gyeonggi-do
   Republic of Korea

   Email: seiljeon.ietf@gmail.com


   Carlos J. Bernardos (editor)
   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/