ICMP协议/IGMP协议详解

网际控制报文协议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报文后,还要利用多播路由选择协议把这种组成员关系转发给因特网上的其他路由器

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

你可能感兴趣的:(计算机网络,IGMP协议,ICMP协议)