CN103746923B - 一种组播树管理、调度方法及装置 - Google Patents
一种组播树管理、调度方法及装置 Download PDFInfo
- Publication number
- CN103746923B CN103746923B CN201310706415.6A CN201310706415A CN103746923B CN 103746923 B CN103746923 B CN 103746923B CN 201310706415 A CN201310706415 A CN 201310706415A CN 103746923 B CN103746923 B CN 103746923B
- Authority
- CN
- China
- Prior art keywords
- private network
- multicast
- mdt
- network multicast
- equipment
- 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.)
- Active
Links
Abstract
本发明提供一种组播树管理、调度方法及装置,该方案为PE与SDN控制器联动方案。在PE侧处理过程包括,将本PE设备上可用公网组播路由表项的数量AME_Num发送给SDN控制器;在确定私网组播满足预定切换条件时向SDN控制器发起切换申请,在收到SDN控制器的切换通知时,将私网组播从Default MDT切换到DATA MDT上进行承载;在SDN控制侧的处理包括:接收并保存PE设备或P设备发送的AME_Num;在收到PE设备的切换申请时判断当前最小的AME_Num是否为0;如果不为0则向该PE设备发送切换通知。本发明通过PE与SDN控制器的配合,可以避免PE切换到DATA MDT后出现组播流量转发不通的问题。
Description
技术领域
本发明涉及通信技术领域,尤其涉及一种组播树管理、调度方法及装置。
背景技术
在IP网络中,组播技术发展有相当的历史,而组播路由相关的协议经过多年发展之后,如今最为流行的协议是PIM(Protocol Independent Multicast,协议无关组播)协议。PIM协议又分为PIM SM(稀疏模式)协议以及PIM DM(密集模式)协议。随着技术的发展后来有出现了双向PIM(Bidir-PIM,Bidirectional PIM),其基本原理是:利用(*,G)表项进行转发,不区分发送组播流的源地址,可以转发来自多个源方向的组播流。
随着VPN技术的发展,VPN用户在其网络内开展组播业务的需求越来越多。对于VPN服务的提供者而言,其需要让用户的组播业务透明地跨越公网。组播VPN技术就是在这样的背景下诞生的。以基于MPLS L3VPN网络来实现组播VPN为例,在这种方案中一般利用MD(Multicast Domain,组播域)方案来实现组播VPN,简称为MD MVPN。MD是一个集合,它由一些相互间可以收发组播数据报文的VRF(Virtual Routing Forwarding)组成,每个VPN实例独立维护的单播路由转发表称为VRF,相应地称支持组播业务的VRF为MVRF,它同时维护单播和组播路由转发表。不同的MVRF加入到同一个MD中,通过MD内自动建立的组播树将这些MVRF连接在一起,实现了VPN中不同Site(站点)之间的组播业务互通,从而形成了一个组播VPN网络。
MD方案的基本思想是:在公网中为每个VPN维护一棵默认组播分发树(Default-MDT),以下将组播分发树简称为组播树或MDT。来自VPN中任意一个Site的组播报文(包括协议和数据报文)都会沿着该Default-MDT被转发给属于该MD的所有PE:PE收到组播报文后,如果其MVRF内有该组播组的接收者,则继续向CE转发;否则将其丢弃。然而这样的方案中,仍然存在设备的表项资源无法合理利用的问题。
发明内容
有鉴于此,本发明提供一种组播树切换管理装置,应用于公网的运营商边缘PE设备上,其中该PE设备连接用户私网中的CE设备,该网络还包括软件定义网络SDN控制器,该装置包括:状态通知单元、切换申请单元以及切换执行单元,其中:
状态通知单元,用于将本PE设备上可用公网组播路由表项的数量AME_Num发送给SDN控制器;
切换申请单元,用于在确定承载于默认组播树Default MDT上的私网组播满足预定切换条件时向SDN控制器发起切换申请,并在切换申请中携带该私网组播标识以请求将该私网组播切换到特定组播树DATA MDT上进行承载,并等待SDN控制器的切换通知;
切换执行单元,用于在收到SDN控制器的切换通知时,将待切换的私网组播从Default MDT切换到DATA MDT上进行承载。
本发明还提供一种组播树切换管理方法,应用于公网的运营商边缘PE设备上,其中该PE设备连接用户私网中的CE设备,该网络还包括软件定义网络SDN控制器,其中该方法包括如下步骤:
A、将本PE设备上可用公网组播路由表项的数量AME_Num发送给SDN控制器;
B、在确定承载于默认组播树Default MDT上的私网组播满足预定切换条件时向SDN控制器发起切换申请,并在切换申请中携带该私网组播标识以请求将该私网组播切换到特定组播树DATA MDT上进行承载,并等待SDN控制器的切换通知;
C、在收到SDN控制器的切换通知时,将待切换的私网组播从DefaultMDT切换到DATA MDT上进行承载。
本发明还提供一种组播树切换调度装置,应用于SDN控制器上,其中该SDN控制器用于管理公网中的PE设备以及P设备,该装置包括:
信息更新单元,用于接收并保存PE设备或P设备发送的AME_Num;
切换调度单元,用于在收到PE设备的切换申请时判断当前最小的AME_Num是否为0;如果不为0则向该PE设备发送切换通知;其中该切换申请中携带有期望从Default MDT切换到DATA MDT上进行承载的私网组播标识。
本发明还提供一种组播树切换调度方法,应用于SDN控制器上,其中该SDN控制器用于管理公网中的PE设备以及P设备,其中该方法包括如下步骤:
a、接收并保存PE设备或P设备发送的AME_Num;
b、在收到PE设备的切换申请时判断当前最小的AME_Num是否为0;如果不为0则向该PE设备发送切换通知;其中该切换申请中携带有期望从Default MDT切换到DATA MDT上进行承载的私网组播标识。
相较于现有技术,本发明可以有效避免PE在进行DATA MDT切换之后,组播流量转发不通的问题。
附图说明
图1是一种典型的DATA MDT加入消息的格式图。
图2是一种典型的MVPN组网图。
图3是本发明一种实施方式中组播树管理装置的逻辑结构以及硬件环境原理图。
图4是本发明一种实施方式中组播树调度装置的逻辑结构以及硬件环境原理图。
图5是本发明一种实施方式中组播树管理方法处理流程图。
图6是本发明一种实施方式中组播树管理方法处理流程图。
图7是本发明一种实施方式中组播树管理方法处理流程图。
图8是本发明一种实施方式中组播树管理方法处理流程图。
具体实施方式
在MVPN中,私网组播流量是承载在公网MDT上的,也就是说CE发送的私网组播报文在PE处会被再封装上一个公网组播报文头。封装后的报文相当于一个组播隧道报文,由于组播隧道报文使用公网组播地址,因此可以顺利跨越公网MDT中的各个P设备,到达对端PE之后进行解封装获得原始私网组播报文发送给对端CE设备。
MVPN中使用Default MDT最大的好处就是公网上的组播状态稳定,最大的缺点是带宽利用率低。当组播流量比较大时,没用的组播流会无谓的消耗组播分发树的某些分支上的带宽,因为那些分支上没有接收者。在后续的演进过程中,MD方案又演化出一个权衡于组播路由优化和可扩展性之间的折中方案:对于流量比较大的组播组,为其单独分配一棵特定的组播分发树(DATA MDT),而对于流量较小的组播组,则统一使用Default MDT。由于流量是动态变化的,因此肯定会涉及两个MDT切换问题,但是这些切换仅仅是在公网PE(Provider Edge,运营商边缘)设备上,切换过程对于CE(Customer Edge,用户边缘)设备来说是不可见的,而对于公网核心设备(P设备)设备而言,其会将VPN业务当成正常的数据业务进行处理,其感知不到VPN的存在。
DATA MDT是根据实际的组播流量变化而动态创建的。在具体实现时,一般会预先在组播源归属的PE(称为“源PE”)上设置一定条件,比如流量阈值;如果来自组播源的流量超过了这个阈值,该PE就通知所有Default-MDT上的其他PE(称为“接收者PE”)本PE将为这个源使用一棵新的DATA MDT,此时只有对这个组播组有兴趣的PE们才会加入这棵新的DATAMDT,于是组播流只会通过PE分发给那些有兴趣的其他PE。
请参考图1,在交互过程中,源PE向Default-MDT上所有的PE发送的DATA MDT加入消息,这个消息是通过UDP方式承载的,UDP端口号为3232,目的地址一般为224.0.0.13。其中类型字段(TYPE)目前为1;长度字段(Length)指整个消息的字节数,这里一般为16;Customer VPN Source是指用户侧组播源的地址,Customer VPN Group是用户组播组的地址;DATA-MDT Group是DATA MDT需要使用组播组的地址,DATA-MDT Group是从预先配置的组播地址池中选取的组播地址。
上述消息被封装在报文中,由源PE每隔一段时间通过Default MDT发送一次。只要组播流量一直达到或超过阈值,源PE就会一直发送这个消息,
如果回落到阈值之下就停止发送消息。希望接收该组播组流量的PE收到消息后会发送PIM加入消息以加入这棵DATA MDT。源PE在发出DATA MDT消息一段时间后之后使用DATA MDT的报文头封装组播业务报文,这一段时间的延迟主要是为了确保其他PE都能收到该消息。接下来源PE沿着DATA MDT发送组播组流量。如果组播组流量降低到阈值以下,源PE不会马上切换回Default MDT,而是先使用DATA MDT至少一段时间,如果这段时间内流量一直低于阈值,则60秒后切换回Default MDT,这样可以避免频繁的切换。接收者PE如果连续一段时间都未收到DATA MDT加入消息,为DATA MDT组而创建的组播转发表项就会老化删除。
请参考图2,假定PE1和PE3上建立了组播VPN1,对应的组播域称为MD1,Data-MDT组播地址池的配置为(226.0.0.1~226.0.0.100)。若组播地址池中地址都被分配出去给了100个DATA MDT,在这种情况下PE1->P1->P2->P3->PE3上每个设备都需要建立100条对应的组播路由。同样的道理,假定PE2和PE4上建立了组播VPN2,对应的组播域称为MD2,其组播地址池的配置为(227.0.0.1~227.0.0.100),假设组播地址池中的组播地址也都被分配出去给了100个DATA MDT,那么PE4->P4->P3->P2->PE2上每个设备需要建立100条Data-group对应的组播路由。从这里可以看出,处于网络核心位置的P2和P3上需要支持至少200条组播路由,其它设备需要支持至少100条组播路由。图2只不过是一个很简单的组网示例,在实际的网络中,类似P2或P3这样的处于公网核心位置上的设备,其需要支持的组播路由数量可能多达上千条乃至更多。
仍然以图2为例,假设P2设备最大只能支持150条组播路由,则就可能出现某个PE发起Data MDT切换后,由于P设备组播路由表项资源不足而出现组播转发不通的情况。一种容易想到的解决方案是,网络管理者在配置PE设备上给DATA MDT使用的组播地址池时,必须确保整个网络中各PE的组播地址池中组播地址的数量总和不要超过网络中任意P/PE设备的组播路由表项的规格。但这种方式问题仍然比较突出:首先,若网络中新增加P/PE设备,则必须对整个网络重新进行配置,确保上述条件能够得到满足,这无疑大大制约了网络管理的灵活性和便利性。其次,对于网络提供商来说,当某一个组播地址池配置完成后,VPN1租户可能并不会总是满负荷使用MD1的组播地址池中的组播地址,而VPN2的租户则可能由于私网组播组数目较多,对应的MD2组播地址池中由于地址数量较少,而无法实现每条私网组播路由占用单独Data-MDT,实现按对应PE设备的按需洪泛。
针对上述情况,本发明提供一种SDN控制器与PE设备联动解决方案来解决组播路由表项规格有限所引发的问题。SDN(Software Defined Network)的技术构思起源于斯坦福大学Ethane项目,此后SDN架构随着技术研究的深入和发展得到了学术界和工业界的广泛认可,成为了未来网络发展的新方向。SDN技术架构通过把原有封闭的体系解耦为数据平面、控制平面和应用平面,提供了一种可编程的网络实现。在SDN网络中,所有的设备都会与SDN控制器建立连接(比如TCP连接)。在这些连接之上,SDN控制器能够实时的获取网络设备的状态,资源、协议运行情况等信息,并下发控制命令控制网路设备的表项的增删、进行业务配置和流量优化与监测等。在本发明中SDN控制器一样和公网中的PE设备以及P设备建立连接,对PE设备和P设备进行管理以及调度,或者接收各个设备上报的各种有用的信息。
请参考图3以及图4,在本发明联动方案中,本发明提供一种应用于PE设备上的组播树切换管理装置以及应用于SDN控制器上组播树切换调度装置。在一种流行的实施方式中,上述两个装置均通过计算机程序来实现,本发明并不排除软硬件结合,硬件实现乃至可编程逻辑器件的实现方式。请参考图2,从逻辑结构上看,所述组播树切换管理装置包括状态通知单元、切换申请单元以及切换执行单元,组播树切换调度装置包括信息更新单元以及切换调度单元。上述两个装置运行的基本硬件环境包括CPU、内存、非易失性存储器以及其他必要的硬件。请参考图4至图8,在一个实施方式中,在运行过程中,上述两个装置配合过程包括如下步骤。
PE设备一侧,组播树切换管理装置的处理流程包括:
步骤501,状态通知单元将本PE设备上可用公网组播路由表项的数量AME_Num发送给SDN控制器;
步骤502,切换申请单元在确定承载于Default MDT上的私网组播满足预定切换条件时向SDN控制器发起切换申请,并在切换申请中携带该私网组播标识以请求将该私网组播切换到DATA MDT上进行承载,并等待SDN控制器的切换通知;
步骤503,切换执行单元在收到SDN控制器的切换通知时,将私网组播从DefaultMDT切换到DATA MDT上进行承载。
SDN控制器一侧,组播树切换调度装置的处理流程包括:
步骤601,信息更新单元接收并保存PE设备或P设备发送的AME_Num;
步骤602,切换调度单元在收到PE设备的切换申请时判断当前最小的AME_Num是否为0;如果不为0则向该PE设备发送切换通知;其中该切换申请中携带有期望从Default MDT切换到DATA MDT上进行承载的私网组播标识。
通过以上的实施例可以看出,本发明中,PE设备以及P设备将自身的AME_Num发送给SDN控制器,AME_Num的发送方式可以是定期发送,或者是在AME_Num发生变化是主动发送。得到各个设备发送的AME_Num之后,SDN控制器可以在内部维护一张AME_Num记录表,在该记录表中记录和更新每个设备对应的AME_Num,根据该表SDN控制器就可以及时得知当前公网中是否有PE设备或P设备的公网组播表项已经耗尽(即最小的AME_Num为0);如果是,则说明若当前PE设备立刻进行切换,就有可能导致组播流量在到达公网组播表项已经耗尽的设备时无法被转发。本发明中,PE设备进行Default MDT到DATA MDT的切换是根据SDN控制器的切换通知进行的。在没有得到切换通知之前,对于满足切换条件的私网组播流量仍然在Default MDT进行承载,如此可避免盲目切换而导致转发不通的问题。
在上述的实施方式中,SDN控制器在PE设备和P设备的协助下对切换过程进行控制,使得切换过程更加合理。然而考虑到一个公网服务的用户非常多,私网组播的数量不断变化,私网组播流量也会发生变化,其仍然可能出现下述情况:
假设PE1设备上预定切换条件是私网组播的流量速率达到V1,其中该私网组播通常以(VPN,S,G)来标识,其中VPN标识私网用户的VPN标识,S表示组播源地址,而G表示私网组播地址。一开始的时候,假设PE1上私网组播1的流量速率为1.2V1,在切换时,SDN控制器发现没有AME_Num为0,于是就批准了这个切换申请。私网组播1切换到对应的DATA MDT上进行承载。过了一段时间之后,PE1上又出现了一个私网组播2,其流量速率是2.5V1,也满足切换条件。PE1同样向SDN控制器发送切换申请,此时假设SDN控制器发现有设备的AME_Num为0。在一种常规的处理方式中,SDN控制器可以拒绝该申请,直到最小的AME_Num不为0,私网组播2流量仍然在Default MDT进行承载。但这样的方式显得不够优化,在MVPN中,使用DATAMDT的初衷是希望流量较大的私网组播能够切换到DATA MDT上来。然而此时由于有设备的AME_Num为0,这个切换无法被批准。针对这种情况,本发明在上述实施方式的基础上提出一个更为优化为实施方式,其处理过程如下。
PE设备一侧,组播树切换管理装置的处理流程包括:
步骤701,状态通知单元将本PE设备上可用公网组播路由表项的数量AME_Num发送给SDN控制器;
步骤702,状态通知单元定期将本PE设备上所有在DATA MDT上承载的私网组播的状态信息发送给SDN控制器;其中该状态信息包括私网组播标识以及对应的私网组播流量速率;
步骤703,切换申请单元在确定承载于Default MDT上的私网组播满足预定切换条件时向SDN控制器发起切换申请,并在切换申请中携带该私网组播标识以请求将该私网组播切换到DATA MDT上进行承载,并等待SDN控制器的切换通知,其中切换申请中还携带有待切换私网组播的流量速率;
步骤704,切换执行单元在收到SDN控制器的切换通知时,将私网组播从DefaultMDT切换到DATA MDT上进行承载;
步骤705,切换执行单元在收到SDN控制器的回切通知时,将私网组播从DATA MDT切换到Default MDT上进行承载;
SDN控制器一侧,组播树切换调度装置的处理流程包括:
步骤801,信息更新单元接收并保存PE设备或P设备发送的AME_Num;
步骤802,信息更新单元接收PE设备发送私网组播的状态信息,并将该状态信息对应保存在私网组播状态信息表中;其中该信息表中至少包括PE设备标识、私网组播标识以及私网组播流量速率;
步骤803,切换调度单元在收到PE设备的切换申请时执行切换调度,转入步骤804;
步骤804,切换调度单元判断当前最小的AME_Num是否为0;如果不为0转步骤805;如果为0,转步骤806;
步骤805,切换调度单元向该PE设备发送切换通知;
步骤806,切换调度单元遍历私网组播状态信息表以确定是否有在DATAMDT上承载的私网组播的流量速率小于当前待切换私网组播的流量速率,如果有则向管理该流量速率小于当前待切换私网组播且承载于DATA MDT上的私网组播的PE设备发送回切通知,转步骤807;
步骤807,延时预定时间后返回步骤804。
在一个较佳的实施方式中,本发明PE设备配置的切换条件是流量速率达到阈值V。若某个私网组播的流量速率达到V,则可以等待一个“观察时间”,比如60秒,然后向SDN提出切换申请,以要求将该私网组播从DefaultMDT切换到DATA MDT上承载。相反当一个原来在DATA MDT上承载的私网组播的流量速率下降到小于V的时候,PE可以主动进行回切,主动回切的实现可以参考各种成熟的设计。进一步来说,在一种比较优化的实现方式中,在PE申请切换或者主动回切时,其可相应将回切的私网组播的状态信息发送给SDN控制器,而满足切换条件的私网组播是SDN控制器所关注的重要信息。
从SDN控制器的角度来说,其需要从PE处得知所有在DATA MDT上承载的私网组播的流量速率的变化情况。除了PE设备在申请切换或主动回切时发送之外,在优选的方式中,PE设备还可以定期将其上的私网组播的状态信息发送给SDN控制器,因为某个私网组播速率的变化可能会导致SDN控制器后续会对其采取相应的处理措施。比如说,假设私网组播1已经切换到DATA MDT上进行承载,但是其速率下降到1.1V,假定该速率是在通过DATA MDT承载的私网组播中最低的一个,而此时一个新的私网组播2产生,其流量速率是2.5V。若当前最小的AME_Num为0,说明网络中有设备的公网组播路由表项资源已经耗尽,私网组播2进行切换的后果是报文在AME_Num为0的设备上无法转发。
针对这种情况,本发明中SDN控制器发现私网组播1的速率低,而私网组播2的速率高,两者在一般原则上都需要在DATA MDT进行承载,但是此时最小AME_Num为0,那么SDN控制器优先让速率更大的私网组播2在DATA MDT上进行承载。因此其可以要求私网组播1所在的PE对私网组播1进行回切,因为私网组播1的回切很可能会让最小AME_Num从0变化为1。在发出回切通知之后,SDN控制器通常需要等待一个预定的时间之后,再来检查最小AME_Num是否为0,如果还是为0则重新选择进行回切的私网组播,如果一直选择不到,也就是在DATAMDT上承载的私网组播的流量速率都不小于当前待切换私网组播的流量速率,此时SDN控制器更新私网组播状态信息表即可。值得注意的是:理论上来说,一个私网组播回切到Default MDT,并不意味着当前AME_Num为0的设备的AME_Num一定会变化为1。举例来说,请参考图2,若MD1中的某个私网组播回切到DefaultMDT,此时P4的AME_Num不会有任何变化。但在实际组网中,AME_Num为0的设备往往是网络中比较核心位置上的设备,因为几乎每一个MDT都会经过该设备,因此这些比较核心设备的公网组播路由表项规格固然很大,但是由于其表项消耗更大,因此AME_Num为0的设备更有可能是这些设备。此时,从反向来看,当一条私网组播回切之后,这些设备的AME_Num有很大的可能性从0变化为1,因为回切的私网组播所使用的DATA MDT很可能经过这些核心设备,或者说核心设备上很可能有DATA MDT对应的公网组播路由表项。
以上实施方式解决了最小AME_Num为0时,如何进行回切实现表项资源腾挪,从而为速率更高的待切换私网组播提供DATA MDT的问题。这种实施方式中,腾挪的触发机制是有PE发起申请切换。如果仅仅依赖这一个触发机制,那么实现上仍然不是那么完美。仍然以上述例子为基础,假设私网组播1速率分别为2V,假设该速率是所有在DATA MDT上承载的私网组播中最小的一个。此时新的私网组播2的流量速率为1.5V,其满足切换条件,于是PE向SDN控制器发起切换申请,SDN控制器发现当前最小AME_Num为0,继续检查是否有DATA MDT上私网组播流量速率小于1.5V的,经过检查发现最小的速率是2V,大于1.5V,于是私网组播2无法切换到DATAMDT上承载,继续在Default MDT上承载。
假设过了一段时间之后,当前最小AME_Num仍然为0,私网组播1的速率下降到1.5V,而私网组播2的速率上升到2V。显然这种情况是可能发生。本发明中,针对这种情况,每个PE设备上的状态通知单元定期上报的私网组播的状态信息中进一步包括私网组播的MDT状态标记,MDT状态标记分为两种,一种表示DATA MDT,另一种表示Default MDT。在本实施方式中PE上报的私网组播不仅包括在DATA MDT上承载的私网组播,此时PE会上报所有待切换的私网组播(也就是满足切换条件的私网组播),其中可能有一些组播虽然满足切换条件,但当前仍然在Default MDT上进行承载。比如说,之前私网组播2的速率是1.5V,大于切换阈值V,因此属于满足切换条件的私网组播,只不过私网组播2仍然在Default MDT承载。
SDN控制器可以根据最新的状态信息定期去检查是否有Default MDT上承载的待切换私网组播的流量速率大于在DATA MDT上承载的私网组播的流量速率。如果有这种情况存在,则将DATA MDT上承载的私网组播进行回切,尝试腾挪出表项资源,以允许流量速率更大的私网组播切换到DATAMDT上承载。在优选的方式中,SDN控制器上的切换调度单元定期查找私网组播状态信息表中MDT承载标记为第一标记的私网组播中流量速率最小的第一私网组播以及MDT承载标记为第二标记的私网组播中流量速率最大的第二私网组播。这里的第一私网组播和第二私网组播是SDN控制器优先调度的两个对象,如果后续真的进行回切,那么被回切的第一私网组播最好是在DATA MDT上承载的私网组播中流量速率最小的那一个;而如果后续真的对第二私网组播进行切换的话,那么第二私网组播最好是Default MDT上承载的私网组播中流量速率最大的那一个。当该第一私网组播的流量速率小于第二私网组播的流量速率,SDN控制器向管理该第一私网组播的PE设备发送回切通知。这个过程可以循环执行,目标是在最小的AME_Num为0,且第一私网组播和第二私网组播流量关系满足上述条件时,为第二私网组播腾挪出资源。
在SDN控制器完成一次腾挪之后,最小的AME_Num并不一定会从0变化为1,因此要对第二私网组播进行切换,其同样可以通过定期判断AME_Num是否为0来确定是否切换。如果SDN控制器的切换调度单元发现当前最小的AME_Num不为0,且查找私网组播状态信息表发现其中存在所述第二私网组播,向管理该第二私网组播的PE发送切换通知,从而将第二私网组播切换到DATA MDT上进行承载。
值得注意的是,本发明上述切换过程以及回切过程着重于描述在切换和回切的流量条件,事实上切换和回切可能还受到其他条件约束,比如说为了避免频繁的切换和回切,可能需要在流量条件满足的时长达到一定的时长才需要回切。再比如说,第二私网组播隧道的流量速率大于第一私网组播,是第一私网组播回切的必要条件,但如果两者之间的差值达不到一个指定的阈值,或者说两者之间流量速率差值很小(比如只有1KB/S),立刻进行切换可能会出现切换频繁影响稳定度的问题,因此本发明同样也可以选择不进行回切。更多与回切或切换相关的约束条件,本领域普通技术人员可以参考现有设计或根据网络应用的实际需要增加进来,本发明不再一一列举。
以下通过一个示例来进一步解释上述实施方式。请参考图2,假定PE1和PE3上建立了组播VPN1,对应的组播域为MD1。PE1上配置的DefaultMDT的公网组播地址为225.0.0.1,Data MDT的公网组播地址池的配置为(226.0.0.1~226.0.0.2),进行Data-MDT切换条件是私网组播流量速率达到100KB/S。假定PE2和PE4上建立了组播VPN2,对应的组播域为MD2,PE4上配置的Default MDT的公网组播地址为225.0.0.2,Data MDT的公网组播地址池的配置为(227.0.0.1~227.0.0.2),进行Data-MDT切换条件是私网组播流量速率达到100KB/S。
SDN控制器通过接收各个PE以及P设备发送的AME_Num确定当前P2上可用组播路由资源数目最少,P2是整个网络开展DATA MDT承载的瓶颈所在。假设除了Default MDT占用的表项之外,P2上的AME_Num为2条,当然事实上一般远远超过2条,这里仅仅是示例性的。为了方便描述,后续都假设P2的AME_Num一直是最小;当然在实际网络中最小的AME_Num可能随时变化为其他设备的AME_Num。
在初始的时候,假设从CE1发送的私网组播a的(VPN,S,G)为(1,100.0.0.1,230.0.0.1),该私网组播的流量速率为200KB/S。显然该速率已经达到PE1上的Data-MDT的切换阈值,于是PE1按照前述流程向SDN控制器申请进行Data-MDT切换。收到该切换申请之后,SDN controller发现P2的AME_Num不为0,SDN控制器批准该申请,向PE1发送切换通知,同时将本地保存的私网组播状态信息表更新。同样地,假设CE4私网组播b的(VPN,S,G)为(2,100.0.0,1,230.0.0.1),其流量速率为120KB/S,显然该速率达到PE4上的配置的Data-MDT的切换阈值,PE4同样也会发出申请,该切换申请最终也会被批准。最终私网组播a和私网组播b也会切换到Data-MDT上进行承载。此时SDN控制器上的私网组播状态信息表的更新结果如表1所示。
设备标识 | (VPN,S,G) | 流量速率 | MDT状态 |
PE1 | (1,100.0.0.1,230.0.0.1) | 200KB/S | Data-MDT |
PE4 | (2,100.0.0.1,230.0.0.1) | 120KB/S | Data-MDT |
表1
接下来,假设CE1又发送了一个新的私网组播c,其(VPN,S,G)为(1,100.0.0.2,230.0.0.2),其流量速率为150KB/S,也达到PE1上的Data-MDT的切换阈值,于是PE1向SDNcontroller申请切换,SDN控制器更新表1得到表2。如前所述,由于私网组播a和私网组播b切换到DATA MDT,这导致了P2的AME_Num变为0。SDN控制器发现P2上没有可用公网组播路由表项,此时SDN控制器遍历比较表2中其他私网组播的流量速率,结果发现PE4上私网组播b当前的流量速率为120KB/S。在优选的方式中,SDN控制器先通知PE4将私网组播回切到Default-MDT进行承载。由于回切需要一定的时间,SDN控制器等待一段时间后,假设PE4执行回切完成,此时SDN控制器再检查发现P2的AME_Num,发现P2的AME_Num为1,也就是P2有1条可用的公网组播路由表项。此时SDN控制器再通知PE1私网组播c可以进行切换,然后将表2更新为表3。
设备标识 | (VPN,S,G) | 流量速率 | MDT状态 |
PE1 | (1,100.0.0.1,230.0.0.1) | 200KB/S | Data-MDT |
PE4 | (2,100.0.0.1,230.0.0.1) | 120KB/S | Data-MDT |
PE1 | (1,100.0.0.2,230.0.0.2) | 150KB/S | Default-MDT |
表2
设备标识 | (VPN,S,G) | 流量速率 | MDT状态 |
PE1 | (1,100.0.0.1,230.0.0.1) | 200KB/S | Data-MDT |
PE4 | (2,100.0.0.1,230.0.0.1) | 120KB/S | Default-MDT |
PE1 | (1,100.0.0.2,230.0.0.2) | 150KB/S | Data-MDT |
表3
假设经过一段时间后,CE1发送的私网组播c流量减少为100KB/S。由于PE1会定期将达到切换条件的私网组播的状态信息发送给SDN控制器。SDN控制器收到上述状态信息对表3进行更新时,发现PE4上有私网组播b的流量速率比私网组播c更高,但私网组播b使用的却还是Default-MDT。针对这种情况,SDN控制器向PE1发送回切通知,要求PE1将私网组播c切换到Default-MDT进行承载。等待回切完成,P2向SDN控制器发送自身的最新的AME_Num(此时为1)之后,SDN控制器再通知PE4将私网组播b切换到Data-MDT进行承载,更新后的私网组播状态信息表如表4所示。
设备标识 | (VPN,S,G) | 报文速率 | MDT状态 |
PE1 | (1,100,0.0.1,230.0.0.1) | 200KB/S | Data-MDT |
PE4 | (2,100,0.0.1,230.0.0.1) | 120KB/S | Data-MDT |
PE1 | (1,100,0.0.2,230.0.0.2) | 100KB/S | Default-MDT |
再过一段时间之后,假设CE1发送的私网组播a的流量速率下降为50KB/S,为了避免频繁切换引发震荡,经过一段时间观察之后,PE1发现私网组播a的流量确实一直无法达到阈值100KB/S。此时PE1主动将私网组播a切换到Default MDT上进行承载,并向更新SDN控制器该私网组播的状态信息。SDN控制器对表4进行更新,等待一段时间之后发现AME_Num又变化为1,此时SDN控制器可以向PE1发送切换通知,允许PE1将私网组播c切换到DATA MDT上进行承载。
通过以上的描述可以看出,在本发明中,PE通过与SDN的配合,在PE真正发起切换时,网络上PE/P设备总是有可用的组播路由资源,不会出现PE切换后因P设备或PE设备组播路由表项资源不足而导致组播业务中断的情况,而且在较佳的方式中,通过对DATA MDT的统一管理调度,使得更高速的组播业务总是有更大的机会使用独占的Data-MDT,优化了整个网络的组播流量的分发。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。
Claims (16)
1.一种组播树切换管理装置,应用于公网的运营商边缘PE设备上,其中该PE设备连接用户私网中的CE设备,该网络还包括软件定义网络SDN控制器,该装置包括:状态通知单元、切换申请单元以及切换执行单元,其特征在于:
状态通知单元,用于将本PE设备上可用公网组播路由表项的数量AME_Num发送给SDN控制器;
切换申请单元,用于在确定承载于默认组播树Default MDT上的私网组播满足预定切换条件时向SDN控制器发起切换申请,并在切换申请中携带该私网组播标识以请求将该私网组播切换到特定组播树DATA MDT上进行承载,并等待SDN控制器的切换通知;
切换执行单元,用于在收到SDN控制器的切换通知时,将待切换的私网组播从DefaultMDT切换到DATA MDT上进行承载。
2.如权利要求1所述的装置,其特征在于:所述状态通知单元进一步用于定期将本PE设备上所有满足切换条件的私网组播的状态信息发送给SDN控制器;其中该状态信息包括私网组播标识、私网组播流量速率以及MDT承载标记;其中MDT承载标记为表示私网组播在Default MDT上承载的第一标记或表示私网组播在DATA MDT上承载的第二标记。
3.如权利要求1所述的装置,其特征在于:所述切换申请单元进一步用于在确定承载于DATA MDT上的私网组播满足预定回切条件后通知切换执行单元;
所述切换执行单元,进一步用于根据切换申请单元的通知,将待切换的私网组播从DATA MDT切换到Default MDT上进行承载,并将切换执行结果通知所述SDN控制器,其中该切换执行结果中携带有该私网组播的标识。
4.如权利要求1所述的装置,其特征在于:所述切换执行单元,进一步用于在收到SDN控制器的回切通知时,将回切通知中指定的私网组播从DATA MDT切换到Default MDT上进行承载。
5.如权利要求1所述的装置,其特征在于:其中将AME_Num发送给SDN控制器方式为定期发送或在AME_Num发生变化时主动发送。
6.一种组播树切换管理方法,应用于公网的运营商边缘PE设备上,其中该PE设备连接用户私网中的CE设备,该网络还包括软件定义网络SDN控制器,其特征在于,该方法包括如下步骤:
A、将本PE设备上可用公网组播路由表项的数量AME_Num发送给SDN控制器;
B、在确定承载于默认组播树Default MDT上的私网组播满足预定切换条件时向SDN控制器发起切换申请,并在切换申请中携带该私网组播标识以请求将该私网组播切换到特定组播树DATA MDT上进行承载,并等待SDN控制器的切换通知;
C、在收到SDN控制器的切换通知时,将待切换的私网组播从DefaultMDT切换到DATAMDT上进行承载。
7.如权利要求6所述的方法,其特征在于:其中步骤A进一步包括:定期将本PE设备上所有满足切换条件的私网组播的状态信息发送给SDN控制器;其中该状态信息包括私网组播标识、私网组播流量速率以及MDT承载标记;其中MDT承载标记为表示私网组播在DefaultMDT上承载的第一标记或表示私网组播在DATA MDT上承载的第二标记。
8.如权利要求6所述的方法,其特征在于:其中步骤C进一步包括:
在确定承载于DATA MDT上的私网组播满足预定回切条件后将待切换的私网组播从DATA MDT切换到Default MDT上进行承载,并将切换执行结果通知所述SDN控制器,其中该切换执行结果中携带有该私网组播的标识。
9.如权利要求6所述的方法,其特征在于:其中步骤C进一步包括:
在收到SDN控制器的回切通知时,将回切通知中指定的私网组播从DATA MDT切换到Default MDT上进行承载。
10.如权利要求6所述的方法,其特征在于:其中将AME_Num发送给SDN控制器方式为定期发送或在AME_Num发生变化时主动发送。
11.一种组播树切换调度装置,应用于SDN控制器上,其中该SDN控制器用于管理公网中的PE设备以及P设备,该装置包括信息更新单元以及切换调度单元,其特征在于:
信息更新单元,用于接收并保存PE设备以及P设备发送的AME_Num;
切换调度单元,用于在收到PE设备的切换申请时判断当前最小的AME_Num是否为0;如果不为0则向该PE设备发送切换通知;其中该切换申请中携带有期望从Default MDT切换到DATA MDT上进行承载的私网组播标识。
12.如权利要求11所述的装置,其特征在于:所述信息更新单元进一步用于接收公网中PE设备发送的私网组播的状态信息,并将该状态信息保存在私网组播状态信息表中,其中该私网组播状态信息包括私网组播标识以及私网组播的流量速率;
所述切换调度单元进一步用于在收到PE设备的切换申请时执行切换调度,其中切换调度过程包括:判断当前最小的AME_Num是否为0;如果不为0则向该PE设备发送切换通知;如果为0,则遍历私网组播状态信息表以确定是否有在DATA MDT上承载的私网组播的流量速率小于当前待切换私网组播的流量速率,如果有则向管理该流量速率小于当前待切换私网组播且承载于DATA MDT上的私网组播的PE设备发送回切通知;延时预定时间后返回继续执行切换调度。
13.如权利要求12所述的装置,其特征在于,所述私网组播状态信息中还包括该私网组播的MDT承载标记,其中MDT承载标记为表示私网组播在Default MDT上承载的第一标记或者表示私网组播在DATA MDT上承载的第二标记;
所述切换调度单元进一步用于在当前最小的AME_Num为0时,定期查找私网组播状态信息表中MDT承载标记为第一标记的私网组播中流量速率最小的第一私网组播以及MDT承载标记为第二标记的私网组播中流量速率最大的第二私网组播;判断第一私网组播的流量速率是否小于第二私网组播的流量速率,如果是,则向管理该第一私网组播的PE设备发送回切通知;
所述切换调度单元进一步用于在当前最小的AME_Num不为0时,查找私网组播状态信息表中是否存在所述第二私网组播,如果是,则向管理该第二私网组播的PE发送切换通知。
14.一种组播树切换调度方法,应用于SDN控制器上,其中该SDN控制器用于管理公网中的PE设备以及P设备,其特征在于,该方法包括如下步骤:
a、接收并保存PE设备以及P设备发送的AME_Num;
b、在收到PE设备的切换申请时判断当前最小的AME_Num是否为0;如果不为0则向该PE设备发送切换通知;其中该切换申请中携带有期望从Default MDT切换到DATA MDT上进行承载的私网组播标识。
15.如权利要求14所述的方法,其特征在于:所述步骤a进一步包括:
接收公网中PE设备或P设备发送的私网组播的状态信息,并将该状态信息保存在私网组播状态信息表中,其中该私网组播状态信息包括私网组播标识以及私网组播的流量速率;
所述步骤b进一步包括:
在收到PE设备的切换申请时执行切换调度,其中切换调度过程包括:判断当前最小的AME_Num是否为0;如果不为0则向该PE设备发送切换通知;如果为0,则遍历私网组播状态信息表以确定是否有在DATA MDT上承载的私网组播的流量速率小于当前待切换私网组播的流量速率,如果有则向管理该流量速率小于当前待切换私网组播且承载于DATA MDT上的私网组播的PE设备发送回切通知;延时预定时间后返回继续执行切换调度。
16.如权利要求15所述的方法,其特征在于,所述私网组播状态信息中还包括该私网组播的MDT承载标记,其中MDT承载标记为表示私网组播在Default MDT上承载的第一标记或者表示私网组播在DATA MDT上承载的第二标记;
所述步骤b进一步包括:
在当前最小的AME_Num为0时,定期查找私网组播状态信息表中MDT承载标记为第一标记的私网组播中流量速率最小的第一私网组播以及MDT承载标记为第二标记的私网组播中流量速率最大的第二私网组播;判断第一私网组播的流量速率是否小于第二私网组播的流量速率,如果是,则向管理该第一私网组播的PE设备发送回切通知;
在当前最小的AME_Num不为0时,查找私网组播状态信息表中是否存在所述第二私网组播,如果是,则向管理该第二私网组播的PE发送切换通知。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310706415.6A CN103746923B (zh) | 2013-12-19 | 2013-12-19 | 一种组播树管理、调度方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310706415.6A CN103746923B (zh) | 2013-12-19 | 2013-12-19 | 一种组播树管理、调度方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN103746923A CN103746923A (zh) | 2014-04-23 |
CN103746923B true CN103746923B (zh) | 2017-02-15 |
Family
ID=50503914
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310706415.6A Active CN103746923B (zh) | 2013-12-19 | 2013-12-19 | 一种组播树管理、调度方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103746923B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN105516029A (zh) * | 2014-09-23 | 2016-04-20 | 财团法人资讯工业策进会 | 网络分组系统及其网络分组方法 |
CN105281953B (zh) * | 2015-10-20 | 2019-03-05 | 北京星网锐捷网络技术有限公司 | 网络故障处理方法及服务提供商的边缘设备 |
CN105812267B (zh) * | 2016-03-24 | 2019-02-19 | 新华三技术有限公司 | 一种组播树切换方法及装置 |
CN107360089B (zh) * | 2016-05-10 | 2021-03-19 | 新华三技术有限公司 | 一种路由建立方法、业务数据转换方法及装置 |
CN107733850A (zh) * | 2017-08-23 | 2018-02-23 | 中国船舶重工集团公司第七0九研究所 | 基于集中控制架构的组播隔离方法及系统 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7564806B1 (en) * | 2004-08-30 | 2009-07-21 | Juniper Networks, Inc. | Aggregate multicast trees for multicast virtual private networks |
CN102137000A (zh) * | 2010-11-24 | 2011-07-27 | 华为技术有限公司 | 一种建立切换组播分发树的方法、装置及系统 |
-
2013
- 2013-12-19 CN CN201310706415.6A patent/CN103746923B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7564806B1 (en) * | 2004-08-30 | 2009-07-21 | Juniper Networks, Inc. | Aggregate multicast trees for multicast virtual private networks |
US7570605B1 (en) * | 2004-08-30 | 2009-08-04 | Juniper Networks, Inc. | Multicast data trees for multicast virtual private networks |
US8160076B1 (en) * | 2004-08-30 | 2012-04-17 | Juniper Networks, Inc. | Auto-discovery of multicast virtual private networks |
CN102137000A (zh) * | 2010-11-24 | 2011-07-27 | 华为技术有限公司 | 一种建立切换组播分发树的方法、装置及系统 |
Also Published As
Publication number | Publication date |
---|---|
CN103746923A (zh) | 2014-04-23 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US9419817B2 (en) | Stitching multicast trees | |
EP2783480B1 (en) | Method for multicast flow routing selection | |
EP2813032B1 (en) | Balancing of forwarding and address resolution in overlay networks | |
US8675522B2 (en) | Conveying the VLAN/L2 VSN/bridging-domain of the incoming interface (IIF) when transporting multicast traffic over a shortest path bridged (SPB) network | |
CN103746923B (zh) | 一种组播树管理、调度方法及装置 | |
US8958423B2 (en) | Implementing a multicast virtual private network by using multicast resource reservation protocol-traffic engineering | |
CN104378296B (zh) | 一种报文转发方法及设备 | |
US9729430B2 (en) | System, device, and method of dense-mode multicast tunneling using interlayer group membership control | |
US9832290B2 (en) | Protocol independent multicast register optimization | |
CN103428088B (zh) | 一种树根分配、报文处理的方法及路由网桥 | |
CN103346968A (zh) | 用于路由组播数据的方法和装置 | |
US9112711B2 (en) | Optimizing OTV multicast traffic flow for site local receivers | |
US20140226525A1 (en) | Safe Multicast Distribution with Predictable Topology Changes | |
CN104106242A (zh) | 分片网络中委托转发和地址解析 | |
CN105656796A (zh) | 实现虚拟扩展局域网三层转发的方法和装置 | |
CN109450793B (zh) | 一种业务流量调度的方法和装置 | |
CN103209134B (zh) | 一种组播转发的方法和设备 | |
CN105162704A (zh) | Overlay网络中组播复制的方法及装置 | |
CN102075438A (zh) | 单播数据帧传输方法及装置 | |
US10397340B2 (en) | Multicast migration | |
CN109196819A (zh) | 虚拟端口信道上的双向多播 | |
CN103138955A (zh) | 在第2层网络中使用多个igmp查询器 | |
CN102710510B (zh) | 信息处理方法、装置及系统 | |
CN109743250A (zh) | 组播报文的传输方法、第一网络设备和第二网络设备 | |
US10164795B1 (en) | Forming a multi-device layer 2 switched fabric using internet protocol (IP)-router / switched networks |
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. |