Multihoming means your own network is connected to more than one upstream via BGP, with your own ASN and your own prefixes. If one provider drops away, you still announce your routes through the other and the internet finds you again. If you do not have an ASN yet, start with getting your own AS number; this article is about what you set up after that.
What happens with a single upstream
On 30 October 2025 an upstream provider shut down all BGP sessions of an anti-DDoS service that relied on it as its only transit provider, after a large attack. Thousands of that service's customers became unreachable. Arranging new transit takes "weeks or months", according to the write-up. One caveat: that write-up comes from a company that sells multihomed transit itself. The mechanism holds, though. With a single upstream, one company decides whether you are reachable, and during an incident there is no time to sign up a second one.
The misconception is that redundancy is mostly about cables. Two links to the same provider cover a broken fibre or a failed router. They do not cover a decision by that provider.
Active/active or active/passive
You steer two directions, and they work differently.
- Outbound traffic — you decide this yourself, with local preference. A higher value on routes from one upstream makes it primary; equal values let BGP pick the shortest path per destination.
- Inbound traffic — the rest of the internet decides this, and you can only influence it. AS path prepending makes your path through one upstream artificially longer, so it looks less attractive. Finer control comes from your provider's communities: prepends towards a specific exchange, or not announcing a route to a certain neighbour. See BGP communities.
Active/passive (one primary upstream, the other as standby) is the easiest to predict. Active/active uses both links, but inbound traffic rarely splits neatly in half. Do not count on it.
A blunt way to steer inbound traffic is to split your prefix into more-specific routes. For IPv4 that stops at /24: anything longer is rejected by almost everyone, us included.
The pitfall: accidentally becoming a transit AS
With two upstreams you receive the routes of the whole internet from both. Without an export filter you pass the routes of upstream A on to upstream B. You are now a transit network between two providers, over your own links. Cisco warns about this too.
The fix is boring and effective: an export policy that only lets your own prefixes through and rejects the rest. Put the filter on both sessions, not only the new one. On our side IRRIRR Internet Routing Registry: databases (such as RIPE's) where networks record which prefixes they announce. The source for prefix filters. prefix lists and a max-prefix limit catch such a leak, but the filter belongs on your router.
Fast failover: BFD and graceful shutdown
BGP only notices a neighbour has gone when the hold timer runs out; the RFC suggests 90 seconds. If a link fails silently without the interface going down, for example behind a switch or a transport circuit, your router sends traffic into a hole for a minute and a half. BFDBFD Bidirectional Forwarding Detection: a lightweight protocol that notices within a second that a link has stopped working, so BGP can fail over faster. detects such a failure within a second. With us, BFD is available on every session as standard.
For planned maintenance there is graceful shutdownGraceful shutdown Making a BGP session less attractive with community 65535:0 before maintenance, so traffic has moved away before the session actually closes. (RFC 8326). You tag your routes towards the upstream you are about to work on with community 65535:0, it gives them a low preference, and traffic moves to the other side before you tear the session down. That only works if the receiver honours the community. We do, in our import policy.
Two upstreams, but also two paths
Multihoming only helps if the links cannot fail together. Two providers entering your building over the same fibre, or landing on the same router in your rack, are redundant on paper only. Ask about the physical path, and spread your sessions over two routers and, where possible, two sites.
Keep an eye on your commit as well. If one upstream fails, all your traffic runs over the other, and that shows up in the 95th percentile. A few hours make little difference, a week does. Take that into account when choosing your commit, and follow it during the month (transit traffic and your commit).
Us as one of your upstreams
We deliver IP transit on our own network, with BFD, large communities and gshut in the import policy; the details and an example configuration are on the technical page. Our core routers sit at two sites in Amsterdam, and wherever you are in the Netherlands, we bring your connection to us. If you want a two-provider design worked out first, network design is the place to start, and the BGP training covers exactly these choices. Or get in touch.