Saturday, June 3, 2023
HomeCloud ComputingInfluencing Forwarding Habits with Coverage Based mostly Routing

Influencing Forwarding Habits with Coverage Based mostly Routing

It had been a sizzling minute since I final put collectively a weblog, and I used to be interested by what is perhaps an attention-grabbing matter. Effectively, as is typical, I thought of what I’d not too long ago run throughout, or labored on, in my “day job” as a part of the engineering crew that builds and helps the lab environments for all of the Studying at Cisco coaching supplies.

On this explicit day, I used to be reviewing the present configurations of the core community routers (layer 3 switches actually) in our knowledge facilities. I’m pretty new to this a part of the crew, and I used to be to find that we have been leveraging Coverage Based mostly Routing to govern the forwarding conduct for various kinds of visitors. I’m certain lots of you studying this weblog are acquainted with the truth that there are at all times a number of methods to perform a job in networking (life actually, however positively in networking). As such, policy-based routing is a software within the community engineer’s toolkit that may usually be leveraged to deal with “odd enterprise necessities.”

And with that, I had a subject to make use of for this weblog and an accompanying video to kick off a brief video sequence referred to as “Technically Talking… with Hank Preston” on the Cisco U. by Studying and Certifications YouTube channel. Particularly, we’re going to have a look at how to configure policy-based routing to affect forwarding conduct. The why I’ll depart for an additional publish. 🙂

Additionally, for anybody learning for the CCNP Enterprise certification, policy-based routing is on the ENARSI – Implementing Cisco Enterprise Superior Routing and Providers blueprint – “1.6 Configure and confirm policy-based routing.” 300-410 ENARSI is a focus examination that earns you the Cisco Licensed Specialist – Enterprise Superior Infrastructure Implementation certification.  So, it’s positively an incredible matter for the Cisco Studying weblog. Let’s dive proper in!

Setting the Stage

Earlier than we have a look at altering the standard routing and forwarding conduct, let’s begin with the fundamental forwarding conduct. For this exploration, I put the under community collectively in a Cisco Modeling Labs simulation. (You’ll find the topology file right here.)

Network Toplogy
The community topology used on this exploration of coverage based mostly routing and forwarding conduct.

This community has two small LANs separated by a primary, single space OSPF community within the center. The prices within the OSPF community have been configured to make the perfect path from R1 to R5 by way of R3. We will see that in a pair methods.

First, let’s have a look at the interface prices on R1.

R1#present ip ospf interface transient 

Interface    PID   Space            IP Tackle/Masks    Value  State Nbrs F/C
Gi0/1.200    1     0        1     DR    0/0
Gi0/1.100    1     0        1     DR    0/0
Gi0/4        1     0           110   DR    1/1
Gi0/3        1     0           1     DR    1/1
Gi0/2        1     0           100   DR    1/1

Discover the prices for interface G0/2 and G0/4 (in the direction of R2 and R4) have a price of 100 and 110 respectively, whereas the price of G0/3 (in the direction of R3) is only one.

And now, we’ll confirm the routing desk entry for host H3 on R1.

R1#present ip route   

Routing entry for
  Recognized by way of "ospf 1", distance 110, metric 3, kind intra space
  Final replace from on GigabitEthernet0/3, 00:23:02 in the past
  Routing Descriptor Blocks:
  *, from, 00:23:02 in the past, by way of GigabitEthernet0/3
      Route metric is 3, visitors share rely is 1

The routing desk lists the route as in the direction of R3 out interface G0/3 — precisely as we’d count on.

The ultimate examine can be a hint route from host H1.

H1:~$ traceroute -n

traceroute to (, 30 hops max, 46 byte packets
 1   5.534 ms  5.004 ms  3.038 ms
 2      5.528 ms  5.531 ms  4.137 ms       <- R3's G0/1 interface
 3      5.533 ms  5.656 ms  6.339 ms
 4   14.180 ms  9.787 ms  7.908 ms

And no huge shocker right here, the second hop within the hint is certainly R3.

Let’s shake issues up a bit bit.

Suppose there was some purpose that you just needed to direct visitors obtained at router R1 from host H1 destined for H3 to go by way of R2 . Perhaps there was some visitors evaluation that occurred on that router. Or maybe that hyperlink is extra dependable, even when slower. There are any variety of causes this may come up in a community design. The important thing half is that you just don’t wish to change ALL forwarding conduct, simply a few of it. You could have a “coverage,” so to talk, that identifies some visitors you wish to modify. That is the place coverage based mostly routing, sometimes called PBR, is available in.

Coverage based mostly routing can appear sophisticated. To be truthful, if overused, it may make networks very sophisticated and exhausting to keep up. Nonetheless, the technical fundamentals of PBR are fairly easy.

First, you want a strategy to establish the visitors that you just wish to apply the coverage to. Like many “matching” use circumstances in networking, that is usually performed with an access-list. So, right here’s the entry checklist that I’ll use to match the visitors I’m enthusiastic about.

ip access-list prolonged H1-to-H3
  10 allow ip host host

This single line prolonged ACL is all that’s wanted. I’m matching all IP visitors from H1 to H3, however I may very well be extra particular, to a selected port as nicely. Perhaps simply net visitors (tcp/80 & tcp/443) for instance.

Subsequent, a route-map is used to describe the coverage that we wish to configure. The “coverage” is made up of “match” situations to establish the visitors and “set” situations to make the “coverage based mostly modifications” to the visitors that was matched.

Right here is the route-map for my coverage instance.

route-map POLICY-BASED-ROUTING allow 10
  description Visitors from H1 -> H3 route by way of R2
  match ip tackle H1-to-H3
  set ip next-hop

I’ve used the access-list I created in my “match ip tackle” command. And, I’ve indicated that when visitors “matches” this coverage, I wish to “set” the next-hop to be

And spot the primary line within the configuration instance. It ends with the quantity “10.” This quantity identifies the place within the route map that this explicit coverage entry holds.  A route-map could be made up of many coverage units – every with a “match” and “set” assertion.  On this means, community engineers can have very granular management over how visitors is forwarded within the community.  Fairly helpful proper!

Earlier than I am going a lot farther it’s positively necessary to notice that route-maps are used for extra than simply coverage based mostly routing.  The route-map assemble can also be used as a part of high quality of service (QoS) configurations, routing protocol filtering, and BGP path manipulations.  So in case you discover the configuration choices accessible for match and set you’ll find a number of different choices.  Most of those are used to be used circumstances aside from coverage based mostly routing.

The final step to finish the configuration of my coverage is to use it to the router interface. Since this coverage is about controlling visitors from the LAN linked to interface Gig0/1 on R1, that’s the place I’ll apply it.

interface Gig0/1.100
  ip coverage route-map POLICY-BASED-ROUTING

That’s it, we’ve configured coverage based mostly routing. Let’s check to see if it’s working.

We’ll begin by rerunning the identical hint route command as earlier than and evaluating the outcomes.

1:~$ traceroute -n

traceroute to (, 30 hops max, 46 byte packets
 1  7.306 ms  3.017 ms  3.337 ms
 2     3.844 ms  4.335 ms  3.688 ms      <- R2's G0/1 interface
 3     7.906 ms  5.125 ms  5.962 ms
 4   8.951 ms  8.912 ms  7.348 ms

Take a look at that, visitors is certainly going by way of R2 now. However let’s confirm that it’s only for visitors to H3 by hint routing the visitors to H4.

H1:~$ traceroute -n

traceroute to (, 30 hops max, 46 byte packets
 1  3.681 ms  3.153 ms  2.563 ms
 2     3.613 ms  3.185 ms  3.747 ms     <- R3's G0/1 interface
 3     5.957 ms  7.555 ms  5.040 ms
 4  14.915 ms  7.157 ms  7.853 ms

Yep, visitors from H1 to H4 is certainly nonetheless following the “customary path” by way of R3. However what about visitors from H2 -> H3?  Will it’s redirected by way of R2?

H2:~$ traceroute -n

traceroute to (, 30 hops max, 46 byte packets
 1  7.284 ms  2.840 ms  3.173 ms
 2     3.526 ms  4.514 ms  3.498 ms    <- R3's G0/1 interface
 3     6.375 ms  7.212 ms  4.900 ms
 4   6.642 ms  6.270 ms  5.884 ms

Nope, solely visitors from H1 -> H3 is being redirected.

If we have a look at the routing desk on R1, we’ll see nothing has modified.

R1#present ip route   

Routing entry for
  Recognized by way of "ospf 1", distance 110, metric 3, kind intra space
  Final replace from on GigabitEthernet0/3, 00:23:02 in the past
  Routing Descriptor Blocks:
  *, from, 00:23:02 in the past, by way of GigabitEthernet0/3
      Route metric is 3, visitors share rely is 1

There are just a few helpful instructions on the router to examine the standing of coverage based mostly routing.

First up, a primary “present” command value noting.

R1#present route-map 

route-map POLICY-BASED-ROUTING, allow, sequence 10
  Match clauses:
    ip tackle (access-lists): H1-to-H3 
  Set clauses:
    ip next-hop
  Coverage routing matches: 12 packets, 756 bytes

This command supplies “coverage match” statistics. We will see that once I ran this command there have been 12 matches up to now.

One other command that’s helpful is the “debug ip coverage” command. It supplies helpful particulars in regards to the processing of the coverage as visitors flows by way of the router. However as with all “debug” command, watch out utilizing it on a manufacturing gadget as it may put a heavy load on community units if there may be loads of visitors flowing by way of.

I’ll activate the debugging after which ship a single ICMP (ping) packet from H1 -> H3.

R1#debug ip coverage
Coverage routing debugging is on

*Apr 26 00:29:58.282: IP: s= (GigabitEthernet0/1.100), d=, len 84, FIB coverage match
*Apr 26 00:29:58.282: IP: s= (GigabitEthernet0/1.100), d=, len 84, PBR Counted
*Apr 26 00:29:58.282: IP: s= (GigabitEthernet0/1.100), d=, g=, len 84, FIB coverage routed

Evaluate the above output to the debug output once I ping H1 -> H4.

*Apr 26 00:31:00.294: IP: s= (GigabitEthernet0/1.100), d=, len 84, FIB coverage rejected(no match) - regular forwarding

Within the first instance, “FIB coverage match” signifies that the PRB coverage was triggered. And a following debug line reveals that the visitors was “FIB coverage routed.” That’s the PBR in motion. Evaluate that to the output from the second ping that’s “FIB coverage rejected (no match) – regular forwarding.” That output is fairly descriptive.

And with that, we’ve come to the top of this publish. I hope this brief have a look at coverage based mostly routing helped break it down and introduce you to a brand new know-how software that you would be able to put into your toolkit. Perhaps it’ll aid you remedy a enterprise problem sometime. Or possibly it’ll aid you in your preparation for the ENARSI examination or different research. Both means, thanks for hanging out with me in the present day.

 Acquired a subject you’d like me to breakdown? Let me know within the feedback.



Be part of the Cisco Studying Community in the present day at no cost.

Observe Cisco Studying & Certifications

Twitter | Fb | LinkedIn | Instagram | YouTube

Use #CiscoCert to hitch the dialog.




Please enter your comment!
Please enter your name here

Most Popular

Recent Comments