07 Simple Multihoming
07 Simple Multihoming
ISP Workshops
Agenda
p Why
Multihome?
p The Multihoming Toolset
p How to Multihome Options
p Multihoming to the same AS
p Multihoming to different ASes
Why Multihome?
p Redundancy
n
Why Multihome?
p Reliability
Why Multihome?
p Supplier
Diversity
Why Multihome?
p
p
Why Multihome?
p Not
Why Multihome?
p Summary:
In real life?
p For the network?
p For the Internet?
p
Multihoming Definition
p More
p Usually
n
Multihoming
p The
Configuration on End-Site
ISPs share config
10
Two ranges
0-65535
65536-4294967295
Usage:
0 and 65535
1-64495
64496-64511
64512-65534
23456
65536-65551
65552-4199999999
4200000000-4294967295
11
See www.iana.org/assignments/as-numbers
12
Private AS Application
p
65001
193.0.32.0/24
C
1880
193.0.34.0/24
65002
193.0.33.0/24
65003
193.0.35.0/24
193.0.32.0/22 1880
13
Private-AS Removal
p Private
p As
p Cisco
IOS
More Definitions
p Transit
p Peering
p Default
n
Configuring Policy
p Assumptions:
p Three
BASIC Principles
p Route-maps
Policy Tools
p Local
n
preference
p Metric
n
(MED)
p AS-PATH
n
prepend
p Subdividing
n
Aggregates
p Communities
n
17
18
Originating Prefixes
p
The RIRs publish their minimum allocation sizes per /8 address block
n
n
n
n
n
n
AfriNIC:
www.afrinic.net/library/policies/126-afpub-2005-v4-001
APNIC:
www.apnic.net/db/min-alloc.html
ARIN:
www.arin.net/reference/ip_blocks.html
LACNIC:
lacnic.net/en/registro/index.html
RIPE NCC:
www.ripe.net/ripe/docs/smallest-alloc-sizes.html
Note that AfriNIC only publishes its current minimum allocation size, not
the allocation size for its address blocks
www.iana.org/assignments/ipv4-address-space
How to Multihome
Some choices
21
Transits
p
Only one
p
Too many
p
p
p
No redundancy
More difficult to load balance
No economy of scale (costs more per Mbps)
Hard to provide service quality
Common Mistakes
p
No diversity
n
n
Peers
p
Public peer
n
Common Mistakes
p
p
Multihoming Scenarios
p Stub
network
p Multi-homed stub network
p Multi-homed network
p Multiple Sessions to another AS
26
Stub Network
AS101
AS100
p
p
p
p
p
p
p
p
Multi-homed Network
Global Internet
AS200
AS300
AS100
options
ebgp multihop
n bgp multipath
n cef loadsharing
n bgp attribute manipulation
n
ISP
AS 100
30
Multiple Sessions to an AS
ebgp multihop
p
Use ebgp-multihop
n
n
Cisco IOS
router bgp 100
neighbor 1.1.1.1 remote-as 200
neighbor 1.1.1.1 ebgp-multihop 2
!
ip route 1.1.1.1 255.255.255.255 serial 1/0
ip route 1.1.1.1 255.255.255.255 serial 1/1
ip route 1.1.1.1 255.255.255.255 serial 1/2
AS 200
1.1.1.1
B
AS 100
Multiple Sessions to an AS
ebgp multihop
p
R1
R3
AS 100
AS 200
R2
Desired Path
Used Path
p Many
Multiple Sessions to an AS
bgp multi path
p
p
p
AS 200
AS 100
34
Multiple Sessions to an AS
bgp attributes & filters
p
p
p
No magic solution
AS 200
C
AS 100
35
Basic Principles of
Multihoming
Lets learn to walk before we try
running
36
37
Results in:
n
n
n
38
39
IP Addressing &
Multihoming
How Good IP Address Plans
assist with Multihoming
40
101.10.0.1
101.10.5.255
101.10.6.255 /24
Infrastructure Loopbacks
41
Unplanned IP addressing
p
12345
Customer Addresses
p
ISP
n
n
Dividing the range into two pieces will result in one /22
with all the customers, and one /22 with just the ISP
infrastructure the addresses
No loadbalancing as all traffic will come in the first /22
Means further subdivision of the first /22 = harder work
43
Planned IP addressing
p
13579
2 4 6 810
Customer Addresses
Customer Addresses
ISP
44
Planned IP Addressing
p This
p Dont
Basic Multihoming
Lets try some simple worked
examples
46
Basic Multihoming
p No
frills multihoming
p Will look at two cases:
Multihoming with the same ISP
n Multihoming to different ISPs
n
p Will
47
Basic Multihoming
p This
p Can
48
49
50
AS 100
E
AS 65534
D
backup
p AS100
primary link:
Outbound announce /19 unaltered
p Inbound receive default route
p
backup link:
Outbound announce /19 with increased metric
p Inbound received default, and reduce local
preference
p
p When
Router A Configuration
router bgp 65534
network 121.10.0.0 mask 255.255.224.0
neighbor 122.102.10.2 remote-as 100
neighbor 122.102.10.2 description RouterC
neighbor 122.102.10.2 prefix-list aggregate out
neighbor 122.102.10.2 prefix-list default in
!
ip prefix-list aggregate permit 121.10.0.0/19
ip prefix-list default permit 0.0.0.0/0
!
ip route 121.10.0.0 255.255.224.0 null0
53
Router B Configuration
router bgp 65534
network 121.10.0.0 mask 255.255.224.0
neighbor 122.102.10.6 remote-as 100
neighbor 122.102.10.6 description RouterD
neighbor 122.102.10.6 prefix-list aggregate out
neighbor 122.102.10.6 route-map med10-out out
neighbor 122.102.10.6 prefix-list default in
neighbor 122.102.10.6 route-map lp-low-in in
!
..next slide
54
55
56
57
Router E Configuration
router bgp 100
neighbor 122.102.10.17
neighbor 122.102.10.17
neighbor 122.102.10.17
!
ip prefix-list Customer
p
p
remote-as 110
remove-private-AS
prefix-list Customer out
permit 121.10.0.0/19
59
common case
p End sites tend not to buy circuits and
leave them idle, only used for backup as
in previous example
p This example assumes equal capacity
circuits
n
60
AS 100
E
AS 65534
D
Link two
61
p
p
Router A Configuration
router bgp 65534
network 121.10.0.0 mask 255.255.224.0
network 121.10.0.0 mask 255.255.240.0
neighbor 122.102.10.2 remote-as 100
neighbor 122.102.10.2 prefix-list as100-a out
neighbor 122.102.10.2 prefix-list default in
!
ip prefix-list default permit 0.0.0.0/0
ip prefix-list as100-a permit 121.10.0.0/20
ip prefix-list as100-a permit 121.10.0.0/19
!
ip route 121.10.0.0 255.255.240.0 null0
ip route 121.10.0.0 255.255.224.0 null0
63
Router B Configuration
router bgp 65534
network 121.10.0.0 mask 255.255.224.0
network 121.10.16.0 mask 255.255.240.0
neighbor 122.102.10.6 remote-as 100
neighbor 122.102.10.6 prefix-list as100-b out
neighbor 122.102.10.6 prefix-list default in
!
ip prefix-list default permit 0.0.0.0/0
ip prefix-list as100-b permit 121.10.16.0/20
ip prefix-list as100-b permit 121.10.0.0/19
!
ip route 121.10.16.0 255.255.240.0 null0
ip route 121.10.0.0 255.255.224.0 null0
64
Router C Configuration
router bgp 100
neighbor 122.102.10.1 remote-as 65534
neighbor 122.102.10.1 default-originate
neighbor 122.102.10.1 prefix-list Customer in
neighbor 122.102.10.1 prefix-list default out
!
ip prefix-list Customer permit 121.10.0.0/19 le 20
ip prefix-list default permit 0.0.0.0/0
p
p
Router E Configuration
router bgp 100
neighbor 122.102.10.17
neighbor 122.102.10.17
neighbor 122.102.10.17
!
ip prefix-list Customer
remote-as 110
remove-private-AS
prefix-list Customer out
permit 121.10.0.0/19
66
67
configuration is only on
customer router
p Upstream ISP has to
Remove customer subprefixes from external
announcements
n Remove private AS from external
announcements
n
p Could
n
69
p Look
70
AS 100
E
A1
AS 65534
B1
D
A2
AS 65534
B2
p
A3
AS 65534
B3
71
example
p Use the same private AS for each
customer
Documented in RFC2270
n Address space is not overlapping
n Each customer hears default only
n
p Router
Router A1 Configuration
router bgp 65534
network 121.10.0.0 mask 255.255.224.0
network 121.10.0.0 mask 255.255.240.0
neighbor 122.102.10.2 remote-as 100
neighbor 122.102.10.2 prefix-list as100-a out
neighbor 122.102.10.2 prefix-list default in
!
ip prefix-list default permit 0.0.0.0/0
ip prefix-list as100-a permit 121.10.0.0/20
ip prefix-list as100-a permit 121.10.0.0/19
!
ip route 121.10.0.0 255.255.240.0 null0
ip route 121.10.0.0 255.255.224.0 null0
73
Router B1 Configuration
router bgp 65534
network 121.10.0.0 mask 255.255.224.0
network 121.10.16.0 mask 255.255.240.0
neighbor 122.102.10.6 remote-as 100
neighbor 122.102.10.6 prefix-list as100-b out
neighbor 122.102.10.6 prefix-list default in
!
ip prefix-list default permit 0.0.0.0/0
ip prefix-list as100-b permit 121.10.16.0/20
ip prefix-list as100-b permit 121.10.0.0/19
!
ip route 121.10.0.0 255.255.224.0 null0
ip route 121.10.16.0 255.255.240.0 null0
74
Router C Configuration
router bgp 100
neighbor bgp-customers peer-group
neighbor bgp-customers remote-as 65534
neighbor bgp-customers default-originate
neighbor bgp-customers prefix-list default out
neighbor 122.102.10.1 peer-group bgp-customers
neighbor 122.102.10.1 description Customer One
neighbor 122.102.10.1 prefix-list Customer1 in
neighbor 122.102.10.9 peer-group bgp-customers
neighbor 122.102.10.9 description Customer Two
neighbor 122.102.10.9 prefix-list Customer2 in
75
prefix-list
prefix-list
prefix-list
prefix-list
Router D Configuration
router bgp 100
neighbor bgp-customers peer-group
neighbor bgp-customers remote-as 65534
neighbor bgp-customers default-originate
neighbor bgp-customers prefix-list default out
neighbor 122.102.10.5 peer-group bgp-customers
neighbor 122.102.10.5 description Customer One
neighbor 122.102.10.5 prefix-list Customer1 in
neighbor 122.102.10.13 peer-group bgp-customers
neighbor 122.102.10.13 description Customer Two
neighbor 122.102.10.13 prefix-list Customer2 in
77
prefix-list
prefix-list
prefix-list
prefix-list
Router E Configuration
Assumes customer address space is not part of
upstreams address block
router bgp 100
neighbor 122.102.10.17 remote-as 110
neighbor 122.102.10.17 remove-private-AS
neighbor 122.102.10.17 prefix-list Customers out
!
ip prefix-list Customers permit 121.10.0.0/19
ip prefix-list Customers permit 121.16.64.0/19
ip prefix-list Customers permit 121.14.192.0/19
n
79
Router E configuration:
router bgp 100
neighbor 122.102.10.17 remote-as 110
neighbor 122.102.10.17 prefix-list aggregate out
!
ip prefix-list aggregate permit 121.8.0.0/13
80
Multihoming Summary
p Use
81
Basic Multihoming
Multihoming to Different ISPs
82
Use a Public AS
n
n
Inconsistent-AS?
p
AS 65534
AS 200
AS 210
Internet
84
85
AS 110
AS 120
C
AS 100
86
p When
87
Router A Configuration
router bgp 130
network 121.10.0.0 mask 255.255.224.0
neighbor 122.102.10.1 remote-as 100
neighbor 122.102.10.1 prefix-list aggregate out
neighbor 122.102.10.1 prefix-list default in
!
ip prefix-list aggregate permit 121.10.0.0/19
ip prefix-list default permit 0.0.0.0/0
!
ip route 121.10.0.0 255.255.224.0 null0
88
89
90
p But
91
92
AS 110
AS 120
C
Announce first
/20 and /19 block
Announce second
/20 and /19 block
AS 100
93
p When
94
Router A Configuration
router bgp 100
network 121.10.0.0 mask 255.255.224.0
network 121.10.0.0 mask 255.255.240.0
neighbor 122.102.10.1 remote-as 110
neighbor 122.102.10.1 prefix-list as110-out out
neighbor 122.102.10.1 prefix-list default in
!
ip route 121.10.0.0 255.255.224.0 null0
ip route 121.10.0.0 255.255.240.0 null0
!
ip prefix-list default permit 0.0.0.0/0
ip prefix-list as110-out permit 121.10.0.0/20
ip prefix-list as110-out permit 121.10.0.0/19
95
Router B Configuration
router bgp 100
network 121.10.0.0 mask 255.255.224.0
network 121.10.16.0 mask 255.255.240.0
neighbor 120.1.5.1 remote-as 120
neighbor 120.1.5.1 prefix-list as120-out out
neighbor 120.1.5.1 prefix-list default in
!
ip route 121.10.0.0 255.255.224.0 null0
ip route 121.10.16.0 255.255.240.0 null0
!
ip prefix-list default permit 0.0.0.0/0
ip prefix-list as120-out permit 121.10.0.0/19
ip prefix-list as120-out permit 121.10.16.0/20
96
97
98
AS 110
AS 120
C
AS 100
99
p Vary
102
104
Summary
105
Summary
p Previous
p We
106
Simple Multihoming
ISP Workshops
107