Collaborative Research: FMitF: Track I: Specifying
and Verifying Network-wide Properties of
Dynamic Data Planes
NSF FMitF Award Numbers 2219862, 2219863
Synopsis
Spurred by programmable switches and network interface cards (NICs), the data planes of computer networks are becoming highly dynamic. They now contain mutable state and control logic
that allows them to implement complex behaviors that were traditionally housed in a software
control plane or application layer, such as routing, failure detection, caching, or data aggregation.
The goal of our proposed research is to make these new networks substantially more reliable by
developing tools to formally specify and verify network-wide behavior. We plan to explore the use
of distributed, event-driven control as a common abstraction to specify both network functionality
and behavioral invariants. This abstraction is a general way to represent data plane activity (e.g.,
packet arrivals), control plane messages (e.g., routing announcements), and application layer events
(e.g., installation of a cache entry). It simplifies programming (preliminary results show a 5 to 10x
reduction in program size), hides complicated low-level mechanisms such as packet parsers and
deparsers, and provides a general vocabulary with which one may specify network-wide behaviors.
We will develop a hybrid verification framework to assure engineers that network behavior matches
specifications. Static verification will be used to catch bugs before network program changes are
deployed. This proactive capability is a significant advantage, but verification would be with respect to abstract models of networks and subject to assumptions about the operating environment.
Dynamic verification, via monitors synthesized from the same high-level specifications, complement
static verification. Such monitors will be embedded within the running network, monitoring net-
work events as they occur, checking that static assumptions hold up, bridging the scaling gap if
one exists, and providing defense in depth.
Intellectual Merit
We will enable network engineers to build and verify networks with dynamic data planes. Key research questions include: 1) How does one define a general, expressive, and tractable specification
language that applies to behaviors at multiple levels of abstraction (data, control, and application
layers)? 2) How does one develop a compiler and run-time verification method that detects viola-
tions of such specifications using the limited resources and primitives available on network switches
and with low communication overhead? 3) How can we scale static analysis methods and enable
verification of large, rich, stateful, dynamic data planes? 4) Can static and dynamic methods be
combined to further improve network reliability? While our primary objective is to improve net-
work reliability, the algorithms and infrastructure we will develop may contribute broadly to formal
methods and find use in other domains.
Broader Impacts
Reliable networks are an essential component of the nation’s critical infrastructure; our research will
help keep that infrastructure running and protect it from attack. To increase access to computer
science, we will follow Princeton and UW’s verified institutional BPC plans. In particular, we will
support Princeton’s summer undergraduate programming experience and UW’s graduate student
recruitment. To educate other researchers about our work, we will write about
network verification on PI Mahajan's blog netverify.fun among other activities. To
facilitate technology transfer, we will continue our close collaborations with cloud providers in the Seattle area.
Personnel
- Ratul Mahajan (PI), University of Washington
- David Walker (PI), Princeton
- John Sonchack (Researcher), Princeton
- Weixin Deng, University of Washington
- Andrew Johnson (PhD Student), Princeton
- Devon Loehr (PhD Student), Princeton
- Han Xu (PhD Student), Princeton
- Xieyang Xu (PhD Student), University of Washington
Collaborators
- Ryan Beckett, Microsoft
- John Bloch, Duke (Undergraduate Summer Researcher at Princeton)
- Zak Kincaid, Princeton
- Arvind Krishnamurthy, University of Washington
- Iris Shu, MIT (Undergraduate Summer Researcher at Princeton)
- Yifei Yuan, Alibaba
- Ennan Zhai, Alibaba
Publications
- Relational network verification. Xieyang Xu,
Yifei Yuan, Zachary Kincaid, Arvind Krishnamurthy, Ratul Mahajan,
David Walker, and Ennan Zhai. SIGCOMM 2024. August 2024. (paper)
- Sequence Abstractions for Flexible, Line-Rate Network
Monitoring. Andrew Johnson, Ryan Beckett, Ratul Mahajan,
and David Walker. NSDI 2024. April 2024. (paper,
slides, and video)
- Lessons from the Evolution of the Batfish Configuration
Analysis Tool. Matt Brown, Ari Fogel, Daniel
Halperin, Victor Heohiardi, Ratul Mahajan, and Todd
Millstein. SIGCOMM 2023. September 2023. (paper)
- Synthesizing State Machines for Data Planes
Xiaoqi Chen, Andrew Johnson, Mengying Pan, and David Walker. Symposium
on SDN Research (SOSR). October 2022. Authors names are ordered
alphabetically. Best paper award. (PDF)
Invited Talks and Outreach
- The bane of network operations: Networks are evolved, not (intelligently) designed.
Ratul Mahajan, University of Washington. Keynote talk at 1st ACM SIGCOMM Workshop on Formal Methods Aided Network Operation
Sydney, Austria. August, 2024. (slides)
- A decade of network verification: Lessons learned and open challenges.
Ratul Mahajan, University of Washington. Keynote talk at Asia-Pacific Workshop on Networking
Sydney, Austria. August, 2024. (slides)
- A Good Spec (for Network Changes) is Hard to Find.
David Walker, Princeton University. Invited talk at Amazon, NY, USA. July, 2024. (slides)
- From research to product: Lessons from developing a network verification tool.
Ratul Mahajan, University of Washington. Keynote talk at 19th International Conference on Network and Service Management
Niagara Falls, Canada. November, 2023. (slides)
-
NetCov: Test coverage for network configurations.
Ratul Mahajan, University of Washington. Invited talk at Cisco
Research, April, 2023. (slides)
Open Source Code
Educational Activities
Last modified: Wed Sep 18 11:05:19 EDT 2024