KennisbankNetwerk

Multihoming met BGP: twee upstreams, één netwerk

2 november 20266 min leestijd

Multihoming betekent dat je eigen netwerk via BGP met meer dan één upstream verbonden is, met je eigen AS-nummer en je eigen prefixen. Valt een provider weg, dan adverteer je je routes nog via de andere en vindt het internet je terug. Heb je nog geen AS-nummer, begin dan bij een eigen AS-nummer aanvragen; dit artikel gaat over wat je daarna inricht.

Wat er gebeurt met één upstream

Op 30 oktober 2025 zette een upstreamprovider alle BGP-sessies uit van een anti-DDoS-dienst die het als enige transitprovider had, na een grote aanval. Duizenden klanten van die dienst waren onbereikbaar. Een nieuwe transitaansluiting regelen kost volgens het verslag "weeks or months". Een kanttekening: dat verslag komt van een partij die zelf multihomed transit verkoopt. Het mechanisme klopt wel. Met één upstream bepaalt één bedrijf of je bereikbaar bent, en tijdens een incident heb je geen tijd om een tweede te contracteren.

De misvatting is dat redundantie vooral over kabels gaat. Twee verbindingen naar dezelfde provider vangen een kapotte vezel of een router op. Ze vangen geen beslissing van die provider op.

Actief/actief of actief/passief

Je stuurt twee richtingen, en die werken verschillend.

  • Uitgaand verkeer — dat bepaal je zelf, met local-preference. Een hogere waarde op de routes van de ene upstream maakt die primair; gelijke waarden laten BGP per bestemming het kortste pad kiezen.
  • Inkomend verkeer — dat bepaalt de rest van het internet, en jij kunt alleen beïnvloeden. Met AS-path prepending maak je je pad via één upstream kunstmatig langer, zodat het minder aantrekkelijk wordt. Fijner sturen gaat met de communities van je provider: prepends richting een specifieke exchange, of een route bij een bepaalde neighbor niet adverteren. Zie BGP-communities.

Actief/passief (één primaire upstream, de andere als reserve) is het makkelijkst te voorspellen. Actief/actief gebruikt beide verbindingen, maar inkomend verkeer verdeelt zich zelden netjes half om half. Reken daar niet op.

Een ruwe truc om inkomend verkeer te sturen is je prefix opsplitsen in meer-specifieke routes. Voor IPv4 houdt dat op bij /24: langer wordt door vrijwel iedereen geweigerd, ook door ons.

De valkuil: per ongeluk transit-AS

Met twee upstreams ontvang je van beide de routes van het hele internet. Zonder exportfilter adverteer je de routes van upstream A door naar upstream B. Je bent dan transitnetwerk tussen twee providers, over je eigen verbindingen. Ook Cisco waarschuwt daarvoor.

De oplossing is saai en effectief: een exportbeleid dat alleen je eigen prefixen doorlaat en de rest weigert. Zet het filter op beide sessies, niet alleen op de nieuwe. Aan onze kant vangen IRR-prefixlijsten en een max-prefix zo'n lek op, maar het filter hoort bij jou te staan.

Snel omschakelen: BFD en graceful shutdown

BGP merkt pas dat een neighbor weg is als de hold timer afloopt; de RFC stelt 90 seconden voor. Ligt een link er stil uit zonder dat de interface down gaat, bijvoorbeeld achter een switch of een transportverbinding, dan stuurt je router anderhalve minuut verkeer een gat in. BFD detecteert zo'n uitval binnen een seconde. Bij ons is BFD standaard beschikbaar op elke sessie.

Voor gepland onderhoud is er graceful shutdown (RFC 8326). Je zet community 65535:0 op je routes naar de upstream die je gaat onderhouden, die geeft ze een lage voorkeur, en het verkeer verhuist naar de andere kant voordat je de sessie afbreekt. Dat werkt alleen als de ontvanger de community honoreert. Wij doen dat in onze importpolicy.

Twee upstreams, maar ook twee paden

Multihoming helpt alleen als de verbindingen niet samen kunnen uitvallen. Twee providers die met dezelfde vezel je gebouw binnenkomen, of op dezelfde router in je rack landen, zijn op papier redundant. Vraag naar het fysieke pad, en spreid je sessies over twee routers en waar het kan over twee locaties.

Let ook op je commit. Valt een upstream weg, dan loopt al je verkeer over de andere, en dat zie je terug in het 95e percentiel. Een paar uur doet weinig, een week wel. Houd daar rekening mee bij het kiezen van je commit, en volg het tijdens de maand (transitverkeer en je commit).

Wij als een van je upstreams

Wij leveren IP-transit op ons eigen netwerk, met BFD, large communities en gshut in de importpolicy; de details en een voorbeeldconfiguratie staan op de technische pagina. Onze corerouters staan op twee locaties in Amsterdam, en waar je in Nederland ook staat, brengen we je verbinding naar ons toe. Wil je het ontwerp met twee providers eerst laten doorrekenen, dan is netwerkontwerp het juiste startpunt, en de BGP-training behandelt precies deze keuzes. Of neem contact op.

Veelgestelde vragen

Veelgestelde vragen

Heb ik een eigen AS-nummer nodig om te multihomen?

Voor multihoming over twee verschillende providers wel, samen met eigen adresruimte die je bij beide adverteert. Zonder eigen AS en prefix kan de tweede provider je verkeer niet overnemen, want je adressen horen dan bij de eerste.

Hoe snel schakelt BGP om zonder BFD?

BGP merkt een dode neighbor pas als de hold timer afloopt. De RFC stelt 90 seconden voor, en veel routers gebruiken dat als standaard. Met BFD op de sessie is een uitval binnen een seconde gedetecteerd; daarna hangt de omschakeling nog af van hoeveel routes je router moet herberekenen.

Is het genoeg om twee sessies bij één provider af te nemen?

Het beschermt je tegen het uitvallen van een locatie, een router of een verbinding. Het beschermt je niet tegen een probleem bij die provider als geheel, zoals een upstream die je sessies uitzet. Daarvoor heb je een tweede netwerk nodig.

Antwoord niet gevonden?

Stel je vraag direct aan een engineer — we reageren doorgaans binnen één werkdag.