This section uses an L3VPN as an example to describe how to use iFIT dynamic flow learning to implement end-to-end packet loss and delay measurement.
In order to meet higher user demands on service quality, iFIT is required on an L3VPN to monitor the packet loss rate and delay on links between PEs in real time. This assures timely response when service quality deteriorates. iFIT supports dynamic flow learning on the ingress by using the mask or exact match of the source or destination address. In addition, iFIT can flexibly monitor service quality in real time by configuring a learning whitelist.
Figure 1 shows an L3VPN where service flows enter the network through PE1, traverse the P, and leave the network through PE2.
Configure basic 1588v2 functions to synchronize the clocks across all devices.
Configure packet loss and delay measurement on the PEs to collect the packet loss rate and delay statistics at intervals.
IP address of each interface as listed in Figure 1.
Source IP address (10.11.1.1) and destination IP address (10.22.2.2) of dynamic flows learned by iFIT
# Configure the P to import clock signals from BITS0.
[~P] clock bits-type bits0 2mhz [*P] clock source bits0 synchronization enable [*P] clock source bits0 priority 1 [*P] commit
# Enable 1588v2 globally. The following uses the P as an example. The configurations of other devices are similar to the configuration of the P.
[~P] ptp enable [*P] ptp domain 1 [*P] ptp device-type bc [*P] ptp clock-source local clock-class 185 [*P] clock source ptp synchronization enable [*P] clock source ptp priority 1 [*P] commit
Enable 1588v2 on interfaces. The following uses the P as an example. The configuration of other devices is similar to the configuration of the P.
[~P] interface gigabitethernet 0/1/0 [~P-GigabitEthernet0/1/0] ptp enable [*P-GigabitEthernet0/1/0] commit [~P-GigabitEthernet0/1/0] quit [~P] interface gigabitethernet 0/1/8 [~P-GigabitEthernet0/1/8] ptp enable [*P-GigabitEthernet0/1/8] commit [~P-GigabitEthernet0/1/8] quit [~P] interface gigabitethernet 0/1/16 [~P-GigabitEthernet0/1/16] ptp enable [*P-GigabitEthernet0/1/16] commit [~P-GigabitEthernet0/1/16] quit
# Configure PE1.
<PE1> system-view [~PE1] ifit [*PE1-ifit] node-id 10 [*PE1-ifit] encapsulation nexthop 3.3.3.9 [*PE1-ifit] whitelist-group 1 [*PE1-ifit-whitelist-group-1] rule rule1 ipv4 source 10.11.1.1 32 destination 10.22.2.2 32 [*PE1-ifit-whitelist-group-1] commit [~PE1-ifit-whitelist-group-1] quit [*PE1-ifit] flow-learning vpn-instance vpna [*PE1-ifit-vpn-instance-vpna] flow-learning unidirectional [*PE1-ifit-vpn-instance-vpna] flow-learning interface all whitelist-group 1 [*PE1-ifit-vpn-instance-vpna] commit
[~PE1] display ifit dynamic ------------------------------------------------------------------------- Flow Classification : dynamic Instance Id : 10 Flow Id : 1572869 Flow Type : unidirectional Source IP Address/Mask Length : 10.11.1.1/32 Destination IP Address/Mask Length : 10.22.2.2/32 Protocol : any Source Port : any Destination Port : any Gtp : disable Gtp TeId : -- Dscp : -- Interface : GigabitEthernett0/1/0 vpn-instance : vpna Loss Measure : enable Delay Measure : enable Delay Per packet Measure : disable Disorder Measure : disable Gtpu Sequence Measure : disable Measure Mode : e2e Interval : 60(s) Tunnel Type : --
<PE2> system-view [~PE2] ifit [*PE2-ifit] commit
# Run the display ifit dynamic-hop command to check the configuration and status of PE2.
[~PE2] display ifit dynamic-hop ------------------------------------------------------------------------- Flow Classification : dynamic-hop Instance Id : 514 Flow Id : 1572869 Flow Type : unidirectional Interface : GigabitEthernet0/1/0 Direction : egress Loss Measure : enable Delay Measure : enable Disorder Measure : disable Interval : 60(s)
[~PE1] telemetry [~PE1-telemetry] destination-group ifit [*PE1-telemetry-destination-group-ifit] ipv4-address 192.168.100.100 port 10001 protocol grpc no-tls [*PE1-telemetry-destination-group-ifit] quit [*PE1-telemetry] sensor-group ifit [*PE1-telemetry-sensor-group-ifit] sensor-path huawei-ifit:ifit/huawei-ifit-statistics:flow-statistics/flow-statistic [*PE1-telemetry-sensor-group-ifit-path] quit [*PE1-telemetry-sensor-group-ifit] quit [*PE1-telemetry] subscription ifit [*PE1-telemetry-subscription-ifit] sensor-group ifit sample-interval 0 [*PE1-telemetry-subscription-ifit] destination-group ifit [*PE1-telemetry-subscription-ifit] commit
# sysname PE1 # ptp enable ptp domain 1 ptp device-type bc ptp clock-source local clock-class 185 # clock source ptp synchronization enable clock source ptp priority 1 # ip vpn-instance vpna ipv4-family route-distinguisher 100:1 apply-label per-instance tnl-policy p1 vpn-target 111:1 export-extcommunity vpn-target 111:1 import-extcommunity # mpls lsr-id 1.1.1.9 # mpls mpls te # explicit-path pe2 next sid label 16200 type prefix next sid label 16300 type prefix # segment-routing # isis 1 is-level level-2 cost-style wide network-entity 10.0000.0000.0001.00 traffic-eng level-2 segment-routing mpls segment-routing global-block 16000 20000 # interface GigabitEthernet0/1/0 undo shutdown ip binding vpn-instance vpna ip address 10.1.1.2 255.255.255.0 ptp enable # interface GigabitEthernet0/1/8 undo shutdown ip address 172.16.1.1 255.255.255.0 isis enable 1 ptp enable # interface LoopBack1 ip address 1.1.1.9 255.255.255.255 isis enable 1 isis prefix-sid absolute 16100 # bgp 100 peer 3.3.3.9 as-number 100 peer 3.3.3.9 connect-interface LoopBack1 # ipv4-family unicast undo synchronization peer 3.3.3.9 enable # ipv4-family vpnv4 policy vpn-target peer 3.3.3.9 enable # ipv4-family vpn-instance vpna import-route direct peer 10.1.1.1 as-number 65410 # interface Tunnel1 ip address unnumbered interface LoopBack1 tunnel-protocol mpls te destination 3.3.3.9 mpls te signal-protocol segment-routing mpls te tunnel-id 1 mpls te path explicit-path pe2 # tunnel-policy p1 tunnel select-seq sr-te load-balance-number 1 # ifit node-id 10 encapsulation nexthop 3.3.3.9 whitelist-group 1 rule rule1 source 10.11.1.1 32 destination 10.22.2.2 32 flow-learning vpn-instance vpna flow-learning unidirectional flow-learning interface all whitelist-group 1 # telemetry # sensor-group ifit sensor-path huawei-ifit:ifit/huawei-ifit-statistics:flow-statistics/flow-statistic # destination-group ifit ipv4-address 192.168.100.100 port 10001 protocol grpc no-tls # subscription ifit sensor-group ifit sample-interval 0 destination-group ifit # return
# sysname P1 # ptp enable ptp domain 1 ptp device-type bc ptp clock-source local clock-class 185 # clock source bits0 synchronization enable clock source bits0 priority 1 clock source ptp synchronization enable clock source ptp priority 1 clock bits-type bits0 2mhz # mpls lsr-id 2.2.2.9 # mpls mpls te # segment-routing # isis 1 is-level level-2 cost-style wide network-entity 10.0000.0000.0002.00 traffic-eng level-2 segment-routing mpls segment-routing global-block 16000 20000 # interface GigabitEthernet0/1/0 undo shutdown ip address 172.16.1.2 255.255.255.0 isis enable 1 ptp enable # interface GigabitEthernet0/1/8 undo shutdown ip address 172.17.1.1 255.255.255.0 isis enable 1 ptp enable # interface GigabitEthernet0/1/16 undo shutdown ip address 172.18.1.1 255.255.255.0 ptp enable # interface LoopBack1 ip address 2.2.2.9 255.255.255.255 isis enable 1 isis prefix-sid absolute 16200 # return
# sysname PE2 # ptp enable ptp domain 1 ptp device-type bc ptp clock-source local clock-class 185 # clock source ptp synchronization enable clock source ptp priority 1 # ip vpn-instance vpna ipv4-family route-distinguisher 200:1 apply-label per-instance tnl-policy p1 vpn-target 111:1 export-extcommunity vpn-target 111:1 import-extcommunity # mpls lsr-id 3.3.3.9 # mpls mpls te # explicit-path pe1 next sid label 16200 type prefix next sid label 16100 type prefix # segment-routing # isis 1 is-level level-2 cost-style wide network-entity 10.0000.0000.0003.00 traffic-eng level-2 segment-routing mpls segment-routing global-block 16000 20000 # interface GigabitEthernet0/1/0 undo shutdown ip binding vpn-instance vpna ip address 10.2.1.2 255.255.255.0 ptp enable # interface GigabitEthernet0/1/8 undo shutdown ip address 172.17.1.2 255.255.255.0 isis enable 1 ptp enable # interface LoopBack1 ip address 3.3.3.9 255.255.255.255 isis enable 1 isis prefix-sid absolute 16300 # interface Tunnel1 ip address unnumbered interface LoopBack1 tunnel-protocol mpls te destination 1.1.1.9 mpls te signal-protocol segment-routing mpls te tunnel-id 1 mpls te path explicit-path pe1 # bgp 100 peer 1.1.1.9 as-number 100 peer 1.1.1.9 connect-interface LoopBack1 # ipv4-family unicast undo synchronization peer 1.1.1.9 enable # ipv4-family vpnv4 policy vpn-target peer 1.1.1.9 enable # ipv4-family vpn-instance vpna import-route direct peer 10.2.1.1 as-number 65420 # tunnel-policy p1 tunnel select-seq sr-te load-balance-number 1 # ifit # return
#
sysname CE1
#
interface GigabitEthernet0/1/0
undo shutdown
ip address 10.1.1.1 255.255.255.0
#
interface LoopBack1
ip address 10.11.1.1 255.255.255.255
#
bgp 65410
peer 10.1.1.2 as-number 100
#
ipv4-family unicast
undo synchronization
peer 10.1.1.2 enable
network 10.11.1.1 255.255.255.255
#
return
#
sysname CE2
#
interface GigabitEthernet0/1/0
undo shutdown
ip address 10.2.1.1 255.255.255.0
#
interface LoopBack1
ip address 10.22.2.2 255.255.255.255
#
bgp 65420
peer 10.2.1.2 as-number 100
#
ipv4-family unicast
undo synchronization
peer 10.2.1.2 enable
network 10.22.2.2 255.255.255.255
#
return