今天我们来介绍网络层中的ICMP协议

ICMP报文格式

图一:

从图片上我们能够分析出。前三位的字段都是固定的。8位类型字段,8位代码字段。16位校验和字段。其它字段因ICMP报文类型不同而不同。8位类型和8位代码一起决定了报文的类型。

ICMP查询格式

ICMP查询报文共同拥有4种

  • 回送请求和回答:由主机和路由器向一个特定的主机和路由器发送询问。收到请求的主机必须给源主机发送回送应答报文。用来測试目标主机是否可达以及了解其它状态
  • 时间戳请求和回答:它同意系统向还有一个系统查询当前的时间。该ICMP的优点是他提供了毫秒级的分辨率。

  • 掩码地址请求和回答:主机使用ICMP地址掩码地址请求报文能够向子网掩码server得到某个接口的地址掩码。系统广播他的ICMP请求报文。
  • 路由器询问和通过报文:主机使用ICMP路由器询问连接在本网络上的路由器是否正常工作。

ICMP差错报文

ICMP差错报文共同拥有5种:

  • 终点不可达:网络不可达,主机不可达。协议不可达。port不可达,源路由失败
  • 源站抑制:当路由器或主机由于拥塞丢弃数据包时。就向源站发送源站抑制报文。使源站知道应当将发送数据报的速度放慢。
  • 时间超过:路由器收到生存时间为0的数据报时,除丢弃该数据报外还要向源站发送时间超时报文
  • 參数问题差:当路由器的目的主机收到的数据报首部中的字段不对的时候。丢弃该数据报,同一时候向源地址发送ICMP參数问题报文。

  • 重定向报文:路由器将改变路由报文。将发送给主机,让主机知道,下一次的数据报应该发送给还有一个路由器。

IP协议解读(三)的更多相关文章

  1. IP协议解读(二)

    IP协议是TCP协议栈中的核心协议,也是网络编程的基础之中的一个. 我们接着在IP协议解读(一)继续学习 网络层作用 IP分片: IP数据报的长度超过帧的MTU时,将会被分片传输. 分片可能发生在发送 ...

  2. OSI模型和TCP/IP协议族(三)

    TCP/IP协议族 TCP/IP协议族的开发要比OSI模型更早,因此TCP/IP协议族的分层结构无法准确地与OSI模型一一对应.原始的TCP/IP协议族定义为建立再硬件基础上的四个软件层,不通过目前T ...

  3. TCP/IP协议的三次握手及实现原理

    TCP/IP是很多的不同的协议组成,实际上是一个协议组,TCP用户数据报表协议(也称作TCP传输控制协议,Transport Control Protocol.可靠的主机到主机层协议.这里要先强调一下 ...

  4. TCP/IP协议、三次握手、四次挥手

    1.什么是TCP/IP协议 TCP/IP 是一类协议系统,它是用于网络通信的一套协议集合. 传统上来说 TCP/IP 被认为是一个四层协议 1) 网络接口层: 主要是指物理层次的一些接口,比如电缆等. ...

  5. TCP/IP协议族(三) 数字签名与HTTPS详解

    前面几篇博客聊了HTTP的相关东西,今天就来聊一聊HTTPS的东西.因为HTTP协议本身存在着明文传输.不能很好的验证通信方的身份和无法验证报文的完整性等一些安全方面的确点,所以才有了HTTPS的缺陷 ...

  6. TCP/IP协议学习(三) STM32中ETH驱动配置注意事项

    1.MII/RMII/SMI接口连接和配置 SMI又称站点管理接口,用于cpu与外置PHY芯片通讯,配置相关参数,包含MDC和MDIO两个管脚(CPU上有对应引脚,当然用普通GPIO口模拟SMI管理也 ...

  7. Http TCP/IP 协议的关系

    转自:http://www.cnblogs.com/ymy124/archive/2012/03/18/2404958.html 项目要求Web服务是高安全级别,在选择.net remoting,we ...

  8. 【Linux网络基础】网络拓扑、OSI层次模型、TCP/IP协议簇

    一.前言 一个运维有时也要和网络打交道,所以具备最基本的网络知识,对一个运维人员来说是必要的.但,对于我们的工作来说这些并不是重点,因此,我不可能从最基础的网络知识开始讲起.本节内容更多是从一个梳理和 ...

  9. TCP/IP协议三次握手与四次握手流程解析

    原文链接地址:http://www.2cto.com/net/201310/251896.html TCP/IP协议三次握手与四次握手流程解析 TCP/IP协议的详细信息参看<TCP/IP协议详 ...

随机推荐

  1. org.springframework.beans.factory.config.PropertyPlaceholderConfigurer的systemPropertiesModeName属性

    转自:https://www.cnblogs.com/huqianliang/p/5673701.html 使用PropertyPlaceholderConfigurer类载入外部配置 在Spring ...

  2. HUST 1585 排队

    2019-05-21 10:15:00 加油,加油 !!! #include <bits/stdc++.h> using namespace std; int main() { int n ...

  3. c# winform 获取listview 选中行某列的值

    给listview填充数据: for (int i = 0; i < 5; i++) { ListViewItem lvitem = new ListViewItem(); lvitem.Sub ...

  4. 仿QQ浏览器mac版官网主页 html+css3特效

    这是一款超酷的CSS3动态背景动画特效,CSS3仿QQ浏览器官网彗星动画背景特效. 在线演示本地下载

  5. Java基础8一面向对象

    一.JavaBean标准的定义规范 1.类中所有的属性必须是私有的,也就是说属性必须用private修饰. 2.提供一个公共无参数的构造方法. 3.为所有私有的属性提供公共的set和get方法. se ...

  6. 修改ElementUI源码

    1.克隆ElementUI官方仓库代码到本地  https://github.com/ElemeFE/element 2.在cmd命令行安装依赖 1)找到代码文件夹 cd element 2)npm ...

  7. 用python(2.7)自定义实现SQL的集合操作

    有的时候需要在不同的数据库实例之间做集合操作,这就无法直接使用SQL语句的join,left join了.相同类型的数据库之间虽然也有类似于DBLINK和FEDERATED之类的东西,但一来这些东西不 ...

  8. -1.#IND000 &&图像类型转换

    (1):float acos(float x) 参数x的范围为-1.0f到1.0f之间,返回值范围在0.0f到3.141592653f之间,值得注意的是:当x超出[-1.0f,1.0f]这个范围时此函 ...

  9. DDoS攻击与防范策略

    DDoS(Distributed Denial of Service,分布式拒绝服务)攻击的主要目的是让指定目标无法提供正常服务,甚至从互联网上消失,是目前最强大.最难防御的攻击之一. 按照发起的方式 ...

  10. (转) RabbitMQ学习之spring整合发送同步消息(注解实现)

    http://blog.csdn.net/zhu_tianwei/article/details/40918477 上一篇文章通过xml配置rabbitmq的rabbitTemplate,本节将使用注 ...