Sunday, March 25, 2012

Improving Performance Over Wireless Networks

Introduction

TCP is a common transport protocol that is used in almost all the internet applications.With the advent of PDAs and with many wireless data applications TCP is a major sourceas a transport protocol. Because of the unreliability of the wireless channel, much workhas to be done in order for the data reliable. This characteristic is seen in the TCP. But theother major challenge posed is the speed of the data. So there is a compromise betweenthe speed and reliability. There has been much research going on like changing the syntaxof TCP and adding extra protocols at data link layer etc.
The main problem with the TCP is that TCP falsely assume the packet loss as congestion. The TCP sender detects a packet loss when a time out happens or duplicate acknowledgements happen.
TCP cannot recover from a loss without timing out unless
1) The connection has a large num of outstanding packets
2) Enough ACKs flowing back from the receiver.
There is a situation where a packet cannot be recovered by a FAST RETRANSMISSIONbecause reduced window size reduced window size does not produce enough outstandingpackets return duplicate ACKs.
One of the common methods in improving the performance onwireless is done at physical layer using Forward error correction (FEC). This method hasmany disadvantages as it doesn’t solve the problem entirely. The solutions to solve theproblem were defined in three categories: Link layer, Split connection, and Proxy.A protocol called AIRMAIL besides FEC makes link layer reliable .An entire window is sent by the base station. Advantage in doing like this is, we need notbother about the acknowledgements for each packet. Unfortunately the main issueignoring here is the worst case scenario, if the error rate is high. Then we don’t have anyidea of the errors until the end of the window
In the case of split connection, there is a split in the TCP connection between thesource and base station and between base station and receiver. This approach fails at thebasic principle of violating the TCP syntax.
In the case of Proxy approach, between the sender and receiver a proxy is inserted. Snoopprotocol uses this approach. The main disadvantage in the case of snoop protocol is that ittakes into account only the cumulative acknowledgements and it makes manyassumptions inappropriately the pattern in the losses.
Throughput of a TCP connection is a measure of its performance.Maximum throughput occurs when the TCP congestion window is equal to theBANDWIDTH DELAY product of the link. At this stage we are using the maximumcapacity of the Link. To achieve high throughput we need to either
  • Try mechanisms to Avoid Loss
  • Or else try mechanisms to recover fast if loss occurs

Problems in Wireless Links

On wireless networks most packet losses are due to poor link quality and intermittentconnectivity. The random characteristics of the channel make it difficult to predict end to end data rates, delay statistics and packet loss probabilities.

The Link Layer

Link layer protocols operate independently of the higher layer protocols. TCPimplementations have large retransmission times that are multiples of 500ms whereaslink layer retransmissions have times on the order of 200ms. Link layer protocols thatwere used do not attempt in order delivery across the link and caused packets to arriveout of order at the receiver. Currently not particular standard is there for the link layerprotocols. Most of the link layer protocols use stop-and-wait, go-back-N, selective repeat,and forward error correction to provide reliability. It is shown from various researchsimulations that correcting errors at the link layer has increased the overall performance.But the retransmissions at the link layer does not always improve performance becauseof the poor TCP performance if there are local retransmissions. Therefore a solution atlink layer must ensure in order delivery of packets.

TULIP (Transport Unaware Link Improvement Protocol)

  • It has the ability to maintain local recovery of all lost packets thereby preventingunnecessary and delayed retransmission of packets and subsequent reduction ofTCP's congestion window. No modification to network or Transport layersoftware
  • Efficient link layer protocol taking advantage of opposing flows by piggybackinglink layer ACK's with transport layer ACK's.Throughput which is up to three times higher than TCP with no modifications.
  • TULIP does not depend on TCP state information i.e. TCP headers etc so TULIPis able to adapt to different versions of TCP TULIP piggybacks TCP ACK’s withlink layer ACK’s thereby doesn’t need extra bandwidth.
The solution to this is to provide a link layer that TCP which is able totackle the losses and recover the state before TCP notices it (i.e. before TCP timeout).Thesolution attempts to hide the wireless losses by using local retransmissions and forwarderror correction over the wireless link. This link layer should make at-most use of thelong TCP timeout this protocol TULIP uses the selective repeat retransmission strategytogether with packet interleaving strategy. TULIP lies between the MAC layer and theTCP/IP layer. TULIP maintains no TCP state information and makes no decisions on aTCP session basis but solely on a destination basis. TULIP thereby greatly reduces itsoverhead when multiple TCP sessions are active for a particular destination.
TULIP passes one packet at a time to the MAC layer. TULIP use two additional signalscalled TRANS and WAIT .TULIP needs MAC layer to inform TULIP that thattransmission for the packet passed to it has started. The MAC layer informs the start ofthe transmission though the TRANS signal. After receiving the TRANS signal TULIPstarts a timer and waits for t1 seconds before sending the next packet, because either sidehas variable length data to send and because such packets are longer than lacks The MAClayer much informs TULIP it should wait longer than t1.This procedure of packet interleaving allows the two sources to be clocking during thetransfer of bidirectional data.
The basic principle for the TULIP is MAC level Acceleration. MAClevel Acceleration is the mechanism to reduce the link delay TULIP includes a MACacceleration feature and uses the three way handshake implemented by the FAMA-NCSprotocol. In this handshake the sender uses non persistent carrier sensing to transmit RTS(request to send) to receiver and the receiver sends back CTS (clear to send) that lastslonger than an RTS. This CTS is a tone that forces all other nodes to back off longenough to allow data packet to arrive collision free at the receiver.MAC Acceleration works as follows:
1) Sender transmits a TULIP packet (containing data) after a RTS CTS handshake;receiver sends back TULIP ACK to sender immediately.
2) If the receiver wants to send back a data packet (whose size is 40bytes or less)when it had received a TULIP packet from this packet is piggybacked with theTULIP ACK and sent to sender. There is no RTS CTS handshake for that datapacket.
3) If the receiver’s data packet is larger then 40bytes, then only there is an RTS CTShandshake for that packet.
TULIP uses a Cumulative ACK feature. Whenever a packet fails to arrive at the receiverfrom the sender the receiver sends back an ACK with a bit vector indicating that thecorresponding packet has not been received. The receiver does not stop receivingsuccessive packets from the sender .It receives them and stores them in a buffer .Then itprepares a retransmission list of the packets missing and forwards an ACK giving theinformation of the missing packets.When the receiver receives the missing packets and they are all in the correct order thenonly it passes them together to the next higher layer.

Performance

The properties of wireless channels are entirely different to that of the wired channels.Wireless channels have high bit-error rates (BER). Also these wireless channels cancause burst errors especially when it is in a deep fade for significant amount of time.There are various strategies have been proposed in categorizingthe different proposals:
1) End-to-end
2) Split connection
3) Link layer
End-to-end connection basically handles all kinds of losses. An optimum end-to-endscheme can employ the following strategies:
  • The optimum error categories depend on the type of network. If analyzedfrom the sender’s point of view, this method can be used if the accuracy ofthe detection scheme can be sacrificed in the exchange for the minimalchanges at the intermediate nodes.
  • In this method it is better to employ selective acknowledgement scheme,because it allows the TCP sender to recover more efficiently from themultiple packet drops in a given window.

Throughput

The bit error rates vary from 0 to 15 million bits/million. The receiver window size is42Kbytes.
TULIP protocol makes a retransmission list at the sender upon receiving the first ACKand knows which packets are missing. Because this information is sent back from thereceiver. It retransmits the packets as soon as it receives this ACK Errors further downthe window are recovered before the first error. Other protocols must rely heavily ontimers and cumulative ACKs and get stuck trying to retransmit the packets in a series oflosses.End to End delays are drastically reduced using TULIP.

No comments:

Post a Comment