15-Network Management and Monitoring Configuration Guide

HomeSupportConfigure & DeployConfiguration GuidesH3C MSR610[810][830][1000S][2600][3600] Routers Configuration Guides(V7)-R6749-6W10015-Network Management and Monitoring Configuration Guide
28-iFIT configuration
Title Size Download
28-iFIT configuration 252.50 KB

Configuring iFIT

About iFIT

In-situ Flow Information Telemetry (iFIT) determines network performance by measuring the packet loss and packet delay of service packets transmitted on an SRv6 or G-SRv6 network. iFIT is easy to deploy and provides an accurate assessment of network performance.

Application scenarios

End-to-end measurement

To measure the packet loss and packet delay on the entire network, use end-to-end measurement. As shown in Figure 1, iFIT measures whether packet loss or packet delay occurs between the ingress point (where the target flow enters the IP network) and the egress point (where the flow leaves the network).

Figure 1 End-to-end measurement

Hop-by-hop measurement

To accurately locate the packet loss and packet delay of each network node, use hop-by-hop measurement. To locate the faulty node, you can divide an end-to-end network into smaller measurement spans. As shown in Figure 2, iFIT measures whether the packet loss and packet delay occurs between the ingress point and egress point, ingress point and transmit point, transmit point and egress point.

Figure 2 Hop-by-hop measurement

iFIT architecture

Figure 1 and Figure 2 show the important iFIT concepts including target flow, transit network, and measurement system.

Target flow

iFIT provides statistics on a per-flow basis. The target flows can be divided into the following types:

·     Static flow—A static flow is a service flow that matches a set of criteria configured on the ingress point. The ingress point generates a static flow after you enable iFIT measurement and execute the flow command to configure the flow match criteria on the ingress point. The static flow is uniquely identified by a device ID and a flow ID. The device ID is configured by the device-id command and the flow ID is a number randomly generated on the ingress point in the range of 1 to 1048575. The device ID and flow ID are encapsulated in the iFIT header and passed to the transmit points and egress point.

To view the device ID and flow ID of a static flow on the ingress point, execute the display ifit flow static command.

An iFIT header contains fields to carry device ID, flow ID, measurement period, measurement mode, status of packet delay measurement, and status of packet loss measurement.

¡     A device ID uniquely identifies a device in an iFIT measurement network.

¡     A flow ID is automatically generated on the ingress point and passed to the transmit points and egress point. A flow ID and a device ID uniquely identify a flow together.

¡     Within a measurement period, the device starts iFIT measurement, collects and reports the measurement data.

¡     The available measurement mode includes end-to-end measurement and hop-by-hop measurement.

·     Dynamic flow—An application packet flow detected on a transmit point and the egress point after they parse the received packets and dynamically learn the iFIT headers of the packets.

The device uses the device ID and flow ID in the iFIT header to identify the flow. If the device does not receive the packets using the same device ID and the same flow ID for a period of time, the device will delete the dynamic flow entry.

Detection point

A detection point is an interface where iFIT measurement is performed. You can specify detection points as required.

Transit network

The transit network only bears target flows. The target flows are not generated or terminated on the transit network. The transit network can only be a Layer 3 network. Each node on the transit network must be reachable.

Measurement system

The measurement system includes the following device role:

·     The ingress point refers to the point that the flow enters the transit network. It filters the target flow, adds iFIT headers to the packets of the flow, collects packet statistics and reports packet statistics to the analyzer.

·     A transmit point identifies the target flow by the iFIT header and reports the measurement statistics to the analyzer according to the measurement mode in the iFIT header.

·     The egress point identifies the target flow by the iFIT header, reports the measurement statistics to the analyzer, and removes the iFIT header from the packet.

·     The analyzer collects the statistics reported by the ingress point, transmit points, and egress point for data summarization and calculation.

Operating mechanism

Time synchronization mechanism

Before starting the iFIT measurement, make sure all devices are time synchronized. Therefore, all iFIT-enabled devices can use the same measurement period to report the packet statistics to the analyzer. As a best practice, the analyzer and all iFIT-enabled devices are time synchronized to facilitate management and maintenance.

You can use NTP to synchronize time between devices. Time synchronized through NTP is accurate to milliseconds For more information about NTP, see "Configuring NTP."

Packet loss measurement mechanism

The number of incoming packets and that of outgoing packets in a network should be equal within a measurement period. If they are not equal, packet loss occurs in the transit network.

Measurement data reporting mechanism

iFIT-enabled devices push the measurement data to the analyzer by using the gRPC protocol.

Currently, only gRPC dial-out mode is supported. In this mode, an iFIT-enabled device acts as a gRPC client and the analyzer acts as a gRPC server (also called a gRPC collector in the gRPC protocol). The iFIT-enabled device actively connects to the analyzer through the gRPC protocol to push the subscribed iFIT statistics on the device to the analyzer.

Working mechanism

The following illustrates the working mechanism of hop-by-hop measurement. No transmit points exist in end-to-end measurement but end-to-end measurement works similarly as hop-by-hop measurement.

As shown in Figure 3, the flow passes through four devices. Three devices are enabled with iFIT. The iFIT measurement works as follows:

1.     The analyzer synchronizes the time with all iFIT-enabled devices through the NTP protocol.

2.     The iFIT-enabled devices takes the following actions:

a.     The ingress point parses the packets to identify the target flow. It encapsulates iFIT headers to the packets, counts the number of packets, and reports the packet quantity and timestamp to the analyzer through gRPC periodically.

The ingress point is the interface bound to the target flow.

b.     A transmit point counts the number of packets containing iFIT headers and reports the packet quantity and timestamp to the analyzer through gRPC periodically.

When the target flow passes through an iFIT-enabled device, the interfaces where the target flow enters the iFIT-enabled device and leaves the iFIT-enabled device are transmit points.

c.     The egress point parses the packets to identify the target flow. It counts the number of packets containing iFIT headers, reports the packet quantity and timestamp to the analyzer through gRPC periodically, removes iFIT headers from the packets and forwards the packets.

When the target flow leaves the transit network, the interface where the target flow leaves the iFIT-enabled device is the egress point.

3.     The analyzer calculate the packet delay for the target flow of the same period and same instance.

Figure 3 Network diagram

Restrictions and guidelines

An iFIT instance monitors only one flow. If you configure flows multiple times for an iFIT instance, the most recent configuration takes effect.

For the flows to be monitored by different instances, the flow attributes must not be identical and cannot conflict to avoid inaccurate measurement result.

As a best practice, configure iFIT first on the transmit points and the egress point and then the ingress point. Thus, the measurement results of the previous measurement periods will not affected if iFIT measurement starts on the ingress point but not on the transmit points and the egress point.

Modifying the iFIT instance or restarting the ingress point will cause flow ID change, which might cause inaccurate measurement data or no data in several measurement periods.

SRv6/G-SRv6 includes SRv6/G-SRv6 TE and SRv6/G-SRv6 BE networks. The iFIT configuration varies by network type as follows:

·     In an SRv6/G-SRv6 TE network, configure iFIT on nodes in a SID list. If a transmit point is not in a SID list, iFIT measurement cannot be performed even after you configure iFIT on the transmit point.

·     In an SRv6/G-SRv6 BE network, if you specify hop-by-hop measurement as the measurement mode, iFIT generates iFIT data only on the ingress and egress nodes during SRv6/G-SRv6 forwarding. The transmit nodes only forward IPv6 packets and do not participate in SRv6/G-SRv6 processing, so no iFIT data is generated on the transmit nodes.

Prerequisites

Before configuring iFIT, make sure the analyzer and iFIT-enabled devices are time synchronized through NTP. For more information about NTP, see "Configuring NTP."

To enable iFIT-enabled devices to report the measurement results to the analyzer, configure gRPC on the analyzer and iFIT-enabled devices. For more information about gRPC, see gRPC configuration in Telemetry Configuration Guide.

 

Configuring the ingress point

Tasks at a glance

To configure the ingress point, perform the following tasks:

·     Configuring iFIT

·     Creating an iFIT instance

·     Configuring a static flow

·     Configuring a detection point

·     Configuring a measurement mode

·     Configuring a measurement period

·     Enabling iFIT measurement

Configuring iFIT

1.     Enter system view.

system-view

2.     Enable the iFIT functionality globally and enter its view, or enter the existing iFIT view.

ifit enable

By default, the iFIT functionality is disabled.

3.     Specify a device ID.

device-id device-id

By default, no device ID is specified.

A device ID is required and uniquely identifies a device in an iFIT measurement network.

Creating an iFIT instance

1.     Enter system view.

system-view

2.     Enter iFIT view.

ifit enable

3.     Create an iFIT instance and enter its view.

instance instance-name

Configuring a static flow

About this task

Static flows are key elements for iFIT measurement. Before starting an iFIT measurement, you must configure a static flow to be measured on the ingress point. You do not need to configure a static flow on the transmit points and egress point because the device can automatically learn the static flow through the iFIT header of the packets.

The device can perform iFIT measurement based on the following granularities in different scenarios:

·     5-tuple granularity—Used for measuring communication quality of service flows. You can use 5-tuple elements to match service flows.

·     PeerLocator granularity—Used for measuring end-to-end communication quality on the entire network. In an IPv6 network, the peer-locator keyword can specify a tunnel. The device performs iFIT measurement on all service flows through the tunnel.

Procedure

1.     Enter system view.

system-view

2.     Enter iFIT view.

ifit enable

3.     Specify a next hop for iFIT encapsulation.

encapsulation { nexthop ip-address | nexthop-ipv6 ipv6-address }

By default, no next hop is specified for iFIT encapsulation.

4.     Create an iFIT instance and enter its view.

instance instance-name

5.     In an IPv4 over SRv6/G-SRv6 public network, configure a static flow to be monitored by the instance. Choose one option as needed:

¡     Configure a static flow based on 5-tuple granularity.

-     IPv4:

flow unidirection source-ip src-ip-address [ src-mask-length ] destination-ip dest-ip-address [ dest-mask-length ] [ protocol { { sctp | tcp | udp } [ source-port src-port-number ] [ destination-port dest-port-number ] | protocol-number } ] [ dscp dscp-value ]

-     IPv6:

flow unidirection source-ipv6 src-ipv6-address [ src-prefix-length ] destination-ipv6 dest-ipv6-address [ dest-prefix-length ] [ protocol { { sctp | tcp | udp } [ source-port src-port-number ] [ destination-port dest-port-number ] | protocol-number } ] [ dscp dscp-value ]

¡     Configure a static flow based on PeerLocator granularity.

-     IPv4:

flow unidirection source-ip any destination-ip any peer-locator ipv6-address prefix-length

-     IPv6:

flow unidirection source-ipv6 any destination-ipv6 any peer-locator ipv6-address prefix-length

By default, no static flow is configured for an iFIT instance.

6.     In an L3VPN/EVPN L3VPN over SRv6/G-SRv6 network, configure a static flow to be monitored by the instance. Choose one option as needed:

¡     Configure a static flow based on 5-tuple granularity.

-     IPv4:

flow unidirection source-ip src-ip-address [ src-mask-length ] destination-ip dest-ip-address [ dest-mask-length ] [ protocol { { sctp | tcp | udp } [ source-port src-port-number ] [ destination-port dest-port-number ] | protocol-number } ] [ dscp dscp-value ] vpn-instance vpn-instance-name

-     IPv6:

flow unidirection source-ipv6 src-ipv6-address [ src-prefix-length ] destination-ipv6 dest-ipv6-address [ dest-prefix-length ] [ protocol { { sctp | tcp | udp } [ source-port src-port-number ] [ destination-port dest-port-number ] | protocol-number } ] [ dscp dscp-value ] vpn-instance vpn-instance-name

¡     Configure a static flow based on PeerLocator granularity.

-     IPv4:

flow unidirection source-ip any destination-ip any [ vpn-instance vpn-instance-name ] peer-locator ipv6-address prefix-length

-     IPv6:

flow unidirection source-ipv6 any destination-ipv6 any [ vpn-instance vpn-instance-name ] peer-locator ipv6-address prefix-length

By default, no static flow is configured for an iFIT instance.

Configuring a detection point

About this task

Before enabling iFIT measurement on the ingress point of an instance, you must bind an interface to the instance. After you bind an interface to an instance, iFIT parses the packets passing through the interface to identify the target packets and add an iFIT header to each target packets. Meanwhile, iFIT will count the number of target packets, and send the packet count and timestamp to the analyzer at intervals through gRPC.

You can configure only one set of flow match criteria for an instance. An instance can be bound to multiple interfaces. Each bound interface matches target flows based on the same set of criteria and assigns different flow IDs to target flows. iFIT measures the delay and packet loss of target flows on a per-interface basis.

Procedure

1.     Enter system view.

system-view

2.     Enter iFIT view.

ifit enable

3.     Create an iFIT instance and enter its view.

instance instance-name

4.     Bind an interface to the instance.

bind interface interface-type interface-number

By default, an instance is not bound to any interfaces.

Before enabling iFIT on the ingress point, you must execute this command to bind the instance to interfaces.

Configuring a measurement mode

1.     Enter system view.

system-view

2.     Enter iFIT view.

ifit enable

3.     Create an iFIT instance and enter its view.

instance instance-name

4.     Specify an iFIT measurement mode.

measure mode { e2e | trace }

By default, end-to-end measurement is used.

Configuring a measurement period

1.     Enter system view.

system-view

2.     Enter iFIT view.

ifit enable

3.     Create an iFIT instance and enter its view.

instance instance-name

4.     Specify the measurement period for the iFIT instance.

period period

By default, the measurement period for an iFIT instance is 30 seconds.

Enabling iFIT measurement

1.     Enter system view.

system-view

2.     Enter iFIT view.

ifit enable

3.     Create an iFIT instance and enter its view.

instance instance-name

4.     Enable iFIT measurement for the iFIT instance.

measure enable

By default, iFIT measurement for an iFIT instance is disabled.

Configuring a transmit point and the egress point

Tasks at a glance

Transmit points are required only for hop-by-hop measurement. For end-to-end measurement, do not configure transmit points.

To configure a transmit point or the ingress point, perform the following tasks:

·     Creating an iFIT instance

·     (Optional.) Managing a dynamic flow

Configuring iFIT

1.     Enter system view.

system-view

2.     Enable the iFIT functionality globally and enter its view.

ifit enable

By default, the iFIT functionality is disabled.

Managing a dynamic flow

1.     Enter system view.

system-view

2.     Enable the iFIT functionality globally and enter its view.

ifit enable

3.     Configure the aging time for dynamic flows.

dynamic-flow aging-time multi-value

By default, the aging time for dynamic flows is 10 times the measurement period and it cannot be less than 5 minutes.

4.     Delete iFIT dynamic flows.

delete dynamic-flow { device-id device-id flow-id flow-id | all }

Display and maintenance commands for iFIT

Execute display commands in any view.

 

Task

Command

Display dynamic flow information.

display ifit flow dynamic [ device-id device-id flow-id flow-id ]

Display static flow information.

display ifit flow static [ flow-id flow-id ]

Display global information about iFIT target flows.

display ifit global-information

Display iFIT instance information.

display ifit instance [ instance-name ]

Display statistics for the most recent 10 measurement periods.

display ifit statistic device-id device-id flow-id flow-id [ verbose ]

Clear iFIT statistics for the most recent 10 measurement periods.

reset ifit statistic [ device-id device-id flow-id flow-id | instance instance-name]

iFIT configuration examples

Example: Configuring iFIT in an IPv4 L3VPN over SRv6 network

Network configuration

As shown in Figure 4, the backbone network is an IPv6 network, and VPN 1 is an IPv4 network. Deploy MPLS L3VPN over SRv6 between PE 1 and PE 2 and use an SRv6 tunnel to transmit VPNv4 traffic between the PEs.

·     Configure EBGP to exchange VPN routing information between the CEs and PEs.

·     Configure IPv6 IS-IS on the PEs in the same AS to realize IPv6 network connectivity.

·     Configure MP-IBGP to exchange VPNv4 routing information between the PEs.

·     Configure iFIT to monitor the occurrence of packet loss and packet delay value when the flow passes through the VPN 1 tunnel.

Figure 4 Network diagram

Prerequisites

1.     Configure IPv4 L3VPN over SRv6. (Details not shown.)

For information about configuring MPLS L3VPN over SRv6, see IP L3VPN over SRv6 configuration in Segment Routing Configuration Guide.

2.     Configure NTP on PE 1 and PE 2 for clock synchronization. (Details not shown.)

For information about configuring NTP, see "Configuring NTP."

Procedure

1.     Configure PE 1:

a.     Configure gRPC:

# Enable the gRPC service.

<PE1> system-view

[PE1] grpc enable

# Create a sensor group named test, and add sensor path ifit/flowstatistics/flowstatistic.

[PE1] telemetry

[PE1-telemetry] sensor-group test

[PE1-telemetry-sensor-group-test] sensor path ifit/flowstatistics/flowstatistic depth 3

[PE1-telemetry-sensor-group-test] quit

# Create a destination group named collector1. Specify a collector that uses IPv6 address 10::10 and port number 50050.

[PE1-telemetry] destination-group collector1

[PE1-telemetry-destination-group-collector1] ipv6-address 10::10 port 50050

[PE1-telemetry-destination-group-collector1] quit

# Configure a subscription named A to bind sensor group test with destination group collector1. Set the sampling interval to 5 seconds.

[PE1-telemetry] subscription A

[PE1-telemetry-subscription-A] sensor-group test sample-interval 5

[PE1-telemetry-subscription-A] destination-group collector1

[PE1-telemetry-subscription-A] quit

[PE1-telemetry] quit

b.     Configure iFIT:

# Enable the iFIT functionality.

[PE1] ifit enable

[PE1-ifit] device-id 1

# Configure instance a to monitor the unidirectional flow from source IP 1.1.1.1/24 to destination IP 1.1.2.1/24 with VPN instance vpn1.

[PE1-ifit] instance a

[PE1-ifit-instance-a] flow unidirection source-ip 1.1.1.1 24 destination-ip 1.1.2.1 24 vpn-instance vpn1

# Bind interface GigabitEthernet 1/0/1 to instance a.

[PE1-ifit-instance-a] bind interface gigabitethernet 1/0/1

# Specify 10 seconds as the measurement period.

[PE1-ifit-instance-a] period 10

# Enable iFIT measurement.

[PE1-ifit-instance-a] measure enable

[PE1-ifit-instance-a] quit

[PE1-ifit] quit

2.     Configure PE 2:

a.     Configure gRPC.

Use the same procedure to configure gRPC on PE 2 as you configure gRPC on PE 1.

b.     Enable the iFIT functionality.

<PE2> system-view

[PE2] ifit enable

Verifying the configuration

1.     View iFIT statistics on PE 1.

[PE1-ifit-instance-a] display ifit statistic device-id 1 flow-id 2

Period ID     Direction       PktCount        Timestamp(sec, nsec)   Interface

163059918     Ingress         4124            1630599180, 1889782    GE1/0/1

163059919     Ingress         4124            1630599190, 1901494    GE1/0/1

163059920     Ingress         4124            1630599200, 1912118    GE1/0/1

2.     View iFIT statistics on PE 2.

[PE2] display ifit statistic device-id 1 flow-id 2

Period ID     Direction       PktCount        Timestamp(sec, nsec)   Interface

163059918     Egress          4124            1630599180, 1948185    GE1/0/1

163059919     Egress          4124            1630599190, 1959405    GE1/0/1

163059920     Egress          4120            1630599200, 1968503    GE1/0/1

3.     Packet loss occurs in period 163059920 by viewing iFIT statistics on the analyzer.

Example: Configuring iFIT in an IPv6 EVPN L3VPN over SRv6 network

Network configuration

As shown in Figure 5, the backbone network is an IPv6 network. Deploy EVPN L3VPN over SRv6 in SRv6-BE mode between PE 1 and PE 2 and use an SRv6 tunnel to transmit EVPN traffic between the PEs.

·     Configure EBGP to exchange VPN routing information between the CEs and PEs.

·     Configure IPv6 IS-IS on the PEs in the same AS to realize IPv6 network connectivity.

·     Configure MP-IBGP to exchange EVPN routing information between the PEs.

·     Configure iFIT to monitor the occurrence of packet loss and packet delay value when the flow passes through the VPN 1 tunnel.

Figure 5 Network diagram

Prerequisites

1.     Configure IPv6 EVPN L3VPN over SRv6. (Details not shown.)

For information about configuring IPv6 EVPN L3VPN over SRv6, see EVPN L3VPN over SRv6 configuration in Segment Routing Configuration Guide.

2.     Configure NTP on PE 1 and PE 2 for clock synchronization. (Details not shown.)

For information about configuring NTP, see "Configuring NTP."

Procedure

1.     Configure PE 1:

a.     Configure gRPC:

# Enable the gRPC service.

<PE1> system-view

[PE1] grpc enable

# Create a sensor group named test, and add sensor path ifit/flowstatistics/flowstatistic.

[PE1] telemetry

[PE1-telemetry] sensor-group test

[PE1-telemetry-sensor-group-test] sensor path ifit/flowstatistics/flowstatistic depth 3

[PE1-telemetry-sensor-group-test] quit

# Create a destination group named collector1. Specify a collector that uses IPv6 address 10::10 and port number 50050.

[PE1-telemetry] destination-group collector1

[PE1-telemetry-destination-group-collector1] ipv6-address 10::10 port 50050

[PE1-telemetry-destination-group-collector1] quit

# Configure a subscription named A to bind sensor group test with destination group collector1. Set the sampling interval to 5 seconds.

[PE1-telemetry] subscription A

[PE1-telemetry-subscription-A] sensor-group test sample-interval 5

[PE1-telemetry-subscription-A] destination-group collector1

[PE1-telemetry-subscription-A] quit

[PE1-telemetry] quit

b.     Configure iFIT:

# Enable the iFIT functionality.

[PE1] ifit enable

[PE1-ifit] device-id 1

# Configure instance a to monitor the unidirectional flow from source IP 2001::1 to destination IP 2002::1 with VPN instance vpn1.

[PE1-ifit] instance a

[PE1-ifit-instance-a] flow unidirection source-ipv6 2001::1 destination-ipv6 2002::1 vpn-instance vpn1

# Bind interface GigabitEthernet 1/0/1 to instance a.

[PE1-ifit-instance-a] bind interface gigabitethernet 1/0/1

# Specify 10 seconds as the measurement period.

[PE1-ifit-instance-a] period 10

# Enable iFIT measurement.

[PE1-ifit-instance-a] measure enable

[PE1-ifit-instance-a] quit

[PE1-ifit] quit

2.     Configure PE 2:

a.     Configure gRPC.

Use the same procedure to configure gRPC on PE 2 as you configure gRPC on PE 1.

b.     Enable the iFIT functionality.

<PE2> system-view

[PE2] ifit enable

Verifying the configuration

1.     View iFIT statistics on PE 1.

[PE1-ifit-instance-a] display ifit statistic device-id 1 flow-id 2

Period ID     Direction       PktCount        Timestamp(sec, nsec)   Interface

163059918     Ingress         4124            1630599180, 1889782    GE1/0/1

163059919     Ingress         4124            1630599190, 1901494    GE1/0/1

163059920     Ingress         4124            1630599200, 1912118    GE1/0/1

2.     View iFIT statistics on PE 2.

[PE2] display ifit statistic device-id 1 flow-id 2

Period ID     Direction       PktCount        Timestamp(sec, nsec)   Interface

163059918     Egress          4124            1630599180, 1948185    GE1/0/1

163059919     Egress          4124            1630599190, 1959405    GE1/0/1

163059920     Egress          4120            1630599200, 1968503    GE1/0/1

3.     Packet loss occurs in period 163059920 by viewing iFIT statistics on the analyzer.

 

 

  • Cloud & AI
  • InterConnect
  • Intelligent Computing
  • Security
  • SMB Products
  • Intelligent Terminal Products
  • Product Support Services
  • Technical Service Solutions
All Services
  • Resource Center
  • Policy
  • Online Help
All Support
  • Become a Partner
  • Partner Resources
  • Partner Business Management
All Partners
  • Profile
  • News & Events
  • Online Exhibition Center
  • Contact Us
All About Us
新华三官网