IGMP培训课件

合集下载

组播(二)---IGMP

组播(二)---IGMP

组播(⼆)---IGMP⽬录组播(⼆)---IGMP组播⾥⾯⾮常重要的两个协议 IGMP和PIM,我们先学⼀个简单的那就IGMP,IGMP运⾏于终端与最后⼀跳路由器中间(注意是终端与最后⼀跳路由器,⽽不是第⼀跳路由器)。

IGMP有三个版本,V1/V2/V3,V1最为简陋,我们要从V1开始学起,V2弥补了V1的⼀些坑,使⽤的频率⽐较⼴,V3最⼤特点是⽀持SSM,SSM还记得吗?SSM是特定组播源的意思,换句话说V1和V2是不⽀持SSM的。

IGMP的全称是internet group management protocol,名字叫的点⼤,互联⽹组管理协议,我们先从第⼀个版本聊起。

IGMP是构建在IP报⽂的基础上IGMP和ICMP协议看着有点像,是否还记得⼀张OSI七层参考模型的图,在⽹络层这个地⽅,有IP,然后有ICMP和IGMP,IGMP和ICMP们于IP之上,但⼜位于传输层之下,当时不理解这是什么意思,⼯作多年后才发现,ICMP和IGMP都是在IP基本上,也就说数据的结构这样的:帧头--IP头---IGMP报⽂,我们也可以再进⼀步,IP头是晚于IGMP或ICMP封装的,也就是我们可以通过IP的头部的字段来判断出上层协议是什么?如上图所⽰,在IP层的protocol字段当中显⽰为1,意味着他的上层协议是ICMP,如果这个字段是2呢?2其实就是代表上层协议是IGMP,那arp报⽂是什么样?arp是建⽴IP报⽂之上吗?其实arp并不是建⽴在IP之上的,⽽应该在IP之下,所以arp到底是⼆层协议还是三层协议,从这个⾓度来看,arp协议应该是⼆层协议。

IGMPV1IGMPV1的报⽂⽐较简单,就两种类型的报⽂,请求和通告,请求报⽂是周期性发送的,默认是60秒。

请求报⽂是路由器发送的,发送给谁呢?发送给终端,其实就是路由器问⼀下当前接⼝下有没有组员,如果有组员的话,组员通过特定的MAC地址就会收到路由器请求的报⽂,然后组员会通过通告报⽂,告诉路由器(其实也就是⽹关)⾃⼰所属的组,然后路由器会记录下来,知道⾃⼰所连接的某⼀个接⼝下有⼀个组播组,收到这个组的流量要转发到此接⼝;如果没有组员呢?其实没有组员,路由器就收不到通告,路由器悻悻⽽归,知道了⾃⼰的接⼝下没有主机属于某个组,当到了某个组的流量,也不会转发,⽆动于衷。

详解IGMP(Internet组管理协议)报文及协议

详解IGMP(Internet组管理协议)报文及协议

1引言本文将介绍用于支持主机和路由器进行多播的Internet组管理协议(IGMP)。

它让一个物理网络上的所有系统知道主机当前所在的多播组。

多播路由器需要这些信息以便知道多播数据报应该向哪些接口转发。

IGMP在RFC 1112中定义[Deering 1989].正如ICMP一样,IGMP 也被当作IP 层的一部分。

IGMP报文通过IP数据报进行传输。

不像我们已经见到的其他协议,IGMP有固定的报文长度,没有可选数据。

图13-1显示了IGMP报文如何封装在IP数据报中。

IGMP(Internet组管理协议)报文及协议(图一)IGMP报文通过IP首部中协议字段值为2来指明。

2 IGMP报文图1 3 - 2显示了长度为8字节的IGMP报文格式。

IGMP(Internet组管理协议)报文及协议(图二)这是版本为1的IGMP.IGMP类型为1说明是由多播路由器发出的查询报文,为2说明是主机发出的报告报文。

检验和的计算和ICMP协议相同。

组地址为D类IP地址。

在查询报文中组地址设置为0,在报告报文中组地址为要参加的组地址。

在下一节中,当介绍IGMP如何操作时,我们将会更详细地了解它们。

3 IGMP 协议3.1 加入一个多播组多播的基础就是一个进程的概念(使用的术语进程是指操作系统执行的一个程序),该进程在一个主机的给定接口上加入了一个多播组。

在一个给定接口上的多播组中的成员是动态的—它随时因进程加入和离开多播组而变化。

这里所指的进程必须以某种方式在给定的接口上加入某个多播组。

进程也能离开先前加入的多播组。

这些是一个支持多播主机中任何API所必需的部分。

使用限定词“接口”是因为多播组中的成员是与接口相关联的。

一个进程可以在多个接口上加入同一多播组。

Stanford大学伯克利版Unix中的IP 多播详细说明了有关socket API的变化,这些变化在Solaris 2.x和ip(7)的文档中也提供了。

这里暗示一个主机通过组地址和接口来识别一个多播组。

IGMP协议原理

IGMP协议原理

PC1 希望接收来 自S = 1.1.1.1 而 非来自 S = 2.2.2.2的数据
通过IGMPv3, 指 定源可以枝剪掉 来自S = 2.2.2.2 的数据
R3
IGMPv3: JOIN 1.1.1.1, 224.1.1.1 LEAVE 2.2.2.2, 224.1.1.1
PC1 组224.1.1.1的成员
PC1
主机发送IGMP成员关 系报告,表示希望加入 组播组。
PC3
PC2
224.1.1.1
报告
RTA
Page9
IGMPv1查询与响应
PC1
PC2首先发送成员关 系报告。(目的地址 224.0.0.1)
PC2 224.1.1.1
PC3
报告
IGMPv1 查询器
查询
RTA 224.0.0.1
IGMP查询器周期性地 向子网内所有主机 (224.0.0.1)发送成 员关系查询信息 60S。
[RTB]multicast routing-enable [RTB]interface ethernet0/1 [RTB-Ethernet0/1]ip address 172.16.1.1 255.255.255.0 [RTB-Ethernet0/1]igmp enable [RTB-Ethernet0/1]igmp version 2
7
15
类型 最大响应时间
31 校验和
组地址
类型 成员关系查询(0x11) 常规查询:用于确定哪些组播组是有效的,即该组是否还有成员 在使用,常规查询地址由全零表示; 指定组查询:用于查询特定的组播组是否还有组成员。 版本2成员关系报告(0x16) 版本1成员关系报告(0x12) 离开组消息(0x17)

IGMP协议介绍课件

IGMP协议介绍课件

• IGMP Snooping • IGMP Proxy • IGMP 测试方法 • 应用场景
内容
单播和广播
• 传统的IP 通信有两种方式: 单播(unicast)和广播(broadcast) • 单播数据包只能被一台目的主机接收,广播数据
包被物理网络内的所有主机接收 • 单播数据包和广播数据包的区别就是目的IP地址
• 多播MAC地址就是范围 在01:00:5E:00:00:00到01:00:5E:7F:FF:FF内的MAC地址;
• 多播IP地址和MAC地址之间的映射关系; 将MAC地址的前25位强行规定位01.00.5e,而后23位对应 IP地址的后23位,而组播IP地址的前4位均相同。如: IP地址: 1110yyyy.yxxxxxxx.xxxxxxx.xxxxxxxx MAC地址:00000001.00000000.01011110.0xxxxxxx.xxxxxxx. xxxxxxxx
• 一对多通信的应用包括视频会议、在线直播、网 络电视、远程教育、网络电台等。
• 如果用单播实现,则源主机要分别给所有目的主 机发送数据包,显然会造成网络资源的浪费。
• 如果用广播实现,由于路由器不会转发广播数据 包,所以目的主机不能分布在不同的网络中。而 且由于不需要数据包的主机也会收到数据包,会 加重这些主机的负担。
1110XXXX XXXXXXXX XXXXXXXX XXXXXXXX
多播(2)
• 组播地址的分类; • 保留——224.0.0.0 ~ 224.0.0.255 • 用户组播地址——224.0.1.0 ~ 238.255.255.255 • 本地管理组——239.0.0.0 ~ 239.255.255.255 (用于 私人组播领域,类似私有IP地址)

Chap10IGMP

Chap10IGMP

TCP/IP Protocol Suite
3
Note:
IGMP is a group management protocol. It helps a multicast router
create and update a list of loyal members related to each router
The topics discussed in this section include: Message Format
TCP/IP Protocol Suite
5
Figure 10.2 IGMP message types
TCP/IP Protocol Suite
6
Figure 10.3 IGMP message format
IP Layer Data Link Layer Netstat Utility
TCP/IP Protocol Suite
20
Figure 10.9 Encapsulation of IGMP packet
TCP/IP Protocol Suite
21
Note:
The IP packet that carries an IGMP packet has a value of 2 in its protocol field.
TCP/IP Protocol Suite
13
Note:
The general query message does not define a particular group.
TCP/IP Protocol Suite
14
Figure 10.7 General query message

IGMP

IGMP

IGMP的含义:Internet 组管理协议(IGMP)是因特网协议家族中的一个组播协议,用于 IP 主机向任一个直接相邻的路由器报告他们的组成员情况。

IGMP是一个用于在单个网络上特定多播组中主机和网关间建立主机成员关系的协议。

网关在连接一个多播路由协义时使用此信息以支持通过Internet的IP多播。

IGMP被用在IP主机和它们的紧接的邻机多点播送代理之间支持临时组的生成,添加和删除一个组的成员,定期证实组员身份。

IGMP是一个不对称协议而且这里从一个主机观点出发而非一个多播代理来加以说明。

IGMP 信息封装在 IP 报文中,其 IP 的协议号为 2。

IGMP的用途:和与其直接相邻的组播路由器之间建立、维护组播组成员关系。

IGMP不包括组播路由器之间的组成员关系信息的传播与维护,这部分工作由各组播路由协议完成。

所有参与组播的主机必须实现IGMP。

参与IP的主机可以在任意位置、任意时间、成员总数不受限制地加入或退出组播组。

组播路由器不需要也不可能保存所有主机的成员关系,它只是通过IGMP每个接口连接的网段上检测在某个组播组的接收者,即组成员。

而主机方只需要保存自己加入了哪些组播组。

IGMP在主机与路由器之间是不对称的:主机需要响应组播路由器的IGMP查询报文,即以IGMP membership report报文响应;路由器周期性发送成员资格查询报文,然后根据收到的响应报文确定某个特定组在自己所在子网上是否有主机加入,并且当收到主机的退出组的报告时,发出特定组的查询报文(IGMP版本2),以确定某个特定组是否已无成员存在。

多播路由器发送主机成员关系查询信息(下文中称为查询)来发现在哪些主机组在它们附属的本地网络上有成员.查询被写入所有主机组地址(地址是224.0.0.1),携带的IP 生存时间是1.IGMP具有三种版本: IGMP v1、v2 和 v3。

IGMPv1:主机可以加入组播组。

没有离开信息(leave messages)。

组播基础(IGMP)要点

组播基础(IGMP)要点
D 类组播地址范围是从224.0.0.0 到239.255.255.255
地址范围
224.0.0.0-224.0.0.255 224.0.1.0-238.255.255.255 239.0.0.0-239.255.255.255 用户组播地址
含义
为路由协议预留的永久组地址
All rights reserved
Page 8
组播的应用
多媒体
流媒体 培训、联合作业场合的通信
视频/音频会议
IPTV、BTV
数据仓库
金融应用(股票)
任何的“点到多点”数据发布应用
HUAWEI TECHNOLOGIES CO., LTD.
All rights reserved
HUAWEI TECHNOLOGIES CO., LTD.
All rights reserved
Page 15
组播协议分类
主机-路由器之间的组成员关系协议
IGMP(Internet Group Management Protocol)
路由器-路由器之间的组播路由
协议。
HUAWEI TECHNOLOGIES CO., LTD.
2018/10/5
内部公开
课程编码 组播基础
ISSUE 2.0

HUAWEI TECHNOLOGIES CO., LTD.
All rights reserved
随着流媒体、视频等业务在 Internet 上的相继开展, IP 组播技 术和应用开始快速发展。本文主要 分析 IP 组播技术的产生背景、应 用、基本概念和特点,以及相关的 组播技术与基本配置。
HUAWEI TECHNOLOGIES CO., LTD.

第十章IGMP协议

第十章IGMP协议

站点加入群组的流程
进程P申请加入群组MG
站点检查群组MG的成员关系表
MG在成员关系表 中? 否 站点发送群组成员关系报告

<P,MG>加入站点的群组成员 关系表
Membership report
Host or Router
0x16
0
Router
Group address
The protocol requires that the membership report be sent twice, one after the other within a few moments. In this way, if the first one is lost or damaged, the second on replaces it.
G1 G1,S1 S1 S1,G1 S1,G1 G1 G1,S1 S1,G1 S1,G1 G1 G1,S1
S1,G1
S1,G1
G1
发送者
接收者
其它主机 组播路由器
Multicast applications

Access to distributed databases访问分布式数据库 Information dissemination信息传播 Dissemination of news传播新闻 Teleconferencing电视会议 Distance learning远程学习
IGMP is a group management protocol. It helps a Multicast router create and update a list of loyal members related to each router interface.
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

• IGMP Proxy下面的所有主机加入组的请求 都由它统一发给组播路由器;组播路由器 发出的组播数据都由它统一下发给下面的 主机。
IGMP Proxy
组播路由器 服务器
Proxy 接口2 接口3
主机 组播路由器
接收者A 接收者B
接收者C 接收者D
IGMP Proxy
一个例子:
1、主机B为了加入组234.5.6.7而发送报告报文,Proxy记录 接口2下有组234.5.6.7的成员,并向组播路由器发送报告 报文。此时Proxy以主机的身份加入了组234.5.6.7。
单播和广播
• 传统的IP 通信有两种方式:单播(unicast)和广 播(broadcast)。
• 单播数据包只能被一台目的主机接收,广播数据 包被物理网络内的所有主机接收。
• 单播数据包和广播数据包的区别就是目的IP地址 和目的物理地址类型不同。例如,地址 10.28.105.69是一个单播IP地址,地址 10.255.255.255是一个广播IP地址,地址 00:01:02:03:04:05是一个单播MAC地址,地址FF:FF:FF:FF:FF:FF是一个广播MAC地址 。
单播
服务器
广播
一对多通信
路由器
接收者
接收者
接收者
服务器
路由器
路由器 接收者
多播
• 为了解决一对多的通信问题,引入多播技术,多 播(multicast)也称为组播。
• 多播数据包和单播、多播的区别也是目的IP地址 和目的物理地址的类型不同。例如,地址 234.5.6.7就是一个IP多播地址,地址 01:00:5E:01:02:03就是一个多播MAC地址。实际 上,多播IP地址就是范围在224.0.0.0到 239.255.255.255内的IP地址,多播MAC地址就 是范围在01:00:5E:00:00:00到01:00:5E:7F:FF:FF 内的MAC地址,并且多播IP地址和MAC地址之间 存在一定的对应关系。
2、等待一段时间后,主机C也想加入234.5.6.7,同样发送 了报告报文,Proxy记录接口3下也有组234.5.6.7的成员 。不同的是,现在不向组播路由器发送报告报文,这是因 为Proxy已经加入到组234.5.6.7了。
3、当Proxy收到组播数据后,通过查表知道接口2和3包含组 234.5.6.7的成员,所以将组播数据包向这两个接口转发。
IGMP Snooping
查询消息
报告消息
服务器
组播 路由器
端口1 端口2
端口3 端口4
交换机
组MAC地址
端口列表
01:00:5E:01:02:03 端口1,3
接收者A 接收者B
接收者C 接收者D
IGMP Proxy
• IGMP Proxy处于组播路由器和主机之间, 对组播路由器来说,它是一台主机,对主 机来说,它却是组播路由器。
IGMP
• IGMP主要有两种消息,查询消息和报告消 息,报告消息也称为加入消息。
• 查询消息是组播路由器向主机发送的,用 来查询接口所在的网络存在那些组的成员 。
• 报告消息是主机向组播路由器发送的,用 来报告主机当前加入了那些组。
查询消息 报告消息
IGMP
服务器
接口2 接口1
接口3
组IP地址 接口列表 234.5.6.7 接口2
IGMP培训
议程
• 组播 • IGMP协议 • IGMP Snooping • IGMP Proxy
背景知识
• IP地址:互联网使用IP对所有主机进行标识 • MAC地址:又称物理地址,在同一物理网络内对
主机进行标识 • 数据收发:主机在发送数据包时,先给数据包加
上IP地址,再给它加上物理地址;在接收数据包 时,先判断物理地址是否正确,不正确就丢弃, 然后再判断IP地址是否正确,不正确也丢弃。 • 路由器和交换机:路由器用来连接不同的物理网 络,交换机用来连接物理网络内的不同网段。它 们都是用来转发数据包的,不同的是,路由器通 过目的IP地址转发,而交换机通过目的物理地址 转发。
一对多通信
• 一对多通信就是一台源主机发数据包给多 台目的主机,但不一定是所有主机。
• 一对多通信的应用包括视频会议、在线直 播、网络电视、远程教育、网络电台等。
一对多通信
• 如果用单播实现,则源主机要分别给所有 目的主机发送数据包,显然会造成网络资 源的浪费。
• 如果用广播实现,由于路由器不会转发广 播数据包,所以目的主机不能分布在不同 的网络中。而且由于不需要数据包的主机 也会收到数据包,会加重这些主机的负担 。
接收者A 接收者B
接收者C 接收者D
IGMP Snooping
• 默认情况下,交换机在收到组播数据后会 向所有端口转发。显然,向那些不需要组 数据的端口发送是多余的。
• IGMP Snooping的作用就是统计哪些端口 加入了那些组,这样当收到组播数据时, 它就知道需要向哪些端口转发了。
• IGMP Snooping是通过监视IGMP消息来得 知那些端口加入了那些组的。
• 多播数据包可以由多播路由器转发。
多播
组播路 由器
服务器
多播
接收者A 接收者B 接收者C 接收者D
接收者E
IGMP
• IGMP是Internet Group Management Protocol的简写。
• 目前IGMP有三个版本,用的最多的是版本 2。
• IGMP的作用就是让组播路由器知道其每个 接口所在的物理网络中还存在哪些多播组 成员,这样,当多播路由器收到组播数据 时就知道需要向那些接口转发了。
相关文档
最新文档