ios routing internals -...

128
1

Upload: vudan

Post on 15-Apr-2018

243 views

Category:

Documents


4 download

TRANSCRIPT

Page 1: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

1

Page 2: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

IOS Routing Internals

BRKARC-2350

Pete Lumbis – CCIE R&S #28677, CCDE 2012::3

Routing Protocols Technical Leader – RTP TAC

@tacCCDE

Page 3: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Agenda

• Router Components

• Moving Packets

• CEF, CPU and Memory

• Outbound Load Sharing

• Routing Convergence Improvements

3

Page 4: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Agenda

Router Components

Data and Control Planes

– Software Based Routers

– Hardware Based Routers

– Hybrid Routers

• Moving Packets

• CEF, CPU and Memory

• Outbound Load Sharing

• Routing Convergence Improvements

4

Page 5: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Router Components

• Control Plane

– Control Traffic • Routing Updates (BGP, EIGRP, OSPF, etc.)

• SSH

• SNMP

• Data Plane

– Through traffic

Data and Control Planes

5

Brains

Brawn

Page 6: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Agenda

Router Components

– Data and Control Planes

Software Based Routers

– Hardware Based Routers

– Hybrid Routers

• Moving Packets

• CEF, CPU and Memory

• Outbound Load Sharing

• Routing Convergence Improvements

6

Page 7: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Router Components

• Software Based

– Shared control and data plane

– General Purpose CPU (slow and smart) • Runs at CPU speed

• Speed/flexibility tradeoff

– CPU responsible for all operations

Software Based Routers

7

800/2800/2900/3900/7200 Series Routers are software based

Page 8: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

RAM

Network Interface

Router Components Software Based Routers

8

CPU

I/O

Memory

Process

Memory

RX Ring

Tx Ring

show controllers show process memory

show process cpu

Page 9: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Agenda

Router Components

– Data and Control Planes

– Software Based Routers

Hardware Based Routers

– Hybrid Routers

• Moving Packets

• CEF, CPU and Memory

• Outbound Load Sharing

• Routing Convergence Improvements

9

Page 10: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Router Components

• Hardware based

– Separated control and data plane

– CPU + ASIC (Application Specific Integrated Circuit)

– ASIC designed specifically to move packets (fast and dumb)

– CPU manages control plane

– CPU only moves packets the ASIC can’t

– Data Plane packets sent to the CPU are “punted”

Hardware Based Routers

10

6500/7600, Nexus 7000 and ASR9000 are hardware based

Page 11: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Router Components Hardware Based Routers

11

CPU

RAM

IO

Memory

Process

Memory

Network Interface

RX Ring

Tx Ring Forwarding

ASIC TCAM

Page 12: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Control

Plane

Data

Plane

Router Components Hardware Based Routers

12

CPU

RAM

IO

Memory

Process

Memory

Network Interface

RX Ring

Tx Ring Forwarding

ASIC TCAM

Page 13: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Control

Plane

Data

Plane

Router Components Hardware Based Routers

13

CPU

RAM

IO

Memory

Process

Memory

Network Interface

RX Ring

Tx Ring Forwarding

ASIC TCAM

7600# show ip cef Prefix Next Hop Interface 192.168.99.0/24 10.1.1.2 GigabitEthernet2/0/1

7600# show mls cef Index Prefix Adjacency 3210 192.168.99.0/24 Gi2/0/1, 0016.9c6d.3e40

Page 14: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Agenda

Router Components

– Data and Control Planes

– Software Based Routers

– Hardware Based Routers

Hybrid Routers

• Moving Packets

• CEF, CPU and Memory

• Outbound Load Sharing

• Routing Convergence Improvements

14

Page 15: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Router Components

• Hardware assisted

– Separated control and data plane

– CPU + NP (Network Processor)

– NP is multi-core specialized processor

– NP is optimized to move packets

– CPU manages control plane

– CPU only moves packets the NP can’t

Hybrid Routers

15

ASR1000 and ISR4400 are Hardware Assisted Routers

Page 16: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Control

Plane

Data

Plane

Router Components Hybrid Routers

16

CPU

RAM

IO

Memory

Process

Memory

Network Interface

RX Ring

Tx Ring Forwarding

ASIC TCAM

Page 17: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Control

Plane

Data

Plane

Router Components Hybrid Routers

17

CPU

RAM

IO

Memory

Process

Memory

Network Interface

RX Ring

Tx Ring Dataplane

Memory NP

Page 18: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Control

Plane

Data

Plane

Router Components Hybrid Routers

18

CPU

RAM

IO

Memory

Process

Memory

Network Interface

RX Ring

Tx Ring Dataplane

Memory NP

ASR1k# show ip cef Prefix Next Hop Interface 192.168.99.0/24 10.1.1.2 GigabitEthernet2/0/1

ASR1k#show plat hard qfp active feat cef prefix ip 172.16.2.3/32 === Gtrie Node === Gtrie Node Type: Tree Node HW Content: : 89d0008d 00000004 40000000 00000000 Gtrie Tree Node Type:: Search Trie Node

Page 19: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Agenda

• Router Components

Moving Packets

Process Switching

– CEF Switching

• CEF, CPU and Memory

• Outbound Load Sharing

• Routing Convergence Improvements

20

Page 20: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Overview

• CEF Switching and Process Switching

– Fast Switching is deprecated as of 12.4(20)T

– Not covered today

• CEF Switching is the default

• Process Switching is the fallback

– Anything CEF can’t handle

21

Page 21: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Process Switching

22

e0/0

Rx Ring

CPU

IO

Memory

Interrupt

e0/1

Tx Ring Packet

L2 Hdr

Page 22: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Process Switching

23

e0/0

Rx Ring

CPU

IO

Memory

Interrupt

e0/1

Tx Ring Packet

L2 Hdr

IP

Input

Schedules

Page 23: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Process Switching

24

e0/0

Rx Ring

CPU

IO

Memory e0/1

Tx Ring Packet

Scheduler

Runs

IP

Input

Page 24: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Process Switching

25

e0/0

Rx Ring

IO

Memory e0/1

Tx Ring Packet

Scheduler IP

Input

Routing

Table

Find

Route

ARP

Table

CPU

Find

Adjacency

L2 Hdr

Page 25: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Process Switching

26

e0/0

Rx Ring

IO

Memory e0/1

Tx Ring Packet

Scheduler IP

Input

Routing

Table

ARP

Table

CPU

L2 Hdr

Page 26: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Process Switching

27

e0/0

Rx Ring

IO

Memory e0/1

Tx Ring

Scheduler IP

Input

Routing

Table

ARP

Table

CPU

Packet

L2 Hdr

Page 27: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Process Switching

• Process Switching is BAD

• Multiple lookups

• Inefficient data structures

• Process scheduling

• What can we do to improve?

– Better data structures

– Pre-compile forwarding information

29

Router#show ip route 172.16.1.1

Routing entry for 172.16.1.1/32

Known via "bgp 65530", distance 20, metric 0

* 10.0.0.1, from 10.0.0.1, 00:00:07 ago

Router#show ip route 10.0.0.1

Routing entry for 10.0.0.1/32

Known via "static", distance 1, metric 0

* 192.168.1.1

Router#show ip route 192.168.1.1

Routing entry for 192.168.1.0/24

Known via "connected", distance 0, metric 0 (connected, via interface)

* directly connected, via Ethernet0/1

Page 28: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Agenda

• Router Components

Moving Packets

– Process Switching

CEF Switching

• CEF, CPU and Memory

• Outbound Load Sharing

• Routing Convergence Improvements

30

Page 29: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

ARP Table

The FIB (Forwarding Information Base) “Show IP CEF”

31

FIB

(Software CEF)

Hardware CEF

(TCAM)

Other L2 Protocols

Routing

Table

Adjacency

Table

Hardware Software

Page 30: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

CEF Overview

• CEF Table = Route + Egress Interface + L2 Destination

• Single lookup (and faster too!)

• No process scheduling

32

Router# show ip cef 172.16.1.1 det

172.16.1.1/32

recursive via 10.0.0.1

recursive via 192.168.1.1

attached to Ethernet0/1

Page 31: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

CEF Switching

33

e0/0

Rx Ring

CPU

IO

Memory

Interrupt

e0/1

Tx Ring Packet

L2 Hdr

Page 32: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

CEF Switching

34

e0/0

Rx Ring

CPU

IO

Memory

Interrupt

e0/1

Tx Ring Packet

L2 Hdr

IP

Input

CEF

Table L2 Hdr

Route + L2 Lookup

Scheduler

Page 33: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

CEF Switching

35

e0/0

Rx Ring

CPU

IO

Memory

Interrupt

e0/1

Tx Ring Packet

CEF

Table L2 Hdr

Route + L2 Lookup

Page 34: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

CEF Switching

36

e0/0

Rx Ring

CPU

IO

Memory

Interrupt

e0/1

Tx Ring

CEF

Table

Packet

L2 Hdr

Route + L2 Lookup

Page 35: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

CEF Switching - Summary

• Interrupt removes process scheduling

• Pre-compiled Interface + L2 information (cache)

• CEF table data structure improvement

– RIB is a hash

– CEF is a mtrie

• Single lookup for all necessary forwarding information

38

Page 36: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

CEF Switching - Features

• Supported in CEF

– QoS

– ACL

– Zone Based Firewall

– NAT

– NetFlow

– IPSec

– GRE

– PBR

– Many more!

• Process Switching Only

– ACL Logging

– Packets destined to the router

– No L2 Adjacency

40

Page 37: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Agenda

• Router Components

• Moving Packets

CEF, CPU and Memory

Processes and Interrupts

– Routing Memory Utilization

• Outbound Load Sharing

• Routing Convergence Improvements

41

Page 38: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

• CPU does everything

• Total CPU vs. Interrupts

– SPF, BGP

– Routed Packets

CEF and CPU Utilization

42

CPU utilization for five seconds: 5%/2%; one minute: 3%; five minutes: 2%

PID Runtime (ms) Invoked uSecs 5Sec 1Min 5Min TTY Process

...

2 68 585 116 1.00% 1.00% 0% 0 IP Input

17 88 4232 20 0.20% 1.00% 0% 0 BGP Router

18 152 14650 10 0% 0% 0% 0 BGP Scanner

...

Total CPU – Interrupts = Utilization Due to Processes

Page 39: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

CPU Utilization Examples

43

CPU utilization for five seconds: 47%/46%; one minute: 40%; five minutes: 39%

1. CPU Utilization due to moderate traffic rates

Page 40: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

CPU Utilization Examples

44

CPU utilization for five seconds: 47%/46%; one minute: 40%; five minutes: 39%

CPU utilization for five seconds: 99%/3%; one minute: 53%; five minutes: 49%

PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process

357 319932 138750 21039 88.32% 41.18% 36.78% 0 OSPF-1 Router

1. CPU Utilization due to moderate traffic rates

2. High CPU due to OSPF Reconvergence

Page 41: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

CPU Utilization Examples

45

CPU utilization for five seconds: 47%/46%; one minute: 40%; five minutes: 39%

CPU utilization for five seconds: 99%/3%; one minute: 53%; five minutes: 49%

PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process

357 319932 138750 21039 88.32% 41.18% 36.78% 0 OSPF-1 Router

CPU utilization for five seconds: 99%/3%; one minute: 99%; five minutes: 99%

PID Runtime(ms) Invoked uSecs 5Sec 1Min 5Min TTY Process

3 24871276 47622133 522 30.62% 31.62% 31.57% 2 Virtual Exec

122 24812452 47528825 522 30.53% 31.62% 31.60% 3 Virtual Exec

131 24790280 47490842 522 32.84% 31.88% 31.31% 4 Virtual Exec

1. CPU Utilization due to moderate traffic rates

2. High CPU due to OSPF Reconvergence

3. High CPU due to multiple Virtual Exec Processes

Page 42: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Process Priority

46

• Processes assigned priority

– Critical/High/Medium/Low Critical

High

Medium

Low CPU

Page 43: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Process Priority

47

• Processes assigned priority

– Critical/High/Medium/Low

• Priority Scheduler

Critical

High

Medium

Low

3

1 2

CPU

Page 44: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Process Priority

48

• Processes assigned priority

– Critical/High/Medium/Low

• Priority Scheduler

Critical

High

Medium

Low

1 2

CPU

4

3

Page 45: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Process Priority

49

• Processes assigned priority

– Critical/High/Medium/Low

• Priority Scheduler

Critical

High

Medium

Low

1 2

CPU

3

4

Page 46: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Process Priority

50

• Processes assigned priority

– Critical/High/Medium/Low

• Priority Scheduler

Critical

High

Medium

Low

1 2

CPU

4

Page 47: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Process Priority

51

• Processes assigned priority

– Critical/High/Medium/Low

• Priority Scheduler

Critical

High

Medium

Low

1 2

CPU

4

Page 48: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Process Priority

52

• Processes assigned priority

– Critical/High/Medium/Low

• Priority Scheduler

Critical

High

Medium

Low

2

CPU

1

Page 49: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Process Priority

53

• Processes assigned priority

– Critical/High/Medium/Low

• Priority Scheduler

• Run to Completion Model

Critical

High

Medium

Low

2

CPU

1

5

Page 50: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Process Priority

54

• Processes assigned priority

– Critical/High/Medium/Low

• Priority Scheduler

• Run to Completion Model

– Processes choose to suspend

Critical

High

Medium

Low

2

CPU

5

1

Page 51: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Process Priority

55

• Processes assigned priority

– Critical/High/Medium/Low

• Priority Scheduler

• Run to Completion Model

– Processes choose to suspend

Critical

High

Medium

Low

2

CPU

1

5

Page 52: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Process Priority

56

• Processes assigned priority

– Critical/High/Medium/Low

• Priority Scheduler

• Run to Completion Model

– Processes choose to suspend

– Interrupts break the rules

Critical

High

Medium

Low

2

CPU

1

5 Interrupt!

Page 53: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Agenda

• Router Components

• Moving Packets

CEF, CPU and Memory

– Processes and Interrupts

Routing Memory Utilization

• Outbound Load Sharing

• Routing Convergence Improvements

57

Page 54: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Routing Process Memory

58

• Routing Protocol, RIB, and CEF each take their own memory

• RIB built from Routing Protocols

• CEF built from RIB

BGP RIB CEF

10.1.1.1 {65534}

10.1.1.1 {65535 65534} 10.1.1.1 via e0/0

10.1.1.1-> e0/0,

0000.1ace.face

Proc Mem

Page 55: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Memory Impact of Multiple Prefixes

59

ISP A

3 BGP Peers

400k Identical Routes

15.2(2)T

ISP B ISP C

400k

Prefixes

400k

Prefixes 400k

Prefixes

Page 56: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Memory Impact of Multiple Prefixes

60

5%

38% 41%

45%

0%

10%

20%

30%

40%

50%

0 Peers 1 Peer 2 Peers 3 Peers

Memory Utilization

ISP A

ISP B

ISP C

3 BGP Peers

400k Identical Routes

15.2(2)T

0 peers

0 BGP entries

0 CEF entries

Page 57: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Memory Impact of Multiple Prefixes

61

5%

38% 41%

45%

0%

10%

20%

30%

40%

50%

0 Peers 1 Peer 2 Peers 3 Peers

Memory Utilization

ISP A

ISP B

ISP C

3 BGP Peers

400k Identical Routes

15.2(2)T

1 peer

400k BGP entries

400k CEF entries

Page 58: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Memory Impact of Multiple Prefixes

62

5%

38% 41%

45%

0%

10%

20%

30%

40%

50%

0 Peers 1 Peer 2 Peers 3 Peers

Memory Utilization

ISP A

ISP B

ISP C

3 BGP Peers

400k Identical Routes

15.2(2)T

2 peers

800k BGP Entries

400k CEF entries

Page 59: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Memory Impact of Multiple Prefixes

63

5%

38% 41%

45%

0%

10%

20%

30%

40%

50%

0 Peers 1 Peer 2 Peers 3 Peers

Memory Utilization

ISP A

ISP B

ISP C

3 BGP Peers

400k Identical Routes

15.2(2)T

3 peers

1.2m BGP Entries

400k CEF entries

Page 60: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Agenda

• Router Components

• Moving Packets

• CEF, CPU and Memory

Outbound Load Sharing

CEF Equal Cost Multipath (ECMP)

– Load Sharing with Performance Routing (PfR)

• Routing Convergence Improvements

64

Page 61: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Load Sharing vs. Load Balancing

• Load balancing implies intelligence

• Load sharing is simple

• Load balancing has fairness

• Load sharing has no measurements

65

Page 62: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Equal Cost Loadsharing

66

OSPF Cost 20

OSPF Cost 20

B OSPF

Area 0 172.16.2.0/24

Page 63: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Routing Table – Equal Cost Routes

68

RouterB#show ip route 172.16.2.0

Routing entry for 172.16.2.0/24

Known via "ospf 1", distance 110, metric 20, type intra area

Last update from 172.16.1.1 on Ethernet0/0, 1d02h ago

Routing Descriptor Blocks:

* 192.168.100.1, from 192.168.200.1, 1d02h ago, via Ethernet0/1

Route metric is 20, traffic share count is 1

172.16.1.1, from 192.168.200.1, 1d02h ago, via Ethernet0/0

Route metric is 20, traffic share count is 1

Page 64: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Routing Table – Equal Cost Routes

69

RouterB#show ip route 172.16.2.0

Routing entry for 172.16.2.0/24

Known via "ospf 1", distance 110, metric 20, type intra area

Last update from 172.16.1.1 on Ethernet0/0, 1d02h ago

Routing Descriptor Blocks:

* 192.168.100.1, from 192.168.200.1, 1d02h ago, via Ethernet0/1

Route metric is 20, traffic share count is 1

172.16.1.1, from 192.168.200.1, 1d02h ago, via Ethernet0/0

Route metric is 20, traffic share count is 1

Page 65: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Routing Table – Equal Cost Routes

70

RouterB#show ip route 172.16.2.0

Routing entry for 172.16.2.0/24

Known via "ospf 1", distance 110, metric 20, type intra area

Last update from 172.16.1.1 on Ethernet0/0, 1d02h ago

Routing Descriptor Blocks:

* 192.168.100.1, from 192.168.200.1, 1d02h ago, via Ethernet0/1

Route metric is 20, traffic share count is 1

172.16.1.1, from 192.168.200.1, 1d02h ago, via Ethernet0/0

Route metric is 20, traffic share count is 1

Page 66: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Unequal Cost Load Sharing

72

EIGRP Cost 307200

EIGRP Cost 1561600

B EIGRP 10 172.16.2.0/24

Page 67: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Routing Table – Unequal Cost Routes

73

RouterB#show ip route 172.16.2.0

Routing entry for 172.16.2.0/24

Known via "eigrp 10", distance 90, metric 307200, type internal

Last update from 172.16.1.1 on Ethernet0/0, 1d02h ago

Routing Descriptor Blocks:

192.168.100.1, from 192.168.200.1, 1d02h ago, via Ethernet0/1

Route metric is 1561600, traffic share count is 47

...

* 172.16.1.1, from 172.16.1.1, 00:00:16 ago, via Ethernet0/0

Route metric is 307200, traffic share count is 240

Unequal Metrics

Page 68: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Routing Table – Unequal Cost Routes

74

RouterB#show ip route 172.16.2.0

Routing entry for 172.16.2.0/24

Known via "eigrp 10", distance 90, metric 307200, type internal

Last update from 172.16.1.1 on Ethernet0/0, 1d02h ago

Routing Descriptor Blocks:

192.168.100.1, from 192.168.200.1, 1d02h ago, via Ethernet0/1

Route metric is 1561600, traffic share count is 47

...

* 172.16.1.1, from 172.16.1.1, 00:00:16 ago, via Ethernet0/0

Route metric is 307200, traffic share count is 240

Unequal Traffic Share Count

Page 69: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Routing Table – Unequal Cost Routes

75

RouterB#show ip route 172.16.2.0

Routing entry for 172.16.2.0/24

Known via "eigrp 10", distance 90, metric 307200, type internal

Last update from 172.16.1.1 on Ethernet0/0, 1d02h ago

Routing Descriptor Blocks:

192.168.100.1, from 192.168.200.1, 1d02h ago, via Ethernet0/1

Route metric is 1561600, traffic share count is 47

...

* 172.16.1.1, from 172.16.1.1, 00:00:16 ago, via Ethernet0/0

Route metric is 307200, traffic share count is 240

Only Accomplished with EIGRP variance command

Page 70: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

CEF Hashing

77

• CEF hash is deterministic

– Same input always provides the same output

A

B

C

D

E

F

Packet 1 = src 10.1.1.1 dst 10.2.2.2

Packet 2 = src 10.1.1.1 dst 10.3.3.3

G

1 2

1

1

2

2

Without randomization every

router makes the same

decision

Downstream routers never

loadshare

Page 71: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

CEF Hashing Algorithm

• Default hash is “Universal”

• Source IP + Destination IP + Universal Identifier

• Universal ID prevents polarization

• Other hashes can be used for fixing unequal load sharing

78

RouterB#show cef state

CEF Status:

universal per-destination load sharing algorithm, id 0F33353C

Page 72: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

CEF Loadsharing Options

• Per-Packet

– More even load sharing

– Jitter

– Out of Order packets (bad for lots of applications)

• Per-Destination (default)

– Can be less even load sharing

– Ordered delivery

– Hashing challenges

79

Page 73: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

CEF Hashing

80

RouterB#show ip CEF 172.16.2.1 internal

172.16.2.0/24, epoch 0, RIB[I], refcount 5, per-destination sharing

ifnums:

Ethernet0/0(3): 172.16.1.1

Ethernet0/1(4): 192.168.200.1

path 08172748, path list 100071A8, share 1/1, type attached nexthop, for IPv4

nexthop 172.16.1.1 Eth0/0, adj IP adj out Eth0/0, addr 172.16.1.1 081E35A0

path 08172898, path list 100071A8, share 1/1, type attached nexthop, for IPv4

nexthop 192.168.200.1 Eth0/1, adj IP adj out Eth0/1, addr 192.168.200.1 0F75D9F8

flags: Per-session, for-rx-IPv4, 2buckets

2 hash buckets

< 0 > IP adj out of Ethernet0/0, addr 172.16.1.1 081E35A0

< 1 > IP adj out of Ethernet0/1, addr 192.168.200.1 0F75D9F8

Page 74: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

CEF Hashing

81

RouterB#show ip CEF 172.16.2.1 internal

172.16.2.0/24, epoch 0, RIB[I], refcount 5, per-destination sharing

ifnums:

Ethernet0/0(3): 172.16.1.1

Ethernet0/1(4): 192.168.200.1

path 08172748, path list 100071A8, share 1/1, type attached nexthop, for IPv4

nexthop 172.16.1.1 Eth0/0, adj IP adj out Eth0/0, addr 172.16.1.1 081E35A0

path 08172898, path list 100071A8, share 1/1, type attached nexthop, for IPv4

nexthop 192.168.200.1 Eth0/1, adj IP adj out Eth0/1, addr 192.168.200.1 0F75D9F8

flags: Per-session, for-rx-IPv4, 2buckets

2 hash buckets

< 0 > IP adj out of Ethernet0/0, addr 172.16.1.1 081E35A0

< 1 > IP adj out of Ethernet0/1, addr 192.168.200.1 0F75D9F8

Page 75: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

CEF Hashing

82

RouterB#show ip CEF 172.16.2.1 internal

172.16.2.0/24, epoch 0, RIB[I], refcount 5, per-destination sharing

ifnums:

Ethernet0/0(3): 172.16.1.1

Ethernet0/1(4): 192.168.200.1

path 08172748, path list 100071A8, share 1/1, type attached nexthop, for IPv4

nexthop 172.16.1.1 Eth0/0, adj IP adj out Eth0/0, addr 172.16.1.1 081E35A0

path 08172898, path list 100071A8, share 1/1, type attached nexthop, for IPv4

nexthop 192.168.200.1 Eth0/1, adj IP adj out Eth0/1, addr 192.168.200.1 0F75D9F8

flags: Per-session, for-rx-IPv4, 2buckets

2 hash buckets

< 0 > IP adj out of Ethernet0/0, addr 172.16.1.1 081E35A0

< 1 > IP adj out of Ethernet0/1, addr 192.168.200.1 0F75D9F8

Page 76: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

CEF Hashing

83

RouterB#show ip CEF 172.16.2.1 internal

172.16.2.0/24, epoch 0, RIB[I], refcount 5, per-destination sharing

ifnums:

Ethernet0/0(3): 172.16.1.1

Ethernet0/1(4): 192.168.200.1

path 08172748, path list 100071A8, share 1/1, type attached nexthop, for IPv4

nexthop 172.16.1.1 Eth0/0, adj IP adj out Eth0/0, addr 172.16.1.1 081E35A0

path 08172898, path list 100071A8, share 1/1, type attached nexthop, for IPv4

nexthop 192.168.200.1 Eth0/1, adj IP adj out Eth0/1, addr 192.168.200.1 0F75D9F8

flags: Per-session, for-rx-IPv4, 2buckets

2 hash buckets

< 0 > IP adj out of Ethernet0/0, addr 172.16.1.1 081E35A0

< 1 > IP adj out of Ethernet0/1, addr 192.168.200.1 0F75D9F8

Page 77: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

CEF Hashing

84

RouterB#show ip CEF 172.16.2.1 internal

172.16.2.0/24, epoch 0, RIB[I], refcount 5, per-destination sharing

ifnums:

Ethernet0/0(3): 172.16.1.1

Ethernet0/1(4): 192.168.200.1

path 08172748, path list 100071A8, share 1/1, type attached nexthop, for IPv4

nexthop 172.16.1.1 Eth0/0, adj IP adj out Eth0/0, addr 172.16.1.1 081E35A0

path 08172898, path list 100071A8, share 1/1, type attached nexthop, for IPv4

nexthop 192.168.200.1 Eth0/1, adj IP adj out Eth0/1, addr 192.168.200.1 0F75D9F8

flags: Per-session, for-rx-IPv4, 2buckets

2 hash buckets

< 0 > IP adj out of Ethernet0/0, addr 172.16.1.1 081E35A0

< 1 > IP adj out of Ethernet0/1, addr 192.168.200.1 0F75D9F8

Page 78: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

CEF Hashing

85

2 hash buckets

< 0 > IP adj out Ethernet0/0, addr 172.16.1.1 081E35A0

< 1 > IP adj out Ethernet0/1, addr 192.168.200.1 0F75D9F8

Source IP

Destination IP

Universal ID

Eth0/0, 172.16.1.1

Eth0/1, 192.168.200.1

or CEF

Hash

0

1

Page 79: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

RouterB#show ip CEF exact-route 192.168.2.38 172.16.2.24

192.168.2.38 -> 172.16.2.24 => IP adj out Ethernet0/1, addr 192.168.200.1

RouterB#show ip CEF exact-route 192.168.2.40 172.16.2.24

192.168.2.40 -> 172.16.2.24 => IP adj out Ethernet0/0, addr 172.16.1.1

CEF Hashing

86

Source IP

Universal ID

Eth0/0, 172.16.1.1

Eth0/1, 192.168.200.1

or CEF

Hash

0

1 Destination IP

Page 80: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Equal Cost Multipath - Summary

• CEF is built from the routing table

• Load sharing is part of routing decision

• Not 100% equal

• Based on Source IP + Destination IP + Universal ID

• Only one router

87

How do I load share on more than one router?

Page 81: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Agenda

• Router Components

• Moving Packets

• CEF, CPU and Memory

Outbound Load Sharing

– CEF Equal Cost Multipath (ECMP)

Load Sharing with Performance Routing (PfR)

• Routing Convergence Improvements

88

Page 82: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Loadsharing Across Routers

ISP1

WAN Site

ISP2 60%

20%

CEF ECMP works per-router

No dynamic way to get even sharing across routers

Enterprise

89

Page 83: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

PfR Operations

ISP1

WAN Site

ISP2 60%

20%

Command and Control Infrastructure

Border Routers (BRs) communicate load to Master Controller (MC)

MC

BR

BR

Load Information

90

Page 84: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

PfR Operations

ISP1

WAN Site

ISP2 60%

20%

Master Controller analyzes reports from Border Routers

MC

BR

BR

Load Information

?

91

Page 85: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

PfR Operations

ISP1

WAN Site

ISP2 60%

20%

Master Controller analyzes reports from Border Routers

MC detects policy violation

MC

BR

BR

Load Information

!

92

Page 86: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

PfR Operations

ISP1

WAN Site

ISP2 60%

20%

Master Controller pushes routing updates

MC

BR

BR

Routing Updates

!

93

Page 87: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

PfR Operations

ISP1

WAN Site

ISP2 40%

48%

Master Controller pushes routing updates

Border Routers adjust routing impacting load

MC

BR

BR

Routing Updates

94

Page 88: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

PfR Operations

ISP1

WAN Site

ISP2

Border Routers continue reporting

MC

BR

BR

Load Information

40%

48%

95

Page 89: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

PfR Operations

ISP1

WAN Site

ISP2

Border Routers continue reporting

Master Control continues analyzing

MC

BR

BR

Load Information

?

40%

48%

96

Page 90: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

PfR Summary

• PfR “lifecycle”

• Policy Enforcement

– BGP Local Preference

– Static Routes

– PBR

• PfR provides routing intelligence

• CEF and RIB are the same

97

Page 91: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Agenda

• Router Components

• Moving Packets

• CEF, CPU and Memory

• Outbound Load Sharing

Routing Convergence Improvements

Fast Convergence Overview

– OSPF LFA

– EIGRP Feasible Successor

– BGP PIC-Edge

98

Page 92: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Routing Convergence – What’s to Improve?

• Routing changes are bad

• Small changes can require (potentially) large recalculation

• Routing Protocols are slow

– Failure detection is fast

– Event propagation + calculation is the bottleneck

• Chain Reaction

– Protocol Change -> RIB Change -> CEF Change

• Protocol can already know what to do before failure

99

Page 93: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Failure Detection with BFD

• Bidirectional Forwarding Detection

• VERY fast (50ms hello/150ms dead)

• Lightweight

– 24 bytes BFD Hello vs. 56 byte OSPF Hello

• Handled in Interrupt

• Protocols are BFD clients

• Offloaded to hardware*

• *12k, 7600 with ES+, Nexus 7000, ASR1000

100

Page 94: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Agenda

• Router Components

• Moving Packets

• CEF, CPU and Memory

• Outbound Load Sharing

Routing Convergence Improvements

– Fast Convergence Overview

OSPF LFA

– EIGRP Feasible Successor

– BGP PIC-Edge

101

Page 95: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

OSPF Overview

• Link State Algorithm

– LSDB provides a view of the entire network

• Network changes exchanged via LSA (Link State Advertisement)

– Multiple events cause throttling (5000ms default)

• SPF algorithm determines best path

– Runs on receipt of LSA, delayed 5000ms (default)

102

Page 96: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

OSPF Convergence

• Convergence =

Failure Detection + Event Propagation + SPF + FIB Update

• Best case: ~160ms (SPF Tuning + BFD)

• Worst case: ~50 seconds (Dead Time + LSA throttle + SPF defaults)

• Failure Detection is easy (hardware)

• Control plane is difficult (software)

103

Neighbor Down LSA generation RIB + CEF + Hardware

Page 97: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

OSPF Loop Free Alternate

• A has a primary (A-C) and secondary (A-B-C) path to 10.1.1.0/24

• Link State allows A to know entire topology

• A should know that B is an alternative path

• Loop Free Alternate (LFA)

104

B

A C 10.1.1.0/24

Page 98: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

OSPF Loop Free Alternate

• OSPF presents a primary and backup to CEF

– Backup calculated from secondary SPF run

105

RouterA# show ip route 10.1.1.0

Routing Descriptor Blocks:

* 172.16.0.1, from 192.168.255.1, 00:01:57 ago, via Ethernet4/1/0

Route metric is 2, traffic share count is 1

Repair Path: 192.168.0.2, via Ethernet4/2/0

RouterA#show ip CEF 10.1.1.0

10.1.1.0/24

nexthop 172.16.0.1 Ethernet4/1/0

repair: attached-nexthop 192.168.0.2 Ethernet4/2/0

Page 99: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

OSPF Loop Free Alternate

• Aims for <50ms reconvergence

• Triggers as soon as the failure is detected

– NO fast hellos

– Use BFD!

• Not enabled by default

– Added to 7600/ASR1000 in 15.1(3)S

– Added to NX-OS in 5.0(2)

8

5427

LFA No LFA

106

milliseconds

Page 100: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

OSPF Loop Free Alternate

107

• Fast failure detection is key!

• Single Box

• Not a replacement for SPF Tuning

A

B

C

D

WAN

Page 101: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Agenda

• Router Components

• Moving Packets

• CEF, CPU and Memory

• Outbound Load Sharing

Routing Convergence Improvements

– Fast Convergence Overview

– OSPF LFA

EIGRP Feasible Successor

– BGP PIC-Edge

108

Page 102: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

EIGRP Overview

• Distance Vector Protocol

– Doesn’t see the entire network like OSPF

• Based on QUERY and ACK messages for convergence

– QUERY sent to determine best path for failed route

– ACK sent when alternative path found or no other paths

• DUAL algorithm determines best path

– Runs as soon as all outstanding QUERIES are received

• Query domain size can effect convergence time

109

Page 103: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

EIGRP Feasible Successors

• EIGRP selects Successor and Feasible Successor

• Successor is the best route

• Feasible Successor is 2nd best route

• Must be mathematically loop-free (meets feasibility condition)

• Feasible Successor acts as a “backup route”

• Kept in topology table (not routing table)

• Up to 6 Feasible Successors

• Built into the protocol, nothing to enable

110

Page 104: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

EIGRP Feasible Successors

111

B EIGRP 10 172.16.2.0/24

Delay 10

Delay 15

Metric based on bandwidth and delay

Page 105: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

EIGRP Feasible Successors

112

RouterB# show ip route 172.16.2.0

Routing entry for 172.16.2.0/24

Known via "eigrp 10", distance 90, metric 285440, type internal

Routing Descriptor Blocks:

* 192.168.200.1, from 192.168.200.1, 00:34:19 ago, via Eth0/1

Route metric is 285440, traffic share count is 1

B 172.16.2.0/24

Page 106: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

EIGRP Feasible Successors

113

RouterB#show ip eigrp topology

P 172.16.2.0/24, 1 successors, FD is 285440

via 192.168.200.1 (285440/281600), Ethernet0/1

via 172.16.1.1 (307200/281600), Ethernet0/0

B 172.16.2.0/24

Feasible Successor reported distance (281600)

is less than Successor feasible distance (285440)

Feasibility Condition met

Instant convergence after Successor loss

Page 107: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

EIGRP LFA

• Just like OSPF LFA

• Feasible Successors acts as Loop Free Alternate

• Installs Feasible Successors in hardware for instant failover

• EIGRP Fast Reroute available in 15.2.4S

• Not enabled by default

114

Page 108: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

EIGRP LFA

RouterB#show ip route 172.16.2.0

Known via "eigrp 10", distance 90, metric 1100800, type

internal

* 172.16.1.2, from 172.16.1.2, 00:00:17 ago, via Ethernet0/1

Route metric is 281600, traffic share count is 1

Repair Path: 192.168.1.1, via Ethernet0/0

RouterB#show ip cef 172.16.2.0

172.16.2.0/24

nexthop 172.16.1.2 Ethernet0/1

repair: attached-nexthop 192.168.1.1 Ethernet0/0

115

Page 109: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Agenda

• Router Components

• Moving Packets

• CEF, CPU and Memory

• Outbound Load Sharing

Routing Convergence Improvements

– Fast Convergence Overview

– OSPF LFA

– EIGRP Feasible Successor

BGP PIC-Edge

116

Page 110: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

BGP Prefix Independent Convergence

117

• Today’s RIB is flat

• 400k routes -> 400k updates

• BGP often has same next hop

• We can do better!

A B

400k prefixes

400k prefixes

10.1.1.0/24

10.1.2.0/24

10.1.3.0/24

192.168.1.1

192.168.1.1

192.168.1.1

Page 111: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

BGP Prefix Independent Convergence

118

• Instead of flat FIB, Hierarchical

10.1.1.0/24

10.1.2.0/24

10.1.3.0/24

192.168.1.1

192.168.1.1

192.168.1.1

Page 112: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

BGP Prefix Independent Convergence

119

• Instead of flat FIB, Hierarchical

• Single change updates multiple entries

• Convergence time independent from prefix count

10.1.2.0/24

10.1.3.0/24

192.168.1.1

192.168.1.1

192.168.1.1

Next Hop 1

10.1.1.0/24

Page 113: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

BGP PIC Core

120

D

B

A

C

CE2

CE1

Primary: A-B-C

Backup: A-D-C

10.1.1.0/24

10.1.2.0/24

10.1.3.0/24

…. B

IGP Next Hop

C

BGP Next Hop

10.1.1.0/24

Prefixes

10.1.2.0/24

10.1.3.0/24

Page 114: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

BGP PIC Core

121

D

B

A

C

CE2

CE1

Primary: A-B-C

Backup: A-D-C

10.1.1.0/24

10.1.2.0/24

10.1.3.0/24

…. B

IGP Next Hop

C

BGP Next Hop

10.1.1.0/24

Prefixes

10.1.2.0/24

10.1.3.0/24

Page 115: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

BGP PIC Core

122

D

B

A

C

CE2

CE1

Primary: A-B-C

Backup: A-D-C

10.1.1.0/24

10.1.2.0/24

10.1.3.0/24

…. B

IGP Next Hop

C

BGP Next Hop

10.1.1.0/24

Prefixes

10.1.2.0/24

10.1.3.0/24

Page 116: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

BGP PIC Core

123

D

B

A

C

CE2

CE1

Primary: A-B-C

Backup: A-D-C

10.1.1.0/24

10.1.2.0/24

10.1.3.0/24

…. 10.1.1.0/24

Prefixes B

IGP Next Hop

C

BGP Next Hop

D

IGP Next Hop 10.1.2.0/24

10.1.3.0/24

Page 117: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

BGP PIC Core

124

• BGP convergences starts after IGP convergence

Core

1

10

100

1000

10000

100000

1

2500

0

5000

0

7500

0

1000

00

1250

00

1500

00

1750

00

2000

00

2250

00

2500

00

2750

00

3000

00

3250

00

3500

00

Prefix

Lo

C (

ms) PIC

no PIC

Page 118: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

BGP PIC Core

• PIC Core part of migration to hierarchical FIB

• Still requires IGP convergence

– OSPF LFA

– EIGRP FS and LFA

• PIC Edge

– Mainly for MPLS/VPN environments

– Fast convergence for edge node failures

– Beyond the scope of today’s talk

125

7600(config)# cef table output-chain build favor convergence-speed

Page 119: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

BFD Detects

a Failure

Fast Convergence Timeline

126

LFA Reacts

EIGRP Feasible

Successor Takes

Over OSPF Reacts

BGP Converges

0s

Page 120: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

BFD Detects

a Failure

Fast Convergence Timeline

127

LFA Reacts

EIGRP Feasible

Successor Takes

Over OSPF Reacts

BGP Converges

150ms

10-

20ms

100-

300ms 5

seconds

1-5

minutes

0s

Page 121: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Review

• Router Components

– Control vs. Data plane

– Software vs. Hardware vs. Hybrid based routers

• CPU and Memory

– Interrupt (CEF) vs. Process (Routing Protocol)

– Memory concerns for multiple routes

• Load Sharing

– CEF and PfR

• Routing Enhancements

– OSPF LFA/EIGRP Feasible Successors/BGP PIC

128

Page 122: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Further Reading

129

Page 123: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Suggested Sessions

• BRKRST-3363 - Routed Fast Convergence

• BRKRST-2042 - Highly Available Wide Area Network Design

• BRKRST-2337 - OSPF Deployment in Modern Networks

• BRKRST-2336 - EIGRP Deployment in Modern Networks

• BRKARC-2019 - Operating an ASR1000

• BRKSPG-2000 - Getting the most out of your IOS-XE router before and after deployment

• BRKSPG-2904 - ASR-9000/IOS-XR Understanding forwarding, troubleshooting the system and XR operations

• BRKARC-3465 - Cisco Catalyst 6800 Switch Architectures

• BRKARC-3470 - Advanced - Cisco Nexus 7000/7700 Switch Architecture

130

Page 124: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Participate in the “My Favorite Speaker” Contest

• Promote your favorite speaker through Twitter and you could win $200 of Cisco Press products (@CiscoPress)

• Send a tweet and include

– Your favorite speaker’s Twitter handle <@tacCCDE>

– Two hashtags: #CLUS #MyFavoriteSpeaker

• You can submit an entry for more than one of your “favorite” speakers

• Don’t forget to follow @CiscoLive and @CiscoPress

• View the official rules at http://bit.ly/CLUSwin

Promote Your Favorite Speaker and You Could be a Winner

131

Page 125: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Complete Your Online Session Evaluation

• Give us your feedback and you could win fabulous prizes. Winners announced daily.

• Complete your session evaluation through the Cisco Live mobile app or visit one of the interactive kiosks located throughout the convention center.

Don’t forget: Cisco Live sessions will be available for viewing on-demand after the event at CiscoLive.com/Online

132

Page 126: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing

© 2014 Cisco and/or its affiliates. All rights reserved. BRKARC-2350 Cisco Public

Continue Your Education

• Demos in the Cisco Campus

• Walk-in Self-Paced Labs

• Table Topics

• Meet the Engineer 1:1 meetings

133

Page 127: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing
Page 128: IOS Routing Internals - d2zmdbbm9feqrf.cloudfront.netd2zmdbbm9feqrf.cloudfront.net/2014/usa/pdf/BRKARC-2350.pdf · IOS Routing Internals ... • Outbound Load Sharing • Routing