標籤:
1.ICMP允許主機或路由器報告差錯情況和提交有關異常情況的報告;為了更有效地轉寄IP資料報和提高交付成功的機會;
2.ICMP不是高層協議,因為ICMP報文是裝在IP資料報中的,作為其中資料部分,所以是IP層的協議;
3.ICMP報文的種類:
(1)ICMP差錯報告報文
(2)ICMP詢問報文
4.ICMP報文的格式:
(1)前4個位元組是統一的格式,共有三個欄位:類型,代碼,檢驗和;
(2)接著的4位元組,與ICMP的類型有關,最後是資料欄位,其長度取決於ICMP的類型;
5.幾種常用的ICMP報文類型:
**差錯報告報文:
①終點不可達:類型值3,當路由器或主機不能交付資料報時就向源點發送終點不可達報文;
②源點抑制:類型值4,當路由器或主機由於擁塞而丟棄資料報時,就向源點發送源點抑制報文,使源點知道應當把資料報的發送速率放慢;
③時間超過:類型值11,當路由器收到存留時間為零的資料報,除了丟棄該資料報之外,還要向源點發送時間超過報文;當終點在預先規定的時間內不能收到一個資料報的全部資料報片時,就把已收到的資料報片丟棄,並向源點發送時間超過報文;
④參數問題:類型值12,當路由器或目的主機收到的資料報的首部中有的欄位的值不正確時,就丟棄該資料報,並向源點發送參數問題報文;
⑤改變路由(重新導向):類型值5,路由器把改變路由報文發送給主機,讓主機知道下次應將資料報發送給另一個路由器;
⑥所有的ICMP差錯報告報文中的資料欄位都具有同樣的格式,把收到的需要進行差錯報告的IP資料報的首部和資料欄位的前8個位元組提取出來,作為ICMP報文的資料欄位,再加上相應的ICMP差錯報告報文的8個位元組,就構成了ICMP差錯報告報文
**不應發送ICMP差錯報告報文的幾種情況:
①對ICMP差錯報告報文不再發送ICMP差錯報告報文;
②對第一分區的資料報片的所有後續資料報片都不發送ICMP差錯報告報文;
③對具有多播地址的資料報不發送,ICMP差錯報告報文;
④對具有特殊地址(如127.0.0.0或0.0.0.0)的資料報不發送ICMP差錯報告報文;
**詢問報文:
①回送請求或回答:類型值8或10,ICMP回送請求報文是由路由器或主機向一個特定的目的發出的詢問,收到此報文的主機必須給源主機或路由器發送ICMP回送回答報文;這種詢問報文用來測試目的站是否可達以及瞭解其有關狀態;
②時間戳記請求或回答:類型值13或14,ICMP時間戳記請求報文是請某個主機或路由器回答當前的日期和時間;
6.ICMP的應用:
(1)分組網間檢測PING:用來測試兩個主機之間的連通性;PING使用了ICMP回送請求與回送回答報文;PING是應用程式層直接使用網路層ICMP的一個例子;
(2)另一個非常有用的應用是traceroute:用來跟蹤一個分組從源點到終點的路徑;traceroute從源主機向目的發送一連串的IP資料報,資料報中封裝的是無法交付的UDP使用者資料;第一個資料報的存留時間TTL設定為,第二個設定為2,以此類推;得到路由資訊;
2016.7.9 電腦網路複習要點第四章之網際控制報文協議ICMP