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:

  1. Stebėjimas simptomai ir rinkti duomenis
  2. Forma hipotezė apie šaknų priežastis
  3. Testuoti hipotezę su diagnostikos priemonėmis
  4. NAME OF TRANSLATORS ir patvirtinti arba atmesti hipotezę
  5. Faktas remiantis patvirtinta pagrindine priežastimi
  6. 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į:

1 klausimas: Kas neseniai pasikeitė?

Konfigūracijos pakeitimai? Nauja techninė įranga? Programinės įrangos atnaujinimas? Topologijos modifikacijos?

  • Patikrinti pakeitimų valdymo žurnalus
  • Name
  • Paklausk: "Gal vakar?"
2 klausimas: Kas yra paveiktas?

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
3 klausimas: ar jis pastovus, ar pertrauka?

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
4 klausimas: ar galite jį pergaminti?

Jūs galite sukelti problemą pagal pareikalavimą?

  • Taip: Daug lengviau diagnozuoti (gali išbandyti hipotezes)
  • Nr: @ info: tooltip
5 klausimas: Ką mato kita pusė?

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

1 sluoksnis: Fizinis
  • 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ų
2 lygmuo: duomenų sąsaja
  • 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
3 lygmuo: tinklas
  • 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
4 lygmuo: transportas
  • Patikrinkite: gali nustatyti TCP ryšį? Ugniagesių blokavimo prievadas?
  • Vadovai: telnet host port, netstat -an, paketų surinkimas
  • Ieškoti: TCP retransmisijos, nuliniai langai, RST paketai
5 -7 lygmuo: sesija / pateikimas / taikymas
  • 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

pavyzdys: "Aš galiu naršyti internete, bet negaliu prisijungti prie bendrovės" SharePoint "svetainės".

@ 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:

Jūs galite pateikti localhost (127.0.0.1)?
↓ NO
Problema: operacinės sistemos / programinės įrangos problema

TCP / IP stekas neveikia. Patikrinkite OS paslaugas, iš naujo įdiegti tinklo tvarkykles.

Galite pateikti savo IP adresą?
↓ NO
Problema: Layer 1 / 2 - vietinio tinklo sąsaja

NIC išjungtas, neteisingas vairuotojas, atjungtas kabelis. Patikrinkite: ip link show arba įrenginių tvarkyklė

↓ YES
Jūs galite pateikti numatytuosius vartus?
↓ NO
Problema: Layer 1 / 2 - vietinis tinklas

Patikrinkite: Fizinis kabelis, jungiklis, VLAN priskyrimas, ARP lentelė

↓ YES
Jūs galite ping nuotolinio kompiuterio IP adresą?
↓ NO
Problema: Layer 3 - Važiavimas

Patikrinkite: Maršrutizatorius, ugniasienės taisyklės, ACLs. Naudojimas traceroute rasti, kur sustabdyti paketus

↓ YES
@ info: whatsthis
↓ NO
Problema: DNS konfigūravimas

Patikrinkite: DNS serverio nustatymai, DNS serverio prieinamumas, ugniasienės blokavimo prievadas 53

↓ YES
Galite pasiekti aplikacijų prievadą (Telnet šeimininko prievadą)?
↓ NO
Problema: Ugniasienė / Uosto blokavimas

Patikrinkite: Ugniasienės taisyklės, apsaugos grupės, paslaugų klausymas uoste

↓ YES
Tinklas yra OK - taikymo lygmens numeris

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

Patarimas: Pakeisti vieną kintamąjį vienu metu. Keisdami tiek kabeliu, tiek jungikliu, jūs nežinote, kuri jį sutaisė.
  • 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
Kodėl dokumentacijos klausimai: Nr įrašas, kitą kartą, kai kas nors mato CRC klaidų, kad jungiklis, jie gali gaišti laiką pakeisti kabelius ir išbandyti uostus, vietoj iš karto patikrinti pluošto švara.

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

  1. Ping bandymas: RT = 2ms (puikus, taisyklės iš Layer 3 latentinis)
  2. Pločio bandymas (iperf): 950 Mbps 1 Gbps jungtimi (be perkrovos)
  3. Paketų surinkimas: Name
  4. 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

  1. sąsajos patikrinimas: Serveris NIC = 1000 / Full, perjungiklis prievadas = 1000 / Pusė (neatitiktis!)
  2. Klaidų skaitikliai: Masinis susidūrimų skaičius jungiklio prievade
  3. 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

  1. DNS skiriamoji geba: Darbai gerai visoms vietoms
  2. Ping bandymas: Galinti panardinti "nepasiekiamas" svetaines
  3. Name NAME OF TRANSLATORS
  4. Didelis atsisiuntimas: Kraštai po TCP rankos paspaudimo
  5. MTU bandymas: ping -M do -s 1472 sėkmingai, ping -M do -s 1473 nepavyksta
  6. 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

  1. Juostos pločio bandymas: Nuoroda tik 40% naudojamas per užimtą valandą
  2. QoS patikrinimas: Balso srautas, tinkamai pažymėtas DSCP EF (46)
  3. Kelio tikrinimas: Balso eilė turėjo tik 5% pralaidumo paskirstymo (turėtų būti 33%)
  4. 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
ethtool eth0
Statusas: išjungtas, nėra transporterio, atjungtas kabelis
Paketo praradimas 1 / 2 sluoksnis show interfaces
show interfaces counters errors
VTP klaidos, bėgimai, milžinai, susidūrimai, vėlyvi susidūrimai
Negaliu užeiti. 2 sluoksnis arp -a
show mac address-table
show spanning-tree
ARP įrašo nėra, MAC neišmoktas, STP blokavimas
Nepavyko pasiekti nutolusio subtinklo 3 sluoksnis traceroute
show ip route
show ip route summary
Trūksta maršrutą, ne-hop, maršrutizavimo kilpa
Prisijungimas atmestas 4 sluoksnis telnet host port
netstat -an
tcpdump
Tarnybos nesiklausymas, ugniasienė, TCP RST
Lėtas našumas 4 + sluoksnis ping (RTT)
iperf3
tcpdump
show interfaces
Didelis vėlavimas, pralaidumo riba, TCP retransliacijos, nuliniai langai
Nepavyko išspręsti mazgo pavadinimo 7 sluoksnis nslookup
dig
cat /etc/resolv.conf
DNS serveris nepasiekiamas, klaidinga DNS konfigūracija, NXDOMAIN
Lašai su pertraukomis Layer 1/2 ping -f (flood)
show logging
show interfaces
Dvipusio duomenų perdavimo neatitiktis, žlungantis kabelis, STP rekonvergencija
Darbai kartais, ne kiti Keli Extended ping
Packet capture
Interface statistics
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)
Vėmimas: dokumentuokit viską, ką bandėte. TAC inžinieriams reikia šios informacijos, kad nekartotumėte savo žingsnių. Įtraukti:
  • 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