Using Service Grammar to Diagnose BGP Configuration Errors

  • Authors:
  • Xiaohu Qie;Sanjai Narain

  • Affiliations:
  • Princeton University;Telcordia Technologies

  • Venue:
  • LISA '03 Proceedings of the 17th USENIX conference on System administration
  • Year:
  • 2003

Quantified Score

Hi-index 0.00

Visualization

Abstract

Often network components work correctly, yet end-to-end services don't. This can happen when configuration parameters of components are set to incorrect values. Configuration is a fundamental operation for logically integrating components to set up end-to-end services.Configuration errors frequently arise because transforming end-to-end service requirements into component configurations is inherently difficult. Such transformations are largely performed in a manual and localized fashion, resulting in high cost of network operations.The Service Grammar technique has been developed to solve the configuration error diagnosis problem and, more generally, to formalize the process of building complex systems via configuration. At its core is a Requirements Language that contains global, high-level constraints upon configuration parameters. These are derived from identifying the notion of "correct configuration" associated with different protocols. These notions are composed to create system-wide requirements on architecture and policies. A Diagnosis Engine checks if constraints in the Requirements Language are true given definite component configurations and recursively checks composite requirements.This paper describes an application of Service Grammar to diagnosing BGP configuration errors. As BGP architecture and policies differ widely from one network to another, it is not possible using previous techniques to check if router configurations implement the intended requirements. Our tools enable administrators to specify system-wide, network-specific requirements and check if they are correctly implemented by component configurations.