差錯(cuò)控制報(bào)文_第1頁(yè)
差錯(cuò)控制報(bào)文_第2頁(yè)
差錯(cuò)控制報(bào)文_第3頁(yè)
差錯(cuò)控制報(bào)文_第4頁(yè)
差錯(cuò)控制報(bào)文_第5頁(yè)
已閱讀5頁(yè),還剩25頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

第九章差錯(cuò)控制報(bào)文ICMPInternetControlMessageProtocol(RFC792)標(biāo)準(zhǔn)RFC792InternetControlMessageProtocol,1981RFC1256ICMPRouterDiscoveryMessages,19912/1/20232頁(yè)9.1引言IP協(xié)議(網(wǎng)際協(xié)議)只有一種報(bào)文格式--IP報(bào)文;功能:傳遞上層數(shù)據(jù);缺乏:應(yīng)付可能出現(xiàn)差錯(cuò)的能力。(哪些差錯(cuò)?)ICMP協(xié)議IP的輔助協(xié)議,所有TCP/IP協(xié)議都必須實(shí)現(xiàn);為IP提供差錯(cuò)報(bào)告機(jī)制;同時(shí)為其它層(TCP/UDP、應(yīng)用)提供輔助功能。2/1/20233ICMP的位置IGMPICMPIPARPRARP網(wǎng)際協(xié)議層ICMP報(bào)文IP數(shù)據(jù)IP首部幀數(shù)據(jù)幀首部幀尾部2/1/202349.2EffectsofICMPReportIPtransmissionerrorWhenevertheIPpacketwillbediscarded,theICMPdatagramisgenerated.CooperationamongHostsandGatewaysProblemsWhatactionshouldbetaken,IftheerroriscausedbyICMPdatagram?WheretheICMPwillreport?WhatactionshouldbetakenifaentityreceivedaICMPthatreportaerror?2/1/202359.3EncapsulationofICMP45TOSTotalLength1234500TTL1HCSSourceIPAddressDestinationIPAddressICMPdatagramEncapsulatedintodataareaofIPpacketICMPdatagramisdirectlysenttospecifieddest-IPSameunreliableasIPtransmission2/1/202369.3EncapsulationofICMPWhenerroroccurinIPentity,IPentitywillrequesttheICMPentitytosendanICMPdatagramtoreporttheerror.UpperlayerwillalsorequestICMPentitytosendanICMPdatagramtodosomethingICMP網(wǎng)絡(luò)層IP協(xié)議1功能調(diào)用協(xié)議接口TCP/UDPx2/1/202379.4ICMP報(bào)文格式Type:ICMP的類(lèi)型Code:類(lèi)型的進(jìn)一步信息CheckSum:報(bào)文校驗(yàn)碼數(shù)據(jù)區(qū):報(bào)文數(shù)據(jù)信息081631TypeCodeCheckSumICMP數(shù)據(jù)區(qū)ICMP報(bào)文一般格式2/1/20238類(lèi)型代碼-----(見(jiàn)教材P90)TypeDescription0EchoResponse3DestinationUnreachable4SourceQuench5Redirection8EchoRequest9RouterAdvertisement10RouterSolicitation11DatagramTimeout(TTL=0)12DatagramParameterError13TimestampRequest14TimestampResponse15InformationRequest(outofdate)16InformationResponse(outofdate)17AddressMaskRequest18AddressMaskResponse可達(dá)性測(cè)試報(bào)告無(wú)法找到目的抑制源站發(fā)送路由已發(fā)生改變路由器間協(xié)調(diào)過(guò)長(zhǎng)路由報(bào)文格式錯(cuò)對(duì)時(shí)、時(shí)間同步掩碼維護(hù)2/1/202399.5ICMP產(chǎn)生與處理測(cè)試可達(dá)性:Echo路由問(wèn)題:目的站不可達(dá)、路由重定向路由器間協(xié)調(diào):通告、請(qǐng)求擁塞控制:源站抑制過(guò)長(zhǎng)路由、報(bào)文格式錯(cuò)時(shí)間同步掩碼維護(hù)2/1/2023109.5.1可達(dá)性測(cè)試測(cè)試是否可達(dá)目的站的有效工具。IPICMPPing應(yīng)用TCPUDPIPICMP請(qǐng)求/響應(yīng)0or80校驗(yàn)和報(bào)文標(biāo)識(shí)符(整數(shù))順序號(hào)可選數(shù)據(jù)2/1/2023119.5.2目的站不可達(dá)不可達(dá)有多種可能性IP在投遞數(shù)據(jù)報(bào),出現(xiàn)無(wú)法投遞時(shí),則丟棄報(bào)文,并產(chǎn)生ICMP報(bào)文,通知源站Code部分指出出錯(cuò)原因IP報(bào)文首部和IP數(shù)據(jù)供源站分析出錯(cuò)的情況3(0-12)校驗(yàn)和0x00000000IP報(bào)文首部+I(xiàn)P數(shù)據(jù)前64bit2/1/202312不可達(dá)出錯(cuò)原因CodeDescription0網(wǎng)絡(luò)不可達(dá):如路由出現(xiàn)暫時(shí)中斷1主機(jī)不可達(dá):如主機(jī)或線路出現(xiàn)暫時(shí)故障2協(xié)議不可達(dá):目的站中未建立指定的SAP3端口不可達(dá):TCP、UDP未建立的Port號(hào)4分片問(wèn)題:報(bào)文不分片,但遇到小的MTU5源路由失?。簢?yán)格源路由不連續(xù),等6目的網(wǎng)絡(luò)未知:選路表中無(wú)此路由項(xiàng)7目的主機(jī)未知:如發(fā)現(xiàn)目的IP是主機(jī)號(hào)全0的地址8源主機(jī)被隔離9與目的網(wǎng)絡(luò)的通信被禁止10與目的主機(jī)的通信被禁止11使用給定的服務(wù)類(lèi)型,則網(wǎng)絡(luò)不可達(dá):如低時(shí)延12使用給定的服務(wù)類(lèi)型,則主機(jī)不可達(dá):如高吞吐量2/1/2023139.5.3擁塞和數(shù)據(jù)流控制擁塞的原因機(jī)器產(chǎn)生的數(shù)據(jù)量可能比網(wǎng)絡(luò)快不適當(dāng)?shù)穆酚墒沽髁窟^(guò)分集中,超過(guò)信道容量源抑制報(bào)文控制擁塞40校驗(yàn)和0x00000000IP報(bào)文首部+I(xiàn)P數(shù)據(jù)前64bit源抑制報(bào)文2/1/202314擁塞處理發(fā)送隊(duì)列可以緩解短暫的突發(fā)數(shù)據(jù)否則,只能丟棄報(bào)文,產(chǎn)生源抑制ICMP報(bào)文只能通知源站(why?)通知哪些源站?丟棄算法?(QoS)源站如何處理?減緩發(fā)送速率何時(shí)恢復(fù)發(fā)送速率?逐步增加擁塞控制能力弱,或不起作用(如路由問(wèn)題造成)2/1/2023159.5.4路由改變請(qǐng)求路由器發(fā)現(xiàn)不良路由如:從同一接口接收和轉(zhuǎn)發(fā)IP報(bào)文拓?fù)浣Y(jié)構(gòu)改變?cè)斐桑ㄅR時(shí)或永久)通知源站作處理(當(dāng)前路由器無(wú)法處理,why?)主機(jī)對(duì)該請(qǐng)求可能無(wú)能為力RRHICMPRRHICMPR圖A:主機(jī)利用ICMP修改選路表圖B:主機(jī)無(wú)能為力的路由2/1/202316redirection報(bào)文格式Code:Causeofredirection路由器IP地址:IP選路應(yīng)重定向到該地址50~3校驗(yàn)和路由器IP地址IP報(bào)文首部+I(xiàn)P數(shù)據(jù)前64bitCodeDescription1對(duì)主機(jī)的重定向報(bào)文2對(duì)網(wǎng)絡(luò)和服務(wù)類(lèi)型的重定向報(bào)文3對(duì)主機(jī)和服務(wù)類(lèi)型的重定向報(bào)文2/1/2023179.5.5報(bào)告TTL=0TTL=0的可能源站初設(shè)的TTL過(guò)小路由過(guò)長(zhǎng)路由存在環(huán)路Code0=TTL減到0;1=分片組裝超時(shí)Tracert利用小的TTL和該報(bào)文實(shí)現(xiàn)路由跟蹤110~1校驗(yàn)和0x00000000IP報(bào)文首部+I(xiàn)P數(shù)據(jù)前64bit2/1/2023189.5.6時(shí)間同步請(qǐng)求得到其它機(jī)器的時(shí)間,以保持時(shí)間同步無(wú)時(shí)鐘的機(jī)器通過(guò)向其它站點(diǎn)請(qǐng)求獲得當(dāng)前時(shí)間由應(yīng)用層使用的報(bào)文域Type:13=Req;14=Resp時(shí)間單位:ms;時(shí)間起點(diǎn):格林尼治由于路徑、傳輸,難以得到非常精確的時(shí)間13or140校驗(yàn)和報(bào)文標(biāo)識(shí)(整數(shù))序號(hào)發(fā)起時(shí)間:報(bào)文發(fā)送時(shí)間接收時(shí)間:收到報(bào)文的時(shí)間發(fā)送時(shí)間:回送響應(yīng)的時(shí)間2/1/2023199.5.7獲取子網(wǎng)掩碼向路由器獲取本地子網(wǎng)的掩碼信息Type:17=Req;18=Resp應(yīng)用供IP協(xié)議軟件使用主機(jī)知道路由器地址時(shí),可以向路由器發(fā)送請(qǐng)求不知道路由器時(shí),可廣播發(fā)送,路由器作應(yīng)答17or180校驗(yàn)和報(bào)文標(biāo)識(shí)(整數(shù))序號(hào)地址掩碼2/1/2023209.5.8參數(shù)問(wèn)題IP報(bào)文格式出錯(cuò)引起的ICMP報(bào)告Code=0時(shí),指針指出IP報(bào)文中第幾個(gè)字節(jié)出問(wèn)題Code=1時(shí)報(bào)告IP報(bào)文缺少要求的選項(xiàng)120~1校驗(yàn)和指針0IP報(bào)文首部+I(xiàn)P數(shù)據(jù)前64bit2/1/2023219.6ICMP報(bào)文類(lèi)型小結(jié)種類(lèi)TypeDescription差錯(cuò)報(bào)告報(bào)文3DestinationUnreachable4SourceQuench5Redirection11DatagramTimeout(TTL=0)12DatagramParameterError查詢(xún)報(bào)文8or0EchoRequestorResponse10or9RouterSolicitationorAdvertisement13or14TimestampRequestorResponse15or16InformationRequestorResponse(outofdate)17or18AddressMaskRequestorResponse2/1/2023229.6ICMP報(bào)文類(lèi)型小結(jié)(續(xù))ICMP報(bào)文查詢(xún)回送請(qǐng)求或回答地址掩碼請(qǐng)求或回答時(shí)間戳請(qǐng)求或回答路由器詢(xún)問(wèn)或通告差錯(cuò)報(bào)告終點(diǎn)不可達(dá)源站抑制時(shí)間超時(shí)參數(shù)問(wèn)題改變路由不產(chǎn)生差錯(cuò)報(bào)文的情況:1)攜帶差錯(cuò)報(bào)文的數(shù)據(jù)報(bào);2)非分段數(shù)據(jù)報(bào)的第一個(gè)分段;3)具有多播地址的數(shù)據(jù)報(bào);4)具有特殊地址的數(shù)據(jù)報(bào)(如:或)。2/1/202323ICMP9.7ICMP軟件包ICMP如何處理發(fā)送和接收ICMP報(bào)文?給出ICMP軟件包:輸入模塊和輸出模塊。輸入模塊輸出模塊ICMP分組(所有類(lèi)型)ICMP分組(回答和通告)ICMP分組(請(qǐng)求、詢(xún)問(wèn)和差錯(cuò))請(qǐng)求(從IP來(lái))發(fā)送差錯(cuò)報(bào)文IP高層差錯(cuò)報(bào)文的結(jié)果發(fā)送給幾個(gè)協(xié)議回答報(bào)文發(fā)送給請(qǐng)求它們的進(jìn)程請(qǐng)求(從應(yīng)用程序來(lái))發(fā)送查詢(xún)請(qǐng)求(從UDP或TCP來(lái))發(fā)送差錯(cuò)報(bào)文2/1/2023249.7.1輸入模塊(偽碼)接收:從IP層來(lái)的ICMP分組1.若(這個(gè)類(lèi)型是三種請(qǐng)求類(lèi)型中的任何一種)1.創(chuàng)建回答報(bào)文;2.發(fā)送這個(gè)回答報(bào)文。2.若(這個(gè)類(lèi)型是路由器詢(xún)問(wèn)報(bào)文)1.若(這個(gè)站是路由器)2.創(chuàng)建路由器通告報(bào)文;3)發(fā)送個(gè)能通行報(bào)文。3.若(這個(gè)類(lèi)型是三種回答報(bào)文中的一種或路由器通告報(bào)文)1.在分組的數(shù)據(jù)部分提取出信息;2.把提取出的信息交付給請(qǐng)求它的進(jìn)程。4.若(這個(gè)類(lèi)型定義改變路由報(bào)文)1.修改路由表。5.若(這個(gè)類(lèi)型定義差錯(cuò)報(bào)文而不是改變路由報(bào)文)1.把情況通知適當(dāng)?shù)脑磪f(xié)議。6.返回。如何用流程圖表示?如何用C語(yǔ)言實(shí)現(xiàn)?2/1/2023259.7.2輸出模塊(偽碼)接收:一個(gè)請(qǐng)求1.若(這個(gè)請(qǐng)求定義了差錯(cuò)報(bào)文) 1.若(這個(gè)要求是禁止的) 1.返回。 2.若(這個(gè)類(lèi)型定義了改變路由報(bào)文) 1.若(這個(gè)站不是路由器) 1.返回。 3.使用這個(gè)類(lèi)型、代碼和IP分組創(chuàng)建差錯(cuò)報(bào)文。2.若(這個(gè)要求定義了請(qǐng)求或詢(xún)問(wèn)報(bào)文) 1.創(chuàng)建請(qǐng)求或詢(xún)問(wèn)報(bào)文。3.發(fā)送這個(gè)報(bào)文。4.返回。2/1/202326本章小結(jié)1.Internet控制報(bào)文協(xié)議(ICMP)發(fā)送5種類(lèi)型的差錯(cuò)報(bào)告報(bào)文和4對(duì)查詢(xún)報(bào)文,用于支持不可靠的和無(wú)連接的網(wǎng)際協(xié)議(IP)。2.ICMP封裝成IP數(shù)據(jù)報(bào)。3.當(dāng)數(shù)據(jù)報(bào)無(wú)法交付時(shí),就用目的端不可達(dá)差錯(cuò)報(bào)文發(fā)送給源主機(jī)。4.源端抑制差錯(cuò)報(bào)文是用來(lái)減輕擁塞程度的。5.超時(shí)報(bào)文通知源主機(jī):1)生存時(shí)間字段的值已下降到零,或2)在預(yù)定的時(shí)間內(nèi)報(bào)文中的一些分段未能到達(dá)。6.參數(shù)問(wèn)題報(bào)文通知主機(jī),在數(shù)據(jù)報(bào)的首部字段中出了問(wèn)題。7.發(fā)送改變路由報(bào)文可使主機(jī)中的路由表更加有效。8.回送請(qǐng)求和應(yīng)答報(bào)文用來(lái)測(cè)試兩個(gè)系統(tǒng)之間的連通性。9.時(shí)間戳請(qǐng)求和應(yīng)答報(bào)文能夠確定兩個(gè)系統(tǒng)之間的往返時(shí)間或兩個(gè)系統(tǒng)之間的時(shí)間差。10.地址掩碼請(qǐng)求和應(yīng)答報(bào)文用來(lái)得到子網(wǎng)掩碼。11.路由器詢(xún)問(wèn)和通告報(bào)文允許主機(jī)更新其路由表。12.ICMP檢驗(yàn)和的計(jì)算要用到ICMP報(bào)文的首部和數(shù)據(jù)字段。13.分組Internet搜尋器(ping)是一種應(yīng)用程序,它使用ICMP的服務(wù)來(lái)測(cè)試主機(jī)的可達(dá)性。14.簡(jiǎn)單的ICMP設(shè)計(jì)包括輸入模塊和輸出模塊。輸入模塊處理到來(lái)的ICMP分組,而輸出模塊處理對(duì)ICMP服務(wù)的要求。2/1/202327作業(yè)----(見(jiàn)教材P99)1.設(shè)計(jì)一個(gè)使用ICMP時(shí)間戳報(bào)文同步時(shí)鐘的算法。2.學(xué)會(huì)使用ping、route和tracert(ortraceroute)命令。會(huì)不會(huì)出現(xiàn)ping或tracert超時(shí),但http可以訪問(wèn)的情況?解釋原因。3.路由器給ICMP報(bào)文的優(yōu)先級(jí)是否應(yīng)該比給正常通信量和高?為什么?4.沒(méi)有哪個(gè)ICMP報(bào)文允許機(jī)器通知源站:傳輸錯(cuò)誤造成到達(dá)的數(shù)據(jù)報(bào)被破壞了。解釋原因。5.ICMP差錯(cuò)報(bào)文是否應(yīng)該包含一個(gè)指明它們何時(shí)發(fā)送的時(shí)間戳?為什么?6.試著ping一個(gè)網(wǎng)絡(luò)廣播地址。有多少計(jì)算回答了?閱讀協(xié)議文檔,判斷對(duì)廣播的請(qǐng)求做出回答究竟是必須的、推薦的、不推薦的還是禁止的?2/1/202328編程練習(xí)1.ICMP軟件包通常使用#define常量來(lái)說(shuō)明不同報(bào)文類(lèi)型的不同代碼。試完成下面的表示本章中所有不同代碼的語(yǔ)句:#define DU_NUR0/*目的端不可達(dá),網(wǎng)絡(luò)不可達(dá)*/#define DU_HUR3/*目的端不可達(dá),主機(jī)不可達(dá)*/……2.ICMP軟件包通常使用struct來(lái)說(shuō)明分組首部的格式。但是,首部的最后4個(gè)字節(jié)對(duì)不同類(lèi)型報(bào)文是特定的。解決這個(gè)問(wèn)題的一種方法是在struct里面使用union語(yǔ)句。試完成下面

溫馨提示

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

最新文檔

評(píng)論

0/150

提交評(píng)論