home *** CD-ROM | disk | FTP | other *** search
/ The Hacker's Encyclopedia 1998 / hackers_encyclopedia.iso / rfc / 3 / rfc2290.txt < prev    next >
Encoding:
Text File  |  2003-06-11  |  38.5 KB  |  956 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7. Network Working Group                                         J. Solomon
  8. Request for Comments: 2290                                      Motorola
  9. Updates: 2002                                                   S. Glass
  10. Category: Standards Track                                   FTP Software
  11.                                                            February 1998
  12.  
  13.  
  14.              Mobile-IPv4 Configuration Option for PPP IPCP
  15.  
  16. Status of this Memo
  17.  
  18.    This document specifies an Internet standards track protocol for the
  19.    Internet community, and requests discussion and suggestions for
  20.    improvements.  Please refer to the current edition of the "Internet
  21.    Official Protocol Standards" (STD 1) for the standardization state
  22.    and status of this protocol.  Distribution of this memo is unlimited.
  23.  
  24. Copyright Notice
  25.  
  26.    Copyright (C) The Internet Society (1998).  All Rights Reserved.
  27.  
  28. Abstract
  29.  
  30.    Mobile IP [RFC 2002] defines media-independent procedures by which a
  31.    Mobile Node can maintain existing transport and application-layer
  32.    connections despite changing its point-of-attachment to the Internet
  33.    and without changing its IP address.  PPP [RFC 1661] provides a
  34.    standard method for transporting multi-protocol packets over point-
  35.    to-point links.  As currently specified, Mobile IP Foreign Agents
  36.    which support Mobile Node connections via PPP can do so only by first
  37.    assigning unique addresses to those Mobile Nodes, defeating one of
  38.    the primary advantages of Foreign Agents.  This documents corrects
  39.    this problem by defining the Mobile-IPv4 Configuration Option to the
  40.    Internet Protocol Control Protocol (IPCP) [RFC 1332].  Using this
  41.    option, two peers can communicate their support for Mobile IP during
  42.    the IPCP phase of PPP.  Familiarity with Mobile IP [RFC 2002], IPCP
  43.    [RFC 1332], and PPP [RFC 1661] is assumed.
  44.  
  45. Table of Contents
  46.  
  47.    1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . .   2
  48.        1.1. Specification Language . . . . . . . . . . . . . . . . .   2
  49.        1.2. Terminology  . . . . . . . . . . . . . . . . . . . . . .   2
  50.        1.3. Problem Statement  . . . . . . . . . . . . . . . . . . .   3
  51.        1.4. Requirements . . . . . . . . . . . . . . . . . . . . . .   5
  52.    2. Mobile-IPv4 Configuration Option . . . . . . . . . . . . . . .   6
  53.        2.1. Option Format  . . . . . . . . . . . . . . . . . . . . .   6
  54.        2.2. Overview . . . . . . . . . . . . . . . . . . . . . . . .   7
  55.  
  56.  
  57.  
  58. Solomon & Glass             Standards Track                     [Page 1]
  59.  
  60. RFC 2290            Mobile-IPv4 Option for PPP IPCP        February 1998
  61.  
  62.  
  63.        2.3. High-Level Requirements for Non-Mobile-Nodes . . . . . .   7
  64.        2.4. High-Level Requirements for Mobile Nodes . . . . . . . .   8
  65.        2.5. Detailed Description . . . . . . . . . . . . . . . . . .   8
  66.        2.6. Example Scenarios  . . . . . . . . . . . . . . . . . . .  12
  67.    3. Additional Requirements  . . . . . . . . . . . . . . . . . . .  14
  68.        3.1. Other IPCP Options . . . . . . . . . . . . . . . . . . .  14
  69.        3.2. Move Detection . . . . . . . . . . . . . . . . . . . . .  14
  70.    4. Security Considerations  . . . . . . . . . . . . . . . . . . .  15
  71.    5. References . . . . . . . . . . . . . . . . . . . . . . . . . .  15
  72.    6. Acknowledgments  . . . . . . . . . . . . . . . . . . . . . . .  16
  73.    7. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . .  16
  74.    8. Full Copyright Statement . . . . . . . . . . . . . . . . . . .  17
  75.  
  76. 1. Introduction
  77.  
  78.    Mobile IP [RFC 2002] defines protocols and procedures by which
  79.    packets can be routed to a mobile node, regardless of its current
  80.    point-of-attachment to the Internet, and without changing its IP
  81.    address.  Mobile IP is designed to run over any type of media and any
  82.    type of data link-layer.  However, the interaction between Mobile IP
  83.    and PPP is currently underspecified and generally results in an
  84.    inappropriate application of Mobile IP when mobile nodes connect to
  85.    the Internet via PPP.
  86.  
  87.    This document defines proper interaction between a mobile node [RFC
  88.    2002] and a peer through which the mobile node connects to the
  89.    Internet using PPP.  This requires the definition of a new option for
  90.    IPCP [RFC 1332], named the "Mobile-IPv4" Configuration Option, which
  91.    is defined in this document.  The mobile node and the peer use this
  92.    option to negotiate the appropriate use of Mobile IP over the PPP
  93.    link.
  94.  
  95.    The Mobile-IPv4 option defined in this document is intended to work
  96.    in conjunction with the existing IP-Address option [RFC 1332].
  97.  
  98. 1.1. Specification Language
  99.  
  100.    The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT",
  101.    "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this
  102.    document are to be interpreted as described in RFC 2119.
  103.  
  104. 1.2. Terminology
  105.  
  106.    This document uses the following terms as defined in [RFC 2002]:
  107.  
  108.  
  109.  
  110.  
  111.  
  112.  
  113.  
  114. Solomon & Glass             Standards Track                     [Page 2]
  115.  
  116. RFC 2290            Mobile-IPv4 Option for PPP IPCP        February 1998
  117.  
  118.  
  119.       Mobile Node
  120.  
  121.          A host or router that changes its point-of-attachment from one
  122.          link to another.  A mobile node may change its location without
  123.          changing its IP address; it may continue to communicate with
  124.          other Internet nodes at any location using its (permanent)
  125.          home, IP address, assuming link-layer connectivity is available
  126.          at its current location.
  127.  
  128.       Home Agent
  129.  
  130.          A router with at least one interface on a mobile node's home
  131.          link.  A home agent intercepts packets destined to a mobile
  132.          node's home address and tunnels them to the mobile node's
  133.          care-of address when the mobile node is connected to a foreign
  134.          link.  A mobile node informs its home agent of its current
  135.          care-of address through an authenticated registration protocol
  136.          defined by Mobile IP.
  137.  
  138.       Foreign Agent
  139.  
  140.          A router with at least one interface on a mobile node's
  141.          (current) foreign link.  When a mobile node uses a foreign
  142.          agent's care-of address, the foreign agent detunnels and
  143.          delivers packets to the mobile node that were tunneled by the
  144.          mobile node's home agent.  A foreign agent might also serve as
  145.          a default router for packets sent by a registered mobile node.
  146.  
  147.       Peer
  148.  
  149.          The PPP peer of a mobile node.  The mobile node's peer might
  150.          support home agent functionality, foreign agent functionality,
  151.          both, or neither.
  152.  
  153. 1.3. Problem Statement
  154.  
  155.    In Mobile IP, packets sent to a mobile node's home address are routed
  156.    first to the mobile node's home agent, a router on the mobile node's
  157.    home link which intercepts packets sent to the home address.  The
  158.    home agent then tunnels such packets to the mobile node's care-of
  159.    address, where the packets are extracted from the tunnel and
  160.    delivered to the mobile node.  There are two types of care-of
  161.    addresses:
  162.  
  163.  
  164.  
  165.  
  166.  
  167.  
  168.  
  169.  
  170. Solomon & Glass             Standards Track                     [Page 3]
  171.  
  172. RFC 2290            Mobile-IPv4 Option for PPP IPCP        February 1998
  173.  
  174.  
  175.    Co-located Care-of Address
  176.  
  177.       An address temporarily assigned to a mobile node itself.  In this
  178.       case, the mobile node is the exit-point of the tunnel and
  179.       decapsulates packets encapsulated for delivery by its home agent.
  180.       A Co-located Care-of Address may be used by exactly one mobile
  181.       node at any point in time.
  182.  
  183.    Foreign Agent Care-of Address
  184.  
  185.       An address of a foreign agent that has at least one interface on a
  186.       mobile node's visited, foreign link.  In this case, the foreign
  187.       agent decapsulates packets that have been tunneled by the home
  188.       agent and delivers them to the mobile node over the visited link.
  189.       A Foreign Agent Care-of Address may be used simultaneously by many
  190.       mobile nodes at any point in time.
  191.  
  192.    In Appendix B, Mobile IP [RFC 2002] currently specifies only the
  193.    following with respect to PPP:
  194.  
  195.       "The Point-to-Point-Protocol (PPP) [RFC 1661] and its Internet
  196.       Protocol Control Protocol (IPCP) [RFC 1332], negotiates [sic] the
  197.       use of IP addresses.
  198.  
  199.       "The mobile node SHOULD first attempt to specify its home address,
  200.       so that if the mobile node is attaching to its home [link], the
  201.       unrouted link will function correctly.  When the home address is
  202.       not accepted by the peer, but a transient IP address is
  203.       dynamically assigned to the mobile node, and the mobile node is
  204.       capable of supporting a co-located care-of address, the mobile
  205.       node MAY register that address as a co-located care-of address.
  206.       When the peer specifies its own IP address, that address MUST NOT
  207.       be assumed to be a foreign agent care-of address or the IP address
  208.       of a home agent."
  209.  
  210.    Inspection of this text reveals that there is currently no way for
  211.    the mobile node to use a foreign agent care-of address, without first
  212.    being assigned a unique IP address, even if the peer also supports
  213.    foreign agent functionality.  The reason for this can be seen by
  214.    walking through the IPCP negotiation:
  215.  
  216.     1. A mobile node connects to a peer via PPP and proposes its home
  217.        address in an IPCP Configure-Request containing the IP-Address
  218.        option.  In this scenario, we assume that the mobile node is
  219.        connecting to some foreign link.
  220.  
  221.  
  222.  
  223.  
  224.  
  225.  
  226. Solomon & Glass             Standards Track                     [Page 4]
  227.  
  228. RFC 2290            Mobile-IPv4 Option for PPP IPCP        February 1998
  229.  
  230.  
  231.     2. The peer has no way of knowing whether this Configure-Request was
  232.        received from: (a) a mobile node proposing its home address; or
  233.        (b) a conventional node proposing some topologically non-routable
  234.        address.  In this case, the peer must (conservatively) send a
  235.        Configure-Nak of the IP-Address option supplying a topologically
  236.        appropriate address for use by the node at the other end of the
  237.        PPP link.
  238.  
  239.     3. The mobile node, in turn, has no way of knowing whether this
  240.        Configure-Nak was received because the peer is a foreign agent
  241.        being conservative, or because the peer does not implement Mobile
  242.        IP at all.  Therefore, the mobile node must (conservatively)
  243.        assume that the peer does not implement Mobile IP and continue
  244.        the negotiation of an IP address in IPCP, after which point the
  245.        mobile node can use the assigned address as a co-located care-of
  246.        address.
  247.  
  248.    Here we observe that, even if the mobile node's peer is a foreign
  249.    agent and sends an Agent Advertisement to the mobile node after IPCP
  250.    reaches the Opened state, the mobile node will still have negotiated
  251.    a routable address in step 3, which it is likely already using as a
  252.    co-located care-of address.  This defeats the purpose of foreign
  253.    agent care-of addresses, which are designed to be shared by multiple
  254.    mobile nodes and to eliminate the need to assign a unique address to
  255.    each mobile node.
  256.  
  257. 1.4. Requirements
  258.  
  259.    The purpose of this document is to specify the behavior of both ends
  260.    of the PPP link when one or more of the PPP peers supports Mobile IP.
  261.    Specifically, the design of the option and protocol defined in this
  262.    document is based upon the following requirements:
  263.  
  264.     1. The option and protocol described in this document must be
  265.        backwards compatible with conventional nodes and their potential
  266.        peers which do not implement this option nor any Mobile IP
  267.        functionality.
  268.  
  269.     2. The option and protocol described in this document must
  270.        accommodate a variety of scenarios, minimally those provided in
  271.        the examples of Section 2.6.
  272.  
  273.     3. The option and protocol described in this document must not
  274.        duplicate any functionality already defined in other IPCP
  275.        options; specifically, the IP-Address option.
  276.  
  277.  
  278.  
  279.  
  280.  
  281.  
  282. Solomon & Glass             Standards Track                     [Page 5]
  283.  
  284. RFC 2290            Mobile-IPv4 Option for PPP IPCP        February 1998
  285.  
  286.  
  287.     4. A unique address must not be assigned to a mobile node unless
  288.        absolutely necessary.  Specifically, no such address is assigned
  289.        to a mobile node that connects via PPP to its home link or a
  290.        mobile node that connects via PPP to a foreign agent (and uses
  291.        that foreign agent's care-of address).
  292.  
  293. 2. Mobile-IPv4 Configuration Option
  294.  
  295.    This section defines the Mobile-IPv4 Configuration Option and
  296.    provides several examples of its use.
  297.  
  298. 2.1. Option Format
  299.  
  300.    The Mobile-IPv4 Configuration Option for IPCP is defined as follows:
  301.  
  302.     0                   1                   2                   3
  303.     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
  304.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  305.    |     Type      |    Length     |         Mobile Node's ...
  306.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  307.          ...  Home Address         |
  308.    +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
  309.  
  310.        Type
  311.  
  312.       4 (Mobile-IPv4)
  313.  
  314.    Length
  315.  
  316.       6 (The length of this entire extension in bytes)
  317.  
  318.    Mobile Node's Home Address
  319.  
  320.       In a Configure-Request, the IP home address of the mobile node
  321.       sending this Configuration Option, otherwise the (unmodified) IP
  322.       home address of the mobile node when sent in a Configure-Ack or
  323.       Configure-Reject. Configure-Nak'ing this option is undefined and
  324.       MUST NOT be sent by implementations complying with this version of
  325.       the specification.  This field MUST NOT be zero.
  326.  
  327.    Default Value
  328.  
  329.       The Mobile-IPv4 Configuration Option defaults to the sending
  330.       mobile node's home address.
  331.  
  332.    In describing the operation of the Mobile-IPv4 Configuration Option
  333.    (in conjunction with the IP-Address Configuration Option), we use the
  334.    following abbreviations:
  335.  
  336.  
  337.  
  338. Solomon & Glass             Standards Track                     [Page 6]
  339.  
  340. RFC 2290            Mobile-IPv4 Option for PPP IPCP        February 1998
  341.  
  342.  
  343.       PPP Message Types:
  344.           Request = Configure-Request
  345.            Reject = Configure-Reject
  346.               Ack = Configure-Ack
  347.               Nak = Configure-Nak
  348.  
  349.       IPCP Configuration Options:
  350.             MIPv4 = Mobile-IPv4
  351.                IP = IP-Address
  352.  
  353.       IP addresses:
  354.           a.b.c.d = some non-zero IP address
  355.           w.x.y.z = some non-zero IP address other than a.b.c.d
  356.              home = a mobile node's IP Home address
  357.               coa = an IP Care-Of Address
  358.                 0 = the all-zeroes IP address (0.0.0.0)
  359.  
  360. 2.2. Overview
  361.  
  362.    The Mobile-IPv4 Configuration Option is designed to be used in
  363.    conjunction with the IP-Address Configuration Option.  For the
  364.    convenience of implementors, the detailed description in section 2.5
  365.    includes all possible combinations of these two options that might be
  366.    sent by a PPP peer during IPCP.  Along with each possibility is a
  367.    description of how the receiver should interpret the contents as well
  368.    as a suggested course of action.
  369.  
  370. 2.3. High-Level Requirements for Non-Mobile-Nodes
  371.  
  372.    A node that is not performing mobile node functionality (such as
  373.    non-Mobile-IP-aware nodes as well as nodes performing only home agent
  374.    functionality, foreign agent functionality, or both) MUST NOT include
  375.    a Mobile-IPv4 Configuration Option within any Configure-Request
  376.    message.  As per [RFC 1332], such a node SHOULD send a Configure-
  377.    Request containing an IP-Address Configuration Option in which the
  378.    IP-Address field is set to a non-zero IP address that the node has
  379.    assigned to one of its interfaces.  If an explicit IP address has
  380.    been assigned to the node's PPP interface then this address SHOULD be
  381.    sent in preference to any of the node's other addresses.
  382.  
  383.    A node MUST NOT send a Configure-Nak containing a Mobile-IPv4
  384.    Configuration Option.  Doing so is currently "undefined" and might
  385.    cause interoperability problems when a useful meaning for Configure-
  386.    Nak is ultimately defined for the Mobile-IPv4 Configuration Option.
  387.    A node that sends a Configure-Ack containing a Mobile-IPv4
  388.    Configuration Option SHOULD send an Agent Advertisement [RFC 2002]
  389.    immediately upon IPCP for that link entering the Opened state.
  390.  
  391.  
  392.  
  393.  
  394. Solomon & Glass             Standards Track                     [Page 7]
  395.  
  396. RFC 2290            Mobile-IPv4 Option for PPP IPCP        February 1998
  397.  
  398.  
  399. 2.4. High-Level Requirements for Mobile Nodes
  400.  
  401.    A mobile node SHOULD begin its IPCP negotiation by sending the
  402.    Configure-Request described in either item #1 or item #4 in Section
  403.    2.5.  The mobile node MAY begin its negotiation with one of the other
  404.    numbered items in Section 2.5 under extenuating circumstances.
  405.  
  406.    A mobile node that receives a Configure-Ack containing a Mobile-IPv4
  407.    Configuration Option MUST receive an Agent Advertisement, possibly in
  408.    response to an Agent Solicitation, before sending a Registration
  409.    Request [RFC 2002] if that mobile node is connecting to a foreign
  410.    link.  This is because the peer might be a foreign agent that
  411.    enforces a policy which requires a mobile node to register with that
  412.    foreign agent even if the mobile node is using a co-located care-of
  413.    address.  A mobile node need not wait for such an advertisement if it
  414.    connects to its home link.  See item 7a in section 2.5 for one way in
  415.    which a mobile node can determine if it has connected to its home
  416.    link.  Another way is by receiving an explicit notification of this
  417.    fact from its peer, such as receipt of the messages in items 1b, 2c,
  418.    and 3a in section 2.5.
  419.  
  420.    A mobile node that receives a Configure-Reject containing a Mobile-
  421.    IPv4 Configuration Option SHOULD fall back to IPCP negotiation using
  422.    the IP-Address option [RFC 1332].  A mobile node SHOULD begin this
  423.    negotiation with Request(IP=home) or Request(IP=0), depending on
  424.    whether or not the mobile node is connecting to its home link,
  425.    respectively.  A mobile node MAY make this determination by
  426.    inspection of an IP-Address option contained within a Configure-
  427.    Request sent by its peer.  If the prefix of the peer's stated IP-
  428.    address is equal to the prefix of the mobile node's home address,
  429.    then the mobile node MAY conclude that it is connecting to its home
  430.    link.  Otherwise, if the mobile node is connecting to a foreign link,
  431.    then the mobile node SHOULD send Request(IP=0) since its peer might
  432.    have no means for assigning addresses other than IPCP.  This
  433.    specification therefore updates this behavior as described in [RFC
  434.    2002], the latter of which recommends that a mobile node begin IP-
  435.    Address negotiation with Request(IP=Home) under all circumstances.
  436.  
  437.    A peer that is performing neither home agent nor foreign agent
  438.    functionality SHOULD send a Reject in response to any Request
  439.    received from its peer that contains a Mobile-IPv4 Configuration
  440.    Option.
  441.  
  442. 2.5. Detailed Description
  443.  
  444.    The numbered items below show all possible combinations of Mobile-
  445.    IPv4 and IP-Address Configuration Options that a mobile node (or a
  446.    conventional node) might send to its peer.  Mobile nodes SHOULD begin
  447.  
  448.  
  449.  
  450. Solomon & Glass             Standards Track                     [Page 8]
  451.  
  452. RFC 2290            Mobile-IPv4 Option for PPP IPCP        February 1998
  453.  
  454.  
  455.    their IPCP negotiation with item #1 or item #4 depending on whether
  456.    they prefer a co-located or a foreign agent care-of address
  457.    respectively.  The lettered items list the possible legal responses
  458.    that a peer might send to the mobile node (or conventional node) in
  459.    response to the numbered Request.
  460.  
  461.    In each case, an interpretation is defined and a suggested course of
  462.    action is provided.  Finally, it is believed that the presentation
  463.    below has the advantages of conciseness and precision in comparison
  464.    to an equivalent presentation in "prose form."
  465.  
  466.     1. Request(IP=0,MIPv4=home) means "I prefer a co-located care-of
  467.        address to a foreign agent care-of address."  Peer MUST respond
  468.        with one of the following:
  469.  
  470.         a. Nak(IP=coa) means "use coa as your co-located care-of
  471.            address".  Goto 2.
  472.         b. Nak(IP=home) means "you're at home and don't need a care-of
  473.            address".  Goto 3.
  474.         c. Reject(IP=0) means "I cannot assign a co-located care-of
  475.            address but you're welcome to use me as a foreign agent".
  476.            Goto 4.
  477.         d. Reject(MIPv4=home) means "I do not implement the Mobile-IPv4
  478.            option".  If the peer also sent Request(IP=address) and the
  479.            prefix of the peer's assigned address is equal to that of the
  480.            mobile node's home address, then goto 6 with a.b.c.d=home;
  481.            otherwise, goto 5.
  482.         e. Reject(IP=0,MIPv4=home) means "use the default".  Goto 7.
  483.  
  484.         => Ack(IP=0, ...), Nak(MIPv4=any, ...) MUST NOT be sent.
  485.  
  486.     2. Request(IP=coa,MIPv4=home) means "I want to use coa as my co-
  487.        located care-of address."  Peer MUST respond with one of the
  488.        following:
  489.  
  490.         a. Ack(IP=coa,MIPv4=home) means "ok, use coa as your co-located
  491.            care-of address; be sure to wait for an advertisement."
  492.            Opened.
  493.         b. Nak(IP=alternate-coa) means "no, use alternate-coa as your
  494.            co-located care-of address".  Goto 2.
  495.         c. Nak(IP=home) means "you're at home and don't need a co-
  496.            located care-of address".  Goto 3.
  497.         d. Reject(IP=coa) means "coa is not a useful value for a co-
  498.            located care-of address on this link and I cannot assign a
  499.            useful one (or I will not negotiate the IP-Address option) --
  500.            you may use me as a foreign agent".  Goto 4.
  501.  
  502.  
  503.  
  504.  
  505.  
  506. Solomon & Glass             Standards Track                     [Page 9]
  507.  
  508. RFC 2290            Mobile-IPv4 Option for PPP IPCP        February 1998
  509.  
  510.  
  511.         e. Reject(MIPv4=home) means "I do not implement the Mobile-IPv4
  512.            option".  If the peer also sent Request(IP=address) and the
  513.            prefix of the peer's address is equal to that of the mobile
  514.            node's home address, then goto 6 with a.b.c.d=home;
  515.            otherwise, goto 5.
  516.         f. Reject(IP=coa,MIPv4=home) means "use the default".  Goto 7.
  517.  
  518.         => Nak(MIPv4=any, ...) MUST NOT be sent.
  519.  
  520.     3. Request(IP=home,MIPv4=home) means "I think I'm at home but if I'm
  521.        wrong then I prefer a co-located care-of address to a foreign
  522.        agent care-of address."  Peer MUST respond with one of the
  523.        following:
  524.  
  525.         a. Ack(IP=home,MIPv4=home) means "yes, you're at home".  Opened.
  526.         b. Nak(IP=coa) means "you're not at home, use coa as your co-
  527.            located care-of address".  Goto 2.
  528.         c. Reject(IP=home) means "you're not at home and I cannot assign
  529.            a co-located care-of address (or I will not negotiate the
  530.            IP-Address option) -- you may use me as a foreign agent".
  531.            Goto 4.
  532.         d. Reject(MIPv4=home) means "I do not implement the Mobile-IPv4
  533.            option".  If the peer also sent Request(IP=address) and the
  534.            prefix of the peer's address is equal to that of the mobile
  535.            node's home address, then goto 6 with a.b.c.d=home;
  536.            otherwise, goto 5.
  537.         e. Reject(IP=home,MIPv4=home) means "use the default".  Goto 7.
  538.  
  539.         => Nak(MIPv4=any, ...) MUST NOT be sent.
  540.  
  541.     4. Request(MIPv4=home) means "I want to run Mobile IP over this link
  542.        and I don't want a co-located care-of address." Peer MUST respond
  543.        with one of the following:
  544.  
  545.         a. Ack(MIPv4=home) means "ok, wait for an advertisement to
  546.            figure out where you are."  Opened.
  547.         b. Reject(MIPv4=home) means "I do not implement the Mobile-IPv4
  548.            option".  If the peer also sent Request(IP=address) and the
  549.            prefix of the peer's address is equal to that of the mobile
  550.            node's home address, then goto 6 with a.b.c.d=home;
  551.            otherwise, goto 5.
  552.  
  553.         => Nak(MIPv4=any, ...) MUST NOT be sent.
  554.  
  555.     5. Request(IP=0) means "Please assign an address/co-located-care-
  556.        of-address".  Peer MUST respond with one of the following:
  557.  
  558.  
  559.  
  560.  
  561.  
  562. Solomon & Glass             Standards Track                    [Page 10]
  563.  
  564. RFC 2290            Mobile-IPv4 Option for PPP IPCP        February 1998
  565.  
  566.  
  567.         a. Nak(IP=a.b.c.d) means "use a.b.c.d as your address/co-
  568.            located-care-of-address".  Goto 6.
  569.         b. Reject(IP=0) means "I cannot assign an address (for the
  570.            Mobile Node to use as a co-located-care-of-address), or I do
  571.            not implement the IP-Address option".  Goto 7.
  572.  
  573.         => Ack(IP=0) MUST NOT be sent and historically means "I don't
  574.            know your address either".  Opened.  An implementation MUST
  575.            NOT use 0 as its IP address upon receiving Ack(IP=0) but MAY
  576.            use some other, non-zero, interface address for packets sent
  577.            on its PPP interface.
  578.  
  579.     6. Request(IP=a.b.c.d) means "I want to use a.b.c.d as my
  580.        address/home-address/co-located-care-of-address".  Peer MUST
  581.        respond with one of the following:
  582.  
  583.         a. Ack(IP=a.b.c.d) means "ok, a.b.c.d is your address/home-
  584.            address/co-located-care-of-address".  Opened.
  585.         b. Nak(IP=w.x.y.z) means "no, use w.x.y.z as your address/home-
  586.            address/co-located-care-of-address".  Goto 6.
  587.         c. Reject(IP=a.b.c.d) means "a.b.c.d is a bad address to use,
  588.            but I cannot give you a good one" or "I do not implement the
  589.            IP-Address option".  Goto 7.
  590.  
  591.     7. Request() means "I want to use the default".  Peer MUST respond
  592.        with one of the following:
  593.  
  594.         a. Ack() means "ok, use the default".  Opened.
  595.  
  596.            In this case the mobile node will use the "default" values of
  597.            the IP-Address option (no address configured by IPCP) and the
  598.            Mobile-IPv4 option (the mobile node's IP home address).  The
  599.            mobile node SHOULD send Agent Solicitations to see if there
  600.            are any agents present on the current link. (Note that the
  601.            current "link" might also include a shared medium if the
  602.            mobile node's PPP peer is a bridge.)  If an agent is present
  603.            and the mobile node receives an Agent Advertisement, then the
  604.            mobile node employs its move-detection algorithm(s) and
  605.            registers accordingly.
  606.  
  607.            In any case, if the mobile node's peer supplied an IP-Address
  608.            option containing a non-zero value within an IPCP Configure-
  609.            Request, the mobile node MAY use this address to determine
  610.            whether or not it is connected to its home link.  This can be
  611.            accomplished by comparing the stated IP address with the
  612.            mobile node's home address under the prefix-length associated
  613.            with the home link.  If the mobile node is connected to its
  614.            home link then it SHOULD de-register with its home agent.
  615.  
  616.  
  617.  
  618. Solomon & Glass             Standards Track                    [Page 11]
  619.  
  620. RFC 2290            Mobile-IPv4 Option for PPP IPCP        February 1998
  621.  
  622.  
  623.            Otherwise, the mobile node MAY attempt to obtain a
  624.            topologically routable address through any of its supported
  625.            means (e.g., DHCP, manual configuration, etc.)  for use as a
  626.            co-located care-of address.  If the mobile node is successful
  627.            in obtaining such an address then it SHOULD register this
  628.            address with its home agent.
  629.  
  630.         => Nak(IP=0) MUST NOT be sent.  Goto 6.
  631.  
  632.         => Nak() MUST NOT be sent.
  633.  
  634.         => Reject() MUST NOT be sent.
  635.  
  636. 2.6. Example Scenarios
  637.  
  638.    This section illustrates the use of the option and protocol as
  639.    defined in the previous sections.  In the examples which follow, a
  640.    Configure-Request sent by a mobile node and the response generated by
  641.    the peer are shown on the same line.  The number and letter to the
  642.    left of each request/response refer to the numbered and lettered
  643.    items in Section 2.5.
  644.  
  645.     A. A mobile node prefers a co-located care-of address and the peer
  646.        is a foreign agent that is capable of assigning such an address:
  647.  
  648.        (1)(a) Request(IP=0,MIPv4=Home) / Nak(IP=coa)
  649.        (2)(a) Request(IP=coa,MIPv4=Home) / Ack(IP=coa,MIPv4=Home)
  650.  
  651.          - Mobile node waits to receive an Agent Advertisement.
  652.          - If (Advertisement has R-bit set) then
  653.              Mobile node registers using co-located care-of address via
  654.              the foreign agent;
  655.            else
  656.              Mobile node registers using co-located care-of address
  657.              directly with its home agent.
  658.  
  659.     B. A mobile node prefers a co-located care-of address and the peer
  660.        is a foreign agent that cannot assign a co-located care-of
  661.        address (e.g., it has no pool of addresses from which to allocate
  662.        for the purpose of assignment):
  663.  
  664.        (1)(c) Request(IP=0,MIPv4=Home) / Reject(IP=0)
  665.        (4)(a) Request(MIPv4=Home) / Ack(MIPv4=Home)
  666.  
  667.          - IPCP completes.
  668.          - Mobile node waits to receive an Agent Advertisement.
  669.          - Mobile node registers using the peer's foreign agent care-of
  670.            address with its home agent.
  671.  
  672.  
  673.  
  674. Solomon & Glass             Standards Track                    [Page 12]
  675.  
  676. RFC 2290            Mobile-IPv4 Option for PPP IPCP        February 1998
  677.  
  678.  
  679.     C. A mobile node prefers a co-located care-of address and the peer
  680.        determines that the mobile node's home address is such that the
  681.        mobile node is connecting to its home link:
  682.  
  683.        (1)(b) Request(IP=0,MIPv4=Home) / Nak(IP=Home)
  684.        (3)(a) Request(IP=Home,MIPv4=Home) / Ack(IP=Home,MIPv4=Home)
  685.  
  686.          - IPCP completes.
  687.          - Mobile node de-registers with its home agent.
  688.  
  689.     D. A mobile node prefers a foreign agent care-of address and the
  690.        peer is a foreign agent which finds this state of affairs
  691.        satisfactory:
  692.  
  693.        (4)(a) Request(MIPv4=Home) / Ack(MIPv4=Home)
  694.  
  695.          - IPCP completes.
  696.          - Mobile node waits to receive an Agent Advertisement.
  697.          - Mobile node registers using the peer's foreign agent care-of
  698.            or de-registers at home, depending on the values in the Agent
  699.            Advertisement.
  700.  
  701.     E. A mobile node prefers a co-located care-of address and the peer
  702.        does not implement the Mobile-IPv4 Configuration Option.  The
  703.        peer is, however, capable of assigning dynamic addresses:
  704.  
  705.        (1)(d) Request(IP=0,MIPv4=Home) / Reject(MIPv4=Home)
  706.        (5)(a) Request(IP=0) / Nak(IP=a.b.c.d)
  707.        (6)(a) Request(IP=a.b.c.d) / Ack(IP=a.b.c.d)
  708.  
  709.          - IPCP completes.
  710.          - Mobile node registers using a.b.c.d as a co-located care-of
  711.            address with its home agent.
  712.  
  713.     F. A mobile node prefers a co-located care-of address and the peer
  714.        does not implement the Mobile-IPv4 Configuration Option. The peer
  715.        is not capable of assigning dynamic addresses:
  716.  
  717.        (1)(e) Request(IP=0,MIPv4=Home) / Reject(IP=0,MIPv4=Home)
  718.        (7)(a) Request() / Ack()
  719.  
  720.          - IPCP completes.
  721.          - Mobile node sends an Agent Solicitation and/or attempts to
  722.            obtain a co-located care-of address via means outside IPCP
  723.            (e.g., DHCP or manual configuration), or it gives up.
  724.  
  725.  
  726.  
  727.  
  728.  
  729.  
  730. Solomon & Glass             Standards Track                    [Page 13]
  731.  
  732. RFC 2290            Mobile-IPv4 Option for PPP IPCP        February 1998
  733.  
  734.  
  735. 3. Additional Requirements
  736.  
  737. 3.1. Other IPCP Options
  738.  
  739.    A mobile node MUST NOT include the deprecated IP-Addresses option in
  740.    any Configure-Request that contains a Mobile-IPv4 option, an IP-
  741.    Address option, or both.
  742.  
  743.    Conversely, the mobile node MAY include an IP-Compression-Protocol
  744.    option and any other options that do not involve the negotiation of
  745.    IP addresses.
  746.  
  747.    If a mobile node and a foreign agent or a home agent agree in IPCP to
  748.    use Van Jacobson Header Compression [RFC 1144], then the mobile node
  749.    MUST NOT set the 'V' bit in its ensuing Mobile IP Registration
  750.    Request [RFC 2002].  If the PPP peer entities are utilizing VJ header
  751.    compression there is no gain for the mobile ip entities to do so, and
  752.    requesting this option is likely to cause confusion.
  753.  
  754. 3.2. Move Detection
  755.  
  756.    Mobile nodes that connect via PPP MUST correctly implement PPP's
  757.    IPCP, since movement by the mobile node will likely change its PPP
  758.    peer.  Specifically, mobile nodes MUST be prepared to renegotiate
  759.    IPCP at any time, including, the renegotiation of the IP-Address
  760.    Configuration Option and the Mobile-IPv4 Configuration Option
  761.    described in this document.  As per [RFC 1661], a mobile node in the
  762.    Opened state MUST renegotiate IPCP upon receiving an IPCP Configure-
  763.    Request from its peer.
  764.  
  765.    Also note that certain wireless links can employ handoff and proxying
  766.    mechanisms that would not necessarily require bringing down a PPP
  767.    link but would indeed require a mobile node to register with a new
  768.    foreign agent.  Therefore, mobile nodes which connect to an agent via
  769.    PPP MUST employ their move detection algorithms (see section 2.4.2 in
  770.    [RFC 2002]) and register whenever they detect a change in
  771.    connectivity.
  772.  
  773.    Specifically, a mobile node that fails to receive an Agent
  774.    Advertisement within the Lifetime advertised by its current foreign
  775.    agent, MUST assume that it has lost contact with that foreign agent
  776.    (see Section 2.4.2.1, [RFC 2002]).  If, in the mean time, the mobile
  777.    node has received Agent Advertisements from another foreign agent,
  778.    the mobile node SHOULD immediately register with that foreign agent
  779.    upon timing out with its current foreign agent.
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786. Solomon & Glass             Standards Track                    [Page 14]
  787.  
  788. RFC 2290            Mobile-IPv4 Option for PPP IPCP        February 1998
  789.  
  790.  
  791.    Likewise, a mobile node that implements move detection based upon the
  792.    Prefix-Length Extension MUST compare the prefix of any advertising
  793.    agents with that of its current foreign agent (see Section 2.4.2.2,
  794.    [RFC 2002]).  If such a mobile node receives an Agent Advertisement
  795.    from a foreign agent specifying a different prefix than that of its
  796.    current foreign agent, then the mobile node that employs this method
  797.    of move detection MUST register with that new foreign agent.
  798.  
  799.    A mobile node MAY treat PPP link-establishment as a sufficient reason
  800.    to proceed with a new Mobile IP registration.  Section 2 defines the
  801.    circumstances under which mobile nodes MUST wait for an Agent
  802.    Advertisement before registering.  Accordingly, foreign agents and
  803.    home agents SHOULD send an Agent Advertisement over a PPP link
  804.    immediately after IPCP for that link enters the Opened state.
  805.  
  806. 4. Security Considerations
  807.  
  808.    This document introduces no known security threats over and above
  809.    those facing any node on the Internet that either connects via PPP or
  810.    implements Mobile IP or both.  Specifically, service providers should
  811.    use cryptographically strong authentication (e.g., CHAP [RFC 1994])
  812.    to prevent theft-of-service.  Additionally, users requiring
  813.    confidentiality should use PPP link encryption [RFC 1968], IP-layer
  814.    encryption [RFC 1827], or application-layer encryption, depending
  815.    upon their individual requirements.  Finally, Mobile IP
  816.    authentication [RFC 2002] protects against trivial denial-of-service
  817.    attacks that could otherwise be waged against a mobile node and its
  818.    home agent.
  819.  
  820. 5. References
  821.  
  822.    [RFC 2119] Bradner, S., "Key words for use in RFCs to Indicate
  823.       Requirement Levels", BCP 14, RFC 2119, March 1997.
  824.  
  825.    [RFC 1144] Jacobson, V., "Compressing TCP/IP Headers for Low-Speed
  826.       Serial Links", RFC 1144, January 1990.
  827.  
  828.    [RFC 1332] McGregor, G., "The PPP Internet Protocol Control Protocol
  829.       (IPCP)," RFC 1332, May 1992.
  830.  
  831.    [RFC 1661] Simpson, W., Editor, "The Point-to-Point Protocol (PPP)
  832.       for the Transmission of Multi-protocol Datagrams over Point-to-
  833.       Point Links", STD 51, RFC 1661, July 1994.
  834.  
  835.    [RFC 1827] Atkinson, R., "IP Encapsulating Security Payload (ESP)",
  836.       RFC 1827, August 1995.
  837.  
  838.  
  839.  
  840.  
  841.  
  842. Solomon & Glass             Standards Track                    [Page 15]
  843.  
  844. RFC 2290            Mobile-IPv4 Option for PPP IPCP        February 1998
  845.  
  846.  
  847.    [RFC 1994] Simpson, W., "PPP Challenge Handshake Authentication
  848.       Protocol (CHAP)", RFC 1994, August 1996.
  849.  
  850.    [RFC 1968] Meyer, G., "The PPP Encryption Control Protocol (ECP)",
  851.       RFC 1968, June 1996.
  852.  
  853.    [RFC 2002] Perkins, C., Editor, "IP Mobility Support", RFC 2002,
  854.       October 1996.
  855.  
  856. 6. Acknowledgments
  857.  
  858.    The design of this protocol and option were inspired by an earlier
  859.    submission by B. Patel and C. Perkins, then of IBM, in a now expired
  860.    internet draft.  Also, some of William Simpson's text was copied
  861.    verbatim from [RFC 1661] in order to ensure consistency of
  862.    terminology and specification.  The same goes for some of Charlie
  863.    Perkins' definitions, and other relavent text, from [RFC 2002].
  864.  
  865.    Tim Wilson and Chris Stanaway (Motorola) contributed significantly to
  866.    the design of this Configuration Option and protocol specification.
  867.    Special thanks to Vernon Schryver (SGI), Craig Fox (Cisco), Karl Fox
  868.    (Ascend), and John Bray (FTP) for their helpful suggestions,
  869.    comments, and patience.
  870.  
  871. 7. Authors' Addresses
  872.  
  873.    Jim Solomon
  874.    Motorola, Inc.
  875.    1301 E. Algonquin Rd. - Rm 2240
  876.    Schaumburg, IL  60196
  877.  
  878.    Phone:  +1-847-576-2753
  879.    Fax:    +1-847-576-3240
  880.    EMail:  solomon@comm.mot.com
  881.  
  882.  
  883.    Steven Glass
  884.    FTP Software, Inc.
  885.    2 High Street
  886.    North Andover, MA  01845
  887.  
  888.    Phone:  +1-508-685-4000
  889.    Fax:    +1-508-684-6105
  890.    EMail:  glass@ftp.com
  891.  
  892.  
  893.  
  894.  
  895.  
  896.  
  897.  
  898. Solomon & Glass             Standards Track                    [Page 16]
  899.  
  900. RFC 2290            Mobile-IPv4 Option for PPP IPCP        February 1998
  901.  
  902.  
  903. 8.  Full Copyright Statement
  904.  
  905.    Copyright (C) The Internet Society (1998).  All Rights Reserved.
  906.  
  907.    This document and translations of it may be copied and furnished to
  908.    others, and derivative works that comment on or otherwise explain it
  909.    or assist in its implementation may be prepared, copied, published
  910.    and distributed, in whole or in part, without restriction of any
  911.    kind, provided that the above copyright notice and this paragraph are
  912.    included on all such copies and derivative works.  However, this
  913.    document itself may not be modified in any way, such as by removing
  914.    the copyright notice or references to the Internet Society or other
  915.    Internet organizations, except as needed for the purpose of
  916.    developing Internet standards in which case the procedures for
  917.    copyrights defined in the Internet Standards process must be
  918.    followed, or as required to translate it into languages other than
  919.    English.
  920.  
  921.    The limited permissions granted above are perpetual and will not be
  922.    revoked by the Internet Society or its successors or assigns.
  923.  
  924.    This document and the information contained herein is provided on an
  925.    "AS IS" basis and THE INTERNET SOCIETY AND THE INTERNET ENGINEERING
  926.    TASK FORCE DISCLAIMS ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING
  927.    BUT NOT LIMITED TO ANY WARRANTY THAT THE USE OF THE INFORMATION
  928.    HEREIN WILL NOT INFRINGE ANY RIGHTS OR ANY IMPLIED WARRANTIES OF
  929.    MERCHANTABILITY OR FITNESS FOR A PARTICULAR PURPOSE.
  930.  
  931.  
  932.  
  933.  
  934.  
  935.  
  936.  
  937.  
  938.  
  939.  
  940.  
  941.  
  942.  
  943.  
  944.  
  945.  
  946.  
  947.  
  948.  
  949.  
  950.  
  951.  
  952.  
  953.  
  954. Solomon & Glass             Standards Track                    [Page 17]
  955.  
  956.