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

相关推荐
科技块儿5 分钟前
平台需展示用户IP属地,如何操作?
网络·网络协议·tcp/ip
..过云雨9 分钟前
数据链路层核心全解:以太网、MAC 地址、MTU 与 ARP 协议深度剖析
网络·网络协议·tcp/ip·计算机网络
NaclarbCSDN9 分钟前
OSI模型与TCP/IP模型
网络·网络协议·tcp/ip
RisunJan10 分钟前
Linux命令-lnstat(显示 Linux 网络统计信息)
linux·运维·网络
一路往蓝-Anbo16 分钟前
第 4 篇:策略模式 (Strategy) —— 算法的热插拔艺术
网络·驱动开发·stm32·嵌入式硬件·算法·系统架构·策略模式
Fᴏʀ ʏ꯭ᴏ꯭ᴜ꯭.19 分钟前
Keepalived高可用配置指南
服务器·网络·php
2401_8322981020 分钟前
腾讯云第九代CVM,玄灵网卡加持重构算力新范式
网络
Cloud Traveler25 分钟前
Archcraft携手cpolar打造轻量化远程开发环境
网络·云原生·eureka
七夜zippoe30 分钟前
网络安全实战:从TLS/SSL到JWT与OAuth2.0的完整防御体系构建
网络·安全·web安全·ssl·tls
咚为32 分钟前
Rust Cell使用与原理
开发语言·网络·rust