You are on page 1of 12

Summary

Inter-Domain Routing • The Story So Far…


– Routing protocols generate the forwarding table
– Two styles: distance vector, link state
BGP (Border Gateway Protocol)
– Scalability issues:
• Distance vector protocols suffer from count-to-infinity
• Link state protocols must flood information through network
• The points of significance:
– How to make routing protocols support large
networks
– How to make routing protocols support business
policies
2

Outline Routing Hierarchies


• Flat routing doesn’t scale
• Routing hierarchy – Storage  Each node cannot be expected to store
routes to every destination (or destination
network)
• Internet structure – Convergence times increase
– Communication  Total message count increases
• External BGP (E-BGP) • Key observation
– Need less information with increasing distance to
destination
• Internal BGP (I-BGP) – Need lower diameters networks
• Solution: area hierarchy
3 4

1
Areas Routing Hierarchy
Area-Border Backbone Areas
• Divide network into areas Router

– Areas can have nested sub-areas


• Hierarchically address nodes in a network Lower-level Areas

– Sequentially number top-level areas


– Sub-areas of area are labeled relative to that area
• Partition Network into “Areas”
– Nodes are numbered relative to the smallest – Within area
containing area • Each node has routes to every other node
– Outside area
• Each node has routes for other top-level areas only
• Inter-area packets are routed to nearest appropriate border router
• Constraint: no path between two sub-areas of an area can exit that area

5 6

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 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 8

2
Outline A Logical View of the Internet?
• After looking a
RIP/OSPF descriptions
• Routing hierarchy • End-hosts connected to
routers
• Routers exchange
• Internet structure messages to determine
R

connectivity R R R

• External BGP (E-BGP) • NOT TRUE! R

• Internal BGP (I-BGP)

9 10

Internet’s Area Hierarchy AS Numbers (ASNs)

• What is an Autonomous System (AS)? ASNs are 16 bit values 64512 through 65535 are “private”
– A set of routers under a single technical Currently over 15,000 in use
administration, using an interior gateway protocol • Genuity: 1
(IGP) and common metrics to route packets within • MIT: 3
the AS and using an exterior gateway protocol • JANET: 786
(EGP) to route packets to other AS’s • UC San Diego: 7377
– Sometimes AS’s use multiple IGPs and metrics, but • AT&T: 7018, 6341, 5074, …
appear as single AS’s to other AS’s
• UUNET: 701, 702, 284, 12199, …
• Each AS assigned unique ID • Sprint: 1239, 1240, 6211, 6242, …
• AS’s peer at network exchanges • …
ASNs represent units of routing policy
11 12

3
Example A Logical View of the Internet?
1 2 • RIP/OSPF not very
2.1 IGP
IGP
2.2 scalable  area
EGP
1.1
hierarchies ISP ISP
1.2 2.2.1

• NOT TRUE EITHER! R


EGP
EGP • ISP’s aren’t equal R R R
3 EGP – Size
4.1 4.2
EGP IGP – Connectivity R
4
IGP
5 3.2
3.1
IGP

5.1 5.2

13 14

A Logical View of the Internet Transit vs. Peering


• Tier 1 ISP
• “Default-free” with global Transit
Transit
reachability info ISP Y
Tier 3 ISP P
• Tier 2 ISP
• Regional or country-wide Tier 2 Transit

• Tier 3 ISP Tier 2 Customer Transit Transit


• Local Provider ISP Z Peering
ISP X
Tier 1 Tier 1
Transit Transit Transit
Tier 2

15 16

4
Outline Choices
• Link state or distance vector?
• Routing hierarchy – No universal metric – policy decisions
• Problems with distance-vector:
• Internet structure – Bellman-Ford algorithm may not converge
• Problems with link state:
• External BGP (E-BGP) – Metric used by routers not the same – loops
– LS database too large – entire Internet
• Internal BGP (I-BGP) – May expose policies to other AS’s

17 18

Solution: Distance Vector with


Path Interconnecting BGP Peers
• Each routing update carries the entire path • BGP uses TCP to connect peers
• Loops are detected as follows: • Advantages:
– When AS gets route check if AS already in path – Simplifies BGP
• If yes, reject route – No need for periodic refresh - routes are valid
until withdrawn, or the connection is lost
• If no, add self and (possibly) advertise route further
– Incremental updates
• Advantage:
• Disadvantages
– Metrics are local - AS chooses path, protocol
– Congestion control on a routing protocol?
ensures no loops
– Poor interaction during high load

19 20

5
Hop-by-hop Model Policy with BGP
• BGP advertises to neighbors only those routes • BGP provides capability for enforcing various
that it uses policies
– Consistent with the hop-by-hop Internet paradigm • Policies are not part of BGP: they are provided
– e.g., AS1 cannot tell AS2 to route to other AS’s in a to BGP as configuration information
manner different than what AS1 has chosen (need
• BGP enforces policies by choosing paths from
source routing for that)
multiple alternatives and controlling
advertisement to other AS’s

21 22

Examples of BGP Policies BGP Messages


• A multi-homed AS refuses to act as transit • Open
– Announces AS ID
– Limit path advertisement
– Determines hold timer – interval between keep_alive or
• A multi-homed AS can become transit for update messages, zero interval implies no keep_alive
some AS’s • Keep_alive
– Sent periodically (but before hold timer expires) to peers
– Only advertise paths to some AS’s to ensure connectivity.
– Sent in place of an UPDATE message
• An AS can favor or disfavor certain AS’s for • Notification
traffic transit from itself – Used for error notification
– TCP connection is closed immediately after notification

23 24

6
BGP UPDATE Message Path Selection Criteria
• List of withdrawn routes • Information based on path attributes
• Network layer reachability information • Attributes + external (policy) information
– List of reachable prefixes • Examples:
• Path attributes – Hop count
– Origin – Policy considerations
– Path • Preference for AS
– Metrics • Presence or absence of certain AS
– Path origin
• All prefixes advertised in message have same
path attributes – Link dynamics

25 26

LOCAL PREF LOCAL PREF – Common Uses


• Local (within an AS) mechanism to provide • Handle routes advertised to multi-homed
relative priority among BGP routers transit customers
R5
– Should use direct connection
R1 AS 200
R2 • Peering vs. transit
AS 100 AS 300
– Prefer to use peering connection, why?
• In general, customer > peer > provider
– Use LOCAL PREF to ensure this
R3 Local Pref = 500 Local Pref =800
R4
I-BGP
AS 256

27 28

7
AS_PATH Multi-Exit Discriminator (MED)
• List of traversed AS’s • Hint to external neighbors about the preferred
path into an AS
AS 200
170.10.0.0/16
AS 100
180.10.0.0/16
– Non-transitive attribute
– Different AS choose different scales
• Used when two AS’s connect to each other in
AS 300
more than one place

AS 500 180.10.0.0/16 300 200 100


170.10.0.0/16 300 200

29 30

MED MED
• MED is typically used in provider/subscriber scenarios
• Hint to R1 to use R3 over R4 link
• It can lead to unfairness if used between ISP because it
• 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 32

8
Decision Process Outline
• Processing order of attributes:
– Select route with highest LOCAL-PREF • Routing hierarchy
– Select route with shortest AS-PATH
– Apply MED (if routes learned from same neighbor) • Internet structure

• External BGP (E-BGP)

• Internal BGP (I-BGP)

33 34

Internal vs. External BGP Internal BGP (I-BGP)


•BGP can be used by R3 and R4 to learn routes • Same messages as E-BGP
•How do R1 and R2 learn routes?
• 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
R1 E-BGP advertised to another I-BGP neighbor
AS1 R3 R4 AS2 – Reason: no AS PATH within the same AS and thus
R2 danger of looping.

35 36

9
Internal BGP (I-BGP) Important Concepts
• R3 can tell R1 and R2 prefixes from R4
• R3 can tell R4 prefixes from R1 and R2 • Wide area Internet structure and routing driven
• R3 cannot tell R2 prefixes from R1 by economic considerations
– Customer, providers and peers
R2 can only find these prefixes through a direct connection to R1
Result: I-BGP routers must be fully connected (via TCP)! • BGP designed to:
•contrast with E-BGP sessions that map to physical links – Provide hierarchy that allows scalability
– Allow enforcement of policies related to structure
R1
• Mechanisms
E-BGP – Path vector – scalable, hides structure from neighbors,
AS1 R3 R4 AS2 detects loops quickly
R2 – IBGP structure/requirements – reuse of BGP, need for
I-BGP a fully connected mesh

37 38

History
• Mid-80s: EGP
– Reachability protocol (no shortest path)
EXTRA SLIDES – Did not accommodate cycles (tree topology)
– Evolved when all networks connected to NSF
backbone
The rest of the slides are FYI • Result: BGP introduced as routing protocol
– Latest version = BGP 4
– BGP-4 supports CIDR
– Primary objective: connectivity not performance

40

10
Link Failures Failure on an E-BGP Link
• If the link R1-R2 goes down
• Two types of link failures: • The TCP connection breaks
– Failure on an E-BGP link • BGP routes are removed
– Failure on an I-BGP Link • This is the desired behavior

• These failures are treated completely different


in BGP E-BGP session
• Why? AS1 R1 R2 AS2
Physical link

138.39.1.1/30 138.39.1.2/30

41 42

Failure on an I-BGP Link BGP Common Header


•If link R1-R2 goes down, R1 and R2 should still be able to
exchange traffic
•The indirect path through R3 must be used 0 1 2 3
•Thus, E-BGP and I-BGP must use different conventions with
respect to TCP endpoints Marker (security and message delineation)
16 bytes
138.39.1.2/30 R2
Physical link Length (2 bytes) Type (1 byte)
138.39.1.1/30
R1 R3
I-BGP connection Types: OPEN, UPDATE, NOTIFICATION, KEEPALIVE

43 44

11
CIDR and BGP Options
• Advertise all paths:
– Path 1: through T can reach 197.8.0.0/23
AS X
197.8.2.0/24
– Path 2: through T can reach 197.8.2.0/24
AS T (provider)
197.8.0.0/23
– Path 3: through T can reach 197.8.3.0/24
AS Z
AS Y
197.8.3.0/24
• But this does not reduce routing tables! We
would like to advertise:
– Path 1: through T can reach 197.8.0.0/22
What should T announce to Z?

45 46

Sets and Sequences Other Attributes


• Problem: what do we list in the route? • ORIGIN
• List T: omitting information not acceptable, may lead to – Source of route (IGP, EGP, other)
loops
• List T, X, Y: misleading, appears as 3-hop path • NEXT_HOP
• Solution: restructure AS Path attribute as: – Address of next hop router to use
• Path: (Sequence (T), Set (X, Y)) • Check out http://www.cisco.com for full
• If Z wants to advertise path:
– Path: (Sequence (Z, T), Set (X, Y)) explanation
• In practice used only if paths in set have same attributes

47 48

12

You might also like