最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會(huì)員登陸 & 注冊(cè)

一文讀懂ICMP協(xié)議詳解

2022-08-10 20:09 作者:補(bǔ)給站Linux內(nèi)核  | 我要投稿

ICMP協(xié)議詳解

ICMP協(xié)議是一個(gè)網(wǎng)絡(luò)層協(xié)議。 一個(gè)新搭建好的網(wǎng)絡(luò),往往需要先進(jìn)行一個(gè)簡(jiǎn)單的測(cè)試,來(lái)驗(yàn)證網(wǎng)絡(luò)是否暢通;但是IP協(xié)議并不提供可靠傳輸。如果丟包了,IP協(xié)議并不能通知傳輸層是否丟包以及丟包的原因。 所以我們就需要一種協(xié)議來(lái)完成這樣的功能–ICMP協(xié)議。

ICMP協(xié)議的功能

ICMP協(xié)議的功能主要有:

  1. 確認(rèn)IP包是否成功到達(dá)目標(biāo)地址

  2. 通知在發(fā)送過(guò)程中IP包被丟棄的原因 如下圖所示:

我們需要注意幾點(diǎn): 1.ICMP是基于IP協(xié)議工作的,但是它并不是傳輸層的功能,因此仍然把它歸結(jié)為網(wǎng)絡(luò)層協(xié)議 2. ICMP只能搭配IPv4使用,如果是IPv6的情況下, 需要是用ICMPv6

ICMP的報(bào)文格式 ICMP報(bào)文包含在IP數(shù)據(jù)報(bào)中,IP報(bào)頭在ICMP報(bào)文的最前面。一個(gè)ICMP報(bào)文包括IP報(bào)頭(至少20字節(jié))、ICMP報(bào)頭(至少八字節(jié))和ICMP報(bào)文(屬于ICMP報(bào)文的數(shù)據(jù)部分)。當(dāng)IP報(bào)頭中的協(xié)議字段值為1時(shí),就說(shuō)明這是一個(gè)ICMP報(bào)文。ICMP報(bào)頭如下圖所示。 如下圖:



【文章福利】小編推薦自己的Linux內(nèi)核技術(shù)交流群:【891587639】整理了一些個(gè)人覺(jué)得比較好的學(xué)習(xí)書(shū)籍、視頻資料共享在群文件里面,有需要的可以自行添加哦!?。。ê曨l教程、電子書(shū)、實(shí)戰(zhàn)項(xiàng)目及代碼)? ??


字段說(shuō)明:


ICMP大概分為兩類(lèi)報(bào)文: 一類(lèi)是通知出錯(cuò)原因 ;一類(lèi)是用于診斷查詢(xún) 類(lèi)型及含義如下:

常見(jiàn)的ICMP報(bào)文

相應(yīng)請(qǐng)求 我們用的ping操作中就包括了相應(yīng)請(qǐng)求(類(lèi)型字段值為8)和應(yīng)答(類(lèi)型字段值為0)ICMP報(bào)文。 過(guò)程: 一臺(tái)主機(jī)向一個(gè)節(jié)點(diǎn)發(fā)送一個(gè)類(lèi)型字段值為8的ICMP報(bào)文,如果途中沒(méi)有異常(如果沒(méi)有被路由丟棄,目標(biāo)不回應(yīng)ICMP或者傳輸失?。瑒t目標(biāo)返回類(lèi)型字段值為0的ICMP報(bào)文,說(shuō)明這臺(tái)主機(jī)存在。

目標(biāo)不可達(dá),源抑制和超時(shí)報(bào)文 這三種報(bào)文的格式是一樣的。 (1)目標(biāo)不可到達(dá)報(bào)文(類(lèi)型值為3)在路由器或者主機(jī)不能傳遞數(shù)據(jù)時(shí)使用。 例如:我們要連接對(duì)方一個(gè)不存在的系統(tǒng)端口(端口號(hào)小于1024)時(shí),將返回類(lèi)型字段值3、代碼字段值為3的ICMP報(bào)文。 常見(jiàn)的不可到達(dá)類(lèi)型還有網(wǎng)絡(luò)不可到達(dá)(代碼字段值為0)、主機(jī)不可達(dá)到(代碼字段值為1)、協(xié)議不可到達(dá)(代碼字段值為2)等等。 (2)源抑制報(bào)文(類(lèi)型字段值為4,代碼字段值為0)則充當(dāng)一個(gè)控制流量的角色,通知主機(jī)減少數(shù)據(jù)報(bào)流量。由于ICMP沒(méi)有回復(fù)傳輸?shù)膱?bào)文,所以只要停止該報(bào)文,主機(jī)就會(huì)逐漸恢復(fù)傳輸速率。 (3)無(wú)連接方式網(wǎng)絡(luò)的問(wèn)題就是數(shù)據(jù)報(bào)會(huì)丟失,或者長(zhǎng)時(shí)間在網(wǎng)絡(luò)游蕩而找不到目標(biāo),或者擁塞導(dǎo)致主機(jī)在規(guī)定的時(shí)間內(nèi)無(wú)法重組數(shù)據(jù)報(bào)分段,這時(shí)就要觸發(fā)ICMP超時(shí)報(bào)文的產(chǎn)生。 超時(shí)報(bào)文(類(lèi)型字段值為11)的代碼域有兩種取值:代碼字段值為0表示傳輸超時(shí),代碼字段值為1表示分段重組超時(shí)。

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

ping命令

用法如下:

注意, 此處 ping 的是域名,不是url,域名可以通過(guò)DNS解析成IP地址 關(guān)于DNS可見(jiàn)這里寫(xiě)鏈接內(nèi)容

ping命令的功能 (1)能驗(yàn)證網(wǎng)絡(luò)的連通性 (2)會(huì)統(tǒng)計(jì)響應(yīng)時(shí)間和TTL(IP包中的Time To Live,生存周期) 那么如何驗(yàn)證的呢? (1)ping命令會(huì)先發(fā)送一個(gè) ICMP Echo Request給對(duì)端 (2)對(duì)端接收到之后, 會(huì)返回一個(gè)ICMP Echo Reply (3)若沒(méi)有返回,就是超時(shí)了,會(huì)認(rèn)為指定的網(wǎng)絡(luò)地址不存在。

問(wèn)題: telnet是23端口,ssh是22端口,那么ping是什么端口? 答:ping命令是基于ICMP,是在網(wǎng)絡(luò)層。 而端口號(hào),是傳輸層的內(nèi)容。所以在ICMP中根本就不關(guān)注端口號(hào)這樣的信息。

traceroute

traceroute也是基于ICMP協(xié)議實(shí)現(xiàn)的。 功能: 打印出可執(zhí)行程序主機(jī),一直到目標(biāo)主機(jī)之前經(jīng)歷多少路由器。 舉例如下:


一文讀懂ICMP協(xié)議詳解的評(píng)論 (共 條)

分享到微博請(qǐng)遵守國(guó)家法律
盈江县| 福建省| 灌南县| 和田县| 满城县| 甘孜| 晋宁县| 普安县| 丰顺县| 宾川县| 铁力市| 温宿县| 平泉县| 梅河口市| 桃园市| 会同县| 行唐县| 东源县| 桐乡市| 拜城县| 新郑市| 新和县| 玉龙| 三明市| 昂仁县| 将乐县| 南华县| 平度市| 六盘水市| 宁城县| 鹤壁市| 华阴市| 盖州市| 县级市| 巴里| 龙海市| 陆良县| 深泽县| 闸北区| 樟树市| 揭西县|