soda: enhancing the data plane functionality of software defined networking
TRANSCRIPT
SODA: Enhancing the Data Plane
Functionality of Software Defined
Networking
Dan Li, Tsinghua University
Yirong Yu, Tsinghua University
Kang Li, Kaiwang Technology
1
OpenFlow Protocol
2
Global Network View
Network Virtualization
Packet Forwarding Packet
Forwarding
Packet Forwarding
Packet Forwarding
Abstract Network View
Control
Programs
Control
Programs
Control
Programs
firewall.c
…
if( pkt->tcp->dport == 22)
dropPacket(pkt);
…
Packet Forwarding
Network OS 1. <Match, Action> 2. <Match, Action> 3. <Match, Action> 4. <Match, Action> 5. <Match, Action> 6.… 7.…
1. <Match, Action> 2. <Match, Action> 3. <Match, Action> 4. <Match, Action> 5. <Match, Action> 6.… 7.…
1. <Match, Action> 2. <Match, Action> 3. <Match, Action> 4. <Match, Action> 5. <Match, Action> 6.… 7.…
1. <Match, Action> 2. <Match, Action> 3. <Match, Action> 4. <Match, Action> 5. <Match, Action> 6.… 7.…
1. <Match, Action> 2. <Match, Action> 3. <Match, Action> 4. <Match, Action> 5. <Match, Action> 6.… 7.…
Data Plane of OpenFlow
OpenFlow’s basic data functionality
Flexibly setting the matching keys from the fields in the
packet header
Flexibly choosing the routing paths for flows
Group table allows limited more operations
Multicast, broadcast, multipath routing
What if more advanced requirements?
User-defined packet formats
More intelligent packet forwarding behavior
Deep packet investigation for security
In-network processing for big data applications
3
SODA: Enhancing SDN Data Plane
User-defined protocols
Defining user-customizable byte fields (not only standard
protocol fields) as matching keys
Advanced packet forwarding behavior
Fast rerouting, traffic engineering
Payload aware processing
Processing the whole packet, not only packet header
Stateful processing
Statefully processing a sequence of packets, not only a single
packet
4
SODA Implementation
5
SODA Demo
6
Comparing SODA with Other Network Systems
7
System Programming
Environment Programmability Performance
SODA (SDN) Network-wide programming,
software programming
User-defined protocols,
payload processing,
stateful processing
>50Gbps (with
GPU)
OpenFlow (SDN) Network-wide programming,
software programming Flexible routing paths 100s Gbps
PoF switch (SDN) Network-wide programming User-defined protocols
Regular routers Device-level programming,
simple configuration Simple configuration
100s Gbps -
Tbps
Click Device-level programming,
software programming
Customizable
configuration Several Gbps
NetFPGA Device-level programming,
hardware programming
Limited by hardware
logic 4 10G ports
Thanks!
8