TY - JOUR
T1 - Using deep programmability to put network owners in control
AU - Foster, Nate
AU - Mckeown, Nick
AU - Rexford, Jennifer
AU - Parulkar, Guru
AU - Peterson, Larry
AU - Sunay, Oguz
N1 - Publisher Copyright:
© 2020 Copyright is held by the owner/author(s).
PY - 2020/10/26
Y1 - 2020/10/26
N2 - Controlling an opaque system by reading some "dials"and setting some "knobs,"without really knowing what they do, is a hazardous and fruitless endeavor, particularly at scale. What we need are transparent networks, that start at the top with a high-level intent and map all the way down, through the control plane to the data plane. If we can specify the behavior we want in software, then we can check that the system behaves as we expect. This is impossible if the implementation is opaque. We therefore need to use open-source software or write it ourselves (or both), and have mechanisms for checking actual behavior against the specified intent. With fine-grain checking (e.g., every packet, every state variable), we can build networks that are more reliable, secure, and performant. In the limit, we can build networks that run autonomously under verifiable, closed-loop control. We believe this vision, while ambitious, is finally within our reach, due to deep programmability across the stack, both vertically (control and data plane) and horizontally (end to end). It will emerge naturally in some networks, as network owners take control of their software and engage in open-source efforts; whereas in enterprise networks it may take longer. In 5G access networks, there is a pressing need for our community to engage, so these networks, too, can operate autonomously under verifiable, closed-loop control.
AB - Controlling an opaque system by reading some "dials"and setting some "knobs,"without really knowing what they do, is a hazardous and fruitless endeavor, particularly at scale. What we need are transparent networks, that start at the top with a high-level intent and map all the way down, through the control plane to the data plane. If we can specify the behavior we want in software, then we can check that the system behaves as we expect. This is impossible if the implementation is opaque. We therefore need to use open-source software or write it ourselves (or both), and have mechanisms for checking actual behavior against the specified intent. With fine-grain checking (e.g., every packet, every state variable), we can build networks that are more reliable, secure, and performant. In the limit, we can build networks that run autonomously under verifiable, closed-loop control. We believe this vision, while ambitious, is finally within our reach, due to deep programmability across the stack, both vertically (control and data plane) and horizontally (end to end). It will emerge naturally in some networks, as network owners take control of their software and engage in open-source efforts; whereas in enterprise networks it may take longer. In 5G access networks, there is a pressing need for our community to engage, so these networks, too, can operate autonomously under verifiable, closed-loop control.
KW - network verification
KW - programmable networks
KW - software defined networks (SDN)
KW - telemetry
UR - http://www.scopus.com/inward/record.url?scp=85095416127&partnerID=8YFLogxK
UR - http://www.scopus.com/inward/citedby.url?scp=85095416127&partnerID=8YFLogxK
U2 - 10.1145/3431832.3431842
DO - 10.1145/3431832.3431842
M3 - Article
AN - SCOPUS:85095416127
SN - 0146-4833
VL - 50
SP - 82
EP - 88
JO - Computer Communication Review
JF - Computer Communication Review
IS - 4
ER -