ICMP协议/IGMP协议详解

ICMP协议/IGMP协议详解网际控制报文协议ICMP功能:ICMP允许主机或者路由器报告差多情况和提供有关异常情况的报告,它是网络层的协议,ICMP报文装在IP数据报中,作为其中的数据部分。ICMP报文的种类ICMP差错报文终点不可达源点抑制超时参数问题改变路由(重定向)ICMP询问报文回送请求和回答时间戳请求和回答ICMP应用举例ping(PacketInternetGroper)命令:该命令利用发送分

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

网际控制报文协议ICMP

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

ICMP报文的种类

  • ICMP差错报文

    • 终点不可达
    • 源点抑制
    • 超时
    • 参数问题
    • 改变路由(重定向)
  • ICMP询问报文

    • 回送请求和回答
    • 时间戳请求和回答

ICMP应用举例

ping(Packet Internet Groper)命令:该命令利用发送分组网间嗅探数据包来测试两台主机之间的连通性

根据经验判断,ping局域网内的地址,延迟应该在10ms以内是正常情况

TTL:生存时间,ping包每过一个路由器,TTL值减1

一般操作系统的TTL值:

  • Linux:64
  • windows:128
  • Unix:255

ping -i 2 命令:更改TTL,跟踪数据包沿途经过的路由器

局域网排除故障的步骤:

  • 1、先ping网关,看看通不通
  • 2、再ping内网主机,检查通不通
  • 3、最后ping外网,检查通不通

使用ping包来估算带宽

  • pathping命令:数据包路径 计算丢包情况
  • tracert 命令: 跟踪数据包路径
  • traceroute命令: 路由器上跟踪数据包

网际组管理协议IGMP

在说IGMP协议之前,先介绍多播的概念

多播,又称为组播,就是进行一对多的通信,这里和广播区分一下:广播是一对所有的通信,一个主机发广播包,同一个局域网的所有主机都可以收到。而组播是指定的几个人可以收到组播包。

组播应用举例

  • 实时信息的交付(比如新闻和股市行情)
  • 软件更新
  • 交互式会议等

组播的优点

  • 与单播相比,在一对多的通信中,多播可以大大节约网络资源

注:局域网具有硬件多播功能,因此当组播包到达局域网时,不需要复制分组,在局域网上的多播组成员都可以收到这个多播包。进行多播通信时,服务器与主机之间没有建立会话,所以每个多播组成员所收到的多播包是同时的,而且是实时的。就像看电视一样,自己并不能随意调整自己所看视频(比如这个多播包是视频数据)的进度。

因特网上多播数据包的传输需要依靠多播路由器(一个路由器要想转发多播包,必须增加一些能够识别多播包的软件)

1992年,因特网上开始试验多播主干网MBONE,它可把分组传播给地点分散但是属于同一个组的许多主机。

在因特网上进行多播就是IP多播,IP多播所传送的分组需要使用多播IP地址

实际上,多播组的标识符就是IP地址中的D类地址!!!

多播使用IGMP协议,多播地址只适用于目的地址,而不能用于源地址,所以,对多播数据包不产生ICMP差错报文

网际组管理协议IGMP和多播路由选择协议

1、IP多播需要两种协议

  • IGMP协议是让连接在本地局域网上的多播路由器知道本局域网上是否有主机参加或者退出了多播组
  • 多播路由选择协议是让因特网上的多播路由器协调工作,以便把多播数据包用最小代价传送给所有的组成员

2、IGMP协议工作的两个阶段

  • 当某个主机加入新的多播组时,该主机应向多播组的多播地址发送一个IGMP报文,声明自己要称为该组的成员。本地的多播路由器收到IGMP报文后,还要利用多播路由选择协议把这种组成员关系转发给因特网上的其他路由器

  • 组成员的关系是动态的,本地多播路由器要周期性的探询本地局域网上的主机,一遍知道这些主机是否还继续是组的成员

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/193852.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • vue 实现父子组件传值和子父组件传值

    vue 实现父子组件传值和子父组件传值先上一张图,vue父子组件传值都用的图片。从张图入手了解如何传参。一、父组件1.引入子组件importrandomfrom”./child-random-paper”;2.注册子组件components:{random,},3.静态组件,循环体<liv-for=”(item,index)inselectedTypeQuestion”:key=”item.id”:ind…

    2022年6月6日
    50
  • Spring Batch(4): Job具体解释[通俗易懂]

    第四章配置作业Job4.1基本配置Job的配置有3个必须的属性。name,jobRepository,steps。一个简单的Job配置例如以下:&lt;jobid="footballJob"&gt;&lt;stepid="playerload"parent="s1"next="gameLoad"/&gt;&a

    2022年4月14日
    49
  • Linux查看用户及其权限管理

    Linux查看用户及其权限管理

    2021年10月23日
    39
  • 详解数据库三大范式、BCNF范式

    文章目录什么是”范式(NF)”1.第一范式(1NF)2.第二范式(2NF)2.1函数依赖2.1.1完全函数依赖2.1.2部分函数依赖2.2码2.3非主属性3.第三范式(3NF)4.小结4.1三大范式总结4.2完全&部分函数依赖4.3表设计规范(范式的选择)什么是”范式(NF)”按照教材中的定义,范式是“符合某一种级别的关系模式的集合,表示一个关系内部各属性之间的联系的合理化程度”。很晦涩吧?实际上你可以把它粗略地理解为一张数据表的.

    2022年4月8日
    45
  • 初学者学习编程语言应该学习哪一种?

    初学者学习编程语言应该学习哪一种?初学者学习编程语言应该学习哪一种?

    2022年4月22日
    54
  • cmd炫酷代码简单_怎么弄电脑炫酷代码

    cmd炫酷代码简单_怎么弄电脑炫酷代码事先准备:新建一个txt,后缀名改成cmd(或bat)里面写代码即可声明:文章目录cmd炫酷代码大全1.循环类1.1.黑客王国1.2.命令tree1.3.我是这条街,这条街,最靓的仔1.4.数字点阵1.5.数字王国加强版2.其他类2.1.观看星球大战完结cmd炫酷代码大全1.循环类1.1.黑客王国coloraechooff:123echo0101010010100101010101010101010101010101010101010101001010101echo10101

    2022年4月19日
    173

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号