国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開(kāi)APP
userphoto
未登錄

開(kāi)通VIP,暢享免費(fèi)電子書(shū)等14項(xiàng)超值服

開(kāi)通VIP
《網(wǎng)絡(luò)協(xié)議》ICMP 協(xié)議

http://blog.csdn.net/chenhanzhun/article/details/41510629

2014

ICMP 協(xié)議概述

        ICMP 經(jīng)常被認(rèn)為是 IP 層的一個(gè)組成部分,它傳遞差錯(cuò)報(bào)文以及其他需要注意的信息。ICMP 報(bào)文通常被 IP 層或更高層協(xié)議(TCP 或 UDP)使用。ICMP 報(bào)文是在 IP 數(shù)據(jù)報(bào)內(nèi)部傳輸?shù)?。IP 協(xié)議是不可靠協(xié)議,不能保證 IP 數(shù)據(jù)報(bào)能夠成功的到達(dá)目的主機(jī),無(wú)法進(jìn)行差錯(cuò)控制,而 ICMP 協(xié)議能夠協(xié)助 IP 協(xié)議完成這些功能。下面是 ICMP 報(bào)文的數(shù)據(jù)結(jié)構(gòu)

  1. 類(lèi)型:一個(gè) 8 位類(lèi)型字段,表示 ICMP 數(shù)據(jù)包類(lèi)型;
  2. 代碼:一個(gè) 8 位代碼域,表示指定類(lèi)型中的一個(gè)功能,如果一個(gè)類(lèi)型中只有一種功能,代碼域置為 0;
  3. 檢驗(yàn)和:數(shù)據(jù)包中 ICMP 部分上的一個(gè) 16 位檢驗(yàn)和;



ICMP 報(bào)文類(lèi)型

       ICMP 報(bào)文大致可分為兩類(lèi):差錯(cuò)報(bào)文、查詢(xún)報(bào)文。具體消息類(lèi)型如下表所示:



ICMP 差錯(cuò)報(bào)文

         當(dāng)發(fā)送一份差錯(cuò)報(bào)文時(shí),報(bào)文始終包含 IP 的首部和產(chǎn)生 ICMP 差錯(cuò)報(bào)文的 IP 數(shù)據(jù)報(bào)的前 8 位字節(jié)。這樣,接收 ICMP 差錯(cuò)報(bào)文的模塊就會(huì)把它與某個(gè)特定的協(xié)議(根據(jù) IP 數(shù)據(jù)報(bào)首部中的協(xié)議字段來(lái)判斷)和用戶(hù)進(jìn)程(根據(jù)包含在 IP 數(shù)據(jù)報(bào)前 8 個(gè)字節(jié)中的 TCP 或 UDP 報(bào)文首部中的 TCP 或 UDP 端口號(hào)來(lái)判斷)聯(lián)系起來(lái)。

        下面各種情況不會(huì)導(dǎo)致產(chǎn)生 ICMP 差錯(cuò)報(bào)文:

  1. ICMP 報(bào)文差錯(cuò)(ICMP查詢(xún)報(bào)文可能會(huì)產(chǎn)生ICMP差錯(cuò)報(bào)文);
  2. 目的地址是廣播地址或多播地址的 IP 數(shù)據(jù)報(bào);
  3. 作為鏈路層廣播的數(shù)據(jù)報(bào);
  4. 不是 IP 分片的第一片;
  5. 源地址不是單個(gè)主機(jī)的數(shù)據(jù)報(bào),也就是說(shuō),源地址不可能是零地址、環(huán)回地址、廣播地址或多播地址;

以下針對(duì) ICMP 差錯(cuò)報(bào)文的類(lèi)型進(jìn)行分析:

  1. ICMP 目標(biāo)不可達(dá)消息:IP 路由器無(wú)法將 IP 數(shù)據(jù)報(bào)發(fā)送給目的地址時(shí),會(huì)給發(fā)送端主機(jī)返回一個(gè)目標(biāo)不可達(dá) ICMP 消息,并在這個(gè)消息中顯示不可達(dá)的具體原因。
  2. ICMP 重定向消息:如果路由器發(fā)現(xiàn)發(fā)送端主機(jī)使用次優(yōu)的路徑發(fā)送數(shù)據(jù)時(shí),那么它會(huì)返回一個(gè) ICMP 重定向消息給這個(gè)主機(jī),這個(gè)消息包含了最合適的路由信息和源數(shù)據(jù)。主要發(fā)生在路由器持有更好的路由信息的情況下,路由器會(huì)通過(guò)這個(gè) ICMP 重定向消息給發(fā)送端主機(jī)一個(gè)更合適的發(fā)送路由。
  3. ICMP 超時(shí)消息:IP 數(shù)據(jù)包中有一個(gè)字段 TTL(Time to live,生存周期),它的值隨著每經(jīng)過(guò)一個(gè)路由器就會(huì)減 1,直到減到 0 時(shí)該 IP 數(shù)據(jù)包被丟棄。此時(shí),IP 路由器將發(fā)送一個(gè) ICMP 超時(shí)消息給發(fā)送端主機(jī),并通知該包已被丟棄。 
  4. 源抑制消息:當(dāng) TCP/IP 主機(jī)發(fā)送數(shù)據(jù)到另一主機(jī)時(shí),如果速度達(dá)到路由器或者鏈路的飽和狀態(tài),路由器發(fā)出一個(gè) ICMP 源抑制消息。


ICMP 查詢(xún)報(bào)文

----ICMP 回送消息:用于進(jìn)行通信的主機(jī)或路由之間,判斷發(fā)送數(shù)據(jù)包是否成功到達(dá)對(duì)端的消息。可以向?qū)Χ酥鳈C(jī)發(fā)送回送請(qǐng)求消息,也可以接收對(duì)端主機(jī)回來(lái)的回送應(yīng)答消息。

----ICMP 地址掩碼消息:主要用于主機(jī)或路由想要了解子網(wǎng)掩碼的情況??梢韵蚰切┲鳈C(jī)或路由器發(fā)送 ICMP 地址掩碼請(qǐng)求消息,然后通過(guò)接收 ICMP 地址掩碼應(yīng)答消息獲取子網(wǎng)掩碼信息。

----ICMP 時(shí)間戳消息:可以向那些主機(jī)或路由器發(fā)送 ICMP 時(shí)間戳請(qǐng)求消息,然后通過(guò)接收 ICMP 時(shí)間戳應(yīng)答消息獲取時(shí)間信息。


Ping 程序

         Ping 程序利用 ICMP 回顯請(qǐng)求報(bào)文和回顯應(yīng)答報(bào)文(而不用經(jīng)過(guò)傳輸層)來(lái)測(cè)試目標(biāo)主機(jī)是否可達(dá)。它是一個(gè)檢查系統(tǒng)連接性的基本診斷工具。

        ICMP 回顯請(qǐng)求和 ICMP 回顯應(yīng)答報(bào)文是配合工作的。當(dāng)源主機(jī)向目標(biāo)主機(jī)發(fā)送了 ICMP 回顯請(qǐng)求數(shù)據(jù)包后,它期待著目標(biāo)主機(jī)的回答。目標(biāo)主機(jī)在收到一個(gè) ICMP 回顯請(qǐng)求數(shù)據(jù)包后,它會(huì)交換源、目的主機(jī)的地址,然后將收到的 ICMP 回顯請(qǐng)求數(shù)據(jù)包中的數(shù)據(jù)部分原封不動(dòng)地封裝在自己的 ICMP 回顯應(yīng)答數(shù)據(jù)包中,然后發(fā)回給發(fā)送 ICMP 回顯請(qǐng)求的一方。如果校驗(yàn)正確,發(fā)送者便認(rèn)為目標(biāo)主機(jī)的回顯服務(wù)正常,也即物理連接暢通。

        例如:在終端上 Ping 下谷歌的地址,神奇的發(fā)現(xiàn)谷歌地址既然不用翻墻都能上了,而且丟包率 0%。

  1. $ ping www.google.com  
  2. PING www.google.com (173.194.127.148) 56(84) bytes of data.  
  3. 64 bytes from hkg03s13-in-f20.1e100.net (173.194.127.148): icmp_req=1 ttl=48 time=11.0 ms  
  4. 64 bytes from hkg03s13-in-f20.1e100.net (173.194.127.148): icmp_req=2 ttl=48 time=10.8 ms  
  5. 64 bytes from hkg03s13-in-f20.1e100.net (173.194.127.148): icmp_req=3 ttl=48 time=11.1 ms  
  6. 64 bytes from hkg03s13-in-f20.1e100.net (173.194.127.148): icmp_req=4 ttl=48 time=10.8 ms  
  7. 64 bytes from hkg03s13-in-f20.1e100.net (173.194.127.148): icmp_req=5 ttl=48 time=11.1 ms  
  8. 64 bytes from hkg03s13-in-f20.1e100.net (173.194.127.148): icmp_req=6 ttl=48 time=11.0 ms  
  9. 64 bytes from hkg03s13-in-f20.1e100.net (173.194.127.148): icmp_req=7 ttl=48 time=10.5 ms  
  10. 64 bytes from hkg03s13-in-f20.1e100.net (173.194.127.148): icmp_req=8 ttl=48 time=9.96 ms  
  11. 64 bytes from hkg03s13-in-f20.1e100.net (173.194.127.148): icmp_req=9 ttl=48 time=10.9 ms  
  12. ^C  
  13. --- www.google.com ping statistics ---  
  14. 9 packets transmitted, 9 received, 0% packet loss, time 8009ms  
  15. rtt min/avg/max/mdev = 9.963/10.830/11.123/0.368 ms  

Traceroute 程序

        Traceroute 程序主要用來(lái)偵測(cè)源主機(jī)到目的主機(jī)之間所經(jīng)過(guò)的路由的情況。

        Traceroute 使用 ICMP 報(bào)文和 IP 首部中的 TTL 字段,它充分利用了 ICMP 超時(shí)消息。其原理很簡(jiǎn)單,開(kāi)始時(shí)發(fā)送一個(gè) TTL 字段為 1 的 UDP 數(shù)據(jù)報(bào),而后每次收到 ICMP 超時(shí)蕭后,按順序再發(fā)送一個(gè) TTL 字段加 1 的 UDP 數(shù)據(jù)報(bào),以確定路徑中的每個(gè)路由器,而每個(gè)路由器在丟棄 UDP 數(shù)據(jù)報(bào)時(shí)都會(huì)返回一個(gè) ICMP 超時(shí)報(bào)文,而最終到達(dá)目的主機(jī)后,由于 ICM P選擇了一個(gè)不可能的值作為 UDP 端口(大于30000)。這樣目的主機(jī)就會(huì)發(fā)送一個(gè)端口不可達(dá)的 ICMP 差錯(cuò)報(bào)文。



參考資料:

《TCP/IP 詳解》

《圖解 TCP/IP》

ICMP協(xié)議、Ping、Traceroute

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶(hù)發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開(kāi)APP,閱讀全文并永久保存 查看更多類(lèi)似文章
猜你喜歡
類(lèi)似文章
TCP/IP詳解學(xué)習(xí)筆記(4)-ICMP協(xié)議,ping和Traceroute
聽(tīng)說(shuō)你 ping 用的很 6?給我圖解一下 ping 的工作原理
ICMP在IPv4和IPv6中的對(duì)比總結(jié)
常用網(wǎng)絡(luò)連通性測(cè)試工具(上)
當(dāng)你「ping 一下」的時(shí)候,你知道它背后的邏輯嗎?
TCP/IP試題庫(kù)1
更多類(lèi)似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服