组播实验与IGMP协议分析

需积分: 0 0 下载量 70 浏览量 更新于2024-08-04 收藏 5.73MB DOCX 举报
"周五上午-ZY1906812-李泽霖3实验4组播实验" 在本次实验中,我们关注了IP组播的基础知识,包括组播IP地址和组播MAC地址的对应关系,以及IGMP协议的相关概念。实验主要涵盖了以下几个方面: 1. **组播IP地址与MAC地址映射**: - 组播IP地址239.1.1.1对应的组播MAC地址是0x01005e010101。根据组播地址映射规则,所有224~239.1.1.1以及222~239.129.1.1的IP地址都会映射到同一个MAC地址,这是因为组播MAC地址的前三个字节是固定的01-00-5E,后面的三个字节与IP地址的最后三个字节相同。 2. **主机IP模块与数据链路层接收列表的作用**: - 在Windows系统中,可以使用"netsh interface ip show joins"命令查看接口的组播成员资格,即主机IP模块的接收列表。而"netsh interface ip show ipnet"则可以显示数据链路层的接收列表。这两个列表用于管理和过滤接收到的组播流量,确保只有属于指定组播组的主机才能接收相应的数据。 3. **组播报文的传播**: - 不支持组播的交换机会将组播报文转发到所有端口,但目标主机在收到非其自身的组播数据后会将其丢弃。在Wireshark捕获的报文中可以看到这种现象。 4. **IGMP协议分析**: - IGMP(Internet Group Management Protocol)是用于管理IP组播成员资格的协议。在这个实验中,10.5.1.1(R1)因其IP地址最小,成为了查询器。 - IGMP协议的版本是2,查询时间为60秒,最大响应时间为10秒,实验中加入了3个组播组。 - 报文类型包括Query查询报文,其中MulticastAddress字段值为0表示向所有组查询,特定组播地址表示特定组查询。 5. **IGMP协议在不同主机上的差异**: - 当PCB和PCC停止接收组播报文后,IGMP协议会根据成员资格报告来调整其行为。例如,当发现组播组255.1.1.1在PCB上无成员时,不会继续广播;而在PCC上,由于239.1.1.1组播组仍有PCD作为成员,因此会继续发送报文。 6. **PIM-DM协议**: - Hello报文中的Holdtime字段用于指示邻居关系的有效时间,若超过这个时间未收到对方的Hello报文,则认为邻接关系失效。Expires列表示距离邻接关系超时的剩余时间。 - 如果PIM-DM(Protocol Independent Multicast - Dense Mode)协议缺少嫁接(Join)和嫁接应答(Prune Response)机制,PCC可能无法收到组播报文,因为这些机制是PIM-DM中用于控制组播流量传播的关键部分。 通过这个实验,我们可以深入理解组播的基本原理、IGMP协议的工作流程以及PIM-DM协议中Hello报文的重要性和组播树的构建过程。这对于网络管理员和网络工程师来说是至关重要的知识,有助于优化网络效率和服务质量。