Network Troubleshooting Methodology - The Systematic Approach

วิธี แก้ ปัญหา ทาง เครือ ข่าย

เหตุ ผล ที่ มี ความ สําคัญ

ปัญหา:

ทาง แก้:

ค่า ใช้ จ่าย ของ การ ยิง ฮา ฟา ซาร์ด:

คํา แนะ นํา: วิธี ทาง วิทยาศาสตร์ ใช้ กับ เครือ ข่าย

การยิงปัญหาของเครือข่าย เป็นการฝึกในวิธีการทางวิทยาศาสตร์

  1. สังเกต
  2. สร้างสมมุติฐานขึ้นมา
  3. ทดสอบสมมุติฐาน
  4. ผลลัพธ์การค้นหา
  5. การ แก้ ปัญหา
  6. ตรวจสอบ

บทความ นี้ จัด ให้ มี โครง สร้าง สําหรับ แก้ ปัญหา ของ เครือ ข่าย ซึ่ง ป้องกัน หลุม พราง ทั่ว ไป เช่น:

  • การยืนยันอคติ (มองหาเพียงหลักฐานที่สนับสนุนการเดาครั้งแรกของคุณ)
  • สุ่มการเปลี่ยนแปลงโดยไม่ต้องวินิจฉัย (วิธีการ "ดื่มและอธิษฐาน")
  • แก้ไขอาการแทนราก
  • การดีบั๊กตัวพิมพ์เล็กโดยไม่ต้องบันทึกสิ่งที่พยายามแล้ว

คํา ถาม สําคัญ ห้า ข้อ

ก่อน จะ ดํา ลึก เข้า ไป ใน การ วินิจฉัย ทาง เทคนิค จง ตอบ คํา ถาม สําคัญ ห้า ข้อ นี้ เพื่อ จํากัด ขอบ เขต การ ตรวจ สอบ ของ คุณ:

คํา ถาม ที่ 1: อะไร เปลี่ยน ไป เมื่อ ไม่ นาน มา นี้?
  • ตรวจสอบบันทึกการจัดการการเปลี่ยนแปลง
  • Review preview example ในระบบการจัดการการปรับแต่ง
  • ถามว่า "เมื่อวานมันใช้ได้ไหม"
ใคร ได้ รับ ผล กระทบ?
  • อุปกรณ์หนึ่ง: น่าจะเป็นปัญหาท้องถิ่น (NIC, เคเบิล, การปรับแต่ง)
  • เครือข่ายย่อยหนึ่ง: เกตเวย์, DHCP, หรือเปลี่ยนประเด็น
  • ทุกคน: โครงสร้างพื้นฐานหลัก, ISP หรือ ประเด็นที่แพร่หลาย
  • แอพพลิเคชันเฉพาะ: เซิร์ฟเวอร์โปรแกรม, กฎไฟร์วอลล์, หรือ DNS
คํา ถาม ที่ 3: เป็น เรื่อง เสมอ ต้น เสมอ ปลาย ไหม?
  • ค่าคงที่: ล้มเหลวอย่างหนัก (ตัดสัญญาณ, การปรับค่าผิด, การบริการลง)
  • ใช้เวลา: การก่อความไม่สงบระหว่างชั่วโมงธุรกิจ กําหนดการดําเนินการ
  • อินเตอร์มิ้นท์/ แรนดอม: กลับหน้าไม่ตรงกัน, ฮาร์ดแวร์ล้มเหลว, ลิงก์ที่ไม่ต่อเนื่อง
คํา ถาม 4
  • ใช่ การ วินิจฉัย โรค ได้ ง่าย กว่า มาก (อาจ ทํา ให้ สมมุติฐาน ของ การ ทดสอบ ได้)
  • ไม่ ตั้งค่าการติดตาม/ การบล็อคและรอการเกิดขึ้นอีก
คํา ถาม ที่ 5: อีก ด้าน หนึ่ง เห็น อะไร?
  • มุมมองของไคลเอนต์ vs. server
  • Packet จับภาพที่แหล่ง vs. ปลายทาง
  • ความไม่สมมาตร? เส้นทางที่แตกต่างกันสําหรับการส่ง vs ได้รับ?

วิธีวิเคราะห์แบบ OSI

โมเดล OSI เป็นโครง คุณสําหรับการยิง การ ทํา งาน จาก ชั้น ที่ 1 (ด้าน หน้า) ขึ้น ไป หรือ จาก ชั้น 7 (การ แยก) ต่ํา ลง ขึ้น ไป ขึ้น อยู่ กับ อาการ.

เพิ่มเลเยอร์...

เมื่อใช้:

เพิ่มเลเยอร์...
ชั้น 2: เชื่อมโยงข้อมูล
เลเยอร์ 3: เครือข่าย
เลเยอร์ 4
เพิ่มเลเยอร์...

เข้าทางด้านบนล่าง (Layer 7 file 1)

เมื่อใช้:

ตัวอย่าง:

เริ่มที่ชั้น 7 (บริการร่วมกันทํางานหรือไม่? DNS แก้ไข IP?) และทํางานลงก็ต่อเมื่อจําเป็น

ต้น ไม้ ใน การ ตัดสิน: อยู่ ใน ชั้น 1, 2, หรือ 3?

ใช้ต้นไม้ตรวจสอบอย่างรวดเร็วนี้ เพื่อระบุว่าชั้นใดล้มเหลว:

คุณส่งสัญญาณเครื่องในท้องที่ (127.0.1) ได้ไหม?
ไม่
ปัญหา: ปัญหา เรื่อง ระบบ ปฏิบัติ การ / ซอฟต์แวร์
○ ใช่
คุณติดต่อ IP address ของคุณได้ไหม
↓ NO
ปัญหา:
↓ YES
คุณสามารถส่งสัญญาณประตูปริยาย?
↓ NO
ปัญหา: เครือข่ายท้องถิ่น
↓ YES
คุณส่งสัญญาณทางไกลจาก IP address ได้ไหม?
↓ NO
ปัญหา: ชั้น 3 - การ เรียน รู้
↓ YES
คุณสามารถแก้ไข DNS (ชื่อเล่นที่ดูเด่น)?
↓ NO
ปัญหา: การปรับแต่ง DNS
↓ YES
คุณสามารถเข้าถึงพอร์ตของโปรแกรม (พอร์ตโฮสต์ของเทลเน็ต) ได้หรือไม่?
↓ NO
ปัญหา: ไฟร์วอลล์ / พอร์ต บล็อค
↓ YES
แก้ไขลวดลายจุดเชื่อมต่อStencils

แว่นขยาย

เมื่อคุณมีสมมติฐานเกี่ยวกับสาเหตุราก ใช้เทคนิคเหล่านี้แยกออกมาเพื่อยืนยันหรือปฏิเสธ

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
  • คอขวดไฟ

โพรเซสวิเคราะห์

  1. ทดสอบ Ping:
  2. การทดสอบแบนด์วิด (ไอเปอร์ฟ):
  3. จับภาพกระเป๋า:
  4. ตรวจสอบเซิร์ฟเวอร์:

ราก

แม่ข่ายฐานข้อมูล 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

  1. ตรวจสอบส่วนติดต่อผู้ใช้:
  2. ตัวแก้ไขข้อผิดพลาด:
  3. การชนกันล่าสุด:

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

  1. ความละเอียด DNS:
  2. ทดสอบ Ping:
  3. ร้องขอข้อมูล HTTP แบบเล็ก ( curl):
  4. ดาวน์โหลดใหญ่:
  5. ทดสอบ MTU:ping -M do -s 1472ping -M do -s 1473
  6. การติดตาม 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

  1. การทดสอบแบนด์วิด:
  2. ตรวจสอบ QOS:
  3. การตรวจสอบคิว:
  4. จับภาพกระเป๋า:

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
ethtool eth0
สถานะ: ลง, ไม่มีบริการ, ปิดการใช้งานเคเบิล
แพกเกจสูญหาย เลเยอร์ 1/2 show interfaces
show interfaces counters errors
การผิดพลาด, การวิ่ง, ยักษ์, การชน, การชนช้า
ไม่สามารถส่งสัญญาณประตู เลเยอร์ 2 arp -a
show mac address-table
show spanning-tree
ไม่มีรายการ ARP, MAC ไม่เรียนรู้, บล็อก STP
ไม่สามารถเข้าถึงเครือข่ายย่อยระยะไกล เลเยอร์ 3 traceroute
show ip route
show ip route summary
สูญเสียเส้นทางไป, ผิดร้านถัดไป, วนรอบ
การเชื่อมต่อถูกปฏิเสธ เลเยอร์ 4 telnet host port
netstat -an
tcpdump
บริการไม่ฟัง ไฟร์วอลล์บล็อก TCP RST
ประสิทธิภาพที่ช้า เลเยอร์ 4+ ping (RTT)
iperf3
tcpdump
show interfaces
ความล่าช้าสูง จํากัดแบนด์วิด TCP การย้ายหน้าต่างศูนย์
ไม่สามารถแก้ไขชื่อโฮสต์ได้ เลเยอร์ 7 nslookup
dig
cat /etc/resolv.conf
เซิร์ฟเวอร์ DNS ไม่สามารถใช้ได้, ปรับแต่ง DNS ไม่ถูกต้อง, NXDOMAN
หยดความโปร่งแสง Layer 1/2 ping -f (flood)
show logging
show interfaces
กลับหน้าไม่ตรงกัน, สายเคเบิลล้มเหลว, การลาดตระเวนของ STP
ได้ผลบ้างบางครั้ง ไม่ใช่คนอื่น หลาย Extended ping
Packet capture
Interface statistics
โหลดปัญหาสมดุล, ตาราง 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 ทีมเทคนิค