CAB: A Reactive Wildcard Rule Caching System for Software-Defined Networks Bo Yan, Yang Xu, Hongya Xing Kang Xi, H. Jonathan Chao August 22, 2014 HotSDN Workshop
Reactively Caching Rules on Demand … Controller Rule Set Switch 8/24/2014 2
Reactively Caching Rules on Demand … Controller Rule Set Install at a time … Switch 8/24/2014 2
Reactively Caching Rules on Demand … Controller Rule Set Install at a time … Switch TCAM 8/24/2014 2
Reactively Caching Rules on Demand … Controller Rule Set Switch TCAM 8/24/2014 2
Reactively Caching Rules on Demand … Controller Rule Set Install on demand Switch TCAM 8/24/2014 2
Reactively Caching Rules on Demand … Controller Rule Set Install on demand Switch TCAM 8/24/2014 2
Caching Wildcard Rules Wildcard rules enables: - Natural intention of managing flows aggregately - Higher reusability for each rule - Easy update of policies NYC Dept.Edu (DoE) Data Center Traces 8/24/2014 3
Caching Wildcard Rules Wildcard rules enables: Locality of Traffic - Natural intention of managing flows aggregately - Higher reusability for each rule - Easy update of policies NYC Dept.Edu (DoE) Data Center Traces 8/24/2014 3
Caching Wildcard Rules Wildcard rules enables: Locality of Traffic - Natural intention of managing flows aggregately - Higher reusability for each rule - Easy update of policies NYC Dept.Edu (DoE) Data Center Traces 8/24/2014 3
Challenge: Wildcard Rule Dependency 1 F 2 (Dst IP) 2 3 Rule set F 1 (Src IP) Switch Mem 8/24/2014 4
Challenge: Wildcard Rule Dependency 1 F 2 (Dst IP) 2 3 f 1 Rule set F 1 (Src IP) f 1 3 f 1 Switch Mem 8/24/2014 4
Challenge: Wildcard Rule Dependency 1 F 2 (Dst IP) 2 3 f 2 f 1 Rule set F 1 (Src IP) Wrong matching! f 1 f 2 3 f 1 f 2 Switch Mem 8/24/2014 4
Challenge: Wildcard Rule Dependency Dependency 1 f 3 has chain F 2 (Dst IP) 2 reaction 3 f 2 f 1 Rule set F 1 (Src IP) Wrong matching! f 3 f 1 2 f 2 3 f 1 f 2 f 3 Switch Mem 8/24/2014 4
Challenge: Wildcard Rule Dependency Dependency 1 f 3 has chain F 2 (Dst IP) 2 reaction 3 f 1 Rule set F 1 (Src IP) Wrong matching! 1 f 3 f 1 2 f 2 3 f 1 f 3 Switch Mem 8/24/2014 4
Challenge: Wildcard Rule Dependency Dependency 1 f 3 has chain F 2 (Dst IP) 2 reaction 3 f 1 Rule set F 1 (Src IP) 1 f 3 f 1 2 f 2 3 f 1 f 3 Hypothetical Switch Mem 8/24/2014 4
Challenge: Wildcard Rule Dependency … Dependency 1 has chain F 2 (Dst IP) 2 reaction 3 Rule set F 1 (Src IP) … Caching 1 100s dependent f 1 2 rules 3 f 1 Switch Mem 8/24/2014 4 90%
Methods to Accommodate Rule Dependency Cache all dependent rules - Memory explosion F 2 (Dst IP) F 1 (Src IP) Switch Mem 8/24/2014 5
Methods to Accommodate Rule Dependency Cache all dependent rules - Memory explosion F 2 (Dst IP) f 1 F 1 (Src IP) Switch Mem 8/24/2014 5
Methods to Accommodate Rule Dependency Cache all dependent rules - Memory explosion … F 2 (Dst IP) f 1 F 1 (Src IP) Switch Mem 8/24/2014 5
Methods to Accommodate Rule Dependency Cache all dependent rules - Memory explosion Cache exact match rules [DevoFlow][Ethane] F 2 (Dst IP) - Frequent rule installations F 1 (Src IP) Switch Mem 8/24/2014 5
Methods to Accommodate Rule Dependency Cache all dependent rules - Memory explosion Cache exact match rules [DevoFlow][Ethane] f 2 F 2 (Dst IP) - Frequent rule installations f 3 f 1 F 1 (Src IP) Switch Mem 8/24/2014 5
Methods to Accommodate Rule Dependency Cache all dependent rules - Memory explosion Cache exact match rules [DevoFlow][Ethane] F 2 (Dst IP) - Frequent rule installations Split rule set and cache micro rules [Smart Rule Cache][DIFANE] - Significantly larger rule set F 1 (Src IP) Switch Mem 8/24/2014 5
Methods to Accommodate Rule Dependency Cache all dependent rules - Memory explosion Cache exact match rules [DevoFlow][Ethane] F 2 (Dst IP) - Frequent rule installations Split rule set and cache micro rules [Smart Rule Cache][DIFANE] - Significantly larger rule set F 1 (Src IP) Switch Mem 8/24/2014 5
Methods to Accommodate Rule Dependency Cache all dependent rules - Memory explosion Cache exact match rules [DevoFlow][Ethane] F 2 (Dst IP) - Frequent rule installations Split rule set and cache micro rules [Smart Rule Cache][DIFANE] - Significantly larger rule set F 1 (Src IP) Switch Mem 8/24/2014 5
Methods to Accommodate Rule Dependency Cache all dependent rules - Memory explosion Cache exact match rules [DevoFlow][Ethane] F 2 (Dst IP) - Frequent rule installations Split rule set and cache micro rules [Smart Rule Cache][DIFANE] - Significantly larger rule set F 1 (Src IP) Switch Mem Lack of efficiency in switch memory use - more cache miss at switch - higher controller load, control bandwidth - longer flow setup delay 8/24/2014 5
Methods to Accommodate Rule Dependency Cache all dependent rules - Memory explosion Cache exact match rules [DevoFlow][Ethane] F 2 (Dst IP) - Frequent rule installations Split rule set and cache micro rules [Smart Rule Cache][DIFANE] - Significantly larger rule set F 1 (Src IP) Switch Mem Problem: how to accommodate rule dependency with efficient mem use? 8/24/2014 5
Solution: CAching rules in Buckets (CAB) F 1 CAB Controller F 2 2 Rules 1 6 3 7 4 8 5 9 Rule set (Controller) 8/24/2014 6
Solution: CAching rules in Buckets (CAB) F 1 CAB Controller F 2 2 Buckets Rules 1 6 A C 3 B 7 4 D E F 8 5 9 G H I Rule set (Controller) 8/24/2014 6
Solution: CAching rules in Buckets (CAB) F 1 CAB Controller F 2 2 Buckets Rules 1 6 A C 3 B 7 4 D E F 8 5 Flow Table Bucket Filter 9 G H I OpenFlow Switch Rule set (Controller) 8/24/2014 6
Solution: CAching rules in Buckets (CAB) F 1 CAB Controller F 2 Buckets Rules Flow Table Bucket Filter OpenFlow Switch Switch Mem 8/24/2014 6
Solution: CAching rules in Buckets (CAB) F 1 CAB Controller F 2 Buckets Rules Cache Miss f 1 f 1 Flow Table Bucket Filter OpenFlow Switch Switch Mem Cache Miss at Bucket Filter 8/24/2014 6
Solution: CAching rules in Buckets (CAB) F 1 CAB Controller F 2 Buckets Rules 3 Associate Cache Miss Buckets Rules 4 F f 1 Bucket F Rule 3 f 1 Rule 4 Flow Table Bucket Filter OpenFlow Switch Switch Mem Cache Miss at Bucket Filter Install bucket F and rule 3 & 4 8/24/2014 6
Solution: CAching rules in Buckets (CAB) F 1 CAB Controller F 2 Buckets Rules 3 4 F f 1 Bucket F Rule 3 f 1 Rule 4 Flow Table Bucket Filter OpenFlow Switch Switch Mem Cache Miss at Bucket Filter Install bucket F and rule 3 & 4 f 1 is set up 8/24/2014 6
Solution: CAching rules in Buckets (CAB) F 1 CAB Controller F 2 Buckets Rules 3 f 2 4 f 2 F f 1 Bucket F Rule 3 f 1 Rule 4 Flow Table Bucket Filter OpenFlow Switch Switch Mem Matched Bucket F, and Rule 3 8/24/2014 6
Solution: CAching rules in Buckets (CAB) F 1 CAB Controller F 2 Buckets Rules 3 f 2 4 f 2 F f 1 Bucket F Rule 3 f 1 Rule 4 Flow Table Bucket Filter OpenFlow Switch Switch Mem Matched Bucket F, and Rule 3 f 2 is set up 8/24/2014 6
Solution: CAching rules in Buckets (CAB) F 1 CAB Controller F 2 Buckets Rules f 3 3 f 3 f 2 4 f 2 F f 1 Bucket F Rule 3 f 1 Rule 4 Flow Table Bucket Filter OpenFlow Switch Switch Mem 8/24/2014 6
Solution: CAching rules in Buckets (CAB) F 1 CAB Controller F 2 2 Buckets Rules f 3 C 3 Associate Cache Miss Buckets Rules f 3 f 2 4 Bucket C Rule 2 f 2 F f 1 Bucket F Rule 3 f 1 Rule 4 Flow Table Bucket Filter OpenFlow Switch Switch Mem Cache Miss at Bucket Filter Install bucket C and rule 2 (&3) f 3 is set up 8/24/2014 6
Solution: CAching rules in Buckets (CAB) F 1 CAB Controller F 2 2 Buckets Rules f 3 C 3 Associate Cache Miss Buckets Rules f 3 f 2 4 Bucket C Rule 2 f 2 F f 1 Bucket F Rule 3 f 1 Rule 4 Flow Table Bucket Filter OpenFlow Switch Now no more 100s dependent rules Only rules within requested bucket 8/24/2014 6
Bucket size affects memory efficiency F 1 F 2 2 1 6 3 7 4 8 5 9 8/24/2014 7
Bucket size affects memory efficiency F 1 F 2 2 1 Larger buckets (2x2) 6 3 7 4 8 5 9 8/24/2014 7
Bucket size affects memory efficiency F 1 F 2 Larger buckets (2x2) 8/24/2014 7
Bucket size affects memory efficiency F 1 F 2 2 1 Larger buckets (2x2) f 3 •More rules cached each time 3 •Unmatched rules cached B f 2 4 f 1 5 9 D 8/24/2014 7
Bucket size affects memory efficiency F 1 F 2 2 1 Larger buckets (2x2) 6 •More rules cached each time 3 •Unmatched rules cached 7 4 8 5 Smaller buckets (4x4) 9 8/24/2014 7
Bucket size affects memory efficiency F 1 F 2 Larger buckets (2x2) •More rules cached each time •Unmatched rules cached Smaller buckets (4x4) 8/24/2014 7
Bucket size affects memory efficiency F 1 F 2 2 Larger buckets (2x2) f 3 D •More rules cached each time 3 •Unmatched rules cached f 2 I 4 f 1 M Smaller buckets (4x4) •More buckets cached 8/24/2014 7
Recommend
More recommend