Instability of BGP ASPP

download report

Transcript Instability of BGP ASPP

Instability of BGP ASPP
Supervised by Prof. Chiu and Prof. John
Presented by Hui Wang
Outline







Introduction to Routing and BGP
AS Relationship and Routing Policy
Inbound Traffic Engineering and ASPP
ASPP at Different Level (my work)
Instability of BGP ASPP (my work)
Future Work
Conclusion
Routing In Internet
 Intradomain vs. Interdomain Routing
 Intradomain:
 Router only knows the topology of its domain.
 Three types of IGP (Interior Gateway Protocol)
 Static routing: Only useful in very small domains
 Distance vector routing : RIP (used in small domain)
 Link-state routing:
 OSPF (enterprise networks)
 Intermediate System- Intermediate-System (ISIS): (widely used by ISPs)
Routing In Internet
 Intradomain vs. Interdomain Routing
 Interdomain Routing (EGP)
 Router knows the domain topology of Internet
 But every domain is a blackbox for EGP
 EGP should be scalable (13,000 AS, 120,000
routes)
 Border Gateway protocol


Designed in early 1990s
Current version 4: 1995
Introduction: BGP Basics
 The two variants of BGP
 eBGP: between border routers of distinct
AS
Used to distribute the interdomain routes to all border routers over
eBGP sessions.
 iBGP: between BGP routers inside AS
Used to distribute the interdomain routes to all routers in same AS
over iBGP sessions. In small networks, these iBGP sessions are
established in a fullmesh. In larger networks, this full-mesh is
replaced by the utilization of route reflectors or confederations.
Introduction: BGP Basics
 An Example: eBGP vs. iBGP
eBGP
R1
R2
R6
R5
R3
R4
iBGP
Introduction: BGP Basics
 Autonomous Systems (AS)
An AS is defined as
a set of routers under a single technical administration. It
means that an AS presents a consistent picture of what
destinations are reachable through it.
Each AS is identified by its AS number (16 bits)
The private AS numbers (range 64512 through 65535) are
reserved for private use and should not be advertised on the
global Internet. (currently, more than 13000 ASes)
A domain is often equivalent to an AS
A domain may be composed of several ASes
Many domains do not have an AS number
Introduction: BGP Principle
 Based on TCP
 Distance vector protocol
- BGP router advertises its best route to each neighbor
- Advertisements are only sent when their routes change (No periodic
advertisement of routes as with RIP)
 Five Types of Message
- Update
- Withdrawal
- Control Message : Open, Notification and Keepalive
Introduction: BGP Message
 Some Fields in BGP Update Message

IP prefixes :List of reachable IP prefixes

AS-PATH: the list of AS through which the announcement passed

NEXT-HOP: the IP address of the router that advertised the route

LOCAL-PREF: can be used for traffic control purposes

MED (Multi-Exit-Discriminator): used for traffic control between neighbors

ORIGIN: how the route was learned (IGP, EGP, Incomplete)

ATOMIC AGGREGATE and AGGREGATOR
Introduction: BGP Message
 An Example
AS4
AS2
AS1
If AS1 send Update Message to AS2:
12.0.0.0/16, AS1, (AS3,AS1)
It means AS1 says: I can reach this prefix
through AS3, if you have traffic to this
prefix, you can send to AS1.
AS3
Prefix: 12.0.0.0/16
Introduction: BGP Feature
 An important feature: BGP allows
each AS to define its own routing
policy...
But how does BGP support different policies?
Introduction: BGP Router Organization

Three tables and two filters
best route to each destination
Only send to some
(not all) destination
BGP RIB
All acceptable routes
Receive
routes from
neighbors
Import
Filter
Import Policy
Determines which BGP Msgs
are acceptable from neighbors.
(maybe assign local-pref to each
route)
BGP decision process
selects the best route
towards each destination
1.Prefer routes with highest
local-pref
2. shortest ASPath
3. with the lowest ORIGIN
attribute
3. smallest MED
4.Prefer routes learned via
eBGP over via iBGP
5. closest next-hop
6. learned from router with
lowest router id
Export
Filter
Export Policy
Introduction: BGP Feature
 Why BGP want to support different routing
policies?
It is because BGP is a routing protocol between ASes. Different ASes
have different commercial interests. The routing policy is
constrained by commercial agreements.
AS1 should announce AS2 the route
to other ASes
AS3
AS1
AS2
Provider
Customer
AS2 can choose to not announce
AS1 the route to AS3
Summary: Introduction to BGP






Routing in Internet

Intradomain vs. Interdomain


eBGP vs. iBGP
AS vs. Domain


TCP
Distance Vector


Five types of Msgs
Some Fields (attribute)

Support Different Routing Policy

Three Tables
BGP Basics
BGP Principle
BGP Message
BGP Feature
BGP Router Organization
 I mentioned that BGP want to support
different routing policies because
there are different agreements
between two ASes. Now:
How the agreements (AS relationship)
affect the routing policy?
Outline







Introduction to Routing and BGP
AS Relationship and Routing Policy
Inbound Traffic Engineering and ASPP
ASPP at Different Level (my work)
Instability of BGP ASPP (my work)
Future Work
Conclusion
AS Relationship:
 Agreement = Relationship
 In practice: Classify AS relationship into
 Provider to Customer
 Peer to Peer
 Provider to Customer: Customer c buys
Internet connectivity from provider P.
 Peer to Peer: AS x and y agree to
exchange traffic between their customers
free of charge.
Routing Policy
 Two kinds of Routing Policy
 Export Routing Policy vs. Import Routing Policy


Import filter
-Specifies which routes can be accepted by the router among all
the received routes from a given neighbor
Export filter
-Specifies which routes can be advertised by the router to a given
neighbor
Export Routing Policy
 It is a conclusion from real world
 An AS does not provide transit service
between its providers and peers.
AS1
AS2
AS4
customer
AS3
Consider:
AS u
AS v is provider(u) or peer(u)
For each best route r of u
If first(r.as_path) is provider(u) or peer(u)
Then: export(v,u)[{r}] = {};
It’s Selective Export Rule!
Export Routing Policy

It has import influence on Routing Table Entry Pattern
Look at some AS Paths in routes of a Routing Table
AS2
AS4
AS1
AS2
AS2
AS3
AS1
AS1
AS3
AS3
AS1,AS2,AS3,AS4
AS1,AS2,AS3
It will not appear in BGP routing table!
AS1,AS2,AS3
This one is OK!
Export Routing Policy
 All AS Path should be Valley Free
 After traversing a provider to customer edge
or a peer to peer edge, the AS Path can not
traverse a customer to provider or peer to
peer edge.
AS Path in Routing Table
Reference will be given in the last part
Export Routing Policy
 A example in a simulation Topology
 See Simulation Tool
Import Routing Policy
 It is implemented by this attribute:
local-preference
Then AS2-AS4 will be selected as the best route by AS4!
Prefix: 12.0.0.0/16
AS2
(12.0.0.0/16, AS2, (AS1,AS2))
AS4
AS1
If AS4 prefer link AS2-AS4,assign high local
preference to this route! (for example: 100)
AS3
(12.0.0.0/16, AS3, (AS1,AS3))
If AS4 prefer link AS2-AS4,assign low local
preference to this route! (for example: 80)
Import Routing Policy
 In real world, how do the router assign
local preference to affect routing?
In most case, the settings corresponds to the economical relationships
between the ASes.
Typical Local Preference!
-Customer Routes have higher local preference than other routes.
(Since provider is paid to carry packets to customer. Also AS thinks
customer is closer to the destination )
- Peer Routes have higher local preference than Provider Routes. (Since
he has to pay for the traffic to his provider)
Due to the utilization of the local preference attribute, some paths on
the Internet are longer than their shortest length.
Import Routing Policy
 A example in a simulation Topology
 See Simulation Tool
Summary: Relationship and Policy
 Relationship
 Provider to Customer
 Peer to Peer
 Routing Policy
 Export Routing Policy
 Selective Export Rule
 Valley Free Routing Table Entry Pattern
 Import Routing Policy
 Typical Local Preference
Outline







Introduction to Routing and BGP
AS Relationship and Routing Policy
Inbound Traffic Engineering and ASPP
ASPP at Different Level (my work)
Instability of BGP ASPP (my work)
Future Work
Conclusion
Inbound Traffic Engineering: Mutihomed

With the development of Internet, many AS became
multihomed, which means it has more than one physical links
to its provider or has more than one providers.

So it will try to control the distribution of inbound traffic and
outbound traffic on each link

Only talk Inbound Traffic Engineering in this presentation.
It has many ways to do inbound traffic engineering!
Inbound Traffic Engineering: Ways
 Obviously, in order to do inbound traffic engineering, AS
needs to send different BGP messages on different links
to influence the BGP decision process of routers in
distant AS.

Selective announcements

Prefix splitting: announce a large prefix on all links for
redundancy, but prefer some links for parts of this prefix
Remember: When forwarding an IP packet, a router will always
select the longest match in its routing table

AS Path Prepending: artificially increase the length of ASPath
Inbound Traffic Engineering: Ways
 Advantages and drawbacks

Selective announcements
always work, but if one prefix is advertised on a single link, it may
become unreachable in case of failure
 Prefix Splitting
better than selective announcements in case of failure. but
increases significantly the size of all BGP tables. some ISPs filter
announcements for long prefixes
 AS-Path prepending
useful for backup link, but besides that, it is difficult to find the
amount of prepending...
AS Path Prepending
 AS Path Prepending: artificially increase the length of
AS-Path
AS5
Here, the traffic from AS5 to AS4 will follow this Path
AS5-AS2-AS4
AS1
AS2
If AS4 want to shift the traffic to link AS3-AS4, it will
send route to AS2 in this way:
(Prefix, AS4, (AS4,AS4,AS4))
So AS5 will select other way because he thinks AS2AS4-AS4-AS4 is longer than AS1-AS3-AS4
AS3
It is called “AS4 prepend link AS2-AS4 twice (or by
two)”. (Note: prepending is directional, AS2 can
prepend link AS4-AS2)
AS4
Community-based ASPP
 AS can ask its provider, to do prepending for it
BGP support the attribute ”community”. AS can
attach special community value to request down
stream router to perform a special action, for
example, to ask the router prepend for him.
AS5
AS1
AS2
So it is called “Community-based AS-Path
prepending”.
In this case, AS4 can ask AS2 to prepend
AS-Path when announcing to AS5.
It is called “AS2 prepends AS5-AS2 for
AS4”
AS3
AS4
Summary: Inbound Traffic Engineering and ASPP




Multihomed
Three Way to Do Inbound Traffic Engineering
AS Path Prepending
Community-based ASPP
 Because BGP support “Community-based ASPP”,
so we can do ASPP at different levels, for
example, prepending at its parents or
prepending at its grandfather.
How does ASPP affect the whole network?
How does ASPP at different levels affect the network?
Outline







Introduction to Routing and BGP
AS Relationship and Routing Policy
Inbound Traffic Engineering and ASPP
ASPP at Different Level (my work)
Instability of BGP ASPP (my work)
Future Work
Conclusion
ASPP at Different Levels
 How to evaluate the influence of ASPP?
 The change of total traffic in the network.
Add up all the traffic on all links.
 The number of affected AS pairs
Affected AS pairs: the routing path between
them changes because of ASPP.
 Network traffic model
 Uniform Distribution: means for any ASi and
ASj, the traffic from ASi to ASj is 10 units.
 See Simulation Tools
ASPP at Different Levels
 Findings
 ASPP will increase the total traffic of the
network.
 ASPP at high level has less influence on
local traffic and the whole Internet.
Attention: These are simulation results of some
random topology, not general conclusion. We
need a good network topology model for realworld Internet!
ASPP at Different Levels
 If it is true in real Internet
 When we want to shift a little traffic to
the other link, we can ask the parents to
do ASPP for us. It has less influence on
the whole Internet.
Outline







Introduction to Routing and BGP
AS Relationship and Routing Policy
Inbound Traffic Engineering and ASPP
ASPP at Different Level (my work)
Instability of BGP ASPP (my work)
Future Work
Conclusion
Instability of BGP ASPP
 My Network Model
 Every AS obeys Exporting Routing Policy
 AS does not provide transit service between
any two of its providers or peers. So all AS
paths in routing table should be valley-free.
 Every AS obeys Importing Routing Policy
 Customer route is preferred over peer route,
and peer route over provider route.
 Uniform Traffic Distribution
Instability of BGP ASPP
 Network Model:
 Every AS wants to do inbound traffic load
balance through ASPP.
 So he will try to prepend the most
heavy-loaded link and predict what will
happen. If the prepending helps him to
balance his traffic, he will do it.
Otherwise, he will give up and thinks he
has got optimal result.
Instability of BGP ASPP
 It is an abstract simple example:
Internet
Link1
Link2
Link3
AS1
AS2
Time Slot 1 Time Slot 2
Time 1
Link4
Time 2
………
Time 3
At time1, Internet is stable.
In time slot 1, AS1 find link1
has heavy traffic and
prepending this link is
helpful, he do it. This
prepending affects the whole
Internet. After some time, at
time2, Internet become
stable. But AS2 find his
traffic is skewed, so he do
prepending. AS2 also affects
AS1, then in time slot 3, AS1
do prepending again…If
every AS find he has had
nothing to do to get better
results, I call this process
“converged”. Will this process
converge after some time?
Instability of BGP ASPP
 Distributed Greedy ASPP Algorithm :
 Does ASi have more than one providers?
 If it doesn’t have, stop;
 Otherwise, continue.
 Find the heavy-loaded link
 Predict if it will have better balance after prepend this
link by one.
 If it will have, then do it.
 Otherwise, predict the result of prepending it by two. If
it helps him, do it.
 Otherwise, predict the result of prepending it by three.
If it helps him, do it.
 If all these prepending don’t help, it has got best results,
it stops.
 If all ASes stop, the process is converged.
Instability of BGP ASPP
 How to evaluate the traffic balance?
 Formula: (AS has n links to providers)
n
( X i ) 2
Balance coefficient =
i 1
n
n  X i2
i 1
Instability of BGP ASPP
 See the simulation
 Two cases which will never converge.
 Analyze these cases
 Do prepending in sequence will reduce
the probability of non-convergence.
Outline







Introduction to Routing and BGP
AS Relationship and Routing Policy
Inbound Traffic Engineering and ASPP
ASPP at Different Level (my work)
Instability of BGP ASPP (my work)
Future Work
Conclusion
Future Work on ASPP
 Try to find a way to model the AS topology of real-world
Internet, so I can draw some general conclusions.
 Based on the model, try to conclude the reason and the
pattern of ASPP cycle (or loop).
 Based on it, try to find if there is a practical way to
prevent ASPP cycle.
 If there is no practical way, try to find all the AS that
form the cycle. (John said maybe they could negotiate
and find some solution:-)
My Current Question:
 Some papers said ASPP is not a effective
way to do inbound traffic engineering, so
will my future work be useful in real world?
However, BGP is really an important research area. Any
successful research results in this area will be significant
for the development of Internet. In fact, it has been a
hot topic in these three years.
Why BGP is “hot”: Growth in Table Size
The reasons for the recent growth
 Fraction of IPv4 address space advertised





24 % of total IPv4 space in 2000
28 % of total IPv4 space in April 2003


About 3000 ASes in early 1998
More than 13000 ASes in April 2003


Less than 1000 multi-homed stub ASes in early 1998
More than 6000 multi-homed stub ASes April 2003
Increase in number of ASes
Increase in multi-homing
Increase in advertisement of small prefixes
Number of IPv4 addresses advertised per prefix
 In late 1999, 16k IPv4 addr. per prefix in BGP tables
 In April 2003, 8k IPv4 addr. per prefix in BGP tables
Why BGP is “hot”: Issues and Challenges
 How to sustain the growth of the Internet?
 In theory anyone can announce its routes with BGP, In
practice, BGP routing tables cannot be infinite...
 BGP should react quickly to link failures.
 An ISP should be able to control the flow of its
interdomain traffic.
 Security of interdomain routing.
 Path length was a good indicator only for 50% of the
considered paths.
Conclusion
 '' BGP is running on more than 100K
routers (my estimate), making it one
of the world's largest and most visible
distributed system. Global dynamics
and scaling principles are still not well
understood...''
Tim Griffin, AT&T Research
Reference

1. Lixin Gao, On inferring autonomous system relationships in
the internet, IEEE/ACM Transactions on Networking (TON), v.9
n.6, p.733-745, December 2001

2. Feng Wang, Lixin Gao, On inferring and characterizing
internet routing policies, Proceedings of the conference on
Internet measurement conference, October 27-29, 2003,
Miami Beach, FL, USA
Thank You.