K. PALANIVEL
SYSTEMS ANALYST, COMPUTER CENTRE
PONDICHERRY UNIVERSITY, PUDUCHERRY – 605014, INDIA.
The Border Gateway Protocol (BGP)
COMS 525: TCP/IPCHAPTER-15
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
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
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
• 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
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
• …
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.
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
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
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
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
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)
How does BGP work?
• Configure
• Exchange of route information
• Attributes of the exchanged routes
• information processing and distribution
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;
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
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
Composed of a sequence of AS path segments or the set of ASs traversed
IP address of the Border router that should be used for the next stop
E-BGP and Next Hop
I-BGP and Next Hop
IP address of the Border router that should be used for the next stop
Used to inform other BGP speakers in the same AS about preferences for a
particular route
Local Preference
Used to discriminate among multiple exit points in neighboring ASs
Multi-Exit Discriminator
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
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
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
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
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
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.
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;
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
Other Issues!
• Achieving Stability
– Using loopbacks
– BGP/IGP interaction
– Peer Groups
– Route Flap dampening
• BGP and CIDR
QUESTIONS ???

15 coms 525 tcpip - border gateway protocols

  • 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 ForwardingTables 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-vectorRouting: 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 DynamicRouting 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 informationis 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) Anautonomous 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 • Whatis 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 – Theinformation 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 • Localpref: 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 BGPRoute • 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 BGPwork? • Configure • Exchange of route information • Attributes of the exchanged routes • information processing and distribution
  • 14.
    BGP Configuration • IdentifyBGP “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 asequence of AS path segments or the set of ASs traversed
  • 18.
    IP address ofthe Border router that should be used for the next stop E-BGP and Next Hop
  • 19.
    I-BGP and NextHop IP address of the Border router that should be used for the next stop
  • 20.
    Used to informother BGP speakers in the same AS about preferences for a particular route Local Preference
  • 21.
    Used to discriminateamong multiple exit points in neighboring ASs Multi-Exit Discriminator
  • 22.
    Community Attribute • OptionalAttribute • 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 • PhaseI : 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 • Foreach 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 • Routeselection –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 • RouteDissemination 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 • BGPspeaker 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;
  • 30.
    iBGP Scaling • BGPConfederations – 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! • AchievingStability – Using loopbacks – BGP/IGP interaction – Peer Groups – Route Flap dampening • BGP and CIDR
  • 32.