new netcomplete: practical network-wide configuration synthesis … · 2018. 4. 26. · ahmed...
TRANSCRIPT
![Page 1: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/1.jpg)
Ahmed El-Hassany Petar Tsankov Laurent Vanbever Martin Vechev
NetComplete: Practical Network-Wide
Configuration Synthesis with Autocompletion
![Page 2: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/2.jpg)
Ahmed El-Hassany
I shouldn’t be the one giving this talk…
Third year PhD student @ETH Zürich
Papers at NSDI, SIGCOMM, PLDI, CAV, SOSR, …
Check him out at hassany.ps
![Page 3: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/3.jpg)
Ahmed El-Hassany Petar Tsankov Laurent Vanbever Martin Vechev
NetComplete: Practical Network-Wide
Configuration Synthesis with Autocompletion
![Page 4: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/4.jpg)
![Page 5: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/5.jpg)
![Page 6: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/6.jpg)
![Page 7: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/7.jpg)
Yes. The Internet seems to be better off during week-ends…
![Page 8: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/8.jpg)
Yes. The Internet seems to be better off during week-ends…
![Page 9: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/9.jpg)
“Human factors are responsible
for 50% to 80% of network outages”
Juniper Networks, What’s Behind Network Downtime?, 2008
![Page 10: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/10.jpg)
https://www.theregister.co.uk/2017/08/27/google_routing_blunder_sent_japans_internet_dark/
![Page 11: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/11.jpg)
Someone in Google fat-thumbed a
Border Gateway Protocol (BGP) advertisement
and sent Japanese Internet traffic into a black hole.
In August 2017
![Page 12: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/12.jpg)
Someone in Google fat-thumbed a
Border Gateway Protocol (BGP) advertisement
and sent Japanese Internet traffic into a black hole.
Traffic from Japanese giants like NTT and KDDI was sent to Google on the expectation
it would be treated as transit.
[…]
In August 2017
![Page 13: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/13.jpg)
Someone in Google fat-thumbed a
Border Gateway Protocol (BGP) advertisement
and sent Japanese Internet traffic into a black hole.
The outage in Japan only lasted a couple of hours
but was so severe that […] the country's
Internal Affairs and Communications ministries
want carriers to report on what went wrong.
[…] Traffic from Japanese giants like NTT and KDDI was sent to Google on the expectation
it would be treated as transit.
In August 2017
![Page 14: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/14.jpg)
Configuration synthesis addresses this problem by derivinglow-level configurations from high-level requirements
![Page 15: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/15.jpg)
!ipmulticast-routing!interfaceLoopback0ipaddress120.1.7.7255.255.255.255ipospf1area0!!interfaceEthernet0/0noipaddress!interfaceEthernet0/0.17encapsulationdot1Q17ipaddress125.1.17.7255.255.255.0ippimbsr-borderippimsparse-mode!!
!ipmulticast-routing!interfaceLoopback0ipaddress120.1.7.7255.255.255.255ipospf1area0!!interfaceEthernet0/0noipaddress!interfaceEthernet0/0.17encapsulationdot1Q17ipaddress125.1.17.7255.255.255.0ippimbsr-borderippimsparse-mode
routerospf1router-id120.1.7.7redistributebgp700subnets
Network model
Physical topology
High-level requirements
!!!!routerospf1router-id120.1.7.7redistributebgp700subnets!routerbgp700neighbor125.1.17.1remote-as100!address-familyipv4redistributeospf1matchinternalexternal1external2neighbor125.1.17.1activate!address-familyipv4multicastnetwork125.1.79.0mask255.255.255.0redistributeospf1matchinternalexternal1external2neighbor125.1.17.1activate!
Inputs Outputs
Synthesizer
Configuration synthesis addresses this problem by derivinglow-level configurations from high-level requirements
given by the operator
![Page 16: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/16.jpg)
Configuration synthesis:
a booming research area!
Propane [SIGCOMM’16]
PropaneAT [PLDI’17]
SyNET [CAV’17]
Genesis [POPL’17] forwarding rules
BGP configurations
OSPF + BGP configurations
Out of high-level requirements,
automatically derive…
Zeppelin [SIGMETRICS’18]
![Page 17: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/17.jpg)
Synthesizing configuration is great, but comes with
challenges preventing a wide adoption
![Page 18: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/18.jpg)
Existing synthesizers…
![Page 19: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/19.jpg)
Problem #1interpretability
can produce configurations that widely differ from humanly-generated ones
Existing synthesizers…
![Page 20: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/20.jpg)
Problem #1interpretability
can produce configurations that widely differ from humanly-generated ones
Problem #2
continuity
can produce widely different configurationsgiven slightly different requirements
Existing synthesizers…
![Page 21: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/21.jpg)
Problem #1interpretability
can produce configurations that widely differ from humanly-generated ones
Problem #2
continuity
can produce widely different configurationsgiven slightly different requirements
Problem #3
deployability
cannot flexibly adapt to operational requirements,
requiring configuration heterogeneity
Existing synthesizers…
![Page 22: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/22.jpg)
A key issue is that synthesizers do not provide operators
with a fine-grained control over the synthesized configurations
![Page 23: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/23.jpg)
Introducing…
NetComplete
![Page 24: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/24.jpg)
A configuration with “holes”
NetComplete allows network operators to flexibly express
their intents through configuration sketches
![Page 25: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/25.jpg)
route-mapimp-p1permit10?
route-mapexp-p1?10matchcommunityC2route-mapexp-p2?20matchcommunityC1...
interfaceTenGigabitEthernet1/1/1ipaddress??ipospfcost10<?<100
routerospf100?...
routerbgp6500...
neighborAS200importroute-mapimp-p1neighborAS200exportroute-mapexp-p1...
ipcommunity-listC1permit?ipcommunity-listC2permit?
![Page 26: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/26.jpg)
interfaceTenGigabitEthernet1/1/1ipaddress??ipospfcost10<?<100
routerospf100?...
routerbgp6500...
neighborAS200importroute-mapimp-p1neighborAS200exportroute-mapexp-p1...
ipcommunity-listC1permit?ipcommunity-listC2permit?
Holes can identify
specific attributes such as:
IP addresses
link costs
BGP local preferences
![Page 27: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/27.jpg)
interfaceTenGigabitEthernet1/1/1ipaddress??ipospfcost10<?<100
routerospf100?...
routerbgp6500...
neighborAS200importroute-mapimp-p1neighborAS200exportroute-mapexp-p1...
ipcommunity-listC1permit?ipcommunity-listC2permit?
Holes can also identify
entire pieces of the configuration
route-mapimp-p1permit10?
route-mapexp-p1?10matchcommunityC2route-mapexp-p2?20matchcommunityC1...
![Page 28: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/28.jpg)
NetComplete “autocompletes” the holes such that
the output configuration complies with the requirements
![Page 29: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/29.jpg)
route-mapimp-p1permit10?
route-mapexp-p1?10matchcommunityC2route-mapexp-p2?20matchcommunityC1...
interfaceTenGigabitEthernet1/1/1ipaddress??ipospfcost10<?<100
routerospf100?...
routerbgp6500...
neighborAS200importroute-mapimp-p1neighborAS200exportroute-mapexp-p1...
ipcommunity-listC1permit?ipcommunity-listC2permit?
![Page 30: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/30.jpg)
route-mapimp-p1permit10setcommunity6500:1setlocal-pref50route-mapexp-p1permit10matchcommunityC2route-mapexp-p2deny20matchcommunityC1...
interfaceTenGigabitEthernet1/1/1ipaddress10.0.0.1255.255.255.254ipospfcost15
routerospf100network10.0.0.10.0.0.1area0.0.0.0
routerbgp6500...
neighborAS200importroute-mapimp-p1neighborAS200exportroute-mapexp-p1...
ipcommunity-listC1permit6500:1ipcommunity-listC2permit6500:2
![Page 31: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/31.jpg)
NetComplete reduces the autocompletion problem
to a constraint satisfaction problem
![Page 32: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/32.jpg)
Encode the as a logical formula (in SMT)
protocol semantics
high-level requirements
partial configurations
First
![Page 33: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/33.jpg)
Use a solver (Z3) to find an assignment for the undefined
configuration variables s.t. the formula evaluates to True
Then
Encode the as a logical formula (in SMT)
protocol semantics
high-level requirements
partial configurations
First
![Page 34: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/34.jpg)
Main challenge:
Scalability
network-specific
heuristics
Insight #1 Insight #2
partial evaluation
search space navigation search space reduction
![Page 35: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/35.jpg)
optimized encodingBGP synthesis1
OSPF synthesiscounter-examples-based
2
Evaluationflexible, yet scalable
3
NetComplete: Practical Network-Wide
Configuration Synthesis with Autocompletion
?
?
![Page 36: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/36.jpg)
optimized encodingBGP synthesis1
OSPF synthesiscounter-examples-based
Evaluationflexible, yet scalable
NetComplete: Practical Network-Wide
Configuration Synthesis with Autocompletion
?
?
![Page 37: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/37.jpg)
NetComplete autocompletes router-level BGP policies by
encoding the desired BGP behavior as a logical formula
![Page 38: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/38.jpg)
M⊨Reqs∧BGPprotocol ∧Policies
![Page 39: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/39.jpg)
M⊨Reqs∧BGPprotocol ∧Policies
how should the network forward traffic
concrete, part of the input
![Page 40: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/40.jpg)
M⊨Reqs∧BGPprotocol ∧Policies
R1.BGPselect(A1,A2) ∧
R1.BGPselect(A2,A3) ∧ …
![Page 41: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/41.jpg)
M⊨Reqs∧BGPprotocol ∧Policies
how do BGP routers select routes
concrete, protocol semantic
![Page 42: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/42.jpg)
M⊨Reqs∧BGPprotocol ∧Policies
BGPselect(X,Y)⇔(X.LocalPref>Y.LocalPref)∨…
![Page 43: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/43.jpg)
how routes should be modified
symbolic, to be found
M⊨Reqs∧BGPprotocol ∧Policies
![Page 44: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/44.jpg)
M⊨Reqs∧BGPprotocol ∧Policies
R1.SetLocalPref(A1) = VarX
R1.SetLocalPref(A2) = 200
![Page 45: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/45.jpg)
M⊨Reqs∧BGPprotocol ∧Policies
R1.SetLocalPref(A1) = VarX
R1.SetLocalPref(A2) = 200
R1.BGPselect(A1,A2) ∧
R1.BGPselect(A2,A3) ∧ …
BGPselect(X,Y)⇔(X.LocalPref>Y.LocalPref)∨…
Solving this logical formula consists in assigning
each symbolic variable with a concrete value
![Page 46: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/46.jpg)
M⊨Reqs∧BGPprotocol ∧Policies
R1.SetLocalPref(A1) = VarX
R1.SetLocalPref(A2) = 200
R1.BGPselect(A1,A2) ∧
R1.BGPselect(A2,A3) ∧ …
BGPselect(X,Y)⇔(X.LocalPref>Y.LocalPref)∨…
![Page 47: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/47.jpg)
VarX := 250 M⊨Reqs∧BGPprotocol ∧Policies
R1.SetLocalPref(A1) = VarX
R1.SetLocalPref(A2) = 200
R1.BGPselect(A1,A2) ∧
R1.BGPselect(A2,A3) ∧ …
BGPselect(X,Y)⇔(X.LocalPref>Y.LocalPref)∨…
![Page 48: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/48.jpg)
Naive encodings lead to complex constraints
that cannot be solved in a reasonable time
![Page 49: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/49.jpg)
Naive encodings lead to complex constraints
that cannot be solved in a reasonable time
M⊨Reqs∧BGPprotocol ∧Policies
BGP x OSPF huge search spacechallenges
![Page 50: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/50.jpg)
Naive encodings lead to complex constraints
that cannot be solved in a reasonable time
M⊨Reqs∧BGPprotocol ∧Policies
BGP x OSPF huge search space
partial evaluationiterative synthesis
challenges
solutions
![Page 51: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/51.jpg)
Naive encodings lead to complex constraints
that cannot be solved in a reasonable time
M⊨Reqs∧BGPprotocol ∧Policies
BGP x OSPF huge search space
partial evaluationiterative synthesis
challenges
solutions
![Page 52: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/52.jpg)
NetComplete encodes reduced policies by relying
on the requirements and the sketches
![Page 53: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/53.jpg)
Capture how announcements should propagate
using the requirements
Step 1
Output BGP propagation graph
NetComplete encodes reduced policies by relying
on the requirements and the sketches
![Page 54: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/54.jpg)
Capture how announcements should propagate
Combine the graph with constraints imposed by sketches
using the requirements
via symbolic execution
Step 1
Step 2
Output BGP propagation graph
Output partially evaluated formulas
NetComplete encodes reduced policies by relying
on the requirements and the sketches
![Page 55: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/55.jpg)
NetComplete relies on the requirements to figure out
where BGP announcements should (not) propagate
![Page 56: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/56.jpg)
Requirement
Only customers should be able to
send traffic to Provider #2
Provider 2Provider 1
Provider 3
Customer
NetComplete relies on the requirements to figure out
where BGP announcements should (not) propagate
![Page 57: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/57.jpg)
Requirement
Only customers should be able to
send traffic to Provider #2
Provider 2Provider 1
Provider 3
Customer
NetComplete relies on the requirements to figure out
where BGP announcements should (not) propagate
![Page 58: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/58.jpg)
B C
A D
P1 P2
P3
Cust
blocked
blocked
NetComplete computes one BGP propagation graph
per equivalence class
Provider 2Provider 1
Provider 3
Customer
![Page 59: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/59.jpg)
B C
A D
P1 P2
P3
Cust
Encode BGP policies as SMT formulas
Result is a partially evaluated formula
permitted=Truelocal_pref=?communities=?…
Inject symbolic announcement
ForallanninAnnouncements:ann.communities=[External,Var1]ann.local_pref=100
permitted=Truelocal_pref=100communities=[External,Var1]…
NetComplete concretizes symbolic announcements
by propagating them through the graph and sketches
![Page 60: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/60.jpg)
optimized encodingBGP synthesis
OSPF synthesiscounter-examples-based
2
Evaluationflexible, yet scalable
NetComplete: Practical Network-Wide
Configuration Synthesis with Autocompletion
?
?
![Page 61: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/61.jpg)
As for BGP, Netcomplete phrases the problem of finding weights
as a constraint satisfaction problem
![Page 62: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/62.jpg)
A D
CB
Consider this initial configuration in which
the (A,C) traffic is forwarded along the direct link
150
1
10
10
1501
![Page 63: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/63.jpg)
For performance reasons,
the operators want to enable load-balancing
A D
CB
![Page 64: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/64.jpg)
What should be the weights for this to happen?
A D
CB
![Page 65: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/65.jpg)
input requirements
DA
B C
![Page 66: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/66.jpg)
input requirements synthesis procedure
DA
B C
![Page 67: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/67.jpg)
∀X ∈ Paths(A,C)\Reqs
input requirements
Cost(A→C) = Cost(A→D→C) < Cost(X)
synthesis procedure
DA
B C
![Page 68: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/68.jpg)
∀X ∈ Paths(A,C)\Reqs
Cost(A→C) = Cost(A→D→C) < Cost(X)
Solve
synthesis procedureinput requirements
DA
B C
![Page 69: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/69.jpg)
∀X ∈ Paths(A,C)\Reqs
Cost(A→C) = Cost(A→D→C) < Cost(X)
Solve
synthesis procedureinput requirements
DA
B C
![Page 70: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/70.jpg)
∀X ∈ Paths(A,C)\Reqs
input requirements
150 150300
200
Cost(A→C) = Cost(A→D→C) < Cost(X)
Solve
synthesis procedure
150
Synthesized weights
DA
B C
150
![Page 71: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/71.jpg)
This was easy, but…
it does not scale
∀X ∈ Paths(A,C)\Reqs
Cost(A→C) = Cost(A→D→C) < Cost(X)
Solve
![Page 72: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/72.jpg)
Cost(A→C) = Cost(A→D→C) < Cost(X)
Solve
∀X ∈ Paths(A,C)\Reqs
There can be an exponential number of paths between A and C…
![Page 73: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/73.jpg)
An contemporary approach to synthesis where
a solution is iteratively learned from counter-examples
To scale, NetComplete leverages
Counter-Example Guided Inductive Synthesis (CEGIS)
![Page 74: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/74.jpg)
While enumerating all paths is hard,
computing shortest paths given weights is easy!
![Page 75: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/75.jpg)
D
input requirements
A
B C
![Page 76: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/76.jpg)
input requirements synthesis procedure
DA
B C
![Page 77: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/77.jpg)
∀X ∈ SamplePaths(A,C)\Reqs
input requirements synthesis procedure
DA
B C
![Page 78: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/78.jpg)
∀X ∈ SamplePaths(A,C)\Reqs
input requirements synthesis procedure
Sample: { [A,B,D,C] }
DA
B C
![Page 79: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/79.jpg)
∀X ∈ SamplePaths(A,C)\Reqs
input requirements
Cost(A→C) = Cost(A→D→C) < Cost(X)
synthesis procedure
DA
B C
![Page 80: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/80.jpg)
∀X ∈ SamplePaths(A,C)\Reqs
Cost(A→C) = Cost(A→D→C) < Cost(X)
Solve
synthesis procedureinput requirements
DA
B C
![Page 81: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/81.jpg)
∀X ∈ SamplePaths(A,C)\Reqs
Cost(A→C) = Cost(A→D→C) < Cost(X)
Solve
synthesis procedureinput requirements
DA
B C
![Page 82: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/82.jpg)
∀X ∈ SamplePaths(A,C)\Reqs
input requirements
150 150300
100
Cost(A→C) = Cost(A→D→C) < Cost(X)
Solve
synthesis procedure
150
Synthesized weights
DA
B C
300
![Page 83: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/83.jpg)
∀X ∈ SamplePaths(A,C)\Reqs
150 150300
100
Cost(A→C) = Cost(A→D→C) < Cost(X)
Solve
150
DA
B C
300
The synthesized weights are incorrect:
cost(A → B → C]) = 250 < cost(A → C) = 300
actual path
![Page 84: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/84.jpg)
∀X ∈ SamplePaths(A,C)\Reqs
Sample: { [A,B,D,C] } U { [A,B,C] }
DA
B C
We simply add the counter example to SamplePaths and repeat the procedure
![Page 85: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/85.jpg)
The entire procedure usually converges in few iterations
making it very fast in practice
![Page 86: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/86.jpg)
optimized encodingBGP synthesis
OSPF synthesiscounter-examples-based
Evaluationflexible, yet scalable
3
NetComplete: Practical Network-Wide
Configuration Synthesis with Autocompletion
?
?
![Page 87: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/87.jpg)
Can NetComplete synthesize large-scale configurations?
How does the concreteness of the sketch influence the running time?
Question #1
Question #2
![Page 88: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/88.jpg)
Code ~10K lines of Python
SMT-LIB v2 and Z3
Input OSPF, BGP, static routes
Output Cisco-compatible configurations
as partial and concrete configs
validated with actual Cisco routers
We fully implemented NetComplete
and showed its practicality
![Page 89: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/89.jpg)
Methodology
15 topologies from Topology Zoo
small, medium, and large
Simple, Any, ECMP, and ordered (random)
Built from a fully concrete configuration
using OSPF/BGP
from which we made a % of the variables symbolic
Topology
Requirement
Sketch
![Page 90: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/90.jpg)
NetComplete synthesizes configurations
for large networks in few minutes
![Page 91: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/91.jpg)
Network size
Reqs.
type
Synthesis
time
OSPF synthesis time (sec)
NetComplete synthesizes configurations
for large networks in few minutes
16 reqs, 50% symbolic, 5 repet.
CEGIS enabled
settings
Large Simple
ECMP
Ordered
14s
13s
249s
~150 nodes
![Page 92: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/92.jpg)
Without CEGIS, OSPF synthesis is
>100x slower and often timeouts
![Page 93: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/93.jpg)
0 20 40 60 80 100
Percentage of symbolic edge costs
0
500
1000
1500
2000
Tim
e[s
]
% of nodes changing next-hop0 20 60 10040
% of weights left symbolic in the sketch60
0
0.1
2000
1000
1500
OSPF synthesis time (sec)
NetComplete synthesis time increases
as the sketch becomes more symbolic
16 reqs
large topos.
settings
![Page 94: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/94.jpg)
0 20 40 60 80 100
Percentage of symbolic edge costs
0
500
1000
1500
2000
Tim
e[s
]
% of nodes changing next-hop0 20 60 10040 60
0
0.1
2000
1000
1500
NetComplete synthesis time increases
as the sketch becomes more symbolic
% of weights left symbolic in the sketch
OSPF synthesis time (sec)
16 reqs
large topos.
settings
![Page 95: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/95.jpg)
optimized encodingBGP synthesis
OSPF synthesiscounter-examples-based
Evaluationflexible, yet scalable
?
?
NetComplete: Practical Network-Wide
Configuration Synthesis with Autocompletion
![Page 96: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/96.jpg)
Autocompletes configurations with “holes”
synthesizes configurations for large network in minutes
Phrases the problem as constraints satisfaction
Scales to realistic network size
leaving the concrete parts intact
scales using network-specific heuristics & partial evaluation
NetComplete: Practical Network-Wide
Configuration Synthesis with Autocompletion
![Page 97: New NetComplete: Practical Network-Wide Configuration Synthesis … · 2018. 4. 26. · Ahmed El-Hassany I shouldn’t be the one giving this talk… Third year PhD student @ETH Zürich](https://reader035.vdocuments.mx/reader035/viewer/2022071214/60423093e24f3876467153b5/html5/thumbnails/97.jpg)
Ahmed El-Hassany Petar Tsankov Laurent Vanbever Martin Vechev
NetComplete: Practical Network-Wide
Configuration Synthesis with Autocompletion