2/19/2008
Routing Review
z The Story So Far…
15-441 Computer Networking » Routing protocols generate the forwarding table
Lecture 12 – BGP » Two styles: distance vector, link state
» Scalability issues:
– Distance vector protocols suffer from count-to-infinity
Peter Steenkiste – Link state protocols must flood information through
Departments of Computer Science and network
Electrical and Computer Engineering z Today’s lecture
» How to make routing protocols support large networks
» How to make routing protocols support business policies
15-441 Networking, Spring 2008
http://www.cs.cmu.edu/~dga/15-441/S08
1 2 2
Outline Routing Hierarchies
z Flat routing doesn’t scale
» Storage Æ Each node cannot be expected to store
z Routing hierarchy routes to every destination (or destination
network)
» Convergence times increase
» Communication Æ Total message count increases
z Internet structure
z Key observation
» Need less information with increasing distance to
destination
z External BGP (E-BGP) » Need lower diameters networks
z Solution: area hierarchy
3 3 4 4
Areas Routing Hierarchy
Area-Border Backbone Areas
Router
z Divide network into areas
»Areas can have nested sub-areas
Lower-level Areas
z Hierarchically address nodes in a network
»Sequentially
S ti ll number
b top-level
t l l areas
»Sub-areas of area are labeled z Partition Network into “Areas”
relative to that area » Within area
»Nodes are numbered relative to the – Each node has routes to every other node
» Outside area
smallest containing area
– Each node has routes for other top-level areas only
– Inter-area packets are routed to nearest appropriate border router
z Constraint: no path between two sub-areas of an area can exit
that area
5 5 6 6
1
2/19/2008
Area Hierarchy Addressing Path Sub-optimality
1 2
• Can result in sub-optimal paths
2.2
1.1 2.1
2.2.2 1 2
2.1 2.2
1.2 2.2.1
1.1
1.2.1 1.2 221
2.2.1
1.2.1
1.2.2
start
3
end
3.2.1
3
3.1 3.2 3 hop red path
vs. 3.1 3.2
2 hop green path
7 7 8 8
Outline A Logical View of the Internet?
• After looking at
RIP/OSPF descriptions
z Routing hierarchy • End-hosts connected to
R
routers
• Routers exchange R R R
z Internet structure messages to determine R
connectivity
• NOT TRUE!
z External BGP (E-BGP)
9 9 10 10
Internet’s Area Hierarchy AS Numbers (ASNs)
ASNs are 16 bit values 64512 through 65535 are “private”
z What is an Autonomous System (AS)? Currently over 15,000 in use
» A set of routers under a single technical • Genuity: 1
administration, using an interior gateway
protocol (IGP)
p ( ) and common metrics to • MIT: 3
route packets within the AS and using an • CMU: 9
exterior gateway protocol (EGP) to route
• UC San Diego: 7377
packets to other AS’s
• AT&T: 7018, 6341, 5074, …
z Each AS assigned unique ID
• UUNET: 701, 702, 284, 12199, …
z AS’s peer at network exchanges
• Sprint: 1239, 1240, 6211, 6242, …
• …
ASNs represent units of routing policy
11 11 12 12
2
2/19/2008
Example A Logical View of the Internet?
1 2 z RIP/OSPF not very
2.1 IGP
IGP
2.2 scalable Æ area
EGP
1.1 hierarchies ISP ISP
1.2 2.2.1
R
EGP z NOT TRUE EITHER!
EGP R R R
z ISP’s aren’t equal
3 EGP
4.2
EGP
4.1 IGP » Size R
4
IGP » Connectivity
5 3.2
3.1
IGP
5.1 5.2
13 13 14 14
A Logical View of the Internet Transit vs. Peering
• Tier 1 ISP
• “Default-free” with global Transit ($$ 1/2)
Transit ($$$)
reachability info ISP P ISP Y
Tier 3
• Tier 2 ISP
Tier 2 Transit ($)
• Regional or country-wide
Tier 2 Customer Transit ($$$) Transit ($$$)
• Tier 3 ISP
• Local Provider ISP Z Peering
ISP X
Tier 1 Tier 1
Transit ($$) Transit ($$) Transit ($$)
Tier 2
15 15 16 16
Policy Impact Outline
z “Valley-free” routing
»Number links as (+1, 0, -1) for
provider, peer and customer z Routing hierarchy
»In
In any path should only see
sequence of +1, followed by at most
one 0, followed by sequence of -1 z Internet structure
z WHY?
»Consider the economics of the
z External BGP (E-BGP)
situation
17 17 18 18
3
2/19/2008
Solution: Distance Vector
Choices with Path
z Link state or distance vector? z Each routing update carries the entire path
» No universal metric – policy decisions z Loops are detected as follows:
z Problems with distance-vector: » When AS gets route, check if AS already in
path
» Bellman-Ford algorithm may not converge
– If yes, reject route
z Problems with link state: – If no, add self and (possibly) advertise route
» Metric used by routers not the same – further
loops z Advantage:
» LS database too large – entire Internet » Metrics are local - AS chooses path,
» May expose policies to other AS’s protocol ensures no loops
19 19 20 20
Interconnecting BGP Peers Hop-by-hop Model
z BGP uses TCP to connect peers
z BGP advertises to neighbors only those
z Advantages: routes that it uses
» Simplifies BGP » Consistent with the hop-by-hop Internet
» No need for periodic refresh - routes are paradigm
valid until withdrawn, or the connection is » e.g., AS1 cannot tell AS2 to route to other
lost AS’s in a manner different than what AS2
» Incremental updates has chosen (need source routing for that)
z Disadvantages z BGP enforces policies by choosing paths
» Congestion control on a routing protocol? from multiple alternatives and controlling
advertisement to other AS’s
» Poor interaction during high load
21 21 22 22
Examples of BGP Policies BGP Messages
z Open
z A multi-homed AS refuses to act as » Announces AS ID
transit » Determines hold timer – interval between
» Limit path advertisement keep_alive or update messages, zero interval
implies no keep_alive
keep alive
z A multi-homed AS can become transit
z Keep_alive
for some AS’s » Sent periodically (but before hold timer expires) to
» Only advertise paths to some AS’s peers to ensure connectivity.
» Sent in place of an UPDATE message
z An AS can favor or disfavor certain z Notification
AS’s for traffic transit from itself » Used for error notification
» TCP connection is closed immediately after
notification
23 23 24 24
4
2/19/2008
BGP UPDATE Message Path Selection Criteria
z List of withdrawn routes z Attributes + external (policy)
z Network layer reachability information information
» List of reachable prefixes
z Examples:
p
z Path attributes » Hop count
» Origin
» Policy considerations
» Path
– Preference for AS
» Metrics
– Presence or absence of certain AS
z All prefixes advertised in message have same
» Path origin
path attributes
» Link dynamics
25 25 26 26
LOCAL PREF LOCAL PREF – Common Uses
z Local (within an AS) mechanism to provide relative
priority among BGP routers (e.g. R3 over R4)
z Peering vs. transit
R5
»Prefer to use peering connection,
AS 200
R1 R2
AS 100 AS 300
why?
z In general, customer > peer > provider
»Use LOCAL PREF to ensure this
R3 Local Pref = 500 Local Pref = 800
R4
I-BGP
AS 256
27 27 28 28
AS_PATH Multi-Exit Discriminator (MED)
z List of traversed AS’s
AS 200 AS 100
z Hint to external neighbors about the preferred
170.10.0.0/16 180.10.0.0/16 path into an AS
»Non-transitive attribute
AS 300
– Different AS choose different scales
z Used when two AS’s connect to each other in
AS 500 180.10.0.0/16 300 200 100 more than one place
170.10.0.0/16 300 200
29 29 30 30
5
2/19/2008
MED MED
z Hint to R1 to use R3 over R4 link • MED is typically used in provider/subscriber scenarios
• It can lead to unfairness if used between ISP because it
z Cannot compare AS40’s values to AS30’s may force one ISP to carry more traffic:
180.10.0.0
MED = 50
R1 R2
AS 10 AS 40 SF
ISP1
ISP2 NY
• ISP1 ignores MED from ISP2
180.10.0.0
MED = 120
180.10.0.0 • ISP2 obeys MED from ISP1
R3 MED = 200 R4 • ISP2 ends up carrying traffic most of the way
AS 30
31 31 32 32
Decision Process Important Concepts
z Processing order of attributes: z Wide area Internet structure and routing
»Select route with highest LOCAL- driven by economic considerations
PREF » Customer, providers and peers
»Select route with shortest AS-PATH z BGP designed to:
» Provide hierarchy that allows scalability
»Apply MED (if routes learned from
» Allow enforcement of policies related to
same neighbor)
structure
z Mechanisms
» Path vector – scalable, hides structure
from neighbors, detects loops quickly
33 33 34 34
Next Lecture: DNS
z How to resolve names like www.google.com
into IP addresses
35 35