ICMP 概念


前言

打算從新整理網絡這一塊,那么我先把概念整理下來。

正文

ICMP是ip的一個組成。他傳遞差錯報文以及其他需要注意的信息。主要用於反饋一些網絡傳輸的問題。因為ip協議很容易丟包,那么icmp可以告訴我們的進程到底為什么丟。

然后再細看一下icmp內部:

8位類型表示什么類型的icmp。

然后代碼位是在前面類型的細分。

判斷是什么樣的icmp,需要去查詢icmp表。

icmp 有兩種報文,一種是查詢類,比如說ping就是查詢類,判斷有沒有通。

那么icmp包括什么內容呢?icmp包括原來發送包的ip首部和ip首部后面的8個字節。

ip首部是為了告訴到底是哪個包出現問題了,然后8個字節是因為tcp或者udp,他們的前面8個字節存放了他們應用程序端口的信息,這個時候操作系統才能給那個應用程序去處理。

icmp什么時候不會產生差錯報文?

1.icmp報文如果出錯了不會產生差錯報文,所以不要完全指望icmp一定會給我們寫的程序信息。

2.目的地址是廣播地址。

3.作為鏈路層的廣播的數據報。

4.不能作為ip的第一分片。因為如果不是ip的第一分片,里面是沒有端口號的,那么發給原主機沒有用。

5.源地址不能是本身主機。

然后后面16位是驗證icmp有沒有損失,這個校驗損失不僅校驗頭部,同樣校驗數據,和ip協議那個16位不同,ip協議只校驗頭部有沒有丟。

好的,看個例子吧。

上面類型是3,代碼類型是3。類型是3是不可達,代碼類型是端口不可達,事實上你查表即可。

看下icmp里面的內容是什么。

上面包含了原來發送的ip頭部和udp的端口號。

icmp就是這么回事,在工作中我們多用用查查自然就明白了。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM