IP协议解读(三)
今天我们来介绍网络层中的ICMP协议
ICMP报文格式
图一:
从图片上我们能够分析出。前三位的字段都是固定的。8位类型字段,8位代码字段。16位校验和字段。其它字段因ICMP报文类型不同而不同。8位类型和8位代码一起决定了报文的类型。
ICMP查询格式
ICMP查询报文共同拥有4种
- 回送请求和回答:由主机和路由器向一个特定的主机和路由器发送询问。收到请求的主机必须给源主机发送回送应答报文。用来測试目标主机是否可达以及了解其它状态
- 时间戳请求和回答:它同意系统向还有一个系统查询当前的时间。该ICMP的优点是他提供了毫秒级的分辨率。
- 掩码地址请求和回答:主机使用ICMP地址掩码地址请求报文能够向子网掩码server得到某个接口的地址掩码。系统广播他的ICMP请求报文。
- 路由器询问和通过报文:主机使用ICMP路由器询问连接在本网络上的路由器是否正常工作。
ICMP差错报文
ICMP差错报文共同拥有5种:
- 终点不可达:网络不可达,主机不可达。协议不可达。port不可达,源路由失败
- 源站抑制:当路由器或主机由于拥塞丢弃数据包时。就向源站发送源站抑制报文。使源站知道应当将发送数据报的速度放慢。
- 时间超过:路由器收到生存时间为0的数据报时,除丢弃该数据报外还要向源站发送时间超时报文
- 參数问题差:当路由器的目的主机收到的数据报首部中的字段不对的时候。丢弃该数据报,同一时候向源地址发送ICMP參数问题报文。
- 重定向报文:路由器将改变路由报文。将发送给主机,让主机知道,下一次的数据报应该发送给还有一个路由器。
IP协议解读(三)的更多相关文章
- IP协议解读(二)
IP协议是TCP协议栈中的核心协议,也是网络编程的基础之中的一个. 我们接着在IP协议解读(一)继续学习 网络层作用 IP分片: IP数据报的长度超过帧的MTU时,将会被分片传输. 分片可能发生在发送 ...
- OSI模型和TCP/IP协议族(三)
TCP/IP协议族 TCP/IP协议族的开发要比OSI模型更早,因此TCP/IP协议族的分层结构无法准确地与OSI模型一一对应.原始的TCP/IP协议族定义为建立再硬件基础上的四个软件层,不通过目前T ...
- TCP/IP协议的三次握手及实现原理
TCP/IP是很多的不同的协议组成,实际上是一个协议组,TCP用户数据报表协议(也称作TCP传输控制协议,Transport Control Protocol.可靠的主机到主机层协议.这里要先强调一下 ...
- TCP/IP协议、三次握手、四次挥手
1.什么是TCP/IP协议 TCP/IP 是一类协议系统,它是用于网络通信的一套协议集合. 传统上来说 TCP/IP 被认为是一个四层协议 1) 网络接口层: 主要是指物理层次的一些接口,比如电缆等. ...
- TCP/IP协议族(三) 数字签名与HTTPS详解
前面几篇博客聊了HTTP的相关东西,今天就来聊一聊HTTPS的东西.因为HTTP协议本身存在着明文传输.不能很好的验证通信方的身份和无法验证报文的完整性等一些安全方面的确点,所以才有了HTTPS的缺陷 ...
- TCP/IP协议学习(三) STM32中ETH驱动配置注意事项
1.MII/RMII/SMI接口连接和配置 SMI又称站点管理接口,用于cpu与外置PHY芯片通讯,配置相关参数,包含MDC和MDIO两个管脚(CPU上有对应引脚,当然用普通GPIO口模拟SMI管理也 ...
- Http TCP/IP 协议的关系
转自:http://www.cnblogs.com/ymy124/archive/2012/03/18/2404958.html 项目要求Web服务是高安全级别,在选择.net remoting,we ...
- 【Linux网络基础】网络拓扑、OSI层次模型、TCP/IP协议簇
一.前言 一个运维有时也要和网络打交道,所以具备最基本的网络知识,对一个运维人员来说是必要的.但,对于我们的工作来说这些并不是重点,因此,我不可能从最基础的网络知识开始讲起.本节内容更多是从一个梳理和 ...
- TCP/IP协议三次握手与四次握手流程解析
原文链接地址:http://www.2cto.com/net/201310/251896.html TCP/IP协议三次握手与四次握手流程解析 TCP/IP协议的详细信息参看<TCP/IP协议详 ...
随机推荐
- java环境的配置和求最大子数组
做java开发的朋友,都应该有一个适合自己的开发环境,而eclipse就是这么一个适合java开发的集成环境,完全免费,是java开发人员的必备平台.在安装eclipse之前需要安装JDK, JDK是 ...
- php 日期格式化
date('Y-m-d H:i:s',time()); 2014-09-01 05:06:01 date(' y-n-j G:i:s',time()); 14-9-1 5:06:01 mktime(h ...
- wampserver配置多站点
1.打开C:\wamp\bin\apache\apache2.2.22\conf\httpd.conf(因安装的路径而异),查找listen 80 下面加上listen 8080 2.然后加上 < ...
- js 对象方法、类方法、原型方法区别
function People(name){this.name=name;//对象方法this.Introduce=function(){alert("My name is "+t ...
- NOIP2012 D2 T2 借教室 线段树 OR 二分法
题目描述: 在大学期间,经常需要租借教室.大到院系举办活动,小到学习小组自习讨论,都需要向学校申请借教室.教室的大小功能不同,借教室人的身份不同,借教室的手续也不一样. 面对海量租借教室的信息,我们自 ...
- sublime3 install python3
链接地址:https://blog.csdn.net/Ti__iT/article/details/78830040
- 大白话理解this
日常开发中,我们经常用到this.一开始常会用一种感觉去判断this的指向,当遇到复杂的函数调用时,就分不清this的指向. 今天我们来由浅入深来学习下. function family1(){ va ...
- js 根据固定位置获取经纬度--腾讯地图
1.首先引入jq 和 腾讯地图js <script src="../js/jQuery.js"></script> <script charset=& ...
- 用Navicat自动备份mysql数据库
以下文章转载自https://blog.csdn.net/u013628152/article/details/54909885,放在自己的博客园以供后面方便查询 —————————————————— ...
- CSS 弹性盒
图片新窗口打开浏览