计算机网络(第六版)复习提纲19

SS4.4 网际控制报文协议ICMP

ICMP报文作为IP数据报的数据部分,加上IP报文的首部进行发送

一 ICMP报文的种类

1 ICMP差错报告报文

有四种ICMP差错报告报文

①终点不可达,路由器或者主机不能交付数据报时向原点发送

②时间超过,当路由器收到生存时间TTL=0的数据报时,丢弃该报文并向源点发送超时报文

③参数问题,当路由器或目的主机收到的数据报的首部中有的字段的值不正确时,丢弃该报文并向源点参数问题报文

④改变路由(重定向),路由器把改变路由报文发给主机,让主机下次发送给另外的路由器(找到了更好的路由)

ICMP差错检测报文的格式:

不发送ICMP差错报告报文的四种情况

①对ICMP差错报告报文,不再发送ICMP差错报告报文

②对第一个分片的数据报片的所有后续数据报片,都不发送ICMP差错报告报文

③对具有多播地址的数据报,都不发送ICMP差错报告报文

④对具有特殊地址(如127.0.0.0或0.0.0.0)的数据报,不发送ICMP差错报告报文

2 ICMP询问报文

有两种ICMP询问报文

①回送请求或回送回答:ICMP回送请求报文是由主机或路由器向一个特定主机发出的询问,收到回送请求必须给源主机或路由器发送ICMP回送回答报文。常用作连通性测试,测试目的站是否可达以及了解其有关状态。

②时间戳请求或时间戳回答:ICMP时间戳请求报文发送后,能收到对方的时间戳回答报文,利用报文中记录的时间戳(发送时间、接收时间)很容易计算当前网络的往返时延RTT。常用作RTT时延测取。

3 ICMP的应用

1 ping + 主机名/IP地址 用于测试两台主机之间的连通性。属于应用层直接使用网络层ICMP的例子,没有通过TCP或UDP

2 traceroute(Linux)/ tracert(Windows)+ 主机名/IP地址 从源主机向目的主机发送一连串的IP数据报,里面封装着无法交付的UDP用户数据报,第一个数据报的生存时间TTL设置为1,当数据报到达路径上第一个路由器,路由器收下该数据,然后把TTL减去1,由于TTL=0,路由器就把该数据丢弃并向源主机发送ICMP时间超过差错报告报文,这样一直下去,当TTL能够撑到数据报送达目的地址时,由于封装的是无法交付的UDP用户数据报,目的主机向源主机发送ICMP终点不可达差错报告报文。由此可以获得想要的路由信息

相关推荐
左手厨刀右手茼蒿6 小时前
Flutter 组件 http_requests 适配鸿蒙 HarmonyOS 实战:极简网络请求,构建边缘端轻量级 RESTful 通讯架构
网络·flutter·http
江南风月6 小时前
日志审计系统WGLOG支持syslog吗
运维·网络·日志审计
Blurpath住宅代理7 小时前
代理IP全面解析:从协议原理到高阶应用场景的技术指南
网络·静态ip·动态代理·住宅ip·住宅代理
晏宁科技YaningAI8 小时前
全球短信路由系统设计逻辑打破 80%送达率瓶颈:工程实践拆解
网络·网络协议·架构·gateway·信息与通信·paas
爱学习的小囧9 小时前
ESXi 8.0 无法选择分区方式 小白级详细解决办法
运维·服务器·网络·虚拟化·esxi8.0
F1FJJ9 小时前
什么是 Shield CLI?视频讲解:一条命令,可浏览器远程访问一切内部服务(RDP/VNC/SSH/数据库等)
运维·网络·数据库·网络协议·ssh
南湖北漠10 小时前
听说拍照的人会拿相似的鱼皮豆代替野生鹌鹑蛋拍照(防原创)
网络·人工智能·计算机网络·生活
一个有温度的技术博主10 小时前
网安实验系列四:信息收集-旁站、C段信息
网络
木下~learning10 小时前
对于Linux中等待队列和工作队列的讲解和使用|RK3399
linux·c语言·网络·模块化编程·工作队列·等待队列
F1FJJ10 小时前
Shield CLI 命令全解析:15 个命令覆盖所有远程访问场景
网络·数据库·网络协议·容器·开源软件