It is not hard to see how transports
could use per path RTT measurements and congestion windows to arbitrage
between load balancing, resiliency, and re-sequencing. By imposing a
"3.5" layer, you make an early decision to forestall this evolution.
There are two main aspects to this problem: finding addresses and
binding them to a session, and switching between the addresses that are
available for a session. I agree that transport protocols are in the
best position to do the latter, so we should make sure they are allowed
to do so by any new mechanisms we create. At the same time, we can
provide a simple mechanism for this that allows unmodified transport
protocols to work over multiple addresses.
But finding and binding addresses is something that has many
repercussions that fall outside the competence of transport protocols
and that would benefit from being implemented just once rather than
separately for each transport protocol.