Architectural Support for Network Troubleshooting
Scott Shenker, Vern Paxson and Mark Allman1
National Science Foundation
In the past, network troubleshooting has mostly relied on ad hoc techniques cobbled together as afterthoughts. However, both the importance and difficulty of troubleshooting has intensified as networks have become crucial, ubiquitous components of modern life, while at the same time their size and complexity continues to grow. This project tackles the integration of troubleshooting as a first-class citizen when developing a network architecture. The effort focuses on the development of a set of key building blocks. First, annotations provide a means for associating meta-information with network activity. We then use annotations to track causality. We envision much more powerful forms of logging, enhanced by notions of distillation of logged information into more abstract forms over time, and dialog between system components that generate log entries and the logger itself, which can call back to the component to support highly flexible distillation as well as interactive debuggers. Finally, we feed logs from multiple observation points into repositories that construct aggregated views of activity and mediate the ways in which sites share information for cooperative troubleshooting.