ipv6 over ipv4 backbone mpls mpbgp labeled-unicast on Juniper technologies router 6PE
02.11 2020 | by massimilianoIl presente documento è rivolto alla costruzione di una rete IPv6 over IPv4 backbone MPLS MPBGP-LU con tecnologia Juniper router […]
https://www.ingegnerianetworking.com/wp-content/uploads/2020/11/ipv6-over-ipv4-backbone-96c.png
Il presente documento è rivolto alla costruzione di una rete IPv6 over IPv4 backbone MPLS MPBGP-LU con tecnologia Juniper router 6PE e la verifica step by step delle configurazioni ed output relativi control-plane e data-plane.
L’architettura di riferimento è la seguente:
L’architettura di laboratorio che copre il diagramma sopra è la seguente (si analizza il flusso di traffico da H1 a H2):
STEP1: configurazione ipv6 slaac CE1
interfaces {
em0 {
description LAN1;
unit 0 {
family inet {
address 10.10.10.1/24;
}
family inet6 {
address 2001:1111:1111::/64 {
eui-64;
}
}
}
}
protocols {
router-advertisement {
interface em0.0 {
prefix 2001:1111:1111::/64;
}
}
VERIFICA INTERFACE CE1:
root@CE1>; show interfaces em0.0
Logical interface em0.0 (Index 64) (SNMP ifIndex 18)
Flags: SNMP-Traps Encapsulation: ENET2
Input packets : 6
Output packets: 23
Protocol inet, MTU: 1500
Flags: Is-Primary
Addresses, Flags: Is-Default Is-Preferred Is-Primary
Destination: 10.10.10/24, Local: 10.10.10.1, Broadcast: 10.10.10.255
Protocol inet6, MTU: 1500
Flags: Is-Primary
Addresses, Flags: Is-Default Is-Preferred Is-Primary
Destination: 2001:1111:1111::/64,
Local: 2001:1111:1111:0:e2e:49ff:fe62:3600
Addresses, Flags: Is-Preferred
Destination: fe80::/64, Local: fe80::e2e:49ff:fe62:3600
VERIFICA H1 TEST
H1> show
NAME IP/MASK GATEWAY MAC LPORT RHOST:PORT
H1 10.10.10.10/24 10.10.10.1 00:50:79:66:68:00 20018 127.0.0.1:20019
fe80::250:79ff:fe66:6800/64
2001:1111:1111:0:2050:79ff:fe66:6800/64
H1> ping 2001:1111:1111:0:e2e:49ff:fe62:3600
2001:1111:1111:0:e2e:49ff:fe62:3600 icmp6_seq=1 ttl=64 time=1.031 ms
2001:1111:1111:0:e2e:49ff:fe62:3600 icmp6_seq=2 ttl=64 time=1.017 ms
2001:1111:1111:0:e2e:49ff:fe62:3600 icmp6_seq=3 ttl=64 time=0.991 ms
2001:1111:1111:0:e2e:49ff:fe62:3600 icmp6_seq=4 ttl=64 time=1.032 ms
2001:1111:1111:0:e2e:49ff:fe62:3600 icmp6_seq=5 ttl=64 time=0.974 ms
VERIFICA CE1 PING TEST TO H1
root@CE1>; ping inet6 2001:1111:1111:0:2050:79ff:fe66:6800
PING6(56=40+8+8 bytes) 2001:1111:1111:0:e2e:49ff:fe62:3600 –> 2001:1111:1111:0:2050:79ff:fe66:6800
16 bytes from 2001:1111:1111:0:2050:79ff:fe66:6800, icmp_seq=0 hlim=64 time=1.613 ms
16 bytes from 2001:1111:1111:0:2050:79ff:fe66:6800, icmp_seq=1 hlim=64 time=0.670 ms
16 bytes from 2001:1111:1111:0:2050:79ff:fe66:6800, icmp_seq=2 hlim=64 time=0.744 ms
16 bytes from 2001:1111:1111:0:2050:79ff:fe66:6800, icmp_seq=3 hlim=64 time=0.782 ms
16 bytes from 2001:1111:1111:0:2050:79ff:fe66:6800, icmp_seq=4 hlim=64 time=0.827 ms
^C
— 2001:1111:1111:0:2050:79ff:fe66:6800 ping6 statistics —
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/std-dev = 0.670/0.927/1.613/0.347 ms
STEP2: configurazione sessione EBGP IPV6 CE1 to PE1:
CE1 | PE1 |
interfaces { em1 { description to-PE1; unit 0 { family inet { address 10.1.0.0/31; } family inet6 { address fc00::10:1:0:0/127; } } } } routing-options { autonomous-system 64512; } protocols { bgp { group IPV6-EBGP { type external; local-address fc00::10:1:0:0; family inet6 { unicast; } peer-as 65000; neighbor fc00::10:1:0:1 { export IPV6-OUT; } } } } policy-options { policy-statement IPV6-OUT { term ipv6-out { from protocol direct; then accept; } } |
interfaces { em2 { description to-CE1; unit 0 { family inet { address 10.1.0.1/31; } family inet6 { address fc00::10:1:0:1/127; } } } } routing-options { autonomous-system 65000; } protocols { bgp { group IPV6-EBGP { type external; local-address fc00::10:1:0:1; family inet6 { unicast; } peer-as 64512; neighbor fc00::10:1:0:0 { } } } }
root@PE1>; |
I router Junos mettono a disposizione due modalità di collegamento PE1 – CE1 di cui:
Prima opzione: due sessioni EBGP peering di cui una dedicata al collegamento IPv4 e scambia pacchetti unicast di tipo AFI=1 e SAFI=1 mentre l’altra sessione dedicata al collegamento IPv6 dove i rispettivi peer scambiano pacchetti di tipo IPv6 unicast AFI=2 e SAFI=1
Seconda opzione: consiste in una singola sessione EBGP stabilita a livello IPv4; di fatto questo multiprotocol EBGP session è in grado di segnalare sia pacchettiIPv4 unicast (AFI=1 SAFI=1) ed IPv6 (AFI=2 SAFI=1)
La configurazione di cui sopra mette in evidenza la capacità dual-stack; il gruppo evidenziato in questo documento è dedicato al solo peering EBGP-IPv6.
VERIFICA INTERFACE CE1 and PE1
root@CE1>; show interfaces em1
Physical interface: em1, Enabled, Physical link is Up
Interface index: 9, SNMP ifIndex: 23
Description: to-CE1
Type: Ethernet, Link-level type: Ethernet, MTU: 1514, Speed: 1000mbps
Device flags : Present Running
Interface flags: SNMP-Traps
Link type : Full-Duplex
Current address: 0c:2e:49:62:36:01, Hardware address: 0c:2e:49:62:36:01
Last flapped : Never
Input packets : 730
Output packets: 854
root@CE1>; show interfaces em1.0
Logical interface em1.0 (Index 65) (SNMP ifIndex 24)
Flags: SNMP-Traps Encapsulation: ENET2
Input packets : 708
Output packets: 832
Protocol inet, MTU: 1500
Flags: None
Addresses, Flags: Is-Preferred Is-Primary
Destination: 10.1.0.0/31, Local: 10.1.0.0
Protocol inet6, MTU: 1500
Flags: None
Addresses, Flags: Is-Preferred Is-Primary
Destination: fc00::10:1:0:0/127, Local: fc00::10:1:0:0
Addresses, Flags: Is-Preferred
Destination: fe80::/64, Local: fe80::e2e:49ff:fe62:3601
root@PE1>; show interfaces em2
Physical interface: em2, Enabled, Physical link is Up
Interface index: 128, SNMP ifIndex: 116
Description: to-CE1
Type: Ethernet, Link-level type: Ethernet, MTU: 1514, Speed: 1000mbps
Device flags : Present Running
Interface flags: SNMP-Traps
Current address: 0c:2e:49:10:c0:02, Hardware address: 0c:2e:49:10:c0:02
Last flapped : 2020-11-02 13:40:52 UTC (01:10:25 ago)
Input packets : 784
Output packets: 743
root@PE1>; show interfaces em2.0
Logical interface em2.0 (Index 64) (SNMP ifIndex 117)
Flags: Up SNMP-Traps 0x4000000 Encapsulation: ENET2
Bandwidth: 0
Input packets : 735
Output packets: 750
Protocol inet, MTU: 1500
Max nh cache: 100000, New hold nh limit: 100000, Curr nh cnt: 1,
Curr new hold cnt: 0, NH drop cnt: 0
Flags: Sendbcast-pkt-to-re, Is-Primary
Addresses, Flags: Is-Preferred Is-Primary
Destination: 10.1.0.0/31, Local: 10.1.0.1
Protocol inet6, MTU: 1500
Max nh cache: 100000, New hold nh limit: 100000, Curr nh cnt: 1,
Curr new hold cnt: 0, NH drop cnt: 0
Flags: Is-Primary
Addresses, Flags: Is-Default Is-Preferred Is-Primary
Destination: fc00::10:1:0:0/127, Local: fc00::10:1:0:1
Addresses, Flags: Is-Preferred
Destination: fe80::/64, Local: fe80::e2e:49ff:fe10:c002
VERIFICA CE1 PING TEST TO PE E VICEVERSA
root@CE1>; ping inet6 fc00::10:1:0:1
PING6(56=40+8+8 bytes) fc00::10:1:0:0 –> fc00::10:1:0:1
16 bytes from fc00::10:1:0:1, icmp_seq=0 hlim=64 time=1.345 ms
16 bytes from fc00::10:1:0:1, icmp_seq=1 hlim=64 time=1.602 ms
16 bytes from fc00::10:1:0:1, icmp_seq=2 hlim=64 time=1.444 ms
16 bytes from fc00::10:1:0:1, icmp_seq=3 hlim=64 time=1.278 ms
16 bytes from fc00::10:1:0:1, icmp_seq=4 hlim=64 time=1.430 ms
^C
— fc00::10:1:0:1 ping6 statistics —
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/std-dev = 1.278/1.420/1.602/0.109 ms
root@PE1>; ping inet6 fc00::10:1:0:0
PING6(56=40+8+8 bytes) fc00::10:1:0:1 –> fc00::10:1:0:0
16 bytes from fc00::10:1:0:0, icmp_seq=0 hlim=64 time=4.866 ms
16 bytes from fc00::10:1:0:0, icmp_seq=1 hlim=64 time=1.886 ms
16 bytes from fc00::10:1:0:0, icmp_seq=2 hlim=64 time=1.934 ms
16 bytes from fc00::10:1:0:0, icmp_seq=3 hlim=64 time=1.599 ms
16 bytes from fc00::10:1:0:0, icmp_seq=4 hlim=64 time=1.522 ms
^C
— fc00::10:1:0:0 ping6 statistics —
5 packets transmitted, 5 packets received, 0% packet loss
round-trip min/avg/max/std-dev = 1.522/2.361/4.866/1.262 ms
VERIFICA SESSIONE EBGP PEERING IPV6
root@CE1>; show bgp summary
Groups: 3 Peers: 3 Down peers: 1
Table Tot Paths Act Paths Suppressed History Damp State Pending
inet.0 1 1 0 0 0 0
inet6.0 1 1 0 0 0 0
Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped…
10.1.0.1 65000 169 171 0 0 1:15:34 1/1/1/0 0/0/0/0
fc00::10:1:0:1 65000 169 170 0 0 1:15:30 Establ
inet6.0: 1/1/1/0
root@PE1>; show bgp summary
Groups: 3 Peers: 4 Down peers: 0
Table Tot Paths Act Paths Suppressed History Damp State Pending
inet.0
4 2 0 0 0 0
inet6.0
4 2 0 0 0 0
Peer AS InPkt OutPkt OutQ Flaps Last Up/Dwn State|#Active/Received/Accepted/Damped…
10.1.0.0 64512 175 171 0 0 1:17:27 1/2/2/0 0/0/0/0
172.16.0.201 65000 160 158 0 0 1:09:30 Establ
inet.0: 1/1/1/0
inet6.0: 1/1/1/0
172.16.0.202 65000 160 157 0 0 1:09:23 Establ
inet.0: 0/1/1/0
inet6.0: 0/1/1/0
fc00::10:1:0:0 64512 174 172 0 0 1:17:23 Establ
inet6.0: 1/2/2/0
VERIFICA RIB CE1 INET6
root@CE1>; show route table inet6
inet6.0: 8 destinations, 9 routes (8 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
2001:1111:1111::/64*[Direct/0] 01:30:19
> via em0.0
2001:1111:1111:0:e2e:49ff:fe62:3600/128
*[Local/0] 01:30:19
Local via em0.0
2003:3333:3333::/64*[BGP/170] 01:09:57, localpref 100
AS path: 65000 64513 I
> to fc00::10:1:0:1 via em1.0
fc00::10:1:0:0/127 *[Direct/0] 01:30:19
> via em1.0
fc00::10:1:0:0/128 *[Local/0] 01:30:19
Local via em1.0
fe80::/64 *[Direct/0] 01:30:19
> via em0.0
[Direct/0] 01:30:19
> via em1.0
fe80::e2e:49ff:fe62:3600/128
*[Local/0] 01:30:19
Local via em0.0
fe80::e2e:49ff:fe62:3601/128
*[Local/0] 01:30:19
Local via em1.0
VERIFICA RIB PE1 INET6
root@PE1>; show route table inet6
inet6.0: 7 destinations, 9 routes (7 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
2001:1111:1111::/64*[BGP/170] 01:21:40, localpref 100
AS path: 64512 I, validation-state: unverified
> to fc00::10:1:0:0 via em2.0
2003:3333:3333::/64*[BGP/170] 01:08:05, localpref 100, from 172.16.0.201
AS path: 64513 I, validation-state: unverified
> to 10.1.0.3 via em4.0, Push 2, Push 299808(top)
[BGP/170] 01:08:05, localpref 100, from 172.16.0.202
AS path: 64513 I, validation-state: unverified
> to 10.1.0.3 via em4.0, Push 2, Push 299808(top)
fc00::10:1:0:0/127 *[Direct/0] 01:21:49
> via em2.0
[BGP/170] 01:21:40, localpref 100
AS path: 64512 I, validation-state: unverified
> to fc00::10:1:0:0 via em2.0
fc00::10:1:0:1/128 *[Local/0] 01:21:49
Local via em2.0
fe80::e2e:49ff:fe10:c002/128
*[Local/0] 01:21:49
Local via em2.0
fe80::e2e:49ff:fe10:c004/128
*[Local/0] 01:21:49
Local via em4.0
ff02::2/128 *[INET6/0] 01:21:50
MultiRecv
inet6.3: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
::ffff:172.16.0.1/128
*[LDP/9] 01:15:56, metric 1
> to 10.1.0.3 via em4.0
::ffff:172.16.0.2/128
*[LDP/9] 01:15:09, metric 2
> to 10.1.0.3 via em4.0, Push 299792
::ffff:172.16.0.22/128
*[LDP/9] 01:09:35, metric 3
> to 10.1.0.3 via em4.0, Push 299808
NOTA: da ora in poi entriamo nel backbone IPV4 con MPBGP labeled-unicast e pertanto le tabelle di routing che andiamo a verificare sono:
INET.0 che rappresenta la tabella di routing IPv4 ed è popolata da protocolli di routing IGP (OSPF nel nostro lab, vanilla BGP)
INET.3 che rappresenta la tabella ausiliaria per la risoluzione del BGP Next-Hop ed è popolata da protocolli di segnalazione quali MPLS/LDP, RSVP, SPRING (nel nostro lab abbiamo MPLS/LDP)
INET6.0 ed INET6.3 sono relativi a tabelle come sopra ma dedicate al trasporto di pacchetti IPV6.
Di seguito vengono indicate le configurazioni dei PE router, P-router e in questo laboratorio impiegati i due Router Reflector:
STEP3: Configurazione Backbone MPLS IPV4
PE1 | PE2 |
interfaces { em2 { description to-CE1; unit 0 { family inet { address 10.1.0.1/31; } family inet6 { address fc00::10:1:0:1/127; } } } em4 { description to-P1; unit 0 { family inet { address 10.1.0.2/31; } family inet6; family mpls; } } lo0 { unit 0 { family inet { address 172.16.0.11/32; } } } } routing-options { autonomous-system 65000; } protocols { mpls { ipv6-tunneling; icmp-tunneling; interface em4.0; } bgp { group EBGP { type external; local-address 10.1.0.1; family inet { unicast; } peer-as 64512; neighbor 10.1.0.0 { export nhipv6-out; } } group IPV6-EBGP { type external; local-address fc00::10:1:0:1; family inet6 { unicast; } peer-as 64512; neighbor fc00::10:1:0:0 { export nhipv6-out; } } group IBGP-RR { type internal; local-address 172.16.0.11; family inet { unicast { add-path { receive; send { path-count 6; } } } } family inet6 { labeled-unicast { explicit-null; } } export NHS-CLIENT; peer-as 65000; neighbor 172.16.0.201; neighbor 172.16.0.202; } } ospf { area 0.0.0.0 { interface lo0.0; interface em4.0; } } ldp { track-igp-metric; interface em4.0; } } policy-options { policy-statement NHS-CLIENT { term NHS { from family inet; then { next-hop self; } } term NHS-IPV6 { from family inet6; then { next-hop self; } } } |
interfaces { em2 { description to-P2; unit 0 { family inet { address 10.1.0.7/31; } family inet6; family mpls; } } em4 { description to-CE2; unit 0 { family inet { address 10.1.0.8/31; } family inet6 { address fc00::10:3:0:1/127; } } } lo0 { unit 0 { family inet { address 172.16.0.22/32; } } } } routing-options { autonomous-system 65000; } protocols { mpls { ipv6-tunneling; icmp-tunneling; interface em2.0; } bgp { group EBGP { type external; peer-as 64513; neighbor 10.1.0.9; } group IPV6-EBGP { type external; local-address fc00::10:3:0:1; family inet6 { unicast; } peer-as 64513; neighbor fc00::10:3:0:0; } group IBGP-RR { local-address 172.16.0.22; family inet { unicast { add-path { receive; send { path-count 6; } } } } family inet6 { labeled-unicast { explicit-null; } } export NHS-CLIENT; peer-as 65000; neighbor 172.16.0.201; neighbor 172.16.0.202; } } ospf { area 0.0.0.0 { interface lo0.0; interface em2.0; } } ldp { track-igp-metric; interface em2.0; } } policy-options { policy-statement NHS-CLIENT { term NHS { from family inet; then { next-hop self; } } term NHS-IPV6 { from family inet6; then { next-hop self; } } } } } } } |
P1 | P2 |
interfaces { em0 { description to-P2; unit 0 { family inet { address 10.1.0.4/31; } family mpls; } } em1 { description to-PE1; unit 0 { family inet { address 10.1.0.3/31; } family mpls; } } em3 { description to-RR1; unit 0 { family inet { address 10.1.0.10/31; } family mpls; } } lo0 { unit 0 { family inet { address 172.16.0.1/32; } } } } protocols { mpls { icmp-tunneling; interface em1.0; interface em0.0; } } ospf { area 0.0.0.0 { interface lo0.0; interface em0.0; interface em1.0; interface em3.0; } } ldp { track-igp-metric; interface em0.0; interface em1.0; } } } |
interfaces { em0 { description to-P1; unit 0 { family inet { address 10.1.0.5/31; } family mpls; } } em1 { description to-PE2; unit 0 { family inet { address 10.1.0.6/31; } family mpls; } } em3 { description to-RR2; unit 0 { family inet { address 10.1.0.12/31; } family mpls; } } lo0 { unit 0 { family inet { address 172.16.0.2/32; } } } } protocols { mpls { icmp-tunneling; interface em0.0; interface em1.0; } } ospf { area 0.0.0.0 { interface lo0.0; interface em0.0; interface em1.0; interface em3.0; } } ldp { track-igp-metric; interface em0.0; interface em1.0; } } } |
RR1 | RR2 |
interfaces { em0 { description to-P1; unit 0 { family inet { address 10.1.0.11/31; }
} } lo0 { unit 0 { family inet { address 172.16.0.201/32; } } } } routing-options { rib inet6.0 { static { route 0::0/0 discard; } } autonomous-system 65000; } protocols { bgp { group IBGP { type internal; local-address 172.16.0.201; family inet { unicast; } family inet6 { labeled-unicast { explicit-null; } } peer-as 65000; neighbor 172.16.0.202; } group IBGP-CLIENT { type internal; local-address 172.16.0.201; family inet { unicast; } family inet6 { labeled-unicast { explicit-null; } } cluster 172.16.0.201; peer-as 65000; neighbor 172.16.0.11; neighbor 172.16.0.22; } } ospf { area 0.0.0.0 { interface lo0.0; interface em0.0; } } } |
interfaces { em0 { description to-P2; unit 0 { family inet { address 10.1.0.13/31; }
} } lo0 { unit 0 { family inet { address 172.16.0.202/32; } } } } routing-options { rib inet6.0 { static { route 0::0/0 discard; } } autonomous-system 65000; } protocols { bgp { group IBGP { type internal; local-address 172.16.0.202; family inet { unicast; } family inet6 { labeled-unicast { explicit-null; } } neighbor 172.16.0.201; } group IBGP-CLIENT { type internal; local-address 172.16.0.202; family inet { unicast; } family inet6 { labeled-unicast { explicit-null; } } cluster 172.16.0.202; neighbor 172.16.0.11; neighbor 172.16.0.22; } } ospf { area 0.0.0.0 { interface lo0.0; interface em0.0; } } } |
Ora dal punto di vista del PE1 andiamo a vedere le tabelle di routing per il control-plane che coinvolgono il path PE1 – RR – PE2
Il path analizzato ha come indirizzo di destinazione la rete IPV6 2003:3333:3333::/64
root@PE1>; show route 2003:3333:3333::/64
inet6.0: 7 destinations, 9 routes (7 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
2003:3333:3333::/64*[BGP/170] 00:18:57, localpref 100, from 172.16.0.201
AS path: 64513 I, validation-state: unverified
> to 10.1.0.3 via em4.0, Push 2, Push 299808(top)
[BGP/170] 00:18:57, localpref 100, from 172.16.0.202
AS path: 64513 I, validation-state: unverified
> to 10.1.0.3 via em4.0, Push 2, Push 299808(top)
root@PE1>; show route 172.16.0.201
inet.0: 18 destinations, 20 routes (18 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
172.16.0.201/32 *[OSPF/10] 00:38:35, metric 2
> to 10.1.0.3 via em4.0
root@PE1>; show route 172.16.0.202
inet.0: 18 destinations, 20 routes (18 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
172.16.0.202/32 *[OSPF/10] 00:46:24, metric 3
> to 10.1.0.3 via em4.0
Si evince come il nodo PE1 con il push della label 2 che rappresenta la label di servizio (quella interna applicata ai pacchetti entranti in IPv6) applica correttamente la funzionalità 6PE via MPBGP e trasforma il next-hop in un indirizzo IPv4 per le prefix annunciate via IPv6.
Il push della label 299808 rappresenta invece la label di trasporto (quella più esterna) ed è presente nella tabella mpls.0 dei router Juniper.
NOTA: la sintassi ” explicit-null ” indica una modalità di allocazione label di tipo per-table (anche conosciuta come per-VRF) dove un egress router assegna la stessa label a tutte le prefix nella stessa tabella ipv6 (anche se in questo lab ipv6 i nodi 6PE non hanno nessuna VRF). Il valore di label assegnata ha numero 2.
La rete IPv6 è presente nella tabella INET6.0 annunciata dai rispettivi RRs (ho configurato sopra a livello PE un add-path..) ed aventi come next-hop BGP i seguenti indirizzi indicati dal seguente output:
root@PE1>; show route 2003:3333:3333::/64 extensive
inet6.0: 7 destinations, 9 routes (7 active, 0 holddown, 0 hidden)
2003:3333:3333::/64 (2 entries, 1 announced)
TSI:
KRT in-kernel 2003:3333:3333::/64 -> {indirect(131071)}
Page 0 idx 0, (group IPV6-EBGP type External) Type 1 val 0xd0935b4 (adv_entry)
Advertised metrics:
Flags: Nexthop Change
Nexthop: fc00::10:1:0:1
AS path: [65000] 64513 I
Communities:
Path 2003:3333:3333:: from 172.16.0.201 Vector len 4. Val: 0
*BGP Preference: 170/-101
Next hop type: Indirect, Next hop index: 0
Address: 0xb499e10
Next-hop reference count: 3
Source: 172.16.0.201
Next hop type: Router, Next hop index: 571
Next hop: 10.1.0.3 via em4.0, selected
Label operation: Push 2, Push 299808(top)
Label TTL action: prop-ttl, prop-ttl(top)
Load balance label: Label 2: None; Label 299808: None;
Label element ptr: 0xb499c20
Label parent element ptr: 0xb499c80
Label element references: 1
Label element child references: 0
Label element lsp id: 0
Session Id: 0x0
Protocol next hop: ::ffff:172.16.0.22
Label operation: Push 2
Label TTL action: prop-ttl
Load balance label: Label 2: None;
Indirect next hop: 0xb714ec0 131071 INH Session ID: 0x0
State: <Active Int Ext>
Local AS: 65000 Peer AS: 65000
Age: 31:28 Metric2: 3
Validation State: unverified
Task: BGP_65000.172.16.0.201
Announcement bits (3): 0-KRT 2-BGP_RT_Background 3-Resolve tree 3
AS path: 64513 I (Originator)
Cluster list: 172.16.0.201
Originator ID: 172.16.0.22
Accepted
Route Label: 2
Localpref: 100
Router ID: 172.16.0.201
Indirect next hops: 1
Protocol next hop: ::ffff:172.16.0.22 Metric: 3
Label operation: Push 2
Label TTL action: prop-ttl
Load balance label: Label 2: None;
Indirect next hop: 0xb714ec0 131071 INH Session ID: 0x0
Indirect path forwarding next hops: 1
Next hop type: Router
Next hop: 10.1.0.3 via em4.0
Session Id: 0x0
::ffff:172.16.0.22/128 Originating RIB: inet6.3
Metric: 3 Node path count: 1
Forwarding nexthops: 1
Nexthop: 10.1.0.3 via em4.0
BGP Preference: 170/-101
Next hop type: Indirect, Next hop index: 0
Address: 0xb499e10
Next-hop reference count: 3
Source: 172.16.0.202
Next hop type: Router, Next hop index: 571
Next hop: 10.1.0.3 via em4.0, selected
Label operation: Push 2, Push 299808(top)
Label TTL action: prop-ttl, prop-ttl(top)
Load balance label: Label 2: None; Label 299808: None;
Label element ptr: 0xb499c20
Label parent element ptr: 0xb499c80
Label element references: 1
Label element child references: 0
Label element lsp id: 0
Session Id: 0x0
Protocol next hop: ::ffff:172.16.0.22
Label operation: Push 2
Label TTL action: prop-ttl
Load balance label: Label 2: None;
Indirect next hop: 0xb714ec0 131071 INH Session ID: 0x0
State: <NotBest Int Ext>
Inactive reason: Not Best in its group – Update source
Local AS: 65000 Peer AS: 65000
Age: 31:28 Metric2: 3
Validation State: unverified
Task: BGP_65000.172.16.0.202
AS path: 64513 I (Originator)
Cluster list: 172.16.0.202
Originator ID: 172.16.0.22
Accepted
Route Label: 2
Localpref: 100
Router ID: 172.16.0.202
Indirect next hops: 1
Protocol next hop: ::ffff:172.16.0.22 Metric: 3
Label operation: Push 2
Label TTL action: prop-ttl
Load balance label: Label 2: None;
Indirect next hop: 0xb714ec0 131071 INH Session ID: 0x0
Indirect path forwarding next hops: 1
Next hop type: Router
Next hop: 10.1.0.3 via em4.0
Session Id: 0x0
::ffff:172.16.0.22/128 Originating RIB: inet6.3
Metric: 3 Node path count: 1
Forwarding nexthops: 1
Nexthop: 10.1.0.3 via em4.0
root@PE1>; show route table inet6.3
inet6.3: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
::ffff:172.16.0.1/128
*[LDP/9] 00:48:26, metric 1
> to 10.1.0.3 via em4.0
::ffff:172.16.0.2/128
*[LDP/9] 00:47:46, metric 2
> to 10.1.0.3 via em4.0, Push 299792
::ffff:172.16.0.22/128
*[LDP/9] 00:39:53, metric 3
> to 10.1.0.3 via em4.0, Push 299808
Per la parte di Data o Forwarding Plane abbiamo la seguente tabella mpls.0 ed inet.3 per il BGP Next-Hop
root@PE1>; show route table inet.3
inet.3: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
172.16.0.1/32 *[LDP/9] 01:27:18, metric 1
> to 10.1.0.3 via em4.0
172.16.0.2/32 *[LDP/9] 01:26:38, metric 2
> to 10.1.0.3 via em4.0, Push 299792
172.16.0.22/32 *[LDP/9] 01:18:45, metric 3
> to 10.1.0.3 via em4.0, Push 299808
root@PE1>; show route table mpls.0
mpls.0: 8 destinations, 8 routes (8 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
0 *[MPLS/0] 01:04:15, metric 1
Receive
1 *[MPLS/0] 01:04:15, metric 1
Receive
2 *[MPLS/0] 01:04:15, metric 1
Receive
13 *[MPLS/0] 01:04:15, metric 1
Receive
299776 *[LDP/9] 01:02:17, metric 1
> to 10.1.0.3 via em4.0, Pop
299776(S=0) *[LDP/9] 01:02:17, metric 1
> to 10.1.0.3 via em4.0, Pop
299792 *[LDP/9] 01:01:37, metric 1
> to 10.1.0.3 via em4.0, Swap 299792
299808 *[LDP/9] 00:53:44, metric 1
> to 10.1.0.3 via em4.0, Swap 299808
Per quanto riguarda, quindi, il forwarding-plane è necessario verificare la funzionalità mpls label durante il path PE1 – P1 – P2 – PE2 e precisamente (PE1 lo abbiamo appena visto..)
root@P1>; show route table inet.3
inet.3: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
172.16.0.2/32 *[LDP/9] 01:28:43, metric 1
> to 10.1.0.5 via em0.0
172.16.0.11/32 *[LDP/9] 01:29:23, metric 1
> to 10.1.0.2 via em1.0
172.16.0.22/32 *[LDP/9] 01:20:50, metric 2
> to 10.1.0.5 via em0.0, Push 299808
root@P1>; show route table mpls.0
mpls.0: 8 destinations, 8 routes (8 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
0 *[MPLS/0] 01:20:11, metric 1
Receive
1 *[MPLS/0] 01:20:11, metric 1
Receive
2 *[MPLS/0] 01:20:11, metric 1
Receive
299776 *[LDP/9] 01:19:54, metric 1
> to 10.1.0.2 via em1.0, Pop
299776(S=0) *[LDP/9] 01:19:54, metric 1
> to 10.1.0.2 via em1.0, Pop
299792 *[LDP/9] 01:19:14, metric 1
> to 10.1.0.5 via em0.0, Pop
299792(S=0) *[LDP/9] 01:19:14, metric 1
> to 10.1.0.5 via em0.0, Pop
299808 *[LDP/9] 01:11:21, metric 1
> to 10.1.0.5 via em0.0, Swap 299808
root@P2>; show route table inet.3
inet.3: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
172.16.0.1/32 *[LDP/9] 01:29:39, metric 1
> to 10.1.0.4 via em0.0
172.16.0.11/32 *[LDP/9] 01:29:39, metric 2
> to 10.1.0.4 via em0.0, Push 299776
172.16.0.22/32 *[LDP/9] 01:21:45, metric 1
> to 10.1.0.7 via em1.0
root@P2>; show route table mpls.0
mpls.0: 8 destinations, 8 routes (8 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
0 *[MPLS/0] 01:30:50, metric 1
Receive
1 *[MPLS/0] 01:30:50, metric 1
Receive
2 *[MPLS/0] 01:30:50, metric 1
Receive
299776 *[LDP/9] 01:30:01, metric 1
> to 10.1.0.4 via em0.0, Pop
299776(S=0) *[LDP/9] 01:30:01, metric 1
> to 10.1.0.4 via em0.0, Pop
299792 *[LDP/9] 01:30:01, metric 1
> to 10.1.0.4 via em0.0, Swap 299776
299808 *[LDP/9] 01:22:07, metric 1
> to 10.1.0.7 via em1.0, Pop
299808(S=0) *[LDP/9] 01:22:07, metric 1
> to 10.1.0.7 via em1.0, Pop
root@PE2>; show route 2003:3333:3333::
inet6.0: 7 destinations, 9 routes (7 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
2003:3333:3333::/64*[BGP/170] 01:20:30, localpref 100
AS path: 64513 I, validation-state: unverified
> to fc00::10:3:0:0 via em4.0
root@PE2>; show route fc00::10:3:0:0
inet6.0: 7 destinations, 9 routes (7 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
fc00::10:3:0:0/127 *[Direct/0] 01:24:42
> via em4.0
[BGP/170] 01:20:51, localpref 100
AS path: 64513 I, validation-state: unverified
> to fc00::10:3:0:0 via em4.0
Il diagramma di rete evidenzia la funzionalità data-plane:
A livello Router Reflector la tabella di routing si limita alla INET.0 (IPv4) ed INET.6 (IPV6) per la taggiungibiità delle prefix IPv6 via BGP Next-Hop IPV4; si riporta la sola tabella INET.6
root@RR1>; show route table inet6
inet6.0: 3 destinations, 5 routes (3 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
::/0 *[Static/5] 02:14:54
Discard
2001:1111:1111::/64*[BGP/170] 02:13:47, localpref 100, from 172.16.0.11
AS path: 64512 I
Indirect
[BGP/170] 02:13:37, localpref 100, from 172.16.0.202
AS path: 64512 I
Indirect
2003:3333:3333::/64*[BGP/170] 02:06:22, localpref 100, from 172.16.0.22
AS path: 64513 I
Indirect
[BGP/170] 02:06:22, localpref 100, from 172.16.0.202
AS path: 64513 I
Indirect
root@RR2>; show route table inet6
inet6.0: 3 destinations, 5 routes (3 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
::/0 *[Static/5] 02:15:09
Discard
2001:1111:1111::/64*[BGP/170] 02:14:00, localpref 100, from 172.16.0.11
AS path: 64512 I
Indirect
[BGP/170] 02:14:10, localpref 100, from 172.16.0.201
AS path: 64512 I
Indirect
2003:3333:3333::/64*[BGP/170] 02:06:45, localpref 100, from 172.16.0.22
AS path: 64513 I
Indirect
[BGP/170] 02:06:45, localpref 100, from 172.16.0.201
AS path: 64513 I
Indirect
VERIFICA FINALE DI TEST PING H1 TO H2
H1> ping 2003:3333:3333:0:2050:79ff:fe66:6801
2003:3333:3333:0:2050:79ff:fe66:6801 icmp6_seq=1 ttl=54 time=910.346 ms
2003:3333:3333:0:2050:79ff:fe66:6801 icmp6_seq=2 ttl=52 time=10.968 ms
2003:3333:3333:0:2050:79ff:fe66:6801 icmp6_seq=3 ttl=52 time=8.569 ms
2003:3333:3333:0:2050:79ff:fe66:6801 icmp6_seq=4 ttl=52 time=10.918 ms
2003:3333:3333:0:2050:79ff:fe66:6801 icmp6_seq=5 ttl=52 time=9.670 ms
H2> show
NAME IP/MASK GATEWAY MAC LPORT RHOST:PORT
H2 10.30.30.30/24 10.30.30.1 00:50:79:66:68:01 20096 127.0.0.1:20097
fe80::250:79ff:fe66:6801/64
2003:3333:3333:0:2050:79ff:fe66:6801/64
VERIFICA FINALE DI TEST PING H2 TO H1
H2> ping 2001:1111:1111:0:2050:79ff:fe66:6800
2001:1111:1111:0:2050:79ff:fe66:6800 icmp6_seq=1 ttl=52 time=9.029 ms
2001:1111:1111:0:2050:79ff:fe66:6800 icmp6_seq=2 ttl=52 time=9.891 ms
2001:1111:1111:0:2050:79ff:fe66:6800 icmp6_seq=3 ttl=52 time=9.076 ms
2001:1111:1111:0:2050:79ff:fe66:6800 icmp6_seq=4 ttl=52 time=8.696 ms
2001:1111:1111:0:2050:79ff:fe66:6800 icmp6_seq=5 ttl=52 time=9.308 ms
H1> show
NAME IP/MASK GATEWAY MAC LPORT RHOST:PORT
H1 10.10.10.10/24 10.10.10.1 00:50:79:66:68:00 20018 127.0.0.1:20019
fe80::250:79ff:fe66:6800/64
2001:1111:1111:0:2050:79ff:fe66:6800/64
L’introduzione del Traffic-Engineering comporta un introduzione del protocollo RSVP ed OSPF-TE a livello dei nodi PE e P router e si riportano le configurazioni di dettaglio relative ed output di riferimento:
PE1 | PE2 |
protocols { rsvp { interface em4.0; } mpls { ipv6-tunneling; icmp-tunneling; label-switched-path TO_PE2 { to 172.16.0.22; fast-reroute; } interface em4.0; } bgp { group IBGP-RR { type internal; local-address 172.16.0.11; family inet { unicast { add-path { receive; send { path-count 6; } } } } family inet-vpn { unicast; } family inet6 { labeled-unicast { explicit-null; } } family inet6-vpn { unicast; } export NHS-CLIENT; peer-as 65000; neighbor 172.16.0.201; neighbor 172.16.0.202; } } ospf { traffic-engineering; area 0.0.0.0 { interface lo0.0; interface em4.0; } } ldp { track-igp-metric; interface em4.0; } } policy-options { policy-statement NHS-CLIENT { term NHS { from family inet; then { next-hop self; } } term NHS-IPV6 { from family inet6; then { next-hop self; } } } |
protocols { rsvp { interface em2.0; } mpls { ipv6-tunneling; icmp-tunneling; label-switched-path TO_PE1 { to 172.16.0.11; fast-reroute; } interface em2.0; } bgp { group IBGP-RR { local-address 172.16.0.22; family inet { unicast { add-path { receive; send { path-count 6; } } } } family inet-vpn { unicast; } family inet6 { labeled-unicast { explicit-null; } } family inet6-vpn { unicast; } export NHS-CLIENT; peer-as 65000; neighbor 172.16.0.201; neighbor 172.16.0.202; } } ospf { traffic-engineering; area 0.0.0.0 { interface lo0.0; interface em2.0; } } ldp { track-igp-metric; interface em2.0; } } policy-options { policy-statement NHS-CLIENT { term NHS { from family inet; then { next-hop self; } } term NHS-IPV6 { from family inet6; then { next-hop self; } } } } |
Di seguito gli output significativi partendo dal CE1 al CE2 (path PE1 – P1 – P2 – PE2 data-plane)
root@CE1>; show route
inet.0: 5 destinations, 5 routes (5 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
10.1.0.0/31 *[Direct/0] 01:08:49
> via em1.0
10.1.0.0/32 *[Local/0] 01:08:49
Local via em1.0
10.10.10.0/24 *[Direct/0] 01:08:49
> via em0.0
10.10.10.1/32 *[Local/0] 01:08:49
Local via em0.0
10.30.30.0/24 *[BGP/170] 00:35:25, localpref 100
AS path: 65000 64513 I
> to 10.1.0.1 via em1.0
inet6.0: 8 destinations, 9 routes (8 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
2001:1111:1111::/64*[Direct/0] 01:08:49
> via em0.0
2001:1111:1111:0:e2e:49ff:fe62:3600/128
*[Local/0] 01:08:49
Local via em0.0
2003:3333:3333::/64*[BGP/170] 00:35:23, localpref 100
AS path: 65000 64513 I
> to fc00::10:1:0:1 via em1.0
fc00::10:1:0:0/127 *[Direct/0] 01:08:49
> via em1.0
fc00::10:1:0:0/128 *[Local/0] 01:08:49
Local via em1.0
fe80::/64 *[Direct/0] 01:08:49
> via em0.0
[Direct/0] 01:08:49
> via em1.0
fe80::e2e:49ff:fe62:3600/128
*[Local/0] 01:08:49
Local via em0.0
fe80::e2e:49ff:fe62:3601/128
*[Local/0] 01:08:49
Local via em1.0
root@PE1>; show route
inet.0: 18 destinations, 20 routes (18 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
10.1.0.0/31 *[Direct/0] 01:04:45
> via em2.0
[BGP/170] 01:04:40, localpref 100
AS path: 64512 I, validation-state: unverified
> to 10.1.0.0 via em2.0
10.1.0.1/32 *[Local/0] 01:04:45
Local via em2.0
10.1.0.2/31 *[Direct/0] 01:04:45
> via em4.0
10.1.0.2/32 *[Local/0] 01:04:45
Local via em4.0
10.1.0.4/31 *[OSPF/10] 01:03:03, metric 2
> to 10.1.0.3 via em4.0
10.1.0.6/31 *[OSPF/10] 01:02:19, metric 3
> to 10.1.0.3 via em4.0
10.1.0.10/31 *[OSPF/10] 01:03:03, metric 2
> to 10.1.0.3 via em4.0
10.1.0.12/31 *[OSPF/10] 01:02:19, metric 3
> to 10.1.0.3 via em4.0
10.10.10.0/24 *[BGP/170] 01:04:40, localpref 100
AS path: 64512 I, validation-state: unverified
> to 10.1.0.0 via em2.0
10.30.30.0/24 *[BGP/170] 00:37:03, localpref 100, from 172.16.0.201
AS path: 64513 I, validation-state: unverified
> to 10.1.0.3 via em4.0, label-switched-path TO_PE2
[BGP/170] 00:37:03, localpref 100, from 172.16.0.202
AS path: 64513 I, validation-state: unverified
> to 10.1.0.3 via em4.0, label-switched-path TO_PE2
172.16.0.1/32 *[OSPF/10] 01:03:03, metric 1
> to 10.1.0.3 via em4.0
172.16.0.2/32 *[OSPF/10] 01:02:19, metric 2
> to 10.1.0.3 via em4.0
172.16.0.11/32 *[Direct/0] 01:04:45
> via lo0.0
172.16.0.22/32 *[OSPF/10] 00:50:02, metric 3
> to 10.1.0.3 via em4.0
172.16.0.201/32 *[OSPF/10] 00:58:23, metric 2
> to 10.1.0.3 via em4.0
172.16.0.202/32 *[OSPF/10] 00:58:15, metric 3
> to 10.1.0.3 via em4.0
224.0.0.2/32 *[LDP/9] 01:04:45, metric 1
MultiRecv
224.0.0.5/32 *[OSPF/10] 01:04:46, metric 1
MultiRecv
inet.3: 3 destinations, 4 routes (3 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
172.16.0.1/32 *[LDP/9] 01:02:59, metric 1
> to 10.1.0.3 via em4.0
172.16.0.2/32 *[LDP/9] 01:02:18, metric 2
> to 10.1.0.3 via em4.0, Push 299792
172.16.0.22/32 *[RSVP/7/1] 00:49:57, metric 3
> to 10.1.0.3 via em4.0, label-switched-path TO_PE2
[LDP/9] 00:50:00, metric 3
> to 10.1.0.3 via em4.0, Push 299840
mpls.0: 8 destinations, 8 routes (8 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
0 *[MPLS/0] 01:04:46, metric 1
Receive
1 *[MPLS/0] 01:04:46, metric 1
Receive
2 *[MPLS/0] 01:04:46, metric 1
Receive
13 *[MPLS/0] 01:04:46, metric 1
Receive
299776 *[LDP/9] 01:02:59, metric 1
> to 10.1.0.3 via em4.0, Pop
299776(S=0) *[LDP/9] 01:02:59, metric 1
> to 10.1.0.3 via em4.0, Pop
299792 *[LDP/9] 01:02:18, metric 1
> to 10.1.0.3 via em4.0, Swap 299792
299824 *[LDP/9] 00:50:00, metric 1
> to 10.1.0.3 via em4.0, Swap 299840
inet6.0: 7 destinations, 9 routes (7 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
2001:1111:1111::/64*[BGP/170] 01:04:26, localpref 100
AS path: 64512 I, validation-state: unverified
> to fc00::10:1:0:0 via em2.0
2003:3333:3333::/64*[BGP/170] 00:37:01, localpref 100, from 172.16.0.201
AS path: 64513 I, validation-state: unverified
> to 10.1.0.3 via em4.0, label-switched-path TO_PE2
[BGP/170] 00:37:01, localpref 100, from 172.16.0.202
AS path: 64513 I, validation-state: unverified
> to 10.1.0.3 via em4.0, label-switched-path TO_PE2
fc00::10:1:0:0/127 *[Direct/0] 01:04:43
> via em2.0
[BGP/170] 01:04:26, localpref 100
AS path: 64512 I, validation-state: unverified
> to fc00::10:1:0:0 via em2.0
fc00::10:1:0:1/128 *[Local/0] 01:04:43
Local via em2.0
fe80::e2e:49ff:fe10:c002/128
*[Local/0] 01:04:43
Local via em2.0
fe80::e2e:49ff:fe10:c004/128
*[Local/0] 01:04:41
Local via em4.0
ff02::2/128 *[INET6/0] 01:04:46
MultiRecv
inet6.3: 3 destinations, 4 routes (3 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
::ffff:172.16.0.1/128
*[LDP/9] 01:02:59, metric 1
> to 10.1.0.3 via em4.0
::ffff:172.16.0.2/128
*[LDP/9] 01:02:18, metric 2
> to 10.1.0.3 via em4.0, Push 299792
::ffff:172.16.0.22/128
*[RSVP/7/1] 00:49:57, metric 3
> to 10.1.0.3 via em4.0, label-switched-path TO_PE2
[LDP/9] 00:50:00, metric 3
> to 10.1.0.3 via em4.0, Push 299840
Per il solo PE1 si riporta la tabella extensive:
root@PE1>; show route 2003:3333:3333:0:2050:79ff:fe66:6801 extensive
inet6.0: 7 destinations, 9 routes (7 active, 0 holddown, 0 hidden)
2003:3333:3333::/64 (2 entries, 1 announced)
TSI:
KRT in-kernel 2003:3333:3333::/64 -> {indirect(131071)}
Page 0 idx 0, (group IPV6-EBGP type External) Type 1 val 0xd15e2dc (adv_entry)
Advertised metrics:
Flags: Nexthop Change
Nexthop: fc00::10:1:0:1
AS path: [65000] 64513 I
Communities:
Path 2003:3333:3333:: from 172.16.0.201 Vector len 4. Val: 0
*BGP Preference: 170/-101
Next hop type: Indirect, Next hop index: 0
Address: 0xd1d6670
Next-hop reference count: 3
Source: 172.16.0.201
Next hop type: Router, Next hop index: 571
Next hop: 10.1.0.3 via em4.0, selected
Label-switched-path TO_PE2
Label operation: Push 2, Push 299824(top)
Label TTL action: prop-ttl, prop-ttl(top)
Load balance label: Label 2: None; Label 299824: None;
Label element ptr: 0xd1d65a0
Label parent element ptr: 0xb498d80
Label element references: 1
Label element child references: 0
Label element lsp id: 0
Session Id: 0x0
Protocol next hop: ::ffff:172.16.0.22
Label operation: Push 2
Label TTL action: prop-ttl
Load balance label: Label 2: None;
Indirect next hop: 0xb715dc0 131071 INH Session ID: 0x0
State: <Active Int Ext>
Local AS: 65000 Peer AS: 65000
Age: 52:58 Metric2: 3
Validation State: unverified
Task: BGP_65000.172.16.0.201
Announcement bits (3): 0-KRT 2-BGP_RT_Background 3-Resolve tree 4
AS path: 64513 I (Originator)
Cluster list: 172.16.0.201
Originator ID: 172.16.0.22
Accepted
Route Label: 2
Localpref: 100
Router ID: 172.16.0.201
Indirect next hops: 1
Protocol next hop: ::ffff:172.16.0.22 Metric: 3
Label operation: Push 2
Label TTL action: prop-ttl
Load balance label: Label 2: None;
Indirect next hop: 0xb715dc0 131071 INH Session ID: 0x0
Indirect path forwarding next hops: 1
Next hop type: Router
Next hop: 10.1.0.3 via em4.0
Session Id: 0x0
::ffff:172.16.0.22/128 Originating RIB: inet6.3
Metric: 3 Node path count: 1
Forwarding nexthops: 1
Nexthop: 10.1.0.3 via em4.0
BGP Preference: 170/-101
Next hop type: Indirect, Next hop index: 0
Address: 0xd1d6670
Next-hop reference count: 3
Source: 172.16.0.202
Next hop type: Router, Next hop index: 571
Next hop: 10.1.0.3 via em4.0, selected
Label-switched-path TO_PE2
Label operation: Push 2, Push 299824(top)
Label TTL action: prop-ttl, prop-ttl(top)
Load balance label: Label 2: None; Label 299824: None;
Label element ptr: 0xd1d65a0
Label parent element ptr: 0xb498d80
Label element references: 1
Label element child references: 0
Label element lsp id: 0
Session Id: 0x0
Protocol next hop: ::ffff:172.16.0.22
Label operation: Push 2
Label TTL action: prop-ttl
Load balance label: Label 2: None;
Indirect next hop: 0xb715dc0 131071 INH Session ID: 0x0
State: <NotBest Int Ext>
Inactive reason: Not Best in its group – Update source
Local AS: 65000 Peer AS: 65000
Age: 52:58 Metric2: 3
Validation State: unverified
Task: BGP_65000.172.16.0.202
AS path: 64513 I (Originator)
Cluster list: 172.16.0.202
Originator ID: 172.16.0.22
Accepted
Route Label: 2
Localpref: 100
Router ID: 172.16.0.202
Indirect next hops: 1
Protocol next hop: ::ffff:172.16.0.22 Metric: 3
Label operation: Push 2
Label TTL action: prop-ttl
Load balance label: Label 2: None;
Indirect next hop: 0xb715dc0 131071 INH Session ID: 0x0
Indirect path forwarding next hops: 1
Next hop type: Router
Next hop: 10.1.0.3 via em4.0
Session Id: 0x0
::ffff:172.16.0.22/128 Originating RIB: inet6.3
Metric: 3 Node path count: 1
Forwarding nexthops: 1
Nexthop: 10.1.0.3 via em4.0
root@P1>; show route
inet.0: 15 destinations, 15 routes (15 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
10.1.0.2/31 *[Direct/0] 01:07:52
> via em1.0
10.1.0.3/32 *[Local/0] 01:07:52
Local via em1.0
10.1.0.4/31 *[Direct/0] 01:07:52
> via em0.0
10.1.0.4/32 *[Local/0] 01:07:52
Local via em0.0
10.1.0.6/31 *[OSPF/10] 01:06:58, metric 2
> to 10.1.0.5 via em0.0
10.1.0.10/31 *[Direct/0] 01:07:52
> via em3.0
10.1.0.10/32 *[Local/0] 01:07:52
Local via em3.0
10.1.0.12/31 *[OSPF/10] 01:06:58, metric 2
> to 10.1.0.5 via em0.0
172.16.0.1/32 *[Direct/0] 01:07:52
> via lo0.0
172.16.0.2/32 *[OSPF/10] 01:06:58, metric 1
> to 10.1.0.5 via em0.0
172.16.0.11/32 *[OSPF/10] 01:07:36, metric 1
> to 10.1.0.2 via em1.0
172.16.0.22/32 *[OSPF/10] 00:54:38, metric 2
> to 10.1.0.5 via em0.0
172.16.0.201/32 *[OSPF/10] 01:03:01, metric 1
> to 10.1.0.11 via em3.0
172.16.0.202/32 *[OSPF/10] 01:02:52, metric 2
> to 10.1.0.5 via em0.0
224.0.0.5/32 *[OSPF/10] 01:07:53, metric 1
MultiRecv
inet.3: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
172.16.0.2/32 *[LDP/9] 01:01:43, metric 1
> to 10.1.0.5 via em0.0
172.16.0.11/32 *[LDP/9] 01:01:43, metric 1
> to 10.1.0.2 via em1.0
172.16.0.22/32 *[LDP/9] 00:54:37, metric 2
> to 10.1.0.5 via em0.0, Push 299840
mpls.0: 11 destinations, 11 routes (11 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
0 *[MPLS/0] 01:07:53, metric 1
Receive
1 *[MPLS/0] 01:07:53, metric 1
Receive
2 *[MPLS/0] 01:07:53, metric 1
Receive
299776 *[LDP/9] 01:01:43, metric 1
> to 10.1.0.2 via em1.0, Pop
299776(S=0) *[LDP/9] 01:01:43, metric 1
> to 10.1.0.2 via em1.0, Pop
299792 *[LDP/9] 01:01:43, metric 1
> to 10.1.0.5 via em0.0, Pop
299792(S=0) *[LDP/9] 01:01:43, metric 1
> to 10.1.0.5 via em0.0, Pop
299824 *[RSVP/7/1] 00:54:41, metric 1
> to 10.1.0.5 via em0.0, label-switched-path TO_PE2
299840 *[LDP/9] 00:54:37, metric 1
> to 10.1.0.5 via em0.0, Swap 299840
299856 *[RSVP/7/1] 00:54:23, metric 1
> to 10.1.0.2 via em1.0, label-switched-path TO_PE1
299856(S=0) *[RSVP/7/1] 00:54:23, metric 1
> to 10.1.0.2 via em1.0, label-switched-path TO_PE1
inet6.3: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
::ffff:172.16.0.2/128
*[LDP/9] 01:01:43, metric 1
> to 10.1.0.5 via em0.0
::ffff:172.16.0.11/128
*[LDP/9] 01:01:43, metric 1
> to 10.1.0.2 via em1.0
::ffff:172.16.0.22/128
*[LDP/9] 00:54:37, metric 2
> to 10.1.0.5 via em0.0, Push 299840
root@P2>; show route
inet.0: 15 destinations, 15 routes (15 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
10.1.0.2/31 *[OSPF/10] 01:10:38, metric 2
> to 10.1.0.4 via em0.0
10.1.0.4/31 *[Direct/0] 01:11:25
> via em0.0
10.1.0.5/32 *[Local/0] 01:11:25
Local via em0.0
10.1.0.6/31 *[Direct/0] 01:11:25
> via em1.0
10.1.0.6/32 *[Local/0] 01:11:25
Local via em1.0
10.1.0.10/31 *[OSPF/10] 01:10:38, metric 2
> to 10.1.0.4 via em0.0
10.1.0.12/31 *[Direct/0] 01:11:25
> via em3.0
10.1.0.12/32 *[Local/0] 01:11:25
Local via em3.0
172.16.0.1/32 *[OSPF/10] 01:10:38, metric 1
> to 10.1.0.4 via em0.0
172.16.0.2/32 *[Direct/0] 01:11:25
> via lo0.0
172.16.0.11/32 *[OSPF/10] 01:10:38, metric 2
> to 10.1.0.4 via em0.0
172.16.0.22/32 *[OSPF/10] 00:58:21, metric 1
> to 10.1.0.7 via em1.0
172.16.0.201/32 *[OSPF/10] 01:06:42, metric 2
> to 10.1.0.4 via em0.0
172.16.0.202/32 *[OSPF/10] 01:06:32, metric 1
> to 10.1.0.13 via em3.0
224.0.0.5/32 *[OSPF/10] 01:11:26, metric 1
MultiRecv
inet.3: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
172.16.0.1/32 *[LDP/9] 01:10:37, metric 1
> to 10.1.0.4 via em0.0
172.16.0.11/32 *[LDP/9] 01:10:37, metric 2
> to 10.1.0.4 via em0.0, Push 299776
172.16.0.22/32 *[LDP/9] 00:58:19, metric 1
> to 10.1.0.7 via em1.0
mpls.0: 11 destinations, 11 routes (11 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
0 *[MPLS/0] 01:11:26, metric 1
Receive
1 *[MPLS/0] 01:11:26, metric 1
Receive
2 *[MPLS/0] 01:11:26, metric 1
Receive
299776 *[LDP/9] 01:10:37, metric 1
> to 10.1.0.4 via em0.0, Pop
299776(S=0) *[LDP/9] 01:10:37, metric 1
> to 10.1.0.4 via em0.0, Pop
299792 *[LDP/9] 01:10:37, metric 1
> to 10.1.0.4 via em0.0, Swap 299776
299824 *[RSVP/7/1] 00:58:24, metric 1
> to 10.1.0.7 via em1.0, label-switched-path TO_PE2
299824(S=0) *[RSVP/7/1] 00:58:24, metric 1
> to 10.1.0.7 via em1.0, label-switched-path TO_PE2
299840 *[LDP/9] 00:58:19, metric 1
> to 10.1.0.7 via em1.0, Pop
299840(S=0) *[LDP/9] 00:58:19, metric 1
> to 10.1.0.7 via em1.0, Pop
299856 *[RSVP/7/1] 00:58:06, metric 1
> to 10.1.0.4 via em0.0, label-switched-path TO_PE1
inet6.3: 3 destinations, 3 routes (3 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
::ffff:172.16.0.1/128
*[LDP/9] 01:10:37, metric 1
> to 10.1.0.4 via em0.0
::ffff:172.16.0.11/128
*[LDP/9] 01:10:37, metric 2
> to 10.1.0.4 via em0.0, Push 299776
::ffff:172.16.0.22/128
*[LDP/9] 00:58:19, metric 1
> to 10.1.0.7 via em1.0
root@PE2>; show route
inet.0: 18 destinations, 20 routes (18 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
10.1.0.2/31 *[OSPF/10] 01:00:09, metric 3
> to 10.1.0.6 via em2.0
10.1.0.4/31 *[OSPF/10] 01:00:09, metric 2
> to 10.1.0.6 via em2.0
10.1.0.6/31 *[Direct/0] 01:00:24
> via em2.0
10.1.0.7/32 *[Local/0] 01:00:24
Local via em2.0
10.1.0.8/31 *[Direct/0] 01:00:24
> via em4.0
[BGP/170] 00:47:12, localpref 100
AS path: 64513 I, validation-state: unverified
> to 10.1.0.9 via em4.0
10.1.0.8/32 *[Local/0] 01:00:24
Local via em4.0
10.1.0.10/31 *[OSPF/10] 01:00:09, metric 3
> to 10.1.0.6 via em2.0
10.1.0.12/31 *[OSPF/10] 01:00:09, metric 2
> to 10.1.0.6 via em2.0
10.10.10.0/24 *[BGP/170] 00:59:43, localpref 100, from 172.16.0.201
AS path: 64512 I, validation-state: unverified
> to 10.1.0.6 via em2.0, label-switched-path TO_PE1
[BGP/170] 00:59:39, localpref 100, from 172.16.0.202
AS path: 64512 I, validation-state: unverified
> to 10.1.0.6 via em2.0, label-switched-path TO_PE1
10.30.30.0/24 *[BGP/170] 00:47:12, localpref 100
AS path: 64513 I, validation-state: unverified
> to 10.1.0.9 via em4.0
172.16.0.1/32 *[OSPF/10] 01:00:09, metric 2
> to 10.1.0.6 via em2.0
172.16.0.2/32 *[OSPF/10] 01:00:09, metric 1
> to 10.1.0.6 via em2.0
172.16.0.11/32 *[OSPF/10] 01:00:09, metric 3
> to 10.1.0.6 via em2.0
172.16.0.22/32 *[Direct/0] 01:00:23
> via lo0.0
172.16.0.201/32 *[OSPF/10] 01:00:09, metric 3
> to 10.1.0.6 via em2.0
172.16.0.202/32 *[OSPF/10] 01:00:09, metric 2
> to 10.1.0.6 via em2.0
224.0.0.2/32 *[LDP/9] 01:00:24, metric 1
MultiRecv
224.0.0.5/32 *[OSPF/10] 01:00:26, metric 1
MultiRecv
inet.3: 3 destinations, 4 routes (3 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
172.16.0.1/32 *[LDP/9] 01:00:09, metric 2
> to 10.1.0.6 via em2.0, Push 299776
172.16.0.2/32 *[LDP/9] 01:00:09, metric 1
> to 10.1.0.6 via em2.0
172.16.0.11/32 *[RSVP/7/1] 00:59:55, metric 3
> to 10.1.0.6 via em2.0, label-switched-path TO_PE1
[LDP/9] 01:00:09, metric 3
> to 10.1.0.6 via em2.0, Push 299792
mpls.0: 8 destinations, 8 routes (8 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
0 *[MPLS/0] 01:00:25, metric 1
Receive
1 *[MPLS/0] 01:00:25, metric 1
Receive
2 *[MPLS/0] 01:00:25, metric 1
Receive
13 *[MPLS/0] 01:00:25, metric 1
Receive
299776 *[LDP/9] 01:00:09, metric 1
> to 10.1.0.6 via em2.0, Pop
299776(S=0) *[LDP/9] 01:00:09, metric 1
> to 10.1.0.6 via em2.0, Pop
299792 *[LDP/9] 01:00:09, metric 1
> to 10.1.0.6 via em2.0, Swap 299776
299808 *[LDP/9] 01:00:09, metric 1
> to 10.1.0.6 via em2.0, Swap 299792
inet6.0: 7 destinations, 9 routes (7 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
2001:1111:1111::/64*[BGP/170] 00:59:43, localpref 100, from 172.16.0.201
AS path: 64512 I, validation-state: unverified
> to 10.1.0.6 via em2.0, label-switched-path TO_PE1
[BGP/170] 00:59:39, localpref 100, from 172.16.0.202
AS path: 64512 I, validation-state: unverified
> to 10.1.0.6 via em2.0, label-switched-path TO_PE1
2003:3333:3333::/64*[BGP/170] 00:47:10, localpref 100
AS path: 64513 I, validation-state: unverified
> to fc00::10:3:0:0 via em4.0
fc00::10:3:0:0/127 *[Direct/0] 01:00:16
> via em4.0
[BGP/170] 00:47:10, localpref 100
AS path: 64513 I, validation-state: unverified
> to fc00::10:3:0:0 via em4.0
fc00::10:3:0:1/128 *[Local/0] 01:00:16
Local via em4.0
fe80::e2e:49ff:feba:3102/128
*[Local/0] 01:00:18
Local via em2.0
fe80::e2e:49ff:feba:3104/128
*[Local/0] 01:00:15
Local via em4.0
ff02::2/128 *[INET6/0] 01:00:26
MultiRecv
inet6.3: 3 destinations, 4 routes (3 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
::ffff:172.16.0.1/128
*[LDP/9] 01:00:09, metric 2
> to 10.1.0.6 via em2.0, Push 299776
::ffff:172.16.0.2/128
*[LDP/9] 01:00:09, metric 1
> to 10.1.0.6 via em2.0
::ffff:172.16.0.11/128
*[RSVP/7/1] 00:59:55, metric 3
> to 10.1.0.6 via em2.0, label-switched-path TO_PE1
[LDP/9] 01:00:09, metric 3
> to 10.1.0.6 via em2.0, Push 299792
Si riportano per completezza le tabelle di routing del Router Reflector 1 (il RR-2 è medesimo)
root@RR1>; show route
inet.0: 15 destinations, 17 routes (15 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
10.1.0.2/31 *[OSPF/10] 01:08:41, metric 2
> to 10.1.0.10 via em0.0
10.1.0.4/31 *[OSPF/10] 01:08:41, metric 2
> to 10.1.0.10 via em0.0
10.1.0.6/31 *[OSPF/10] 01:08:41, metric 3
> to 10.1.0.10 via em0.0
10.1.0.10/31 *[Direct/0] 01:08:57
> via em0.0
10.1.0.11/32 *[Local/0] 01:08:57
Local via em0.0
10.1.0.12/31 *[OSPF/10] 01:08:41, metric 3
> to 10.1.0.10 via em0.0
10.10.10.0/24 *[BGP/170] 01:05:41, localpref 100, from 172.16.0.11
AS path: 64512 I
> to 10.1.0.10 via em0.0
[BGP/170] 01:04:32, localpref 100, from 172.16.0.202
AS path: 64512 I
> to 10.1.0.10 via em0.0
10.30.30.0/24 *[BGP/170] 00:48:13, localpref 100, from 172.16.0.22
AS path: 64513 I
> to 10.1.0.10 via em0.0
[BGP/170] 00:48:13, localpref 100, from 172.16.0.202
AS path: 64513 I
> to 10.1.0.10 via em0.0
172.16.0.1/32 *[OSPF/10] 01:08:41, metric 1
> to 10.1.0.10 via em0.0
172.16.0.2/32 *[OSPF/10] 01:08:41, metric 2
> to 10.1.0.10 via em0.0
172.16.0.11/32 *[OSPF/10] 01:08:41, metric 2
> to 10.1.0.10 via em0.0
172.16.0.22/32 *[OSPF/10] 01:00:41, metric 3
> to 10.1.0.10 via em0.0
172.16.0.201/32 *[Direct/0] 01:08:57
> via lo0.0
172.16.0.202/32 *[OSPF/10] 01:08:36, metric 3
> to 10.1.0.10 via em0.0
224.0.0.5/32 *[OSPF/10] 01:08:59, metric 1
MultiRecv
inet6.0: 3 destinations, 5 routes (3 active, 0 holddown, 0 hidden)
+ = Active Route, – = Last Active, * = Both
::/0 *[Static/5] 01:08:57
Discard
2001:1111:1111::/64*[BGP/170] 01:05:41, localpref 100, from 172.16.0.11
AS path: 64512 I
Indirect
[BGP/170] 01:04:32, localpref 100, from 172.16.0.202
AS path: 64512 I
Indirect
2003:3333:3333::/64*[BGP/170] 00:48:11, localpref 100, from 172.16.0.22
AS path: 64513 I
Indirect
[BGP/170] 00:48:11, localpref 100, from 172.16.0.202
AS path: 64513 I
Indirect
VERIFICA DI TEST PING H1 to H2
H1> ping 2003:3333:3333:0:2050:79ff:fe66:6801
2003:3333:3333:0:2050:79ff:fe66:6801 icmp6_seq=1 ttl=52 time=10.390 ms
2003:3333:3333:0:2050:79ff:fe66:6801 icmp6_seq=2 ttl=52 time=9.320 ms
2003:3333:3333:0:2050:79ff:fe66:6801 icmp6_seq=3 ttl=52 time=8.957 ms
2003:3333:3333:0:2050:79ff:fe66:6801 icmp6_seq=4 ttl=52 time=8.939 ms
2003:3333:3333:0:2050:79ff:fe66:6801 icmp6_seq=5 ttl=52 time=8.489 ms
H1> show
NAME IP/MASK GATEWAY MAC LPORT RHOST:PORT
H1 10.10.10.10/24 10.10.10.1 00:50:79:66:68:00 20018 127.0.0.1:20019
fe80::250:79ff:fe66:6800/64
2001:1111:1111:0:2050:79ff:fe66:6800/64
VERIFICA DI TEST PING H2 to H1
H2> ping 2001:1111:1111:0:2050:79ff:fe66:6800
2001:1111:1111:0:2050:79ff:fe66:6800 icmp6_seq=1 ttl=52 time=8.786 ms
2001:1111:1111:0:2050:79ff:fe66:6800 icmp6_seq=2 ttl=52 time=7.887 ms
2001:1111:1111:0:2050:79ff:fe66:6800 icmp6_seq=3 ttl=52 time=7.321 ms
2001:1111:1111:0:2050:79ff:fe66:6800 icmp6_seq=4 ttl=52 time=7.351 ms
2001:1111:1111:0:2050:79ff:fe66:6800 icmp6_seq=5 ttl=52 time=7.703 ms
H2> show
NAME IP/MASK GATEWAY MAC LPORT RHOST:PORT
H2 10.30.30.30/24 10.30.30.1 00:50:79:66:68:01 20096 127.0.0.1:20097
fe80::250:79ff:fe66:6801/64
2003:3333:3333:0:2050:79ff:fe66:6801/64