实现过程
基本实现
Diff-Serv的边界节点将流量分为少量的几个类,并将类信息直接标记在报文中的DSCP字段中。内部节点在调度转发报文时根据DSCP选择相应的PHB。
MPLS首部的EXP域可以用于承载Diff-Serv相关信息。如何将DSCP值(最多有64个值)映射到EXP域(最多8个值)是DS-TE实现的关键。相关标准定义了如下两种方案:
- L-LSP(Label-Only-Inferred-PSC LSP):将丢弃优先级放在EXP字段中,PHB调度类型由标签决定,在转发期间,标签决定数据包转发路径并为其分配调度行为。
- E-LSP(EXP-Inferred-PSC LSP):将调度类型和丢包优先级都由MPLS标签的EXP字段表示。转发期间,标签决定数据包的转发路径,EXP决定PHB。E-LSP适用于支持不多于8个PHB的网络。
NE40E实现了E-LSP。DSCP到EXP的映射遵从相关标准的定义。EXP到PHB的映射则通过手工配置指定。
为了基于流量类型分配资源,DS-TE引入了CT的概念。DS-TE将具有相同PHB的流量映射到同一个CT上,并为每个CT单独分配资源。因此,DS-TE LSP是基于CT建立的。即DS-TE在路径计算过程中,需要将CT及每个CT可获得的带宽作为约束条件;在进行资源预留过程中,也需要考虑CT及其带宽需求。
IGP的扩展
为支持DS-TE,相关标准对IGP进行了扩展,引入了新的可选子TLV(Bandwidth Constraints sub-TLV),并重新定义了原有子TLV(Unreserved bandwidth sub-TLV)的含义,用于通告和收集链路上各优先级的每个CT的可预留带宽。
RSVP的扩展
为了实现IETF模式的DS-TE,IETF对RSVP进行了扩展:相关标准为Path消息定义了CLASSTYPE对象;。关于CLASSTYPE对象的详细描述请参考相关标准
当沿途的LSR收到带有CT信息的RSVP Path消息,如果有足够的资源则接受建立新的LSP;LSP建立成功后,该节点重新计算各优先级的每CT的可预留带宽。这些预留信息会反馈给IGP,向网络中的其它节点通告。
带宽约束模型
目前,IETF定义了如下带宽约束模型:
最大分配模型MAM(Maximum Allocation Model):将一个BC映射到一个CT,CT间不共享带宽。MAM的BC Mode ID为1。
图4-42 MAM模型示意图MAM模型中,CTi所有LSP的带宽总和不超过BCi(0≤i≤7);所有CT的所有LSP带宽总和不超过链路最大可预留带宽。
例如,假设某链路的带宽是100Mbit/s,带宽模型为MAM,且支持3个CT(CT0、CT1和CT2)。BC0为20Mbit/s,用于承载CT0(假设为BE流);BC1为50Mbit/s,用于承载CT1(假设为AF流);BC2为30Mbit/s,用于承载CT2(假设为EF流)。则承载BE流的所有LSP的预留带宽总和不能够超过20Mbit/s;承载AF流的所有LSP的预留带宽总和不能够超过50Mbit/s;承载EF流的所有LSP的预留带宽总和不能够超过30Mbit/s。
MAM模型优点是不存在CT间的带宽抢占;缺点是可能存在带宽浪费。
俄罗斯套娃模型RDM(Russian Dolls Model):允许CT间共享带宽。RDM的BC Mode ID为0。
BC0≤链路的最大可预留带宽。各BC之间存在不同的包含关系,如图4-43:BC7的带宽固定不变;BC6包含BC7的带宽;……;BC0包含所有BC的带宽。这种模型与俄罗斯玩偶类似:一个大娃娃套一个小娃娃,小娃娃又套一个更小的娃娃,依次类推。
例如,假设某链路的带宽是100Mbit/s,带宽模型为RDM,且支持3个BC。其中,CT0用于承载BE流;CT1用于承载AF流,CT2用于承载EF流。BC0为100Mbit/s;BC1为50Mbit/s;BC2为20Mbit/s。那么承载EF流的所有LSP带宽总和不超过20Mbit/s;承载EF流和AF流的所有LSP带宽总和不超过50Mbit/s;所有LSP的带宽总和不超过100Mbit/s。
RDM模型允许存在CT间的带宽抢占。各CT的抢占关系是:如果0≤m<n≤7,0≤i<j≤7,则优先级为m的CTi可以抢占优先级为n的CTi的带宽和优先级为n的CTj的带宽。但是CTi的所有LSP带宽总和不超过BCi的带宽值。
RDM模型的优点是有效利用带宽。
IETF模式与Non-IETF模式的区别
DS-TE模式 |
Non-IETF模式 |
IETF模式 |
---|---|---|
带宽模型 |
N/A | 支持RDM、MAM |
CT类型 |
支持CT0 |
支持CT0~CT7 |
BC类型 |
支持BC0 |
支持BC0~BC7 |
TE-Class映射表 |
可以配置TE-Class映射表,但不生效 |
支持配置和使用TE-Class映射表 |
IGP消息 |
由Unreserved bandwidth sub-TLV携带基于优先级的可预留带宽 |
同时由Unreserved bandwidth sub-TLV和Bandwidth Constraints sub-TLV携带CT信息:
|
RSVP消息 |
由ADSPEC对象携带CT信息 |
由CLASSTYPE对象携带CT信息 |