¡ Axon: ¡A ¡Flexible ¡Substrate ¡ ¡ for ¡Source-‑routed ¡Ethernet ¡ Jeffrey ¡Shafer ¡ ¡ ¡ ¡Brent ¡Stephens ¡ ¡ ¡ ¡ ¡ ¡ ¡Michael ¡Foss ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Sco6 ¡Rixner ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡ ¡Alan ¡L. ¡Cox ¡
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 ¡ 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 ¡ 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 ¡ 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 ¡ 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 ¡ 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 ¡ 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 ¡ Organization ¡ 1. Introduc=on ¡ 2. Design ¡Overview ¡ Source-‑routed ¡Ethernet ¡ CompaCbility ¡ with ¡ExisJng ¡Hosts ¡ 3. EvaluaJon ¡ Hardware ¡Prototype ¡ So_ware ¡Simulator ¡
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 ¡ 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 ¡ Communication ¡ Host ¡A ¡issues ¡ARP ¡request ¡to ¡locate ¡Host ¡Z ¡ ARP ¡Request ¡ Network ¡ ¡ Axon ¡Z ¡ Host ¡A ¡ Axon ¡A ¡ Host ¡Z ¡ of ¡Axons ¡
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 ¡ 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 ¡ 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 ¡ 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 ¡ 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 ¡ 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