You are on page 1of 7

Policy Based BGP Routing Protocol

D.R. Subasinghe, Student ID 0899558

Abstract--This report explains what the Border 1. Distance Vector Protocols ( RIP, IGRP)
Gateway Protocol is and what are the characteristics and 2. Link State Protocols (OSPF, IS-IS)
functionality of it. The report describes the difference of
internal and external BGP and also looks into BGP
attributes, MED and Local Preference in detail and use Fig. 2: Example of IGP running in an AS.
of route maps in BGP. Autonomous System

I. INTRODUCTION
OSPF
Routing protocols can be basically identified in two

F
OSP
categories. The first one, Interior gateway protocols are used
in networks inside an enterprise. OSPF, EIGRP, RIPv1 and

OS
OSP

PF
RIPv2 are examples for EGPs. The other category, which is
Exterior Gateway Protocols are used between the
autonomous systems, usually between customer AS and
internet service provider (ISP). Border Gateway Protocol OSPF

(BGP) and External Gateway Protocol (EGP).


BGP is an exterior gateway protocol, which was first
developed in 1989 as BGP1. The most recent version of
BGP is BGP4 was implemented in 1994 and is used as the B. Exterior Gateway Protocols (EGPs)
core routing protocol in internet. BGP4 was first ratified in These protocols are used to route data between
[4][10]
RFC 1771 and current RFC for BGP4 is RFC 4271. autonomous systems. EGPs handle routing from the local
BGP is identified as a policy based routing protocol. The network through the ISP to another network or autonomous
reason for that is BGP can route data in a customized system. EGPs are commonly used in an enterprise which has
manner. BGP can be fine-tuned with number of attribute and more than one connecting to one or more ISPs.
with these customizable attribute, network administrators Border gateway protocol and external gateway protocol
can affect the IP routing protocol decisions of find the best [1] [3]
are examples for EGPs.
path between the source and destination and routing or
forwarding data.
Fig 2: Running BGP as EGP between autonomous systems.
Even though the BGP is used between autonomous
systems, it is also used inside the enterprise network. The Autonomous System 2
BGP running inside the AS is called internal BGP or IBGP. Autonomous System 1
F

But IBGP is not replacing the IGPs running in the network


OSP

OSPF
F

[4][10]
F
OSP

such as OSPF or EIGRP.


OSP

OSPF
OS
P F
F

OS
OSP

FP

II. EXTERIOR GATEWAY PROTOCOLS VS. INTERNAL OSPF

GATEWAY PROTOCOLS OSPF


P
BG
BG
P

A. Interior Gateway Protocols (IGPs)


Interior gateway protocols are responsible for the
BGP

handling of routing inside an autonomous system. It takes Autonomous System 3

cares of the finding best paths between routers within an


F
OSP

enterprise. IGPs use unique routing policy to forward data OSPF


F

within the AS. IGPs can be divided in to two different


OSP

OS
FP

categories.
OSPF

OSPF
III. POLICY BASED ROUTING
Table 1
Policy based routing is a technique which can be used to
affect the IP routing protocol decisions of routing or
forwarding data packets by applying policies defined by the
network administrator .
In policy based routing, the data packets are forward
Cisco Routers use routing maps to implement policy based
routing. Route maps are complex technique to control access
and routing seditions like Access Control Lists, but are more
powerful than ACLs. Route maps can alter the route of a
packet and also able to modify the packet. They are
sometimes used with complex access control lists to test any The RFC 1771 defines the support for Classless Inter-
[4]
condition in route map. Domain Routing (CIDR). The BGP4 which is used in the
date was ratified in RFC 4271.
A. How Route Maps Works? Unlike other routing protocols like EIGRP or OSPF, BGP
runs top of the transmission control protocol (TCP) using
Route maps work in manner of ‘if - then' statement in
port 179. It uses the TCP for the reliability of the
computer programming language. They use match set
transmission and many other connection setup and
statement to do a similar task of if then statement. When data
maintenance features. The other routing protocols have their
packets pass through the route map, it checks each match
own layer 4 protocols with own reliability mechanisms.
command to find that packet meets the set statement. If it [4][10]
matches, packet processes according to the configuration.
Route maps operate in first match method as in ACLs.
For an example, consider following route map. A. External BGP (EBGP)
BGP is implemented between autonomous systems, in
Route-map EXAMPLE permit 10 most of the times, between customer AS and the ISP AS.
Match ip address 1 The Figure XX shows the most common implementation of
Set local-preference 150 BGP. The neighbor relationships between two BGP routers
in two autonomous systems are called external peers.
In this example, route map checks IP address of the data
packet whether it matches with the ACL 1. If ACL 1 is Fig 3: External BGP Peers
configured to process that IP address, route map set local-
preference of the packet to 150, which change the exit path
of a BGP autonomous system. (Local-preference and BGP
[3]
autonomous systems are explained in this document later)

IV. `BORDER GATEWAY PROTOCOL P


BG

BGP is the core protocol run on internet. As the internet


grow in size and the number of autonomous systems is BGP
increased, the older External gateway Protocol (EGP) has
become problematic. This led to the development of a new
external routing protocol which can be used to address these
issues. The new protocol was first ratified in RFC 1105 and
called Border Gateway Protocol or BGP. The initial BGP B. Internal BGP (IBGP)
was continued with modifications and the current BGP When BGP implemented within an AS, it is called
version 4, also known as BGP4 was ratified in RFC 1771 in internal BGP or IBGP. The two connected BGP routers
1995. The table 1 shows the development of BGP versions which are in same AS are called internal peers.
[10]
with time.
The best way to provide redundant connection to internet
Fig 4: Internal BGP Peers is multi-homing with two or more ISPs because if one ISP
Autonomous System [5]
fails, the organization still have internet via the other ISP.

Internal R2
Peers Running BGP
VI. BGP ATTRIBUTES

Internal
Peers BGP metric is not as simple as the metrics of OSPF, RIP
R1
or EIGRP. In OSPF, it uses cost as the metric to find the best
Running BGP path to the destination. For Rip, the metric is hop-count and
R4 for EIGRP, the metric is composite and consists of five
Running BGP
components. But in BGP, there are number of attributes
R3 which are used by BGP to choose the best path to destination
AS.
In above figure, R1, R2 and R4 running BGP and all BGP attributes are basically fall in to following
routers are within a single autonomous system. Unlike other categories.
routing protocol neighbors such as OSPF or EIGRP, BGP
peers don’t need to be directly connected. R1 and R2 are A. Well-known Attributes and Optional Attributes
directly connected and are internal peers and R1 and R4 are
also internal peers even though they are not directly Well-known attributes are supported by every device
[4][10] vendors which provide BGP functionality. Optional
connected and R3 is not running BGP.
attributes may not be supported by every device vendor.

V. BGP IN MULTIHOME ENVIRONMENT B. Mandatory Attributes and Discretionary Attributes


When an autonomous system has more than one Mandatory attributes must be presented in every BGP
connection to the internet or service provider(s), it is called update. Every BGP route has these attributes.
multihoming. BGP implementation is beneficial when an Discretionary attributes are not necessarily being in every
organization has more than one connection to the internet. update.
The figure xx and xx shows two example of multihoming.
C. Transitive Attributes and Non-Transitive Attributes
Fig 5: Multi-homing with two ISPs
Transitive attributes travel from router to router or
AS to AS. Non-transitive attributes may not travel
from AS to AS.

BGP has 11 attributes which can be used to find the best


path around the network.

0. Consider only (synchronized) routes with


no AS Loop and a valid next hop
1. Prefer the path with the highest Weight
Fig 6: Multi-homing with a single ISP
2. Prefer the path with the highest Local
Preference
3. Prefer the path that was locally originated
via network command
4. Prefer the path with the shortest AS Path
5. Prefer the path with the lowest Origin Code
6. Prefer the path with the lowest Multi-Exit
Discriminator (MED)
7. Prefer EBGP over IBGP paths
8. Prefer the path with the lowest IGP Metric
to the BGP Next Hop
9. When both paths are external, prefer the VII. BGP LOCAL PREFERENCE ATTRIBUTE
path that was received first
10. Prefer the route that comes from the BGP Local Preference is a well-known discretionary attribute
which processed inside the autonomous system and is only
router with the Lowest Router ID
used in IBGP. The local preference attribute is distributed to
11. Prefer the path comes from the lowest the entire router in the particular AS rather than being local
Neighbour Address to the router like weight attributes. The purpose of local
preference attribute is to find the preferable path to exit from
[6]
the autonomous system. Refer the figure 8.
These set of attributes makes BGP special. Because with
these attributes, network administrators can affect the route Fig 8:
selection decisions between source AS and destination
Autonomous systems. In these attributes, nubber0 is the
condition which any route must fulfill before it process any
further. If a route passes that condition, then they will be
[6][7][10][4]
checked for each attribute.
AS 65100
Fig 7:

R1

AS 65100 R3
R2

R1

R3 To reach AS 65104, AS 65100 can choose between two


R2 paths. One is via R1 and the other path is via R2. The
default local preference value for Cisco routers is 100.
According to the list, if network administrator does not
For an example, in figure 7, if there are two routes to the change the weight and local preference attributes, the first
destination AS65104 from source AS6510. Consider both of attribute which breaks the tie is shortest AS path. In this
them pass the condition 0, and then they will be processed example, the shortest path to AS 65104 is via R2 and AS
further to determine the best route. If all attributes are in 65101. But if the network administrator wants to direct
their defaults values, they stay tie up to fourth attribute. traffic to AS 65104 via the other rote (R1  AS 65102  AS
Fourth attribute is the first tie breaker in default BGP 65103  AS 65104) for some reason such as the link
configuration in most autonomous systems. Because in bandwidth or huge traffic congestion in the ling via R2, the
internet, which a large collection of autonomous systems and network administrator can change the local preference vale
paths, it is practically impossible to have same AS path for to break the tie and direct outbound traffic via R1. Network
[6][7]
both routes. In this figure, the route via R1 has higher AS administer configure R1 and R2 as follows.
path since it has to go through AS65102 and AS65103 to
reach AS65104, while the route via R2 only has to go R1(config)#router bgp 65100
through AS65101. Since BGP chooses the route via R2 as R1(config-router)# R2(config-router)#neighbor
the best path to AS65104. <neighbor_interfae_IP> route-map <Route-map_name>
The fourth attribute is the first tie breaker of the BGP in
attribute list in default BGP attribute values. In this way, R1(config)# route-map <route-map_name> permit
routes are checked against the attributes until either one is <instance_id>
chosen as the best route or reach to the last attribute. Last R1(config-route-map)#set local-preference 200
attribute breaks the tie in any situation, because more than
one router interface in internet cannot have same IP address. R2(config)#router bgp 65100
Therefore attribute 11 breaks the tie and chose the best path. R2(config-router)# R2(config-router)#neighbor
The important fact of BGP is network administrators can <neighbor_interfae_IP> route-map <Route-map_name>
modify most of the attributes and make routing decision in
[6][7][ R2(config)# route-map <route-map_name> permit
making process customizable. .
<instance_id>
R2(config-route-map)#set local-preference 150
As the lower MED is preferred over higher MED values,
In this example, the local preference has set to 200 via R1 the DS3 link is configured with MED value of 50 and the T1
and 150 via R2. BGP prefer the path with highest local link is configured with MED value 100. When BGP try to
preference and the traffic outbound will choose the route via find the best path and all other attributes in the list before
R1 router. MED are tie, it choose the path with MED value 50 for
traffic.

VIII. BGP MULTI-EXIT DISCRIMINATOR (MED)


IX. HOW BGP USE ROUTE MAPS FOR POLICY BASED
Multi-Exit Discriminator or MED is an optional non- ROUTING?
transitive attribute in BGP best path selection. It is also
called external exit of a route. This attribute allows a BGP BGP use route maps to achieve policy based routing in
speaker to inform the adjacent AS the best route to enter to multi-autonomous system environment such as internet. It
the local autonomous system. MED is only used between uses match and set commands to change BGP attributes in
directly connected Autonomous system and not passes to order to alter thee routing decision of a data packet. It uses
other Autonomous systems. For explain how MED works, match command to specify the attribute value which checks
consider the figure 9. whether the route matches the route map. If it matches, set
command is used to modify specific attribute or attributes of
[6][8]
Fig 9: route which matches all match statements.
AS 65100
BGP route maps can be applied in following routes.

 Inbound routes
R3  Outbound Routes
R4  Distributed Routes

R1 BGP route map command format


R2

route-map map-tag [[permit | deny] | [sequence-number]]

Where map-tag is the name of the route map and


In the example, the customer AS 65101 is connected to sequence-number is the position of that route-map instance
ISP (AS 65100) via two routes. The link between R1 and R2 in relation to other instances of the same route-map.
is T1 link while the link between R1 and R3 is T4 (DS3) Consider the following example.
link. The network administrator wants to configure the ISP
and client traffic to use the faster DS3 link. The following route-map EXAMPLEMAP permit 10
configurations are done on R2 and R3.
[6][9][7] match <condition>
set <attribute-value>
router-map EXAMPLEMAP permit 20
R2(config)#router bgp 65100
R2(config-router)#neighbor <neighbor_interfae_IP> match <condition>
set <attribute>
route-map <Route-map_name> out
R2(config-router)#exit
R2(config)#route-map <route-map_name> permit In this example, the instance 10 is applied to the routing
updates first. If the condition is not matched, then it goes to
<instance_id>
R2(config-route-map)#set metric 50 instance 20 and so on until a match found.

Following example show how to use route-maps by BGP


R3(config)#router bgp 65100
R3(config-router)#neighbor to change Local-Preference attribute of a routing update.
<neighbor_directly_connected_interfae_IP> route-map
<Route-map_name> out
R3(config-router)#exit
R3(config)#route-map <route-map_name> permit
<instance_id>
R3(config-route-map)#set metric 100
Fig 10: command is placed before set command with access list
number.

X. CONCLUSION

As describe in this report, BGP can be considered as one


AS 65100
of the most configurable, or perhaps, the most customizable
routing protocol available in current networking
environments. Although BGP is much more slower than
R1 other internal routing protocol when it comes to converging,
it is the mechanism which handles entire internetwork,
which is functioning really fast. The reliability and
R3
functionality of internetwork is on BGP routing protocol.
R2 Therefore I conclude it is vital for a network administrator
who wants to be expert in routing to know BGP concepts
Consider the traffic from AS65100 wants to reach the and how to configure BGP.
external autonomous systems.. There are two paths to exit
traffic from AS65100, one via router R1 and the other via REFERENCES
router R2. If BGP attributes are unchanged and use defaults,
the path taken to exit traffic depends on the shortest AS Path [1] "Cisco-BGP Best Path Selection Algorithm," 2001.
attribute value to destination. For example, to reach [Online]. Available:
AS65104, the lowest AS Path is via R2. But Network http://docstore.mik.ua/cisco/pdf/routing/BGP%20Best%20P
administrator wants to use the link via R1 instead of R2 for ath%20Selection%20Criteria.pdf. [Accessed: May. 12,
all outgoing traffic and use the route via R2 for incoming 2010].
traffic only.. To do that, route maps can be used. Consider
[8] [2] "BGP Best Path Selection Algorithm," May. 13, 2006.
the following route-maps.
[Online]. Available:
R1(config)#router bgp 65100 http://www.cisco.com/en/US/tech/tk365/technologies_tech_
R1(config-router)#neighbor <neighbor_IP_ note09186a0080094431.shtml. [Accessed: May. 23, 2010].
_of_AS65102> remote as 65102
R1#neighbor <neighbor_IP_ _of_AS65102> route-map [3]"Policy Base Routing," [Online]. Available:
SETLOCALPREF in http://www.cisco.com/en/US/products/ps6599/products_whi
R1#exit te_paper09186a00800a4409.shtml. [Accessed: May. 13,
R1(config)#route-map R1SETLOCALPREF permit 10 2010].
R1(config-route-map)#set local-preference 200
[4] C.M. Kozierok, "BGP Autonomous System Types,
R2(config)#router bgp 65100 Traffic Flows and Routing Policies," Sep. 20, 2005.
R2(config-router)#neighbor <neighbor_IP_ [Online]. Available:
_of_AS65101> remote as 65102 http://www.tcpipguide.com/free/t_BGPAutonomousSystem
R2#neighbor <neighbor_IP_ _of_AS65102> route-map TypesTrafficFlowsandRoutingPoli.htm. [Accessed: May. 15,
R2SETLOCALPREF in 2010].
R2#exit
R2(config)#route-map SETLOCALPREF permit 10 [5] AAPT Limited, "Frequently Asked Questions on
R2(config-route-map)#match Multi-Homing and BGP," [Online]. Available:
R2(config-route-map)#set local-preference 150 http://info.connect.com.au/docs/routing/general/multi-
faq.shtml. [Accessed: May. 20, 2010].
These route maps set R1 router local preference for
outbound traffic to 200, which is higher than local [6]D. Bombal, "BGP Local Preference and MED," 2009.
preference value of R2 which is 150. Then all outbound [Online]. Available: http://www.configureterminal.com/free-
traffic chooses the route via R1 for the outgoing traffic. cisco-tests-ebooks-exams-ccna-ccent-ccnp-ccie-ccvp-
Route-maps with BGP can be used to accomplish much ccip/free-bgp-ebppls-tests-exams-/63-bgp-local-preference-
more complex requirements than this example. They can be med-ccie-ccnp.html. [Accessed: May. 201, 2010].
combined with Access Control Lists to filter traffic from
which IP address or addresses to effect with the set [8] H. Benjamin, CCNP Practical Studies: Routing: Cisco
command and change attribute values. To do this, match Press, 2002. [Accessed: May. 23, 2010].
[7] "Using BGP’s Local Preference to Influence
Outbound Routing," Mar. 07, 2009. [Online]. Available:
http://evilrouters.net/2009/03/07/using-bgps-local-
preference-to-influence-outbound-routing/. [Accessed: May.
285, 2010].

[8] K. Solie and L. Lynch, "CCIE Practical Studies:


Configuring Route-Maps and Policy-Based Routing"
[Online]. Available:
http://www.ciscopress.com/articles/article.asp?p=102092.
[Accessed: May. 30, 2010].

[9] "T(n) Quick Overview," [Online]. Available:


http://ckp.made-it.com/t1234.html. [Accessed: May. 30,
2010].

[10] Y. Rekhter, T. Li and S. Hares."A Border Gateway


Protocol 4 (BGP-4)," [Online]. Available:
http://www.ietf.org/rfc/rfc4271. [Accessed: May. 30, 2010].