Beruflich Dokumente
Kultur Dokumente
May 2003
O. Bonaventure, 2003
Outline
Organization of the global Internet
BGP basics
O. Bonaventure, 2003
BGP and IP
Second example
194.100.2.0/23
AS10
195.100.0.2
195.100.0.0/30
R1 195.100.0.1
194.100.0.0/23
AS30
R2
195.100.0.6
195.100.0.10
BGP
AS20
195.100.0.8/30
195.100.0.9
194.100.4.0/23
R3
BGP
195.100.0.4/30
R4 195.100.0.5
Problem
How can R2 (resp. R4) advertise to R4 (resp. R2)
the routes learned from AS10 (resp. AS30) ?
BGP/2003.3.3
O. Bonaventure, 2003
BGP and IP
Second example (2)
194.100.2.0/23
AS10
195.100.0.2
195.100.0.0/30
R1 195.100.0.1
194.100.0.0/23
AS30
R2
195.100.0.6
195.100.0.10
BGP
IGP
AS20
BGP
195.100.0.8/30
195.100.0.9
194.100.4.0/23
R3
195.100.0.4/30
R4 195.100.0.5
First solution
Use IGP (OSPF/ ISIS,RIP) to carry BGP routes
Drawbacks
IGP may not be able to support so many routes
IGP does not carry BGP attributes like ASPath !
BGP/2003.3.4
O. Bonaventure, 2003
AS Y
AS x
RX
R1
4.0.0.0/ 8 : AS x:AS3:AS6
R2
RY
O. Bonaventure, 2003
AS10
195.100.0.2
195.100.0.0/30
R1 195.100.0.1
eBGP
194.100.0.0/23
AS20
Solution
R2
195.100.0.6
195.100.0.10
R3
195.100.0.8/30
iBGP
195.100.0.9
194.100.4.0/23
AS30
eBGP
195.100.0.4/30
R4 195.100.0.5
Each BGP router inside ASx maintains an iBGP session with all other
BGP routers of ASx (full iBGP mesh)
Note that the iBGP sessions do not necessarily follow physical
BGP/2003.3.6topology
O. Bonaventure, 2003
BGP/2003.3.7
O. Bonaventure, 2003
AS10
194.100.2.0/23
195.100.0.2
195.100.0.0/30
R1 195.100.0.1
eBGP
194.100.0.0/23
AS20
AS30
R2
195.100.0.6
195.100.0.10
R3
195.100.0.8/30
iBGP
eBGP
195.100.0.9
195.100.0.4/30
UPDATE (via iBGP)
Prefix:194.100.0.0/23,
NextHop:195.100.0.1
R4 195.100.0.5 UPDATE (via eBGP)
ASPath: AS10
Prefix:194.100.0.0/23,
194.100.4.0/23
Local-pref:1000
NextHop:195.100.0.5
ASPath: AS20:AS10
AS10
195.100.0.2
195.100.0.0/30
R1 195.100.0.1
eBGP
194.100.0.0/23
AS20
BGP/2003.3.9
194.100.4.0/23
R2
195.100.0.6
195.100.0.10
R3
195.100.0.8/30
iBGP
195.100.0.9
AS30
eBGP
195.100.0.4/30
R4 195.100.0.5
O. Bonaventure, 2003
AS10
195.100.0.2
195.100.0.0/30
R1 195.100.0.1
eBGP
194.100.0.0/23
AS30
R2
195.100.0.6
195.100.0.10
R3
195.100.0.8/30
AS20
iBGP
195.100.0.9
194.100.4.0/23
eBGP
195.100.0.4/30
R4 195.100.0.5
Forwarding of R4
194.100.0.0/ 23 via 195.100.0.10
195.100.0.0/ 30 via 195.100.0.10
195.100.0.4/ 30 East
195.100.0.8/ 30 North
194.100.2.0/ 23 via 195.100.0.10
194.100.4.0/ 23 West
O. Bonaventure, 2003
AS10
195.100.0.2
195.100.0.0/30
R1 195.100.0.1
eBGP
194.100.0.0/23
AS20
AS30
R2
195.100.0.6
R3
R5
iBGP
eBGP
12.0.0.0/8
195.100.0.4/30
Problem
194.100.4.0/23
R4 195.100.0.5
BGP/2003.3.11
O. Bonaventure, 2003
AS10
195.100.0.2
195.100.0.0/30
R1 195.100.0.1
eBGP
194.100.0.0/23
AS20
AS30
R2
195.100.0.6
R3
R5
iBGP
eBGP
195.100.0.4/30
194.100.4.0/23
R4 195.100.0.5
First solution
Use tunnels between BGP routers to
encapsulate interdomain packets
GRE tunnel
MPLS tunnel
BGP/2003.3.12
R5
B4
R1
B3
RB
R2
AS1
R7
RF
RE
RC
B6
RD
BGP/2003.3.13
O. Bonaventure, 2003
AS10
195.100.0.2
195.100.0.0/30
R1 195.100.0.1
eBGP
194.100.0.0/23
AS20
AS30
R2
195.100.0.6
R3
R5
iBGP
eBGP
12.0.0.0/8
195.100.0.4/30
194.100.4.0/23
Second solution
R4 195.100.0.5
AS10
195.100.0.2
195.100.0.0/30
R1 195.100.0.1
eBGP
194.100.0.0/23
AS20
AS30
R2
195.100.0.6
iBGP
R3
R5
iBGP
eBGP
iBGP
12.0.0.0/8
195.100.0.4/30
Third solution
194.100.4.0/23
R4 195.100.0.5
AS10
195.100.0.2
195.100.0.0/30
R1 195.100.0.1
eBGP
194.100.0.0/23
AS20
R2
iBGP
R5
iBGP
iBGP
AS30
195.100.0.4/30
194.100.4.0/23
195.100.0.6
R4
eBGP
R3
12.0.0.0/8
Drawback
N*(N-1)/ 2 iBGP sessions for N routers
R
R
R
iBGP session
BGP/2003.3.17
O. Bonaventure, 2003
Outline
Organization of the global Internet
BGP basics
O. Bonaventure, 2003
Confederations
Divide the large domain in smaller sub-domains
Use iBGP full mesh inside each sub-domain
Use eBGP between sub-domains
Confederation : AS20
R
Member-AS
AS65001
Member-AS
AS65002
R
R
iBGP session
eBGP session
BGP/2003.3.19
O. Bonaventure, 2003
Confederations : example
UPDATE (via eBGP)
Prefix:1.0.0.0/8,
ASPath: AS10
AS20
eBGP
RX
R2
AS10
R6
iBGP eBGP
iBGP
R1
AS65021
iBGP
iBGP
R3
eBGP
AS65020
R5
RY
AS30
O. Bonaventure, 2003
AS20
eBGP
RX
R2
AS10
R6
iBGP eBGP
iBGP
R1
AS65021
iBGP
iBGP
R3
eBGP
AS65020
R5
RY
AS30
O. Bonaventure, 2003
AS20
eBGP
RX
R2
AS10
R6
iBGP eBGP
iBGP
R1
AS65021
iBGP
iBGP
R3
eBGP
AS65020
R5
RY
AS30
O. Bonaventure, 2003
Route reflectors
An alternative to confederations
Route reflectors
A route reflector is a special router that is
allowed to propagate the routes learned over
iBGP sessions on other iBGP sessions
R2
R2
iBGP
iBGP
iBGP
R1
iBGP
iBGP
eBGP
BGP/2003.3.23
R3
RR
iBGP
eBGP
R3
Route
Reflector
O. Bonaventure, 2003
....
iBGP
iBGP
R1
iBGP
RN
RR clients peers
( do not participate in
iBGP full mesh)
RR
iBGP
iBGP
RX
iBGP
RZ
iBGP
RY
BGP/2003.3.24
iBGP
iBGP
Non-clients peers
(participate in iBGP full mesh)
O. Bonaventure, 2003
R2
....
iBGP
iBGP
R1
iBGP
RN
RR
BGP/2003.3.25
RX
iBGP
iBGP
iBGP
iBGP
RZ
iBGP
RY
iBGP
Non-clients peers
O. Bonaventure, 2003
RR clients peers
....
R2
iBGP iBGP
Issue
RR1
iBGP
iBGP
RN
iBGP
RR2
BGP/2003.3.26
AS20
eBGP
RX
R2
AS10
iBGP iBGP
RR1
eBGP
iBGP
iBGP
R3
RZ
RR6
eBGP
R5
RY
AS30
O. Bonaventure, 2003
eBGP
RX
R2
AS10
iBGP iBGP
RR1
RR6
iBGP
iBGP
R3
RZ
eBGP
eBGP
R5
RY
AS30
RR1 will select its best path towards 1.0.0.0/8 and will
re-advertise it by adding the ORIGINATOR_ID and the
CLUSTERID
BGP/2003.3.28
O. Bonaventure, 2003
eBGP
RX
R2
AS10
iBGP iBGP
RR1
eBGP
iBGP
iBGP
R3
RZ
RR6
eBGP
R5
RY
AS30
BGP/2003.3.29
O. Bonaventure, 2003
AS20
eBGP
RX
R2
AS10
iBGP iBGP
RR1
RR6
iBGP
iBGP
R3
eBGP
RZ
eBGP
R5
RY
AS30
O. Bonaventure, 2003
R4
R1
R2
R3
RR4
RR1
R6
RRA
RR5
RR2
RRC
RRB
iBGP session
BGP/2003.3.31
O. Bonaventure, 2003
BGP/2003.3.32
Route reflectors
Confederations
Outline
Organization of the global Internet
BGP basics
O. Bonaventure, 2003
Principle
Optional transitive attribute containing a set of
communities
each community acts as a marker
Standardized communities
NO_EXPORT (0xFFFFFF01)
NO_ADVERTISE (0xFFFFFF02)
Delegated communities
Principle
attach same community value to all routes that
need to receive the same treatment
Prov1
Prov2
$
Peer1
R
R
Peer2
Cust1
Provider
Peer3
R
R
R
Peer4
Cust2
Shared-cost
$ Customer-provider
Customer
BGP/2003.3.35
O. Bonaventure, 2003
BGP/2003.3.36
BGP/2003.3.37
Issues
A router may easily add community values
The community attribute is optional and transitive
BGP/2003.3.38
O. Bonaventure, 2003
Outline
Organization of the global Internet
BGP basics
O. Bonaventure, 2003
BGP/2003.3.40
O. Bonaventure, 2003
Some findings
Received advertisements for 103,853 # AS Paths
But
O. Bonaventure, 2003
AS10
AS20
R
R
BGP/2003.3.42
AS30
BGP session restarded
Software upgrade
Policy change
Peer[1]
Import filter
BGP Msgs
from Peer[1]
Attribute
manipulation
Naive solution
BGP RIB
All
acceptable
routes
BGP Decision
Process
One best
route to each
destination
Peer[N]
Peer[1]
Export filter
Attribute
manipulation
Peer[N]
BGP Msgs
from Peer[N]
BGP Msgs
from Peer[1]
Peer[1]
Import filter
Attribute
manipulation
BGP RIB
All
acceptable
routes
BGP Decision
Process
One best
route to each
destination
Peer[N]
Peer[1]
Export filter
Attribute
manipulation
Principle
Update export filters that need to be changed
For each BGP session using a modified filter
Scan BGP routing tables to determine the BGP
messages to be sent according to the new filter
Send the required BGP messages
BGP/2003.3.44
O. Bonaventure, 2003
Peer[N]
BGP Msgs
from Peer[N]
BGP Msgs
from Peer[1]
Peer[1]
Import filter
Attribute
manipulation
BGP RIB
All
acceptable
routes
BGP Decision
Process
One best
route to each
destination
Peer[N]
Peer[1]
Export filter
Attribute
manipulation
First solution
Store all UPDATE messages (unmodified) received
from each peer before applying the import filter
When an import filter changes
Apply the new filter to the stored UPDATE messages
Drawback
Memory consumption
BGP/2003.3.45
O. Bonaventure, 2003
BGP RIB
All
acceptable
routes
Import filter
Attribute
manipulation
Attribute
manipulation
BGP Decision
Process
One best
route to each
destination
BGP Msgs
from Peer[1]
Second solution
Do not store received UPDATE messages
When an import filter changes
Send the ROUTE_REFRESH BGP message to request
the concerned peer to send again all his messages
Apply the new filter to BGP messages received after the
transmission of the ROUTE_REFRESH
BGP/2003.3.46
O. Bonaventure, 2003
Withdraw
Prefix:1.0.0.0/8
Withdraw
Prefix:1.0.0.0/8
Withdraw
Prefix:1.0.0.0/8
Routing table of A
1/ 8 via R (Path: R) (best)
1/ 8 via B (Path: B-R)
1/ 8 via C (Path: C-R)
Routing table of B
1/ 8 via R (Path: R) (best)
1/ 8 via A (Path: A-R)
1/ 8 via C (Path: C-R)
BGP/2003.3.47
O. Bonaventure, 2003
Withdraw
Prefix:1.0.0.0/8
UPDATE
Prefix:1.0.0.0/8
ASPath:
Routing table of C
1/ 8 via A (Path: A-R)
1/ 8 via B (Path: B-R) (best)
Routing table of A
1/ 8 via B (Path: B-R) (best)
1/ 8 via C (Path: C-R)
Routing table of B
1/ 8 via A (Path: A-R)
R via C (Path: C-R) (best)
O. Bonaventure, 2003
UPDATE
Prefix:1.0.0.0/8
ASPath:
Routing table of C
1/ 8 via A (Path: A-R)
1/ 8 via B (Path: B-R) (best)
Withdraw
Prefix:1.0.0.0/8
Routing table of A
1/ 8 via B (Path: B-R) (best)
1/ 8 via C (Path: C-B-R)
B sends announcements
Routing table of B
1/ 8 via A (Path: A-R)
O. Bonaventure, 2003
Routing table of C
R via A (Path: A-R)
C
Withdraw
Prefix:1.0.0.0/8
Withdraw
Prefix:1.0.0.0/8
Routing table of A
1/ 8 via C (Path: C-B-R)
Routing table of B
1/ 8 via A (Path: A-R)
BGP/2003.3.50
O. Bonaventure, 2003
Advantage
Drawback
BGP/2003.3.51
BGP dampening
Observation
Most routes do not change frequently
A small fraction of the routes are responsible
for most of the BGP messages exchanged
Can we penalize those unstable routes to preserve
the more stable routes ?
Principle
Associate a penalty counter to each route
BGP/2003.3.52
O. Bonaventure, 2003
Cutoff threshold
Reuse threshold
Halftime
BGP/2003.3.53
O. Bonaventure, 2003
BGP/2003.3.54
O. Bonaventure, 2003
Advantages
Only penalizes unstable routes without affecting
usually stable routes
Issues
What are the best configurations values to use ?
BGP/2003.3.55
O. Bonaventure, 2003
Summary
MRAI timer
Dampening
BGP/2003.3.56Route refresh capability
O. Bonaventure, 2003