シスコサポートコミュニティ
キャンセル
次の結果を表示 
次の代わりに検索 
もしかして: 

PfRとベースルーティングの連携動作の解説

PfR は様々なモニタリング、ポリシー条件からベストパス / OOP を導き出しますが、実際の経路制御はあくまで既存のルーティング(ベースルーティング)の動作に依存します。
本ドキュメントでは PfR により選択されたパスが、ベースルーティングとどのように連動するか、いくつかのサンプルを用いて解説します。
 

<PfRの動作概要と確認方法の解説> で使用した構成例では、一つの BR に複数の external 回線が存在する構成において、PfR が選択したベストパスに対する static route を自動で生成することで ルーティングを操作していました。この動作は一番シンプルなルーティングですが、

  • BRが複数存在する場合
  • 一つの経路に対し複数アプリケーションをコントロールする必要がある場合
  • outbound トラフィックだけでなく、inbound トラフィックをコントロールする必要がある場合

のような状況では、より複雑な経路制御を必要とします。
以下4つの項目について、実際の動作を解説します。

1. Dynamic PBR によるアプリケーショントラフィック制御
2. 複数 BR 構成での Best BR 選択動作
3. 複数 BR 構成での Best BR 選択動作
4. Inbound トラフィック制御

[toc:faq]

1. Dynamic PBR によるアプリケーショントラフィック制御

<PfRの動作概要と確認方法の解説>で使用した構成例では、 ある集約経路 (10.0.30.0/24) に対する PfR によるコントロールの動作を 確認しましたが、この方法では /24 に含まれる全ての通信がいずれかの 出口 I/Fを選択することになります。
通信の宛先だけではなくアプリケーションレベルで、より細かく通信をコントロールしたい場合はあて先経路ベースの Static route の自動生成では実現することができません。
このため、PfRではアプリケーションレベルでのより細かい通信経路を制御するため、PBRが用いられます。

BR がアプリケーションレベルで通信を振り分ける場合、各アプリケーショントラフィックに応じた PBR(Policy Base Routing) が自動的に生成されます。

ここではある宛先に対するEFトラフィック(音声通信を想定)と その他BEトラフィックが どのように経路制御されるか、以下の構成を例に確認します。
※ EF: DSCP 46, BE: DSCP default

PfRがアプリケーションレベルでの通信をコントロールするためには下記のような設定が必要となります。 ここでは例として10.0.30.0/24 という宛先に対し、DSCP EF, と DSCP default を区別する 単純な設定を用います。 また、BRとしては一切追加の設定は必要ありません。


pfr master
 policy-rules MYMAP
 !
 learn
  list seq 10 refname LEARN_VOICE_VIDEO
   traffic-class access-list VOICE_VIDEO filter Site_B
   throughput
  list seq 30 refname LEARN_BEST_EFFORT
   traffic-class access-list BEST_EFFORT filter Site_B
   throughput
 !
pfr-map MYMAP 10
 match pfr learn list LEARN_VOICE_VIDEO
pfr-map MYMAP 30
 match pfr learn list LEARN_BEST_EFFORT
ip prefix-list Site_B seq 10 permit 10.0.30.0/24
!
ip access-list extended VOICE_VIDEO
 permit ip any any dscp ef
!
ip access-list extended BEST_EFFORT
 permit ip any any dscp default
!

PfR を動作させた場合、下記のように DSCP EF と default のそれぞれのトラフィックが学習され、ポリシーが適用されます。
以下では DSCP default の I/F は Et0/0 となっており、 EF の I/F は Et0/1となっています。
また、 Protocol が PBR となっていることに注目してください。


Site-A_MC_BR#show pfr master traffic-class
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.0.30.0/24              N defa  256           N           N 0.0.0.0/0         
                          INPOLICY        0      192.168.99.1 Et0/0           PBR     
               1       69        0        0        0        0       25       22
               U        1        0        0        N        N        N        N

10.0.30.0/24              N   ef  256           N           N 0.0.0.0/0         
                          INPOLICY        0      192.168.99.1 Et0/1           PBR     
               U        U        0        0        0        0        2        0
               U        2        0   500000        N        N        N        N

上記のように同一の宛先に対し、複数出口を識別する場合は、 Protocol として PBR が選択されます。 実際の PBR のルーティング条件は下記のように確認できます。


Site-A_MC_BR#show route-map dynamic
route-map OER_INTERNAL_RMAP, permit, sequence 0, identifier 1191182337
  Match clauses:
    ip address (access-lists): oer#1 
  Set clauses:
    ip next-hop 172.168.20.3
    interface Ethernet0/1
  Policy routing matches: 18800 packets, 1128000 bytes
route-map OER_INTERNAL_RMAP, permit, sequence 1, identifier 788529154
  Match clauses:
    ip address (access-lists): oer#2 
  Set clauses:
    ip next-hop 172.168.10.2
    interface Ethernet0/0
  Policy routing matches: 224429 packets, 12298614 bytes
Current active dynamic routemaps = 1

Site-A_MC_BR#show ip access-lists dynamic
Extended IP access list oer#1
    1073741823 permit ip any 10.0.30.0 0.0.0.255 dscp ef (18800 matches)
    2147483647 deny ip any any (463231 matches)
Extended IP access list oer#2
    1073741823 permit ip any 10.0.30.0 0.0.0.255 dscp default (224429 matches)
    2147483647 deny ip any any (238802 matches)

Internal I/F に自動的に適用される route-map と、そのトラフィックを識別する access-list が 自動的に生成されたことがわかります。
一方、この場合 Traffic-class に対する static route は生成されません。


Site-A_MC_BR#show ip route
S        10.0.0.0/16 [1/0] via 172.168.20.3, Ethernet0/1
                     [1/0] via 172.168.10.2, Ethernet0/0

これで、通信は同一の宛先ですがアプリケーション毎に下記図のようにルーティングされます。

2. 複数 BR 構成での Best BR 選択動作

ここでは下記のように BR が2台存在する構成で、PfR による選択経路がどのように既存ルーティングと連携するかを確認します。

関連する設定は下記の通りです。


Site-B_BR_1#
key chain pfr
 key 0
  key-string cisco
!
pfr border
 logging
 local Loopback0
 master 10.0.99.5 key-chain pfr
!
interface Loopback0
 ip address 10.0.99.2 255.255.255.255
!
interface Ethernet0/0
 ip address 172.16.10.2 255.255.255.0
!
interface Ethernet0/2
 ip address 10.0.10.2 255.255.255.0
!
router ospf 1
 redistribute static subnets route-map Static_To_OSPF
 network 10.0.20.0 0.0.0.255 area 0
 network 172.16.10.0 0.0.0.255 area 0
!
ip prefix-list Site_A seq 5 permit 192.168.0.0/16
!
route-map Static_To_OSPF permit 10
 match ip address prefix-list Site_A
!
route-map Static_To_OSPF permit 20
 match tag 5000
!
ip route 192.168.0.0 255.255.0.0 Ethernet0/0 172.16.10.1


Site-B_BR_2#
key chain pfr
 key 0
  key-string cisco
!
pfr border
 logging
 local Loopback0
 master 10.0.99.5 key-chain pfr
!
interface Loopback0
 ip address 10.0.99.3 255.255.255.255
!
interface Ethernet0/1
 ip address 172.16.20.3 255.255.255.0
!
interface Ethernet0/3
 ip address 10.0.20.3 255.255.255.0
!
router ospf 1
 redistribute static subnets route-map Static_To_OSPF
 network 10.0.30.0 0.0.0.255 area 0
 network 172.16.20.0 0.0.0.255 area 0
!
ip prefix-list Site_A seq 5 permit 192.168.0.0/16
!
route-map Static_To_OSPF permit 10
 match ip address prefix-list Site_A
!
route-map Static_To_OSPF permit 20
 match tag 5000
!
ip route 192.168.0.0 255.255.0.0 Ethernet0/1 172.16.20.1


Site-B_MC#
key chain pfr
 key 0
  key-string cisco
!
pfr master
 logging
 !
 border 10.0.99.3 key-chain pfr
  interface Ethernet0/3 internal
  interface Ethernet0/1 external
 !        
 border 10.0.99.2 key-chain pfr
  interface Ethernet0/2 internal
  interface Ethernet0/0 external
 !
!
interface Loopback0
 ip address 10.0.99.5 255.255.255.255


R4#
interface Ethernet0/2
 ip address 10.0.10.4 255.255.255.0
!         
interface Ethernet0/3
 ip address 10.0.20.4 255.255.255.0
!
interface Ethernet1/1
 ip address 10.0.30.254 255.255.255.0
!
router ospf 1
 network 10.0.0.0 0.0.255.255 area 0
!

R4 は Site-A への通信経路を、BR より OSPF にて学習しています。


R4# show ip route
O E2  192.168.0.0/16 [110/20] via 10.0.20.3, 00:01:17, Ethernet0/3
                     [110/20] via 10.0.10.2, 00:01:27, Ethernet0/2

Site-B から Site-A への通信は PfR にて下記のように学習され、ポリシーが適用されます。


Site-B_MC#show pfr master traffic
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
--------------------------------------------------------------------------------
192.168.1.0/24            N    N    N           N           N N                 
                          INPOLICY        0         10.0.99.3 Et0/1           STATIC  
               1        1        0        0        0        0       48       74
               1        1        0        0        N        N        N        N

上記を確認すると、 10.0.99.3 のルータの Et0/1 というパスが PfR により選択されていることがわかります。
このような構成では、例え MC が Site-B_BR_2 を選択し、BRが自身の回線をベストだと認識したとしても、 実際に通信が分岐している R4 はPfRにて制御されません。
R4 にて、 PfR で選択された BR へ通信を誘導するために、選択された BR(Site-B_BR_2) はその Traffic Class に対し、 Tag 5000 付きの static route を生成します。


Site-B_BR_2#show pfr border route static
Flags Network            Parent             Tag       
CE    192.168.1.0/24     192.168.0.0/16     5000    

各 BR ではあらかじめこの tag 5000 付き static route を OSPF へ再配布する設定がされているため、 R4 は BR より配布された OSPF 経路を元にルーティングします。

トラフィックは下記のように流れます。


R4#show ip route
O E2  192.168.0.0/16 [110/20] via 10.0.20.3, 00:01:40, Ethernet0/3
                     [110/20] via 10.0.10.2, 00:01:50, Ethernet0/2
O E2  192.168.1.0/24 [110/20] via 10.0.20.3, 00:00:12, Ethernet0/3

 

3. 複数 BR 構成での Best BR 選択動作

BR が2台存在する構成で、PfR による選択経路がどのように既存ルーティングと連携するかを確認します。
ここでは下記図のように SiteA - SiteB 間を eBGP で接続、 SiteB 内を iBGP で接続しています。


R4# show ip bgp 
 * i 192.168.0.0/16   10.0.99.3                0    100      0 65001 ?
 *>i                  10.0.99.2                0    100      0 65001 ?

関連する設定は下記の通りです。
※ PfR に関する設定については前項の設定から変更する必要はありません。


Site-B_BR_1#
router bgp 65002
 neighbor 10.0.99.4 remote-as 65002
 neighbor 10.0.99.4 update-source Loopback0
 neighbor 10.0.99.4 next-hop-self
 neighbor 172.16.10.1 remote-as 65001
!


Site-B_BR_2#
router bgp 65002
 neighbor 10.0.99.4 remote-as 65002
 neighbor 10.0.99.4 update-source Loopback0
 neighbor 10.0.99.4 next-hop-self
 neighbor 172.16.20.1 remote-as 65001
!


R4#
router bgp 65002
 redistribute ospf 1
 neighbor 10.0.99.2 remote-as 65002
 neighbor 10.0.99.2 update-source Loopback0
 neighbor 10.0.99.3 remote-as 65002
 neighbor 10.0.99.3 update-source Loopback0
!

この状態では通信は下記のように学習され、ポリシーが適用されます。


Site-B_MC#show pfr master  traffic-class
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
--------------------------------------------------------------------------------
192.168.1.0/24            N    N    N           N           N N                 
                          INPOLICY        0         10.0.99.2 Et0/0           BGP     
               2        1        0        0        0        0       35       48
               U        1        0        0        N        N        N        N

前項同様、通信は R4 にて選択される必要がありますが、上記 Protocol が BGP となっている点に注目してください。
Protocol BGP としてMCより選択された BRは下記のように Traffic Class に対する LocalPreference 5000 とした BGP network が生成されます。


Site-B_BR_1#show pfr border route bgp
   Network          Next Hop        OER    LocPrf Weight Path
*> 192.168.1.0      172.16.10.1     CEI     5000      0 65001 ?

この経路はが iBGP を経由し、R4 へ伝播することで、R4 は PfR で選択された BR へルーティングされます。


Site-B_MC#show ip bgp 
 * i 192.168.0.0/16   10.0.99.3                0    100      0 65001 ?
 *>i                  10.0.99.2                0    100      0 65001 ?
 *>i 192.168.1.0      10.0.99.2                0   5000      0 65001 ?

R4# show ip bgp 
B     192.168.0.0/16 [200/0] via 10.0.99.2, 01:53:37
B     192.168.1.0/24 [200/0] via 10.0.99.2, 00:30:18

 

4. Inbound トラフィック制御

PfR では BR での受信トラフィックをモニタリングし、Outbound と同様、Inbound 通信も制御することができます。
ただし、PfR により選択された 入口 I/F へトラフィックを誘導するために、BGPを用いる必要があります。 ここでは 前項と同様の構成での Inbound 通信制御を確認します。

設定内容としては前項より、MC に対して下記設定を投入するだけです。


pfr master
 learn
  inside bgp
 max range receive percent 5
 !
!

Inbound の PfR 制御は Outbound と異なり、設定されたポリシーに対し OOP になった場合のみ Enforce が行われます。
まず、ここでは Site-B_BR_2 (10.0.99.3) の E0/1 の回線の負荷を上昇させ、下記のように OOP にします。

*Apr 20 12:02:37.259: %PFR_MC-6-OOP_PASSIVE_MODE: Relative short term delay measurement is out of policy.Prefix 10.0.30.0/24 (inside prefix), delay 2, relative change 100
*Apr 20 12:04:05.801: %PFR_MC-5-OOP_LINK: Ingress load balance is out of policy.BR 10.0.99.3 i/f Et0/1 currrently at %8 bandwidth utilization, BR 10.0.99.2 i/f Et0/0 currently at %0 bandwidth utilization

MC にて Inbound の Traffic Class を確認します。ここでは Site-B_BR_1 (10.0.99.2) の E0/0 が選択されています。


Site-B_MC#show pfr master traffic inside
DstPrefix (inside)  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.0.30.0/24              N    N    N           N           N N                 
                          INPOLICY        0         10.0.99.2 Et0/0           BGP     
               U        U        0        0        0        0     1533     1468
               U        U        0        0        N        N        N        N

Inbound Traffic を Site-B 側にて制御するため、OOP と判断された Site-B_BR_2 は AS_PATH prepend された Traffic Class 経路を eBGP によって Site-A に通知します。
Site-A_Router では 下記の通り Site-B_BR_2 向けの経路が AS_PATH Prepend されたため、 Site-B_BR_1 をベストパスとして選択していることが確認できます。


Site-A_Router#show ip bgp
     Network          Next Hop            Metric LocPrf Weight Path
 *>  10.0.0.0/16      172.16.10.2              0         32768 ?
 *   10.0.30.0/24     172.16.20.3                            0 65002 65002 ?
 *>                   172.16.10.2                            0 65002 ?

Inbound トラフィックは下記のように流れます。


Site-A_Router#show ip route
B        10.0.30.0/24 [20/0] via 172.16.10.2, 00:01:21

 

 

 

バージョン履歴
改訂番号
1/1
最終更新:
‎04-23-2015 01:32 PM
更新者:
 
ラベル(1)