ping發(fā)出的是什么報(bào)文?ping是什么協(xié)議?對(duì)于大部分的人來(lái)說(shuō),很多其實(shí)是不知道的,下面小編就給大家詳細(xì)的解答下這個(gè)問(wèn)題。
應(yīng)用程序PING 發(fā)出的是ICMP 應(yīng)答報(bào)文。
ping命令使用的是ICMP協(xié)議,它發(fā)送icmp回送請(qǐng)求消息給目的主機(jī)。ICMP協(xié)議規(guī)定:目的主機(jī)必須返回ICMP回送應(yīng)答消息給源主機(jī)。如果源主機(jī)在一定時(shí)間內(nèi)收到應(yīng)答,則認(rèn)為主機(jī)可達(dá)。 Ping位于用戶層,一般用來(lái)測(cè)試一臺(tái)主機(jī)是否可達(dá),該程序發(fā)送一份ICMP回顯請(qǐng)求報(bào)文給主機(jī),并等待返回ICMP回顯應(yīng)答。
ICMP協(xié)議的功能主要有:
1、確認(rèn)IP包是否成功到達(dá)目標(biāo)地址;
2、通知在發(fā)送過(guò)程中IP包被丟棄的原因。
ICMP是基于IP協(xié)議工作的,但是它并不是傳輸層的功能,因此仍然把它歸結(jié)為網(wǎng)絡(luò)層協(xié)議。ICMP只能搭配IPv4使用,如果是IPv6的情況下, 需要是用ICMPv6。ICMP大概分為兩類報(bào)文:一類是通知出錯(cuò)原因 ;一類是用于診斷查詢。
常見(jiàn)的ICMP報(bào)文:
響應(yīng)請(qǐng)求
我們用的ping操作中就包括了響應(yīng)請(qǐng)求(類型字段值為8)和應(yīng)答(類型字段值為0)ICMP報(bào)文。
過(guò)程:
一臺(tái)主機(jī)向一個(gè)節(jié)點(diǎn)發(fā)送一個(gè)類型字段值為8的ICMP報(bào)文,如果途中沒(méi)有異常(如果沒(méi)有被路由丟棄,目標(biāo)不回應(yīng)ICMP或者傳輸失敗),則目標(biāo)返回類型字段值為0的ICMP報(bào)文,說(shuō)明這臺(tái)主機(jī)存在。
時(shí)間戳請(qǐng)求
時(shí)間戳請(qǐng)求報(bào)文(類型值字段13)和時(shí)間戳應(yīng)答報(bào)文(類型值字段14)用于測(cè)試兩臺(tái)主機(jī)之間數(shù)據(jù)報(bào)來(lái)回一次的傳輸時(shí)間。
傳輸時(shí),主機(jī)填充原始時(shí)間戳,接受方收到請(qǐng)求后填充接受時(shí)間戳后以類型值字段14的報(bào)文格式返回,發(fā)送方計(jì)算這個(gè)時(shí)間差。 |