際際滷

際際滷Share a Scribd company logo
But is it Art(ificial Intelligence)?
And is it Good? And Who Says So?
Its D辿j vu all over again.
- Yogi Berra
No army can stop an idea whose time has come.
- Victor Hugo
Last week, I blogged for my employer on machine learning in networking which was based on a
podcast that our CTO had given on the same topic. We have an enterprise version of an open-
source automation platform called StackStorm that wires apps, services and workflows together,
and whose incipient vision was to build a self-driving data center.
Not as fancy as this propeller head, but very useful and popular, and less vulnerable to this sort
of nonsense.
But thats not what I wanted to talk about today.
Ive been thinking about trends in networking that may or may not (I think not) qualify as
machine learning based on the definitions, which Ill paraphrase (read: oversimplify) as:
 Algorithms, trained by data, perform better over time (they get better based on what they
learn)
 They add parameters for decision making based on continual new data
 They apply to situations where, practically speaking, its overly difficult to define rules
manually
This is a fancy set of requirements that emphasize the learning part of the definition. It
generated discussion and is a hot topic to be sure. And I am ~100% sure we will get there
(and that, like all AI, it will be something to treat with caution!).
However, I there are clearly intermediate steps, and a broader cross-domain view of
networkings next frontier, that may be even more interesting, if only because we are right at its
doorstep. In this article, Im going to describe a movement thats underway (hint: its sort of a
second wave of SDN) in both the academic and commercial side of networking, and give what
I expect will be the first of many other examples of how we are taming this discipline over the
next few years.
Lets (For a Change) Get Formal
My thoughts as to whats coming next come from formal methods that George Varghese and
Nick McKeown sum up as network design automation. Briefly, Varghese draws upon
programming history and electronic design automation, finding (along with McKeown) methods
and tool kits in both domains that now have relevance in networking:
Programmers have access to a panoply of tools including compilers, debuggers, static
and dynamic checkers. Hardware designers have synthesis, place-and-route, and timing
verification tools. (Source here)
But data network operations are still largely peppered with venerable thirty year old ping and
traceroute. By comparison to programming and hardware, this is paper clips and rubber bands,
and we at least need Legos.
Side Note: Do follow the ping link if you want a little bit of folklore from its (sadly deceased)
author, early Internet super-hacker Mike Muuss. Mike was what we can safely call a real
programmer.
But the building blocks are in place, its an ideal time for networking to start taking on the
toolsets that have helped formalize and ensure engineering success in software and hardware
development and design.
Programmers, after all, have long had access for decades to compilers, debuggers,
intermediate code generators, static and dynamic checkers, and linkers. The first full screen
debuggers for programming languages were available in the 1980s. Similar tools for Computer
Aided Design and Manufacturing (CAD/CAM) came shortly thereafter. Very-large-scale
integration (VLSI) has incorporated hardware description languages that inform optimal gate-
level designs, place and route analysis tools, and timing verification tools.
Indeed, by the turn of the century, design and simulations systems for FPGAs and ASICs took
on many of the characteristics of more flexible software development tools: hardware designers
could code their systems in software, verify and check them in software, debug them in
software, etc.
Why Has Networking Lagged?
In 2011, Scott Shenker gave a talk entitled The Future of Networking and the Past of Protocols
in which he recounted an under-abstracted approach of one new protocol per problem.
McKeown details (SIGCOMM, 2014) how this makes debugging difficult: there are complex
interactions between multiple protocols on a switch or router, and between state on different
switches and routers. Operators cant control and observe the ever-changing state. Network
engineers wrestle daily with misconfigurations that could not possibly have seemed
unreasonable at the time they were committed.
This also has something to do with the physical nature of networks. Networks just kind of grew
up to be spacious and complex, with different design approaches depending on their range,
morphing into many types of spaghetti cabling (with varied propagation delay and unpredictable
physical length), varietal decision boxes (switches, routers, hubs, optical equipment), and
interface cards supporting many different speeds and opportunities to be misaligned. A perfect
storm of complexity, one new feature bolted onto another.
As Varghese observes, this conglomeration does not resemble code, and is harder to get
control of than either a software system or a circuit board. But still, in the spirit of SDN (kind of a
next step from the original central control vision), the network must be tamed by being treated
as a program that takes packets from specified inputs and sends them (by rewriting headers for
the decision boxes).
So improvement time is nigh, and in fact thats what were seeing. This is especially important
because the networks themselves are growing more complicated. Load balancers spread traffic
using opaque hash functions, firewalls prohibit messages based on cryptic rules and syntax that
varies between vendors.
Essential Symmetry: Software, Hardware, Networks
To get to the answer--and find the right level of abstraction for the problem--lets look at the
questions being asked of networks:
 Is a host (or a network) reachable?
 Why are these interfaces losing packets?
 Why is my Internet connection intermittent?
 Are the virtual network slices (VLANs, subnetworks) truly segregated and not vulnerable
to broadcast storms?
 And, conversely, do subnetworks have ways to communicate when they need to?
Moreover, networks support users, applications, devices, access to backend systems, cloud
services, etc. This is their reason for being. So related questions include:
 Are my users free from attacks? Even ones they bring on themselves (by being
phished, for instance)
 What about other endpoints, such as servers or applications?
 Can network data help identify ideal workload placement?
 Can reconfiguration optimize application performance?
 To make a cloud service more accessible and higher performing, should I use a regional
hub or a larger interface?
But the Costs!
Quick segue to the money. Thats what drives the design and the sales side of the house.
Network failures are, by any account, are a constant source of runaway operational expenditure,
particularly in the age of tablets and mobile devices, many of them being brought into enterprise
environments and accessing cloud services in the age of BYOD.
Framework
Now lets take a look at what McKeown and Varghese see as the potential parallels between
EDA and similar toolsets for networks.
Figure 1: Digital Hardware Design as Inspiration (Source: McKeown SIGCOMM 2012)
There are many topics that we can deal with over time to address this movement for formalized
design automation. Here we will address just one: verification.
Example: Verification
This verification example is for reachability and will address functional verification (EDA) versus
verification/reachability (NDA) side of the equation.
The example uses an abstraction for end-to-end reachability called Header Space Analysis
(HSA). This allows you to treat the network as a program: you can model the following:
 Packet headers as points in header space
 Routers as functions (taking actions) on headers: possibly rewriting but determining
reachability and potential headers that can reach next hops
 Networks as composite functions: composing the router functions to form a network
program that takes points at entrances and transforms them via intermediate spaces to
points at the network exit.
Again oversimplifying, operations are as follows:
1. The system models sets of packets, based on relevant TCP/IP header bits, as subsets
of {0,1, wildcard (*)} in three-dimensional header spaces (cubes)
2. We can perform set algebra on these header spaces as packets traverse the network
3. We can abstract away middle boxes (from your favorite vendors) as transfer functions on
sets of headers
4. Thus, packets that reach across paths are expressed as compositions of these transfer
functions
5. When we find all the packets that reach specified nodes you can check the results
against your original reachability specification.
We can use HSA (Figure 2) to compute all packet headers if any that can reach between any
two hosts, say A and B.
Figure 2: Header Space Analysis (Source: George Varghese: When Clarke Meets Cerf)
The large cube at Host A shows the entire header space: all packets that can be sent. As
packets go through transfer functions at intermediate boxes, the header spaces become
smaller. All hypercubes in the figure represent sets of possible packets.
Ultimately, the complexity depends on the headers, the paths, and the number of rules in each
box and in the entire network.
The problem is to establish all permutations of reachability between Hosts A and B. To do this,
we inject the space of all packets headers that A can send into Box 1.
As packets traverse each box, the transfer functions subdivide the header spaces. As the
simulation begins to cover the network, exact sets of packets that can reach B from A are
expressed as the composition of the transfer functions of the boxes in all possible paths.
This algorithm can be extended and modified for different of these middle boxes: routers,
switches, load balancers, firewalls, etc.
Back to the Original Questions
The answer to the title question is, of course, it depends. There was certainly machine learning
in the early vision for StackStorm, the tool I mentioned above that serves as the brains behind
workflows.
But the need for formalization, akin to software programming workbenches like Visual Studio
and EDA tools that fulfill the functional blocks of Figure 1, is very keen. Major work is being
done to foster this concept for networks, and the momentum is clearly building because its time
has come.
Other Links for Fun and Profit
A Distinguished Series Speaker Talk by George Varghese, discusses the growing work in
treating computer networks as programs.
I originally came across Varghese through his somewhat popular (well, I have it and see it
around) work, Network Algorithmics: a multidisciplinary approach to networking that draws upon
principles for best practices in hardware, software and systems.
Youtube video of Varghese for Distinguished Lecture Series at UC Irvine: When Hoare Met Cerf
Similar talk by Professor Varghese at University of Washington
Header Space Analysis: the principal inventor is Peyman Kazemian.
Ad

Recommended

ThreadModel rev 1.4
ThreadModel rev 1.4
Chris Cochran
IRJET - Detecting and Securing of IP Spoofing Attack by using SDN
IRJET - Detecting and Securing of IP Spoofing Attack by using SDN
IRJET Journal
Outsourced kp abe with chosen ciphertext security
Outsourced kp abe with chosen ciphertext security
csandit
Data Structures in the Multicore Age : Notes
Data Structures in the Multicore Age : Notes
Subhajit Sahu
Diploma Paper Contribution
Diploma Paper Contribution
Mehdi Touati
Scimakelatex.83323.robson+medeiros+de+araujo
Scimakelatex.83323.robson+medeiros+de+araujo
Robson Araujo
Reactive Data Centric Architectures with Vortex, Spark and ReactiveX
Reactive Data Centric Architectures with Vortex, Spark and ReactiveX
Angelo Corsaro
Coupling-Based Internal Clock Synchronization for Large Scale Dynamic Distrib...
Coupling-Based Internal Clock Synchronization for Large Scale Dynamic Distrib...
Angelo Corsaro
Marvin_Capstone
Marvin_Capstone
Marvin Bertin
IEEE 2014 Title's list for computer science students
IEEE 2014 Title's list for computer science students
gagnertechnologies
Semantic IoT Semantic Inter-Operability Practices - Part 2
Semantic IoT Semantic Inter-Operability Practices - Part 2
iotest
NEW ALGORITHMS FOR SECURE OUTSOURCING OF LARGE-SCALE SYSTEMS OF LINEAR EQUAT...
NEW ALGORITHMS FOR SECURE OUTSOURCING OF LARGE-SCALE SYSTEMS OF LINEAR EQUAT...
Nexgen Technology
A New Approach to Volunteer Cloud Computing
A New Approach to Volunteer Cloud Computing
IOSR Journals
Parallel and distributed system projects for java and dot net
Parallel and distributed system projects for java and dot net
redpel dot com
Secure computing for java and dot net
Secure computing for java and dot net
redpel dot com
Data Communication & Computer Networks
Data Communication & Computer Networks
Sreedhar Chowdam
Network Algorithmics 2nd Edition Varghese
Network Algorithmics 2nd Edition Varghese
fatoyedudney
Network Algorithmics 2nd Edition Varghese
Network Algorithmics 2nd Edition Varghese
lvefezeck
Software defined network
Software defined network
Bogamoga1
Chapter 1 - Network Topologies.pptx
Chapter 1 - Network Topologies.pptx
NaeemAkhtar403523
How to deal with the impact of digital transformation on networks
How to deal with the impact of digital transformation on networks
Abaram Network Solutions
1. Software-Defined Networks (SDN) is a new paradigm in network ma.docx
1. Software-Defined Networks (SDN) is a new paradigm in network ma.docx
jackiewalcutt
Enterprise Data Center Networking (with citations)
Enterprise Data Center Networking (with citations)
Jonathan Williams
Introduction to Computer Networks
Introduction to Computer Networks
Ghaffar Khan
SDN the network becomes the application
SDN the network becomes the application
Eduardo_Jacob
Big Data Analytics and Advanced Computer Networking Scenarios
Big Data Analytics and Advanced Computer Networking Scenarios
Stenio Fernandes
Module 1 Introduction to Computer Networks.pptx
Module 1 Introduction to Computer Networks.pptx
AASTHAJAJOO
Module 1 Part II Network archuitecture.pptx
Module 1 Part II Network archuitecture.pptx
waynyang10
Net essentials6e ch3
Net essentials6e ch3
APSU
A survey on software defined networking
A survey on software defined networking
redpel dot com

More Related Content

What's hot (7)

Marvin_Capstone
Marvin_Capstone
Marvin Bertin
IEEE 2014 Title's list for computer science students
IEEE 2014 Title's list for computer science students
gagnertechnologies
Semantic IoT Semantic Inter-Operability Practices - Part 2
Semantic IoT Semantic Inter-Operability Practices - Part 2
iotest
NEW ALGORITHMS FOR SECURE OUTSOURCING OF LARGE-SCALE SYSTEMS OF LINEAR EQUAT...
NEW ALGORITHMS FOR SECURE OUTSOURCING OF LARGE-SCALE SYSTEMS OF LINEAR EQUAT...
Nexgen Technology
A New Approach to Volunteer Cloud Computing
A New Approach to Volunteer Cloud Computing
IOSR Journals
Parallel and distributed system projects for java and dot net
Parallel and distributed system projects for java and dot net
redpel dot com
Secure computing for java and dot net
Secure computing for java and dot net
redpel dot com
IEEE 2014 Title's list for computer science students
IEEE 2014 Title's list for computer science students
gagnertechnologies
Semantic IoT Semantic Inter-Operability Practices - Part 2
Semantic IoT Semantic Inter-Operability Practices - Part 2
iotest
NEW ALGORITHMS FOR SECURE OUTSOURCING OF LARGE-SCALE SYSTEMS OF LINEAR EQUAT...
NEW ALGORITHMS FOR SECURE OUTSOURCING OF LARGE-SCALE SYSTEMS OF LINEAR EQUAT...
Nexgen Technology
A New Approach to Volunteer Cloud Computing
A New Approach to Volunteer Cloud Computing
IOSR Journals
Parallel and distributed system projects for java and dot net
Parallel and distributed system projects for java and dot net
redpel dot com
Secure computing for java and dot net
Secure computing for java and dot net
redpel dot com

Similar to But is it Art(ificial Intelligence)? (20)

Data Communication & Computer Networks
Data Communication & Computer Networks
Sreedhar Chowdam
Network Algorithmics 2nd Edition Varghese
Network Algorithmics 2nd Edition Varghese
fatoyedudney
Network Algorithmics 2nd Edition Varghese
Network Algorithmics 2nd Edition Varghese
lvefezeck
Software defined network
Software defined network
Bogamoga1
Chapter 1 - Network Topologies.pptx
Chapter 1 - Network Topologies.pptx
NaeemAkhtar403523
How to deal with the impact of digital transformation on networks
How to deal with the impact of digital transformation on networks
Abaram Network Solutions
1. Software-Defined Networks (SDN) is a new paradigm in network ma.docx
1. Software-Defined Networks (SDN) is a new paradigm in network ma.docx
jackiewalcutt
Enterprise Data Center Networking (with citations)
Enterprise Data Center Networking (with citations)
Jonathan Williams
Introduction to Computer Networks
Introduction to Computer Networks
Ghaffar Khan
SDN the network becomes the application
SDN the network becomes the application
Eduardo_Jacob
Big Data Analytics and Advanced Computer Networking Scenarios
Big Data Analytics and Advanced Computer Networking Scenarios
Stenio Fernandes
Module 1 Introduction to Computer Networks.pptx
Module 1 Introduction to Computer Networks.pptx
AASTHAJAJOO
Module 1 Part II Network archuitecture.pptx
Module 1 Part II Network archuitecture.pptx
waynyang10
Net essentials6e ch3
Net essentials6e ch3
APSU
A survey on software defined networking
A survey on software defined networking
redpel dot com
Module-1-CN.pdfdvdqvwfbefbfwfwbfwvwfbwfbwfbfw
Module-1-CN.pdfdvdqvwfbefbfwfwbfwvwfbwfbwfbfw
gurukiranuj18
SDN Introduction
SDN Introduction
Steve Goeringer
Optical Switching in the Datacenter
Optical Switching in the Datacenter
Kostas Katrinis
Unit_1.pdf computer networks and computer topology
Unit_1.pdf computer networks and computer topology
22i261
The Future of Networking, and the Past of Protocols
The Future of Networking, and the Past of Protocols
Open Networking Summits
Data Communication & Computer Networks
Data Communication & Computer Networks
Sreedhar Chowdam
Network Algorithmics 2nd Edition Varghese
Network Algorithmics 2nd Edition Varghese
fatoyedudney
Network Algorithmics 2nd Edition Varghese
Network Algorithmics 2nd Edition Varghese
lvefezeck
Software defined network
Software defined network
Bogamoga1
Chapter 1 - Network Topologies.pptx
Chapter 1 - Network Topologies.pptx
NaeemAkhtar403523
How to deal with the impact of digital transformation on networks
How to deal with the impact of digital transformation on networks
Abaram Network Solutions
1. Software-Defined Networks (SDN) is a new paradigm in network ma.docx
1. Software-Defined Networks (SDN) is a new paradigm in network ma.docx
jackiewalcutt
Enterprise Data Center Networking (with citations)
Enterprise Data Center Networking (with citations)
Jonathan Williams
Introduction to Computer Networks
Introduction to Computer Networks
Ghaffar Khan
SDN the network becomes the application
SDN the network becomes the application
Eduardo_Jacob
Big Data Analytics and Advanced Computer Networking Scenarios
Big Data Analytics and Advanced Computer Networking Scenarios
Stenio Fernandes
Module 1 Introduction to Computer Networks.pptx
Module 1 Introduction to Computer Networks.pptx
AASTHAJAJOO
Module 1 Part II Network archuitecture.pptx
Module 1 Part II Network archuitecture.pptx
waynyang10
Net essentials6e ch3
Net essentials6e ch3
APSU
A survey on software defined networking
A survey on software defined networking
redpel dot com
Module-1-CN.pdfdvdqvwfbefbfwfwbfwvwfbwfbwfbfw
Module-1-CN.pdfdvdqvwfbefbfwfwbfwvwfbwfbwfbfw
gurukiranuj18
Optical Switching in the Datacenter
Optical Switching in the Datacenter
Kostas Katrinis
Unit_1.pdf computer networks and computer topology
Unit_1.pdf computer networks and computer topology
22i261
The Future of Networking, and the Past of Protocols
The Future of Networking, and the Past of Protocols
Open Networking Summits
Ad

Recently uploaded (20)

Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
caoyixuan2019
9-1-1 Addressing: End-to-End Automation Using FME
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Alliance
OpenPOWER Foundation & Open-Source Core Innovations
OpenPOWER Foundation & Open-Source Core Innovations
IBM
MuleSoft for AgentForce : Topic Center and API Catalog
MuleSoft for AgentForce : Topic Center and API Catalog
shyamraj55
Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
Techniques for Automatic Device Identification and Network Assignment.pdf
Techniques for Automatic Device Identification and Network Assignment.pdf
Priyanka Aash
The Future of AI Agent Development Trends to Watch.pptx
The Future of AI Agent Development Trends to Watch.pptx
Lisa ward
Information Security Response Team Nepal_npCERT_Vice_President_Sudan_Jha.pdf
Information Security Response Team Nepal_npCERT_Vice_President_Sudan_Jha.pdf
ICT Frame Magazine Pvt. Ltd.
AI VIDEO MAGAZINE - June 2025 - r/aivideo
AI VIDEO MAGAZINE - June 2025 - r/aivideo
1pcity Studios, Inc
"Database isolation: how we deal with hundreds of direct connections to the d...
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
You are not excused! How to avoid security blind spots on the way to production
You are not excused! How to avoid security blind spots on the way to production
Michele Leroux Bustamante
OWASP Barcelona 2025 Threat Model Library
OWASP Barcelona 2025 Threat Model Library
PetraVukmirovic
Creating Inclusive Digital Learning with AI: A Smarter, Fairer Future
Creating Inclusive Digital Learning with AI: A Smarter, Fairer Future
Impelsys Inc.
Crypto Super 500 - 14th Report - June2025.pdf
Crypto Super 500 - 14th Report - June2025.pdf
Stephen Perrenod
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance
The Future of Data, AI, and AR: Innovation Inspired by You.pdf
The Future of Data, AI, and AR: Innovation Inspired by You.pdf
Safe Software
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
10 Key Challenges for AI within the EU Data Protection Framework.pdf
10 Key Challenges for AI within the EU Data Protection Framework.pdf
Priyanka Aash
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Priyanka Aash
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
Tech-ASan: Two-stage check for Address Sanitizer - Yixuan Cao.pdf
caoyixuan2019
9-1-1 Addressing: End-to-End Automation Using FME
9-1-1 Addressing: End-to-End Automation Using FME
Safe Software
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Seminar: Evolving Landscape of Post-Quantum Cryptography.pptx
FIDO Alliance
OpenPOWER Foundation & Open-Source Core Innovations
OpenPOWER Foundation & Open-Source Core Innovations
IBM
MuleSoft for AgentForce : Topic Center and API Catalog
MuleSoft for AgentForce : Topic Center and API Catalog
shyamraj55
Securing Account Lifecycles in the Age of Deepfakes.pptx
Securing Account Lifecycles in the Age of Deepfakes.pptx
FIDO Alliance
Techniques for Automatic Device Identification and Network Assignment.pdf
Techniques for Automatic Device Identification and Network Assignment.pdf
Priyanka Aash
The Future of AI Agent Development Trends to Watch.pptx
The Future of AI Agent Development Trends to Watch.pptx
Lisa ward
Information Security Response Team Nepal_npCERT_Vice_President_Sudan_Jha.pdf
Information Security Response Team Nepal_npCERT_Vice_President_Sudan_Jha.pdf
ICT Frame Magazine Pvt. Ltd.
AI VIDEO MAGAZINE - June 2025 - r/aivideo
AI VIDEO MAGAZINE - June 2025 - r/aivideo
1pcity Studios, Inc
"Database isolation: how we deal with hundreds of direct connections to the d...
"Database isolation: how we deal with hundreds of direct connections to the d...
Fwdays
You are not excused! How to avoid security blind spots on the way to production
You are not excused! How to avoid security blind spots on the way to production
Michele Leroux Bustamante
OWASP Barcelona 2025 Threat Model Library
OWASP Barcelona 2025 Threat Model Library
PetraVukmirovic
Creating Inclusive Digital Learning with AI: A Smarter, Fairer Future
Creating Inclusive Digital Learning with AI: A Smarter, Fairer Future
Impelsys Inc.
Crypto Super 500 - 14th Report - June2025.pdf
Crypto Super 500 - 14th Report - June2025.pdf
Stephen Perrenod
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance Seminar State of Passkeys.pptx
FIDO Alliance
The Future of Data, AI, and AR: Innovation Inspired by You.pdf
The Future of Data, AI, and AR: Innovation Inspired by You.pdf
Safe Software
AI vs Human Writing: Can You Tell the Difference?
AI vs Human Writing: Can You Tell the Difference?
Shashi Sathyanarayana, Ph.D
10 Key Challenges for AI within the EU Data Protection Framework.pdf
10 Key Challenges for AI within the EU Data Protection Framework.pdf
Priyanka Aash
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Oh, the Possibilities - Balancing Innovation and Risk with Generative AI.pdf
Priyanka Aash
Ad

But is it Art(ificial Intelligence)?

  • 1. But is it Art(ificial Intelligence)? And is it Good? And Who Says So? Its D辿j vu all over again. - Yogi Berra No army can stop an idea whose time has come. - Victor Hugo Last week, I blogged for my employer on machine learning in networking which was based on a podcast that our CTO had given on the same topic. We have an enterprise version of an open- source automation platform called StackStorm that wires apps, services and workflows together, and whose incipient vision was to build a self-driving data center. Not as fancy as this propeller head, but very useful and popular, and less vulnerable to this sort of nonsense. But thats not what I wanted to talk about today. Ive been thinking about trends in networking that may or may not (I think not) qualify as machine learning based on the definitions, which Ill paraphrase (read: oversimplify) as: Algorithms, trained by data, perform better over time (they get better based on what they learn) They add parameters for decision making based on continual new data They apply to situations where, practically speaking, its overly difficult to define rules manually This is a fancy set of requirements that emphasize the learning part of the definition. It generated discussion and is a hot topic to be sure. And I am ~100% sure we will get there (and that, like all AI, it will be something to treat with caution!). However, I there are clearly intermediate steps, and a broader cross-domain view of networkings next frontier, that may be even more interesting, if only because we are right at its doorstep. In this article, Im going to describe a movement thats underway (hint: its sort of a second wave of SDN) in both the academic and commercial side of networking, and give what I expect will be the first of many other examples of how we are taming this discipline over the next few years.
  • 2. Lets (For a Change) Get Formal My thoughts as to whats coming next come from formal methods that George Varghese and Nick McKeown sum up as network design automation. Briefly, Varghese draws upon programming history and electronic design automation, finding (along with McKeown) methods and tool kits in both domains that now have relevance in networking: Programmers have access to a panoply of tools including compilers, debuggers, static and dynamic checkers. Hardware designers have synthesis, place-and-route, and timing verification tools. (Source here) But data network operations are still largely peppered with venerable thirty year old ping and traceroute. By comparison to programming and hardware, this is paper clips and rubber bands, and we at least need Legos. Side Note: Do follow the ping link if you want a little bit of folklore from its (sadly deceased) author, early Internet super-hacker Mike Muuss. Mike was what we can safely call a real programmer. But the building blocks are in place, its an ideal time for networking to start taking on the toolsets that have helped formalize and ensure engineering success in software and hardware development and design. Programmers, after all, have long had access for decades to compilers, debuggers, intermediate code generators, static and dynamic checkers, and linkers. The first full screen debuggers for programming languages were available in the 1980s. Similar tools for Computer Aided Design and Manufacturing (CAD/CAM) came shortly thereafter. Very-large-scale integration (VLSI) has incorporated hardware description languages that inform optimal gate- level designs, place and route analysis tools, and timing verification tools. Indeed, by the turn of the century, design and simulations systems for FPGAs and ASICs took on many of the characteristics of more flexible software development tools: hardware designers could code their systems in software, verify and check them in software, debug them in software, etc. Why Has Networking Lagged? In 2011, Scott Shenker gave a talk entitled The Future of Networking and the Past of Protocols in which he recounted an under-abstracted approach of one new protocol per problem. McKeown details (SIGCOMM, 2014) how this makes debugging difficult: there are complex interactions between multiple protocols on a switch or router, and between state on different
  • 3. switches and routers. Operators cant control and observe the ever-changing state. Network engineers wrestle daily with misconfigurations that could not possibly have seemed unreasonable at the time they were committed. This also has something to do with the physical nature of networks. Networks just kind of grew up to be spacious and complex, with different design approaches depending on their range, morphing into many types of spaghetti cabling (with varied propagation delay and unpredictable physical length), varietal decision boxes (switches, routers, hubs, optical equipment), and interface cards supporting many different speeds and opportunities to be misaligned. A perfect storm of complexity, one new feature bolted onto another. As Varghese observes, this conglomeration does not resemble code, and is harder to get control of than either a software system or a circuit board. But still, in the spirit of SDN (kind of a next step from the original central control vision), the network must be tamed by being treated as a program that takes packets from specified inputs and sends them (by rewriting headers for the decision boxes). So improvement time is nigh, and in fact thats what were seeing. This is especially important because the networks themselves are growing more complicated. Load balancers spread traffic using opaque hash functions, firewalls prohibit messages based on cryptic rules and syntax that varies between vendors. Essential Symmetry: Software, Hardware, Networks To get to the answer--and find the right level of abstraction for the problem--lets look at the questions being asked of networks: Is a host (or a network) reachable? Why are these interfaces losing packets? Why is my Internet connection intermittent? Are the virtual network slices (VLANs, subnetworks) truly segregated and not vulnerable to broadcast storms? And, conversely, do subnetworks have ways to communicate when they need to? Moreover, networks support users, applications, devices, access to backend systems, cloud services, etc. This is their reason for being. So related questions include: Are my users free from attacks? Even ones they bring on themselves (by being phished, for instance) What about other endpoints, such as servers or applications? Can network data help identify ideal workload placement? Can reconfiguration optimize application performance? To make a cloud service more accessible and higher performing, should I use a regional hub or a larger interface?
  • 4. But the Costs! Quick segue to the money. Thats what drives the design and the sales side of the house. Network failures are, by any account, are a constant source of runaway operational expenditure, particularly in the age of tablets and mobile devices, many of them being brought into enterprise environments and accessing cloud services in the age of BYOD. Framework Now lets take a look at what McKeown and Varghese see as the potential parallels between EDA and similar toolsets for networks. Figure 1: Digital Hardware Design as Inspiration (Source: McKeown SIGCOMM 2012) There are many topics that we can deal with over time to address this movement for formalized design automation. Here we will address just one: verification. Example: Verification This verification example is for reachability and will address functional verification (EDA) versus verification/reachability (NDA) side of the equation.
  • 5. The example uses an abstraction for end-to-end reachability called Header Space Analysis (HSA). This allows you to treat the network as a program: you can model the following: Packet headers as points in header space Routers as functions (taking actions) on headers: possibly rewriting but determining reachability and potential headers that can reach next hops Networks as composite functions: composing the router functions to form a network program that takes points at entrances and transforms them via intermediate spaces to points at the network exit. Again oversimplifying, operations are as follows: 1. The system models sets of packets, based on relevant TCP/IP header bits, as subsets of {0,1, wildcard (*)} in three-dimensional header spaces (cubes) 2. We can perform set algebra on these header spaces as packets traverse the network 3. We can abstract away middle boxes (from your favorite vendors) as transfer functions on sets of headers 4. Thus, packets that reach across paths are expressed as compositions of these transfer functions 5. When we find all the packets that reach specified nodes you can check the results against your original reachability specification. We can use HSA (Figure 2) to compute all packet headers if any that can reach between any two hosts, say A and B.
  • 6. Figure 2: Header Space Analysis (Source: George Varghese: When Clarke Meets Cerf) The large cube at Host A shows the entire header space: all packets that can be sent. As packets go through transfer functions at intermediate boxes, the header spaces become smaller. All hypercubes in the figure represent sets of possible packets. Ultimately, the complexity depends on the headers, the paths, and the number of rules in each box and in the entire network. The problem is to establish all permutations of reachability between Hosts A and B. To do this, we inject the space of all packets headers that A can send into Box 1. As packets traverse each box, the transfer functions subdivide the header spaces. As the simulation begins to cover the network, exact sets of packets that can reach B from A are expressed as the composition of the transfer functions of the boxes in all possible paths. This algorithm can be extended and modified for different of these middle boxes: routers, switches, load balancers, firewalls, etc.
  • 7. Back to the Original Questions The answer to the title question is, of course, it depends. There was certainly machine learning in the early vision for StackStorm, the tool I mentioned above that serves as the brains behind workflows. But the need for formalization, akin to software programming workbenches like Visual Studio and EDA tools that fulfill the functional blocks of Figure 1, is very keen. Major work is being done to foster this concept for networks, and the momentum is clearly building because its time has come. Other Links for Fun and Profit A Distinguished Series Speaker Talk by George Varghese, discusses the growing work in treating computer networks as programs. I originally came across Varghese through his somewhat popular (well, I have it and see it around) work, Network Algorithmics: a multidisciplinary approach to networking that draws upon principles for best practices in hardware, software and systems. Youtube video of Varghese for Distinguished Lecture Series at UC Irvine: When Hoare Met Cerf Similar talk by Professor Varghese at University of Washington Header Space Analysis: the principal inventor is Peyman Kazemian.