TCPIPLecture8ICMP协议

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

2020/2/6第八讲:ICMP协议1第八讲ICMP协议协议概述报文类型报文格式ICMP差错报告处理ICMP查询处理ICMP软件设计2020/2/6第八讲:ICMP协议2引言IP协议只有一种报文格式——IP数据报功能:传递数据缺乏:应付可能出现差错的能力ICMP协议IP的辅助协议为IP提供差错报告机制为其它层(TCP/UDP、应用)提供辅助功能2020/2/6第八讲:ICMP协议3差错报告和差错更正IP传输过程中出现差错是不可避免的IP分组传输出现差错时,会产生相应的ICMP报文通过ICMP报文提供差错报告ICMP差错报告只能送给IP分组的源站,协议只提供了差错的处理方法的建议源站可能无法确定差错源,需要与网络管理员一起协作处理2020/2/6第八讲:ICMP协议48.1协议概述InternetControlMessageProtocol,ICMPRFC792:InternetControlMessageProtocol,1981RFC1256:ICMPRouterDiscoveryMessages,1991IPLANsMANsWANsICMPIGMPARPRARPNetworkLayerNetworkAccessLayerTransportLayerApplicationLayer2020/2/6第八讲:ICMP协议5报文投递与封装ICMP在IP之上实现,逻辑上与IP同在网络层与IP报文的传递过程一致——无连接通信直接送达目的站点,沿途的转发路由器不能获知ICMP报文内容ICMP报文封装ICMPmessageIPheaderIPdataFramedataTrailer(ifany)FrameheaderICMPmessageIPheaderIPdataProtocol=12020/2/6第八讲:ICMP协议68.2报文类型ICMP报文ICMPmessages差错报告Error-reporting测试查询Query报告路由器或目的站点处理一个IP分组时可能遇到的一些问题帮助主机或管理员从某一个路由器或主机获得一些特定的信息2020/2/6第八讲:ICMP协议7类型CategoryTypeMessageReasonError-reportingmessages3DestinationunreachableUnreachable4SourcequenchCongestion11TimeexceededToolongroute12ParameterproblemFormaterror5RedirectionRoutechangedQuerymessages8or0EchorequestorreplyReachability13or14TimestamprequestorreplySynchronization17or18AddressmaskrequestorreplyMaskmaintenance10or9RoutersolicitationoradvertisementCoincidencebetweenrouters过时:15Informationrequest16Informationresponse2020/2/6第八讲:ICMP协议88.3报文格式CodeChecksumDatasectionType8bits8bits16bits差错报文:引起差错的原始分组的一部分(首部+数据部分的前8个字节)查询报文:基于查询类型的额外信息2020/2/6第八讲:ICMP协议98.4ICMP差错报告处理ICMP只是报告差错,纠正差错由高层协议去做ICMP差错报文总是发送给原始的数据源不能为以下分组产生ICMP差错报文携带ICMP差错报文的分组非第一个分片分组组播分组具有特殊地址(如127.0.0.0或0.0.0.0)的分组ErrorreportingDestinationunreachableSourcequenchTimeexceededParameterproblemsRedirection2020/2/6第八讲:ICMP协议10差错报文的数据字段IPheader8bytesIPdataIPheader8bytesICMPpacketICMPheaderIPheader8bytesSentIPdatagramICMPheaderIPheaderReceiveddatagram提供有关传输层协议TCP和UDP的一些信息2020/2/6第八讲:ICMP协议118.4.1目的不可达报文路由器或主机因无法投递而丢弃IP分组时,向源站发送ICMP目的不可达报文不可达有多种可能性,并不是所有问题都能被检测出来Code=0~12ChecksumType=3IPheader+8bytesIPdata0x00000000不可达的原因供源站分析错误2020/2/6第八讲:ICMP协议12目的不可达代码Code描述Code描述0网络不可达7目的主机未知1主机不可达8源主机被隔离2协议不可达9与目的网络的通信被禁止3端口不可达10与目的主机的通信被禁止4需要分片,但DF=111对指定TOS,网络不可达5源路由失败12对指定TOS,主机不可达6目的网络未知哪些目的不可达报文只能由目的主机产生?哪些目的不可达报文只能由路由器产生?2020/2/6第八讲:ICMP协议138.4.2源抑制报文IP协议没有流控机制拥塞主机产生的数据量可能比网络快不适当的路由使流量过分集中,超过信道容量路由器的转发性能低路由器或主机因拥塞丢弃IP分组时,向源站发送ICMP源抑制报文,通知源站放慢分组的发送Code=0ChecksumType=4IPheader+8bytesIPdata0x000000002020/2/6第八讲:ICMP协议14拥塞处理发送队列缓冲:缓解短暂的突发数据丢弃报文,产生源抑制ICMP报文给源站丢弃算法——QoS源站减缓发送速率源站没有收到源抑制报文后逐步提高发送速率源抑制报文的拥塞控制能力只能解决因主机问题造成的拥塞对因路由或路由器问题造成的拥塞不起作用2020/2/6第八讲:ICMP协议158.4.3超时报文路由器或主机因分组超时而丢弃IP分组时,向源站发送ICMP超时报文Code=0,1ChecksumType=11IPheader+8bytesIPdata0x00000000Code=0——路由器检测到分组的TTL值为0Code=1——目的站在规定时间内没有收到所有分片2020/2/6第八讲:ICMP协议168.4.4参数问题报文路由器或主机因首部字段格式或取值错误而丢弃报文时,向源站发送ICMP参数问题报文Code=0,1ChecksumType=12IPheader+8bytesIPdata0x00000000Code=0——首部字段错误,指针字段指向错误字节Code=1——缺少所需的选项部分,指针字段无效Pointer2020/2/6第八讲:ICMP协议178.4.5重定向报文重定向Net1Net2HostAHostBR1R2AwanttosenddatagramstoB,butitdoesn’tknowR2isthebetterchoice.Whatwillitdo?IPpacketRedirectionmessageNet1直接交付0.0.0.0/0R1Net1直接交付Net2R20.0.0.0/0R12020/2/6第八讲:ICMP协议18重定向报文格式Code=0~3ChecksumType=5IPheader+8bytesIPdata目标路由器的IP地址CodeDescription0对特定网络路由的重定向1对特定主机的重定向2对特定网络和服务类型的重定向3对特定主机和服务类型的重定向缩小路由改变的范围2020/2/6第八讲:ICMP协议198.5ICMP查询处理QueryEchorequestandreplyTimestamprequestandreplyAddressmaskrequestandreplyRoutersolicitationandadvertisementPingTraceroute2020/2/6第八讲:ICMP协议208.5.1回送请求和应答报文测试目的站的可达性Ping应用TCPUDPICMPIPICMPIPEchoEchoreply还可获取往返时间信息Code=0ChecksumType=8,0Optionaldata(Sendbytherequestmessage;repeatedbythereplymessage)IdentifierSequencenumber2020/2/6第八讲:ICMP协议218.5.2时戳请求和应答报文请求得到其它机器的时间,以保持时间同步计算分组的往返时间(单位:ms)发时间=收时戳-初始时戳,收时间=返回时间-发时戳往返时间=发时间+收时间由于路径、传输,难以得到非常精确的时间Code=0ChecksumType=13,14Originaltimestamp(filledbysource)IdentifierSequencenumberReceivetimestamp(filledbydestination)Transmittimestamp(filledbydestination)2020/2/6第八讲:ICMP协议228.5.3掩码请求和应答报文应用供IP协议软件使用主机知道路由器地址时,可以向路由器发送请求不知道路由器时,可广播发送,路由器作应答Code=0ChecksumType=17,18MaskIdentifierSequencenumber2020/2/6第八讲:ICMP协议238.5.4路由器询问和通告报文主机发送路由器询问报文,查询本网中的路由器路由器发送路由器通告报文,通告自己以及所知的本网中其他路由器的存在Code=0ChecksumType=10IdentifierSequencenumberCode=0ChecksumType=10Routeraddress1IdentifierSequencenumberAddresspreference1Routeraddress2Addresspreference2……2020/2/6第八讲:ICMP协议248.6ICMP软件设计2020/2/6第八讲:ICMP协议258.7小结ICMP试图解决IP传输中出现的问题ICMP报文封装在IP中,只能送到指定目的站由于IP的无连接特性,ICMP只能向源站报告源站对ICMP报告的错误可能无能为力ICMP在实际中用途较广,但对网络的控制能力较弱2020/2/6第八讲:ICMP协议26要点ICMP作用、通信方式ICMP报文封装:直接封装在IP分组中类型:差错报告(传输特点)、测试查询作用、特点

1 / 26
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功