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