CN102035729B - 一种组播数据转发方法 - Google Patents
一种组播数据转发方法 Download PDFInfo
- Publication number
- CN102035729B CN102035729B CN2010105531723A CN201010553172A CN102035729B CN 102035729 B CN102035729 B CN 102035729B CN 2010105531723 A CN2010105531723 A CN 2010105531723A CN 201010553172 A CN201010553172 A CN 201010553172A CN 102035729 B CN102035729 B CN 102035729B
- Authority
- CN
- China
- Prior art keywords
- multicast
- message
- list item
- mac address
- access link
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Abstract
本发明公开了一种组播数据转发方法,应用于包括有PE的VPLS系统,该方法包括:PE通过监听组管理报文获得组播加入信息后,建立组播转发表项,并将所述组播加入信息上送;其中,组播转发表项中包括组播地址以及对应的出端口,所述出端口为组播虚连接或本端PE的接入链路AC侧端口;当所述PE接收到发往所述组播地址的组播数据时,根据其建立的组播转发表项,将所述组播数据通过所述组播地址对应的出端口转发。采用本发明可减少组播数据转发所占用的链路带宽。
Description
技术领域
本发明涉及通信领域,尤其涉及一种组播数据转发方法。
背景技术
MPLS(Multiprotocal Label Switching,多协议标签交换)是一项利用绑定在IP包中的标签通过网络进行数据包转发的技术。MPLS目前最为广泛的应用是在VPN(Virtual Private Network,虚拟专用网)方面。
基于MPLS的第二层VPN是服务供应商为客户提供第二层服务的一种网络。MPLS VPN的网络采用标签交换,一个标签对应一个用户数据流,易于用户间数据的隔离;MPLS技术可以较大限度的优化配置网络资源,自动快速修复网络故障,提供高可用性和高可靠性。
但在除了VPLS(Virtual Private LAN Services,虚拟专用局域网服务)之外的其他二层VPN都是点到点的业务,为了能在MAN/WAN上提供类似以太网的多点服务,VPLS应运而生。
VPLS在公用网络中提供点到多点的L2VPN业务,同时它结合了以太网和MPLS VPN各自的优点,使得构建跨广域网的以太网或VLAN成为可能。通过VPLS,地域上隔离的站点能通过MAN/WAIN相连,并且各个站点间的连接效果像在一个LAN中一样。
VPLS使分散在不同地理位置上的用户网络可以相互通信,L2VPN将在MPLS网络上透明传递用户的二层数据。从用户的角度来看,整个MPLS网络就是一个二层的交换网络,通过这个网络,可以在不同站点之间建立二层的连接。
VPLS的组网架构可如图1所示。其组网模型包括虚链路(Pseudo Wire,PW)逻辑全连接的VPLS网络模型和分层的VPLS(Hierarchical VPLS,HVPLS)模型。在PW逻辑全连接的VPLS组网中,最简单的组网就是把用户站点(SITE)和一些PE(Provider Edge Router,服务提供商网络上的边缘路由器)设备连接起来提供VPLS服务。一旦用户数据包到达PE设备之后,PE设备决定以太网的帧转发,通过PE在MPLS网络上交换数据。一个通过以太网连接到提供商VPLS网络的用户站点可以互通多个其他用户终端站点,这样就实现了多点以太网服务。其中,PE与CE(Custom Edge Router,用户侧的边缘路由器)连接,主要负责VPN业务的接入,它完成报文从私网到公网隧道,并从公网隧道到私网隧道的映射与转发。PE与CE可通过实际的物理接口连接,也可通过虚拟接口连接,该连接链路称为AC(Attachment Circuit,接入链路),AC上的所有用户报文一般都要求原封不动的转发到对端SITE去。以太网VPLS服务环境中,PE设备维护VSI(Virtual Switch Instance,虚拟交换实例)。VSI实质是每个用户VPLS独有的两层转发表。PE设备根据特定VPLS VPN内以太网帧交换所需要的转发信息创建独立的VSI表。虚链路(Pseudo Wire,PW)是在一个VPN的两个VSI之间的一条双向的虚拟连接,它由一对单向的MPLSVC(私网标记)构成,承载于LSP之上,并由PW信令协议创建。PW对于VPLS系统来说,就像是一条本地AC到对端AC之间的一条直连通道,完成用户的二层数据透传。
其报文转发流程总体上可如图1所示:CE11上送二层报文,通过AC接入PE1;PE1收到报文后,由转发器选定转发报文所属的VSI1,通过查找该VSI的目的MAC表项,找到对应的PW或AC,如果目的MAC对应的是PW,则系统根据PW的转发表项封装两层MPLS标签(私网标签用于标识PW,公网标签用于穿越隧道到达PE2),经公网隧道到达PE2(图中没有示出P设备,实际组网可能有多个P设备);PE2收到报文后依据私网标签找到对应的VSI1转发表从对应的AC侧发送给CE21。其中,P设备是服务提供商网络中的骨干路由器,不与CE直接相连,P设备只需要具备基本MPLS转发能力。
在目前VPLS实际组网应用中,对于组播报文只能进行广播处理。如图1中,如果CE11有组播流量进入,该组播数据流量使用PW1和PW2进行转发,则在同一个VSI中,报文均被广播到CE21,CE31,可CE31没有组播接收者,这就造成流量多余占用了PE1和PE3之间的链路带宽,并且会增加PE和CE设备的负担。
为此,IETF的draft方案通过扩展BGP(Border Gateway Protocol,边界网关协议)携带源组和接收者信息的方式,利用RSVP-TE P2MP(点到多点的基于流量工程扩展的资源预留协议)技术在PE之间构建P2MP LSP(点到多点的标记交换路径)来实现跨PE的VPLS的组播数据转发。该方案虽然实现了VPLS下的组播数据转发功能,但需要VPLS组网下的PE设备支持BGP和RSVP-TE P2MP技术,增加了PE设备的实现和复杂度,而且该方案主要针对VPLS下的三层组播功能,但前VPLS更多应用在二层组网。
可见,目前亟需能够节省链路带宽,且技术实现相对简单的组播数据转发方案。
发明内容
本发明的目的在于提供一种组播数据转发方法,以减少组播数据转发所占用的链路带宽,为此,本发明采用如下技术方案:
一种组播数据转发方法,应用于包括有PE的VPLS系统,该方法包括以下步骤:
组播接收侧PE接收到因特网组管理协议IGMP报告报文后建立第一组播转发表项,并将所述IGMP报告报文的内容封装为标签分发协议LDP报文上送给组播源侧PE;其中,所述第一组播转发表项包括所述用户所属的虚拟交换实例VSI标识、所述用户请求加入的组播MAC地址和接收所述IGMP报文的PE接入链路侧端口标识;
组播源侧PE接收到所述LDP报文后建立组播虚连接表项和第二组播转发表项,并将所述LDP报文的内容封装为IGMP报告报文继续上送;其中,所述第二组播转发表项包括所述用户所属的VSI标识、所述用户请求加入的组播MAC地址和所述组播虚连接的标识;所述组播虚连接表项包括所述用户所属的VSI标识、所述用户请求加入的组播MAC地址、多协议标签交换MPLS标签和所述组播接收侧PE的地址;
当所述组播源侧PE接收到与所述VSI标识和组播MAC地址对应的组播报文后,根据其所建立的第二组播转发表项和组播虚连接表项,将所述组播报文转发到所述组播接收侧PE;所述组播接收侧PE根据其所建立的第一组播转发表项将所述组播报文转发到该PE接入链路侧设备。
上述方法中,所述组播源侧PE根据其所建立的第二组播转发表项和组播虚连接表项,将所述组播报文转发到所述组播接收侧PE,包括:
所述组播源侧PE根据所述组播报文对应的VSI标识和MAC地址,从第二组播转发表项中查询对应的组播虚连接标识,根据所述组播虚连接标识从组播虚连接表项中查询对应的MPLS标签和组播接收侧PE的地址,然后在所述组播报文中封装查询到的MPLS标签,并将封装后的组播报文发送给与查询到的组播接收侧PE地址对应的组播接收侧PE;
所述组播接收侧PE根据其所建立的第一组播转发表项将所述组播报文转发到该PE接入链路侧设备,包括:
所述组播接收侧PE根据所述组播报文对应的VSI标识和MAC地址,从第一组播转发表项中查询对应的PE接入链路侧端口标识,并通过对应的端口将所述组播报文发送到与该端口连接的PE接入链路侧设备。
上述方法中,该方法还包括:所述组播接收侧PE接收到IGMP离开报文后,删除第一组播转发表项中用户所请求离开的组播MAC地址对应的PE接入链路侧端口标识,所述PE接入链路侧端口为接收所述IGMP离开报文的端口。
上述方法中,如果被删除的PE接入链路侧端口标识为所述组播MAC地址对应的唯一PE接入链路侧端口标识,则该方法还包括:
所述组播接收侧PE删除第一组播转发表项中所述组播MAC地址及其对应的PE接入链路侧端口标识,并将所述IGMP离开报文的内容封装为LDP报文上送到组播源侧PE;
所述组播源侧PE根据接收到的LDP报文,删除对应的组播虚连接表项,以及第二组播转发表项中相应的组播MAC地址及其对应的组播虚连接标识。
上述方法中,如果被删除的组播虚连接是第二组播转发表项中所述组播MAC地址对应的唯一组播虚连接,并且也没有PE接入链路侧端口标识与该组播MAC地址对应,则该方法还包括:
所述组播源侧PE删除第二转发表项中所述组播MAC地址及其对应的组播虚连接标识,并将所述LDP报文的内容封装为IGMP离开报文继续上送。
上述方法中,当所述VPLS系统中还包括组播接收侧PE和组播源侧PE为同一PE的情况时,所述方法还包括:
所述PE接收到IGMP报告报文后,建立第三组播转发表项,并上送将所述IGMP报告报文;其中,所述第三组播转发表项包括所述用户所属的VSI标识、所述用户请求加入的组播MAC地址和接收所述IGMP报文的PE接入链路侧端口标识;
当所述PE接收到组播报文后,根据所述组播报文对应的组播MAC地址,从第三组播转发表项中查询对应的PE接入链路侧端口标识,并通过对应的PE接入链路侧端口将所述组播报文发送到与该端口连接的PE接入链路侧设备。
上述方法还包括:所述PE接收到IGMP离开报文后,删除第三组播转发表项中用户所请求离开的组播MAC地址对应的PE接入链路侧端口标识。
本发明具有如下有益效果:
PE通过监听IGMP报文,在获得组播加入信息后,才建立组播转发表项,从而使提高组播转发表项的针对性,当有组播数据需要转发时,可根据该组播转发表项进行转发。与现有技术采用广播方式相比,提高了组播数据转发的针对性,从而减少了组播数据转发所占用的链路带宽。
附图说明
图1现有技术中VPLS的组网架构和总体转发流程示意图;
图2为本发明实施例中VPLS的组网架构示意图;
图3为本发明实施例中组播转发表项和组播PW的建立、维护流程示意图;
图4为本发明实施例中Label mapping message报文格式示意图;
图5为本发明实施例中Label withdraw message报文格式示意图;
图6为本发明实施例中组播数据转发流程示意图;
图7为本发明实施例中PE设备结构示意图。
具体实施方式
针对现有技术存在的上述问题,本发明实施例提供了一种在VPLS应用下动态创建基于组播的PW,从而使组播数据流按需精确转发的技术方案,即只有当PE的AC侧有相应组播组加入时,才在本端和对端PE上建立含有组信息的PW,并建立基于组地址的组播转发表项供转发使用。
图2示出了本发明实施例所提供的VPLS组网架构示意图,下面结合图2所示的组网架构,对本发明实施例进行详细描述。
本发明实施例提供的技术方案,主要包括两个过程,一是通过监听组播管理协议报文IGMP(Internet Group Management Protocol,因特网组管理协议),创建基于组播地址的组播转发表项,以及建立含有组信息的PW(以下简称组播PW)的过程;另一过程是根据组播转发表项以及组播PW进行组播数据转发的过程。这两个过程彼此相对独立。
Internet组管理协议(IGMP)是因特网协议家族中的一个组播协议,用于IP主机向任一个直接相邻的路由器报告他们的组成员情况。本发明实施例中,PE设备可通过监听IGMP报文创建和维护组播转发表项和组播PW表项,从而实现动态创建基于组播的PW。
本发明实施例在组播源侧PE和组播接收侧PE上预先设置组播VSI(以下简称为MVSI),该MVSI可以和普通的VSI共存于同一个端口,分发标签可以不相同,平时没有IGMP报文触发时处于静默状态,即不建立组播PW(以下简称为MPW)。组播接收侧PE监听到IGMP Report报文后,首先创建本地AC侧IGMP组信息所对应的组播转发表项(其中包括组播MAC地址和出端口的映射关系),并将该IGMP报文发送给本PE的同一MVSI上行端口(即靠近组播源一侧的端口,通过该端口可将IGMP报文向组播源侧PE发送),并触发LDP协议以发送扩展的LDP报文(如LDP Label mapping message,即标签映射报文),以便将收到的组播加入信息发送给组播源侧的PE;组播源侧PE接收到该LDP报文后,触发LDP协议发送扩展的LDP报文(如label mappingmessage)给组播接收侧PE,并建立双向的MPW,该MPW和普通的PW的区别是多了组信息,私网标签可以重新分配,用来区别不同的VSI,组播源侧PE还建立组播转发表项(其中包括该组播地址以及对应的MPW。
图3结合图2,示出了PE设备通过监听IGMP Report报文建立组播PW以及组播转发表项的过程,其中,PE2为组播接收侧的PE,PE1为组播源侧的PE,PE2和PE1上建立有MVSI 1。可通过IGMP detect命令来建立MVSI和IGMP监测之间的联系,如本实施例中针对MVSI 1进行IGMP监听。
图3所示流程可包括:
步骤301、PE2监听IGMP报文,并当监听到其AC侧发送的IGMP Report报文时,获取该报文中的组播MAC地址。
该步骤中,PE2对IGMP报文进行监听,当收到CE2所转发的来自于用户的IGMP Report报文以请求加入组播组时,获取对应组播MAC地址。
步骤302、PE2建立组播转发表项,其中包括组播MAC地址以及对应的VSI和出端口。
该步骤中,PE2在该用户所属的VSI(本实施例为MVSI 1)内创建基于该组播MAC地址和接收该IGMP Report报文的端口间的映射表项。如图2中,PE2的eth1端口收到225.1.1.1的IGMP Report报文后,则得到组播MAC地址为0100-5E00-0001,然后在组播转发表中插入该组播MAC地址0100-5E00-0001和对应的端口eth1,插入的组播转发表项可如表1所示:
表1
组播MAC地址 | 出端口 | VSI ID |
0100-5E00-0001 | eth1 | MVSI 1 |
步骤303、PE2关联MVSI 1,触发LDP发送LDP Label mapping报文给MVSI 1的邻居(PE1),该LDP Label mapping报文中携带有PE2从IGMPReport报文中获取到的组播加入信息,其中可包括组播MAC地址。
本实施例中,在LDP视图下,可使用IGMP extension命令来打开LDP对IGMP组信息的扩展功能,从而通过LDP报文发送IGMP组信息。
步骤304、PE1接收到LDP Label mapping报文后,提取其中的组播加入信息并建立MPW 1以及组播转发表项。
该步骤中,PE1所建立的MPW和普通的PW的区别是多了组信息,私网标签可以重新分配,用来区别不同的VSI;PE1还建立与MVSI 1对应的组播转发表项,其中包括该组播MAC地址与MPW 1的映射关系。针对上述组播MAC地址为0100-5E00-0001的情况,所建立的组播转发表项可如表2所示:
表2
组播MAC地址 | 出端口 | VSI ID |
0100-5E00-0001 | MPW1 | MVSI 1 |
PE1所建立的MPW表项可如表3所示:
表3
VSI ID | VSI类型 | PeerAddr | 组播地址 | 内层标签 | 外层标签 | VC状态 |
MVSI 1 | VLAN | 1.1.1.1 | 255.0.0.1 | 1024 | 1024 | up |
步骤305、PE1根据MPW 1中的组信息映射到组播MAC表项并下发MVSI1对应的组播MAC表项给本设备。
该步骤中,PE1建立如表2所示的组播转发表项以及如表3所示的MPW表项后,还可进一步将两个表项进行映射,如,将MPW1的组播IP地址、内外层标签、组播MAC地址对应起来,下发给本设备上的具有报文转发处理功能的模块,这样,当有相应的组播流需要转发时,这些模块可根据该对应关系设置转发报文的内外层标签等,进行组播流的转发。
步骤306、PE1将组播加入信息重新组装为IGMP Report报文发送给MVSI1的上行端口,以便上送该IGMP Report报文。
PE还有可能监听到其他IGMP报文,如IGMP Query报文(IGMP组播查询报文)或IGMP Leave报文(IGMP组播离开报文),针对这种情况,本发明实施例提供了相应的解决方案。
如果PE2收到IGMP Query报文,则PE2在相应的VSI内创建上行端口表项,该表项形式为VSI下挂所有接收到IGMP Query报文的端口(该端口称之为上行端口),并按照原有报文转发流程在VSI内广播IGMP Query报文。表4示出了一种上行端口表。
表4
VSI ID | 上行端口 |
MVSI 1 | eth1 |
MVSI 1 | eth2 |
MVSI 1 | MPW1 |
MVSI 2 | MPW1 |
MVSI2 | MPW2 |
如果PE2通过监听组播管理协议报文发现有用户离开组播组,如监听到IGMP Leave报文,如图3中的步骤308~312所示,则PE2先在本地组播转发表项中查找对应的组播MAC地址,如果找到对应组播MAC地址并且接收IGMP Leave报文的端口存在,则删除组播MAC地址对应的该端口。如果该端口是该组播MAC地址对应的最后一个端口,则PE2删除该组播MAC表项并触发相应的MVSI关联LDP协议发送LDP撤销消息(如LDP label withdrawmessage);PE 1根据该LDP撤销消息删除先前建立的MPW,并从其组播转发表中删除该组播MAC地址对应的MPW。如果该MPW为该组播MAC地址对应的最后一个虚连接(并且也没有其他出端口与该组播MAC地址对应),则PE1删除对应组播MAC表项(即从组播转发表中删除组播MAC以及对应的MPW)并从之前收到的LDP label withdraw message报文中提取IGMP报文类型和组信息组装成IGMP leave报文向对应VSI内的所有上行端口发送。
对于组播源侧PE有多个组播接收侧PE的情况(如图2中,PE1连接PE2,同时连接PE3的组网),各组播接收侧PE对IGMP报文的监听和LDP协议发送过程同上,当组播源侧PE收到带有组信息的LDP扩展消息时,同样按照上述流程创建MPW,如果组播源侧PE已经创建了同样组的组播MAC表项,则在该组播MAC表项下添加MPW。例如,如表5所示,PE1已经根据PE2发送的LDP Label mapping报文建立了组播地址0100-5E00-0001转发表项(对应MPW1),PE1当前又接收到PE3发送的LDP Label mapping报文,其组播地址同样为0100-5E00-0001,则PE1在该组播表项中添加MPW2。
表5
上述情况考虑的是组播源侧PE和组播接收侧PE不是同一个PE的情况。对于组播源侧PE和组播接收侧PE为同一个PE的情况(如图2中,PE1-CE1组网),其MPW建立的原理基本类似,即为:当PE接口监听到IGMP Report报文时,建立组播转发表,其中包括组播MAC地址和出端口(即AC侧端口)的映射关系;当有多个同一个组播地址的接收者在本地时,创建多个出端口对应同一个组播MAC地址,针对不同的组播地址则创建不同的表项。
上述过程描述了IGMP报文的监听及组信息提取封装LDP扩展报文并发送,以及在接收端还原的过程。本发明实施例对于IGMP报文的处理和LDP的扩展协议格式,可采用如下方式:
对于IGMP Report报文,PE在监听到后触发MVSI,通过发送扩展的LDPlabel mapping消息,建立起双向MPW;上游PE收到该LDP消息后还原IGMPReport报文并发送到上行端口;
对于IGMP Leave报文,PE通过发送扩展的LDP label withdraw消息删除建立的MPW;上游PE收到该LDP消息后还原IGMP Leave报文并发送到上行端口;
对于IGMP Query报文,按照广播报文处理沿PW在VSI内进行广播。
具体的,LDP扩展的Label mapping message报文格式可如图4所示,Labelwithdraw message报文格式可如图5所示。
图4中,Message ID用来标识该消息;FEC TLV表示标签通告的FEC信息;Label TLV表示通告的标签TLV信息;Optional Parameters包含0或多个变长的单元,可选;Flag为标志位,占2bit,其中
00:保留
01:表示IGMP Report
10:表示IGMP Leave
11:保留
Mulcast Group Address表示扩展的组播组地址信息,长度为32bits。
图5中,Message ID用来标识该消息;FEC TLV表示标签通告的FEC信息;Label TLV表示通告的标签TLV信息;Optional Parameters表示包含0或多个变长的单元,可选;Flag为标志位,占2bit,其中:
00:保留
01:表示IGMP Report
10:表示IGMP Leave
11:保留
Mulcast Group Address表示扩展的组播组地址信息,长度为32bits。
通过以上描述可以看出,PE通过监听IGMP Report报文,在得知有组播加入请求的情况下,才建立基于相应组的组播转发表项以及建立MPW;当有组播流下发时,可根据建立的组播转发表项和MPW有针对性的转发组播流,从而能够比现有技术更为精确的进行组播流的转发。
当PE接收到数据并进行转发时,对于目的MAC地址为单播或广播的报文,可采用现有技术进行转发;对于目的MAC地址为组播MAC地址的组播数据,可针对常用的协议组播MAC地址容许其按照单播或广播的行为进行处理(如可以预先进行过滤,容许这部分MAC地址的组播数据按照常规入普通PW的方式进行转发),对于其他组播MAC地址的组播数据,则可通过查询相应VSI对应的组播转发表进行转发,转发分如下几种情况:
情况一:如果组播源侧PE使用组播转发表匹配组播MAC地址时发现对应的出端口为MPW,则在对应的MPW上进行转发,封装私网和公网标签,发送到接收者侧PE,其中间转发过程按照MPLS规范进行;接收者侧PE收到该报文后(已经剥离只剩下私网标签)依据私网标签找到对应的MVSI,依据先前建立的组播转发表(形如表1,包括组播MAC和对应的出端口),通过与组播MAC对应的出端口将组播报文进行发送。至此,组播数据转发完成;
情况二:如果组播源侧PE使用组播转发表匹配组播MAC时发现出端口为连接本地AC侧端口,则直接通过该端口转发;该种情况通常发生在组播源侧PE和组播接收侧PE为同一PE的场景;
情况三:如果PE使用组播转发表匹配组播MAC地址时发现出端口有多个MPW(如表5所示,0100-5E00-0001对应有MPW1和MPW2),则通过该多个MPW同时发送。
图6示出了一种通过转发表转发组播数据的流程示意图,该流程可包括:
步骤601、组播源侧PE接收组播数据流;
步骤602、组播源侧PE查找MVSI实例的组播转发表项,以获取匹配的组播MAC地址;
步骤603、如果查找到匹配的组播MAC地址,则执行步骤604;否则执行步骤608;
步骤604、组播源侧PE依据组播MAC地址对应的出端口是MPW还是AC侧端口的不同,进行不同的转发处理;如果是MPW,则执行步骤605;如果是AC侧端口,则执行步骤609;
步骤605、组播源侧PE通过与组播MAC地址对应的MPW封装发送给组播接收侧PE的组播数据并发送;
步骤606、播接收侧PE查找MVSI实例的组播转发表项,以获取匹配的组播MAC地址;
步骤607、播接收侧PE在根据组播MAC地址匹配出出端口后,通过该出端口将组播数据发送出去;
步骤608、组播源侧PE在未匹配出MAC地址的情况下,将接收到的组播数据丢弃;
步骤609、当组播MAC地址对应的出端口为AC侧端口时,组播源侧PE直接转发组播数据给该组播源侧PE的AC侧端口,以便通过该端口发送组播数据。
通过以上描述可以看出,本发明实施例中,PE之间通过LDP扩展报文动态建立基于组播组地址的MPW并沿此MPW转发的机制,以及IGMP报文通过LDP协议扩展实现跨VPLS传输的机制,实现了VPLS应用下的二层组播数据报文按需精确转发,减少了组播报文对PE之间的PW链路的带宽耗费,并提高了PE和CE对组播报文的处理能力,通过LDP协议扩展及还原机制实现IGMP报文跨VPLS发送。
需用说明的是,以上实施例虽然以PE设备监听IGMP报文为例进行描述的,但本领域技术人员应该理解,PE设备还可通过监听其他协议类型的报文来获得组播相关信息。
基于相同的技术构思,本发明实施例还提供了一种应用于上述流程的PE设备。
参见图7,为本发明实施例中PE设备的结构示意图,该PE设备可包括:
接口模块701,用于接收IGMP报告报文,上送LDP报文;以及接收其他PE设备发送的LDP报文;
转发表项建立模块702,用于在接口模块701接收到IGMP报告报文后建立第一组播转发表项,并将所述IGMP报告报文的内容封装为LDP报文通过所述接口模块上送给组播源侧PE;其中,所述第一组播转发表项包括所述用户所属的虚拟交换实例VSI标识、所述用户请求加入的组播MAC地址和接收所述IGMP报文的PE接入链路侧端口标识;以及,
在接口模块701接收到其他PE设备发送的携带有组播加入信息的LDP报文后,建立组播虚连接表项和第二组播转发表项,并将所述LDP报文的内容封装为IGMP报告报文通过接口模块701继续上送;其中,所述第二组播转发表项包括所述用户所属的VSI标识、所述用户请求加入的组播MAC地址和所述组播虚连接的标识;所述组播虚连接表项包括所述用户所属的VSI标识、所述用户请求加入的组播MAC地址、MPLS标签和所述组播接收侧PE的地址;
转发模块703,用于当接收到组播源发送的与所述VSI标识和组播MAC地址对应的组播报文后,根据第二组播转发表项和组播虚连接表项,将所述组播报文转发到组播接收侧PE;以及,
当接收到组播源侧的PE转发的与所述VSI标识和组播MAC地址对应的组播报文后,根据第一组播转发表项将所述组播报文转发到该PE接入链路侧设备。
上述PE设备中,转发模块703可根据所述组播报文对应的VSI标识和MAC地址,从第二组播转发表项中查询对应的组播虚连接标识,根据所述组播虚连接标识从组播虚连接表项中查询对应的MPLS标签和组播接收侧PE的地址,然后在所述组播报文中封装查询到的MPLS标签,并将封装后的组播报文发送给与查询到的组播接收侧PE地址对应的组播接收侧PE;或者
根据所述组播报文对应的VSI标识和MAC地址,从第一组播转发表项中查询对应的PE接入链路侧端口标识,并通过对应的端口将所述组播报文发送到与该端口连接的PE接入链路侧设备。
所述PE设备中,接口模块701还可接收IGMP组播离开报文;相应的,所述PE设备还可包括:
转发表项维护模块704,用于在接口模块701接收到IGMP离开报文后,删除第一组播转发表项中用户所请求离开的组播MAC地址对应的PE接入链路侧端口标识,所述PE接入链路侧端口为接收所述IGMP离开报文的端口。
上述PE设备中,转发表项维护模块704还可用于,如果被删除的PE接入链路侧端口标识为所述组播MAC地址对应的唯一PE接入链路侧端口标识,则删除第一组播转发表项中所述组播MAC地址及其对应的PE接入链路侧端口标识,并将所述IGMP离开报文的内容封装为LDP报文通过所述接口模块上送到组播源侧PE;或/和
当接收到其他PE设备发送的携带有组播离开信息的LDP报文后,删除对应的组播虚连接表项,以及第二组播转发表项中相应的组播MAC地址及其对应的组播虚连接标识。
上述PE设备中,转发表项维护模块704还可用于,如果被删除的组播虚连接是第二组播转发表项中所述组播MAC地址对应的唯一组播虚连接,并且也没有PE接入链路侧端口标识与该组播MAC地址对应,则删除第二转发表项中所述组播MAC地址及其对应的组播虚连接标识,并将所述LDP报文的内容封装为IGMP离开报文通过所述接口模块继续上送。
上述PE设备中,转发表项建立模块702还可用于,在所述接口模块接收到IGMP报告报文后,建立第三组播转发表项,并通过所述接口模块上送将所述IGMP报告报文;其中,所述第三组播转发表项包括所述用户所属的VSI标识、所述用户请求加入的组播MAC地址和接收所述IGMP报文的PE接入链路侧端口标识;
转发模块703还可用于,在所述接口模块接收到组播报文后,根据所述组播报文对应的组播MAC地址,从第三组播转发表项中查询对应的PE接入链路侧端口标识,并通过对应的PE接入链路侧端口将所述组播报文发送到与该端口连接的PE接入链路侧设备。
所述PE设备中,转发表项维护模块704还可用于,在所述接口模块接收到IGMP离开报文后,删除第三组播转发表项中用户所请求离开的组播MAC地址对应的PE接入链路侧端口标识。
本领域技术人员可以理解实施例中的装置中的模块可以按照实施例描述进行分布于实施例的装置中,也可以进行相应变化位于不同于本实施例的一个或多个装置中。上述实施例的模块可以合并为一个模块,也可以进一步拆分成多个子模块。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台终端设备(可以是手机,个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述的方法。
以上所述仅是本发明的优选实施方式,应当指出,对于本技术领域的普通技术人员来说,在不脱离本发明原理的前提下,还可以做出若干改进和润饰,这些改进和润饰也应视本发明的保护范围。
Claims (7)
1.一种组播数据转发方法,应用于包括有服务提供商边缘路由器PE的虚拟专用局域网服务VPLS系统,其特征在于,包括以下步骤:
组播接收侧PE接收到自身接入链路侧用户发送的因特网组管理协议IGMP报告报文后建立第一组播转发表项,并将所述IGMP报告报文的内容封装为标签分发协议LDP报文上送给组播源侧PE;其中,所述第一组播转发表项包括所述用户所属的虚拟交换实例VSI标识、所述用户请求加入的组播MAC地址和接收所述IGMP报告报文的PE接入链路侧端口标识;
组播源侧PE接收到所述LDP报文后建立组播虚连接表项和第二组播转发表项并建立两者的映射关系,并将所述LDP报文的内容封装为IGMP报告报文继续上送;其中,所述第二组播转发表项包括所述用户所属的VSI标识、所述用户请求加入的组播MAC地址和所述组播虚连接的标识;所述组播虚连接表项包括所述用户所属的VSI标识、所述用户请求加入的组播MAC地址、多协议标签交换MPLS标签和所述组播接收侧PE的地址;
当所述组播源侧PE接收到与所述VSI标识和组播MAC地址对应的组播报文后,根据其所建立的第二组播转发表项和组播虚连接表项,将所述组播报文转发到所述组播接收侧PE;所述组播接收侧PE根据其所建立的第一组播转发表项将所述组播报文转发到所述组播接收侧PE的接入链路侧设备。
2.如权利要求1所述的方法,其特征在于,所述组播源侧PE根据其所建立的第二组播转发表项和组播虚连接表项,将所述组播报文转发到所述组播接收侧PE,包括:
所述组播源侧PE根据所述组播报文对应的VSI标识和组播MAC地址,从第二组播转发表项中查询对应的组播虚连接标识,根据第二组播转发表项与组播虚连接表项的映射关系查找到对应的组播虚连接表项,从查找到的组播虚连接表项中查询对应的MPLS标签和组播接收侧PE的地址,然后在所述组播报文中封装查询到的MPLS标签,并将封装后的组播报文发送给与查询到的组播接收侧PE地址对应的组播接收侧PE;
所述组播接收侧PE根据其所建立的第一组播转发表项将所述组播报文转发到所述组播接收侧PE的接入链路侧设备,包括:
所述组播接收侧PE根据所述组播报文对应的VSI标识和MAC地址,从第一组播转发表项中查询对应的PE接入链路侧端口标识,并通过对应的端口将所述组播报文发送到与该端口连接的PE接入链路侧设备。
3.如权利要求1所述的方法,其特征在于,该方法还包括:
所述组播接收侧PE接收到组播接收侧PE的接入链路侧用户发送的请求离开所述第一组播转发表项中的组播MAC地址的IGMP组播离开报文后,删除第一组播转发表项中用户所请求离开的组播MAC地址对应的PE接入链路侧端口标识,所述PE接入链路侧端口为接收所述IGMP组播离开报文的端口。
4.如权利要求3所述的方法,其特征在于,如果所要删除的PE接入链路侧端口标识为所述用户所请求离开的组播MAC地址对应的唯一PE接入链路侧端口标识,则该方法还包括:
所述组播接收侧PE删除第一组播转发表项中所述用户所请求离开的组播MAC地址及其对应的PE接入链路侧端口标识,并将所述组播接收侧PE的接入链路侧用户发送的所述IGMP组播离开报文的内容封装为LDP报文上送到组播源侧PE;
所述组播源侧PE根据接收到的LDP报文,删除对应的组播虚连接表项,以及第二组播转发表项中所述组播接收侧PE的接入链路侧用户所请求离开的组播MAC地址对应的组播虚连接标识。
5.如权利要求4所述的方法,其特征在于,如果第二组播转发表项中所述用户所请求离开的组播MAC地址对应的组播虚连接标识是所述用户所请求离开的组播MAC地址对应的唯一组播虚连接标识,并且也没有PE接入链路侧端口标识与所述用户所请求离开的组播MAC地址对应,则该方法还包括:
所述组播源侧PE删除第二转发表项中所述用户所请求离开的组播MAC地址及其对应的组播虚连接标识,并将所述LDP报文的内容封装为IGMP组播离开报文继续上送。
6.如权利要求1所述的方法,其特征在于,所述方法还包括:
所述组播源侧PE接收到自身接入链路侧用户发送的IGMP报告报文后,建立第三组播转发表项,并上送所述组播源侧PE自身接入链路侧用户发送的所述IGMP报告报文;其中,所述第三组播转发表项包括发送所述IGMP报告报文的组播源侧PE的接入链路侧用户所属的VSI标识、所述发送所述IGMP报告报文的组播源侧PE的接入链路侧用户请求加入的组播MAC地址和接收所述IGMP报文的PE的接入链路侧端口标识;
当所述组播源侧PE接收到与第三组播转发表项对应的组播报文后,根据所述组播报文对应的组播MAC地址,从第三组播转发表项中查询对应的PE的接入链路侧端口标识,并通过对应的PE的接入链路侧端口将所述组播报文发送到与该端口连接的PE的接入链路侧设备。
7.如权利要求6所述的方法,其特征在于,该方法还包括:
所述组播源侧PE接收到自身接入链路侧用户发送的请求离开第三组播转发表项中的组播MAC地址的IGMP组播离开报文后,删除第三组播转发表项中用户所请求离开的组播MAC地址对应的PE的接入链路侧端口标识。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105531723A CN102035729B (zh) | 2010-11-22 | 2010-11-22 | 一种组播数据转发方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN2010105531723A CN102035729B (zh) | 2010-11-22 | 2010-11-22 | 一种组播数据转发方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN102035729A CN102035729A (zh) | 2011-04-27 |
CN102035729B true CN102035729B (zh) | 2013-03-20 |
Family
ID=43888086
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN2010105531723A Expired - Fee Related CN102035729B (zh) | 2010-11-22 | 2010-11-22 | 一种组播数据转发方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN102035729B (zh) |
Families Citing this family (21)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2011127857A2 (zh) * | 2011-05-17 | 2011-10-20 | 华为技术有限公司 | 组播数据流的处理方法及upe、npe |
CN102195883A (zh) * | 2011-05-23 | 2011-09-21 | 北京星网锐捷网络技术有限公司 | 组播路由确定方法、组播报文转发方法及装置 |
CN102215166A (zh) * | 2011-06-02 | 2011-10-12 | 中兴通讯股份有限公司 | 一种vpls组播数据转发方法及装置 |
CN102355410B (zh) * | 2011-08-17 | 2014-07-30 | 杭州依赛通信有限公司 | 一种用于mpls网络虚拟交换实例的伪线标签方法 |
EP2773070A4 (en) * | 2011-10-29 | 2014-09-03 | Huawei Tech Co Ltd | METHOD AND APPARATUS FOR MANAGING MULTICAST (MULTICAST) |
CN103326944B (zh) * | 2012-03-21 | 2017-12-15 | 华为技术有限公司 | 一种组播传输方法、装置和网络系统 |
CN102882760B (zh) * | 2012-09-27 | 2015-05-06 | 华为技术有限公司 | 虚拟专用局域网服务网络中的报文处理方法、组件、设备及系统 |
CN103269300B (zh) * | 2013-05-21 | 2016-05-04 | 杭州华三通信技术有限公司 | 一种实现异构网络互联的方法和设备 |
CN104579704B (zh) * | 2013-10-18 | 2018-09-04 | 新华三技术有限公司 | 组播数据报文的转发方法及装置 |
CN103905320B (zh) * | 2014-04-02 | 2017-02-15 | 杭州华三通信技术有限公司 | 一种组播报文处理方法和装置 |
CN104283759B (zh) * | 2014-09-25 | 2018-04-20 | 烽火通信科技股份有限公司 | VPLS下IGMP Snooping的实现系统及方法 |
CN104378217B (zh) * | 2014-11-26 | 2018-03-06 | 中国联合网络通信集团有限公司 | 确定组播组数据的方法及装置 |
CN105791109B (zh) * | 2014-12-25 | 2020-03-10 | 中兴通讯股份有限公司 | 多协议标签交换中间节点组播转发的方法、装置和节点 |
CN109510771B (zh) * | 2017-09-15 | 2021-06-29 | 北京华为数字技术有限公司 | 组播传输方法及相关设备 |
CN109561022B (zh) * | 2017-09-27 | 2020-09-08 | 华为技术有限公司 | 一种组播转发方法及组播路由器 |
CN109995541B (zh) * | 2017-12-29 | 2021-08-31 | 北京华为数字技术有限公司 | 一种组播数据发送方法及节点设备 |
CN110417655B (zh) * | 2018-04-28 | 2021-07-02 | 中兴通讯股份有限公司 | 一种数据报文转发的方法及装置 |
CN110868307B (zh) * | 2018-08-28 | 2022-01-21 | 杭州海康威视数字技术股份有限公司 | 一种报文处理方法及装置 |
CN109831365B (zh) * | 2018-12-27 | 2021-04-20 | 山东电力工程咨询院有限公司 | 组播式协议精准负荷控制系统及以太网通信流构建方法 |
CN110474781B (zh) * | 2019-08-29 | 2021-09-28 | 视联动力信息技术股份有限公司 | 一种组播数据转发的方法及装置 |
CN111786873B (zh) * | 2020-07-13 | 2021-11-26 | 浙江捷创方舟数字技术有限公司 | 支持plc冗余的远程控制方法、系统及网关 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101674239A (zh) * | 2009-10-10 | 2010-03-17 | 华为技术有限公司 | 提供网络服务的方法及其装置 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN100512148C (zh) * | 2006-12-30 | 2009-07-08 | 华为技术有限公司 | 基于vpls双归属的全连接网络的收敛方法和装置 |
-
2010
- 2010-11-22 CN CN2010105531723A patent/CN102035729B/zh not_active Expired - Fee Related
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101674239A (zh) * | 2009-10-10 | 2010-03-17 | 华为技术有限公司 | 提供网络服务的方法及其装置 |
Also Published As
Publication number | Publication date |
---|---|
CN102035729A (zh) | 2011-04-27 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN102035729B (zh) | 一种组播数据转发方法 | |
EP3070877B1 (en) | Evpn inter-subnet multicast forwarding | |
US7570604B1 (en) | Multicast data trees for virtual private local area network (LAN) service multicast | |
CN102148745B (zh) | 提高虚拟专用局域网业务网络转发效率的方法和系统 | |
CN102075439B (zh) | 一种组播报文转发方法和路由设备 | |
CN101616014B (zh) | 一种实现跨虚拟专用局域网组播的方法 | |
US10033539B1 (en) | Replicating multicast state information between multi-homed EVPN routing devices | |
CN102316030B (zh) | 一种实现数据中心二层互联的方法和装置 | |
CN100531138C (zh) | 运营商边界节点、虚拟专用局域网服务通信方法及系统 | |
CN103685022A (zh) | 报文转发方法及服务提供商网络边缘设备 | |
CN103067286A (zh) | 一种组播数据传输方法和设备 | |
CN102932499A (zh) | Vpls网络中的mac地址学习方法及设备 | |
CN102185778A (zh) | 一种基于vll的数据传输方法及其装置 | |
US10225091B2 (en) | Method for implementing point-to-multipoint multicast, network node, and system | |
CN104579981B (zh) | 一种组播数据报文转发方法及设备 | |
CN105743797B (zh) | 基于接口绑定的组播vpn隧道建立方法 | |
CN107888493B (zh) | 一种标签交换路径的建立方法及装置 | |
CN102064999B (zh) | 实现组播报文转发的方法和组播报文转发设备 | |
CN102045250B (zh) | Vpls中组播报文的转发方法和服务提供商边缘设备 | |
CN102724126A (zh) | 一种E-tree业务报文转发方法、装置和设备 | |
EP4057578A1 (en) | Internet group management protocol host mobility in ethernet virtual private network multicast networks | |
CN102238040A (zh) | 一种对ce进行监控的方法和路由设备 | |
WO2018010568A1 (zh) | 信息的通告方法、转发条目的生成方法及装置 | |
CN104426780B (zh) | 数据转发方法和系统 | |
CN103179043A (zh) | 一种组播报文转发方法及设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C14 | Grant of patent or utility model | ||
GR01 | Patent grant | ||
CP03 | Change of name, title or address | ||
CP03 | Change of name, title or address |
Address after: 310052 Binjiang District Changhe Road, Zhejiang, China, No. 466, No. Patentee after: Xinhua three Technology Co., Ltd. Address before: 310053 Hangzhou hi tech Industrial Development Zone, Zhejiang province science and Technology Industrial Park, No. 310 and No. six road, HUAWEI, Hangzhou production base Patentee before: Huasan Communication Technology Co., Ltd. |
|
CF01 | Termination of patent right due to non-payment of annual fee | ||
CF01 | Termination of patent right due to non-payment of annual fee |
Granted publication date: 20130320 Termination date: 20191122 |