1、L2VPN 组播,多业务承载南京测试部黄 亮,L2VPN组播的简介IGMP和IGMP SNOOPING简介L2VPN组播的实现原理L2VPN组播的保护L2VPN组播的配置实例,广播,单播,组播,组播(multicast)是相对于广播(broadcast)和单播(unicast)而言,是点到多点投递或者多点到多点投递;组播基本思想是多个接受者可以同时接收同一个或者一组源所发出的相同数据的一个拷贝,组播,L2VPN组播的优越性,当有多台主机想要接收相同的报文,广播采用的方式是把报文传送到虚拟专用局域网内每个主机上,不管这个主机是否对报文感兴趣。组播有一套对组员和组之间关系维护的机制,可以明确的知道
2、在某个子网中,是否有主机对这类组播报文感兴趣,如果没有就不会把报文进行转发,并会通知上游路由器不要再转发这类报文到下游路由器上。节约网络带宽减少PE和P设备的负载消除流量冗余,L2VPN组播的简介IGMP和IGMP SNOOPING简介L2VPN组播的实现原理L2VPN组播的保护L2VPN组播的配置实例,组播地址,组播使用的地址有两种: IP组播地址和Ethernet组播地址。IP组播地址是标识一个组播组。 224.0.0.0239.255.255.255(Class “D” Address Space) 预留地址 Reserved Link-local Addresses : 224.0.0
3、.0224.0.0.255 该范围内的信息属于局部范畴,不会被路由器转发,只能在局域网中传递 Examples: 224.0.0.1All systems on this subnet 224.0.0.2All routers on this subnet 224.0.0.5OSPF routers 224.0.0.13PIMv2 Routers 224.0.1.0238.255.255.255 用于全球范围或网络协议,可以被组播路由器转发 239.0.0.0239.255.255.255 管理域用地址,组织内部使用,用于限制组播范围,组播地址,Ethernet组播地址是由于所有IP数据包都封
4、装在Ethernet帧中,所以需要一个组播Ethernet地址来标识。 IP组播的低23位放入IEEE MAC地址的低23位。IP组播的28位地址空间,只用了后23位映射到IEEE MAC中去,所以有32(2的5次方)个ip组播地址对应一个IEEE MAC。,IGMP(Internet Group Management Protocol),IGMP是Internet Group Management Protocol(互联网组管理协议)的简称。它是TCP/IP协议族中负责IP组播成员管理的协议,用来在IP主机和与其直接相邻的组播路由器之间建立、维护组播组成员关系。到目前为止,IGMP有三个版本
5、:IGMPv1(由RFC 1112定义):早期最简单的组播管理协议,具有通用查询和加入功能IGMPv2(由RFC 2236定义):对IGMPv1标准的升级,主要增加了请求离开和特定查询功能IGMPv3(由RFC 3376定义):与以上两种协议相比,该协议的主要改动为,允许主机指定它要接收通信流量的主机对象,支持主机阻止那些来自于非要求的主机发送的网络数据包。,IGMP(Internet Group Management Protocol),IGMP 也是IP的一个组成部分,IGMP消息封装在IP报文中,其IP的协议号为2。IGMP报文类型: 0x11 = 成员关系查询,有两个成员关系查询的子类
6、型: 一般查询(general query),用于了解一个组中是否有成员在相邻的网络中。 特定组查询(special query),用于了解在相邻的网络中特定的组是否有成员。 0x16 = 版本 2 成员关系报告 0x17 = 离开组,IGMP(Internet Group Management Protocol),查询路由器作为一个查询者,周期性的在每个邻接的网络上发出通常的查询消息,请求得到成员信息。在每个物理网络上仅能有一个查询者(ip小的为查询器)。一般查询的组地址为0,发给所有主机和路由器 (224.0.0.1),有最大的查询响应时间。当一个主机接收到了普通的查询,它会给每个组都设一
7、个延时定时器,每一个定时器都设为一个不同的随机值,范围从0到查询包中所定义的最大响应时间 。,IGMP(Internet Group Management Protocol),组加入当一主机加入一个组播组,它应该发送一个成员报告消息 给所有路由器,地址为组播组地址。当路由器接收到了报告,它就会把该组报告加入到一个组播组成员列表中,并且会为其成员关系设一个值为组成员生存周期的定时器。重复的报告会导致该定时器的刷新。,IGMP(Internet Group Management Protocol),组离开当一主机离开一个组播组,它应该发送一条离开组的消息 给所有路由器,地址为组播组(224.0.0
8、.2)。当查询者在其接口上接收到了组成员离开组的消息之后,它发送两个特定组成员查询消息给正离开的组(假如关闭了快速离开功能)。,IGMP SNOOPING (组播侦听技术),IGMP SNOOPING是交换机二层功能的一项特性,可以限制IP组播流量的转发。IGMP是Internet组管理协议,运行在主机和组播路由器之间。 IGMP SNOOPING对主机和路由器之间的IGMP协议通信进行监听,使交换机在转发组播数据包前学习到哪些端口属于组播成员可以得到组播转发。这样,组播包只会按照转发表转发到这些成员端口,而不是所有端口,从而限制交换机上组播包扩散,避免不必要的网络带宽浪费,提高交换机的利用率
9、。 IGMP协议运行在网络层,而IGMP SNOOPING运行在链路层。,IGMP SNOOPING (组播侦听技术),IGMP SNOOPING侦听用户的加入和离开IGMP SNOOPING要求局域网交换机去窃听主机与路由器之间的IGMP会话。当交换机窃听到主机的某个组播组的IGMP报告时,它就在有关的组播转发表项上增加该主机的端口号。当交换机窃听到主机的IGMP离开组消息时,它就从组播转发表项上删除该主机的端口。在二层建立和维护组播MAC地址表,以后从路由器下发的组播数据流就根据该组播MAC地址表进行转发。,IGMP SNOOPING (组播侦听技术),IGMP SNOOPING侦听路由器
10、端口交换机窃听路由器所发送的IGMP查询,由此记住路由器所连接的端口。如果该端口失效,或者局域网交换机在特定的时间间隔内在该端口上没有再接收到该路由器发送的IGMP查询,那么交换机会认定该端口上不再有路由器与之连接。,L2VPN组播的简介IGMP和IGMP SNOOPING简介L2VPN组播的实现原理L2VPN组播的保护L2VPN组播的配置实例,L2VPN组播的实现原理,L2VPN组播的实现原理,9000系统实现了一种基于VPLS的IGMP SNOOPING,通过侦听IGMP协议包,在VSI实例中建立L2层以太网组播域,支持实例下端口在组播域的加入、离开和老化等操作。这里的端口就是业务实例中的
11、AC端口和PW端口。当PE从某个AC或PW端口收到IGMP加入报文时,由IGMP SNOOPING模块负责记录该端口和vpn-id,同时分析报文中携带的组播组、vlan等信息,然后将vpn-id、组播组地址与用户端口、vlan之间建立映射关系,写到二层组播转发表中。之后,交换机就可以根据该转发表对组播流量进行二层组播,只有有用户加入的端口才可以收到相应组播组的流量,其它端口都收不到。同样,当用户希望离开某个组播组时,VPLS的IGMP SNOOPING模块侦听到该离开报文,根据报文中的组播组、vpn-id匹配到相应的转发表项,然后删除与其对应的AC或PW用户端口,这样即使设备收到组播流,也不会
12、从该端口转发出去。,L2VPN组播的简介IGMP和IGMP SNOOPING简介L2VPN组播的实现原理L2VPN组播的保护L2VPN组播的配置实例,L2VPN组播的保护,L2VPN组播的保护是建立在L2VPN的保护之上的。相关的保护有TE FRR、TE hot-standby、LDP FRR、PW FRR(后两种在后期版本支持),各种保护需要开启相应的BFD,才能保证保护切换时间各种BFD: TE FRR:三层口下ip rsvp bfd TE hot-standby:TE下的bfd LDP FRR:三层口下路由bfd PW FRR:全局下mpls pw bfd,L2VPN组播的简介IGMP和
13、IGMP SNOOPING简介L2VPN组播的实现原理L2VPN组播的保护L2VPN组播的配置实例,组网环境,配置实例一,用户和组播源在相同的VSI内创建vfi实例将用户端口和组播源端口绑定到vfi中 开启端口的IGMP协议保护 PE1(config)#interface gei_3/24 PE1(config-gei_3/24)#security mode igmp enablePE1(config-gei_3/24)#exit缺省情况下端口的IGMP协议保护都是关闭的,配置实例一,开启全局和vfi实例下的IGMP SNOOPING PE1(config)#ip igmp snooping
14、PE1(config)#vfi zte PE1(config-vfi)#igmp snooping PE1(config-vfi)#exit缺省情况下全局和vfi实例下的IGMP SNOOPING都是开启的,配置实例一,上游PE开启全局和vfi实例下的查询功能 PE2(config)#ip igmp snooping querierPE2(config)#vfi zte PE2(config-vfi)#igmp snooping querierPE2(config-vfi)#exit缺省情况下全局和vfi实例下的查询功能都是关闭的PE1(config)#show ip igmp snoopin
15、g l2vpn-mrport-info Index VpnId Port Cvlan State RemainTime -1 1 30.0.8.2 0 Dynamic 245,配置实例一,发送用户加入和组播流在PE1上查看形成的动态AC用户PE1(config)#show ip igmp snoopingTotal-group-num is 1.Exist-host-group-num is 1.Cfg-drop-group-num is 0.Cfg-prejoin-group-num is 0.Cfg-max-host-group-num is 0.S = Static; D = Dynam
16、ic.Index VpnId VLAN Service Group Drop Prejoin MaxHost Ports-1 1 0 0 225.0.0.1 0 0 0 D:gei_3/24,配置实例二,配置实例二,用户和组播源在不同的VSI内首先需要在下游PE1设备上配置mvlan,将每个组播组和一个mvlan对应,不同的组播组可以对应相同的mvlan,也可以对应不同的mvlan,目前设备上借用了iptv的相关配置(iptv channel mvlan group )。接着再将mvlan绑定到mvfi(又名组播vfi)中,mvfi即组播源端口所在的vpn。当位于VPN 2内的用户,需要访问位
17、于VPN 1内的组播源节目时,首先发送一个相应组播组的IGMP加入报文,该加入报文从AC上来时,携带了PORT+VLAN+GROUP信息,根据该信息查找iptv的channel表,匹配到相应的mvlan,然后根据mvlan三层接口下绑定的vfi,找到对应的mvfi。利用mvfi和远端PE2建立PW连接,就可以将组播流量拉下来。当组播流量到达下游PE1设备后,再负责复制到用户所在的VPN。,配置实例二,上游PE配置同配置实例一下游PE不同的配置在PE1上创建mvlan,并且将组播组和mvlan对应起来PE1(config)#iptv channel mvlan 3000 group 225.0.
18、0.1在PE1上将mvlan绑定到mvfi中PE1(config)#int vlan 3000 PE1(config-if-vlan3000)#xconnect vfi iptv,IGMP SNOOPING的工作模式,透传模式:收到IGMP加入,离开报文,向上游端口透传,收到IGMP查询报文,向下游用户端口透传。透传模式下发送的IGMP报文中源IP和源MAC不变,和用户的源IP和源MAC一致。代理模式:对用户来说,相当于组播路由器;对路由器来说,相当于用户。具体来说,就是:当收到组中第一个用户的第一个加入报文,主动向路由端口发送。其后的报文或者组中其它用户的报文不再向路由端口发送;只有响应查询
19、报文,才会发送。收到通用查询报文,如果有组,并且组中有用户,那么就发送相应组的report报文;如果是特定组查询,并且有这样的组存在,就发送该组的report报文。另外,对应离开报文,只有组中最后一个用户的离开报文才会主动向路由端口发送。代理模式下发送的IGMP报文中源IP和源MAC都变成了设备本身IP和MAC。路由模式:在用户侧作为路由器具有发送通用查询和特殊组查询的功能;在网络侧不转发IGMP报文。,IGMP SNOOPING的工作模式,在实际组网中,PE2的上游组播源侧还会接BRAS或其它设备,而这些设备上通常会开启一些认证业务,对用户加入离开报文中的源IP和源MAC等信息进行认证。这就
20、需要将IGMP SNOOPING的工作模式配置成透传模式,保证设备向上游转发的IGMP加入离开报文中源IP、源MAC和用户的源IP、源MAC一致(缺省情况下,IGMP SNOOPING是工作在代理模式下的,设备向上游转发IGMP加入离开报文时,会把其中的源IP更改为设备的管理口或者网关IP,源MAC替换为设备的网关MAC)。命令模式:vfi配置模式命令格式:igmp snooping mode proxy | transparent | route,IGMP SNOOPING的DROP功能,缺省情况下,如果一个组没有用户时,vpn内的所有用户都会收到该组播组的流量,即流量是在vpn内广播的,这样就大大增加了网络带宽资源的消耗。而DROP功能正是防止这种情况的发生,当没有用户时,流量直接被丢弃。命令模式:vfi配置模式命令格式:igmp snooping drop number ,Q&A,