William Herrin wrote:
I've been an IRTF RRG participant and in my day job I build backend systems for mobile messaging devices used in some very challenging and very global IP and non-IP environments.
I know non-IP mobile environment is heavily encumbered. So, I can understand why you insist on using DNS for mobility only to make IP mobility as encumbered as non-IP ones.
Au contraire. Triangle elimination is a problem because the IP address can't change with session survivability. But that's because TCP and UDP require it. If A follows from B and B follows from C then A follows from C: TCP is at fault.
If a correspondent host CH send packets to a mobile host MH, it may be tunneled by a home agent HA or, with triangle elimination, tunneled by CH itself, in both of which cases, IP address of internal packets within tunnels are that of CH and MH's home address, which is handled by TCP just normally.
Ignoring that DNS does not work so fast, TCP becomes "it wasn't sure what addresses it should be talking to" only after a long timeout.
Says who? Our hypothetical TCP can become "unsure" as soon as the first retransmission if we want it to. It can even become unsure when handed a packet to send after a long delay with no traffic. There's little delay kicking off the recheck either way.
That may be a encumbered way of doing things in non-IP, or bell headed, mobile systems, where 0.05 second of voice loss is acceptable but 0.2 second of voice loss is significant. However, on the Internet, 0.05 second of packet losses can be significant and things work end to end. In this case, your peer, a mobile host, is the proper end, because it is sure when it has lost or are losing a link. Then, the end establishes a new link with a new IP and initiate update messages for triangle elimination at proper timing without unnecessary checking. According to the end to end argument of Saltzer et. al: The function in question can completely and correctly be implemented only with the knowledge and help of the application standing at the end points of the communication system. the mobility module of the mobile host has "the knowledge" for proper timing to update triangle elimination "the function in question". Masataka Ohta