计算机网络(第六版)复习提纲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终点不可达差错报告报文。由此可以获得想要的路由信息

相关推荐
SCandL1522 小时前
RHEL9 配置外网完整流程
网络
奇牙coding2 小时前
doubao-seed-2.1-pro 报 HTTP 401 怎么办?Key 正确也要检查请求头和端点
网络·数据库·http·ai
ESDWAN9 小时前
跨境网络丢包怎么定位?用MTR和Traceroute分析链路问题
网络
砺星Leetx9 小时前
工业总线选型与对接实战:PROFINET、EtherCAT、EtherNet/IP、PROFIBUS、Modbus-TCP 与 CC-Link
网络·网络协议·tcp/ip·控制器·国产拧紧系统
2401_868534789 小时前
软考网络规划设计师SSL协议知识点详解
服务器·网络
Escalating_xu10 小时前
【Linux 网络编程】手写序列化与反序列化:从 x op y 到能校验的文本协议
linux·运维·网络
POMAGTOR12 小时前
【磁吸式连接器选型工程解析:结构原理、应用场景与选型可靠性要点】
网络·嵌入式硬件
阿文和她的Key16 小时前
PHP2Shell事故四层拆解:AI找洞是小时级,披露协调还是邮件级
网络·人工智能·架构·php
QZ1665609515917 小时前
数据库监测的主动防御:实时感知,看见即掌控
网络·安全·网络安全
流浪00117 小时前
计算机网络篇8:传输层——序列化与反序列化,TCP 面向字节流的报文边界由应用层自己切
网络协议·tcp/ip·计算机网络·1024程序员节·序列化反序列化·面向字节流·面向数据包