No matter where the stabilization layer(s) live, using DNS as a
means to map from identity to locations simply won't work. It might be
good enough for initial connection (assuming that if a service exists on
multiple hosts, any of them will do), but it's not good enough for
re-establishing an already-open connection, because you might get a
different host the next time.
This is exactly the point!
But the real question here is: does this new "thing" have to be a
layer?
It depends on which "thing" you are talking about. For the L3-L4 thing,
it's either a new layer or a change to an existing layer. If you
have both the L4-L7 thing and the L3-L4 thing, the former is either a
new layer or (my personal opinion) a new API that knowledgable apps
call explicitly.
If L4-L7 thing is an API on top of the "socket" in its current form, then I
believe that all limitations are still there.
This is implemented and shown to be the fact.
/Yuri