RFC 1688

IPng Mobility Considerations

πŸ“… published August 1994, from ietf

RFC 1688: IPng Mobility Considerations πŸ¦‹

okay bestie, this RFC is all about how the next version of IP (called IPng) should handle devices that keep moving around 🌸 here's the title block tea:

  • Working group: Network Working Group πŸ’…
  • RFC number: 1688
  • Title: IPng Mobility Considerations
  • Author: W. Simpson, Daydreamer ✨
  • Category: Informational
  • Date: August 1994
  • Obsoletes/Updates: it doesn't list anything it obsoletes or updates πŸ’œ

Status of this Memo ✨

okay so this memo is just info for the Internet community 🧚 it does not specify an Internet standard of any kind, so nothing here is official law. and the memo can be shared as much as you want, no limits πŸ’–

Abstract πŸŽ€

this doc was submitted to the IPng Area as a response to RFC 1550 πŸ“¬. just because it got published doesn't mean the IPng Area agrees with any of the ideas inside πŸ™ˆ. comments SHOULD be submitted to the big-internet@munnari.oz.au mailing list. basically, this RFC lays out mobility criteria to think about when designing and picking the Next Generation of IP πŸ”₯

Table of Contents πŸ“š

   1.     Introduction ..........................................    2
   2.     Addressing ............................................    2
      2.1       Ownership .......................................    2
      2.2       Topology ........................................    3
      2.3       Manufacturer ....................................    3
      2.4       Numbering .......................................    3
      2.5       Configuration ...................................    3
   3.     Communication .........................................    3
      3.1       Topological Changes .............................    4
      3.2       Routing Updates .................................    4
      3.3       Path Optimization ...............................    5
      3.4       At Home .........................................    5
      3.5       Away From Home ..................................    5
   4.     Security ..............................................    5
      4.1       Authentication ..................................    5
      4.2       Anonymity .......................................    6
      4.3       Location Privacy ................................    6
      4.4       Content Privacy .................................    6
   5.     Bandwidth .............................................    6
      5.1       Administrative Messages .........................    7
      5.2       Response Time ...................................    7
      5.3       Header Prediction ...............................    8
   6.     Processing ............................................    8
      6.1       Fixed Location ..................................    8
      6.2       Simple Fields ...................................    9
      6.3       Simple Tests ....................................    9
      6.4       Type, Length, Value .............................    9
   Acknowledgements .............................................    9
   Security Considerations ......................................    9
   Author's Address .............................................    9

1. Introduction πŸ’–

okay so, the current Internet Protocol is lowkey built on the assumption that a node stays put 🏠 datagrams get sent to a node based on the location info baked into its IP address.

if a node moves but keeps the same IP address, its IP network number won't match where it is now 😭 the routing protocols then can't route datagrams to it correctly. it's giving broken.

a bunch of considerations come up for routing these datagrams to a Mobile Node 🧚

2. Addressing πŸŽ€

every Mobile Node MUST have at least one Home-Address that tells other nodes who it is πŸͺͺ and that Home-Address MUST be globally unique, no twins allowed πŸ‘―

2.1. Ownership πŸ’œ

having ownership info inside the Home-Address would be super helpful πŸ™Œ the organization that owns the machine assigns the Mobile Node its Home-Address, and the node can keep using it no matter where it plugs in πŸ”Œ

the ownership info MUST be organized so that "inverse" lookup works in the Domain Name Service and other future services πŸ” other nodes could use ownership info to figure out the Mobile Node's current topological location πŸ‘€ and it could also be used to make accounting records 🧾

2.2. Topology πŸ—ΊοΈ

there is no requirement that the Home-Address carry topological info. honestly, by the very nature of mobility, any topo info in there is useless anyway 🀷

but if topological info IS in the Home-Address, it MUST NOT hinder mobility, whether by blocking relocation or by wasting bandwidth or processing efficiency πŸ’€

2.3. Manufacturer 🏭

there is no requirement that the Home-Address carry manufacturer info either πŸ™…

and if manufacturer info is in there, it MUST NOT hinder mobility, whether by blocking relocation or by wasting bandwidth or processing efficiency 😀

2.4. Numbering πŸ”’

the number of mobile nodes is expected to be capped by how many users there are over the lifetime of the IPng protocol 🌍 the max sustainable world-wide population is estimated at 16e9, but during IPng's lifetime the population isn't expected to go past 8e9 πŸ“ˆ

each user is assumed to be mobile, with a max combined personal mobile and home network(s) on the order of 4e3 nodes πŸ“±πŸ 

the expectation is that only 46 bits will be needed to densely number all mobile and home nodes πŸ”’βœ¨ and the size of addressing elements is also limited by bandwidth efficiency and processing efficiency, more on that later πŸ’…

2.5. Configuration βš™οΈ

most users aren't gonna be aware of, willing, or able to babysit 4e3 nodes 😩 so Home-Address assignment MUST be automatically configurable. registering the nodes MUST also be dynamic and transparent to the user, whether they're home or away from home 🏑✈️

3. Communication πŸ’¬

a Mobile Node MUST continue to be capable of communicating directly with other nodes that don't implement mobility functions 🫢

no protocol enhancements are REQUIRED in hosts or routers that aren't serving any mobility functions πŸ™Œ similarly, a router that isn't acting as a Home Agent or a Foreign Agent doesn't need extra protocols to route datagrams to or from a Mobile Node 🚦

a Mobile Node using its Home-Address MUST be able to communicate with other nodes after being disconnected from the Internet and then reconnected at a different point of attachment πŸ”Œ

and a Mobile Node using its Home-Address MUST be able to communicate with other nodes while roaming between different points of attachment, without losing transport connections πŸƒβ€β™€οΈπŸ’¨

3.1. Topological Changes πŸ”€

so that transport connections stay up while roaming, topological changes MUST NOT affect transport connections πŸ›‘οΈ

for correspondent nodes that don't implement mobility functions, topological changes SHOULD NOT be communicated to the correspondent 🀐

for correspondent nodes that DO implement mobility functions, the correspondent SHOULD be capable of determining topological changes 🧠

topological change info MUST be capable of being inserted and removed by routers in the datagram path, as well as by the correspondent and the Mobile Node πŸ”

3.2. Routing Updates πŸ›£οΈ

Mobile Nodes are expected to be able to change their point of attachment no more often than once per second 🐒

changes in topology that happen more frequently MUST be handled at the link layer, transparently to the internetwork layer 🫠 it's also worth noting that engineering margins may require the link layer to handle all changes at a frequency around 10 seconds.

changes in topology that happen less frequently MUST be immediately reflected in the mobility updates. this may preclude using the Domain Name Service as the repository of mobility topological info πŸ™ƒ

it MUST be noted that global routing updates don't operate at this frequency 🐌 since old topo info can go stale faster than global routing updates, access to the mobility repository MUST be independent of prior topo info πŸ”

the mobility-specific repository SHOULD use ownership info in the Home-Address to access the repository πŸ’œ

3.3. Path Optimization πŸ›€οΈ

optimizing the path from a correspondent to a mobile node is NOT REQUIRED. however, it's still desirable πŸ’–

for correspondent nodes that implement mobility functions, the correspondent SHOULD be capable of determining the optimal path 🎯

the optimization mechanism is also constrained by security, bandwidth efficiency, and processing efficiency, as described later 🧩

3.4. At Home 🏑

Mobile Nodes do not require special "virtual" home network addresses. the idea that extra addresses or multiple routers are available is unwarranted in small networks πŸ™…β€β™€οΈ

Mobile Nodes MUST operate without special assistance from routers in order to communicate directly with other nodes on the home subnetwork link 🏠✨

3.5. Away From Home ✈️

when a router is present and the correspondent doesn't implement mobility functions, the router MUST be capable of redirecting the correspondent to communicate directly with the Mobile Node πŸ”€

when no router is present, Mobile Nodes MUST be capable of communicating directly with other nodes on the same link 🀝

mobility MUST NOT create an environment that's less secure than the current Internet πŸš«πŸ”

and changes in topology MUST NOT affect internode security mechanisms πŸ›‘οΈπŸ’…

4. Security πŸ”

4.1. Authentication πŸͺͺ

mobility registration messages MUST be authenticated between the home topological repository and the Mobile Node πŸ“¨βœ…

when the correspondent implements mobility functions, redirection or path optimization MUST be authenticated between the correspondent and the Mobile Node πŸ”

4.2. Anonymity 🎭

the capability to attach to a foreign administrative domain without the foreign administration knowing is not prohibited πŸ‘€ however, any mobility mechanism MUST provide the ability to prevent such attachment 🚧

4.3. Location Privacy πŸ“

the capability to attach to a foreign administrative domain without the correspondents knowing is not prohibited 🫣 however, any mobility mechanism MUST provide the ability for the home administration to trace the current path to the point of attachment πŸ•΅οΈβ€β™€οΈ

4.4. Content Privacy πŸ”’

security mechanisms that provide content privacy MUST NOT obscure or have a dependency on the topological location of Mobile Nodes πŸ™ˆπŸ’œ


to be continued in part 2 🫢✨

5. Bandwidth πŸ¦‹

okay bestie, this section is about the fact that mobility MUST work on the links we actually have, and it MUST NOT depend on bandwidth getting better 🫢 the Mobile Node's directly attached link is likely to be bandwidth limited, and radio spectrum is already super scarce πŸ’€ so higher bandwidth links are likely to stay rare in the mobile world too 🌈

Right now, mobility over radio is happening on:

  • HF links, which deal with serious fading and noise constraints πŸ“»
  • VHF and UHF line of sight radio between ships or field sites 🚒
  • UHF Satellite Communications links πŸ›°οΈ

HF radio bandwidth is locked at 1200 or 2400 bps by international treaty, statute, and custom πŸ“œ and it's not likely to change ngl. The European standard for cellular radio is 2400 bps GSM πŸ‡ͺπŸ‡Ί, and the most prevalent deployed analog cellular and land-line modulation used by mobile nodes is also 2400 bps πŸ“ž

Current digital cellular is 19,200 bps CDPD, shared among many users. At early installations, under light loads, effective FTP throughput was observed as low as 200 bps 😭

Future digital cellular is 9,600 and 14,400 bps CDMA, shared between voice and data on a per user basis πŸŽ€. Effective FTP throughput has been measured as low as 7,200 bps.

Future Personal Communications Services (PCS) will also have relatively little bandwidth πŸ₯². In industrialized nations, the bandwidth available to each user is constrained by how dense the deployment is, and it's commensurate with planned digital cellular deployment.

It appears likely that satellite-based PCS will be widely deployed for basic telephony in many newly-industrialized and lesser-developed countries 🌍. There is already significant PCS interest in East and SouthEast Asia, India, and South America πŸ’œ

Van Jacobson header prediction is widely used, and it's essential to making these links viable πŸ‘‘

5.1. Administrative Messages

the number of administrative mobility messages sent or received by the Mobile Node MUST be limited to as few as possible πŸ“‰. To hit the frequency requirement of changing point of attachment once per second ⏱️, registration of changes MUST NOT require more than a single request and reply πŸ”

the size of administrative mobility messages MUST be kept as short as possible πŸ“. To meet that same once-per-second frequency requirement, the registration messages MUST NOT total more than 120 bytes for a complete transaction, including link and internet headers 🧚

5.2. Response Time

for most mobile links in current use, the typical TCP/IPv4 datagram overhead of 40 bytes is way too big to keep an acceptable typing response of 200 milliseconds round trip time βŒ¨οΈπŸ’€

so the criteria for IPng mobility is that the response time not be perceptably worse than IPv4 ✨. That allows no more than 6 bytes of additional overhead per datagram to be added by IPng πŸ¦‹

This was a primary concern in the design of mobility forwarding headers. Larger headers were rejected outright, and negotiation is provided for smaller headers than the default method. Topological headers are removed by the Foreign Agent prior to datagram transmission over the slower link to the Mobile Node, which also aids header prediction, as described below. 🫢

5.3. Header Prediction

header prediction can be useful for reducing bandwidth usage on multiple related datagrams πŸ’…. It requires a point-to-point peer relationship between nodes, so a header history can be maintained between the peers 🀝

header prediction is less effective in mobile environments, though, because the header history is lost each time a Mobile Node changes its point of attachment 😭. The new Foreign Agent won't have the same history as the previous Agent.

for header prediction to work, changing topological information MUST be removed from datagram overhead prior to transmission of the datagram on any final hop's directly attached link πŸ”₯. This applies to both the Mobile Node peering with a Foreign Agent, and also the final link to a Correspondent. Otherwise, header prediction cannot be relied upon to improve bandwidth utilization on low-speed Mobile and Correspondent links πŸ™ˆ

since the changing topological information can't be removed in the forwarding path of the datagram, header prediction will also be affected at any other pair of routers in the datagram path πŸ₯€. Each time a Mobile Node moves, the topological portion of the header changes, and the header history used at those routers gets updated. Unless topological information is limited to as few headers as possible, this may make header prediction ineffective as more Mobile Nodes are deployed πŸ’€


6. Processing 🧚

mobility MUST operate in the current processor environment, and it MUST NOT depend on hardware improvements πŸ’–

common hardware implementations of Mobile Nodes include lower speed processors and highly integrated components. These are not readily upgradable πŸ₯²

the most prevalent mobile platform is a low speed i86, i286 or i386 πŸ•°οΈ, and the most common ASIC processor is a low speed i186 🌸

6.1. Fixed Location

the processing limitations mean datagram header fields that are frequently examined by Mobile Nodes, or used for datagram forwarding to or from Mobile Nodes, need to be in a fixed location and not require lengths and offsets πŸ“

Varied number of fields was explicitly rejected in the design of mobility registration and forwarding headers. πŸ™…β€β™€οΈ

6.2. Simple Fields

the processing limitations also mean those same frequently examined datagram header fields are simple and fixed size 🍬

Varied length of fields was explicitly rejected in the design of mobility forwarding headers. 🚫

6.3. Simple Tests

because the most prevalent processors are "little-endian", while network protocols are in practice "big-endian" 🀯, the field processing MUST primarily use simple equality tests, rather than variable shifts and prefix matches 🎯

6.4. Type, Length, Value

fields that aren't frequently examined, whether because they're sent infrequently or because their content isn't relevant in every message, MUST be of the Type, Length, Value format 🧸✨

Acknowledgements

this compilation is primarily based on the work in progress of the IETF Mobile IP Working Group πŸ«ΆπŸ’œ

Security Considerations

security issues are discussed in section 4 πŸ”πŸ˜­ go check it, it's serious business!

Author's Address

questions about this memo can also be directed to:

William Allen Simpson
Daydreamer
Computer Systems Consulting Services
1384 Fontaine
Madison Heights, Michigan  48071

EMail: Bill.Simpson@um.cc.umich.edu or
       bsimpson@MorningStar.com
πŸ“¦ where this page comes from