网站地图 | Tags | 热门标准 | 最新标准 | 订阅

GB/T 21645.11-2017 自动交换光网络(ASON)技术要求 第11部分:路径计算单元(PCE)及协议

  • 名  称:GB/T 21645.11-2017 自动交换光网络(ASON)技术要求 第11部分:路径计算单元(PCE)及协议 - 下载地址1
  • 下载地址:[下载地址1]
  • 提 取 码
  • 浏览次数:3
下载帮助: 发表评论 加入收藏夹 错误报告目录
发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表
新闻评论(共有 0 条评论)

资料介绍

  ICS 33 . 040 . 20 M 33

  中 华 人 民 共 和 国 国 家 标 准

  GB/T 21645. 1 1—2017

  自动交换光网络(ASON)技术要求

  第 1 1 部分:路径计算单元(PCE)及协议

  TechnicalrequirementsforAutomaticallySwitchedOpticalNetwork(ASON)—

  Part1 1:PathComputationElement(PCE)andprotocol

  2017-05-12 发布 2017-12-01 实施

  中华人民共和国国家质量监督检验检疫总局中 国 国 家 标 准 化 管 理 委 员 会

  发

  布

  GB/T 21645 . 1 1—20 17

  GB/T 21645 . 1 1—20 17

  前 言

  GB/T 21645《 自动交换光网络(ASON)技术要求》由以下部分组成:

  — 第 1 部分:体系结构与总体要求;

  — 第 2 部分:术语和定义;

  — 第 3 部分:数据通信网(DCN) ;

  — 第 4 部分:信令;

  — 第 5 部分:用户网络接口 (UNI) ;

  — 第 6 部分:管理平面;

  — 第 7 部分:自动发现;

  — 第 8 部分:路由;

  — 第 9 部分:外部网路-网络接口 (E-NNI) ;

  — 第 10 部分:多层多域控制平面;

  — 第 11 部分:路径计算单元(PCE)及协议。

  本部分为 GB/T 21645 的第 11 部分。

  本部分按照 GB/T 1 . 1—2009 给出的规则起草。

  本部分由中华人民共和国工业和信息化部提出。

  本部分由中华人民共和国工业和信息化部(通信)归口 。

  本部分起草单位:中国信息通信研究院、华为技术有限公司、中国联合网络通信集团有限公司、武汉烽火科技集团有限公司、上海贝尔股份有限公司。

  本部分主要起草人:徐云斌、张国颖、饶宝全、王海军、张炳炎、易小波、王郁、丁慧。

  GB/T 21645 . 1 1—20 17

  自动交换光网络(ASON)技术要求

  第 1 1 部分:路径计算单元(PCE)及协议

  1 范围

  GB/T 21645 的本部分规定了 自动交换光网络(ASON) 路径计算单元(PCE) 及协议,主要包括: PCE功能架构、路径计算能力、通信协议要求、PCE发现要求、通信通道、管理要求、安全性要求、可靠性要求和性能要求等。

  本部分适用于采用 PCE进行路径计算的 ASON 网络及设备。

  2 规范性引用文件

  下列文件对于本文件的应用是必不可少的。 凡是注 日期的引用文件,仅注 日期的版本适用于本文件 。凡是不注日期的引用文件,其最新版本(包括所有的修改单)适用于本文件。

  GB/T 21645 . 1—2008 自动交换光网络(ASON)技术要求 第 1 部分:体系结构与总体要求

  IETF RFC 2210 IETF集成服务 RSVP应用(The Use of RSVP with IETF Integrated Services)

  IETF RFC 2385 通过 TCP MD5 签名选项保护 BGP 会话 (Protection of BGP Sessions via the TCP MD5 Signature Option)

  IETF RFC 3471 GMPLS信令功能描述[Generalized Multi-Protocol Label Switching (GMPLS)

  Signaling Functional Description]

  IETF RFC 4328 G.709 OTN 控制的 GMPLS 扩展[Generalized Multi-Protocol Label Switching (GMPLS) Signaling Extensions for G.709 Optical Transport Networks Control]

  IETF RFC 4606 用 于 SONET/SDH 控 制 的 GMPLS 扩 展 [Generalized Multi-Protocol Label Switching (GMPLS) Extensions for Synchronous Optical Network (SONET) and Synchronous Digital Hierarchy (SDH) Control]

  Lambda-Switch-Capable (LSC) Label Switching Routers]

  3 术语和定义、缩略语

  3 . 1 术语和定义

  下列术语和定义适用于本文件。

  3 . 1 . 1

  路径键值子对象 pathkeysub-sbject;PkS

  由路径键值和 PCE ID两个字段组成。 路径键值采用 16 比特的编码,代表了一条路径;PCE ID 可

  GB/T 21645 . 1 1—20 17

  以使用只在域内有效的地址。 对于互不信任的 PCE,可以通过路径键值子对象屏蔽网络内部的拓扑细节信息。

  3 . 1 . 2

  域边界路由器 areaborderrouter;ABR

  位于路由域之间,具备 PCE功能,用于计算域间路径。

  3 . 1 . 3

  自治系统边界路由器 autonomoussystem borderrouter;ASBR

  位于自治系统之间,具备 PCE功能,可以参与 自治域之间的路由计算。 这里的 自治域可以通过管理的目的进行划分,可包含多个路由域。

  3 . 2 缩略语

  下列缩略语适用于本文件。

  ABR:域边界路由器(Area Border Router)

  AS:自治系统(Autonomous System)

  ASBR: AS边界路由器(AS Border Router)

  ASON:自动交换光网络(Automatically Switched Optical Network)

  BRPC:基于 PCE 的后向递归路径计算(Backward-Recursive PCE-Based Computation)

  ERO:显示路由对象(Explicit Route Object)

  GMPLS:通用多协议标签交换(Generalized Multi Protocol Label Switching)

  IGP:内部网关协议(Interior Gateway Protocol)

  LSA:链路状态通告(Link State Advertisements)

  LSC:波长交换能力(Lambda Switch Capable)

  LSP:标签交换路径(Label Switch Path)

  MD5:消息摘要算法第五版(Message Digest Algorithm 5)

  MPLS:多协议标签交换(Multi Protocol Label Switching)

  NMS:网络管理系统(Network Management System)

  ODU:光通道数据单元(Optical Channel Data Unit)

  OTN:光传送网(Optical Transport Network)

  P2P:点到点(Point to Point)

  P2MP:点到多点(Point to Multi-Point)

  PCC:路径计算客户(Path Computation Client)

  PCE:路径计算单元(Path Computation Element)

  PCEP: PCE通信协议(PCE Communication Protocol)

  PCErr: PCE错误消息(PCE Error)

  PCReq: PCE请求消息(PCE Requesting)

  PCRep : PCE 响应消息(PCE Replying)

  PCNtf: PCE通知消息(PCE Notification)

  PKS:路径键值子对象(Path Key sub-object)

  RWA:路由和波长分配(Routing and Wavelength Assignment)

  SDH:同步数字体系(Synchronous Digital Hierarchy)

  SONET:同步光网络(Synchronous Optical Network)

  GB/T 21645 . 1 1—20 17

  SRLG:共享风险链路组(Shared Risk Link Group)

  TDM:时分复用(Time-Division Multiplexing)

  TE:流量工程(Traffic Engineering)

  TED:流量工程数据库(Traffic Engineering Database)

  TLS:传输层安全协议(Transport Layer Security)

  TLV:类型、长度、值三元组(Type-Length-Value triplet)

  VC:虚容器(Virtual Container)

  VNT:虚拟网络拓扑(Virtual Network Topology)

  VNTM:虚拟网络拓扑管理器(Virtual Network Topology Manager)

  VSPT:虚拟最短路径树(Virtual Shortest Path Tree)

  WSON:波长交换光网络(Wavelength Switched Optical Network)

  4 路径计算单元(PCE)功能架构

  4 . 1 路径计算单元(PCE)定义

  在网络规模复杂的环境中,为了实现流量工程,需要实现约束路径计算。 路径计算单元(PCE) 技术,采用集中式的路径计算模型,可以解决复杂网络环境下的跨层、跨域约束路由计算。

  PCE 的本质是将网络中的路径计算功能独立出来,作为一个集中式的路径计算服务器。 相比于分布式路径计算,集中式的 PCE路径计算方式对于复杂的路由计算优势明显。

  PCE 的应用范围包括:

  a) 从网络是否具有智能特性角度看,PCE 可应用于具有路由功能的网络,也可应用于无路由功能的网络:

  — 当网络具有路由功能时,PCE 可运行路由协议并加入到网络的路由域中,从而获得网络的拓扑信息和 TE信息;当需要建立路径时,业务首节点可向 PCE 发送路径计算请求,以获得满足约束条件的路径。 与无 PCE 的自动交换光网络(ASON) 相比,节点不需要实现路径计算功能,即可以去掉节点 内部的路径计算模块;同 时,节 点 作 为 路 径 计 算 客 户(PCC),需要增加 PCE通信协议处理模块,用于实现向 PCE 发送路径计算请求消息,以及接收来自 PCE 的路径计算响应消息。

  — 当网络没有路由功能时,PCE可以从网管导入网络拓扑信息和 TE信息;当需要建立路径时,网管系统可作为路径计算请求发起方 PCC,向 PCE发送路径计算请求,以获得满足约束条件的路径,从而可以对相关网元进行配置,实现路径的建立。

  b ) 从网络结构看,PCE可应用于多层和多域的网络中:

  — 对于多层网络,通常客户层网络和服务层网络的路由信息是相互独立的。 在应用 PCE时,典型的实现方式是,在客户层网络和服务层网络中各部署一个 PCE,当客户层的 PCE在计算路径时发现需要驱动建立服务层的路径时,客户层的 PCE 可通过 PCE 通信协议与服务层的 PCE进行通信,通过相互配合计算出满足约束条件的跨层路径。

  — 对于多域网络,由于流量工程信息没有在各域之间进行信息交互,因此首节点无法计算跨域的最优路径。 此时,可在每个域部署一个 PCE,各 PCE 负责本域的路径段的计算,并利用 PCE通信协议,将计算结果与其他域的 PCE进行交互,从而组合出跨域的最优路径。

  c) 从网络传送技术看,PCE 可应用于各种类型的网络,例如 MPLS-TE、SDH、OTN、波长交换光网络(WSON)等。 PCE在 WSON 网络中的应用见附录 A。

  GB/T 21645 . 1 1—20 17

  d) 从连接类型看,PCE可用于计算类型为点到点(P2P)或者点到多点(P2MP)的路径。

  4 . 2 PCE总体功能架构

  PCE 的总体功能架构如图 1 所示。 PCE作为一个集中式的路由计算功能模块,主要由路径计算模块、通信模块以及流量工程数据库等部分组成。 网管系统、节点设备可以作为路径计算请求的发起方(PCC) ,通过 PCE通信协议(PCEP) ,向 PCE 功能模块发送路由计算请求。 当 PCE 之间进行通信时, PCE可以作为 PCC,向其他的 PCE发起路径计算请求。

  图 1 PCE总体功能架构

  PCE基本功能包括:

  a) 网络拓扑信息和流量工程信息的维护;

  b ) PCE通信协议处理:接收来自路径计算请求者 PCC 的路径计算请求以及向 PCC 返回路径计算结果;当网络中部署多个 PCE 时,还可以利用 PCE通信协议实现各个 PCE之间的交互;

  c) 流量工程(TE)路径计算:根据 PCC 的路径计算请求消息及 PCE 维护的网络拓扑和流量工程信息,计算满足约束的 TE路径计算。

  PCE可以是有状态的,也可以是无状态的。 有状态的 PCE上不仅保存了网络拓扑和资源信息,还保存了网络中的现有 TE LSP 的相关属性,包括每条 TE LSP 的路径信息、优先级信息等。 无状态的PCE上没有保存网络中的 TE LSP相关属性信息。

  有状态的 PCE,可以更好地计算业务优化路径。 但是另一方面,由于需要同步网络的业务信息,因此增加了控制开销。

  4 . 3 PCE实现方式

  4 . 3 . 1 节点内部实现

  图 2 描述了一个典型的内部实现 PCE 功能的节点。 该节点利用路由协议与邻居节点交换流量工程(TE)信息,并将 TE信息存储到流量工程数据库(TED) 中。 当节点收到 TE LSP 的建立请求时,先请求 PCE计算路径,获取 PCE计算出来的路径之后,触发信令过程,向下游节点发送信令消息请求建立 TE LSP。

  在该模式下,PCE是节点的一个功能模块。 在这种架构下,每个有路径计算功能的节点都可以认为是 PCE节点。

  GB/T 21645 . 1 1—20 17

  图 2 节点内部实现 PCE功能

  4 . 3 . 2 外部服务器实现

  在该模式下,普通节点不需要部署 PCE模块,可以请求外部的 PCE模块计算路径。 此时,普通节点需要实现 PCC功能。

  图 3 描述了外部节点实现 PCE 功能的情况下,TE LSP 的建立过程。

  图 3 节点外部实现 PCE功能

  首节点收到 TE LSP 的建立请求时,先请求外部的一个 PCE节点计算路径,并根据 PCE计算出来的路径触发信令过程,即向下游节点发送信令消息,请求建立 TE LSP。

  这种场景下,实现 PCE功能的节点可以是网络中的一个节点,也可以是一个独立的路径计算服务器。

  4 . 3 . 3 网管实现

  在需要建立 TE LSP 时,可以由网管请求 PCE计算路径,并将路径下发给首节点,通知首节点沿路建立 TE LSP。 此时,网管需要实现 PCC功能。

  如图 4 所示,网管收到业务请求时,先请求 PCE计算业务路径。 收到 PCE 的路径计算返回时,网管通知首节点建立相应的 TE LSP,并指定其路径。 首节点触发信令过程,沿着网管指定的路径建立

  GB/T 21645 . 1 1—20 17

  TE LSP。

  PCE功能也可能由网管实现,此时网管不需要通过外部接口来请求 PCE计算路径,内部接口就可以实现。

  图 4 网管与 PCE的配合

  4.4 PCE部署方案

  4 . 4 . 1 单域部署

  一个域的所有路径计算都由一个集中的 PCE 负责。 该 PCE 可以是一个外部服务器(PCE 功能部署在节点外部),或是指定的一个节点(PCE 功能部署在节点内部)。 这种模式下,域中的所有 PCC 可以向一个集中式的 PCE 发送路径计算请求消息。 上面提到的域,可以是一个或多个内部网关协议(IGP)域,或一个或多个自治域(AS),也可以是由一小组网络节点组成的集合。

  在该模型下,为了避免单点 PCE故障导致全网路径计算功能失效,可以指定一个备份的 PCE,如图5 所示。 在主 PCE故障时,备份的 PCE 负责路径计算功能。

  图 5 PCE单域部署

  GB/T 21645 . 1 1—20 17

  4 . 4 . 2 多域部署

  在网络规模过大的情况下,需要将网络划分为多个域,每个域由相应的 PCE 负责计算域内路径。在需要计算跨域的路径时,需要多个域的 PCE联合计算。 多个域的 PCE联合计算模式存在以下几种:

  a) 多域 PCE无交互计算模式见图 6 。在这种模式下,一个 PCE 不能计算出完整的端到端路径。第一个 PCE 只能计算出路径的一部分,返回给路径计算请求者的路径只有前面一部分是严格的,后面是松散路径,需要其他 PCE进一步计算。

  图 6 多域 PCE部署无交互计算

  图 6 中,首节点收到 TE LSP 的建立请求时,请求第一个 PCE计算路径。 该 PCE 只能计算出一段路径,并返回给首节点。 首节点触发信令过程,即向下游节点发送信令消息,请求建立TE LSP。 当信令消息到达需要重新计算路径的中间节点时,中间节点再请求第二个 PCE 计算余下的路径,PCE计算余下的路径并返回给中间节点,中间节点继续信令过程,即向下游节点发送信令消息,请求建立 TE LSP。

  b ) 多域 PCE交互计算如图 7 所示。 当 PCE计算不出完整的路径时,会与其他 PCE 交互计算出端到端的完整路径,并将其返回给路径计算请求者。

  图 7 多域 PCE交互计算

  GB/T 21645 . 1 1—20 17

  如图 7 所示,首节点收到 LSP 的建立请求时,先请求第一个 PCE计算路径。 该 PCE不能计算出完整的端到端路径,因此请求其他 PCE 配合计算端到端的路径。 通过 PCE 之间的交互计算,第一个 PCE得到端到端路径,并返回给首节点。 首节点再根据路径信息发起信令过程,即向下游节点发送信令消息,请求建立 TE LSP。

  4.4.3 层次 PCE

  层次 PCE技术中,父(上层)PCE维护域拓扑地图,即将每个子域看作一个节点,并维护域之间的连接关系。 子域中的子 PCE 负责计算子域中的路径。 这样,PCE之间就形成了层次关系,如图 8 所示。这种层次关系可以不仅仅是两层,可以包含多个层次。

  图 8 层次 PCE路径计算

  跨域路径计算流程,在应用多域路径计算流程之前,需要先确定域序列。 层次 PCE 技术则可以提供端到端的跨域路径计算流程,包括域序列的选择,以及端到端的跨域路径。

  层次 PCE 的路径计算要求如下:

  a) 各个子 PCE完成相应域内的路径计算;

  b ) 父 PCE维护子域间的互联信息,用于计算域序列;

  c) 父 PCE可将每一个子区域抽象成一个节点,并保存每个子域间的拓扑信息。

  d) 各个子域 PCE 需要与父域 PCE 建立会话,并上报相应的域与其他域的连通性,从而父 PCE可以得到所有子域的连通性,用于计算域序列。

  5 PCE路径计算能力

  5 . 1 概述

  PCE应支持的路径计算能力包括:

  a) PCE应支持域内的路径计算;

  GB/T 21645 . 1 1—20 17

  b ) PCE应支持域间的路径计算;

  c) PCE应支持层间的路径计算;

  d) PCE应支持同一运营商的自治域域间路径计算,不同运营商的自治域域间路径计算。

  5 . 2 单域路由计算能力

  单域路由计算能力如下所述:

  a) PCE应支持以下约束条件及约束条件组合:

  1) 最大 TE度量值;

  2) 最大跳数;

  3) 必经/排除链路,必经/排除节点,必经/排除 SRLG ;

  4) 路径分离的程度(节点分离,链路分离,SRLG分离);

  5) 最大 IGP 度量值;

  6) 链路保护类型;

  7) 交换类型(PSC/LSC),编码类型(如调制类型、FEC类型等);

  8) 波长约束条件;

  9) 传输性能(如光层损伤参数);

  10) 带宽;

  11) 上述约束条件的组合。

  b ) PCE应支持以下计算目标:

  1) 最短度量值(IGP 度量值或 TE 度量值)路径;

  2) 最小负载路径[路径的负载等于该路径中负载(链路已用带宽/链路总带宽)最大的链路的负载];

  3) 最大可用带宽路径(路径的可用带宽等于该路径中剩余带宽最小的链路的剩余带宽);

  4) 最小化所有链路消耗的带宽;

  5) 最大化最高负载链路的剩余带宽;

  6) 最小化一组分离路径的总代价;

  7) 基于传输性能参数最优化的路径计算。

  c) 批量路径计算:

  1) 当需要在网络中部署一批新的 TE LSP 时,可以请求 PCE计算这批 TE LSP 的路径。

  2) PCE综合考虑各条 TE LSP 的流量需求、网络拓扑信息、业务约束以及网络资源信息,计算出符合全局优化目标的一批路径。

  3) 新业务批量路径计算包括单层的批量路径计算,以及多层的批量路径计算。

  d) TDM路径计算需求:

  1) 在 TDM 网络中,多个业务级联起来传送客户侧业务的应用场景较多。 当首节点(PCC)在收到客户侧业务请求时,如果客户侧业务带宽需求较大,需要多个服务侧连接级联起来以便传输客户侧业务。 此时,首节点根据客户侧业务带宽需求信息,确定信号类型、级联类型以及级联信号数量,发送路径计算请求消息给 PCE,请求计算 自 己到 目 的节点的多条级联路径。 在路径计算请求消息中,需要能指定路径的以下流量参数信息:

  — 信号类型,如 SDH 中的 VC12/VC4,或者 OTN 中的 ODU1/ODU2/ODU3 等;

  — 级联类型,如 SDH 网络中的连续级联,虚级联等;

  — 级联信号数量,即多少个由信号类型指定的信号组成的级联信号;

  2) 在 PCE上除了需要保存网络拓扑信息之外,还需要保存网络中各接口的级联能力信息,以便计算出满足 PCC指定的级联约束条件的级联路径(连续级联需要路径经过的所有接

  GB/T 21645 . 1 1—20 17

  口都支持连续级联能力,虚级联需要两端接 口支持虚级联能力),并将计算结 果 返 回给 PCC。

  3) PCC收到路径计算结果,按照返回的路径建立多条级联连接,并用于传送客户侧业务。

  e) 保护路径计算需求:

  1) GMPLS 网络中,根据业务的重要程度,可以部署不同的业务保护级别。 常见的业务级别有:1+1 保护,共享 Mesh保护,重路由。

  2) 保护级别需要为业务事先提供两条保护路径,一条用于工作,一条用于保护。 因此,如果想计算上述业务的路径,需要路径计算请求及响应消息实现以下功能:

  —PCC在向 PCE发送的路径计算请求消息中,需要指明业务的级别;

  —PCE根据相应的业务级别,确定路径计算的数量,并在返回给 PCC 的路径计算响应消息中分别指明每条路径的类型(工作路径,或者保护路径);

  —PCE应能保证工作路径和保护路径性能差异不能过大,应基于工作路径和保护路径的性能参数进行工作路径和保护路径的计算。

  f) LSP重路由/重优化要求:

  1) 在 LSP故障的情况下,将向 PCE请求重新计算一条可用路径。 由于 PCE 的 TED里面的数据可能还来不及更新,因此需要在请求消息中能指示故障信息。

  2) 另一方面,为了尽量重用资源,在新的路径计算请求消息中需要能携带老 LSP 的路径信息。

  3) 因此,在路径计算请求消息中,应能指定该请求是否是重路由路径计算请求,并指定故障位置,以及老 LSP 的路径信息。

  4) 值得注意的是,网络中某处故障发生时,会影响多条 LSP,因此可能多处会同时发送路径计算请求给 PCE, PCE需要能处理这种大量突发的路径计算请求。

  5) 路径计算请求消息还应能支持 TE LSP 的重优化路径计算,并携带 TE LSP 当前的路径信息。

  g) 全局重优化现有业务路径:

  1) 网管可以决定优化某些 TE LSP,或者优化所有 TE LSP。 并发送全局路径优化请求给PCE。 PCE采用合适的算法,计算指定 TE LSP 的优化路径,并返回给网管。

  2) 在业务路径调整的过程中,一般不允许中断业务,即采用“先建后拆”的方式优化业务路径。

  3) PCE还需要在返回给 PCC 的路径计算响应消息中指定业务的优化顺序,即各业务的建立、删除顺序。 网管可以按顺序通知各业务的首节点进行优化,并指定优化路径。

  5 . 3 多域路由计算能力

  多域路由计算能力如下所述:

  a) 多域路由计算是否允许路径跨域:应能指定路径计算是否采用跨域的路径,例如当一条路径的源和目的节点在同一个域内部时,可能存在域内的路径和跨域路由,采用最短路径计算策略得出的结果是跨域路径,但是在采用不允许使用跨域路径策略下,路径计算结果是域内的路径。

  b ) 支持记录路径经过的域:指定跨域的路径经过的各个域,路径计算响应消息中指定路径的每 一个段分别属于哪一个域。

  c) 严格和松散的路径计算:跨域的路径计算应支持严格的显示路径,或者是松散路径。

  d) 指定和记录 PCE序列:

  1) 在多 PCE计算跨域路径的情况下,PCC可能希望能够指定一个 PCE列表,指明每个域优先使用的 PCE。 在这种情况下,路径计算时,需要先尝试指定的 PCE计算相应域的路径。

  GB/T 21645 . 1 1—20 17

  2) PCC还可能想知道每个 PCE计算的路径段。 因此,在请求消息中应能指定是否记录每个PCE计算的路径段,响应消息中应能返回每个路径段对应的 PCE。

  e) 指定域 ID:在 PCE保存了其他各个 PCE 所属的域时,PCE 可以根据源和 目 的节点所在的域的 ID来确定下一个 PCE。 但是 PCE可能没有足够的信息来确定源和目的节点所属的域。 在这种情况下,请求消息中应指定源和目的节点所属的域。

  f) 多域路径计算应支持以下约束条件:

  1) 指定路径必经/排除的域。

  2) 支持跨域的分离路径计算,支持以下不同级别的路径分离:

  — 逐域分离(不同路径在同一域内部的路径段节点、链路、SRLG分离);

  — 端到端跨域路径分离(端到端的跨域路径节点、链路、SRLG分离)。

  g) 保护要求:

  1) 应能够指定哪些域需要保护,哪些域不需要保护;

  2) 指定两条或者多条路径是否需要域分离;

  3) 指定多条路径是否需要端到端分离还是某些域需要分离。

  h) 环路避免:PCE 多域路径计算应能够实现环路避免。

  5 . 4 多层次路径计算能力

  多层次路径计算能力如下所述:

  a) 应支持层间路径计算控制:在 PCC发往 PCE 的请求中,应当指出是否允许层间路径计算。 如果没有这样的指示,那么缺省的情况下不允许层间路径计算。 因此 PCC 发给 PCE 的请求消息,应支持该指示。 PCE可计算并返回以下两种路径:

  1) 单层路径:PCE计算一条仅包含同一层 TE链路的路径;

  2) 多层路径:PCE计算一条包含不同层 TE链路的路径。

  b ) 应支持层间路径计算类型指示,包括:

  1) 由严格跳构成的单层路径,此路径可能包括虚拟 TE链路;

  2) 由松散跳构成的单层路径;

  3) 多层路径:可以包括一个或多个还未建立的下层路径,可以由严格跳或松散跳构成。

  c) 应支持层间 TE链路属性的继承,客户层的 TE链路应能继承服务层 FA-LSP 的相关链路属性,PCE路由计算可以基于继承后的 TE链路属性完成客户层的路由计算。 继承的属性包括:

  1) 接口交换能力;

  2) TE权重:例如链路代价;

  3) 每优先级的最大标签交换带宽;

  4) 所有优先级没有预留的带宽;

  5) 最大预留的带宽;

  6) 保护属性;

  7) 最小标签交换通路带宽(依赖于交换能力);

  8) 共享风险链路组(SRLG) 。

  d) 支持跨层的路由计算,PCE应同时具备多个层次的拓扑链路信息,完成跨层资源调度。

  e) 支持跨层的约束路计算,包括:

  1) 支持指定路径计算是否跨层,是单层的路径(严格或松散路由),还是多层的路径(严格或松散路由)。

  2) 支持以下跨层路径计算约束条件:

  — 可以、应、或禁止包含某一网络层次;

  GB/T 21645 . 1 1—20 17

  — 约束穿越层边界数目(即:在端到端路径上执行适配的次数);

  — 端到端路径上穿越的层边界数目最小,并支持上报穿越的层边界数目。

  3) 支持指定层间适配能力、复用方式。 路径计算请求应能够指示在处于计算中的下层 LSP端点处期望的适配功能。

  4) 每层包含/排斥边界节点。

  5) 每层包含/排斥域间链路。

  6) 每层排斥域间链路的 SRLG。

  f) 支持跨层的保护恢复路由计算。

  1) 支持层间多样性约束,支持指定每个层次上多样性约束,包括链路分离、节点分离、SRLG分离。

  2) 支持跨层的保护恢复协调。

  g) 应支持层间路由计算 PCE功能和策略控制,详细的层间路径计算控制机制见附录 B。

  1) PCE可提供层间路径计算的使能/禁止功能。 一个具有层间路径计算能力的 PCE不具备向外通告这个 能 力,只 有 配 置 为 知 道 此 PCE 及 其 层 间 计 算 能 力 的 PCC 才 可 以 使 用此 PCE。

  2) 层间路径计算可以受策略的支配,一个 PCE 可能向一些 PCC 隐藏自身的层间计算能力,因此不会通过发现协议通告或者 PCEP 能力交换报告向这些 PCC通告。 此外,PCE 还可以通过一些策略拒绝某些 PCC 的层间路径计算请求。

  6 PCE通信协议

  6 . 1 PCE通信协议需求

  PCEP是基于 TCP 的一种通信协议,用于 PCC 和 PCE、PCE 和 PCE之间相互通信,该协议的定义见 IETF RFC 5440 。

  PCEP使用的 TCP端口号为 4189 。

  PCEP协议需要具有普适性,既能用于 PCC 和 PCE 之间通信,也能适用于 PCE 之间的通信。 在PCE 向另一个 PCE请求计算路径时,则前一个 PCE可以看作是一个 PCC,因此以下内容都将 PCEP称为是 PCC 和 PCE之间的通信协议,不区分路径计算请求者是否是 PCE。

  PCEP协议模式如下:

  a) PCC-PCE 的通信协议需要实现客户-服务器通信模式。 PCEP应实现 PCC发送路径计算请求消息给 PCE,并实现 PCE将路径计算结果返回给 PCC。

  b ) 除了上述的请求-响应模式,PCE还需要能通过 PCEP 主动发送通告信息给 PCC。

  PCE路径计算请求和响应消息要求如下:

  a) 路径计算请求消息中,应能指定源和目的地址,即路径计算的起点和终点。

  b ) 路径计算请求消息中,还应能指定路径计算的约束条件。 例如,约束条件包括但不限于以下内容:请求的带宽,指定必经或排除某些节点、链路资源等。

  c) 路径计算请求消息中,必选能指定路径计算的一些核心 目标功能。 PCE 在计算路径时,根据指定的目标功能计算“最优”路径。 例如,指定路径计算的目标功能为跳数最少。

  d) 请求消息中可以携带用于建立 LSP 的信令消息中的某些 TE参数值。

  e) 路径可以是基于 TE度量值计算出来的最短路径,也可以是基于 IGP 度量值计算出来的最短路径。 因此在路径计算请求消息中应允许指定度量值的类型。

  GB/T 21645 . 1 1—20 17

  f) 可能一条路径并不能满足带宽需求,需要多条路径联合起来以满足带宽需求,即负载均衡路径计算。 应允许 PCC在请求消息中指定是否允许负载均衡路径计算,并能指定路径的最大条数,以及路径的最小带宽,多条路径分离的程度。

  g) 路径计算成功的情况下,路径计算响应消息至少应能携带计算出来的路径,以及该路径的属性,如路径代价、带宽等。 路径中可以包含严格的一跳,也可以包括松散的一跳。

  h) 路径计算失败的情况下,路径计算响应消息应能返回失败响应,在响应消息中还可以指定路径计算失败的原因。

  i ) 路径计算响应消息还应能携带负载均衡的计算结果,即多条路径及每条路径相应的带宽。

  多域路径计算情况下,PCE路径计算请求和响应消息要求如下:

  a) PCE路径计算请求消息应能指示是否允许跨域的路径计算,路径计算响应消息应能指明该路径是否跨域。

  b ) PCE路径计算响应消息应能记录路径经过的域。

  c) PCE路径计算请求消息中应能允许指定是否要求 PCE返回严格的显式路径。

  d) PCE路径计算消息应能指定和记录 PCE 序列,在请求消息中应能指定是否记录每个 PCE 计算的路径段,响应消息中应能返回每个路径段对应的 PCE。

  e) PCE路径计算请求消息应能指定源和目的节点所属的域。

  f) 在请求消息中,应能指定一个或多个应经过的域,以及一个或多个应排除的域。

  g) 请求消息中应允许指定在哪些节点对之间需要路径分离,以及分离的程度(节点分离,链路分离,SRLG分离),响应消息中应计算出来的路径的分离的级别。

  h) 在 PCC 向 PCE发送的请求消息,以及 PCE 向其他 PCE 发送的请求消息中,应能指定是否需要利用 1 ∶ 1 旁路或设备备份来保护节点、链路、SRLG 失效,并能指定在哪些 AS 需要保护,哪些 AS不需要保护。

  6 . 2 PCEP协议消息交互流程

  6 . 2 . 1 PCEP消息类型

  PCEP协议定义了以下消息:

  a) 会话开启(Open)消息和会话保活(Keepalive)消息分别用于发起和维护 PCEP会话。

  b ) PCReq消息:路径计算请求消息,用于 PCC 向 PCE请求计算路径。

  c) PCRep 消息:路径计算响应消息,用于 PCE 向 PCC 返回路径计算结果。 在该消息中,可以携带多条计算成功的路径,或者携带路径计算失败的原因。

  d) 通知消息:路径计算通告消息,该消息可以由 PCC发送给 PCE,也可以由 PCE发送给 PCC,用于通告某种事件。

  e) PCErr 消息:错误消息,当发现协议错误时,向对端发送该消息。

  f) 会话关闭消息:用于关闭 PCEP会话。

  一个 PCC可以同时和多个 PCE建立多个 PCEP 会话,类似的,一个 PCE 也可以同时和多个 PCC建立多个 PCEP会话。

  6 . 2 . 2 初始化过程

  初始化过程主要包含以下两个步骤:

  a) PCC 和 PCE之间建立 TCP 连接(三次握手过程);

  b ) 在 TCP 连接的基础上,建立 PCEP会话。

  GB/T 21645 . 1 1—20 17

  在 TCP 连接建立成功之后,PCC 和 PCE 发起 PCEP 会话的建立过程。 在此过程中,协商会话参数 。会话参数使用 Open消息传送,包括保活定时器时间、失效定时器时间等用于维护 PCEP 会话的参数。

  会话保活消息用于确认 Open 消息,并且在 PCEP会话建立之后,用于 PCEP会话的保活。

  在任意时刻,每对 PCC 和 PCE之间最多只能存在一个 PCEP 会话,TCP 连接也最多只能有一条。 TCP协议的 TCP 同步打开机制可以保证每对 PCC 和 PCE之间最多只有一条连接。

  PCEP会话建立过程如图 9 所示。

  图 9 PCEP会话建立过程

  会话保活消息保活是可选的。 即在 PCEP会话建立之后,可以不利用会话保活消息进行保活。

  6 . 2 . 3 保活机制

  PCEP会话建立完成之后,PCE或 PCC 可以通过 PCEP会话的保活机制来判断其对端 PCEP 功能是否失效。 该过程可以通过检测 TCP 连接是否失效来实现,但是存在以下缺陷:对端的 PCEP 功能失效,而 TCP 连接并没有失效时,判断不出 PCEP会话对端的状态。

  PCEP定义了 自 己 的 保 活 机 制。 保 活 机 制 主 要 涉 及 以 下 元 素 或 消 息:保 活 定 时 器 (Keepalive timer), 失效定时器(DeadTimer),会话保活(Keepalive) 消息。

  PCEP会话两端启动保活定时器。 每次发送 PCEP 消息时,重启保活定时器。 如果保活定时器超时,则发送会话保活消息。

  同时,PCEP会话两端启动失效定时器。 每次从该 PCEP会话收到消息时,重启失效定时器。 如果失效定时器超时,则可以判断对端的 PCEP会话功能失效。

  保活定时器、失效定时器的超时时间在 Open 消息中指定,并且在 PCEP 会话两端不需要保持 一致,即 PCEP会话的两端可以分别指定各自的超时时间。 PCEP会话的端点,根据自己指定的保活定时器超时时间来发送会话保活消息,并根据对端指定的失效定时器超时时间来判断会话对端是否可用。

  保活定时器的最小超时时间为 1 s,推荐的默认值为 30 s。 如果该值为 0,则说明不启动保活机制。推荐的失效定时器超时时间为对端保活定时器超时时间的 4 倍 。

  6 . 2 . 4 路径计算请求

  PCC如果需要计算一条或多条路径,首先需要选择一个或多个 PCE来请求路径计算。 当 PCC 确定了 PCE之后,如果没有建立 PCEP会话,首先建立 PCEP会话。 在 PCEP会话建立完成之后,PCC 可以向 PCE发送 PCReq消息,请求 PCE计算满足约束的路径。

  典型过程如图 10 所示。

  GB/T 21645 . 1 1—20 17

  图 10 发送路径计算请求消息

  在 PCReq消息中,PCC可以利用各种对象来指定路径的约束条件。 例如,PCC 可以在 PCReq 消息中指定路径的源 IP 地址、目的 IP地址、带宽等信息。

  在一条 PCReq消息中,可以指定计算多条路径。

  6 . 2 . 5 路径计算响应

  PCE 收到 PCC发送的 PCReq消息之后,触发路径计算过程。 路径计算的结果有两种情况,成功或失败。 PCE利用 PCRep 消息来通知 PCC路径计算的结果。

  路径计算成功的过程如图 11 所示。

  图 1 1 路径计算成功

  如果 PCE计算出满足路径约束的路径,则通过 PCRep 消息,将路径返回给 PCC。路径计算失败的过程如图 12 所示。

  GB/T 21645 . 1 1—20 17

  图 12 路径计算失败

  如果 PCE 不能计算出满足路径约束的路径,则通过 PCRep 消息,返回失败响应。 可以在 PCRep消息中指出不能满足的约束条件,以便 PCC判断是否需要修改约束重新请求计算。

  6 . 2 . 6 通知消息

  在某些场景下,PCE需要通知 PCC某些事件。 例如,在 PCE 较忙的时候,PCE 可能响应路径计算请求较慢。 此时,可以利用 PCNtf消息将该状态通告给一个或多个 PCC, PCC从而可以重新选择合适的 PCE来请求计算路径。

  类似的,PCC可能也需要通知某些事件给 PCE。 例如,PCC决定取消某个路径计算请求时,可以利

  用 PCNtf消息通知 PCE。

  PCE 向 PCC通告事件的过程如图 13 所示。

  图 13 PCE向 PCC通告

  PCC 向 PCE通告事件如图 14 所示。

  GB/T 21645 . 1 1—20 17

  图 14 PCC向 PCE通告

  6 . 2 . 7 错误处理

  在协议交互出现错误的情况下,需要向对端发送 PCErr 消息。 例如,在 PCReq 消息中,丢失必选参数,或者与 PCE策略冲突,或者 PCE 收到未知消息等情况下,需要向 PCC发送 PCErr 消息。

  典型过程如图 15 所示。

  图 15 错误通知

  6.2.8 关闭 PCEP会话

  PCC 或 PCE可以决定关闭 PCEP会话。 当 PCEP会话一端决定关闭 PCEP会话时,发送会话关闭消息,并断开 TCP 连接。 当对端接收到会话关闭消息之后,释放与该 PCEP会话相关的资源。

  在 TCP 连接中断的情况下,立即关闭相应的 PCEP会话。

  在实现过程中,可以一直保留 PCEP 会话,也可以在没有计算请求时关闭 PCEP 会话。 何时关闭PCEP会话,由本地策略决定。

  6.3 PCEP消息定义

  6.3. 1 PCEP消息概述

  PCEP 消息包含一个通用的消息头部,以及消息体。 消息体由各个必选、可选对象组成。

  GB/T 21645 . 1 1—20 17

  PCEP 对象头部,定义一个 P标志位,用于 PCC在 PCReq 消息中指示 PCE在计算路径时是否需要考虑该对象。 如果 P标志位为 1,则 PCE在计算路径时应考虑该对象中的约束条件。

  在以下各种 PCEP 消息中,将会定义每种消息可以携带的对象。

  6 . 3 . 2 PCEP消息头部

  PCE协议采用通用的消息头部格式如图 16 所示。

  0 1 2 3

  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

  图 16 PCEP对象头部

  其中:

  — 版本(3 个比特):PCEP 版本号,目前版本号为 1 。

  — 标志位(5 个比特):目前没有定义标志位的含义,必需填写为 0,并且在收到消息时,忽略该字段。

  — 消息类型(8 个比特):消息类型字段,目前定义以下消息类型如表 1 所示。

  表 1 PCEP消息类型

  消息长度(16 个比特):PCEP 消息的长度,包含 PCEP 头部的长度,单位是字节。

  PCEP 消息对象采用类型长度值(TLV)格式进行定义。 所有的 PCE对象由一个或者多个 32 位结构组成,包含一个对象头部,如图 17 所示。

  0 1 2 3

  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

  图 17 通用对象头部

  通用对象头部各个字段的定义如下:

  — 对象分类:8 个比特。

  GB/T 21645 . 1 1—20 17

  — OT: 4 个比特,对象类型。 和对象分类两个字段唯一确定一个 PCEP对象。

  — 预留:预留的标志位,应填 0,在接收处理过程中忽略。

  —P标志位(1 个比特):处理规则标志位。 用于 PCC在 PCReq消息中指示该对象是否应在路径计算时考虑。 如果设置为 1,则 PCE 在计算路径时,应考虑该对象;否则,PCE 可以不考虑该对象。

  —I标志位(1 个比特):忽略标志位。 用于 PCE 在 PCRep 消息中指示该对象是否被 PCE 处理过 。如果设置为 1,则表明 PCE在处理 PCReq消息时,忽略了该对象;否则,表明 PCE 已经考虑了该对象。

  — 对象长度(16 个比特):整个对象的长度,包含对象头部的长度,以字节为单位。 PCEP 对象长度应为 4 字节的倍数。 即该字段的最小值为 4,而且是 4 的倍数。

  如果 PCE 收到的 PCReq消息中包含不认识的对象;或者认识该对象,并且设置了 P 标志位,但是PCE决定忽略该对象,则 PCE应拒绝处理相应的路径计算请求,并向 PCC 返回 PCErr 消息。 消息中携带相应的 RP对象(区分不同的路径计算请求),并设置错误类型为“未知对象”,或“不支持的对象”。

  需要注意的是,如果一条 PCReq消息中包含多个路径计算请求,则 PCE 只是拒绝处理未知对象相关的路径计算请求。 其他路径计算请求需要被处理,并返回路径计算结果。

  6.3.3 会话开启(open)消息

  会话开启消息可以由 PCC发送给 PCE,也可以由 PCE发送给 PCC。 该消息用于建立 PCEP会话。会话开启消息头部的消息类型取值为 1 。

  在 TCP 连接建立成功之后,利用该 TCP 连接发送的第一条消息应为会话开启消息。 在收到会话开启消息之前,如果收到任何其他 PCEP 消息,则应向对端发送 PCErr 消息,错误类型为“PCEP会话建立失败”,错误值为“收到无效会话开启消息,或收到其他消息”,并且中止 PCEP 会话建立过程,关闭TCP 连接。

  在 PCEP会话建立过程中,PCEP会话两端利用会话开启消息协商各种参数,如果两端接受这些参数,则 PCEP会话建立成功。

  会话开启消息格式如图 18 所示。

  0 1 2 3

  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

  图 18 会话开启消息格式

  会话开启消息应携带唯一的一个对象:OPEN对象。 该对象携带各种会话相关的参数。 各个字段的定义如下:

  a) 版本(3 个比特):PCEP 版本号。 目前为 1 。

  b ) 标志(5 个比特):目前没定义标志位,应填 0 。

  c) 会话保活(8 个比特):PCEP 消息的最大发送间隔,单位为 s。 最小值为 1,推荐值为 30 。如果设置为 0,则当 PCEP会话建立完成之后,不会再发送会话保活消息。

  d) DeadTimer( 8 个比特):PCEP会话的对端在经过本端在 DeadTimer 字段指定的时间(单位为

  GB/T 21645 . 1 1—20 17

  秒)之后,未收到任何消息,则可以宣布 PCEP会话失效。 推荐 DeadTimer 的取值为会话保活值的 4 倍 。如果会话保活值为 0,则 DeadTimer值也应该为 0 。

  e) 例如,A发送给 B一条会话开启消息,在 OPEN对象中指示会话保活为 10 , DeadTimer 为 40 。这说明,最迟每隔 10 s, A会发送给 B 一条 PCEP 消息;A 如果 10 s 超时无其他消息需要发送,则会向 B发送会话保活消息。 B如果在 40 s 内未收到 A 的任何 PCEP 消息,则可以断定 A 的 PCEP 功能失效。

  f) SID(PCEP会话 ID-8 个比特):无符号的 PCEP 会话编号,在建立新的 PCEP 会话时,应以1 为单位递增该编号。 PCEP 会话两端的 SID 相同,主要用于区分 PCEP 会话的不同实例。在实现过程中,SID可以是全局唯一的,也可以是在 PCEP会话两端唯一的。

  g) 可选 TLV是可选字段,用于 PCC或 PCE 指定各自的特性。 目前定义了 OF-List TLV,用于携带 PCE支持的目标函数列表,即 PCE可以基于哪些目标函数来计算路径。 OF-List 的类型值 =4,其格式如图 19 所示。

  0 1 2 3

  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

  图 19 OF-ListTLV格式

  在 TCP连接建立成功之后,两端各自启动一个定时器(称为会话开启等待定时器),等待接收对端的会话开启消息。 如果该定时器超时,则向对端发送 PCErr 消息,并关闭 TCP 连接。

  在向对端发送会话开启消息之后,需要启动另一个定时器(称为会话保活等待定时器),等待接收对端的会话保活消息,或者 PCErr 消息。 前者表明对端接受会话开启消息中指定的参数,后者表明对端不接受会话开启消息中指定的参数。 如果该定时器超时还未收到这两种消息的其中一个,则向对端发

  送 PCErr 消息,并关闭 TCP 连接。

  上述提及的会话开启等待定时器、会话保活等待定时器的超时时间固定为 1 min。

  当收到会话开启消息时,应判断该消息中指定的 PCEP会话参数取值是否可接受。 如果可以接受,则向对端发送会话保活消息作为响应。 只要有一个参数不 可 接 受,则 应 向 对 端 发 送 PCErr 消 息。 PCErr 消息中可以携带 OPEN对象,并在该对象中指定可接受的参数取值。 对端在收到上述 PCErr 消息时候,决定是否重新设置 PCEP会话参数取值,并重新发送会话开启消息,尝试建立 PCEP会话。

  在收到第二条会话开启消息时,如果 PCEP 会话参数取值仍然不可接受,则应向对端发送 PCErr消息,并立即关闭 TCP 连接。

  6.3.4 会话保活(keepalive)消息

  会话保活消息可以由 PCC发送给 PCE,也可以由 PCE发送给 PCC。

  会话保活消息主要有以下两种用途:

  a) 用于 PCEP会话保活;

  b ) 用于响应会话开启消息。

  会话保活消息头部的 Message-Type取值为 2,该消息不携带任何对象,只有一个消息头部。

  PCEP有自己的保活机制,来确保 PCEP会话的可用性。 保活机制的详细过程请参考 6 . 2 . 3 的描述。

  GB/T 21645 . 1 1—20 17

  保活定时器、失效定时器的超时时间由会话开启消息中的 OPEN对象指定。

  6 . 3 . 5 路径计算请求(PCReq)消息

  6.3.5. 1 PCReq消息格式

  PCReq 消息用于 PCC请求 PCE计算路径。 在一条 PCReq 消息中,可以携带多个路径计算请求。 PCReq消息头部的消息类型字段取值为 3 。

  PCReq消息包含两个必选对象:

  a) 请求参数(RP)对象;

  b ) 终端点对象。

  如果 PCE在收到的 PCReq 消息中找不到上述对象,则应返回 PCErr 消息给 PCC。 其他对象是可选对象。 PCReq 消息格式如图 20 所示。

  0 1 2 3

  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

  图 20 PCReq消息格式

  其中单个 SVEC格式如图 21 所示。

  0 1 2 3

  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

  图 2 1 SVEC列表格式

  单个请求的格式如图 22 所示。

  GB/T 21645 . 1 1—20 17

  0 1 2 3

  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

  图 22 PCE请求对象格式

  PCE可以按照顺序处理各个路径计算请求,也可以根据本地策略,区分各请求的优先级,将各个请求重新排序依次处理。

  PCReq请求消息中各个对象的定义见 6.3.5.2~6.3.5.14。

  6 . 3 . 5 . 2 SVEC对象

  SVEC对象用于将多个路径计算请求关联起来,请求 PCE 同步计算多条路径。 每个路径计算请求

  由 RP对象中的 Request-ID-number 唯一确定。

  SVEC对象的 Object-Class 为 11 , Object-Type 为 1,格式如图 23 所示。

  每个路径计算请求对应一个 RP, RP 中用 Request-ID-number 标识一个路径计算请求。 多个路径计算请求可以由一个 PCReq消息携带,也可以由多个 PCReq消息携带。

  PCE 收 到 的 PCReq 消 息 中,如 果 包 含 SVEC 对 象,则 需 等 待 SVEC 对 象 中 所 有 Request-ID- number对应的请求都接收到了,才进行路径计算。

  如果多条路径计算请求是分别由多个 PCReq消息携带的,建议 PCE启动一个定时器,如果定时器超时前接收完所有的路径计算请求,则启动路径计算,并停止定时器;否则,如果定时器超时,还有路径计算请求未接收到,则向 PCC返回 PCErr 消息,错误类型为“同步计算请求丢失”。

  GB/T 21645 . 1 1—20 17

  PCC可以在发往 PCE 的 PCReq消息中可以携带 OF 对象,指定 PCE 计算路径的 目标函数;PCE也可以在发往 PCC 的 PCRep 消息中携带 OF对象,告之 PCE计算路径时使用的目标函数。

  0 1 2 3

  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

  图 23 SVEC对象格式

  图 23 中:

  — 预留(Reserved, 8 个比特):应为 0。

  — 标志位(Flags, 24 个比特):定义 Request-ID-number # 1~ # M 所指定的 M 条路径之间的关系,目前定义了三个标志位:

  —L标志位:链路分离标志位,值为 1 说明这 M 条路径需要相互链路分离;

  —N标志位:节点分离标志位,值为 1 说明这 M 条路径需要相互节点分离;

  —S标志位:SRLG分离标志位,值为 1 说明这 M 条路径需要相互 SRLG分离。

  请求编号 #1~#请求编号 M(Request-ID-number # 1~Request-ID-number # M):指示 M 条路

  径计算请求。

  6 . 3 . 5 . 3 OF对象

  OF对象的 Object-Class 为 21 , Object-Type 为 1。格式如图 24 所示。

  0 1 2 3

  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

  图 24 OF对象格式

  图 24 中:

  — 目标函数编码(OF Code, 16 个比特):与 OF-List TLV 中定义的 OF Code 的含义相同;

  —Reserved(16 个比特):应为 0,接收端忽略该字段;

  — Optional TLV:目前未定义。

  6 . 3 . 5 . 4 通用约束(GC)对象

  GC对象主要用于全局优化路径计算时,指定全局的约束条件。 GC 对象的 Object-Class 为 24 , Object-Type 为 1。格式如图 25 所示。

  GB/T 21645 . 1 1—20 17

  0 1 2 3

  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

  图 25 GC对象格式

  图 25 中:

  —MH(8 个比特):指定每条路径的最大跳数;

  —MU(8 个比特):指定每条链路的资源利用率的上限(0~100),链路的资源利用率等于链路已分配带宽除以链路的容量;

  —mU(8 个比特):指定每条链路的资源利用率的下限(0~100) ;

  — OB(8 个比特):超额预留百分比,即每条链路可以超额预留资源的百分比。 例如,假设某链路的容量为 100 M,指定的 OB= 10 , 即可以超额预留 10%, 则在该链路中可以预留 110 M 的资源。

  6 . 3 . 5 . 5 排除路由(XRO)对象

  XRO对象用于 PCC在 PCReq消息中指定路径的排除资源。 PCE在计算路径的时候,需要排除 XRO对象中指定的资源。XRO对象的 Object-Class为 17, Object-Type 为 1。XRO 的格式如图 26 所示。

  0 1 2 3

  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

  图 26 XRO对象格式

  图 26 中:

  — 预留(Reserved, 16 个比特):预留位,应填 0,接收时忽略该字段;

  — 标志位(Flags, 16 个比特):标志位,目前只定义了一个标志位 F。 F 标志位表示 PCC 是否在请求 PCE计算出现故障的 LSP 的重路由路径。 如果 F标志位为 1, PCC应在 PCReq 消息中携带 RRO对象,用于指示 LSP 的现有路径。 在 XRO对象中,排除故障资源;

  — 子对象:XRO对象有一个或多个子对象组成。 接收到没有子对象的 XRO 对象时,应忽略该对象。 每个子对象都包含一个 X标志位,X标志位为 0 表示应排除该子对象指定的资源,X标志位为 1 表示尽量排除该子对象指定的资源。 本部分所定义的子对象见表 2 。

  表 2 XRO子对象定义

  GB/T 21645 . 1 1—20 17

  各子对象的格式分别为:

  —IPv4 前缀子对象格式如图 27 所示;

  — 无编号接口子对象格式如图 28 所示;

  —AS编号子对象格式如图 29 所示;

  —SRLG子对象格式如图 30 所示。

  0 1 2 3

  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

  图 27 IPv4 前缀子对象

  0 1 2 3

  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

  图 28 无编号接口子对象格式

  0 1 2 3

  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

  图 29 AS编号子对象

  0 1 2 3

  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

  图 30 SRLG子对象

  图 30 中,排除类型(Attribute, 8 个比特)是指定的排除类型,定义了以下类型:

  — 0:接口,表示该子对象指定的是排除接口信息;

  — 1:节点,表示该子对象指定的是排除节点信息;

  — 2: SRLG,表示该子对象指定的是排除的 SRLG信息。

  6 . 3 . 5 . 6 度量值列表对象

  度量值对象是可选对象,可以应用于以下场景:

  a) PCC可以在 PCReq消息中携带度量值对象:

  — 指定 PCE计算的路径在哪一方面应是最优的;

  — 指定可接受的代价范围。

  GB/T 21645 . 1 1—20 17

  b ) 在 PCRep 消息中,可以携带度量值对象,用于指示计算得到的路径的代价。 在计算路径失败时,还可以和 NO-PATH 对象一起,在 PCRep 消息中携带度量值对象,用于指示不能满足的约束。

  度量值对象的 Object-Class 为 6, Object-Type 为 1。格式如图 31 所示。

  0 1 2 3

  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

  图 3 1 度量值对象格式

  图 31 中:

  — 预留(Reserved, 16 个比特):应为 0,接收端忽略该字段;

  —T(8 个比特):指定度量值的类型,目前定义了七种类型(1~3 为应用于单条路径计算,4~7 应用于批量路径计算):

  ● T= 1 : IGP 度量值;

  ● T = 2 : TE 度量值;

  ● T=3 : Hop Counts;

  ● T=4:带宽消耗总和;

  ● T=5:最大负载链路的负载;

  ● T = 6 : IGP 度量值总和;

  ● T = 7 : TE 度量值总和。

  — 标志位(Flags, 8 个比特):目前定义了两个标志位:

  ● B(1 个比特):如果设置为 1,则表示 metric-value 为路径度量值的界限,即可接受的最大值 。PCE计算出来的路径的度量值的最大值不能超过 metric-value 字段指定的值。 如果为 0,则没有上述约束条件。

  ● C(1 个比特):如果在 PCReq 消息中设置为 1,则指示 PCE在 PCRep 消息中返回路径时应同时返回该路径的度量值。

  ● 其他未定义的 Flags位应为 0,且接收端忽略这些位。

  — 度量值(32 个比特):以 IEEE 浮点数格式编码。

  —PCE如果计算路径成功,且路径计算请求中指定需要返回路径的度量值,则在 PCRep 消息中,应携带 METRIC对象,在 metric-value指定路径的度量值。 B 标志位的值与 PCReq 消息中相同,C标志位在 PCRep 消息中无意义。

  6 . 3 . 5 . 7 请求参数(RP)对象

  PCReq 消息和 PCRep 消息中应携带 RP 对象,PCNtf 消息和 PCErr 消息也可以携带 RP 对象。 RP对象用于指定路径计算请求的特征。 PCReq 消息和 PCRep 消息中,RP 对象头部的 P 标志位应设置为 1,而 PCNtf 消息和 PCErr 消息中,RP对象头部的 P 标志位应为 0 。如果接收到不符合上述要求的 RP对象,应发送 PCErr 消息给对端。 PCE 忽略相应的路径计算请求。 RP 对象的 Object-Class 为 2, Object-Type 为 1。格式如图 32 所示。

  GB/T 21645 . 1 1—20 17

  0 1 2 3

  0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1

  图 32 RP对象格式

  图 32 中:

  — 标志位(32 个比特),目前定义了以下标志位:

  ● Pri( 3 个比特):路径计算请求的优先级。 优先级从 1~7,值越大优先级越高。 如果设置为0,则说明未指定该请求的优先级。 需要注意的是,PCE 不是应支持路径计算请求的优先级 。在 PCE不支持的情况下,建议 PCC设置 Pri值为 0 。如果 PCE 在计算路径时未考虑请求的优先级,则建议在返回给 PCC 的 PCRep 消息中的 RP 对象中设置 Pri 为 0 。PCC可以 自动发现 PCE是否具有区分请求优先级计算的能力。 如果没有 自动发现功能,则通过 PCE返回的 PCRep 消息中 RP对象的 Pri值可以获悉 PCE是否具有该能力。

  ● R(1 个比特):路径重优化标志位。 如果该标志位为 1,则说明 PCC 请求 PCE 计算现有TE LSP 的重优化路径。 除非是 0 带宽的 LSP,其他 LSP 路径的重优化请求中,应携带RRO对象,指示 TE LSP 的当前路径;以及两个 BANDWIDTH 对象,分别用于指定 TE LSP 的当前带宽,以及优化的请求带宽。

  ● B(1 个比特):双向标志位。 如果设置为 1,表示 PCC请求 PCE 计算双向一致的路径;否则,表示 PCC请求 PCE计算单向路径。

  ● O(1 个比特):松散标志位。 在 PCReq 消息中,如果设置为 1,表示 PCC 可以接受松散路径;否则,应提供严格路径。 在 PCRep 消息中,如果设置为 1,表明路径是松散的;否则,表明路径是严格的。

  ● F(1 个比特):目标函数标志位。 在 PCReq 消息中,如果设置为 1,表示 PCC需要知道 PCE计算路径的目标函数信息。

  ● M(1 个比特):先建后拆标志位。 在 PCReq 消息中,如果设置为 1,表示优化该路径需要满足先建后拆的约束。

  ● D(1 个比特):顺序标志位。 在 PCReq 消息中,如果设置为 1,表示 PCE 需要在 PCRep 消息中指定相应路径的建立、删除顺序。

  ● 其他预留的标志位应设置为 0 。

  — 请求编号(32 个比特):该字段,结合 PCC 的 IP 地址、PCE 的 IP 地址,唯一区分一个路径计算请求。 用于区分不同的路径计算请求,每次以 1 为单位递增。 0 是非法值。 包含以下几种情况:

  ● 如果 PCE 收到一条没有 RP对象的 PCReq 消息,则 PCE应返回 PCErr 消息,错误类型为“丢失必选参数”,错误值为“RP对象丢失”。

  ● PCE接收的 PCReq 消息中的 RP对象的 F 标志位为 1 的 PCReq 消息时,如果策略允许,则在 PCRep 消息中携带 OF对象,指示路径计算的目标函数;否则,应返回 PCErr 消息给 PCC,指示策略不允许告之路径计算的目标函数。

  GB/T 21645 . 1 1—20 17

  ● 如果 PCE 收到的 PCReq 消息中的 RP对象的 O标志位被设置为 0,但是 PCE本地配置策略不允许提供严格的显式路径(例如,在有保密性要求的情况下),则 PCE 应发送 PCErr消息给 PCC,错误类型为“策略冲突”,错误值为“O标志位为 0 ”。

  ● 如果 PCE 收到的 PCReq 消息中的 RP对象的 R标志位被设置为 1,则表明 PCC请求计算现有 TE LSP 的优化路径。 如果是非 0 带宽的 LSP,则 PCC还应利用 RRO对象提供现有LSP 的松散或严格路径;否则,PCE 应返回 PCErr 消息给 PCC,错误类型为“丢失必选参数”,错误值为“RRO对象丢失”。

  ● 如 果 PCC 或 PCE 收 到 的 PCRep 或 PCReq 消 息 中 包 含 未 知 或 非

29141066729
下载排行 | 下载帮助 | 下载声明 | 信息反馈 | 网站地图  360book | 联系我们谢谢