Test 3 SDN Firewall Flashcards
(102 cards)
SDN Firewall: 2 defining characteristics
SDN separates the control plane from the data plane
An SDN consolidates the control plane, so that a single software control program controls multiple data-plane elements.
Control plane
Decides how to handle traffic
Data plane
Forwards traffic according to decisions that the control plane makes
Active networking
A programming interface (or network API) that exposes resources (e.g. processing, storage, and packet queues) on individual network nodes.
Supports construction of custom functionality to apply to a subset of packets.
OpenFlow Switch Rule Table includes:
A bit pattern (including wildcards, for matching header fields such as MAC and IP addresses, protocol, TCP/UDP port numbers, physical input port, etc)
A priority: to break ties between overlapping patterns.
A list of actions: for example, forward out a port, flood, drop, send to controller, assign a new value to a header field, etc
Optional hard and soft timeouts to evict stale rules
Byte and packet counters that collect information about how much traffic is flowing through each rule
Pyretic sequential composition
Treats the output of one policy as the input of another
Pyretic parallel composition
Applies two policy functions on the same packet and combines the results
3 Stages in History of SDN
Active Networks (1990s-2000s): introduced programmable functions in the network to enable greater innovation
Control and Data Plane Separation (2001-2007): developed open interfaces between the control and data planes
OpenFlow API and network operating systems (from 2007-2010): first instance of widespread adoption of open interface, developed ways to make control-data pane separation scalable and practical
Active Networking Programming Models
Capsule Model: code to execute at the
nodes was carried in-band in data packet
programmable router/switch model, where the code
to execute at the nodes was established by out-of-band
mechanisms
Technology Pushes encouraging active networking
reduction in the cost of computing
advances in programming languages such as Java offered platform portability and some code executing safety,
virtual machine technology that protected the host machine
Technology Use Pulls for active networking
Motivation similar to motivation for SDN today
Issues include network service provider frustration with the timescales necessary to develop and deploy new network services (network ossification)
this-party interest in value -added, fine-grained control to dynamically meet the needs of particular applications or network conditions
researcher desire for a platform that would support experimentation at scale
unified control over middleboxes, including firewalls, proxies, and transcoders
Active Networks Intellectual Contributions
Programmable functions in the network to lower the
barrier to innovation.
Network virtualization, and the ability to demultiplex
to software programs based on packet headers.
The vision of a unified architecture for middlebox orchestration.
Motivation for Separating Control and Data Planes
In the early 2000s, increasing traffic volumes and a
greater emphasis on on network reliability, predictability,
and performance led network operators to seek better approaches to certain network-management functions such as the control over the paths used to deliver traffic (a practice commonly known as traffic engineering)
Separate Control and Data Planes Intellectual Contributions
Logically centralized control using an open interface to the data plane.
Distributed state management
OpenFlow
An OpenFlow switch has a table of packet-handling
rules, where each rule has:
a pattern (that matches on bits in the packet header),
a list of actions (e.g., drop, flood, forward out a particular interface, modify a header field, or send the packet to the controller),
a set of counters (to
track the number of bytes and packets), and a priority (to disambiguate between rules with overlapping patterns).
Upon receiving a packet, an OpenFlow switch identifies the highest-priority matching rule, performs the associated
actions, and increments the counters.
Intellectual Contributions of OpenFlow
Generalizing network devices and functions.
– Still, OpenFlow does not offer data-plane support for deep packet inspection or connection reassembly; as such, OpenFlow alone cannot efficiently enable sophisticated
middlebox functionality.
The vision of a network operating system.
• Distributed state management techniques
Network Operating Systems
More generally, the emergence of a network operating system
offered a conceptual decomposition of network operation into three layers [46]:
(1) a data plane with an open interface;
(2) a state management layer that is responsible
for maintaining a consistent view of network state;
(3) control logic that performs various operations depending
on its view of network state.
Network Virtualization
Network virtualization
presents the abstraction of a network that is decoupled
from the underlying physical equipment. Network virtualization
allows multiple virtual networks to run over a
shared infrastructure, and each virtual network can have a
much simpler (more abstract) topology than the underlying
physical network.
overlay network
a small set of upgraded
nodes use tunnels to form their own topology on
top of a legacy network.
In an overlay network, the upgraded nodes run their own control-plane protocol, and direct data traffic (and control-plane messages) to each other by encapsulating packets, sending them through the
legacy network, and decapsulating them at the other end.
The Mbone (for multicast) [50], the 6bone (for IPv6) [43], and the X-Bone [76] were prominent early examples.
OpenFlow protocol
The OpenFlow protocol defines how the controller and switches
interact. The controller maintains a connection to each switch over which OpenFlow messages are sent.
The controller uses
these OpenFlow messages to (un)install rules, query the traffic
counters, learn the network topology, and receive packets when
the switch applies the “send to controller” action.
Advantages of Pyretic
it helps support modular programming
Pyretic integrates monitoring into the policy function and supports
a high level query API. The programmer can easily combine monitoring and forwarding using parallel composition
provides facilities for creating a dynamic policy whose behavior will change over time, as specified by the programmer.
Pyretic offers a rich topology-abstraction facility that allow programmers to apply policy functions to an abstract view of the underlying network.
predicate policies
we use predicate policies (including match and conjunction)
to disambiguate between packets based on their location in the
network as well as their contents;
modification policies
we use modification policies (such as fwd) to change the header content or location of packets;
and we use composition operators (such as +, parallel composition
and»_space;, sequential composition) to put together policy
components.
Sequential composition
Sequential composition (>>) treats the output of one policy as the input to another