CN100481817C - 一种基于ip/mpls/bgp的多域组播一体化数据分发结构及方法 - Google Patents
一种基于ip/mpls/bgp的多域组播一体化数据分发结构及方法 Download PDFInfo
- Publication number
- CN100481817C CN100481817C CNB2006100018299A CN200610001829A CN100481817C CN 100481817 C CN100481817 C CN 100481817C CN B2006100018299 A CNB2006100018299 A CN B2006100018299A CN 200610001829 A CN200610001829 A CN 200610001829A CN 100481817 C CN100481817 C CN 100481817C
- Authority
- CN
- China
- Prior art keywords
- multicast
- mpls
- pmbr
- domain
- pim
- 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
一种基于IP/MPLS/BGP的多域组播一体化数据分发结构及方法,该结构将网络划分为核心MPLS组播域和多个边缘IP-based PIM组播域。该发明提出了MPLS组播边缘路由器MMBR的概念;提出了从IP组播地址到MPLS标签的Hash方法;利用扩展的BGP协议解决了MPLS核心组播域的组播用户发现问题。该发明含有两个步骤:步骤一,网络中的组播路由建立过程;步骤二,网络中的组播数据转发过程。本发明使得各个组播用户只需要管理自己的单一IP组播域,而运营商只需管理自己的MPLS核心组播域。本发明有利于组播用户使用各种组播服务;本发明提供了极高的服务扩充能力和灵活性,有利于运营商进行部署。
Description
所属技术领域
本发明涉及一种基于IP/MPLS/BGP的多域组播一体化数据分发结构及方法,以及跨越多个组播域的数据分发技术,属于计算机网络技术领域。
背景技术
IP(Internet Protocol,因特网协议)组播技术;组播是指同步(或接近同步)向一组接收者发送数据的机制。它与向单个接收者发送数据(单播)和向给定网络上的所有接收者发送数据(广播)不同,组播的发送者只需要对每个数据包发送一次,所有的接收者就能够全部收到该数据包,数据包的复制和转发由网络中的路由节点来完成。
IP组播则是指在IP层面上实现的这种发送数据的机制。IP组播允许目的站点集合位于互联网上的任意位置,可以跨越互联网上任意的物理网络。
要在网络上实现IP组播,需要有组播路由协议和组播成员管理协议对组播进行建立和维护。
IETF(Internet Engineering Task Force,互联网工程任务组)的组播成员管理协议主要包括针对IPv4的IGMP(Internet Group Management Protocol,因特网组管理协议)协议和针对IPv6的MLD(Multicast Listener DiscoveryProtocol,组播监听发现协议)协议。它们定义了主机和路由器之间如何交互组播组成员信息,主要用来管理主机加入或退出组播组。
组播路由协议的情况要相对复杂一些。按照IP组播树的建立过程来分,组播路由协议可以分为两类。一类使用最短路径树方法,其组播路由协议是通过(组播源地址,组播群组地址)对来标识一个组播任务的,如DVMRP、MOSPF和PIM-DM协议。另一类使用共享树方法,其组播路由协议通过(*,组播群组地址)来标识一个组播任务,其中*表示该组播任务中可以包含多个组播源,如BGMP、CBT和PIM-SM协议。其中PIM-SM协议的共享树在一定条件下可以转换为源树。
PIM-SM(Protocol Independent Multicast-Sparse Mode,协议无关组播-稀疏模式)是目前使用最为广泛的IP组播路由协议,它被设计应用于广域网环境。PIM-SM尽量避免组播源进行广播,并允许所有源采用共享树的方式转发。在一定条件下,PIM共享树还可以向源树转换,这样会使组播路径更为优化。
IP组播路由技术已经经过很长时间的研究,发展到今天,已经形成了比较完善的体系和协议。但由于IP组播使用了UDP进行数据传输,其可靠性仍然较低;此外,IP组播还缺乏有效的管理和部署机制以及缺乏流量和拥塞控制机制等保障体系,因此目前还不能得到大规模的广泛应用,而是主要应用在局域网、企业网的范围内。
MPLS组播技术;MPLS(Multiprotocol Label Switching,多协议标签交换)是把网络层路由技术和数据链路层交换技术结合起来的一种技术。它可以有效的提高网络传输效率,同时还具有了流量控制、快速路由收敛、QoS保证、VPN等功能。
目前,各运营商在骨干网中大量采用MPLS技术。在2004通过总验收的中国网通高速宽带互联网CNCnet,第一个在商用全网统一采用MPLS技术。CNCnet是一个全国性的高速宽带IP骨干网络,由中国网通承担建设与运营,于2000年10月开通并投入试运营。依托此网,中国网通目前开展的主要业务有:国内、国际带宽批发业务、高速公众互联网接入业务、高速网络型数据中心服务、VPN(虚拟专网)、虚拟ISP、IP长途电话业务。
中国电信从2003年开始部署的中国电信下一代承载网(又称CN2),采用了Juniper、思科、华为和阿尔卡特四家厂商的高端路由器。在2005年,这些设备已经被逐步部署到覆盖全国各省市的电信网络中。CN2全网启用MPLS,最多支持5级标签,提供VPN业务,启用路由快速收敛等。目前,中国电信可以在全国范围内向企业用户提供MPLS/VPN业务。通过与境外知名运营商的合作,中国电信也已经开通了国际MPLS/VPN业务,覆盖地区包括北美、香港、台湾及日本。
MPLS网络中的组播技术研究起步较晚,到目前为止,IETF还没有在MPLS网络中支持组播的相关标准。MPLS网络组播技术的研究目标是结合MPLS技术和组播技术的优点,利用MPLS技术的优点来优化网络组播的性能,同时利用组播技术的优点来节省MPLS网络的网络资源。
目前关于MPLS网络组播技术的研究主要集中于组播路由协议。IETF已经提出了一篇关于MPLS网络组播的draft草案,该草案主要讨论了如何扩展RSVP协议以使其支持MPLS网络组播树的建立。一些个人和研究组织也提出了一些对LDP协议的组播扩展方案,并向IETF提交了个人draft文档。
扩展的RSVP协议草案本身并没有指明发现组播用户的机制,它假设网络中存在组播路由信息。该协议草案所作的工作是根据已有的组播路由信息在MPLS网络中构建MPLS组播LSP路径树。
由于MPLS技术是针对核心网络设计,MPLS网络组播技术也将主要应用于核心网络。MPLS技术的面向连接性和标签资源的有限性等特点,使得MPLS组播技术并不适合于在有组播终端用户接入的边缘网络中使用。如何有效的管理和部署MPLS组播网络也是一个尚未解决的问题。
下一代网络中组播技术;当前的互联网络是在上世纪90年代初发展起来的,基于的协议是IPv4,随着Internet用户和应用的不断增加,IPv4已渐渐暴露出地址空间严重不足、数据传输缺乏质量保证、数据安全性难以保证和对组播功能支持有限等问题。这在一定程度上限制了IPTV等流媒体应用的进一步发展。
20世纪90年代中期,IETF为了更好地满足互联网络的未来发展需求,设计了一种新的IP协议IPv6,其特性包括:更大的地址空间;简洁的数据报头;提供更好的服务质量;更为灵活的组播方式。
相对于IPv4技术,IPv6技术在多播方面拥有众多的优势。比如,IPv6技术拥有更大的多播地址空间,可以为用户提高更多种类的多播服务;众多的IPv6地址空间可以保证用户享受端到端服务,消除了NAT对IP多播技术带来的负面影响;IPv6多播地址结构发生改变,更有利于多播功能的实现等。
在IPv6多播地址中增加了标识和范围两个字段。标识字段由4个独立位标识组成,目前只指定了第4位,用来表示该地址是熟知的组播地址还是在特定场合下使用的临时组播地址。其他3个标识位保留供将来用。范围字段有4位,用来表示组播的范围是只包括同一本地网、同一站点、同一机构中的节点,还是包括IPv6全球地址空间中任何位置的节点。根据标识字段和范围字段,同一个组地址可以表示不同的组。
在下一代网络将要支持的多种业务中,多媒体通信业务是发展最为迅速、竞争最为激烈的领域之一。在Internet上实现的视频点播(VOD)、可视电话、视频会议等视音频业务和一般业务相比,有着数据量大、时延敏感性强、持续时间长等特点。因此解决视音频业务所要求的网络利用率高、传输速度快、实时性强的问题,就要采用不同于单播、广播机制的转发技术及QoS服务保证机制来实现,而组播技术是解决这些问题的关键技术。
MPLS技术作为下一代骨干网上使用的关键技术,它可以有效的提高整个核心网的网络传输效率;IP组播技术同样是下一代网络中的关键技术,它可以支持多业务,提高网络利用率。将IP组播技术和MPLS技术结合起来使用,就可以同时解决核心网上的服务质量问题和边缘网上的传输效率问题,为在整个网络上部署IPTV等多媒体通信业务提供必要的技术支持。
美国国家科学基金会目前也正计划从根本上重新设计互联网,下一代互联网的研究重点是网络安全,手机、无线和传感器网络共同组成的普及计算(pervasive computing)环境,重要基础设施控制,以及处理新型服务的能力。以解决现有的各种问题,打造一个更适合未来计算机环境的下一代互联网,并于2005年8月22日公布了一个名为“全球网络环境调查”(GENI)的项目。
虽然组播技术还存在一些实际应用上的障碍,但是这种数据传输思想给网络和应用所带来的益处却是显而易见的,因此有理由相信,在下一代网络中组播技术将会得到广泛的应用。
发明内容
为了克服现有技术的不足,本发明提供一种基于IP/MPLS/BGP的多域组播一体化数据分发结构及方法。
该方案将网络划分为核心MPLS组播域和多个边缘IP PIM组播域。在该方案中,本文解决了以下具体的技术问题:
1.提出了MPLS组播边缘路由器(MMBR,MPLS Multicast Border Router)的概念,解决了IP-based PIM组播域和MPLS核心组播域的域间路由问题。
2.提出了从IP组播地址到MPLS标签的Hash方法,利用该方法和双层标签机制实现了从MPLS组播域到IP-based PIM组播域的数据快速转发。
3.利用扩展的BGP协议解决了MPLS核心组播域的组播用户发现问题。
在该方案中,每个客户只需要管理属于自己的局域网或企业网,在自己的局域网或企业网内部署单一的IP组播域,而不需要管理和其他客户之间域间路由问题,这使得即使客户缺乏组播路由经验,组播用户仍可以使用该方案提供的组播服务。
在该方案中,运营商主要管理MPLS核心组播域,并解决多个客户的域间组播路由问题。每个IP-based PIM组播域可以由组播用户自行管理,而不需要运营商进行管理和访问。这种网络模型提供了极高的服务扩充能力和灵活性,有利于网络运营商的部署和使用。
本发明解决其技术问题所采用的技术方案是:
一种基于IP/MPLS/BGP的多域组播一体化数据分发结构,该结构中包含一个MPLS核心组播域和任意多个IP-based PIM组播域,多个IP-based PIM组播域通过MPLS核心组播域进行互联,任意两个IP-based PIM组播域都不直接互联:
MPLS核心组播域:MPLS核心组播域是一个支持MPLS组播技术的核心通信网络,它负责建立多个IP-based PIM组播域之间的域间组播路由,并完成多个IP-based PIM组播域之间的域间组播数据快速转发。MPLS核心组播域由运营商进行管理和维护。位于MPLS核心组播域边缘的路由器为MPLS组播边缘路由器MMBR,每个MMBR必须运行扩展的MP-BGP(Multiprotocol Extensions for BGP-4)协议,以实现MPLS核心组播域的组播用户发现;MMBR必须完成从IP组播地址到MPLS标签的Hash过程,以实现从MPLS组播域到IP-based PIM组播域的数据快速转发。MPLS核心组播域可以利用LDP或RSVP协议来建立MPLS组播LSP路径树。
IP-based PIM组播域:各个IP-based PIM组播域的地位是对等的,所有的组播源和组播用户都分布在各个IP-based PIM组播域中。IP-based PIM组播域是支持IP层PIM组播路由协议的边缘通信网络,它负责建立本域内的IP层组播路由,并完成本域内的IP层组播数据转发。IP-based PIM组播域由各个企业或团体独立管理和维护。
所有的IP-based PIM组播域都使用PIM组播边缘路由器(PMBR,PIMMulticast Border Router)和MPLS核心组播域相连。同时,PMBR也是MPLS核心组播域的边缘路由器,从MPLS核心组播域的角度来看,PMBR可以被称为MPLS组播边缘路由器(MMBR,MPLS Multicast Border Router)。PMBR/MMBR必须维护着一张MPLS标签转发表(MLST,MPLS Label Switch Table)(表1)和一张组播边缘路由表(MBRF,Multicast Border Routing and Forwarding table)(表2)。每个PIM组播域的PMBR同时作为该组播域的聚合点(RP,RendezvousPoint)。如果用户想在PIM组播域内另外配置RP,则需要在PIM组播域内采用anycast-RP和MSDP机制,以保证PMBR同时具有RP的功能。
一种基于IP/MPLS/BGP的多域组播一体化数据分发方法,含有以下步骤;
步骤一:网络中的组播路由建立过程;含有以下步骤;
步骤1:边缘IP-based PIM组播域内终端组播用户通过IGMP或MLD协议加入或退出一个组播组,PIM组播域根据组播用户加入或退出信息生成PIM组播路由表;
步骤2:边缘IP-based PIM组播域内终端用户触发的PIM加入/剪枝消息会到达PMBR/MMBR;PMBR/MMBR把本次的组播路由信息在组播边缘路由表MBRF中进行更新;
步骤3:当组播用户加入一个组播组;
当组播用户加入新的组播组,则对本次用户加入的组播地址进行Hash计算,生成一个MPLS标签;同时PMBR/MMBR利用扩展的MP-BGP(MultiprotocolExtensions for BGP-4)把更新后的组播路由信息到其他PMBR/MMBR;
当组播用户加入已有的组播组,则把到达本次组播用户PIM加入消息到达的路由器出接口添加到组播边缘路由表MBRF的相应表项中;PMBR/MMBR在这种情况下不使用MP-BGP广播路由更新消息。
步骤4:当组播用户退出一个组播组;
当要退出的组播用户不是其所在组播组的最后一个组播用户,则把本次退出组播用户的在MBRF表项中的出接口删除,PMBR/MMBR在这种情况下不使用MP-BGP广播路由更新消息;
当要退出的组播用户是组播组的最后一个组播用户,则把组播边缘路由表MBRF的相应表项删除,同时使用MP-BGP广播路由更新消息;
步骤5:PMBR/MMBR可以选择是否使用路由过滤技术,以确定是否要发送或接收BGP路由更新消息;
步骤6:组播边缘路由表MBRF在更新后,触发MPLS信令协议(RSVP或LDP)根据变化后的MBRF信息建立或拆除组播LSP路径树;
本发明在这一阶段对BGP协议进行了扩展,定义了一种新的NLRI(NetworkLayer Reachability Information),称为MCAST_NLRI。
本发明在这一阶段提出了将组播地址进行Hash计算,生成一个MPLS标签的方法。
步骤二:网络中的组播数据转发过程;在组播路由信息正确建立之后,组播数据就可以沿组播路由进行正确的转发;含有以下步骤;
步骤1:IP报文格式的组播数据首先在边缘IP-based组播域进行转发,根据PIM协议建立的IP层组播路由表,组播数据到达组播源所在PIM组播域的PMBR/MMBR;
步骤2:IP报文格式的组播数据到达PMBR/MMBR后,PMBR/MMBR查询组播边缘路由表MBRF,获取MBRF中记录的路由信息;
步骤3:在继续传输分组前,根据从MBRF中获得的信息,组播源PMBR/MMBR首先把MPLS标签(组播IP地址的hash结果)推送到标签堆栈上,使其成为底部(或内部)标签;然后组播源PMBR/MMBR把基于RSVP或LSP分配的组播LSP路径关联标签推送到标签堆栈上,使其成为顶部(或路由器)标签;
步骤4:在创建标签堆栈后,组播源PMBR/MMBR沿着组播LSP路径,从所有的外发接口上把的MPLS分组转发到第一跳MPLS组播路由器(MMR,MPLSMulticast Router)上。MMR根据顶部标记,在运营商核心网中交换分组。组播LSP路径出口的倒数第二台路由器弹出顶部标签(暴露底部或内部标签),把分组转发到组播LSP路径出口路由器(组播用户PMBR/MMBR);
步骤5:组播用户PMBR/MMBR收到分组后,弹出分组中的底部标签,并以底部标签为索引搜索PMBR/MMBR上的标签转发表,获得该分组的所有出接口,并将该IP报文格式的组播数据分组从所有的出接口发送出去;
步骤6:IP报文格式的组播数据到达边缘IP-based PIM组播域后,沿PIM协议建立的IP层组播路由表到达各个终端组播用户。
本发明在这一阶段提出了利用双层标签机制转发MPLS组播分组的机制,实现了从MPLS组播域到IP-based PIM组播域的数据快速转发。
本发明的有益效果是,本发明技术方案提出了IP/MPLS/BGP多域组播体系结构,该体系结构是一种组播技术的有效的管理和部署机制,可以促进客户和运营商对组播技术的使用。本发明技术方案带来的有益效果如下:
在本体系结构中,每个边缘IP-based PIM组播域不与其它边缘IP-based PIM组播域直接交换路由信息。组播用户不必处理域间路由问题,因为解决域间路由问题是运营商的职责,这使得即使组播用户缺乏组播路由经验,组播用户仍可以使用该模型提供的组播服务。
多个组播域互联,外围为IP-based组播域,核心为MPLS组播域的网络模型接近于实际的互联网模型。每个IP-based PIM组播域可以由组播用户自行管理,而不需要运营商进行管理和访问,有利于网络运营商的部署和使用。
使用双层标签的MPLS分组转发机制加快了PMBR/MMBR路由器的路由表查找速度,增加了PMBR/MMBR的组播报文转发速度。
对MP-BGP进行扩展实现了MPLS核心网络的组播用户发现。
附图说明
下面结合附图和实施例对本发明进一步说明。
图1是本发明的网络拓扑示意图;
图2是实施例2的流程示意图;
图3是实施例3的网络拓扑示意图;
图4是实施例3的流程示意图。
具体实施方式
实施例1:一种基于IP/MPLS/BGP的多域组播一体化数据分发结构,
图1是网络拓扑示意图,网络中包含一个MPLS核心组播域和三个不同的IP-based PIM组播域。
在图1中,所有的IP-based PIM组播域都使用PIM组播边缘路由器(PMBR,PIM Multicast Border Router)和MPLS核心组播域相连。同时,PMBR也是MPLS核心组播域的边缘路由器,从MPLS核心组播域的角度来看,PMBR可以被称为MPLS组播边缘路由器(MMBR,MPLS Multicast Border Router)。
在方案中,每个PIM组播域的PMBR同时作为该组播域的RP。如果用户想在PIM组播域内另外配置RP,则需要在PIM组播域内采用anycast-RP和MSDP机制,以保证PMBR同时具有RP的功能,这一点不在本方案的讨论范围之内。
在PMBR/MMBR上必须维护着一个MPLS标签转发表(MLST,MPLS Label SwitchTable)和一个组播边缘路由表(MBRF,Multicast Border Routing andForwarding table)。
MPLS标签转发表的标签项存储的是MPLS组播报文中的底层标签,出接口项存储的是组播报文向边缘IP-based PIM组播域转发的路由器出口。通过使用该MPLS标签转发表和双层标签机制,可以实现从PMBR/MMBR到边缘IP-based PIM组播域的组播数据快速转发。
组播边缘路由表MBRF存储的是组播用户信息,它记录了通往各个组播用户的组播路径。
入接口 | 标签 | 操作 | 出接口(可以多个) |
表1 MPLS标签转发表
<源地址,目的地址,底层标签> | BGP下一跳(可以多个) | 出接口(可以多个) | 顶层标签 | 是否进行了路径聚合 |
表2 组播边缘路由表MBRF
实施例2:
一种基于IP/MPLS/BGP的多域组播一体化数据分发方法,含有以下步骤;
步骤一网络中的组播路由建立过程;
要在网络中传输组播数据,必须首先建立正确的组播路由信息,下面列出网络中组播路由信息的建立过程:
步骤1:边缘IP-based PIM组播域内有终端组播用户使用IGMP或MLD协议加入或退出一个组播组;
步骤2:PIM组播路由协议会根据组播用户加入或退出信息生成PIM组播路由表;边缘IP-based PIM组播域内终端用户触发的PIM加入/剪枝消息会到达PMBR/MMBR;
步骤3:PMBR/MMBR把本次的组播路由信息在组播边缘路由表MBRF中进行更新;
步骤4:当组播用户加入一个组播组;
当组播用户加入新的组播组,则对本次用户加入的组播地址进行Hash计算,生成一个和其他组播地址Hash计算结果不同的MPLS标签;PMBR/MMBR利用扩展的MP-BGP协议把组播路由信息和Hash生成的MPLS标签广播到其他PMBR/MMBR,并将本PMBR/MMBR的地址作为路由的BGP下站;
当组播用户加入已有的组播组,则把到达本次组播用户PIM加入消息到达的路由器出接口添加到组播边缘路由表MBRF的相应表项中;PMBR/MMBR在这种情况下不使用MP-BGP广播路由更新消息。
步骤5:当组播用户退出一个组播组;
当要退出的组播用户不是其所在组播组的最后一个组播用户,则把本次退出组播用户的路由器出接口在组播边缘路由表MBRF的相应表项中删除,PMBR/MMBR在这种情况下不使用MP-BGP广播路由更新消息;
当要退出的组播用户是组播组的最后一个组播用户,则组播边缘路由表MBRF的相应表项被删除,同时使用MP-BGP广播路由更新消息;
步骤6:组播源PMBR/MMBR收到BGP更新消息后,首先通过BGP过滤器判断它应该接收本条BGP更新消息。组播源PMBR/MMBR更新其组播边缘路由表MBRF,同时更新触发MPLS信令协议(RSVP或LDP)向下游路由器发送标签请求消息(发现新的组播用户)或发送标签回收消息(发现组播用户退出),建立或释放组播LSP路径。
步骤7:组播用户PMBR/MMBR收到标签请求消息或标签回收消息后,为组播LSP路径分配一个MPLS标签或释放MPLS标签,并逐跳向组播源PMBR/MMBR发送标签映射消息或标签释放消息。
步骤8:组播源PMBR/MMBR收到标签映射消息后,组播LSP路径建立成功,组播源PMBR/MMBR将其下一跳路由器分配的MPLS标签填充到组播边缘路由表MBRF的顶层标签域。
步骤二 网络中的组播数据转发过程;
在组播路由信息正确建立之后,组播数据就可以沿组播路由进行正确的转发。当一个IP-based PIM组播域的组播源发送组播数据时,遵循以下的转发顺序:
步骤9:IP报文格式的组播数据首先在边缘IP-based组播域进行转发,沿PIM协议建立的IP层组播路由表,组播数据到达组播源所在PIM组播域的PMBR/MMBR;
步骤10:IP报文格式的组播数据到达PMBR/MMBR后,PMBR/MMBR查询组播边缘路由表MBRF,获得以下信息:
连接组播用户的PMBR/MMBR与组播路由一起广播的MPLS标签(组播IP地址的hash结果);
组播路由的BGP下站IP地址(可能有多个);
从组播源PMBR/MMBR到所有BGP下站的输出接口;
从组播源PMBR/MMBR到所有BGP下站的初始MPLS标签(由RSVP或LSP在建立组播LSP时分配的MPLS标签);
在传输分组前,组播源PMBR/MMBR首先把MPLS标签(组播IP地址的hash结果)推送到标签堆栈上,使其成为底部(或内部)标签;组播源PMBR/MMBR把基于RSVP或LSP分配的组播LSP路径关联标签推送到标签堆栈上,使其成为顶部(或路由器)标签;在创建标签堆栈后,组播源PMBR/MMBR沿着从组播LSP路径,把外发接口上的MPLS分组转发到第一跳MPLS组播路由器(MMR,MPLSMulticast Router)上。
步骤11:MMR根据顶部标记,在运营商核心网中交换分组。组播LSP路径出口LER的倒数第二台MMR路由器弹出顶部标签(暴露底部或内部标签),把分组转发到组播LSP路径出口路由器(组播用户PMBR/MMBR)上;
步骤12:组播用户PMBR/MMBR收到分组后,弹出分组中的底部标签,并以底部标签为索引搜索PMBR/MMBR上的标签转发表,获得该分组的所有出接口,并将该IP报文格式的组播数据分组从所有的出接口发送出去;
步骤13:IP报文格式的组播数据到达边缘IP-based PIM组播域后,沿PIM协议建立的IP层组播路由表到达各个终端组播用户。
步骤14:组播用户收到组播数据,对其进行处理。
MP-BGP协议扩展;本文对BGP协议进行了扩展,定义了一种新的网络层可达性信息NLRI(Network Layer Reachability Information),称为MCAST_NLRI。在本发明中,核心网络的组播用户发现和边缘组播路由表MBRF的更新都要使用MCAST_NLRI来完成。
表3 MCAST_NLRI格式
初始PMBR/MMBR路由器IP地址域(Originating PMBR/MMBR’sIP Address)为最初发布本条路由的PMBR/MMBR路由器IP地址,它可以是初始PMBR/MMBR路由器上任何一个接口的任何可用IP地址。
组播源IP地址域(Multicast Source’s IP Addr)为组播用户要加入的组播组的源地址,该值为0则表示不限定组播源。
组播群组IP地址域(Multicast Group’s IP Addr)为组播用户要加入的组播组群组地址。
MPLS标签域(MPLS Labels)携带初始PMBR/MMBR路由器为组播组IP地址所分配的标签,其中前20比特包含标签值,剩余的比特为“栈底”(″Bottom ofStack″)。
如果一条MP-BGP协议更新消息中携带MP_REACH_NLRI属性,该MP_REACH_NLRI属性中的Next Hop域应被设置为发布本条路由的PMBR/MMBR路由器上任何一个接口的任何可用IP地址。
实施例3:
一种基于IP/MPLS/BGP的多域组播体系结构如图3所示,该体系结构中的网络组播路由信息建立过程按下面步骤完成:
步骤1:组播用户1想要加入一个组播群组,它首先向组播用户1的DR(Designate Router,指定路由器)发送IGMP/MLD加入消息。
步骤2:组播用户1的DR收到IGMP/MLD消息后,经过PIM协议处理,并在组播路由表中建立(*,组播群组地址)路由项;组播用户1的DR上的PIM协议生成PIM加入消息,该消息被逐跳发送到组播用户1的PMBR/MMBR。
步骤3:组播用户1的PMBR/MMBR收到PIM加入消息后,对本次组播用户本次加入的组播群组地址进行hash运算。组播用户1的PMBR/MMBR在标签转发表中建立一条新的表项,将MPLS标签项填充hash结果;在出接口项填充PIM加入消息到达的接口;将入接口设为空(NULL);将操作项设置为弹出标签(POP)。组播用户1的PMBR/MMBR在组播边缘路由表MBRF中建立一条新的表项,将<源地址,目的地址,底层标签>项填充为<*,组播群组地址,hash结果>;将BGP下一跳设置为空(NULL);将出接口设置为PIM加入消息到达的接口;将顶层标签项设置为空(NULL);将是否进行了路径聚合项设置为否(FALSE)。组播用户1的PMBR/MMBR上组播边缘路由表MBRF的变化触发MP-BGP协议向所有的BGP对等体发送BGP更新消息。组播用户1的PMBR/MMBR构造BGP更新消息中的MCAST_NLRI属性,将初始PMBR/MMBR路由器IP地址域填充为本路由器上任何一个接口的任何可用IP地址;将组播源IP地址域设置为通配项*,将组播群组IP地址域设置为组播用户本次加入的组播群组地址;将MPLS标签域设置为hash结果。
步骤4:组播源PMBR/MMBR收到BGP更新消息后,首先通过BGP过滤器判断它应该接收本条BGP更新消息。组播源PMBR/MMBR在其组播边缘路由表MBRF中建立一条新的表项,将<源地址,目的地址,底层标签>项分别填充为BGP更新消息中的组播源IP地址、组播群组IP地址和MPLS标签;将BGP下一跳地址设置为BGP更新消息中的初始PMBR/MMBR路由器IP地址;将出接口设置为通往BGP下一跳地址的接口;将顶层标签设置为NULL;将是否进行了路径聚合项设置为否(FALSE)。组播源PMBR/MMBR的组播边缘路由表MBRF更新触发MPLS信令协议(RSVP或LDP)向下游路由器发送标签请求消息,发起组播LSP路径的建立过程。
步骤5:组播用户1的PMBR/MMBR收到标签请求消息后,为组播LSP路径分配一个MPLS标签,并逐跳向组播源PMBR/MMBR发送标签映射消息。
步骤6:组播源PMBR/MMBR收到标签映射消息后,组播LSP路径建立成功,组播源PMBR/MMBR将其下一跳路由器分配的MPLS标签填充到组播边缘路由表MBRF的顶层标签域。
步骤7:组播用户2想要加入相同的组播群组,它首先向组播用户2的DR发送IGMP/MLD加入消息。
步骤8:组播用户2的DR收到IGMP消息后,经过PIM协议处理,并在组播路由表中建立(*,组播群组地址)路由项;组播用户2的DR上的PIM协议生成PIM加入消息,该消息被逐跳发送到组播用户2的PMBR/MMBR。
步骤9:组播用户2的PMBR/MMBR收到PIM加入消息后,对其进行处理,过程与步骤3相同。
步骤10:组播源PMBR/MMBR收到BGP更新消息后,在其组播边缘路由表MBRF查找到有一条路由表项的<源地址,目的地址,底层标签>域和BGP更新消息中携带的路由信息相同,不再建立一条新的路由表项。组播源PMBR/MMBR更新查找到的路由表项中的信息,将BGP更新消息中的初始PMBR/MMBR路由器IP地址添加到BGP下一跳域中;将通往新BGP下一跳地址的接口添加到出接口域中。组播源PMBR/MMBR的组播边缘路由表MBRF更新触发MPLS信令协议(RSVP或LDP)向下游路由器发送标签请求消息,发起组播LSP路径的建立过程。
步骤11:组播用户2的PMBR/MMBR收到标签请求消息后,为组播LSP路径分配一个MPLS标签,并逐跳向组播源PMBR/MMBR发送标签映射消息。
步骤12:组播源PMBR/MMBR收到标签映射消息后,新的分支组播LSP路径建立成功。
步骤13:组播用户3想要加入相同的组播群组,它首先向组播用户3的DR发送IGMP/MLD加入消息。
步骤14:组播用户3的DR收到IGMP消息后,经过PIM协议处理,并在组播路由表中建立(*,组播群组地址)路由项;组播用户3的DR上的PIM协议生成PIM加入消息,该消息被逐跳发送到组播用户3的PMBR/MMBR。
步骤15:组播用户3的PMBR/MMBR收到PIM加入消息后,经过查找发现标签转发表有匹配hash结果的表项,组播边缘路由表MPRF中都有匹配<*,组播群组地址,hash结果>的表项。组播用户3的PMBR/MMBR将PIM加入消息到达的接口添加到标签转发表中的出接口项,同时添加到组播路由转发表中的出接口项。组播用户3的PMBR/MMBR并不触发新的BGP更新消息发送。
终端组播用户退出组播组的过程和加入组播组的过程类似,只是将添加路由表项改为删除,将增加组播LSP路径分支改为拆除。
该体系结构中的网络组播数据转发过程按下面步骤完成:
步骤16:组播源以IP报文格式发送组播数据,组播数据首先在边缘IP-basedPIM域中进行转发,最终到达组播源PMBR/MMBR。
步骤17:组播源PMBR/MMBR查询组播边缘路由表MBRF,查找到匹配组播源地址和组播群组地址的路由表项。组播源PMBR/MMBR首先把匹配路由表项的底层MPLS标签(组播群组地址的hash结果)推送到标签堆栈上,使其成为底部(或内部)标签。组播源PMBR/MMBR把匹配路由表项的顶层标签推送到标签堆栈上,使其成为顶部(或路由器)标签。在创建标签堆栈后,组播源PMBR/MMBR沿着从组播LSP路径,把MPLS分组从所有的出接口发送到第一跳组播MPLS路由器MMR上。
步骤18:组播LSP路径上的所有MMR路由器根据顶部标记,在运营商核心网中交换分组,并在组播LSP路径分支的地方对MPLS分组进行复制转发。在组播用户PMBR/MMBR路由器的上一跳路由器,MPLS分组被弹出顶部标签(暴露底部或内部标签)。暴露底部标签的MPLS分组转发到组播LSP路径的出口(组播用户PMBR/MMBR路由器)上。
步骤19:组播用户PMBR/MMBR收到分组后,弹出MPLS分组中的底部标签,并以底部标签为索引查找标签转发表,获得该分组的所有出接口。组播用户PMBR/MMBR将IP报文格式的组播数据从所有的出接口转发到边缘IP-based PIM组播域。
步骤20:边缘IP-based PIM组播域中的路由器收到组播数据后,根据PIM组播路由表的路由信息将组播数据发送到终端组播用户。
步骤21:终端组播用户收到组播数据,对其进行处理。
Claims (2)
1.一种基于IP/MPLS/BGP的多域组播一体化数据分发系统,其特征是:把网络划分为一个核心MPLS组播域和多个边缘IP-based PIM组播域,多个IP-based PIM组播域通过MPLS核心组播域进行互联,任意两个IP-based PIM组播域都不直接互联;
所有的IP-based PIM组播域都使用协议无关组播PIM组播边缘路由器和MPLS核心组播域相连;同时,PIM组播边缘路由器也是MPLS核心组播域的边缘路由器,从MPLS核心组播域的角度来看,PIM组播边缘路由器还可以被称为MPLS组播边缘路由器;
MPLS核心组播域负责建立多个IP-based PIM组播域之间的域间组播路由,完成多个IP-based PIM组播域之间的域间组播数据快速转发,MPLS核心组播域不需要IP层组播路由协议以及IP层组播路由表的支持,仅需维护MPLS组播转发表;所有的组播源和组播用户都分布在各个IP-basedPIM组播域中,IP-based PIM组播域建立本域内的IP层组播路由,完成本域内的IP层组播数据转发。
2.一种基于IP/MPLS/BGP的多域组播一体化数据分发方法,其特征在于:包含以下步骤:
步骤一:基于IP/MPLS/BGP的多域组播一体化网络中的组播路由建立过程;
在步骤一中,PMBR指协议无关组播PIM组播边缘路由器;PMBR同时也是MMBR,MMBR指MPLS组播边缘路由器;步骤一包含以下步骤:
步骤a:边缘IP-based PIM组播域内终端组播用户通过IGMP或MLD协议加入或退出一个组播组,IP-based PIM组播域根据组播用户加入或退出信息生成PIM组播路由表;
步骤b:边缘IP-based PIM组播域内终端用户触发的PIM加入或剪枝消息到达PMBR;PMBR将本次的组播路由信息在组播边缘路由表MBRF中进行更新;
步骤c:当组播用户加入一个组播组;
当组播用户加入新的组播组,PMBR则对本次用户加入的组播地址进行hash计算,生成一个MPLS标签;同时PMBR利用扩展的MP-BGP将更新后的组播路由信息发送到其他PMBR;扩展的MP-BGP是由BGP协议扩展而来,MCAST_NLRI为扩展的MP-BGP中的一种新的网络层可达性信息NLRI;
当组播用户加入已有的组播组,则将此次收到组播用户PIM加入消息的路由器出接口添加到组播边缘路由表MBRF的相应表项中;PMBR在这种情况下不使用扩展的MP-BGP广播路由更新消息;
扩展的MP-BGP中的MCAST_NLRI包含4个字段:初始PMBR路由器IP地址,组播源IP地址,组播群组IP地址,MPLS标签;各字段具体描述如下:
初始PMBR路由器IP地址为最初发布本条路由的PMBR路由器的IP地址,它是初始PMBR路由器上任何一个接口的任何可用IP地址;
组播源IP地址为组播用户要加入的组播组的源地址,该值为0则表示不限定组播源;
组播群组IP地址为组播用户要加入的组播组群组地址;
MPLS标签为初始PMBR路由器为组播组IP地址所分配的标签,其中MPLS标签的前20比特包含标签值,剩余的比特为“栈底”;
此外,如果一条扩展的MP-BGP协议的更新消息中携带MP_REACH_NLRI属性,该MP_REACH_NLRI属性中的Next Hop域应被设置为发布本条路由的PMBR路由器上任何一个接口的任何可用IP地址;
步骤d:当组播用户退出一个组播组;
当要退出的组播用户不是其所在组播组的最后一个组播用户,则将本次退出组播用户的在MBRF表项中的出接口删除,PMBR在这种情况下不使用扩展的MP-BGP广播路由更新消息;
当要退出的组播用户是组播组的最后一个组播用户,则将组播边缘路由表MBRF的相应表项删除,同时PMBR使用扩展的MP-BGP广播路由更新消息;
步骤e:PMBR选择是否使用路由过滤技术,以确定是否要发送或接收扩展的MP-BGP路由更新消息;
步骤f:组播源的PMBR的组播边缘路由表MBRF在更新后,触发MPLS信令协议RSVP或LDP,根据变化后的MBRF信息建立或拆除组播LSP路径树;
步骤二:基于IP/MPLS/BGP的多域组播一体化网络中的组播数据转发过程;
在步骤二中,PMBR指PIM组播边缘路由器;PMBR同时也是MMBR,MMBR指MPLS组播边缘路由器;步骤二包含以下步骤:
步骤g:IP报文格式的组播数据首先在边缘IP-based PIM组播域进行转发,根据PIM协议建立的IP层组播路由表,组播数据到达组播源所在IP-based PIM组播域的PMBR;
步骤h:IP报文格式的组播数据到达PMBR后,PMBR查询组播边缘路由表MBRF,获取MBRF中记录的路由信息;
步骤j:在继续传输分组前,根据从MBRF中获得的信息,组播源PMBR首先把MPLS标签推送到标签堆栈上,使其成为底部或内部标签,其中的MPLS标签由用户加入的组播地址经过hash而生成;然后组播源PMBR把基于RSVP或LDP分配的组播LSP路径关联标签推送到标签堆栈上,使其成为顶部或路由器标签;
步骤k:在创建标签堆栈后,组播源PMBR沿着组播LSP路径,从所有的外发接口上把MPLS分组转发到第一跳MPLS组播路由器MMR上;MMR根据顶部标记,在运营商核心网中交换分组;组播LSP路径出口的倒数第二台路由器弹出顶部标签,暴露底部标签,然后把分组转发到组播LSP路径出口路由器,即组播用户的PMBR;
步骤m:组播用户PMBR收到分组后,弹出分组中的底部标签,并以底部标签为索引搜索PMBR上的标签转发表,获得该分组的所有出接口,并将该IP报文格式的组播数据分组从所有的出接口发送出去;
步骤n:IP报文格式的组播数据到达边缘IP-based PIM组播域后,沿PIM协议建立的IP层组播路由表到达各个终端组播用户。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100018299A CN100481817C (zh) | 2006-01-23 | 2006-01-23 | 一种基于ip/mpls/bgp的多域组播一体化数据分发结构及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNB2006100018299A CN100481817C (zh) | 2006-01-23 | 2006-01-23 | 一种基于ip/mpls/bgp的多域组播一体化数据分发结构及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN1801783A CN1801783A (zh) | 2006-07-12 |
CN100481817C true CN100481817C (zh) | 2009-04-22 |
Family
ID=36811547
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNB2006100018299A Expired - Fee Related CN100481817C (zh) | 2006-01-23 | 2006-01-23 | 一种基于ip/mpls/bgp的多域组播一体化数据分发结构及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN100481817C (zh) |
Families Citing this family (11)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101145927B (zh) * | 2006-09-12 | 2011-10-26 | 华为技术有限公司 | 组播广播业务的承载网络、系统及方法 |
CN101150491B (zh) * | 2006-09-22 | 2010-04-21 | 华为技术有限公司 | 一种多协议标签交换网络中的组播树的优化方法 |
CN101394342B (zh) * | 2007-09-20 | 2012-08-29 | 华为技术有限公司 | 实现组播传输的方法和装置 |
CN103067284B (zh) * | 2011-10-18 | 2016-01-13 | 清华大学 | 数据中心可扩展组播方法及系统 |
CN103581224B (zh) * | 2012-07-25 | 2018-05-22 | 腾讯科技(深圳)有限公司 | 推送信息的方法和装置 |
US9819573B2 (en) | 2014-09-11 | 2017-11-14 | Microsoft Technology Licensing, Llc | Method for scalable computer network partitioning |
WO2016069382A1 (en) * | 2014-10-26 | 2016-05-06 | Microsoft Technology Licensing, Llc | Virtual overlay mobility using label based underlay network forwarding |
CN105591931B (zh) * | 2015-07-02 | 2019-06-28 | 新华三技术有限公司 | 一种路由更新的方法和装置 |
US10051022B2 (en) * | 2016-03-30 | 2018-08-14 | Juniper Networks, Inc. | Hot root standby support for multicast |
CN106506368B (zh) * | 2016-10-19 | 2019-01-11 | 常熟理工学院 | 一种基于互联网的数据通信实现方法 |
CN110391978A (zh) * | 2019-07-17 | 2019-10-29 | 国联证券股份有限公司 | 一种基于paas云平台的组播路由系统及方法 |
-
2006
- 2006-01-23 CN CNB2006100018299A patent/CN100481817C/zh not_active Expired - Fee Related
Non-Patent Citations (11)
Title |
---|
BGP/MPLS IP VPNs. Eric C.Rosen,Yakov Rekhter.Network Working Group Internet Draft. 2004 |
BGP/MPLS IP VPNs. Eric C.Rosen,Yakov Rekhter.Network Working Group Internet Draft. 2004 * |
BGP/MPLS VPN实现细节探讨. 董玲,黄杨,徐塞虹.计算机工程与应用,第29期. 2005 |
BGP/MPLS VPN实现细节探讨. 董玲,黄杨,徐塞虹.计算机工程与应用,第29期. 2005 * |
Carrying Label Information in BGP-4. Y.Rekhter,E.Rsen.RFC3107. 2001 |
Carrying Label Information in BGP-4. Y.Rekhter,E.Rsen.RFC3107. 2001 * |
Protocol Independent Multicast - Sparse Mode(PIM-SM). Bill Fenner,Mark Handler,Hugh Holbrook,Isidor Kouvelas.Internet Engineering Task Force INTERNET-DRAFT. 2004 |
Protocol Independent Multicast - Sparse Mode(PIM-SM). Bill Fenner,Mark Handler,Hugh Holbrook,Isidor Kouvelas.Internet Engineering Task Force INTERNET-DRAFT. 2004 * |
基于MPLS的PIM-SM组播的研究与实现. 李小勇,张卫,郑伟.计算机工程,第31卷第11期. 2005 |
大型IP网络中组播部署方案研究. 朱华虹,闵锐.电信科学,第11期. 2005 |
大型IP网络中组播部署方案研究. 朱华虹,闵锐.电信科学,第11期. 2005 * |
Also Published As
Publication number | Publication date |
---|---|
CN1801783A (zh) | 2006-07-12 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN100481817C (zh) | 一种基于ip/mpls/bgp的多域组播一体化数据分发结构及方法 | |
US10313239B2 (en) | Methods, apparatus, and articles of manufacture to provide a multicast virtual private network (MVPN) | |
US9860163B2 (en) | MPLS traffic engineering for point-to-multipoint label switched paths | |
US8571029B1 (en) | Label switched path hierarchy for intra-area segments of inter-area point-to-multipoint label switched paths | |
US8111633B1 (en) | Multicast trees for virtual private local area network (LAN) service multicast | |
WO2017059708A1 (zh) | Bier信息的发送方法、接收方法及装置 | |
WO2018006671A1 (zh) | 报文发送方法和装置、网络架构、计算机存储介质 | |
EP1713199A1 (en) | Architecture for provisioning broadcast services over managed multicast virtual private LAN trees | |
CN100542127C (zh) | 一种基于多业务传输平台的组播实现方法 | |
WO2016198017A1 (zh) | 一种组播地址的传输方法和装置 | |
CN101106519A (zh) | 自治系统边界路由器路由发布方法及自治系统边界路由器 | |
EP3965368A1 (en) | Replication mode selection for multicast in evpn | |
CN104539545B (zh) | Trill网络中的组播报文转发方法和设备 | |
EP2028789B9 (en) | Method, system and apparatus for allocating label | |
CN101296179B (zh) | IPv6使用逆向路径转发矢量IPv4/6的方法 | |
Martinez-Yelmo et al. | Multicast traffic aggregation in MPLS-based VPN networks | |
CN101534203B (zh) | 一种组播控制的方法、设备和系统 | |
US20220094626A1 (en) | Method and Apparatus for Implementing Multicast | |
CN101394298A (zh) | 建立组播传输路径、实现组播传输的方法及装置 | |
CN105721322A (zh) | 在trill网络中传输组播数据的方法、装置和系统 | |
WO2022126144A1 (en) | Pce for bier-te path | |
Jokela et al. | (Deployable) reduction of multicast state with in-packet bloom filters | |
CN114726783A (zh) | 通告路由的方法、装置及系统 | |
Riaz | Multicast in MPLS Based Networks and VPNs | |
Planning et al. | Multicast Deployment Made Easy |
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 | ||
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: 20090422 Termination date: 20180123 |