Home » Network Troubleshooting Methodology: OSI Layer-by-Layer และ Tools
Network Troubleshooting Methodology: OSI Layer-by-Layer และ Tools
Network Troubleshooting Methodology: OSI Layer-by-Layer และ Tools
Network Troubleshooting ที่มีประสิทธิภาพต้องมี methodology ที่เป็นระบบ ไม่ใช่ลองสุ่มแก้ไปเรื่อยๆ แนวทาง OSI Layer-by-Layer เป็นวิธีที่ดีที่สุด: เริ่มจาก Physical Layer (Layer 1) ขึ้นไปจนถึง Application Layer (Layer 7) เช็คทีละชั้นจนเจอปัญหา แต่ละ layer มี tools เฉพาะทางที่ช่วยวินิจฉัย
Network issues มักจะ ดูเหมือนปัญหา application แต่จริงๆ เป็นปัญหา network — เช่น “เว็บช้า” อาจเกิดจาก DNS, routing, bandwidth, หรือแม้แต่สาย LAN เสีย ถ้าไม่มี systematic approach จะเสียเวลาเดาและลองแก้ผิดจุด OSI model ช่วยให้ isolate ปัญหาได้อย่างเป็นระบบ
Troubleshooting Approaches
| Approach |
วิธีทำ |
เหมาะกับ |
| Bottom-Up (L1→L7) |
เริ่มจาก Physical → ขึ้นไปทีละ layer |
ปัญหาที่ไม่รู้สาเหตุ (general troubleshooting) |
| Top-Down (L7→L1) |
เริ่มจาก Application → ลงไปทีละ layer |
ปัญหาที่รู้ว่าเป็น application-specific |
| Divide and Conquer |
เริ่มจาก L3 (Network) → ขึ้นหรือลงตามผล |
ประสบการณ์สูง, ต้องการแก้เร็ว |
| Follow the Path |
Trace packet path จาก source → destination |
Connectivity issues, routing problems |
| Swap Components |
สลับ hardware/cable เพื่อ isolate faulty component |
Hardware failures, intermittent issues |
Layer 1: Physical
| Check |
Tool |
สิ่งที่ต้องดู |
| Cable connectivity |
Cable tester, visual inspection |
สาย LAN เสียบแน่น? ไฟ link LED ติด? |
| Cable quality |
Fluke cable tester, TDR |
Cable pass/fail? Length correct? Crosstalk? |
| Interface status |
show interface (CLI) |
Interface up/up? Speed/duplex correct? |
| Errors |
show interface counters |
CRC errors, runts, giants, input errors? |
| SFP/Optics |
show interface transceiver |
Optical power levels (TX/RX dBm) within range? |
| PoE |
show power inline |
PoE power delivered? Wattage sufficient? |
Layer 2: Data Link
| Check |
Tool |
สิ่งที่ต้องดู |
| VLAN assignment |
show vlan, show interface switchport |
Port อยู่ VLAN ที่ถูกต้อง? |
| MAC table |
show mac address-table |
MAC address ของ device ปรากฏใน table? |
| STP |
show spanning-tree |
Port ถูก block โดย STP หรือไม่? |
| Trunk |
show interface trunk |
Trunk allow VLAN ที่ต้องการ? Native VLAN match? |
| EtherChannel |
show etherchannel summary |
Port-channel up? Members consistent? |
| ARP |
show arp, arp -a |
ARP entry ถูกต้อง? MAC address ถูก? |
Layer 3: Network
| Check |
Tool |
สิ่งที่ต้องดู |
| IP configuration |
ipconfig /all, ip addr show |
IP, subnet mask, gateway ถูกต้อง? |
| Reachability |
ping |
Ping gateway ได้? Ping destination ได้? |
| Path |
traceroute / tracert |
Path ผ่าน hop ไหน? มี loop? Latency สูงที่ hop ไหน? |
| Routing table |
show ip route, route print |
มี route ไป destination? Next-hop ถูก? |
| ACL |
show access-lists |
ACL block traffic ที่ต้องการหรือไม่? |
| NAT |
show ip nat translations |
NAT translation ถูกต้อง? Pool หมด? |
Layer 4: Transport
| Check |
Tool |
สิ่งที่ต้องดู |
| Port connectivity |
telnet host port, Test-NetConnection |
TCP port เปิดอยู่? Connection refused? |
| Firewall |
show firewall rules, iptables -L |
Firewall block port ที่ต้องการ? |
| TCP connections |
netstat -an, ss -tuln |
Service listen บน port ที่ถูกต้อง? |
| TCP retransmissions |
Wireshark, netstat -s |
Retransmissions สูง = packet loss or congestion |
| MTU |
ping -f -l 1472 (Windows) |
MTU mismatch → fragmentation → performance issues |
Layer 5-7: Session/Presentation/Application
| Check |
Tool |
สิ่งที่ต้องดู |
| DNS resolution |
nslookup, dig |
DNS resolve ถูกต้อง? ใช้ DNS server ถูก? |
| DHCP |
show ip dhcp binding, ipconfig /release /renew |
ได้ IP จาก DHCP? Scope ยังมี IP? |
| HTTP/HTTPS |
curl, wget, browser dev tools |
HTTP status code? SSL certificate valid? |
| SSL/TLS |
openssl s_client, ssllabs.com |
Certificate expired? TLS version compatible? |
| Application logs |
Event Viewer, syslog, journalctl |
Error messages ใน application/system logs? |
Essential Tools
| Tool |
Purpose |
Platform |
| ping |
ICMP reachability test |
All |
| traceroute / tracert |
Path discovery + per-hop latency |
All |
| Wireshark |
Packet capture + deep analysis |
Windows/Mac/Linux |
| nslookup / dig |
DNS query testing |
All |
| netstat / ss |
Connection + port status |
All |
| tcpdump |
CLI packet capture |
Linux/Mac |
| mtr |
Continuous traceroute + ping (combined) |
Linux/Mac |
| nmap |
Port scanning + service detection |
All |
| iperf3 |
Bandwidth/throughput testing |
All |
| curl |
HTTP/HTTPS testing |
All |
Troubleshooting Checklist
| Step |
Action |
| 1. Define problem |
อะไรไม่ทำงาน? ใครได้รับผลกระทบ? เมื่อไหร่เริ่ม? |
| 2. Gather info |
IP, VLAN, topology, recent changes, error messages |
| 3. Isolate scope |
1 user? 1 VLAN? 1 site? ทุกคน? |
| 4. Test layer by layer |
L1 (cable/link) → L2 (VLAN/MAC) → L3 (IP/route) → L4+ (port/app) |
| 5. Identify root cause |
หาสาเหตุที่แท้จริง (ไม่ใช่แค่ symptom) |
| 6. Implement fix |
แก้ปัญหา + verify ว่าทำงานแล้ว |
| 7. Document |
บันทึกปัญหา, สาเหตุ, วิธีแก้ (knowledge base) |
ทิ้งท้าย: Systematic Troubleshooting = Faster Resolution
Network Troubleshooting OSI Layer-by-Layer: L1 (Physical) → L2 (Data Link) → L3 (Network) → L4 (Transport) → L7 (App) Bottom-up สำหรับ unknown issues, Divide-and-conquer สำหรับ experienced engineers ping + traceroute + Wireshark + nslookup = essential toolkit Define → Gather → Isolate → Test → Fix → Document
อ่านเพิ่มเติมเกี่ยวกับ Network Monitoring Stack และ Network Observability OpenTelemetry ที่ siamlancard.com หรือจาก icafeforex.com และ siam2r.com