• 产品与解决方案
  • 行业解决方案
  • 服务
  • 支持
  • 合作伙伴
  • 新华三人才研学中心
  • 关于我们

Flex-Algo技术白皮书-6W101

手册下载

Flex-Algo技术白皮书-6W101-整本手册.pdf  (542.17 KB)

  • 发布时间:2021/11/23 16:18:53
  • 浏览量:
  • 下载量:

Flex-Algo技术白皮书

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

 

Copyright © 2021 新华三技术有限公司 版权所有,保留一切权利。

非经本公司书面许可,任何单位和个人不得擅自摘抄、复制本文档内容的部分或全部,并不得以任何形式传播。

除新华三技术有限公司的商标外,本手册中出现的其它公司的商标、产品标识及商品名称,由各自权利人拥有。

本文中的内容为通用性技术信息,某些信息可能不适用于您所购买的产品。

 

1 概述··· 1

1.1 产生背景·· 1

1.2 技术优点·· 1

2 Flex-Algo技术实现··· 1

2.1 概念介绍·· 1

2.2 IS-IS协议的Flex-Algo算法扩展TLV· 2

2.2.1 TLV总览·· 2

2.2.2 ISIS FAD Sub-TLV· 3

2.2.3 ISIS FAD Sub-TLV的子TLV· 3

2.3 Flex-Algo算法的选择·· 5

2.4 Flex-Algo算法拓扑的生成·· 6

2.4.1 算法拓扑简介·· 6

2.4.2 约束条件·· 6

2.4.3 算法拓扑生成步骤·· 7

2.5 Flex-Algo算法的TI-LFA FRR· 8

2.5.1 Flex-AlgoTI-LFA FRR路径计算·· 8

2.5.2 Flex-Algo的正切防微环·· 9

3 Flex-Algo算法的SRv6应用··· 10

3.1 通过Flex-Algo算法计算SRv6转发的最优路径·· 10

3.1.1 Flex-Algo算法计算最优路径的工作原理·· 10

3.1.2 Flex-Algo算法计算最优路径应用于SRv6 BE· 11

3.1.3 Flex-Algo算法计算最优路径应用于SRv6 TE Policy· 12

3.2 Flex-Algo算法为ODN创建的SRv6 TE Policy候选路径计算SID列表·· 13

4 典型组网应用··· 14

4.1 基于Flex-Algo算法的拓扑规划·· 14

4.2 基于Flex-Algo算法的最优路径计算·· 15

5 参考文献··· 16

 


1 概述

1.1  产生背景

IGP协议通常基于链路的开销值来计算到达目的地的最优路径。在需要使用流量工程实现灵活选路等场景下,链路的开销值不能作为路径优劣的唯一标准。例如,对于实时性要求较高的业务,需要使用低时延作为路径优选的标准;在控制和转发平面分离的网络中,不同种类的流量需要通过不同的路径转发。在这些场景中,采用传统IGP路由算法计算出的路径无法满足不同的用户需求。

采用RSVPMPLS TE等流量工程方式,基于包括路径开销在内的多种度量值和拓扑的约束条件来计算路径,使用计算出的隧道路径代替IGP协议出的原始路径,可以解决上述问题。但是,该方式需要部署新的协议,增加了网络部署和维护的复杂度。Flex-AlgoFlexible Algorithm,灵活算法)技术对IGP协议进行了扩展,通过IGP协议报文通告路由计算的算法类型、度量值类型、拓扑约束条件等信息,实现基于IGP协议计算出满足特定条件的路径。目前仅IS-IS协议支持Flex-Algo算法。

1.2  技术优点

Flex-Algo具有如下优点:

·     算法灵活定制:用户可以根据需求,自由选择Flex-Algo算法的路由计算度量值类型(IGP链路开销、链路时延和MPLS TE度量值)以及约束条件(包含或排除特定的链路)。

·     拓扑灵活规划:根据约束条件,Flex-Algo算法可以为IGP协议规划出完全满足业务要求的网络拓扑。例如,将不同的业务流量分割在不同的拓扑中,并在各自的拓扑中为业务流量计算最优路径。

·     防环机制:在IGP路由域内所有配置了Flex-Algo算法的设备使用相同算法定义,且计算结果是一致的,不会导致环路。

·     高可靠性:Flex-Algo支持通过TI-LFA FRR计算备份路径,实现当网络中的某处链路或节点故障时,流量会快速切换到备份路径继续转发,从而最大程度上避免流量的丢失

·     支持应用于SRv6 VPNFlex-Algo算法可以应用于SRv6 VPN网络,为SRv6 VPN计算出满足特定需求的公网转发路径。Flex-Algo算法既可以用于SRv6 VPNSRv6 BE路径计算,也可以用于SRv6 TE路径计算。

2 Flex-Algo技术实现

2.1  概念介绍

Flex-Algo涉及到的基本概念如下:

·     FADFlexible Algorithm Definition灵活算法定义):Flex-Algo算法的内容,包括算法类型、优化目标和约束条件

·     算法类型:计算路径使用的算法。当前仅支持SPF算法。

·     优化目标:使用Flex-Algo算法基于特定度量类型计算到达目的地的最小开销路径。

Flex-Algo算法的度量类型包括

¡     使用IGP的链路开销作为度量类型。

¡     使用链路时延作为度量类型。

¡     使用MPLS TE度量值作为度量类型。

·     约束条件:Flex-Algo算法生成算法拓扑时遵循的规则,决定了Flex-Algo算法进行计算时使用的链路。约束条件在FlexAlgo算法中是可选的,与亲和属性或共享风险链路组配合实现:

¡     亲和属性:链路的一种属性,也称为链路颜色。亲和属性和约束条件配合,决定了Flex-Algo算法进行计算时使用的链路。通过在Flex-Algo算法中包含或排除具有特定亲和属性的链路,可以实现规划路由拓扑的功能。

¡     共享风险链路组(Shared Risk Link GroupSRLG):具有相同故障风险的一组链路。如果SRLG中的一条链路失效,那么组内的其他链路也可能失效。通过Flex-Algo算法的约束条件,可以在Flex-Algo算法中排除特定共享风险链路组中的链路。

·     算法标识符:Flex-Algo算法的唯一标识,取值为128255之间的数字。IANAIGP协议分配的IGP算法类型(IGP Algorithm Types)值的范围为0255Flex-Algo算法使用了该范围的后半部分。

2.2  IS-IS协议的Flex-Algo算法扩展TLV

本节介绍为了确保Flex-Algo进行无环的转发路径计算,IS-IS协议用于通告FAD信息的各类扩展TLV

2.2.1  TLV总览

表2-1 IS-IS协议的Flex-Algo算法扩展TLV汇总表

TLV

作用

携带位置

ISIS Flexible Algorithm Definition Sub-TLV

通告Flex-Algo算法定义

作为ISIS Router Capability TLV的子TLV

ISIS Flexible Algorithm Exclude Admin Group Sub-TLV

通告Flex-Algo算法约束条件中亲和属性的Exclude-Any规则

作为ISIS Flexible Algorithm Definition Sub-TLV的子TLV

ISIS Flexible Algorithm Include-Any Admin Group Sub-TLV

通告Flex-Algo算法约束条件中亲和属性的Include-Any规则

作为ISIS Flexible Algorithm Definition Sub-TLV的子TLV

ISIS Flexible Algorithm Include-All Admin Group Sub-TLV

通告Flex-Algo算法约束条件中亲和属性的Include-All规则

作为ISIS Flexible Algorithm Definition Sub-TLV的子TLV

ISIS Flexible Algorithm Exclude SRLG Sub-TLV

通告Flex-Algo算法约束条件中共享风险链路组的Exclude SRLG规则

作为ISIS Flexible Algorithm Definition Sub-TLV的子TLV

 

2.2.2  ISIS FAD Sub-TLV

ISIS Flexible Algorithm Definition Sub-TLV(以下均简称为ISIS FAD Sub-TLV)用于通告Flex-Algo算法定义,包括Flex-Algo算法标识符、度量类型、算法类型及优先级等。报文的格式如2-1所示,报文包含的字段含义如2-2所示。

图2-1 ISIS FAD Sub-TLV的报文格式

 

表2-2 ISIS FAD Sub-TLV的字段描述表

字段名称

长度

含义

Type

8bits

TLV类型,取值为26

Length

8bits

TLV总长度

Flex-Algorithm

8bits

Flex-Algo算法标识符,取值范围为128255

Metric-Type

8bits

FAD通告的度量类型,即Flex-Algo算法的优化目标:

·     0:表示使用IGP链路开销作为度量类型

·     1:表示使用链路时延作为度量类型

·     2:表示使用MPLS TE度量值作为度量类型

Calc-Type

8bits

算法类型,目前只支持取值为0SPFShortest Path First,最短路径优先)算法

Priority

8bits

FAD通告的优先级,取值范围为0255

Sub-TLVs

可变长度

可选的Sub-TLV

 

设备对于同一Flex-Algo算法只能通告一种ISIS FAD Sub-TLV。对于同一标识符的Flex-Algo算法,如果设备从同一个FAD通告源收到了多个不同的ISIS FAD Sub-TLV,则会选择LSP分片号最小的报文携带的ISIS FAD Sub-TLV

2.2.3  ISIS FAD Sub-TLV的子TLV

ISIS FAD Sub-TLVSub-TLVs字段中携带的TLV用于通告FAD的约束条件。不同类型的子TLV只能在ISIS FAD Sub-TLV中出现一次。如果出现了多次,则该ISIS FAD Sub-TLV不会被接收者处理。

1. ISIS Flexible Algorithm Exclude Admin Group Sub-TLV

ISIS Flexible Algorithm Exclude Admin Group Sub-TLV用于通告Flex-Algo算法约束条件中亲和属性的Exclude-Any规则。报文的格式如2-2所示,报文包含的字段含义如2-3所示。

图2-2 ISIS Flexible Algorithm Exclude Admin Group Sub-TLV

 

表2-3 ISIS Flexible Algorithm Exclude Admin Group Sub-TLV的字段描述表

字段名称

长度

含义

Type

8bits

TLV类型,取值为1

Length

8bits

TLV总长度,必须为4字节的整数倍

Extended Admin Group

可变长度,最大长度为256

Exclude-Any规则中包含的链路亲和属性

 

2. ISIS Flexible Algorithm Include-Any Admin Group Sub-TLV

ISIS Flexible Algorithm Include-Any Admin Group Sub-TLV用于通告Flex-Algo算法约束条件中亲和属性的Include-Any规则。报文的格式如2-3所示,报文包含的字段含义如2-4所示。

图2-3 ISIS Flexible Algorithm Include-Any Admin Group Sub-TLV

 

表2-4 ISIS Flexible Algorithm Include-Any Admin Group Sub-TLV的字段描述表

字段名称

长度

含义

Type

8bits

TLV类型,取值为2

Length

8bits

TLV总长度,必须为4字节的整数倍

Extended Admin Group

可变长度,最大长度为256

Include-Any规则中包含的链路亲和属性

 

3. ISIS Flexible Algorithm Include-All Admin Group Sub-TLV

ISIS Flexible Algorithm Include-All Admin Group Sub-TLV用于通告Flex-Algo算法约束条件中亲和属性的Include-All规则。报文的格式如2-4所示,报文包含的字段含义如2-5所示。

图2-4 ISIS Flexible Algorithm Include-All Admin Group Sub-TLV

 

表2-5 ISIS Flexible Algorithm Include-All Admin Group Sub-TLV

字段名称

长度

含义

Type

8bits

TLV类型,取值为3

Length

8bits

TLV总长度,必须为4字节的整数倍

Extended Admin Group

可变长度,最大长度为256

Include-All规则中包含的链路亲和属性

 

4. ISIS Flexible Algorithm Exclude SRLG Sub-TLV

ISIS Flexible Algorithm Exclude SRLG Sub-TLV用于通告Flex-Algo算法约束条件中的共享风险链路组Exclude SRLG规则。报文的格式如2-5所示,报文包含的字段含义如2-6所示。

图2-5 ISIS Flexible Algorithm Exclude SRLG Sub-TLV

 

表2-6 ISIS Flexible Algorithm Exclude SRLG Sub-TLV的字段描述表

字段名称

长度

含义

Type

8bits

TLV类型,取值为5

Length

8bits

TLV总长度,必须为4字节的整数倍

Shared Risk Link Group Value

可变长度,最大长度为128字节

Exclude SRLG规则中包含的共享风险链路组

 

2.3  Flex-Algo算法的选择

节点配置Flex-Algo算法后,该节点将有资格参与Flex-Algo算法的路径计算。IS-IS路由域内需要有至少一个节点通告FAD,设备才能使用Flex-Algo算法计算路径。为了避免环路,在FAD的通告范围内,使用相同标识符的Flex-Algo算法的节点必须选择一致的FAD,选择机制如下:

(1)     从本区域的FAD通告中(包括本地产生和接收到的通告),选择具有最高优先级的FAD。如果本地未通告FAD,则从接收到的通告中选择具有最高优先级的FAD

(2)     如果存在多个具有相同最高优先级的FAD,则选择路由器标识符最大的设备通告的FAD。在IS-IS协议中,路由器标识符为System ID

2.4  Flex-Algo算法拓扑的生成

2.4.1  算法拓扑简介

Flex-Algo算法拓扑指的是Flex-Algo算法计算路径的范围。当Flex-Algo算法生成拓扑时,会判断链路的亲和属性和共享风险链路组是否与约束条件匹配,匹配的链路才会被Flex-Algo算法加入拓扑或从拓扑中排除。

Flex-Algo算法的拓扑规划可以实现不同种类业务流量的转发路径隔离,让用户最大限度地灵活定制IGP协议流量转发的最优路径,以避免仅通过度量值类型无法影响路径选择的问题。

2.4.2  约束条件

1. 基于亲和属性的约束条件

IS-IS支持256个亲和属性比特位,比特位的编号为0255。为了便于使用,可以为亲和属性比特位定义名称。如2-6所示,将亲和属性比特位的第一位命名为“blue”,第五位命名为“red”。

图2-6 亲和属性比特位示例

 

基于亲和属性的约束条件包括:

·     Exclude-Any规则。该规则表示链路中只要有一个亲和属性和Exclude-Any规则中的亲和属性相同,那么该链路在算法拓扑生成时,会被Flex-Algo算法排除。该规则通过Flexible Algorithm Exclude Admin Group Sub-TLV通告。

·     Include-any规则。该规则表示链路中只要有一个亲和属性和Include-any规则中的亲和属性相同,那么该链路在算法拓扑生成时,就会被Flex-Algo算法包含在内;链路的亲和属性不包含Include-any规则中的任意一个亲和属性时,该链路才会被排除。该规则通过Flexible Algorithm Include-Any Admin Group Sub-TLV通告。

·     Include-all规则。该规则表示只有链路的亲和属性包含Include-all规则中的所有亲和属性时,该链路在算法拓扑生成时,才会被Flex-Algo算法包含在内,否则该链路会被排除。该规则通过Flexible Algorithm Include-All Admin Group Sub-TLV通告。

2. 基于SRLG的约束条件

基于SRLG的约束条件仅包含一种规则——Exclude SRLG规则。该规则表示链路如果属于Exclude SRLG规则描述的共享风险链路组,则该链路在算法拓扑生成时,会被Flex-Algo算法排除。Exclude SRLG规则通过Flexible Algorithm Exclude SRLG Sub-TLV通告。在拓扑中排除共享风险链路组中的链路,可以提高计算路径的可靠性。

2.4.3  算法拓扑生成步骤

算法拓扑生成的具体步骤如下:

(1)     如果节点未配置FAD,表明该节点不参与Flex-Algo算法,那么该节点被Flex-Algo算法删除。

(2)     检查FAD中是否存在亲和属性的Exclude-Any规则。如果存在Exclude-Any规则,Flex-Algo算法排除有亲和属性和Exclude-Any规则亲和属性相同的链路

(3)     检查FAD中是否存在共享风险链路组的Exclude SRLG规则。如果存在Exclude SRLG规则,Flex-Algo算法排除属于Exclude SRLG规则描述的共享风险链路组链路。

(4)     检查FAD中是否存在亲和属性的Include-any规则。如果存在Include-any规则,Flex-Algo算法排除不包含Include-any规则任意一个亲和属性的链路

(5)     检查FAD中是否存在亲和属性的Include-all规则。如果存在Include-all规则,Flex-Algo算法排除不具有Include-all规则所有亲和属性的链路

(6)     FAD的度量类型不是IS-IS的链路开销,且链路没有对FAD使用的度量类型的开销值进行通告,那么该链路被Flex-Algo算法排除。

2-7所示,未使用Flex-Algo算法时,所有节点基于IS-IS链路开销计算到达目的地的最优路径。使用Flex-Algo算法130计算路径时,除了Router F以外,其他节点都配置了Flex-Algo算法130Flex-Algo算法130FAD为:

·     使用SPF算法。

·     基于IS-IS链路开销计算到达目的地的最小开销路径。

·     排除亲和属性为“红色”的链路。

图2-7 未使用Flex-Algo算法的拓扑

 

生成的Flex-Algo算法130的拓扑如2-8所示。生成Flex-Algo算法130的拓扑后,各节点根据算法类型和优化目标进行路径计算。

图2-8 Flex-Algo算法130的拓扑

 

2.5  Flex-Algo算法的TI-LFA FRR

TI-LFA FRRTopology-Independent Loop-free Alternate Fast Reroute,拓扑无关无环备份快速重路由)能为Flex-Algo算法的路径计算提供链路及节点的保护。当某处链路或节点故障时,流量会快速切换到备份路径继续转发,从而最大程度避免流量的丢失。

Flex-Algo算法TI-LFA FRR的工作机制与SRv6TI-LFA FRR大体相同,详细介绍请参见《SRv6技术白皮书》。

2.5.1  Flex-AlgoTI-LFA FRR路径计算

Flex-Algo算法的TI-LFA FRR路径计算和SRv6的计算方式是相同的,唯一差别在于Flex-AlgoTI-LFA FRR基于FAD,在Flex-Algo规划的拓扑中计算备份路径。

2-9所示,所有节点未使用Flex-Algo算法。Router B为源节点,Router A为目的节点,链路中间的数字表示开销值。流量路径为Router B>Router A,为避免Router BRouter A之间的链路故障导致流量丢失,TI-LFA计算出来的备份路径为Router B>Router C> Router E> Router F> Router A

图2-9 未使用Flex-AlgoTI-LFA备份路径

 

2-10所示,所有节点都配置了Flex-Algo算法130Flex-Algo算法130FAD为:

·     使用SPF算法。

·     基于IS-IS链路开销计算到达目的地的最小开销路径。

·     排除亲和属性为“红色”的链路。

此时,TI-LFA计算出来的备份路径为Router B>Router C> Router D> Router E> Router F> Router A

图2-10 使用Flex-AlgoTI-LFA备份路径

 

2.5.2  Flex-Algo的正切防微环

通常情况下,正切是指网络发生故障后,数据流量从主路径切换到备份的重路由路径。在正切时,由于紧邻故障节点的节点收敛引发的环路,称为正切微环(Microloop)。Flex-Algo支持正切防微环功能,通过延迟设备的收敛时间,避免环路的产生。

2-11所示,全网节点部署Flex-AlgoTI-LFAFAD为:

·     使用SPF算法。

·     基于IS-IS链路开销计算到达目的地的最小开销路径。假设所有链路的开销值均为10

·     排除亲和属性为“红色”的链路。

正常情况下,Router ARouter C的路径为Router A>Router B>Router C。当Router B故障时,到Router C的流量将切换到TI-LFA计算的备份路径转发。Router A收敛后,到Router C的流量将沿着收敛后路径转发。此时,如果Router D(或Router F)还没有收敛,仍按照收敛前的路径转发流量,则Router ARouter D(或Router F)之间形成环路。

Router A上开启正切防微环功能后,可以使Router A延迟一段时间收敛,在此期间Router A不响应拓扑变化,仍然使用TI-LFA备份路径转发流量;网络中的其他节点正常收敛。等待Router DRouter F收敛完成后,Router A再开始收敛。Router A收敛完成后,到Router C的流量沿将着收敛后路径转发,从而避免发生环路。

图2-11 正切防微环故障场景

 

3 Flex-Algo算法的SRv6应用

3.1  通过Flex-Algo算法计算SRv6转发的最优路径

3.1.1  Flex-Algo算法计算最优路径的工作原理

IS-IS应用于SRv6组网时,会使用包含SRv6 Locator TLVLSP发布SRv6 Locator信息,SRv6网络中的节点会计算到达Locator网段的最优路由。

SRv6 Locator TLV包含算法字段,通过算法ID标识该Locator使用的算法。缺省情况下,SRv6 Locator TLV中的算法ID0,表示节点使用SPF算法基于IGP链路开销计算到达SRv6 Locator前缀的最优路径。Locator段关联Flex-Algo算法后,SRv6 Locator TLV中的算法ID为关联的Flex-Algo算法的ID,表示节点将使用Flex-Algo算法计算到达SRv6 Locator前缀的最优路径。不同的Locator段可以关联不同的Flex-Algo算法,并计算出不同的转发路径或规划出不同的转发拓扑,以方便用户对多种业务的流量进行灵活规划。

例如,SRv6 Locator关联Flex-Algo算法130,该算法的FAD为:

·     使用SPF算法。

·     基于IS-IS链路开销计算到达目的地的最小开销路径。

·     排除亲和属性为“蓝色”的链路。

Router AFlex-Algo算法拓扑中使用SPF计算出来的到达Locator前缀2001:0:8:6::/64的最优路径如3-1所示。

图3-1 Flex-Algo算法计算SRv6转发的最优路径

 

3.1.2  Flex-Algo算法计算最优路径应用于SRv6 BE

3-2所示,在IPv6网络中PE 1PE 2之间部署L3VPN over SRv6 BEL2VPN over SRv6 BE。用户的二三层数据报文经过SRv6隧道封装后,在IGP计算的最优路径上转发。使用Flex-Algo算法可以充分利用网络资源,如将链路开销值大但较为空闲的链路加入转发路径等,实现IPv6骨干网中SRv6 BE转发路径的灵活规划。

图3-2 基于Flex-Algo算法的SRv6 BE典型引用组网图

 

Flex-Algo算法计算最优路径应用于SRv6 BE时,CE 1CE 2之间私网路由的发布过程与未使用Flex-Algo算法时相同,不同之处在于到达目的Locator网段的IGP路径计算方法。如3-3所示,以L3VPN over SRv6 BE为例,使用Flex-Algo算法后,计算到达Locator网段最优路径的过程为:

(1)     PE 1PE 2P 1P 2P 3P 4均使用Flex-Algo算法128,该算法FAD为:

¡     使用SPF算法。

¡     基于IS-IS链路开销计算到达目的地的最小开销路径。

¡     包含亲和属性为“红色”的链路。

(2)     PE 2将本设备的LocatorA5:80::/64Flex-Algo算法128关联,并使用IS-IS协议发布该Locator

(3)     PE 1P 1P 3P 4接收到包含了LocatorA5:80::/64IS-IS 路由后,根据Flex-Algo算法128中的约束条件计算到达目的网段A5:80::/64的最优路径。计算出的最优路径为:PE 1>P 1>P 3>PE 2。站点1发往站点2的报文在封装IPv6报文头后,即根据此路径由PE 1转发至PE 2

图3-3 基于Flex-Algo算法SRv6 BE的路由计算过程

 

3.1.3  Flex-Algo算法计算最优路径应用于SRv6 TE Policy

3-4所示,SRv6 VPN采用SRv6 TE报文转发方式时,网络管理员通过SRv6 TE Policy规划了一条从PE 1PE 2的流量需要经过P 4的路径(候选路径的SID列表中包含了P 4SID)。在未部署Flex-Algo算法时,IS-IS协议使用SPF算法根据链路开销计算得到的最优路径为:PE 1>P 2>P 4>PE 2

图3-4 未使用Flex-Algo算法时SRv6 TE Policy路径示意图

 

3-5所示,P 4上的LocatorA4:80::/64PE 2上的LocatorA5:80::/64均与Flex-Algo算法128关联,网络中的的设备P 1P 2P 3P 4PE 1PE 2均加入了Flex-Algo算法128Flex-Algo算法128FAD为:

·     使用SPF算法。

·     基于IS-IS链路开销计算到达目的地的最小开销路径。

·     包含亲和属性为“红色”的链路。

PE 1上,到达目的节点PE 2SRv6 TE Policy中,最优候选路径的SID列表为<A4:80::1,A5:80::1>PE 1在为该SID列表计算报文转发路径时,路径将不再经过P 2,而是根据Flex-Algo算法的约束条件,计算的转发路径为PE 1>P 1>P 4> P 3>PE 2

图3-5 使用Flex-Algo算法后SRv6 TE Policy路径示意图

 

3.2  Flex-Algo算法为ODN创建的SRv6 TE Policy候选路径计算SID列表

创建ODNOn-Demand Next-Hop,按需下一跳)模板后,如果设备接收到的BGP路由携带的Color扩展团体属性与ODN模板的Color值相同,则以该BGP路由的下一跳地址作为SRv6 TE Policy的目的节点地址,以ODN模板的Color值作为SRv6 TE PolicyColor属性,自动创建一个SRv6 TE PolicyODN自动创建SRv6 TE Policy后,会生成两条候选路径:

·     Preference200的候选路径。如果ODN模板关联了Flex-Algo算法,则该候选路径下的SID列表Flex-Algo算法动态计算

·     Preference100的候选路径该候选路径下的SID列表需要由PCE计算。

3-6所示,在Router A上,ODN模板关联了Flex-Algo算法130,该算法的FAD为:

·     使用SPF算法。

·     基于IS-IS链路开销计算到达目的地的最小开销路径。

·     排除亲和属性为“蓝色”的链路。

Router A接收到Router F发送的携带与ODN模板相同Color值的BGP路由时,将该BGP路由的下一跳地址(Router F的地址)作为目的节点的地址,自动创建一个SRv6 TE Policy。该SRv6 TE PolicyPreference200的候选路径中,采用Flex-Algo方式计算出的SID列表为<A3:82::1,A4:82::1,A6:82::1>

图3-6 Flex-Algo算法为ODN方式的SRv6 TE Policy的候选路径计算SID列表

 

4 典型组网应用

4.1  基于Flex-Algo算法的拓扑规划

使用Flex-Algo算法,可以在应用了SRv6 VPN的组网中为不同的业务规划不同的路径转发拓扑,以实现流量的分配和隔离,满足站点内租户的各种业务需求。如4-1所示,组网中的各个中间节点加入对应的Flex-Algo算法,PE 1PE 2同时加入Flex-Algo算法198199,并将本节点的Locator段与Flex-Algo算法关。不同的Flex-Algo算法计算出的网络拓扑不同,Flex-Algo算法198199分别计算出绿色和红色拓扑,在PE设备上,去往对端Locator段的转发路径被限制在相应的拓扑中,即对端Locator段关联的Flex-Algo算法规划的拓扑,以实现将不同的业务流量分割到不同的网络拓扑中进行转发。

图4-1 基于Flex-Algo算法的拓扑规划示意图

 

4.2  基于Flex-Algo算法的最优路径计算

4-1描述的网络为不同的业务区分了不同的网络拓扑,在各自的网络拓扑中Flex-Algo算法可以定义度量值类型,为不同要求的业务流量计算最优转发路由。如4-24-3所示,Flex-Algo算法198规划的网络拓扑,承载的是语音、视频等要求低时延的媒体业务;Flex-Algo算法199规划的网络拓扑,承载的是普通数据业务。Flex-Algo算法198基于IS-IS链路时延计算到达目的地的最优路径,Flex-Algo算法199基于IS-IS链路开销计算到达目的地的最优路径,两种算法为各自承载的业务流量计算出了不同的转发路径,满足了多样化的业务流量转发需求。

图4-2 媒体业务流量转发路径示意图

 

图4-3 普通数据业务流量转发路径示意图

 

5 参考文献

·     draft-ietf-lsr-flex-algo-16

新华三官网
联系我们