|อ่าน 11 นาที

Ping คืออะไร? อธิบาย ICMP Ping, Latency และ Packet Loss

Ping เป็นหนึ่งในเครื่องมือตรวจสอบเครือข่ายที่ใช้บ่อยที่สุด ช่วยบอกว่า host ปลายทางเข้าถึงได้หรือไม่ packet ใช้เวลาเดินทางไปกลับนานแค่ไหน และมี packet หายระหว่างทางหรือไม่

Ping คืออะไร?

Ping คือเครื่องมือ command line สำหรับตรวจสอบว่าอุปกรณ์ เว็บไซต์ เซิร์ฟเวอร์ หรือ IP address ปลายทางสามารถเข้าถึงผ่านเครือข่ายได้หรือไม่

Ping วัดค่า round-trip time หรือ RTT ซึ่งคือเวลาที่ packet ขนาดเล็กเดินทางจากเครื่องของคุณไปยังปลายทางและกลับมา

Ping ถูกสร้างโดย Mike Muuss ในปี 1983 และมีอยู่ใน Windows, macOS, Linux, router, server และอุปกรณ์เครือข่ายจำนวนมาก

ชื่อ ping มาจาก sonar: ส่งสัญญาณออกไป รอเสียงสะท้อนกลับมา แล้ววัดเวลาที่ใช้

Ping ทำงานอย่างไร - เบื้องหลัง ICMP

โดยทั่วไป Ping ใช้ ICMP หรือ Internet Control Message Protocol เครื่องของคุณส่ง ICMP Echo Request แล้วรอ ICMP Echo Reply กลับมา

You run:
  ping google.com

1. DNS resolution
   google.com -> 142.250.80.46

2. ICMP Echo Request
   Source:      your IP address
   Destination: 142.250.80.46
   Type:        8
   Code:        0
   Sequence:    1
   Payload:     small test data

3. Network path
   The packet travels through routers between you and the server.

4. ICMP Echo Reply
   Source:      142.250.80.46
   Destination: your IP address
   Type:        0
   Code:        0
   Sequence:    1

5. Round-trip time
   RTT = reply received time - request sent time
   Example: 12 ms

ประเภท ICMP message ที่พบบ่อย

Typeชื่อการใช้งานทั่วไป
Type 0Echo Replyคำตอบของ ping
Type 3Destination Unreachableแจ้งข้อผิดพลาดว่า network, host, protocol หรือ port เข้าถึงไม่ได้
Type 8Echo Requestคำขอของ ping
Type 11Time Exceededใช้กับ traceroute และตรวจ routing loop

ทำความเข้าใจ Latency และ Round-Trip Time

Latency คือความหน่วง ในผลลัพธ์ ping มักแสดงเป็นมิลลิวินาที และหมายถึงเวลาที่ packet เดินทางไปยังเป้าหมายแล้วกลับมา

ค่า RTTระดับความหมาย
1-20 msยอดเยี่ยมเมืองเดียวกัน, LAN, data center ใกล้ ๆ หรือเส้นทาง fiber ที่เร็ว
20-50 msดีใช้งานเว็บ วิดีโอคอล และเกมได้ลื่น
50-100 msพอใช้ยังใช้งานได้ แต่แอปแบบ real-time อาจไม่คมเท่าเดิม
100-200 msสูงเริ่มรู้สึกหน่วงในคอล เกม และ remote desktop
200+ msสูงมากมักเกิดจากระยะทางไกล satellite congestion หรือ routing มีปัญหา

Packet Loss คืออะไร

Packet loss หมายถึง packet บางส่วนไม่กลับมา แม้ loss เล็กน้อยก็ทำให้วิดีโอคอลสะดุด เกม lag ดาวน์โหลดช้าลง และเว็บไซต์ดูไม่เสถียรได้

Packet lossผลกระทบ
0%การเชื่อมต่อปกติสำหรับการใช้งานทั่วไป
1-2%เล็กน้อยแต่เริ่มรู้สึกได้ในคอล เกม และ streaming
3-5%มีโอกาสเกิดการสะดุด retry และเชื่อมต่อไม่เสถียร
10%+ปัญหารุนแรง ควรตรวจสอบทันที

Jitter - ทำไมความสม่ำเสมอจึงสำคัญ

Jitter คือความผันผวนของ latency การเชื่อมต่อที่ตอบ 25 ms, 26 ms, 24 ms จะลื่นกว่าการเชื่อมต่อที่แกว่งระหว่าง 20 ms กับ 180 ms

วิธีใช้คำสั่ง Ping

คำสั่ง ping มีอยู่ในระบบปฏิบัติการหลักเกือบทั้งหมด แต่ flag ระหว่าง Windows กับระบบแบบ Unix จะแตกต่างกันเล็กน้อย

Windows:
  ping example.com
  ping -n 10 example.com
  ping -4 example.com
  ping -6 example.com

macOS and Linux:
  ping example.com
  ping -c 10 example.com
  ping -i 0.5 example.com
  ping -s 1200 example.com

วิธีอ่านผลลัพธ์ Ping

ผลลัพธ์ ping ให้เบาะแสหลายอย่าง เช่น ขนาด reply, source IP, sequence number, TTL, time, packet loss และค่า latency แบบ min/avg/max

PING example.com (93.184.216.34): 56 data bytes
64 bytes from 93.184.216.34: icmp_seq=0 ttl=56 time=18.4 ms
64 bytes from 93.184.216.34: icmp_seq=1 ttl=56 time=17.9 ms
64 bytes from 93.184.216.34: icmp_seq=2 ttl=56 time=19.1 ms
64 bytes from 93.184.216.34: icmp_seq=3 ttl=56 time=18.0 ms

--- example.com ping statistics ---
4 packets transmitted, 4 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 17.9/18.4/19.1/0.5 ms
Fieldความหมาย
timeround-trip time ของ reply แต่ละครั้ง
ttlTime To Live หรือ hop limit ที่ช่วยเดาได้คร่าว ๆ ว่าผ่าน router มากี่จุด
icmp_seqsequence number สำหรับจับคู่ request และ reply
packet lossเปอร์เซ็นต์ packet ที่ส่งไปแล้วไม่ได้รับคำตอบ
min/avg/maxค่าเร็วสุด เฉลี่ย และช้าที่สุดของ round-trip time

อะไรส่งผลต่อค่า Ping?

ค่า ping ไม่ได้ขึ้นกับความเร็วอินเทอร์เน็ตอย่างเดียว ระยะทาง routing คุณภาพ Wi-Fi congestion ภาระของ server VPN และ firewall ล้วนส่งผลได้

ปัจจัยผลกระทบ
ระยะทางserver ที่ไกลกว่ามักมี latency สูงกว่า
Routingtraffic อาจวิ่งอ้อมผ่านหลายเครือข่าย
คุณภาพ Wi-Fiสัญญาณอ่อนและสัญญาณรบกวนเพิ่ม delay หรือ loss ได้
Congestionเครือข่ายที่ยุ่งจะ queue packet และเพิ่ม latency
VPN หรือ proxyเพิ่มเส้นทางผ่าน server อีกจุด
นโยบาย serverบาง host จำกัดหรือบล็อก ICMP ping

ค่า Ping เท่าไรถือว่าดี?

ค่า ping ที่ดีขึ้นกับกิจกรรม การอ่านเว็บทน latency สูงได้มากกว่าเกม วิดีโอคอล และ remote desktop ที่ต้องการ latency ต่ำและนิ่ง

กิจกรรมค่า ping ที่เหมาะสม
ท่องเว็บต่ำกว่า 100 ms มักเพียงพอ
ดูวิดีโอ streaminglatency สำคัญน้อยกว่า bandwidth และความเสถียร
วิดีโอคอลต่ำกว่า 50 ms ถือว่าดี และ jitter ต่ำสำคัญมาก
เกมออนไลน์ต่ำกว่า 30 ms ยอดเยี่ยม ต่ำกว่า 60 ms มักเล่นได้ดี
Remote desktopต่ำกว่า 50 ms จะตอบสนองดีขึ้นมาก

แก้ปัญหาเครือข่ายด้วย Ping

Ping มีประโยชน์เพราะช่วยทดสอบทีละชั้น เริ่มจากเครื่องตัวเอง ต่อด้วย router ต่อด้วย IP ภายนอก แล้วค่อยทดสอบ domain name

Troubleshooting sequence:

1. Ping your own computer
   ping 127.0.0.1

2. Ping your router
   ping 192.168.1.1

3. Ping a public IP
   ping 8.8.8.8

4. Ping a domain name
   ping google.com

If 8.8.8.8 works but google.com fails,
the problem is probably DNS, not general connectivity.

มากกว่า Ping - เครื่องมือที่เกี่ยวข้อง

Ping เป็นเพียงหนึ่งในเครื่องมือตรวจสอบเครือข่าย ควรใช้ร่วมกับ traceroute, DNS lookup, HTTP check และ speed test เพื่อเห็นภาพปัญหาครบขึ้น

เครื่องมือใช้ทำอะไร
Tracerouteแสดง hop ของ router ระหว่างคุณกับปลายทาง
DNS lookupตรวจว่า domain resolve เป็น IP ที่คาดไว้หรือไม่
HTTP headers checkerตรวจว่าเว็บไซต์ตอบกลับในระดับ HTTP หรือไม่
Redirect checkerแสดง redirect chain ที่อาจทำให้หน้าเว็บช้า
Speed testวัด throughput ซึ่งต่างจาก latency

ทดสอบ Host ด้วย Ping

ใช้เครื่องมือ Ping Checker ฟรีของเราเพื่อตรวจ reachability, response time, packet loss และพฤติกรรมเครือข่ายจาก browser ของคุณ

เปิด Ping Checker

แหล่งอ้างอิง

  • RFC 792 - Internet Control Message Protocol
  • RFC 4443 - ICMPv6 for the Internet Protocol Version 6 Specification
  • Mike Muuss ping history and original network utility notes
  • Microsoft, Apple, and Linux ping command documentation
USTHJP