Investigating SDN Forwarding with RuleScope

Is Every Flow on The Right Track?
Inspect SDN
 
Fwding
with 
RuleScope
Kai Bu
Kai Bu
1
, Xitao Wen
2
, Bo Yang
1
Yan Chen
2
, Li Erran Li
3
, Xiaolin Chen
4
1
Zhejiang University
Zhejiang University
,
2
Northwestern University
3
Fudan  University,  
4
Chuxiong  Normal  University
INFOCOM 2016
Is Every Flow on The Right Track?
Inspect SDN
 
Fwding
 
RuleScope
Is Every Flow on The Right Track?
Inspect SDN
 
Fwding
 
RuleScope
Is Every Flow on The Right Track?
Inspect SDN
 
Fwding
 
RuleScope
f
e
e
d
b
a
c
k
p
r
o
b
e
f
e
e
d
b
a
c
k
Is Every Flow on The Right Track?
Inspect SDN
 
Fwding
 
RuleScop
e
f
e
e
d
b
a
c
k
p
r
o
b
e
p
r
o
b
e
detection
f
e
e
d
b
a
c
k
Is Every Flow on The Right Track?
Inspect SDN
 
Fwding
 
RuleScop
e
p
r
o
b
e
reveal forwarding/rule faults
troubleshooting
detection
f
e
e
d
b
a
c
k
Is Every Flow on The Right Track?
Inspect SDN
 
Fwding
 
RuleScop
e
p
r
o
b
e
reveal forwarding/rule faults
uncover actual data-plane flow tables
Is Every Flow on The Right Track?
Inspect 
SDN
 
Fwding
 
RuleScope
 
troubleshooting
 
detection
f
e
e
d
b
a
c
k
 
Is Every Flow on The Right Track?
Inspect SDN
 
Fwding
 
RuleScop
e
p
r
o
b
e
 
reveal forwarding/rule faults
 
uncover actual data-plane flow tables
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
?
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
S
oftware-
D
efined 
N
etworking
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
S
oftware-
D
efined 
N
etworking
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
S
oftware-
D
efined 
N
etworking
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
S
oftware-
D
efined 
N
etworking
App
App
App
Controller
Controller
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Forwarding
App
Controller
Controller
Routing
 
flow
 
PacketIn
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Forwarding
App
Controller
Controller
Routing
flow
PacketIn
 
FlowMod
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Forwarding
App
Controller
Controller
Routing
flow
PacketIn
FlowMod
p1,
src_ip=10.20.*.*,
fwd(sw2)
p2,
src_ip=10.20.*.*,
fwd(sw3)
p3,
src_ip=10.20.*.*,
fwd(out)
sw1
sw2
sw3
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Forwarding
App
Controller
Controller
Routing
flow
PacketIn
FlowMod
rule faults 
irritate
p1,
src_ip=10.20.*.*,
fwd(sw2)
p2,
src_ip=10.20.*.*,
fwd(sw3)
p3,
src_ip=10.20.*.*,
fwd(out)
sw1
sw2
sw3
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Forwarding
App
Controller
Controller
Routing
flow
PacketIn
FlowMod
rule faults 
irritate
p1,
src_ip=10.20.*.*,
fwd(sw2)
p2,
src_ip=10.20.*.*,
fwd(sw3)
p3,
src_ip=10.20.*.*,
fwd(out)
missing fault
priority fault
sw1
sw2
sw3
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Forwarding
App
Controller
Controller
Routing
flow
PacketIn
FlowMod
p1,
src_ip=10.20.*.*,
fwd(sw2)
p2,
src_ip=10.20.*.*,
fwd(sw3)
p3,
src_ip=10.20.*.*,
fwd(out)
missing fault
rule installation failure
priority fault
sw1
sw2
sw3
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Forwarding
App
Controller
Controller
Routing
flow
PacketIn
FlowMod
p1,
src_ip=10.20.*.*,
fwd(sw2)
p2,
src_ip=10.20.*.*,
fwd(sw3)
p3,
src_ip=10.20.*.*,
fwd(out)
missing fault
rule installation failure
priority fault
sw1
sw2
sw3
bug
loss
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Forwarding
App
Controller
Controller
Routing
flow
PacketIn
FlowMod
p1,
src_ip=10.20.*.*,
fwd(sw2)
p2,
src_ip=10.20.*.*,
fwd(sw3)
p3,
src_ip=10.20.*.*,
fwd(out)
missing fault
rule installation failure
priority fault
sw1
sw2
sw3
bug
loss
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Forwarding
App
Controller
Controller
Routing
flow
PacketIn
FlowMod
p1,
src_ip=10.20.*.*,
fwd(sw2)
p2,
src_ip=10.20.*.*,
fwd(sw3)
p3,
src_ip=10.20.*.*,
fwd(out)
missing fault
rule installation failure
priority fault
priority-swap between
overlapping rules
sw1
sw2
sw3
p4,
src_ip=10.*.*.*,
fwd(sw4)
sw4
rule update scheduling
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Forwarding
App
Controller
Controller
Routing
flow
PacketIn
FlowMod
p1,
src_ip=10.20.*.*,
fwd(sw2)
p2,
src_ip=10.20.*.*,
fwd(sw3)
p3,
src_ip=10.20.*.*,
fwd(out)
missing fault
rule installation failure
priority fault
priority-swap between
overlapping rules
sw1
sw2
sw3
 
p4,
src_ip=10.*.*.*,
fwd(sw4)
sw4
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Forwarding
App
Controller
Controller
Routing
flow
PacketIn
FlowMod
p1,
src_ip=10.20.*.*,
fwd(sw2)
p2,
src_ip=10.20.*.*,
fwd(sw3)
p3,
src_ip=10.20.*.*,
fwd(out)
missing fault
rule installation failure
priority fault
priority-swap between
overlapping rules
sw1
sw2
sw3
sw4
rule faults 
irritate
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
RuleScope
App
Controller
Controller
Routing
flow
PacketIn
FlowMod
p1,
src_ip=10.20.*.*,
fwd(sw2)
p2,
src_ip=10.20.*.*,
fwd(sw3)
p3,
src_ip=10.20.*.*,
fwd(out)
missing fault
rule installation failure
priority fault
priority-swap between
overlapping rules
sw1
sw2
sw3
sw4
rule faults
detect &
troubleshoot
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
App
Controller
Controller
Routing
App
Monitor
Postcard
Processor
Injector/
Interceptor
RuleScope
Framework
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
App
Controller
Controller
Routing
App
Monitor
Postcard
Processor
Injector/
Interceptor
original rules
augmented rules
RuleScope
Framework
NetSight [nsdi’14]
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
App
Controller
Controller
Routing
App
Monitor
Postcard
Processor
Injector/
Interceptor
original rules
augmented rules
NetSight [nsdi’14]
which 
packet
 
is processed by
which 
rule
RuleScope
Framework
packet history
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
App
Controller
Controller
Routing
App
Monitor
Postcard
Processor
Injector/
Interceptor
probe packets
probe packets
RuleScope
Framework
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
App
Controller
Controller
Routing
App
Monitor
Postcard
Processor
Injector/
Interceptor
probe feedback
probe feedback
RuleScope
Framework
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
App
Controller
Controller
Routing
App
Monitor
Postcard
Processor
Injector/
Interceptor
probe feedback
probe feedback
if
Probe.MatchedRule
 !=
Probe.ExpectedRule
Rule Fault
RuleScope
Framework
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Controller
Controller
Monitor
Rule Fault
RuleScope
Algorithms
Flow Table
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Controller
Controller
Monitor
Rule Fault
RuleScope
Algorithms
Flow Table
dependency graph
{
r
0
, 
r
1
, 
r
2
, 
r
3
, 
r
4
, 
r
5
,
 r
6
}
r
0
r
1
r
4
r
5
r
6
r
3
r
2
<
r
i
, 
r
j
> if
 
r
i
.matching 
Ո
 
r
j
.matching ≠ 
Φ
 AND
 
r
i
.priority > 
r
j
.priority
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Controller
Controller
Monitor
Rule Fault
RuleScope
Algorithms
Flow Table
dependency graph
{
r
0
, 
r
1
, 
r
2
, 
r
3
, 
r
4
, 
r
5
,
 r
6
}
r
0
r
1
r
4
r
5
r
6
r
3
r
2
<
r
i
, 
r
j
> if
 
smaller problem scale within each component;
 
parallelism among different components
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Controller
Controller
Monitor
Rule Fault
RuleScope
Algorithms
Flow Table
dependency graph
probe generation
Probe(
r
i
, 
H
):
generate probe packets that
match 
r
i
 but not rules in set 
H
 
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Controller
Controller
Monitor
Rule Fault
RuleScope
Algorithms
Flow Table
dependency graph
probe generation
Probe(
r
i
, 
H
):
Is 
r
6
 missing?
r
i
 
 
= 
 
r
6
H
 = {
r
4
, 
r
5
}
r
5
r
6
r
4
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Controller
Controller
Monitor
Rule Fault
RuleScope
Algorithms
Flow Table
dependency graph
probe generation
Probe(
r
i
, 
H
):
Is 
r
6
 missing?
r
i
 
 
= 
 
r
6
H
 = {
r
4
, 
r
5
}
r
5
r
6
<
r
i
, 
r
j
> if
 
proved NP-hard by reduction from SAT;
 
based on MiniSat, a high-performance SAT solver 
r
4
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Controller
Controller
Monitor
Rule Fault
RuleScope
Algorithms
Flow Table
dependency graph
probe generation
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Controller
Controller
Monitor
RuleScope
Algorithms
detection
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Controller
Controller
Monitor
RuleScope
Algorithms
detection
r
5
r
6
<
r
i
, 
r
j
> if
 
for a weakly connected component
 
generate probes by topo order
r
4
r
0
r
1
r
3
r
2
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Controller
Controller
Monitor
RuleScope
Algorithms
detection
r
5
r
6
<
r
i
, 
r
j
> if
 
for a weakly connected component
 
generate probes by topo order
r
4
H =
 Φ
Probe(
r
4
, 
H
);
H = H 
Ս
 r
4
;
Probe(
r
5
, 
H
);
H = H 
Ս
 r
5
;
Probe(
r
5
, 
H
);
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Controller
Controller
Monitor
RuleScope
Algorithms
detection
r
5
r
6
<
r
i
, 
r
j
> if
 
for a weakly connected component
 
generate probes by topo order
r
4
Probe(
r
5
, 
H
);
H = H 
Ս
 r
5
;
Probe(
r
6
, 
H
);
r
i
 is 
detected as faulty 
if
r
i
.Probe.MatchedRule != 
r
i
H =
 Φ
Probe(
r
4
, 
H
);
H = H 
Ս
 r
4
;
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Controller
Controller
Monitor
RuleScope
Algorithms
detection
r
5
r
6
<
r
i
, 
r
j
> if
 
for a weakly connected component
 
generate probes by topo order
r
4
Probe(
r
5
, 
H
);
H = H 
Ս
 r
5
;
Probe(
r
6
, 
H
);
r
i
 is 
detected as faulty 
if
r
i
.Probe.MatchedRule != 
r
i
example
: 
r
4
.Probe.MatchedRule = 
r
5
either 
r
4
 is missing,
or 
r
4
 is priority-swap with 
r
5
H =
 Φ
Probe(
r
4
, 
H
);
H = H 
Ս
 r
4
;
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Controller
Controller
Monitor
RuleScope
Algorithms
detection
r
5
r
6
<
r
i
, 
r
j
> if
 
for a weakly connected component
 
generate probes
 
by topo order
r
4
Probe(
r
5
, 
H
);
H = H 
Ս
 r
5
;
Probe(
r
6
, 
H
);
r
i
 
is
 
detected
 
as faulty 
if
r
i
.Probe.MatchedRule !=
 
r
i
example
: 
r
4
.Probe.MatchedRule = 
r
5
either 
r
4
 is 
missing
,
or 
r
4
 is 
priority-swap
 with 
r
5
H =
 Φ
Probe(
r
4
, 
H
);
H = H 
Ս
 r
4
;
?
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Controller
Controller
Monitor
RuleScope
Algorithms
troubleshooting
r
i
 is 
detected as faulty 
if
r
i
.Probe.MatchedRule != 
r
i
example
: 
r
4
.Probe.MatchedRule = 
r
5
either 
r
4
 is 
missing
,
or 
r
4
 is 
priority-swap
 with 
r
5
?
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Controller
Controller
Monitor
RuleScope
Algorithms
troubleshooting
r
i
 is 
detected as faulty 
if
r
i
.Probe.MatchedRule != 
r
i
Input
:   
 
flow table on controller
Output
: flow table on switch
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Controller
Controller
Monitor
RuleScope
Algorithms
troubleshooting
r
i
 is 
detected as faulty 
if
r
i
.Probe.MatchedRule != 
r
i
Input
:   
 
flow table on controller
Output
: flow table on switch
 
rule.priority on sw?
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Controller
Controller
Monitor
RuleScope
Algorithms
troubleshooting
r
i
 is 
detected as faulty 
if
r
i
.Probe.MatchedRule != 
r
i
Input
:   
 
flow table on controller
Output
: flow table on switch
[
]
.DependencyGraph
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Controller
Controller
Monitor
RuleScope
Algorithms
troubleshooting
r
i
 is 
detected as faulty 
if
r
i
.Probe.MatchedRule != 
r
i
Input
:   
 
flow table on controller
Output
: flow table on switch
[
]
.DependencyGraph
{
r
0
, 
r
1
, 
r
2
, 
r
3
} if
(
r
0
,
 r
1
).probe.MatchedRule = 
r
2
r
2
r
1
r
0
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Controller
Controller
Monitor
RuleScope
Algorithms
troubleshooting
r
i
 is 
detected as faulty 
if
r
i
.Probe.MatchedRule != 
r
i
Input
:   
 
flow table on controller
Output
: flow table on switch
[
]
.DependencyGraph
{
r
0
, 
r
1
, 
r
2
, 
r
3
} if
(
r
0
,
 r
1
).probe.MatchedRule = 
r
2
(
r
0
,
 r
3
).probe.MatchedRule = 
r
0
r
2
r
1
r
0
r
3
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Controller
Controller
Monitor
RuleScope
Algorithms
troubleshooting
r
i
 is 
detected as faulty 
if
r
i
.Probe.MatchedRule != 
r
i
Input
:   
 
flow table on controller
Output
: flow table on switch
[
]
.DependencyGraph
{
r
0
, 
r
1
, 
r
2
, 
r
3
} if
(
r
0
,
 r
1
).probe.MatchedRule = 
r
2
(
r
0
,
 r
3
).probe.MatchedRule = 
r
0
r
2
r
1
r
0
r
3
further probe leaves 
for existence
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Controller
Controller
Monitor
RuleScope
Algorithms
troubleshooting
r
i
 is 
detected as faulty 
if
r
i
.Probe.MatchedRule != 
r
i
Input
:   
 
flow table on controller
Output
: flow table on switch
[
]
.DependencyGraph
Online version:
adaptively probe;
minimize no. of probes;
Semi-online version:
probe in batch;
increase time efficiency;
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
App
Controller
Controller
Routing
App
Monitor
Postcard
Processor
Injector/
Interceptor
Ryu
Pica8 P-3297
Algs: 2600+ lines of python
MiniSat: open source
              
 
2800+ lines of C++
RuleScope
Prototype
OpenFlow
Intel Xeon CPU X5560
8M cache, 2.80 GHz 
36 GB memory
ClassBench
230+ lines of python
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Controller
RuleScope
Performance
efficacy
Detection
Detect faulty rules w/o false negatives/positives;
Troubleshooting
Faithfully construct the dependency graph of
on-switch forwarding rules;
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Controller
RuleScope
Performance
efficacy
efficiency
larger flow table
similar
 time
more
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Controller
RuleScope
Performance
efficacy
efficiency
larger
 flow table
more faulty rules
similar time
same
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Controller
RuleScope
Performance
efficacy
efficiency
0.06%
ctr-sw link bandwidth
0.0003%
sw
itching
 fabric capacity
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Controller
App
Controller
Controller
Routing
App
Monitor
Postcard
Processor
Injector/
Interceptor
RuleScope
Gotta
 Tell You Switches Only Once
Toward Bandwidth-Efficient
Flow Setup for 
SDN
Controller
App
Controller
Controller
Routing
App
Monitor
Postcard
Processor
Injector/
Interceptor
RuleScope
@INFOCOM 2016
Kai Bu
Zhejiang University
kaibu@zju.edu.cn
Thank You
Slide Note

Thank you, So today I’m gonna present RuleScope.

(This is a joint work with Bo from Zhejiang University, Xitao and Yan from Northwestern University, Erran from Fudan University, and Xiaolin from Chuxiong Normal University.)

Embed
Share

Explore research presented in INFOCOM 2016 regarding the inspection of SDN forwarding with RuleScope. The study delves into ensuring that every flow is on the right track, detecting and troubleshooting forwarding/rule faults, and uncovering actual data-plane flow tables through feedback and probing mechanisms.

  • SDN forward
  • RuleScope inspection
  • INFOCOM 2016
  • Networking research

Uploaded on Sep 22, 2024 | 0 Views


Download Presentation

Please find below an Image/Link to download the presentation.

The content on the website is provided AS IS for your information and personal use only. It may not be sold, licensed, or shared on other websites without obtaining consent from the author. Download presentation by click this link. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

E N D

Presentation Transcript


  1. INFOCOM 2016 Is Every Flow on The Right Track? Inspect SDN Fwding with RuleScope Kai Bu1, Xitao Wen2, Bo Yang1 Yan Chen2, Li Erran Li3, Xiaolin Chen4 1Zhejiang University,2Northwestern University 3Fudan University, 4Chuxiong Normal University

  2. Is Every Flow on The Right Track? Inspect SDN Fwding RuleScope

  3. Is Every Flow on The Right Track? Inspect SDN Fwding RuleScope

  4. feedback probe Is Every Flow on The Right Track? Inspect SDN Fwding RuleScope

  5. feedback feedback probe probe Is Every Flow on The Right Track? Inspect SDN Fwding RuleScope

  6. feedback probe Is Every Flow on The Right Track? Inspect SDN Fwding RuleScope detection reveal forwarding/rule faults

  7. feedback probe Is Every Flow on The Right Track? Inspect SDN Fwding RuleScope detection reveal forwarding/rule faults troubleshooting uncover actual data-plane flow tables

  8. feedback probe Is Every Flow on The Right Track? Inspect SDN Fwding Inspect SDN Fwding Is Every Flow on The Right Track? RuleScope RuleScope detection reveal forwarding/rule faults troubleshooting uncover actual data-plane flow tables

  9. Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN?

  10. Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN Software-Defined Networking

  11. Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN Software-Defined Networking

  12. Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN Software-Defined Networking

  13. Controller Controller Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN App App App Software-Defined Networking

  14. Controller Controller Routing Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN App Forwarding flow

  15. Controller Controller Routing Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN FlowMod App Forwarding flow

  16. Switch Rule Controller Priority Matching Action sw1 p1 src_ip=10.20.*.* fwd(sw2) Controller sw2 P2 src_ip=10.20.*.* fwd(sw3) Routing Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN FlowMod sw3 p3 src_ip=10.20.*.* fwd(out) App Forwarding sw1 sw2 sw3 flow p1, src_ip=10.20.*.*, fwd(sw2) p2, src_ip=10.20.*.*, fwd(sw3) p3, src_ip=10.20.*.*, fwd(out)

  17. Controller Controller Routing Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN FlowMod rule faults irritate App Forwarding sw1 sw2 sw3 flow p1, src_ip=10.20.*.*, fwd(sw2) p2, src_ip=10.20.*.*, fwd(sw3) p3, src_ip=10.20.*.*, fwd(out)

  18. Controller Controller Routing Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN FlowMod rule faults irritate App Forwarding missing fault sw3 sw1 sw2 flow priority fault p1, src_ip=10.20.*.*, fwd(sw2) p2, src_ip=10.20.*.*, fwd(sw3) p3, src_ip=10.20.*.*, fwd(out)

  19. Controller Controller Routing Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN FlowMod App Forwarding missing fault rule installation failure sw3 sw1 sw2 flow p1, src_ip=10.20.*.*, fwd(sw2) p2, src_ip=10.20.*.*, fwd(sw3) p3, src_ip=10.20.*.*, fwd(out)

  20. Controller Controller Routing Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN FlowMod loss App Forwarding missing fault rule installation failure sw3 sw1 sw2 bug flow p1, src_ip=10.20.*.*, fwd(sw2) p2, src_ip=10.20.*.*, fwd(sw3) p3, src_ip=10.20.*.*, fwd(out)

  21. Controller Controller Routing Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN FlowMod loss App Forwarding missing fault rule installation failure sw3 sw1 sw2 bug flow p1, src_ip=10.20.*.*, fwd(sw2) p2, src_ip=10.20.*.*, fwd(sw3) p3, src_ip=10.20.*.*, fwd(out)

  22. Controller Controller Routing Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN FlowMod App Forwarding sw4 sw1 rule update scheduling sw2 sw3 flow priority fault priority-swap between overlapping rules p1, src_ip=10.20.*.*, fwd(sw2) p2, src_ip=10.20.*.*, fwd(sw3) p4, src_ip=10.*.*.*, fwd(sw4) p3, src_ip=10.20.*.*, fwd(out)

  23. Controller Controller Routing Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN FlowMod App Forwarding sw4 sw1 sw2 sw3 flow priority fault priority-swap between overlapping rules p4, src_ip=10.*.*.*, fwd(sw4) p1, src_ip=10.20.*.*, fwd(sw2) p3, src_ip=10.20.*.*, fwd(out) p2, src_ip=10.20.*.*, fwd(sw3)

  24. Controller Controller Routing Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN FlowMod rule faults irritate App Forwarding sw4 missing fault rule installation failure sw3 sw1 sw2 flow priority fault priority-swap between overlapping rules p1, src_ip=10.20.*.*, fwd(sw2) p2, src_ip=10.20.*.*, fwd(sw3) p3, src_ip=10.20.*.*, fwd(out)

  25. Controller Controller Routing Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN FlowMod rule faults troubleshoot App detect & RuleScope sw4 sw1 sw2 sw3 flow p1, src_ip=10.20.*.*, fwd(sw2) p2, src_ip=10.20.*.*, fwd(sw3) p3, src_ip=10.20.*.*, fwd(out)

  26. Controller Controller Routing Monitor Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN App App Postcard Processor Injector/ Interceptor RuleScope Framework

  27. Controller Controller Routing Monitor Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN augmented rules App App original rules NetSight [nsdi 14] Postcard Processor Injector/ Interceptor RuleScope Framework

  28. Controller Controller Routing Monitor Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN augmented rules which rule App App original rules NetSight [nsdi 14] which packet is processed by Postcard Processor Injector/ Interceptor RuleScope Framework packet history

  29. Controller Controller Routing Monitor Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN probe packets App App probe packets Injector/ Interceptor Postcard Processor RuleScope Framework

  30. Controller Controller Routing Monitor Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN probe feedback App App probe feedback Injector/ Interceptor Postcard Processor RuleScope Framework

  31. Controller Rule Fault Controller if Probe.MatchedRule != Probe.ExpectedRule Routing Monitor Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN probe feedback App App probe feedback Injector/ Interceptor Postcard Processor RuleScope Framework

  32. Controller Flow Table Rule Fault ? Controller Monitor Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN RuleScope Algorithms

  33. Controller Flow Table Rule Fault ? Controller dependency graph Monitor Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN r0 r1 r4 {r0, r1, r2, r3, r4, r5, r6} RuleScope Algorithms r2 r3 r5 r6 <ri, rj> if ri.matching rj.matching AND ri.priority > rj.priority

  34. Controller Flow Table Rule Fault ? Controller dependency graph Monitor Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN r0 r1 r4 {r0, r1, r2, r3, r4, r5, r6} RuleScope Algorithms r2 r3 r5 r6 <ri, rj> if smaller problem scale within each component; parallelism among different components

  35. Controller Flow Table Rule Fault ? Controller Monitor Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN probe generation Probe(ri, H): RuleScope Algorithms generate probe packets that match ribut not rules in set H

  36. Controller Flow Table Rule Fault ? Controller Monitor Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN r4 probe generation Probe(ri, H): RuleScope Algorithms Is r6missing? ri= r6 H = {r4, r5} r5 r6

  37. Controller Flow Table Rule Fault ? Controller Monitor Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN r4 probe generation Probe(ri, H): RuleScope Algorithms Is r6missing? ri= r6 H = {r4, r5} r5 r6 <ri, rj> if proved NP-hard by reduction from SAT; based on MiniSat, a high-performance SAT solver

  38. Controller Flow Table Rule Fault ? Controller dependency graph probe generation Monitor Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN RuleScope Algorithms

  39. Controller Controller Monitor Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN RuleScope Algorithms detection

  40. Controller Controller Monitor Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN r4 r0 r1 RuleScope Algorithms r2 r3 r5 r6 <ri, rj> if for a weakly connected component generate probes by topo order detection

  41. Controller Controller Monitor Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN r4 H = H r4; H = Probe(r4, H); RuleScope Algorithms Probe(r5, H); H = H r5; r5 Probe(r5, H); r6 <ri, rj> if for a weakly connected component generate probes by topo order detection

  42. riis detected as faulty if ri.Probe.MatchedRule != ri Controller Controller Monitor Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN r4 H = H r4; H = Probe(r4, H); RuleScope Algorithms Probe(r5, H); H = H r5; r5 Probe(r6, H); r6 <ri, rj> if for a weakly connected component generate probes by topo order detection

  43. riis detected as faulty if ri.Probe.MatchedRule != ri example: r4.Probe.MatchedRule = r5 either r4is missing, or r4is priority-swap with r5 Controller Controller Monitor Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN r4 H = H r4; H = Probe(r4, H); RuleScope Algorithms Probe(r5, H); H = H r5; r5 Probe(r6, H); r6 <ri, rj> if for a weakly connected component generate probes by topo order detection

  44. Controller example: r4.Probe.MatchedRule = r5 either r4is missing, or r4is priority-swap with r5 Controller ? Monitor Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN r4 RuleScope Algorithms r5 r6 <ri, rj> if detection

  45. riis detected as faulty if ri.Probe.MatchedRule != ri example: r4.Probe.MatchedRule = r5 either r4is missing, or r4is priority-swap with r5 Controller Controller ? Monitor Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN RuleScope Algorithms troubleshooting

  46. riis detected as faulty if ri.Probe.MatchedRule != ri Input: flow table on controller Controller Controller Monitor Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN probe & feedback Output: flow table on switch RuleScope Algorithms troubleshooting

  47. riis detected as faulty if ri.Probe.MatchedRule != ri Input: flow table on controller Controller Controller Monitor Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN probe & feedback rule.priority on sw? Output: flow table on switch RuleScope Algorithms troubleshooting

  48. riis detected as faulty if ri.Probe.MatchedRule != ri Input: flow table on controller Controller Controller Monitor Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN probe & feedback Output: flow table on switch [ ].DependencyGraph RuleScope Algorithms troubleshooting

  49. riis detected as faulty if ri.Probe.MatchedRule != ri Input: flow table on controller Controller Controller Monitor Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN {r0, r1, r2, r3} if (r0, r1).probe.MatchedRule = r2 probe & feedback Output: flow table on switch [ ].DependencyGraph RuleScope Algorithms r2 r0 r1 troubleshooting

  50. riis detected as faulty if ri.Probe.MatchedRule != ri Input: flow table on controller Controller Controller Monitor Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for SDN {r0, r1, r2, r3} if (r0, r1).probe.MatchedRule = r2 (r0, r3).probe.MatchedRule = r0 r2 probe & feedback Output: flow table on switch [ ].DependencyGraph RuleScope Algorithms r0 r1 troubleshooting r3

Related


More Related Content

giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#giItT1WQy@!-/#