Skip to content

Mitigation technique

Remotely Triggered Black Hole Filtering (RTBH)

Last updated: August 2026 · The sacrifice that stops saturation · Reading time ~13 min

Narrowed gates admitting a reduced flow, standing for an upstream instrument that stops volume before it reaches the circuit it would otherwise fill.

RTBH asks an upstream network to discard all traffic to a destination address, by announcing that address with an agreed BGP community. It reliably stops saturation from reaching your circuit, and it does so by finishing the attack for that one destination — which makes it a deliberate sacrifice rather than a mitigation, and a valuable one when the alternative is losing everything behind the same circuit.

There is one thing you cannot do from inside your own network: stop traffic that has already filled the circuit feeding it. By the time a saturating flood reaches your edge the damage is upstream of everything you own, and the only instruments that help are the ones held by the network delivering it to you.

RTBH is the bluntest of those instruments, and the most reliable. It works by asking your upstream to throw away every packet addressed to a destination you nominate RFC 5635.

RTBH topology: the announced prefix is discarded at the provider edge, and the legitimate users of that prefix are discarded at the same router for the same reason.
Sharp version (SVG)

How it works

You announce a route for the address under attack — normally a host route, a /32 or /128 — tagged with a community your upstream recognises as “discard traffic to this”. Their edge routers install a route for that destination pointing at a null interface, and from that moment traffic to it is dropped at their border rather than carried to yours.

The signalling detail that makes this practical across providers is the well-known BLACKHOLE community, 65535:666 RFC 7999. Before it was standardised, every operator published their own value, so a multihomed customer had to configure a different trigger per upstream and remember which was which under pressure. A well-known value removes that class of mistake.

The two variants

ApplianceWhat it stopsWhat it costsWhere it acts
Destination-based RTBHAll traffic to one address, including the attackThat address is unreachable — the attacker's goal, achievedUpstream, before your circuit
Source-based RTBHTraffic from identified source prefixesLegitimate traffic from those sources, and it needs uRPFUpstream, before your circuit
BGP FlowSpecOne matched vector, leaving the destination reachableCarrier support and accepted rule complexity varyUpstream, before your circuit
Local mitigationWhatever it can classifyNothing, until the circuit fillsYour own edge — too late for saturation

Read the first two rows together: RTBH is the only row that is guaranteed to work and guaranteed to hurt. That is not a criticism of it — it is what makes it the last resort.

Destination-based RTBH is what people mean when they say blackholing. It is total, it is immediate once BGP converges, and it does not care what the attack looks like — which is exactly why it works when classification has failed or when there is no time to classify.

Source-based RTBH discards traffic arriving from nominated source prefixes rather than traffic destined for one address RFC 5635. It preserves the destination, which sounds strictly better until you look at what it requires: the router has to check the source address against its forwarding table, which is unicast reverse path forwarding, and on a multihomed network the strict form of uRPF drops legitimate asymmetric traffic RFC 3704.

It also requires the sources to be real. Most volumetric attacks use forged source addresses, and blackholing a forged source blackholes an innocent network while the attack continues. Source-based RTBH earns its place against attacks whose sources are genuine — some application-layer campaigns, some botnet traffic — and is close to useless against reflection.

What it works against

Saturation, and specifically saturation aimed at a small number of addresses. If one service IP is absorbing a flood that is filling a 10 Gbps circuit shared by everything else you run, blackholing that one address restores the rest of the estate in the time it takes BGP to converge.

It also works when nothing else can: no local device, however well specified, moves the ceiling imposed by the circuit.

What it does not work against

Attacks spread across many destinations. A carpet-bombing campaign distributes volume across a whole prefix precisely so that no single address is worth sacrificing. Blackholing address by address becomes a losing race; blackholing the aggregate prefix means taking the whole service down yourself.

Anything where the destination must stay reachable. If the address under attack is your only public service, blackholing it is indistinguishable from the outage you were trying to prevent.

Application-layer attacks. These rarely saturate anything. Reaching for RTBH against a request flood discards a service that was still mostly working.

Operational risk

The failure modes are worth naming because they are all recoverable if anticipated and all expensive if not.

Propagation is not guaranteed. Your immediate upstream may accept the announcement and not pass it to their upstreams. If the volume is arriving from further away than your provider’s own border, a blackhole that stops at their edge stops nothing useful for them and everything for you.

Withdrawal has to be as rehearsed as the trigger. An announcement left in place after the attack is a self-inflicted outage that nobody is looking for, because the graphs are clean.

Scope creep. Blackholing a /24 because a /32 was under attack takes down twenty-three services that were fine. Under pressure this happens more often than anyone admits.

Loss of visibility. Once traffic is discarded upstream you can no longer see it, which means the telemetry your incident report needs stops at the moment you act. Capture first, then blackhole.

False-positive risk

Total, by construction, for the nominated destination. RTBH does not classify, so there is no such thing as a false positive in the usual sense — every packet to that address is dropped, legitimate or not. The decision is not “will this block real users” but “is blocking all of them for this destination cheaper than the alternative”.

That is why the decision belongs to a named person, decided in advance, as the incident runbook sets out.

When something else is better

If the attack is one identifiable vector against a destination that must stay up, BGP FlowSpec can discard that vector while leaving the rest of the traffic flowing RFC 8955. If the relationship with the upstream mitigator supports it, DOTS lets you ask for help in a standard way rather than reaching for the blunt tool.

RTBH remains the fallback beneath both of them: FlowSpec rules can be rejected or unsupported, and a signalled request can go unanswered. Blackholing works when the relationship works at all.

How to verify it before you need it

  1. Confirm which community your upstream accepts, and whether the well-known BLACKHOLE community is honoured.
  2. Confirm whether they accept announcements more specific than your allocation.
  3. Trigger it in a maintenance window against a test address and measure how long until traffic stops.
  4. Establish whether the discard propagates beyond their own border.
  5. Withdraw it and measure how long until the address is reachable again.
  6. Write all five answers into the runbook, with the date you measured them.

Sources

Frequently asked questions

Is RTBH a mitigation or a surrender?
Both, and being precise about it changes when you reach for it. Announcing a blackhole for an address means every packet to that address is discarded upstream — the attack traffic and your customers alike. For that one destination the attacker has succeeded. What you have bought is everything else behind the same circuit, which is frequently worth far more than the address you gave up.
What is the difference between destination-based and source-based RTBH?
Destination-based blackholes an address you own, which is simple, fast and total. Source-based blackholes traffic coming from identified source prefixes, which preserves the destination but depends on unicast reverse path forwarding to enforce, and on the sources being both identifiable and not spoofed. In real incidents the destination variant is used far more often, because attack sources are usually forged.
What is the BLACKHOLE community and why does it matter?
It is a well-known BGP community — 65535:666 — that signals "please discard traffic to this prefix". Before it existed, every operator published their own community value and every customer had to configure a different one per upstream. A well-known value means the trigger works the same way across providers, which matters a great deal at 3am.
Can we blackhole a whole prefix instead of one address?
You can, and most providers accept announcements more specific than your allocation precisely so you can blackhole a single /32. Blackholing a larger prefix multiplies the sacrifice, which is occasionally the right decision during a carpet-bombing campaign where the volume is spread and no single address is the problem — but it is a much bigger decision and belongs to a named owner rather than to the on-call engineer.
How do we know RTBH will work when we need it?
By having triggered it before, outside an incident. Establish which community your upstream accepts, whether they accept more-specific announcements from you, how quickly the discard takes effect, whether it propagates to their peers, and how you withdraw it. Every one of those has surprised somebody during a real event.

Sources

  1. RFC 5635 — Remote Triggered Black Hole Filtering with Unicast Reverse Path Forwarding (uRPF)

    IETF · 2009-08 · standard · accessed 2026-08-15

    Defines both the destination-based and source-based variants, and the uRPF mechanism the source variant depends on.

  2. RFC 7999 — BLACKHOLE Community

    IETF · 2016-10 · standard · accessed 2026-08-15

    The well-known BGP community 65535:666, so that triggering a blackhole does not require a bilaterally agreed value with every upstream.

  3. RFC 3704 (BCP 84) — Ingress Filtering for Multihomed Networks

    IETF · 2004-03 · standard · accessed 2026-08-15

  4. RFC 8955 — Dissemination of Flow Specification Rules

    IETF · 2020-12 · standard · accessed 2026-08-15

Published: August 2026 · Last reviewed: August 2026

Reviewed means the sources above were re-read on that date; the text is only reissued when something material changed.

This guide is updated as vendors release new models and pricing. How we compare vendors