面試題 ICMP協議簡介

2022-01-25 06:13:35 字數 2467 閱讀 6920

l  icmp網際控制報文協議,通過它可以知道故障的具體原因和位置。

l  由於ip不是為可靠傳輸服務設計的,icmp的目的主要是用於在tcp/ip網路中傳送出錯和控制訊息。

l  icmp的錯誤報告只能通知出錯資料報的源主機,而無法通知從源主機到出錯路由中途所的所有路由器。

l  icmp資料報是封裝在ip資料報中的。

l  網路層的協議有:icmp、igmp、ip、rarp、arp。

l  icmp報文的種類有三種,即icmp差錯報告報文、控制報文、請求/應答報

報告ip資料報在傳輸層中的差錯是icmp報文的最基本的功能,icmp差錯報文有如下特點:

l  icmp差錯報文都是右路由器傳送到源主機的,因為ip資料報中含有源主機的ip位址,報告給源主機是最可行的方案,另外,發出ip資料報的源主機最需要知道資料是否達到目標主機。

l  icmp差錯報文只提供ip資料報在傳輸過程中的差錯報告,並不規定對各類差錯採取什麼樣的處理措施。具體對差錯的處理,由收到icmp差錯報文的源主機將相應的差錯與應用程式聯絡起來才能進行相應的差錯處理。

l  icmp差錯報文不享受任何優先權,也沒有特別的可靠性保證措施,與普通的ip資料報一樣進行傳輸,傳輸過程中可能被丟失、損壞,誰知被拋棄。

l  icmp差錯報文是伴隨著拋棄出錯的ip資料報而產生的。

l  當路由器傳送乙份引數錯誤等的icmp差錯報文時,icmp報文資料區始終包含產生icmp差錯報文的ip資料報的頭部和其資料區的前8個位元組。

l  在有些情況下,為了防止在網路中產生大量的icmp差錯報文(廣播風暴),影響網路的正常工作,即使發生錯誤,也不會產生icmp差錯報文,這些情況包括:

icmp發生差錯。這是為了避免差錯報文無休止產生(但是icmp查詢報文可能產生icmp差錯報文)

目的位址是廣播或者多播位址(d類位址)的ip資料報。

作為鏈路層廣播的資料報

不是ip分片的第一片

原位址不是單個主機的資料報。這就是說,源位址不能為零位址、會送位址、廣播位址或多播位址。

icmp控制報文

l擁塞控制與源站抑制報文

當乙個路由器接收ip資料報的速度比其處理ip資料報的速度快,或者乙個路由器傳入資料報的速率大於傳出資料報的速率時,就會產生擁塞現象。

這時路由器可以通過傳送源站抑制報文來抑制源主機傳送ip資料報的速率,避免可能產生的差錯。

源站抑制技術進行擁塞控制的方法如下

當路由器放生擁塞時,便發出icmp源站抑制報文。

源主機收到抑制報文後,按一定的速率降低發往目標主機的資料傳輸率。

如果在一定時間間隔內源主機沒有收到抑制報文,便認為擁塞已經解除,源主機可以之間恢復到原來資料報的流量。

l路由控制與重定向報文

假如源主機要向目標主機傳送ip資料報,源主機預設路由是路由器1,則源主機先把ip資料報送到路由器1,再由路由器1進行路由選擇。路由器1經過選路後,把ip資料報送到路由器2。

同時路由器1也發現源主機要傳送到目標主機的ip資料報以後可以直接傳送到路由器2(因為路由器1和路由器2在同乙個網路中)則由路由器1向源主機傳送乙個icmp重定向報文,告訴它可以直接把ip資料報送到路由器2。這樣,就使源主機始終保持著乙個動態的、既小且優的路徑表。

l請求與應答報文

典型的有:ping程式使用回顯請求和應答報文來確定一台主機是否可達;tracert(linux下是traceroute)程式來確定通過網路的路由。

n  ping直接使用icmp,沒有使用tcp或udp

n  tracert使用icmp和udp

tracert

命令用 ip 生存時間 (ttl) 欄位和 icmp 錯誤訊息來確定從乙個主機到網路上其他主機的路由(在判斷是否達到目的主機時使用了udp)。

首先,tracert送出乙個ttl是1的ip 資料報到目的地,當路徑上的第乙個路由器收到這個資料報時,它將ttl減1。此時,ttl變為0,所以該路由器會將此資料報丟掉,並送回乙個「icmp time exceeded」訊息(包括發ip包的源位址,ip包的所有內容及路由器的ip位址),tracert 收到這個訊息後,便知道這個路由器存在於這個路徑上,接著tracert 再送出另乙個ttl是2 的資料報,發現第2 個路由器...... tracert 每次將送出的資料報的ttl 加1來發現另乙個路由器,這個重複的動作一直持續到某個資料報 抵達目的地。當資料報到達目的地後,該主機則不會送回icmp time exceeded訊息,一旦到達目的地,由於tracert通過udp資料報向不常見埠(30000以上)傳送資料報,因此會收到「icmp port unreachable」訊息,故可判斷到達目的地。

HTTP協議面試題

1 說一下什麼是http協議?對器客戶端和 伺服器端之間資料傳輸的格式規範,格式簡稱為 超文字傳輸協議 2 什麼是http協議無狀態協議?怎麼解決http協議無狀態協議?曾經去某創業公司問到 3 說一下http協議中302狀態 阿里經常問 4 http協議有什麼組成?請求報文包含三部分 響應報文包含...

Http協議面試題

1 說一下什麼是http協議 http協議,即超文字傳輸協議 hypertext transfer protocol 是一種詳細規定了瀏覽器和全球資訊網 www world wide web 伺服器之間互相通訊的規則,通過網際網路傳送全球資訊網文件的資料傳送協議。2 什麼是http協議無狀態協議?怎...

Http協議面試題

1.什麼http協議 對客戶端和伺服器端之間資料傳輸的格式規範,格式簡稱為 超文字傳輸協議 2.什麼是http協議無狀態協議?怎麼解決http協議無狀態協議?無狀態協議對於事物處理沒有記憶能力。缺少狀態意味著後續的處理需要前面的資訊。無狀態協議的解決辦法 通過1 cookie 2 通過session...