Net2Text assists network operators in reasoning about their network-wide forwarding state by directly answering to questions expressed in natural language. The key technical concept in Net2Text is the ability to summarize large amount of low-level network information in few sentences which effectively capture network-wide semantics.


Net2Text automatically parses the operator's query expressed in a natural language fragment and produces a concise summary (also in a natural language fragment). In the following, we present a high-level overview of how Net2Text goes from the query to the final summary:
  • Net2Text takes as input network-related questions expressed in English

    The operator can express her query in natural language fragment consisting of multiple network features (e.g., ingress, egress, destination, shortest path) and network specific values (e.g., New York, Google).

    The natural language fragment is easily extensible with new features, keywords and names. Currently, Net2Text supports four types of queries: yes/no, counting, data retrieval and summarization.

  • Net2Text uses various data from the network

    The network database contains all information pertaining to the network. In the current version, Net2Text uses the network-wide forwarding state and traffic statistics.
  • Net2Text's engine summarizes the data pertaining to the query

    The Net2Text engine consists of three modules. The first module is the parser, which translates the operator's query to an internal query language. This query is then executed on the network database. The resulting database entries are passed to the last module of Net2Text: the summarization module. This module tries to find a summary of the data that strikes a balance between explainability (how much details the summary provides) and coverage (how many of the entries the summary describes).
  • Net2Text provides the answer summary in English to the operator

    Ultimately, the summary is presented to the network operator.

Net2Text in Action

Try Net2Text on the AT&T North America topology from Topology Zoo using a generated data plane that varies over time.

Queries are made up of two main elements: the query type and the traffic identifier. The query type determines the answer: whether it is a summary ("How..."), a list ("What"), or a number ("How many"). The traffic identifier determines which are part of the network state should be considered in the answer (egress "to ...", ingress "from ...", destination "for ...").


What queries would you like Net2Text to support?


Net2Text: Query-Guided Summarization of Network Forwarding Behaviors.

Rüdiger Birkner, Dana Drachsler Cohen, Laurent Vanbever, Martin Vechev
USENIX NSDI 2018. Renton, WA, USA (April 2018)
@inproceedings{nsdi2018net2text, title={{Net2Text: Query-Guided Summarization of Network Forwarding Behaviors}}, author={Birkner, RĂ¼diger and Drachlser-Cohen, Dana and Vanbever, Laurent and Vechev, Martin}, booktitle={USENIX NSDI}, year={2018}, address={Renton, WA, USA} }


Rüdiger Birkner
ETH Zürich
Dana Drachsler-Cohen
ETH Zürich
Laurent Vanbever
ETH Zürich
Martin Vechev
ETH Zürich