# RF Bandwidth Management - Contention Settings

## Data Retries

When data retries are enabled, the receiving Viper SC will reply with a very short RF acknowledge message each time a unicast data packet is received correctly. The RF acknowledge allows the transmitting Viper SC to verify that the packet was received successfully. This does, however, add a small amount of latency to each packet, reducing overall throughput. If the transmitting Viper does not receive an RF acknowledge, it will retransmit the message again, up to the maximum number of data retries specified.

If a remote Viper becomes completely unreachable or is disconnected, all packets destined to that unit will be transmitted the maximum number of times since the packet is never correctly received. Continually transmitting and retransmitting packets to an unreachable remote will reduce available bandwidth to the remaining functional Vipers.

Setting data retries to zero yields the maximum throughput since no RF acknowledgements are transmitted over the air. However, enabling data retries will provide the maximum level of reliability in the network.

Valid settings for data retries range from a value of zero to a value of 10.

## Collision Avoidance

When enabled, the collision avoidance feature will transmit a short two-way handshake between the transmitting and receiving Viper SC. This tells any adjacent Viper SCs that a data transmission will be taking place. Adjacent Viper SCs will wait until the data transmission is completed before they try to capture the air by sending a new packet.

The feature is particularly useful when remote Viper SCs are located at sites where they are unable to hear each other transmit directly and both remotes want to transmit data to the same base station at the same time. In this scenario, they may often try to transmit at the same time yielding a corrupted message at the base station.

The two way handshake reserves airtime from the network for the packet transmission. It will, however, add a small fixed latency to each packet. The added latency is small relative to the time it takes to transmit a large packet, when the chance of collision is greatest. However, when short packets need to be transmitted, it can sometimes take just as long to complete the two way handshake as it does to send the short packet.

For this reason, the collision avoidance parameter allows the user to specify the packet size threshold above which the two way handshake is implemented. For example, if the Collision Avoidance is set for 128, then the Viper will complete a two-way handshake before sending packets that are larger than 128 bytes, reducing potential congestion. The Viper will NOT complete the two-way handshake before sending packets that are smaller than 128 bytes, improving throughput.

Setting collision avoidance to a value of 1500 or above effectively disables the feature as the maximum data packet size is 1500 bytes.

## Random Backoff

When a data transmission competes in a busy network, there may be several new Vipers waiting to send data. If all of these Vipers start transmitting at the exact same time, collisions will occur. To reduce the chance that more than one Viper starts transmitting at a time, the user can enable a random backoff. The Viper will randomly pick a time slot to begin its transmission. The user can specify the maximum number of time slots that the Viper will wait before it starts transmitting. If the Viper detects that another unit started transmitting before itself, it will wait until their data transmission completes before it tries to capture the air again.

Each time slot is equal to the time that it takes to complete a collision avoidance two way handshake. If the user specifies a random backoff of 4, then a Viper will wait up to a maximum of 4 time slots before it starts its transmission. On each new transmission, the Viper radio will randomly pick a time slot (from time slot zero up to the maximum time slot) to begin its transmission.

Normally, the random backoff should be set higher for systems that may have a lot of contention. Random backoff can be disabled for systems that have a very controlled traffic pattern, where two or more Vipers are not expected to try to transmit at the same time.

This parameter is often set equal to the estimated number of Vipers in the system that may try to start a transmission at the same time.

When enabled, this feature on average adds latency to each transmission. The latency will be noticeable when conducting a standard ping test as the total ping time will increase and be more variable in nature.

Valid settings for random backoff range from a value of zero to a maximum value of 10.

Back to Top