axon a flexible substrate for source routed ethernet
play

Axon: A Flexible Substrate for Source-routed Ethernet - PowerPoint PPT Presentation

Axon: A Flexible Substrate for Source-routed Ethernet Jeffrey Shafer Brent Stephens Michael Foss


  1.  ¡ Axon: ¡A ¡Flexible ¡Substrate ¡ ¡ for ¡Source-­‑routed ¡Ethernet ¡ Jeffrey ¡Shafer ¡ ¡ ¡ ¡Brent ¡Stephens ¡ ¡ ¡ ¡ ¡ ¡ ¡Michael ¡Foss ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Sco6 ¡Rixner ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Alan ¡L. ¡Cox ¡

  2. 2 ¡ Ethernet ¡Tradeoffs ¡ Strengths ¡ Weaknesses ¡  Cheap ¡  Loop-­‑free ¡forwarding ¡ topology ¡– ¡ limits ¡bandwidth ¡  Simple ¡  Broadcasts ¡and ¡packet ¡  High ¡data ¡rate ¡ flooding ¡for ¡locaJon ¡ discovery ¡ – ¡limits ¡scalability ¡  Ubiquitous ¡ Scale ¡up ¡Ethernet ¡to ¡work ¡effecJvely ¡in ¡a ¡modern ¡datacenter? ¡

  3. 3 ¡ Ethernet ¡in ¡the ¡Datacenter ¡  TradiJonal ¡soluJon: ¡ ¡ Small ¡Ethernet ¡LANs ¡+ ¡ IP ¡routers ¡ Increases ¡network ¡complexity ¡  Hinders ¡ live ¡virtual ¡machine ¡migraJon ¡   Recent ¡proposals ¡ Many ¡VLAN ¡overlays ¡(see ¡SPAIN) ¡  Re-­‑wriJng ¡MAC ¡addresses ¡to ¡add ¡hierarchy ¡ ¡  (see ¡PortLand ¡or ¡MOOSE) ¡ New ¡non-­‑broadcast ¡locaJon ¡service ¡ (see ¡SEATTLE) ¡  ExisJng ¡techniques ¡keep ¡ 30 ¡years ¡ Let’s ¡replace ¡it! ¡ Ethernet ¡ frame ¡format ¡ old! ¡

  4. 4 ¡ What ¡is ¡the ¡Axon ¡Device? ¡ Take ¡a ¡tradi*onal ¡datacenter ¡network ¡ Border ¡Router ¡ Internet ¡ Router ¡ Router ¡ Router ¡ Switch ¡ Switch ¡ Switch ¡ Switch ¡ Switch ¡ Server ¡ Server ¡ Server ¡ Server ¡ Server ¡ Rack ¡ Rack ¡ Rack ¡ Rack ¡ Rack ¡

  5. 5 ¡ What ¡is ¡the ¡Axon ¡Device? ¡ Border ¡Router ¡ Internet ¡ Replace ¡all ¡the ¡interior ¡network ¡devices… ¡ (Ethernet ¡switches, ¡IP ¡routers) ¡ Server ¡ Server ¡ Server ¡ Server ¡ Server ¡ Rack ¡ Rack ¡ Rack ¡ Rack ¡ Rack ¡

  6. 6 ¡ What ¡is ¡the ¡Axon ¡Device? ¡ … ¡with ¡an ¡arbitrary ¡graph ¡of ¡Axons ¡ Border ¡Router ¡ Internet ¡ Axon ¡ Axon ¡ Axon ¡ Axon ¡ Axon ¡ Server ¡ Server ¡ Server ¡ Server ¡ Server ¡ Rack ¡ Rack ¡ Rack ¡ Rack ¡ Rack ¡

  7. 7 ¡ Axon ¡Overview ¡  Axons ¡deploy ¡a ¡new ¡datalink-­‑layer ¡protocol: ¡ source-­‑routed ¡Ethernet ¡ ¡  Full ¡path ¡placed ¡in ¡packet ¡header ¡  Used ¡internally ¡between ¡Axons ¡(Axon ↔ Axon) ¡  Standard ¡Ethernet ¡PHYs ¡  Axons ¡maintain ¡ compaCbility ¡with ¡unmodified ¡ hosts ¡  AbstracJon ¡of ¡a ¡single ¡large ¡subnet ¡  TradiJonal ¡Ethernet ¡used ¡externally ¡(Host ↔ Axon) ¡  Packets ¡are ¡transparently ¡rewri6en ¡by ¡Axons ¡

  8. 8 ¡ Advantages ¡of ¡Source-­‑routed ¡Ethernet ¡  Flexibility ¡in ¡network ¡ topology ¡ Support ¡arbitrary ¡paths, ¡including ¡ loops ! ¡  In ¡tradiJonal ¡Ethernet, ¡STP ¡disables ¡redundant ¡links ¡  (cannot ¡carry ¡data) ¡  Flexibility ¡in ¡ rouCng ¡algorithms ¡ Shortest-­‑path? ¡ ¡CongesJon-­‑aware? ¡   Improved ¡ scalability ¡ Each ¡Axon ¡only ¡stores ¡routes ¡for ¡locally-­‑connected ¡hosts ¡  Interior ¡Axons ¡just ¡follow ¡route ¡in ¡packet ¡header ¡  In ¡tradiJonal ¡switches/routers, ¡a ¡lookup ¡must ¡be ¡  performed ¡at ¡every ¡hop ¡along ¡the ¡path ¡

  9. 9 ¡ Organization ¡ 1. Introduc=on ¡ 2. Design ¡Overview ¡  Source-­‑routed ¡Ethernet ¡  CompaCbility ¡ with ¡ExisJng ¡Hosts ¡ 3. EvaluaJon ¡  Hardware ¡Prototype ¡  So_ware ¡Simulator ¡

  10. 10 ¡ Traditional ¡Ethernet ¡ Bytes: ¡ (6) ¡ (6) ¡ (2) ¡ (Varies) ¡ (4) ¡ Dest ¡MAC ¡ Src ¡MAC ¡ Type/ Data ¡ CRC ¡ Addr ¡ Addr ¡ Length ¡  Forwarding ¡  At ¡each ¡hop, ¡must ¡lookup ¡desJnaJon ¡address ¡in ¡a ¡ forwarding ¡table ¡to ¡obtain ¡output ¡port ¡(CAM ¡lookup) ¡ In ¡contrast, ¡ source-­‑routed ¡ How ¡to ¡obtain ¡transparent ¡ Ethernet ¡has ¡a ¡new ¡header ¡ compa*bility? ¡ containing ¡the ¡full ¡path ¡list ¡

  11. 11 ¡ Communication ¡ Axons ¡present ¡illusion ¡that ¡enCre ¡network ¡is ¡simply ¡a ¡ large ¡Ethernet ¡segment ¡ Host ¡A ¡wishes ¡to ¡communicate ¡with ¡Host ¡Z ¡ Network ¡ ¡ Axon ¡Z ¡ Host ¡A ¡ Axon ¡A ¡ Host ¡Z ¡ of ¡Axons ¡

  12. 12 ¡ Communication ¡ Host ¡A ¡issues ¡ARP ¡request ¡to ¡locate ¡Host ¡Z ¡ ARP ¡Request ¡ Network ¡ ¡ Axon ¡Z ¡ Host ¡A ¡ Axon ¡A ¡ Host ¡Z ¡ of ¡Axons ¡

  13. 13 ¡ Communication ¡ Axon ¡A ¡intercepts ¡broadcast ¡ARP ¡request ¡ ¡ Axon ¡A ¡begins ¡establishing ¡route ¡with ¡Axon ¡Z ¡ Axon ¡Z ¡sends ¡ARP ¡request ¡to ¡Host ¡Z ¡ ARP ¡Request ¡ Establishing ¡Route ¡ ARP ¡ ARP ¡Request ¡ Request ¡ Network ¡ ¡ Axon ¡Z ¡ Host ¡A ¡ Axon ¡A ¡ Host ¡Z ¡ of ¡Axons ¡

  14. 14 ¡ Communication ¡ Host ¡Z ¡responds ¡with ¡ARP ¡reply ¡(captured ¡by ¡Axon ¡Z) ¡ Axon ¡Z ¡installs ¡route ¡to ¡Host ¡A ¡ Axon ¡A ¡installs ¡route ¡to ¡Host ¡Z ¡ Axon ¡A ¡issues ¡ARP ¡reply ¡ Establish ¡Route ¡ ARP ¡ Reply ¡ ARP ¡Reply ¡ ARP ¡Reply ¡ Network ¡ ¡ Axon ¡Z ¡ Host ¡A ¡ Axon ¡A ¡ Host ¡Z ¡ of ¡Axons ¡ C ¡ A ¡ ¡Route ¡ C ¡ Z ¡ ¡Route ¡ A ¡ A ¡ … ¡… ¡ … ¡… ¡ M ¡ M ¡

  15. 15 ¡ Communication ¡ Host ¡A ¡sends ¡data ¡to ¡Host ¡Z ¡ ¡ Axon ¡A ¡looks ¡up ¡route ¡and ¡encapsulates ¡data ¡for ¡transport ¡ ¡ Source ¡rouCng ¡used ¡internally ¡(Axon↔Axon) ¡ Data ¡unpacked ¡for ¡delivery ¡ Data ¡ Axon ¡Hdr ¡ Data ¡ Data ¡ Network ¡ ¡ Axon ¡Z ¡ Host ¡A ¡ Axon ¡A ¡ Host ¡Z ¡ of ¡Axons ¡ C ¡ A ¡ ¡Route ¡ C ¡ Z ¡ ¡Route ¡ A ¡ A ¡ … ¡… ¡ … ¡… ¡ M ¡ M ¡

  16. 16 ¡ Source-­‑Routed ¡Ethernet ¡ Bytes: ¡ (3) ¡ (4) ¡ (0.5) ¡ (2) ¡ (Varies) ¡ (1 ¡per ¡hop) ¡ (1 ¡per ¡hop) ¡ (0.5) ¡ Hop ¡Counts ¡ Data ¡ Unused ¡ Fwd ¡Route ¡ Rev ¡Route ¡ CRC ¡ Type ¡ Len ¡ (Fwd ¡/ ¡Rev) ¡ Original ¡Ethernet ¡frame ¡ Packet ¡header ¡contains ¡two ¡routes: ¡  Forward ¡route ¡from ¡current ¡Axon ¡to ¡desJnaJon ¡   Grows ¡shorter ¡at ¡each ¡hop ¡ Reverse ¡route ¡from ¡current ¡Axon ¡to ¡source ¡   Grows ¡longer ¡at ¡each ¡hop ¡ Each ¡1-­‑byte ¡route ¡item ¡specifies ¡an ¡ output ¡port ¡  Forwarding ¡  At ¡each ¡hop, ¡read ¡header ¡to ¡obtain ¡ next ¡output ¡port ¡  Prepend ¡arrival ¡port ¡to ¡reverse ¡route ¡header ¡  Works ¡with ¡standard ¡Ethernet ¡PHYs ¡and ¡MACs ¡by ¡using ¡jumbo ¡frames ¡

  17. 17 ¡ Route ¡Generation ¡  Generate ¡a ¡route ¡on ¡the ¡first ¡ARP ¡for ¡flow ¡  Cache ¡at ¡local ¡Axon ¡for ¡subsequent ¡packets ¡  Prototype ¡design ¡  Central ¡route ¡controller ¡with ¡full ¡topology ¡knowledge ¡  Inspired ¡by ¡Ethane ¡and ¡Tesseract ¡projects ¡  Could ¡also ¡implement ¡a ¡distributed ¡mechanism ¡  RouJng ¡algorithm: ¡Shortest-­‑path ¡or ¡congesJon ¡aware ¡  Key ¡point: ¡source ¡rouJng ¡allows ¡for ¡ arbitrary ¡ topologies , ¡ arbitrary ¡paths ¡ (including ¡loops), ¡and ¡ arbitrary ¡rouCng ¡algorithms ¡ Casado ¡et. ¡al., ¡Ethane: ¡taking ¡control ¡of ¡the ¡enterprise, ¡SIGCOMM’2007 ¡ Yan ¡et. ¡al, ¡Tesseract: ¡A ¡4D ¡network ¡control ¡plane, ¡NSDI’2007 ¡

  18. 18 ¡ Organization ¡ 1. Introduc=on ¡ 2. Design ¡Overview ¡  Source-­‑routed ¡Ethernet ¡  Compa=bility ¡with ¡Exis=ng ¡Hosts ¡ 3. EvaluaJon ¡  Hardware ¡Prototype ¡  Measure ¡performance ¡  Demonstrate ¡compaCbility ¡  So_ware ¡Simulator ¡

Recommend


More recommend