组播IGMP snooping原理
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
定期向224.0.0.1发送成员资格查询
IGMP v1—退出组播组
H1 H2 H3
IGMPv1
主机“安静”退出组播组 路由器发送定期查询 路由器继续发送定期查询
向 224.0.0.1查询
路由器在一定时间内收不到报告 组播组超时
IGMP v2—退出组播组
H1 224.1.1.1
H2
IGMP Snooping(IGMP监听)
为什么引入IGMP
Snooping(IGMP监听) ?
• IGMP组播成员管理机制是针对第三层设计的
• 组播报文经过一些第二层交换设备时, 就会转发
给第二层交换设备的所有端口
• IGMPSnooping功能用于改善二层交换机对组播
流转发机制
没有igmpsnooping时,组播数据流在二层交换机被 广播发送
PC想离开某个组,发送离开报文,交换机收到离开报文后,该组对应的端口成员会被删除,
组播流就不会再往PC所在的端口转发。
IGMP Snooping的工作原理
PC收到查询报文后,想加入某个组,发送IGMP report报文,report报文经过交换机交换机对
这个报文进行监听,并根据report报文的内容形成一张组播表,即组成员和端口的对应关 系 。该report报文只会向路由端口转发。 组播表 switch(config)#sh ow multicast show multicast table information Time interval of multicast proxy is 10s MAC Address : 01:00:5e:00:02:02 组mac地址 VLAN ID : 26 Static port list : IGMP port list : e0/0/4,e0/0/6. 组播成员端口 Dynamic port list : Proxy port list : Total entries: 1 .
IP组地址
组播地址
D类地址(224.0.0.0) 范围;224.0.0.0--239.255.255.255
已被IANA分配的地址
预留地址;224.0.0.1--224.0.0.255
224.0.0.1---子网上所有的组播系统 224.0.0.2---子网上所有的IGMP路由器 224.0.0.22---子网上所有的IGMPv3路由器
组播与igmp-snoooping
组播简介 组播协议 IGMP snooping
测试技巧
组播简介
为什么采用组播?
•向多位收件人发送相同的信息 •一对多,多对多 •只在需要时进行包复制 •提高带宽利用率 •成员可以动态加入或退出
应用
•资源发现/服务广告 •视频/语音会议,股票分发
单播和组播的比较
IGMP V1报文格式
0 34 78 未用 15 16 16位校验和 8byte 31 4位 4位 IGMP 版 IGMP 本 (1) 类型 (1-2)
32位组地址(D类IP地址,查询报文中该域为0)
IGMP报文格式
IGMPv1
IGMP v1
–报告 •一个主机想加入某个组,或响应查询报文时,发送 IGMP 报告 –查询 •查询者将 IGMP 查询信息发送到 224.0.0.1 , TTL = 1 •局域网上的一个组播路由器被选中发送上述查询 •查询间隔 60–120 秒
临时地址,动态的分配与回收
全局范围:224.0.1.0-238.255.255.255-------公网
有限制的范围: 239.0.0.0-239.255.255.255—私网 组播地址是作为目的地址使用
组播地址映射
以太网的MAC地址01:00:5E:00:00:00到01:00:5E:7F:FF:FF用 于将三层IP组播地址映射为二层地址,即IP组播地址中的低 23位放入MAC地址的低23位。IP组播地址有28位地址空间, 但只有23位被映射到MAC地址,这样会有32个IP组播地址映 射到同一MAC地址上
IGMPv3
增加的主要功能是成员可以指定接收或
指定不接收某些组播源的报文
IGMP—加入组播组
H1 H2
224.1.1.1 报告
源自文库H3
1.1.1.1
成员在加入(组播组224.1.1.1)时,立即
向224.1.1.1发送报告报文
IGMP —通用查询
H1 H2 H3
向 224.0.0.1 的通用查询
有了igmp-snooping,组播数据流只会向特定的组 播用户发送,避免了组播数据流泛滥。
IGMP snooping基本概念
路由端口:设备端口中收到IGMP查询报文的端口称之为组 播路由端口。 路由端口老化时间:路由端口老化定时器设置时间。如果在 此定时器超时的时候还没收到查询报文,则老化此路由端口。 响应查询最晚时间:当以太网交换机收到特定组查询报文时, 会在收到IGMP Leave报文的端口上启动一个响应查询定时 器。如果在响应查询最晚时间内没有收到报告报文,就把该 端口从组播组端口成员中删除。 组播组成员端口老化时间:当一个端口加入组播组中的时候 会同时启动该端口的老化定时器。如果在此定时器超时的时 候没有收到IGMP报告报文,则老化该组播成员端口
退出至 224.0.0.2 H2
224.1.1.1
H3
#1
报告至 224.1.1.1 #3 1.1.1.1 IGMPv2 对 224.1.1.1的 特定组查询 #2
退出组;发送退出 消息到224.0.0.2 路由器发送 特定组查询到224.1.1.1 保留的主机成员发送报告 组播组仍然活动 降低退出延迟,节约网络带宽和主机CPU占用
IGMP Snooping的工作原理
组播路由器向下面周期性的发送通用查询报文,交换机收到查询报文的端口会被学习为路
由端口,并把收到的查询报文会向其它的端口转发
动态学习到的路由端口: switch(config)#sh igmp-snooping router-dynamic Port VID Age Type e0/0/1 26 300 { QUERY } Total Record: 1
IGMP V2报文格式
0 8位 IGMP 报文类型 7 8 最大响应时间 15 16 16位校验和 8byte 31
32位组地址
IGMPv2
增加离开报文
----主机退出组播组时,如果它是该组的最后一个成员,则发送 退出消息(同v1相比,降低了退出延迟)
增加特定组查询报文
----路由器在停止向某一子网发送数据之前要发送与该组相关的 查询来确认该子网已无该组播组成员
IGMP Snooping的工作原理
PC不想再接收某个组的组播流时,发送该组的igmp leave报文,交换机端口收到igmp leave报文,会把该端口从该组删除,PC就不会再收到该组的组播流。
交换机收到igmp leave报文,会向路由端口转发
。
测试
1、交换机1端口接组播源,2、3端口接用户,开启igmp-snooping;
2、组播源向交换机发送通用查询报文,2、3用户是否能收到?哪个端口会被学习为 路由端口? 3、组播源向交换机发送组播流, 2、3用户是否能收到? 4、2用户发送report报文,加入该组播流的组,2、3是否能收到组播流?哪些端口 能收到2发的report报文?
答案: 2: 2、3用户能收到通用查询报文,1端口被学习为路由端口 3: 2、3用户能收到组播流 4: 2用户能收到组播流,3用户不能;report报文往路由端口转发,所以1端口能 收到。