La documentazione per questo prodotto è stata redatta cercando di utilizzare un linguaggio senza pregiudizi. Ai fini di questa documentazione, per linguaggio senza di pregiudizi si intende un linguaggio che non implica discriminazioni basate su età, disabilità, genere, identità razziale, identità etnica, orientamento sessuale, status socioeconomico e intersezionalità. Le eventuali eccezioni possono dipendere dal linguaggio codificato nelle interfacce utente del software del prodotto, dal linguaggio utilizzato nella documentazione RFP o dal linguaggio utilizzato in prodotti di terze parti a cui si fa riferimento. Scopri di più sul modo in cui Cisco utilizza il linguaggio inclusivo.
Cisco ha tradotto questo documento utilizzando una combinazione di tecnologie automatiche e umane per offrire ai nostri utenti in tutto il mondo contenuti di supporto nella propria lingua. Si noti che anche la migliore traduzione automatica non sarà mai accurata come quella fornita da un traduttore professionista. Cisco Systems, Inc. non si assume alcuna responsabilità per l’accuratezza di queste traduzioni e consiglia di consultare sempre il documento originale in inglese (disponibile al link fornito).
In questo documento viene descritto come Performance Routing versione 2 (PfRv2) controlla il traffico in base alla decisione del criterio PfRv2. Il metodo e i criteri utilizzati per controllare il traffico dipendono dal protocollo sottostante tramite il quale viene appresa la route padre. In questo documento, l'azione di controllo del traffico PfRv2 viene dimostrata quando viene appresa la route padre tramite BGP e EIGRP.
Cisco raccomanda la conoscenza di base di Performance Routing (PfR).
Il documento può essere consultato per tutte le versioni software o hardware.
Le informazioni discusse in questo documento fanno riferimento a dispositivi usati in uno specifico ambiente di emulazione. Su tutti i dispositivi menzionati nel documento la configurazione è stata ripristinata ai valori predefiniti. Se la rete è operativa, valutare attentamente eventuali conseguenze derivanti dall'uso dei comandi.
PfRv2 consente all'amministratore di rete di configurare la lista delle informazioni per raggruppare il traffico, applicare i criteri configurati e scegliere il miglior router di confine (BR) che soddisfi alcuni parametri come il ritardo, l'jitter, l'utilizzo e così via definiti nei criteri. Il protocollo PfRv2 controlla il traffico in varie modalità e dipende dal protocollo tramite il quale viene appresa la route padre per il prefisso di destinazione. PfRv2 è in grado di modificare il RIB (Routing Information Base) modificando i protocolli di routing, inserendo route statiche o tramite routing dinamico basato su policy. Nella tabella seguente viene evidenziato il metodo di controllo delle route per vari protocolli.
Questo documento farebbe riferimento alla seguente immagine come topologia di esempio per il resto del documento.
Dispositivi mostrati nel diagramma:
R1- Server, avvio del traffico.
R3- Router master PfR.
Router di bordo R4&R5-PfR.
I client collegati a R9 e R10 sono dispositivi che ricevono il traffico dal server R1.
!
key chain pfr
key 0
key-string cisco
pfr master
policy-rules PFR
!
border 10.4.4.4 key-chain pfr
interface Ethernet1/0 external
interface Ethernet1/2 internal
link-group MPLS
!
border 10.5.5.5 key-chain pfr
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
traffic-class prefix-list APPLICATION
throughput
list seq 20 refname DATA-LEARN-LIST
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 active-probe echo 10.30.31.1
set probe frequency 5
set link-group INET fallback MPLS
!
ip prefix-list APPLICATION: 1 entries
seq 5 permit 10.20.0.0/16
!
ip prefix-list DATA: 1 entries
seq 5 permit 10.30.0.0/16
!
In questo caso, la route padre per entrambi i prefissi, ovvero 10.20.0.0/16 e 10.30.0.0/16, viene appresa tramite BGP. Di seguito viene riportato un output per il percorso padre da entrambi i router di confine (R4 e R5).
R4#show ip route
--output suppressed--
B 10.20.0.0/16 [20/0] via 10.0.46.6, 01:26:58
B 10.30.0.0/16 [20/0] via 10.0.46.6, 01:26:58
R5#show ip route
--output suppressed--
B 10.20.0.0/16 [20/0] via 10.0.57.7, 00:42:37
B 10.30.0.0/16 [20/0] via 10.0.57.7, 00:42:37
Esiste un flusso attivo di traffico per entrambe le classi di traffico ed entrambe possono essere visualizzate nello stato INPOLICY negli output sottostanti. R4 può essere visto di seguito per essere selezionato per il prefisso 10.20.20.0/24 e R5 è stato selezionato per il prefisso 10.30.30.0/24. Si tratta della preferenza del gruppo di collegamenti configurata per ogni elenco di apprendimento.
R3#show pfr master traffic-class
OER Prefix Statistics:
Pas - Passive, Act - Active, S - Short term, L - Long term, Dly - Delay (ms),
P - Percentage below threshold, Jit - Jitter (ms),
MOS - Mean Opinion Score
Los - Packet Loss (percent/10000), Un - Unreachable (flows-per-million),
E - Egress, I - Ingress, Bw - Bandwidth (kbps), N - Not applicable
U - unknown, * - uncontrolled, + - control more specific, @ - active probe all
# - Prefix monitor mode is Special, & - Blackholed Prefix
% - Force Next-Hop, ^ - Prefix is denied
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 56 10.4.4.4 Et1/0 BGP
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 59 10.5.5.5 Et1/0 BGP
N N N N N N N N
3 2 0 0 N N N N
Poiché R4 è stato selezionato da PfRv2 come router di uscita per 10.20.20.0/24, R4 inserisce un percorso con preferenza locale superiore per 10.20.20.0/24, come mostrato di seguito. Le proprietà della route inserita vengono ereditate dalla route padre.
R4#show ip bgp 10.20.20.0/24
BGP routing table entry for 10.20.20.0/24, version 60
Paths: (1 available, best #1, table default, not advertised to EBGP peer)
Advertised to update-groups:
10
Refresh Epoch 1
200, (injected path from 10.20.0.0/16)
10.0.46.6 from 10.0.46.6 (10.6.6.6)
Origin incomplete, metric 0, localpref 100, valid, external, best
Community: no-export
rx pathid: 0, tx pathid: 0x0
Sui router che inseriscono il percorso non vengono visualizzate preferenze locali maggiori. È invece visibile su altri BR che ricevono questa route tramite iBGP. Di seguito è riportato un esempio di percorso visualizzato su R5 per il prefisso 10.20.20.0/24.
R5#show ip bgp 10.20.20.0/24
BGP routing table entry for 10.20.20.0/24, version 17
Paths: (1 available, best #1, table default)
Advertised to update-groups:
6
Refresh Epoch 1
200
10.0.45.4 from 10.0.45.4 (10.4.4.4)
Origin incomplete, metric 0, localpref 5000, valid, internal, best
rx pathid: 0, tx pathid: 0x0
Pertanto, il traffico ricevuto da R5 per il prefisso 10.20.20.0/24 viene instradato a R4 in modo che possa uscire dal BR selezionato da PfRv2.
R4#show pfr border routes bgp
BGP table version is 60, local router ID is 10.4.4.4
Status codes: s suppressed, d damped, h history, * valid, > best, i - internal,
r RIB-failure, S Stale, m multipath, b backup-path, f RT-Filter,
x best-external, a additional-path, c RIB-compressed,
Origin codes: i - IGP, e - EGP, ? - incomplete
RPKI validation codes: V valid, I invalid, N Not found
OER Flags: C - Controlled, X - Excluded, E - Exact, N - Non-exact, I - Injected
Network Next Hop OER LocPrf Weight Path
*> 10.20.20.0/24 10.0.46.6 CEI 5000 0 200 ?
*>i10.30.30.0/24 10.0.45.5 XN 5000 0 300 ?
Per il prefisso 10.20.20.0/24 si possono vedere tre flag. 'C' (controllato) significa che il percorso è stato controllato e iniettato localmente. 'E' (esatto) indica che la route è esatta ed è presente nella tabella BGP e non è presente una route più specifica di questa. 'I' (inserito) indica che il percorso è stato inserito localmente sul router.
Analogamente, per il prefisso 10.30.30.0/24, possono essere visualizzati due flag. 'X' (esclusa) indica che nel nostro caso il percorso non è stato iniettato localmente e ha avuto origine in altri BR, R5. E con il flag 'X' impostato, il flag 'N' può essere ignorato.
È importante notare che per impostazione predefinita la route iniettata ha un valore di preferenza locale di 5000. Pertanto, se la policy BGP utilizza già un valore superiore a 5000, è possibile che si sia verificato un problema e non è possibile prevedere i risultati. Per regolare il valore predefinito della preferenza locale, eseguire il comando seguente.
R3(config-pfr-mc)#mode route metric bgp local-pref
Si consideri il caso in cui la route padre per entrambi i prefissi, ad esempio 10.20.0.0/16 e 10.30.0.0/16, viene appresa tramite EIGRP. Di seguito viene riportato un output per il percorso padre da entrambi i router di confine (R4 e R5). In questo caso, queste route sono esterne, ma possono essere anche route interne padre EIGRP, a seconda della progettazione della rete.
R4#show ip route
--output suppressed--
D EX 10.20.0.0/16 [170/25651200] via 10.0.46.6, 00:04:25, Ethernet1/0
D EX 10.30.0.0/16 [170/25651200] via 10.0.46.6, 00:04:25, Ethernet1/0
R5#show ip route
--output suppressed--
D EX 10.20.0.0/16 [170/25651200] via 10.0.57.7, 00:05:46, Ethernet1/0
D EX 10.30.0.0/16 [170/25651200] via 10.0.57.7, 00:05:46, Ethernet1/0
Come mostrato nel caso precedente, esiste un flusso attivo di traffico per entrambe le classi ed entrambe possono essere visualizzate nello stato INPOLICY nell'output sottostante. R4 è stato selezionato per il prefisso 10.20.20.0/24 e R5 è stato selezionato per il prefisso 10.30.30.0/24. Questa è la preferenza di gruppo di collegamenti configurata per ogni elenco di apprendimento.
R3#show pfr master traffic-class
OER Prefix Statistics:
Pas - Passive, Act - Active, S - Short term, L - Long term, Dly - Delay (ms),
P - Percentage below threshold, Jit - Jitter (ms),
MOS - Mean Opinion Score
Los - Packet Loss (percent/10000), Un - Unreachable (flows-per-million),
E - Egress, I - Ingress, Bw - Bandwidth (kbps), N - Not applicable
U - unknown, * - uncontrolled, + - control more specific, @ - active probe all
# - Prefix monitor mode is Special, & - Blackholed Prefix
% - Force Next-Hop, ^ - Prefix is denied
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 EIGRP
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 24 10.5.5.5 Et1/0 EIGRP
N N N N N N N N
2 2 0 0 N N N N
Poiché R4 è stato selezionato da PfRv2 come miglior router di uscita per 10.20.20.0/24, R4 inserisce una route più specifica con tag 5000, come mostrato di seguito. Questa route inserita è sempre una route interna EIGRP anche se la route padre è esterna. Anche se la route padre ha un valore di tag, questo non viene ereditato dalla route inserita.
Nota: Non tutte le proprietà della route inserita vengono ereditate dalla route padre.
R4#show ip route 10.20.20.0 255.255.255.0
Routing entry for 10.20.20.0/24
Known via "eigrp 100", distance 90, metric 25651200
Tag 5000, type internal
Redistributing via eigrp 100
Last update from 10.0.46.6 on Ethernet1/0, 00:17:04 ago
Routing Descriptor Blocks:
* 10.0.46.6, from 0.0.0.0, 00:17:04 ago, via Ethernet1/0
Route metric is 25651200, traffic share count is 1
Total delay is 2000 microseconds, minimum bandwidth is 100 Kbit
Reliability 255/255, minimum MTU 1500 bytes
Loading 12/255, Hops 0
Route tag 5000
R4#show ip eigrp topology 10.20.20.0/24
EIGRP-IPv4 Topology Entry for AS(100)/ID(10.4.4.4) for 10.20.20.0/24
State is Passive, Query origin flag is 1, 1 Successor(s), FD is 25651200
Descriptor Blocks:
10.0.46.6 (Ethernet1/0), from 0.0.0.0, Send flag is 0x0
Composite metric is (25651200/0), route is Internal
Vector metric:
Minimum bandwidth is 100 Kbit
Total delay is 2000 microseconds
Reliability is 255/255
Load is 12/255
Minimum MTU is 1500
Hop count is 0
Originating router is 10.4.4.4
Internal tag is 5000
R4#show pfr border routes eigrp
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
Il caso precedente ha una route padre meno specifica, ad esempio 10.20.0.0/16, e l'iniezione di una route più specifica 10.20.20.0/24 ha fornito i risultati desiderati. Tutto il traffico ricevuto sulla R5 verrebbe reindirizzato alla R4 utilizzando la route inferiore, quindi il traffico verrebbe indirizzato come per la PfRv2 selezionata come miglior uscita BR.
R5#show ip route 10.20.20.0
Routing entry for 10.20.20.0/24
Known via "eigrp 100", distance 90, metric 26931200
Tag 5000, type internal
Redistributing via eigrp 100
Last update from 10.0.45.4 on Tunnel10, 00:25:34 ago
Routing Descriptor Blocks:
* 10.0.45.4, from 10.0.45.4, 00:25:34 ago, via Tunnel10 // 10.0.45.4 is R4 IP.
Route metric is 26931200, traffic share count is 1
Total delay is 52000 microseconds, minimum bandwidth is 100 Kbit
Reliability 255/255, minimum MTU 1476 bytes
Loading 28/255, Hops 1
Route tag 5000
Se la route padre è anche /24, R4 inserisce una route /24 in modo che la route inserita abbia una preferenza maggiore rispetto alla route padre.
R4#show ip eigrp topology 10.20.20.0/24
EIGRP-IPv4 Topology Entry for AS(100)/ID(10.4.4.4) for 10.20.20.0/24
State is Passive, Query origin flag is 1, 1 Successor(s), FD is 25600000
Descriptor Blocks:
10.0.46.6 (Ethernet1/0), from 0.0.0.0, Send flag is 0x0
Composite metric is (25600000/0), route is Internal
Vector metric:
Minimum bandwidth is 100 Kbit
Total delay is 1 microseconds // Injected route with a delay of 1.
Reliability is 255/255
Load is 102/255
Minimum MTU is 1500
Hop count is 0
Originating router is 10.4.4.4
Internal tag is 5000
10.0.45.5 (Tunnel10), from 10.0.45.5, Send flag is 0x0
Composite metric is (26931200/25651200), route is External
Vector metric:
Minimum bandwidth is 100 Kbit
Total delay is 52000 microseconds
Reliability is 255/255
Load is 99/255
Minimum MTU is 1476
Hop count is 2
Originating router is 10.0.78.7
External data:
AS number of route is 0
External protocol is Static, external metric is 0
Administrator tag is 0 (0x00000000)
10.0.46.6 (Ethernet1/0), from 10.0.46.6, Send flag is 0x0 //Parent route
Composite metric is (25651200/281600), route is External
Vector metric:
Minimum bandwidth is 100 Kbit
Total delay is 2000 microseconds
Reliability is 255/255
Load is 102/255
Minimum MTU is 1500
Hop count is 1
Originating router is 10.0.68.6
External data:
AS number of route is 0
External protocol is Static, external metric is 0
Administrator tag is 0 (0x00000000)
Come mostrato in precedenza, quando la route padre e il prefisso inserito hanno la stessa subnet mask, la route inserita eredita la larghezza di banda minima, il carico, l'affidabilità, l'MTU e così via dalla route padre, ma il ritardo della route inserita è impostato in modo minore e pertanto questa diventa una route preferita. Quindi, quando il traffico viene ricevuto su un altro BR, ad esempio R5, R5 può inviare il traffico tramite questa route con una metrica migliore a R4 e R4 lo invia dall'interfaccia di uscita in accordo con PfRv2.