BGP Traffic Engineering for Regional ISPs: Practical Control Without the Pain

BGP Traffic Engineering for Regional ISPs: Practical Control Without the Pain

Traffic rarely flows where you expect. BGP picks the “best” path, but that does not always mean the fastest or cheapest one. If you run a regional ISP, you need a way to steer traffic the way you want it.

This is where BGP traffic engineering, or TE for short, comes in. It gives you control over inbound and outbound paths without breaking your routing table. At exchanges like FD-IX and within operator groups like NBBC, clean TE practices can make a noticeable difference in performance.


What Traffic Engineering Really Means

Traffic engineering is simply:

  • Influencing how traffic enters your network (inbound)
  • Controlling how traffic leaves your network (outbound)

BGP gives you tools. You just need to use the right ones for the job. There is a key thing to note here. You can influence how the Capital I Internet sees you but do not have 100% control over it.


Outbound Traffic Control (Easy Mode)

Outbound control is straightforward because you choose the path.

Key Tools

  • Local Preference (most powerful)
  • AS Path length
  • MED (less reliable across networks). I have done a post on MED before.

Example: Prefer IX Over Transit

Route Source        Local Preference
IX (FD-IX) 200
Private Peer 300
Transit Provider 100 (Default)

Result:

  • Traffic prefers private peers first, then IX routes
  • Falls back to transit only when needed

Cisco Config Example

route-map OUTBOUND-POLICY permit 10
set local-preference 200

Apply this to routes learned from your IX peers.


Inbound Traffic Control (Hard Mode)

Inbound traffic is trickier. You do not control the remote network. You can only influence it.

Common Techniques

  • AS Path prepending
  • Communities (modern method)
  • More specific prefixes (use carefully)

AS Path Prepending Example

You want traffic to prefer your primary link.

Primary Path:
AS64500Backup Path:
AS64500 AS64500 AS64500

Longer path = less attractive.

Diagram

        Internet
/ \
Primary Backup
(short) (prepended)Traffic prefers Primary

This works, but it is blunt. Some networks ignore prepends.


Using BGP Communities (Better Control)

Communities let you signal upstream providers.

Example:

Provider Community: 12345:80
Meaning: Lower local preference

You tag routes to influence how your upstream handles them.

Use Case

  • Tell transit provider to de-prefer a route in certain regions
  • Control traffic flow without changing AS path

Communities are cleaner and more predictable than prepending. Some providers even strip off prepends these days.


More Specific Prefixes (Handle With Care)

Announcing a more specific route prefers that traffic.

Example:

203.0.113.0/23  → Normal
203.0.113.0/24 → More specific

Traffic prefers the /24 over the /23.

Use Case

  • Shift part of traffic to another link
  • Balance load across circuits

Risk

  • Route table growth
  • Filtering by upstreams

This is kind of the heavy handed approach, but is simple to understand.


Real-World Scenario

You have:

  • 1 IX connection at FD-IX
  • 2 transit providers

Goal:

  • Keep local traffic on IX
  • Use Transit A as primary
  • Use Transit B as backup

Policy Design

Outbound:

IX routes → Local Pref 200
Transit A → Local Pref 150
Transit B → Local Pref 110

Inbound:

  • No prepend on Transit A
  • Prepend 2x on Transit B

Result

  • Outbound prefers IX first
  • Transit A carries most fallback traffic
  • Transit B unless needed

Monitoring Traffic Flow

You cannot engineer what you cannot see.

Track:

  • Interface utilization
  • NetFlow or sFlow data
  • Prefix-level traffic patterns

Example Command

show ip bgp neighbors x.x.x.x received-routes

Check what routes you receive and how they are tagged.


Common Mistakes

Overusing AS Path Prepending

Too much prepending can:

  • Break routing symmetry
  • Cause unpredictable paths

Use it with care.


Ignoring IX Opportunities

Many ISPs send traffic over transit when a better IX path exists. Set local preference correctly so IX wins.


No Documentation

TE policies get messy fast.

Document:

  • Why a policy exists
  • What it affects
  • When it was added

Future you will be grateful.


Simple TE Strategy That Works

Start with this baseline:

  • Prefer IX routes
  • Prefer customer routes over peers
  • Prefer peers over transit
  • Use communities before prepending
  • Monitor before making changes

BGP traffic engineering does not need to be complex. A few clean policies can give you strong control over traffic flow and costs. For regional ISPs, the biggest wins come from using IX paths wisely and keeping transit as a fallback. With the right setup, your network behaves the way you expect, not the way BGP thinks it should.

j2networks family of sites
https://j2sw.com
https://startawisp.info
https://indycolo.net
#packetsdownrange #routethelight