Performance Routing (PfR)

PfR (Cisco Performance Routing) earlier called OER (Optimized Edge Routing)

PfR has been developed with the goal of adding intelligence to the traditional routing decision made by the different routing protocols. Traditional routing uses static metrics to find where to route traffic. This behavior has many drawbacks in nowadays networks. Let´s take an example where a router has two uplinks each connected to one ISP. One link being the primary and the other the backup link. In order to utilize the backup link (to avoid paying for an expensive backup link underutilized) one could use static routing or a routing protocol to load share the traffic among both links. However this solution result in poor load sharing as the traffic is not balanced based on the load of the links (current utilization of the link).

It would maybe be possible to achieve load balancing by using a combination of EEM with IP SLA and PBR but this solution is not flexible and results in a lot of administrative tasks.

Another drawback is application performance, where for example voice traffic should be routed over the least measure delay link and Internet traffic should be routed on another link. Again a combination of PBR, EEM and IP SLA could be used to solve this scenario but again that result in complex administrative manual tasks.

Cisco PfR enhances traditional routing (BGP, EIGRP, OSPF, PBR) in order to select the best path based on different real-time advanced parameters such as link utilization, delay, packet loss, traffic load, jitter, MOS, availability, response time.
Image.png
SOURCE:
PC1
hostname PC1
ip cef
interface Loopback0
 ip address 1.0.0.11 255.255.255.255
interface Ethernet0/0
 ip address 10.0.0.2 255.255.255.0

ip route 0.0.0.0 0.0.0.0 10.0.0.1

R1
hostname R1
ip cef
key chain key1
 key 1
  key-string password
pfr master
 max-range-utilization percent 10
 logging
 border 1.0.0.1 key-chain key1
  interface Ethernet0/2 internal
  interface Serial1/0 external
  interface Serial1/2 external
 backoff 90 90
pfr border
 local Loopback0
 master 1.0.0.1 key-chain key1
interface Loopback0
 description OER Master Controller
 ip address 1.0.0.1 255.255.255.255
interface Ethernet0/2
 ip address 10.0.0.1 255.255.255.0
interface Serial1/0
 bandwidth 128
 ip address 12.0.0.2 255.255.255.0
 serial restart-delay 0
interface Serial1/1
 bandwidth 64
 ip address 13.0.0.2 255.255.255.0
 serial restart-delay 0
router eigrp 1
 network 1.0.0.1 0.0.0.0
 network 10.0.0.0 0.0.0.255
 network 12.0.0.0 0.0.0.255
 network 13.0.0.0 0.0.0.255
 redistribute static
ip nat pool ISP1 12.0.0.2 12.0.0.2 netmask 255.255.255.0
ip nat pool ISP2 13.0.0.2 13.0.0.2 netmask 255.255.255.0
ip nat inside source route-map ISP1 pool ISP1 overload oer
ip nat inside source route-map ISP2 pool ISP2 overload oer
ip route 0.0.0.0 0.0.0.0 Serial1/0
ip route 0.0.0.0 0.0.0.0 Serial1/1
route-map ISP2 permit 20
 match ip address 2
 match interface Serial1/1
route-map ISP1 permit 20
 match ip address 2
 match interface Serial1/0

access-list 2 permit 10.0.0.0 0.0.0.255

R2
hostname R2
ip cef
interface Loopback0
 ip address 1.0.0.2 255.255.255.255
interface Ethernet0/1
 ip address 24.0.0.2 255.255.255.0
interface Serial1/0
 bandwidth 128
 ip address 12.0.0.1 255.255.255.0
 serial restart-delay 0
router eigrp 1
 network 1.0.0.2 0.0.0.0
 network 12.0.0.0 0.0.0.255

 network 24.0.0.0 0.0.0.255

R3
hostname R3
ip cef
interface Loopback0
 ip address 1.0.0.3 255.255.255.255
interface Ethernet0/2
 ip address 34.0.0.2 255.255.255.0
interface Serial1/1
 bandwidth 64
 ip address 13.0.0.1 255.255.255.0
 serial restart-delay 0
router eigrp 1
 network 1.0.0.3 0.0.0.0
 network 13.0.0.0 0.0.0.255

 network 34.0.0.0 0.0.0.255

R4
hostname R4
ip cef
interface Loopback0
 ip address 1.0.0.4 255.255.255.255
interface Ethernet0/0
 ip address 45.0.0.1 255.255.255.0
interface Ethernet0/1
 ip address 24.0.0.1 255.255.255.0
interface Ethernet0/2
 ip address 34.0.0.1 255.255.255.0
router eigrp 1
 network 1.0.0.4 0.0.0.0
 network 24.0.0.0 0.0.0.255
 network 34.0.0.0 0.0.0.255
 network 45.0.0.0 0.0.0.255

 redistribute static

SVR1
hostname SVR1
ip cef
interface Loopback0
 ip address 1.0.0.12 255.255.255.255
interface Ethernet0/0
 ip address 45.0.0.2 255.255.255.0

ip route 0.0.0.0 0.0.0.0 45.0.0.1

VERIFICATION
PC1#ping 45.0.0.2 rep 1000 size 10000 source e0/0
PC2#ping 45.0.0.2 rep 1000 size 10000 source e0/0
R1#sh int s1/0 | i output rate
  30 second output rate 192000 bits/sec, 24 packets/sec
R1#sh int s1/1 | i output rate

  30 second output rate 0 bits/sec, 0 packets/sec

R1 console log
When we see something like these. It means traffic changed to not overloaded one
*Oct  7 13:45:57.445: %PFR_MC-6-ROUTE_EVENT_INFO: Prefix 45.0.0.0/24: route changed to BR 1.0.0.1, i/f Se1/1, due to load-balance criteria. Out of policy reason: load-balance criteria
*Oct  7 13:50:22.395: %PFR_MC-6-ROUTE_EVENT_INFO: Prefix 45.0.0.0/24: route changed to BR 1.0.0.1, i/f Se1/0, due to load-balance criteria. Out of policy reason: load-balance criteria
We can proof that using

#trace 45.0.0.2

R1#sh pfr master
OER state: ENABLED and ACTIVE
  Conn Status: SUCCESS, PORT: 3949
  Version: 3.3
  Number of Border routers: 1
  Number of Exits: 2
  Number of monitored prefixes: 1 (max 5000)
  Max prefixes: total 5000 learn 2500
  Prefix count: total 1, learn 1, cfg 0
  PBR Requirements met
  Nbar Status: Inactive
Border           Status                UP/DOWN             AuthFail  Version  DOWN Reason
1.0.0.1          ACTIVE                UP       00:51:37          0  3.3
Global Settings:
  max-range-utilization percent 1 recv 0
  rsvp post-dial-delay 0 signaling-retries 1
  mode route metric bgp local-pref 5000
  mode route metric static tag 5000
  trace probe delay 1000
  logging
  exit holddown time 60 secs, time remaining 0
Default Policy Settings:
  backoff 90 90 90
  delay relative 50
  holddown 90
  periodic 0
  probe frequency 56
  number of jitter probe packets 100
  mode route control
  mode monitor both
  loss relative 10
  jitter threshold 20
  mos threshold 3.60 percent 30
  unreachable relative 50
  trigger-log percentage 30
Learn Settings:
  current state : STARTED
  time remaining in current state : 112 seconds
  throughput
  no delay
  no inside bgp
  monitor-period 1
  periodic-interval 0
  aggregation-type prefix-length 24
  prefixes 100 appls 100

  expire after time 720

R1#sh pfr master border
Border           Status                UP/DOWN             AuthFail  Version  DOWN Reason

1.0.0.1          ACTIVE                UP       00:52:56          0  3.3

R1#sh pfr master border detail
Border           Status                UP/DOWN             AuthFail  Version  DOWN Reason
1.0.0.1          ACTIVE                UP       00:53:12          0  3.3
 Se1/1           EXTERNAL              UP
 Se1/0           EXTERNAL              UP
 Et0/2           INTERNAL              UP
 External            Capacity      Max BW   BW Used    Load Status          Exit Id
 Interface            (kbps)       (kbps)    (kbps)    (%)
 ———           ——–      ——   ——- ——- ——           ——
 Se1/1           Tx        64          57         0       0 UP                    4
                 Rx                    64         0       0
 Se1/0           Tx       128         115         0       0 UP                    3

                 Rx                   128         0       0

R1#sh pfr master traffic-class
OER Prefix Statistics:
 Pas – Passive, Act – Active, S – Short term, L – Long term, Dly – Delay (ms),
 P – Percentage below threshold, Jit – Jitter (ms),
 MOS – Mean Opinion Score
 Los – Packet Loss (percent/10000), Un – Unreachable (flows-per-million),
 E – Egress, I – Ingress, Bw – Bandwidth (kbps), N – Not applicable
 U – unknown, * – uncontrolled, + – control more specific, @ – active probe all
 # – Prefix monitor mode is Special, & – Blackholed Prefix
 % – Force Next-Hop, ^ – Prefix is denied
DstPrefix           Appl_ID Dscp Prot     SrcPort     DstPort SrcPrefix
           Flags             State     Time            CurrBR  CurrI/F Protocol
         PasSDly  PasLDly   PasSUn   PasLUn  PasSLos  PasLLos      EBw      IBw
         ActSDly  ActLDly   ActSUn   ActLUn  ActSJit  ActPMOS  ActSLos  ActLLos
——————————————————————————–
45.0.0.0/24               N    N    N           N           N N
                          INPOLICY        0           1.0.0.1 Se1/0           EIGRP
               U        U        0        0        0        0        0        0

               U        U        0        0        N        N        N        N

R1#sh ip route static
Codes: L – local, C – connected, S – static, R – RIP, M – mobile, B – BGP
       D – EIGRP, EX – EIGRP external, O – OSPF, IA – OSPF inter area
       N1 – OSPF NSSA external type 1, N2 – OSPF NSSA external type 2
       E1 – OSPF external type 1, E2 – OSPF external type 2
       i – IS-IS, su – IS-IS summary, L1 – IS-IS level-1, L2 – IS-IS level-2
       ia – IS-IS inter area, * – candidate default, U – per-user static route
       o – ODR, P – periodic downloaded static route, H – NHRP, l – LISP
       a – application route
       + – replicated route, % – next hop override
Gateway of last resort is 0.0.0.0 to network 0.0.0.0
S*    0.0.0.0/0 is directly connected, Serial1/1

                is directly connected, Serial1/0

R1#sh pfr master active-probes
        OER Master Controller active-probes
Border   = Border Router running this Probe
State    = Un/Assigned to a Prefix
Prefix   = Probe is assigned to this Prefix
Type     = Probe Type
Target   = Target Address
TPort    = Target Port
How      = Was the probe Learned or Configured
N – Not applicable
The following Probes exist:
State      Prefix             Type     Target          TPort   How     Codec
Assigned   45.0.0.0/24        echo     45.0.0.2            N  Lrnd         N
The following Probes are running:
Border          State    Prefix             Type     Target          TPort
Advertisements

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s