Documente Academic
Documente Profesional
Documente Cultură
Bonaventure, 2003
Outline
BGP basics
AS10 AS30
195.100.0.2
R2
195.100.0.0/30 195.100.0.10 195.100.0.6
R1 195.100.0.1 R3
BGP
194.100.0.0/23 195.100.0.8/30 BGP
AS20
195.100.0.9 195.100.0.4/30
194.100.4.0/23 R4 195.100.0.5
Problem
How can R2 (resp. R4) advertise to R4 (resp. R2)
AS10 AS30
195.100.0.2
R2
195.100.0.0/30 195.100.0.10 195.100.0.6
R1 195.100.0.1 R3
BGP
194.100.0.0/23 IGP BGP
AS20 195.100.0.8/30
195.100.0.9 195.100.0.4/30
194.100.4.0/23 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
belonging to AS7007
These routes were shorter than the real routes ...
AS10 AS30
195.100.0.2
R2
195.100.0.0/30 195.100.0.10 195.100.0.6
R1 195.100.0.1 R3
eBGP
194.100.0.0/23 195.100.0.8/30
AS20 iBGP eBGP
195.100.0.9 195.100.0.4/30
194.100.4.0/23 R4 195.100.0.5
Solution
Use BGP to carry routes between all routers of domain
AS10 AS30
195.100.0.2
R2
195.100.0.0/30 195.100.0.10 195.100.0.6
R1 195.100.0.1 R3
eBGP
194.100.0.0/23 195.100.0.8/30
AS20 iBGP eBGP
AS10 AS30
195.100.0.2
R2
195.100.0.0/30 195.100.0.10 195.100.0.6
R1 195.100.0.1 R3
eBGP
194.100.0.0/23 195.100.0.8/30
AS20 iBGP eBGP
195.100.0.9 195.100.0.4/30
BGP routing table of R2
194.100.0.0/ 23 via 195.100.0.1 194.100.4.0/23 R4 195.100.0.5
AS10 AS30
195.100.0.2
R2
195.100.0.0/30 195.100.0.10 195.100.0.6
R1 195.100.0.1 R3
eBGP
194.100.0.0/23 195.100.0.8/30
AS20 iBGP eBGP
195.100.0.9 195.100.0.4/30
194.100.4.0/23 R4 195.100.0.5
BGP routing table of R4
194.100.0.0/ 23 via 195.100.0.1
Forwarding of R4
IGP routing table 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.0/ 30 via 195.100.0.10
195.100.0.4/ 30 East 195.100.0.4/ 30 East
195.100.0.8/ 30 North 195.100.0.8/ 30 North
194.100.2.0/ 23 via 195.100.0.10 194.100.2.0/ 23 via 195.100.0.10
194.100.4.0/ 23 West 194.100.4.0/ 23 West
BGP/2003.3.10 O. Bonaventure, 2003
Using non-BGP routers
194.100.2.0/23
AS10 AS30
195.100.0.2
R2
195.100.0.0/30 195.100.0.6
R1 195.100.0.1 R3
eBGP
194.100.0.0/23 R5
AS20 iBGP eBGP
12.0.0.0/8
195.100.0.4/30
194.100.4.0/23 R4 195.100.0.5
Problem
What happens when there are internal backbone
AS10 AS30
195.100.0.2
R2
195.100.0.0/30 195.100.0.6
R1 195.100.0.1 R3
eBGP
194.100.0.0/23 R5
AS20 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
MPLS tunnel
Can be dynamically established in MPLS enabled backbone
RG
RH
RA B4 R5
Egress Border router
packets are
R1 label switched
B6 R7 RF
RB B3
R2 AS1 RE
RC
Ingress Border router
Maintains full BGP routing table
RD
Attach two labels based on routing table
AS10 AS30
195.100.0.2
R2
195.100.0.0/30 195.100.0.6
R1 195.100.0.1 R3
eBGP
194.100.0.0/23 R5
AS20 iBGP eBGP
12.0.0.0/8
195.100.0.4/30
194.100.4.0/23 R4 195.100.0.5
Second solution
Use IGP (OSPF/ IS-IS - RIP) to redistribute
AS10 AS30
195.100.0.2
R2
195.100.0.0/30 iBGP 195.100.0.6
R1 195.100.0.1 R3
eBGP
194.100.0.0/23 R5
AS20 iBGP eBGP
iBGP 12.0.0.0/8
195.100.0.4/30
194.100.4.0/23 R4 195.100.0.5
Third solution
Run BGP on internal backbone routers
BGP/2003.3.15
advertised over another iBGP session O. Bonaventure, 2003
The roles of IGP and BGP
194.100.2.0/23
AS10 195.100.0.2
R2
195.100.0.0/30 iBGP
R1 195.100.0.1
eBGP
194.100.0.0/23 R5
AS20 iBGP
iBGP
AS30
195.100.0.4/30
R4 195.100.0.6
194.100.4.0/23 R3
eBGP
12.0.0.0/8
Distribute internal topology and internal addresses
R2-R4-R5)
Role of BGP inside AS20
Drawback
N*(N-1)/ 2 iBGP sessions for N routers
R R
R
R
R
R
R R
R
iBGP session
BGP basics
Member-AS R R
AS65001 R iBGP session
R
eBGP session
R3 eBGP
AS65020 R5 RY
AS30
R3 eBGP
AS65020 R5 RY
AS30
R3 eBGP
AS65020 R5 RY
AS30
eBGP R2 eBGP R2
iBGP
iBGP
iBGP R1
iBGP RR
iBGP
iBGP Route
eBGP R3 Reflector
eBGP R3
iBGP iBGP
iBGP
iBGP
RX RZ
iBGP iBGP
RY
Non-clients peers
(participate in iBGP full mesh)
R1 R2 .... RN
Advertise to
iBGP
Route received from iBGP
iBGP
non-client peer
iBGP
Select best path
RX RZ
iBGP iBGP
Advertise to :
RY
All client peers
Non-clients peers
RR1
UPDATE (via eBGP) iBGP
Prefix:1.0.0.0/8, iBGP
ASPath: AS10
R3 eBGP
R5 RY
RZ eBGP
AS30
RR1
iBGP
iBGP
R3 eBGP
R5 RY
RZ eBGP UPDATE (via iBGP) AS30
Prefix:1.0.0.0/8,
ASPath: AS10
Nexthop:RZ
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
Route reflectors : an example (3)
UPDATE (via iBGP)
Prefix:1.0.0.0/8,
ASPath: AS10
Nexthop:RX
ORIGINATOR_ID:R2
CLUSTER_ID:RR1 AS20
eBGP
RX R2
RR6
AS10 UPDATE (via iBGP) iBGP iBGP
Prefix:1.0.0.0/8,
ASPath: AS10
Nexthop:RX RR1
iBGP
ORIGINATOR_ID:R2
CLUSTER_ID:RR1 iBGP
R3 eBGP
R5 RY
RZ eBGP
AS30
RR1
iBGP
iBGP
R3 eBGP
R5 RY
RZ eBGP
AS30
R4 R5
R1
RR4
R6
RR1 RRA
R2
RR2 RR5
R3
RRC
RRB
iBGP session
Redundancy with Redundancy by
iBGP full-mesh using Redundant
inside each RRs
MemberAS Usually a single IGP
Possible to run one for the whole AS
Requires manual router configuration
router configuration
Can be used when
routing oscillations
BGP/2003.3.32 O. Bonaventure, 2003
Outline
BGP basics
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
Prov1 Prov2
$ $
Peer1 Peer3
R R
R R
R R Peer4
Peer2
Route learned from $ $
Peer
Cust1 Cust2 Shared-cost
Provider
$ Customer-provider
Customer
BGP/2003.3.35 O. Bonaventure, 2003
More complex routing policies
with communities
Other utilizations of communities
Research ISP providing two types of services
customers
BGP/2003.3.36 O. Bonaventure, 2003
Other utilizations of communities
S : Peer or Customer
R : Regional Code
Issues
A router may easily add community values
BGP basics
Some findings
Received advertisements for 103,853 # AS Paths
But
R R R R R
AS20 R
AS10 AS30
R R
BGP session restarded
R R Software upgrade
Policy change
Interdomain link goes up/down
Intradomain link goes up/down
Prefix is reachable/non-reachable
Each IGP transition causes AS20 to
BGP/2003.3.42
transmit a new BGP message O. Bonaventure, 2003
Changes in BGP policies
Principle
Update export filters that need to be changed
Second solution
Do not store received UPDATE messages
A B
Routing table of A Routing table of B
1/ 8 via R (Path: R) (best) 1/ 8 via R (Path: R) (best)
1/ 8 via B (Path: B-R) 1/ 8 via A (Path: A-R)
1/ 8 via C (Path: C-R) 1/ 8 via C (Path: C-R)
Routers will process the withdraw message and ...
Prefix:1.0.0.0/8
R
A B
R
A Withdraw B
Prefix:1.0.0.0/8
Routing table of A Routing table of B
1/ 8 via B (Path: B-R) (best) 1/ 8 via A (Path: A-R)
1/ 8 via C (Path: C-B-R)
C learns a longer path towards 1/8
B sends a withdraw to A since its only route is via A
Withdraw
Prefix:1.0.0.0/8
R
A Withdraw B
Prefix:1.0.0.0/8
Advantage
Observation
Most routes do not change frequently
Principle
Associate a penalty counter to each route
Advantages
Only penalizes unstable routes without affecting
Issues
What are the best configurations values to use ?
domain
iBGP sessions inside a domain
Full mesh (unscalable)
MRAI timer
Dampening
BGP/2003.3.56Route refresh capability O. Bonaventure, 2003