Network Troubleshooting Methodology - The Systematic Approach
วิธี แก้ ปัญหา ทาง เครือ ข่าย
เหตุ ผล ที่ มี ความ สําคัญ
ปัญหา:
ทาง แก้:
ค่า ใช้ จ่าย ของ การ ยิง ฮา ฟา ซาร์ด:
คํา แนะ นํา: วิธี ทาง วิทยาศาสตร์ ใช้ กับ เครือ ข่าย
การยิงปัญหาของเครือข่าย เป็นการฝึกในวิธีการทางวิทยาศาสตร์
- สังเกต
- สร้างสมมุติฐานขึ้นมา
- ทดสอบสมมุติฐาน
- ผลลัพธ์การค้นหา
- การ แก้ ปัญหา
- ตรวจสอบ
บทความ นี้ จัด ให้ มี โครง สร้าง สําหรับ แก้ ปัญหา ของ เครือ ข่าย ซึ่ง ป้องกัน หลุม พราง ทั่ว ไป เช่น:
- การยืนยันอคติ (มองหาเพียงหลักฐานที่สนับสนุนการเดาครั้งแรกของคุณ)
- สุ่มการเปลี่ยนแปลงโดยไม่ต้องวินิจฉัย (วิธีการ "ดื่มและอธิษฐาน")
- แก้ไขอาการแทนราก
- การดีบั๊กตัวพิมพ์เล็กโดยไม่ต้องบันทึกสิ่งที่พยายามแล้ว
คํา ถาม สําคัญ ห้า ข้อ
ก่อน จะ ดํา ลึก เข้า ไป ใน การ วินิจฉัย ทาง เทคนิค จง ตอบ คํา ถาม สําคัญ ห้า ข้อ นี้ เพื่อ จํากัด ขอบ เขต การ ตรวจ สอบ ของ คุณ:
- ตรวจสอบบันทึกการจัดการการเปลี่ยนแปลง
- Review preview example ในระบบการจัดการการปรับแต่ง
- ถามว่า "เมื่อวานมันใช้ได้ไหม"
- อุปกรณ์หนึ่ง: น่าจะเป็นปัญหาท้องถิ่น (NIC, เคเบิล, การปรับแต่ง)
- เครือข่ายย่อยหนึ่ง: เกตเวย์, DHCP, หรือเปลี่ยนประเด็น
- ทุกคน: โครงสร้างพื้นฐานหลัก, ISP หรือ ประเด็นที่แพร่หลาย
- แอพพลิเคชันเฉพาะ: เซิร์ฟเวอร์โปรแกรม, กฎไฟร์วอลล์, หรือ DNS
- ค่าคงที่: ล้มเหลวอย่างหนัก (ตัดสัญญาณ, การปรับค่าผิด, การบริการลง)
- ใช้เวลา: การก่อความไม่สงบระหว่างชั่วโมงธุรกิจ กําหนดการดําเนินการ
- อินเตอร์มิ้นท์/ แรนดอม: กลับหน้าไม่ตรงกัน, ฮาร์ดแวร์ล้มเหลว, ลิงก์ที่ไม่ต่อเนื่อง
- ใช่ การ วินิจฉัย โรค ได้ ง่าย กว่า มาก (อาจ ทํา ให้ สมมุติฐาน ของ การ ทดสอบ ได้)
- ไม่ ตั้งค่าการติดตาม/ การบล็อคและรอการเกิดขึ้นอีก
- มุมมองของไคลเอนต์ vs. server
- Packet จับภาพที่แหล่ง vs. ปลายทาง
- ความไม่สมมาตร? เส้นทางที่แตกต่างกันสําหรับการส่ง vs ได้รับ?
วิธีวิเคราะห์แบบ OSI
โมเดล OSI เป็นโครง คุณสําหรับการยิง การ ทํา งาน จาก ชั้น ที่ 1 (ด้าน หน้า) ขึ้น ไป หรือ จาก ชั้น 7 (การ แยก) ต่ํา ลง ขึ้น ไป ขึ้น อยู่ กับ อาการ.
เพิ่มเลเยอร์...
เมื่อใช้:
เข้าทางด้านบนล่าง (Layer 7 file 1)
เมื่อใช้:
เริ่มที่ชั้น 7 (บริการร่วมกันทํางานหรือไม่? DNS แก้ไข IP?) และทํางานลงก็ต่อเมื่อจําเป็น
ต้น ไม้ ใน การ ตัดสิน: อยู่ ใน ชั้น 1, 2, หรือ 3?
ใช้ต้นไม้ตรวจสอบอย่างรวดเร็วนี้ เพื่อระบุว่าชั้นใดล้มเหลว:
แว่นขยาย
เมื่อคุณมีสมมติฐานเกี่ยวกับสาเหตุราก ใช้เทคนิคเหล่านี้แยกออกมาเพื่อยืนยันหรือปฏิเสธ
1. แทนที่ส่วนประกอบของระบบ
- สลับเคเบิลเคเบิลด้วยเคเบิลที่ดีที่รู้จักกัน
- ทดสอบพอร์ตเปลี่ยนค่าอื่น
- ลองปรับใช้ NIC (หรือ USB ของเครือข่ายอื่น)
- ทดสอบจากอุปกรณ์ไคลเอนต์ตัวอื่น
- ย้ายไปยังเครือข่าย VAND/ubnet อื่น
2. แพ็คเก็ตจับภาพได้หลายจุด
การ จับ ปลา ใน แหล่ง ที่ มา ของ การ จราจร, จุด กลาง, และ จุด หมาย ปลาย ทาง เพื่อ ระบุ ว่า ของ เหล่า นั้น ตก ที่ ไหน:
# 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. ตรวจย้อนหลัง
กําจัดตัวแปรภายนอกด้วยการทดสอบการเชื่อมต่อภายในอุปกรณ์เดียว:
# 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 ที่รู้จักกันดีเสมอ
เปรียบเทียบการปรับแต่งและพฤติกรรมกับระบบการทํางาน:
# 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")
เอกสารระหว่างการถ่ายทํา
เอกสาร ที่ เหมาะ สม จะ ป้องกัน การ ดีบั๊ก เป็น วง กลม เมื่อ คุณ ลอง ทํา อย่าง เดียว กัน หลาย ครั้ง โดย ไม่ รู้ ตัว.
การยิงแม่แบบ
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
Real-World Research
การศึกษาคดีที่ 1: "เครือข่ายจะช้า" (จริง: หน้าต่าง TCP exhausing)
Sumpotom
การตอบสนองกับแอพพลิเคชันฐานข้อมูลเวลาลดลงจาก <100 มม. ถึง 5+ วินาที ทีมโปรแกรมโทษว่า "ความล่าช้าการทํางาน"
เริ่มการรับข้อมูล (Wrong)
- การติดขัดของเครือข่าย
- ลิงก์ WAN
- คอขวดไฟ
โพรเซสวิเคราะห์
- ทดสอบ Ping:
- การทดสอบแบนด์วิด (ไอเปอร์ฟ):
- จับภาพกระเป๋า:
- ตรวจสอบเซิร์ฟเวอร์:
ราก
แม่ข่ายฐานข้อมูล OSfouffs มีขนาดเล็กเกินไป สําหรับผลิตภัณฑ์ความล่าช้าแบบหนาสูง หน้าต่าง TCP จะทําการเติมข้อมูล และบังคับให้ผู้ส่งรอ
ความละเอียด
# Increased TCP receive buffers on Linux database server
sysctl -w net.ipv4.tcp_rmem="4096 87380 16777216"
sysctl -w net.core.rmem_max=16777216
เรียน รู้ บท เรียน
อย่าคิดว่า:
การ ศึกษา กรณี ที่ 2: การ เชื่อม ต่อ ระหว่าง กัน ระหว่าง กัน (จริง: การ กลับ หน้า ที่ ไม่ ตรง กัน)
Symptom
การเชื่อมต่อเซิร์ฟเวอร์จะลดลงอย่างสุ่ม โดยเฉพาะภายใต้การโหลด บาง ครั้ง ก็ ทํา งาน ได้ ดี บาง ครั้ง ก็ ไม่ มี การ ตอบ รับ เลย.
Initial Assumptions (Wrong)
- การ ล้ม เหลว
- เคเบิลใช้ไม่ได้
- ปัญหาฮาร์ดแวร์
Diagnostic Process
- ตรวจสอบส่วนติดต่อผู้ใช้:
- ตัวแก้ไขข้อผิดพลาด:
- การชนกันล่าสุด:
Root Cause
การต่อรองอัตโนมัติล้มเหลว เครื่องแม่ข่ายต่อรองความซับซ้อนทั้งหมด สวิตช์ลดลงกลับมาครึ่งความซับซ้อน คอลลิชันเกิดขึ้นภายใต้การโหลด เมื่อทั้งสองฝ่ายพยายามที่จะส่งผ่านพร้อมกัน
Resolution
! Cisco switch - force full duplex
interface GigabitEthernet1/0/10
speed 1000
duplex full
Lesson Learned
ตรวจสอบปลายทั้งสอง:
Case Resection 3: "เอื้อมไม่ถึงเว็บไซต์บาง" (ตามจริง: MTU/PMTUD Black Hole)
Symptom
ผู้ใช้สามารถเรียกดูเว็บไซต์บางเว็บไซต์ (Google, Yahoo) แต่ไม่ใช่เว็บไซต์ (bank, Pather) ความต้องการของ HTTP เล็ก ๆ ได้ผล หน้าขนาดใหญ่หมดเวลา
Initial Assumptions (Wrong)
- ปัญหา DNS
- ไฟร์วอลล์จะปิดกั้นเว็บไซต์ต่าง ๆ
- ปัญหาการขอข้อมูล ISP
Diagnostic Process
- ความละเอียด DNS:
- ทดสอบ Ping:
- ร้องขอข้อมูล HTTP แบบเล็ก ( curl):
- ดาวน์โหลดใหญ่:
-
ทดสอบ MTU:
ping -M do -s 1472ping -M do -s 1473 - การติดตาม IPMP:
Root Cause
VPN อุโมงค์ลด MTU เหลือ 1400 แต่ไฟร์วอลล์ถูกปิดกั้น ICMP "จําเป็น" ข้อความ เส้นทาง MTU ดิสคัเฟอรี (PMTUD) ทํางานไม่ได้ สร้างหลุมดํา MTU แพ็กเกจขนาดเล็กพอดี แพ็กเกตขนาดใหญ่ที่มีบิต DF วางเงียบลดลง
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
ขนาด:
การ ศึกษา กรณี ที่ 4: ปัญหา ด้าน คุณภาพ ของ วอป (ตาม ตัว อักษร: การ จัด การ อย่าง ผิด ๆ)
Symptom
เสียงเรียกมีเสียงสับ, การลดลงที่ต่อเนื่อง เกิดขึ้นระหว่างเวลาธุรกิจ (9 AM-5pm) เท่านั้น
Initial Assumptions (Wrong)
- แบนด์วิธไม่เพียงพอ
- เซิร์ฟเวอร์ VIP ถูกโหลดมากเกินไป
- คุณภาพการเชื่อมต่อ ISP
Diagnostic Process
- การทดสอบแบนด์วิด:
- ตรวจสอบ QOS:
- การตรวจสอบคิว:
- จับภาพกระเป๋า:
Root Cause
นโยบายของ QOSS มีอยู่ แต่แนวโค้งแบนด์วิธกลับด้าน: Best-fort ได้ 60%, เสียงได้ 5% ใน ช่วง เวลา ทํา ธุรกิจ เมื่อ การ จราจร ทาง การ เงิน เพิ่ม ขึ้น ก็ มี การ ทิ้ง กล่อง เสียง เนื่อง จาก มี การ ต่อ คิว มาก เกิน ไป.
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
ปัญหาเวลา = ความจุ:
คําสั่งอ้างอิงโดย Semptom
| Sumpotom | ชั้น | คําสั่งที่จะประมวลผล | จะมองทําไม |
|---|---|---|---|
| ไม่มีสัญญาณลิงก์ | เลเยอร์ | show interfaces |
สถานะ: ลง, ไม่มีบริการ, ปิดการใช้งานเคเบิล |
| แพกเกจสูญหาย | เลเยอร์ 1/2 | show interfaces |
การผิดพลาด, การวิ่ง, ยักษ์, การชน, การชนช้า |
| ไม่สามารถส่งสัญญาณประตู | เลเยอร์ 2 | arp -a |
ไม่มีรายการ ARP, MAC ไม่เรียนรู้, บล็อก STP |
| ไม่สามารถเข้าถึงเครือข่ายย่อยระยะไกล | เลเยอร์ 3 | traceroute |
สูญเสียเส้นทางไป, ผิดร้านถัดไป, วนรอบ |
| การเชื่อมต่อถูกปฏิเสธ | เลเยอร์ 4 | telnet host port |
บริการไม่ฟัง ไฟร์วอลล์บล็อก TCP RST |
| ประสิทธิภาพที่ช้า | เลเยอร์ 4+ | ping (RTT) |
ความล่าช้าสูง จํากัดแบนด์วิด TCP การย้ายหน้าต่างศูนย์ |
| ไม่สามารถแก้ไขชื่อโฮสต์ได้ | เลเยอร์ 7 | nslookup |
เซิร์ฟเวอร์ DNS ไม่สามารถใช้ได้, ปรับแต่ง DNS ไม่ถูกต้อง, NXDOMAN |
| หยดความโปร่งแสง | Layer 1/2 | ping -f (flood) |
กลับหน้าไม่ตรงกัน, สายเคเบิลล้มเหลว, การลาดตระเวนของ STP |
| ได้ผลบ้างบางครั้ง ไม่ใช่คนอื่น | หลาย | Extended ping |
โหลดปัญหาสมดุล, ตาราง ECMP asymimety, ตารางรัฐล้น |
เมื่อ จะ อพยพ
รู้ว่าเมื่อไหร่ถึงจะเป็นพ่อค้าเทค หรือวิศวกรอาวุโส ย้ายเมื่อ:
- คุณหมดปัญหาการยิงในฐานความรู้ของคุณ
- ปัญหาต้องเข้าถึง/ดําเนินการ คุณไม่มี
- ปัญหาเกี่ยวกับบั๊กโปรแกรมผู้จําหน่ายหรือข้อบกพร่องของฮาร์ดแวร์
- ผลกระทบของธุรกิจเป็นวิกฤตและเวลา
- หลายทีมจําเป็นต้องร่วมมือกัน (โปรแกรม + เครือข่าย + เซิร์ฟเวอร์)
- รายละเอียดอาการที่สมบูรณ์
- เส้นเวลาเริ่มที่
- คําสั่งตรวจสอบทํางานและการส่งออก
- สํารองข้อมูลค่าปรับแต่ง
- จับภาพแพ็กเกต (หากเกี่ยวข้อง)
- สิ่งที่คุณได้ลองมาแล้ว
การ สร้าง ฐาน ความ รู้ ส่วน ตัว
ทุกช่วงปัญหาคือโอกาสเรียนรู้ สร้างฐานความรู้ส่วนบุคคล:
1. สร้างวารสารการเจาะระบบ
# 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. สร้างแผ่นงานสําหรับโกงคําสั่ง
เรียงลําดับคําสั่งที่ใช้บ่อยโดยสถานการณ์สําหรับการอ้างอิงอย่างรวดเร็วในระหว่างการยิง
3 เอกสารเครือข่ายของคุณ
- ภาพ บน (ช่อง 2 และ ชั้น 3)
- เอกสารรูปแบบที่อยู่ IP
- มอบหมายงาน VANA
- การปรับแต่งมาตรฐาน (แท็บ)
- พื้นฐานที่รู้จักดี (สถิติภาพก่อนปัญหา)
สิ่ง ที่ ต้อง หลีก เลี่ยง
ห้าม สุ่มเปลี่ยนแปลงโดยไม่วินิจฉัยโรค
การ เปลี่ยน แปลง แนว คิด โดย ไม่ เข้าใจ ปัญหา บ่อย ครั้ง ทํา ให้ สิ่ง ต่าง ๆ แย่ ลง หรือ เป็น การ ปก ปิด ปัญหา จริง ๆ.
คิดว่าเครือข่ายนั้นผิดเสมอ
บ่อยครั้งที่ "ปัญหาของเครือข่าย" เป็นโปรแกรม, เซิร์ฟเวอร์, หรือปัญหาลูกความ รวบรวมหลักฐานก่อนที่จะยอมรับความผิด
ข้ามการบันทึกขั้นตอนปัญหาของคุณ
คุณจะเสียเวลาไปทดสอบซ้ําไปซ้ํามา หรือไม่สามารถอธิบายให้เพื่อนร่วมงานฟังได้
○ อย่า: ไม่สนใจปัญหาที่ต่อเนื่อง
ปัญหา การ ติด ต่อ สัมพันธ์ มัก จะ เป็น สัญญาณ เตือน ล่วง หน้า ว่า จะ ประสบ ความ ล้ม เหลว. วิเคราะห์พวกเขาก่อนที่จะกลายเป็นวิกฤต
อย่า:
การเปิดอุปกรณ์อาจจะฟื้นฟูบริการได้ แต่ถ้าคุณไม่รู้ว่า ทําไมมันจําเป็นต้องรีบูทอีก ปัญหาก็จะเกิดขึ้นอีก
สรุป: The Systemtic Checking Checklist
○ ก่อน เริ่ม งาน
- ตอบ คํา ถาม สําคัญ ห้า ข้อ (อะไร เปลี่ยน ไป? ใครได้รับผลกระทบ? ต่อเนื่องหรือต่อเนื่อง? เปลี่ยนใจได้? อีก ด้าน หนึ่ง มอง เห็น อะไร?)
- รวบรวมอาการและรายงานผู้ใช้
- ตรวจสอบการเปลี่ยนแปลงหรือบํารุงรักษาล่าสุด
○ ระหว่าง การ ยิง
- ทํางานโดยวิธีการผ่านชั้น OSI (ล่างขึ้นหรือด้านบนลง)
- เปลี่ยนตัวแปรหนึ่งเมื่อทดสอบ
- เอกสารการทดสอบและผลลัพธ์ของมัน
- ใช้แพ็กเกจเพื่อดูพฤติกรรมการจราจรที่แท้จริง
- เทียบกับพื้นฐานที่รู้จักกันดี
○ หลัง จาก ความ สามารถ ใน การ คิด
- ตรวจสอบแก้ไขจริงแก้ไขปัญหา
- ตั้งค่ารากและความละเอียดของเอกสาร
- ปรับปรุงฐานความรู้ของคุณ
- หากมีการเปลี่ยนแปลงการปรับแต่ง ให้ทําการปรับปรุงเอกสาร
- ขอ พิจารณา: การ ตรวจ สอบ อาจ ทํา ให้ เกิด เรื่อง นี้ ขึ้น ได้ ไหม?
ไม่ซ้ํากัน
การเจาะเครือข่ายทั้งวิทยาศาสตร์และศิลปะ วิทยาศาสตร์ กําลัง ดําเนิน ตาม วิธี การ ที่ เป็น ระบบ, การ ใช้ เครื่อง มือ วินิจฉัย โรค อย่าง ถูก ต้อง, และ การ เข้าใจ อย่าง ถูก ต้อง. ศิลปะนี้รู้ว่าจะทดสอบอะไรก่อน จากอาการ การจดจํารูปแบบจากประสบการณ์
โดยทําตามวิธีการอย่างเป็นระบบที่วางไว้ในบทความนี้ -- ถามคําถามที่เหมาะสม โดยใช้วิธีการทํางานผ่านโมเดล OSI, การบันทึกขั้นตอนของคุณ และการเรียนรู้จากแต่ละปัญหา -- คุณจะมีประสิทธิภาพมากขึ้นในการยิง
จํา:
ปรับปรุงล่าสุด: 2 กุมภาพันธ์ 2026 ผู้เขียน: Baud9600 ทีมเทคนิค