1. K. PALANIVEL
SYSTEMS ANALYST, COMPUTER CENTRE
PONDICHERRY UNIVERSITY, PUDUCHERRY – 605014, INDIA.
The Border Gateway Protocol (BGP)
COMS 525: TCP/IPCHAPTER-15
2. 2
How Are Forwarding Tables Populated to implement Routing?
Statically Dynamically
Routers exchange network reachability
information using Routing Protocols.
Routers use this to compute best routes
Administrator manually configures
forwarding table entries
In practice : a mix of these. Static routing mostly at the “edge”
+ More control
+ Not restricted to destination-
based forwarding
- Doesn’t scale
- Slow to adapt to network failures
+ Can rapidly adapt to changes in network topology
+ Can be made to scale well
- Complex distributed algorithms
- Consume CPU, Bandwidth, Memory
- Debugging can be difficult
- Current protocols are destination-based
3. 3
Existing Routing
• Path-vector Routing: Allows scalable, informed route selection
• Policy Support
• Each node can apply local policies
– Path selection: Which path to use?
– Path export: Which paths to advertise?
• Examples
– Node 2 may prefer the path “2, 3, 1” over “2, 1”
– Node 1 may not let node 3 hear the path “1, 2”
2 3
1
2 3
1
4. Architecture of Dynamic Routing
AS 1
AS 2
BGP
EGP = Exterior Gateway Protocol
IGP = Interior Gateway Protocol
Metric based: OSPF, IS-IS, RIP, EIGRP (cisco)
Policy based: BGP
The Routing Domain of BGP is the entire Internet
OSPF
EIGRP
5. • Topology information is flooded
within the routing domain
• Best end-to-end paths are
computed locally at each router.
• Best end-to-end paths determine
next-hops.
• Based on minimizing some
notion of distance
• Works only if policy is shared
and uniform
• Examples: OSPF, IS-IS
• Each router knows little about network
topology
• Only best next-hops are chosen by
each router for each destination
network.
• Best end-to-end paths result from
composition of all next-hop choices
• Does not require any notion of distance
• Does not require uniform policies at all
routers
• Examples: RIP, BGP
Link State Vectoring
Technology of Distributed Routing
6. Autonomous Routing Domains (ARDs)
A collection of physical networks glued together using IP, that have a
unified administrative routing policy.
• Campus networks
• Corporate networks
• ISP Internal networks
• …
7. Autonomous Systems (ASes)
An autonomous system is an autonomous routing domain that has been
assigned an Autonomous System Number (ASN).
• Internet is divided into Autonomous Systems (ASs)
• AS - a collection of one or more networks under a single technical
administration
• technical administration- refers to aspects of the n/w like, routing
policies etc.
• Intra-AS routing driven mostly by performance considerations
• Inter-AS routing depends on policy issues, economics, etc.
8. Border Gateway Protocol (BGP)
• BGP is the de facto Inter-
AS routing protocol
• Used for exchanging route
information between ASs
• Conveys information about
AS path topology
• Current version, BGP 4, RFC 1771
• Runs over TCP (port 179)
• Path Vector protocol
• Exchange entire path information
• Prevents loops
• Incremental
9. BGP: Functions
• What is BGP?
– The routing protocol used to exchange routing information across the
Internet
– BGP is an inter-Autonomous System routing protocol.
• BGP makes it possible for ISPs to connect to each other and for end-users
to connect to more than one ISP
– The primary function of a BGP is to exchange network reachability
information with other BGP systems
– The network reachability information includes information on the list
of Autonomous Systems (ASs) that reachability information traverses
10. BGP: Functions
– The information is important to construct a graph of AS connectivity
from which routing loops may be shortened
• Only protocol that can deal well with having multiple connections to
unrelated routing domains
• Only protocol designed to deal with a network of the Internet's size
• One of the other important functions performed by the BGP algorithm is
to eliminate loops from routing information
11. BGP Attributes
• Local pref: Statically configured ranking of routes within AS
• AS path: ASs the announcement traversed
• Origin: Route came from IGP or EGP
• Multi Exit Discriminator: preference for where to exit network
• Community: opaque data used for inter-ISP policy
• Next-hop: where the route was heard from
12. A Simple BGP Route
• Destination prefix (e.g., 128.112.0.0/16)
• Route attributes, including
– AS path (e.g., “7018 88”)
– Next-hop IP address (e.g., 12.127.0.121)
13. How does BGP work?
• Configure
• Exchange of route information
• Attributes of the exchanged routes
• information processing and distribution
14. BGP Configuration
• Identify BGP “speakers”, assign AS number and define neighbors
(peers)
• External BGP peers are directly connected
• Not necessary for Internal BGP peers
BGP Message Exchange
• BGP peers form a TCP connection, use the OPEN message to establish
BGP connection;
• Connections kept open by KEEPALIVE messages;
• Initially exchange routing table, further modifications are incremental;
15. BGP Message Exchange (II)
• Modifications (Route additions and withdrawls) are made by
UPDATE messages;
• Errors are reported by NOTIFICATION messages;
• Most interesting stuff happens in the processing of UPDATE
messages.
The UPDATE message
• Used to transfer routing information between peers
• Advertise new routes, withdraw unfeasible paths
• Contains Path Attributes info
16. Routing Information Storage
• Adj-RIBs-In: Store messages that have been learned from inbound
UPDATE messages
• Loc-RIB : Contains local routing information of a BGP speaker
• Adj-RIBs-Out: Store routing information local router has chosen
for distribution
Path Attributes
• Origin
– defines the origin of a path
• AS_PATH, NEXT_HOP, MULTI_EXIT_DISC, LOCAL_PREF, Community
17. Composed of a sequence of AS path segments or the set of ASs traversed
18. IP address of the Border router that should be used for the next stop
E-BGP and Next Hop
19. I-BGP and Next Hop
IP address of the Border router that should be used for the next stop
20. Used to inform other BGP speakers in the same AS about preferences for a
particular route
Local Preference
21. Used to discriminate among multiple exit points in neighboring ASs
Multi-Exit Discriminator
22. Community Attribute
• Optional Attribute
• Method to group destination in a certain community
• Range 0, 4294,967,200
• Apply routing destinations (accept, prefer, redistribute) using
these communities
23. Decision Process
• Phase I : Calculating the degree of preference for each route
• Phase II: Choosing the best route and installing it into Loc-RIB
• Phase III: dissemination, route aggregation and information reduction
Applying Policy in the Decision Process
• Policy based on AS path, community information
• Accept / Reject routes
• Set Attributes to influence path selection
24. Phase I
• For each received update, local speaker shall calculate the
degree of preference
• Degree of preference calculated based on the LOCAL_PREF
attribute if received from within AS
• Calculated from pre-configured policy information if received
from neighboring AS
25. Phase 2
• Route selection
–highest degree of preference of any route to to the same set
of destinations
–is only route to the destination
–use tie breaking techniques
• Install route in Loc-RIB
26. Phase 3
• Route Dissemination to peers in neighboring ASs
–when routes in a Loc-RIB to local destinations have changed
• All routes processed in Adj-RIBs-OUT
• Aggregation of routes may occur here
27. Overlapping Routes
• BGP speaker may transmit routes with overlapping NLRI
Information
• Overlap occurs when a set of destinations are identified in non-
matching routes
• Destinations are always identified by IP prefixes
• More specific prefix route gets precedence.
28. Internal BGP (iBGP)
• Same protocol as BGP;
• Used when AS_PATH is supposed to be intact between
different eBGP peers;
• iBGP nodes are fully meshed;
• No re-advertisement of route updates to prevent looping;
29.
30. iBGP Scaling
• BGP Confederations
– Divide AS into Sub-ASs to reduce size of mesh
– Still present a unified front to the outside world
• Route Reflectors
– Relax no re-advertisement rule
– Single iBGP peer reflects routes to sub-ordinate peers within a cluster
– No peering between clusters
31. Other Issues!
• Achieving Stability
– Using loopbacks
– BGP/IGP interaction
– Peer Groups
– Route Flap dampening
• BGP and CIDR