Saturday 17 March 2012

What is RTS threshold in wireless?

What is RTS threshold in wireless?

RTS is "Request to Send" . It is used with CTS "Clear to send" .  It can be used in below scenarios and used by Stations or Wireless AP.

1) When medium is too noisy or lot of interference is present. The AP/Station if it is not getting chance to send the packet it can initiate RTS/CTS mechanism to get a chance to send the packet.

2) In mixed mode to avoid hidden node problem. This can be used.

As use of RTS/CTS decreases throughput the RTS threshold value is used .  This parameter controls what size data packet the low level RF protocol issues to an RTS packet.
The default value used by many vendors is 2346. The RTS value range can be 0-2347. If the value is set to 2346 this means that effectively it will never be used as in Ethernet network the max packet size can be only 1518 ( with all headers+ Max data size).

The RTS value 0 means for every data exchange there has to be RTS/CTS exchange mechanism.

When we use or set RTS threshold value to say 500 means that for every data byte more then 500 bytes there will be RTS/CTS. This will consume more bandwidth therefore reducing the  throughput.  However the more RTS packet are sent the chances are the system will cover up for packet loss due to collision and interferences properly and more fast.

Depending on the network, interference and whether hidden node problem exist or not we should use this parameter effectively.

To determine if we should activate RTS/CTS or not in the network first monitor the wireless LAN for retransmissions. If we find a large number of retransmissions and the users are relatively far apart and likely out of range, then we can try enabling RTS/CTS on the applicable user wireless NICs.If collisions are occurring between users within range of each other, the problem may be the result of high network utilization or possibly RF interference.

After activating RTS/CTS, test to determine if the number of retransmissions is reduced and the resulting throughput has increased. Because RTS/CTS introduces overhead, we should not use it if there is a dop in throughput, even if there is fewer retransmissions.

Because the whole exercise is to improve the throughut of the network, if it getting decreased then no point in using this.

Also as hidden node problem exist from station point of view but not from Access point of view we should not enable RTS/CTS in AP as in can significantly increase the overhead and reduce throughput.
The RTS threshold value can be set on station by going into advance properties of the network in network connection. Also almost all vendors Access point  give option to change RTS thershold value. You can experiment in Cisco Aironet. netgear, linksys  and Dlink AP.

What is the recommeded value for RTS threshold  parameter  ?

 Well here is the list:

1) Linksys WMP300N adaptor with windows Vista suggest "2304"

2) Dlink default to 2346 and says "If you encounter inconsistent data flow, only minor modifications to the value range between 256 and 2346 are recommended"

3) Proxim AP 4000 - default 2347 ( disabled ) --Says "This parameter affects message flow control and should not be changed under normal circumstances. Range is 0 to 2347. When set to a value between 0 and 2347, the Access Point uses the RTS/CTS mechanism for packets that are the specified size or greater. When set to 2347 (the default setting),RTS/CTS is disabled

 4) Netgear ->Default value is 2346 - The Request to Send threshold packet size determines if the wireless access point should use the CSMA/CD (Carrier Sense Multiple Access with Collision Detection) mechanism or the CSMA/CA (Carrier Sense Multiple Access with Collision Avoidance) mechanism for packet transmission:

    * With the CSMA/CD transmission mechanism, the transmitting station sends out the actual packet as soon as it has waited for the silence period.
    * With the CSMA/CA transmission mechanism, the transmitting station sends out an RTS packet to the receiving station, and waits for the receiving station to send back a CTS (Clear to Send) packet before sending the actual packet data.

5) Asus Wl500G : Recommended value 500 , default value 2347 ( disable) says: This is an advanced setting that may make your WiFi unstable and it's recommended to leave it be. Imagine having 2 laptops connected to your router. Both laptops are too far away to communicate with each other directly, but the router between the laptops allows them to communicate through the router. When both laptops send a frame at the same time the router will need to drop both frames (frame collision). This is of course an unwanted situation. With RTS enabled the laptops will first send a Request To Send message to the router. When the router hasn't any other transmissions going on it will send back a Clear To Send (CTS) message back. After the laptop receives the CTS it will send the frame. This RTS/CTS communication reduces frame collisions when multiple clients are connected. Usually turning this option on will slow down your network.

The above data is taken from the UG and/or from support site of the individual vendors and just taken to emphasize that there is no uniformity in the recommeded values and it is always the network administrator intelligence how he/she uses these parameter to optimize the performance.

One of the ways to optimize it is ping from CPE/station to AP with 2347 bytes and see the result ( latency ). Slowly decrease the packet size and compare the latencies , in which u get best lets say 1024 use that as RTS threshold value and use some tool like iperf, chariot to measure the increase and decrease in the performance with RTS as higher and lower limit.