段路由路径段标识技术要求_第1页
段路由路径段标识技术要求_第2页
段路由路径段标识技术要求_第3页
段路由路径段标识技术要求_第4页
段路由路径段标识技术要求_第5页
已阅读5页,还剩31页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

4段路由路径段标识技术要求本文件规定了段路由路径段标识的关键应用场景,以及段路由路径段标识的数据面和本文件适用于支持段路由路径段标识技术的网络设备研发和测试件。凡是不注日期的引用文件。其最新版本(包括所有的修改单)适用于本文件。IETFRFC5440路径计算单元(PCE)通信协议(PCEP)(PathComputationElement(PCE)CommunicationProtoco段路由架构(SegmentRoutingArchitecture)用于网络隧道源包路由(SPRING)的熵标签(EntropyLabelforSourcePacketRoutinginNetworking(SPRING)Tunnels)IETFRFC8664段路由的路径计算单元通信协议(PCEP)扩展(PathComputationElementCommunicationProtocol(PCEP)ExtensionsforSegnentRouting)IETFRFC9256段路由策略架构(ScgmentRoutingPolieyArchitecture)3.1控制器controller集中管理、控制网络资源,通过北向接口响应S并根据用户业务具体需求(含内部网络优化需求)、当前网络资源使用情况进行智能计算,为用户的业3.2头节点headnode报文。3.3尾节点tailnode3.4中间节点intermediatenode尾节点处理到。带有路径段标识的标签堆栈如图1所sP8YD/Txxxx-xxxxoptionalTypeLengthValueobjects(va图3SRv6路径段标识插入SRH示意图在报文转发过程中,SRv6路径段标识不会像其他的SID一样被复制到目的地址中用于指导路由和转发。因此SRv6路径段标识可以使用128-bit的编程空间,需要在设备上新建存储表来存储SRv6路径段标识。当P-flag置位时,节点可以通过读取SRH[Last_Entry]来获取栈顶的路径段标识,并在存储表中查询路径段标识,执行对应的处理动作。使用单独的存储表也保障了SRv6路径段标识的数值不与其他的段标识和路由表中的前缀冲突,从而使SRv6路径段标识可以任意定义格式。本文件定义两种SRv6路径段标识的格式,用于指导实现和部署。但其他的格式也可以被定义,只需保证SRv6路径段标识在处理时的唯一性即可。第一种建议的格式是与其他SRv6SID格式相同,分为Locator,FunetionID,Argunent(可选)字段,如图4所示。该格式分配简单,基于当前SID分配规第二种建议的格式是整个128比特空间作为路径段标识使用,其具体格式由具体应用或具体的部署场景决定,如图5所示。图5第二种SRv6路径段标识格式为了更灵活的支持SRv6路径段标识处理,上述提到的P-flag处理可以通过设备上的配置启用或禁用。可以通过CLI、NETCONFYANG或其他方式完成。本文件对其具体方式不作强制定义。处理路径段标识的流程如下所示:其中,步骤3的SRv6路径段标识处理取决于具体的应用场景。在某些场景中,仅尾节点需要处理SRv6路径段标识,P-flag在中间节点无需处理,可通过CLI等方式关闭中间节点的相关特性。因此,在处理之前还需要检查中间节点处理能力是否开启,其处理流程如下所示:2:if中间节点处理不使能:3:ifSRH.P-flag=1&SRH.SL==0:9YD/Txxxx-xxxx6:ifSRH.P-flag=1:当P-flag处理开启时,如果中间节点处理禁用,则当P-flag置位并且SL为零时处理SRv6路径段标识如果中间节点处理启用,则当P-flag置位时处理SRv6路径段标识。步骤4和7的SRv6路径段标识处理取决于具体的应用场景。SRv6路径段标识是由路径尾节点分配,其可以通过多种方式分配,包括CLI、BGP(见第8章)、PCEP(见第10章)或其他方式。默认情况下,路径段标识必须要被路径头节点学习到,因此尾节点需要将路径段标识分发给头节点。在这种情况下,只有尾节点会处理路径段标识,而中间节点无法理解路径段标识的数值。也就无法处理路径段标识。根据场景的不同,路径段标识也有可能被分发到路径的中间节点。在这种情况下,中间节点具备处理路径段标识的能力。此类用例暂时不在本文件的范围内,如果需要,将在未来研究。8路径段标识的BGP协议扩展要求本文件对BGP协议进行扩展,通过在段列表子TLV内定义一个新的子TLV,实现携带路径段和双向路径信息的段路由策略分发。SR路径可以由包含一组段子TLV和其他子TLV的段列表子TLV指定。一条备路径包含多条由段列表指定的SR路径。路径段可用于从头端到尾端标识一条由段列表指定的SR路径或一个SR备路径(参见IETF路径段子TLV包含在段列表子TLV中,以标识段列表。带有路径段子TLV的段路由策略编码结构如下所示:SRPolieySAFINLRI:<Distinguisher,Poliey-Color,Endpoint)TunnelEncapsAttribute\(2ExplicitNLLLabelPolicy(ENSRv6EndpointBehaviorandSIDStructure(a)Type:1个字节,子TLV的类型值(待IETF统一分配)。b)Length:1个字节,路径段子TLV携带的内容的总长度,不包含Type和Length两个字段的长1)L-Flag(bit2)B-Flag(bit6):置1表示子TLVs字段封装了SRv6端点行为和SID结构。当Length字段的取值小于18时必须忽略B-Flag;3)bit0'hit5:预留标记位,发起方应清零,接收方须忽略。d)PSID:路径段标识,填充要求如下:1)如果Length字段取值为2,表示子TLV中不带PSID字段;2)如果Length字段取值为6.PSID字段填充SR-MPLS标签信息,具体的封装的内容如图S3)如果Length字段取值为18,PSID字段为16字节的SRv6SID:4)如果Length字段取值大于18且B-Flag已置位,在PSID字段填充SRvS端点行为和SIDe)Reserved:保留字段,发送端应清零,接收端须忽略。8.3反向路径段列表子TLVYD/Txxxx-xxxx在SR中,一条双向路径可以通过将两条单向SR路径进行绑定来表示,本文件定义一个反向路径段列表子TLV,用于描述段列表指定的正向路径对应的反向路径。携带反向路径段列表子TLV的段路由策略编码如下:SRPolicySAFINLRI:<Distinguisher,Poliey-Color,EndpoAttributes:TunnelEncapsAttribute(2TunnelType:SRPolExplicitNULLLabelPolieReverseSe反向路径段列表子TLV的封装格式如图8所示:a)Type:1个字节,子TLN的类型值(待IETF统一分配);b)Length:2个字节,反向路径段列表子TLV携带的内容的总长度,不包含Type和Length两个字段的长度:c)Reserved:保留字段,发起方应清零,接收方须忽略:d)Sub-TLVs:变长字段。9路径段标识的BGP-LS协议扩展要求BGP-LS协议可以用于接收链路状态,通过BGP-LS上报段路由路径段的相关信息。本文件对BGP-LS协议进行扩展,通过增加SR段列表的子TLV实现段路由路径段的相关信息上报。9.2SR路径段子TLVYD/Txxxx-xxxxSR路径段子TLYV用于描述路径段标识,可以封装在段列表子TLV中。SR路径段子TLV可以与段列表子TLV指定的段路由路径相关联。带有路径段子TLV的段路由策略编码结构如下所示:SRPolicySAFINRI:<Distinguisher,Poliey-Color,Endpo一个段列表中可能同时包含多个路径段。当备路径中的所有段列表共享相同的PSID时,路径段可用于收集备路径的聚合信息SR路径段子TLV的格式如图9所示?字段定义:a)Type:2个字节,子TLV的类型值(待IETF统一分配);b)Length:2个字节,路径段子TLV携带的内容总长度,不包含Type和Length两个字段的长c)Flag:2个字节,标识路径段的属性和状态。如下bit位已被定义,其他bit位发起方应清零,接收方须忽略:YD/Txxxx-xxxx图10反向段列表子TLV封装格式字段定义:b)Length:2个字节,路径段子TLV携带的内容总长度,不包含Type和Length两个字段的长c)Flag:2个字节,指示SID列表的属性和状态。如下bit位已被定义,其他bit位发起方应清零,接收方须忽略:2)E-Flag(bit1):置1表示SID列表指示的是显示路径,置0表示动态路径;3)C-Flag(bit2):置1表示已为动态路径计算SID列表。显示路径时此bit位置1:4)V-Flag(bit3):置1表示SID列表已通过验证或不需要验证,置0表示验证失败:5)R-Flag(bit4):置1表示第一个段已经被解析,置0表示第一个段解析失败;6)F-Flag(bit5):置1表示动态路径计算失败,计算成功或显示路径时置0;7)A-Flag(bit6):置1指示SID列表中的所有SID都属于指定的算法:8)T-Flag(bit7):置1指示SID列表中的所有SID都属于指定的拓扑:9)M-Flag(bit8):置1表示因故障检测SID列表已从转发平面中删除,置0表示未检测到故障或未进行故障监控。d)Reserved:保留字段,发起方应清零,接收方须忽略:e)MTID:2字节,当T-Flag置位时指示IGP拓扑的多拓扑标识:g)Weigth:4字节,SID列表的负载分担权值;h)Sub-TLVs:变长,包含段的有序集合以及与特定SID列表相关联的任何其他可选属性。当SID列表不为空时,SR段列表子TLV必须作为一组有序的子TLV包含在SR段列表TLV中。在某些情况下(例如动态路径),SID列表可能为空,其头端节点尚未执行计算。在这种情况下,SR段列表子TLV不应包括任何SR段的子TLV。10路径段标识的PCEP协议扩展要求路径计算单元通信协议(PCEP)是路径计算客户端(PCC)和路径计算单元(PCE)之间的通信协议,运行在控制器(用作PCE)和转发设备(用作PCC)之间,配合控制器进行集中端到端的最优路径计算,使采用MPLSTE隧道或SRv6TE策略承载的业务路径最优化,以达到充分利用网络资源的目的。段路由利用源路由和隧道可将报文引导到头节点的一条显式转发路径中。段路由的路径可以有多种方式生成,比如IGP的最短路径树方式、显式配置方式或通过PCE计算方式。通过PCE计算方式生成段路由的路径段的过程包括但不限于如下几种方式:YD/Txxxx-xxxxb)PCE根据本地记录分配路径段,并告知出口和入口PCC:c)入口PCC请求PCE分配路径段。PCE可以自行分配路径段并使用PCEP消息通知入口和出口POC,或者由PCE向出口PCC发路径请求然后再把获取到的路径段告知入口PCC。本章节描述PCEP的扩展,定义新的TLY和标记,以实现路径段分配,并在PCEP消息中携带段路由路径段标识信息。10.2OPEN对象的扩展10.2.1扩展段路由PCE能力子TLV路径安装类型(PST)和对应的段路由PCE能力子TLV,用于交换SR能力信息(参见IETFRFC8664)。本文件在现有标志位定义的基础上为分配路径段扩展Flags标记位,添加附加标志P,如图11所示:PNXP:路径段标识比特位。PCEPSpeaker将此标志设置为1,以指示其具有封装SR路径标识的能本文件定义新的路径安装类型和对应的SRv6PCE能力子TLV,用于交换SRv6能力信息。本文件在现有标志位定义的基础上为分配路径段扩展Flags标记位,添加附加标志P,如图12所示:PNXP:路径段标识比特位。PCEPSpeaker将此标志设置为1,以指示其具有封装SRv6路径标识的能与SR子TLV一起,如果PCE分配路径段并作为管理标签空间的集中控制器,应发布PCECC能力。PCECC能力应与SR子TLV一起在出口PCEP会话上发布。10.3LSP对象扩展本文件新定义一个路径段TLV。该TLY为可选TLV.用在路径段分配的标签转发路径(LSP)对象中,封装格式如图13所示为:YD/Txxxx-xxxxL字段定义:a)Type:2个字节,子TLV的类型值(待IETb)Length:2个字节,内容总长度,不包含Type和Length两个字段的长度;c)ST:1个字节,段类型。0表示MPLS路径段,1表示SRv6路径段,其余数值预留;d)Flag:1个字节,当前只有bit1(L标志位)被定义,其他bit预留,要求发起方应清零,接收方须忽略。当bit1置位时,表示路径段TLV携带的路径段具有局部意义:f)PSID:SR路径的路径段标识,具体取值由ST字段指示。当ST=0时为MPLS标签,当ST=1时g)Reserved:保留字段,发起方应清零,接收方须忽略;通常,LSP对象中只包含一个路径段TLV。如果同时包含了一个以上的路径段TLY,只处理第一个TLV,其他TLV必须忽略。使能路径段分配功能后,LSP对象中必须包含一个路径段TLV。如果标签空间由PCC自行维护,且路径段由出口PCC分配,则PCE应向出口PCC请求路径段。在这种情况下,PCE应向出口PCC发送PCUpdate或PCInitiate消息以请求路径段,LSP中的P标志应填充为0。如果PCEP节点不识别路径段TLV,需要按照IETFRFC5440进行操作并忽略该TLV。如果PCEP节点能识别但不支持修改TLV,则必须发送错误类型为2的PCErr(能力不支持)。转发等价类(FEC)对象用于指定FEC信息,并在PCECC-SR操作的PCInitiate或PCRpt消息中携带。PCE必须向出口PCC通知路径标识信息。为此,本文件扩展了PCEP的处理流程,为路径定义了新路径FEC对象的封装格式如图14所示为路径FEC对象中允许同时携带一个或多个如下类型的TLY。字段定义如下!a)符号路径名称TLV:识别LSP的字符串;b)LSP标识TLVs:用于为路径封装源、目的和其他标识信息;c)SPEAKER实例标识TLV:PCEPSpeaker的唯一标识,用于识别入口PCC.路径FEC对象中必须至少包含符号路径名称TLV或LSP标识TLVs二者之一,SPEAKER实例标识TLV可选。对于每个TLV.只处理一个实例,如果同一类型的TLV包含了多个,则只处理第一个TLV.其余的忽略。YD/Txxxx-xxxx10.5CI对象扩展PCE使用集中控制指令(CCI)对象来指定转发指令。路径段信息直接封装在CCISR对象中,第9.3章所述的路径段TLV也必须作为TLV封装在CCISR对象中。10.6路径段的分配过程10.6.1入口POO发起的路径段分配路径段的分配和编码按段路由的有状态PCE操作进行(参见IETFRFC8664)。本文件描述在路径段分配过程中还需进行的其他处理入口PCC可以通过PCRpt消息请求PCE分配路径段。此时,LSP的D标志必须置位,LSP对象中的P标志也必须置位。当有状态PCE从入口PCC接收到具有路径段分配请求的消息后,PCE再向出口PCC请求分配路径段。PCE发送给出口PCC的PCInitiate消息中的LSP对象必须包含路径段TLV,以标识请求出口POC分配路径段,同时LSP对象中的P标志也必须设置为零。发送给出口PCC的PCnitiate消息与发送给入口PCC的PCInitiate消息相似,但出口PC收到此消息后只需分配路径段,不能触发LSP初始化操作。如果路径段的值为0x0,则表明PCE正在为此LSP请求分配路径段。如果LSP对象中的路径段值为“n”且未设置P标志,则表明PCE请求指定数值为“n”的路径段如果成功分配了路径段,出口PCC在LSP对象中携带路径段TLV,利用PCUpd消息把分配的路径段上报给PCE。否则,PCE发送PCErr消息,其中错误类型(Error-Type)设置为“路径SID失败”,错误值(ErrorValue)设置为1(表示“无效SID”)。如果指定的路径段数值有效,但PCC无法分配指定数值的路径段,PCC必须发送PCErr消息,其中错误类型(Error-Type)设置为“路径SID失败”,错误值(Errorvalue)设置为2(表示“无法分配指定的标签/SID”)。当PCE接收到PCRpt消息时,PCE解析出出口PCC分配的路径段信息,并发送PCUpd消息通知入口POC更新路径。待入口PCC成功更新了路径段后,需要向PCE发送一个应答PCE的PCRpt消息。如果PCC处理出错,入口POC也应该向PCE回应PCErr消息,其中错误类型(Error-type)设置为“路径SID失败”,错误值(ErrorValue)设置为1(表示“无效SID”)。PCE收到PCErr消息后,必须发送PCUpd消息与出口POC同步,将路径段回退到先前的数值(如有)。如果入口POC希望澈回或修改先前上报过的路径段数值,必须发送一个PCRpt消息,其中不包含任何路径段TLV或仅包含新路径段的路径段TLV。此时PCE应发送PCUpd消息与出口PCC同步。删除LSP时,必须撤回对应的路径段。PCE必须向出口POC发送PCInitiate消息,其SRP对象中的R标志设置为1,表示请求出口PCC撤回LSP和相关路径段。如果出口POC从PCE接收到与当前路径段不同的有效的路径段数值,出口PCC必须为其尝试分配新数值。如果分配成功,出口PCC需向PCE上报新数值。否则,出口POC需发送PCErr消息通知PCE,其中错误类型(Error-Type)设置为“路径标签/SID失败,错误值(ErrorValue设置为2(表示“无法分配指定的标签/SID")。10.6.2PCE发起的路径段分配有状态PCE还可以通过请求出口PCC分配路径段来主动发起或更新带有路径段的LSP。如果PCE希望修改先前请求的路径段数值,或为PCE发起的LSP分配路径段,PCE必须向出口PCC发送一个携带新路径段数值的路径段TLV的PCUpd消息,以请求出口PCC分配新数值。消息中LSP对象中的P标志必须置零。假如PCUpd消息中未携带路径段TLV,表示PCE希望撤回路径段。接收到PCRpt消息后,PCE即可从出口PCC获得路径段信息,并更新或启动具有路径段的LSP。安装好SR路径后,入口PCC通过PCRpt消息向PCE发送确认应答。假如入口PCC在处理PCRpt消息的过程中出现了错误,入口PCC也应该发送PCErr消息回应PCE.PCE收到PCErr后再发送PCInitiate消息请求出口POC撤回LSP和相应的路径段,其中SRP对象中的R标志需要置位。10.6.3PCE发起的基于PCECC的路径段分配PCE可作为集中控制器自行分配路径段,但分配的路径段必须通知入口POC和出口PCC.PCE向入消息把PCE分配的路径段告知出口PCC。10.6.4入口POC发起的基于PCECC的路径段分配入口POC还可以通过PCRpt消息请求作为集中控制器的PCE(PCECC)为其分配路径段。此时,该LSP的D标志必须置位,LSP对象中的P标志也必须置位。LSP对象中必须包含一个路径段TLV。如果路径段的值为0x0,则表明入口POC正在请求此LSP的路径段。如果路径段设置的值为“n”。则表明入口PCC请求指定数值为“n”的路径段。当PCE成功分配路径段后,PCE通过PCUpd消息应答入口POC,其中LSP对象中必须包含此路径段TLV。如果PCE未能成功分配路径段,PCE也必须发送PCErr消息告知入口PCC.其中错误类型(Error-Type)设置为“路径SID失败”,错误值(ErrorYalue)设置为如果入口PCC指定了有效的的路径段数值,但PCE无法分配此数值的路径段,PCE也必须发送PCErr消息,把错误类型(Error-Type)设置为“路径SID失败”。错误值(Errorvalue)设置为2(表示“无法分配指定的标签/SID”)。主用PCE根据路径段标志分配路径段后,再利用PCInitiate消息把PCE分配的路径段告知出口11段路由路径段标识的应用部署要求11.1双向隧道绑定如图15所示,使用路径段标识实现双向隧道绑定的业务流程示例如下控制器控制器反向路径:段路径 DPI:段路由策略P2.S图15使用路径段标识实现双向隧道绑定的示例具体要求如下:YD/Txxxx-xxxxa)控制器为隧道的头节点S和尾节点D计算双向的段路由策略,并为去程路径P1分配路径段b)控制器向头节点和尾节点分别下发段路由策略,其中给头节点下发的去程段路由策略1中携带路径段标识PSID1:c)控制器还需向尾节点下发路径关联信息,说明段路由策略2关联的去程路径为通过路径段标识PSID1标识的段路由策略1:当通过BGP下发段路由策略时,需要在下发段路由策略2时,携带反向路径段列表子TLY,该子TLV中携带PSID1:当通过PCEP下发段路由策略时。控制器需将段路由策略1和段路由策略2进行关联,并将携带PSID1的路径段TLV携带在对d)头节点封装报文时,段列表中最后一个段标识为PSID1:e)报文到达目的节点,通过报文中携带的PSID1识别到报文是沿P1发送而来,通过查找本地路径段标识表项关系,确定返回路径为P2,为回程报文封装P2对应的段列表,返回头节11.2性能测量在使用关联隧道头(ACHD)对SR-MPLS路径进行性能测量时,路径段标识可用于对出节点收到的流量进行计数。根据测量对象的不同,控制器可以为每段路由策略,每备路径或者每段列表分配不同值的路径段标识,分配完成后,控制器向入节点下发携带路径段标识的待检测的SR路径信息。从入节点发出的检测报文封装如图16所示,路径段ForwardingLabelSt各字段定义如下:a)ForwardingLibelStack:转发标签栈,由一个或多个32比特的MPLS标签组成:b)路径段标识PSID:32比特,包括路径段标签、TC、s、TTL;位于所有转发标签之后,GAL标签之前;c)GAL:20比特,通用关联隧道标签,用于性能测量时,取值为13;d)TC:3比特,流量等级;e)S:1比特,标签栈底标识位;f)TTL:8比特,生存时间;8)Version:4比特,通用关联隧道头版本号;h)Reserved:8比特,保留位,必须设置为0,收到时忽略;i)ChannelType:16比特,通用关联隧道类型;5出节点收到报文后,根据报文中的PSID将检测报文关联到被测路径,完成相应的测量目的路径段)[2]IETFdraft-ietf-spring-srv6-path-segment-07PathSegment[3]IETFdraft-ietf-idr-sr-pol

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论