idnits 2.17.1 draft-ietf-pppext-ipcp-mip-02.txt: Checking boilerplate required by RFC 5378 and the IETF Trust (see https://trustee.ietf.org/license-info): ---------------------------------------------------------------------------- ** Cannot find the required boilerplate sections (Copyright, IPR, etc.) in this document. Expected boilerplate is as follows today (2024-04-23) according to https://trustee.ietf.org/license-info : IETF Trust Legal Provisions of 28-dec-2009, Section 6.a: This Internet-Draft is submitted in full conformance with the provisions of BCP 78 and BCP 79. IETF Trust Legal Provisions of 28-dec-2009, Section 6.b(i), paragraph 2: Copyright (c) 2024 IETF Trust and the persons identified as the document authors. All rights reserved. IETF Trust Legal Provisions of 28-dec-2009, Section 6.b(i), paragraph 3: This document is subject to BCP 78 and the IETF Trust's Legal Provisions Relating to IETF Documents (https://trustee.ietf.org/license-info) in effect on the date of publication of this document. Please review these documents carefully, as they describe your rights and restrictions with respect to this document. Code Components extracted from this document must include Simplified BSD License text as described in Section 4.e of the Trust Legal Provisions and are provided without warranty as described in the Simplified BSD License. Checking nits according to https://www.ietf.org/id-info/1id-guidelines.txt: ---------------------------------------------------------------------------- ** Missing expiration date. The document expiration date should appear on the first and last page. ** The document seems to lack a 1id_guidelines paragraph about Internet-Drafts being working documents. ** The document seems to lack a 1id_guidelines paragraph about 6 months document validity -- however, there's a paragraph with a matching beginning. Boilerplate error? ** The document seems to lack a 1id_guidelines paragraph about the list of current Internet-Drafts. ** The document seems to lack a 1id_guidelines paragraph about the list of Shadow Directories. == No 'Intended status' indicated for this document; assuming Proposed Standard Checking nits according to https://www.ietf.org/id-info/checklist : ---------------------------------------------------------------------------- ** The document seems to lack an IANA Considerations section. (See Section 2.2 of https://www.ietf.org/id-info/checklist for how to handle the case when there are no actions for IANA.) ** The document seems to lack separate sections for Informative/Normative References. All references will be assumed normative when checking for downward references. ** The abstract seems to contain references ([RFC1661], [RFC2002], [RFC1332]), which it shouldn't. Please replace those with straight textual mentions of the documents in question. Miscellaneous warnings: ---------------------------------------------------------------------------- -- The document seems to lack a disclaimer for pre-RFC5378 work, but may have content which was first submitted before 10 November 2008. If you have contacted all the original authors and they are all willing to grant the BCP78 rights to the IETF Trust, then this is fine, and you can ignore this comment. If not, you may need to add the pre-RFC5378 disclaimer. (See the Legal Provisions document at https://trustee.ietf.org/license-info for more information.) -- The document date (July 2, 1997) is 9792 days in the past. Is this intentional? Checking references for intended status: Proposed Standard ---------------------------------------------------------------------------- (See RFCs 3967 and 4897 for information about using normative references to lower-maturity documents in RFCs) ** Obsolete normative reference: RFC 1827 (Obsoleted by RFC 2406) ** Obsolete normative reference: RFC 2002 (Obsoleted by RFC 3220) Summary: 11 errors (**), 0 flaws (~~), 1 warning (==), 2 comments (--). Run idnits with the --verbose option for more detailed information about the items above. -------------------------------------------------------------------------------- 1 PPP Extensions Working Group J. Solomon, Motorola 2 Internet Draft S. Glass, FTP Software 3 expires January 2, 1998 July 2, 1997 5 Mobile-IPv4 Configuration Option for PPP IPCP 6 8 Status of this Memo 10 This document is a submission to the PPPEXT working group of the 11 IETF. Questions and comments should be sent to the mailing list: 12 ietf-ppp@merit.edu. 14 This document is an Internet-Draft. Internet-Drafts are working 15 documents of the Internet Engineering Task Force (IETF), its areas, 16 and its working groups. Note that other groups may also distribute 17 working documents as Internet-Drafts. 19 Internet-Drafts are draft documents valid for a maximum of six months 20 and may be updated, replaced, or obsoleted by other documents at any 21 time. It is inappropriate to use Internet-Drafts as reference 22 material or to cite them other than as ``work in progress.'' 24 To learn the current status of any Internet-Draft, please check the 25 ``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow 26 Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe), 27 munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or 28 ftp.isi.edu (US West Coast). 30 Distribution of this memo is unlimited. 32 Abstract 34 Mobile IP [RFC 2002] defines media-independent procedures by which a 35 Mobile Node can maintain existing transport and application-layer 36 connections despite changing its point-of-attachment to the Internet 37 and without changing its IP address. PPP [RFC 1661] provides a 38 standard method for transporting multi-protocol packets over point- 39 to-point links. As currently specified, Mobile IP Foreign Agents 40 which support Mobile Node connections via PPP can do so only by first 41 assigning unique addresses to those Mobile Nodes, defeating one of 42 the primary advantages of Foreign Agents. This documents corrects 43 this problem by defining the Mobile-IPv4 Configuration Option to the 44 Internet Protocol Control Protocol (IPCP) [RFC 1332]. Using this 45 option, two peers can communicate their support for Mobile IP during 46 the IPCP phase of PPP. Familiarity with Mobile IP [RFC 2002], IPCP 47 [RFC 1332], and PPP [RFC 1661] is assumed. 49 Contents 51 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2 52 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . 3 53 1.2. Problem Statement . . . . . . . . . . . . . . . . . . . 4 54 1.3. Requirements . . . . . . . . . . . . . . . . . . . . . . 6 55 1.4. Specification Language . . . . . . . . . . . . . . . . . 6 56 2. Mobile-IPv4 Configuration Option . . . . . . . . . . . . . . . 7 57 2.1. Option Format . . . . . . . . . . . . . . . . . . . . . 7 58 2.2. Overview . . . . . . . . . . . . . . . . . . . . . . . . 8 59 2.3. High-Level Requirements for Non-Mobile-Nodes . . . . . . 8 60 2.4. High-Level Requirements for Mobile Nodes . . . . . . . . 9 61 2.5. Detailed Description . . . . . . . . . . . . . . . . . . 10 62 2.6. Example Scenarios . . . . . . . . . . . . . . . . . . . 14 63 3. Additional Requirements . . . . . . . . . . . . . . . . . . . 15 64 3.1. Other IPCP Options . . . . . . . . . . . . . . . . . . . 15 65 3.2. Move Detection . . . . . . . . . . . . . . . . . . . . . 16 66 4. Security Considerations . . . . . . . . . . . . . . . . . . . 17 67 5. References . . . . . . . . . . . . . . . . . . . . . . . . . . 17 68 6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 17 69 7. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 18 71 1. Introduction 73 Mobile IP [RFC 2002] defines protocols and procedures by which 74 packets can be routed to a mobile node, regardless of its current 75 point-of-attachment to the Internet, and without changing its IP 76 address. Mobile IP is designed to run over any type of media and any 77 type of data link-layer. However, the interaction between Mobile IP 78 and PPP is currently underspecified and generally results in an 79 inappropriate application of Mobile IP when mobile nodes connect to 80 the Internet via PPP. 82 This document defines proper interaction between a mobile node [RFC 83 2002] and a peer through which the mobile node connects to the 84 Internet using PPP. This requires the definition of a new option for 85 IPCP [RFC 1332], named the "Mobile-IPv4" Configuration Option, which 86 is defined in this document. The mobile node and the peer use this 87 option to negotiate the appropriate use of Mobile IP over the PPP 88 link. 90 The Mobile-IPv4 option defined in this document is intended to work 91 in conjunction with the existing IP-Address option [RFC 1332]. This 92 is in contrast to previous versions of this document which defined a 93 replacement for the IP-Address option. 95 1.1. Terminology 97 This document uses the following terms as defined in [RFC 2002]: 99 Mobile Node 101 A host or router that changes its point-of-attachment from one 102 link to another. A mobile node may change its location without 103 changing its IP address; it may continue to communicate with other 104 Internet nodes at any location using its (permanent) home, IP 105 address, assuming link-layer connectivity is available at its 106 current location. 108 Home Agent 110 A router with at least one interface on a mobile node's home link. 111 A home agent intercepts packets destined to a mobile node's home 112 address and tunnels them to the mobile node's care-of address when 113 the mobile node is connected to a foreign link. A mobile node 114 informs its home agent of its current care-of address through an 115 authenticated registration protocol defined by Mobile IP. 117 Foreign Agent 119 A router with at least one interface on a mobile node's (current) 120 foreign link. When a mobile node uses a foreign agent's care-of 121 address, the foreign agent detunnels and delivers packets to the 122 mobile node that were tunneled by the mobile node's home agent. A 123 foreign agent might also serve as a default router for packets 124 sent by a registered mobile node. 126 Peer 128 The PPP peer of a mobile node. The mobile node's peer might 129 support home agent functionality, foreign agent functionality, 130 both, or neither. 132 1.2. Problem Statement 134 In Mobile IP, packets sent to a mobile node's home address are routed 135 first to the mobile node's home agent, a router on the mobile node's 136 home link which intercepts packets sent to the home address. The 137 home agent then tunnels such packets to the mobile node's care-of 138 address, where the packets are extracted from the tunnel and 139 delivered to the mobile node. There are two types of care-of 140 addresses: 142 Co-located Care-of Address 144 An address temporarily assigned to a mobile node itself. In this 145 case, the mobile node is the exit-point of the tunnel and 146 decapsulates packets encapsulated for delivery by its home agent. 147 A Co-located Care-of Address may be used by exactly one mobile 148 node at any point in time. 150 Foreign Agent Care-of Address 152 An address of a foreign agent that has at least one interface on a 153 mobile node's visited, foreign link. In this case, the foreign 154 agent decapsulates packets that have been tunneled by the home 155 agent and delivers them to the mobile node over the visited link. 156 A Foreign Agent Care-of Address may be used simultaneously by many 157 mobile nodes at any point in time. 159 In Appendix B, Mobile IP [RFC 2002] currently specifies only the 160 following with respect to PPP: 162 "The Point-to-Point-Protocol (PPP) [RFC 1661] and its Internet 163 Protocol Control Protocol (IPCP) [RFC 1332], negotiates [sic] the 164 use of IP addresses. 166 "The mobile node SHOULD first attempt to specify its home address, 167 so that if the mobile node is attaching to its home [link], the 168 unrouted link will function correctly. When the home address is 169 not accepted by the peer, but a transient IP address is 170 dynamically assigned to the mobile node, and the mobile node is 171 capable of supporting a co-located care-of address, the mobile 172 node MAY register that address as a co-located care-of address. 173 When the peer specifies its own IP address, that address MUST NOT 174 be assumed to be a foreign agent care-of address or the IP address 175 of a home agent." 177 Inspection of this text reveals that there is currently no way for 178 the mobile node to use a foreign agent care-of address, without first 179 being assigned a unique IP address, even if the peer also supports 180 foreign agent functionality. The reason for this can be seen by 181 walking through the IPCP negotiation: 183 1. A mobile node connects to a peer via PPP and proposes its home 184 address in an IPCP Configure-Request containing the IP-Address 185 option. In this scenario, we assume that the mobile node is 186 connecting to some foreign link. 188 2. The peer has no way of knowing whether this Configure-Request was 189 received from: (a) a mobile node proposing its home address; or 190 (b) a conventional node proposing some topologically non-routable 191 address. In this case, the peer must (conservatively) send a 192 Configure-Nak of the IP-Address option supplying a topologically 193 appropriate address for use by the node at the other end of the 194 PPP link. 196 3. The mobile node, in turn, has no way of knowing whether this 197 Configure-Nak was received because the peer is a foreign agent 198 being conservative, or because the peer does not implement Mobile 199 IP at all. Therefore, the mobile node must (conservatively) 200 assume that the peer does not implement Mobile IP and continue 201 the negotiation of an IP address in IPCP, after which point the 202 mobile node can use the assigned address as a co-located care-of 203 address. 205 Here we observe that, even if the mobile node's peer is a foreign 206 agent and sends an Agent Advertisement to the mobile node after IPCP 207 reaches the Opened state, the mobile node will still have negotiated 208 a routable address in step 3, which it is likely already using as a 209 co-located care-of address. This defeats the purpose of foreign 210 agent care-of addresses, which are designed to be shared by multiple 211 mobile nodes and to eliminate the need to assign a unique address to 212 each mobile node. 214 1.3. Requirements 216 The purpose of this document is to specify the behavior of both ends 217 of the PPP link when one or more of the PPP peers supports Mobile IP. 218 Specifically, the design of the option and protocol defined in this 219 document is based upon the following requirements: 221 1. The option and protocol described in this document must be 222 backwards compatible with conventional nodes and their potential 223 peers which do not implement this option nor any Mobile IP 224 functionality. 226 2. The option and protocol described in this document must 227 accommodate a variety of scenarios, minimally those provided in 228 the examples of Section 2.6. 230 3. The option and protocol described in this document must not 231 duplicate any functionality already defined in other IPCP 232 options; specifically, the IP-Address option. 234 4. A unique address must not be assigned to a mobile node unless 235 absolutely necessary. Specifically, no such address is assigned 236 to a mobile node that connects via PPP to its home link or a 237 mobile node that connects via PPP to a foreign agent (and uses 238 that foreign agent's care-of address). 240 1.4. Specification Language 242 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 243 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 244 document are to be interpreted as described in RFC 2119. 246 2. Mobile-IPv4 Configuration Option 248 This section defines the Mobile-IPv4 Configuration Option and 249 provides several examples of its use. 251 2.1. Option Format 253 The Mobile-IPv4 Configuration Option for IPCP is defined as follows: 255 0 1 2 3 256 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 257 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 258 | Type | Length | Mobile Node's ... 259 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 260 ... Home Address | 261 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 263 Type 265 4 (Mobile-IPv4) 267 Length 269 6 (The length of this entire extension in bytes) 271 Mobile Node's Home Address 273 In a Configure-Request, the IP home address of the mobile node 274 sending this Configuration Option; otherwise, the (unmodified) IP 275 home address of the peer when sent in a Configure-Ack or 276 Configure-Reject. Configure-Nak'ing this option is undefined and 277 MUST NOT be sent by implementations complying with this version of 278 the specification. This field MUST NOT be zero. 280 Default Value 282 The Mobile-IPv4 Configuration Option defaults to the sending 283 mobile node's home address. 285 In describing the operation of the Mobile-IPv4 Configuration Option 286 (in conjunction with the IP-Address Configuration Option), we use the 287 following abbreviations: 289 PPP Message Types: 290 Request = Configure-Request 291 Reject = Configure-Reject 292 Ack = Configure-Ack 293 Nak = Configure-Nak 295 IPCP Configuration Options: 296 MIPv4 = Mobile-IPv4 297 IP = IP-Address 299 IP addresses: 300 a.b.c.d = some non-zero IP address 301 w.x.y.z = some non-zero IP address other than a.b.c.d 302 home = a mobile node's IP Home address 303 coa = an IP Care-Of Address 304 0 = the all-zeroes IP address (0.0.0.0) 306 2.2. Overview 308 The Mobile-IPv4 Configuration Option is designed to be used in 309 conjunction with the IP-Address Configuration Option. For the 310 convenience of implementors, the detailed description in section 2.5 311 includes all possible combinations of these two options that might be 312 sent by a PPP peer during IPCP. Along with each possibility is a 313 description of how the receiver should interpret the contents as well 314 as a suggested course of action. 316 2.3. High-Level Requirements for Non-Mobile-Nodes 318 A node that is not performing mobile node functionality (such as 319 non-Mobile-IP-aware nodes as well as nodes performing only home agent 320 functionality, foreign agent functionality, or both) MUST NOT include 321 a Mobile-IPv4 Configuration Option within any Configure-Request 322 message. As per [RFC 1332], such a node SHOULD send a Configure- 323 Request containing an IP-Address Configuration Option in which the 324 IP-Address field is set to a non-zero IP address that the node has 325 assigned to one of its interfaces. If an explicit IP address has 326 been assigned to the node's PPP interface then this address SHOULD be 327 sent in preference to any of the node's other addresses. 329 A node MUST NOT send a Configure-Nak containing a Mobile-IPv4 330 Configuration Option. Doing so is currently "undefined" and might 331 cause interoperability problems when a useful meaning for Configure- 332 Nak is ultimately defined for the Mobile-IPv4 Configuration Option. 333 A node that sends a Configure-Ack containing a Mobile-IPv4 334 Configuration Option SHOULD send an Agent Advertisement [RFC 2002] 335 immediately upon IPCP for that link entering the Opened state. 337 2.4. High-Level Requirements for Mobile Nodes 339 A mobile node SHOULD begin its IPCP negotiation by sending the 340 Configure-Request described in either item #1 or item #4 in Section 341 2.5. The mobile node MAY begin its negotiation with one of the other 342 numbered items in Section 2.5 under extenuating circumstances. 344 A mobile node that receives a Configure-Ack containing a Mobile-IPv4 345 Configuration Option MUST receive an Agent Advertisement, possibly in 346 response to an Agent Solicitation, before sending a Registration 347 Request [RFC 2002] if that mobile node is connecting to a foreign 348 link. This is because the peer might be a foreign agent that 349 enforces a policy which requires a mobile node to register with that 350 foreign agent even if the mobile node is using a co-located care-of 351 address. A mobile node need not wait for such an advertisement if it 352 connects to its home link. See item 7a in section 2.5 for one way in 353 which a mobile node can determine if it has connected to its home 354 link. Another way is by receiving an explicit notification of this 355 fact from its peer, such as receipt of the messages in items 1b, 2c, 356 and 3a in section 2.5. 358 A mobile node that receives a Configure-Reject containing a Mobile- 359 IPv4 Configuration Option SHOULD fall back to IPCP negotiation using 360 the IP-Address option [RFC 1332]. A mobile node SHOULD begin this 361 negotiation with Request(IP=home) or Request(IP=0), depending on 362 whether or not the mobile node is connecting to its home link, 363 respectively. A mobile node MAY make this determination by 364 inspection of an IP-Address option contained within a Configure- 365 Request sent by its peer. If the prefix of the peer's stated IP- 366 address is equal to the prefix of the mobile node's home address, 367 then the mobile node MAY conclude that it is connecting to its home 368 link. Otherwise, if the mobile node is connecting to a foreign link, 369 then the mobile node SHOULD send Request(IP=0) since its peer might 370 have no means for assigning addresses other than IPCP. This 371 specification therefore differs slightly from [RFC 2002], the latter 372 of which recommends that a mobile node begin IP-Address negotiation 373 with Request(IP=Home) under all circumstances. 375 A peer that is performing neither home agent nor foreign agent 376 functionality SHOULD send a Reject in response to any Request 377 received from its peer that contains a Mobile-IPv4 Configuration 378 Option. 380 2.5. Detailed Description 382 The numbered items below show all possible combinations of Mobile- 383 IPv4 and IP-Address Configuration Options that a mobile node (or a 384 conventional node) might send to its peer. Mobile nodes SHOULD begin 385 their IPCP negotiation with item #1 or item #4 depending on whether 386 they prefer a co-located or a foreign agent care-of address 387 respectively. The lettered items list the possible legal responses 388 that a peer might send to the mobile node (or conventional node) in 389 response to the numbered Request. 391 In each case, an interpretation is defined and a suggested course of 392 action is provided. Finally, it is believed that the presentation 393 below has the advantages of conciseness and precision in comparison 394 to an equivalent presentation in "prose form." 396 1. Request(IP=0,MIPv4=home) means "I prefer a co-located care-of 397 address to a foreign agent care-of address." Peer MUST respond 398 with one of the following: 400 a. Nak(IP=coa) means "use coa as your co-located care-of 401 address". Goto 2. 402 b. Nak(IP=home) means "you're at home and don't need a care-of 403 address". Goto 3. 404 c. Reject(IP=0) means "I cannot assign a co-located care-of 405 address but you're welcome to use me as a foreign agent". 406 Goto 4. 407 d. Reject(MIPv4=home) means "I do not implement the Mobile-IPv4 408 option". If the peer also sent Request(IP=address) and the 409 prefix of the peer's address is equal to that of the mobile 410 node's home address, then goto 6 with a.b.c.d=home; 411 otherwise, goto 5. 412 e. Reject(IP=0,MIPv4=home) means "use the default". Goto 7. 414 => Ack(IP=0, ...), Nak(MIPv4=any, ...) MUST NOT be sent. 416 2. Request(IP=coa,MIPv4=home) means "I want to use coa as my co- 417 located care-of address." Peer MUST respond with one of the 418 following: 420 a. Ack(IP=coa,MIPv4=home) means "ok, use coa as your co-located 421 care-of address; be sure to wait for an advertisement." 422 Opened. 423 b. Nak(IP=alternate-coa) means "no, use alternate-coa as your 424 co-located care-of address". Goto 2. 425 c. Nak(IP=home) means "you're at home and don't need a co- 426 located care-of address". Goto 3. 427 d. Reject(IP=coa) means "coa is not a useful value for a co- 428 located care-of address on this link and I cannot assign a 429 useful one (or I will not negotiate the IP-Address option) -- 430 you may use me as a foreign agent". Goto 4. 431 e. Reject(MIPv4=home) means "I do not implement the Mobile-IPv4 432 option". If the peer also sent Request(IP=address) and the 433 prefix of the peer's address is equal to that of the mobile 434 node's home address, then goto 6 with a.b.c.d=home; 435 otherwise, goto 5. 436 f. Reject(IP=coa,MIPv4=home) means "use the default". Goto 7. 438 => Nak(MIPv4=any, ...) MUST NOT be sent. 440 3. Request(IP=home,MIPv4=home) means "I think I'm at home but if I'm 441 wrong then I prefer a co-located care-of address to a foreign 442 agent care-of address." Peer MUST respond with one of the 443 following: 445 a. Ack(IP=home,MIPv4=home) means "yes, you're at home". Opened. 446 b. Nak(IP=coa) means "you're not at home, use coa as your co- 447 located care-of address". Goto 2. 448 c. Reject(IP=home) means "you're not at home and I cannot assign 449 a co-located care-of address (or I will not negotiate the 450 IP-Address option) -- you may use me as a foreign agent". 451 Goto 4. 452 d. Reject(MIPv4=home) means "I do not implement the Mobile-IPv4 453 option". If the peer also sent Request(IP=address) and the 454 prefix of the peer's address is equal to that of the mobile 455 node's home address, then goto 6 with a.b.c.d=home; 456 otherwise, goto 5. 457 e. Reject(IP=home,MIPv4=home) means "use the default". Goto 7. 459 => Nak(MIPv4=any, ...) MUST NOT be sent. 461 4. Request(MIPv4=home) means "I want to run Mobile IP over this link 462 and I don't want a co-located care-of address." Peer MUST respond 463 with one of the following: 465 a. Ack(MIPv4=home) means "ok, wait for an advertisement to 466 figure out where you are." Opened. 467 b. Reject(MIPv4=home) means "I do not implement the Mobile-IPv4 468 option". If the peer also sent Request(IP=address) and the 469 prefix of the peer's address is equal to that of the mobile 470 node's home address, then goto 6 with a.b.c.d=home; 471 otherwise, goto 5. 473 => Nak(MIPv4=any, ...) MUST NOT be sent. 475 5. Request(IP=0) means "Please assign an address/co-located-care- 476 of-address". Peer MUST respond with one of the following: 478 a. Nak(IP=a.b.c.d) means "use a.b.c.d as your address/co- 479 located-care-of-address". Goto 6. 480 b. Reject(IP=0) means "I cannot assign the requested 481 address/co-located-care-of-address; or, I do not implement 482 the IP-Address option". Goto 7. 484 => Ack(IP=0) MUST NOT be sent and historically means "I don't 485 know your address either". Opened. An implementation MUST 486 NOT use 0 as its IP address upon receiving Ack(IP=0) but MAY 487 use some other, non-zero, interface address for packets sent 488 on its PPP interface. 490 6. Request(IP=a.b.c.d) means "I want to use a.b.c.d as my 491 address/home-address/co-located-care-of-address". Peer MUST 492 respond with one of the following: 494 a. Ack(IP=a.b.c.d) means "ok, a.b.c.d is your address/home- 495 address/co-located-care-of-address". Opened. 496 b. Nak(IP=w.x.y.z) means "no, use w.x.y.z as your address/home- 497 address/co-located-care-of-address". Goto 6. 498 c. Reject(IP=a.b.c.d) means "a.b.c.d is a bad address to use, 499 but I cannot give you a good one" or "I do not implement the 500 IP-Address option". Goto 7. 502 7. Request() means "I want to use the default". Peer MUST respond 503 with one of the following: 505 a. Ack() means "ok, use the default". Opened. 507 In this case the mobile node will use the "default" values of 508 the IP-Address option (no address configured by IPCP) and the 509 Mobile-IPv4 option (the mobile node's IP home address). The 510 mobile node SHOULD send Agent Solicitations to see if there 511 are any agents present on the current link. (Note that the 512 current "link" might also include a shared medium if the 513 mobile node's PPP peer is a bridge.) If an agent is present 514 and the mobile node receives an Agent Advertisement, then the 515 mobile node employs its move-detection algorithm(s) and 516 registers accordingly. 518 In any case, if the mobile node's peer supplied an IP-Address 519 option containing a non-zero value within an IPCP Configure- 520 Request, the mobile node MAY use this address to determine 521 whether or not it is connected to its home link. This can be 522 accomplished by comparing the stated IP address with the 523 mobile node's home address under the prefix-length associated 524 with the home link. If the mobile node is connected to its 525 home link then it SHOULD de-register with its home agent. 526 Otherwise, the mobile node MAY attempt to obtain a 527 topologically routable address through any of its supported 528 means (e.g., DHCP, manual configuration, etc.) for use as a 529 co-located care-of address. If the mobile node is successful 530 in obtaining such an address then it SHOULD register this 531 address with its home agent. 533 => Nak(IP=0) MUST NOT be sent. Goto 6. 535 => Nak() MUST NOT be sent. 537 => Reject() MUST NOT be sent. 539 2.6. Example Scenarios 541 This section illustrates the use of the option and protocol as 542 defined in the previous sections. In the examples which follow, a 543 Configure-Request sent by a mobile node and the response generated by 544 the peer are shown on the same line. The number and letter to the 545 left of each request/response refer to the numbered and lettered 546 items in Section 2.5. 548 A. A mobile node prefers a co-located care-of address and the peer 549 is a foreign agent that is capable of assigning such an address: 551 (1)(a) Request(IP=0,MIPv4=Home) / Nak(IP=coa) 552 (2)(a) Request(IP=coa,MIPv4=Home) / Ack(IP=coa,MIPv4=Home) 554 - Mobile node waits to receive an Agent Advertisement. 555 - If (Advertisement has R-bit set) then 556 Mobile node registers using co-located care-of address via 557 the foreign agent; 558 else 559 Mobile node registers using co-located care-of address 560 directly with its home agent. 562 B. A mobile node prefers a co-located care-of address and the peer 563 is a foreign agent that cannot assign a co-located care-of 564 address (e.g., it has no pool of addresses from which to allocate 565 for the purpose of assignment): 567 (1)(c) Request(IP=0,MIPv4=Home) / Reject(IP=0) 568 (4)(a) Request(MIPv4=Home) / Ack(MIPv4=Home) 570 - IPCP completes. 571 - Mobile node waits to receive an Agent Advertisement. 572 - Mobile node registers using the peer's foreign agent care-of 573 address with its home agent. 575 C. A mobile node prefers a co-located care-of address and the peer 576 determines that the mobile node's home address is such that the 577 mobile node is connecting to its home link: 579 (1)(b) Request(IP=0,MIPv4=Home) / Nak(IP=Home) 580 (3)(a) Request(IP=Home,MIPv4=Home) / Ack(IP=Home,MIPv4=Home) 582 - IPCP completes. 583 - Mobile node de-registers with its home agent. 585 D. A mobile node prefers a foreign agent care-of address and the 586 peer is a foreign agent which finds this state of affairs 587 satisfactory: 589 (4)(a) Request(MIPv4=Home) / Ack(MIPv4=Home) 591 - IPCP completes. 592 - Mobile node waits to receive an Agent Advertisement. 593 - Mobile node registers using the peer's foreign agent care-of 594 or de-registers at home, depending on the values in the Agent 595 Advertisement. 597 E. A mobile node prefers a co-located care-of address and the peer 598 does not implement the Mobile-IPv4 Configuration Option. The 599 peer is, however, capable of assigning dynamic addresses: 601 (1)(d) Request(IP=0,MIPv4=Home) / Reject(MIPv4=Home) 602 (5)(a) Request(IP=0) / Nak(IP=a.b.c.d) 603 (6)(a) Request(IP=a.b.c.d) / Ack(IP=a.b.c.d) 605 - IPCP completes. 606 - Mobile node registers using a.b.c.d as a co-located care-of 607 address with its home agent. 609 F. A mobile node prefers a co-located care-of address and the peer 610 does not implement the Mobile-IPv4 Configuration Option. The peer 611 is not capable of assigning dynamic addresses: 613 (1)(e) Request(IP=0,MIPv4=Home) / Reject(IP=0,MIPv4=Home) 614 (7)(a) Request() / Ack() 616 - IPCP completes. 617 - Mobile node sends an Agent Solicitation and/or attempts to 618 obtain a co-located care-of address via means outside IPCP 619 (e.g., DHCP or manual configuration), or it gives up. 621 3. Additional Requirements 623 3.1. Other IPCP Options 625 A mobile node MUST NOT include the deprecated IP-Addresses option in 626 any Configure-Request that contains a Mobile-IPv4 option, an IP- 627 Address option, or both. Conversely, the mobile node MAY include an 628 IP-Compression-Protocol option and any other options that do not 629 involve the negotiation of IP addresses. If a mobile node and a 630 foreign agent or home agent agree in IPCP to use Van Jacobson Header 631 Compression [RFC 1144], then the mobile node MUST NOT set the 'V' bit 632 in its ensuing, Mobile IP Registration Request [RFC 2002]. 634 3.2. Move Detection 636 Mobile nodes that connect via PPP MUST correctly implement PPP's 637 IPCP, since movement by the mobile node will likely change its PPP 638 peer. Specifically, mobile nodes MUST be prepared to renegotiate 639 IPCP at any time, including, the renegotiation of the IP-Address 640 Configuration Option and the Mobile-IPv4 Configuration Option 641 described in this document. As per [RFC 1661], a mobile node in the 642 Opened state MUST renegotiate IPCP upon receiving an IPCP Configure- 643 Request from its peer. 645 Also note that certain wireless links can employ handoff and proxying 646 mechanisms that would not necessarily require bringing down a PPP 647 link but would indeed require a mobile node to register with a new 648 foreign agent. Therefore, mobile nodes which connect to an agent via 649 PPP MUST employ their move detection algorithms (see section 2.4.2 in 650 [RFC 2002]) and register whenever they detect a change in 651 connectivity. 653 Specifically, a mobile node that fails to receive an Agent 654 Advertisement within the Lifetime advertised by its current foreign 655 agent, MUST assume that it has lost contact with that foreign agent 656 (see Section 2.4.2.1, [RFC 2002]). If, in the mean time, the mobile 657 node has received Agent Advertisements from another foreign agent, 658 the mobile node SHOULD immediately register with that foreign agent 659 upon timing out with its current foreign agent. 661 Likewise, a mobile node that implements move detection based upon the 662 Prefix-Length Extension MUST compare the prefix of any advertising 663 agents with that of its current foreign agent (see Section 2.4.2.2, 664 [RFC 2002]). If such a mobile node receives an Agent Advertisement 665 from a foreign agent specifying a different prefix than that of its 666 current foreign agent, then the mobile node that employs this method 667 of move detection MUST register with that new foreign agent. 669 A mobile node MAY treat PPP link-establishment as a sufficient reason 670 to proceed with a new Mobile IP registration. Section 2 defines the 671 circumstances under which mobile nodes MUST wait for an Agent 672 Advertisement before registering. Accordingly, foreign agents and 673 home agents SHOULD send an Agent Advertisement over a PPP link 674 immediately after IPCP for that link enters the Opened state. 676 4. Security Considerations 678 This document introduces no known security threats over and above 679 those facing any node on the Internet that either connects via PPP or 680 implements Mobile IP or both. Specifically, service providers should 681 use cryptographically strong authentication (e.g., CHAP [RFC 1994]) 682 to prevent theft-of-service. Additionally, users requiring 683 confidentiality should use PPP link encryption [RFC 1968], IP-layer 684 encryption [RFC 1827], or application-layer encryption, depending 685 upon their individual requirements. Finally, Mobile IP 686 authentication [RFC 2002] protects against trivial denial-of-service 687 attacks that could otherwise be waged against a mobile node and its 688 home agent. 690 5. References 692 [RFC 1144] Jacobson, V., "Compressing TCP/IP Headers for Low-Speed 693 Serial Links", RFC 1144, January 1990. 695 [RFC 1332] McGregor, G., "The PPP Internet Protocol Control Protocol 696 (IPCP)," RFC 1332, May 1992. 698 [RFC 1661] Simpson, W., Editor, "The Point-to-Point Protocol (PPP) 699 for the Transmission of Multi-protocol Datagrams over Point-to- 700 Point Links," RFC 1661, July 1994. 702 [RFC 1827] Atkinson, R., "IP Encapsulating Security Payload (ESP)", 703 RFC 1827, August 1995. 705 [RFC 1994] Simpson, W., "PPP Challenge Handshake Authentication 706 Protocol (CHAP)", RFC 1994, August 1996. 708 [RFC 1968] Meyer, G., "The PPP Encryption Control Protocol (ECP)", 709 RFC 1968, June 1996. 711 [RFC 2002] Perkins, C., Editor, "IP Mobility Support", RFC 2002, 712 October 1996. 714 6. Acknowledgments 716 The design of this protocol and option were inspired by an earlier 717 submission by B. Patel and C. Perkins, then of IBM, in draft-patel- 718 mobileip-pppext-00.txt, which has since expired. Also, some of 719 William Simpson's text was copied verbatim from [RFC 1661] in order 720 to ensure consistency of terminology and specification. The same 721 goes for some of Charlie Perkins' text, including definitions, from 722 [RFC 2002]. 724 Tim Wilson and Chris Stanaway (Motorola) contributed significantly to 725 the design of this Configuration Option and protocol specification. 726 Special thanks to Vernon Schryver (SGI), Craig Fox (Cisco), Karl Fox 727 (Ascend), and John Bray (FTP) for their helpful suggestions, 728 comments, and patience. 730 7. Authors' Addresses 732 Questions about this memo can be directed to: 734 Jim Solomon 735 Motorola, Inc. 736 1301 E. Algonquin Rd. - Rm 2240 737 Schaumburg, IL 60196 739 Voice: +1-847-576-2753 740 Fax: +1-847-576-3240 741 E-Mail: solomon@comm.mot.com 743 Steven Glass 744 FTP Software, Inc. 745 2 High Street 746 North Andover, MA 01845 748 Voice: +1-508-685-4000 749 Fax: +1-508-684-6105 750 E-mail: glass@ftp.com