How PING work

Network မရရင် Internet မထွက်ရင် Google.com ကို ping လုပ်ပြီးစမ်းကြတယ်။ (>ping google.com)

Ping လုပ်ရင် ICMP Echo request ကို ပို့လိုက်တာပဲ။
source PC ---- ICMP Echo_Request ----> Destination
ICMP request တောင်းခံမှု ရရင် reply ပြန်စာ ပြန်ပေးမယ်။
source PC <--- ECHO_REPLY -------- Destination
ပြန်စာရတယ်ဆိုရင် PING က Succes ဖြစ်တယ်။

$ ping 8.8.8.8
PING 8.8.8.8 (8.8.8.8): 56 data bytes
64 bytes from 8.8.8.8: icmp_seq=0 ttl=48 time=149.200 ms
64 bytes from 8.8.8.8: icmp_seq=1 ttl=48 time=148.714 ms
64 bytes from 8.8.8.8: icmp_seq=2 ttl=48 time=151.927 ms

--- 8.8.8.8 ping statistics ---
3 packets transmitted, 3 packets received, 0.0% packet loss
round-trip min/avg/max/stddev = 148.714/149.947/151.927/1.414 ms

  • 8.8.8.8 က google ရဲ့ DNS ဆာဗာ

PING က reachability ရောက်မရောက်တင်မကဘဲ Network ရဲ့ connection အရည်အသွေးပါ စစ်ဆေးလို့ရတယ်။
အသွားအပြန် round trip သွားရန်ကြာချိန်ကို ကြည့်နိုင်ပါတယ်။ အောက်က လင့် ကနေ Timestamp ကို လေ့လာလို့ ရတယ်။

https://en.wikipedia.org/wiki/Internet_Control_Message_Protocol

ICMP Header Format ကို လေ့လာ ကြည့်ပါ။ Type (၁ byte, 8bit ရှိတယ်။) ပြီးရင်code (၁ byte) ပြီးရင် checksum ြပီးရင် အခြား အချက်အလက် (၄ byte) ပါမယ်။ Control messages က ECHO_REQUEST လား ECHO_REPLY လားပါမယ် TIMESTAMP, router data တွေပါမယ်။

Comments

  • ဆက်လက် ဖတ်ပြီးလေ့လာ ကြည့်ပါ။ သိချင်တာမေးကြပေါ့။

  • ICMP error message length 576 bytes ထက်ကျော်သွားရ​င် ရော?
  • ICMP ကတည်ဆောက်ကတည်းက သတ်မှတ်ချက် အတိုင်းလုပ်တာဆိုတော့ error message length 576 bytes ကျော်စရာမရှိဘူး။ Echo Request/Reply က PING လုပ်တာ, ICMP PING ဆိုရင် Error message ကများများမရှိဘူး။ နောက်ဆုံး router က လမ်းကျောင်းမတွေ့ရင် Destination Unreachable ပဲ။

        0                   1                   2                   3
        0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |     Type      |     Code      |          Checksum             |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |                             unused                            |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
       |      Internet Header + 64 bits of Original Data Datagram      |
       +-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
    

    ICMP ကို router ေတွက အရမ်းသုံးရတယ်။ Router Advertisement, Timestamp, network address mask, multicast support, next hop, ... စသည်စသည် အချက်အလက်တွေကို တခြား router ေတွသိအောင် ကြေငြာ ပေးရတယ်။ မေးရတယ်။ မေးခံရရင် ဖြေရတယ်။

    အကယ်၍ ကြားခံ router ရဲ့ MTU (maximum transmission unit (MTU), the size of the largest Protocol Data Unit) က 576 ထက်ငယ်နေရင် “Packet Too Big” ဆိုပြီး ICMP messages ကိုပြန်ပေးပြီး datagram size ကို ညှိလိမ့်မယ်။ (MTU ဖြတ်နိုင်တဲ့ ဆိုက်ဖြစ်အောင် datagram ကို fragment ဖြတ်တာပါ။)

    ref: https://tools.ietf.org/html/rfc792

  • Ping success ျဖစ္​ရင္​
    reply ကဘာလို႔ ​ေလးခါျပန္​တာလဲ
Sign In or Register to comment.