More on BGP - PowerPoint PPT Presentation

About This Presentation
Title:

More on BGP

Description:

More on BGP. Check out the links on politics: ICANN and net neutrality. To read for next time ... Selects which of the paths advertised by its external neighbor ... – PowerPoint PPT presentation

Number of Views:12
Avg rating:3.0/5.0
Slides: 20
Provided by: csd6
Category:
Tags: bgp | icann | more | pref

less

Transcript and Presenter's Notes

Title: More on BGP


1
More on BGP
  • Check out the links on politics ICANN and net
    neutrality
  • To read for next time
  • Path selection big example
  • Scaling of BGP

2
Decision Process
  • Step 1 each border router
  • Selects which of the paths advertised by its
    external neighbor can be imported
  • May violate import policy
  • May have routing loop
  • Picks the best ones
  • Optionally assign a LOCAL_PREF
  • Sends its best paths to all its internal
    neighbors
  • Step 2 All border routers compare all the paths
    learned through their neighbors and pick the
    single best path to each prefix

3
Path Selection Process
  • For each of the paths to the same NLRI
  • Ignore if next-hop is down
  • Prefer Higher local preference
  • If same Prefer locally originated route
  • If same Prefer Shortest AS path
  • If same Prefer Lowest origin (IGP better that
    EGP)
  • If same Prefer Lowest MED
  • If same Prefer eBGP over iBGP
  • If same Prefer Path with lowest IGP cost to
    next-hop
  • If same Prefer Lowest router id
  • If same Prefer Lowest neighbor IP address
  • Different vendors may have some slight
    variations!
  • The RFC does not specify all the details (e.g.
    the preference for shorter AS paths

4
After path selection
  • Export routes to external neighbors
  • According to export policy
  • Add the local AS in the AS_PATH
  • Remove LOCAL PREF and optionally add
    MULTI_EXIT_DISC
  • Originate routes inside the domain
  • Through the appropriate IGP mechanisms
  • OSPF has AS-external routes
  • And can use the IGP cost to next-hop to select
    which one is better

5
OSPF external routes
  • Certain routers in OSPF are ASBRs
  • Inject external routes (type-3 LSAs)
  • With themselves as the next hops
  • OSPF routers compute next hops for these routes
    using the cost to reach the ASBR that originated
    them
  • And install these in the RIB
  • BUT clearly I can not inject all the routes in
    the Internet into OSPF, it will not scale
  • We will see solutions to this later on

6
BGP implementation details
  • Uses TCP to talk to neighbors
  • Provides reliability
  • Important since I have to exchange a lot of
    information
  • Allows to send only changes and not all the
    information periodically like EGP
  • But TCP has its own mechanisms for flow control
    and connectivity loss detection that may cause
    surprises

7
BGP messages
  • Since TCP is a stream protocol I need a way to
    delimit packets
  • BGP header
  • Messages
  • OPEN
  • Used to negotiate parameters when establishing
    adjacency
  • UPDATE
  • Contains the reachability information
  • NOTIFICATION
  • Send when an error occurs
  • KEEPALIVE
  • To check the health of the adjacency

8
Paths
  • BGP manages paths
  • Path consists of
  • Network Layer Reachability Information (NLRI) e.g
    12.50.45/24
  • A sequence of PATH attributes that give info
    related to this destination
  • PATH attributes
  • Each have a Flags field
  • Optional or well known (well known must be
    supported by all routers)
  • Transitive or local (Transitive gets propagated,
    local not)
  • Partial or not (partial applies only to part of
    the path)

9
Important path attributes
  • ORIGIN (well known)
  • Is this path learned from IGP, BGP or other
  • AS_PATH
  • The list of ASes (well known)
  • NEXT_HOP
  • Next hop to reach the prefix (well known)
  • MULTI_EXIT_DISC (MED)
  • Helps selection of paths (local, optional)
  • LOCAL_PREF
  • Helps selection of paths (well known)

10
Operation
  • Establish a TCP connection with the neighbor
  • Negotiate options and establish adjacency
  • Send all the path info to the neighbor, receive
    its path info and store it
  • Then only send updates/changes
  • If an update is received that results in a
    different route process it and update neighbors
  • Send keep-alives to monitor the health of the
    link
  • Does not depend on TCP keep-alive mechanism

11
Prefix aggregation
  • Need to be able to aggregate prefixes
  • AS_PATH contains a number of AS_SET and/or
    AS_SEQUENCE
  • AS_SET unordered set of ASes traversed
  • AS_SEQUENCE ordered list of ASes
  • When aggregating.
  • Longest common prefix of the AS_SEQUENCE becomes
    the aggregated AS_SEQUENCE
  • Union of all the rest becomes the new AS_SET
  • Can repeat recursively
  • EXAMPLE why it is good for the network

12
Scaling
  • Route refresh
  • Route dampening
  • RR

13
Route Refresh
  • Each time policy changes I need to find out
    about all the paths from the neighbor
  • A path that was not valid before (and was
    discarded) may be valid under the new policy
  • I could do a reset (I.e. re-establish adjacency
    with peer to relearn all the paths)
  • Expensive and network disruptive
  • Instead, initiate a route refresh
  • Tell neighbor to resend me all its paths so I can
    re-evaluate policy
  • Route Refresh capability, must be supported by
    both peer routers

14
Route Reflectors
  • All BRs need to talk iBGP to all others
  • Full mesh does not scale
  • Use Route Reflectors (RR)
  • Multiple RRs in an AS
  • A RR has clients and may be connected (through
    iBGP sessions) to other RRs
  • Much fewer iBGP sessions
  • RR computes paths based on information it
    receives
  • If path is learned from client, send it to all
    other clients and RRs
  • If path is learned from other RR send it only to
    clients

15
More on RRs
  • Essentially split the network into clusters
  • One RR per cluster and multiple clients
  • All RRs are fully meshed
  • Use a cluster-id
  • Need to have RR redundancy
  • Not a good idea to have two RRs per cluster
  • Each client talks to two RRs

16
Extensions to BGP over time
  • Communities
  • Logically group paths together for easier
    administration
  • Can apply policies to a community and not to
    individual paths
  • Simpler management, no need to add new policy
    rules for new paths
  • Multi-protocol
  • Carry different NLRIs
  • Ipv4, ipv6, multicast
  • VPNs (we will them later)
  • Graceful restart (we will see it later)
  • 4 bytes ASNs

17
Issues with BGP
  • BGP dynamics are complex!
  • We will see it through some papers
  • Understand the structure of the internet and the
    properties of the topology
  • How to measure it?
  • Hot potato routing
  • Multi-homing and provider selection
  • Understand the convergence properties
  • Role of policies in convergence
  • Policy consistency
  • Effect of the various mechanisms used

18
Convergence Dynamics
  • 4 types of advertisements
  • Withdraw, new, longer, shorter
  • Withdraw and longer converge slower than new and
    shorter. Why?
  • BGP explores alternate paths in case of withdraw
    and longer
  • EXAMPLE
  • Worse case can be n! steps
  • In theory in fully connected graphs of course
  • Also in BGP I can have a timer to collect
    multiple paths before I process them

19
Route Dampening
  • Route flaps can be a pain
  • A link that is flapping can cause ripples around
    the whole Internet
  • Penalize flapping paths
  • Keep track of updates per peer and per path
  • If it flaps too much stop announcing it
  • Parameters additive penalty, half-life, suppress
    threshold, reuse threshold
  • Can be different on a per prefix/ per peer basis
    etc
  • It was considered a good idea until 2000 or so
  • Then people discovered that it was not working
    that well
  • A single path withdrawal could appear like a flap
    as it propagates in the network
  • Makes the path unavailable for long time (10s of
    minutes)
Write a Comment
User Comments (0)
About PowerShow.com