ping命令返回結(jié)果分析
LINUX 下ping 命令的使用祥解ping 是一個(gè)很常用的小工具,它主要用于確定網(wǎng)絡(luò)的連通性問(wèn)題 使用ping 命令后,常見(jiàn)的出錯(cuò)信息通常分為3種:1、unknown host:不知名主機(jī),該遠(yuǎn)程
LINUX 下ping 命令的使用祥解
ping 是一個(gè)很常用的小工具,它主要用于確定網(wǎng)絡(luò)的連通性問(wèn)題 使用ping 命令后,常見(jiàn)的出錯(cuò)信息通常分為3種:
1、unknown host:不知名主機(jī),該遠(yuǎn)程主機(jī)的名字不能被域名服務(wù)器DNS 轉(zhuǎn)換成IP 地址,故障原因可能是域名服務(wù)器有故障,或者目標(biāo)主機(jī)的名字不正確,或者網(wǎng)絡(luò)管理員的系統(tǒng)與遠(yuǎn)程主機(jī)之間的通信線路有故障。
2、Destination Host Unreachable:此錯(cuò)誤信息表明執(zhí)行命令的計(jì)算機(jī)沒(méi)能將信息發(fā)送到對(duì)方那里。大多數(shù)情況是自己一方的計(jì)算機(jī)LAN 連接線掉線,或者由于IP 設(shè)置不對(duì),而無(wú)法進(jìn)行正常通信。
3、Request time out :表示在規(guī)定時(shí)間內(nèi)因某種原因沒(méi)有返回ping 命令的應(yīng)答,這種情況很可能是對(duì)方的計(jì)算機(jī)沒(méi)有運(yùn)行,或者中間線路不通致使信息沒(méi)有到達(dá)對(duì)方那里。大多數(shù)情況下是企業(yè)防火墻等阻擋了ping 命令中使用的ICMP 信息。在這種情況下即便通信對(duì)象正在工作,也會(huì)有這種結(jié)果顯示。(echo 包順利到達(dá)目的主機(jī),且目的主機(jī)也向源主機(jī)返回echo-reply 包,但是echo-reply 包在半路上丟失,無(wú)法到達(dá)源主機(jī)。)
如何用ping 命令查找無(wú)法上網(wǎng)的原因
1.Ping 命令的語(yǔ)法格式:
有必要先給不了解Ping 命令的人介紹一下Ping 命令的具體語(yǔ)法格式:
ping 目的地址[參數(shù)1J[參數(shù)2]……
其中目的地址是指被測(cè)試計(jì)算機(jī)的IP 地址或域名 主要參數(shù)有:
a :解析主機(jī)地址
c :數(shù)據(jù):發(fā)出的測(cè)試包的個(gè)數(shù),缺省值為無(wú)限ping
l :數(shù)值:所發(fā)送緩沖區(qū)的大小
1
以上面的結(jié)果為例
1. Reply from 61.135.179.166: bytes=10240 time=48ms TTL=50
10240的網(wǎng)絡(luò)包用48毫秒完成了一次網(wǎng)絡(luò)交互
TTL=50表示服務(wù)器的操作系統(tǒng)是Linux ,中間經(jīng)過(guò)了14個(gè)網(wǎng)絡(luò)設(shè)備
2. Packets: Sent = 100, Received = 100, Lost = 0 (0 loss)
發(fā)送了100個(gè)包,接收到100個(gè)回應(yīng),丟包率0(一般應(yīng)該在5以內(nèi))
3. Minimum = 48ms, Maximum = 50ms, Average = 48ms
最短交互時(shí)間48毫秒,最長(zhǎng)50毫秒,平均48毫秒
平均時(shí)間如果跟最短很接近,表示速度比較均勻,偶爾時(shí)間長(zhǎng)些
,平均時(shí)間如果跟最長(zhǎng)很接近,一般認(rèn)為網(wǎng)絡(luò)忙的可能性比較大了
推算速度
網(wǎng)絡(luò)速度≈包大小/交互時(shí)間 k字節(jié)/s
例如上面的結(jié)果,網(wǎng)絡(luò)速度 ≈ 10240/48 = 213 k/s = 1704K BIT/s 速度很好,肯定比1M 的ADSL 是達(dá)不到這個(gè)速度的
幾個(gè)結(jié)果分析
網(wǎng)絡(luò)速度不穩(wěn)定
Minimum = 33ms, Maximum = 179ms, Average = 62ms
最短、最長(zhǎng)、平均,三個(gè)時(shí)間很開(kāi),說(shuō)明網(wǎng)絡(luò)速度不穩(wěn)定,波動(dòng)很大
網(wǎng)絡(luò)鏈接突然斷開(kāi)
Reply from xxx.xxx.xx.xx: bytes=990 time=11ms TTL=108
Reply from xxx.xxx.xx.xx: bytes=990 time=7ms TTL=108
Request timed out.
Reply from xxx.xxx.xx.xx: bytes=990 time=12ms TTL=108
Reply from xxx.xxx.xx.xx: bytes=990 time=10ms TTL=108
響應(yīng)時(shí)間變化不大,突然出現(xiàn)一個(gè)超時(shí),一般是中間某一個(gè)網(wǎng)絡(luò)設(shè)備導(dǎo)致網(wǎng)絡(luò)鏈接突然斷開(kāi) 網(wǎng)絡(luò)速度不穩(wěn)定
Reply from xxx.xxx.xx.xx: bytes=990 time=182ms TTL=108
Request timed out.
Reply from xxx.xxx.xx.xx: bytes=990 time=448ms TTL=108
Reply from xxx.xxx.xx.xx: bytes=990 time=61ms TTL=108
,Request timed out.
Reply from xxx.xxx.xx.xx: bytes=990 time=8ms TTL=108
響應(yīng)時(shí)間變化很大,時(shí)不時(shí)出現(xiàn)超時(shí),一般是接觸不良、網(wǎng)絡(luò)設(shè)備處理不過(guò)來(lái)、網(wǎng)絡(luò)繁忙等 在ping 的結(jié)果基礎(chǔ)上,可以用 tracert 或者 pathping 進(jìn)一步分析網(wǎng)絡(luò)問(wèn)題出在哪個(gè)網(wǎng)絡(luò)設(shè)備上。
2.鍵入Ping 192.192.225.225就可以了
Ping 192.192.225.225 with 32 byteS of dara:
Reply from 192.192.225.225:bytes=32 time<10ms TTL=128
Reply from 192.192.225.225:bytes=32 time<10ms TTL=128
Reply from 192.192.225.225:bytes=32 time<10ms TTL=128
Reply from 192.192.225.225:bytes=32 time<10ms TTL=128
Ping StatiStiCe for 192.192.225.225:
PacketS :Sent=4,ReceiVed=4,LOSt=0 0%lOSS
Approximate round trip timeS in milli-secondS:
Minimum=Oms,Maximum=1mS,Average=OmS
以上返回了4個(gè)測(cè)試數(shù)據(jù)包,其中bytes=32表示測(cè)試中發(fā)送的數(shù)據(jù)包大小是32個(gè)字節(jié),“time<10ms表示與對(duì)方主機(jī)
往返一次所用的時(shí)間小于10毫秒,TTL=128表示當(dāng)前測(cè)試使用的TTL Time to Live 值為128 系統(tǒng)默認(rèn)值
如果網(wǎng)絡(luò)有問(wèn)題,則返回如下所示的響應(yīng)失敗信息:
Pinging 192.192.225.225 with 32 bytes of data
Request timed out.
Request timed out.
Request timed out.
Request timed out.
Ping StatiStiCe for 192.192.225,225:
PacketS :Sent=4,ReceiVed=0,lost \=4 100%loss
Minimum‘0ms,Maximum=OmS,Average’0mS
網(wǎng)絡(luò)故障:出現(xiàn)第二種情況時(shí),建議從以上幾個(gè)方面來(lái)著手排查:一是看被測(cè)試計(jì)算機(jī)是否已安裝了TCP /IP 協(xié)議:
二是檢查一下被測(cè)試計(jì)算機(jī)的網(wǎng)卡安裝是否正確且是否已經(jīng)連通:三是看被測(cè)試計(jì)算機(jī)的TCP /IP 協(xié)議是否與網(wǎng)F
有效的綁定 具體方法是通過(guò)選擇“開(kāi)始一設(shè)置一控制面板一網(wǎng)絡(luò)”來(lái)查看 :如果通過(guò)以上幾個(gè)步驟的檢查還沒(méi)有
發(fā)現(xiàn)問(wèn)題的癥結(jié),建議重新安裝并設(shè)置一,‘廠TCP /”協(xié)議,如果是TCP /IP 協(xié)議的問(wèn)題,這時(shí)絕對(duì)可以徹底解決
按照上述方法,我們還可以用Ping 命令來(lái)檢查任意一臺(tái)客戶湍計(jì)算機(jī)上TCP /IP 的工作情況 例如我們要檢查網(wǎng)絡(luò)任
一客戶端“機(jī)房0廠上的TCP /IP 協(xié)議的配置和工作情況,可直接在該臺(tái)機(jī)器上Ping 本機(jī)的
,IP 地址,若返回成功的信
息,說(shuō)明IP 地虹LB 己置無(wú)誤,若失敗則應(yīng)檢查IP 地址的配置? 賞ü 韻虜街杞 校菏紫認(rèn)燃觳橐弧げ氛 鐾 紓 氐?nbsp;
看一下該IP 地址是否正在被其他用戶使用,然后再看一下該工作站是否已正確連入網(wǎng)絡(luò) 很多情況下用戶沒(méi)有登陸網(wǎng)
絡(luò)也會(huì)出現(xiàn)此種情況,這可是低級(jí)錯(cuò)誤啊 最后檢查網(wǎng)—E 的I /0地址lIRQ 值和DMA 值,這些值是否與其他設(shè)備發(fā)生
了沖突 其中最后一項(xiàng)的檢查非常重要,也常被許多用戶所忽視,即使是Ping 成功后也要進(jìn)行此項(xiàng)的檢查 因?yàn)楫?dāng)Ping
本機(jī)的IP 地址成功后,僅表明本機(jī)的IP 地址配置沒(méi)有問(wèn)題,但并不能說(shuō)明網(wǎng)卡的配置完全正確 這時(shí)雖然在本機(jī)的
“網(wǎng)上鄰居”中能夠看到本機(jī)的計(jì)算機(jī)名,可就是無(wú)法與其他的用戶連通,不知問(wèn)題出在何處,其實(shí)問(wèn)題往往就出在
網(wǎng)卡上
簡(jiǎn)單來(lái)說(shuō),TTL 全程Time to Live,意思就是生存周期
首先要說(shuō)明ping 命令是使用的網(wǎng)絡(luò)層協(xié)議ICMP ,所以TTL 指的是一個(gè)網(wǎng)絡(luò)層的網(wǎng)絡(luò)數(shù)據(jù)包 package 的生存周期,這句話不懂的先回去復(fù)習(xí)OSI7層協(xié)議去
第一個(gè)問(wèn)題,為什么要有生存周期這個(gè)概念
很顯然,一個(gè)package 從一臺(tái)機(jī)器到另一臺(tái)機(jī)器中間需要經(jīng)過(guò)很長(zhǎng)的路徑,顯然這個(gè)路徑不是單一的,是很復(fù)雜的,并且很可能存在環(huán)路 如果一個(gè)數(shù)據(jù)包在傳輸過(guò)程中進(jìn)入了環(huán)路,如果不終止它的話,它會(huì)一直循環(huán)下去,如果很多個(gè)數(shù)據(jù)包都這樣循環(huán)的話,那對(duì)于網(wǎng)絡(luò)來(lái)說(shuō)這就是災(zāi)難了 所以需要在包中設(shè)置這樣一個(gè)值,包在每經(jīng)過(guò)一個(gè)節(jié)點(diǎn),將這個(gè)值減1,反復(fù)這樣操作,最終可能造成2個(gè)結(jié)果:包在這個(gè)值還為正數(shù)的時(shí)候到達(dá)了目的地,或者是在經(jīng)過(guò)一定數(shù)量的節(jié)點(diǎn)后,這個(gè)值減為了0 前者代表完成了一次正常的傳輸,后者代表包可能選擇了一條非常長(zhǎng)的路徑甚至是進(jìn)入了環(huán)路,這顯然不是我們期望的,所以在這個(gè)值為0的時(shí)候,網(wǎng)絡(luò)設(shè)備將不會(huì)再傳遞這個(gè)包而是直接將他拋棄,并發(fā)送一個(gè)通知給包的源地址,說(shuō)這個(gè)包已死
其實(shí)TTL 值這個(gè)東西本身并代表不了什么,對(duì)于使用者來(lái)說(shuō),關(guān)心的問(wèn)題應(yīng)該是包是否到達(dá)了目的地而不是經(jīng)過(guò)了幾個(gè)節(jié)點(diǎn)后到達(dá) 但是TTL 值還是可以得到有意思的信息的
每個(gè)操作系統(tǒng)對(duì)TTL 值得定義都不同,這個(gè)值甚至可以通過(guò)修改某些系統(tǒng)的網(wǎng)絡(luò)參數(shù)來(lái)修改,例如Win2000默認(rèn)為128,通過(guò)注冊(cè)表也可以修改 而Linux 大多定義為64 不過(guò)一般來(lái)說(shuō),很少有人會(huì)去修改自己機(jī)器的這個(gè)值的,這就給了我們機(jī)會(huì)可以通過(guò)ping 的回顯TTL 來(lái)大體判斷一臺(tái)機(jī)器是什么操作系統(tǒng)
以我公司2臺(tái)機(jī)器為例
看如下命令
D:Documents and Settingshx>ping 61 152 93 131
Pinging 61 152 93 131 with 32 bytes of data:
Reply from 61 152 93 131: bytes=32 time=21ms TTL=118
,Reply from 61 152 93 131: bytes=32 time=19ms TTL=118
Reply from 61 152 93 131: bytes=32 time=18ms TTL=118
Reply from 61 152 93 131: bytes=32 time=22ms TTL=118
Ping statistics for 61 152 93 131:
Packets: Sent = 4, Received = 4, Lost = 0 0 loss
Approximate round trip times in milli-seconds:
Minimum = 18ms, Maximum = 22ms, Average = 20ms
D:Documents and Settingshx>ping 61 152 104 40
Pinging 61 152 104 40 with 32 bytes of data:
Reply from 61 152 104 40: bytes=32 time=28ms TTL=54
Reply from 61 152 104 40: bytes=32 time=18ms TTL=54
Reply from 61 152 104 40: bytes=32 time=18ms TTL=54
Reply from 61 152 104 40: bytes=32 time=13ms TTL=54
Ping statistics for 61 152 104 40:
Packets: Sent = 4, Received = 4, Lost = 0 0 loss
Approximate round trip times in milli-seconds:
Minimum = 13ms, Maximum = 28ms, Average = 19ms
第一臺(tái)TTL 為118,則基本可以判斷這是一臺(tái)Windows 機(jī)器,從我的機(jī)器到這臺(tái)機(jī)器經(jīng)過(guò)了10個(gè)節(jié)點(diǎn),因?yàn)?28-118=10 而第二臺(tái)應(yīng)該是臺(tái)Linux ,理由一樣64-54=10
了解了上面的東西,可能有人會(huì)有一些疑問(wèn),例如以下:
1,不是說(shuō)包可能走很多路徑嗎,為什么我看到的4個(gè)包TTL 都是一樣的,沒(méi)有出現(xiàn)不同
這是由于包經(jīng)過(guò)的路徑是經(jīng)過(guò)了一些最優(yōu)選擇算法來(lái)定下來(lái)的,在網(wǎng)絡(luò)拓?fù)浞€(wěn)定一段時(shí)間后,包的路由路徑也會(huì)相對(duì)穩(wěn)定在一個(gè)最短路徑上 具體怎么算出來(lái)的要去研究路由算法了,不在討論之列
2,對(duì)于上面例子第二臺(tái)機(jī)器,為什么不認(rèn)為它是經(jīng)過(guò)了74個(gè)節(jié)點(diǎn)的Windows 機(jī)器 因?yàn)?28-74=54
對(duì)于這個(gè)問(wèn)題,我們要引入另外一個(gè)很好的ICMP 協(xié)議工具 不過(guò)首先要聲明的是,一個(gè)包經(jīng)過(guò)74個(gè)節(jié)點(diǎn)這個(gè)有些恐怖,這樣的路徑還是不用為好
要介紹的這個(gè)工具是tracert *nix下為traceroute ,讓我們來(lái)看對(duì)上面的第二臺(tái)機(jī)器用這個(gè)命令的結(jié)果
D:Documents and Settingshx>tracert 61 152 104 40
Tracing route to 61 152 104 40 over a maximum of 30 hops
,1 13 ms 16 ms 9 ms 10 120 32 1
2 9 ms 9 ms 11 ms 219 233 244 105
3 12 ms 10 ms 10 ms 219 233 238 173
4 15 ms 15 ms 17 ms 219 233 238 13
5 14 ms 19 ms 19 ms 202 96 222 73
6 14 ms 17 ms 13 ms 202 96 222 121
7 14 ms 15 ms 14 ms 61 152 81 86
8 15 ms 14 ms 13 ms 61 152 87 162
9 16 ms 16 ms 28 ms 61 152 99 26
10 12 ms 13 ms 18 ms 61 152 99 94
11 14 ms 18 ms 16 ms 61 152 104 40
Trace complete
從這個(gè)命令的結(jié)果能夠看到從我的機(jī)器到服務(wù)器所走的路由,確實(shí)是11個(gè)節(jié)點(diǎn) 上面說(shuō)10個(gè)好像是我犯了忘了算0的錯(cuò)誤了,應(yīng)該是64-54 1,嘿嘿 ,而不是128的TTL 經(jīng)過(guò)了70多個(gè)節(jié)點(diǎn)
既然已經(jīng)說(shuō)到這里了,不妨順便說(shuō)說(shuō)關(guān)于這兩個(gè)ICMP 命令的高級(jí)一點(diǎn)的東西
首先是ping 命令,其實(shí)ping 有這樣一個(gè)參數(shù),可以無(wú)視操作系統(tǒng)默認(rèn)TTL 值而使用自己定義的值來(lái)發(fā)送ICMP Request包
例如還是用那臺(tái)Linux 機(jī)器,用以下命令:
D:Documents and Settingshx>ping 61 152 104 40 -i 11
Pinging 61 152 104 40 with 32 bytes of data:
Reply from 61 152 104 40: bytes=32 time=10ms TTL=54
Reply from 61 152 104 40: bytes=32 time=13ms TTL=54
Reply from 61 152 104 40: bytes=32 time=10ms TTL=54
Reply from 61 152 104 40: bytes=32 time=13ms TTL=54
Ping statistics for 61 152 104 40:
Packets: Sent = 4, Received = 4, Lost = 0 0 loss ,
Approximate round trip times in milli-seconds:
Minimum = 10ms, Maximum = 13ms, Average = 11ms
D:Documents and Settingshx>
這個(gè)命令我們定義了發(fā)包的TTL 為11,而前面我們知道,我到這臺(tái)服務(wù)器是要經(jīng)過(guò)11個(gè)節(jié)點(diǎn)的,所以這個(gè)輸出和以前沒(méi)什么不同 現(xiàn)在再用這個(gè)試試看:
D:Documents and Settingshx>ping 61 152 104 40 -i 10
Pinging 61 152 104 40 with 32 bytes of data:
Reply from 61 152 99 94: TTL expired in transit
,Reply from 61 152 99 94: TTL expired in transit
Reply from 61 152 99 94: TTL expired in transit
Reply from 61 152 99 94: TTL expired in transit
Ping statistics for 61 152 104 40:
Packets: Sent = 4, Received = 4, Lost = 0 0 loss ,
Approximate round trip times in milli-seconds:
Minimum = 0ms, Maximum = 0ms, Average = 0ms
D:Documents and Settingshx>
可以看到,結(jié)果不一樣了,我定義了TTL 為10來(lái)發(fā)包,結(jié)果是TTL expired in transit 就是說(shuō)在到達(dá)服務(wù)器之前這個(gè)包的生命周期就結(jié)束了 注意看這句話前面的ip ,這個(gè)ip 恰好是我們前面tracert 結(jié)果到服務(wù)器之前的最后1個(gè)ip ,包的TTL 就是在這里減少到0了,根據(jù)我們前面的討論,當(dāng)TTL 減為0時(shí)設(shè)備會(huì)丟棄包并發(fā)送一個(gè)TTL 過(guò)期的ICMP 反饋給源地址,這里的結(jié)果就是最好的證明
通過(guò)這里再次又證明了從我機(jī)器到服務(wù)器是經(jīng)過(guò)了11個(gè)節(jié)點(diǎn)而不是70多個(gè),呵呵
最后再鞏固一下知識(shí),有人可能覺(jué)得tracer 這個(gè)命令很神奇,可以發(fā)現(xiàn)一個(gè)包所經(jīng)過(guò)的路由路徑 其實(shí)這個(gè)命令的原理就在我們上面的討論中
想象一下,如果我給目的服務(wù)器發(fā)送一個(gè)TTL 為1的包,結(jié)果會(huì)怎樣
根據(jù)前面的討論,在包港出發(fā)的第一個(gè)節(jié)點(diǎn),TTL 就會(huì)減少為0,這時(shí)這個(gè)節(jié)點(diǎn)就會(huì)回應(yīng)TTL 失效的反? 飧齷賾Π 松璞副舊淼膇p 地址,這樣我們就得到了路由路徑的第一個(gè)節(jié)點(diǎn)的地址
因此,我們繼續(xù)發(fā)送TTL=2的包,也就受到第二個(gè)節(jié)點(diǎn)的TTL 失效回應(yīng)
依次類推,我們一個(gè)一個(gè)的發(fā)現(xiàn),當(dāng)最終返回的結(jié)果不是TTL 失效而是ICMP Response的時(shí)候,我們的tracert 也就結(jié)束了,就是這么簡(jiǎn)單
順便補(bǔ)一句ping 命令還有個(gè)-n 的參數(shù)指定要發(fā)包的數(shù)量,指定了這個(gè)數(shù)字就會(huì)按照你的要求來(lái)發(fā)包了而不是默認(rèn)的4個(gè)包 如果使用-t 參數(shù)的話,命令會(huì)一直發(fā)包直到你強(qiáng)行中止它
ping 的后臺(tái)執(zhí)行過(guò)程
就以這樣一個(gè)網(wǎng)絡(luò)作為例子:假設(shè)有A 、B 、C 、D 四臺(tái)機(jī)器,一臺(tái)路由RA ,子網(wǎng)掩碼均為255.255.255.0,默認(rèn)網(wǎng)關(guān)是192.168.0.1。
1. 同一網(wǎng)段
我們來(lái)看一下在A 主機(jī)上執(zhí)行“Ping 192.168.0.5”后,都發(fā)生了些什么。首先,Ping 會(huì)通知系統(tǒng)建立一個(gè)固定格式的ICMP 請(qǐng)求數(shù)據(jù)包,然后由ICMP 協(xié)議打包這個(gè)數(shù)據(jù)包和地址
,“192.168.0.5”轉(zhuǎn)交給IP 層協(xié)議(一組后臺(tái)運(yùn)行的進(jìn)程,與ICMP 類似),IP 層協(xié)議將以地址“192.168.0.5”作為目的地址,本機(jī)IP 地址作為源地址,加上一些其他的控制信息,構(gòu)建一個(gè)IP 數(shù)據(jù)包,并想辦法得到192.168.0.5的MAC 地址(物理地址,這是數(shù)據(jù)鏈路層協(xié)議構(gòu)建數(shù)據(jù)鏈路層的傳輸單元——幀所必需的),以便交給數(shù)據(jù)鏈路層構(gòu)建一個(gè)數(shù)據(jù)幀。關(guān)鍵就在這里,IP 層協(xié)議通過(guò)機(jī)器B 的IP 地址和自己的子網(wǎng)掩碼,發(fā)現(xiàn)它跟自己屬同一網(wǎng)絡(luò),就直接在本網(wǎng)絡(luò)內(nèi)查找這臺(tái)機(jī)器的MAC ,如果以前兩機(jī)有過(guò)通信,在A 機(jī)的ARP 緩存表應(yīng)該有B 機(jī)IP 與其MAC 的映射關(guān)系,如果沒(méi)有,就發(fā)一個(gè)ARP 請(qǐng)求廣播,得到B 機(jī)的MAC ,一并交給數(shù)據(jù)鏈路層。后者構(gòu)建一個(gè)數(shù)據(jù)幀,目的地址是IP 層傳過(guò)來(lái)的物理地址,源地址則是本機(jī)的物理地址,還要附加上一些控制信息,依據(jù)以太網(wǎng)的介質(zhì)訪問(wèn)規(guī)則,將它們傳送出去。
主機(jī)B 收到這個(gè)數(shù)據(jù)幀后,先檢查它的目的地址,并和本機(jī)的物理地址對(duì)比,如符合,則接收;否則丟棄。接收后檢查該數(shù)據(jù)幀,將IP 數(shù)據(jù)包從幀中提取出來(lái),交給本機(jī)的IP 層協(xié)議。同樣,IP 層檢查后,將有用的信息提取后交給ICMP 協(xié)議,后者處理后,馬上構(gòu)建一個(gè) ICMP 應(yīng)答包,發(fā)送給主機(jī)A ,其過(guò)程和主機(jī)A 發(fā)送ICMP 請(qǐng)求包到主機(jī)B 一模一樣。
2. 不同網(wǎng)段
在主機(jī)A 上執(zhí)行 “Ping 192.168.1.4”后,開(kāi)始跟上面一樣,到了怎樣得到MAC 地址時(shí),IP 協(xié)議通過(guò)計(jì)算發(fā)現(xiàn)D 機(jī)與自己不在同一網(wǎng)段內(nèi),就直接將交由路由處理,也就是將路由的MAC 取過(guò)來(lái),至于怎樣得到路由的MAC ,跟上面一樣,先在ARP 緩存表找,找不到可以利用廣播。路由得到這個(gè)數(shù)據(jù)幀后,再跟主機(jī)D 進(jìn)行聯(lián)系,如果找不到,就向主機(jī)A 返回一個(gè)超時(shí)的信息。
3、ping 結(jié)果分析
ping 的結(jié)果分兩種,正常的結(jié)果,表明連接性良好,如下:
Pinging 202.105.136.105 with 32 bytes of data:
Reply from 202.105.136.105: bytes=32 time=590ms TTL=114
Reply from 202.105.136.105: bytes=32 time=590ms TTL=114
Reply from 202.105.136.105: bytes=32 time=590ms TTL=114
Reply from 202.105.136.105: bytes=32 time=601ms TTL=114
Ping statistics for 202.105.136.105:
Packets: Sent = 4, Received = 4, Lost = 0 (0 loss),
Approximate round trip times in milli-seconds:
Minimum = 590ms, Maximum = 601ms, Average = 593ms
還有就是不正常的結(jié)果,也就是說(shuō)設(shè)備之間的連接性不好。這些結(jié)果有:
Request Timed Out
Destination Net Unreachable
Bad IP address
Source quench received
Unknown host
,No answer
no rout to host
transmit failed,error code:10043
unknown host name
一般我們常遇到的是前四種情況。
轉(zhuǎn)載請(qǐng)注明自:貝貝實(shí)驗(yàn)室(www.bblab.cn ),謝謝合作! 《ping 命令詳解、過(guò)程、結(jié)果分析》 原文地址:http://www.bblab.cn/post/151.html