Machine-Verified Network Controllers

被引:54
作者
Guha, Arjun [1 ]
Reitblatt, Mark [1 ]
Foster, Nate [1 ]
机构
[1] Cornell Univ, Ithaca, NY 14853 USA
关键词
Software-defined networking; OpenFlow; formal verification; Coq; domain-specific languages; NetCore; Frenetic; COMPILER;
D O I
10.1145/2499370.2462178
中图分类号
TP31 [计算机软件];
学科分类号
081202 ; 0835 ;
摘要
In many areas of computing, techniques ranging from testing to formal modeling to full-blown verification have been successfully used to help programmers build reliable systems. But although networks are critical infrastructure, they have largely resisted analysis using formal techniques. Software-defined networking (SDN) is a new network architecture that has the potential to provide a foundation for network reasoning, by standardizing the interfaces used to express network programs and giving them a precise semantics. This paper describes the design and implementation of the first machine-verified SDN controller. Starting from the foundations, we develop a detailed operational model for OpenFlow (the most popular SDN platform) and formalize it in the Coq proof assistant. We then use this model to develop a verified compiler and run-time system for a high-level network programming language. We identify bugs in existing languages and tools built without formal foundations, and prove that these bugs are absent from our system. Finally, we describe our prototype implementation and our experiences using it to build practical applications.
引用
收藏
页码:483 / 494
页数:12
相关论文
共 33 条
[1]  
AL-SHAER E., 2010, SAFECONFIG
[2]  
[Anonymous], 2012, NSDI
[3]  
[Anonymous], 2012, HEADER SPACE ANAL ST
[4]  
[Anonymous], UCBEECS2012178
[5]  
Appel Andrew W., 2011, ESOP
[6]  
Chen Xu., 2010, CoNEXT
[7]  
Chlipala Adam., 2011, PLDI
[8]  
Ferguson AndrewD., 2012, HOTSDN
[9]  
Foster Nate., 2011, ICFP
[10]  
Gill P., 2011, SIGCOMM