Intermittent Connectivity Drops

Intermediate Connectivity

The network connection drops unpredictably for several seconds to minutes, then recovers on its own without user intervention. These transient outages are among the most difficult connectivity problems to diagnose because they may not be reproducible on demand, and the cause can lie anywhere from physical cables to ISP backbone routing.

Symptoms

  • Ping to gateway or external IPs shows sporadic timeouts mixed with successful replies
  • Video calls, VoIP, and streaming services experience regular buffering or disconnections
  • SSH sessions disconnect with 'Broken pipe' or 'Connection reset by peer' errors
  • Packet loss visible in continuous ping tests (5-30% loss in bursts)
  • Problem correlates with time of day, weather, or high-traffic periods
  • Interface error counters increment over time (visible via netstat or ip -s link)

Possible Root Causes

  • Faulty or marginal Ethernet cable causing intermittent physical layer errors
  • Wi-Fi interference from neighboring access points on overlapping channels (2.4 GHz band)
  • DHCP lease renewal causing brief connectivity gap during IP address re-acquisition
  • ISP-side congestion or upstream BGP route flaps causing periodic packet loss
  • Duplex or speed auto-negotiation mismatch between NIC and switch port

Diagnosis Steps

Step 1: Run a continuous ping with timestamps

# Linux / macOS — ping with timestamps, log to file
ping -i 1 8.8.8.8 | while read line; do echo "$(date '+%H:%M:%S') $line"; done | tee /tmp/ping_log.txt

# Windows — ping with timestamp
for /l %i in (1,0,1000) do @(echo %time% & ping -n 1 8.8.8.8 | findstr "time=" & ping -n 1 8.8.8.8 | findstr "timed")

Let this run for 30+ minutes. Look for patterns: do drops happen at regular intervals, or randomly?

Step 2: Check interface error counters

# Linux — check RX/TX errors, dropped packets
ip -s link show eth0
# or
netstat -i

# macOS
netstat -I en0

# Windows
netsh interface show interface

High values for RX errors, TX errors, drops, or overruns point to physical layer problems.

Step 3: Run a traceroute during a drop

# Linux / macOS
traceroute -n 8.8.8.8

# Windows
tracert -d 8.8.8.8

If drops occur only at a specific hop (e.g., the ISP's first router), the problem is upstream. If everything beyond your gateway fails, the issue is local.

Step 4: Test with MTR (My Traceroute) for continuous path monitoring

# Linux / macOS (install mtr first: brew install mtr or apt install mtr)
mtr --report --report-cycles 100 8.8.8.8

# Windows (WinMTR GUI available)

MTR combines ping and traceroute and shows packet loss per hop over time.

Step 5: Inspect DHCP lease renewals

# Linux — watch DHCP events in syslog
journalctl -u NetworkManager --follow
# or
tail -f /var/log/syslog | grep -i dhcp

# macOS
log stream --predicate 'process == "configd"' --level debug

Brief drops every few hours may coincide with DHCP lease renewal.

Step 6: Check for duplex/speed mismatch

# Linux — show interface negotiated speed and duplex
ethtool eth0

# Look for:
#   Speed: 1000Mb/s (or 100Mb/s)
#   Duplex: Full
# Mismatched duplex (one side Full, other Half) causes massive packet loss under load

Step 7: Isolate Wi-Fi vs. wired

Connect a device via Ethernet cable directly to the router. If drops stop, the problem is in the Wi-Fi layer (interference, driver, AP association). If drops continue on wired, the issue is the router, modem, or ISP.

Solution

For physical layer issues (cables)

Replace any Cat5 cables with Cat5e or Cat6. Test cables with a cable tester. Check that RJ45 connectors are fully seated and crimped correctly.

# Check for CRC errors on the interface (indicates bad cable or connector)
ethtool -S eth0 | grep -i error

For Wi-Fi interference

  1. Use a Wi-Fi analyzer app (e.g., inSSIDer on Windows, WiFi Analyzer on Android) to identify congested channels
  2. Change your router's 2.4 GHz channel to 1, 6, or 11 (non-overlapping)
  3. Enable 802.11r fast BSS transition if moving between access points
  4. Prefer 5 GHz band — shorter range but far less interference

For DHCP renewal drops

Configure a static IP on the device or extend the DHCP lease time on the router:

# Set static IP on Linux (NetworkManager)
nmcli con mod "Wired connection 1" ipv4.method manual ipv4.addresses 192.168.1.50/24 ipv4.gateway 192.168.1.1 ipv4.dns "8.8.8.8,1.1.1.1"
nmcli con up "Wired connection 1"

For duplex mismatch

# Force full duplex at 1000Mbps on Linux
ethtool -s eth0 speed 1000 duplex full autoneg on

# Or disable auto-negotiation and force settings (match what the switch expects)
ethtool -s eth0 speed 100 duplex full autoneg off

For ISP-side issues

Document the times and duration of drops using your ping log. Contact your ISP with evidence — timestamps and packet loss percentages from MTR output. Request a line quality test or technician visit.

Prevention

  • Replace any cables older than 5 years or longer than 90 meters with quality Cat6 cable
  • Configure DHCP reservations (static assignments via MAC address) in your router to eliminate DHCP renewal gaps
  • Enable interface link monitoring alerts in your router or network monitoring tool (e.g., Nagios, Zabbix, or UptimeRobot)
  • For critical connections, use a wired Ethernet link instead of Wi-Fi to eliminate RF interference variables
  • Run MTR monthly to baseline your connection quality and detect degradation early

Related Protocols

Related Terms

More in Connectivity