Your constraints appear to be:
- no (or low) dependence on or knowledge of specific network path
- scalable to many devices/paths
- low effort to test
- low cost to instrument each end host
- rapid testing
- no (or low) new requirements for end host
Before continuing, allow me to define a concept since the language in this area is not well defined. The key words are "end-to-end" and "characterization" or "view".
"End-to-end" specifies a network path from one host to another that may include a wide variety of other devices and media. The nature of "end-to-end" doesn't essentially change though if those devices or media change. The idea of end-to-end is established at a particular network Layer such as Layer 3 (IP) or Layer 2 (Frame).
"Characterization" or "view" defines an attribution of the end-to-end path. A simple example is "connectivity" ? we are all familiar with the characterization of "connected", particularly in terms of the "view" that a well-known tool, ping, provides. More complex characterizations are possible in terms of things like
Best practices should be:
So, in a very simple world, that might mean that you use connectivity as your characterization, ping as your tool, and a script to execute it as a cron job. In a more complex world (like the one you live in), you may have more stringent criteria, and require more sophisticated tools (e.g. appareNet or remote SNMP-based systems like MRTG) to monitor the paths for preferred characterizations.
This is an area where there is much work yet to be done. I hope this helps.
This was first published in May 2003