The application layer does have the ability to diagnose connectivity
problems on the order of seconds, through keep-alives. The IP layer
generally does not have the ability to detect whether a connection is
"satisfactory" since it does not have access to the TCB, only
knowledge of potential causes of connectivity problems (such as path
changes or missing routes), which it can provide to the transport layer or
to applications.
We do have direct information in some cases, see above.
But in general... I think we should stay away from
trying to defining "satisfactory", and simply work on
a binary model where there's either connectivity or
there isn't.