2009 | OriginalPaper | Buchkapitel
Nettle: A Language for Configuring Routing Networks
verfasst von : Andreas Voellmy, Paul Hudak
Erschienen in: Domain-Specific Languages
Verlag: Springer Berlin Heidelberg
Aktivieren Sie unsere intelligente Suche, um passende Fachinhalte oder Patente zu finden.
Wählen Sie Textabschnitte aus um mit Künstlicher Intelligenz passenden Patente zu finden. powered by
Markieren Sie Textabschnitte, um KI-gestützt weitere passende Inhalte zu finden. powered by
Interdomain routing
is the task of establishing connectivity among the independently administered networks (called
autonomous systems
) that constitute the Internet. The protocol used for this task is the
Border Gateway Protocol
(BGP) [1], which allows autonomous systems to independently define their own route preferences and route advertisement policies. By careful design of these BGP policies, autonomous systems can achieve a variety of objectives.
Currently available configuration and policy languages are low-level and provide only a few basic constructs for abstraction, thus preventing network operators from expressing their intentions naturally.
To alleviate this problem, we have designed
Nettle
, a domain-specific embedded language (DSEL) for configuring BGP networks, using Haskell [3] as the host language. The embedding in Haskell gives users comprehensive abstraction and calculation constructs, allowing them to clearly describe the ideas generating their BGP policies and router configurations. Furthermore, unlike previous router configuration and policy languages, Nettle allows users to both specify BGP policies at an abstract, network-wide level, and specify vendor-specific router details in a single uniform language.
We have built a compiler that translates Nettle programs into configuration scripts for XORP [4] routers and a simulator that allows operators to test their network configurations before deployment.