AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local...
Transcript of AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local...
![Page 2: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/2.jpg)
ISP goal (one ASN)
![Page 3: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/3.jpg)
BGP Decision Process
Step Attribute Transit
1 Highest Local Preference value Non-transit
2 Lowest AS Path length Transit
3 Lowest Origin type Transit
4 Lowest MED Non-transit
5 eBGP learned over iBGP learned Automatic
6 Lowest IGP cost to border router Local configuration
7 Lowest router Id Local configuration
Send traffic with maximum benefit.
![Page 4: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/4.jpg)
BGP Decision Process
Step Attribute Transit
1 Highest Local Preference value Non-transit
2 Lowest AS Path length Transit
3 Lowest Origin type Transit
4 Lowest MED Non-transit
5 eBGP learned over iBGP learned Automatic
6 Lowest IGP cost to border router Local configuration
7 Lowest router Id Local configuration
Get rid of traffic as soon as possible!
![Page 5: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/5.jpg)
ISP goal (multiple ASNs)
𝑃𝑟𝑜𝑓𝑖𝑡 𝐴𝑆𝑁1 + 𝐴𝑆𝑁2 > 𝑃𝑟𝑜𝑓𝑖𝑡 𝐴𝑆𝑁1 + 𝑃𝑟𝑜𝑓𝑖𝑡 𝐴𝑆𝑁2
![Page 6: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/6.jpg)
Multiple ASNs – One ISP
ASN 1 ASN 2
Upstreams Upstreams
Clients Clients
Peers Peers
ISP
1
Not so fast…
![Page 7: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/7.jpg)
ASN 1
ASN 2
Pref Transmission
ASN 3
ISP
ASN1 ASN2
a. Assign pref
![Page 8: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/8.jpg)
ASN 1
ASN 2
Pref Transmission
ASN 3
ISP
ASN1 ASN2
a. Assign pref
b. Community -> pref
![Page 9: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/9.jpg)
ASN 1
ASN 2
Pref Transmission
ASN 3
ISP
ASN1 ASN2
a. Assign pref
b. Community -> pref
c. Community -> Pref
![Page 10: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/10.jpg)
ASN 1
ASN 2
‘Hot potato’ routing
ASN 3
ISP
Prepend 1
ASN 1 ASN 2
AS Path 3 3 3
External
External
![Page 11: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/11.jpg)
ASN 1
ASN 2
‘Hot potato’ routing
ASN 3
ISP
Prepend 1
ASN 1 ASN 2
AS Path 3 3 3
External
External
![Page 12: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/12.jpg)
ASN 1
ASN 2
‘Hot potato’ routing
ASN 3
ISP
Prepend 1
ASN 1 ASN 2
AS Path 2 3 3
External
External
![Page 13: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/13.jpg)
ASN 1
ASN 2
Securing ‘Hot potato’ routing
ASN 3
ISP
Prepend 1
ASN 1 ASN 2
AS Path 3 3 3
3->1 3->2 2->1 1->2
Origin IGP IGP EGP EGP
External
External
![Page 14: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/14.jpg)
ASN 1
ASN 2
Securing ‘Hot potato’ routing
ASN 3
ISP
Prepend 1
ASN 1 ASN 2
AS Path 3 3 3
Isolation
External
External
![Page 15: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/15.jpg)
Path Length: Increased
ASN 1 ASN 2
Peer ASN 3
ISP
Customer ASN 4
ASN 1 ASN 2 ASN 4
AS Path 3 1 3 2 1 3
![Page 16: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/16.jpg)
Path Length: Route Loops
ASN 1 ASN 2
Peer ASN 3
ISP
Customer ASN 4
ASN 1 ASN 2 ASN 4
AS Path 4 2 3 3 2 3
no-prepend
![Page 17: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/17.jpg)
Multiple ASNs – One Network
Target Plain BGP
Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref
‘Hot potato’ routing Origin modification / router isolation
Path length Increased / Loop Risk
Route Leak prevention Community synchronization
There is no simple way!
![Page 18: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/18.jpg)
rfc7705: Autonomous System Migration Mechanisms
![Page 19: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/19.jpg)
rfc7705: Local ASN capability
ASN 1 Global ASN 1 Local ASN 2
OPEN OPEN
BGP session will be established if: ASN in OPEN message = Local ASN OR ASN in OPEN message = Global ASN
![Page 20: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/20.jpg)
1. Add Local AS capability to RR
2. Unite ALL RR in one cluster
3. Slow migration to ASN 1
rfc7705: Migration ASN2 to ASN1
ASN 1
Global ASN 1 Local ASN 2
ISP
RR Cluster
![Page 21: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/21.jpg)
rfc7705: Multiple ASNs – One Network
Target rfc 7705
Preference transmission 1. Synchronize Local Preference Values
2. Unite all RR in cluster
‘Hot potato’ routing Built in
Path length Partial increased / Loop Risk
Route Leak prevention Community synchronization
What if you have single RR in legacy AS? What if you have more than two networks to migrate?
![Page 22: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/22.jpg)
rfc5065: ASN Confederations
Sub-ASN 65000
Sub-ASN 65001
ASN 1
A collection of autonomous systems represented and advertised as a single AS number to BGP speakers that are not members of the local BGP confederation.
![Page 23: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/23.jpg)
rfc5065: Internal Routing
Sub-ASN 65000 Sub-ASN 65001
ASN 1
ASN 2
ASN 3
AS_CONFED
ASN 1 ASN 65000 ASN 65001 ASN 3
AS Path 1 1 (65000) 1 2 1
![Page 24: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/24.jpg)
rfc5065: Multiple sub-ASNs – One ASN
Target rfc5065
Preference transmission 1. Synchronize Local Preference Values
2. Synchronize confederation list
‘Hot potato’ routing Built in
Path length Not increased
Route Leak prevention Community synchronization
How to extend to multi-ASN level?
![Page 25: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/25.jpg)
ISP Border Definition
BGP Session is Internal if:
Neighbor ASN = Local ASN Plain BGP
Neighbor ASN = Global or Local ASN rfc5065
Neighbor ASN in Confederations list rfc7705
Next technical problem – next ad-hoc?
![Page 26: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/26.jpg)
The Neighbor Roles
OPEN with internal role
OPEN with peer role
Notification Notification
4 pairs of non-conflict roles: 1. Peer <---> Peer 2. Customer <---> Provider 3. Complex <---> Complex 4. Internal <---> Internal
![Page 27: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/27.jpg)
Preventing Route Leaks
If route was learned from a provider or peer it should not be announced to another provider or peer
Set iOTC if neighbor is customer or peer
Internal Session No iOTC change
Filter routes if iOTC is set and neighbor is customer or peer
iOTC – internal Only To Customer attribute (zero size)
![Page 28: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/28.jpg)
ISP Border Definition
OPEN with Internal role
OPEN with Internal role
Enable transmission of local attributes through If both sides are Internal
OPEN OPEN
![Page 29: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/29.jpg)
ASN 1
ASN 2
Securing ‘Hot potato’ routing
ASN 3
ISP
Prepend 1
ASN 1 ASN 2
AS Path 3 3 3
External
Internal
![Page 30: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/30.jpg)
Multiple ASNs – One Network
Target BGP + roles
Preference transmission 1. Synchronize Local Preference Values
2. Synchronize roles
‘Hot potato’ routing Built in
Path length Increased / Loop Risk
Route Leak prevention Built in
![Page 31: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/31.jpg)
ISP Confederations
ASN 1
ASN 2
ISP
A collection of autonomous systems represented and advertised as a single AS number BGP speakers that are not members of the local BGP confederation.
![Page 32: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/32.jpg)
Loop Prevention
Internal Routing – likewise ASN confederation;
External Routing – filter routes with AS Path segments from confederation list;
These two rules guarantees loop free scenario!
![Page 33: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/33.jpg)
Path Length
ASN 1 ASN 2
Peer ASN 3
ISP
Customer ASN 4
ASN 1 ASN 2 ASN 4
AS Path 3 3 (1) 2 3
AS_CONFED
filtered
![Page 34: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/34.jpg)
A Simple Config
protocol bgp IAMOPERATOR_1 {
local as MY_AS1;
neighbor X.X.X.X as MY_AS2;
role internal;
confederation MY_AS1, MY_AS2;
}
![Page 35: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/35.jpg)
Multiple ASNs – One Network
Target BGP + Roles + ISP Confederations
Preference transmission 1. Synchronize Local Preference Values
2. Synchronize roles 3. Synchronize Confederation List
‘Hot potato’ routing Built in
Path length Not increased
Route Leak prevention Built in
There was no simple way!
![Page 36: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/36.jpg)
Migration Process
Roles deployment at connection links
Roles deployment at ISP level
ISP Confederation At ISP level
Pref transmition ‘hot potato’ routing
Route Leak prevention
No increase of AS Path
![Page 37: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/37.jpg)
Summary
• ASN union vs ASN migration;
• Utilization with BGP confederations;
• Simplified configuration with no AS Path increase;
• Route Leak prevention;
• No affect on networks with single ASN.
![Page 38: AS Border Definition - RIPE 73 · Target Plain BGP Preference transmission 1. Synchronize Local Preference Values 2. Local-pref->Community->Local_pref ‘Hot potato’ routing Origin](https://reader033.fdocuments.net/reader033/viewer/2022042305/5ed079ac95646c550611f338/html5/thumbnails/38.jpg)
Useful Links
• Draft, description and implementation of roles and route leak mitigation;
• Description and implementation of ASN union.