1588 ACR Configuration
Overview of 1588 ACR
Purpose
All-IP has become the trend for future networks and services. Therefore, traditional networks based on the Synchronous Digital Hierarchy (SDH) have to overcome various constraints before migrating to IP packet-switched networks. Transmitting Time Division Multiplexing (TDM) services over IP networks presents a major technological challenge. TDM services are classified into two types: voice services and clock synchronization services. With the development of VoIP, technologies of transmitting voice services over an IP network have become mature and have been extensively used. However, development of technologies of transmitting clock synchronization services over an IP network is still under way.
1588v2 is a software-based technology that carries out time and frequency synchronization. To achieve higher accuracy, 1588v2 requires that all devices on a network support 1588v2; if not, frequency synchronization cannot be achieved.
Derived from 1588v2, 1588 ACR implements frequency synchronization with clock servers on a network with both 1588v2-aware devices and 1588v2-unaware devices. Therefore, in the situation where only frequency synchronization is required, 1588 ACR is more applicable than 1588v2.
Definition
The 1588 adaptive clock recovery (ACR) algorithm is used to carry out clock (frequency) synchronization between the NE40E and clock servers by exchanging 1588v2 messages over a clock link that is set up by sending Layer 3 unicast packets.
Unlike 1588v2 that achieves frequency synchronization only when all devices on a network support 1588v2, 1588 ACR is capable of implementing frequency synchronization on a network with both 1588v2-aware devices and 1588v2-unaware devices.
After 1588 ACR is enabled on a server, the server provides 1588 ACR frequency synchronization services for clients.
Limitations for 1588 ACR
Limitations
Restrictions |
Guidelines |
Impact |
---|---|---|
1588v2 ACR has the following requirements for the intermediate network:
|
Properly plan the 1588 ACR clock synchronization network. |
1588 ACR frequency synchronization performance is affected. |
1588ACR server and 1588v2 Layer 2 unicast encapsulation cannot be used in mix. When the local IP address of 1588 ACR is consistent with that for 15882 DIP, 1588 ACR packets are incorrectly identified as 1588v2 packets for processing. |
Properly plan service configuration. Do not deploy the 1588 ACR server and 1588v2 Layer 3 unicast encapsulation at the same time. |
If 1588 ACR packets go through an interface configured with 1588v2 Layer 3 unicast, the 1588 ACR packets may be incorrectly identified as 1588v2 packets. As a result, the 1588 ACR client and server cannot establish negotiation. |
1588 ACR is not supported in port extension scenarios. |
None |
1588 ACR is not supported. |
Configuring 1588 ACR in Single-Server Mode
In one 1588 ACR domain, a client initiates a request for negotiation, and exchanges Layer 3 unicast packets with the server to set up a connection. The client exchanges 1588v2 packets with the server over the connection to restore clock information.
Applicable Environment
On the IP RAN shown in Figure 12-1, two PEs are connected by a Layer 3 network deployed with 1588v2-unaware devices. PE1 attached to an RNC is connected to a BITS. 1588 ACR-capable PE2 initiates a request for negotiation and exchanges Layer 3 unicast packets with PE1 to set up a connection. If the connection is successful, PE2 exchanges 1588v2 packets with PE1 over the connection to implement clock synchronization.
Configuring the Unicast Negotiation Function for a Client
The unicast negotiation function and parameters for a connection between a client and a clock server are configured on the router functioning as a 1588 ACR client.
Context
ACR, which is an adaptive clock recovery technology, allows a 1588 ACR client to exchange 1588v2 packets with a clock server on a link where a 1588v2-incapable device resides. After receiving 1588v2 packets, the client uses clock information carried in the packets to restore clock information.
1588 ACR clock synchronization in single-server scenarios
In a 1588 ACR domain, a client establishes a client/server relationship only with the remote clock server. The client initiates unicast negotiation requests and obtains 1588v2 packets for clock restoration. If a clock server becomes faulty, the client does not automatically initiate a connection request to another clock server.
1588 ACR clock synchronization in dual-server scenarios
In a 1588 ACR domain, a client establishes a client/server relationship with two remote clock servers. The client initiates unicast negotiation requests and obtains 1588v2 packets for clock restoration. If the master clock server becomes faulty, the client automatically initiates a connection request to the slave clock server.
Procedure
- Run system-view
The system view is displayed.
- Run ptp-adaptive enable
1588 ACR is enabled.
- Run ptp-adaptive device-type client
The 1588 ACR clock working mode is set to client.
- (Optional) Run ptp-adaptive frequency profile
The 1588 ACR-enabled device to totally comply with ITU-T G.8265.1 is configured.
After the ptp-adaptive frequency profile command is run, the default domain value changes to 4. The domain value range changes to 4-23.
- (Optional) Run ptp-adaptive domain domain-value
A 1588 ACR domain is configured.
The client and clock server, which exchange 1588 ACR packets for clock or time synchronization, must be in one 1588 ACR clock domain.
- Run ptp-adaptive local-ip ip-address
An IP address is assigned to the client, which is used to initiate a request for negotiation and send Layer 3 unicast packets.
The clock server's and client's IP addresses uniquely identify a 1588 ACR connection, which is set up by exchanging Layer 3 unicast packets between a client and a clock server during negotiation. Configuring a loopback address as the client's IP address is recommended, not the IP address of the management network port on the device, helping the clock server direct packets to the client.
- (Optional) Run ptp-adaptive vpn-instance instance-name
The VPN instance name carried in 1588v2 packets is specified, which identifies the VPN instance bound to the server's loopback interface.
- Run ptp-adaptive { remote-server1-ip | remote-server2-ip } ip-address
The remote clock server list is configured.
If multiple clock servers exist on a network, the router, functioning as a client, tracks its clock server based on the clock server's IP address. Running this command twice specifies master and slave clock servers.
If two clock servers are configured, a client initiates connection requests to both servers. If a connection to a server fails to be established or is disconnected, the client automatically initiates a connection to the other client. The process repeats until the client is connected to a server.
- Run ptp-adaptive acr [ one-way | two-way ] unicast-negotiate enable
1588 ACR unicast negotiation is enabled on the router and the frequency recovery mode is configured.
- Run commit
The configuration is committed.
Configuring the Unicast Negotiation Function for a Server
The unicast negotiation function and parameters for a connection between a client and a clock server are configured on the router functioning as a 1588 ACR clock server.
Context
ACR, which is an adaptive clock recovery technology, allows a 1588 ACR client to exchange 1588v2 packets with a clock server on a link where a 1588v2-incapable device resides. After receiving 1588v2 packets, the client uses clock information carried in the packets to restore clock information.
1588 ACR client and 1588v2 (which implements hop-by-hop clock synchronization) are mutually exclusive. If 1588 ACR is enabled on a 1588v2-capable device, the 1588v2 configurations on the device no longer take effect. The 1588 ACR server and 1588v2 can be both configured on the device.
Procedure
- Run system-view
The system view is displayed.
- Run ptp-adaptive enable
1588 ACR is enabled.
- Run ptp-adaptive device-type server
The 1588 ACR clock working mode is set to server.
- (Optional) Run ptp-adaptive frequency profile
The 1588 ACR-enabled device to totally comply with ITU-T G.8265.1 is configured.
After the ptp-adaptive frequency profile command is run, the default domain value changes to 4. The domain value range changes to 4-23.
- (Optional) Run ptp-adaptive domain domain-value
A 1588 ACR domain is configured.
The client and clock server, which exchange 1588 ACR packets for clock synchronization, must be in one 1588 ACR clock domain.
- Run ptp-adaptive local-ip ip-address
An IP address is assigned to the clock server.
The clock server's and client's IP addresses uniquely identify a 1588 ACR connection, which is set up by exchanging Layer 3 unicast packets between a client and a clock server during negotiation. Configuring a loopback address as the server's IP address is recommended, helping the clock server direct packets to the client.
- (Optional) Run ptp-adaptive vpn-instance instance-name
The VPN instance name carried in 1588v2 packets is specified, which identifies the VPN instance bound to the server's loopback interface.
- Run ptp-adaptive acr unicast-negotiate enable
The 1588 ACR unicast negotiation on the router is configured.
- Run commit
The configuration is committed.
(Optional) Adjusting Parameters for Establishing a Unicast Negotiation Connection
Adjustable parameters include the maximum number of consecutive Announce packets that the client fails to receive (If the number of unreceived Announce packets exceeds the threshold, the client determines that the connection to the server fails), duration of the Sync, Delay_Resp, and Announce packets (After the duration of a Sync packet, a Delay_Resp packet, or an Announce packet expires, the client re-establishes the connection with the server), DSCP value (the DSCP value ensures that 1588v2 packets reach the destination even if a congestion occurs on the network), and the interval at which the server sends Sync, Delay_Resp, and Announce packets.
Context
Adjustable parameters on a client are as follows:
- Maximum number of consecutive Delay_Resp packets that the client fails to receive
- Duration field values in Sync, Delay_Resp and Announce packets
- DSCP value for 1588 ACR packets
- Interval at which Sync, Delay_Resp and Announce packets are sent
Adjustable parameters on a clock server are as follows:
- DSCP value for 1588 ACR packets
Procedure
- Run ptp-adaptive dscp priority-value
The DSCP value in 1588 ACR packets is set.
Setting a large DSCP value to ensure that 1588v2 packets reach the destination even if a congestion occurs on a network. This value is adjustable on both the client and clock server.
- Run ptp-adaptive { announce-duration | sync-duration | delay-resp-duration } duration-value
The duration field value is set for each type of 1588 ACR packet.
- Run ptp-adaptive request sync-interval sync-interval
The interval at which an ACR clock server sends Sync packets is set.
- Run ptp-adaptive request announce-interval announce-interval
The interval at which an ACR clock server sends Announce packets is set.
- Run ptp-adaptive request delay-resp-interval delay-resp-interval
The interval at which the 1588 ACR-enabled server sends Delay_Resp packets is set.
- Run ptp-adaptive announce receipt-timeout receipt-timeout
The allowable maximum number of consecutive Announce packets that the client fails to receive is set.
- Run commit
The configuration is committed.
Verifying the Configuration of 1588 ACR
After configuring 1588 ACR on the router, verify the configuration.
Procedure
- When the router functions as a client:
- Run the display ptp-adaptive all command to check all 1588 ACR configurations on the client.
- Run the display ptp-adaptive server [ server-id ] command to check detailed information about a clock server that is connected to the 1588 ACR enabled client and statistics about packets exchanged between the client and server.
- When the router functions as a server:
- Run the display ptp-adaptive all command to check all 1588 ACR configurations on the server.
- Run the display ptp-adaptive { all | client [ client-id ] } command to check detailed information about a clock client that is connected to the 1588 ACR enabled server and statistics about packets exchanged between the client and server.
Configuration Examples for 1588 ACR
The configuration roadmap in the examples will help you understand the configuration procedures. This section provides examples for configuring clock synchronization.
Example for Configuring 1588 ACR Clock Synchronization in a Single-Server Scenario
This section describes how to configure 1588 ACR on the router functioning as a client and the router functioning as a server to restore clock information in a single-server scenario by using an example.
Networking Requirements
On the IP RAN shown in Figure 12-2, DeviceA functions as a clock server. DeviceC functions as a client, and sends a 1588 ACR Layer 3 unicast negotiation request to the server to achieve clock synchronization.
Configuration Roadmap
The configuration roadmap is as follows:
Configure DeviceA as a server.
Configure DeviceC as a client.
Adjust Layer 3 unicast negotiation parameters on the server and the client.
Configure unicast negotiation on the server and client.
On the client, configure a PTP clock reference source.
Data Preparation
To complete the configuration, you need the following data:
IP address of the server and the IP address of the client
Interval for sending Sync, Delay_Resp and Announce packets on the server
Procedure
- Configure DeviceA as a server.
<DeviceA> system-view
[~DeviceA] interface loopback 0
[*DeviceA-Loopback0] ip address 1.1.1.1 32
[*DeviceA-Loopback0] commit
[~DeviceA-Loopback0] quit
[*DeviceA] ptp-adaptive enable
[*DeviceA] ptp-adaptive device-type server
[*DeviceA] ptp-adaptive local-ip 1.1.1.1
[~DeviceA] commit
- Configure Device C as a client.
<DeviceC> system-view
[~DeviceC] interface loopback 0
[*DeviceC-Loopback0] ip address 2.2.2.2 32
[*DeviceC-Loopback0] commit
[~DeviceC-Loopback0] quit
[*DeviceC] ptp-adaptive enable
[*DeviceC] ptp-adaptive device-type client
[*DeviceC] ptp-adaptive local-ip 2.2.2.2
[*DeviceC] ptp-adaptive remote-server1-ip 1.1.1.1
[~DeviceC] commit
- Adjust Layer 3 unicast negotiation parameters on the client and the server.
# Configure the client.
[*DeviceC] ptp-adaptive request sync-interval 4
[*DeviceC] ptp-adaptive request announce-interval 12
[*DeviceC] ptp-adaptive request delay-resp-interval 6
[*DeviceC] commit
- Configure unicast negotiation on the server and client.
# Configure the server.
[*DeviceA] ptp-adaptive acr unicast-negotiate enable
[*DeviceA] commit
# Configure the client.
[*DeviceC] ptp-adaptive acr unicast-negotiate enable
[*DeviceC] commit
- On the client, configure a PTP clock reference source.
[*DeviceC] clock source ptp synchronization enable
[*DeviceC] clock source ptp priority 1
[*DeviceC] clock source ptp ssm prc
[*DeviceC] commit
- Verify the configuration.
# Check the 1588 ACR configuration on DeviceC.
<DeviceC> display ptp-adaptive all
Device config info --------------------------------------------------------------------------- Ptp adaptive state :enable Device type :client Sync mode :frequency Current state :slave Packet dscp :56 Domain value :0 Announce interval :12 Announce duration :300s Sync interval :4 Sync duration :300s Delay_resp interval :6 Delay_resp duration:300s Announce receipt timeout:3 Acr mode :one-way Local ip :2.2.2.2 Client board :5 Frequency profile :no VPN :none BMCA run info --------------------------------------------------------------------------- Current trace source :server1 Frequency lock success :yes Time performance statistics(ns): ------------------------------------------------------------------------ Realtime(T2-T1) :987740873 Max(T2-T1) :987742555 Min(T2-T1) :987423502 Remote server info --------------------------------------------------------------------------- Ip address Negotiate state Pri1 Class Accuracy Pri2 Server1: 1.1.1.1 Nego success 128 6 0x34 128 Server2:
# Check the 1588 ACR configuration on DeviceA.
<DeviceA> display ptp-adaptive all
Device config info --------------------------------------------------------------------------- Ptp adaptive state :enable Device type :server Sync mode :frequency Current state :master Packet dscp :56 Domain value :0 Local ip :1.1.1.1 Server board :5 Frequency profile :no VPN :none Client info ID Ip Address Clock ID Mode Announce Sync Delay_resp --------------------------------------------------------------------------- 1 0 2.2.2.2 001882fffed48301 one-way 2 -6 none
Configuration Files
Configuration file of DeviceA
#
sysname DeviceA
# ptp-adaptive enable ptp-adaptive device-type server ptp-adaptive local-ip 1.1.1.1 ptp-adaptive acr unicast-negotiate enable # interface Loopback0 ip address 1.1.1.1 255.255.255.255
#
return
Configuration file of DeviceC
#
sysname DeviceC
# ptp-adaptive enable ptp-adaptive device-type client ptp-adaptive local-ip 2.2.2.2 ptp-adaptive remote-server1-ip 1.1.1.1 ptp-adaptive request sync-interval 4 ptp-adaptive request announce-interval 12 ptp-adaptive request delay-resp-interval 6 ptp-adaptive acr unicast-negotiate enable clock source ptp synchronization enable clock source ptp priority 1 clock source ptp ssm prc # interface Loopback0 ip address 2.2.2.2 255.255.255.255
#
return
Example for Configuring 1588 ACR Clock Synchronization in a Dual-Server Scenario
In a 1588 ACR domain, a client sets up the client/server relationship with two remote clock servers that work in the master/slave mode, and sends a unicast negotiation request to the two clock servers to restore clock information. Once the master clock server becomes faulty, the client sends a request for establishing a connection to the slave clock server.
Networking Requirements
As shown in Figure 12-3, Device A and Device B function as clock servers that work in the master/slave mode. As a client, Device C first sends a 1588 ACR Layer 3 unicast negotiation request to Device A that functions as the master clock server to obtain clock synchronization information. If the link between DeviceC and DeviceA goes Down, DeviceC sends a Layer 3 unicast negotiation request to DeviceC to ensure that its clock is synchronized with that of the clock server.
Configuration Roadmap
The configuration roadmap is as follows:
Configure DeviceA as server 1.
Configure DeviceB as server 2.
Configure DeviceC as a client.
Adjust Layer 3 unicast negotiation parameters on the client and the servers.
Configure unicast negotiation on servers and the client.
On the client, configure a PTP clock reference source.
Data Preparation
To complete the configuration, you need the following data:
IP addresses of the servers and the IP address of the client
Interval for sending Sync, Delay_Resp and Announce packets on the servers
Procedure
- Configure DeviceA as server 1.
<DeviceA> system-view
[~DeviceA] interface loopback 0
[*DeviceA-Loopback0] ip address 1.1.1.1 32
[*DeviceA-Loopback0] commit
[~DeviceA-Loopback0] quit
[*DeviceA] ptp-adaptive enable
[*DeviceA] ptp-adaptive device-type server
[*DeviceA] ptp-adaptive local-ip 1.1.1.1
[*DeviceA] commit
- Configure DeviceB as server 2.
<DeviceB> system-view
[~DeviceB] interface loopback 0
[*DeviceB-Loopback0] ip address 2.2.2.2 32
[*DeviceB-Loopback0] commit
[~DeviceB-Loopback0] quit
[*DeviceB] ptp-adaptive enable
[*DeviceB] ptp-adaptive device-type server
[*DeviceB] ptp-adaptive local-ip 2.2.2.2
[*DeviceB] commit
- Configure DeviceC as a client.
<DeviceC> system-view
[~DeviceC] interface loopback 0
[*DeviceC-Loopback0] ip address 3.3.3.3 32
[*DeviceC-Loopback0] commit
[~DeviceC-Loopback0] quit
[*DeviceC] ptp-adaptive enable
[*DeviceC] ptp-adaptive device-type client
[*DeviceC] ptp-adaptive local-ip 3.3.3.3
[*DeviceC] ptp-adaptive remote-server1-ip 1.1.1.1
[*DeviceC] ptp-adaptive remote-server2-ip 2.2.2.2
[*DeviceC] commit
- Adjust Layer 3 unicast negotiation parameters on the client and the servers.
# Configure the client.
[*DeviceC] ptp-adaptive request sync-interval 4
[*DeviceC] ptp-adaptive request announce-interval 12
[*DeviceC] ptp-adaptive request delay-resp-interval 6
[*DeviceC] commit
- Configure unicast negotiation on servers and the client.
# Configure server 1.
[*DeviceA] ptp-adaptive acr unicast-negotiate enable
[*DeviceA] commit
# Configure server 2.
[*DeviceB] ptp-adaptive acr unicast-negotiate enable
[*DeviceB] commit
# Configure the client.
[*DeviceC] ptp-adaptive acr unicast-negotiate enable
[*DeviceC] commit
- On the client, configure a PTP clock reference source.
[*DeviceC] clock source ptp synchronization enable
[*DeviceC] clock source ptp priority 1
[*DeviceC] clock source ptp ssm prc
[*DeviceC] commit
- Verify the configuration.
# Check the 1588 ACR configuration on DeviceC.
<DeviceC> display ptp-adaptive all
Device config info ------------------------------------------------------------------------------ Ptp adaptive state :enable Device type :client Sync mode :frequency Current state :slave Packet dscp :56 Domain value :4 Announce interval :11 Announce duration :300s Sync interval :3 Sync duration :300s Delay_resp interval :4 Delay_resp duration:400s Announce receipt timeout:3 One-way or two-way :one-way Local ip :3.3.3.3 Profile :frequency Client board :5 VPN :none BMCA run info ------------------------------------------------------------------------------ Current trace source :server1 Time performance statistics ------------------------------------------------------------------------------ Realtime(T2-T1) :+0s, 23281ns Max(T2-T1) :+0s, 26277ns Min(T2-T1) :+0s, 21853ns Remote server info ------------------------------------------------------------------------------ Ip address Negotiate state SSM Priority PTSF Server1: 1.1.1.1 Nego success PRC 1 normal Server2: 2.2.2.2 Nego success PRC 1 normal
# Check the 1588 ACR configuration on the server. Take the display on DeviceA as an example.
<DeviceA> display ptp-adaptive all
Device config info ------------------------------------------------------------------------------ Ptp adaptive state :enable Device type :server Sync mode :frequency Current state :master Packet dscp :56 Domain value :4 Local ip :1.1.1.1 Profile :frequency Server board :5 VPN :none Client info ID Ip Address Clock ID Mode Announce Sync Delay_resp ------------------------------------------------------------------------------ 1 500 3.3.3.3 00259efffed1efcf two-way 1 -3 -3 2 489 4.4.4.4 286ed4fffebcdc76 one-way 1 -3 -3
Configuration Files
Configuration file of DeviceA
#
sysname DeviceA
# ptp-adaptive enable ptp-adaptive device-type server ptp-adaptive local-ip 1.1.1.1 ptp-adaptive acr unicast-negotiate enable # interface Loopback0 ip address 1.1.1.1 255.255.255.255
#
return
Configuration file of DeviceB
#
sysname DeviceB
# ptp-adaptive enable ptp-adaptive device-type server ptp-adaptive local-ip 2.2.2.2 ptp-adaptive acr unicast-negotiate enable # interface Loopback0 ip address 2.2.2.2 255.255.255.255
#
return
Configuration file of DeviceC
#
sysname DeviceC
# ptp-adaptive enable ptp-adaptive device-type client ptp-adaptive local-ip 3.3.3.3 ptp-adaptive remote-server1-ip 1.1.1.1 ptp-adaptive remote-server1-ip 2.2.2.2 ptp-adaptive request sync-interval 4 ptp-adaptive request announce-interval 12 ptp-adaptive request delay-resp-interval 6 ptp-adaptive acr unicast-negotiate enable clock source ptp synchronization enable clock source ptp priority 1 clock source ptp ssm prc # interface Loopback0 ip address 3.3.3.3 255.255.255.255
#
return