Efficient Loop Detection in Forwarding Networks and Representing Atoms in a Field of Sets

09/06/2018
by   Laurent Viennot, et al.
0

The problem of detecting loops in a forwarding network is known to be NP-complete when general rules such as wildcard expressions are used. Yet, network analyzer tools such as Netplumber (Kazemian et al., NSDI'13) or Veriflow (Khurshid et al., NSDI'13) efficiently solve this problem in networks with thousands of forwarding rules. In this paper, we complement such experimental validation of practical heuristics with the first provably efficient algorithm in the context of general rules. Our main tool is a canonical representation of the atoms (i.e. the minimal non-empty sets) of the field of sets generated by a collection of sets. This tool is particularly suited when the intersection of two sets can be efficiently computed and represented. In the case of forwarding networks, each forwarding rule is associated with the set of packet headers it matches. The atoms then correspond to classes of headers with same behavior in the network. We propose an algorithm for atom computation and provide the first polynomial time algorithm for loop detection in terms of number of classes (which can be exponential in general). This contrasts with previous methods that can be exponential, even in simple cases with linear number of classes. Second, we introduce a notion of network dimension captured by the overlapping degree of forwarding rules. The values of this measure appear to be very low in practice and constant overlapping degree ensures polynomial number of header classes. Forwarding loop detection is thus polynomial in forwarding networks with constant overlapping degree.

READ FULL TEXT
research
04/15/2020

Enumerating minimal dominating sets in the (in)comparability graphs of bounded dimension posets

Enumerating minimal transversals in a hypergraph is a notoriously hard p...
research
03/28/2023

Algorithms for subgraph complementation to some classes of graphs

For a class 𝒢 of graphs, the objective of Subgraph Complementation to 𝒢 ...
research
03/14/2019

Covert Networks: How Hard is It to Hide?

Covert networks are social networks that often consist of harmful users....
research
07/13/2021

Polynomial delay algorithm for minimal chordal completions

Motivated by the problem of enumerating all tree decompositions of a gra...
research
08/15/2020

Finding a Shortest Even Hole in Polynomial Time

An even (respectively, odd) hole in a graph is an induced cycle with eve...
research
12/29/2022

Near-Tight Algorithms for the Chamberlin-Courant and Thiele Voting Rules

We present an almost optimal algorithm for the classic Chamberlin-Couran...
research
09/13/2022

Efficient Deobfuscation of Linear Mixed Boolean-Arithmetic Expressions

Mixed Boolean-Arithmetic (MBA) expressions are frequently used for obfus...

Please sign up or login with your details

Forgot password? Click here to reset