idnits 2.17.1 draft-ietf-pppext-ipcp-mip-01.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-24) 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 (May 23, 1997) is 9833 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. -------------------------------------------------------------------------------- 2 PPP Extensions Working Group J. Solomon, Motorola 3 Internet Draft S. Glass, FTP Software 4 expires November 23, 1997 May 23, 1997 6 Mobile-IPv4 Configuration Option for PPP IPCP 7 9 Status of this Memo 11 This document is a submission to the PPPEXT working group of the 12 IETF. Questions and comments should be sent to the mailing list: 13 ietf-ppp@merit.edu. 15 This document is an Internet-Draft. Internet-Drafts are working 16 documents of the Internet Engineering Task Force (IETF), its areas, 17 and its working groups. Note that other groups may also distribute 18 working documents as Internet-Drafts. 20 Internet-Drafts are draft documents valid for a maximum of six months 21 and may be updated, replaced, or obsoleted by other documents at any 22 time. It is inappropriate to use Internet-Drafts as reference 23 material or to cite them other than as ``work in progress.'' 25 To learn the current status of any Internet-Draft, please check the 26 ``1id-abstracts.txt'' listing contained in the Internet-Drafts Shadow 27 Directories on ftp.is.co.za (Africa), nic.nordu.net (Europe), 28 munnari.oz.au (Pacific Rim), ds.internic.net (US East Coast), or 29 ftp.isi.edu (US West Coast). 31 Distribution of this memo is unlimited. 33 Abstract 35 Mobile IP [RFC 2002] defines media-independent procedures by which a 36 Mobile Node can maintain existing transport and application-layer 37 connections despite changing its point-of-attachment to the Internet 38 and without changing its IP address. PPP [RFC 1661] provides a 39 standard method for transporting multi-protocol packets over point- 40 to-point links. As currently specified, Mobile IP Foreign Agents 41 which support Mobile Node connections via PPP can do so only by first 42 assigning unique addresses to those Mobile Nodes, defeating one of 43 the primary advantages of Foreign Agents. This documents corrects 44 this problem by defining the Mobile-IPv4 Configuration Option to the 45 Internet Protocol Control Protocol (IPCP) [RFC 1332]. Using this 46 option, two peers can communicate their support for Mobile IP during 47 the IPCP phase of PPP. Familiarity with Mobile IP [RFC 2002], IPCP 48 [RFC 1332], and PPP [RFC 1661] is assumed. 50 Contents 52 1. Introduction . . . . . . . . . . . . . . . . . . . . . . . . . 2 53 1.1. Terminology . . . . . . . . . . . . . . . . . . . . . . 3 54 1.2. Problem Statement . . . . . . . . . . . . . . . . . . . 4 55 1.3. Requirements . . . . . . . . . . . . . . . . . . . . . . 6 56 1.4. Specification Language . . . . . . . . . . . . . . . . . 6 57 2. Mobile-IPv4 Configuration Option . . . . . . . . . . . . . . . 7 58 2.1. Option Format . . . . . . . . . . . . . . . . . . . . . 7 59 2.2. Overview . . . . . . . . . . . . . . . . . . . . . . . . 8 60 2.3. High-Level Requirements for Non-Mobile-Nodes . . . . . . 8 61 2.4. High-Level Requirements for Mobile Nodes . . . . . . . . 9 62 2.5. Detailed Description . . . . . . . . . . . . . . . . . . 10 63 2.6. Example Scenarios . . . . . . . . . . . . . . . . . . . 14 64 3. Additional Requirements . . . . . . . . . . . . . . . . . . . 15 65 3.1. Other IPCP Options . . . . . . . . . . . . . . . . . . . 15 66 3.2. Move Detection . . . . . . . . . . . . . . . . . . . . . 16 67 4. Security Considerations . . . . . . . . . . . . . . . . . . . 17 68 5. References . . . . . . . . . . . . . . . . . . . . . . . . . . 17 69 6. Acknowledgments . . . . . . . . . . . . . . . . . . . . . . . 17 70 7. Authors' Addresses . . . . . . . . . . . . . . . . . . . . . . 18 72 1. Introduction 74 Mobile IP [RFC 2002] defines protocols and procedures by which 75 packets can be routed to a mobile node, regardless of its current 76 point-of-attachment to the Internet, and without changing its IP 77 address. Mobile IP is designed to run over any type of media and any 78 type of data link-layer. However, the interaction between Mobile IP 79 and PPP is currently underspecified and generally results in an 80 inappropriate application of Mobile IP when mobile nodes connect to 81 the Internet via PPP. 83 This document defines proper interaction between a mobile node [RFC 84 2002] and a peer through which the mobile node connects to the 85 Internet using PPP. This requires the definition of a new option for 86 IPCP [RFC 1332], named the "Mobile-IPv4" Configuration Option, which 87 is defined in this document. The mobile node and the peer use this 88 option to negotiate the appropriate use of Mobile IP over the PPP 89 link. 91 The Mobile-IPv4 option defined in this document is intended to work 92 in conjunction with the existing IP-Address option [RFC 1332]. This 93 is in contrast to previous versions of this document which defined a 94 replacement for the IP-Address option. 96 1.1. Terminology 98 This document uses the following terms as defined in [RFC 2002]: 100 Mobile Node 102 A host or router that changes its point-of-attachment from one 103 link to another. A mobile node may change its location without 104 changing its IP address; it may continue to communicate with other 105 Internet nodes at any location using its (permanent) home, IP 106 address, assuming link-layer connectivity is available at its 107 current location. 109 Home Agent 111 A router with at least one interface on a mobile node's home link. 112 A home agent intercepts packets destined to a mobile node's home 113 address and tunnels them to the mobile node's care-of address when 114 the mobile node is connected to a foreign link. A mobile node 115 informs its home agent of its current care-of address through an 116 authenticated registration protocol defined by Mobile IP. 118 Foreign Agent 120 A router with at least one interface on a mobile node's (current) 121 foreign link. When a mobile node uses a foreign agent's care-of 122 address, the foreign agent detunnels and delivers packets to the 123 mobile node that were tunneled by the mobile node's home agent. A 124 foreign agent might also serve as a default router for packets 125 sent by a registered mobile node. 127 Peer 129 The PPP peer of a mobile node. The mobile node's peer might 130 support home agent functionality, foreign agent functionality, 131 both, or neither. 133 1.2. Problem Statement 135 In Mobile IP, packets sent to a mobile node's home address are routed 136 first to the mobile node's home agent, a router on the mobile node's 137 home link which intercepts packets sent to the home address. The 138 home agent then tunnels such packets to the mobile node's care-of 139 address, where the packets are extracted from the tunnel and 140 delivered to the mobile node. There are two types of care-of 141 addresses: 143 Co-located Care-of Address 145 An address temporarily assigned to a mobile node itself. In this 146 case, the mobile node is the exit-point of the tunnel and 147 decapsulates packets encapsulated for delivery by its home agent. 148 A Co-located Care-of Address may be used by exactly one mobile 149 node at any point in time. 151 Foreign Agent Care-of Address 153 An address of a foreign agent that has at least one interface on a 154 mobile node's visited, foreign link. In this case, the foreign 155 agent decapsulates packets that have been tunneled by the home 156 agent and delivers them to the mobile node over the visited link. 157 A Foreign Agent Care-of Address may be used simultaneously by many 158 mobile nodes at any point in time. 160 In Appendix B, Mobile IP [RFC 2002] currently specifies only the 161 following with respect to PPP: 163 "The Point-to-Point-Protocol (PPP) [RFC 1661] and its Internet 164 Protocol Control Protocol (IPCP) [RFC 1332], negotiates [sic] the 165 use of IP addresses. 167 "The mobile node SHOULD first attempt to specify its home address, 168 so that if the mobile node is attaching to its home [link], the 169 unrouted link will function correctly. When the home address is 170 not accepted by the peer, but a transient IP address is 171 dynamically assigned to the mobile node, and the mobile node is 172 capable of supporting a co-located care-of address, the mobile 173 node MAY register that address as a co-located care-of address. 174 When the peer specifies its own IP address, that address MUST NOT 175 be assumed to be a foreign agent care-of address or the IP address 176 of a home agent." 178 Inspection of this text reveals that there is currently no way for 179 the mobile node to use a foreign agent care-of address, without first 180 being assigned a unique IP address, even if the peer also supports 181 foreign agent functionality. The reason for this can be seen by 182 walking through the IPCP negotiation: 184 1. A mobile node connects to a peer via PPP and proposes its home 185 address in an IPCP Configure-Request containing the IP-Address 186 option. In this scenario, we assume that the mobile node is 187 connecting to some foreign link. 189 2. The peer has no way of knowing whether this Configure-Request was 190 received from: (a) a mobile node proposing its home address; or 191 (b) a conventional node proposing some topologically non-routable 192 address. In this case, the peer must (conservatively) send a 193 Configure-Nak of the IP-Address option supplying a topologically 194 appropriate address for use by the node at the other end of the 195 PPP link. 197 3. The mobile node, in turn, has no way of knowing whether this 198 Configure-Nak was received because the peer is a foreign agent 199 being conservative, or because the peer does not implement Mobile 200 IP at all. Therefore, the mobile node must (conservatively) 201 assume that the peer does not implement Mobile IP and continue 202 the negotiation of an IP address in IPCP, after which point the 203 mobile node can use the assigned address as a co-located care-of 204 address. 206 Here we observe that, even if the mobile node's peer is a foreign 207 agent and sends an Agent Advertisement to the mobile node after IPCP 208 reaches the Opened state, the mobile node will still have negotiated 209 a routable address in step 3, which it is likely already using as a 210 co-located care-of address. This defeats the purpose of foreign 211 agent care-of addresses, which are designed to be shared by multiple 212 mobile nodes and to eliminate the need to assign a unique address to 213 each mobile node. 215 1.3. Requirements 217 The purpose of this document is to specify the behavior of both ends 218 of the PPP link when one or more of the PPP peers supports Mobile IP. 219 Specifically, the design of the option and protocol defined in this 220 document is based upon the following requirements: 222 1. The option and protocol described in this document must be 223 backwards compatible with conventional nodes and their potential 224 peers which do not implement this option nor any Mobile IP 225 functionality. 227 2. The option and protocol described in this document must 228 accommodate a variety of scenarios, minimally those provided in 229 the examples of Section 2.6. 231 3. The option and protocol described in this document must not 232 duplicate any functionality already defined in other IPCP 233 options; specifically, the IP-Address option. 235 4. A unique address must not be assigned to a mobile node unless 236 absolutely necessary. Specifically, no such address is assigned 237 to a mobile node that connects via PPP to its home link or a 238 mobile node that connects via PPP to a foreign agent (and uses 239 that foreign agent's care-of address). 241 1.4. Specification Language 243 The key words "MUST", "MUST NOT", "REQUIRED", "SHALL", "SHALL NOT", 244 "SHOULD", "SHOULD NOT", "RECOMMENDED", "MAY", and "OPTIONAL" in this 245 document are to be interpreted as described in RFC 2119. 247 2. Mobile-IPv4 Configuration Option 249 This section defines the Mobile-IPv4 Configuration Option and 250 provides several examples of its use. 252 2.1. Option Format 254 The Mobile-IPv4 Configuration Option for IPCP is defined as follows: 256 0 1 2 3 257 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 258 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 259 | Type | Length | Mobile Node's ... 260 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 261 ... Home Address | 262 +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+ 264 Type 266 137 (Mobile-IPv4) 268 Length 270 6 (The length of this entire extension in bytes) 272 Mobile Node's Home Address 274 In a Configure-Request, the IP home address of the mobile node 275 sending this Configuration Option; otherwise, the (unmodified) IP 276 home address of the peer when sent in a Configure-Ack or 277 Configure-Reject. Configure-Nak'ing this option is undefined and 278 MUST NOT be sent by implementations complying with this version of 279 the specification. This field MUST NOT be zero. 281 Default Value 283 The Mobile-IPv4 Configuration Option defaults to the sending 284 mobile node's home address. 286 In describing the operation of the Mobile-IPv4 Configuration Option 287 (in conjunction with the IP-Address Configuration Option), we use the 288 following abbreviations: 290 PPP Message Types: 291 Request = Configure-Request 292 Reject = Configure-Reject 293 Ack = Configure-Ack 294 Nak = Configure-Nak 296 IPCP Configuration Options: 297 MIPv4 = Mobile-IPv4 298 IP = IP-Address 300 IP addresses: 301 a.b.c.d = some non-zero IP address 302 w.x.y.z = some non-zero IP address other than a.b.c.d 303 home = a mobile node's IP Home address 304 coa = an IP Care-Of Address 305 0 = the all-zeroes IP address (0.0.0.0) 307 2.2. Overview 309 The Mobile-IPv4 Configuration Option is designed to be used in 310 conjunction with the IP-Address Configuration Option. For the 311 convenience of implementors, the detailed description in section 2.5 312 includes all possible combinations of these two options that might be 313 sent by a PPP peer during IPCP. Along with each possibility is a 314 description of how the receiver should interpret the contents as well 315 as a suggested course of action. 317 2.3. High-Level Requirements for Non-Mobile-Nodes 319 A node that is not performing mobile node functionality (such as 320 non-Mobile-IP-aware nodes as well as nodes performing only home agent 321 functionality, foreign agent functionality, or both) MUST NOT include 322 a Mobile-IPv4 Configuration Option within any Configure-Request 323 message. Such a node SHOULD send a Configure-Request containing an 324 IP-Address Configuration Option in which the IP-Address field is set 325 to a non-zero IP address that the node has assigned to one of its 326 interfaces. If an explicit IP address has been assigned to the 327 node's PPP interface then this address SHOULD be sent in preference 328 to any of the node's other addresses. 330 A node MUST NOT send a Configure-Nak containing a Mobile-IPv4 331 Configuration Option. Doing so is currently "undefined" and might 332 cause interoperability problems when a useful meaning for Configure- 333 Nak is ultimately defined for the Mobile-IPv4 Configuration Option. 334 A node that sends a Configure-Ack containing a Mobile-IPv4 335 Configuration Option SHOULD send an Agent Advertisement [RFC 2002] 336 immediately upon IPCP for that link entering the Opened state. 338 2.4. High-Level Requirements for Mobile Nodes 340 A mobile node SHOULD begin its IPCP negotiation by sending the 341 Configure-Request described in either item #1 or item #4 in Section 342 2.5. The mobile node MAY begin its negotiation with one of the other 343 numbered items in Section 2.5 under extenuating circumstances. 345 A mobile node that receives a Configure-Ack containing a Mobile-IPv4 346 Configuration Option MUST receive an Agent Advertisement, possibly in 347 response to an Agent Solicitation, before sending a Registration 348 Request [RFC 2002] if that mobile node is connecting to a foreign 349 link. This is because the peer might be a foreign agent that 350 enforces a policy which requires a mobile node to register with that 351 foreign agent even if the mobile node is using a co-located care-of 352 address. A mobile node need not wait for such an advertisement if it 353 connects to its home link. 355 This specification recommends that a mobile node fall back to IP- 356 Address option-negotiation using Request(IP=0) if the Mobile-IPv4 357 Configuration Option is Rejected. This provides an opportunity for 358 the mobile node to obtain a co-located care-of address from its peer 359 if that peer supports dynamic address assignment through PPP. This 360 is in contrast to [RFC 2002] which recommends that mobile nodes send 361 Request(IP=Home). The problem with the latter is that some 362 implementations will send Ack(IP=Home) even though the mobile node is 363 not connecting to its home link. In such an instance, the mobile 364 node is better off requesting a co-located care-of address with 365 Request(IP=0) and falling back to Request() if its peer sends 366 Reject(IP=0). See Section 2.5 item (5)(b) and (7)(a) for the 367 relevant exchange. 369 A peer that is performing neither home agent nor foreign agent 370 functionality SHOULD send a Reject in response to any Request 371 received from its peer that contains a Mobile-IPv4 Configuration 372 Option. 374 2.5. Detailed Description 376 The numbered items below show all possible combinations of Mobile- 377 IPv4 and IP-Address Configuration Options that a mobile node (or a 378 conventional node) might send to its peer. Mobile nodes SHOULD begin 379 their IPCP negotiation with item #1 or item #4 depending on whether 380 they prefer a co-located or a foreign agent care-of address 381 respectively. The lettered items list the possible legal responses 382 that a peer might send to the mobile node (or conventional node) in 383 response to the numbered Request. 385 In each case, an interpretation is defined and a suggested course of 386 action is provided. Finally, it is believed that the presentation 387 below has the advantages of conciseness and precision in comparison 388 to an equivalent presentation in "prose form." 390 1. Request(IP=0,MIPv4=home) means "I prefer a co-located care-of 391 address to a foreign agent care-of address." Peer MUST respond 392 with one of the following: 394 a. Nak(IP=coa) means "use coa as your co-located care-of 395 address". Goto 2. 396 b. Nak(IP=home) means "you're at home and don't need a care-of 397 address". Goto 3. 398 c. Reject(IP=0) means "I cannot assign a co-located care-of 399 address but you're welcome to use me as a foreign agent". 400 Goto 4. 401 d. Reject(MIPv4=home) means "I do not implement the Mobile-IPv4 402 option". Goto 5. 403 e. Reject(IP=0,MIPv4=home) means "use the default". Goto 7. 405 => Ack(IP=0, ...), Nak(MIPv4=any, ...) MUST NOT be sent. 407 2. Request(IP=coa,MIPv4=home) means "I want to use coa as my co- 408 located care-of address." Peer MUST respond with one of the 409 following: 411 a. Ack(IP=coa,MIPv4=home) means "ok, use coa as your co-located 412 care-of address; be sure to wait for an advertisement." 413 Opened. 414 b. Nak(IP=coa') means "no, use coa' as your co-located care-of 415 address". Goto 2. 416 c. Nak(IP=home) means "you're at home and don't need a co- 417 located care-of address". Goto 3. 418 d. Reject(IP=coa) means "coa is not a useful value for a co- 419 located care-of address on this link and I cannot assign a 420 useful one -- you may use me as a foreign agent". Goto 4. 421 e. Reject(MIPv4=home) means "I do not implement the Mobile-IPv4 422 option". Goto 5. 423 f. Reject(IP=coa,MIPv4=home) means "use the default". Goto 7. 425 => Nak(MIPv4=any, ...) MUST NOT be sent. 427 3. Request(IP=home,MIPv4=home) means "I think I'm at home but if I'm 428 wrong then I prefer a co-located care-of address to a foreign 429 agent care-of address." Peer MUST respond with one of the 430 following: 432 a. Ack(IP=home,MIPv4=home) means "yes, you're at home". Opened. 433 b. Nak(IP=coa) means "you're not at home, use coa as your co- 434 located care-of address". Goto 2. 435 c. Reject(IP=home) means "you're not at home and I cannot assign 436 a co-located care-of address (or I will not negotiate the 437 IP-Address option) -- you may use me as a foreign agent". 438 Goto 4. 439 d. Reject(MIPv4=home) means "I do not implement the Mobile-IPv4 440 option". Goto 5. 441 e. Reject(IP=home,MIPv4=home) means "use the default". Goto 7. 443 => Nak(MIPv4=any, ...) MUST NOT be sent. 445 4. Request(MIPv4=home) means "I want to run Mobile IP over this link 446 and I don't want a co-located care-of address." Peer MUST respond 447 with one of the following: 449 a. Ack(MIPv4=home) means "ok, wait for an advertisement to 450 figure out where you are." Opened. 451 b. Reject(MIPv4=home) means "I do not implement the Mobile-IPv4 452 option". Goto 5. 454 => Nak(MIPv4=any, ...) MUST NOT be sent. 456 5. Request(IP=0) means "Please assign an address/co-located-care- 457 of-address". Peer MUST respond with one of the following: 459 a. Nak(IP=a.b.c.d) means "use a.b.c.d as your address/co- 460 located-care-of-address". Goto 6. 461 b. Reject(IP=0) means "I cannot assign the requested 462 address/co-located-care-of-address; or, I do not implement 463 the IP-Address option". Goto 7. 465 => Ack(IP=0) MUST NOT be sent and historically means "I don't 466 know your address either". Opened. An implementation MUST 467 NOT use 0 as its IP address upon receiving Ack(IP=0) but MAY 468 use some other, non-zero, interface address for packets sent 469 on its PPP interface. 471 6. Request(IP=a.b.c.d) means "I want to use a.b.c.d as my 472 address/home-address/co-located-care-of-address". Peer MUST 473 respond with one of the following: 475 a. Ack(IP=a.b.c.d) means "ok, a.b.c.d is your address/home- 476 address/co-located-care-of-address". Opened. 477 b. Nak(IP=w.x.y.z) means "no, use w.x.y.z as your address/home- 478 address/co-located-care-of-address". Goto 6. 479 c. Reject(IP=a.b.c.d) means "a.b.c.d is a bad address to use, 480 but I cannot give you a good one" or "I do not implement the 481 IP-Address option". Goto 7. 483 7. Request() means "I want to use the default". Peer MUST respond 484 with one of the following: 486 a. Ack() means "ok, use the default". Opened. 488 In this case the mobile node will use the "default" values of 489 the IP-Address option (no address configured by IPCP) and the 490 Mobile-IPv4 option (the mobile node's IP home address). The 491 mobile node SHOULD send Agent Solicitations to see if there 492 are any agents present on the current link. (Note that the 493 current "link" might also include a shared medium if the 494 mobile node's PPP peer is a bridge.) If an agent is present 495 and the mobile node receives an Agent Advertisement, then the 496 mobile node employs its move-detection algorithm(s) and 497 registers accordingly. 499 In any case, if the mobile node's peer supplied an IP-Address 500 option containing a non-zero value within an IPCP Configure- 501 Request, the mobile node MAY use this address to determine 502 whether or not it is connected to its home link. This can be 503 accomplished by comparing the stated IP address with the 504 mobile node's home address under the prefix-length associated 505 with the home link. If the mobile node is connected to its 506 home link then it SHOULD de-register with its home agent. 507 Otherwise, the mobile node MAY attempt to obtain a 508 topologically routable address through any of its supported 509 means (e.g., DHCP, manual configuration, etc.) for use as a 510 co-located care-of address. If the mobile node is successful 511 in obtaining such an address then it SHOULD register this 512 address with its home agent. 514 => Nak(IP=0) SHOULD NOT be sent and historically means "send me 515 Request(a.b.c.d) because I insist on knowing your address". 516 Goto 6. 518 => Nak() MUST NOT be sent. 520 => Reject() MUST NOT be sent. 522 2.6. Example Scenarios 524 The section illustrates the use of the option and protocol as defined 525 in the previous sections. In the examples which follow, a 526 Configure-Request sent by a mobile node and the response generated by 527 the peer are shown on the same line. The number and letter to the 528 left of each request/response refer to the numbered and lettered 529 items in Section 2.5. 531 A. A mobile node prefers a co-located care-of address and the peer 532 is a foreign agent that is capable of assigning such an address: 534 (1)(a) Request(IP=0,MIPv4=Home) / Nak(IP=coa) 535 (2)(a) Request(IP=coa,MIPv4=Home) / Ack(IP=coa,MIPv4=Home) 537 - Mobile node waits to receive an Agent Advertisement. 538 - If (Advertisement has R-bit set) then 539 Mobile node registers using co-located care-of address via 540 the foreign agent; 541 else 542 Mobile node registers using co-located care-of address 543 directly with its home agent. 545 B. A mobile node prefers a co-located care-of address and the peer 546 is a foreign agent that cannot assign a co-located care-of 547 address (e.g., it has no pool of addresses from which to allocate 548 for the purpose of assignment): 550 (1)(c) Request(IP=0,MIPv4=Home) / Reject(IP=0) 551 (4)(a) Request(MIPv4=Home) / Ack(MIPv4=Home) 553 - IPCP completes. 554 - Mobile node waits to receive an Agent Advertisement. 555 - Mobile node registers using the peer's foreign agent care-of 556 address with its home agent. 558 C. A mobile node prefers a co-located care-of address and the peer 559 determines that the mobile node's home address is such that the 560 mobile node is connecting to its home link: 562 (1)(b) Request(IP=0,MIPv4=Home) / Nak(IP=Home) 563 (3)(a) Request(IP=Home,MIPv4=Home) / Ack(IP=Home,MIPv4=Home) 565 - IPCP completes. 566 - Mobile node de-registers with its home agent. 568 D. A mobile node prefers a foreign agent care-of address and the 569 peer is a foreign agent which finds this state of affairs 570 satisfactory: 572 (4)(a) Request(MIPv4=Home) / Ack(MIPv4=Home) 574 - IPCP completes. 575 - Mobile node waits to receive an Agent Advertisement. 576 - Mobile node registers using the peer's foreign agent care-of 577 or de-registers at home, depending on the values in the Agent 578 Advertisement. 580 E. A mobile node prefers a co-located care-of address and the peer 581 does not implement the Mobile-IPv4 Configuration Option. The 582 peer is, however, capable of assigning dynamic addresses: 584 (1)(d) Request(IP=0,MIPv4=Home) / Reject(MIPv4=Home) 585 (5)(a) Request(IP=0) / Nak(IP=a.b.c.d) 586 (6)(a) Request(IP=a.b.c.d) / Ack(IP=a.b.c.d) 588 - IPCP completes. 589 - Mobile node registers using a.b.c.d as a co-located care-of 590 address with its home agent. 592 F. A mobile node prefers a co-located care-of address and the peer 593 does not implement the Mobile-IPv4 Configuration Option. The peer 594 is not capable of assigning dynamic addresses: 596 (1)(e) Request(IP=0,MIPv4=Home) / Reject(IP=0,MIPv4=Home) 597 (7)(a) Request() / Ack() 599 - IPCP completes. 600 - Mobile node sends an Agent Solicitation and/or attempts to 601 obtain a co-located care-of address via means outside IPCP 602 (e.g., DHCP or manual configuration), or it gives up. 604 3. Additional Requirements 606 3.1. Other IPCP Options 608 A mobile node MUST NOT include the deprecated IP-Addresses option in 609 any Configure-Request that contains a Mobile-IPv4 option, an IP- 610 Address option, or both. Conversely, the mobile node MAY include an 611 IP-Compression-Protocol option and any other options that do not 612 involve the negotiation of IP addresses. If a mobile node and a 613 foreign agent or home agent agree in IPCP to use Van Jacobson Header 614 Compression [RFC 1144], then the mobile node MUST NOT set the 'V' bit 615 in its ensuing, Mobile IP Registration Request [RFC 2002]. 617 3.2. Move Detection 619 Mobile nodes that connect via PPP MUST correctly implement PPP's 620 IPCP, since movement by the mobile node will likely change its PPP 621 peer. Specifically, mobile nodes MUST be prepared to re-negotiate 622 IPCP at any time, including, the re-negotiation of the Mobile-IPv4 623 Configuration Option described in this document. 625 Also note that certain wireless links can employ handoff and proxying 626 mechanisms that would not necessarily require bringing down a PPP 627 link but would indeed require a mobile node to register with a new 628 foreign agent. Therefore, mobile nodes which connect to an agent via 629 PPP MUST employ their move detection algorithms (see section 2.4.2 in 630 [RFC 2002]) and register whenever they detect a change in 631 connectivity. 633 Specifically, a mobile node that fails to receive an Agent 634 Advertisement within the Lifetime advertised by its current foreign 635 agent, MUST assume that it has lost contact with that foreign agent 636 (see Section 2.4.2.1, [RFC 2002]). If, in the mean time, the mobile 637 node has received Agent Advertisements from another foreign agent, 638 the mobile node SHOULD immediately register with that foreign agent 639 upon timing out with its current foreign agent. 641 Likewise, a mobile node that implements move detection based upon the 642 Prefix-Length Extension MUST compare the prefix of any advertising 643 agents with that of its current foreign agent (see Section 2.4.2.2, 644 [RFC 2002]). If such a mobile node receives an Agent Advertisement 645 from a foreign agent specifying a different prefix than that of its 646 current foreign agent, then the mobile node that employs this method 647 of move detection MUST register with that new foreign agent. 649 A mobile node MAY treat PPP link-establishment as a sufficient reason 650 to proceed with a new Mobile IP registration. Section 2 defines the 651 circumstances under which mobile nodes MUST wait for an Agent 652 Advertisement before registering. Accordingly, foreign agents and 653 home agents SHOULD send an Agent Advertisement over a PPP link 654 immediately after IPCP for that link enters the Opened state. 656 4. Security Considerations 658 This document introduces no known security threats over and above 659 those facing any node on the Internet that either connects via PPP or 660 implements Mobile IP or both. Specifically, service providers should 661 use cryptographically strong authentication (e.g., CHAP [RFC 1994]) 662 to prevent theft-of-service. Additionally, users requiring 663 confidentiality should use PPP link encryption [RFC 1968], IP-layer 664 encryption [RFC 1827], or application-layer encryption, depending 665 upon their individual requirements. Finally, Mobile IP 666 authentication [RFC 2002] protects against trivial denial-of-service 667 attacks that could otherwise be waged against a mobile node and its 668 home agent. 670 5. References 672 [RFC 1144] Jacobson, V., "Compressing TCP/IP Headers for Low-Speed 673 Serial Links", RFC 1144, January 1990. 675 [RFC 1332] McGregor, G., "The PPP Internet Protocol Control Protocol 676 (IPCP)," RFC 1332, May 1992. 678 [RFC 1661] Simpson, W., Editor, "The Point-to-Point Protocol (PPP) 679 for the Transmission of Multi-protocol Datagrams over Point-to- 680 Point Links," RFC 1661, July 1994. 682 [RFC 1827] Atkinson, R., "IP Encapsulating Security Payload (ESP)", 683 RFC 1827, August 1995. 685 [RFC 1994] Simpson, W., "PPP Challenge Handshake Authentication 686 Protocol (CHAP)", RFC 1994, August 1996. 688 [RFC 1968] Meyer, G., "The PPP Encryption Control Protocol (ECP)", 689 RFC 1968, June 1996. 691 [RFC 2002] Perkins, C., Editor, "IP Mobility Support", RFC 2002, 692 October 1996. 694 6. Acknowledgments 696 The design of this protocol and option were inspired by an earlier 697 submission by B. Patel and C. Perkins, then of IBM, in draft-patel- 698 mobileip-pppext-00.txt, which has since expired. Also, some of 699 William Simpson's text was copied verbatim from [RFC 1661] in order 700 to ensure consistency of terminology and specification. The same 701 goes for some of Charlie Perkins' text, including definitions, from 702 [RFC 2002]. 704 Tim Wilson and Chris Stanaway (Motorola) contributed significantly to 705 the design of this Configuration Option and protocol specification. 706 Special thanks to Vernon Schryver (SGI), Craig Fox (Cisco), Karl Fox 707 (Ascend), and John Bray (FTP) for their helpful suggestions, 708 comments, and patience. 710 7. Authors' Addresses 712 Questions about this memo can be directed to: 714 Jim Solomon 715 Motorola, Inc. 716 1301 E. Algonquin Rd. - Rm 2240 717 Schaumburg, IL 60196 719 Voice: +1-847-576-2753 720 Fax: +1-847-576-3240 721 E-Mail: solomon@comm.mot.com 723 Steven Glass 724 FTP Software, Inc. 725 2 High Street 726 North Andover, MA 01845 728 Voice: +1-508-685-4000 729 Fax: +1-508-684-6105 730 E-mail: glass@ftp.com