ping指令
ping 這個指令其實是利用 icmp(Internet Control Message Protocol)其中一部分的功能:
原理是發出 icpm echo request (icmp type 8)
對方會回應 icmp echo reply(icmp type 0)
在windows下ping 的指令,就是發出四個 icpm echo request封包,如果對方ip存在於網路上且沒阻斷icmp的話,對方匯回應四個 icmp echo reply封包。
ping 168.95.1.1
C:Documents and SettingsAdministrator>ping 168.95.1.1
Pinging 168.95.1.1 with 32 bytes of data:
Reply from 168.95.1.1: bytes=32 time=27ms TTL=247
Reply from 168.95.1.1: bytes=32 time=27ms TTL=247
Reply from 168.95.1.1: bytes=32 time=27ms TTL=247
Reply from 168.95.1.1: bytes=32 time=27ms TTL=247
Ping statistics for 168.95.1.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss)
Approximate round trip times in milli-seconds:
Minimum = 27ms, Maximum = 27ms, Average = 27ms
bytes=32
time=27ms
TTL=247
原理是發出 icpm echo request (icmp type 8)
對方會回應 icmp echo reply(icmp type 0)
在windows下ping 的指令,就是發出四個 icpm echo request封包,如果對方ip存在於網路上且沒阻斷icmp的話,對方匯回應四個 icmp echo reply封包。
ping 168.95.1.1
C:Documents and SettingsAdministrator>ping 168.95.1.1
Pinging 168.95.1.1 with 32 bytes of data:
Reply from 168.95.1.1: bytes=32 time=27ms TTL=247
Reply from 168.95.1.1: bytes=32 time=27ms TTL=247
Reply from 168.95.1.1: bytes=32 time=27ms TTL=247
Reply from 168.95.1.1: bytes=32 time=27ms TTL=247
Ping statistics for 168.95.1.1:
Packets: Sent = 4, Received = 4, Lost = 0 (0% loss)
Approximate round trip times in milli-seconds:
Minimum = 27ms, Maximum = 27ms, Average = 27ms
bytes=32
- icpm封包的大小
time=27ms
- 對方回應速度,由此一數據可以判斷與對方網路連線是否順暢,數字越小,連線速度越快
TTL=247
- Time To Live 都是以時間為單位的,但是在路由上面卻是以跳站數目為單位的。為了防止一個封包無限期呆在網路上路由,每一個封包都會被賦予一個 TTL 值,告訴它最多能經過多少個跳站。當封包被一個路由節點處理之後,它原來的 TTL 值就會被扣掉 1 ,這樣、如果封包的 TTL 降到 0 的時候,路由器就會丟棄這個封包,數字是從255往下減,所以 TTL=247 就是經過 8個網路路由
留言
張貼留言