39
v Running the House That CLOS Built Configuration of CLOS Fabrics Dinesh Dutt, Chief Scientist 17 th September, 2014

Configuration & Routing of Clos Networks

Embed Size (px)

DESCRIPTION

Data center networks generally follow regular topologies, but these topologies can have various unique configurations, from a simple two-tier leaf and spine to a massive multi-tier scale-out model. The large amount of physical interconnections and the various patterns with which they connect introduce complexity into the management of the wiring plant. And this complexity can lead to errors during the physical build-out of the network. Cumulus Networks created the Prescriptive Topology Manager (PTM) to give data center operators a new tool with which to perform a strict wiring validation and more. PTM introduces a software abstraction layer that ensures certain wiring rules are followed by doing a simple runtime verification of connectivity as determined by an operator’s specified wiring plan. This “prescriptive” layer dynamically ensures the desired logical topology and can take some defined actions based on the results of the topology verification, including running scripts and communicating with the Quagga routing protocol suite. View webinar here: go.cumulusnetworks.com/ptm

Citation preview

Page 1: Configuration & Routing of Clos Networks

v

Running the House That CLOS Built Configuration of CLOS Fabrics

Dinesh Dutt, Chief Scientist

17th September, 2014

Page 2: Configuration & Routing of Clos Networks

Cumulus Networks: Making Networks Accessible

Mission To enable high capacity networks that are easy to deploy and affordable helping customers realize the full promise of the software-defined data center.

Vision Bringing the Linux Revolution to Networking

September 17, 2014 cumulusnetworks.com 2

Page 3: Configuration & Routing of Clos Networks

A Key Transformation

cumulusnetworks.com 3

SPINE

LEAF

CORE

L2 ACCESS

L3 AGGREGATION

September 17, 2014

Page 4: Configuration & Routing of Clos Networks

Simplifications Wrought By L3

§ Fewer protocols to configure §  Single routing protocol vs many L2 protocols §  No FHRP required §  Standard, inter-operable protocols

§ Fewer protocols to troubleshoot

§ You can traceroute across the network

September 17, 2014 cumulusnetworks.com 4

Page 5: Configuration & Routing of Clos Networks

Agenda

§ Intro

§ Configuration & Automation

§ PTM

§ Outro

cumulusnetworks.com 5 September 17, 2014

Page 6: Configuration & Routing of Clos Networks

cumulusnetworks.com 6

• Intro

Picture courtesy Nanoer.com @flickr

September 17, 2014

Page 7: Configuration & Routing of Clos Networks

Routing vs Bridging

§ Forwarding based on IP address, not MAC

§ Loop-free protection in data plane and control plane §  Not just determined by a control protocol (STP)

§ Routing protocol assumes peer is down and not reachable if it doesn’t hear from it §  STP takes ports into forwarding if it doesn’t hear from the

other end

§ Routing protocols can work with simple and sophisticated use cases

cumulusnetworks.com 7 September 17, 2014

Page 8: Configuration & Routing of Clos Networks

Basic Parts To A Routing Routing Protocol

§ Three basic parts §  Who do I communicate with (neighbor, peer etc.) §  What do I tell them (IP prefixes usually) §  Tuning the conversation (timers, various protocol

specific knobs)

§ But first, who am I ? §  Router ID

cumulusnetworks.com 8 September 17, 2014

Page 9: Configuration & Routing of Clos Networks

Comparing STP vs Routing Configuration

cumulusnetworks.com 9

§  auto br0

§  iface br0 inet static

§  bridge-ports swp1 swp2 swp3

§  bridge-stp on

§  mstpctl-treeprio 32768

§  mstpctl-portautoedge swp1=yes

§ 

§  router ospf §  router-id 0.0.0.1 §  interface swp1 §  ip ospf area 0.0.0.0 §  ip ospf network point-to-point §  interface swp2 §  ip ospf area 0.0.0.0 §  ip ospf network point-to-point

§  router bgp 65535 §  bgp router-id 0.0.0.7 §  neighbor 1.2.3.4 remote-as 65534 §  neighbor 1.2.3.4 activate §  redistribute connected

September 17, 2014

Who Am I Who Do I Talk To What Do I Tell Them Fine Points Of Conversation

Page 10: Configuration & Routing of Clos Networks

The Nice Thing About Routing Protocols…

§ Link state vs Distance Vector §  In distance vector, you tell your neighbors what you know

about the world •  More precisely, a node provides a summarized view of the world to its

neighbors and each neighbor then examines the summaries from all its available neighbors to pick the best paths to use for communication

§  In link state, you tell the world about your neighbors •  More precisely, every node has an exact copy of what every other

node said and uses this to compute reachability to each of the other nodes

•  Comparatively chatty protocol •  Network design to configure protocol to reduce chattiness

cumulusnetworks.com 10 September 17, 2014

Page 11: Configuration & Routing of Clos Networks

cumulusnetworks.com 11

• Configuring CLOS Networks

September 17, 2014

Page 12: Configuration & Routing of Clos Networks

Sample Topology

cumulusnetworks.com 12

CLUSTER or POD CLUSTER or POD

INTER-CLUSTER SPINE

T1 T2 T3 T4

M1 M2 M3 M4

S1 S2

September 17, 2014

Page 13: Configuration & Routing of Clos Networks

Using OSPF

cumulusnetworks.com 13

§  Popular link-state protocol used in enterprises

§  Separate versions for IPv4 and IPv6

§  Chattiness is reduced by defining neighborhoods (called areas)

§  All nodes in a neighborhood have a precise copy of the info from the other neighbors in the neighborhood

§  Information outside the neighborhood is summarized by the border nodes

§  M1& M2 are the border nodes for T1 and T2. Similarly M3 and M4 for T3 and T4.

§  Two level neighborhood hierarchy support only

T1 T2 T3 T4

M1 M2 M3 M4

S1 S2

September 17, 2014

Page 14: Configuration & Routing of Clos Networks

Using OSPF (example configuration)

cumulusnetworks.com 14

§  router ospf §  ! On M1 §  log-adjacency-changes detail §  router-id 0.0.1.1 §  passive-interface lo §  interface swp1 §  ip ospf area 0.0.0.1 §  ip ospf network point-to-point §  interface swp2 §  ip ospf area 0.0.0.1 §  ip ospf network point-to-point §  interface swp3 §  ip ospf area 0.0.0.0 §  ip ospf network point-to-point §  interface swp4 §  ip ospf area 0.0.0.0 §  ip ospf network point-to-point §  interface lo §  ip ospf area 0.0.0.0 §  ip ospf network loopback

T1 T2 T3 T4

M1 M2 M3 M4

S1 S2

area 0.0.0.0

Area 0.0.0.1. Area 0.0.0.1.

September 17, 2014

Page 15: Configuration & Routing of Clos Networks

Using BGP

cumulusnetworks.com 15

§  Swiss-army knife of routing

§  Powers the Internet

§  Quite a simple path-vector (variant of distance vector) protocol

§  Configuration can be made hairy, but can be kept simple

§ Multi-protocol support

§  Used without any other routing protocol in play in the DC

T1 T2 T3 T4

M1 M2 M3 M4

S1 S2

September 17, 2014

Page 16: Configuration & Routing of Clos Networks

Using BGP

cumulusnetworks.com 16

§  router bgp 65400 §  ! M1 config §  ! As defined by draft-lapukhov-bgp-..txt §  bgp log-neighbor-changes §  bgp router-id 0.0.0.1 §  neighbor 10.10.1.1 remote-as 64512 §  neighbor 10.10.1.1 activate §  neighbor 10.10.2.1 remote-as 64513 §  neighbor 10.10.2.1 activate §  neighbor 10.10.10.1 remote-as 65534 §  neighbor 10.10.10.1 activate §  neighbor 10.10.11.1 remote-as 65534 §  neighbor 10.10.11.1 activate §  maximum-paths 64

T1 T2 T3 T4

M1 M2 M3 M4

S1 S2

September 17, 2014

Page 17: Configuration & Routing of Clos Networks

cumulusnetworks.com 17

• Simplifying The Configuration

September 17, 2014

Page 18: Configuration & Routing of Clos Networks

Key Characteristics of Any Automatable Configuration

§ Cookie cutter configuration §  As little node-specific variation as possible

•  Nothing more than a single IP address, node name, for example §  As little duplication of information as possible

•  Specifying IP addresses of interfaces AND in OSPF/BGP network statements

§  As much configuration as necessary, not more

cumulusnetworks.com 18 September 17, 2014

Page 19: Configuration & Routing of Clos Networks

OSPF Unnumbered Interfaces

§ IP links are configured to have an IP address at either end in traditional network design §  Adds to node-specific config §  Adds to IP addresses to be allocated §  IPv6 is very cool with link local address §  If these addresses are advertised, they can become attack vectors

§ OSPFv2 has a concept called unnumbered interfaces §  Single IP address per node, usually assigned to loopback interface,

inherited by all the others

§ Simplifies interface configuration, if not routing configuration

cumulusnetworks.com 19 September 17, 2014

Page 20: Configuration & Routing of Clos Networks

Simplifying BGP Configuration

§ BGP uses TCP as its transport which implies the need for an IP address in the specification

§ Violates multiple cookie cutter configuration metrics: §  IP address specified in multiple places (neighbor

statement, IP interface definition etc.) §  Configuration all become node specific

cumulusnetworks.com 20 September 17, 2014

Page 21: Configuration & Routing of Clos Networks

Unnumbered BGP Configuration

cumulusnetworks.com 21

T1 T2 T3 T4

M1 M2 M3 M4

S1 S2

§  router bgp 65400 §  ! M1 config §  ! As defined by draft-lapukhov-bgp-..txt §  bgp router-id 0.0.0.1 §  neighbor swp1 remote-as 64512 §  neighbor swp2 remote-as 64513 §  neighbor swp3 remote-as 65534 §  neighbor swp4 remote-as 65534 §  maximum-paths 64

September 17, 2014

Page 22: Configuration & Routing of Clos Networks

Unnumbered BGP: More Details

§ Uses IPv6 RA to determine link local address of remote peer

§ Sets up session over link local address

§ Works well for IPv6 today, IPv4 in the works

§ Interoperates with other implementations that can’t support this mechanism, but can peer over link local address

cumulusnetworks.com 22 September 17, 2014

Page 23: Configuration & Routing of Clos Networks

Using iBGP For Further Simplification

§ ASN forces routing configuration to be node-specific

§ iBGP can be used to force configuration to be a simple three template model: §  One set of configuration each for leaf, pod-level spine

and inter-pod level spine §  All leaves get the same configuration §  All pod-level spines get the same configuration etc.

cumulusnetworks.com 23 September 17, 2014

Page 24: Configuration & Routing of Clos Networks

Using iBGP to Get Rid of ASN

cumulusnetworks.com 24

T1 T2 T3 T4

M1 M2 M3 M4

S1 S2

§  router bgp 65400 §  ! M1 config §  bgp router-id 0.0.0.1 §  neighbor TOR peer-group §  neighbor TOR remote-as 64500 §  neighbor TOR route-reflector-client §  neighbor TOR next-hop-self-all §  neighbor TOR activate §  neighbor swp1 TOR §  neighbor swp2 TOR §  neighbor IPS peer-group §  neighbor IPS remote-as 64500 §  neighbor IPS next-hop-self §  neighbor IPS activate §  neighbor swp3 IPS §  neighbor swp4 IPS §  maximum-paths ibgp 64

September 17, 2014

Page 25: Configuration & Routing of Clos Networks

cumulusnetworks.com 25

• PTM (Prescriptive Topology Manager)

September 17, 2014

Page 26: Configuration & Routing of Clos Networks

Sorting through the Cables

§ Networking cabling complexity §  As networks scale, the number of cables increases §  How do we ensure cabling correctness in an easy way?

cumulusnetworks.com 26

Expected

Topology Design

Network Blueprint

Cable Install

Observed

Steady State Failures Re-

Cabling September 17, 2014

Page 27: Configuration & Routing of Clos Networks

Network Cabling Errors

§ Improper cabling causes §  Reachability issues §  Unpredictable and low

performance

cumulusnetworks.com 27

--Alexander Pope

“To err is human”

September 17, 2014

Page 28: Configuration & Routing of Clos Networks

Prescriptive Topology Manager (PTM)

§  Define expected topology using DOT language §  Verify connectivity per topology plan using LLDP §  Take dynamically defined actions based on match of expected & actual

cumulusnetworks.com 28

Graph  G  {    S1:p1  –  M1:p3;    S1:p2  –  M2:p3;    S1:p3  –  M3:p3;    S1:p4  –  M4:p3;    S2:p3  –  M3:p4;    S2:p4  –  M4:p4;    M1:p1  –  T1:p1;  

...    M4:p2  –  T4:p2;  

}  

Topology Graph

T1 T2 T3 T4

M1 M2 M3 M4

S1 S2

September 17, 2014

Page 29: Configuration & Routing of Clos Networks

Prescriptive Topology Manager (PTM) – Work Flow

cumulusnetworks.com 29

Graphviz

Topology.dot Configuration Management

Tool

Matching design workflow

NOT matching design workflow

September 17, 2014

Page 30: Configuration & Routing of Clos Networks

Prescriptive Topology Manager (PTM) – Work Flow (contd)

cumulusnetworks.com 30

• Notify engineers • Work around problem

PTMd

LLDP Topology.dot

neighbors

•  Configure interfaces •  Add self to monitoring…

Matching design workflow

NOT matching design workflow

September 17, 2014

Page 31: Configuration & Routing of Clos Networks

PTM Pre-defined Hookups

§ With Quagga §  Quagga acts as PTM client §  Listens to link-state and BFD notifications

cumulusnetworks.com 31

cumulus@S1:~$  sudo  vtysh  -­‐c  'conf  t'  -­‐c  'ptm-­‐enable'  cumulus@S1:~$  sudo  vtysh  -­‐c  'show  interface  swp1'  Interface  swp1  is  up,  line  protocol  is  up      PTM  status:  pass      index  3  metrix  1  mtu  1500      flags:  <UP,BROADCAST,RUNNING,MULTICAST>      HWaddr:  00:02:00:00:00:11      inet  21.0.0.2/24  broadcast  21.0.0.255      inet6  fe80::202:ff:fe00:11/64  cumulus@S1:~$    

Page 32: Configuration & Routing of Clos Networks

PTM: Running State

§ ptmctl (contd) §  Shows expected and observed topology §  Comparison test results – pass or fail

cumulusnetworks.com 32

root@cumulus:~# ptmctl ------------------------------------------ port cbl BFD BFD status status peer ------------------------------------------ swp13 pass pass 51.0.0.41 swp14 pass pass 52.0.0.41 swp15 pass pass 53.0.0.41 swp20 fail N/A N/A

Page 33: Configuration & Routing of Clos Networks

ptmd: Running At A Git Near You

§ Open  source,  published  under  Eclipse  Public  License  (EPL)  

§   h6ps://github.com/CumulusNetworks/ptm  

September 17, 2014 cumulusnetworks.com 33

Page 34: Configuration & Routing of Clos Networks

cumulusnetworks.com 34

• PTM 2.0

September 17, 2014

Page 35: Configuration & Routing of Clos Networks

Mapping Gods Eye View To Box Specific Config

§ A fundamental problem with networking configuration is the inability to map network-wide view to box-specific configuration

§ PTM provides a network-wide configuration mechanism

cumulusnetworks.com 35 September 17, 2014

Page 36: Configuration & Routing of Clos Networks

Generate Routing Configuration From PTM

September 17, 2014 cumulusnetworks.com 36

Graph  G  {    S1:p1  –  M1:p3;    S1:p2  –  M2:p3;    S1:p3  –  M3:p3;    S1:p4  –  M4:p3;    S2:p3  –  M3:p4;    S2:p4  –  M4:p4;    M1:p1  –  T1:p1;  

...    M4:p2  –  T4:p2;  

}  

§  router bgp 65400 §  ! M1 config §  ! As defined by draft-lapukhov-bgp-..txt §  bgp router-id 0.0.0.1 §  neighbor swp1 remote-as 64512 §  neighbor swp2 remote-as 64513 §  neighbor swp3 remote-as 65534 §  neighbor swp4 remote-as 65534 §  maximum-paths 64

Page 37: Configuration & Routing of Clos Networks

A Summing Up

§ CLOS topology allows for a simplified configuration

§ Routing configuration can be fairly simple

§ Coupled with PTM, BGP unnumbered interface and other like innovations can make configuring L3 networks a snap

September 17, 2014 cumulusnetworks.com 37

Page 38: Configuration & Routing of Clos Networks

Resources available

§ Cumulus WB: http://cumulusnetworks.com/cumulus-workbench/

§ cldemo: github.com/CumulusNetworks/cldemo

§ Website: cumulusnetworks.com

§ Blog: cumulusnetworks.com/blog

§ Twitter: @CumulusNetworks @ddcumulus

cumulusnetworks.com 38 September 17, 2014

Page 39: Configuration & Routing of Clos Networks

CUMULUS, the Cumulus Logo, CUMULUS NETWORKS, and the Rocket Turtle Logo (the “Marks”) are trademarks and service marks of Cumulus Networks, Inc. in the U.S. and other countries. You are not permitted to use the Marks without the prior written consent of Cumulus Networks. The registered trademark Linux® is used pursuant to a sublicense from LMI, the exclusive licensee of Linus Torvalds, owner of the mark on a world-wide basis. All other marks are used under fair use or license from their respective owners.

§ Thank You!

cumulusnetworks.com 39

Bringing the Linux Revolution to Networking

September 17, 2014