網(wǎng)絡(luò)協(xié)議補(bǔ)完計(jì)劃--ICMP協(xié)議

目錄

  • 前言
  • ICMP協(xié)議概述
  • ICMP協(xié)議實(shí)現(xiàn)原理
  • ICMP數(shù)據(jù)包的格式
  • 常見的ICMP報(bào)文
  • 參考資料

前言

參照清華大學(xué)出版社-羅軍周主編的《TCP/IP協(xié)議及網(wǎng)絡(luò)編程技術(shù)》進(jìn)行學(xué)習(xí)胎挎。
本篇主要參考第五章:《ICMP協(xié)議》
用于測(cè)試網(wǎng)絡(luò)或者檢測(cè)IP數(shù)據(jù)包傳輸過程中的各種錯(cuò)誤皂林、并通知源地址趟脂。


ICMP協(xié)議概述

因?yàn)镮P協(xié)議是不可靠的傳輸服務(wù)荣暮、因此源地址發(fā)出的IP數(shù)據(jù)包很可能無法達(dá)到目標(biāo)地址(目標(biāo)地址不存在挽鞠、過程中某鏈路中斷等)既峡。
這時(shí)ICMP協(xié)議就能檢測(cè)IP數(shù)據(jù)包傳輸過程中的各種錯(cuò)誤预茄、并通知源地址隔显。
需要注意的是:ICMP被動(dòng)觸發(fā)一定是出錯(cuò)崎溃、但主動(dòng)觸發(fā)可能是測(cè)試蜻直。(比如type = 13/14 type = 8/0)


ICMP協(xié)議實(shí)現(xiàn)原理

讓發(fā)現(xiàn)錯(cuò)誤的路由器、向數(shù)據(jù)包的(通過IP數(shù)據(jù)包的信息獲取)源主機(jī)地址發(fā)送一個(gè)ICMP數(shù)據(jù)包袁串、并且通過ICMP數(shù)據(jù)包報(bào)告出錯(cuò)的原因袭蝗。

需要注意的是。ICMP協(xié)議是IP協(xié)議的補(bǔ)充般婆、ICMP與IP協(xié)議位于同一個(gè)層 次(IP層)到腥,但ICMP報(bào)文是封裝在IP數(shù)據(jù)報(bào)的數(shù)據(jù)部分進(jìn)行傳輸?shù)?/em>。但是蔚袍、這次IP傳輸如果出錯(cuò)乡范、ICMP協(xié)議規(guī)定、將廢棄這次ICMP發(fā)送啤咽。


ICMP數(shù)據(jù)包的格式

格式

5-1

報(bào)文種類:

ICMP報(bào)文雖然細(xì)分為很多類晋辆,但總的來看可以分為如圖所示的三大 類:差錯(cuò)報(bào)告、控制報(bào)文和請(qǐng)求應(yīng)答報(bào)文宇整。


5-2

類型

  • 0 響應(yīng)應(yīng)答(ECHO-REPLY)

  • 3 不可到達(dá)


    5-3
  • 4 源抑制

  • 5 重定向

  • 8 響應(yīng)請(qǐng)求(ECHO-REQUEST)

  • 11 超時(shí)

  • 12 參數(shù)失靈

  • 13 時(shí)間戳請(qǐng)求

  • 14 時(shí)間戳應(yīng)答

  • 15 信息請(qǐng)求(*已作廢)

  • 16 信息應(yīng)答(*已作廢)

  • 17 地址掩碼請(qǐng)求

  • 18 地址掩碼應(yīng)答

下面是幾種常見的ICMP報(bào)文:

  • 響應(yīng)請(qǐng)求

我們?nèi)粘J褂米疃嗟膒ing瓶佳,就是響應(yīng)請(qǐng)求(Type=8)和應(yīng)答(Type=0),一臺(tái)主機(jī)向一個(gè)節(jié)點(diǎn)發(fā)送一個(gè)Type=8的ICMP報(bào)文鳞青,如果途中沒有異常(例如被路由器丟棄霸饲、目標(biāo)不回應(yīng)ICMP或傳輸失敗)臂拓,則目標(biāo)返回Type=0的ICMP報(bào)文厚脉,說明這臺(tái)主機(jī)存在,更詳細(xì)的tracert通過計(jì)算ICMP報(bào)文通過的節(jié)點(diǎn)來確定主機(jī)與目標(biāo)之間的網(wǎng)絡(luò)距離胶惰。

  • 目標(biāo)不可到達(dá)傻工、源抑制和超時(shí)報(bào)文

這三種報(bào)文的格式是一樣的:
目標(biāo)不可到達(dá)報(bào)文(Type=3)在路由器或主機(jī)不能傳遞數(shù)據(jù)報(bào)時(shí)使用,例如我們要連接對(duì)方一個(gè)不存在的系統(tǒng)端口(端口號(hào)小于1024)時(shí)孵滞,將返回Type=3中捆、Code=3的ICMP報(bào)文,它要告訴我們:“嘿坊饶,別連接了泄伪,我不在家的!”幼东,常見的不可到達(dá)類型還有網(wǎng)絡(luò)不可到達(dá)(Code=0)臂容、主機(jī)不可到達(dá)(Code=1)、協(xié)議不可到達(dá)(Code=2)等根蟹。
源抑制則充當(dāng)一個(gè)控制流量的角色脓杉,它通知主機(jī)減少數(shù)據(jù)報(bào)流量,由于ICMP沒有恢復(fù)傳輸?shù)膱?bào)文简逮,所以只要停止該報(bào)文球散,一定時(shí)間后主機(jī)就會(huì)逐漸恢復(fù)傳輸速率。
無連接方式網(wǎng)絡(luò)的問題就是數(shù)據(jù)報(bào)文丟失散庶,或者長(zhǎng)時(shí)間在網(wǎng)絡(luò)游蕩而找不到目標(biāo)蕉堰,或者擁塞導(dǎo)致主機(jī)在規(guī)定時(shí)間內(nèi)無法重組數(shù)據(jù)報(bào)分段,這時(shí)就要觸發(fā)ICMP超時(shí)報(bào)文的產(chǎn)生悲龟。超時(shí)報(bào)文的代碼域有兩種取值:Code=0表示傳輸超時(shí)屋讶,Code=1表示重組分段超時(shí)。

  • 時(shí)間戳

時(shí)間戳請(qǐng)求報(bào)文(Type=13)和時(shí)間戳應(yīng)答報(bào)文(Type=14)用于測(cè)試兩臺(tái)主機(jī)之間數(shù)據(jù)報(bào)來回一次的傳輸時(shí)間须教。傳輸時(shí)皿渗,主機(jī)填充原始時(shí)間戳,接收方收到請(qǐng)求后填充接收時(shí)間戳后以Type=14的報(bào)文格式返回轻腺,發(fā)送方計(jì)算這個(gè)時(shí)間差乐疆。一些系統(tǒng)不響應(yīng)這種報(bào)文。

  • 關(guān)于最后一個(gè)字段

對(duì)于由于錯(cuò)誤被動(dòng)生成的ICMP報(bào)文中還需要加上源IP數(shù)據(jù)包的IP頭部以及數(shù)據(jù)部分的前64位贬养、以源主機(jī)方便定位挤土。
例如:3、不可到達(dá)误算。4仰美、源抑制。5儿礼、重定向筒占。11、超時(shí)蜘犁。12翰苫、參數(shù)失靈。


參考資料

ICMP數(shù)據(jù)包結(jié)構(gòu)
分析ICMP協(xié)議數(shù)據(jù)包格式

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末这橙,一起剝皮案震驚了整個(gè)濱河市奏窑,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌屈扎,老刑警劉巖埃唯,帶你破解...
    沈念sama閱讀 217,509評(píng)論 6 504
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異鹰晨,居然都是意外死亡墨叛,警方通過查閱死者的電腦和手機(jī)止毕,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,806評(píng)論 3 394
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來漠趁,“玉大人扁凛,你說我怎么就攤上這事〈炒” “怎么了谨朝?”我有些...
    開封第一講書人閱讀 163,875評(píng)論 0 354
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)甥绿。 經(jīng)常有香客問我字币,道長(zhǎng),這世上最難降的妖魔是什么共缕? 我笑而不...
    開封第一講書人閱讀 58,441評(píng)論 1 293
  • 正文 為了忘掉前任洗出,我火速辦了婚禮,結(jié)果婚禮上图谷,老公的妹妹穿的比我還像新娘共苛。我一直安慰自己,他們只是感情好蜓萄,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,488評(píng)論 6 392
  • 文/花漫 我一把揭開白布隅茎。 她就那樣靜靜地躺著,像睡著了一般嫉沽。 火紅的嫁衣襯著肌膚如雪辟犀。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 51,365評(píng)論 1 302
  • 那天绸硕,我揣著相機(jī)與錄音堂竟,去河邊找鬼。 笑死玻佩,一個(gè)胖子當(dāng)著我的面吹牛出嘹,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播咬崔,決...
    沈念sama閱讀 40,190評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼税稼,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了垮斯?” 一聲冷哼從身側(cè)響起郎仆,我...
    開封第一講書人閱讀 39,062評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎兜蠕,沒想到半個(gè)月后扰肌,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 45,500評(píng)論 1 314
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡熊杨,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,706評(píng)論 3 335
  • 正文 我和宋清朗相戀三年曙旭,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了盗舰。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點(diǎn)故事閱讀 39,834評(píng)論 1 347
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡桂躏,死狀恐怖钻趋,靈堂內(nèi)的尸體忽然破棺而出,到底是詐尸還是另有隱情沼头,我是刑警寧澤,帶...
    沈念sama閱讀 35,559評(píng)論 5 345
  • 正文 年R本政府宣布书劝,位于F島的核電站进倍,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏购对。R本人自食惡果不足惜猾昆,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,167評(píng)論 3 328
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望骡苞。 院中可真熱鬧垂蜗,春花似錦、人聲如沸解幽。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,779評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽躲株。三九已至片部,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間霜定,已是汗流浹背档悠。 一陣腳步聲響...
    開封第一講書人閱讀 32,912評(píng)論 1 269
  • 我被黑心中介騙來泰國(guó)打工, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留望浩,地道東北人辖所。 一個(gè)月前我還...
    沈念sama閱讀 47,958評(píng)論 2 370
  • 正文 我出身青樓,卻偏偏與公主長(zhǎng)得像磨德,于是被迫代替她去往敵國(guó)和親缘回。 傳聞我的和親對(duì)象是個(gè)殘疾皇子,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,779評(píng)論 2 354