Show simple item record

dc.contributor.author
Elhassany, Ahmed
dc.contributor.supervisor
Vanbever, Laurent
dc.contributor.supervisor
Akella, Aditya
dc.contributor.supervisor
Krishnamurthy, Arvind
dc.contributor.supervisor
Singla, Ankit
dc.contributor.supervisor
Vechev, Martin
dc.date.accessioned
2020-07-31T13:42:41Z
dc.date.available
2020-07-31T13:25:31Z
dc.date.available
2020-07-31T13:42:41Z
dc.date.issued
2019-09-09
dc.identifier.uri
http://hdl.handle.net/20.500.11850/429488
dc.identifier.doi
10.3929/ethz-b-000429488
dc.description.abstract
Many critical services, such as e-commerce, emergency response, or even remote surgeries, rely on computer networks. This strategic importance makes them a mission-critical infrastructure that must operate reliably, with minimum downtime. Achieving reliable operations is challenging, though, as confirmed by the countless major network downtimes that are frequently making the news. In this dissertation, we develop techniques and tools to enable the reliable network operations of the two main types of networks deployed today: (i) networks running distributed routing protocols; and (ii) networks managed by a logically-centralized controller, also known as Software-Defined Networks (SDN). Each paradigm comes with its own set of operational challenges. In networks running distributed routing protocols, the main problem is configuring each device correctly. Studies have indeed shown that human-induced misconfigurations, not physical failures, explain the majority of network downtimes. In contrast, in SDN, the main problem is ensuring the correctness of the controller software. Therefore, we tackle two complementary problems: (i) how to synthesize configurations for networks running distributed routing protocols automatically?; and (ii) how to catch bugs in SDN networks? To eliminate human-induced misconfigurations, we propose two novel and complementary techniques to synthesize configurations from high-level policies. The first technique aims at generality, while the second one aims at usability and scalability. Specifically, the first technique enables the synthesis of correct configurations for arbitrary protocols from operators’ intents and a formal specification of the protocols’ behavior. While useful, we show that this technique is limited in its scalability and can produce configurations that are far from what a human would write. The second set of techniques rely on autocompletion to address these problems. Here, we allow the network operators to specify parts of the configurations and constraint the values that the synthesizer is permitted to produce. We show that autocompletion enables the synthesizer to scale to large networks and generates interpretable configurations. To catch bugs in SDN controllers, we develop new techniques for detecting and troubleshooting concurrency violations. As an event-based system, an SDN controller is indeed particularly subject to concurrency issues. Thus, we present a sound and complete dynamic concurrency analyzer for SDN controllers. Furthermore, we present techniques to assist the developers in identifying and troubleshooting the source of the reported concurrency violations.
en_US
dc.format
application/pdf
en_US
dc.language.iso
en
en_US
dc.publisher
ETH Zurich
en_US
dc.rights.uri
http://rightsstatements.org/page/InC-NC/1.0/
dc.subject
Computer networks
en_US
dc.subject
Programming languages
en_US
dc.subject
program synthesis
en_US
dc.subject
VERIFICATION (SOFTWARE ENGINEERING)
en_US
dc.title
Towards reliable network control planes
en_US
dc.type
Doctoral Thesis
dc.rights.license
In Copyright - Non-Commercial Use Permitted
dc.date.published
2020-07-31
ethz.size
170 p.
en_US
ethz.code.ddc
DDC - DDC::0 - Computer science, information & general works::000 - Generalities, science
en_US
ethz.identifier.diss
26296
en_US
ethz.publication.place
Zurich
en_US
ethz.publication.status
published
en_US
ethz.leitzahl
ETH Zürich::00002 - ETH Zürich::00012 - Lehre und Forschung::00007 - Departemente::02140 - Dep. Inf.technologie und Elektrotechnik / Dep. of Inform.Technol. Electrical Eng.::02640 - Inst. f. Technische Informatik und Komm. / Computer Eng. and Networks Lab.::09477 - Vanbever, Laurent / Vanbever, Laurent
en_US
ethz.date.deposited
2020-07-31T13:25:47Z
ethz.source
FORM
ethz.eth
yes
en_US
ethz.availability
Open access
en_US
ethz.rosetta.installDate
2020-07-31T13:43:09Z
ethz.rosetta.lastUpdated
2021-02-15T15:46:54Z
ethz.rosetta.versionExported
true
ethz.COinS
ctx_ver=Z39.88-2004&rft_val_fmt=info:ofi/fmt:kev:mtx:journal&rft.atitle=Towards%20reliable%20network%20control%20planes&rft.date=2019-09-09&rft.au=Elhassany,%20Ahmed&rft.genre=unknown&rft.btitle=Towards%20reliable%20network%20control%20planes
 Search print copy at ETH Library

Files in this item

Thumbnail

Publication type

Show simple item record