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.
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:
# 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
Runs on this device, in your browser. The first run downloads Python (about 13.5 MB), which is kept for the next runs.
Your run, in this browser
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:
# 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
Runs on this device, in your browser. The first run downloads Python (about 13.5 MB), which is kept for the next runs.
Your run, in this browser
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.
| Criterion | Twisted pair | Coaxial cable | Radio (Wi-Fi) |
|---|---|---|---|
| Example link | 10GBASE-T: 10 Gb/s over up to 100 m | DOCSIS 4.0: up to 10 Gb/s downstream on hybrid fibre-coax | A shared channel; its rate follows the channel width and the signal-to-noise ratio |
| Interference | Twisting and differential signalling cancel most of it | The shield keeps it out | Shares the air with every nearby radio |
| Strengths | Easy to fit; the cable can carry power | Robust, and already in place in cable networks | No cable; devices can move |
| Weak points | About 100 m per run | Bulky; old Ethernet segments were 185 to 500 m | Loss grows with distance, frequency and walls |
| When to choose | Desks, access points and cameras within 100 m | Cable broadband | Mobile devices and places without cabling |
| Criterion | Multimode fibre | Single-mode fibre |
|---|---|---|
| Core | 50 or 62.5 µm: many paths for the light | About 9 µm: a single path |
| Example link | 10GBASE-SR: 10 Gb/s over 300 m of OM3 or 400 m of OM4, at 850 nm | 10GBASE-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 rates | Loss: at most 0.40 dB per km for G.652.D cable |
| Interference | Immune to electrical interference | Immune to electrical interference |
| When to choose | Links inside a building or a data centre | Links 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.
Reading an Ethernet PHY name
Text description of the diagram
The diagram reads the name 100GBASE-LR4 in five parts, each beside its meaning.
- 100G: the data rate, 100 Gb/s. Without the G the number is in Mb/s, as in 100BASE-TX.
- BASE: baseband signalling, the signal is sent directly on the medium rather than modulated onto a carrier.
- 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.
- R: the coding family, here 64B/66B.
- 4: the number of lanes or wavelengths used in parallel; a name without a final digit uses one.
# 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
Runs on this device, in your browser. The first run downloads Python (about 13.5 MB), which is kept for the next runs.
Your run, in this browser
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:
# 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
Runs on this device, in your browser. The first run downloads Python (about 13.5 MB), which is kept for the next runs.
Your run, in this browser
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
Exercise · Easy · Python
Name the physical cause from the symptoms
Write diagnose(reading), which names the most likely physical cause behind one port's symptoms. reading is a dictionary whose "medium" is "copper", "fibre" or "radio"; the other keys depend on the medium. Return exactly one of "duplex-mismatch", "damaged-cable", "wrong-fibre-type", "radio-interference" or "healthy", by these rules, in this order:
- Copper (duplex, late_collisions, runts, crc_errors): late collisions, or runts on a full-duplex port, mean "duplex-mismatch"; otherwise CRC errors mean "damaged-cable". - Fibre (optics and fibre): optics of "multimode" type (SR) on "single-mode" fibre, or the other way round, mean "wrong-fibre-type"; otherwise CRC errors (crc_errors) mean "damaged-cable", a dirty or broken run. - Radio (snr_db and retry_percent): a signal-to-noise ratio below 15 dB or more than 10 % of frames sent again mean "radio-interference". - Anything else is "healthy".
The counters are the increase over one minute, so 0 means the counter did not move.
Starter code · diagnose.py
def diagnose(reading):
"""Return "duplex-mismatch", "damaged-cable", "wrong-fibre-type", "radio-interference" or "healthy"."""
# Replace this line with your code: it only looks at CRC errors.
return "damaged-cable" if reading.get("crc_errors", 0) else "healthy" The sample tests · test_diagnose.py
from diagnose import diagnose
def test_late_collisions_mean_a_duplex_mismatch():
"""late collisions on the half-duplex side, with CRC errors too"""
assert diagnose({"medium": "copper", "duplex": "half", "late_collisions": 93, "runts": 0, "crc_errors": 239}) == "duplex-mismatch"
def test_runts_on_the_full_duplex_side():
"""the full-duplex end of a mismatch sees runts"""
assert diagnose({"medium": "copper", "duplex": "full", "late_collisions": 0, "runts": 57, "crc_errors": 12}) == "duplex-mismatch"
def test_crc_errors_alone_point_at_the_cable():
"""a full-duplex port with only CRC errors"""
assert diagnose({"medium": "copper", "duplex": "full", "late_collisions": 0, "runts": 0, "crc_errors": 4_120}) == "damaged-cable"
def test_multimode_optics_on_single_mode_fibre():
"""SR optics on a single-mode run"""
assert diagnose({"medium": "fibre", "optics": "multimode", "fibre": "single-mode", "crc_errors": 0}) == "wrong-fibre-type"
assert diagnose({"medium": "fibre", "optics": "single-mode", "fibre": "multimode", "crc_errors": 9}) == "wrong-fibre-type"
def test_errors_on_matching_fibre():
"""the right optics, but errors: a dirty connector or a damaged run"""
assert diagnose({"medium": "fibre", "optics": "single-mode", "fibre": "single-mode", "crc_errors": 380}) == "damaged-cable"
def test_radio():
"""low signal-to-noise or many retries are interference; a clean link is healthy"""
assert diagnose({"medium": "radio", "snr_db": 9, "retry_percent": 4}) == "radio-interference"
assert diagnose({"medium": "radio", "snr_db": 32, "retry_percent": 22}) == "radio-interference"
assert diagnose({"medium": "radio", "snr_db": 15, "retry_percent": 10}) == "healthy"
def test_healthy_ports():
"""no counter moved"""
assert diagnose({"medium": "copper", "duplex": "full", "late_collisions": 0, "runts": 0, "crc_errors": 0}) == "healthy"
assert diagnose({"medium": "fibre", "optics": "multimode", "fibre": "multimode", "crc_errors": 0}) == "healthy" A hint
Branch on reading["medium"] first, then check the rules of that medium in the order the prompt gives them. Use reading.get("crc_errors", 0) for counters, so a reading without a counter counts as 0, and remember that a mismatch beats CRC errors on copper: the mismatch causes them.
Results of the sample tests
| Test | Result | Details |
|---|
What your code printed
The sample tests run on this device, in your browser (Pyodide): nothing is sent to mysmartcopilot.com. The first run downloads Python (about 13.5 MB), which is kept for the next runs. A check in your browser is feedback for you, not proof that the code is right for every input.
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.
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
- IEEE 802.3-2022: IEEE Standard for Ethernet (IEEE Standards Association)
- IEEE 802.3an-2006: 10 Gb/s operation, type 10GBASE-T (IEEE Standards Association)
- IEEE 802.3bt-2018: Power over Ethernet over 4 pairs (IEEE Standards Association)
- ITU-T G.652: Characteristics of a single-mode optical fibre and cable (International Telecommunication Union (ITU-T))
- ITU-T G.114: One-way transmission time (International Telecommunication Union (ITU-T))
- ITU-R P.525: Calculation of free-space attenuation (International Telecommunication Union (ITU-R))
- Linux kernel documentation: interface statistics (The Linux Kernel documentation)
- Linux kernel documentation: netlink interface for ethtool (The Linux Kernel documentation)
- Cisco 10GBASE SFP+ Modules Data Sheet (Cisco)
- Configure and Verify Ethernet 10/100/1000Mb Half/Full Duplex Auto-Negotiation (Cisco)
- DP83867 Gigabit Ethernet PHY data sheet (speed optimization) (Texas Instruments)
- DOCSIS 4.0 Technology (CableLabs)
- Wi-Fi CERTIFIED 7 (Wi-Fi Alliance)
Report a problem with this lesson
Kept only in this browser. Your Learn progress