ECN marks and end-to-end response
Trace a congestion signal from queue marking to transport feedback without confusing signaling with extra capacity.
On this page
The question for today
What you’ll understand
- Distinguish ECN capability, congestion marking, and sender response.
- Compute one explicitly defined DCTCP estimator update.
- Explain why marking thresholds and feedback delay affect queue outcomes.
A switch need not wait for a full buffer before signaling congestion. Explicit Congestion Notification lets a compatible packet carry a congestion indication that the receiver can report to the sender. The endpoints still need an agreed feedback mechanism and a congestion controller that changes future sending. A mark is information, not a reservation or a bandwidth increase. Follow the whole loop before concluding that enabling a switch feature controls congestion.
Capability is a protocol contract
In classic TCP ECN, endpoints negotiate capability and use defined IP and TCP fields to communicate congestion. An ECN-capable packet can be marked Congestion Experienced instead of being dropped under a compatible marking policy. A non-capable packet cannot simply be converted into a valid ECN feedback exchange by marking it. Tunnels and middleboxes also need correct handling. Treat the relevant RFC version and endpoint implementation as part of the configuration, rather than assuming every transport interprets marks identically.
Different congestion controllers consume feedback differently. Classic responses and DCTCP's fraction-based response are not interchangeable, and newer ECN feedback extensions have their own negotiation rules. In a managed datacenter, operators can coordinate endpoint and switch behavior, but that does not make one controller safe on every public path. Verify both directions of feedback and the actual selected algorithm before treating a rise in CE counters as evidence that the offered rate is being reduced.
The estimator and the window have separate roles
DCTCP estimates the extent of congestion from marked feedback, smoothing the observed fraction rather than treating every mark as a completely new independent signal. In a simplified notation, alpha blends its previous estimate with the newly observed fraction using gain g. The resulting estimate influences a multiplicative congestion-window reduction. Observation-window boundaries, delayed acknowledgments, and implementation details matter to the actual algorithm; a single arithmetic update is not a full transport simulator.
A switch marking threshold trades early feedback against underutilization and queue growth. Signals arrive only after propagation, receiver feedback, and sender processing, so in-flight traffic can continue to fill a queue after marking begins. A large threshold may leave too little headroom for a burst; an unsuitable small threshold can interact poorly with the controller. Evaluate goodput, queue delay, loss, and fairness together under both small and large messages rather than maximizing a marking counter.
Use marks as evidence about a loop
Collect sender rates, endpoint feedback, and switch marks on compatible timelines. A marked fraction can change because the offered workload changed, packet sizes changed, the marking policy changed, or paths shifted. Low marking does not prove capacity is available when a receiver or paused priority is limiting traffic elsewhere. Preserve baseline configuration and test one policy change at a time, including how existing connections negotiate and how fallback behaves when ECN is unavailable.
The probability lab can isolate a statistical assumption without simulating DCTCP. Reset, set both p=0.25 and n=20, predict five marked outcomes on average, then inspect the exact binomial distribution. This assumes twenty independent equal-weight trials with fixed marking probability. Actual marks can be correlated by queue occupancy, and byte-weighted feedback differs when packet sizes vary. Play highlights possible counts rather than generating congestion; it does not update alpha, windows, queues, or endpoint negotiation.
Work it through
One estimator update, one reduction
Assume alpha_old=0.2, gain g=0.125, and a compatible observation window with marked-byte fraction F=0.6. At the defined reduction event, the old window is 100 segments.
Compute the smoothed estimate: alpha_new=0.875×0.2+0.125×0.6=0.175+0.075=0.25.
Apply the stated reduction once:100×(1−0.25/2)=87.5 segments in the continuous arithmetic model. A real sender applies its implementation's integer and minimum-window rules.
Do not repeat the reduction for every marked packet. The example specifies one observation and one reduction event; further growth, acknowledgments, loss handling, and subsequent windows are outside this calculation.
The congestion estimate and the control action are distinct quantities. Correct signaling and event timing are necessary to interpret the arithmetic.
The living notebook
Explore the model
Interactive lab · probability
An independent-marking comparison
Reset and set p=0.25, n=20. Predict mean 5 and inspect exact binomial bars. Trials here are independent and equally weighted; the instrument does not model correlated queue marks, byte fractions, DCTCP state, or ECN negotiation.
- Mean · np
- 5
- Variance · np(1−p)
- 2.5
- Total probability
- 1
These are exact binomial probabilities for independent trials with one fixed success probability. Playback tours the distribution; it does not resample outcomes. Parameter changes pause playback and recompute the model at the current elapsed time. Reset restores both parameters and returns time to zero. Playback starts paused. Adjust either parameter, then choose Play or Step.
Look forA marking fraction needs a defined observation window and weighting before it can inform a controller.
Pause & reason
Check your understanding
Your turn
Try it yourself
Use alpha_old=0.4, g=0.25, F=0.2. Calculate the new estimate and the continuous-model reduction factor. Explain why a packet-based switch ratio cannot automatically supply F.
Take a moment to make a prediction or work it out on paper. Open a hint when you need one.
Give me a hint
Keep the estimate update separate from the window multiplier and consider unequal packet sizes.
Compare with the solution
Alpha becomes 0.75×0.4+0.25×0.2=0.35. The stated multiplier is 1−0.35/2=0.825. F is a compatible marked-byte fraction over the observation window; a switch ratio counting packets may weight small and large packets equally and may cover another scope or interval. It therefore needs reconciliation before use as the endpoint quantity.
Keep the idea
Take it with you
- ECN requires compatible capability, feedback, and congestion response.
- Marked bytes, marked packets, estimates, and windows are distinct quantities.
- Feedback delay and marking thresholds matter alongside throughput and fairness.
Read further
Original sources and deeper explanations to follow at your own pace.
Optional progress, saved in this browser when available. Revisit any lesson at any time.
Lesson not marked complete.