Minimizing Rule Update Latency for TCAM-based SDN Switches

ruletris minimizing rule update latency for tcam n.w
1 / 24
Embed
Share

"Explore RuleTris, an approach aimed at minimizing rule update latency for TCAM-based SDN switches. Discover the motivation, motivating examples, key insights, challenges, and architecture involved in this innovative solution."

  • RuleTris
  • SDN switches
  • TCAM
  • update latency
  • architecture

Uploaded on | 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. If you encounter any issues during the download, it is possible that the publisher has removed the file from their server.

You are allowed to download the files provided on this website for personal or commercial use, subject to the condition that they are used lawfully. All files are the property of their respective owners.

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.

E N D

Presentation Transcript


  1. RuleTris: Minimizing Rule Update Latency for TCAM-based SDN Switches

  2. Motivation Motivation Controller App App App Predicate Action Priority b1 as1 b2 as2 b3 as3 b4 as4 id as5 Predicate Action Priority b1 as1 b2 as2 b3 as3 b4 as4 id as5 Predicate Action Priority b1 as1 b2 as2 b3 as3 b4 as4 id as5 Controller API 5 4 3 2 1 5 4 3 2 1 5 4 3 2 1 Flow Tables Controller / Policy Compiler Predicate Action Priority b1 as1 b2 as2 b3 as3 b4 as4 id as5 Flow Table Updates 5 4 3 2 1 OpenFlow Switch Firmware Switch Internal API TCAM Updates TCAM Sw itch

  3. Motivating Example Motivating Example Predicate Predicate Prio 00* 0*0 20 17 00* **0 0*1 **1 *** 1: 1: 0*0 6: 6: 2: **0 0*1 **1 *** 15 15 10 5 2: 3: 3: 4: 4: 5: 5:

  4. Motivating Motivating Example (cont.) Example (cont.) Predicate Dependency Predicate 00* 0*0 1: 1 00* **0 0*1 **1 *** 1: 0*0 6: 6: 6 2: 0*1 **1 **0 *** 3 3: 3: 4: 4 4: 2: 2 5: 5 5:

  5. Key Insight Key Insight Controller App App App Predicate Action Priority b1 as1 b2 as2 b3 as3 b4 as4 id as5 Predicate Action Priority b1 as1 b2 as2 b3 as3 b4 as4 id as5 Predicate Action Priority b1 as1 b2 as2 b3 as3 b4 as4 id as5 Controller API 5 4 3 2 1 5 4 3 2 1 5 4 3 2 1 Flow Tables Controller / Policy Compiler Predicate Action Priority b1 as1 b2 as2 b3 as3 b4 as4 id as5 Flow Table Updates 5 4 3 2 1 OpenFlow Switch Firmware Switch Internal API TCAM Updates TCAM Sw itch

  6. Challenges Challenges

  7. RuleTris RuleTris Architecture Architecture (Proactive) Front-end Back-end NAT Physical Flow Table + CacheFlow Manager Flow Table Dependency Graph Composition Compiler Monitor Update Scheduler + (Reactive) > $ Firewall + Redundancy Eliminator L3 Router Rule Update Dependency Update in controller in switch firmware

  8. Front Front- -end end Controller App App App Predicate Action Priority b1 as1 b2 as2 b3 as3 b4 as4 id as5 Predicate Action Priority b1 as1 b2 as2 b3 as3 b4 as4 id as5 Predicate Action Priority b1 as1 b2 as2 b3 as3 b4 as4 id as5 Controller API 5 4 3 2 1 5 4 3 2 1 5 4 3 2 1 Flow Tables Controller / Policy Compiler Predicate Action Priority b1 as1 b2 as2 b3 as3 b4 as4 id as5 Flow Table Updates 5 4 3 2 1 OpenFlow Switch Firmware Switch Internal API TCAM Updates TCAM Sw itch

  9. A A Bit More Background Bit More Background

  10. Background: Flow Table Composition Background: Flow Table Composition

  11. Background: Composition Compiler Background: Composition Compiler without DAG without DAG Router Monitor 7. dstip=2.0.0.0/30 fwd(1) 0. * drop 9. srcip=1.0.0.0/24 count 0. * drop Action Priority Match

  12. Background: Composition Compiler Background: Composition Compiler without DAG without DAG Router Monitor 7. dstip=2.0.0.0/30 fwd(1) 0. * drop 9. srcip=1.0.0.0/24 count 0. * drop 16. srcip=1.0.0.0/24, dstip=2.0.0.0/30 count, fwd(1)

  13. Background: Composition Compiler Background: Composition Compiler without DAG without DAG Router Monitor 7. dstip=2.0.0.0/30 fwd(1) 0. * drop 9. srcip=1.0.0.0/24 count 0. * drop 16. srcip=1.0.0.0/24, dstip=2.0.0.0/30 count, fwd(1) 9. srcip=1.0.0.0/24 count 7. dstip=2.0.0.0/30 fwd(1) 0. * drop

  14. RuleTris RuleTris Composition Compiler Composition Compiler

  15. DAG Preservation for Parallel DAG Preservation for Parallel Composition Composition field2 field2 field2 A AM N M D DM C CM = M + D BN N AN B C B A field1 BM field1 field1 T1 T2 T3 D T3: DM DN BN DM T1: B C A += BM CM BN CN AN BM CM AM AN T2: M N AM

  16. DAG Preservation for Parallel DAG Preservation for Parallel Composition (cont d) Composition (cont d) field2 field2 field2 A M AM D DN/DM/BN C N CN/CM/AN = + D N B C B M A BM field1 field1 field1 T1 T2 T3 D DN T3: DM DN T1: B C BN DM A += BM CM BN CN CN BM AN CM AM AN T2: M N AM

  17. DAG Preservation for DAG Preservation for Sequential Composition Composition A B T1: Sequential idx Predicate Actions dst_port = 80 dst_port = 443 dst_ip = 1.0.0.0 src_ip = 2.0.0.0 * Drop C W X src_ip=2.*.*.*, dst_ip = 1.*.*.* src_ip=2.*.*.* Fwd(1) Fwd(2) T2: Y dst_ip = 1.*.*.* Fwd(3) * Drop Z AW src_ip=2.*.*.*, dst_port = 80 dst_ip = 1.0.0.0, Fwd(1) dst_port = 80 dst_ip = 1.0.0.0, Fwd(3) AY T3: BW dst_ip = 1.*.*.*, dst_port = 443 src_ip = 2.0.0.0, Fwd(1) dst_port = 443 src_ip = 2.0.0.0, Fwd(2) BX * Drop CZ AW BW A B T3: AW BW T1: BX BY AX AY C > = AZ AY BX BZ CW W T2: CZ X Y CX CY Z CZ

  18. Optimality Guarantee Optimality Guarantee

  19. Back Back- -end end Controller App App App Predicate Action Priority b1 as1 b2 as2 b3 as3 b4 as4 id as5 Predicate Action Priority b1 as1 b2 as2 b3 as3 b4 as4 id as5 Predicate Action Priority b1 as1 b2 as2 b3 as3 b4 as4 id as5 Controller API 5 4 3 2 1 5 4 3 2 1 5 4 3 2 1 Flow Tables Controller / Policy Compiler Predicate Action Priority b1 as1 b2 as2 b3 as3 b4 as4 id as5 Flow Table Updates 5 4 3 2 1 OpenFlow Switch Firmware Switch Internal API TCAM Updates TCAM Sw itch

  20. Update Update Scheduler Scheduler

  21. Implementation Implementation

  22. Evaluation Results Evaluation Results

  23. Evaluation Results II Evaluation Results II

  24. Conclusions Conclusions

Related


More Related Content