In this reading course, we will divide the world into 3 parts. Recognizing that networks have a data plane (e.g., IP forwarding) and a control plane (that builds the forwarding plane, e.g., BGP) we will study key papers in: data plane verification (Anteater, Veriflow, HSA, NetPlumber, Atomic Predicates, NoD, and the use of symmetries for scaling); control plane verification (early work by Griffin, work by Franck and Xie at CMU, Batfish, ERA from CMU) and control plane synthesis (Propane). We will impinge on languages to state intent and some semantics but our primary thrust is on tools for real networks.
To help empower students to use this class not just to read what has been done but to create new research directions in this emerging field, we will spend the first ten minutes of each class studying one paradigm (e.g., scratching, searching for a spine) for creativity taken from the book by Twyla Tharp called "The Creative Habit". The intent is that graduate students can help face the eternal question: how do I start some research of my own? We will also relate the lectures from the point of view of the graduate students who helped create each paper and their journey.
Lecture 1, Introduction to the Class, and the Syllabus
Lecture 2, Models of Networking and Formal Methods
Lecture 3, Header Space Analysis
Lecture 4, Header Space Analysis in More Detail
Lecture 5, Incremental Header Space Analysis
Lecture 6, Faster Network Verification using Atomic Predicates
Lecture 7, Scaling Network Verification using Symmetries and Surgeries
Lecture 8, Network Verification applied to Cellular Networks
Lecture 9, Network Verification aplied to testing Networks: ATPG
Lecture 10, Software Data Plane Verification of Router Software
Lecture 11, Transition to Control Plane, Static Analysis of BGP Faults, based on Feamster's rcc slides
Lecture 12, Batfish: A Datalog Simulator for Control and Data Planes, based on Ari Fogel's slides
Lecture 13, Finding Bugs in BGP Control Planes using ERA
Lecture 14, Transition to Synthesis: Ryan Beckett's slides on Propane to Synthesize BGP Configurations
Lecture 15, Summary of Class, Course Review
<
Prepared by George Varghese
Last Modified June 2020 .