Purpose

ACP 142 specifies a protocol for reliable multicast. It is used for message transmission over networks such as Radio and Satellite. ACP 142 defines a number of protocol parameters which are discussed in the context of different networks. The goals of this paper are to:

  1. Provide some understanding of the parameters and appropriate settings for different networks.
  2. To enable feedback from protocol experts and from deployment experience on appropriate values for the various parameters. Isode plans to share this information in updated versions of this document, and to use it in future versions of the Isode management tools, to enable easy setting of optimal parameters.

ACP 142

ACP 142 defines a reliable multicast protocol, sometimes referred to as P_Mul. ACP 142 was originally designed to support STANAG 4406 formal military messaging. ACP 142 and its use with STANAG 4406 are described in the Isode white paper Military Messaging over HF Radio and Satellite using STANAG 4406 Annex E. Use of ACP 142 to support Internet email is described in the Isode white paper Messaging Protocols for HF Radio. As well as supporting multicast, ACP 142 supports nodes that do not transmit data (EMCON or Emission Control).

ACP 142 operates over an unreliable connectionless service that will typically be provided by one of:

  • UDP (User Datagram Protocol) running over IP.
  • UDOP (Unreliable Datagram Oriented Protocol) running over STANAG 5066.

The connectionless nature of the bearer service requires ACP 142 to define a number of timers. Configuring these timers is the primary subject of this paper.

Network Characteristics

There are a number of network types that ACP 142 may be used for, with widely varying characteristics, that have significant impact on ACP 142

Network Bandwidth Latency Reliability Recommended Bearer
Satellite 4800 bits per second to 1 Mbit per second 0.5 seconds physical latency for a geostationary satellite. Use of multiple satellites is common Very high IP
Radio above UHF Fast Low Fair IP
UHF 9600-56,000 bits per second Low Fair IP or STANAG 5066
VHF 9600 bits per second Low Fair STANAG 5066. IP will degrade performance but is acceptable
HF (Beyond Line of Sight Radio) 75-9600 bits per second

Bandwidth can often vary dynamically and dramatically

Minimum latency is typically 5-30 seconds. Data link layer will often increase latency (up to two minutes) in order to optimize link utilization

Fair to poor STANAG 5066. IP performance would be unacceptable

Isode Management Tool Goals

The current release of the Isode configuration GUIs for ACP 142 allow direct configuration of the ACP 142 parameters described in this paper. The primary reason for this is that there is relatively little operational experience, and it is likely to be important to tune some of these parameters in order to gain optimum performance.

As experience is gained, Isode plans to provide a higher level interface that will set parameters that can be easily determined (such as the type of network used) and set the ACP 142 parameters according to this. Explicit control of some parameters may be retained as an advanced option.

ACP 142 Parameters

The ACP 142 parameters are discussed in three groups:

  1. Parameters for general use.
  2. Parameters used for EMCON transmission.
  3. Parameters used for setting up dynamic multicast.

Each parameter is described, with notes on the effect of it being set too high or too low. Then values are suggested for a range of networks. Many of these values are suggested based on theoretical analysis of what makes sense, and practical input on these numbers would be very desirable. All times are in seconds and bandwidths in bits/second unless explicitly noted otherwise.

These STANAG 5066 values assume that a node will break transmission after 127.5 seconds and allow other nodes to transmit. Some STANAG 5066 servers will transmit until all data is sent. For such systems, it may make sense to set some values (in particular RE-TRANSMISSION_TIME, BACKOFF_FACTOR, an ACK-PDU_TIME) to larger values.

Parameter Notes Satellite 256 kbps Satellite 9600 bps UHF 56 kbps VHF 9600 bps HF 2400 bps HF 300 bps
General Parameters            
Bandwidth (DATA_ PDU)

Controlling the bandwidth is key for a rate controlled protocol such as ACP 142. Note that this value is set in bytes per second

When operating over STANAG 5066, rate control is provided by the modem (STANAG 5066 Server) Flow control is asynchronous, and so rate should be set to a value where flow control will work without extra data being sent (i.e., not too fast).

Isode M-Switch enables configuration of the bandwidth for operation over IP.

If the rate is set too low, network bandwidth may be wasted. If set too high, packets will end up being dropped, leading to retransmission, with associated inefficiency and delay.

If the network is being shared, this should be set according to bandwidth allocated to the application.

If the network is not being shared, bandwidth should be set to slightly less than the underlying network bandwidth.

32 kbytes/sec (256 kbps) 800 bytes/sec (9600 bps) 70 bytes/sec (56 kbps) 800 bytes/secs (9600 bits/sec) if not using STANAG 5066 10 bytes/sec 10 kbytes/sec 10 kbytes/sec
Retransmit (RE-TRANSMISSION_ TIME)

In operation without data loss, after the end of the message, an ack will be received from all recipients. If one or more acks have not been received after this retransmission time, an address PDU is sent (indicating the peers for which acks have not been received). This will trigger the receiving application to resend the final ack.

If this value is set too low, bandwidth will be wasted if the PDU being timed out is delayed rather than missing.

If set too high, overall latency will increase.

10 20 10 20 150

180

Backoff factor (BACKOFF_ FACTOR)

The retransmission described above backs off exponentially according to this factor.
If this is set too low, resource will be wasted if the receiving system is unable to transmit or not getting any data.

If this is set too high, overall latency will increase.

120 120 10 10 3 3
Max Missing (MM)

This controls the maximum number of missing PDUs that can be reported in an Ack.

It should set to a value that does not require the Ack PDU to be split.

The consequences of varying this are unclear.

20 20 20 20 20 20
Ack Respond (ACK-PDU_ TIME)

After the receiver transmits the final ack, it expects to get an Address PDU confirming that the message is cleared. If it does not get this, the Ack is resent according to this timer.

Setting this too low will waste bandwidth.

Setting this too high will cause the clearing of message status to be delayed.

10 10

60

120 480

480

Last PDU Timer This controls behavior after the last PDU of a message is received. It will wait this amount of time to check for missing PDUs. This will deal with out of order PDUs. This may occur over IP networks, but should not occur with STANAG 5066. 1 5 1 10 if IP, 1 if STANAG 5066 1 1
Undef Data Valid

A receiver may get a Data PDU without an Address PDU. This parameter defines how long to hold onto this data, and wait for a retransmit of the address PDU.

Setting it too high has a marginal cost on internal receiver resource.

Setting it too low wastes network resource if the Address PDU is retransmitted after the PDU is discarded.

20 120 60 480 960 960
EMCON Parameters            
EMCON Time (EMCON_RTI)

When a receiver is believed to be in EMCON, the entire message is retransmitted a number of times.

This timer controls the interval between retransmissions. The value of the interval depends very much on the reasons why data may not be received. If the main issue is loss of some packets, the interval should be short. If the main issue is that the receiver may be out of range and not receiving anything a longer interval is more likely to be appropriate.

The interval should in any event be commensurate with network bandwidth and latency.

10 30 30 120 240 240
EMCON Count (EMCON_RTC)

This is the number of times a message is retransmitted. This has similar considerations to the interval.

The suggested parameters are on the basis that the primary concern is network reliability.

2 2 4 4 8 8
Dynamic Multicast Parameters            
  Dynamic multicast will not be used with STANAG 5066, and should generally only be used for faster IP networks with multiple network components            
Announce Count (ANNOUNCE_CT)

This is the number of announce PDUs to be sent.

If set too low a recipient misses the announce, it will have a quite high network cost to sort out.

If set too high, network resource will be wasted.

2 n/a 4 n/a n/a n/a
Announce Interval The time between sending out Announce PDUs. This gap should be sufficient to make data loss independent. 5 n/a 5 n/a n/a n/a
Wait before Send (ANNOUNCE_DELAY) The delay before sending the first message data after dynamic multicast is negotiated. 10 n/a 10 n/a n/a n/a
Wait for reject (WAIT-FOR-REJECT_TIME) The time that is waited for rejects. This should only be needed if different senders share the same dynamic multicast addresses. It is recommended to avoid this. 10 n/a 10 n/a n/a n/a
End Session The time before a dynamic multicast session is releases. 60 n/a 60 n/a n/a n/a

 

 
Copyright © 2009 Isode privacy   feedback Subscribe to our rss newsfeed