实验七、IGMP协议分析
一、实验目的
(1)掌握主机加入多播组和退出多播组的工作方式。
(2)理解路由器如何判断网络中的多播用户是否存在。
(3)掌握IGMPv1和IGMPv2的区别。
二、实验拓扑
图7-1 IGMP协议分析实验拓扑
三、实验步骤
1、搭建实验拓扑,给路由器R1和R2以及PC3配置IP地址,IP地址第二字节修改为自己学号后3位。
2、在R1、R2和PC3上的f0/0接口配置IGMP版本为v1,参考命令如下:
R1(config)#int f0/0
R1(config-if)#ip igmp version 1
R2和PC3参考R1配置
2、在PC3的接口f0/0上启动抓包,在R1和R2上启动多播路由协议,参考命令如下:
R1(config)#ip multicast-routing
R1(config)#interface f0/0
R1(config-if)#ip pim dense-mode
R2参考R1的配置命令配置
问题1:在R1上查看谁是DR?参考命令:
R1#show ip igmp interface f0/0
问题2:查看抓取到的数据包,是哪个路由器在发查询包?
3、将PC3加入多播组224.1.1.1,将第二字节修改为自己学号后3位,参考命令如下:
PC3(config)#int f0/0
PC3(config-if)#ip igmp join-group 224.1.1.1
问题3:查看抓取到的数据包,路由器发送查询的时间间隔是多少?
问题4:在R1中查看多播组,一共有几个多播组,分别是什么?
根据抓取到的查询包和report包填写表8-1
表8-1
问题5:将PC3离开多播组224.1.1.1,在R1上查看经过多长时间可以知道PC3离组?在此期间一共发送了多少个查询报文?
参考命令:PC3(config-if)#no ip igmp join-group 224.1.1.1
问题6:说明IGMPv1的离组方式
4、修改R1、R2和PC3的IGMP版本为IGMPv2,参考命令:
R1(config)#int f0/0
R1(config-if)#ip igmp version 2
问题7:修改后抓包查看是哪个路由器在发组播查询包?和刚才的IGMPv1有森美不同?
5、将PC3加入多播组224.1.2.1,将第2字节修改为自己学号后3位,参考命令:
PC3(config)#int f0/0
PC3(config-if)#ip igmp join-group 224.1.2.1
根据抓取的查询和相应数据包填写表8-2
6、将PC3从多播组224.1.2.1中移除,参考命令:
PC3(config)#int f0/0
PC3(config-if)#no ip igmp join-group 224.1.2.1
查看抓取的数据包中IGMP离组报文以及离组报文后的两个IGMP报文,填写表8-3