为了更有效的转发IP数据报提高交付成功的机会,在网际层使用网际控制协议ICMP,主机或者路由器使用ICMP来发送差错报告报文和询问报文

ICMP报文格式

前8位表示报文类型:将ICMP分为两类

  1. 差错报文:主要是回应网络错误(终点不可达,重定向等)
  2. 查询报文:用来查询网络信息

8位代码:主要是对ICMP进一步细分。
16位校验和:对整个报文进行循环冗余校验,检验报文在传输的过程中是否损坏。

ICMP协议常见的差错报文情景

  • 终点不可达
  • 路由器不知道如何发送报文。当路由器收到一个IP数据报,根据其首部的数据字段的值,查找路由表,但是在路由表中找不到该数据字段的值,就丢弃该数据报,并向源数据端发送“终点不可达”的差错报文。
  • 当主机收到了一个数据报,但是发现该数据报不知道是哪个程序的,则将其丢弃,同时会向发送端发送“终点不可达”信号。
    每个数据报中都有 一个端口号,用来标记该数据报是哪个应用程序的。例如:当主机收到了一个抖音的数据报,但是发现自己根本没有抖音这个软件,则会告诉发送端“终点不可达”。
  • 时间超过
  • 每个数据报都有一个生存周期TTL,数据报经过一个路由该TTL值会减1,当TTL的值为0时,则路由会将该数据报给强制丢弃。
  • 当终点在预先的时间内,没有收到所有的数据报文,则会将已经收到的数据报文给丢弃,并想发送端发送时间超过的报文。
系统 TTL默认初始时间
Windows 128
Linux 64
Unix 255
  • 参数问题
  • 当路由器或目的主机收到的数据报的首部中有些字段的值不正确时,就会丢弃该数据报,并向发送端发送“参数问题”的数据报
  • 改变路由,重定向
  • 路由器把“改变路由”的报文发送给主机,告诉主机下次应将数据报发送给另一个路由器,使得数据报的发送可以通过更好的路由。

ICMP协议常见的询问报文情景

  • 回送请求应答。主机或者路由器向一个特定的目的主机发送询问,测试目的主机是否可达。

  • 时间戳请求应答。请求某个主机或路由器回答当前的时间,用来判断时钟同步和测量时间。

IGMP协议

IGMP主要是用来在互联网上传送多播数据报。IGMP叫做网际组管理协议。

提到IGMP协议就不得不说数据在互联网上通信的方式:

  • 点对点通信
    例如:我们生活中一个人对另一个人说话,这种方式就类似于点对点通信。
  • 广播通信
    例如:在学校举行运动会时,领导在前面讲话,下面的学生都可以听到。
  • 多播通信
    例如:网络视频会议,网络视频点播。

IGMP就主要负责多播传输数据报,它作用于路由器,当检测到路由中有多播通信,则要求路由器传输数据报。

IGMP工作可分为两个阶段
  • 阶段一:当某个主机加入到多播组时,该主机向多播组的路由器发送一个IGMP报文,声明自己是该组成员,路由器收到IGMP协议后,同样也会告诉其他路由器。
  • 阶段二:当多播组里面没有主机时,路由器也就不往该多播组发送数据报。

例如:班里转来了一个新同学,班主任会将该同学告诉给各个任课老师。(阶段一)
放假时,班里已经没有一个同学了,老师自然也不会上课了。(阶段二)

计算机网络---ICMP、IGMP协议相关推荐

  1. 计算机网络——ICMP/IGMP协议原理

    摘要 ICMP全称是Internet Control Message Protocol,也就是互联网控制报文协议.网络包在复杂的网络传输环境里,常常会遇到各种问题.当遇到问题的时候,总不能死个不明不白 ...

  2. 【计算机网络】网络层 : IP 组播 ( IP 数据报传输方式 | 组播 IP 地址 | 组播 MAC 地址 | IGMP 协议 | 组播路由选择协议 )

    文章目录 一.IP 数据报传输方式 二.组播 IP 地址 三.组播 MAC 地址 四.IGMP 协议 五.组播路由选择协议 一.IP 数据报传输方式 IP 数据报传输方式 : ① 单播 : 发送数据到 ...

  3. ICMP协议/IGMP协议详解

    网际控制报文协议ICMP 功能:ICMP允许主机或者路由器报告差多情况和提供有关异常情况的报告,它是网络层的协议,ICMP报文装在IP数据报中,作为其中的数据部分. ICMP报文的种类 ICMP差错报 ...

  4. 计算机网络之网络层:10、IP组播、IGMP协议、组播路由选择协议

    网络层:10.IP组播.IGMP协议.组播路由选择协议 思维导图: TCP/IP协议: IP数据报的三种传输方式: IP组播地址: 硬件组播: 因特网范围内组播: IGMP协议: IGMP协议的俩个工 ...

  5. 计算机网络各层协议说明及常见协议

    计算机网络协议,记录 目录 概念图 各层说明及协议 一.物理层(Physical Layer) 二.数据链路层(Datalink Layer) 三.网络层(Network Layer) 四.传输层(T ...

  6. 计算机网络(TCP/IP协议簇)

    计算机网络 参考模型 主要协议 TCP UDP IP 点对点协议PPP 以太网 物理层 数据通信系统 信号 信道 信号调制 编码(基带调制) 带通调制 信道的极限容量 传输媒体 信道复用 其他 数据链 ...

  7. TCP/IP详解--学习笔记(7)-广播和多播,IGMP协议

    1.单播,多播,广播的介绍 1.1.单播(unicast) 单播是说,对特定的主机进行数据传送.例如给某一个主机发送IP数据包.这时候,数据链路层给出的数据头里面是非常具体的目的地址,对于以太网来 说 ...

  8. TCP/IP详解学习笔记(7)-广播和多播,IGMP协议

    1.单播,多播,广播的介绍 1.1.单播(unicast) 单播是说,对特定的主机进行数据传送.例如给某一个主机发送IP数据包.这时候,数据链路层给出的数据头里面是非常具体的目的地址,对于以太网来 说 ...

  9. 读书笔记九:TCP/IP详解之广播和多播,IGMP协议

    单播,多播,广播的介绍 单播(unicast) 单播是说,对特定的主机进行数据传送.例如给某一个主机发送IP数据包.这时候,数据链路层给出的数据头里面是非常具体的目的地址,对于以太网来 说,就是具体网 ...

最新文章

  1. ubuntu 定时执行任务at
  2. java注册登录客户端_GitHub - a-voyager/LoginSystem_Client: 登录注册系统(桌面客户端)——Java课程实践...
  3. linux添加zip扩展
  4. c语言编译后找不到exe,在VS 2015命令提示符中找不到c – rc.exe
  5. react 使用 mobx_如何使用React和MobX状态树构建基于状态的路由器
  6. 图像处理中的通信原理——冈萨雷斯读书笔记(一)
  7. Shell脚本——内置命令
  8. 第一条Pulsar消息发送
  9. anaconda 包区别 版本_我是如何用Anaconda来管理Python的
  10. 获取微信的access_tokey,处理json格式的数据
  11. php_D3_“简易聊天室 ”实现的关键技术 详解
  12. matlab怎样设置中文界面
  13. 数据分析师笔试刷题题库(2020最新版)
  14. python下载模块的两种方式(模块环境不一致问题解决)
  15. 如何把HTML背景图片变透明,photoshop怎样把图片背景变透明
  16. 一款医疗设备用超高耐压的千兆单口网络变压器H82407SG
  17. n1进入recovery模式_N1盒子系列 篇一:N1简明降级刷机教程
  18. 总结几个有关国家行政区划的问题
  19. 小象大数据全套视频教程
  20. npm WARN read-shrinkwrap This version of npm is compatible with lockfileVersion@1, but package-lock.

热门文章

  1. python 两个队列进行对比
  2. Java 8 Optional类深度解析(转)
  3. 关于VSCode更新对于emmet2.0支持的配置更改问题。
  4. centos activemq 集群配置 Networks of Brokers
  5. 一次Linux服务器***查杀经历
  6. 小毛thinking:why c# sucks and python rocks
  7. 几款4Gb光纤连接产品对比
  8. X86汇编语言从实模式到保护模式18:中断和异常的处理与抢占式多任务
  9. FreeRTOS内核实现06:任务延时列表
  10. 信息安全管理与评估_信息安全管理06_定性信息安全风险评估方法