Top 3 Products & Services
Dated: Aug. 13, 2004
Related CategoriesWML (Wireless)
Networking In General
Microsoft Internet Explorer
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 source as a transport protocol. Because of the unreliability of the wireless channel, much work has to be done in order for the data reliable. This characteristic is seen in the TCP. But the other major challenge posed is the speed of the data. So there is a compromise between the speed and reliability. There has been much research going on like changing the syntax of 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 RETRANSMISSION because reduced window size reduced window size does not produce enough outstanding packets return duplicate ACKs.
One of the common methods in improving the performance on wireless is done at physical layer using Forward error correction (FEC). This method has many disadvantages as it doesn’t solve the problem entirely. The solutions to solve the problem 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 not bother about the acknowledgements for each packet. Unfortunately the main issue ignoring here is the worst case scenario, if the error rate is high. Then we don’t have any idea of the errors until the end of the window
In the case of split connection, there is a split in the TCP connection between the source and base station and between base station and receiver. This approach fails at the basic principle of violating the TCP syntax.
In the case of Proxy approach, between the sender and receiver a proxy is inserted. Snoop protocol uses this approach. The main disadvantage in the case of snoop protocol is that it takes into account only the cumulative acknowledgements and it makes many assumptions 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 the BANDWIDTH DELAY product of the link. At this stage we are using the maximum capacity 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 intermittent connectivity. 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. TCP implementations have large retransmission times that are multiples of 500ms where as link layer retransmissions have times on the order of 200ms. Link layer protocols that were used do not attempt in order delivery across the link and caused packets to arrive out of order at the receiver. Currently not particular standard is there for the link layer protocols. 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 research simulations that correcting errors at the link layer has increased the overall performance. But the retransmissions at the link layer does not always improve performance because of the poor TCP performance if there are local retransmissions. Therefore a solution at link 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 there by preventing unnecessary and delayed retransmission of packets and subsequent reduction of TCP's congestion window. No modification to network or Transport layer software
- Efficient link layer protocol taking advantage of opposing flows by piggy backing link 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 TULIP is able to adapt to different versions of TCP TULIP piggy backs TCP ACK’s with link layer ACK’s there by doesn’t need extra bandwidth.
The solution to this is to provide a link layer that TCP which is able to tackle the losses and recover the state before TCP notices it (i.e. before TCP timeout).The solution attempts to hide the wireless losses by using local retransmissions and forward error correction over the wireless link. This link layer should make at-most use of the long TCP timeout this protocol TULIP uses the selective repeat retransmission strategy together 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 a TCP session basis but solely on a destination basis. TULIP there by greatly reduces its overhead 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 signals called TRANS and WAIT. TULIP needs MAC layer to inform TULIP that that transmission for the packet passed to it has started. The MAC layer informs the start oft he transmission though the TRANS signal. After receiving the TRANS signal TULIP starts a timer and waits for t1 seconds before sending the next packet, because either side has 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 the transfer 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 MAC acceleration feature and uses the three way handshake implemented by the FAMA-NCS protocol. 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 lasts longer than an RTS. This CTS is a tone that forces all other nodes to back off long enough 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 40 bytes or less)when it had received a TULIP packet from this packet is piggy backed with theTULIP ACK and sent to sender. There is no RTS CTS handshake for that data packet.
3) If the receiver’s data packet is larger then 40 bytes, then only there is an RTS CTS handshake for that packet.
TULIP uses a Cumulative ACK feature. Whenever a packet fails to arrive at the receiver from the sender the receiver sends back an ACK with a bit vector indicating that the corresponding packet has not been received. The receiver does not stop receiving successive packets from the sender. It receives them and stores them in a buffer .Then it prepares a retransmission list of the packets missing and forwards an ACK giving the information of the missing packets. When the receiver receives the missing packets and they are all in the correct order then only it passes them together to the next higher layer.
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 can cause burst errors especially when it is in a deep fade for significant amount of time.There are various strategies have been proposed in categorizing the different proposals:
2) Split connection
3) Link layer
End-to-end connection basically handles all kinds of losses. An optimum end-to-end scheme can employ the following strategies:
- The optimum error categories depend on the type of network. If analyzed from the sender’s point of view, this method can be used if the accuracy of the detection scheme can be sacrificed in the exchange for the minimal changes 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 the multiple packet drops in a given window.
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 ACK and knows which packets are missing. Because this information is sent back from the receiver. It retransmits the packets as soon as it receives this ACK Errors further down the window are recovered before the first error. Other protocols must rely heavily on timers and cumulative ACKs and get stuck trying to retransmit the packets in a series of losses. End to End delays are drastically reduced using TULIP.
Now that you've gotten free know-how on this topic, try to grow your skills even faster with online video training. Then finally, put these skills to the test and make a name for yourself by offering these skills to others by becoming a freelancer. There are literally 2000+ new projects that are posted every single freakin' day, no lie!