INFOCOM 2016 Is Every Flow on The Right

  • Slides: 59
Download presentation
INFOCOM 2016 Is Every Flow on The Right Track Inspect SDNFwding with Rule. Scope

INFOCOM 2016 Is Every Flow on The Right Track Inspect SDNFwding with Rule. Scope Kai Bu 1, Xitao Wen 2, Bo Yang 1 Yan Chen 2, Li Erran Li 3, Xiaolin Chen 4 1 Zhejiang University, 2 Northwestern University 3 Fudan University, 4 Chuxiong Normal University

Is Every Flow on The Right Track Inspect SDNFwding Rule. Scope

Is Every Flow on The Right Track Inspect SDNFwding Rule. Scope

Is Every Flow on The Right Track Inspect SDNFwding Rule. Scope

Is Every Flow on The Right Track Inspect SDNFwding Rule. Scope

probe feedback Is Every Flow on The Right Track Inspect SDNFwding Rule. Scope

probe feedback Is Every Flow on The Right Track Inspect SDNFwding Rule. Scope

probe feedback Is Every Flow on The Right Track Inspect SDNFwding Rule. Scope

probe feedback Is Every Flow on The Right Track Inspect SDNFwding Rule. Scope

probe feedback Is Every Flow on The Right Track Inspect SDNFwding Rule. Scope detection

probe feedback Is Every Flow on The Right Track Inspect SDNFwding Rule. Scope detection reveal forwarding/rule faults

probe feedback Is Every Flow on The Right Track Inspect SDNFwding Rule. Scope detection

probe feedback Is Every Flow on The Right Track Inspect SDNFwding Rule. Scope detection reveal forwarding/rule faults troubleshooting uncover actual data-plane flow tables

probe feedback Is Every Flow on The Right Track Inspect. SDNFwding Rule. Scope Rule.

probe feedback Is Every Flow on The Right Track Inspect. SDNFwding Rule. Scope Rule. Scop e detection reveal forwarding/rule faults troubleshooting 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 ?

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

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

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

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

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

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

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

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

Controller Routing App Pa ck e t. I n Gotta Tell You Switches Only

Controller Routing App Pa ck e t. I n Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for. SDN Forwarding flow

Controller Routing App Pa ck e t. I n Gotta Tell You Switches Only

Controller Routing App Pa ck e t. I n Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for. SDN Flow. Mod Forwarding flow

Switch Rule Controller Routing App Priority Matching Action sw 1 p 1 src_ip=10. 20.

Switch Rule Controller Routing App Priority Matching Action sw 1 p 1 src_ip=10. 20. *. * fwd(sw 2 ) sw 2 P 2 src_ip=10. 20. *. * fwd(sw 3 ) Pa ck e t. I n Gotta Tell You Switches Only Once sw 3 p 3 src_ip=10. 20. *. * fwd(out) Toward Bandwidth-Efficient Flow Setup for. SDN Flow. Mod Forwarding sw 1 sw 2 sw 3 flow p 1, src_ip=10. 20. *. *, fwd(sw 2) p 2, src_ip=10. 20. *. *, fwd(sw 3) p 3, src_ip=10. 20. *. *, fwd(out)

Controller Routing App Pa ck e t. I n Gotta Tell You Switches Only

Controller Routing App Pa ck e t. I n Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for. SDN Flow. Mod Forwarding rule faultsirritate sw 1 sw 2 sw 3 flow p 1, src_ip=10. 20. *. *, fwd(sw 2) p 2, src_ip=10. 20. *. *, fwd(sw 3) p 3, src_ip=10. 20. *. *, fwd(out)

Controller Routing App Pa ck e t. I n Gotta Tell You Switches Only

Controller Routing App Pa ck e t. I n Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for. SDN Flow. Mod Forwarding rule faultsirritate missing fault sw 1 sw 2 flow p 1, src_ip=10. 20. *. *, fwd(sw 2) p 2, src_ip=10. 20. *. *, fwd(sw 3) sw 3 priority fault p 3, src_ip=10. 20. *. *, fwd(out)

Controller Routing App Pa ck e t. I n Gotta Tell You Switches Only

Controller Routing App Pa ck e t. I n Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for. SDN Flow. Mod Forwarding missing fault sw 1 sw 2 flow p 1, src_ip=10. 20. *. *, fwd(sw 2) p 2, src_ip=10. 20. *. *, fwd(sw 3) sw 3 rule installation failure priority fault p 3, src_ip=10. 20. *. *, fwd(out)

Controller Routing App Pa ck e t. I n Gotta Tell You Switches Only

Controller Routing App Pa ck e t. I n Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for. SDN Flow. Mod loss Forwarding missing fault sw 1 sw 2 bug flow p 1, src_ip=10. 20. *. *, fwd(sw 2) p 2, src_ip=10. 20. *. *, fwd(sw 3) sw 3 rule installation failure priority fault p 3, src_ip=10. 20. *. *, fwd(out)

Controller Routing App Pa ck e t. I n Gotta Tell You Switches Only

Controller Routing App Pa ck e t. I n Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for. SDN Flow. Mod loss Forwarding missing fault sw 1 sw 2 bug flow p 1, src_ip=10. 20. *. *, fwd(sw 2) p 2, src_ip=10. 20. *. *, fwd(sw 3) sw 3 rule installation failure priority fault p 3, src_ip=10. 20. *. *, fwd(out)

Controller Routing App Pa ck e t. I n Gotta Tell You Switches Only

Controller Routing App Pa ck e t. I n Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for. SDN Flow. Mod Forwarding sw 4 missing fault sw 1 sw 2 rule update scheduling flow p 1, src_ip=10. 20. *. *, fwd(sw 2) p 2, src_ip=10. 20. *. *, fwd(sw 3) p 4, src_ip=10. *. *. *, fwd(sw 4) sw 3 rule installation failure priority fault p 3, priority-swap between src_ip=10. 20. *. *, fwd(out) overlapping rules

Controller Routing App Pa ck e t. I n Gotta Tell You Switches Only

Controller Routing App Pa ck e t. I n Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for. SDN Flow. Mod Forwarding sw 4 missing fault sw 1 flow p 1, src_ip=10. 20. *. *, fwd(sw 2) sw 2 p 4, src_ip=10. *. *. *, fwd(sw 4) p 2, src_ip=10. 20. *. *, fwd(sw 3) sw 3 rule installation failure priority fault p 3, priority-swap between src_ip=10. 20. *. *, fwd(out) overlapping rules

Controller Routing App Pa ck e t. I n Gotta Tell You Switches Only

Controller Routing App Pa ck e t. I n Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for. SDN Flow. Mod Forwarding rule faultsirritate sw 4 missing fault sw 1 sw 2 flow p 1, src_ip=10. 20. *. *, fwd(sw 2) p 2, src_ip=10. 20. *. *, fwd(sw 3) sw 3 rule installation failure priority fault p 3, priority-swap between src_ip=10. 20. *. *, fwd(out) overlapping rules

Controller Routing App Pa ck e t. I n Gotta Tell You Switches Only

Controller Routing App Pa ck e t. I n Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for. SDN Flow. Mod detect & Rule. Scope rule faults troubleshoot sw 4 missing fault sw 1 sw 2 flow p 1, src_ip=10. 20. *. *, fwd(sw 2) p 2, src_ip=10. 20. *. *, fwd(sw 3) sw 3 rule installation failure priority fault p 3, priority-swap between src_ip=10. 20. *. *, fwd(out) overlapping rules

Controller Routing App Monitor App Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow

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

Controller Routing App Monitor App Gotta Tell You Switches Only Once original rules Toward

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

Controller Routing App Monitor App Gotta Tell You Switches Only Once original rules Toward

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

Controller Routing App Monitor App Gotta Tell You Switches Only Once probe packets Toward

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

Controller Routing App Monitor App Gotta Tell You Switches Only Once probe feedback Toward

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

Controller Rule Fault if Controller Routing App Monitor App Probe. Matched. Rule != Probe.

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

Controller Flow Table ? Monitor Rule Fault Gotta Tell You Switches Only Once Toward

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

Controller Flow Table ? Rule Fault Monitor dependency graph Gotta Tell You Switches Only

Controller Flow Table ? Rule Fault Monitor dependency graph Gotta Tell You Switches Only Once {r 0, r 1, r 2, r 3, r 4, r 5, r 6} Toward Bandwidth-Efficient r 0 r 1 Flow r. Setup for. SDN 4 Rule. Scope r 2 r 3 r 5 Algorithms r 6 <ri, rj> if ri. matching Ո rj. matching ≠ Φ AND ri. priority > rj. priority

Controller Flow Table ? Rule Fault Monitor dependency graph Gotta Tell You Switches Only

Controller Flow Table ? Rule Fault Monitor dependency graph Gotta Tell You Switches Only Once {r 0, r 1, r 2, r 3, r 4, r 5, r 6} Toward Bandwidth-Efficient r 0 r 1 Flow r. Setup for. SDN 4 Rule. Scope r 2 r 3 r 5 Algorithms r 6 <ri, rj> if smaller problem scale within each component; parallelism among different components

Controller Flow Table ? Rule Fault Monitor dependency graph Switches Only probe generation Gotta

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

Controller Flow Table ? Rule Fault Monitor dependency graph Switches Only probe generation Gotta

Controller Flow Table ? Rule Fault Monitor dependency graph Switches Only probe generation Gotta Tell You Once Toward Bandwidth-Efficient Probe(ri, H): Flow r. Setup for. SDN 4 Rule. Scope Is r 6 missing? ri = r 6 r 5 Algorithms H = {r 4, r 5} r 6

Controller Flow Table ? Rule Fault Monitor dependency graph Switches Only probe generation Gotta

Controller Flow Table ? Rule Fault Monitor dependency graph Switches Only probe generation Gotta Tell You Once Toward Bandwidth-Efficient Probe(ri, H): Flow r. Setup for. SDN 4 Rule. Scope Is r 6 missing? ri = r 6 r 5 Algorithms H = {r 4, r 5} r 6 <ri, rj> if proved NP-hard by reduction from SAT; based on Mini. Sat, a high-performance SAT solver

Controller Flow Table ? Rule Fault Monitor dependency graph Switches Only probe generation Gotta

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

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

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

Controller Monitor Gotta Tell You Switches Only Once Toward Bandwidth-Efficient r 0 r 1

Controller Monitor Gotta Tell You Switches Only Once Toward Bandwidth-Efficient r 0 r 1 Flow r. Setup for. SDN 4 Rule. Scope r 2 r 3 r 5 Algorithms r 6 <ri, rj> if for a weakly connected component generate probes by topo order detection

Controller Monitor Gotta Tell You Switches Only Once H = ΦToward Bandwidth-Efficient Probe(r 4,

Controller Monitor Gotta Tell You Switches Only Once H = ΦToward Bandwidth-Efficient Probe(r 4, H); Flow r. Setup for. SDN 4 H = H Ս r 4; Rule. Scope Probe(r 5, H); r 5 Algorithms H = H Ս r 5; Probe(r r 6 <ri, rj> 5 if, H); for a weakly connected component generate probes by topo order detection

ri is detected as faultyif Controller ri. Probe. Matched. Rule != ri Controller Monitor

ri is detected as faultyif Controller ri. Probe. Matched. Rule != ri Controller Monitor Gotta Tell You Switches Only Once H = ΦToward Bandwidth-Efficient Probe(r 4, H); Flow r. Setup for. SDN 4 H = H Ս r 4; Rule. Scope Probe(r 5, H); r 5 Algorithms H = H Ս r 5; Probe(r r 6 <ri, rj> 6 if, H); for a weakly connected component generate probes by topo order detection

ri is detected as faultyif Controller ri. Probe. Matched. Rule != ri Controller example:

ri is detected as faultyif Controller ri. Probe. Matched. Rule != ri Controller example: r 4. Probe. Matched. Rule = r 5 either r 4 is missing, Monitor or r 4 is priority-swap with. Switches r 5 Gotta Tell You Only Once H = ΦToward Bandwidth-Efficient Probe(r 4, H); Flow r. Setup for. SDN 4 H = H Ս r 4; Rule. Scope Probe(r 5, H); r 5 Algorithms H = H Ս r 5; Probe(r r 6 <ri, rj> 6 if, H); for a weakly connected component generate probes by topo order detection

ri is detected as faultyif Controller ri. Probe. Matched. Rule != ri Controller example:

ri is detected as faultyif Controller ri. Probe. Matched. Rule != ri Controller example: r 4. Probe. Matched. Rule = r 5 either r 4 is missing, Monitor or r 4 is priority-swap with. Switches r 5 Gotta Tell You ? Only Once H = ΦToward Bandwidth-Efficient Probe(r 4, H); Flow r. Setup for. SDN 4 H = H Ս r 4; Rule. Scope Probe(r 5, H); r 5 Algorithms H = H Ս r 5; Probe(r r 6 <ri, rj> 6 if, H); for a weakly connected component generate probes by topo order detection

ri is detected as faultyif Controller ri. Probe. Matched. Rule != ri Controller example:

ri is detected as faultyif Controller ri. Probe. Matched. Rule != ri Controller example: r 4. Probe. Matched. Rule = r 5 either r 4 is missing, Monitor or r 4 is priority-swap with. Switches r 5 Gotta Tell You ? Only Once Toward Bandwidth-Efficient Flow Setup for. SDN Rule. Scope Algorithms troubleshooting

ri is detected as faultyif Controller ri. Probe. Matched. Rule != ri Input: Controller

ri is detected as faultyif Controller ri. Probe. Matched. Rule != ri Input: Controller flow table on controller Monitor Gotta Tell You Switches Only Once probe & feedback Toward Bandwidth-Efficient Output: flow table on switch Flow Setup for. SDN Rule. Scope Algorithms troubleshooting

ri is detected as faultyif Controller ri. Probe. Matched. Rule != ri Input: Controller

ri is detected as faultyif Controller ri. Probe. Matched. Rule != ri Input: Controller flow table on controller Monitor Gotta Tell You Switches Only Once probe & feedback Toward Bandwidth-Efficient Output: flow table on switch rule. priority on sw? Flow Setup for. SDN Rule. Scope Algorithms troubleshooting

ri is detected as faultyif Controller ri. Probe. Matched. Rule != ri Input: Controller

ri is detected as faultyif Controller ri. Probe. Matched. Rule != ri Input: Controller flow table on controller Monitor Gotta Tell You Switches Only Once probe & feedback Toward Bandwidth-Efficient Output: [flow table on switch ]. Dependency. Graph Flow Setup for. SDN Rule. Scope Algorithms troubleshooting

ri is detected as faultyif Controller ri. Probe. Matched. Rule != ri Input: Controller

ri is detected as faultyif Controller ri. Probe. Matched. Rule != ri Input: Controller flow table on controller Monitor Gotta Tell You Switches Only Once probe & feedback Toward Bandwidth-Efficient Output: [flow table on switch ]. Dependency. Graph Setup for. SDN {r 0, r 1, r 2, r 3 Flow } if (r 0, r 1). probe. Matched. Rule = r 2 Rule. Scope Algorithms r 2 r 0 r 1 troubleshooting

ri is detected as faultyif Controller ri. Probe. Matched. Rule != ri Input: Controller

ri is detected as faultyif Controller ri. Probe. Matched. Rule != ri Input: Controller flow table on controller Monitor Gotta Tell You Switches Only Once probe & feedback Toward Bandwidth-Efficient Output: [flow table on switch ]. Dependency. Graph Setup for. SDN {r 0, r 1, r 2, r 3 Flow } if (r 0, r 1). probe. Matched. Rule = r 2 Rule. Scope (r 0, r 3). probe. Matched. Rule = r 0 Algorithms r 2 r 0 r 1 r 3 troubleshooting

ri is detected as faultyif Controller ri. Probe. Matched. Rule != ri Input: Controller

ri is detected as faultyif Controller ri. Probe. Matched. Rule != ri Input: Controller flow table on controller Monitor Gotta Tell You Switches Only Once probe & feedback Toward Bandwidth-Efficient Output: [flow table on switch ]. Dependency. Graph Setup for. SDN {r 0, r 1, r 2, r 3 Flow } if (r 0, r 1). probe. Matched. Rule = r 2 Rule. Scope (r 0, r 3). probe. Matched. Rule = r 0 Algorithms r 2 r 0 r 1 further probe leaves for existence r 3 troubleshooting

ri is detected as faultyif Controller ri. Probe. Matched. Rule != ri Input: Controller

ri is detected as faultyif Controller ri. Probe. Matched. Rule != ri Input: Controller flow table on controller Monitor Gotta Tell You Switches Only Once probe & feedback Toward Bandwidth-Efficient Output: [flow table on switch ]. Dependency. Graph Flow Setup for. SDN Online version: Rule. Scope adaptively probe; minimize no. of probes; Algorithms Semi-online version: probe in batch; increase time efficiency; troubleshooting

Intel Xeon CPU X 5560 Controller 8 M cache, 2. 80 GHz 36 GB

Intel Xeon CPU X 5560 Controller 8 M cache, 2. 80 GHz 36 GB memory Ryu Controller Class. Bench Routing App Monitor App Algs: 2600+ lines of python Mini. Sat: open source 2800+ lines of C++ Gotta Tell You Switches Only Once Toward Bandwidth-Efficient 230+ lines of python Flow Setup for. SDN Open. Flow Rule. Scope Prototype Postcard Processor Injector/ Interceptor Pica 8 P-3297

Controller Detection Detect faulty rules w/o false negatives/positives; Troubleshooting Gotta Tell You Switches Only

Controller Detection Detect faulty rules w/o false negatives/positives; Troubleshooting Gotta Tell You Switches Only Once Faithfully construct the dependency graph of Toward Bandwidth-Efficient on-switch forwarding rules; Flow Setup for. SDN Rule. Scope Performance efficacy

Controller Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for. SDN larger

Controller Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for. SDN larger flow table Rule. Scope Performance similar more time efficacy efficiency

Controller Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for. SDN larger

Controller Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow Setup for. SDN larger flow table same Rule. Scope more faulty rules Performance similar time efficacy efficiency

Controller Gotta Tell You Switches Only Once Toward Bandwidth-Efficient 0. 06% Flow Setup for.

Controller Gotta Tell You Switches Only Once Toward Bandwidth-Efficient 0. 06% Flow Setup for. SDN ctr-sw link bandwidth Rule. Scope Performance 0. 0003% efficacy switching fabric capacity efficiency

Controller Routing App Monitor App Gotta Tell You Switches Only Once Toward Bandwidth-Efficient Flow

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

Controller Routing App Monitor App Gotta Tell You Switches Only. You Once Thank Toward

Controller Routing App Monitor App Gotta Tell You Switches Only. You Once Thank Toward Bandwidth-Efficient Flow Setup for. SDN Rule. Scope Postcard Processor Injector/ Interceptor @INFOCOM 2016 Kai Bu Zhejiang University kaibu@zju. edu. cn