@@ -40,7 +40,7 @@ that generate the routing tables from the control plane specifications.
4040Let us consider the verification of forwarding rules in MPLS routing tables as an example.
4141In a nutshell, in MPLS, packet labels can be nested
4242in order to provide tunneling through the network or to handle link
43- failures by fast-reroute mechanism. This mechanism relies on pushing a new MPLS
43+ failures by the fast-reroute mechanism. The mechanism relies on pushing a new MPLS
4444label on top of the label stack, to redirect the flow
4545to go around the failed link. This mechanism can be applied several times
4646in case of multiple link failures, creating larger and larger (in theory: unbounded)
@@ -73,8 +73,8 @@ the regular expressions for the initial header and the final
7373header of the query can each be converted to first a
7474Nondeterministic Finite Automaton (NFA) and then to a Pushdown
7575Automaton (PDA). The path query is converted to an NFA, which can then be used to restrict (by synchronous product)
76- the behaviour of the PDA constructed based on the network model.
77- The three PDAs can be combined into a single PDA that we can give
76+ the behavior of the PDA constructed based on the network model.
77+ The three PDAs can be combined into a single PDA that can be given
7878to the backend engine that checks the emptiness of the PDA language.
7979In case the language is nonempty, we can return a witness trace
8080to demonstrate the reason why the query is satisfied. All these operations can be performed in polynomial time,
@@ -85,7 +85,7 @@ leveraging a classic result by J. Büchi.
8585As a case study and to explore the feasibility of such an automata-theoretic approach,
8686we developed a framework, the AalWiNes suite, which allows to load an arbitrary network topology
8787(e.g., from the topology zoo dataset) as well as a set of router configurations (e.g., from Juniper routers).
88- The configurations are then put into a standardized, intermediate format which is vendor independent.
88+ The configurations are put into a standardized, intermediate format which is vendor independent.
8989The user can then define a query as described above, which leads the tool to prompt with a result
9090(e.g. a trace). AalWiNes is a joint work at Aalborg University and the University of Vienna.
9191
@@ -108,8 +108,8 @@ We refer to our [tool website](https://aalwines.cs.aau.dk/) as well as to our
108108
109109## Conclusion and future work
110110
111- We consider providing a low runtime critical for the success of network verification,
112- and reasoning about failures seems particularly challenging.
111+ Our aim is to provide a low runtime which is critical for the success of network
112+ verification, however, reasoning about failures seems particularly challenging with respect to the computational complexity .
113113While not every network may allow for a polynomial-time analysis,
114114we see much potential in automata-theoretic approaches,
115115and we hope this article can inspire the community to conduct more research
@@ -119,7 +119,7 @@ We understand our approach as a first step and believe that it opens the door to
119119verify many other infinite state systems whose configurations
120120cannot explicitly be represented anymore.
121121For example, we have recently extended AalWiNes to support a witness trace generation which
122- accounts for additional metrics, and for example selects (among a possibly infinite number of witness traces)
122+ accounts for additional metrics; for example, the tool can now select (among a possibly infinite number of witness traces)
123123the ones that minimize the number of hops, latency, or the stack height that corresponds to the number
124124of MPLS tunnels. This is
125125achieved by extending the PDA reachability analysis with multi-dimensional weights.
0 commit comments