pcep协议什么意思_PCEP – magnate3 – 博客园[通俗易懂]

pcep协议什么意思_PCEP – magnate3 – 博客园[通俗易懂]PCEP是什么PCEP的全称是PathComputationElementCommunicationProtocol,直译过来就是路径计算单元通信协议。简单概括就是一个通信协议,基于TCP的应用层协议,具体用来干什么,会在下面逐步介绍。PCEP的发展曲线PCEP最初是想将路由器上的CSPF功能抽取出来,实现一个集中算路的能力,最初的时候是不温不火的;后面随着SDN大热,PCEP由于具备下发…

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE使用 1年只要46元 售后保障 童叟无欺

PCEP是什么

PCEP的全称是Path Computation Element Communication Protocol,直译过来就是路径计算单元通信协议。简单概括就是一个通信协议,基于TCP的应用层协议,具体用来干什么,会在下面逐步介绍。

PCEP的发展曲线

PCEP最初是想将路由器上的CSPF功能抽取出来,实现一个集中算路的能力,最初的时候是不温不火的;后面随着SDN大热,PCEP由于具备下发路径的能力,就被人拿出来说这不就是SDN嘛,PCEP红红火火了两年;随着SDN的降温,近几年PCEP又处于不温不火的状态了。

PCEP在发展过程中有几个关键的变更点:

最初的状态是Stateless PCE

之后演进为Stateful PCE,其中Stateful PCE又分为Passive Stateful PCE和Active Stateful PCE

如今又进化为PCE-Initiated 下面会分别介绍这几个关键的特性。

PCEP的诞生

最初PCEP的工作组是为了实现RSVP-TE的路径计算和路径建立功能的分离,之前的RSVP-TE的路径计算都在路由器上,是一个分布式路径计算的系统;考虑到在网络中增加一个路径计算的服务器节点,为所有路由器上的RSVP-TE进行路径计算,从而可以做到集中算路,这样就要求路由器和算路服务器之间通信有一个协议,于是PCEP应运而生。

pcep协议什么意思_PCEP - magnate3 - 博客园[通俗易懂]PCEP通信架构示意

如上图是PCEP通信架构示意,其中PCE(Path Computation Element)是算路服务器,PCC(Path Computation Client)是算路请求客户端,路径计算通过PCEP协议在PCE和PCC之间完成,而路径建立是由路由器之间通过RSVP信令协议完成,这也是一个转控分离的原始形态。详细内容请参考标准A Path Computation Element (PCE)-Based Architecture

Stateless PCE

最初的PCE相当于一个集中的CSPF(Constrained Shortest Path First)算路能力,这里之所以称为无状态是相对于LSP的,是指PCE并不记录每条LSP的路径和状态,PCE每次收到一条LSP的路径计算请求,会根据当前网络资源状态进行计算,计算完成后会将结果返回给请求者,不会记录和LSP相关的任何信息。

Stateful PCE

Stateful是相对Stateless的。所谓有状态,顾名思义是PCE保存了LSP的路径和状态信息,因此从PCE上即可获取网络中LSP的所有信息。标准PCEP Extensions for Stateful PCE在之前的协议上进行了扩展,定义了Stateful PCE和相关消息。

在标准中又定义了两种不同的模式:Passive Stateful PCE和Active Stateful PCE,这里的被动和主动是区分PCE在网络中承担了不同的作用:

Passive Stateful PCE

Passive是指LSP的控制者是属于PCC路由器的,PCE只提供路径计算的服务,每次算路都是由PCC发起,PCE虽然可以看到LSP的路径和状态,但无法主动变更LSP的路径和状态:

pcep协议什么意思_PCEP - magnate3 - 博客园[通俗易懂]Passive Stateful PCE请求/应答示意

Actice Stateful PCE

与Passive Stateful PCE相反,在Active Stateful PCE中,PCC将LSP的控制权完全上交给PCE,什么时候发起算路,以及什么时候出发LSP的路径和状态变更取决于PCE,从这里可以看出,Active Stateful PCE具备更强的控制器能力,与SDN的概念更加贴合了:

pcep协议什么意思_PCEP - magnate3 - 博客园[通俗易懂]Active Stateful PCE交互示意

PCE-Initiated

在聊这个概念之前,先聊一下RSVP-TE LSP是怎么生成的,所有的设备厂商都一样,在设备上配置一条RSVP-TE Tunnel后就会生成相应的LSP信息,所以可以认为之前的RSVP-TE LSP都是配置生成的。因此PCE-Initiated提出了一种PCE-Initiated LSP,即不通过配置下发,而通过一个PCEP的消息创建RSVP-TE LSP,相关标准参考PCEP Extensions for PCE-Initiated LSP Setup in a Stateful PCE Model:

pcep协议什么意思_PCEP - magnate3 - 博客园[通俗易懂]PCE-Initiated LSP生命周期

PCEP其他扩展

Segment Routing扩展

其他还有一些基于PCEP for SR的扩展,如绑定标签(Binding SID)或者路径标签(Path SID),感兴趣者可以自己研究一下。

保护路径扩展

相对于保护关联组,还有基于正反向LSP关联组的扩展,感兴趣者也可以自己研究。

PCEP的应用场景和前景

以下仅为个人看法:

PCEP的优点是相对于网络配置协议(Netconf)而言的,具备设备形态无关性、高性能的特点。但是由于该协议是基于RSVP-TE LSP诞生的,所以带着一定的局限性:作为一个异步有状态协议,使整个系统变得更下复杂,从实际的实现上也可以看出PCEP在多厂家设备间的互通性是非常差的。因此,PCEP适用于单厂商设备的同构网络。另外,PCEP这种将控制器作为服务端的通信架构不太符合SDN的理念,上层控制器如果想做负载分担或者异地保护,还需要一个单独的南向反向代理服务,在面对大规模网络时压力会很大。

对于PCEP的前景是不太看好的,因为有更多的无状态协议可以替代它,如BGP、gRPC等等。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/196238.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)
blank

相关推荐

  • es7学习笔记 cpu负载不均衡、超长fullGC、大量400报错[通俗易懂]

    es7学习笔记 cpu负载不均衡、超长fullGC、大量400报错[通俗易懂]ElasticSearch负载不均衡现象:往es7集群中推数时,发生如下情况接口出现很多400 发现集群中某台机器cpu被怼爆 发生fullGC产生400报错的原因是es7做了熔断优化,当jvm内存使用超过阈值,为了避免丑陋的oom,会直接限流并抛出EsRejectedExecutionException。我们强硬的关掉了这个配置,因为我们的推数有失败重试。产生fullGC是因为一个bulk批处理的数据量太大,我们一个文档1.5M,800个文档作为一批,两个线程并行推,jvm内

  • MessageDigest用法[通俗易懂]

    MessageDigest用法[通俗易懂]为什么要使用MessageDigest?某些金融行业用于进行简单的密码加密。例如:需求某银行对数据库账户取款密码加密。为了保护客户信息的安全,客户取款密码只能客户自己知道,银行方面对此加密,加密后数据保存的数据库。此时可以用MessageDigest进行加密,以及后续其他方案再次加密。MessageDigest是什么?java.security.MessageDigest类…

  • java对象转map_java中实现map与对象相互转换的几种实现

    java对象转map_java中实现map与对象相互转换的几种实现最近,研究map与java对象之间的相互转换,总结了5种方法:第一种:使用org.apache.commons.beanutils转换用到的主要jar包:commons-beanutils-1.9.3.jar//map转java对象publicstaticObjectmapToObject(Mapmap,Class>beanClass)throwsException{if(…

  • Jmm内存模型_java jvm内存模型

    Jmm内存模型_java jvm内存模型JMM(Java内存模型)源于物理机器CPU架构的内存模型,最初用于解决MP(多处理器架构)系统中的缓存一致性问题,而JVM为了屏蔽各个硬件平台和操作系统对内存访问机制的差异化,提出了JMM的概念。Java内存模型是一种虚拟机规范,JMM规范了Java虚拟机与计算机内存是如何协同工作的:规定了一个线程如何和何时可以看到由其他线程修改过后的共享变量的值,以及在必须时如何同步的访问共享变量。通过这种方式来保证多线程下变量的缓存一致性问题,下图是一个CPU多级缓存图:Java内存模型(JavaMemoryM

  • js 除法取整数、取余数的方法

    js 除法取整数、取余数的方法**js除法取整数、取余数的方法取整1.取整//丢弃小数部分,保留整数部分parseInt(5/2)  //22.向上取整//向上取整,有小数就整数部分加1Math.ceil(5/2)  //33.向下取整//向下取整,丢弃小数部分Math.floor(5/2)  //24四舍五入//四舍五入Math.round(5/2)  //3取余//取余6%4  //**…

  • 根据bak还原数据库,备份集中的数据库与现有数据库“XXX”数据库不同

    根据bak还原数据库,备份集中的数据库与现有数据库“XXX”数据库不同在做数据库相关的日常工作中,还原与备份数据库会经常遇到,有时候同样的sql2008备份的数据库,从别人那边备份的数据库文件,在自己的电脑上还原会出现:的错误。解决方法有两种:第一种:右键数据库点击还原数据库,填上需要还原的数据库名,就可以直接还原了。第二种:在新建的数据库上还原数据库时,选好备份文件后,勾选上覆盖现有数据库即可。原文地址:https://blog.csdn.net/sushena/…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号