Problemet: Et databaseprogram er "langsomt". Netværkets team bebrejder serverholdet. Serverholdet bebrejder netværket. I mellemtiden er brugerne frustrerede, og timer er spildt i cirkulær debugging.
Løsningen: En systematisk, videnskabelig tilgang til fejlfinding, der bruger beviser, ikke antagelser, til at identificere de grundlæggende årsager.
Omkostningerne ved fejlfinding af havarier: Spildt tid, forkerte rettelser, der maskerer reelle problemer, fingerpegning mellem hold, og nedbrudt brugeroplevelse.
Netværksfejlfinding er grundlæggende en øvelse i den videnskabelige metode:
Denne artikel giver en struktureret ramme for fejlfinding af netværk, der forhindrer almindelige faldgruber som:
Før dykning i tekniske diagnostik, besvare disse fem kritiske spørgsmål for at indsnævre din undersøgelse omfang:
Indstillingsændringer? Ny hardware? Softwareopdateringer? Topologi modifikationer?
En bruger? En bygning? Alle? Udelukkende specifik anvendelse?
Det sker hele tiden? Kun i bestemte timer? Tilfældige hændelser?
Kan du udløse problemet på efterspørgsel?
Tjek begge ender af forbindelsen
OSI-modellen giver en struktureret ramme for fejlfinding. Arbejde fra lag 1 (Fysisk) opad, eller fra lag 7 (Anvendelse) nedad, afhængig af symptomer.
Hvornår skal du bruge: Komplet konnektivitet tab, ingen link lys, eller fysiske lag symptomer
show interfaces, ethtool eth0show mac address-table, show spanning-treeping, traceroute, show ip routetelnet host port, netstat -an, pakkeindfangningnslookup, dig, curl -vHvornår skal du bruge: Anvendelse-specifikke problemer, hvor grundlæggende forbindelse eksisterer
Start på Layer 7 (Er SharePoint service kører? DNS løsning til at korrigere IP?) og arbejde ned, hvis det er nødvendigt.
Brug dette hurtige diagnostiske træ til at identificere, hvilket lag der svigter:
TCP / IP stack fungerer ikke. Tjek OS-tjenester, geninstallere netværk drivere.
NIC deaktiveret, forkert driver, kabel frakoblet. Tjek: ip link show eller Enhedshåndtering
Check: Fysisk kabel, skifte port status, VLAN opgave, ARP tabel
check: Routing bord, firewall regler, ACL 'er. Anvendelse traceroute til at finde hvor pakkerne stopper
Tjek: DNS serverindstillinger, DNS serverens tilgængelighed, firewall blokerende port 53
Check: Firewall regler, sikkerhedsgrupper, service lytter på porten
Problemet er selve programmet, autentificering eller programkonfiguration
Når du har en hypotese om den grundlæggende årsag, bruge disse isolation teknikker til at bekræfte eller afvise det:
Optag trafik ved kilde, mellempunkter og destination for at identificere, hvor pakkerne er faldet eller ændret:
# Capture on client
tcpdump -i eth0 -w client.pcap host server.example.com
# Capture on server
tcpdump -i eth0 -w server.pcap host client.example.com
# Compare:
# - Do packets leave client? (check client.pcap)
# - Do packets arrive at server? (check server.pcap)
# - If yes/no: problem is in the path between
# - If yes/yes but server doesn't respond: server-side issue
Eliminere eksterne variabler ved at teste konnektivitet inden for en enkelt enhed:
# Test TCP stack without network
ping 127.0.0.1
# Test application listening locally
telnet localhost 80
# Test loopback on network interface (if supported)
# Some NICs support physical loopback for Layer 1 testing
Sammenlign konfiguration og adfærd mod et fungerende system:
# Compare interface settings
diff <(ssh working-switch "show run int gi1/0/1") \
<(ssh broken-switch "show run int gi1/0/1")
# Compare routing tables
diff <(ssh router1 "show ip route") \
<(ssh router2 "show ip route")
Korrekt dokumentation forhindrer cirkulær debugging, hvor du prøver det samme flere gange uden at indse det.
Issue ID: TICKET-12345
Date/Time: 2026-02-02 14:30 UTC
Reported By: Jane Smith (jane.smith@company.com)
Affected Users: ~50 users in Building A, 3rd floor
Symptom: Cannot access file server \\fileserver01
Initial Observations:
- Issue started around 14:00 UTC
- Only affects Building A, 3rd floor
- Other buildings can access fileserver01
- Ping to fileserver01 (10.1.50.10) times out from affected users
- Ping to default gateway (10.1.30.1) succeeds
Tests Performed:
1. [14:35] Checked switch port status: gi1/0/15 is UP/UP
2. [14:38] Checked VLAN assignment: Port is in VLAN 30 (correct)
3. [14:42] Checked interface errors: 1,234 CRC errors on gi1/0/15
4. [14:45] Replaced patch cable - still seeing CRC errors
5. [14:50] Moved uplink to different port (gi1/0/16) - errors persist
6. [14:55] Checked fiber cleanliness - dirty connector found
Root Cause:
Dirty fiber connector on uplink between Building A floor switch
and distribution switch causing CRC errors and packet loss
Resolution:
Cleaned fiber connector with proper cleaning kit. CRC errors
dropped to zero. File server access restored.
Verification:
Users confirmed file server accessible. Monitored for 15 minutes
with no errors.
Time to Resolution: 25 minutes
Databasens svartider er nedbrudt fra < 100 ms til 5 + sekunder. Application team bebrejdede "netværk latency".
Database server OS buffere var for lille til high-båndbredde × forsinkelse produkt. TCP vindue ville fylde, tvinger afsenderen til at vente.
# Increased TCP receive buffers on Linux database server
sysctl -w net.ipv4.tcp_rmem="4096 87380 16777216"
sysctl -w net.core.rmem_max=16777216
Tro ikke: "Langsomt" betyder ikke altid "netværk latency". Altid indsamle beviser (ping for latency, pakke capture for adfærd) før hoppe til konklusioner.
Serverforbindelsen ville falde tilfældigt, især under belastning. Nogle gange virkede det fint, andre gange helt uresponderende.
Autoforhandling mislykkedes. Server forhandlet full-duplex, switch faldt tilbage til half-duplex. Kollisioner opstod kun under belastning, da begge sider forsøgte at sende samtidigt.
! Cisco switch - force full duplex
interface GigabitEthernet1/0/10
speed 1000
duplex full
Tjek begge ender: Interface status viser de forhandlede indstillinger. Et misforhold betyder, at selvforhandling mislykkedes. Altid hard- kode hastighed / duplex for servere.
Brugere kunne gennemse nogle hjemmesider (Google, Yahoo), men ikke andre (bank hjemmeside, virksomhedens portal). Små HTTP anmodninger virkede, store sider timet ud.
ping -M do -s 1472 det lykkes ping -M do -s 1473 mislykkesVPN tunnel reduceret MTU til 1400, men firewall var blokere ICMP "Fragmentation påkrævet" meddelelser. Path MTU Discovery (PMTUD) kunne ikke fungere, skabe et MTU sort hul. Små pakker passer, store pakker med DF bit sæt blev tappet stille.
! Implemented TCP MSS clamping on router
interface Tunnel0
ip tcp adjust-mss 1360
! Alternative: Allow ICMP Type 3 Code 4 through firewall
access-list 101 permit icmp any any packet-too-big
Størrelsesforhold: Hvis små anmodninger virker, men store overførsler mislykkes, mistanke MTU / fragmentering spørgsmål. Brug ping med DF bit til at teste sti MTU.
Stemmeopkaldene havde muppy audio, intermitterende frafald. Det skete kun i arbejdstiden (kl. 9-17).
QoS politik eksisterede, men båndbredde tildeling var bagud: best-indsats fik 60%, stemme fik 5%. I løbet af driftstimerne, hvor datatrafikken steg, faldt talepakker på grund af køens overløb.
! Corrected QoS policy
policy-map WAN-QOS
class VOICE
priority percent 33
class VIDEO
bandwidth percent 25
class CRITICAL-DATA
bandwidth percent 20
class class-default
bandwidth percent 22
Tidsbaserede udstedelser = kapacitet: Hvis problemer kun opstår i travle timer, er det ikke en hård fiasko, men en kapacitet / QoS problem. Tjek køens statistik, ikke bare total båndbredde.
| Symptomer | Lag | Kommandoer der skal køres | Hvad man skal kigge efter |
|---|---|---|---|
| Intet link lys | Lag 1 | show interfaces |
Status: ned, ingen bærer, kabel frakoblet |
| Packets tab | Lag 1 / 2 | show interfaces |
CRC fejl, runts, giganter, kollisioner, sene kollisioner |
| Kan ikke ping- gateway | Lag 2 | arp -a |
Ingen ARP indgang, MAC ikke lært, STP blokering |
| Kan ikke nå ekstern undernet | Lag 3 | traceroute |
Manglende rute, forkert next- hop, routing loop |
| Forbindelse afvist | Lag 4 | telnet host port |
Service ikke lytte, firewall blok, TCP RST |
| Langsom præstation | Lag 4 + | ping (RTT) |
Høj latens, båndbredde grænse, TCP-retransmissioner, nul vinduer |
| Kan ikke løse værtsnavn | Lag 7 | nslookup |
DNS server unreachable, forkert DNS config, NXDOMAIN |
| Intermitterende dråber | Layer 1/2 | ping -f (flood) |
Duplex mismatch, defekt kabel, STP reconvergence |
| Arbejder nogle gange, ikke andre | Flere | Extended ping |
Lastbalancering, ECMP-asymmetri, overløb af statstabel |
Vide, hvornår at eskalere til leverandør TAC eller senior ingeniører. Eskalere når:
Hver fejlfindingssession er en indlæringsmulighed. Opbygge en personlig videnbase:
# Example structure
~/troubleshooting-journal/
├── 2026-01-15-duplex-mismatch.md
├── 2026-01-22-mtu-black-hole.md
├── 2026-02-02-tcp-window-exhaustion.md
└── README.md # Index of all issues
# Each file contains:
# - Symptom
# - Diagnostic steps
# - Root cause
# - Resolution
# - Lessons learned
# - Related tickets/documentation
Organiser ofte anvendte kommandoer efter scenario for hurtig reference under fejlfinding.
At ændre konfigurationer uden at forstå problemet gør ofte tingene værre eller skjuler det virkelige problem.
Ofte "netværk problemer" er program, server, eller klient- side problemer. Saml beviser, før du tager skylden.
Du vil spilde tiden på at gentage prøver, du allerede har gjort, eller være ude af stand til at forklare kolleger, hvad du har prøvet.
Intermitterende problemer er ofte tidlig varsling tegn på forestående fiasko. Undersøg dem, før de bliver kritiske.
Genstart af en enhed kan genoprette tjenesten, men hvis du ikke finder ud af HVORFOR det havde brug for genstart, vil problemet vende tilbage.
Netværksfejlfinding er både videnskab og kunst. Videnskaben følger en systematisk metode, bruger diagnostiske værktøjer korrekt, og forstår protokoller. Kunsten er at vide, hvilke test der skal køre først baseret på symptomer, genkende mønstre fra erfaring, og vide, hvornår at eskalere.
Ved at følge den systematiske tilgang, der er skitseret i denne artikel - stille de rigtige spørgsmål, arbejde metodisk gennem OSI-modellen, dokumentere dine skridt og lære af hvert spørgsmål - vil du blive mere effektiv til fejlfinding og undgå de fælles faldgruber, der fører til spildt tid og forkerte rettelser.
Husk: Målet er ikke kun at genoprette tjenesten, men at forstå HVORFOR det mislykkedes, så du kan forhindre det i at ske igen.
Sidst opdateret: 2. februar 2026; Forfatter: Baud9600 Technical Team