Try this one: while in your hotel room, you see there's something you need
to download. By the time you get dressed, it's still coming down; and you
have to go to a meeting. If you're using Mobile IP, you may be able to
move from one network to another before the TCP connection dies.
There is another alternative way to solve this: an "assocation" layer
above TCP that allows application/client-to-application/server
communications to span a sequence of lifetimes of underlying transports.
Been there, done that. There are a lot of problems with that approach,
including that you basically have to implement TCP all over again above
the TCP layer, and you have to be able to recover from outages caused by
multiple parties moving at the same time. You can make it work as a
sort of kludge, but it's hard to make it robust, and it doesn't make
good architectural sense.