proac ve rou ng in scalable data centers with paris
play

ProAc&ve Rou&ng In Scalable Data Centers with PARIS - PowerPoint PPT Presentation

ProAc&ve Rou&ng In Scalable Data Centers with PARIS Theophilus Benson Duke University Joint work with Dushyant Arora + and Jennifer Rexford* + Arista


  1. ProAc&ve ¡Rou&ng ¡In ¡Scalable ¡ Data ¡Centers ¡with ¡PARIS Theophilus ¡Benson ¡ Duke ¡University ¡ ¡ Joint ¡work ¡with ¡Dushyant ¡Arora + ¡and ¡ ¡Jennifer ¡Rexford* ¡ + Arista ¡Networks ¡ *Princeton ¡University ¡

  2. Data ¡Center ¡Networks ¡Must ¡… ¡ • Support ¡diverse ¡applica8on ¡ – High ¡throughput/low ¡latency ¡ – U8lize ¡mul8ple ¡paths ¡ • Scale ¡to ¡cloud ¡size ¡ – 5-­‑10 ¡million ¡VMs ¡ • Support ¡flexible ¡resource ¡u8liza8on ¡ – Support ¡seamless ¡VM ¡mobility ¡

  3. Evolu8on ¡of ¡Data ¡Center ¡Networks… ¡ Mul8path ¡ Seamless ¡ Scalable ¡ rou8ng ¡ mobility ¡ Layer ¡2: ¡ Flat ¡Addresses ¡ Layer ¡3: ¡ Hierarchical ¡ Addresses ¡ ¡ Overlays: ¡ VL2/Portland ¡ PARIS ¡

  4. PARIS ¡in ¡a ¡Nutshell… ¡ ¡ • PARIS ¡is ¡a ¡scalable ¡and ¡flexible ¡flat ¡layer ¡3 ¡ network ¡fabric. ¡ • PARIS ¡hierarchically ¡par88ons ¡addresses ¡at ¡the ¡ core ¡ • PARIS ¡runs ¡on ¡a ¡data ¡center ¡of ¡commodity ¡ switches ¡

  5. Outline ¡ • Evolu8on ¡of ¡Data ¡Center ¡Networks ¡ • PARIS ¡Architecture ¡ • Evalua8on ¡and ¡Conclusion ¡

  6. Evolu8on ¡of ¡Data ¡Center ¡Networks ¡ Not ¡scalable ¡ Seamless ¡mobility ¡ No ¡Mul8path ¡ • Flat ¡layer ¡2: ¡Spanning ¡Tree ¡ – Uses ¡flooding ¡to ¡discover ¡loca8on ¡of ¡hosts ¡ • Supports ¡seamless ¡VM ¡migra8on ¡ – Traffic ¡restricted ¡to ¡single ¡network ¡path ¡

  7. Evolu8on ¡of ¡Data ¡Center ¡Networks ¡ Scalable ¡ No ¡seamless ¡mobility ¡ Mul8path ¡ • Layer ¡3:Hierarchical ¡Addresses ¡ – Host ¡loca8ons ¡are ¡predefined ¡ – During ¡VM ¡mobility, ¡IP-­‑addresses ¡change ¡ – Load ¡balances ¡over ¡k ¡shortest ¡paths ¡ ¡

  8. Evolu8on ¡of ¡Data ¡Center ¡Networks ¡ Seamless ¡mobility ¡ Mul8path ¡ Not ¡scalable ¡ • Overlay ¡solu8ons: ¡Portland/VL2 ¡ – Uses ¡two ¡addressing ¡schemes: ¡ • hierarchical ¡addresses: ¡for ¡rou8ng ¡traffic ¡ ¡ • flat ¡addresses: ¡for ¡iden8fying ¡VMs ¡

  9. Overheads ¡introduced ¡by ¡Overlays ¡ Solu8ons… ¡ Flat-­‑Address ¡ Resolve ¡ Hierarchical-­‑ Address ¡ – Address ¡resolu8on ¡infrastructure ¡ • Inflated ¡flow ¡startups ¡8mes ¡ – Switch ¡CPU ¡for ¡encapsula8on ¡ – Switch ¡storage ¡for ¡caching ¡address ¡resolu8ons ¡

  10. Evolu8on ¡of ¡Data ¡Center ¡Networks… ¡ Mul8path ¡ Seamless ¡ Scalable ¡ rou8ng ¡ mobility ¡ Layer ¡2: ¡ Flat ¡Addresses ¡ Layer ¡3: ¡ Hierarchical ¡ Addresses ¡ ¡ Overlays: ¡ VL2/Portland ¡

  11. Challenges.. ¡ Develop ¡data ¡center ¡network ¡that ¡supports ¡ benefits ¡of ¡overlay ¡rou8ng ¡while ¡elimina8ng ¡.. ¡ – Overheads ¡of ¡caching ¡and ¡packet-­‑encapsula8on ¡ – Overheads ¡of ¡address ¡transla8on ¡

  12. ProAc&ve ¡Rou&ng ¡In ¡Scalable ¡ ¡ PARIS ¡Architecture ¡

  13. Architectural ¡Principles ¡ • Flat ¡layer-­‑three ¡network ¡ ¡ – Allows ¡for ¡seamless ¡VM ¡mobility ¡ • Proac8ve ¡installa8on ¡of ¡forwarding ¡state ¡ ¡ – Eliminates ¡startup ¡latency ¡overheads ¡ • Hierarchical ¡par88oning ¡of ¡network ¡state ¡ – Promotes ¡scalability ¡ ¡

  14. Paris ¡Architecture ¡ Network ¡Controller: ¡ • Monitors ¡network ¡traffic ¡ • Performs ¡traffic ¡engineering ¡ • Tracks ¡network ¡topology ¡ • Pro-­‑ac8vely ¡installs ¡ Overheads ¡eliminated ¡ Network ¡Controller ¡ forwarding ¡entries ¡ ¡ • Pro-­‑ac8ve ¡rule ¡installa8on ¡ à ¡No ¡start-­‑up ¡delay ¡for ¡switch ¡rule ¡installa8on ¡ • No ¡addresses ¡indirec8on ¡ à ¡No ¡address ¡resolu8on, ¡encapsula8on, ¡caching ¡ • /32 ¡network ¡addresses ¡ à ¡No ¡broadcast ¡traffic; ¡no ¡ARP ¡ Switches: ¡ • Support ¡ECMP ¡ • Programmable ¡devices ¡ End-­‑Hosts: ¡ • /32 ¡addresses ¡ • Default ¡GW: ¡edge ¡switch ¡

  15. Evolu8on ¡of ¡Data ¡Center ¡Networks… ¡ Mul8path ¡ Seamless ¡ Scalable ¡ rou8ng ¡ mobility ¡ Layer ¡2: ¡ Flat ¡Addresses ¡ Layer ¡3: ¡ Hierarchical ¡ Addresses ¡ ¡ Overlays: ¡ VL2/Portland ¡ PARIS ¡

  16. Paris ¡Network ¡Controller ¡ • Switches ¡have ¡1 ¡million ¡entries ¡ – But ¡data ¡center ¡has ¡5-­‑10 ¡million ¡VMs ¡ – Each ¡pod ¡has ¡~100K ¡VMs ¡ Par88on ¡IP-­‑Address ¡ across ¡core ¡devices ¡ Core-­‑Addressing ¡ Pod-­‑Addressing ¡ Network ¡Controller ¡ Pod ¡switch ¡track ¡ addresses ¡for ¡all ¡VMs ¡in ¡ the ¡pod ¡

  17. Pod-­‑Addressing ¡Module ¡ 10.10.10.3 ¡ 10.10.10.1 ¡ 10.10.10.2 ¡ 10.10.10.4 ¡ • Edge ¡& ¡aggrega8on ¡addressing ¡scheme ¡ – Edge: ¡stores ¡address ¡for ¡all ¡connected ¡end-­‑hosts ¡ – Pod: ¡stores ¡addresses ¡for ¡all ¡end-­‑hosts ¡in ¡pod ¡

  18. Pod-­‑Addressing ¡Module ¡ 10.10.10.1-­‑>1 ¡ 10.10.10.1-­‑>2 ¡ 10.10.10.2-­‑>1 ¡ 10.10.10.2-­‑>2 ¡ 10.10.10.3-­‑>2 ¡ 10.10.10.3-­‑>1 ¡ 10.10.10.4-­‑>2 ¡ 10.10.10.4-­‑>1 ¡ 2 ¡ 3 ¡ 10.10.10.1-­‑>1 ¡ 10.10.10.3-­‑>1 ¡ 10.10.10.2-­‑>1 ¡ 10.10.10.4-­‑>1 ¡ ¡default-­‑>(2,3) ¡ default-­‑>(2,3) ¡ 1 ¡ 10.10.10.3 ¡ 10.10.10.1 ¡ 10.10.10.2 ¡ 10.10.10.4 ¡ • Edge ¡& ¡aggrega8on ¡addressing ¡scheme ¡ – Edge: ¡stores ¡address ¡for ¡all ¡connected ¡end-­‑hosts ¡ – Agg: ¡stores ¡addresses ¡for ¡all ¡end-­‑hosts ¡in ¡pod ¡

  19. Core ¡Addressing-­‑Modules ¡ 10.0.0.0/14 ¡ • Par88ons ¡the ¡IP-­‑space ¡into ¡virtual-­‑prefix ¡ • Each ¡core ¡is ¡an ¡Appointed ¡prefix ¡switch ¡(APS) ¡ – Tracks ¡all ¡address ¡in ¡a ¡virtual-­‑prefix ¡

  20. Core ¡Addressing-­‑Modules ¡ 10.0.0.0/16 ¡ 10.1.0.0/16 ¡ 10.2.0.0/16 ¡ 10.3.0.0/16 ¡ 10.0.0.0/15 ¡ • Par88ons ¡the ¡IP-­‑space ¡into ¡virtual-­‑prefix ¡ • Each ¡core ¡is ¡an ¡Appointed ¡prefix ¡switch ¡(APS) ¡ – Tracks ¡all ¡address ¡in ¡a ¡virtual-­‑prefix ¡

  21. Core ¡Addressing-­‑Modules ¡ 10.0.0.0/16 ¡ 10.1.0.0/16 ¡ 10.2.0.0/16 ¡ 10.3.0.0/16 ¡ 10.0.0.0/15 ¡ • Par88ons ¡the ¡IP-­‑space ¡into ¡virtual-­‑prefix ¡ • Each ¡core ¡is ¡an ¡Appointed ¡prefix ¡switch ¡(APS) ¡ – Tracks ¡all ¡address ¡in ¡a ¡virtual-­‑prefix ¡

  22. DIP:10.0.0.0/16-­‑>{1,2} ¡ DIP:10.1.0.0/16-­‑>{3,4} ¡ 1 ¡ 2 ¡ 4 ¡ 3 ¡ DIP:10.3.0.3-­‑>2 ¡ DIP:10.0.0.3-­‑>2 ¡ DIP:10.3.0.4-­‑>2 ¡ DIP:10.0.0.4-­‑>2 ¡ DIP:10.3.0.1-­‑>1 ¡ DIP:10.0.0.1-­‑>1 ¡ DIP:10.3.0.2-­‑>1 ¡ DIP:10.0.0.2-­‑>1 ¡ DIP:10.3.0.2-­‑>1 ¡ DIP:10.3.0.0/16-­‑>3 ¡ DIP:10.0.0.0/16-­‑>3 ¡ DIP:10.2.0.0/16-­‑>3 ¡ DIP:10.1.0.0/16-­‑>3 ¡ 2 ¡ 1 ¡ 2 ¡ 1 ¡ DIP:10.0.0.0/16-­‑>4 ¡ DIP:10.2.0.0/16-­‑>4 ¡ DIP:10.1.0.0/16-­‑>4 ¡ DIP:10.3.0.0/16-­‑>4 ¡ DIP:10.3.0.1-­‑>1 ¡ DIP:10.0.0.1-­‑>1 ¡ DIP:10.3.0.2-­‑>1 ¡ DIP:10.0.0.2-­‑>1 ¡ DIP:*.*.*.*-­‑>{2,3} ¡ DIP:*.*.*.*-­‑>{2,3} ¡ 10.0.0.1 ¡ 10.3.0.1 ¡

  23. DIP:10.0.0.0/16-­‑>{1,2} ¡ DIP:10.3.0.0/16-­‑>{1,2} ¡ DIP:10.1.0.0/16-­‑>{3,4} ¡ DIP:10.2.0.0/16-­‑>{3,4} ¡ 1 ¡ 2 ¡ 4 ¡ 3 ¡ DIP:10.0.0.3-­‑>2 ¡ DIP:10.3.0.3-­‑>2 ¡ DIP:10.0.0.4-­‑>2 ¡ DIP:10.3.0.4-­‑>2 ¡ DIP:10.0.0.1-­‑>1 ¡ DIP:10.3.0.1-­‑>1 ¡ DIP:10.0.0.2-­‑>1 ¡ DIP:10.3.0.2-­‑>1 ¡ DIP:10.0.0.0/16-­‑>3 ¡ DIP:10.3.0.2-­‑>1 ¡ DIP:10.3.0.0/16-­‑>3 ¡ DIP:10.1.0.0/16-­‑>3 ¡ 2 ¡ DIP:10.2.0.0/16-­‑>3 ¡ 1 ¡ DIP:10.0.0.0/16-­‑>4 ¡ DIP:10.2.0.0/16-­‑>4 ¡ DIP:10.1.0.0/16-­‑>4 ¡ DIP:10.3.0.0/16-­‑>4 ¡ DIP:10.3.0.1-­‑>1 ¡ Limita&ons ¡ DIP:10.0.0.1-­‑>1 ¡ DIP:10.3.0.2-­‑>1 ¡ DIP:10.0.0.2-­‑>1 ¡ • No ¡Load ¡balancing ¡between ¡the ¡core ¡nodes ¡ DIP:*.*.*.*-­‑>{2,3} ¡ DIP:*.*.*.*-­‑>{2,3} ¡ • Mul&-­‑path ¡in ¡core ¡is ¡not ¡u&lized! ¡

Download Presentation
Download Policy: The content available on the website is offered to you 'AS IS' for your personal information and use only. It cannot be commercialized, licensed, or distributed on other websites without prior consent from the author. To download a presentation, simply click this link. If you encounter any difficulties during the download process, it's possible that the publisher has removed the file from their server.

Recommend


More recommend