此产品的文档集力求使用非歧视性语言。在本文档集中,非歧视性语言是指不隐含针对年龄、残障、性别、种族身份、族群身份、性取向、社会经济地位和交叉性的歧视的语言。由于产品软件的用户界面中使用的硬编码语言、基于 RFP 文档使用的语言或引用的第三方产品使用的语言,文档中可能无法确保完全使用非歧视性语言。 深入了解思科如何使用包容性语言。
思科采用人工翻译与机器翻译相结合的方式将此文档翻译成不同语言,希望全球的用户都能通过各自的语言得到支持性的内容。 请注意:即使是最好的机器翻译,其准确度也不及专业翻译人员的水平。 Cisco Systems, Inc. 对于翻译的准确性不承担任何责任,并建议您总是参考英文原始文档(已提供链接)。
本文档介绍PfRv2(性能路由)如何根据PfRv2策略决策控制流量。本文档讨论在PfRv2中使用静态路由和基于策略的路由。
思科建议您具备性能路由(PfR)的基本知识。
本文档不限于特定的软件和硬件版本。
本文档中的信息都是基于特定实验室环境中的设备编写的。本文档中使用的所有设备最初均采用原始(默认)配置。如果您使用的是真实网络,请确保您已经了解所有命令的潜在影响。
PfRv2允许网络管理员根据PfRv2策略结果配置策略并相应地路由流量。PfRv2控制流量有多种模式,它取决于用于获取目的前缀的父路由的协议。PfRv2能够通过操作路由协议、注入静态路由或基于动态策略的路由来更改路由信息库(RIB)。
本文讨论使用静态路由(当父路由通过静态路由时)和PBR(当RIB中的父路由通过RIP、OSPF、ISIS等时)控制流量的PfRv2。
本文档将以下图像作为文档其余部分的示例拓扑。
图中所示的设备:
R1 — 服务器,发起流量。
R3- PfR主路由器。
R4和R5- PfR边界路由器。
连接到R9和R10的客户端是从R1服务器接收流量的设备。
在本场景中,将配置两个学习列表,一个用于应用(APPLICATION-LEARN-LIST)和数据(DATA-LEARN-LIST)流量。此方案使用前缀列表定义流量。访问列表也可用于匹配TCP、UDP、ICMP等流量类型。DSCP和TOS也可用于定义流量。
key chain pfr
key 0
key-string cisco
pfr master
policy-rules PFR
!
border 10.4.4.4 key-chain pfr
interface Tunnel0 internal
interface Ethernet1/0 external
interface Ethernet1/2 internal
link-group MPLS
!
border 10.5.5.5 key-chain pfr
interface Tunnel0 internal
interface Ethernet1/3 internal
interface Ethernet1/0 external
link-group INET
!
learn
traffic-class filter access-list DENY-ALL
list seq 10 refname APPLICATION-LEARN-LIST //Learn-list for application traffic
traffic-class prefix-list APPLICATION
throughput
list seq 20 refname DATA-LEARN-LIST //Learn-list for data traffic
traffic-class prefix-list DATA
throughput
!
!
pfr-map PFR 10
match pfr learn list APPLICATION-LEARN-LIST
set periodic 90
set delay threshold 25
set mode monitor active
set active-probe echo 10.20.21.1
set probe frequency 5
set link-group MPLS fallback INET
!
pfr-map PFR 20
match pfr learn list DATA-LEARN-LIST
set periodic 90
set delay threshold 25
set mode monitor active
set resolve delay priority 1 variance 10
set active-probe echo 10.30.31.1
set probe frequency 5
set link-group INET fallback MPLS
ip prefix-list DATA
seq 5 permit 10.30.0.0/24
ip prefix-list APPLICATION
seq 5 permit 10.20.0.0/24
在此场景中,流量流向目标10.20.20.1和10.30.30.1。以下是R4和R5上父路由的外观。
R4#show ip route
--output suppressed--
S 10.20.0.0/16 [1/0] via 10.0.68.8
S 10.30.0.0/16 [1/0] via 10.0.68.8
R5#show ip route
--output suppressed--
S 10.20.0.0/16 [1/0] via 10.0.57.7
S 10.30.0.0/16 [1/0] via 10.0.57.7
当流量传输时,PfRv2获知流量前缀,流量进入INPOLICY状态,如输出所示。
R3#show pfr master traffic-class
OER Prefix Statistics:
--output suppressed--
DstPrefix Appl_ID Dscp Prot SrcPort DstPort SrcPrefix
Flags State Time CurrBR CurrI/F Protocol
PasSDly PasLDly PasSUn PasLUn PasSLos PasLLos EBw IBw
ActSDly ActLDly ActSUn ActLUn ActSJit ActPMOS ActSLos ActLLos
--------------------------------------------------------------------------------
10.20.20.0/24 N N N N N N
INPOLICY 31 10.4.4.4 Et1/0 STATIC
N N N N N N N N
1 2 0 0 N N N N
10.30.30.0/24 N N N N N N
INPOLICY 30 10.5.5.5 Et1/0 STATIC
N N N N N N N N
4 2 0 0 N N N N
如下所示,R4(10.4.4.4)路由器注入了更具体的路由10.20.20.0/24。此自动生成的路由会自动标记标记值5000。这种更具体的更好路由使R4成为更好的BR,以处理离开10.20.20.0/24的流量。
R4#show pfr border routes static
Flags: C - Controlled by oer, X - Path is excluded from control,
E - The control is exact, N - The control is non-exact
Flags Network Parent Tag
CE 10.20.20.0/24 10.20.0.0/16 5000
XN 10.30.30.0/24
R4#show ip route 10.20.20.0 255.255.255.0
Routing entry for 10.20.20.0/24
Known via "static", distance 1, metric 0
Tag 5000
Redistributing via ospf 100
Routing Descriptor Blocks:
* 10.0.46.6, via Ethernet1/0
Route metric is 0, traffic share count is 1
Route tag 5000
同样,R5上也会出现类似行为,它会注入更具体的路由10.30.30.0/24,其标记为5000。这使R5成为路由10.30.30.0/24流量的合适候选者。这是PfRv2首选路由流量的方式,如上所示,如“show pfr master traffic-class”中所示。
R5#show pfr border routes static
Flags: C - Controlled by oer, X - Path is excluded from control,
E - The control is exact, N - The control is non-exact
Flags Network Parent Tag
XN 10.20.20.0/24
CE 10.30.30.0/24 10.30.0.0/16 5000
R5#show ip route 10.30.30.0 255.255.255.0
Routing entry for 10.30.30.0/24
Known via "static", distance 1, metric 0
Tag 5000
Redistributing via ospf 100
Routing Descriptor Blocks:
* 10.0.57.7, via Ethernet1/0
Route metric is 0, traffic share count is 1
Route tag 5000
如果有多个边界路由器(如本例中所示),则这些自动生成的静态路由必须手动重分发到IGP中,以便可以到达其他边界路由器,并且它们可以根据所选BR生成的更具体路由来路由流量。
任何未通过BGP、EIGRP或静态路由获知的父路由都使用基于策略的路由(PBR)进行控制。 PfRv2注入动态路由映射和访问列表以控制流量。以下是R4和R5上OSPF父路由的外观。
R4#show ip route
--output suppressed--
O E2 10.20.0.0/16 [110/20] via 10.0.46.6, 02:16:35, Ethernet1/0
O E2 10.30.0.0/16 [110/20] via 10.0.46.6, 02:16:35, Ethernet1/0
R5#show ip route
--output suppressed--
O E2 10.20.0.0/16 [110/20] via 10.0.57.7, 02:18:20, Ethernet1/0
O E2 10.30.0.0/16 [110/20] via 10.0.57.7, 02:18:20, Ethernet1/0
当PfRv2必须通过基于策略的路由控制流量时,它需要BR之间直连接口。此直连链路可以是物理连接,也可以是GRE隧道。必须在PfRv2边界定义中手动创建此隧道并将其配置为内部接口。
R4
interface tunnel 0 // Defining GRE tunnel for policy routing of traffic.
ip add 10.0.45.4
tunnel source 10.0.24.4
tunnel destination 10.0.25.5
R5
interface tunnel 0
ip add 10.0.45.5
tunnel source 10.0.25.5
tunnel destination 10.0.24.4
border 10.4.4.4 key-chain pfr
interface Tunnel0 internal // Packets would be policy routed to selected BR using this Tunnel.
interface Ethernet1/0 external
interface Ethernet1/2 internal
link-group MPLS
!
border 10.5.5.5 key-chain pfr
interface Tunnel0 internal // Packets would be policy routed to selected BR using this Tunnel.
interface Ethernet1/3 internal
interface Ethernet1/0 external
link-group INET
R3#show pfr master traffic-class
OER Prefix Statistics:
--output suppressed--
DstPrefix Appl_ID Dscp Prot SrcPort DstPort SrcPrefix
Flags State Time CurrBR CurrI/F Protocol
PasSDly PasLDly PasSUn PasLUn PasSLos PasLLos EBw IBw
ActSDly ActLDly ActSUn ActLUn ActSJit ActPMOS ActSLos ActLLos
--------------------------------------------------------------------------------
10.20.20.0/24 N N N N N N
INPOLICY @8 10.4.4.4 Et1/0 RIB-PBR
N N N N N N N N
2 1 0 0 N N N N
10.30.30.0/24 N N N N N N
INPOLICY 82 10.5.5.5 Et1/0 RIB-PBR
N N N N N N N N
1 1 0 0 N N N N
根据PfRv2定义的策略,它为10.20.20.0/24和10.30.30.0/24提供最佳送出路由器(BR)。例如,当发往10.20.20.0/24的流量到达R5(10.5.5.5)时,动态路由映射和访问列表会自动注入,以策略将流量路由到所选BRr4(10.4.4.4)。 数据包是通过先前定义的隧道接口路由的策略。
R5#show route-map dynamic
route-map OER_INTERNAL_RMAP, permit, sequence 0, identifier 436207617
Match clauses:
ip address (access-lists): oer#1
Set clauses:
ip next-hop 10.0.45.4
interface Tunnel0 // Tunnel is used to PBR traffic to R4.
Policy routing matches: 314076 packets, 16960104 bytes
R5#show ip access-lists dynamic
Extended IP access list oer#1
1073741823 permit ip any 10.20.20.0 0.0.0.255 (315125 matches)
2147483647 deny ip any any (314955 matches)