1 / 27

Data Center Fabrics

Explore layer 3 vs. layer 2 data center forwarding approaches, virtualization challenges, and architectural similarities & differences in addressing and routing. Learn about the PortLand fat-tree network, PMAC addressing scheme, and location discovery protocol.

adugas
Download Presentation

Data Center Fabrics

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Data Center Fabrics

  2. Forwarding Today • Layer 3 approach: • Assign IP addresses to hosts hierarchically based on their directly connected switch. • Use standard intra-domain routing protocols, eg. OSPF. • Large administration overhead • Layer 2 approach: • Forwarding on flat MAC addresses • Less administrative overhead • Bad scalability • Low performance • Middle ground between layer 2 and layer 3: • VLAN • Feasible for smaller scale topologies • Resource partition problem

  3. Requirements due to Virtualization • End host virtualization: • Needs to support large addresses and VM migrations • In layer 3 fabric, migrating the VM to a different switch changes VM’s IP address • In layer 2 fabric, migrating VM incurs scaling ARP and performing routing/forwarding on millions of flat MAC addresses.

  4. Motivation • Eliminate Over-subscription • Solution: Commodity switch hardware • Virtual Machine Migration • Solution: Split IP address from location. • Failure avoidance • Solution: Fast scalable routing

  5. Architectural Similarities • Both approaches use indirection • Application address doesn’t change when VM moves, all that changes in Location address • Location addresses: specifies location in network • Application address: specifies address of VM • A network of commodity switches • Reduces energy consumptions • Allows to afford enough switches to eliminate overprovision • Central entity to perform name resolution between Location address and application address • Directory Service: VL2 • Fabric Manager: Portland • Both entities are triggered by ARP request. • Stores mapping of LA to AA • Gateway devices • Perform encapsulation/decapsulation of external traffic

  6. Architecture Differences • Routing • VL2: Source routing based • Each packet contains the address of all switches to traverse • Portland: topology based routing • Location addresses encoding location with the tree • Each switch is aware of how to decode location addresses • Forwarding is based on this intimate knowledge. • Indirection • VL2: Indirection is on L3: IP-in-IP encapsulation • Portland: Indirection is on L2: IP-to-Pmac • ARP functionality: • Portland: ARP returns IP to Pmac • VL2: ARP returns a list of intermediate switches to traverse

  7. Portland

  8. Fat-Tree • Inter-connect racks (of servers) using a fat-tree topology • Fat-Tree: a special type of Clos Networks (after C. Clos) K-ary fat tree: three-layer topology (edge, aggregation and core) • each pod consists of (k/2)2 servers & 2 layers of k/2 k-port switches • each edge switch connects to k/2 servers & k/2 aggr. switches • each aggr. switch connects to k/2 edge & k/2 core switches • (k/2)2 core switches: each connects to k pods Fat-tree with K=2

  9. Why? • Why Fat-Tree? • Fat tree has identical bandwidth at any bisections • Each layer has the same aggregated bandwidth • Can be built using cheap devices with uniform capacity • Each port supports same speed as end host • All devices can transmit at line speed if packets are distributed uniform along available paths • Great scalability: k-port switch supports k3/4 servers Fat tree network with K = 3 supporting 54 hosts

  10. PortLand Assuming: a Fat-tree network topology for DC • Introduce “pseudo MAC addresses” to balance the pros and cons of flat- vs. topology-dependent addressing • PMACs are “topology-dependent,” hierarchical addresses • But used only as “host locators,” not “host identities” • IP addresses used as “host identities” (for compatibility w/ apps) • Pros: small switch state & Seamless VM migration • Pros: “eliminate” flooding in both data & control planes • But requires a IP-to-PMAC mapping and name resolution • a location directory service • And location discovery protocol & fabric manager • for support of “plug-&-play”

  11. PMAC Addressing Scheme • PMAC (48 bits): pod.position.port.vmid • Pod: 16 bits; position and port (8 bits); vmid: 16 bits • Assign only to servers (end-hosts) – by switches pod position

  12. Location Discovery Protocol • Location Discovery Messages (LDMs) exchanged between neighboring switches • Switches self-discover location on boot up Location Characteristics Technique Tree-level (edge, aggr. , core) auto-discovery via neighbor connectivity Position # aggregation switch help edge switches decide Pod # request (by pos. 0 switch only) to fabric manager

  13. PortLand: Name Resolution • Edge switch listens to end hosts, and discover new source MACs • Installs <IP, PMAC> mappings, and informs fabric manager

  14. PortLand: Name Resolution … • Edge switch intercepts ARP messages from end hosts • send request to fabric manager, which replies with PMAC

  15. PortLand: Fabric Manager • fabric manager: logically centralized, multi-homed server • maintains topology and <IP,PMAC> mappings in “soft state”

  16. VL2

  17. Design: Clos Network • Same capacity at each layer • No oversubscription • Many paths available • Low sensitivity to failures

  18. Design: Separate Names from Locations LookUp (AA) User space Application VL2 Agent Directory System IncapInfo (AA) Kernel Server Machine • Packet forwarding • VL2 agent (at host) traps packets and encapsulates them • Address resolution • ARP requests converted to unicast to directory system • Cached for performance • Access control (security policy) via the directory system

  19. Design: Separate Names from Locations

  20. Design : Valiant Load Balancing Each flow goes through a different random path Hot-spot free for tested TMs

  21. Design : VL2 Directory System • Built using servers from the data center • Two-tiered directory system architecture • Tier 1 : read optimized cache servers (directory server) • Tier 2 : write optimized mapping servers (RSM)

  22. Benefits + Drawbacks

  23. Benefits • VM migration • No need to worry L2 broadcast • Location+address dependence • Revisiting fault tolerance • Placement requirements

  24. Loop-free Forwarding and Fault-Tolerant Routing • Switches build forwarding tables based on their position • edge, aggregation and core switches • Use strict “up-down semantics” to ensure loop-free forwarding • Load-balancing: use any ECMP path via flow hashing to ensure packet ordering • Fault-tolerant routing: • Mostly concerned with detecting failures • Fabric manager maintains logical fault matrix with per-link connectivity info; inform affected switches • Affected switches re-compute forwarding tables

  25. Draw Backs • Higher failures • Commodity switches fail more frequently • No straight forward way to expand • Expand in large increments, values of k • Look-up servers • Additional infrastructure servers • Higher upfront startup latency • Need special gateway servers

  26. Draw Backs • Higher failures • Commodity switches fail more frequently • No straight forward way to expand • Expand in large increments, values of k • Look-up servers • Additional infrastructure servers • Higher upfront startup latency

  27. Draw Backs • Higher failures • Commodity switches fail more frequently • No straight forward way to expand • Expand in large increments, values of k • Look-up servers • Additional infrastructure servers • Higher upfront startup latency

More Related