An IGP sends everything down the shortest path, and if that path is full while a longer one sits idle — that is not the IGP's problem. It is, however, the operator's problem, and MPLS-TE is the classical solution: compute paths subject to constraints (bandwidth demanded, links to avoid, diversity from another tunnel), then pin traffic to those paths with labels, which — as the fundamentals book showed — is exactly what labels are for. The IGP still runs everything underneath; TE overrides it only where the operator says so.
Three additions to the machinery
- Topology with attributes — plain OSPF/IS-IS floods 'link, cost'; their TE extensions flood 'link, cost, maximum reservable bandwidth, currently unreserved bandwidth per priority, affinity colour bits'. Every headend thus holds a traffic-engineering database (TED): the map plus the budget.
- Constrained SPF — the headend prunes every link failing the constraints (insufficient unreserved bandwidth, wrong affinity) and runs SPF over the remainder, yielding an explicit hop-by-hop route — or the operator supplies one manually as an explicit path.
- RSVP-TE signalling — a Path message carries the explicit route toward the tail; each hop admits the bandwidth request against its unreserved pool; the Resv message returns tail-to-head carrying each hop's label. When the Resv reaches the headend, the tunnel LSP exists: reserved, labelled, unidirectional.
Two truths that surprise people
Reservations are control-plane accounting, not policing. A tunnel reserving 400 Mbps subtracts 400 from every hop's advertised unreserved bandwidth — but nothing drops packet 401; if actual traffic exceeds the reservation, QoS (next chapter) is what saves the link. TE bandwidth is a booking system, honest only if the bookings resemble reality — hence auto-bandwidth, which measures a tunnel's real traffic and re-signals its reservation on an interval.
A tunnel carries nothing by itself. Traffic must be steered into it: autoroute announce (the headend treats the tunnel as a link to the tailend in its own SPF), static routes onto the tunnel interface, or policy/CoS-based selection. Forgetting steering is the canonical 'tunnel up, nothing using it' first-week TE ticket.
R1(config)# interface tunnel100R1(config-if)# tunnel mode mpls traffic-engR1(config-if)# tunnel destination 10.255.1.4R1(config-if)# tunnel mpls traffic-eng bandwidth 400000R1(config-if)# tunnel mpls traffic-eng path-option 10 dynamicR1(config-if)# tunnel mpls traffic-eng autoroute announceR1# show mpls traffic-eng tunnels tunnel100 | include State|path Admin: up Oper: up Path: valid Signalling: connected
Fast reroute: the 50-millisecond promise
TE's second sales pitch is protection. Fast reroute pre-signals backup tunnels around a protected link or node; the point of local repair — the router immediately upstream of the failure — detects loss and swaps traffic onto the backup by pushing one more label, locally, without asking any headend. Repair happens where the failure is, in tens of milliseconds; headends re-optimise onto clean end-to-end paths afterwards, unhurried. Link protection backs up one link; node protection joins the tunnel two hops downstream, surviving the death of the next router entirely.
The modern footnote: segment routing TE achieves the same placement by stacking IGP-distributed labels at the headend — no RSVP, no per-tunnel core state — and new builds increasingly choose it. But the concepts this chapter established (TED, constraints, admission, local repair) transfer intact; RSVP-TE remains both the deployed base and the vocabulary in which TE is taught, examined and debugged.