INFOCOM 2016 Is Every Flow on The Right



























































- Slides: 59
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
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 reveal forwarding/rule faults
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. 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 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 App Software-Defined Networking
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 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. *. * 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 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 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 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 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 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 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 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 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 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 Setup for. SDN Rule. Scope Framework Postcard Processor Injector/ Interceptor
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 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 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 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. 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 Bandwidth-Efficient Flow Setup for. SDN Rule. Scope Algorithms
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 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 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 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 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 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 Rule. Scope Algorithms detection
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, 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 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: 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: 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: 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 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 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 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 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 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 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 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 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 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 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 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. 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 Setup for. SDN Rule. Scope Postcard Processor Injector/ Interceptor
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