| name | network-troubleshooting |
| description | Systematic methodology for diagnosing and resolving TCP/IP network connectivity issues, including physical layer problems, routing issues, DNS failures, application-layer problems, and performance degradation. Use when troubleshooting network outages, connectivity failures, slow performance, or any IP networking issues. |
| license | Apache-2.0 |
| metadata | {"author":"network-troubleshooting-skill","version":"1.0","based_on":"Cisco Internetworking Troubleshooting Handbook"} |
Network Troubleshooting Skill
Overview
This skill provides a comprehensive, structured approach to troubleshooting TCP/IP network connectivity issues based on industry best practices and Cisco's proven methodologies. It covers troubleshooting from Layer 1 (Physical) through Layer 7 (Application) of the OSI model.
When to Use This Skill
Use this skill when:
- Users report network connectivity problems
- Applications cannot reach servers or services
- Network performance is degraded
- Routing or switching issues are suspected
- DNS resolution is failing
- Need to diagnose firewall or ACL blocking
- Troubleshooting VPN or WAN connectivity
- Investigating intermittent network problems
Troubleshooting Methodology
Core Principles
- Follow a Structured Approach: Use systematic methods (top-down, bottom-up, divide-and-conquer, or follow-the-path)
- Document Everything: Record symptoms, tests performed, results, and changes made
- Start Simple: Check basics first (cables, power, configuration) before complex issues
- One Change at a Time: Make incremental changes and test after each
- Gather Information First: Understand the problem fully before attempting fixes
The 8-Step Troubleshooting Process
-
Define the Problem
- Identify symptoms clearly
- Determine scope (single user, department, network-wide)
- Gather timeline information (when did it start, what changed)
-
Gather Detailed Information
- Interview affected users
- Review system logs and alerts
- Check monitoring systems
- Review recent configuration changes
-
Consider Probable Causes
- Develop theories based on symptoms
- Consider OSI layer most likely affected
- Review common issues for the symptom type
-
Devise a Plan
- Determine testing approach
- Identify tools needed
- Plan rollback if changes fail
-
Implement the Plan
- Execute tests systematically
- Make changes carefully
- Document each step
-
Observe Results
- Verify if issue is resolved
- Check for side effects
- Test thoroughly
-
Iterate if Necessary
- If unresolved, return to step 3
- Refine theory based on new data
-
Document and Report
- Record final solution
- Update network documentation
- Create knowledge base entry
Essential Troubleshooting Tools
Command-Line Tools
ping
Tests basic IP connectivity using ICMP echo request/reply.
Usage:
ping <ip_address>
ping -c 5 <ip_address>
ping -n 5 <ip_address>
ping -s 1500 <ip_address>
Interpreting Results:
! (success): Packet reached destination and returned
. (timeout): No response received
U (unreachable): ICMP unreachable received
C (congestion): Source quench received
- High RTT variance: Network congestion or routing issues
traceroute/tracert
Shows the path packets take through the network.
Usage:
traceroute <destination>
tracert <destination>
Interpreting Results:
* * *: Hop not responding (may be firewall/ACL blocking)
- Latency spikes: Identify where delays occur
- Routing loops: Same hop appearing multiple times
- Path changes: Multiple paths to destination
nslookup/dig
Tests DNS name resolution.
Usage:
nslookup <hostname>
nslookup <hostname> <dns_server>
dig <hostname>
dig @<dns_server> <hostname>
netstat/ss
Shows network connections and listening ports.
Usage:
netstat -an
netstat -rn
ss -tuln
tcpdump/Wireshark
Capture and analyze network packets.
Usage:
tcpdump -i eth0 -n host 10.1.1.1
tcpdump -i eth0 port 80 -w capture.pcap
Network Device Commands (Cisco)
show ip interface brief # Interface status and IP addresses
show interfaces # Detailed interface statistics
show ip route # Routing table
show ip arp # ARP cache
show running-config # Current configuration
show version # System information
show processes cpu # CPU utilization
show memory # Memory usage
show ip access-lists # Access control lists
show ip nat translations # NAT translations
Troubleshooting Approaches
1. Top-Down Approach
Start at Layer 7 (Application) and work down to Layer 1 (Physical).
Best for:
- Application-specific issues
- User can ping but cannot access service
- Protocol-specific problems
Example:
User cannot access web server but can ping it:
1. Check browser (Layer 7)
2. Verify HTTP/HTTPS service running (Layer 7)
3. Check TCP connection (Layer 4)
4. Verify routing (Layer 3)
2. Bottom-Up Approach
Start at Layer 1 (Physical) and work up to Layer 7 (Application).
Best for:
- Complete connectivity loss
- Hardware-related issues
- Legacy equipment problems
Example:
No network connectivity:
1. Check cable connection (Layer 1)
2. Verify link lights (Layer 1)
3. Check switch port status (Layer 2)
4. Verify IP configuration (Layer 3)
5. Test routing (Layer 3)
3. Divide-and-Conquer Approach
Start in the middle (usually Layer 3/4) and move up or down based on results.
Best for:
- Unknown root cause
- Most efficient for experienced troubleshooters
- Complex multi-layer issues
Example:
Unknown connectivity issue:
1. Start with ping test (Layer 3)
2. If ping fails → move down to Layer 2/1
3. If ping succeeds → move up to Layer 4/7
4. Follow-the-Path Approach
Trace the traffic flow from source to destination.
Best for:
- Routing issues
- Complex network topologies
- Identifying where packets are dropped
Example:
Use traceroute to identify path
Test connectivity at each hop
Verify configuration on devices in path
Common Problem Categories
Physical Layer (Layer 1) Issues
Symptoms:
- No link light on interface
- Interface shows "down/down"
- High error rates on interface
Troubleshooting Steps:
- Verify cable is connected properly
- Check for physical damage to cable
- Test with known-good cable
- Verify correct cable type (straight-through vs crossover)
- Check transceiver is seated properly
- Test different port if available
- Verify speed/duplex settings match
Common Causes:
- Damaged or unplugged cables
- Wrong cable type
- Faulty network interface card (NIC)
- Bad transceiver
- Port disabled on switch
Data Link Layer (Layer 2) Issues
Symptoms:
- Interface up but no connectivity
- MAC address not in ARP table
- VLAN mismatch errors
Troubleshooting Steps:
- Check switch port configuration
- Verify VLAN assignment
- Check spanning tree status
- Review MAC address table
- Verify duplex settings match on both ends
- Check for broadcast storms
Common Causes:
- VLAN misconfiguration
- Spanning tree blocking port
- Duplex mismatch
- MAC address conflicts
Network Layer (Layer 3) Issues
Symptoms:
- Can ping local subnet but not remote networks
- Routing table missing routes
- TTL exceeded errors
Troubleshooting Steps:
- Verify IP address and subnet mask configuration
- Check default gateway is correct and reachable
- Review routing table for destination route
- Verify routing protocol operation
- Check for routing loops
- Test with extended ping specifying source interface
- Verify ip classless is configured (if using default route)
Common Causes:
- Incorrect IP configuration
- Missing or incorrect routes
- Routing protocol issues
- Routing loops
- ACL blocking traffic
Transport Layer (Layer 4) Issues
Symptoms:
- Connection timeouts
- Connections reset unexpectedly
- Application cannot establish connection
Troubleshooting Steps:
- Verify service is listening on correct port
- Check firewall rules allow traffic
- Test with telnet to service port
- Review TCP connection states
- Check for port number conflicts
Common Causes:
- Firewall blocking ports
- Service not running
- Port conflicts
- ACL blocking protocol
Application Layer (Layer 7) Issues
Symptoms:
- Specific application fails while others work
- Authentication failures
- Protocol-specific errors
Troubleshooting Steps:
- Verify service is running
- Check application logs
- Test authentication separately
- Verify protocol version compatibility
- Check for application-specific firewall rules
- Review NAT configuration for embedded IP addresses
Common Causes:
- Service not running or misconfigured
- Authentication issues
- Version incompatibilities
- NAT breaking application protocols (FTP, SIP)
Specific Scenarios
DNS Resolution Failure
Symptoms:
- Cannot access sites by name but IP addresses work
- nslookup fails
Troubleshooting:
ipconfig /all
cat /etc/resolv.conf
nslookup www.google.com
nslookup www.google.com 8.8.8.8
ping <dns_server_ip>
Intermittent Connectivity
Symptoms:
- Works sometimes, fails other times
- Packet loss in ping tests
Troubleshooting:
- Check for duplicate IP addresses
- Review interface statistics for errors
- Monitor CPU and memory usage on devices
- Check for routing protocol flapping
- Look for intermittent cable/port issues
- Check for network congestion
- Review for spanning tree changes
Cannot Reach Specific Website/Server
Symptoms:
- One service/server unreachable
- Other services work fine
Troubleshooting:
ping <server_ip>
traceroute <server_ip>
nslookup <server_name>
telnet <server_ip> <port>
nc -zv <server_ip> <port>
Network Performance Issues
Symptoms:
- Slow application response
- High latency
- Packet loss
Troubleshooting:
- Baseline current performance (ping, throughput tests)
- Check interface utilization
- Review QoS configuration
- Check for errors/drops on interfaces
- Monitor switch/router CPU and memory
- Check for broadcast storms
- Review routing protocol metrics
- Test for MTU issues
Advanced Diagnostics
Packet Capture Analysis
When to Use:
- Application-specific issues
- Need to see exact traffic flow
- Troubleshooting NAT/firewall issues
Best Practices:
- Apply capture filters to limit data
- Capture at multiple points (client, server, intermediary)
- Analyze for retransmissions, duplicate ACKs
- Look for TCP window issues
Debug Commands (Use with Caution)
Cisco Debug:
# WARNING: Debug commands can severely impact router performance
# Only use with access list to limit output
configure terminal
access-list 101 permit ip host 10.1.1.1 host 10.2.2.2
end
debug ip packet 101 detail
# To stop debugging
undebug all
Prerequisites:
- Physical access to device
- Low CPU utilization (<30%)
- Console logging disabled
- Buffered logging enabled
Resource Checking
Router/Switch Resources:
show processes cpu
show processes memory
show buffers
show interfaces | include queue
Signs of Resource Issues:
- CPU >90% sustained
- Memory free <10%
- Input/output queue drops
- Buffer allocation failures
Application-Specific Troubleshooting
HTTP/HTTPS
telnet <server> 80
curl -v http://<server>
openssl s_client -connect <server>:443
openssl s_client -connect <server>:443 -showcerts
FTP
- Check both control (21) and data connection
- Try passive mode if active fails
- Verify firewall allows FTP data connections
- Check for NAT issues with PORT command
Email (SMTP/POP/IMAP)
telnet <mail_server> 25
telnet <mail_server> 110
telnet <mail_server> 143
SSH/Telnet
- Verify service listening on correct port
- Check for DNS reverse lookup delays
- Verify authentication method supported
- Check for TCP wrapper restrictions
Documentation Template
After resolving issues, document using this template:
Issue: [Brief description]
Date/Time: [When reported and resolved]
Affected: [Users, systems, services impacted]
Symptoms: [What users experienced]
Root Cause: [Actual cause identified]
Troubleshooting Steps:
1. [Step 1 taken]
2. [Step 2 taken]
...
Resolution: [What fixed the issue]
Prevention: [How to prevent recurrence]
Lessons Learned: [What was learned]
Best Practices
-
Always Document
- Record all tests performed
- Note all configuration changes
- Save before/after configurations
- Create timeline of events
-
Verify Before Assuming
- Don't assume configurations are correct
- Test rather than trust status displays
- Verify both directions of traffic flow
-
Isolate Variables
- Change one thing at a time
- Test after each change
- Have rollback plan ready
-
Use Baselines
- Know normal performance metrics
- Compare current state to baseline
- Document network topology
-
Consider Security
- Check ACLs and firewall rules early
- Verify security policies aren't blocking
- Don't disable security to troubleshoot
-
Escalate Appropriately
- Know when to escalate
- Document what was tried
- Provide clear handoff information
Common Mistakes to Avoid
- Not gathering enough information before starting
- Making multiple changes simultaneously
- Assuming the problem is what the user says it is
- Not testing the fix thoroughly
- Forgetting to document the solution
- Not following up to verify long-term fix
- Using debug commands in production without safeguards
- Not having a rollback plan
Quick Reference Checklists
Basic Connectivity Checklist
Performance Issue Checklist
Routing Issue Checklist
Additional Resources
For detailed protocol-specific information, refer to:
references/TCP-IP-PROTOCOLS.md - Detailed TCP/IP protocol information
references/COMMON-ISSUES.md - Database of common issues and solutions
references/VENDOR-SPECIFIC.md - Vendor-specific commands and procedures
scripts/network-test.sh - Automated network testing script
When to Escalate
Escalate to senior network engineers or vendors when:
- Issue appears to be hardware failure
- Problem persists after exhausting known solutions
- Issue requires access/permissions you don't have
- Software bug is suspected
- Vendor support is needed for proprietary equipment
- Security incident is suspected
- Issue impacts business-critical systems