计算机网络---ICMP、IGMP协议

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

ICMP报文格式

在这里插入图片描述前8位表示报文类型:将ICMP分为两类

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

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

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

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

IGMP协议

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

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

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

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

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

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

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值