Title: Computer Networks (Graduate level)
1Computer Networks(Graduate level)
Lecture 10 Inter-domain Routing
- University of Tehran
- Dept. of EE and Computer Engineering
- By
- Dr. Nasser Yazdani
2Inter-Domain Routing
- Border Gateway Protocol (BGP)
- Assigned reading
- LAB00 Delayed Internet Routing Convergence
- Sources
- RFC1771 main BGP RFC
- RFC1772-3-4 application, experiences, and
analysis of BGP - RFC1965 AS confederations for BGP
- Christian Huitema Routing in the Internet,
chapters 8 and 9. - John Stewart III BGP4 - Inter-domain routing in
the Internet
3Outline
- External BGP (E-BGP)
- Internal BGP (I-BGP)
- Multi-Homing
- Stability Issues
- Scalability Issues
4Internet Routing
- Internet organized as a two level hierarchy
- First level autonomous systems (ASs)
- AS region of network under a single
administrative domain - Each AS assigned unique ID
- ASs peer at network exchange routing
information. - ASs run an intra-domain routing protocols
- Distance Vector, e.g., RIP
- Link State, e.g., OSPF
- Between ASs runs inter-domain routing protocols,
e.g., Border Gateway Routing (BGP) - De facto standard today, BGP-4
5Example
Interior router
BGP router
AS-1
AS-3
AS-2
6Inter-domain Routing basics
- Internet is composed of over 16000 autonomous
systems - BGP Border Gateway Protocol
- Is a Policy-Based routing protocol
- Is the de facto inter-domain routing protocol of
todays global Internet - Relatively simple but configuration is complex
and the entire world can see, and be impacted by,
your mistakes.
7History
- Mid-80s EGP
- Reachability protocol (no shortest path)
- Did not accommodate cycles (tree topology)
- Evolved when all networks connected to NSF
backbone - Result BGP introduced as routing protocol
- Latest version BGP 4
- BGP-4 supports CIDR
- Primary objective connectivity not performance
8Choices
- Link state or distance vector?
- No universal metric policy decisions
- Problems with distance-vector
- Bellman-Ford algorithm may not converge
- Problems with link state
- Metric used by routers not the same loops
- LS database too large entire Internet
- May expose policies to other ASs
9Solution Distance Vector with Path
- Each routing update carries the entire path
- Loops are detected as follows
- When AS gets route check if AS already is in path
- If yes, reject route
- If no, add self and (possibly) advertise route
further - Advantage
- Metrics are local - AS chooses path, protocol
ensures no loops
10Interconnecting BGP Peers
- BGP uses TCP to connect peers
- ASs exchange reachability information through
their BGP routers, only when routes change - Advantages
- Simplifies BGP
- No need for periodic refresh - routes are valid
until withdrawn, or the connection is lost - Incremental updates
- Disadvantages
- Congestion control on a routing protocol?
- Poor interaction during high load
11BGP Operations (Simplified)
AS1
Establish session on TCP port 179
BGP session
Exchange all active routes
AS2
While connection is ALIVE exchange route UPDATE
messages
Exchange incremental updates
12Customers and Providers
provider
customer
Customer pays provider for access to the Internet
13The Peering Relationship
Peers provide transit between their respective
customers Peers do not provide transit between
peers Peers (often) do not exchange
traffic allowed
traffic NOT allowed
14Peering Provides Shortcuts
Peering also allows connectivity between the
customers of Tier 1 providers.
15Peering Wars
Peer
Dont Peer
- Reduces upstream transit costs
- Can increase end-to-end performance
- May be the only way to connect your customers to
some part of the Internet (Tier 1)
- You would rather have customers
- Peers are usually your competition
- Peering relationships may require periodic
renegotiation
Peering struggles are by far the most
contentious issues in the ISP world! Peering
agreements are often confidential.
16AS Categories
- Stub an AS that has only a single connection to
one other AS - carries only local traffic. - Multi-homed an AS that has connections to more
than one AS, but does not carry transit traffic - Transit an AS that has connections to more than
one AS, and carries both transit and local
traffic (under certain policy restrictions)
17AS Categories
AS3
AS1
AS1
AS2
AS3
AS1
AS2
Transit
Stub
AS2
Multi-homed
18Policy with BGP
- BGP provides capability for enforcing various
policies - Policies are not part of BGP they are provided
to BGP as configuration information - BGP enforces policies by choosing paths from
multiple alternatives and controlling
advertisement to other ASs
19Examples of BGP Policies
- A multi-homed AS refuses to act as transit
- Limit path advertisement
- A multi-homed AS can become transit for some ASs
- Only advertise paths to some ASs
- An AS can favor or disfavor certain ASs for
traffic transit from itself
20Routing Information Bases (RIB)
- Routes are stored in RIBs
- Adj-RIBs-In routing info that has been learned
from other routers (unprocessed routing info) - Loc-RIB local routing information selected from
Adj-RIBs-In (routes selected locally) - Adj-RIBs-Out info to be advertised to peers
(routes to be advertised)
21Architecture of Dynamic Routing
OSPF
BGP
AS 1
EIGRP
IGP Interior Gateway Protocol
Metric based OSPF, IS-IS, RIP,
EIGRP (cisco)
AS 2
EGP Exterior Gateway Protocol
Policy based BGP
The Routing Domain of BGP is the entire Internet
22Four Types of BGP Messages
- Open Establish a peering session.
- Keep Alive Handshake at regular intervals.
- Notification Shuts down a peering session.
- Update Announcing new routes or withdrawing
previously announced routes.
announcement
prefix attributes values
23Two Types of BGP Neighbor Relationships
- External Neighbor (eBGP) in a different
Autonomous Systems - Internal Neighbor (iBGP) in the same Autonomous
System
AS1
iBGP is routed using Interior Gateway
Protocol (IGP)!
eBGP
iBGP
AS2
24iBGP Peers Must be Fully Meshed
- iBGP is needed to avoid routing loops within an
AS - Injecting external routes into IGP does not scale
and causes BGP policy information to be lost - BGP does not provide shortest path routing
iBGP neighbors do not announce routes received
via iBGP to other iBGP neighbors.
25Important BGP attributes
- LocalPREF
- Local preference policy to choose most
preferred route - Multi-exit Discriminator (MED)
- Which peering point to choose?
- Import Rules
- What route advertisements do I accept?
- Export Rules
- Which routes do I forward to whom?
26Implementing Customer/Provider and Peer/Peer
relationships
Two parts
- Enforce transit relationships
- Outbound route filtering
- Enforce order of route preference
- provider lt peer lt customer
27Import Routes
From provider
From provider
From peer
From peer
From customer
From customer
28Export Routes
provider route
customer route
peer route
ISP route
To provider
From provider
To peer
To peer
To customer
To customer
29BGP Common Header
1
2
3
0
Marker (security and message delineation) 16 bytes
Length (2 bytes)
Type (1 byte)
Types OPEN, UPDATE, NOTIFICATION, KEEPALIVE
30BGP OPEN message
1
2
3
0
Marker (security and message delineation)
Length
Type open
version
My autonomous system
Hold time
BGP identifier
Optional parameters lttype, length, valuegt
Parameter length
My AS id assigned to that AS Hold timer max
interval between KEEPALIVE or UPDATE messages
interval implies no keep_alive. BGP ID IP
address of one interface (same for all messages)
31BGP UPDATE message
1
2
3
0
Marker (security and message delineation)
Length
Type update
Withdrawn..
..routes len
Withdrawn routes (variable)
...
Path attribute len
Path attributes (variable)
Network layer reachability information (NLRI)
(variable)
- Many prefixes may be included in UPDATE, but must
- share same attributes.
- UPDATE message may report multiple withdrawn
routes.
32BGP UPDATE Message
- List of withdrawn routes
- Network layer reachability information
- List of reachable prefixes
- Path attributes
- Origin
- Path
- Metrics
- All prefixes advertised in a message have same
path attributes
33NLRI
- Network Level Reachability Information
- list of IP address prefixes encoded as follows
Length (1 byte)
Prefix (variable)
34Path attributes
Type-Length-Value encoding
Attribute type (2 bytes)
Attribute length (1-2 bytes)
Attribute Value (variable length)
Attribute type field
Attribute flags (1 byte)
Attribute type code (1 byte)
Flags optional, v.s. well-known transitive,
partial, extended length
35BGP NOTIFICATION message
1
2
3
0
Marker (security and message delineation)
Length
Type NOTIFICATION
Error code
Data
Error sub-code
- Used for error notification
- TCP connection is closed immediately after
notification
36BGP KEEPALIVE message
1
2
3
0
Marker (security and message delineation)
Length
Type KEEPALIVE
Sent periodically to peers to ensure
connectivity. If hold_time is zero, messages are
not sent.. Sent in place of an UPDATE message
37Path Selection Criteria
- Information based on path attributes
- Attributes external (policy) information
- Examples
- Hop count
- Policy considerations
- Preference for AS
- Presence or absence of certain AS
- Path origin
- Link dynamics
38Route Selection Summary
Highest Local Preference
Enforce relationships
Shortest ASPATH
Lowest MED
traffic engineering
i-BGP lt e-BGP
Lowest IGP cost to BGP egress
Throw up hands and break ties
Lowest router ID
39Back to Frank
Local preference only used in iBGP
AS 4
local pref 80
AS 3
local pref 90
local pref 100
AS 2
AS 1
Higher Local preference values are more preferred
13.13.0.0/16
40Backup Links with Local Preference (Outbound
Traffic)
AS 1
primary link
backup link
Set Local Pref 100 for all routes from AS 1
Set Local Pref 50 for all routes from AS 1
AS 65000
Forces outbound traffic to take primary link,
unless link is down.
Well talk about inbound traffic soon
41ASPATH Attribute
AS 1129
135.207.0.0/16 AS Path 1755 1239 7018 6341
Global Access
AS 1755
135.207.0.0/16 AS Path 1239 7018 6341
135.207.0.0/16 AS Path 1129 1755 1239 7018 6341
Ebone
AS 12654
RIPE NCC RIS project
135.207.0.0/16 AS Path 7018 6341
AS7018
135.207.0.0/16 AS Path 3549 7018 6341
135.207.0.0/16 AS Path 6341
ATT
AS 3549
AS 6341
135.207.0.0/16 AS Path 7018 6341
Global Crossing
ATT Research
135.207.0.0/16
Prefix Originated
42COMMUNITY Attribute to the Rescue!
AS 3 normal customer local pref is 100, peer
local pref is 90
AS 1
AS 3
provider
provider
192.0.2.0/24 ASPATH 2 COMMUNITY 370
192.0.2.0/24 ASPATH 2
backup
primary
Customer import policy at AS 3 If 390 in
COMMUNITY then set local preference to 90 If
380 in COMMUNITY then set local preference
to 80 If 370 in COMMUNITY then set local
preference to 70
customer
192.0.2.0/24
AS 2
43Hot Potato Routing Go for the Closest Egress
Point
192.44.78.0/24
egress 2
egress 1
IGP distances
56
15
This Router has two BGP routes to 192.44.78.0/24.
Hot potato get traffic off of your network as
Soon as possible. Go for egress 1!
44Getting Burned by the Hot Potato
2865
High bandwidth Provider backbone
17
SFF
NYC
Low bandwidth customer backbone
56
15
San Diego
Many customers want their provider to carry the
bits!
tiny http request
huge http reply
45Cold Potato Routing with MEDs(Multi-Exit
Discriminator Attribute)
2865
Prefer lower MED values
17
192.44.78.0/24 MED 56
192.44.78.0/24 MED 15
56
15
192.44.78.0/24
This means that MEDs must be considered
BEFORE IGP distance!
Note1 some providers will not listen to MEDs
Note2 MEDs need not be tied to IGP distance
46MED
- MED is typically used in provider/subscriber
scenarios - It can lead to unfairness if used between ISP
because it may force one ISP to carry more
traffic
ISP1
SF
ISP2
NY
- ISP1 ignores MED from ISP2
- ISP2 obeys MED from ISP1
- ISP2 ends up carrying traffic most of the way
47Policies Can Interact Strangely(Route Pinning
Example)
backup
customer
1
2
Install backup link using community
3
Disaster strikes primary link and the backup
takes over
Primary link is restored but some traffic remains
pinned to backup
4
48Path Attributes
- Categories (recall flags)
- well-known mandatory (passed on)
- well-known discretionary (passed on)
- optional transitive (passed on)
- optional non-transitive (if unrecognized, not
passed on) - Optional attributes allow for BGP extensions
49Path attribute message format (repeated)
Attribute flags
Attribute type code
O T P E
0
O optional or well-known T transitive or
local P partially evaluated E length in 1 or 2
bytes
Origin AS_path Next hop etc.
50ORIGIN path attribute
- Well-known, mandatory attribute.
- Describes how a prefix was generated at the
origin AS. Possible values - IGP prefix learned from IGP
- EGP prefix learned through EGP
- INCOMPLETE none of the above (often seen for
static routes)
51Next hop path attribute
- Well-known, mandatory attribute
- NEXT_HOP IP address of border router to be used
as next hop - Usually, next hop is the router sending the
UPDATE message - Useful when some routers do not speak BGP
52Other Attributes
- ORIGIN
- Source of route (IGP, EGP, other)
- NEXT_HOP
- Address of next hop router to use
- Used to direct traffic to non-BGP router
- Check out http//www.cisco.com for full
explanation
53Outline
- External BGP (E-BGP)
- Internal BGP (I-BGP)
- Multi-Homing
- Stability Issues
54I-BGP
55Internal BGP (I-BGP)
- Same messages as E-BGP
- Different rules about re-advertising prefixes
- Prefix learned from E-BGP can be advertised to
I-BGP neighbor and vice-versa, but - Prefix learned from one I-BGP neighbor cannot be
advertised to another I-BGP neighbor - Reason no AS PATH within the same AS and thus
danger of looping.
56Internal BGP (I-BGP)
- R3 can tell R1 and R2 prefixes from R4
- R3 can tell R4 prefixes from R1 and R2
- R3 cannot tell R2 prefixes from R1
- R2 can only find these prefixes through a direct
connection to R1 - Result I-BGP routers must be fully connected
(via TCP)! - contrast with E-BGP sessions that map to physical
links
R1
E-BGP
AS1
R3
R4
AS2
R2
I-BGP
57Link Failures
- Two types of link failures
- Failure on an E-BGP link
- Failure on an I-BGP Link
- These failures are treated completely different
in BGP - Why?
58Failure on an E-BGP Link
- If the link R1-R2 goes down
- The TCP connection breaks
- BGP routes are removed
- This is the desired behavior
AS1
AS2
E-BGP session
R1
R2
Physical link
138.39.1.1/30
138.39.1.2/30
59Failure on an I-BGP Link
- If link R1-R2 goes down, R1 and R2 should still
be able to exchange traffic - The indirect path through R3 must be used
- Thus, E-BGP and I-BGP must use different
conventions with respect to TCP endpoints
R2
138.39.1.2/30
Physical link
138.39.1.1/30
R1
R3
I-BGP connection
60Outline
- External BGP (E-BGP)
- Internal BGP (I-BGP)
- Multi-Homing
- Stability Issues
- Scalability Issues
61Multi-homing
- With multi-homing, a single network has more than
one connection to the Internet. - Improves reliability and performance
- Can accommodate link failure
- Bandwidth is sum of links to Internet
- Challenges
- Getting policy right (MED, etc..)
- Addressing
62Multi-homing to a Single Provider Case 1
- Easy solution
- Use IMUX or Multi-link PPP
- Hard solution
- Use BGP
- Makes assumptions about traffic (same amount of
prefixes can be reached from both links)
63Multi-homing to a single provider Case 2
- If multiple prefixes, may use MED
- good if traffic load from prefixes is equal
- If single prefix, load may be unequal
- break-down prefix and advertise different
prefixes over different links
ISP
R1
Customer
R2
R3
138.39/16
204.70/16
64Multi-homing to a single provider Case 3
- For ISP-gt customer traffic, same as before
- use MED
- good if traffic load to prefixes is equal
- For customer -gt ISP traffic
- R3 alternates links
- multiple default routes
ISP
R1
R2
Customer
R3
138.39/16
204.70/16
65Multi-homing to a single provider Case 4
- Most reliable approach
- no equipment sharing
- Customer -gt ISP
- same as case 2
- ISP -gt customer
- same as case 3
ISP
R1
R2
Customer
R3
R4
138.39/16
204.70/16
66Multi-homing to Multiple Providers
- Major issues
- Addressing
- Aggregation
- Customer address space
- Delegated by ISP1
- Delegated by ISP2
- Delegated by ISP1 and ISP2
- Obtained independently
- Advantage and disadvantage?
ISP3
ISP1
ISP2
Customer
67Address Space from one ISP
- Customer uses address space from one, I.e ISP1
- ISP1 advertises /16 aggregate
- Customer advertises /24 route to ISP2
- ISP2 relays route to ISP1 and ISP3
- ISP2-3 use /24 route
- ISP1 routes directly
- Problems with traffic load?
ISP3
138.39/16
ISP1
ISP2
Customer
138.39.1/24
68Pitfalls
- ISP1 aggregates to a /19 at border router to
reduce internal tables. - ISP1 still announces /16.
- ISP1 hears /24 from ISP2.
- ISP1 routes packets for customer to ISP2!
- Workaround ISP1 must inject /24 into I-BGP.
ISP3
138.39/16
ISP1
ISP2
138.39.0/19
Customer
138.39.1/24
69Address Space from Both ISPs
- ISP1 and ISP2 continue to announce aggregates
- Load sharing depends on traffic to two prefixes
- Lack of reliability if ISP1 link goes down, part
of customer becomes inaccessible. - Customer may announce prefixes to both ISPs, but
still problems with longest match as in case 1.
ISP3
ISP1
ISP2
204.70.1/24
Customer
138.39.1/24
70Address Space Obtained Independently
- Offers the most control, but at the cost of
aggregation. - Still need to control paths
- suppose ISP1 large, ISP2-3 small
- customer advertises long path to ISP1, but
local-pref attribute used to override - ISP3 learns shorter path from ISP2
ISP3
ISP1
ISP2
Customer
71Outline
- External BGP (e-BGP)
- Internal BGP (i-BGP)
- Multi-Homing
- Stability Issues
- Scalability Issues
72Convergence in the real-world?
- Labovitz99 Experimental results from two year
study which measured 150,000 BGP faults injected
into peering sessions at several IXPs - Found
- Internet averages 3 minutes to converge after
failover - Some multihomed failovers (short to long ASPath)
require 15 minutes
73Signs of Routing Instability
- Record of BGP messages at major exchanges, packet
loss 30 times and delay 4. - Discovered orders of magnitude larger than
expected updates - Bulk were duplicate withdrawals
- Stateless implementation of BGP did not keep
track of information passed to peers - Impact of few implementations
- Strong frequency (30/60 sec) components
- Interaction with other local routing/links etc.
7430 Second Bursts
75How Long Does BGP Take to Adapt to Changes?
Thanks to Abha Ahuja and Craig Labovitz for this
plot.
76Route Flap Storm
- Overloaded routers fail to send Keep_Alive
message and marked as down - I-BGP peers find alternate paths
- Overloaded router re-establishes peering session
- Must send large updates
- Increased load causes more routers to fail!
77Route Flap Dampening
- Routers now give higher priority to
BGP/Keep_Alive to avoid problem - Associate a penalty with each route
- Increase when route flaps
- Exponentially decay penalty with time
- When penalty reaches threshold, suppress route
78BGP Limitations Oscillations
(R,1R,2R)
AS 0
R
AS 1
AS 2
(0R,R,2R)
(0R,1R,R)
79BGP Limitations Oscillations
AS 0
(-,1R,2R)
?
(R,1R,2R)
W
R
W
W
AS 1
AS 2
(0R,-,2R)
?
(0R,R,2R)
(0R,1R,-)
(0R,1R,R)
?
80BGP Limitations Oscillations
AS 0
(-,1R,2R)
(-,1R,2R)
?
01R
01R
R
AS 1
AS 2
(-,-,2R)
?
(0R,-,2R)
(01R,1R,-)
(0R,1R,-)
?
81BGP Limitations Oscillations
AS 0
(-,-,2R)
?
(-,1R,2R)
10R
R
AS 1
AS 2
(-,-,2R)
?
(-,-,2R)
(01R,10R,-)
10R
(01R,1R,-)
?
82BGP Limitations Oscillations
AS 0
(-,-,2R)
(-,-,-)
?
20R
R
AS 1
AS 2
(-,-,20R)
?
(-,-,2R)
(01R,10R,-)
20R
(01R,10R,-)
?
83BGP Limitations Oscillations
AS 0
(-,12R,-)
(-,-,-)
?
12R
R
AS 1
AS 2
(-,-,20R)
12R
?
(-,-,20R)
(01R,10R,-)
(01R,-,-)
?
84BGP Limitations Oscillations
AS 0
(-,12R,21R)
(-,12R,-)
?
21R
R
AS 1
AS 2
21R
(-,-,20R)
(01R,-,-)
?
?
(-,-,-)
(01R,-,-)
85BGP Oscillations
- Can possible explore every possible path through
network ? (n-1)! Combinations - Limit between update messages (MinRouteAdver)
reduces exploration - Forces router to process all outstanding messages
- Typical Internet failover times
- New/shorter link ? 60 seconds
- Results in simple replacement at nodes
- Down link ? 180 seconds
- Results in search of possible options
- Longer link ? 120 seconds
- Results in replacement or search based on length
86Problems
- Routing table size
- Need an entry for all paths to all networks
- Required memory O((N MA) K)
- N number of networks
- M mean AS distance (in terms of hops)
- A number of ASs
- K number of BGP peers
87Routing Table Size
Mean AS Distance
Number of ASs
BGP Peers/Net
Networks
Memory
2,100
5
59
3
27,000
4,000
10
100
6
108,000
10,000
15
300
10
490,000
100,000
20
3,000
20
1,040,000
- Problem reduced with CIDR
88Outline
- External BGP (e-BGP)
- Internal BGP (i-BGP)
- Multi-Homing
- Stability Issues
- Scalability Issues
89Big and Getting Bigger
- Scaling the iBGP mesh
- Confederations
- Route Reflectors
- BGP Table Growth
- Address aggregation (CIDR)
- Address allocation
- AS number allocation and use
- Dynamics of BGP
- Inherent vs. accidental oscillation
- Rate limiting and route flap dampening
- Lots and lots of noise
- Slow convergence time
Scale Scale Scale Scale Scale Scale Scale Scale Sc
ale Scale Scale Scale Scale
90iBGP Mesh Does Not Scale
eBGP update
- N border routers means N(N-1)/2 peering sessions
- Each router must have N-1 iBGP sessions
configured - The addition a single iBGP speaker requires
configuration changes to all other iBGP speakers - Size of iBGP routing table can be order N larger
than number of best routes (remember alternate
routes!) - Each router has to listen to update noise from
each neighbor
- Currently four solutions
- (0) Buy bigger routers!
- Break AS into smaller ASes
- BGP Route reflectors
- BGP confederations
91BGP Table Growth
Thanks to Geoff Huston. http//www.telstra.net/ops
/bgptable.html on August 8, 2001
92Large BGP Tables Considered Harmful
- Routing tables must store best routes and
alternate routes - Burden can be large for routers with many
alternate routes (route reflectors for example) - Routers have been known to die
- Increases CPU load, especially during session
reset
Moores Law may save us in theory. But in
practice it means spending money to
upgrade equipment
93Deaggregation Due to Multihoming May be a Leading
Cause
If AS 1 does not announce the more specific
prefix, then most traffic to AS 2 will go
through AS 3 because it is a longer match
12.2.0.0/16
12.2.0.0/16
12.0.0.0/8
AS 3
AS 1
provider
provider
customer
AS 2
12.2.0.0/16
AS 2 is punching a hole in The CIDR block of
AS 1
94How Many ASNs are there?
Thanks to Geoff Huston. http//www.telstra.net/ops
on June 23, 2001
95When will we run out of ASNs?
64,511
2005?
2007?
96What is to be done?
- Make ASNs larger than 16 bits
- How about 32 bits?
- See Internet Draft BGP support for four-octet
AS number space (draft-ietf-idr-as4bytes-03.txt) - Requires protocol change and wide deployment
- Change the way ASNs are used
- Allow multihomed, non-transit networks to use
private ASNs - Uses ASE (AS number Substitution on Egress )
- See Internet Draft Autonomous System Number
Substitution on Egress (draft-jhaas-ase-00.txt) - Works at edge, requires protocol change (for loop
prevention) - Makes some kinds of debugging harder!
97AS Graphs Can Be Fun
The subgraph showing all ASes that have more than
100 neighbors in full graph of 11,158 nodes. July
6, 2001. Point of view ATT route-server
98AS Graphs Do Not Show Topology!
BGP was designed to throw away information!
99BGP Dynamics
- How many updates are flying around the Internet?
- How long Does it take Routes to Change?
The goals of (1) fast convergence (2)
minimal updates (3) path redundancy are at
odds
100Daily Update Count
101What is the Sound of One Route Flapping?
102A Few Bad Apples
Most prefixes are stable most of the time. On
this day, about 83 of the prefixes were not
updated.
Typically, 80 of the updates are for less than
5 Of the prefixes.
Percent of BGP table prefixes
Thanks to Madanlal Musuvathi for this plot.
Data source RIPE NCC
103Two BGP Mechanisms for Squashing Updates
- Rate limiting on sending updates
- Send batch of updates every MinRouteAdvertisementI
nterval seconds (/- random fuzz) - Default value is 30 seconds
- A router can change its mind about best routes
many times within this interval without telling
neighbors - Route Flap Dampening
- Punish routes for misbehaving
Effective in dampening oscillations inherent
in the vectoring approach
Must be turned on with configuration
104Two Main Factors in Delayed Convergence
- Rate limiting timer slows everything down
- BGP can explore many alternate paths before
giving up or arriving at a new path - No global knowledge in vectoring protocols
105Q Why All the Updates?
- Networks come, networks go
- Theres always a router rebooting somewhere
- Hardware failure, flaky interface cards, backhoes
digging, floods in Houston,
This is normal --- exactly what dynamic
routing is designed for
106Q Why All the Updates?
- Misconfiguration
- Route flap dampening not widely used
- BGP exploring many alternate paths
- Software bugs in implementation of routing
protocols - BGP session resets due to congestion or lack of
interoperability BGP sessions are brittle. One
malformed update is enough to reset session and
flap 100K routes. (Consequence of incremental
approach) - IGP instability exported by use of MEDs or IGP
tie breaker - Sub-optimal vendor implementation choices
- Secret sauce routing algorithms attempting
fancy-dancy tricks - Weird policy interactions (MED oscillation, BAD
GADGETS??) - Gnomes, sprites, and fairies
- .
A NO ONE REALLY KNOWS
107IGP Tie Breaking Can Export Internal Instability
to the Whole Wide World
192.44.78.0/24
AS 1
AS 3
AS 2
10
FLAP
AS 4
56
15
FLAP
192.44.78.0/24 ASPATH 4 2 1
192.44.78.0/24 ASPATH 4 3 1
FLAP FLAP
108MEDs Can Export Internal Instability
2865
17
FLAP
FLAP
192.44.78.0/24 MED 56 OR 10
192.44.78.0/24 MED 15
10
FLAP
FLAP FLAP
56
15
FLAP
192.44.78.0/24
109Implementation Does Matter!
stateless withdraws widely deployed
stateful withdraws widely deployed
Thanks to Abha Ahuja and Craig Labovitz for this
plot.
110How Long Will Interdomain Routing Continue to
Scale?
A quote from some recent email
... the existing interdomain routing infrastructur
e is rapidly nearing the end of its useful
lifetime. It appears unlikely that mere tweaks
of BGP will stave off fundamental scaling
issues, brought on by growth, multihoming and
other causes.
Is this true or false? How can we tell?
Research required
111Next Lecture Multicasting
- How to send data to a group of receivers.
- Assigned reading
- Multicast Routing in Datagram Internetworks and
Extended LANs - Next Branch Multicast (NBM) routing protocol
- Chapter 4, multicasting.