Optical power, link budgets, and reading DDM/DOM diagnostics — the physical meaning, not the folklore.
dBm isn't "some optics unit" — it's ordinary power in milliwatts, just expressed logarithmically:
P(dBm) = 10 × log₁₀( P(mW) / 1 mW )
So the reference point is 0 dBm = 1 mW. Anything below a milliwatt gives a negative number — which is why almost everything in optics carries a minus sign. That's not "bad," it just means powers on the order of microwatts.
It helps to memorize a few anchors — you never need to compute logarithms in your head:
| dBm | Power | Mnemonic |
|---|---|---|
| 0 | 1 mW | the reference |
| −3 | 0.5 mW | −3 dB = half |
| −6 | 0.25 mW | half again |
| −10 | 100 µW | −10 dB = ÷10 |
| −20 | 10 µW | ÷100 |
| −30 | 1 µW | ÷1000 |
| −40 | 0.1 µW | ÷10 000 |
The two-number rule: 3 dB is a factor of 2, 10 dB is a factor of 10. Combine them for anything: −13 dB = ÷10 ÷2 = a factor of 20.
Because losses along a path multiply, and a logarithm turns multiplication into addition. Fiber attenuates by 3×, a connector by another 1.2×, a splice by a little more — instead of multiplying fractions, you just add decibels:
RX(dBm) = TX(dBm) − loss(dB)
The whole link calculation collapses into one line of arithmetic. That's the entire point.
"A connector adds 0.5 dB" is correct. "A connector adds 0.5 dBm" is nonsense. Interviewers notice.
You'll hear claims like "the ideal TX is −6 dBm, range −1 to −7." That's a marketing generalization and it's wrong as a universal rule. Power is set rigidly by the standard for a specific transceiver: an 80 km ZR module has a normal TX of +3 dBm (eight times a milliwatt!), and −6 dBm would mean a dying laser. For an SR it's the opposite.
| Optics | TX (normal) | RX sensitivity | RX overload |
|---|---|---|---|
| 1000BASE-SX (850, MMF) | −9.5 … −3 | ≈ −17 | −3 |
| 10GBASE-SR (850, MMF) | −7.3 … −1 | ≈ −11 | 0 |
| 10GBASE-LR (1310, 10 km) | −8.2 … +0.5 | ≈ −14.4 | +0.5 |
| 10GBASE-ER (1550, 40 km) | −4.7 … +4 | ≈ −15.8 | −1 |
| 10GBASE-ZR (1550, 80 km) | 0 … +4 | ≈ −24 | −7 |
Exact numbers always come from the specific module's datasheet, but the relationship matters more: the longer the reach, the stronger the transmitter and the more sensitive the receiver.
Look at the last column. Plug ZR modules (TX +3 dBm) into a two-meter patch cord and the receiver sees about +2 dBm against a maximum of −7 — that's nine decibels over. Result: CRC errors, flaps, and over time photodiode degradation. The fix is a 10–15 dB attenuator. This is the classic "we used whatever was on the shelf" mistake, and it's a favorite interview question precisely because it's counter-intuitive: too much light is also a fault.
Budget = TX_min − RX_sensitivity
For 10GBASE-LR: −8.2 − (−14.4) = 6.2 dB — that's how much loss the path may absorb in the worst case.
What eats the budget:
| Source | Typical loss |
|---|---|
| Fiber, 1310 nm | 0.35 dB/km |
| Fiber, 1550 nm | 0.22 dB/km |
| Fiber, 850 nm (MMF) | ≈ 3 dB/km |
| Mated connector pair | 0.3 … 0.75 dB |
| Fusion splice | 0.05 … 0.1 dB |
| Mechanical splice | 0.3 dB |
Example: 8 km of single-mode with four cross-connects:
8 km × 0.35 = 2.8 dB
4 connector pairs × 0.5 = 2.0 dB
2 splices × 0.1 = 0.2 dB
──────────────────────────────
total loss 5.0 dB
LR budget 6.2 dB
margin 1.2 dB ← too little!
The design-minimum margin is 3 dB. You need it for laser aging, connector contamination during future work, temperature drift, and possible extra splices after a cable cut. In the example above the link will come up and run happily for years — and then one day drop after someone tidies the patch room.
Note the orders of magnitude: on short links the connectors eat more than the fiber itself. Five cross-connects inside a data center cost more than two kilometers of route.
Modules with DDM/DOM report live telemetry:
Arista/Cisco: show interfaces transceiver
Juniper: show interfaces diagnostics optics
Linux: ethtool -m eth0
What to look at and how to read it:
TX_far_end − loss. A discrepancy of more than a couple of decibels means a path problem.| What you see | What it means |
|---|---|
| RX normal, but CRC errors | dispersion, overload, a dirty connector, or mismatched wavelengths |
| RX 3–10 dB below normal | dirty/poorly mated connector, fiber bend, an extra splice, or TX degradation |
| RX 10+ dB below normal | a serious path defect — often MMF instead of SMF, or a wavelength mismatch |
| RX ≈ −30 … −40 or "N/A" | no light at all: a break, the far port is down, TX/RX swapped, or wrong MPO polarity |
| RX above maximum | overload — you need an attenuator |
About the −25/−30 dBm reading you'll see quoted as "interference and noise on the receiver": that's wrong. Optics are immune to electromagnetic pickup — that's the whole point of them. Such a value means exactly one thing: the photodiode sees no light and is reporting its noise floor. Look for a break, a dark far-end port, or swapped fibers.
The first thing to do on a low-RX link is to clean and re-mate the connectors. Statistically, endface contamination causes more failures than every other cause combined. A speck of dust on a 9 µm core blocks a noticeable fraction of the light spot.
Since you're prepping for trading: fiber length affects not only the budget but also the delay — ≈ 5 µs/km. Two things worth saying out loud: