Your country

Tools that support it use your country for local currency, number formats, units and paper size. Your choice is saved only in this browser.

Type a name or a two-letter code. Use the up and down arrow keys to move through the countries, Enter to choose one and Escape to close.

Computer Networks  Module 2 – Switching, performance and the physical layer

Transmission media: copper, fibre and radio

Twisted pair, coax, multimode and single-mode fibre and radio compared by reach, rate and interference, with Ethernet PHY names and port counters decoded.

  • Beginner
  • 25 minutes
  • Examples run with Python 3.14.8 and Pyodide 314.0.7
  • By MySmartCoPilot
Free: 25 minutes

What you will learn

  • Compare twisted pair, coaxial cable, multimode fibre, single-mode fibre and radio by reach, rate and interference
  • Read Ethernet physical-layer names such as 1000BASE-T and 10GBASE-LR
  • Identify cable and interface faults from interface error counters

Before you start

What you’ll learn · Before you start

What you will learn

  • Compare twisted pair, coaxial cable, multimode fibre, single-mode fibre and radio by reach, rate and interference
  • Read Ethernet physical-layer names such as 1000BASE-T and 10GBASE-LR
  • Identify cable and interface faults from interface error counters

Before you start

On this page

A transmission medium is whatever carries the signal between two devices: copper wires, glass fibre or radio waves in the air. The choice decides how far a link can reach, how fast it can run and what can disturb it. Twisted-pair copper is cheap, easy to install and can power the device at the other end, but Ethernet runs on it are limited to about 100 m. Coaxial cable shields its signal and still carries cable broadband. Fibre carries light, reaches hundreds of metres on multimode glass and tens of kilometres on single-mode glass, and electrical interference cannot touch it. Radio needs no cable at all, but everyone in range shares the same air and the signal fades quickly with distance. This lesson compares the five, reads the names Ethernet gives its physical layers, and shows how to find a physical fault in a port’s counters before suspecting the software.

Copper: twisted pair and coax

A twisted pair is two insulated wires twisted around each other. The signal is sent as the difference between the two wires, and the twisting makes any outside interference induce nearly the same voltage in both, so it cancels when the receiver takes the difference. Office and home Ethernet cables hold four such pairs. Ethernet’s twisted-pair physical layers are specified for runs of up to 100 m: IEEE 802.3an, for example, specifies 10GBASE-T over twisted-pair cabling runs of up to 100 m. 100BASE-TX uses two of the four pairs and 1000BASE-T all four, which matters when one pair is broken. The same cable can also deliver power: IEEE 802.3 includes the powering of devices through twisted-pair links, and IEEE 802.3bt raised the power available by using all four pairs. That is how a desk phone, a camera or an access point can run without a power socket of its own.

A coaxial cable has one centre conductor inside a cylindrical shield. The shield keeps the signal in and interference out, so coax carries high frequencies a long way. The first Ethernets ran on it (10BASE5 and 10BASE2, whose names hold their segment lengths of about 500 m and 185 m), and cable broadband still does: CableLabs specifies DOCSIS 4.0 for hybrid fibre-coax networks at up to 10 Gb/s downstream and 6 Gb/s upstream, figures from the specification rather than measured service.

Fibre: multimode and single-mode

An optical fibre is a glass core inside a glass cladding of slightly lower refractive index, which keeps the light in the core by total internal reflection. Light is immune to electrical interference and glass does not conduct, so fibre suits noisy machine rooms and links between buildings. The signal travels at about 5 µs a kilometre, the planning value of ITU-T G.114.

  • Multimode fibre has a wide core, 50 or 62.5 µm. Light takes many paths (modes) of slightly different lengths, so a short pulse spreads out as it travels, and the faster the link, the shorter the distance before pulses blur. Cisco’s data sheet for its 10GBASE-SR optics (850 nm) gives 33 m on OM1 fibre, 82 m on OM2, 300 m on OM3 and 400 m on OM4: enough for links inside a building or a data centre.
  • Single-mode fibre has a core about 9 µm across (ITU-T G.652.D specifies a mode field diameter of 8.6 to 9.2 µm at 1310 nm), so light travels in a single mode and pulses stay sharp. The same data sheet gives 10 km for 10GBASE-LR at 1310 nm and 40 km for 10GBASE-ER at 1550 nm. G.652.D cable loses at most 0.40 dB per kilometre from 1310 to 1625 nm and 0.30 dB at 1530 to 1565 nm; short indoor cables may lose up to 1.0 dB per kilometre.

A fibre link works when the light that arrives is still stronger than the receiver needs. The example adds up the losses of a 2 km run between two buildings, with example figures for the connectors, splices and optics:

Loss budget and delay of a fibre run Python · loss_budget.py
# A loss budget for a 2 km single-mode fibre run between two buildings, and the delay of
# copper and fibre runs. Cable loss is the ITU-T G.652.D maximum; the connector and splice
# losses and the transceiver figures are example values: use your parts' data sheets.

KM = 2.0
FIBRE_DB_PER_KM = 0.4  # G.652.D: at most 0.40 dB/km from 1310 to 1625 nm
CONNECTORS, CONNECTOR_DB = 2, 0.5  # example figures
SPLICES, SPLICE_DB = 2, 0.1  # example figures

loss = KM * FIBRE_DB_PER_KM + CONNECTORS * CONNECTOR_DB + SPLICES * SPLICE_DB
print(f"fibre {KM * FIBRE_DB_PER_KM:.2f} dB + connectors {CONNECTORS * CONNECTOR_DB:.2f} dB + splices {SPLICES * SPLICE_DB:.2f} dB = {loss:.2f} dB")

TX_DBM, RX_SENSITIVITY_DBM = -8.0, -14.0  # an example transceiver pair
received = TX_DBM - loss
print(f"received: {TX_DBM} dBm - {loss:.2f} dB = {received:.2f} dBm; margin {received - RX_SENSITIVITY_DBM:.2f} dB")

# Delay: light in fibre about 5 us per km (ITU-T G.114); in twisted pair the signal moves at
# roughly two-thirds of the speed of light (an example figure; cables state their own value).
C = 299_792_458
print(f"2 km of fibre: {KM * 5:.1f} us")
for metres in (90, 100):
    print(f"{metres} m of twisted pair at 0.66 c: {metres / (0.66 * C) * 1e9:.0f} ns")

Output

fibre 0.80 dB + connectors 1.00 dB + splices 0.20 dB = 2.00 dB
received: -8.0 dBm - 2.00 dB = -10.00 dBm; margin 4.00 dB
2 km of fibre: 10.0 us
90 m of twisted pair at 0.66 c: 455 ns
100 m of twisted pair at 0.66 c: 505 ns

Recorded with Python 3.14.8 on macOS 26 arm64. To run it yourself: mise exec python@3.14.8 -- python3 loss_budget.py

The fibre itself costs only 0.8 dB over 2 km; the connectors cost more than the glass. The 4 dB to spare leave room for a dirty connector or a tight bend, which is why loss budgets keep a margin. The delay row shows the other side of the comparison: 2 km of fibre adds 10 µs, while a full 100 m copper run adds about half a microsecond.

Radio: no cable, shared air

Radio links send the signal through the air, so they need no cable and allow movement, but the signal spreads out in every direction. ITU-R P.525 gives the loss between two ideal antennas in free space:

Lbf=32.4+20log10⁡fMHz+20log10⁡dkm dBL_{bf} = 32.4 + 20\log_{10} f_{\text{MHz}} + 20\log_{10} d_{\text{km}}\ \text{dB}
Free-space loss in the three Wi-Fi bands Python · free_space.py
# Free-space loss between ideal antennas (ITU-R P.525): L = 32.4 + 20 log10(f MHz) + 20 log10(d km).
# Walls, bodies and other radios come on top; this is only the loss of spreading out.
from math import log10


def free_space_db(mhz, metres):
    return 32.4 + 20 * log10(mhz) + 20 * log10(metres / 1000)


bands = {"2.4 GHz": 2_437, "5 GHz": 5_500, "6 GHz": 6_500}  # a channel in each band
print("distance  " + "".join(f"{b:>10}" for b in bands))
for metres in (1, 10, 30):
    print(f"{metres:>5} m  " + "".join(f"{free_space_db(f, metres):>7.1f} dB" for f in bands.values()))
print(f"6 GHz against 2.4 GHz at any distance: {free_space_db(6_500, 10) - free_space_db(2_437, 10):.1f} dB more")
print(f"three times the distance: {20 * log10(3):.1f} dB more")

Output

distance     2.4 GHz     5 GHz     6 GHz
    1 m     40.1 dB   47.2 dB   48.7 dB
   10 m     60.1 dB   67.2 dB   68.7 dB
   30 m     69.7 dB   76.7 dB   78.2 dB
6 GHz against 2.4 GHz at any distance: 8.5 dB more
three times the distance: 9.5 dB more

Recorded with Python 3.14.8 on macOS 26 arm64. To run it yourself: mise exec python@3.14.8 -- python3 free_space.py

Tripling the distance costs 9.5 dB, and a channel in the 6 GHz band loses 8.5 dB more than one at 2.4 GHz over the same distance, before walls, furniture and people add their own losses. Wi-Fi uses all three bands, 2.4, 5 and 6 GHz, and the Wi-Fi Alliance presents 6 GHz as the band for wide channels: Wi-Fi 7’s 320 MHz channels sit there. The lower band reaches further; the higher bands leave room for wider channels, and wider channels carry more bits.

Radio is also a shared medium. Every device on a channel within range hears every transmission, nearby networks on the same channel interfere, and signals arriving by several paths (reflections off walls) can partly cancel each other. A radio link therefore slows down by itself as its signal-to-noise ratio falls, as the Shannon limit of the previous lesson predicts, and devices must take turns, which a later lesson on Wi-Fi covers.

Comparing the media

The two tables put the media side by side: copper and radio first, then the two kinds of fibre.

Twisted pair, coaxial cable and radio
Criterion Twisted pairCoaxial cableRadio (Wi-Fi)
Example link 10GBASE-T: 10 Gb/s over up to 100 mDOCSIS 4.0: up to 10 Gb/s downstream on hybrid fibre-coaxA shared channel; its rate follows the channel width and the signal-to-noise ratio
Interference Twisting and differential signalling cancel most of itThe shield keeps it outShares the air with every nearby radio
Strengths Easy to fit; the cable can carry powerRobust, and already in place in cable networksNo cable; devices can move
Weak points About 100 m per runBulky; old Ethernet segments were 185 to 500 mLoss grows with distance, frequency and walls
When to choose Desks, access points and cameras within 100 mCable broadbandMobile devices and places without cabling
Multimode or single-mode fibre
Criterion Multimode fibreSingle-mode fibre
Core 50 or 62.5 µm: many paths for the lightAbout 9 µm: a single path
Example link 10GBASE-SR: 10 Gb/s over 300 m of OM3 or 400 m of OM4, at 850 nm10GBASE-LR: 10 Gb/s over 10 km at 1310 nm; 10GBASE-ER: 40 km at 1550 nm
What limits it Pulses spread as the paths differ, more at higher ratesLoss: at most 0.40 dB per km for G.652.D cable
Interference Immune to electrical interferenceImmune to electrical interference
When to choose Links inside a building or a data centreLinks between buildings and across cities

Reading Ethernet physical-layer names

IEEE 802.3 names each physical layer by its rate, its signalling and its medium. The number is the rate in Mb/s, or in Gb/s when a G follows it. BASE means baseband: the signal goes straight onto the medium instead of riding on a carrier. The letters after the dash name the medium and sometimes the coding (T for twisted pair, S, L and E for short, long and extended reach on fibre, R for the 64B/66B coding family), and a final digit counts the lanes or wavelengths used side by side. In the oldest coax names the digit was the segment length in hundreds of metres.

100GBASE-LR4 split into its parts: 100G is the rate, BASE baseband, L long wavelength, R 64B/66B coding, 4 the lanes.100Grate: 100 Gb/s(no G: Mb/s)BASEbasebandsignallingLlong wavelength,single-mode fibreR64B/66B coding(the R family)4four lanes orwavelengths

Reading an Ethernet PHY name

Text description of the diagram

The diagram reads the name 100GBASE-LR4 in five parts, each beside its meaning.

  1. 100G: the data rate, 100 Gb/s. Without the G the number is in Mb/s, as in 100BASE-TX.
  2. BASE: baseband signalling, the signal is sent directly on the medium rather than modulated onto a carrier.
  3. L: the medium, here long-wavelength light on single-mode fibre. S means short wavelength on multimode fibre, E extended reach, T twisted-pair copper.
  4. R: the coding family, here 64B/66B.
  5. 4: the number of lanes or wavelengths used in parallel; a name without a final digit uses one.
Decoding ten Ethernet PHY names Python · phy_names.py
# Reading Ethernet physical-layer names: <rate>BASE-<medium and coding>. The rate is in Mb/s
# (or Gb/s with a G), BASE means baseband signalling, and the letters after the dash name the
# medium; a trailing digit counts lanes or wavelengths. Reaches are the ones the lesson cites.
import re

MEDIUM = {
    "T": "twisted-pair copper",
    "TX": "twisted-pair copper, 4B/5B coding",
    "SR": "short wavelength (850 nm), multimode fibre, 64B/66B coding",
    "LR": "long wavelength (around 1310 nm), single-mode fibre, 64B/66B coding",
    "ER": "extended reach (1550 nm), single-mode fibre, 64B/66B coding",
}
REACH = {
    "10BASE5": "500 m segment of thick coax",
    "10BASE2": "185 m segment of thin coax",
    "10BASE-T": "100 m",
    "100BASE-TX": "100 m",
    "1000BASE-T": "100 m, all four pairs",
    "10GBASE-T": "100 m",
    "10GBASE-SR": "300 m on OM3, 400 m on OM4",
    "10GBASE-LR": "10 km",
    "10GBASE-ER": "40 km",
}


def decode(name):
    m = re.fullmatch(r"(\d+)(G?)BASE-?([A-Z]*?)(\d?)", name)
    if not m:
        raise ValueError(f"{name}: not an Ethernet PHY name")
    rate, giga, medium, lanes = m.groups()
    speed = f"{rate} {'Gb/s' if giga else 'Mb/s'}"
    if not medium:  # the oldest names: the digit is the segment length in hundreds of metres
        return speed, "coaxial cable", REACH.get(name, "")
    what = MEDIUM.get(medium, medium)
    if lanes:
        what += f", {lanes} lanes"
    return speed, what, REACH.get(name, "")


for name in ("10BASE5", "10BASE2", "10BASE-T", "100BASE-TX", "1000BASE-T", "10GBASE-T",
             "10GBASE-SR", "10GBASE-LR", "10GBASE-ER", "100GBASE-LR4"):
    speed, medium, reach = decode(name)
    print(f"{name:13} {speed:9} {medium}" + (f"; reach {reach}" if reach else ""))

Output

10BASE5       10 Mb/s   coaxial cable; reach 500 m segment of thick coax
10BASE2       10 Mb/s   coaxial cable; reach 185 m segment of thin coax
10BASE-T      10 Mb/s   twisted-pair copper; reach 100 m
100BASE-TX    100 Mb/s  twisted-pair copper, 4B/5B coding; reach 100 m
1000BASE-T    1000 Mb/s twisted-pair copper; reach 100 m, all four pairs
10GBASE-T     10 Gb/s   twisted-pair copper; reach 100 m
10GBASE-SR    10 Gb/s   short wavelength (850 nm), multimode fibre, 64B/66B coding; reach 300 m on OM3, 400 m on OM4
10GBASE-LR    10 Gb/s   long wavelength (around 1310 nm), single-mode fibre, 64B/66B coding; reach 10 km
10GBASE-ER    10 Gb/s   extended reach (1550 nm), single-mode fibre, 64B/66B coding; reach 40 km
100GBASE-LR4  100 Gb/s  long wavelength (around 1310 nm), single-mode fibre, 64B/66B coding, 4 lanes

Recorded with Python 3.14.8 on macOS 26 arm64. To run it yourself: mise exec python@3.14.8 -- python3 phy_names.py

Reading the counters before blaming software

When a link is slow or drops packets, read the port’s counters before anything else: physical faults leave clear marks there, long before anyone needs a packet capture. On Linux, ip -s -s link show dev <name> prints the interface statistics that the kernel’s documentation describes: rx_crc_errors counts frames received with a bad CRC, collisions counts collisions while sending, and tx_window_errors counts late collisions, those after the first 64 bytes of a frame. The ethtool interface reports the negotiated speed and duplex. Switches show the same counters under their own names. Three symptoms are worth knowing by heart:

  • Late collisions on a half-duplex port mean a duplex mismatch: the other end is set to full duplex and sends whenever it likes. In Cisco’s guide to duplex settings, the end set to half duplex shows late collisions and a fast-rising count of FCS and alignment errors, while the full-duplex end shows runts; a full-duplex port should never count collisions at all.
  • CRC errors on a full-duplex link without collisions point at the cable, a connector or interference: frames arrive damaged although nobody is colliding.
  • A gigabit port that links at 100 Mb/s without errors often has a cable with a broken or missing pair. Texas Instruments’ DP83867 data sheet, for example, describes a “speed optimization” that falls back to 100 Mb/s after failed gigabit attempts when only two pairs are connected.

The example compares two snapshots of a port taken a minute apart:

Which counters grew? Python · diagnose.py
# Reading interface counters before blaming software. Two snapshots of a port, taken one
# minute apart (example readings): what grew tells you which layer to look at.

before = {"speed_mbps": 1000, "duplex": "half", "rx_crc_errors": 112, "late_collisions": 40,
          "collisions": 900, "runts": 0, "link_changes": 2}
after = {"speed_mbps": 1000, "duplex": "half", "rx_crc_errors": 351, "late_collisions": 133,
         "collisions": 2_310, "runts": 0, "link_changes": 2}


def changes(a, b):
    return {k: b[k] - a[k] for k in a if isinstance(a[k], int) and b[k] != a[k]}


grew = changes(before, after)
print("grew in one minute:", grew)

if after["duplex"] == "half" and grew.get("late_collisions"):
    print("late collisions on a half-duplex port: the far end is probably full duplex (a duplex mismatch);")
    print("set both ends to auto-negotiate, or both to the same fixed speed and duplex")
elif grew.get("rx_crc_errors") and not grew.get("collisions"):
    print("CRC errors on a full-duplex link: suspect the cable, a connector or interference")
elif grew.get("link_changes"):
    print("the link keeps going up and down: reseat or replace the cable, then the port")
else:
    print("no physical-layer symptom in these counters")

Output

grew in one minute: {'rx_crc_errors': 239, 'late_collisions': 93, 'collisions': 1410}
late collisions on a half-duplex port: the far end is probably full duplex (a duplex mismatch);
set both ends to auto-negotiate, or both to the same fixed speed and duplex

Recorded with Python 3.14.8 on macOS 26 arm64. To run it yourself: mise exec python@3.14.8 -- python3 diagnose.py

Late collisions grew by 93 on a port set to half duplex, together with CRC errors and collisions: the classic mismatch. Setting both ends to auto-negotiate, or both to the same fixed speed and duplex, fixes it; replacing the cable would not.

Exercise: name the physical cause

Check yourself

5 questions about this lesson. Every answer and why it is right is on the page, behind “Show the answer”. Your score stays in this browser.

  1. Question 1 of 5 What does the name 10GBASE-LR tell you?

    Choose one answer.

    Show the answer to question 1

    Answer: 10 Gb/s, baseband signalling, long-wavelength light on single-mode fibre, 64B/66B coding

    The number and G give the rate, BASE means baseband, L means long wavelength (around 1310 nm) on single-mode fibre and R the 64B/66B coding family. 10GBASE-LR reaches 10 km; its short-wavelength sibling 10GBASE-SR uses multimode fibre and reaches 300 m on OM3.

  2. Question 2 of 5 A switch port is set to half duplex, and its late-collision counter keeps climbing while its CRC errors rise. What is the most likely cause?

    Choose one answer.

    Show the answer to question 2

    Answer: The other end is full duplex, so the two ends disagree about duplex

    A full-duplex end sends whenever it likes, so it often starts while the half-duplex end is already sending. The half-duplex end sees that as a collision after its first 64 bytes, a late collision, and its received frames arrive damaged. The full-duplex end, which never expects collisions, sees runts instead.

  3. Question 3 of 5 A 3 km single-mode run is budgeted at 0.4 dB per km, with two connectors of 0.5 dB each. What is the total loss, in dB?

    Type a number.

    Show the answer to question 3

    Answer: 2.2 dB (anything from 2.199 to 2.201 counts)

    3 km x 0.4 dB/km = 1.2 dB of fibre, plus 2 x 0.5 dB = 1.0 dB of connectors: 2.2 dB. Subtract it from the transmitter's power and compare the result with the receiver's sensitivity to find the margin.

  4. Question 4 of 5 A new office cable links a gigabit port at only 100 Mb/s, without errors. What is the most likely physical cause?

    Choose one answer.

    Show the answer to question 4

    Answer: Only two of the cable's four pairs work, so the link falls back to 100 Mb/s

    1000BASE-T needs all four pairs, while 100BASE-TX uses two. Gigabit PHYs with a downshift feature, such as Texas Instruments' DP83867, try gigabit a few times and then fall back to 100 Mb/s when two pairs are missing, so a broken pair or a two-pair cable shows up as a slow but clean link.

  5. Question 5 of 5 By the free-space formula of ITU-R P.525, how many dB more does a 6,500 MHz signal lose than a 2,437 MHz signal over the same distance? Give one decimal place.

    Type a number.

    Show the answer to question 5

    Answer: 8.5 dB (anything from 8.45 to 8.55 counts)

    Only the 20 log10(f) term differs: 20 x log10(6,500 / 2,437) = 20 x log10(2.667) = 8.5 dB, at every distance. Walls, furniture and people add their own losses on top, so measure real coverage rather than trusting the formula alone.

Interview questions

What is the difference between multimode and single-mode fibre? (warm-up)

Multimode fibre has a wide core, 50 or 62.5 µm, so light travels along many paths of slightly different lengths and a pulse spreads out as it goes. That limits its reach as the rate rises: 10GBASE-SR covers 300 m on OM3 and 400 m on OM4. Its 850 nm optics are cheaper, so it suits links inside buildings and data centres. Single-mode fibre has a core about 9 µm across, carries a single mode, and keeps pulses sharp over kilometres: 10GBASE-LR reaches 10 km at 1310 nm and 10GBASE-ER 40 km at 1550 nm. Its optics cost more, but it is the fibre for links between buildings and across cities. The two need matching optics: multimode optics on single-mode fibre, or the reverse, will not give a reliable link.

Key takeaways

  • Twisted pair cancels interference by twisting and differential signalling; Ethernet runs reach about 100 m, and the cable can carry power.
  • Coax shields its signal; it carried the first Ethernet and still carries cable broadband over hybrid fibre-coax.
  • Multimode fibre (50 or 62.5 µm core) is cheaper but limited to hundreds of metres at 10 Gb/s; single-mode fibre (about 9 µm) reaches 10 to 40 km and loses at most 0.4 dB per km.
  • Radio needs no cable but shares the air; free-space loss grows by 20 dB per tenfold distance and with frequency.
  • Ethernet PHY names read as rate, BASE, medium and coding, and lanes: 100GBASE-LR4 is 100 Gb/s, long wavelength, 64B/66B coding, four lanes.
  • Read the counters first: late collisions mean a duplex mismatch, CRC errors alone a cable problem, and a gigabit port stuck at 100 Mb/s a missing pair.

References

Report a problem with this lesson

Quick answers and tool search

Type to search tools or to get a quick answer, for example 18% of 2500. Use the up and down arrow keys to move through the results, Enter to choose, and Escape to close.