Abstract

Programmability and verifiability lie at the heart of the software-defined networking paradigm. WhileOpenFlow and its match-action concept provide primitive operations to manipulate hardware configurations,over the last years, several more expressive network programming languages have been developed.This paper presents WNetKAT, the first network programming language accounting for the fact that networksare inherently weighted, and communications subject to capacity constraints (e.g., in terms ofbandwidth) and costs (e.g., latency or monetary costs). WNetKAT is based on a syntactic and semanticextension of the NetKAT algebra. We demonstrate several relevant applications for WNetKAT, includingcost- and capacity-aware reachability, as well as quality-of-service and fairness aspects. These applicationsdo not only apply to classic, splittable and unsplittable (s, t)-flows, but also generalize to morecomplex (and stateful) network functions and service chains. For example, WNetKAT allows to modelflows which need to traverse certain waypoint functions, which can change the traffic rate. This paperalso shows the relationship between the equivalence problem of WNetKAT and the equivalence problemof the weighted finite automata, which implies undecidability of the former. However, this paperalso shows the decidability of whether an expression equals to 0, which is sufficient in many practicalscenarios, and we initiate the discussion of decidable subsets of the whole language.

Original language

English

Title of host publication

20th International Conference on Principles of Distributed Systems (OPODIS)

title = "WNetKAT: A Weighted SDN Programming and Verification Language",

abstract = "Programmability and verifiability lie at the heart of the software-defined networking paradigm. WhileOpenFlow and its match-action concept provide primitive operations to manipulate hardware configurations,over the last years, several more expressive network programming languages have been developed.This paper presents WNetKAT, the first network programming language accounting for the fact that networksare inherently weighted, and communications subject to capacity constraints (e.g., in terms ofbandwidth) and costs (e.g., latency or monetary costs). WNetKAT is based on a syntactic and semanticextension of the NetKAT algebra. We demonstrate several relevant applications for WNetKAT, includingcost- and capacity-aware reachability, as well as quality-of-service and fairness aspects. These applicationsdo not only apply to classic, splittable and unsplittable (s, t)-flows, but also generalize to morecomplex (and stateful) network functions and service chains. For example, WNetKAT allows to modelflows which need to traverse certain waypoint functions, which can change the traffic rate. This paperalso shows the relationship between the equivalence problem of WNetKAT and the equivalence problemof the weighted finite automata, which implies undecidability of the former. However, this paperalso shows the decidability of whether an expression equals to 0, which is sufficient in many practicalscenarios, and we initiate the discussion of decidable subsets of the whole language.",

N2 - Programmability and verifiability lie at the heart of the software-defined networking paradigm. WhileOpenFlow and its match-action concept provide primitive operations to manipulate hardware configurations,over the last years, several more expressive network programming languages have been developed.This paper presents WNetKAT, the first network programming language accounting for the fact that networksare inherently weighted, and communications subject to capacity constraints (e.g., in terms ofbandwidth) and costs (e.g., latency or monetary costs). WNetKAT is based on a syntactic and semanticextension of the NetKAT algebra. We demonstrate several relevant applications for WNetKAT, includingcost- and capacity-aware reachability, as well as quality-of-service and fairness aspects. These applicationsdo not only apply to classic, splittable and unsplittable (s, t)-flows, but also generalize to morecomplex (and stateful) network functions and service chains. For example, WNetKAT allows to modelflows which need to traverse certain waypoint functions, which can change the traffic rate. This paperalso shows the relationship between the equivalence problem of WNetKAT and the equivalence problemof the weighted finite automata, which implies undecidability of the former. However, this paperalso shows the decidability of whether an expression equals to 0, which is sufficient in many practicalscenarios, and we initiate the discussion of decidable subsets of the whole language.

AB - Programmability and verifiability lie at the heart of the software-defined networking paradigm. WhileOpenFlow and its match-action concept provide primitive operations to manipulate hardware configurations,over the last years, several more expressive network programming languages have been developed.This paper presents WNetKAT, the first network programming language accounting for the fact that networksare inherently weighted, and communications subject to capacity constraints (e.g., in terms ofbandwidth) and costs (e.g., latency or monetary costs). WNetKAT is based on a syntactic and semanticextension of the NetKAT algebra. We demonstrate several relevant applications for WNetKAT, includingcost- and capacity-aware reachability, as well as quality-of-service and fairness aspects. These applicationsdo not only apply to classic, splittable and unsplittable (s, t)-flows, but also generalize to morecomplex (and stateful) network functions and service chains. For example, WNetKAT allows to modelflows which need to traverse certain waypoint functions, which can change the traffic rate. This paperalso shows the relationship between the equivalence problem of WNetKAT and the equivalence problemof the weighted finite automata, which implies undecidability of the former. However, this paperalso shows the decidability of whether an expression equals to 0, which is sufficient in many practicalscenarios, and we initiate the discussion of decidable subsets of the whole language.