This section provides an example for configuring iFIT to implement hop-by-hop packet loss and delay measurement in inter-AS VPN Option A scenarios.
In order to meet higher user demands on service quality, iFIT is required in inter-AS VPN Option A scenarios to monitor the packet loss rate and delay of links between PEs in real time, enabling timely responses to service quality deterioration. As a basic BGP/MPLS IP VPN application in inter-AS scenarios, Option A does not require special inter-AS configuration, nor does it require MPLS to run between ASBRs. In this mode, the ASBRs of two ASs directly connect to each other and function as PEs in their own ASs. Each ASBR views the peer ASBR as its CE, creates a VPN instance for each VPN, and advertises IPv4 routes to the peer ASBR through EBGP.
In the inter-AS VPN Option A scenario shown in Figure 1, CE1 and CE2 belong to the same VPN. CE1 is connected to PE1 in AS 100, and CE2 is connected to PE2 in AS 200. Inter-AS BGP/MPLS IP VPN is implemented through Option A. Service flows enter the network through PE1, traverse ASBR1 and ASBR2, 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.
Target flow's source IP address (11.11.11.11) and destination IP address (22.22.22.22) in the iFIT instance
# Configure ASBR1 to import clock signals from BITS0.
[~ASBR1] clock bits-type bits0 2mhz [*ASBR1] clock source bits0 synchronization enable [*ASBR1] clock source bits0 priority 1 [*ASBR1] commit
# Enable 1588v2 globally. The following uses ASBR1 as an example. The configuration of other devices is similar to the configuration of ASBR1.
[~ASBR1] ptp enable [*ASBR1] ptp domain 1 [*ASBR1] ptp device-type bc [*ASBR1] ptp clock-source local clock-class 185 [*ASBR1] clock source ptp synchronization enable [*ASBR1] clock source ptp priority 1 [*ASBR1] commit
Enable 1588v2 on interfaces. The following uses ASBR1 as an example. The configuration of other devices is similar to the configuration of ASBR1.
[~ASBR1] interface gigabitethernet 0/1/0 [~ASBR1-GigabitEthernet0/1/0] ptp enable [*ASBR1-GigabitEthernet0/1/0] commit [~ASBR1-GigabitEthernet0/1/0] quit [~ASBR1] interface gigabitethernet 0/1/8 [~ASBR1-GigabitEthernet0/1/8] ptp enable [*ASBR1-GigabitEthernet0/1/8] commit [~ASBR1-GigabitEthernet0/1/8] quit [~ASBR1] interface gigabitethernet 0/1/16 [~ASBR1-GigabitEthernet0/1/16] ptp enable [*ASBR1-GigabitEthernet0/1/16] commit [~ASBR1-GigabitEthernet0/1/16] quit
# Configure PE1.
<PE1> system-view [~PE1] ifit [*PE1-ifit] node-id 10 [*PE1-ifit] encapsulation nexthop 2.2.2.9 [*PE1-ifit] instance 1 [*PE1-ifit-instance-1] measure-mode trace [*PE1-ifit-instance-1] interval 10 [*PE1-ifit-instance-1] flow unidirectional source 11.11.11.11 destination 22.22.22.22 dscp 63 vpn-instance vpn1 [*PE1-ifit-instance-1] binding interface gigabitethernet 0/1/8 [*PE1-ifit-instance-1] commit
[~PE1] display ifit static instance 1 ------------------------------------------------------------------------- Flow Classification : static Instance Id : 10 Instance-name : 1 Flow Id : 2099183617 Flow Type : unidirectional Source IP Address/Mask Length : 11.11.11.11/32 Destination IP Address/Mask Length : 22.22.22.22/32 Protocol : any Source Port : any Destination Port : any Gtp : disable Gtp TeId : -- Dscp : 63 Interface : GigabitEthernet0/1/8 vpn-instance : vpn1 Loss Measure : enable Delay Measure : enable Delay Per packet Measure : disable Disorder Measure : disable Gtpu Sequence Measure : disable Measure Mode : trace Interval : 10(s) Tunnel Type : -- [~PE1] display ifit dynamic-hop 2020-01-14 17:24:39.28 +08:00 ------------------------------------------------------------------------- Flow Classification : dynamic-hop Instance Id : 514 Flow Id : 2099183617 Flow Type : unidirectional Interface : GigabitEthernet0/1/0 Direction : transitOutput Loss Measure : enable Delay Measure : enable Disorder Measure : disable Interval : 10(s)
<ASBR1> system-view [~ASBR1] ifit [*ASBR1-ifit] commit [~ASBR1-ifit] quit
# Run the display ifit dynamic-hop command to check the configuration and status of ASBR1.
[~ASBR1] display ifit dynamic-hop ------------------------------------------------------------------------- Flow Classification : dynamic-hop Instance Id : 6 Flow Id : 2099183617 Flow Type : unidirectional Interface : GigabitEthernet0/1/0 Direction : transitInput Loss Measure : enable Delay Measure : enable Disorder Measure : disable Interval : 10(s) ------------------------------------------------------------------------- Flow Classification : dynamic-hop Instance Id : 7 Flow Id : 2099183617 Flow Type : unidirectional Interface : GigabitEthernet0/1/8 Direction : egress Loss Measure : enable Delay Measure : enable Disorder Measure : disable Interval : 10(s)
<ASBR2> system-view [~ASBR2] ifit [*ASBR2-ifit] node-id 20 [*ASBR2-ifit] encapsulation nexthop 4.4.4.9 [*ASBR2-ifit] quit [*ASBR2] interface gigabitethernet 0/1/8 [~ASBR2-GigabitEthernet0/1/8] ifit ingress mapping enable [*ASBR2-GigabitEthernet0/1/8] commit [~ASBR2-GigabitEthernet0/1/8] quit
[~ASBR1] interface gigabitethernet 0/1/8 [~ASBR1-GigabitEthernet0/1/8] ifit egress mapping enable Warning: If the iFIT ingress mapping is not configured on the peer end, this operation could cause the abnormal data reception on the receiving end. Continue? [Y/N]:y [*ASBR1-GigabitEthernet0/1/8] commit [~ASBR1-GigabitEthernet0/1/8] quit
# Run the display ifit dynamic-hop command to check the configuration and status of ASBR1.
[~ASBR1] display ifit dynamic-hop ------------------------------------------------------------------------- Flow Classification : dynamic-hop Instance Id : 6 Flow Id : 2099183617 Flow Type : unidirectional Interface : GigabitEthernet0/1/0 Direction : transitInput Loss Measure : enable Delay Measure : enable Disorder Measure : disable Interval : 10(s) ------------------------------------------------------------------------- Flow Classification : dynamic-hop Instance Id : 8 Flow Id : 2099183617 Flow Type : unidirectional Interface : GigabitEthernet0/1/8 Direction : transitOutput Loss Measure : enable Delay Measure : enable Disorder Measure : disable Interval : 10(s) ------------------------------------------------------------------------- Flow Classification : dynamic-hop Instance Id : 7 Flow Id : 2099183617 Flow Type : unidirectional Interface : GigabitEthernet0/1/8 Direction : egress Loss Measure : enable Delay Measure : enable Disorder Measure : disable Interval : 10(s)
[~ASBR2] display ifit dynamic-hop ------------------------------------------------------------------------- Flow Classification : dynamic-hop Instance Id : 5 Flow Id : 2099183617 Flow Type : unidirectional Interface : GigabitEthernet0/1/0 Direction : transitOutput Loss Measure : enable Delay Measure : enable Disorder Measure : disable Interval : 10(s) ------------------------------------------------------------------------- Flow Classification : dynamic-hop Instance Id : 4 Flow Id : 2099183617 Flow Type : unidirectional Interface : GigabitEthernet0/1/8 Direction : transitInput Loss Measure : enable Delay Measure : enable Disorder Measure : disable Interval : 10(s)
<PE2> system-view [~PE2] ifit [*PE2-ifit] commit
[~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-hop-statistics/flow-hop-statistic [*PE1-telemetry-sensor-group-ifit-path] quit [*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 vpn1 ipv4-family route-distinguisher 100:1 apply-label per-instance vpn-target 1:1 export-extcommunity vpn-target 1:1 import-extcommunity # mpls lsr-id 1.1.1.9 # mpls # mpls ldp # interface GigabitEthernet0/1/0 undo shutdown ip address 10.10.1.2 255.255.255.0 mpls mpls ldp ptp enable # interface GigabitEthernet0/1/8 undo shutdown ip binding vpn-instance vpn1 ip address 10.1.1.2 255.255.255.0 ptp enable # interface LoopBack1 ip address 1.1.1.9 255.255.255.255 # bgp 100 peer 2.2.2.9 as-number 100 peer 2.2.2.9 connect-interface LoopBack1 # ipv4-family unicast undo synchronization peer 2.2.2.9 enable # ipv4-family vpnv4 policy vpn-target peer 2.2.2.9 enable # ipv4-family vpn-instance vpn1 peer 10.1.1.1 as-number 65001 # ospf 1 area 0.0.0.0 network 1.1.1.9 0.0.0.0 network 10.10.1.0 0.0.0.255 # ifit node-id 10 encapsulation nexthop 2.2.2.9 instance 1 measure-mode trace interval 10 flow unidirectional source 11.11.11.11 destination 22.22.22.22 dscp 63 vpn-instance vpn1 binding interface GigabitEthernet0/1/8 # telemetry # sensor-group ifit sensor-path huawei-ifit:ifit/huawei-ifit-statistics:flow-hop-statistics/flow-hop-statistic 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 ASBR1 # 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 # ip vpn-instance vpn1 ipv4-family route-distinguisher 100:2 apply-label per-instance vpn-target 1:1 export-extcommunity vpn-target 1:1 import-extcommunity # mpls lsr-id 2.2.2.9 # mpls # mpls ldp # interface GigabitEthernet0/1/0 undo shutdown ip address 10.10.1.1 255.255.255.0 mpls mpls ldp ptp enable # interface GigabitEthernet0/1/8 undo shutdown ip binding vpn-instance vpn1 ip address 12.12.12.1 255.255.255.0 ptp enable ifit egress mapping enable # interface GigabitEthernet0/1/16 undo shutdown ip address 12.12.12.3 255.255.255.0 ptp enable # interface LoopBack1 ip address 2.2.2.9 255.255.255.255 # 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 vpn1 peer 12.12.12.2 as-number 200 # ospf 1 area 0.0.0.0 network 2.2.2.9 0.0.0.0 network 10.10.1.0 0.0.0.255 # ifit # return
# sysname ASBR2 # 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 vpn1 ipv4-family route-distinguisher 200:2 apply-label per-instance vpn-target 2:2 export-extcommunity vpn-target 2:2 import-extcommunity # mpls lsr-id 3.3.3.9 # mpls # mpls ldp # interface GigabitEthernet0/1/0 undo shutdown ip address 10.40.1.1 255.255.255.0 mpls mpls ldp ptp enable # interface GigabitEthernet0/1/8 undo shutdown ip binding vpn-instance vpn1 ip address 12.12.12.2 255.255.255.0 ptp enable ifit ingress mapping enable # interface LoopBack1 ip address 3.3.3.9 255.255.255.255 # bgp 200 peer 4.4.4.9 as-number 200 peer 4.4.4.9 connect-interface LoopBack1 # ipv4-family unicast undo synchronization peer 4.4.4.9 enable # ipv4-family vpnv4 policy vpn-target peer 4.4.4.9 enable # ipv4-family vpn-instance vpn1 peer 12.12.12.1 as-number 100 # ospf 1 area 0.0.0.0 network 3.3.3.9 0.0.0.0 network 10.40.1.0 0.0.0.255 # ifit node-id 20 encapsulation nexthop 4.4.4.9 # 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 vpn1 ipv4-family route-distinguisher 200:1 apply-label per-instance vpn-target 2:2 export-extcommunity vpn-target 2:2 import-extcommunity # mpls lsr-id 4.4.4.9 # mpls # mpls ldp # interface GigabitEthernet0/1/8 undo shutdown ip binding vpn-instance vpn1 ip address 10.2.1.2 255.255.255.0 ptp enable # interface GigabitEthernet0/1/0 undo shutdown ip address 10.40.1.2 255.255.255.0 mpls mpls ldp ptp enable # interface LoopBack1 ip address 4.4.4.9 255.255.255.255 # bgp 200 peer 3.3.3.9 as-number 200 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 vpn1 peer 10.2.1.1 as-number 65002 # ospf 1 area 0.0.0.0 network 4.4.4.9 0.0.0.0 network 10.40.1.0 0.0.0.255 # ifit # return
#
sysname CE1
#
interface GigabitEthernet0/1/0
undo shutdown
ip address 10.1.1.1 255.255.255.0
#
interface Loopback 1
undo shutdown
ip address 11.11.11.11 255.255.255.255
#
bgp 65001
peer 10.1.1.2 as-number 100
#
ipv4-family unicast
undo synchronization
peer 10.1.1.2 enable
network 11.11.11.11 255.255.255.255
#
return
#
sysname CE2
#
interface GigabitEthernet0/1/0
undo shutdown
ip address 10.2.1.1 255.255.255.0
#
interface Loopback 1
undo shutdown
ip address 22.22.22.22 255.255.255.255
#
bgp 65002
peer 10.2.1.2 as-number 200
#
ipv4-family unicast
undo synchronization
peer 10.2.1.2 enable
network 22.22.22.22 255.255.255.255
#
return