VPLS组播功能实现与研究

时间:2022-07-17 01:50:59

VPLS组播功能实现与研究

摘 要:本文介绍了VPLS组播的实现原理以及其硬件实现方式,通过运行组播协议在VPLS中建立二层组播转发表项,从而实现组播报文的准确转发,减轻了PE设备的负担,更加节约公网带宽资源。

关键词:组播;接入链路;伪线;侦听

中图分类号:TN915.02

虚拟专用局域网服务(VPLS)是在广域网上提供虚拟以太网服务的技术,提供多点到多点的VPN组网方式,实现跨广域网的局域网站点之间的互连。随着用户对信息的消费急剧增长,各种宽带网络应用如网络电视、视频会议、远程医疗、多媒体远程教育等都促使VPLS组播技术越来越受到重视,具有很大前景。

VPLS的典型组网包括用户边界网络设备和运营商边界网络设备等组成,其中CE通过接入链路与PE设备连接,在PE之间建立公网隧道,然后在各PE上创建虚拟交换实例并在VSI内配置伪线,同时要求在所有PE之间建立全连接的PW。

传统的VPLS中组播报文的转发都采用广播的方式发送,这样容易在VPLS网络中引起大量的泛洪,导致VSI内的所有CE和PE设备都会接收到该组播报文。通过互联网组管理侦听协议来管理和控制组播组,可以解决组播报文的泛洪。二层设备对接收到的IGMP报文进行分析,并将设备端口加入组播组,这样已知组播组的组播数据就不会被广播,而是发送给指定的接收者。

1 VPLS组播的实现原理

对于VPLS组播,通过IGMP snooping对PE设备的组播组进行管理和控制,同时在AC和PW逻辑端口侦听接收到的IGMP协议报文,完成VSI实例中二层以太网组播域的建立,并支持端口在组播域的加入、离开和老化等操作,从而实现组播报文的准确转发。

1.1 路由端口加入和离开

当PE设备从AC或者PW逻辑端口接收到IGMP组查询报文时,将报文通过VSI内除该端口之外的其他端口转发,并完成该VSI对应的路由器列表中端口成员的加入过程,并同步更新该端口的老化定时器。

如果路由端口中列表中AC或者PW逻辑端口对应的老化定时器超时,则将该端口从路由器端口列表中删除。

1.2 组播成员加入和离开

当PE设备通过AC或者PW逻辑端口接收到IGMP成员关系报告报文时,解析出组播组地址,创建组播转发表项,将端口加入组播转发表项的成员列表中,同步更新该端口的老化定时器,并将该报文通过该VSI对应的路由器端口列表中所有的端口转发。

如PE设备通过AC或者PW逻辑端口接收到特定组查询的IGMP成员关系报告报文,则同步更新该端口的老化定时器。

如PE通过AC或者PW逻辑端口接收到IGMP离开组报文,根据该报文查找对应的组播转发表项,同步更新该表项对应的成员列表中端口对应的老化定时器,并将该报文通过VSI的路由器端口列表中所有的端口转发。

如组播转发表项中对应的成员列表中的端口老化定时器超时,则将该端口从对应的组播成员列表中删除。

2 VPLS组播转发表

VPLS组播转发表包括多个VPLS实例,基于每个VSI来开启IGMP snooping功能。其中每个VSI包括多个VPLS组播组,根据标签处理行为来获取用户的隧道标签和伪线标签。

3 VPLS组播的硬件实现

其具体的硬件实现主要由数据帧识别、逻辑端口获取、IGMP协议转发、IGMP协议处理、组播查找和出口行为六个模块组成。

其组播实现的主要思想是,在PE设备上创建AC和PW逻辑端口,并加入VSI中,并基于该VSI启动IGMP snooping功能,通过解析该逻辑端口上接收到的IGMP协议报文,将该端口作为二层以太网接口来建立该VSI对应的组播转发表项;PE接收到组播报文后,根据该VSI对应的组播转发表项的成员列表进行组播报文的转发。

数据帧识别模块主要完成IGMP协议报文和VPLS组播报文的识别。

逻辑端口获取模块完成与接收报文相关联的AC和PW逻辑端口的获取以及关联的VSI。对于PE接入侧接收到的报文,通过报文的VLAN信息确定AC逻辑端口;对于PE伪线侧接收到的报文,对该报文进行解隧道封装,剥离伪线标签后,确定与伪线标签相关的PW逻辑端口,最后通过AC和PW逻辑端口来确定与该端口相关联的VSI。

IGMP协议转发模块主要完成各种IGMP协议报文的转发行为处理。特殊的,对于IGMP普通组查询报文,需要在VSI域内将报文转发到除接收端口之外的所有AC和PW逻辑端口。

IGMP协议处理模块主要完成路由器端口列表和组播转发表的管理,具体描述如下:

(1)路由器端口列表

1)对于接收到的IGMP普通组查询报文,判断接收端口是否存在该VSI对应的路由器端口列表中,如果存在,则将端口的老化定时器计数值清零;否则将该端口添加到路由器端口列表中,同时启动端口的老化定时器计数;2)如果路由端口列表中端口对应的老化定时器超时,则将该端口从路由器端口列表中删除。

(2)组播转发表

1)对于接收到的IGMP成员关系报告报文,将该报文通过该VSI对应的路由器端口列表中所有的端口转发,同时解析报文中组播加入组地址,判断该VSI对应的组播转发表中是否存在该组播转发表项,如果存在,则进一步判断该组播转发表项的成员列表中是否已经包含该端口,如果存在,则将端口的老化定时器计数值清零,否则将该端口加入成员列表中,同时启动端口的老化定时器计数;2)对于接收到的特定组查询的IGMP成员关系报告报文,则将端口的老化定时器计数值清零;3)对于接收到的IGMP离开组报告报文,解析组播加入组地址,判断该VSI对应的组播转发表中是否存在该组播转发表项以及对应转发表项的成员列表中是否包含该AC端口,如果不存在该表项或者成员列表不包含该端口,则将其直接丢弃;否则,将该报文通过该VSI对应的路由器端口列表中所有的端口转发,同时将端口的老化定时器计数值清零;4)如果组播转发表项中成员列表的端口对应的老化定时器超时,则将该端口从对应的成员列表中删除。

组播转发模块主要完成VPLS多播数据帧的转发行为处理,查找组播转发表中是否存在匹配的组地址,如果存在,则将组播报文转发到匹配的AC或者PW逻辑端口;如果不存在,则在VSI域内将报文转发到除接收端口之外的所有AC和PW逻辑端口。

出口行为模块主要完成数据帧转发端口信息的获取以及出口标签的封装处理。根据逻辑端口获取该端口对应的出口下一跳和出口标签行为,其中根据出口下一跳得到数据帧的转发端口信息,而根据出口标签行为来决定是否在报文中进行标签的封装处理,其中对于组播成员组中的PW逻辑端口,需要在报文中封装隧道标签和伪线标签,而对于AC逻辑端口,不需要进行任何标签的封装处理。

4 结束语

本文介绍了VPLS组播的实现原理以及其硬件实现方式,并将PE设备上创建的AC和PW逻辑端口作为二层以太网接口运行IGMP snooping协议,建立相应的组播转发表项,并根据建立的组播转发表项进行组播报文的转发,从而实现了组播报文的准确转发,减轻了PE设备的负担,更加节约公网带宽资源。

参考文献:

[1]Fenner W. Internet Group Management Protocol, Version 2.RFC 2236,IETF,November,1997.

[2]Christensen M,Kimball K,F Solensky.Considerations for Internet Group Management Protocol(IGMP) and Multicast Listener Discovery (MLD) Snooping Switches.RFC 4541,IETF,May,2006.

作者简介:王小玲(1980-),女,湖北武汉人,硕士,研究方向:计算机应用。

作者单位:武汉科技大学 文法与经济学院,武汉 430081

上一篇:基于认知负荷理论对PPT设计的探索 下一篇:共享存储可重构计算机软硬件通信的优化实现之...