+----------+ P3[AS5 AS1] +------------+ | AS4(ISP4)|<---------------| AS5(ISP5) | +----------+ (P2P) +------------+ /\ /\ /\ / \ / P1[AS2 AS1]/ \P2[AS3 AS1] / (C2P)/ \(C2P) / / \ / +----------+ +----------+ / | AS2(ISP2)| | AS3(ISP3)| / +----------+ +----------+ / /\ /\ / \ / / P1[AS1]\ /P2[AS1] /P3[AS1] (C2P)\ /(C2P) /(C2P) \ / / +----------------+ / | AS1(customer) |/ +----------------+ P1, P2, P3 (prefixes originated) Consider that data packets (sourced from AS1) may be received at AS4 with a source address in P1, P2, or P3 via any of the neighbors (AS2, AS3, AS5): * Feasible-path uRPF fails * Loose uRPF works (but not desirable) * Enhanced feasible-path uRPF works best