ICMP协议
时间:2021-08-13
本文章向大家介绍ICMP协议,主要包括ICMP协议使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
ICMP(网际控制报文协议)
- ICMP允许主机或者路由器报告差错情况。ICMP是互联网的协议标准。但ICMP并不是高层协议。因为ICMP报文是封装在IP数据报中,ICMP报文作为IP数据报的数据部分。加上IP数据报的首部,组成了IP数据报。ICMP报文格式如图所示:
- ICMP报文种类分为两类:
- ICMP差错报告报文
- ICMP询问报文
- ICMP报文的前4个字节是统一的,共有三个字段:
- 类型
- 代码
- 检验和
- 中间4个字节决定ICMP类型,最后是数据字段
- ICMP差错报告报文有四种
- (3)终点不可达:当路由器或者主机不能交付数据报时就向源点发送终点不可达报文。
- (11)时间超时:当路由器收到TTL=0IP数据报,除了丢弃这个数据报,还要向源地点发送时间超时报文。
- (12)参数问题:当路由器或者目的主机接收到的数据报的首部有的字段不正确时候,就丢弃这个报文,并向源地点发送参数问题报文。
- (5)改变路由(重定向):路由器把改变路由报文发送给主机,让主机下一应该将数据报发送给另外的路由器(可能是有更好的路由器)。
- ICMP询问报文有两种
- (8/0)回送请求和回答:ICMP回送请求报文是路由器或者主机向一个特定的目标主机发送的询问。收到报文的主机必须向源主机或者路由器发送ICMP回送回答报文。这种询问报文用来测试目的站是否可达等相关信息。
- (13/14)时间戳的请求与回答:ICMP时间戳请求报文是请某台主机或者路由器回答当前的日期和时间,在ICMP时间戳回答报文里一共有32个位的字段,其中写入的整数代表从1900年1月1日到当前时刻一共有多少秒,时间戳请求与回答可用于时钟同步和时间测量。
- ICMP应用举例
- 一个重要作用就是ping(packet Internet Groper)用来测试两台主机的连通性。ping使用了ICMP回送请求与回送回答报文。ping 是应用层直接使用网络层ICMP的一个例子
- 另一个命令是tracert命令,他用来跟踪一个分组从源点到终点的路径
原文地址:https://www.cnblogs.com/xiaomitu/p/15139311.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- Docker六脉神剑(二) 使用Docker构建lnmp开发环境
- redis主从配置+集群搭建
- 【Ceph RGW】找一个用Go写的s3cmd
- 技术分享 | 如何优雅地在 Windows 上从 MySQL 5.6 升级到 5.7
- SpringCloud分布式配置中心
- Sharding-Proxy的基本功能使用
- React-Redux 对Todolist修改
- 快排解决寻找数组中的第K个最大元素
- Docker六脉神剑(一) Mac极速体验
- React-Router 5.0 制作导航栏+页面参数传递
- Vue3.0快速入门(速查)
- 憧憬博客Nginx到Tengine的迁移
- SpringCloud微服务构建浅析
- 宋宝华:Linux设备与驱动的手动解绑与手动绑定
- ELK7.x日志系统搭建 1. elk基础搭建