一种基于点到多点隧道的组播流控方法和装置的制造方法_2

文档序号:9828137阅读:来源:国知局
径(Label Switched Path,LSP)表项。
[0045]第二种,控制节点将转发层面到所述下一跳设备的下一跳信息的LSP表项置为无效。
[0046]上述两种实现方式,均为控制层面针对转发层面的处理,在不发生流控恢复的情况下,不会再向转发层面下发处理过LSP表项,这里所指的处理过的LSP表项针对上文的两种实现控制组播流方式而言的,如果是第一种方式即指控制节点删除的LSP表项;如果是第二种方式,则指置为无效的LSP表项。
[0047]本实施例中在保持了 P2MP隧道中多归属应用中隧道建立的情况下,根据出节点需要实现了流量转发与裁剪,不会向不需转发入节点发送的组播流的出节点发送组播流,从而能够节省多归属网络的带宽。
[0048]在一出节点确定本出节点由不需转发从入节点发来的组播流变化为需要转发从入节点发来的组播流时,会发送恢复流控裁剪报文。下面给出三个实现方式来详细描述如何实现流控恢复。
[0049]第一种实现方式:出节点直接向控制节点发送流控裁剪恢复报文,该控制节点的具体处理过程。
[0050]参见图3,图3为本申请另一种实施方式中基于点到多点隧道的流控方法流程示意图。具体步骤为:
[0051]步骤301,控制节点控制组播流不向发送流控裁剪报文的下一跳设备发送时,向所述下一跳设备发送控制节点通知报文,使所述下一跳设备记录控制节点的信息,并在若所述下一跳设备不为出节点时,转发所述控制节点通知报文。
[0052]控制节点的下一跳设备为出节点时,出节点记录控制节点的信息即可;若控制节点的下一跳设备不为出节点,则该下一跳设备记录控制节点的信息之后,继续向其下一跳设备转发,直到该控制节点通知报文到达出节点。
[0053]控制节点在接收到控制节点通知报文,进一步地若确定本地控制了组播流不向下一跳设备发送,则针对所述下一跳设备恢复组播流的发送。
[0054]在具体实现时,这里的控制节点可能对一个也可能多个下一跳设备进行了流控,在恢复时,针对进行流控的所有下一跳设备均恢复组播流的转发。
[0055]步骤302,该控制节点当接收到一出节点因由不需转发入节点发送的组播流变为需转发入节点发送的组播流而发送给本节点的恢复流控裁剪报文时,对到该出节点对应的下一跳设备恢复组播流的发送。
[0056]本申请实施例中,当由出节点向控制节点单播发送恢复流控裁剪报文时,可能不是按照隧道发送的,因此,恢复组播流的发送不能直接针对转发该恢复流控裁剪报文的设备恢复,而应该是到所述出节点的下一跳设备,即对应隧道的下一跳设备。
[0057]当一出节点确定本地由不需转发入节点发送的组播流变为需转发入节点发送的组播流时,根据本地记录的控制节点的信息,向该控制节点发送恢复流控裁剪报文。
[0058]本申请实施例中记录的控制节点信息包括该控制节点的地址,用于使记录该控制节点信息的节点获知谁针对本节点进行了流控。
[0059]本步骤中对该出节点对应的下一跳设备恢复组播流的发送时,进一步向发送恢复流控裁剪报文的出节点发送取消控制节点的通知报文,使所述出节点,以及转发该通知报文的节点删除本控制节点的信息。
[0060]第二种实现方式,像流控裁剪报文一样,一级一级向上游发送恢复流控裁剪报文,具体实现如下:
[0061]—出节点当由不需转发入节点发送的组播流,变为需转发入节点发送的组播流时,向入节点方向发送恢复流控裁剪报文。
[0062]控制节点接收到下一跳设备发送的恢复流控裁剪报文时,确定本节点是否针对该下一跳设备进行流控,如果是,对该下一跳设备恢复组播流的发送;否则,将该恢复流控裁剪报文向入节点方向转发。
[0063]控制节点若对该下一跳设备恢复组播流的发送,进一步向下一跳设备发送取消控制节点的通知报文,使下一跳设备,以及该下一跳设备对应的出节点删除本控制节点的信息,不再将本节点看作进行流控处理的节点。
[0064]第三种实现方式,同时采用第一种实现方式和第二种实现方式,既能保证快速进行流控裁剪的恢复,也能保证控制节点正常接收到恢复流控裁剪报文。
[0065]本实施方式中控制节点对下一跳设备恢复组播流的发送,包括:
[0066]若在转发层面存在到该下一跳设备的下一跳信息的LSP表项,且置为无效,则恢复为有效;
[0067]若在转发层面不存在到该下一跳设备的下一跳信息的LSP表项,则从控制层面下发该下一跳信息。
[0068]当一出节点是否转发组播流的状态变化时,能够快速进行转发与裁剪的切换。
[0069]如上三种实现方式中,控制节点在针对任一下一跳设备恢复组播流的发送时,向该下一跳设备对应的出节点发送取消控制节点的通知报文,使所述出节点,以及转发该取消控制节点的通知报文的节点删除本控制节点的信息。这里针对下一跳设备恢复组播流的发送可以为由于接收到恢复流控裁剪报文后的处理,也可以为接收到流控节点通知报文后的处理。
[0070]下面仍然以图1为例,详细描述实现基于点到多点隧道的流控过程。在标识各节点时,为了唯一标识一个节点可以使用该节点的MPLS ID,或者使用该节点的环回口地址,环回口为配置的一个一个逻辑口。
[0071]Rl的环回口地址为1.1.1.1,R2的环回口地址为2.2.2.2,R3的环回口地址为
3.3.3.3,R4的环回口地址为4.4.4.4,R5的环回口地址为5.5.5.5,R6的环回口地址为
6.6.6.6ο
[0072]各出节点(R3、R4和R5)进行裁剪检测,当检测确定不需转发入节点发送的组播流时,向入节点方向发送流控裁剪报文。
[0073]针对图1中的第一种网络情况,进行的流控具体如下:
[0074]假设在图1中的多归属组网中,由R3负责向CEl转发组播流,则出节点检测结果为R3需要转发入节点发送的组播流;而R4和R5不需转发入节点发送的组播流,因此,R4和R5向入节点方向发送流控裁剪报文。
[0075]以R4发送的流控裁剪报文为例,该报文可以为resv报文。参见图4,图4为本申请实施例中R4发送的流控裁剪报文结构示意图。
[0076]图4中使用三个字段(object class、c-type、裁剪标识)的内容(流控裁剪、裁剪、裁剪)表明该报文为流控裁剪报文。在具体实现时这三个字段的内容也可以使用不常用的,即现有实现中resv报文中未使用的代码字段标识。
[0077]裁剪序列号用于表明本出节点发送流控裁剪报文的次数,为了防止由于网络故障问题处理无效的流控裁剪报文。出节点可以在每次发送流控裁剪报文时递增该裁剪序列号。
[0078]出节点序列,由发送该报文的出节点的环回口地址和对应的裁剪序列号组成。即图4中的环回口地址4.4.4.4和裁剪序列号I。
[0079]出节点R4发送的流控裁剪报文沿着R4和R2之间的隧道到达R2。
[0080]R2接收到R4发送的流控裁剪报文,确定本地只接收到该下一跳设备R4发送的流控裁剪报文;即未接收到所有下一跳设备发送的流控裁剪报文,则针对该下一跳设备R4进行流控处理,具体处理方式如将下一跳设备R4对应的下一跳信息的LSP表项置为无效。
[0081]R2通知R4本节点R2为控制节点。参见图5,图5为本申请实施例中控制节点通知报文的结构示意图。
[0082]图5中使用三个字段(object class、c_type、流控标识)的内容(流控节点,流控裁剪、是)表明该报文为控制节点通知报文。
[0083]其中,控制节点标识和控制节点地址可以使用同一地址标识,也可以使用不同地址标识,如图5中都使用节点2的环回口地址。
[0084]裁剪序列号,与下游发送来的流控裁剪信息中的序列号一致。
当前第2页1 2 3 4 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1