A pays BpeersH pays DAS64497AS64496203.0.113.0/24AS64499AS64510/24 · 64496/24 · 64497 64496/25 · 64510/25 · 64510to 203.0.113.10ROA · AS64496 · ≤/24/25 beats /24traffic captured2008: YouTubeVRP · AS64496 · /24/25 Invalid: dropped/24 via B: Valid
Plinth: one autonomous system (AS); pink H is the hijackerEnvelope + tag: a BGP announcement, its prefix and AS_PATHGolden card: A's signed ROA; gold block on D: the RPKI validatorParcel: traffic following D's longest matching routeA (AS64496) owns 203.0.113.0/24. The hijacker H announces the more specific 203.0.113.0/25, and because routers always use the longest matching prefix, D's traffic for 203.0.113.10 goes to H. With RPKI, A signs a ROA saying only AS64496 may originate the block, up to /24. D's validator checks it, Route Origin Validation marks H's route Invalid, and D drops it. AS numbers 64496-64511 (RFC 5398) and the prefixes 198.51.100.0/24 and 203.0.113.0/24 (RFC 5737) are reserved for documentation.

The normal route

  1. Four autonomous systems (ASes): networks, each with its own AS number. A owns the address block 203.0.113.0/24. B and D carry traffic. H is a fourth network that is about to claim A's addresses.

The hijack

The defence: RPKI

The messages, field by field

;; step 1/12 · cast · local
;; at A, B, H, D
A · AS64496   Origin network · owns 203.0.113.0/24
B · AS64497   Transit network
H · AS64510   Hijacker
D · AS64499   Your ISP · owns 198.51.100.0/24

links:
  A–B  A pays B for transit
  B–D  peers: nobody pays
  H–D  H pays D for transit (H is D's customer)

AS numbers 64496-64511 are reserved for documentation (RFC 5398).

AS numbers 64496-64511 (RFC 5398) and the prefixes 198.51.100.0/24 and 203.0.113.0/24 (RFC 5737) are reserved for documentation. ROV only labels routes. Dropping Invalid routes is each network's own policy (RFC 8481); a hijack is stopped only where networks do it.