NETLMM                                                       G. Giaretta
Internet-Draft                                            Telecom Italia
Expires: December 21, 2006                                      K. Leung
                                                                   Cisco
                                                              M. Liebsch
                                                                     NEC
                                                              P. Roberts
                                                                Motorola
                                                              K. Nishida
                                                         NTT DoCoMo Inc.
                                                               H. Yokota
                                                               KDDI Labs
                                                        M. Parthasarathy
                                                                   Nokia
                                                            H. Levkowetz
                                                                Ericsson
                                                           June 19, 2006


                            NetLMM Protocol
                draft-giaretta-netlmm-dt-protocol-00.txt

Status of this Memo

   By submitting this Internet-Draft, each author represents that any
   applicable patent or other IPR claims of which he or she is aware
   have been or will be disclosed, and any of which he or she becomes
   aware will be disclosed, in accordance with Section 6 of BCP 79.

   Internet-Drafts are working documents of the Internet Engineering
   Task Force (IETF), its areas, and its working groups.  Note that
   other groups may also distribute working documents as Internet-
   Drafts.

   Internet-Drafts are draft documents valid for a maximum of six months
   and may be updated, replaced, or obsoleted by other documents at any
   time.  It is inappropriate to use Internet-Drafts as reference
   material or to cite them other than as "work in progress."

   The list of current Internet-Drafts can be accessed at
   http://www.ietf.org/ietf/1id-abstracts.txt.

   The list of Internet-Draft Shadow Directories can be accessed at
   http://www.ietf.org/shadow.html.

   This Internet-Draft will expire on December 21, 2006.

Copyright Notice



Giaretta, et al.        Expires December 21, 2006               [Page 1]


Internet-Draft               NetLMM Protocol                   June 2006


   Copyright (C) The Internet Society (2006).

Abstract

   This document specifies a network protocol that allows mobile nodes
   to move around in a localized mobility domain, changing their point
   of attachment within the domain, but without ever being aware at the
   IP layer that their point of attachment has ever changed, and
   maintaining seamless communication in the presence of such mobility
   events.  It defines two protocol entities, a Mobile Access Gateway
   and a Local Mobility Anchor, and a set of messages between them, that
   together make these mobility events transparent to the mobile nodes
   at the IP layer.






































Giaretta, et al.        Expires December 21, 2006               [Page 2]


Internet-Draft               NetLMM Protocol                   June 2006


Table of Contents

   1.  Introduction . . . . . . . . . . . . . . . . . . . . . . . . .  4
   2.  Terminology  . . . . . . . . . . . . . . . . . . . . . . . . .  5
   3.  Functional Entities  . . . . . . . . . . . . . . . . . . . . .  7
   4.  Protocol Overview  . . . . . . . . . . . . . . . . . . . . . .  8
   5.  Message Types  . . . . . . . . . . . . . . . . . . . . . . . . 10
       5.1.  LMA Allocation Request / Reply messages  . . . . . . . . 10
       5.2.  Association Request / Reply messages . . . . . . . . . . 10
       5.3.  Disassociation Request / Reply messages  . . . . . . . . 11
       5.4.  Location Registration / Ack messages . . . . . . . . . . 11
       5.5.  Location Deregistration / Ack messages . . . . . . . . . 11
       5.6.  MN Address Setup / Ack messages  . . . . . . . . . . . . 12
       5.7.  MN Address Remove / Ack messages . . . . . . . . . . . . 12
       5.8.  Routing Setup / Ack messages . . . . . . . . . . . . . . 12
       5.9.  Routing Remove / Ack messages  . . . . . . . . . . . . . 13
       5.10. Heartbeat / Ack messages . . . . . . . . . . . . . . . . 13
       5.11. Message Transport  . . . . . . . . . . . . . . . . . . . 13
       5.12. Message Optimization . . . . . . . . . . . . . . . . . . 14
   6.  Protocol Extensibility . . . . . . . . . . . . . . . . . . . . 14
   7.  Message and Message Option Formats . . . . . . . . . . . . . . 15
       7.1.  Message Formats  . . . . . . . . . . . . . . . . . . . . 15
       7.2.  Options  . . . . . . . . . . . . . . . . . . . . . . . . 19
   8.  Protocol Specification . . . . . . . . . . . . . . . . . . . . 26
       8.1.  Mobile Access Gateway Operation  . . . . . . . . . . . . 26
       8.2.  Local Mobility Anchor Operation  . . . . . . . . . . . . 32
   9.  Data Transport . . . . . . . . . . . . . . . . . . . . . . . . 38
       9.1.  Forwarding of Unicast Data Packets . . . . . . . . . . . 38
       9.2.  Forwarding of Multicast Data Packets . . . . . . . . . . 40
       9.3.  Forwarding of Broadcast Data Packets . . . . . . . . . . 41
   10. Protocol Constants and Configuration Variables . . . . . . . . 41
   11. Security Considerations  . . . . . . . . . . . . . . . . . . . 41
   12. IANA Considerations  . . . . . . . . . . . . . . . . . . . . . 43
   13. Contributors . . . . . . . . . . . . . . . . . . . . . . . . . 43
   14. Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . . 43
   15. References . . . . . . . . . . . . . . . . . . . . . . . . . . 43
       15.1. Normative References . . . . . . . . . . . . . . . . . . 43
       15.2. Informative References . . . . . . . . . . . . . . . . . 44
   Appendix A.  TODO (Things that remain to be specified...)  . . . . 44
   Appendix B.  Using GRE Tunnels with NetLMM . . . . . . . . . . . . 45
   Appendix C.  Using MPLS with NetLMM  . . . . . . . . . . . . . . . 46
   Appendix D.  TTL Handling  . . . . . . . . . . . . . . . . . . . . 46
   Appendix E.  MN-AR Interface considerations  . . . . . . . . . . . 46
   Appendix F.  Out of scope  . . . . . . . . . . . . . . . . . . . . 46
   Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . . . 47
   Intellectual Property and Copyright Statements . . . . . . . . . . 49





Giaretta, et al.        Expires December 21, 2006               [Page 3]


Internet-Draft               NetLMM Protocol                   June 2006


1.  Introduction

   This document specifies a protocol that allows nodes to move around
   in an access network attaching to various points of the access
   network while maintaining an IP layer configuration that does not
   change as the mobile nodes points of attachment change.

   This protocol is not intended to solve all the problems of network-
   based IP mobility.  Over the past decade many companies and forums
   have provided many, many staff years of research, development, and
   standardization to realize all IP mobile networks and no doubt many
   more years of effort are ahead to deliver improvements to realize all
   the envisioned usage of such technology.  Such systems have added
   technology for specific link layers, and carrying IP packets over
   those link layers, support for AAA infrastructures, and mobile
   security to name a few.  Challenges still lie ahead in the form
   perhaps of mobile QoS, power management and paging, and management of
   changing network conditions in the face of various mobility events.

   This protocol is developed in response to the problem statement for
   network-based localized mobility [I-D.ietf-netlmm-nohost-ps] and this
   protocol attempts to satisfy the goals in the NetLMM goals document
   [I-D.ietf-netlmm-nohost-req].  It is intended basically to solve the
   problem of packet forwarding to nodes that change their point of
   attachment to the network without the use of any protocol support at
   the IP layer on the mobile node to support that mobility.

   This document defines operation of the protocol for use in an IPv6
   infrastructure and in support of IPv6 nodes, but the authors envision
   that with modifications the protocol could be productively used with
   an IPv4 infrastructure or to support IPv4 nodes.  The document refers
   conscientiously to mobile nodes rather than mobile hosts because its
   operation is not limited in any way to host only support.

   This protocol is similar and different to various IP mobility
   protocols the IETF has standardized in the past.  It is similar in
   that it continues the tradition of maintaining address continuity to
   mobile nodes regardless of the fact that those nodes have changes
   their points of attachment in the network.  It differs in that it
   does not require any operational changes in protocol operation
   between the mobile node and the network at the IP layer, in that it
   supports an infrastructure that embraces network controlled mobility
   operation, and in that its operation is limited in scope rather than
   globally applicable.

   The differences between this protocol and previous mobility protocols
   are complementary rather than contradictory.  It is quite possible to
   conceive of deployments in which mobile IP is used in a wide area to



Giaretta, et al.        Expires December 21, 2006               [Page 4]


Internet-Draft               NetLMM Protocol                   June 2006


   provide mobility services across multiple interface types or separate
   local mobility domains while NetLMM is used within a single type of
   access network or a single local mobility domain to facilitate
   mobility without involving the mobile.


2.  Terminology

   In this document, several words are used to signify the requirements
   of the specification.  These words are often capitalized.  The key
   words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", "SHOULD",
   "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this document
   are to be interpreted as described in [RFC2119].

   Mobility terminology in this document follows that in [RFC3753], with
   the added specification of some terms as they are used in this
   particular document:

   IP Link
      A set of routers, mobile nodes, and wireless access points that
      share link broadcast capability or its functional equivalent.
      This definition covers one or multiple access points under one or
      several access routers.  In the past, such a set has been called a
      subnet, but this term is not strictly correct for IPv6, since
      multiple subnet prefixes can be assigned to an IP link in IPv6.

   Access Network (revised)
      An Access Network consists of following three components: wireless
      or other access points, access routers, access network gateways
      which form the boundary to other networks and may shield other
      networks from the specialized routing protocols (if any) run in
      the Access Network; and (optionally) other internal access network
      routers which may also be needed in some cases to achieve a
      specialized routing protocol.

   Local Mobility (revised)
      Local Mobility is mobility over a restricted area of the network
      topology.  Note that, although the area of network topology over
      which the mobile node moves may be restricted, the actual
      geographic area could be quite large, depending on the mapping
      between the network topology and the wireless coverage area.

   Localized Mobility Management
      Localized Mobility Management is a generic term for protocols
      dealing with IP mobility management confined within the access
      network.  Localized Mobility Management signaling is not routed
      outside the access network, although a handover may trigger Global
      Mobility Management signaling.  Localized Mobility Management



Giaretta, et al.        Expires December 21, 2006               [Page 5]


Internet-Draft               NetLMM Protocol                   June 2006


      protocols exploit the locality of movement by confining movement
      related changes to the access network.

   Localized Mobility Management Protocol
      A protocol that supports localized mobility management.

   Intra-Link Mobility
      Intra-Link Mobility is mobility between wireless access points
      within an IP Link.  Typically, this kind of mobility only involves
      Layer 2 mechanisms, so Intra-Link Mobility is often called Layer 2
      mobility.  No IP link configuration is required upon movement
      since the link does not change, but some IP signaling may be
      required for the mobile node to confirm whether or not the change
      of wireless access point also resulted in a change of IP link.  If
      the IP link consists of a single access point/router combination,
      then this type of mobility is typically absent.

   Mobile Access Gateway (MAG)
      A Mobile Access Gateway (MAG) is a router embedded in a device
      that terminates a specific link layer technology to which mobile
      nodes attach themselves.  It terminates one end of the MAG of the
      connection to one or more Local Mobility Anchors and participates
      in the NetLMM protocol exchange.

   Local Mobility Anchor (LMA)
      A local mobility anchor (LMA) is a router that terminates
      connections to multiple Mobile Access Gateways, services mobility
      requests for mobile nodes moving within a NetLMM system, and
      participates in the NetLMM protocol exchange.

   NetLMM Domain
      A NetLMM domain is a set of multiple MAGs and a set of one or more
      LMAs interconnected within an access network that provides
      mobility operations for attached mobile nodes through the
      execution of the NetLMM protocol.

   NetLMM Address
      The invariant IP address on the MN inside the NetLMM domain.  For
      IPv6 it is assumed that this is an invariant routable IP address
      with global scope.

   NetLMM Network Prefix
      The NetLMM Network Prefix (NNP) is the IPv6 link prefix of the
      NetLMM address.







Giaretta, et al.        Expires December 21, 2006               [Page 6]


Internet-Draft               NetLMM Protocol                   June 2006


   Routing Tag
      An opaque identifier that is signaled between MAGs and LMAs and
      that can be used to distinguish traffic inside packets when the
      contents inside those packets cannot be inspected due to some
      operations such as encryption or header compression.  It could be
      used, for example, in a GRE key field if GRE tunneling were being
      used to distinguish internal packets destined for a mobile when
      the internal packets headers have been compressed.


3.  Functional Entities

   The principal functional entities in a NetLMM infrastructure are the
   Mobile Access Gateway (MAG) and the Local Mobility Anchor (LMA).
   There are other entities that will make up a mobile access network
   that are used to support various kinds of functionality (mobile
   nodes, AAA, routing, DNS, etc.) whose basic functionality may be used
   by the MAG and the LMA but whose operation is not changed in any way
   for the proper operation of the NetLMM protocol.


      Include a diagram.  The diagram should show:
      1. multiple MAGs
      2. multiple LMAs
      3. their interconnectivity

      Should it show?
      4. mobile nodes moving around the edge
      5. the possibility of link layer access technologies beneath MAGs


   The Mobile Access Gateway
      The Mobile Access Gateway (MAG) is a router that a mobile node is
      attached to as the first hop router in the NetLMM infrastructure.
      The MAG is connected to the mobile node over some specific link
      provided by a link layer but the NetLMM infrastructure is agnostic
      about the link layer technology that is used.  Each MAG has its
      own identifier used in NetLMM protocol messaging between the MAG
      and the LMA.  The important interfaces between link layer specific
      functions and the NetLMM function reside on the MAG.  There are
      multiple MAGs in a NetLMM infrastructure.

   The Local Mobility Anchor
      The local mobility anchor (LMA) is a router that maintains
      reachability to a mobile node's address while the mobile node
      moves around within the NetLMM infrastructure.  It is responsible
      to maintain forwarding information for the mobile nodes which
      includes a set of mappings to associate mobile nodes by their



Giaretta, et al.        Expires December 21, 2006               [Page 7]


Internet-Draft               NetLMM Protocol                   June 2006


      identifiers with their address information, associating the mobile
      nodes with their serving MAGs and the relationship between the LMA
      and the MAGs.  There may be one or more LMAs in a NetLMM
      infrastructure.


4.  Protocol Overview

   The protocol consists of two major phases, an initiation phase and an
   operational phase.  During the initiation phase the MAGs and an LMA
   (or multiple LMAs) establish connectivity between them.  Although
   this document describes this phase of the protocol operation as an
   initiation phase there is no restriction on the ability of adding new
   MAGs or new LMAs to a NetLMM infrastructure while other nodes are
   already in operation.  During the operational phase the MAGs and LMAs
   provide mobile connectivity service to mobiles nodes that are
   attaching to the infrastructure, leaving the infrastructure, and
   moving around within the infrastructure.

   It is not assumed that a MAG is associated with only a single LMA.
   If there exists multiple LMAs in a NetLMM Domain, each MAG would most
   likely be associated with, and potentially communicate with all the
   LMAs rather than only a single LMA.

   The NetLMM infrastructure uses 6 messages to establish and maintain
   associations between the MAGs and the LMAs: Association Request,
   Associate Reply, Disassociation Request, Disassociate Reply,
   Heartbeat, and Heartbeat Ack.

   A MAG associates itself with an LMA by sending an Association Request
   message that includes its MAG ID and the supported data forwarding
   modes (such as IPv6-in-IPv6).  In response the LMA creates an
   association with the MAG and populates state information about the
   association.  The LMA responds, providing its LMA ID and an agreed
   upon data forwarding mode to the MAG.  The MAG can undo the
   relationship with the LMA through sending a Disassociation Request,
   to which the LMA responds with a Disassociate Reply.  Heartbeat
   messages are sent between the MAG and LMA to determine the current
   status of the reachability of the other entity.  All of these
   messages may be sent optionally over an IPsec connection if
   additional security is desired.

   The NetLMM infrastructure uses 14 messages to manage the attachment,
   departure, mobility, and other activities of mobile nodes within the
   infrastructure: LMA Allocation Request, LMA Allocation Reply,
   Location Registration and Acknowledge, Location Deregistration and
   Acknowledgment, Routing Setup and Acknowledgement, Routing Removal
   and Acknowledgement, MN Address Setup and Acknowledgement, MN Address



Giaretta, et al.        Expires December 21, 2006               [Page 8]


Internet-Draft               NetLMM Protocol                   June 2006


   Removal and Acknowledgement.

   When a mobile node is to receive service, a policy decision point
   entity may send an LMA Allocation Request to the LMA creating state
   for the mobile node.  The LMA allocation request authorizes service
   for a particular Mobile Node ID.  This message may contain policy
   information for the mobile node.  The LMA acknowledge the request
   with an LMA allocation reply.  It is possible that an LMA is
   configured to authorize service for any mobile node and in such a
   situation the LMA Allocation Request and reply messages are not
   necessary.

   When a mobile node connects to the NetLMM infrastructure, it first
   needs to configure an address.  Whether it is using stateful or
   stateless address configuration, the serving LMA needs to be involved
   in the address allocation process.  So when a mobile node connects,
   the MAG sends a location registration message to the LMA containing
   its own ID and the Mobile Node's ID.  The LMA responds to the message
   with a a Location Registration Ack message that includes the NetLMM
   prefix that the MAG is to use in its router advertisement toward the
   Mobile Node.  The MAG in turn sends a router advertisement to the
   attached mobile.  Once address configuration is complete (through
   either stateful or stateless address configuration) the MAG registers
   the mobile node's address with the LMA by sending an MN Address Setup
   message to the LMA including the MAG's ID, the MN's ID, the NetLMM
   address, and a tunnel ID.  The LMA creates forwarding state for
   packets in response to this message and sends a MN address reply to
   the MAG acknowledging the packet setup.  The MAG, in receiving a
   successful MN Address Setup Reply, creates forwarding state for
   packets destined to the mobile node.

   When a mobile node then leaves the NetLMM infrastructure, the MAG
   sends a Location Deregistration message to the LMA including the
   Mobile Node's ID and the MAG's ID.  The LMA cleans up all state for
   the mobile node identified in the message and sends a Location
   Deregistration Acknowledgement message.

   It is also possible for the LMA to remove a mobile node from the
   network.  This could be done for a number of policy specific reasons
   in the network.  The same two messages are used, Location
   Deregistration and Local Deregistration Acknowledgement, but they are
   initiated by the LMA and acknowledged by the MAG in this case.  The
   MAG disconnects the mobile and removes all mobile state in response
   to this message.

   When a mobile node moves from one MAG to another MAG, the new MAG
   (nMAG) sends a Location Registration Message to the LMA with the MAG
   ID and the MN ID.  The LMA responds by sending a Routing Setup



Giaretta, et al.        Expires December 21, 2006               [Page 9]


Internet-Draft               NetLMM Protocol                   June 2006


   message to the nMAG that includes the MN ID, the MAG ID, the LMA ID,
   NetLMM addresses.  The new MAG acknowledges this information with a
   Routing Setup Ack message and the LMA responds with a Location
   Registration Ack message containing the NetLMM prefix that the nMAG
   uses in the router advertisement for the MN.

   The mobile node can at any time configure new IP addresses for itself
   using stateless address auto-configuration and this operation is
   supported in NetLMM.  When the mobile issues a new address DAD
   request, the MAG sends a MN Address Setup Request to the LMA with the
   mobile node's ID and the new NetLMM address.  The LMA validates the
   usability of the address, updates forwarding state, and acknowledges
   the request with the MN Address Setup Reply message to the serving
   MAG which then replies to the MN DAD operation.  The means through
   which the NetLMM infrastructure knows that the mobile node is
   attached, leaving, or moving is beyond the scope of this protocol
   specification.  It is envisioned that this information is largely
   access network specific and that the MAG uses an API to trigger much
   of the operation described herein.


5.  Message Types

   This document defines a set of control messages and options for the
   NetLMM protocol.  The control messages are carried by the User
   Datagram Protocol, using a well known port number, as described in
   Section 5.11.  The messages are presented in this section, and the
   message format and option formats are defined later, in Section 7.

5.1.  LMA Allocation Request / Reply messages

   The LMA Allocation Request message is used to allocate an LMA for the
   MN that is initially attached to the network and to validate the
   Location Registration message coming later from the MAG to which the
   MN is attached.  This message containing the MN ID is sent to the
   selected LMA and may come from various nodes such as the MAG to which
   the MN is attached or the PDP that is involved in the authentication
   of the MN.  The LMA Allocation Request is optional and the LMA may be
   allocated by other means (e.g., static allocation) and can be
   configured to serve the MN without this message.

   The LMA Allocation Reply message is sent from the LMA to the source
   of the LMA Allocation Request message to notify the status of the
   request (success or error code).

5.2.  Association Request / Reply messages

   The Association Request is used to set up the control and data plane



Giaretta, et al.        Expires December 21, 2006              [Page 10]


Internet-Draft               NetLMM Protocol                   June 2006


   relationship between the MAG and LMA.  This message is sent from the
   MAG to the LMA in the MAGs initiation phase, before it enters the
   operational phase and handles MN Location Registration and Routing
   Setup.  The message contains the sender's ID, its functional
   capabilities and supported data forwarding modes.  The data
   forwarding mode specifies the tunnel method of the data plane (e.g.,
   IP-in-IP).  The tunnel between the MAG and LMA is bidirectional,
   which is achieved by establishing two unidirectional tunnels in
   opposite directions.

   The Associate Reply message is sent from the LMA to the MAG to notify
   the status of the request (success or error code).  If the request is
   successful, the receiver of the request also sends its capabilities
   (e.g., the receiver's ID, agreed-upon data forwarding mode, etc.) on
   this message.

5.3.  Disassociation Request / Reply messages

   The Disassociation Request message is sent from the MAG to the LMA or
   vice versa to tear down the control and data plane relationship
   between them.  This message contains the MAG ID and LMA ID.

   The Disassociate Reply message is sent from the LMN to the MAG or
   vice versa to inform the status of the request (success or error
   code).

5.4.  Location Registration / Ack messages

   The Location Registration message is sent from the MAG to the LMA
   when the MAG detects the MN having accessed the network without an IP
   address.  By this message, the MAG and LMA create the mobility state
   of the MN.  The IP address of the MN is not known at this point and
   the MN Address Setup message must follow to update the mobility state
   and to set up the routing for the MN.  This message contains the MN
   ID, MAG ID and LMA ID.

   The Location Registration Ack message is sent from the LMA to the MAG
   to acknowledge the receipt of the Location Registration message.  If
   the registration is successful, the LMA sends the NetLMM prefix on
   this message, which in turn is used for the Router Advertisement sent
   by the MAG.

5.5.  Location Deregistration / Ack messages

   The Location Deregistration message is sent from the MAG to the LMA
   or vice versa to delete the mobility state of the MN.  The MAG sends
   this message when the MN is detected to have moved away.  On the
   other hand, the LMA sends this message when it determines that the MN



Giaretta, et al.        Expires December 21, 2006              [Page 11]


Internet-Draft               NetLMM Protocol                   June 2006


   is at a new location.  This message contains the MN ID, MAG ID, LMA
   ID and the requested revocation time.

   The Location Deregistration Ack is sent back to the source of the
   Location Deregistration message to acknowledge the receipt of the
   Location Deregistration message.  This message contains the agreed
   revocation time.

5.6.  MN Address Setup / Ack messages

   When the MAG determines that the MN has obtained its NetLMM address
   by for example the neighbor advertisement (the DAD procedure) or the
   DHCP server, the MAG sends he MN Address Setup message to the LMA to
   update the mobility state and to create a routing entry for the MN on
   the LMA.  This message contains the MAG ID, LMA ID and one or more MN
   ID(s) and NetLMM address(es) assigned to the MN(s).  Optionally, the
   Routing Tag(s) for the MN(s) may be included.

   The MN Address Setup Ack is sent from the LMA to the MAG to
   acknowledge the receipt of the MN Address Setup message and to notify
   the MAG if the NetLMM address(es) contained in the MN Address Setup
   message are accepted (the DAD procedure).  If the Routing Tag is
   contained in the Routing Setup message, a corresponding Routing Tag
   is returned by the Routing Setup Ack message.

5.7.  MN Address Remove / Ack messages

   When the MAG determines that one of the MN's NETLMM address(es) is no
   longer valid or used, the MAG sends the MN Address Remove message to
   the LMA to delete the corresponding mobility state and routing entry
   in the LMA.  This message contains the MN ID, MAG ID, LMA ID and
   corresponding NETLMM address.

   The MN Address Remove Ack is sent from the MAG to the LMA to
   acknowledge the receipt of the MN Address Remove message.

5.8.  Routing Setup / Ack messages

   When the MN moves from the previous MAG to the new MAG (inter-MAG
   handover), the LMA, which already has the mobility state for the MN,
   sends the Routing Setup message to the new MAG in response to the
   Location Registration message from the new MAG.  This message is used
   to update the routing on the new MAG and contains the MN ID, MAG ID,
   LMA ID and one or more NetLMM address(es) assigned to the MN.
   Optionally, the Routing Tag for the MN may be included.

   The Routing Setup Ack message is sent from the MAG to the LMA to
   acknowledge the receipt of the Routing Setup message.  If the Routing



Giaretta, et al.        Expires December 21, 2006              [Page 12]


Internet-Draft               NetLMM Protocol                   June 2006


   Tag is included in the Routing Setup message, the corresponding
   Routing Tag is returned by the Routing Setup Ack message.

5.9.  Routing Remove / Ack messages

   When the LMA determines that one or more NetLMM address(es) is/are no
   longer valid by for example the DHCP server, the LMA sends the
   Routing Remove message to the MAG to delete the corresponding routing
   entry/entries on the MAG.  This message contains the MN ID, MAG ID,
   LMA ID and NetLMM address(es) of the MN.

   The Routing Remove Ack is sent from the MAG to the LMA to acknowledge
   of the receipt of the Routing Remove message.

5.10.  Heartbeat / Ack messages

   The Heartbeat message is sent from the MAG to LMA or vice versa to
   obtain the connectivity status.  This message contains the MAG ID,
   LMA ID and the heartbeat number that is separated from the message
   sequence number.

   The Heartbeat Ack is sent back from the node that received the
   Heartbeat message to its peer.  This message contains the MAG ID, LMA
   ID and the corresponding heartbeat number.

   These messages are suppressed when there is data traffic between the
   two nodes.

5.11.  Message Transport

   The new NetLMM control messages defined in this document are carried
   by the User Datagram Protocol RFC 768 [RFC0768] using well known port
   number TBD (assigned by IANA).

   The message sender SHOULD include a non-zero UDP Checksum.  The
   recipient of the message MUST process and check the UDP checksum.  A
   Zero checksum SHOULD be accepted by the recipient.

   The sender and initiator of a message exchange MUST use the following
   UDP ports:

   *  Source Port: variable

   *  Destination Port: TBD (Assigned by IANA)

   In case the recipient of a NETLMM message has to reply, the following
   UDP ports MUST be used:




Giaretta, et al.        Expires December 21, 2006              [Page 13]


Internet-Draft               NetLMM Protocol                   June 2006


   *  Source Port: variable

   *  Destination Port: Copied from the source port of the received
      message.

5.12.  Message Optimization

   In order to minimize routing establishment delays, e.g., handover
   times, it may be important to achieve routing setup or routing
   changes with an absolute minimum number of messaging roundtrips
   between the MAG and the LMA.  However, given the messages described
   earlier in this section, there are several cases where 2 messaging
   round-trips are needed in order to complete a routing setup.

   Future versions of this document will propose optimizations which
   reduce the number of messages that must be sent in order to achieve
   routing setup or routing changes.  It is however deemed important to
   have agreement on the base functionality and the base messages before
   such optimizations are discussed.


6.  Protocol Extensibility

   NetLMM consists of a set of new control messages, described in
   Section 5 in this document.  Up-to-date values for the message types
   are maintained in the online IANA registry of assigned numbers.

   NetLMM defines a general extension mechanism using options to allow
   optional information to be carried in the control messages.  The
   options are encoded in the Type-Length-Value format, and are
   described in detail in Section 7.2.  The options carry additional
   information used for processing the message.  Up-to-date values for
   the option types are maintained in the online IANA registry of
   assigned numbers.

   The Type field in the NetLMM option is split into two ranges: Type
   values of 0 through 127 (inclusive) for not skippable options and 128
   through 255 (inclusive) for skippable options.  The recipient of a
   message with an unrecognized non-skippable option MUST silently
   discard the message.  Otherwise, if no unrecognized non-skippable
   options are found, the message MUST be processed with any
   unrecognized skippable option bypassed (i.e. move to next option
   using the Length field of the unrecognized option) during processing
   by the receiver.  The Sub-Type field provides efficient use of the
   option type numbering space.

   Format:




Giaretta, et al.        Expires December 21, 2006              [Page 14]


Internet-Draft               NetLMM Protocol                   June 2006


       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Option Type   |Option Sub-Type|             Length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      .                                                               .
      .                            Data                               .
      .                                                               .
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


   Option Type
      This field identifies the particular type of option serving a
      specified function.

   Option Sub-Type
      This field indicates the sub-type of the option, and provides for
      up to 256 related Option Sub-Types with the same Option Type
      field.

   Length
      The value represents the length of the "Data" portion of the
      option, in unit of octets.


7.  Message and Message Option Formats

7.1.  Message Formats

   An NetLMM message consists of a header followed by one or more
   options.  The Message header is common and messages are distinguished
   by Type field in the header.  NetLMM options are in TLV format and
   8byte aligned, though Type field divided into two parts; Option Type
   and Option Sub-Type.  The length field indicates the exact length of
   the following value fields in units of 8 octets.  All option payloads
   whose length is not a unit of 8 octets must be padded to the correct
   alignment.

7.1.1.  Message Header

   All NetLMM messages start with the following common header.
   Parameters for each message are contained in the option format (see
   following sections).






Giaretta, et al.        Expires December 21, 2006              [Page 15]


Internet-Draft               NetLMM Protocol                   June 2006


       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
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |     Version   |    Status     |      Type     |    Sub-Type   |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |         Sequence Number       |           Reserved            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      .                                                               .
      .                            Options                            .
      .                                                               .
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


   Version
      An 8-bit number, indicating the NetLMM protocol version.  The
      version of the NetLMM protocol specified in this document is 1.

   Status
      An 8-bit number, which indicates the status of the message.  When
      used for request messages, e.g., Location Registration, the status
      code is normally set to 0, indicating 'Not Applicable'.  When used
      for reply and acknowledgement messages, the status code indicates
      the result of processing the associated request message.  The
      following values are defined by this document:

      0: Not Applicable (N/A)
         The status code is not applicable for the message.  This is
         normally the case for request messages.

      1: Success Acknowledgement
         The associated request message was successfully processed.

      2: Administratively Prohibited
         An action was refused due to administrative policy reasons.

      3: Lack of Resources
         The resources needed to provide the requested service was not
         available.

      4: Unauthorized MN
         Used by the LMA in response to Location Registration or Routing
         Setup, to notify the MAG of the MN not being authorized for
         service.






Giaretta, et al.        Expires December 21, 2006              [Page 16]


Internet-Draft               NetLMM Protocol                   June 2006


      6: Duplicate Address
         Used by the LMA when an MN Address Setup contains an IP address
         that is duplicated in the same NetLMM domain.  The specific
         invalid addresses MUST be specified in Address Options with
         Sub-Type TBD, Duplicate Address.

      5: Invalid Address
         Used by the LMA when an MN Address Setup contains an IP address
         that is invalid.  The specific invalid addresses MUST be
         specified in Address Options with Sub-Type TBD, Invalid
         Address.

      7: Over IP Address Limit
         Used by the LMA on receipt of a Routing Setup or MN Address
         Setup message, if the maximum number of IP addresses allowed
         for a MN has been exceeded.

      8: Invalid Tunnelling Method
         The proposed tunnel method is not supported or unavailable.

      9: Invalid Message
         The NetLMM Request Message was invalid or malformed.

      10: Already Associated
         The LMA already had the requesting MAG listed as associated.

   Type
      8-bit indicator, shows NetLMM message types.  The message types
      are specified in section 5.  The values for messages are defined
      as follows;

      0: LMA Allocation Request/Reply

      1: Association Request/Reply

      2: Disassociation Request/Reply

      3: Location Registration/Ack

      4: Location Deregistration/Ack

      5: MN Address Setup/Ack

      6: MN Address Remove/Ack







Giaretta, et al.        Expires December 21, 2006              [Page 17]


Internet-Draft               NetLMM Protocol                   June 2006


      7: Routing Setup/Ack

      8: Routing Remove/Ack

      9: Heartbeat/Ack

   Sub-Type
      8-bit indicator, this indicator is Type dependent field and can
      use to add extra information for the message.

      Sub-types defined in this document, valid for all message types
      defined in this document:

      0: Request
         This is the Request message of the given type, with semantics
         and format as specified in this document.  When message
         variations with other semantics or formats are required in the
         future, new subtypes should be allocated for them.

      1: Ack/Reply
         This is the Acknowledgement (or Reply) message to be sent in
         response to request messages of the given type.  It is seen as
         less likely that it will be necessary to allocate new sub-types
         for new Ack/Reply messages, but there is no restriction on
         doing so.

   Sequence Number
      16-bit length, used to ensure the correspondence of the request
      and ack/reply pair of the same message between the MAG and the
      LMA.  The sequence number is exchanged between given MAG and LMA,
      and configured when MAG has joined to a NetLMM domain through the
      exchange of Association Request/Reply messages.  Sequence Number
      comparisons MUST be performed modulo 2**16, i.e., the number is a
      free running counter represented modulo 65536.  A Sequence Number
      in a received message is considered less than or equal to the last
      received number if its value lies in the range of the last
      received number and the preceding 32768 values, inclusive.  For
      instance, if the last received sequence number was 15, then
      messages with sequence numbers 0 through 15, as well as 32783
      through 65535, would be considered 'less than or equal'.

   Reserved
      16-bit field reserved for future use.  The value MUST be
      initialized to zero by the sender, and MUST be ignored by the
      receiver.






Giaretta, et al.        Expires December 21, 2006              [Page 18]


Internet-Draft               NetLMM Protocol                   June 2006


   Options
      8 byte aligned field, and can add multiple options.  See following
      sections for options.

7.2.  Options

7.2.1.  ID Option

   The ID option carries various types of identifiers.  All messages
   related to a specific MN must include an ID option providing the MN
   ID.  Multiple ID options can be included in an message.  In addition
   to that for the MN ID there might for instance be ID options for the
   MAG ID and for the LMA ID in a Location Registration.  For the
   purpose of the ID option, the ID itself is viewed as an octet
   sequence, but to avoid ID collisions, the ID is prefixed with an ID
   type.  An example for the MN ID is a NAI [RFC4282].

   This option can also contain Routing Tag which is an identifier
   specified by each tunnel method for data transport.  The existence or
   use of the Routing Tag is also dependent on the tunnel method to use.


       0                   1                   2                   3
       0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Option Type   |Option Sub-Type|           Length              |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |            ID-Type            |          Identifier...        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+                               |
      |                                                               |
      .                                                               .
      .                                                               .
      .                                                               .
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


   Option Type
      0

   Option Sub-Type
      This field indicates what the ID in this option refers to.  It is
      expected that additional Sub-Types may be defined in the future.

      0: MN ID






Giaretta, et al.        Expires December 21, 2006              [Page 19]


Internet-Draft               NetLMM Protocol                   June 2006


      1: LMA ID

      2: MAG ID

      3: Routing Tag

   Length
      Variable.  The value indicates exact length of the option in
      octets, excluding the Type, Sub-Type and Length fields.

   ID-Type
      This field indicates the type of ID carried in the remainder of
      the option.
      *** Note: Check whether there already exists an applicable IANA
      registry for ID types which we could use here ***

      0: 128-bit opaque cryptographically generated identifier (such as
         proposed ORCHID IDs

      1: NAI according to [RFC4282]

      2: Ethernet MAC Address

      3: IPv6 Address

   Identifier
      This is a variable-length octet sequence, which is expected to
      hold an identifier of the type indicated by the ID-Type field.

7.2.2.  NetLMM Address Option

   This option conveys NetLMM IP address and the prefix that LMA
   advertise for MNs.  The NetLMM address can be both IPv4 and IPv6.
   This option can also inform LMA prefix only.

















Giaretta, et al.        Expires December 21, 2006              [Page 20]


Internet-Draft               NetLMM Protocol                   June 2006


      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Option Type   |Option Sub-Type|             Length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Prefix Length |                    Reserved                   |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      +                                                               +
      |                                                               |
      +                      Address (IPv6 case)                      +
      |                                                               |
      +                                                               +
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


   Option Type
      1

   Option Sub-Type

      0: Indicates that the data in the Address field is an IPv6 address
         or address range.  If Prefix Length is 128 this is an address,
         otherwise it is an address range with span determined by the
         given prefix length.

      1: Indicates that the data in the Address field is an IPv4
         address.

      2: Indicates that the data in the Address field is an IPv6 network
         prefix information.

      3: Indicates that the data in the Address field is an IPv4 network
         prefix information.

      4: Indicates that the address in the Address field is a duplicate
         IPv6 address.

      5: Indicates that the address in the Address field is a duplicate
         IPv4 address.

      6: Indicates that the address in the Address field is an invalid
         IPv6 address.







Giaretta, et al.        Expires December 21, 2006              [Page 21]


Internet-Draft               NetLMM Protocol                   June 2006


      7: Indicates that the address in the Address field is an invalid
         IPv4 address.

   Length
      Variable.  The value indicates exact length of the option in
      octets, excluding the Type, Sub-Type and Length fields.

   Prefix Length
      Variable.  The value indicates the number of leadings bits in the
      Address that are valid (as a network prefix).

      If the Sub-Type value indicates an invalid or duplicate address,
      this field must be set to zero when sending, and ignored on
      receipt.

   Reserved
      16-bit field reserved for future use.  The value MUST be
      initialized to zero by the sender, and MUST be ignored by the
      receiver.

   Address:
      If the Option Sub-Type is 0 or 2, the value in the IPv6 address
      appears, while the type is 1 or 3, the value in the IPv4 address
      is presented.

7.2.3.  Data Transport Option

   This option contains data transport methods capabilities that the MAG
   or LMA has.  This option is used by Association request/reply
   messages to negotiate the data transport method between MAG and LMA.
   Multiple methods can be contained in the field with the order of
   preference.  The mandatory transport method is IPv6-in-IPv6, which
   must be listed.

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Option Type   |Option Sub-Type|             Length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                     Data Transport Method 1                   |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      ~                                                               ~
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                     Data Transport Method n                   |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+




Giaretta, et al.        Expires December 21, 2006              [Page 22]


Internet-Draft               NetLMM Protocol                   June 2006


   Option Type
      2

   Option Sub-Type
      This field is reserved for future use.  The value MUST be
      initialized to zero by the sender, and MUST be ignored by the
      receiver.

   Length
      Variable.  The value indicates exact length of the option in
      octets, excluding the Type, Sub-Type and Length fields.  The
      number of Data Transport Method fields is equal to the Length
      divided by the size, in octets, of the Data Transport Method
      field.

   Data Transport Method
      Present the data transport methods available at the sender of the
      Association request/Reply message, i.e., LMA and MAG.  The methods
      presented in this option are listed in order of the preference.

      0: IPv6-in-IPv6

      1: GRE

      2: IPv4-in-IPv6

7.2.4.  Revocation Timer Option

   This option indicates the length, by milliseconds, to keep the
   forwarding state of a given MN at previous MAG in handover scenario.
   This option is included in Location Deregistration and its
   acknowledgement.  The Revocation Time in the Location Deregistration
   Ack is copied from that presented in the receipt option of the
   Location Deregistration.  If the MAG can not keep the MN state as LMA
   has requested for some reason, MAG can input preferable Revocation
   time or error code instead of copying original value.

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Option Type   |Option Sub-Type|             Length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                        Revocation Time                        |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+







Giaretta, et al.        Expires December 21, 2006              [Page 23]


Internet-Draft               NetLMM Protocol                   June 2006


   Option Type
      3

   Option Sub-Type
      This field is reserved for future use.  The value MUST be
      initialized to zero by the sender, and MUST be ignored by the
      receiver.

   Length
      4.  The value indicates exact length of data shown in Revocation
      Time field.  Shown in octets, network byte order

   Revocation Time
      Variable.  Indicate the preferred delay to delete the MN
      forwarding state from previous MAG to LMA in handover.  The value
      shows in millisecond unit.

7.2.5.  Timestamp Option

   This option contains the timestamp value in the format of NTP
   timestamp, and records the time when the message is sent.  This
   option can be attached to any message and used to detect an
   overtaking message in race condition by comparing the timestamp
   values of messages.  Especially in handover scenario, if the network
   suffers from a sudden propagation delay for some reason or the MN
   moves rapidly between MAGs, the timestamp may be used to facilitate
   in-order messages processing regardless of message arrival order.
   The use of this option is network administrator dependent, and needs
   some of the time distribution methods, (e.g., NTP or GPS time
   synchronization system), with the high accuracy enough to support
   fast moving MNs.

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Option Type   |Option Sub-Type|             Length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                           Timestamp                           |
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


   Option Type
      4







Giaretta, et al.        Expires December 21, 2006              [Page 24]


Internet-Draft               NetLMM Protocol                   June 2006


   Option Sub-Type
      This field is reserved for future use.  The value MUST be
      initialized to zero by the sender, and MUST be ignored by the
      receiver.

   Length
      8.  The value indicates exact length of Timestamp field Shown in
      octets, network byte order.

   Timestamp
      Follows the 64bit length format of the NTP timestamp [RFC4330]

7.2.6.  Vendor Specific Option

   This option can be used by any vendor or organization that has an
   IANA-allocated SMI Network Management Private Enterprise Code.
   Details of the meaning of value field is entirely up to the defining
   vendor or organization.

      0                   1                   2                   3
      0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      | Option Type   |Option Sub-Type|             Length            |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                        Vendor/Org-ID                          |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
      |                                                               |
      .                                                               .
      .                             Value                             .
      .                                                               .
      |                                                               |
      +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+


   Option Type
      5

   Option Sub-Type
      This field is reserved for future use.  The value MUST be
      initialized to zero by the sender, and MUST be ignored by the
      receiver.  This field may not be assigned any value different from
      zero by the organizations using the option; only the Value field
      may be freely used.

   Length
      Variable.  The value indicates exact length of the option in
      octets, excluding the Type, Sub-Type and Length fields.




Giaretta, et al.        Expires December 21, 2006              [Page 25]


Internet-Draft               NetLMM Protocol                   June 2006


   Vendor/Org-ID
      The high-order octet is 0 and the low-order 3 octets are the SMI
      Network Management Private Enterprise Number [RFC2578],
      [ENTERPRISE-NUM], of the Vendor in network byte order.

   Value
      Variable.  Details defined by individual Vendors / Organizations.


8.  Protocol Specification

8.1.  Mobile Access Gateway Operation

8.1.1.  Conceptual Data Structures

   Each MAG MUST maintain a NetLMM Routing Cache and an LMA List.

   Each MAG Routing Cache entry conceptually contains the following
   fields for each attached MN:

   *  MN ID of the attached MN.  This identifier is learned from the
      attach procedure and is used from the MAG to identify the attached
      MN in the Location Registration message, which is sent to the
      selected LMA.

   *  One or more global IP addresses of an attached MN.  Each IP
      address is learned from an LMA through the Routing Setup message
      from an LMA or my means of local operation.  According to the
      context of the received message or local indication, an IP address
      is set up, updated or removed from the Routing Cache.

   *  Routing Tag for the attached MN.  Creating the entry and use of
      this tag is optional and might support identification of the MN in
      the data plane at the LMA and the MAG.  In case the LMA and MAG
      specify asymmetric tags for the MN, this field MUST draw a
      distinction.

   *  LMA ID of the LMA serving an attached MN.  The serving LMA and its
      LMA ID is learned from the LMA selection policy, which is out of
      scope of this specification.

   Each MAG MUST maintain an LMA List, which identifies all LMAs with
   which the MAG is associated.  The LMA List is used to perform
   heartbeat tests and to map an LMA ID to the associated LMA's IP
   address(es).  The LMA List also supports the procedure of bulk de-
   registrations at all or a subset of LMAs.

   The LMA List conceptually contains the following fields for each LMA



Giaretta, et al.        Expires December 21, 2006              [Page 26]


Internet-Draft               NetLMM Protocol                   June 2006


   entry:

   *  LMA ID of the LMA.

   *  One or more IP address(es) of the LMA.  The LMA's IP address
      information is learned through the LMA selection policy, which is
      out of scope of this specification.  Availability of multiple LMA
      IP addresses could support operation of multi-homed LMAs.  Details
      about how to handle multiple LMA IP addresses is out of scope of
      this specification.

   *  Selected forwarding approach for the association with an LMA.
      This field is needed in case a single forwarding approach is set
      up for the association with an LMA.

   *  Forwarding capabilities of the LMA.  In case the LMA attaches a
      list of its own capabilities to the Associate Reply message, the
      MAG SHOULD store them in this field of the LMA List.

   Each MAG MIGHT maintain a list of available LMAs.  Such a list can
   support the LMA selection procedure and the MAG's association
   procedure.

   The list of available LMAs comprises conceptually the following
   fields for each LMA:

   *  LMA ID of the LMA.

   *  One or more IP address(es) of the LMA.  Availability of multiple
      IP addresses could support the operation of multi-homed LMAs.
      Details about how to handle multiple IP addresses is out of scope
      of this specification.

8.1.2.  Processing NetLMM Headers

   *  The Type and Sub-Type fields MUST have a known value
      (Section 7.1.1).  Otherwise, the node MUST discard the message and
      issue a an Error message with Status field set to 7 ("INVALID
      MESSAGE").

8.1.3.  Processing NetLMM Messages

8.1.3.1.  Association Procedure

   Each Mobile Access Gateway sends an Association Request message in
   order to set up the control and data plane relationship with a given
   local mobility anchor.  The actual trigger for this message is out of
   scope of this document and may depend on network configuration



Giaretta, et al.        Expires December 21, 2006              [Page 27]


Internet-Draft               NetLMM Protocol                   June 2006


   peculiarities.  For example, the Association Request message may be
   sent during the MAG start up procedure.

   The Association Request message MUST include:

   *  the MAG identifier included in a NetLMM ID option.  This
      identifier is used by the peer to identify the MAG and is included
      in all subsequent messages.

   *  the MAG's capabilities in terms of support of data transport
      methods included in a NetLMM Data Transport Option.  The MAG MUST
      insert in this option all possible tunneling methods that can be
      used with the peer LMA.  Based on configuration, it is possible
      that some tunneling methods are used only with some LMAs: in this
      case, the Association Request message MUST contain only the
      tunneling methods that are administratively permitted with that
      specific LMA.

   When sending an Association Request, the MAG MAY create a tentative
   entry in its LMA List, including the LMA ID, IP address of the LMA
   and the proposed forwarding capabilities.  However it may be that the
   MAG does not know these data during the association procedure: in
   this case, it does not create any tentative entry in the LMA List.

   In order to complete the NetLMM association, the MAG MUST receive an
   Association Reply from the peer LMA with STATUS 1.  In this case, the
   MAG MUST create an entry in its LMA List (or update the tentative
   entry created earlier), with the messages sent by the LMA in the
   Association Reply.  The MAG MUST also update the forwarding method
   pre

8.1.3.2.  Disassociate Procedure

   The Disassociation Request can be sent both by the MAG and by the LMA
   in order to tear down the control and data plane relationship with
   the LMA.  The event that triggers this message is out of the scope of
   this specification; for example, the MAG may send a Disassociation
   Request to all the LMAs present in its LMA List just before shutting
   down.

   In case the Disassociate Procedure is initiated by the MAG, the MAG
   MUST include an ID Option with the its identity in the Disassociation
   Request.  When sending the Disassociation Request, the MAG MAY set
   the LMA entry related to the specific LMA as tentative.  When it
   receives a Disassociation Reply with Status 1 "SUCCESS", the MAG MUST
   delete the correspondent entry in its LMA List.

   In case the Disassociate Procedure is initiated by the LMA, when the



Giaretta, et al.        Expires December 21, 2006              [Page 28]


Internet-Draft               NetLMM Protocol                   June 2006


   MAG receives a Disassociation Request message, it MUST validate it.
   If it is correct, it MUST delete the related entry in its LMA List
   and send a Disassociate Reply with Status 1 "SUCCESS".  As in all
   NetLMM messages, the MAG MUST include the ID option with its
   identity.

8.1.3.3.  MN network access procedure

   When a new MN attaches to the network, the Mobile Access Gateway
   receives an indication.  This indication can be received by very
   different means (e.g., L2 mechanisms, AAA infrastructure) that are
   out of scope of this specification.  In any case, regardless how this
   is accomplished, the MAG receives a MN_Access_Network API that
   carries the MN identifier (e.g., MAC address of the MN, NAI) and the
   LMA identifier.

   Upon the API notification, the MAG MUST send a Location Registration
   message to the LMA including three different ID options, containing
   its own identity, the identity of the MN and the identity of the LMA.
   How the MAG resolves the LMA ID received in the API into the LMA IP
   address is out of scope of this specification and is part of the
   NetLMM bootstrapping procedure.  Viable options are pre-configuration
   or DNS resolution (in case the LMA ID is the FQDN of the LMA).  In
   case there is only one LMA in the local domain, this issue does not
   exist.

   If the location registration is successfully performed, the MAG
   receives a Location Registration Acknowledge message from the LMA
   with Status value 1 "SUCCESS".  This message includes also a NetLMM
   Network Prefix that the MAG MUST advertise to the MN.  For this
   purpose, the MAG takes the prefix parameters from the NetLMM Address
   Option in the Location Registration Acknowledge and creates a Router
   Advertisement with a correspondent Prefix Option.  It then sends a
   unicast Router Advertisement to the MN.  (Note: how about the
   parameters that are carried in a Prefix Option but are not present in
   the NetLMM Address Option? e.g., lifetimes?).  In the Prefix Option
   sent to the MN the L flag MUST be unset and the A flag MUST be set or
   unset, depending on the possibility to perform stateless auto-
   configuration in the local domain.

8.1.3.4.  MN IP address notification procedure

   The NetLMM protocol specification is agnostic of how the IP address
   is assigned to the MN in the local domain.  However, the MAG needs to
   know the IP address assigned or auto-configured by the MN in order to
   update the routing at the LMA.  For this purpose, the MAG needs to
   play an active role in the DHCP exchange or needs to receive a
   trigger after the MN has configured an IP address via stateless auto-



Giaretta, et al.        Expires December 21, 2006              [Page 29]


Internet-Draft               NetLMM Protocol                   June 2006


   configuration.  How this is done is described later in this section.

   As soon as the MAG knows that a specific IP address has been assigned
   to a MN, it MUST send a MN Address Setup message to the serving LMA,
   including three ID options (MN ID, MAG ID, LMA ID), a NetLMM Address
   option containing the address assigned to (or configured by) the MN.
   This message is a request to the LMA to start forwarding the packets
   destined to that IP address to the MAG.  The MAG MAY also add the new
   IP address to the Routing Cache entry related to that MN.

   When it receives a MN Address Setup Acknowledgement message with
   Status 1 "SUCCESS", the MAG MUST add the new IP address to the
   Routing Cache entry of the MN (or set it as non tentative if
   previously updated) and update its forwarding state.  In case the
   message contains a different Status value (Values 5 or 6), it MUST
   reject the assignment of the IP address to the MN, depending on the
   method used by the MN to request the address (i.e., DHCP or stateless
   auto-configuration).

   In case DHCP is used, the MAG MUST act as DHCP Relay Agent in order
   to have an active role in the DHCP exchange.  The MAG then receives
   from the DHCP server the IP address assigned to the MN in a DHCP
   Relay-reply message and updates the routing at the LMA and at the
   same time can send a DHCP Reply message to the MN with the assigned
   address.  It is important that in the DHCP-Relay-forward message, the
   MAG includes the identifier of the LMA that is in charge of serving
   that MN so that the DHCP server can select the IP address accordingly
   (i.e., from the IP subnet of the LMA).  In case the MAG receives a MN
   Address Setup Acknowledgement message with Status 5 or 6, it MUST
   send a DHCP Reply message, refusing the IP address assignment to the
   MN.

   In case stateless auto-configuration is performed, the trigger to
   update the routing at the LMA is the DAD procedure.  The DAD
   procedure is performed on the MAG link, but the MAG needs to verify
   the address uniqueness at the LMA; for this purpose, it sends the MN
   Address Setup message.  If the LMA replies with a Status value equal
   to 5 or 6, the MAG MUST send a Neighbor Advertisement in order to
   fake an IP address duplication.

8.1.3.5.  MAG to MAG handover procedure

   When a MN hands over from one MAG to another, the new MAG may not
   know if the event occurred is a handover or a network attach.  This
   is because the base protocol specified in this document is agnostic
   of any MAG to MAG communication that may be in place.  Due to this
   reason, as for network attach, the MAG will just receive a trigger
   that a new MN has attached to the link; this trigger, referred as a



Giaretta, et al.        Expires December 21, 2006              [Page 30]


Internet-Draft               NetLMM Protocol                   June 2006


   MN_Access_Network API carries the MN ID and the LMA ID.  As mentioned
   above, this API can be for example based on an AAA exchange.

   After receiving this API, the MAG performs the same procedure
   described for network access (see section Section 8.1.3.3): it sends
   a Location Registration message including three different ID options,
   containing the MN ID, the MAG ID and the LMA ID.

   In this handover handover case, the MAG does not receive immediately
   a Location Registration Acknowledgement message; instead it receives
   a Routing Setup message from the LMA that includes all IP addresses
   that are assigned to the MN.  These addresses are included in one or
   more NetLMM Address options.  The message contains also some
   forwarding state, based on the tunneling mechanism used.  (Note: how
   the tunnel ID is carried in the message?  Is it really needed at this
   step?).  When the MAG receives this message, it MUST create a new
   entry in its Routing Cache for the specific MN and MUST update its
   forwarding state.  In case no errors occur, the MAG sends back to the
   LMA a Routing Setup Acknowledgement message with Status value set to
   1 "SUCCESS" and including the forwarding state information.

   After that, the MAG receives the Location Registration
   Acknowledgement message that includes the NetLMM prefix to be
   delivered to the MN.  The procedure is the same as described for
   network attach in section Section 8.1.3.3.

8.1.3.6.  Resource Revocation

   If the MAG receives a Location Deregistration message from the LMA,
   it MUST delete the entry related to the MN specified in the MN ID
   Option in its Routing Cache.  Moreover, the MAG MUST remove any
   forwarding state for the MN.  After doing that, the MAG MUST send a
   Location Deregistration Acknowledgement to the LMA with Status 1
   "SUCCESS".

   In case the Location Deregistration contains a Timer attribute (Note:
   it seems to me the Timer option has not been defined yet), the MAG
   MAY keep forwarding uplink packets to the LMA for the MN.  This may
   be useful in case of make before break link layer technologies.  The
   adopted timer cannot be greater than the one suggested by the LMA and
   MUST be sent back to the LMA in the Location Deregistration message
   acknowledgement.

8.1.3.7.  Network Detachment

   In case the MAG has an indication that the MN has detached from the
   network (e.g., via AAA architecture), the MAG MUST (Note: if the
   protocol is stateful and we do not have a lifetime in the location



Giaretta, et al.        Expires December 21, 2006              [Page 31]


Internet-Draft               NetLMM Protocol                   June 2006


   registration, this is a MUST, otherwise it can be a SHOULD) send a
   Location Deregistration message with an ID option including the MN
   ID.  After receiving the Location Deregistration Acknowledgement, the
   MAG MUST remove any mobility and forwarding state in its Routing
   Cache related to that MN.

8.1.3.8.  IP address no longer in use

   In case the MAG has an indication that an IP address is no longer
   used by the MN, it MUST send a MN Address Remove message to the LMA,
   including the MN ID and the NetLMM Address that needs to be removed
   in a NetLMM Address option.  How the MAG detects that an IP address
   is no longer used is out of the scope of this document.

8.1.3.9.  Link availability test

   MAGs should ensure availability of their link to LMAs.  To test link
   availability, each MAG should periodically send a Heartbeat message
   to each LMA with which it has associated according to the entries in
   the LMA List.  If the Heartbeat Ack message from the LMA is received
   within HEARTBEAT_TIMEOUT seconds, availability of the link to the LMA
   is proven.  If the MAG does not receive the Heartbeat Ack message
   within HEARTBEAT_TIMEOUT seconds, the MAG should send
   HEARTBEAT_RETRY_MAX further Heartbeat messages with incremented
   sequence number.  In case none of these Heartbeat messages is
   acknowledged by the LMA, the MAG should raise an alarm.  Optionally,
   the MAG can inform an external OAM function about the broken link.

   To avoid superfluous bandwidth consumption, MAGs should send
   Heartbeat messages to an LMA only in case there was no traffic on the
   associated link for LINK_ACTIVITY_TIMEOUT seconds.  MAGs should
   perform Heartbeat tests according to the following rule:

   In case there was no signaling activity on a link to an LMA for
   LINK_ACTIVITY_TIMEOUT seconds, the MAG waits for an additional random
   delay time between HEARTBEAT_DELAY_MIN and HEARTBEAT_DELAY_MAX
   seconds.  After the delay has expired, the MAG sends the Heartbeat
   message to the LMA.  In case the MAG receives a Heartbeat message
   from the LMA while waiting for the additional random delay, the MAG
   should reset the delay timer and refrain from sending the Heartbeat
   message, but MUST acknowledge the Heartbeat message using the same
   sequence number as in the received message.

8.2.  Local Mobility Anchor Operation

8.2.1.  Conceptual Data Structures

   Each LMA MUST maintain a NetLMM Routing Cache and a MAG List.



Giaretta, et al.        Expires December 21, 2006              [Page 32]


Internet-Draft               NetLMM Protocol                   June 2006


   Each LMA Routing Cache entry conceptually contains the following
   fields for each MN:

   *  MN ID of the registered MN.  This Identifier is learned through
      the Location Registration message, which registers an attached MN.
      Optionally, the MN ID is learned though the LMA Allocation message
      beforehand, which could enable service authorization for this
      particular MN ID at the LMA.

   *  Routing Tag for the registered MN.  Creating the entry and use of
      this tag is optional and might support identification of the MN in
      the data plane at the LMA and the MAG.  In case the LMA and MAG
      specify asymmetric tags for the MN, this field MUST draw a
      distinction.

   *  MAG ID of the registered MN's serving MAG.  This identifier is
      learned through the Location Registration message, which registers
      an attached MN.  Dependent on the context of this message, the MAG
      ID entry is either initialized or updated in case of the MN's
      handover.  The MAG ID can be linked to the associated MAG's IP
      address With the help of the MAG List.

   *  One or more global IP addresses of a registered MN.  Each IP
      address is learned from an MN Address Setup message.  According to
      the context of the received message, the IP address is set up,
      updated or removed from the Routing Cache.

   Each LMA MUST maintain a MAG List, which refers to associated MAG
   entities.  The list of associated MAGs is used to perform heartbeat
   tests and to map the Routing Cache's MAG ID entries to the associated
   MAG's IP address(es).  The MAG List also supports the procedure of
   bulk de-registrations at all or a subset of associated MAGs.

   The MAG List conceptually contains the following fields for each
   associated MAG:

   *  MAG ID of the associated MAG.

   *  One or more IP address(es) of the associated MAG.  The MAG's IP
      address information is learned through the Associate message.

   *  Forwarding capabilities of the associated MAG.  This capability
      list is learned from a particular MAG through the Associate
      message.  From the list of supported forwarding approaches, the
      LMA enters only these approaches to the capabilities, which are
      supported by the LMA.





Giaretta, et al.        Expires December 21, 2006              [Page 33]


Internet-Draft               NetLMM Protocol                   June 2006


   *  Forwarding setting for the associated MAG.  This field is needed
      in case the LMA configures a single forwarding approach per MAG
      association.

   *  Capability list of the associated MAG.  These capabilities are
      learned from a particular MAG through the Associate message.

8.2.2.  Processing NetLMM Headers

   All NetLMM local mobility anchors MUST observe the rules described in
   Section 8.1.2 when processing NetLMM Headers.

8.2.3.  Processing NetLMM Messages

8.2.3.1.  Associate Procedure

   When a LMA receives an Association Request message, it MUST look up
   into its MAG list based on the MAG identifier contained in the ID
   option included in the request.  If an entry for that MAG ID is
   already present in the MAG list, the LMA MUST send an Associate Reply
   message to the MAG with STATUS 10 "Already Associated" (note: an
   alternative may be that the LMA silently discards the message) (note:
   another alternative is that the new association request is an
   association update, e.g., in order to propose a new forwarding
   method.  I would keep things simple and not include this case, not
   allowing an Association Request if the MAG is already associated).

   If an entry for the MAG identifier contained in the ID option does
   not exist, the LMA MUST create it, including the parameters contained
   in the Association Request message (MAG ID, MAG IP address).  Based
   on internal policy (e.g., pre-configuration) the LMA MAY accept the
   data forwarding method proposed by the MAG or MAY propose other
   methods in Access Reply.  After creating the entry, the LMA MUST send
   an Associate Reply message with STATUS value 1 ("Success"), including
   its ID in an ID option.  Optionally, it MAY include also a Data
   Transport Option included the data forwarding method to be used.
   (Note: don't we need a message ID in order to bind the request with
   the reply?)

   The Association Request message MUST include:

   *  the LMA identifier included in a NetLMM ID option.  This
      identifier is used by the peer to identify the LMA and is included
      in all subsequent messages.

   *  the LMA's capabilities in terms of support of data transport
      methods included in a NetLMM Data Transport Option.  The LMA MUST
      insert in this option all possible tunneling methods that can be



Giaretta, et al.        Expires December 21, 2006              [Page 34]


Internet-Draft               NetLMM Protocol                   June 2006


      used with the peer MAG Based on configuration, it is possible that
      some tunneling methods are used only with some MAGs: in this case,
      the Association Request message MUST contain only the tunneling
      methods that are administratively permitted with that specific
      MAG.

8.2.3.2.  Disassociate Procedure

   In case the Disassociate procedure is initiated by the MAG, when the
   LMA receives a Disassociation Request message, the LMA MUST validate
   it.  If it is correct, it MUST delete the related entry in its MAG
   List and send a Disassociate Reply with Status 1 "SUCCESS".  As in
   all NetLMM messages, the LMA MUST include the ID option with its
   identity.

   In case the Disassociate Procedure is initiated by the LMA the LMA
   MUST include an ID Option with the its identity in the Disassociation
   Request.  When sending the Disassociation Request, the LMA MAY set
   the MAG entry related to the specific MAG as tentative.  When it
   receives a Disassociation Reply with Status 1 "SUCCESS", the LMA MUST
   delete the correspondent entry in its MAG List.

8.2.3.3.  MN network access procedure

   When the local mobility anchor receives a Location Registration
   message, it MUST validate it (note: what does it mean? should it
   check if the MAG ID in the message is in the MAG List).  If the
   message is valid, it MUST check if an entry for the MN identifier
   included in the Location Registration is present.  If an entry is
   already present, it means that a MAG to MAG handover has occurred:
   the detailed procedure for this event is described in
   Section 8.2.3.5.

   If an entry for that MN identifier is not present, the LMA MUST
   create a new entry with the MN ID, the MAG ID (?) and the MAG IP
   address (?).  (Note: the two latter parameters are not present in the
   Routing Cache description.  How the protocol works without them?).
   After creating the entry, it MUST send a Location Registration
   Acknowledgement with STATUS 1, including three ID options (MN ID, LMA
   ID, MAG ID) and the NetLMM prefix in a NetLMM Address option.  The
   NetLMM prefix is then forwarded in a Router Advertisement to the MN
   by the MAG and used by the MN to auto-configure an IP address using
   stateless auto-configuration and/or to detect a change of local
   domain.

   In case the Location Registration is not valid or the registration
   procedure cannot be completed successfully, the LMA MUST send a
   Location Registration Acknowledgement with an appropriate Status



Giaretta, et al.        Expires December 21, 2006              [Page 35]


Internet-Draft               NetLMM Protocol                   June 2006


   value.

8.2.3.4.  MN IP address notification procedure

   When the MN tries to configure a new IP address on the local domain,
   the local mobility anchor receives a MN Address Setup message from
   the MAG which the MN is connected to.  This message contains the IP
   address the MN is trying to configure in a NetLMM Address option.
   (Note: in the slides there is also a tunnel ID but I am not sure this
   is actually needed).

   When it receives this message, the LMA MUST check if the IP address
   in the NetLMM Address option is already assigned to another MN.  If
   the address is a duplicated one, it MUST send a MN Address Setup
   Acknowledgement message with Status 5 "INVALID IP ADDRESS".  If the
   address is not assigned to any other MN, the LMA MUST check if the
   number of addresses assigned to that MN does not exceed the maximum
   number of addresses that the MN can configure.  This check is
   performed in the LMA Routing Cache; the maximum number of allowed IP
   addresses is a per MN variable that is pre-configured at the LMA.  If
   the number of IP addresses exceeds the allowed one, the LMA MUST send
   a MN Address Setup Acknowledgement message with Status 6 "OVER IP
   ADDRESS LIMIT".  (Note: the first check is mainly performed for the
   stateless configuration case and may be skipped in case DHCP is used.
   However the LMA does not know if the address is configured using DHCP
   or stateless so I would keep this check in any case)

   If the IP address is not a duplicated one and the maximum number of
   allowed IP addresses is not reached, the LMA MUST update the Routing
   Cache entry indexed by the MN ID contained in the MN Address Setup
   message with the new IP address and MUST update its forwarding state,
   depending on the tunneling mechanism used.

8.2.3.5.  MAG to MAG handover procedure

   When the LMA receives a Location Registration message, it MUST check
   in its Routing Cache if an entry for the MN ID carried in the message
   is already present.  If it is not, that means that the MN is
   accessing the network for the first time (see section
   Section 8.2.3.3).  If an entry is already present in the Routing
   Cache, a handover has occurred.  In this case the LMA MUST send a
   Routing Setup message to the MAG, including three ID options (MN ID,
   MAG ID, LMA ID), one or more NetLMM Address options containing all
   NetLMM addresses configured to the MN and some forwarding state
   information that depends on the tunneling method used (e.g., tunnel
   ID).(Note: what it the behavior of the LMA during this time interval
   when packets arrive?  Should it already update the Routing Cache
   entry or should it wait for an ack?)



Giaretta, et al.        Expires December 21, 2006              [Page 36]


Internet-Draft               NetLMM Protocol                   June 2006


   After that the LMA receives a Routing Setup Acknowledgement message;
   if the Status of this message is set to SUCCESS, the LMA MUST update
   the Routing Cache with the new location of the MN, updating the MAG
   ID.  The LMA MUST then send back to the MAG a Location Registration
   Acknowledgement message with Status value set to 1 "SUCCESS",
   including in a NetLMM Address option the NetLMM prefix to be sent to
   the MN.

8.2.3.6.  Resource Revocation

   There are case (e.g. due to administrative reasons) where the
   forwarding state of a specific MN must be purged so that the MN is no
   more able to use the resources provided by the network.  In this
   case, based on a trigger received from the network (e.g.  AAA), the
   LMA MUST send a Location Deregistration message to the peer MAG,
   including the MN ID, the LMA ID and the MAG ID.  Optionally, the LMA
   MAY include a Timer attribute specifying the remaining time to keep
   the state of the MN in the MAG.  The revocation procedure terminates
   when the LMA receives a Resource Revocation Acknowledgement with
   Status 1.

8.2.3.7.  Network Detachment

   When the LMA receives a Location Deregistration message from the peer
   MAG, it MUST remove in its Routing Cache the entry of the MN
   indicated by the MN ID in the Location Deregistration message.  After
   that, it MUST send a Location Deregistration Acknowledgement with
   Status 1, including the MN ID, the MAG ID and the LMA ID.

8.2.3.8.  IP address no longer in use

   When the LMA receives a MN Address Remove message, it MUST remove the
   NetLMM Address included in the NETLMM Address option from the entry
   in its Routing Cache related to the MN indicated in the message.
   After that, the LMA MUST respond with a MN Address Remove
   Acknowledgement with Status 1.

8.2.3.9.  Link availability test

   LMAs should ensure availability of their link to MAGs.  To test link
   availability, each LMA should periodically send a Heartbeat message
   to each associated MAG according to the entries in the MAG List.  If
   the Heartbeat Ack message from the MAG is received within
   HEARTBEAT_TIMEOUT seconds, availability of the link to the MAG is
   proven.  If the LMA does not receive the Heartbeat Ack message within
   HEARTBEAT_TIMEOUT seconds, the LMA should send HEARTBEAT_RETRY_MAX
   further Heartbeat messages with incremented sequence number.  In case
   none of these Heartbeat messages is acknowledged by the MAG, the LMA



Giaretta, et al.        Expires December 21, 2006              [Page 37]


Internet-Draft               NetLMM Protocol                   June 2006


   should raise an alarm.  Optionally, the LMA can inform an external
   OAM function about the broken link.

   To avoid superfluous bandwidth consumption, LMAs should send
   Heartbeat messages to a MAG only in case there was no traffic on the
   associated link for LINK_ACTIVITY_TIMEOUT seconds.  LMAs should
   perform Heartbeat tests according to the following rule:

   In case there was no signaling activity on a link to a MAG for
   LINK_ACTIVITY_TIMEOUT seconds, the LMA waits for an additional random
   delay time between HEARTBEAT_DELAY_MIN and HEARTBEAT_DELAY_MAX
   seconds.  After the delay has expired, the LMA sends the Heartbeat
   message to the MAG.  In case the LMA receives a Heartbeat message
   from a MAG while waiting for the additional random delay, the LMA
   should reset the delay timer and refrain from sending the Heartbeat
   message, but MUST acknowledge the Heartbeat message using the same
   sequence number as in the received message.


9.  Data Transport

   As soon as a particular MAG has associated with an LMA and an
   attached MN has been registered with the LMA, the LMA node and the
   MAG node are responsible for forwarding the MN's data traffic
   correctly within the NetLMM domain.  Associated location and
   forwarding information is maintained within the LMA's and the MAG's
   Routing Cache.  Different forwarding mechanisms between the LMA node
   and a particular MAG node might be supported and set up during the
   MAG's association procedure.

   Network entities, which have Version 0 of the NetLMM protocol
   implemented, MUST support IPv6-in-IPv6 encapsulation to tunnel data
   packets between an LMA node and an associated MAG node.  Support of
   other forwarding approaches are for future extensions.

9.1.  Forwarding of Unicast Data Packets

9.1.1.  Handling of hop limit field in IPv6 data packets

   According to the NetLMM default mechanism to forward data packets
   between a particular LMA and MAG by means of encapsulation, LMA nodes
   and MAG nodes serve as tunnel entry-points and tunnel exit-points
   respectively.  LMAs and MAGs have to decrement the hop limit field of
   the encapsulated IPv6 header properly.  The MAG serves as the default
   gateway for an attached MN and forwards all packets from the MN into
   the tunnel, which in turn encapsulates the packet towards the LMA.
   The LMA on receiving the packet from the MAG decapsulates and
   forwards the packet using normal forwarding procedures.  The packets



Giaretta, et al.        Expires December 21, 2006              [Page 38]


Internet-Draft               NetLMM Protocol                   June 2006


   destined towards the MN are forwarded in a similar fashion.  The
   procedure of forwarding the packet decrements the hop limit.  Hence,
   the hop limit will get decremented twice for any packet traversing
   the tunnel between LMA and MAG.

9.1.2.  IPv6-in-IPv6 tunnel

   LMA and MAG nodes MUST support IPv6-in-IPv6 encapsulation to forward
   packets within the NetLMM domain.  Support of other forwarding
   schemes is optional.  When an LMA node receives an IPv6 packet
   destined for a registered MN and IPv6-in-IPv6 tunneling has been
   selected as forwarding approach, it serves as tunnel entry-point.
   The LMA node decrements the hop limit of the data packet's IPv6
   header by one and encapsulates the packet in the tunnel IPv6 header.
   The tunnel IPv6 header might carry one or more extension headers.
   The LMA node forwards the tunnel packet to the MAG node, using its
   own address as source address and the MAG node's address as
   destination address in the outer IPv6 header.  The MAG node
   terminates the tunnel and MUST process relevant Extension Headers,
   which might follow the encapsulating IPv6 header.  The MAG node
   forwards the data packet towards the MN after decapsulation.

   To forward uplink packets, the MAG node serves as tunnel entry-point
   and decrements the data packet's hop limit field by one before it
   encapsulates the packet in the tunnel IPv6 header.  The tunnel IPv6
   header might carry one or more extension headers.  The MAG node
   forwards the tunnel packet to the LMA node, using its own address as
   source address and the LMA node's address as destination address in
   the outer IPv6 header.  The LMA node terminates the tunnel and MUST
   process relevant Extension Headers, which might follow the
   encapsulating IPv6 header.  The LMA node forwards the data packet
   towards its final destination after decapsulation.

9.1.3.  Future extensions

   Future extensions might support other approaches to forward data
   packets between LMA and MAG nodes.  Such extensions could include
   IPv4-in-IPv6 encapsulation to forward IPv4 data packets of dual stack
   hosts within the NetLMM domain.  Operators might prefer the use of
   other flexible forwarding approaches, such as Generic Routing
   Encapsulation (GRE) [RFC2784] or Multi-Protocol Label Switching
   (MPLS), and follow [RFC3031] and associated mechanisms to forward
   data packets between LMA and MAG nodes.  Details about the use of
   such extensions are out of scope of this specification.

   For now, some suggestions of how GRE tunnelling could be used with
   NetLMM can be found in Appendix B, and similarly use with MPLS is
   described in Appendix C.



Giaretta, et al.        Expires December 21, 2006              [Page 39]


Internet-Draft               NetLMM Protocol                   June 2006


9.2.  Forwarding of Multicast Data Packets

9.2.1.  Link Local Multicast

   The scope of link local multicast packets is confined to the link
   between MNs and the associated MAG node.  MAG nodes process but do
   not forward link local multicast packets.  To support some functions,
   such as for Duplicate Address Detection (DAD), MAGs might proxy
   associated Neighbor Discovery messages to perform DAD procedure with
   LMA nodes.

9.2.2.  IP Multicast

   Three options have been identified to support IP multicast within a
   NetLMM domain.

      Option 1 implies that MAG nodes are multicast-enabled routers and
      support for IP multicast is orthogonal to the NetLMM protocol
      operation.  According to native multicast support, access routers
      terminate a multicast tree and the LMA node does not play any
      multicast-specific role in forwarding of IP multicast traffic.

      Option 2 implies that MAG nodes are multicast-enabled routers and
      IP multicast traffic is tunnelled via the NetLMM domain's LMA
      nodes.

      Option 3 implies that an NetLMM domain's LMA nodes are multicast-
      enabled routers.  LMA nodes join a multicast-tree and forward IP
      multicast packets to MAG nodes according to the selected
      forwarding approach.  MAG nodes must coordinate multicast
      listeners according to IGMP operation [RFC3376] and communicate
      with LMA nodes using PIM control messages [RFC2362] to control IP
      multicast forwarding path between LMA nodes and respective MAG
      nodes, which have multicast listeners attached.  LMA nodes
      coordinate multicast listener registration with other multicast
      routers, which are outside of an NetLMM domain, by means of PIM
      control messages.  An exemplary IP multicast join procedure is
      illustrated in Fig. *MCJOIN*

   The specification of default operation for IP multicast support and
   optional enhancements is for further study and t.b.d.










Giaretta, et al.        Expires December 21, 2006              [Page 40]


Internet-Draft               NetLMM Protocol                   June 2006


      +--+         +---+            +---+              +--+
      |MN|         |MAG|            |LMA|              |MR|
      +--+         +---+            +---+              +--+
      |             |                |                  |
      |             |                |                  |
      |----IGMP---->|                |                  |
      |             |----PIM Join--->|                  |
      |             |                |----PIM Join----->|
      /             /                /                  /
      /             /                /                  /
      |<------------|<===============|<-----------------|<--MC Data
      |             |                | forward to group |
      |-- MC Data-->|===============>|----------------->|-->


   Figure *MCJOIN*: IP multicast join procedure for the case that LMA
   nodes and MAG nodes are multicast routers.

9.3.  Forwarding of Broadcast Data Packets

   Version 0 of the NetLMM protocol specification does not consider
   forwarding of broadcast data packets.


10.  Protocol Constants and Configuration Variables


11.  Security Considerations

   The NetLMM protocol is executed between the MAG and LMA.  The
   messages are used to create, update and delete mobility state in MAG
   and LMA.  If the NetLMM signalling messages are not authenticated,
   following attacks are possible.

   *  A malicious node can pretend to be MAG and associate with the LMA.
      This in itself may not create any harm if subsequent messages are
      authenticated.  But it does allow for the attacker to learn the
      capabilities of the LMA which in turn may be used to exploit the
      specific weaknesses.

   *  A malicious node can pretend to be MAG and send a location
      registration message to LMA.  There are a couple of variants of
      this attack.

      -  The MN is currently attached to MAG-1 and the IP address of the
         MN is known.  A malicious node MAG-2 sends the location
         registration message to redirect all the traffic destined for
         the MN to itself.  This enables the attacker to steal the MN's



Giaretta, et al.        Expires December 21, 2006              [Page 41]


Internet-Draft               NetLMM Protocol                   June 2006


         traffic.  This attack may be detected by MAG-1 when it receives
         the location de-registration message from LMA while the MN is
         still attached.  The detection of the attack depends on the
         security of mechanism used to detect the MN's attachment.

      -  The MN is currently attached to MAG-1 and the IP address of the
         MN is not known.  A malicious node MAG-2 sends the location
         registration message to redirect all the traffic destined for
         the MN to itself.  The LMA would update the mobility state for
         MN with the ID of MAG-2.  Later when the MN-address-setup
         messages comes from MAG-1, it would fail because the MAG IDs
         don't match.

   *  A malicious man-in-the-middle node can alter the messages sent
      between MAG and LMA that can result in random attacks.  For
      example, the attacker can modify the MN Identifier in the location
      registration message of MN-1 to that of MN-2.  When MN-2 moves to
      a new link, it results in a new location registration message to
      be sent with MN-2 ID.  This will cause the traffic destined to
      MN-1 address to be destined to the current link causing disruption
      for both MN-1 and MN-2.

   These attacks can be prevented by providing data origin
   authentication for the messages exchanged between LMA and MAG.  This
   can be achieved by using IPsec ESP [RFC4303] with null-encryption and
   non-null authentication between MAG and LMA.

   It is possible to filter the signalling messages at the edge of the
   network so that a rogue MN or rogue node on the Internet cannot
   source such messages.  Hence, any messages exchanged between the MAG
   and LMA can only come from within the network.  This level of
   security may be sufficient for some deployments precluding the need
   for protecting the signalling messages.  In such cases, IPsec may not
   be used to protect the signalling messages.

   Anomalous events should be logged.  For example, once an address is
   assigned to the Mobile node, MN address setup message should appear
   at the LMA sooner or later.  If it does not appear within a certain
   period of time, it should be considered as an error and logged.
   [TBD: May be document more of such events].

   NetLMM messages are triggered by MN attachment and detachment to the
   MAG.  The threats specific to MN-MAG interface are discussed in
   [I-D.ietf-netlmm-threats].  When neighbor discovery messages
   [I-D.ietf-ipv6-2461bis] are used as triggers, it should be secured
   using [RFC3971].





Giaretta, et al.        Expires December 21, 2006              [Page 42]


Internet-Draft               NetLMM Protocol                   June 2006


12.  IANA Considerations


13.  Contributors

   This contribution is a joint effort of the NetLMM design team of the
   NetLMM WG.  The members include Kent Leung, Gerardo Giaretta, Phil
   Roberts, Marco Liebsch, Katsutoshi Nishida, Hidetoshi Yokota, Henrik
   Levkowetz, and Mohan Parthasarathy.


14.  Acknowledgments


15.  References

15.1.  Normative References

   [I-D.ietf-ipv6-2461bis]
              Narten, T., "Neighbor Discovery for IP version 6 (IPv6)",
              draft-ietf-ipv6-2461bis-07 (work in progress), May 2006.

   [I-D.ietf-netlmm-nohost-ps]
              Kempf, J., "Problem Statement for Network-based Localized
              Mobility Management", draft-ietf-netlmm-nohost-ps-04 (work
              in progress), June 2006.

   [I-D.ietf-netlmm-nohost-req]
              Kempf, J., "Goals for Network-based Localized Mobility
              Management (NETLMM)", draft-ietf-netlmm-nohost-req-01
              (work in progress), April 2006.

   [I-D.ietf-netlmm-threats]
              Kempf, J. and C. Vogt, "Security Threats to Network-based
              Localized Mobility Management",
              draft-ietf-netlmm-threats-00 (work in progress),
              April 2006.

   [RFC0768]  Postel, J., "User Datagram Protocol", STD 6, RFC 768,
              August 1980.

   [RFC2119]  Bradner, S., "Key words for use in RFCs to Indicate
              Requirement Levels", BCP 14, RFC 2119, March 1997.

   [RFC2362]  Estrin, D., Farinacci, D., Helmy, A., Thaler, D., Deering,
              S., Handley, M., and V. Jacobson, "Protocol Independent
              Multicast-Sparse Mode (PIM-SM): Protocol Specification",
              RFC 2362, June 1998.



Giaretta, et al.        Expires December 21, 2006              [Page 43]


Internet-Draft               NetLMM Protocol                   June 2006


   [RFC2578]  McCloghrie, K., Ed., Perkins, D., Ed., and J.
              Schoenwaelder, Ed., "Structure of Management Information
              Version 2 (SMIv2)", STD 58, RFC 2578, April 1999.

   [RFC2784]  Farinacci, D., Li, T., Hanks, S., Meyer, D., and P.
              Traina, "Generic Routing Encapsulation (GRE)", RFC 2784,
              March 2000.

   [RFC3031]  Rosen, E., Viswanathan, A., and R. Callon, "Multiprotocol
              Label Switching Architecture", RFC 3031, January 2001.

   [RFC3376]  Cain, B., Deering, S., Kouvelas, I., Fenner, B., and A.
              Thyagarajan, "Internet Group Management Protocol, Version
              3", RFC 3376, October 2002.

   [RFC3753]  Manner, J. and M. Kojo, "Mobility Related Terminology",
              RFC 3753, June 2004.

   [RFC3971]  Arkko, J., Kempf, J., Zill, B., and P. Nikander, "SEcure
              Neighbor Discovery (SEND)", RFC 3971, March 2005.

   [RFC4282]  Aboba, B., Beadles, M., Arkko, J., and P. Eronen, "The
              Network Access Identifier", RFC 4282, December 2005.

   [RFC4303]  Kent, S., "IP Encapsulating Security Payload (ESP)",
              RFC 4303, December 2005.

   [RFC4330]  Mills, D., "Simple Network Time Protocol (SNTP) Version 4
              for IPv4, IPv6 and OSI", RFC 4330, January 2006.

15.2.  Informative References

   [ENTERPRISE-NUM]
              IANA, "IANA Enterprise Numbers Registry"", 2006.

   [RFC4064]  Patel, A. and K. Leung, "Experimental Message, Extensions,
              and Error Codes for Mobile IPv4", RFC 4064, May 2005.


Appendix A.  TODO (Things that remain to be specified...)

   This is a short list of things that remain to be specified in future
   revisions of this document:

   *  Describe the re-send mechanism for control messages, in order to
      provide reliable delivery.





Giaretta, et al.        Expires December 21, 2006              [Page 44]


Internet-Draft               NetLMM Protocol                   June 2006


   *  Add an "LMA Announce message" which can be multicast from a newly
      connected LMA to trigger listening MAGs to send it Association
      Requests.

   *  Add the capability to do bulk MN de-registrations and possibly
      registrations.

   *  A review to ensure that all aspects of the protocol permits
      operation with both single /128 addresses and for instance /64
      prefix allocations to mobile nodes.

   *  Add reserved status ranges (Section 7.1.1) for vendor-specific
      status, LMA status?, MAG status?.

   *  Add experimental message, option and status values, in accordance
      with [RFC4064].

   *  Add a Heartbeat Sequence Number Option, to hold heartbeat-specific
      sequence numbers needed by algorithms for reacting to missed
      heartbeats.  Write up suggested algorithm.

   *  Make sure the use of the identity / locator split paradigm is
      consistent and workable throughout the document.  Cover resolution
      of ID to locator.

   *  Define how capability exchanges are handled, and how a unique
      common capability is derived, for instance to find the tunnelling
      method to be used as a result of the Association Request and
      Reply.

   *  Add message and signalling optimization according to Section 5.12.

   *  Maybe change the range-based skippable or non-skippable nature of
      Options to be indicated by a bit instead?

   *  Point out somewhere that although a NetLMM Domain may have
      multiple LMAs, a MN is always served by the same LMA once an LMA
      has been assigned.

   *


Appendix B.  Using GRE Tunnels with NetLMM

   ** Text to be written **






Giaretta, et al.        Expires December 21, 2006              [Page 45]


Internet-Draft               NetLMM Protocol                   June 2006


Appendix C.  Using MPLS with NetLMM

   ** Text to be written **


Appendix D.  TTL Handling

   ** Text to be written **


Appendix E.  MN-AR Interface considerations

   This document assumes that the MN-AR interface document will describe
   the following in more detail:

   *  - A mechanism for indicating duplicate address to the MN

   *  - No redirects should be sent by MAG to MN even if the destination
      is directly connected to MAG

   *  - Trigger for IP address configuration

   *  - MN Identifier option in the trigger ?

   *  - If SEND is used, Proxy SEND details are needed for defending the
      address in the case of a duplicate

   *  - Router advertisement details : unicast only, what else does it
      contain etc."


Appendix F.  Out of scope

   - Inter-MAP handover - Fast handover - Hierarchical MAP

















Giaretta, et al.        Expires December 21, 2006              [Page 46]


Internet-Draft               NetLMM Protocol                   June 2006


Authors' Addresses

   Gerardo Giaretta
   Telecom Italia
   via Reiss Romoli 274
   Torino  10148
   Italy

   Phone: +39 011 228 6904
   Email: gerardo.giaretta@telecomitalia.it


   Kent Leung
   Cisco
   170 W. Tasman Drive
   San Jose, CA  95134
   USA

   Phone: +1 408 853 9580
   Email: kleung@cisco.com


   Marco Liebsch
   NEC Network Laboratories
   Kurfuersten-Anlage 36
   Heidelberg,   69115
   Germany

   Phone: +49 6221-90511-46
   Email: marco.liebsch@netlab.nec.de


   Phil Roberts
   Motorola
   1301 E Algonquin Rd
   Schaumberg, IL  60196
   USA

   Email: phil.roberts@motorola.com












Giaretta, et al.        Expires December 21, 2006              [Page 47]


Internet-Draft               NetLMM Protocol                   June 2006


   Katsutoshi Nishida
   NTT DoCoMo Inc.
   3-5 Hikarino-oka, Yokosuka-shi
   Kanagawa,
   Japan

   Phone: +81 46 840 3545
   Email: nishidak@nttdocomo.co.jp


   Hidetoshi Yokota
   KDDI R&D Laboratories, Inc.
   2-1-15 Ohara, Fujimino
   Saitama,   356-8502
   Japan

   Phone: +81 49 278 7894
   Email: yokota@kddilabs.jp


   Mohan Parthasarathy
   Nokia


   Email: mohan.parthasarathy@nokia.com


   Henrik Levkowetz
   Ericsson
   Torsgatan 71
   Stockholm  S-113 37
   SWEDEN

   Phone: +46 708 32 16 08
   Email: henrik@levkowetz.com
















Giaretta, et al.        Expires December 21, 2006              [Page 48]


Internet-Draft               NetLMM Protocol                   June 2006


Intellectual Property Statement

   The IETF takes no position regarding the validity or scope of any
   Intellectual Property Rights or other rights that might be claimed to
   pertain to the implementation or use of the technology described in
   this document or the extent to which any license under such rights
   might or might not be available; nor does it represent that it has
   made any independent effort to identify any such rights.  Information
   on the procedures with respect to rights in RFC documents can be
   found in BCP 78 and BCP 79.

   Copies of IPR disclosures made to the IETF Secretariat and any
   assurances of licenses to be made available, or the result of an
   attempt made to obtain a general license or permission for the use of
   such proprietary rights by implementers or users of this
   specification can be obtained from the IETF on-line IPR repository at
   http://www.ietf.org/ipr.

   The IETF invites any interested party to bring to its attention any
   copyrights, patents or patent applications, or other proprietary
   rights that may cover technology that may be required to implement
   this standard.  Please address the information to the IETF at
   ietf-ipr@ietf.org.


Disclaimer of Validity

   This document and the information contained herein are provided on an
   "AS IS" basis and THE CONTRIBUTOR, THE ORGANIZATION HE/SHE REPRESENTS
   OR IS SPONSORED BY (IF ANY), THE INTERNET SOCIETY AND THE INTERNET
   ENGINEERING TASK FORCE DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED,
   INCLUDING BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE
   INFORMATION HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED
   WARRANTIES OF MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.


Copyright Statement

   Copyright (C) The Internet Society (2006).  This document is subject
   to the rights, licenses and restrictions contained in BCP 78, and
   except as set forth therein, the authors retain all their rights.


Acknowledgment

   Funding for the RFC Editor function is currently provided by the
   Internet Society.




Giaretta, et al.        Expires December 21, 2006              [Page 49]