This has many drawbacks. For instance, sessions still break if there is a
problem, and source address selection is problematic, especially in the
presence of anti-spoofing filtering by ISPs. But the good part is it
actually works today, to some degree. For instance, I can list several IP
addresses for an FTP server, and when the first one is down the FTP
program simply tries the next. Unfortunatley, the applications must
support this, and most of the newer ones (especially web browsers) don't.
As a (perhaps) extreme case in this scenario, consider the situation of two
sites which can communicate over either the commodity Internet or a
Research and Education network (most likely high bandwidth and/or low
latency). If viewed only from a reachability standpoint, either path would
work, but there are applications which demand the latter. Simply returning
a list of IP addresses to be tried in order is probably not sufficient in
this case (in fact, both of these sites might have addresses, which,
because of conditions of use on the network [ie, routing policy], cannot be
reached from an arbitrary third site).