ICMP(网际控制报文协议)
为了更有效的提高ip数据报的成功转发和交付的效率,在网际层使用了icmp网际控制报文协议,这个协议允许主机和路由器提供差错和异常情况的报告,icmp不是高层协议,而是网际层的协议,加在ip数据报中一起发出
ICMP的报文种类有ICMP差错报文和ICMP询问报文:
差错报告报文有5种:
(1)终点不可以到达:当路由器和主机不能交付的时候:
(2)源点抑制:当路由器由于网络拥塞而丢弃的时候
(3)时间超过:当路由器收到生存时间为0的数据报的时候
(4)参数问题:当目的主机发现收到的数据报首部有问题的时候
(5)改变路由:路由器把改变你的路由交付主机,告诉下一次的主机
改变路由:每一个主机都有一个自己的路由表,当该主机发送数据报的时候,他先查看自己的路由表,看看应该从哪一个接口吧数据报发送出去,由于主机的数量过大,主机不会主动去更新自己内部的路由表,所以,在一个新的主机加入的时候,都会加入一个默认的路由,他会将数据报发送给这个默认的路由,这个默认路由知道到达每一个目的·ip的最佳路由,如果发现最佳的转发路由不是自己,而是另一个,他就用改变路由报文发送黑源主机,源主句就在自己的路由表中加入这个信息
所有的icmp差错报文都是一样的,把收到的数据报的首部和数据字段的前8个字节提取出来,在在前面加上ICMP的前8个字节,就构成了ICMP的差错报告报文。这个作为数据报的数据字段,在加上首部,一起作为ip数据报发送出去。
两种ICMP询问报文:
(1)ICMP请求与回答报文:主机和路由器向主机发送一个ICMP请求报文,目的主机发送一个ICMP回答报文,用来测试两方能否互相通信
(2)ICMP时间戳请求与回答报文:ICMP时间戳报文请某个主机和路由器回答当前的时间,ICMP回答时间戳是一个32位的字段,其中写入的整数表示从1900/1/1到现在的秒数
ICMP应用ping
(1)ping直接是应用层调用网路层的一个例子,应用ICMP请求与回答报文
连续发送4个icmp请求报文
(2)traceroute:用来跟踪源主机到目的主机的路径
是从源主机向目的主机发送的一连串的ip数据报,数据报中封装的无法交付的UDP用户数据报(就是使用了非法端口),第一个将生存时间TTL设为1,到达第一个路由,TTL-1=0.路由器直接丢弃,并向源主机发送了ICMP时间超过差错报文,第二次的TTL生存时间为2,这样依次进行,知道某个路由接受到的ttl-1=1,那么主机不转发了,但是因为无法交付,就返回一个ICMP终点不可到达差错报文。这样就结束了
并不一定经过的路由器多时间就多,可能路由器少的会发生阻塞
ICMP(网际控制报文协议)的更多相关文章
- ICMP(Internet Control Message Protocol)网际控制报文协议初识
ICMP是(Internet Control Message Protocol)Internet控制报文协议.它是TCP/IP协议族的一个子协议,用于在IP主机.路由器之间传递控制消息.控制消息是指网 ...
- ICMP Internet控制报文协议
ICMP是(Internet Control Message Protocol)Internet控制报文协议.它是TCP/IP协议族的一个子协议,用于在IP主机.路由器之间传递控制消息.控制消息是指网 ...
- 2016.7.9 计算机网络复习要点第四章之网际控制报文协议ICMP
1.ICMP允许主机或路由器报告差错情况和提交有关异常情况的报告:为了更有效地转发IP数据报和提高交付成功的机会: 2.ICMP不是高层协议,因为ICMP报文是装在IP数据报中的,作为其中数据部分,所 ...
- 《TCP/IP具体解释卷2:实现》笔记--ICMP:Internet控制报文协议
ICMP在IP系统间传递差错和管理报文,是不论什么IP实现必须和要求的组成部分.能够把ICMP分成两类:差错和查询.查询报文 是用一对请求和回答定义的.差错报文通常包括了引起错误的IP包的第一个分片的 ...
- 国际控制报文协议ICMP
国际控制报文协议ICMP ICMP简介 ICMP 用于主机或路由器报告差错情况和提供有关异常情况的报告(检测网络错误). ICMP 不是高层协议,而是 IP 层的协议. ICMP 报文的格式 ICMP ...
- 《TCP/IP详解卷1:协议》第6章 ICMP:Internet控制报文协议-读书笔记
章节回顾: <TCP/IP详解卷1:协议>第1章 概述-读书笔记 <TCP/IP详解卷1:协议>第2章 链路层-读书笔记 <TCP/IP详解卷1:协议>第3章 IP ...
- TCP/IP详解学习笔记(5)-- ICMP:internet 控制报文协议
1.概述 ICMP是(Internet Control Message Protocol)Internet控制报文协议.它是TCP/IP协议族的一个子协议,用于在IP主机.路由器之间传递控制 ...
- ICMP:Internet控制报文协议
ICMP:Internet控制报文协议. 是IP层的组成部分.传递差错报文或其他信息. ICMP报文被封装在IP数据报内部: 详细格式例如以下所看到的: 个字段含义例如以下: 8位类型. 表示该ICM ...
- ICMP:internet 控制报文协议
ICMP:internet 控制报文协议 1.概述 ICMP是(Internet Control Message Protocol)Internet控制报文协议.它是TCP/IP协议族的一个 ...
随机推荐
- winscp 秘钥登录
如题 如果不想用密码登录,可以选择用秘钥文件登录winscp 原理和linux分发ssh公钥是一个道理 1:在被管理的机器上分发公钥 ,出现 authorized_keys才可以 完成服务端配置 2: ...
- Android L(5.0)源码之图形与图像处理之简单图片——Bitmap
最近在研究android 5.0的gallery模块,学习了相关的知识点,准备写点博客总结一下,有时间了会补充完整
- 一个异步任务接收两个url下载两个图片
有两个url,一个是下载用户头像的url,一个是下载用户上传图片的url,想要用一个异步任务同时下载这两个图片. 程序的下载任务是这么执行的,先接受url参数,然后调用 imgUrls = infoP ...
- UVa 11631 - Dark roads
题目大意:政府为了减小开支决定关闭一些路灯,同时保证照亮的路能连接所有路口. 又是一个MST问题,Kruskal算法,不过数据规模比较大,又Submission Error了...扔这吧... #in ...
- tomcat 修改端口(Java之负基础实战)
1.找到server.xml tomcat 安装路径/config/server.xml 2.搜索8080 修改成想要的端口号 3.重启tomcat
- PHP之Mysql常用SQL语句示例的深入分析
1.插入数据insert into表名(列名1,列名2,列名..) values(值1,值2,值...); insert into product(name, price, pic_path) val ...
- HBuilder mui引导页制作
http://www.bcty365.com/content-146-2582-1.html
- linux 下 tomcat 之 配置静态资源路径
1.找到配置文件 找到tomcat\conf\server.xml 2.找到Host 3. 添加 Context <Host name="localhost" appBase ...
- 【bzoj3998】 TJOI2015—弦论
http://www.lydsy.com/JudgeOnline/problem.php?id=3998 (题目链接) 题意 给出一个字符串,求它的字典序第K小的子串是什么,分情况讨论不在同一位置的相 ...
- JS 上传文件 Uploadify 网址及 v3.2.1 参数说明
http://www.uploadify.com/ 一.属性 属性名称 默认值 说明 auto true 设置为true当选择文件后就直接上传了,为false需要点击上传按钮才上传 . buttonC ...