ICMP和IGMP協(xié)議.ppt_第1頁
ICMP和IGMP協(xié)議.ppt_第2頁
ICMP和IGMP協(xié)議.ppt_第3頁
ICMP和IGMP協(xié)議.ppt_第4頁
ICMP和IGMP協(xié)議.ppt_第5頁
已閱讀5頁,還剩42頁未讀, 繼續(xù)免費閱讀

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

1、第五講 ICMP和IGMP協(xié)議,主要內(nèi)容,理解ICMP協(xié)議的概念與作用 掌握ICMP報文的格式與封裝格式 掌握ICMP各種報文類型的作用 理解IGMP協(xié)議的概念與作用 掌握IGMP報文的格式與封裝過程 掌握IGMP四種操作的過程 熟悉延遲響應策略,5.1 ICMP協(xié)議,ICMP協(xié)議即網(wǎng)際控制報文協(xié)議(Internet Control Message Protocol,ICMP),運行于IP協(xié)議之上,但通常被認為是IP協(xié)議的一部分。 其中文實際含義是是“差錯與控制協(xié)議”。ICMP協(xié)議的主要功能是: 1.傳輸差錯信息 2. 傳輸控制信息,ICMP協(xié)議,ICMP在網(wǎng)絡層中的位置如下: ICMP協(xié)議提

2、供了一種機制,用于反映IP數(shù)據(jù)報處理時產(chǎn)生的錯誤信息并提供管理和狀態(tài)信息。 當數(shù)據(jù)報在傳輸過程中發(fā)生錯誤,比如通信線路出錯、網(wǎng)關或主機處理器出錯、IP數(shù)據(jù)報不能傳輸(比如信宿機不可到達、TTL時間到等)、系統(tǒng)擁塞等 ,主機或者路由器的ICMP模塊將被觸發(fā),并產(chǎn)生一個ICMP報文,向信源機發(fā)送該ICMP報文,報告出錯情況,以便信源機采取相應的糾正措施 。,ICMP協(xié)議,ICMP協(xié)議不能提高IP協(xié)議的可靠性 ICMP協(xié)議不能保證所有的數(shù)據(jù)報一定可以成功地達到目的主機 ICMP報文只是報告IP數(shù)據(jù)報處理時產(chǎn)生地錯誤信息,無法報告ICMP數(shù)據(jù)單元本身地錯誤。,CMP協(xié)議與IP協(xié)議的關系,ICMP報文也

3、是封裝在IP數(shù)據(jù)報的數(shù)據(jù)部分中進行傳輸?shù)?,如下圖ICMP數(shù)據(jù)的封裝所示。 包含ICMP報文的IP數(shù)據(jù)報報頭“協(xié)議”域指出數(shù)據(jù)區(qū)內(nèi)容為ICMP報文。 ICMP軟件只是作為IP軟件的一個模塊而存在。,ICMP作為單獨的一層嗎?,雖然ICMP報文由IP數(shù)據(jù)報傳輸,但我們并不把ICMP看作比IP更高層的協(xié)議。事實上,ICMP報文的信宿總是信宿機上的IP軟件,。IP軟件一旦接收到差錯或控制報文,立即交給ICMP模塊進行處理。在這種意義上,我們也可以把ICMP看作不同機器的IP軟件間相互通信的機制。 在協(xié)議層次結構中,ICMP的差錯和控制信息傳輸在概念上并不構成一個獨立的層次,它不是一種具有普遍意義的傳輸

4、機制,不是上層協(xié)議賴以存在的基礎,而只解決了Internet中的一類特殊問題,所以不能獨立出來。,ICMP報文的格式,ICMP報文包括8個字節(jié)的報頭和長度可變的數(shù)據(jù)部分。對于不同的報文類型,報頭的格式一般是不相同的,但是前3個字段對所有的ICMP報文都是一樣的。,ICMP報文的類型,類型(Type)字段,長度是1字節(jié),用于定義報文類型。 ICMP報文有兩大類:差錯報告報文和查詢報文。,關于出錯的報文,關于控制的報文,ICMP報文的其余字段,代碼(Code)字段,長度是1字節(jié),表示發(fā)送這個特定報文類型的原因。 校驗和(Checksum)字段,長度是2字節(jié),用于數(shù)據(jù)報傳輸過程中的差錯控制。ICMP

5、地校驗和計算與IP報頭的校驗和類似,都是采用反碼算術運算。 報頭其余部分的內(nèi)容因不同報文類型而不同。如果標識了“Unused”,則此字段必須為0,保留為以后使用。 數(shù)據(jù)字段內(nèi)容因不同報文類型而不同,提供了ICMP差錯和狀態(tài)報告信息。,ICMP報文以IP數(shù)據(jù)報的形式傳送,攜帶了ICMP報文的IP數(shù)據(jù)報,其報頭的主要設置如下: Version:值為4,表示ipv4的版本 IHL:參考IP數(shù)據(jù)報格式 Service Type:通常TOS的值都設為0 Total Length、Identification、Flags、Fragment Offset:參考IP數(shù)據(jù)報格式 TTL:參考IP數(shù)據(jù)報格式,通常

6、由路由器預先設定一個恰當?shù)某踔?Protocol:值為1,表示這個是ICMP報文 Header Checksum:參考IP數(shù)據(jù)報格式 Source Address:發(fā)現(xiàn)錯誤的主機或路由器的IP地址 Destination Address:接收ICMP報文的主機或路由器的IP地址,基于WinPcap3.1的ethereal0.99捕獲的一幀數(shù)據(jù),WinPcap3.1下載地址/install/default.htm ethereal0.99下載地址,協(xié)議數(shù)據(jù)分析,目的站點的MAC地址,源主機的MAC地址, 表明該幀來自該主機,協(xié)議類型值為0X0800, 表

7、示上層使用的是IP數(shù)據(jù)報,該幀數(shù)據(jù)的IP頭部分,該幀數(shù)據(jù)的IP數(shù)據(jù)部分即ICMP報文數(shù)據(jù),Destination Unreachable,目的不可達報文是一個差錯報告報文,其類型值Type=3,供路由器和目的主機使用。 代碼(Code)字段的值表示該數(shù)據(jù)報出錯的原因,Code字段值含義,Source Quench:源主機消亡或稱源抑制,源主機消亡報文是一個差錯報告報文,其類型值Type=4,代碼Code=0,用于要求減慢數(shù)據(jù)報傳輸?shù)乃俣取?擁塞控制,擁塞是無連接傳輸機制面臨的重要問題,由于網(wǎng)關不預先為數(shù)據(jù)報分配緩沖區(qū),可能出現(xiàn)大量數(shù)據(jù)報涌入同一網(wǎng)關的情況,當大量數(shù)據(jù)報涌入網(wǎng)關時,網(wǎng)關可能被“淹

8、沒”,這就是所謂擁塞(congestion)。 歸納起來,造成擁塞的原因有兩種: 網(wǎng)關的處理速度太慢,不能完成數(shù)據(jù)報排隊、表格刷新等日常工作; 網(wǎng)關輸入數(shù)據(jù)的速率大于輸出線路的容量,比如許多數(shù)據(jù)同時通過同一網(wǎng)關轉發(fā)就可能導致?lián)砣?擁塞的原因在于沒有足夠的網(wǎng)關緩沖區(qū),擁塞控制與流量控制,流量控制要解決的是點對點傳輸速率的匹配問題。比如在有直接物理連接的兩臺機器之間,假如發(fā)方發(fā)送數(shù)據(jù)的速率大于收方接收數(shù)據(jù)的速率,必然導致傳輸錯誤。這種問題就是流量控制要解決的。 流量控制是局部的,而擁塞控制是全局性質的。擁塞可能出現(xiàn)在一個網(wǎng)關,也可能出現(xiàn)在幾個網(wǎng)關甚至全部網(wǎng)關,無論如何,擁塞都可能影響整個網(wǎng)絡的數(shù)

9、據(jù)傳輸,并且擁塞的解決可能要由全部機器共同參與,解決擁塞控制的方法是采用“源抑制”(source quench)技術,所謂源抑制就是抑制信源機發(fā)出數(shù)據(jù)報的速率 網(wǎng)關發(fā)現(xiàn)擁塞,發(fā)出ICMP源抑制報文。網(wǎng)關周期性測試每條輸出線路,密切監(jiān)視擁塞的發(fā)生,一旦發(fā)現(xiàn)某條輸出線路發(fā)生擁塞,立即向相應源機發(fā)送ICMP源抑制報文。 信源機收到源抑制報文后,按一定的速率降低發(fā)往某信宿的數(shù)據(jù)報傳輸率。 擁塞解除后,信源機要恢復數(shù)據(jù)報傳輸速率。,Time Exceeded:超時,超時報文是一個差錯報告報文,其類型值Type=11。 代碼(Code)字段的值表示超時的原因。 Code0:在傳輸中超時僅為路由器使用 Co

10、de1:在重組中超時僅為目的主機使用,Parameter Problem:參數(shù)問題,參數(shù)問題報文是一個差錯報告報文,其類型值Type=12 。 代碼(Code)字段的值反映了丟棄該數(shù)據(jù)報的原因,指針(Pointer)字段的值準確指明了出現(xiàn)錯誤的位置 。 Code0:表示原始數(shù)據(jù)報報頭的某個字節(jié)中出現(xiàn)錯誤,此時指針字段的值指向出現(xiàn)錯誤的地方。 Code1:標書路由器或目的主機需要特定的選項,但原始數(shù)據(jù)報并未提供此選項。在此種情況下不使用指針。,Redirect:重定向,重定向報文是一個比較特殊的差錯報告報文。發(fā)送重定向報文的路由器不會丟棄數(shù)據(jù)報,而是把數(shù)據(jù)報轉發(fā)給正確的路由器。 代碼(Code)

11、字段的值給出了四種不同類型的重定向服務。 Code0:對網(wǎng)絡重定向 Code1:對主機重定向 Code2:對服務類型和網(wǎng)絡重定向 Code3:對服務類型和主機重定向,Echo Request/Reply,回送請求和回送應答是一對查詢報文,用于測試兩個機器(主機或路由器)之間能否實現(xiàn)通信。 類型字段Type=8表示這是回送請求(Echo Request)報文;Type=0表示這是回送應答(Echo Reply)報文。 該報文可確定兩個機器在IP級是否能夠通信 該報文可測試某個主機是否可達,通常是調用PING命令來實現(xiàn)。PING命令使用回送請求和回送應答,并具有指定請求的時間間隔和發(fā)送請求的次數(shù)。

12、,Timestamp and Timestamp Reply,時間戳請求和時間戳應答一對查詢報文,用于確定IP數(shù)據(jù)報在源端和目的端之間往返所需要的時間,也可用作源端和目的端機器的時鐘同步。 類型字段Type=13表示這是時間戳請求報文;Type=14表示這是時間戳應答報文。 時間戳以通用時間(Universal Time,UT)的午夜起測量時間,ms為單位,理論值86400000=24*60*60*1000,時間戳請求和時間戳應答報文可測量數(shù)據(jù)報從源端到目的端之間往返所需的時間,發(fā)送時間=接收時間戳的值原始時間戳的值 接收時間分組返回的時間發(fā)送時間戳的值 往返時間發(fā)送時間接收時間 注意:只有當

13、源端時鐘和目的時鐘是同步的,發(fā)送時間和接收時間的值才是準確的。 若知道單向傳輸時間(通常是往返時間的一半),則可以對源端時鐘和目的時鐘進行同步,計算公式為:時間差接收時間戳的值(原始時間戳的值單向傳輸時間)=發(fā)送時間1/2往返時間,例,源主機發(fā)送時間戳請求給目的主機,并于4:23:07am收到時間戳應答。假設原始時間戳、接收時間戳以及發(fā)送時間戳的值分別為15780000,15782000,15784400,求發(fā)送時間、接受時間和往返時間。源主機和目的主機的時間差是多少? 解: 4:23:07am的UT值即返回時間值15787000 發(fā)送時間接收時間戳的值原始時間戳的值2000 接收時間分組返回

14、的時間發(fā)送時間戳的值2600 往返時間發(fā)送時間接收時間4600 時間差發(fā)送時間1/2往返時間20002300 300,Address Mask Request/Reply,地址掩碼請求和地址掩碼應答是一對查詢報文,用于獲得一個主機所在網(wǎng)絡的子網(wǎng)掩碼。 類型字段Type=17表示這是地址掩碼請求(Address Mask Request)報文;Type=18表示這是地址掩碼應答(Address Mask Reply)報文。,Router Advertisement and Solicitations,路由器通告和路由器請求是一對查詢報文,用于主機與路由器之間交換信息。 路由器請求報文的格式如下:

15、,路由器通告報文的格式,收到路由器請求報文的路由器,會創(chuàng)建一個路由器通告報文,并在網(wǎng)絡上廣播。 路由器通告報文的格式如下:,Information Request/Reply,信息請求和信息應答是一對查詢報文,用于主機查找所連接網(wǎng)絡的地址。 信息請求和信息應答報文的作用類似于反向地址解析協(xié)議(RARP),使主機能夠得到自己的IP地址。此報文使用得很少,已被RARP和BOOTP協(xié)議取代。,ICMP小結,IP協(xié)議是一種不可靠的、無連接的協(xié)議,不具備差錯報告和差錯糾正機制,它必須依賴于ICMP協(xié)議來報告處理一個IP數(shù)據(jù)報傳輸過程中的錯誤并提供管理和狀態(tài)信息 ICMP即網(wǎng)際控制報文協(xié)議,是IP協(xié)議的一

16、部分。當數(shù)據(jù)報在傳輸過程中發(fā)生錯誤時,主機或者路由器的ICMP模塊將被觸發(fā),并產(chǎn)生一個ICMP報文 ICMP報文有兩大類:差錯報告報文和查詢報文。其中,差錯報告報文包括:目的不可達、源主機消亡、超時、參數(shù)問題、重定向。查詢報文包括:回應請求和應答、信息請求和應答(已棄用)、時間戳和時間戳應答、地址掩碼請求和應答、路由器通告和請求 ICMP報文封裝成IP數(shù)據(jù)報的形式傳送。ICMP報文包括1字節(jié)的類型字段、1字節(jié)的代碼字段、2字節(jié)的校驗和字段和長度可變的數(shù)據(jù)字段,5.2 IGMP協(xié)議,IGMP協(xié)議即網(wǎng)際組管理協(xié)議(Internet Group Management Protocol)是與多播通信相

17、關的一個必要的但不是充分的協(xié)議。IGMP負責管理多播組成員關系,它把連接在網(wǎng)絡上的主機的成員關系狀態(tài)信息傳送給多播路由器。,IGMP在網(wǎng)絡層中的位置,IGMP在網(wǎng)絡層中的位置如下: IGMP協(xié)議對于多播通信是必需的,幫助多播路由器創(chuàng)建和更新多播組的成員關系狀態(tài)表。,IGMP報文,IGMP已經(jīng)有了兩個版本。我們討論當前的版本IGMPv2。 IGMP報文有三種報文類型:查詢報文(通用或特殊)、成員關系報告和退出報告。,IGMPv2報文的格式,第一個字段是類型字段,長度是1個字節(jié),用于定義IGMP報文的類型。查詢報文的類型值為0X11,成員關系報告的類型值為0X16,退出報告的類型值為0X17。 第

18、二個字段是最大響應時間字段,長度是1個字節(jié),用于定義查詢報文必須在多長時間內(nèi)得到應答,以十分之一秒為計算單位。 第四個字段是組地址字段,長度是4字節(jié),定義了一個D類多播地址。,IGMP報文的封裝,IGMP報文也被封裝成IP數(shù)據(jù)報的形式傳送。IGMP報文本身被封裝在IP數(shù)據(jù)報的數(shù)據(jù)區(qū),而這個IP數(shù)據(jù)報又被封裝在幀數(shù)據(jù)中。在報頭中的協(xié)議(Protocol)字段設置成2,表示這是一個IGMP報文。,IGMP操作,IGMP工作在本地范圍。連接到本地網(wǎng)絡上的多播路由器有一個組多播地址表,里面至少有一個忠實成員(多播組)。多播組是基于進程而創(chuàng)建的。在一個給定接口上的多播組中的成員關系是動態(tài)的,它隨時因為進程加入和離開該多播組而變化。,加入一個多播組,主機或路由器都可以加入一個多播組。 每一個主機創(chuàng)建一個成員關系表,表中包含所有至少含有一個進程的多播組以及多播組中的進程數(shù)。當?shù)谝粋€進程加入一個多播組時,主機就發(fā)送一個成員關系報告報文。,退出一個多播組,當主機發(fā)現(xiàn)在一個特定的多播組中沒有感興趣的進程時,它就發(fā)送退出報告。同樣地,當路由器發(fā)現(xiàn)在一個特定的多播組中沒有連接在它的接口上感興趣的網(wǎng)絡,它就發(fā)送退出這個組的報告。,刪除一個多播組,當多播路由器收到退出報告時,并不立即從組多播地址表中刪除該組。為了確定是否還有其他主機或路由器仍然對這個組

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論