MPLS TE流量工程笔记Word文档格式.docx
《MPLS TE流量工程笔记Word文档格式.docx》由会员分享,可在线阅读,更多相关《MPLS TE流量工程笔记Word文档格式.docx(16页珍藏版)》请在冰点文库上搜索。
te隧道。
TE
隧道是单向的(因为LSP是单向的),只需要在首端路由器上配置即可。
TE隧道必须要有信号穿越。
二、
MPLS
TE的实施
TE正常工作的必要条件:
链路的限制(每条链路支持的最大流量和链路所能使用的TE隧道);
TE信息分发(通过启动了MPLS
TE的链路状态路由协议来实现);
一种用来计算从首端LSR到尾端LSR的最优路径算法(PCALC或者CSPF)
一种用户在穿越网络的TE隧道中发信号的信令协议(CR-LDP或者RSVP)
将流量转发至TE隧道。
TE的简要建立步骤:
定义mpls
te资源信息。
●∙TE度量值
●∙最大带宽
●∙最大可预留带宽
●∙不可预留带宽
●∙管理组
使用动态路由协议的扩展来通告TE资源信息(OSPF、ISIS)。
路由器会根据动态路由协议发送的TE信息构建一个TE数据库。
使用路径算法(CSPF、PCALC)来计算TE数据库,路径算法会匹配满足TE隧道资源限制的所有路径,从中选出最短的一条显式路径。
(在首端路由器上进行)。
标签分发、构建TE
LSP(RSVP)。
首端路由器发送rsvp
path消息沿着步骤3中计算出来的路径直到尾端路由器(带标签请求),尾端路由器回复rsvp
resv
延原路返回构建便签映射和资源预留。
使用TE隧道来转发流量。
(可根据静态路由、动态发布、路由策略等将流量引入MPLS
TE隧道)。
TE资源信息:
(均在接口下配置,也就是为了mpls
隧道的路径选择设置匹配条件)
●∙TE度量值:
CSPF在计算TE隧道路径时所使用的度量值。
默认情况下,TE使用IGP的度量值,但是如果在接口上配置了TE
度量值,则优先TE度量值。
●∙最大带宽:
TE隧道可以使用的带宽上限值(通常是接口带宽)。
●∙最大可预留带宽:
能够分配给TE隧道的带宽。
●∙不可预留带宽:
是提供给TE隧道后剩下的带宽,即最大带宽减去可预留带宽。
●∙管理组:
32比特位,可以任意设置,0x0---0xffffffff不等。
用户可以根据链路的任何特征或者随意定义管理组的值。
该值与TE
隧道tunnel下的亲和属性相对应,亲和属性由0x0---0xffffff的属性值与掩码0x0---0xffffffff组成,每一位代表一个属性,掩码0表示不关心该属性,1表示关心该属性。
tunnel的亲和属性和掩码决定了隧道关心哪些属性,再通过接口配置的管理组的值来匹配亲和属性从而影响LSP的链路选择。
●∙以上的度量值的变化是向后兼容的,并不是网络中所有的设备的IGP都必须理解这些度量值的变化,若设备自身不理解,那么会忽略这些变化。
三、
IGP通告TE资源信息
OSPF
针对mpls
te的扩展(RFC
2370)
定义了三类迟钝LSA:
type
9、type10、type11。
三者的唯一区别在于洪范的范围不同。
●∙Type9:
只在本地链路洪范。
●∙Type10:
在整个ospf区域洪范。
●∙Type11:
在整个ospf域(自治系统)内洪范。
TE使用Type
10的LSA来为区域内的MPLS
TE工作。
OSPF新增了选项字段来说明设备是否支持opaque
lsa。
+-----------------------------------------------+
|
*
O
DC
EA
N/P
MC
E
|
注:
Option字段总共6bit。
存在于hello、dd报文和lsa中。
Opaque
LSA的头格式
LSA的LSA_ID
前8bit是类型字段,mpls
te应用固定为1。
后24bit为LSA
ID的值,最大值16777216,所以一个路由器最多维护16777216条opaque
有效载荷playload
(TLV)
●∙TYPE:
固定2个字节,取值1或2
Type=1
代表是router
address
TLV,代表生成te信息路由器的id,通常使用loopback地址。
Type=2
代表是link
TLV,表示te的链路信息和约束信息。
类型2下还有9个子类型。
●∙Length:
固定2个字节,表示Value域的长度。
●∙Value:
必须是4个8位组为一组,也就是说长度为8字节的整数,不够则填充。
当type=1时,值域是4字节的ip地址。
Type
=2时,是变长的子TLV。
6>
链路TLV
链路TLV具有如下子TLV:
1
-
Link
(1
octet)
2
ID
(4
octets)
3
Local
interface
IP
(4N
4
Remote
5
Traffic
engineering
metric
6
Maximum
bandwidth
7
reservable
8
Unreserved
(32
9
Administrative
group
子TLV类型依次为1~~9。
长度为后面的多少个8位组。
●∙Link-type:
Point-to-point
Multi-access
●∙Link-ID:
当为点到点链路时,link-ID为对端设备的Route
ID。
为点到多点链路时,link-ID为对端设备的接口地址。
●∙Local
Ip
address
代表这条链路上使用哪些本地地址与链路对端通信,如果有多个地址,那么这下地址会全部记录在这个sub-tlv中。
●∙Remote
Interface
Address
代表链路对端的ip地址,与链路本地地址一起使用,用来唯一确定一条链路,另一种说法是识别两个设备之间相似链路。
如果是点到点,该值为具体的对端ip地址,可以是多个。
如果是点到多点,该值为0.0.0.0,或者忽略掉此sub-TLV。
●∙Traffic
Engineering
Metric
链路的开销,用于计算TE的开销,通常由管理员手工配置。
●∙Maximum
Bandwidth
该链路的这个接口上有多少带宽能够被使用,也就是接口的真实带宽。
该值不可以被配置。
Reservable
这个值表示链路上最多可以保留多少带宽。
这个值可以大于链路接口最大带宽。
该值必须用户手工配置
●∙Unreserved
未保留的带宽,32个8位组,为什么是32个?
因为隧道的设置优先级有8个级别(0~7),链路为每个不同优先级的隧道保存未保留的带宽值。
在这个子subTLV中,顶部是优先级0的参数,尾部是优先级7的参数。
起始时每个参数都被设置为Maximum
Bandwidth。
8个参数每个参数都必须小于最大可预留带宽。
●∙Administrative
Group
含义与第三小节的管理组解释一致。
5、
针对TE的ISIS扩展
扩展了3种TLV:
●∙IS可达性TLV,就是TLV-type
22(是TLV
22的扩展):
描述了IS邻居和邻居之间的度量值。
●∙IP可达性TLB,就是TLV-type135(是TLV
128和TLV130的扩展)
●∙新的TLV类型,就是TE
router-id
TLV
=
134,4个字节描述TE
RID。
6、
IGP的范洪
IGP出现以下情况时会发生TE信息范洪:
●∙链路状态发生变化
●∙配置变化
●∙周期性范洪
●∙预留带宽发生变化
●∙在隧道设置失败之后
●∙当接口状态变化(up或down),手工配置修改了针对IGP的接口参数的时候,IGP会范洪LSA或者LSP(ISIS)。
OSPF范洪LSA周期30分钟,ISIS范洪LSP为15分钟。
都可以通过命令修改。
TE信息每3分钟就会泛洪一次,也可以通过命令修改。
●∙预留带宽变化:
表示可预留的带宽的一个变化趋势,比如原来的可预留的带宽是100%,现在突然下降到了70%,或者原来为0%,现在上升到了20%。
这种向上或者向下的变动时,我们可以在不同的变动方向上设置不同的触发阈值。
Mple
flooding
thresholds
down/up
%
●∙当一条隧道不能被成功建立,例如一条链路已经被其他隧道所占用,CSPF算出来的隧道就会建立失败,这时会再次泛洪TE信息以计算新的隧道。
四、
LSP中的路由成本
TE链路的属性设置:
●∙最大可预留带宽;
●∙属性标记;
●∙TE度量值;
●∙共享风险链路组;
●∙最大可预留sub-pool带宽。
最大可预留带宽:
全局池中最大的可预留带宽,供所有常规TE隧道使用。
属性标记:
即管理组的设置,与隧道配置下的亲和属性配置结合使用。
隧道下设置一个亲和属性和掩码,当掩码某一位掩码置位时,则表示链路上的该属性的这意味属性值必须要匹配隧道的该值。
默认隧道下属性为0x00000000,掩码为0x0000FFFF。
TE度量值(metric):
默认TE
metric就是IGP的metric,隧道在计算路径的时候会参考IGP的度量。
可以修改度量值为TE度量值,并以TE度量值通告该隧道。
共享风险链路组:
配置后,表明链路共享了一条光纤或者网线,如果线断开,则多条链路同时受到影响,承担同样的风险。
SRLG信息通过IGP泛洪,且在实施了备份隧道的时候使用。
Sub-pool
是和1>
中相对的,1>
中是global-pool,这里是sub-pool,sub-pool是全局池的一部分,或者是区分服务敏感的TE隧道获取其带宽的池。
TE隧道的属性设置:
●∙隧道目的地;
---
尾端路由器的mpls
●∙所需带宽;
设置全局池或者sub
pool
●∙专有(亲和属性);
设置链路管理组和隧道亲和属性匹配
●∙设置和保持优先级;
后面介绍
●∙重新最优化;
fast-rerout
●∙路径选项。
TE隧道路径计算:
●∙路径设置选项;
●∙属性标记和专有比特;
●∙重新最优化。
路径设置选项:
分为显示和动态两种:
显示路径就是手工的为隧道的的走向指定每一跳,从而确认隧道的路径。
可以指定链路中路由器的TE
routerID,或者是链路的IP地址。
显示路径还可以排除网络中特定的设备或路径。
动态路径是通过计算TE数据库得到的,算法为CSPF或者PCALC,通过算法来计算最优路径。
一个隧道可以设置多个路径选项,不同的选项不同的优先级,优先级值越小越
优先。
当有多个路径选项时,隧道会先尝试优先级值小的路径,不可用时再尝试
大的。
所有路径不可用是,隧道就断开了。
设置和保持优先级:
●∙值越低,优先级越高
●∙设置优先级表示我能否抢占别人的隧道。
●∙保持优先级表示我的隧道是否会被别人抢占。
●∙设置优先级不能优于保持优先级。
(否则会出现循环抢占的情况)
重新最优化:
重新最优化的原因是由于一条TE隧道可能使用的是网络中非最的路径,(也就是最符合条件的路径),可能是因为之前最优路径断开过,导致隧道工作在次优路径。
重新最优化可以让隧道重新工作在最优路径上去。
重优化可能有如下三种触发机制:
●∙周期性重优化:
默认1小时一次,可以通过隧道下命令修改。
●∙事件导致重优化:
当链路可以重新被一条隧道所使用时不会导致最优化,但是可以设置链路在变为可用(up)时触发最优化。
(华三貌似不支持)
●∙手工重新最优化
使用全局下的命令让隧道重新最优化。
五、
双重TE度量
缺省MPLS
TE使用链路的TE度量值来通告TE隧道,但缺省情况下的TE链路的度量值和链路IGP的度量值是相同的。
在接口下,TE的metric值可以单独设置,如果不设置,那么就默认等于IGP的度量值,
R1-------------R2
R3-------------R4
举例:
每条链路的IGP度量都是1,只有R1----R3的度量是2,那么R1访问R4的流量
会经过R1
----
-----
R4
如果想让流量经过R1----
R3
R4,那么需要调整IGP的
度量值。
如果想单独让隧道走R1---R3---R4,那么IGP就做不到了。
这时可以单独设置R1
R4之间的TE度量值小于R1---R2---R4,然
后在te隧道中使用TE度量值。
就可以单独控制TE流量。
用法:
比如网络中就两条隧道,一条对带宽敏感,一条对延迟敏感。
那么可以使用IGP
的度量表示带宽,TE的度量表示延迟。
其中一条隧道对带宽敏感,另一条对延
迟敏感。
那么可以在两个隧道接口下分别配置使用IGP度量和TE度量值就可以
了。
六、
PCALC(CSPF)
PCALC又叫做CSPF,CSPF的计算结果不是路由表而是显式路径。
CSPF算法根据链路的资源计算路径,如果路径不满足约束要求,那么这条路径在创建SFP的时候就会被裁剪掉。
显式路径是一系列的IP地址,没一个地址都代表了路径上路由器的一个接口。
计算出来的路径被用来建立
LSP。
CSPF只会为一条TE
tunnel创建一条精确路径,不会有更多。
那么在有多条路径可选的情况下如何选择呢?
度量值
--->
限制
路径中最小带宽最大的链路
跳数最少
随即选择
七、
RSVP
RSVP的报文格式:
Path消息:
Resv消息:
DiffServ-Aware
TE
1.
TE简介
Diff-Serv作为一种QoS解决方案,其主要实现机制是对流量按照服务类型(class
of
service)进行划分,基于服务类型提供不同的QoS保证。
而MPLS
TE作为流量工程解决方案,主要用于对网络资源的使用进行优化。
TE,简称DS-TE,结合上述两者的优势,能够基于按服务类型划分的流量进行网络资源优化,即对不同的服务类型进行不同的带宽约束。
概括来说,DS-TE将不同服务类型的流量与LSP进行映射,使流量经过的路径符合对其服务类型的流量工程约束条件。
目前,设备支持两种DS-TE模式:
●
自定义的Prestandard模式
根据RFC
4124、RFC
4125、RFC
4127实现的IETF模式
2.
DS-TE基本概念
CT(Class
Type,服务类型):
流量所属的业务类别,用来实现对不同流量的分类。
DS-TE根据业务流所属的CT为其分配链路带宽、实施约束路由及进行准入控制。
对于一个给定的业务流,在其经过的所有链路上,该业务流都属于相同的CT。
BC(Bandwidth
Constraints,带宽约束):
用来对各种服务类型流量所能使用的带宽进行限制。
带宽约束模型(Bandwidth
Constraints
Model):
用来实现对不同CT的业务流进行带宽约束的算法。
带宽约束模型由两部分内容决定:
最大BC数目、BC与CT的对应关系。
DS-TE支持两种带宽约束模型RDM(Russian
Dolls
Model,俄罗斯套娃模型)和MAM(Maximum
Allocation
Model,最大分配模型)。
class:
CT及抢占优先级的组合。
如果流量属于某个CT,则传输该流量的LSP隧道的建立优先级或保持优先级必须是该CT对应的抢占优先级。
Prestandard模式和IETF模式具有如下区别,请根据服务类型的数量、所需带宽约束模型等选择合适的DS-TE模式。
Prestandard模式支持2个CT(CT
0和CT
1),8种优先级,最大支持16个TE
class;
IETF模式支持4个CT(CT
0、CT
1、CT
2和CT
3),8种优先级,最大支持8个TE
class。
Prestandard模式只支持RDM模型;
IETF模式支持RDM模型和MAM模型。
Prestandard模式为自定义模式,无法与所有厂商设备互通;
IETF模式为根据RFC标准实现的模式,可以与其他厂商设备互通。
3.
DS-TE工作原理
根据流量的服务类型建立MPLS
TE隧道的过程如下:
(1)
判断流量所属的CT
设备上根据配置实现不同业务流量的分类:
对于动态建立的MPLS
TE隧道,在隧道接口下执行mpls
bandwidth命令,可以配置通过该隧道接口的流量所属的CT。
对于静态建立的MPLS
TE隧道,配置静态隧道时,可以通过bandwidth参数指定通过该静态隧道转发的流量所属的CT。
(2)
检查CT对应的BC中是否存在足够的带宽
用户可以在MPLS
TE隧道接口下通过mpls
max-reservable-bandwidth命令,配置该接口的带宽限制。
设备根据流量所属的CT及接口的带宽限制,判断是否存在足够的带宽为该流量建立MPLS
TE隧道。
不同带宽约束模型下,BC与CT的关系不同:
RDM:
限制多种服务类型流量(CT)的共用带宽,允许多种CT间共享使用带宽,而不是限制某一种CT的带宽。
如图1-6所示,BC
2为CT
2的带宽限制,即属于CT
2流量的带宽总和不能超过BC
2;
BC
1为CT
1两种业务的带宽限制,即属于CT
1流量的带宽总和不能超过BC
1;
0为CT
2、CT
1和CT
0三种业务的带宽限制,即属于CT
0流量的带宽总和不能超过BC
0。
在RDM中,BC
0即为链路的最大可预留带宽。
RDM与建立优先级/保持优先级配合,可以实现CT间的带宽隔离。
RDM比较适用于属于CT的流量不平稳、可能存在突发流量的情况。
图1-6
RDM带宽约束模型示意图
MAM:
限制某一CT在接口上占用的带宽总和,即隔离CT之间的带宽使用。
如图1-7所示,BC
0的带宽限制,即属于CT
0;
1的带宽限制,即属于CT
以此类推。
并且,属于CT
2流量的带宽总和不能超过最大可预留带宽。
MAM不需要与建立优先级/保持优先级配合,就可以实现CT间的带宽隔离。
MAM的特点是比较直观,配置较为容易。
MAM比较适用于属于CT的流量较为平稳、不存在突发流量的情况。
图1-7
MAM带宽约束模型示意图
(3)
检查流量是否与已经存在的TE
class匹配
根据服务类型建立MPLS
TE隧道时,还需要检查流量所属的CT及LSP的建立优先级/保持优先级是否与已经存在的TE
class匹配。
要想为该流量建立隧道,必须同时满足下面两个条件:
隧道经过的节点上都存在与流量所属CT、LSP建立优先级匹配的TE
隧道经过的节点上都存在与流量所属CT、LSP保持优先级匹配的TE
Prestandard模式下不可以通过配置改变TE
IETF模式下可以通过配置改变TE