美文网首页
组播-igmp测试小结

组播-igmp测试小结

作者: 软件测试之二叉树 | 来源:发表于2017-12-19 20:18 被阅读0次

本文描述的设备为我们自研的RTK switch,有igmp-snooping功能和igmp query功能,没有igmp proxy功能

本文列出的测试点并不是组播所有的测试点,仅可以作为相关测试概念的参考。

测试点1:路由端口测试

组播路由器端口是连接路由器的端口且该路由器会发送igmp query报文或者pim hello消息。交换机上所有路由器端口都记录在交换机的路由器端口列表中。交换机路由器端口列表中有静态路由器端口和动态路由器端口以及forbidden路由器端口(禁止成为路由器端口)

测试点2:成员端口测试

组播组成员端口为开启igmp-snooping后形成的组播转发表中的端口,组播组成员端口表示该组播组可以转发到的端口。

测试点3:普遍组查询报文的转发

普遍组query报文为组播查询器定期发送的报文,该报文会转发到交换机vlan内的所有端口,该报文的目的地址为224.0.0.1。

测试点4:join报文

当收到查询报文后,客户端会发送join报文到交换机,如果开启了igmp-snooping功能会形成组播转发表,该报文会转发到交换机的所有路由器端口,而不会转发到其他端口,如果其他端口下面也有该组播组的成员,那么当他收到了一个客户端的报告报文后就不再发送join报文了,导致组播转发表不能再学习到该端口。

测试点5:leave报文

当一个客户端想要离开某组播组,会发送离开报文。IGMPv1不支持leave报文。如果不存在该组播组对应的转发表项,或者该组播组对应转发表项的出端口列表中不包含该端口,交换机不会向任何端口转发该报文,而将其直接丢弃;如果存在该组播组对应的转发表项,且该组播组对应转发表项的出端口列表中包含该端口,交换机会将该报文通过VLAN 内的所有路由器端口转发出去。同时,由于并不知道该接收端口下是否还有该组播组的其它成员,所以交换机不会立刻把该端口从该组播组所对应转发表项的出端口列表中删除,而是重置其老化定时器。

测试点6:报告报文抑制功能

为防止交换机下所有客户端向同一个组的报告报文都发送给路由器,造成网络负载过大,交换机可以开启报告报文抑制功能。抑制效果见下图

测试点7:快速离开功能测试

当交换机开启快速离开功能后,当一个端口收到了某组的离开报文,查询器不会向该端口发送特定组查询报文,所以该端口会立即从该组播组成员端口中快速删除,导致该端口下的其他的客户端也收不到该组播组的流量。反之如果没有开启快速离开功能的话,该端口收到了某组的离开报文,会在该组播组转发表中保留3s,等待特定组查询报文的到来,如果3s中内未收到特定组查询报文,再将该端口从组播组成员端口中删除。

测试点8:特定组查询报文测试

特定组查询报文配合测试点7的快速离开功能测试,注意特定组查询报文只会发给该组播组的成员端口。

下面结合两种拓扑图对上面报文的转发进行分析

拓扑1:rtk switch igmp snooping开启、query关闭,vlc只有一个组播组

路由器定期发送查询报文,交换机端口1收到query报文后动态加入到交换机的路由器端口列表中同时将query报文转发到除接收端口外的其他端口,此时pc a、pc b和pc c都收到了查询报文,他们都会发送join报文到交换机,但是pc a和pc b的报告报文互相都可以收到,所以端口2每次只会收到他们中的一个join报文,由于交换机开启了igmp snooping,交换机收到join报文后会形成端口2和端口3的组播转发表,同时将join报文转发到路由端口1,然后再转发到路由器,如果开启了报告报文抑制的话,那么只会从交换机路由器端口转发同一个组的一个join报文到路由器。如果关闭的话,pc a、pc b和pc c的join报文都会转发到路由器。

交换机开启快速离开功能,pc a发送leave报文到交换机,交换机端口2收到leave报文后,发现端口2在它的端口转发表中,立马将其删除,并转发leave报文到所有路由器端口,路由器收到leave报文后会发送特定组查询报文到收到leave报文的端口,交换机收到路由器发送的特定组查询报文后,转发到它的成员端口,此时端口2收不到特定组查询报文,端口3收到特定组查询报文,所以pc a快速离开后,pc a和pc b立马停止接收组播流,pc c继续接收组播流。

交换机不开启快速离开功能,pc a发送的leave报文到交换机,交换机端口2收到leave报文后,发现端口2在它的端口转发表中,将会重置其定时器,我们的交换机将其置为3s,并转发leave报文到所有路由器端口,然后再转发到路由器,路由器收到后会发送特定组查询报文到交换机的路由器端口,然后再转发到交换机组播组的所有成员端口,所有交换机会将特定组查询报文转发到端口2和端口3,pc b和pc c都将会回复这个特定组查询报文,所以pc a快速离开后,pc b和pc c都会继续接收组播流。

拓扑2:rtk switch igmp snooping开启、query开启

如上图,交换机定期发送查询报文到所有端口。此时交换机上不会存在路由端口,交换机web页面上的报告报文抑制功能在此拓扑图下不起作用。pc a、pc b和pc c同时收到了交换机发送的query报文,由于pc a和pc b处在同一链路上,他们的报告报文会自动抑制,端口2每次只会收到一个join报文。pc c会发送加入报文到交换机端口3。交换机开启了igmp snooping,会形成组播转发表。

交换机开启快速离开功能,pc a发送leave报文到交换机,交换机立马将端口2从组播转发表中删除,此时pc b也不会收到组播数据流了,只能等下一个igmp genery query的到来。端口3不会受到影响,依然存在于组播转发表中。

交换机关闭快速离开功能,pc a发送leave报文到交换机,交换机不会立马将端口2从组播转发表中删除,而是重置其老化定时器,等待特定组查询报文的到来。pc b和pc c都为特定组查询报文的接收端口,他们都会回应该报文。

相关文章

  • 组播-igmp测试小结

    本文描述的设备为我们自研的RTK switch,有igmp-snooping功能和igmp query功能,没有i...

  • 组播IGMP

    一.什么是组播?1.一个发送(组播源),多个接收,接收的有个特点就是在同一个组播组里面,组播组有自己的IP2.对于...

  • 组播之IGMP(3)

    IGMP Snooping IGMP Snooping通过侦听组播路由器和主机之间的IGMP报文,在交换机上创建二...

  • 组播之IGMP(2)

    IGMP(Internet Group Management Protocol)互联网组管理协议负责组播组成员注册...

  • 【HCIP】组播-IGMP Snooping

    二层组播数据转发 组播数据会在二层进行泛洪,造成1、网络资源浪费2、存在安全问题 我们看上边的这个图片,B是组G2...

  • 【HCIP】组播-IGMP实验

    简单配置IGMP协议(#IGMPv2实验) IGMP协议主要是组成员和路由器之间交互的一种协议,所以需要在路由与客...

  • 组播-MVR功能测试

    引言 三层的IGMP协议广泛用于IPv4网络组播。在二层网络中,IGMP协议使用资源效率低下,例如:即使少数几个接...

  • HC12-221笔记

    一、题库介绍 页数:214P 题目:305道 题型:单选、多选、判断 二、题目分类 IGMP、组播 IGP:OSP...

  • IGMP协议

    概念 IP组管理协议IGMP(Internet Group Management Protocol)IGMP协议是...

  • IGMP: Internet 组管理协议

    IGMP:他让一个物理网络上的所有系统知道主机当前所在的多播组,多播路由器需要这些信息以便知道多播数据报应该向哪些...

网友评论

      本文标题:组播-igmp测试小结

      本文链接:https://www.haomeiwen.com/subject/hqsuwxtx.html