Introduction to OmniUID-Link NCTU Joint Research Center
SDN Management Framework
Min-Cheng ChanAug. 24, 2014
OmniUI – Motivation
Motivation Lack of a management framework for SDN
Lack of debugging and statistic tools for SDN
OmniUI – Feature
Topology view
Flow path highlight To test the correctness of packet forwarding
Port / flow statistics
Detail flow statistics (1.3 only) Support statistics on all 40 Openflow Extensible Match (OXM) fields
specified in OpenFlow 1.3 spec
Including source/destination port, IP, mac…and much more
In progress Busy link detection
Elephant flow detection and migration
To identify the existence of elephant flow and to isolate it
OmniUI – Environment Setup
Browser
User
WebServer
Core
FLAdapter
StatisticFlowInfo
…
POXAdapter
TremaAdapter
FL POX Trema
OpenFlow-enabledSwitches
DB
HTTP & REST
REST
OpenFlow
OmniUI – Feature
Port / flow statistics Byte / packet count of specific ports / flows
FlowMatches
TimeInterval
OmniUI – Feature
Detail flow statistics (1.3 only) Problem
A flow entry may look like this
match src_ip=140.113.215.0/24 dst_ip=140.113.216.0/24
action output port 1
What if we only want to see the statistics of all web service (port 80) between subnet 215 and 216?
Feature
Support statistics on all 40 Openflow Extensible Match (OXM) fields specified in OpenFlow 1.3 spec
OmniUI – Approach
Detail flow statistics User inputs a flow pattern
If the pattern already exists in the flow table
OmniUI collects and stores the statistics into database
If the pattern does not exist in the flow table, but is covered by an entry with wilder match condition
OmniUI adds the specified match rule in table 0 and set its action as “goto table 1”
Table 1 is the default table, where the packet will proceed its original action(s)
OmniUI collects and stores the statistics (from the entry of table 0) into database
OmniUI – Contribution
Implementing OmniUI Flow path highlight
Detail flow statistics
Source code release https://github.com/dlinknctu/OmniUI
Open source contribution Fix barrier reply event dispatching problem on Floodlight
Contributor: Hung-Wei Chiu
Fix variable name collision problem on Trema-edge
Contributor: Min-Cheng Chan
Testbed Environment – Data Plane
Axiom1
172.20.20.6
5a:30:36
OVS-PC
172.20.20.3
3e:8c:93
Axiom2
172.20.20.5
56:d9:76
s1
172.20.20.4
00:00:01
s2
172.20.20.8
00:00:02
s3
172.20.20.9
00:00:03
s4
172.20.20.10
00:00:04s5
172.20.20.11
00:00:05
DP-NAT-DHCP
140.113.102.175/
172.20.20.254
NCTUOpenNet Real World
h1-4
172.20.20.90-93
Laptop
DHCP-IP
DIR-835
172.20.20.7
5d:0b:11
Mobile Phone
DHCP-IP
Wireless Host Wired Host Switch/AP
Testbed Environment – Control Plane
Axiom1
10.0.0.6
5a:30:36
OVS-PC
10.0.0.3
3e:8c:93s1
10.0.0.4
00:00:01
s2
00:00:02
s3
00:00:03
s4
00:00:04s5
00:00:05
OpenNet
Real World
3com Legacy SW
NCTUCP-NAT
140.113.102.176 / 10.0.0.1
Floodlight / OmniUI
140.113.215.189
MongoDB
140.113.215.200
Axiom2
10.0.0.5
56:d0:76
DIR-835
10.0.0.7
5d:0b:11
Wireless Host Wired Host Switch/AP