mpls协议族中rsvpte协议.docx
- 文档编号:5617256
- 上传时间:2022-12-29
- 格式:DOCX
- 页数:6
- 大小:20.97KB
mpls协议族中rsvpte协议.docx
《mpls协议族中rsvpte协议.docx》由会员分享,可在线阅读,更多相关《mpls协议族中rsvpte协议.docx(6页珍藏版)》请在冰豆网上搜索。
mpls协议族中rsvpte协议
竭诚为您提供优质文档/双击可除
mpls协议族中rsvp-te协议
篇一:
mplsteRsVp工作原理详解实战手册
在文档开始之前,我认为mplste的信令协议是有必要知道的。
RsVp-te
--协议本身比较成熟,已经规模应用。
--基于软状态,扩展性比较差。
cd-ldp
--协议比较新,不太成熟,基本没有应用。
--基于硬状态,扩展性比较好。
但是,最终还是市场来决定,RsVp因为先把茅坑占了,所以,一说到mplste,大多数厂商都支持RsVp-te.很少厂商支持cd-ldp协议。
貌似,RsVp-te已经是一个业内的标准了。
所以学习mplste有必要了解RsVp的运作。
RsVp的相关知识点有下面几点:
■RsVp基础
■RsVp分组
■RsVp操作
■现实世界中的RsVp.
RsVp协议类型是46,虽然把RsVp封装在udp中是又可能的,但是mplste从来不会把RsVp封装在udp中。
RsVp是拿来做什么的?
我们都知道标签分发有几种方式:
mplsldp/tdp,这个是标准,用来分发mpls标签的协议。
RsVp,用于mplste中的标签分发。
和ldp工作没有交集。
还有一个就是bgp对vrf路由的标签分发。
RsVp不是路由协议,任何路由决定都是igp和cspF做出的决定.(如果cspF还有疑问,请参考
RsVp有三种基本的功能:
■路径的建立和维护
■路径拆除
■错误通告。
RsVp的主要消息类型如下:
一共有7类是主要应用。
关于RsVp信令的建立,简单说来,就2个步骤,原始节点向目的Router发送RsVppath消息,然后目的路由器收到path请求以后,向原始节点回复一个ResV.那么,一个te隧道就建立成功了。
根据ericosborneccie4122的著作mplste流量工程中所描述的,这里我们来看一个RsVp是如何建立一条通路的。
下面就是一条路径建立的详细过程:
■在隧道首端完成cspF的路径计算
■路径计算好了,首端节点向目的节点通过下一跳发送RsVppath请求。
■收到path请求的下游路由器会首先检查报文格式是否正确,然后检查path消息中的预留申请的带宽。
该过程叫准入控制。
■当准入控制成功以后,那么下游路由器会产生一个新的path请求,然后发送给通往目的路由节点的下一跳again。
直到发送到最后一个节点。
也就是mplste隧道尾端的最后一个路由器。
■末节点路由器当收到了上游的path请求以后会回复RsVpResv消息进行回应。
也是一跳一跳的,逐跳反馈到原始节点。
这里再Resv报文中,不仅仅是对上游路由器的一个ack回应,也包含了上游路由器沿telsp向尾端发送分组所用的标签。
说了那么多,来两个实际的例子:
在这里一共有10个步骤,在这个例子中,假设R1已经完成了cspF路径的计算,并且知道它需要沿路径
R1->R2->R3->R5->R6->R7保留带宽。
第一步:
R1向R2发送RsVppath请求,R2收到这个报文后,检查报文格式语法上是正确的,然后检查te链路管理器,确定R1请求的带宽实际可用(实际上就是在R2上面进行比较iprsvpbandwidth带宽,只要送过来的请求小于物理的rsvp分配的带宽,就算通过.第二步:
R2向R3发送path,R3对path消息进行同样的验证。
第三步:
R3向R5发送path,R5对path消息进行同样的验证。
第四步:
R5向R6发送path,R6对path消息进行同样的验证。
第五步:
R6向R7发送path,R7对path消息进行同样的验证。
第六步:
R7因为是末节点,所以会返回一个显式空标签给R6.
第七步:
R6发送一个Rsve给R5,分发标签为42.
第八步:
R5向R3发送Rsve,分发标签100.第九步:
R3向R2发送Rsve,分发标签21.第十步:
R2向R1发送Rsve,分发标签18.有了上面对于RsVp的说明,那么我们再进行逆向思维思考一下,根据这个原理,请求方发送rsvppath给下游路由器,下游路由器就要比较预留带宽和回应Rsve,进行标签的分发。
对应在设备的配置上面,至少应该做下面的事情:
在路径上的每台路由器接口上面,都应该把mplsip,mplsldp,iprsvpbandwidthxxx,mplstraffic-engtunnel都打开。
因为每个接口都要进行预留带宽的比较,如果没有配置如何进行比较呢?
如果rsvp交互不成功,那么te隧道如何能建立起来呢?
这就是为什么要再所有路由器上把相关流量工程的配置都加上去了。
对于mplste配置感兴趣的同学可以参考一下:
mplste流量工程路径选择原理和配置模板forcisco.
如果有了上面的原理概念以后,下面就是一个具体的信令交互图了.
如果从信令的交互的角度来讲,下面是我整合的信令交互的步骤:
这里如果认真阅读报文交互内容,我们会发现,R1发送RsVppath到R3的loopback0,请求te的建立。
然后R3逐一给R2,R2给R1进行RsVp的标签分配。
实际上RsVp分组我没有细看,报文格式比较复杂,而且种类繁多。
我只能暂时先坐一个原理性了解。
以后有空再慢慢深入。
到现在为止,详细的原理已经有一堆了,但是真正的实际动手实验还没有做。
下面有一些命令,至少,需要很熟悉的应用,才对得起已经学习的那么久的RsVp的原理:
showiprsvpcountersshowiprsvpinterface
showiprsvpneighborshowiprsvpreservationshowiprsvpcounters,该命令显示了路由器启动时,在每一个接口上已经产生的RsVp消息类型的统计.
篇二:
mplste的基本架构
mplste的基本架构
mplste的结构图
mplste的结构如图1-1所示。
图1-1mplste组件
mplste功能需要如下四个组件:
信息发布组件;错误!
未找到引用源。
;信令组件;报文转发组件信息发布组件
除了网络的拓扑信息外,流量工程还需要知道网络的负载信息。
为此,mplste引入信息发布组件,即通过对现有的igp进行扩展,比如在is-is协议中引入新的tlV,或者在ospF中引入新的lsa,来发布链路状态信息,包括最大链路带宽、最大可预留带宽、当前预留带宽、链路颜色等。
通过igp扩展,在每个路由器上,维护网络
的链路属性和拓扑属性,形成流量工程数据库tedb。
利用tedb,可以计算出满足各种约束的路径。
扩展后的ospF和is-is协议在链路连接状态中增加了链路带宽、着色等te相关属性,其中,链路的最大可预留带宽和每个优先级的链路未被预留带宽尤为重要。
每台路由器收集本区域所有路由器每条链路的te相关信息,生成流量工程数据库tedb(tedatabase)。
通过信息发布组件形成tedb后,在每个入口路由器上可以指定lsp隧道经过的路径。
这种显示路由可以是严格的,也可以是松散的。
可以指定必须经过某个路由器,或者不经过某个路由器,可以逐跳指定,也可以指定部分跳。
此外,还可以指定带宽等约束条件。
路径选择组件是通过cspF(constraintshortestpathFirst)算法,利用tedb中的数据来计算满足指定约束的路径的。
cspF算法由最短路径优先算法演变而来,它首先在当前拓扑结构中删除不满足条件的节点和链路,然后再通过spF(shortestpathFirst)算法来计算。
使用链路状态算法的路由协议通过最短路径优先算法spF计算出到达网络各个节点的最短路径。
mplste使用基于约束的最短路径优先算法cspF(constraintshortestpathFirst)计算出到达某个节点的最短路径。
信令组件
在获得从lsp的入口到lsp出口的最短路径后,需要建立te隧道用于转发从lsp入口进入的流量。
这一过程是通过信令组件来完成的。
建立lsp隧道的两种信令
VRp支持使用如下的两种信令建立lsp隧道:
cR-ldp;RsVp-te
两种信令都能够携带lsp的带宽、部分显式路由、着色等约束参数,两者完成的功能是一样的。
通过信令动态地建立lsp隧道可以避免逐跳配置的麻烦。
普通的不带约束的lsp隧道可以通过ldp协议来建立。
而带约束的lsp隧道的建立则可以通过cR-ldp协议,或者RsVp-te协议来完成。
为了能够建立lsp隧道,对RsVp协议进行了扩展,在RsVppath消息中引入labelRequest对象,支持发起标签请求;在RsVpResV消息中引入label对象支持标签分配。
这样就可以建立lsp隧道了。
此外RsVp还通过扩展对象支持mplste相关的属性。
cR-ldp协议在ldp协议的基础上进行扩展,通过引入新的tlV同样支持mplste的相关属性,如显式路径、带宽、亲和属性、优先级与抢占等。
1.两种信令的比较
扩展RsVp与cR-ldp信令系统都能够达到流量工程的基本要求,同时,它们二者可以说是各有优势,各有缺点。
下面从技术的成熟性和可扩展性方面重点比较了这两项技术:
2.技术的成熟性
RsVp技术已经经历了多年的发展,其体系结构、协议规程与对各种业务的支持机制也已经十分成熟。
该技术在一定范围内获得了应用,实际应用的经验使其技术不断完善,性能日趋可靠稳定。
相对于RsVp,cR-ldp是一种较新的技术,其协议在很多方面功能还十分简单,有待进一步的完善。
而且这种技术目前还没有获得大规模的部署,其实际应用经验远不如RsVp丰富。
3.网络的可扩展性
可扩展性是mpls网络最为关心的问题。
所谓网络的可扩展性是指当网络中的节点与用户数量增加时,网络在稳定性与传输性能方面表现出来的适应能力。
RsVp-te通过Rawip建立lsp连接,采用软状态技术,当网络的节点数与需要建立的lsp数增加时,由于要对各条路径的状态进行刷新,刷新消息的数量将等比增加,最终将导致网络可扩展性的恶化。
cR-ldp通过tcp建立lsp,使用的是一种简单的“硬状态”机制。
这种硬状态机制使得该技术对于网络节点数量的增加表现出很强的可扩展性。
从cR-ldp的规程可以看出,它对标准ldp的改动很小,对消息与各种状态的处理十分简单,而且所需的消息数量很少,对于网络的运算资源的要求并不高。
cR-ldp的管理,故障检测与分析过程都将是十分简单的。
报文转发组件
mplste报文转发组件是基于标签的,通过标签沿着预先建立好的lsp进行报文转发。
由于lsp隧道的路径是可以指定的,因而可以避免igp的弊端。
篇三:
mplste学习总结
mpls-te学习总结
在介绍mpls-te之前先简单介绍下te。
te(trafficengine)即流量工程,用于对网络上的流量进行规划管理,将流量合理分配在现有的网络资源中,以达到充分利用网络资源的目的。
mpls-te即在mpls网络上部署的流量工程。
因此,te并不是mpls产物,而mpls只是实现te的一种方式。
另外,mpls-te也不是qos:
mpls-te只是将流量合理的分配到现有的网络资源中,mpls-te本身并不提供qos机制,如果规划的不合理,mpls-te也并不能合理分配流量。
首先从协议层面介绍下mpls-te工作的流程。
目前mpls-te使用的协议信令包括两种:
RsVp-te
RsVp(资源预留协议)是网络上进行资源预留的控制协议。
它不是路由协议,与路由协议协同工作,建立与路由协议计算出路由等价的动态访问列表。
RsVp-te已经在现有网络中规模应用,比较成熟。
基于软状态,需要周期性更新状态信息。
cR-ldp
cR-ldp(constrained-basedRoutingldp,基于限制路由的标签分发协议[rfc3212])是对ldp协议的扩展,用于对流量工程进行支持。
此协议比较新,目前使用较少,cR-ldp是基于硬状态的,不需要周期性的维护状态信息。
由于目前对cR-ldp了解比较少,因此本文只重点介绍RsVp-te的工作过程。
RsVp主要用于建立mpls-te隧道,负责分发mpls-te标签的分发。
RsVp不是路由协议(与ospF、isis、Rip等不同)不能根据网络拓扑生成路由,其唯一的工作就是通告和维护网络中的保留资源。
mplste中,RsVp在控制平面层保留带宽,所以没有对流量的转发平面上做任何控制。
RsVp的有三种基本功能:
RsVp信令的消息类型包括:
资源预留路径的建立和维护;资源预留路径的拆除;资源预留路径上的错误通告。
path:
用来建立和维护预留路径;Resv:
响应path消息,用来建立和维护预留路径;pathtear:
结构与path类似,用来在网络中删除预留;Resvtear:
结构与Resv类似,用来在网络中删除预留;
patherr:
接受到错误的path消息后发送;Resverr:
接受到错误的Resv消息后发送;hello:
RsVp-te的扩展,用于邻居间状态的快速检测。
关于RsVp信令的建立,简单说来,就2个步骤,原始节点向目的Router发送RsVppath消息,然后目的路由器收到path请求以后,向原始节点回复一个ResV.那么,一个te隧道就建立成功了。
中间如果发生错误,则会触发err消息的发送。
下面便以一个实际的组网来介绍RsVp建立资源预留路径的过程:
(1)在RsVp-te隧道的首端完成cspF的路径计算。
cspF(constrainedshorestpathFirst,约束的最短路径优先)是mplste路径选择的核心,与spF(ospF、isis协议使用的就是spF算法)类似,只是在计算最优路径时把预留带宽也考虑进来。
需要注意的是,在spF中到同一目的地可以有很多跳代价相同的路径,但cspF并不是要计算到一个目的地的所有可能路径,而是对于一个目的地只有一条路径,如果遇到了具有相同消耗的等价路径时cspF需要进行一个仲裁,从中选出一条路径作为最终计算的结果。
前面已经说了RsVp不是路由生成协议,因此cspF路径的计算需要借助于基于状态信息的路由协议(ospg、isis等)生成的路由信息。
(2)cspF路径计算好以后,首端节点会向路径上的下一跳路由器发送RsVppath请求。
(3)收到path请求的下游路由器会首先检查报文格式是否正确,然后检查path消息中的预留申请的带宽是否小于入端口上配置的预留带宽,只有申请的预留带宽小于实际物理预留带宽才允许通过,该过程叫准入控制。
(4)当准入控制成功以后,那么下游路由器会产生一个新的path请求,然后发送给通往目的路由节点的下一跳。
(5)重复步骤4,直到发送到最后一个节点,也就是mplste隧道尾端的最后一个路由器。
(6)末节点路由器当收到了上游的path请求以后会回复RsVpResv消息进行回应,也是一跳一跳的沿着原路径反馈到原始节点。
在Resv报文中,不仅仅是对上游路由器的一个ack回应,也包含了上游路由器沿RsVp-te向尾端发送报文所用的标签。
(7)当首节点收到RsVpResv消息以后,便完成RsVp-te隧道的建立了。
mpls-te隧道的配置请参考配置手册,mpls-te隧道包括动态隧道和静态隧道。
下面简单介绍下转发面的处理流程:
当ip报文查路由表以后发现出口是te隧道时,则查继续te转发表,根据te转发表的信息在ip报文前面封装te标签,然后走te转发。
如果使能了标签的倒数第二跳弹出机制,则在距离te隧道出口的倒数第二跳路由器上会弹出te标签(如果te出口给上有路
由器分发的不是3标签或是静态配置非3标签,则不会在倒数第二跳弹出te标签)。
前面已经说过RsVp负责mpls-te隧道标签的分发,与ldp的工作没有交集,因此te隧道可以作为ldp的下一跳。
考虑下图所示的组网情况,R1与R5代表网络边缘路由器,不支持te功能,而R2、R3与R4代表络核心部分,之间不使能ldp,只通过RsVp建立mpls-te双向隧道。
R1与R2、R5与R4建立ldpsession,而R2和R4之间通过双向的te隧道建立ldpsession或者targetldpsession。
由于ldpsession有直连session和targetsession之分,这样对应对te隧道的处理略有不同,在直连session的方式下,te隧道配置mplsip,将其作为一个普通的ldp接口;在targetsession的方式下,te隧道不用配置mplsip,只用在全局下建立targetsession的配置即可。
测试组网图:
[源主机]——R1———R2———R3———R4———R5——[目的主机]
lsp建立过程为:
假定所有的协议配置已完成。
由于目的主机与R5直连,则R5给R4分配的ldp标签为3标签。
由于R4与R3之间建立的是te隧道,并且R3是隧道的倒数第二跳,因此R4分配给R3的RsVp标签为3标签。
R3分配给R2的RsVp标签为lx。
R2与R4之间建立targetldpsession,则R4回给R2分配ldp标签l1。
R2给R1分配ldp标签l2。
报文从R1向R5转发。
在R1上被打上一层标签l2,然后发往R2。
R2上先进行ldp的标签交换,剥掉标签l2再封装标签l1,同时发现是te隧道出口,则还再追封一层RsVp标签lx(此时报文携带两层标签,内层为ldp标签l1,外层为RsVp标签lx),然后将报文发往R3。
由于R3是te隧道的倒数第二跳,则弹出外层RsVp标签将报文发往R4。
R4收到的报文只带ldp标签l1,由于R4又是ldp域的倒数第二跳,因此弹出外出ldp标签l1然后将报文转发给R5。
R5上收到的是一个不带任何标签的报文,报文在R5上查路由表获取到达目的主机的转发信息。
附:
标签的分发包括三种方式:
mplsldp:
用于分发mpls转发标签;RsVp:
用于mpls-te标签的分发,和ldp工作没有交集;bgp:
用于对VRF路由标签的分发。
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- mpls 协议 rsvpte