大家好,又见面了,我是你们的朋友全栈君。
本发明涉及通信技术领域,特别是涉及一种对同一隧道下主LSP和Hot LSP的识别方法、PCEP协议及计算机存储介质。
背景技术:
随着软件定义网络(Software Defined Network,SDN)技术的发展,路径计算单元(Path Computation Element,PCE)不仅仅是作为集中算路的服务组件,还可以主动的对已经建立的隧道进行动态规划和调优工作。
draft-ietf-pce-stateful-pce草案提出了一种有状态PCE的模型,即对于设备侧创建的隧道可以通过路径计算LSP状态报告(Path Computation LSP State Report,PCRpt)消息授权给PCE。然后PCE可以根据需要通过路径计算LSP更新请求(Path Computation LSP Update Request,PCUpd)消息去更新隧道的路径信息。
同时,draft-ietf-pce-pce-initiated-lsp草案提出了一种由PCE直接向设备下发TE隧道建立的方案。即,不需要路径计算客户端(Path Computation Client,PCC)进行任何隧道配置,PCE通过PCInit(LSP Initiate Request)消息把隧道的关键信息(隧道的名称、目的地址、路径信息)和属性(带宽等)下发给PCC,PCC根据接收到的隧道参数信息,发起TE信息建立隧道,隧道建立完成后,通过PCRpt消息上报给PCE。
在实际的TE业务的部署中,为了提高网络稳定性,一般需要给建立的TE隧道的路径提供LSP路径级别的保护。如:TE HSB(Hot StandBy)方案,即工作路径建立完成之后,需要再创建一个和工作路径目的地址相同,但是路径不重合的路径提供对主路径的保护,当主路径发生故障时,可以立即把业务流量切换到Hot保护路径上。但是目前PCEP工作组的标准中(draft-ietf-pce-association-group)主要考虑了隧道之间关联关系的携带方案(如隧道保护组、隧道负荷分担等),对于一个隧道内的多个LSP实例的关联关系则没有相关标准定义。这使得PCC侧无法将创建的TE HSB隧道的上报给PCE以及PCE无法主动向PCC下发创建TE HSB隧道。
技术实现要素:
本发明提供了一种对同一隧道下主LSP和Hot LSP的识别方法、PCEP协议及计算机存储介质,以解决现有技术由于PCC和PCE不能识别同一个隧道内的多个LSP实例的关联关系,使得PCC侧无法将创建的TE HSB隧道的上报给PCE,以及PCE无法主动向PCC下发创建TE HSB隧道的问题。
本发明一方面提供了一种对同一隧道下主LSP和Hot LSP的识别方法,该方法包括:对路径计算元素协议PCEP进行扩展定义,得到标识信息;
通过所述标识信息对同一个隧道内主分组转发路径LSP实例和分组转发路径保护Hot LSP实例进行标识,使路径计算单元PCE和路径计算客户端PCC根据所述标识信息对隧道内的主LSP实例和Hot LSP实例进行识别。
进一步地,所述标识信息携带在LSP对象中。
进一步地,所述标识信息的编码格式包括:
Type:标识TLV类型的定义;
Length:标识TLV的长度;
Flags标识一个隧道下各个LSP实例的关联属性。
进一步地,所述标识信息中至少包含一个S Flag,该S Flag用以标识当前LSP实例的类型。
进一步地,所述S Flag:置1时,标识LSP实例为所属隧道下Hot LSP实例;置0时,标识该LSP实例为所属隧道下唯一LSP实例或者为主LSP实例。
进一步地,所述标识信息中还包含一个O Flag,该O Flag标识当前LSP实例当前/期望的操作状态,或者,标识当前LSP实例的隧道下Hot LSP实例的当前/期望的操作状态。
进一步地,O Flag标识当前LSP实例当前/期望的操作状态具体包括:
所述O Flag标识当前LSP实例目前是否处于或者要求作为当前隧道的流量转发路径。
进一步地,所述O Flag:置1时,标识当前LSP实例当前处于流量转发状态;置0时,标识当前LSP实例现在处于热备份状态,不转发业务流量。
又另一方面,本发明还提供一种路径计算元素协议PCEP,所述PCEP包括标识信息;所述标识信息用以对同一个隧道内主分组转发路径LSP实例和分组转发路径保护Hot LSP实例进行标识,使路径计算单元PCE和路径计算客户端PCC根据所述标识信息对隧道内的主LSP实例和Hot LSP实例进行区分,以实现上述任一项所述的对同一隧道下主LSP和Hot LSP的识别方法。
又再另一方面,本发明还提供一种计算机可读介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现本发明提供的上述任一种对同一隧道下主LSP和Hot LSP的识别方法。
本发明有益效果如下:
本发明仅需要对PCEP进行扩展定义,通过该标识信息对同一个隧道内主分组转发路径LSP实例和分组转发路径保护Hot LSP实例进行标识,使路径计算单元PCE和路径计算客户端PCC能够根据所述标识信息对隧道内的主LSP实例和Hot LSP实例进行识别,从而实现PCC将创建的TE HSB隧道的上报给PCE,以及PCE向PCC下发创建TE HSB隧道。
附图说明
图1是本发明实施例的一种对同一隧道下主LSP和Hot LSP的识别方法的流程示意图;
图2是本发明实施例的标识信息的编码格式示意图;
图3是本发明实施例的PCC Initiate TE HSB场景示意图;
图4是本发明实施例的PCE Initiate TE HSB场景示意图;
图5是本发明实施例的PCC本地TE HSB切换上报场景示意图;
图6是本发明实施例的PCE主动请求TE HSB切换场景示意图。
具体实施方式
为了解决现有技术由于PCC和PCE不能识别同一个隧道内的多个LSP实例的关联关系,使得PCC侧无法将创建的TE HSB隧道的上报给PCE,以及PCE无法主动向PCC下发创建TE HSB隧道的问题,本发明提供了一种对同一隧道下主LSP和Hot LSP的识别方法、PCEP协议及计算机存储介质,本发明仅需要对PCEP进行扩展定义,通过该标识信息对同一个隧道内主分组转发路径LSP实例和分组转发路径保护Hot LSP实例进行标识,使路径计算单元PCE和路径计算客户端PCC能够根据所述标识信息对隧道内的主LSP实例和Hot LSP实例进行识别,从而实现PCC将创建的TE HSB隧道的上报给PCE,以及PCE向PCC下发创建TE HSB隧道。
本发明实施例提供了一种对同一隧道下主LSP和Hot LSP的识别方法,参见图1,该方法包括:
S11、对路径计算元素协议PCEP进行扩展定义,得到标识信息;
S12、通过所述标识信息对同一个隧道内主分组转发路径LSP实例和分组转发路径保护Hot LSP实例进行标识,使路径计算单元PCE和路径计算客户端PCC根据所述标识信息对隧道内的主LSP实例和Hot LSP实例进行识别。
也就是说,本发明实施例仅需要对PCEP进行扩展定义,通过该标识信息对同一个隧道内主分组转发路径LSP实例和分组转发路径保护Hot LSP实例进行标识,使路径计算单元PCE和路径计算客户端PCC能够根据所述标识信息对隧道内的主LSP实例和Hot LSP实例进行识别,从而实现PCC将创建的TE HSB隧道的上报给PCE,以及PCE向PCC下发创建TE HSB隧道。
即,本发明通过对PCEP协议的扩展,通过扩展定义标识信息,以标识同一个隧道内主LSP实例和Hot LSP实例的角色信息。通过该标识信息,PCC和PCE能够区分出隧道内的主LSP实例和Hot LSP实例角色信息,为PCC上报TE HSB隧道以及PCE主动向PCC创建TE HSB隧道提供了解决方案。
具体来说,本发明实施例是将所述标识信息携带在LSP Object中,该对象在PCE工作组的draft-ietf-pce-stateful-pce草案中有定义。
具体实施时,本发明通过定义一个新的TLV(Path Relation TLV(Type、Length、Flags)),即上述的标识信息,该TLV作为一个可选TLV,携带在LSP Object中。
具体实施时,本发明实施例的所述标识信息的编码格式包括:
Type:2个字节,标识TLV类型的定义;
Length:2个字节,标识TLV的长度,为定长4个字节;
Flags:4个字节,标识一个隧道下各个LSP实例的关联属性。
进一步地,本发明实施例的所述标识信息中至少包含一个S Flag,该SFlag用以标识当前LSP实例是主LSP实例还是Hot LSP实例。
具体实施时,本发明实施例的所述S Flag:置1时,标识LSP实例为所属隧道下Hot LSP实例;置0时,标识该LSP实例为所属隧道下唯一LSP实例或者为主LSP实例。
进一步地,本发明实施例所述标识信息中还包含一个O Flag,该O Flag标识当前LSP实例当前/期望的操作状态,或者,标识该LSP实例的隧道下HotLSP实例的当前/期望的操作状态。
具体实施时,本发明实施例的O Flag标识当前LSP实例当前/期望的操作状态具体包括:
所述O Flag标识当前LSP实例目前是否处于或者要求作为当前隧道的流量转发路径。
具体来说,本发明实施例所述O Flag:置1时,标识当前LSP实例当前处于流量转发状态;
置0时,标识当前LSP实例现在处于热备份状态,不转发业务流量。
下面将通过一个具体的实施例对本发明所述的方法进行说明:
本发明实施例通过定义一个新的TLV(Path Relation TLV),该TLV作为一个可选TLV,携带在LSP Object中;
所述TLV中至少包含一个Flag(SFlag),该Flag标识当前LSP实例是主LSP实例还是Hot Standby LSP实例角色;
所述TLV中还可以包含一个Flag(O Flag),该Flag标识进一步标识当前LSP实例目前是否处于(或者要求作为)当前隧道的流量转发路径。
当隧道下只有一个主LSP实例时,则可以不携带该可选TLV。其中,当PCC为指定隧道创建Hot Standby保护时,新建立的Hot Standby LSP实例创建后,通过PCRpt上报给PCE时,PCRpt消息中的LSP对象中需要携带Path Relation TLV。其中,当PCE主动要求PCC为已有的隧道创建Hot Standby保护时,通过PCUpd消息通知PCC创建Hot Standby LSP,此时在通告PCC的PCUpd消息的LSP对象中需要携带Path Relation TLV。图2给出了Path Relation TLV的一种建议编码格式:
Type:2个字节,该TLV类型的定义;
Length:2个字节,该TLV的长度,为定长4个字节;
Flags:4个字节,描述一个隧道下关联属性的标志位,
目前只给出了两个标志位的定义:
S(Standby)比特位:置1时,表示该LSP实例为所属隧道下Hot Standby LSP实例;置0时,表示该LSP实例为所属隧道下的唯一LSP实例或者为主LSP实例,其作用和LSP对象中不携带Path Relation TLV的作用一致。
O(Operation)比特位:置1时,表示当前LSP实例当前处于流量转发状态。置0时,标识隧道下的该实例当前处于热备份状态,不转发业务流量。
其他位为预留位,默认填0;
本发明实施例通过在Path Relation TLV中定义了一个O比特位,当S比特位置位时,进一步标识该隧道下Hot Standby LSP实例当前/期望的操作状态。
进一步来说,如果是PCC本地创建的隧道通过PCRpt消息向PCE上报的隧道信息中,如果LSP实例携带了Path Relation TLV,如果S比特位置为1,O比特位置为0,表示当前PCC建立的隧道的Hot Standby LSP实例处于热备份状态,不转发业务流量,流量工作在主路径上。如果S比特位置为1,O比特位置为1,表示当前PCC建立的隧道的Hot Standby LSP实例处于工作状态,负责转发业务流量,一般是在Hot Standby LSP保护的主LSP实例发生故障时,PCC把业务流量切换到Hot Standby LSP实例上,此时PCC可以通过PCRpt消息通告PCE上述事件。同理,当该隧道的主LSP实例重新UP后,PCC可以选择把业务流量回切到主LSP实例上进行转发,此时PCC可以通过PCRpt消息通告给PCE(其中Path Relation TLV的S比特位置为1,O比特位置为0),标识Hot Standby LSP实例重新回到热保护状态。
如果是PCE主动向PCC发起隧道的Hot Standby LSP实例的创建,则PCE通过PCUpd消息通告给PCC需要创建Hot Standby LSP实例,其中LSP对象下需要携带Path Relation TLV,其中S比特位置为1,O比特位置为0。PCC对Hot Standby LSP实例完成创建后,通过PCRpt通告给PCE。PCE可以通过PCUpd消息控制让业务流量切换到Hot Standby LSP实例上,此时,PCE通过PCUpd消息通告给PCC Hot Standby LSP实例的更新(其中Path Relation TLV的S比特位置为1,O比特位置为1),PCC在收到该PCUpd后,完成业务流量从主LSP实例切换到Hot LSP实例的操作,同时,通过PCRpt向PCE通告Hot LSP实例的状态更新(其中Path Relation TLV的S比特位置为1,O比特位置为1)。
下面将通过几个具体的实施例对本发明所述的方法进行详细的解释和说明:
图3是本发明实施例的PCC Initiate TE HSB场景,如图3所示,路由器R1作为PCC角色和PCE建立起PCEP会话,R1作为TE隧道的头建立到R4的主LSP(LSP ID=1),建立好之后,通过PCEP的PCRpt消息上报给PCE,其中LSP ID=1,主备LSP角色S=0,LSP的路径信息为R1->R2->R4表示该LSP ID 1是该隧道下的主LSP;在主LSP建立好之后,R1发起HOT LSP的建立,建立的LSP ID=2,路径为R1->R3->R4。hot LSP建立好之后,R1也会通过PCEP协议的PCRpt消息上报给PCE,其中LSP ID=2,主备LSP角色S=1,LSP的路径信息委R1->R3->R4。通过该方案,PCE就能后获取到该隧道的主备LSP实例的详细信息。
图4是本发明实施例PCE Initiate TE HSB场景,如图4所示,路由器R1作为PCC角色和PCE建立起PCEP会话。PCE通过PCEP PCInit消息通知PCC(R1)建立一个到R4的路径。R1解析PCInit消息,通过S标记位(0)获知创建的是到R4的主LSP,则为该LSP分配LSPID为1,完成到R4的RSVP信令后,把创建的LSP的信息(R1->R2->R4)通过PCEP的PCRpt给PCE(该流程同PCCInitiate TE HSB场景);PCE在收到PCC上报的主LSP实例后,通过PCEP PCUpd消息向PCC请求建立该主LSP实例的Hot LSP实例,R1解析PCUpd消息,通过S标记(1)获知创建到时到R4的备LSP,则为该LSP分配LSPID为2,完成到R4的RSVP信令后,把创建的LSP的信息(R1->R3->R4)通过PCEP的PCRpt给PCE(该流程同PCC Initiate TE HSB场景)完成到R4的RSVP信令后,把创建的LSP的信息(R1->R2->R4)通过PCEP的PCRpt给PCE(该流程同PCC Initiate TE HSB场景)。
图5是本发明实施例的PCC本地TE HSB切换上报场景,如图5所示,假设在PCC Initiate TE HSB场景下,R1本地完成了主备LSP实例的建立,其中主LSP实例信息为(LSPID:1,S:0,路径:R1->R2->R4),备LSP实例的信息为(LSPID:2,S:1,路径:R1->R3->R4)。此时,如果R1检测到主LSP实例发生故障,则R1把业务流量切换到备LSP路径上,则R1作为PCC通过PCRpt消息向PCE上报主备LSP的实际工作状态的变化,供PCE角色后续的处理方案。具体来说,当R1本地把转发流量切换到Hot LSP实例时,上报主LSP的信息中O比特位为0,上报备LSP的信息中O比特位为1。
图6是本发明实施例PCE主动请求TE HSB切换场景,如图6所示,假设在PCE Initiate TE HSB场景下PCE通过PCEP消息通过PCC完成了隧道下主备LSP实例的创建,其中主LSP实例信息为(LSPID:1,S:0,路径:R1->R2->R4),备LSP实例的信息为(LSPID:2,S:1,路径:R1->R3->R4)。此时流量经由主LSP进行转发,假设PCE处于运维的需要,希望让用户流量走在备LSP上,则PCE可以通过PCUpd消息对备LSP实例进行更新(其中携带O比特位置为1),PCC收到该更新消息后,强制把业务流量切换到备份路径上,同时上报最新的主备LSP的操作状态(该流程同PCC本地TE HSB切换上报场景)。
本发明提供了一种对PCEP协议的扩展,通过扩展定义,定义一个新的TLV(Path Relation TLV),该TLV作为一个可选TLV,携带在LSP Object中;该TLV中至少包含一个Flag(S Flag),该Flag标识当前LSP实例是主LSP实例还是Hot Standby LSP实例角色。
本发明通过该标识信息,使得PCC和PCE能够区分出隧道内的主LSP实例和Hot LSP实例角色信息,为PCC上报TE HSB隧道以及PCE主动向PCC创建TE HSB隧道提供了解决方案。
相应的,本发明的实施例还提供一种路径计算元素协议PCEP,所述PCEP包括标识信息,所述标识信息用以对同一个隧道内主分组转发路径LSP实例和分组转发路径保护Hot LSP实例进行标识,使路径计算单元PCE和路径计算客户端PCC根据所述标识信息对隧道内的主LSP实例和Hot LSP实例进行区分,以实现上述任一项所述的对同一隧道下主LSP和Hot LSP的识别方法,因此也能实现相应的技术效果。详细内容可参考方法实施例部分进行理解,在此不再详细赘述。
相应的,本发明的实施例还提供一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现前述实施例提供的任一种对同一隧道下主LSP和Hot LSP的识别方法,因此也能实现相应的技术效果。详细内容可参考方法实施例部分进行理解,在此不再详细赘述。
尽管为示例目的,已经公开了本发明的优选实施例,本领域的技术人员将意识到各种改进、增加和取代也是可能的,因此,本发明的范围应当不限于上述实施例。
版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。
发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/196257.html原文链接:https://javaforall.cn