Network Troubleshooting Methodology - The Systematic Approach
Tinklų trikdžių nustatymo metodika: sisteminis požiūris
Kodėl metodikos klausimai
Problema: Duomenų bazės programa "lėtai". Tinklo komanda kaltina serverio komandą. Serverio komanda kaltina tinklą. O vartotojai yra nusivylę, o valandos yra švaistomi žiedinio derinimo.
Tirpalas: Sistemingas, mokslinis požiūris į problemų šalinimą, kuriame naudojami įrodymai, ne prielaidos, siekiant nustatyti pagrindines priežastis.
Haplarity trikdžių šalinimo išlaidos: Keptas laikas, neteisingi pataisymai, kad maskuoti realias problemas, pirštų rodymas tarp komandų, ir pablogėjusi vartotojo patirtis.
Įvadas: Tinklų naudojimui taikomas mokslinis metodas
Trūkumų šalinimas tinkle iš esmės yra mokslinio metodo įgyvendinimas:
- Stebėjimas simptomai ir rinkti duomenis
- Forma hipotezė apie šaknų priežastis
- Testuoti hipotezę su diagnostikos priemonėmis
- NAME OF TRANSLATORS ir patvirtinti arba atmesti hipotezę
- Faktas remiantis patvirtinta pagrindine priežastimi
- Patikrinti problema yra išspręsta
NAME OF TRANSLATORS
- Patvirtinimo šališkumas (ieško tik įrodymų, kurie patvirtina savo pradinį spėjimą)
- Atsitiktiniai pokyčiai be diagnozės ("purškimo ir melstis" požiūris)
- Fiksavimo simptomai vietoj pagrindinių priežasčių
- Žiedinis derinimas nedokumentuojant to, kas buvo bandoma
Penki pagrindiniai klausimai
Prieš nardymo į techninę diagnostikos, atsakyti į šiuos penkis svarbius klausimus susiaurinti savo tyrimo apimtį:
Konfigūracijos pakeitimai? Nauja techninė įranga? Programinės įrangos atnaujinimas? Topologijos modifikacijos?
- Patikrinti pakeitimų valdymo žurnalus
- Name
- Paklausk: "Gal vakar?"
Vieną naudotoją? Vieną pastatą? Visiems? III PRIEDAS
- vieno įtaiso: Galimi vietiniai numeriai (NIC, kabelis, konfigūracija)
- Vieną potinklį: Gateway, DHCP, arba perjungti problema
- Kiekvienas: Pagrindinė infrastruktūra, IPT arba plačiai paplitęs klausimas
- Speciali programa: Programos serveris, ugniasienės taisyklė, arba DNS
Visą laiką? Vos per kelias valandas? Atsitiktiniai įvykiai?
- Nuolat: Sunkus gedimas (kabelių iškirpimas, klaidinga konfigūracija, paslaugų teikimas)
- Laikas pagrįstas: Spūstys darbo valandomis, numatyti procesai
- Intraventinė / atsitiktinė: Dvipusio duomenų perdavimo neatitiktis, neveikianti techninė įranga, pertrūkių sąsaja
Jūs galite sukelti problemą pagal pareikalavimą?
- Taip: Daug lengviau diagnozuoti (gali išbandyti hipotezes)
- Nr: @ info: tooltip
Patikrinkite abu ryšio galus
- Kliento perspektyva vs serverio perspektyva
- Paketo surinkimas prie šaltinio, palyginti su paskirties vieta
- Asimetriškas maršrutas? Skirtingi keliai siųsti vs gauti?
OSI modeliu pagrįstas diagnostinis metodas
OSI modelis suteikia struktūrizuotą problemų šalinimo sistemą. Darbas nuo Layer 1 (Fizinis) aukštyn, arba nuo Layer 7 (taikymas) žemyn, priklausomai nuo simptomų.
Požiūris į viršų (1 lygmuo → 7 lygmuo)
Kada naudoti: Visiškas junglumo praradimas, jokios nuorodos, arba fizinio sluoksnio simptomai
- Patikrinkite: Kabelis prijungtas? Jungiate šviesas? Pluoštas švarus?
- Vadovai:
show interfaces,ethtool eth0 - Ieškoti: Klaidų, susidūrimų, vėlyvų susidūrimų, bėgimų, milžinų
- Patikrinkite: Teisingas VLAN? Prievadas įjungtas? STP blokavimas?
- Vadovai:
show mac address-table,show spanning-tree - Ieškoti: MAC FLapping, STP topologijos pokyčiai, VLAN neatitiktis
- Patikrinkite: galite ping numatytuosius vartus? Lenkimo stalas teisingas?
- Vadovai:
ping,traceroute,show ip route - Ieškoti: Trūksta maršrutai, neteisingas next- hop, maršruto kilpos
- Patikrinkite: gali nustatyti TCP ryšį? Ugniagesių blokavimo prievadas?
- Vadovai:
telnet host port,netstat -an, paketų surinkimas - Ieškoti: TCP retransmisijos, nuliniai langai, RST paketai
- Patikrinkite: DNS sprendimas? Atsiliepia? Autentiškumo nustatymas veikia?
- Vadovai:
nslookup,dig,curl -v - Ieškoti: DNS gedimai, taikymo klaidos, pertraukų klausimai
artėjimas tūpti virš žemės (7 lygmuo → 1 lygmuo)
Kada naudoti: Specifinės taikymo problemos, kai egzistuoja pagrindinis ryšys
@ info: whatsthis DNS sprendimas ištaisyti IP?) ir dirbti žemyn tik jei reikia.
Sprendimų medis: tai 1, 2, ar 3?
Naudokite šį greitą diagnostikos medis nustatyti, kuris sluoksnis neveikia:
TCP / IP stekas neveikia. Patikrinkite OS paslaugas, iš naujo įdiegti tinklo tvarkykles.
NIC išjungtas, neteisingas vairuotojas, atjungtas kabelis. Patikrinkite: ip link show arba įrenginių tvarkyklė
Patikrinkite: Fizinis kabelis, jungiklis, VLAN priskyrimas, ARP lentelė
Patikrinkite: Maršrutizatorius, ugniasienės taisyklės, ACLs. Naudojimas traceroute rasti, kur sustabdyti paketus
Patikrinkite: DNS serverio nustatymai, DNS serverio prieinamumas, ugniasienės blokavimo prievadas 53
Patikrinkite: Ugniasienės taisyklės, apsaugos grupės, paslaugų klausymas uoste
Problema yra su pačia programa, autentifikavimo, arba programos konfigūracija
Izoliacijos metodai
Jūs turite hipotezę apie pagrindinę priežastį, naudoti šiuos izoliavimo metodus, patvirtinti arba atmesti:
1. Sistemiškai pakeisti komponentus
- Pleistro kabelis su gerai žinomu kabeliu
- @ info: tooltip
- Bandyti kitą NIC (arba USB tinklo adapteris)
- Testuoti iš kito kliento įrenginio
- Pereiti į VLAN / subtinklą
2. Paketai Captures ne kelis taškus
Sugavimo judėjimas šaltinyje, tarpinėse vietose ir paskirties vietoje, siekiant nustatyti, iš kur pakuojami arba keičiami pakeliai:
# 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
3. Blokavimo bandymas
Šalinti išorės kintamuosius, bandant ryšį su vienu prietaisu:
# 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
4. Geras pradinis palyginimas
Konfigūracija ir elgesys su darbo sistema:
# 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")
@ info: tooltip
Tinkama dokumentacija apsaugo nuo apskrito derinimo, kai jūs bandote tą patį dalyką kelis kartus, nesuvokdami jo.
Name
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
Pasauliniai atvejų tyrimai
1 atvejo tyrimas: "Tinklas yra lėtas" (iš tikrųjų: TCP Langų degimas)
simptomas
@ info: whatsthis Programos komanda kaltina "tinklo latenciją".
Pirminės prielaidos (klaidingos)
- Tinklų perkrovA
- WAN sąsaja sočiųjų
- Ugniasienė
Diagnostikos procesas
- Ping bandymas: RT = 2ms (puikus, taisyklės iš Layer 3 latentinis)
- Pločio bandymas (iperf): 950 Mbps 1 Gbps jungtimi (be perkrovos)
- Paketų surinkimas: Name
- Serverio patikra: Duomenų bazės serveris gauna buferiai = 64KB (maža!)
Pagrindinė priežastis
Duomenų bazės serveris OS buferiai buvo per mažas High-pralaidumo × delsimo produktas. TCP langas būtų užpildyti, verčia siuntėją laukti.
Rezoliucija
# Increased TCP receive buffers on Linux database server
sysctl -w net.ipv4.tcp_rmem="4096 87380 16777216"
sysctl -w net.core.rmem_max=16777216
PamokA
Nesitikėk: Lėtas ne visada reiškia tinklo latenciją. Visada rinkti įrodymus (ping latentinis, paketo užfiksavimas elgesio) prieš šokinėja į išvadas.
2 atvejis: tarpinis ryšys (iš tikrųjų: Duplex Mismach)
Symptom
Serverio ryšys kristų atsitiktinai, ypač esant apkrovai. Kartais dirbo gerai, kartais visiškai nereaguoja.
Initial Assumptions (Wrong)
- Nepavyko NIC
- Blogas kabelis
- @ info: whatsthis
Diagnostic Process
- sąsajos patikrinimas: Serveris NIC = 1000 / Full, perjungiklis prievadas = 1000 / Pusė (neatitiktis!)
- Klaidų skaitikliai: Masinis susidūrimų skaičius jungiklio prievade
- Vėluojantys susidūrimai: Dvipusio ryšio rodiklis
Root Cause
Savaitės derybos nepavyko. Serveris susitarė dėl dvipusio duomenų perdavimo, perjungiklis nukrito atgal į dvipusio duomenų perdavimo. Lūžiai įvyko tik esant apkrovai, kai abi pusės bandė vienu metu perduoti signalus.
Resolution
! Cisco switch - force full duplex
interface GigabitEthernet1/0/10
speed 1000
duplex full
Lesson Learned
Patikrinkite abu galus: sąsajos būsena rodo sutartus nustatymus. Susiklostymas reiškia, kad nepavyko derėtis dėl sutarties. Visada - kodas greitis / dvipusis serverių.
3 atvejo tyrimas: "negali atlikti tam tikrų svetainių" (Tiesą sakant: MTU / PMTUD Juoda skylė)
Symptom
Vartotojai gali naršyti kai kurias svetaines ("Google", "Yahoo"), bet ne kitas (banko svetainė, bendrovės portalas). @ info: whatsthis
Initial Assumptions (Wrong)
- DNS emisija
- Ugniagesių blokuojančios svetainės
- TPP maršruto nustatymo problema
Diagnostic Process
- DNS skiriamoji geba: Darbai gerai visoms vietoms
- Ping bandymas: Galinti panardinti "nepasiekiamas" svetaines
- Name NAME OF TRANSLATORS
- Didelis atsisiuntimas: Kraštai po TCP rankos paspaudimo
-
MTU bandymas:
ping -M do -s 1472sėkmingai,ping -M do -s 1473nepavyksta - ICMP stebėsena: Gautų pranešimų nėra (3 tipo 4 kodas)
Root Cause
VPN tunelis sumažino MTU iki 1400, bet ugniasienė blokavo ICMP "Fragmentation Navy" pranešimus. Kelio MTU Discovery (PMTUD) nepavyko, sukurti MTU juodoji skylė. Maži paketai tinka, dideli paketai su DF bitų nustatyti buvo tyliai numestas.
Resolution
! 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
Lesson Learned
Dydžio klausimai: Tenka įtarti MTU ir (arba) susiskaidymo problemas, jei maži prašymai veikia, bet dideli pervedimai nepavyksta. Naudokite ping su DF bitų išbandyti kelią MTU.
4 atvejis: VoIP kokybės klausimai (iš tikrųjų: QoS klaidos)
Symptom
Balso skambučiai turėjo hoppy garso, su pertrūkiais išskleidžiamus. (9-15 val.).
Initial Assumptions (Wrong)
- Trūksta dažnių juostos pločio
- Name
- TPP ryšio kokybė
Diagnostic Process
- Juostos pločio bandymas: Nuoroda tik 40% naudojamas per užimtą valandą
- QoS patikrinimas: Balso srautas, tinkamai pažymėtas DSCP EF (46)
- Kelio tikrinimas: Balso eilė turėjo tik 5% pralaidumo paskirstymo (turėtų būti 33%)
- Paketų surinkimas: Balso paketų numetimas perkrovos metu
Root Cause
QoS politika egzistavo, bet pralaidumo paskirstymas buvo atvirkščiai: pastangos buvo 60%, balsas - 5%. Darbo valandomis, kai duomenų srautas padidėjo, balso paketų sumažėjo dėl eilės perpildymo.
Resolution
! 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
Lesson Learned
Laiku pagrįsti klausimai = pajėgumas: Kyla problemų tik per užimtas valandas, tai ne sunkus gedimas, bet pajėgumo / QoS problema. Patikrinkite eilių statistiką, ne tik visą pralaidumą.
Vadovybės nuoroda pagal simptomus
| simptomas | Sluoksnis | @ info: whatsthis | Ką ieškoti |
|---|---|---|---|
| Žibinto nėra | 1 sluoksnis | show interfaces |
Statusas: išjungtas, nėra transporterio, atjungtas kabelis |
| Paketo praradimas | 1 / 2 sluoksnis | show interfaces |
VTP klaidos, bėgimai, milžinai, susidūrimai, vėlyvi susidūrimai |
| Negaliu užeiti. | 2 sluoksnis | arp -a |
ARP įrašo nėra, MAC neišmoktas, STP blokavimas |
| Nepavyko pasiekti nutolusio subtinklo | 3 sluoksnis | traceroute |
Trūksta maršrutą, ne-hop, maršrutizavimo kilpa |
| Prisijungimas atmestas | 4 sluoksnis | telnet host port |
Tarnybos nesiklausymas, ugniasienė, TCP RST |
| Lėtas našumas | 4 + sluoksnis | ping (RTT) |
Didelis vėlavimas, pralaidumo riba, TCP retransliacijos, nuliniai langai |
| Nepavyko išspręsti mazgo pavadinimo | 7 sluoksnis | nslookup |
DNS serveris nepasiekiamas, klaidinga DNS konfigūracija, NXDOMAIN |
| Lašai su pertraukomis | Layer 1/2 | ping -f (flood) |
Dvipusio duomenų perdavimo neatitiktis, žlungantis kabelis, STP rekonvergencija |
| Darbai kartais, ne kiti | Keli | Extended ping |
Krovinio balansavimo problema, ECMP asimetrija, valstybės lentelės perteklius |
Kada Eskalate
Žinoti, kada pereiti prie pardavėjo TAC arba vyresniųjų inžinierių. Eskaluoti, kai:
- Tu išnaudojai visus trikdžių šalinimo žingsnius savo žinių bazėje
- NAME OF TRANSLATORS
- Problema apima pardavėjo programinės įrangos klaidą arba techninės įrangos defektą
- Kryptingas ir jautrus poveikis verslui
- Keli komandos turi bendradarbiauti (programa + tinklas + serveris)
- Pilnas simptomų apibūdinimas
- @ info: whatsthis
- Diagnostinės komandos veikia ir jų produkcija
- Konfigūravimo atsarginės kopijos
- Paketų gaubtai (jei tinka)
- Ką jau bandėte
Jūsų asmeninių žinių bazės kūrimas
Kiekviena trikčių šalinimo sesija - tai mokymosi galimybė. Sukurti asmeninę žinių bazę:
1. Sukurti klaidų ištaisymo leidinį
# 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
2. Sukurti komandos kadrų lapą
Organizuoti dažnai naudojamas komandas pagal scenarijų, kad būtų galima greitai nustatyti problemas.
3. dokumentuoti savo tinklą
- Topologijos diagramos (2 ir 3 sluoksniai)
- IP adreso schemos dokumentai
- VLAN užduotys
- Standartinės konfigūracijos (šablonai)
- Geros atskaitos linijos (sąsajos statistika prieš problemas)
Dažni Anti- Moduliai, kurių reikia vengti
LĖŠŲ DON 'T: padaryti atsitiktinių pakeitimų be diagnozės
Kintant konfigūracijas, nesuvokiant problemos, dažnai reikalai blogėja, arba slepiasi tikroji problema.
Don 'T: manyti, kad tinklas yra visada kaltės
Dažnai "tinklo klausimai" yra taikymo, serveris, arba klientų pusėje problemos. Surinkti įrodymus, prieš priimant kaltę.
DAUG 'T: Praleisti dokumentuojant savo trikčių šalinimo veiksmus
Jūs švaistysite laiką pakartodami bandymus, kuriuos jau atlikote, arba negalėsite paaiškinti kolegoms, ką bandėte.
NETAIKOMA: Ignoruoti su pertrūkiais susijusias problemas
Tarpinės problemos dažnai yra ankstyvi įspėjamieji artėjančio nesėkmės požymiai. Ištirti juos, kol jie tampa kritiškas.
® DON 'T: Fix simptomai vietoj pagrindinių priežasčių
@ info: whatsthis
SantraukA: sisteminis trikdžių šalinimo kontrolinis sąrašas
Tada pradėkite.
- Atsakykite į penkis pagrindinius klausimus (Kas pasikeitė): Kas turi įtakos? Nuolat ar su pertrūkiais? Ruoštis? Ką kita pusė mato?)
- Surinkti pirminius simptomus ir vartotojų ataskaitas
- Patikrinti, ar nėra naujausių pakeitimų ar techninės priežiūros darbų
® Kliūčių šalinimo metu
- Darbai metodiškai per OSI sluoksnius (aukštyn arba žemyn)
- Pakeisti vieną kintamąjį tyrimo metu
- dokumentuoti visus bandymus ir jų rezultatus,
- @ info: whatsthis
- Gerosios žinios
Revoliucija
- Patikrinti, ar nustatyta problema iš tikrųjų išspręsta
- @ info: whatsthis
- Atnaujinkite savo žinių bazę
- @ info: whatsthis
- pagalvokite: ar stebėsena galėjo tai padaryti anksčiau?
ŽALA
Tinklų trikčių šalinimas - tai mokslas ir menas. Mokslas yra pagal sisteminę metodiką, naudojant diagnostikos priemones teisingai, ir supratimo protokolus. Menas yra žinoti, kurie bandymai paleisti pirmą remiantis simptomų, atpažinti modelius iš patirties, ir žinoti, kada eskaluoti.
Sekant šiame straipsnyje aprašytą sisteminį požiūrį - užduodant teisingus klausimus, metodiškai dirbant per OSI modelį, dokumentuojant savo veiksmus, ir mokantis iš kiekvieno klausimo - Jūs tapsite efektyvesni problemų sprendimo metu ir išvengsite bendrų spąstų, dėl kurių švaistomas laikas ir taisomi netikslumai.
Prisimink: Tikslas yra ne tik atkurti paslaugas, bet ir suprasti, kaip ji nepavyko, todėl jūs galite užkirsti kelią tai vėl vyksta.
Paskutinį kartą atnaujinta: Vasario 2, 2026; Autorius: Baud9600 Techninė komanda