2然后PC就回应一个report报文。这个回应报文两个意思1ACK、2主动发起者,让路由器得知哪个组员知道了。
------------------ IGMPv2
针对v1,v2增加了两个包1指定组查询包,2多了离开组报文。加上V1的两个包一共是4个包。
在v2里面有个概念就是querier:查询者
在网络中有多台路由器属于“最后一跳”发送查询的时候,v2版本,查询包IP地址较小的一台发查询。
V1版本(PIM,DR充当查询者)
最后一跳只有一台路由器的时候查询包每60发送一次,PC如果在180秒时间里面没有回应我就会认为下面没人了,这个180秒为holddown时间。
最后一跳有多台路由器的时候,无问题的情况下是由查询者发查询包,也是每60秒发送,120秒时间内非查询者收不到查询者的查询包那么我就确定查询者down了,我这会开始转发查询。
---------------------------------------------------------------------------- 好我们来看一个简单的多播实验,
R1 和R2为最后一跳路由器,PC3为接收者。 首先要让两台路由器能够发多播。 r1(config)#ip multicast-routing r2(config)#ip multicast-routing
然后两台路由器的接口上要同时运行一个PIM协议模式(现在各位先 不管什么PIM) r1(config)#interface fastEthernet 0/0 r1(config-if)#ip pim sparse-mode r2(config)#interface fastEthernet 0/0 r2(config-if)#ip pim sparse-mode ----
PC3模拟成接收的组:224.1.1.1/24 pc1(config)#interface fastEthernet 0/0
pc1(config-if)#ip igmp join-group 224.1.1.1 -----
1 好配置完毕后去R1上查看
这会R1为查询者,发送的都是版本2,查询周期是60秒,查询者挂了的时间为120秒,回应时间为10秒。123.1.1.1/24也就是R1自己是查询者。 2 PC1加入到这个组我们看?
3 然后把所有的debug信息全部打开,debug ip igmp,去PC上关闭看离组消息。 pc1(config-if)#no ip igmp join-group 224.1.1.1 首先PC上
会出现一个离组消息。
然后再R1上会出现两个消息。
一个是PC的离组消息,然后R1把超时时间至于2秒内,2秒内查询消息没有回应那么我就认为这个组挂了。
-------------------------------------------------------------------------------------------------------------
好我们接着往下看,V3版本多了一个源信息,假设源的信息来自多个,那么PC作为接收方我可以自己选择。
---------------------------------------------------------------------------------------------------------------- 二:2层组播地址
2层组播地址和自身的问题是很容易理解,我们回顾下NA的知识就行了,交换机在收到多播和广播的情况下都会给本VLAN泛洪。这样一些不愿意收到此类信息的PC也都要收到了。 ----------------------------
两个技术解决这个问题:igmp snooping(igmp的窥视---公有) Cisco group managament protocol(CGMP---思科私有) -----------------------------
igmp snooping做法简单一些只需要在交换机上启用就行了。 Cgmp 需要在路由器和交换机上都要做。 ----------------------------
好我们现在看snooping,首先我们看交换机默认来说是不会拆开三层信息的,那么snooping就是拆掉了三层信息。简单的说交换机截获PC发上来的igmp端口的report报文,然后做端口和多播地址的对应表象。
当我们全部配置完毕后我们可以在交换机上查看到PC组播对应的接口信息,很可惜这是杨老师在真实机上截下来的,而我们的虚拟设备上没有这个命令。
---------------------------------------------------
CGMP:思科私有协议,当有些交换机不能直接拆三层怎么办,如果是个二层交换机怎么办那么这会就要用CGMP了,(思科这个技术很狡猾看上去是解决了些低端二层设备的组播问题但是作为用户有可能要为此多买设备)。
当低端的二层设备收到PC传上来多播信息,那么直接上传给路由器,这会路由器就会发CGMP报文,这个报文头部直接封装2层信息传给交换机,这会交换机就能明白PCmac和组播目的mac的对应关系了。
------------------------------------------------------------------------------------------------------------------- 多播转发:
说到多播转发首先就要看它和单播的一个区别,单播路由表指的是这个信息如何离去,多播路由表指的是这个信息是如何进来。