In this unit, difficulties involved in providing Internet support – browsing, email etc - to the mobile devices such as pagers, PDAs and cell phones etc. are discussed.
Traditionally, TCP / IP protocol stack is used for providing connectivity to the stationary devices. To provide support for the mobile devices, lower layers up to network layers are not sufficient. While network layer addresses the host, port, transport (TCP / IP ) layer provides dedicated application (lying above them in protocol stack) by way of multiplexing data to and from applications. In addition, while UDP provides a connectionless, TCP can give certain guarantee such as in-order delivery or reliable data transmission using retransmission technique etc. However, these are designed non mobile applications.
Based on unique problems associated with the mobile nodes, a set of solutions have been developed. These are : Indirect TCP, Snooping TCP, Mobile TCP, Fast Retransmit/fast recovery, Transmission / time out freezing, selective retransmission, transaction oriented TCP etc Brief description of each is given below:
Traditional TCP: To start with, a bit of under standing of the tradition protocol stack is discussed. Salient features that enhances the TCP performance are:
i. Congestion Control: Once the network system (consisting of routers, bridges, hubs) are established, the hardware and software become matured and they are not likely to drop packets or flip bits (0 to 1 or vice versa). However, temporary overload that occurs when a number of input data (different input links) being addressed to a particular output link This results in a congestion of a node. Congestion may occur from time to time. In this case, the router drops the packets which is observed by the receiver. When the senders does not receive the ACK for the lost packets, each of them assume congestion in the network. As sending the data at full rate is unwise, each of the senders reduce the data rate which removes the congestion over a period of time. So even under heavy load, TCP guarantees at lest sharing of the bandwidth.
ii. Slow Start: An important features of as a response to congestion is Slow Start mechanism. In this once, congestion is indicated, the sender reverts to slow start mechanism. It works as follows:
The sender starts sending one packet and waits for its response. The waiting period is equal to RTT. If ACK is received, he doubles the size of the packet and waits of ACK. This process is repeated till he reaches a threshold limit. That is till he reaches the threshold level, the message size increases exponentially. Once it is reached, the increment changes to linear. Here again, increment is not for ever. Now whenever time out occurs due to missing ACKs, the threshold level is set to half and the congestion is set to one segment and the sender start sending a single segment. Now the exponential growth goes upto new threshold level.
iii Fast Recovery / Fast Retransmit: In TCP, loss in receipt of the data at the destination can be due to two reasons. One is occasional loss due to error. Other may be due to congestion. In case of occasional loss, the receiver sends ACK for the last packet repeatedly for three or four times. This is an indication for the sender that a packet is lost the and the sender now retransmits the same. This is called fast retransmit which takes place without much loss of time.
Contrary to this, when a congestion takes place which results in non receipt of ACK for a time which is much more than RTT, it reverts to slow start mechanism which is called fast recovery .
Implications on Mobility:
While slow start is one of most useful mechanism in a fixed network, it drastically reduces the efficiency of the TCP if used in a mobile receiver or sender. The reason for this is that slow start mechanism may be initiated for wrong reasons. Missing ACK in case of mobile nodes is very common which may be due to mobility or due to any interruption.
Also error rates, packet loss on wireless links are order of magnitude and cannot be always compensated by retransmissions or error correction mechanisms.
Mobility itself can cause packet loss. There are many situation when a soft handover is not possible for mobile end system. This results in loss of packet that are in transit to the old foreign agent while the nodes move to the new foreign agent. This loss is nothing to do with wireless access but it is a rerouting problem.
As already brought out, receipt of the three or more ACK for the same packet is identified as loss of a single packet and appropriate action is taken and loss of ACK for a time that is much more than RTT is identified as congestion and slow start mechanism is invoked. Both these cannot be applied for the Mobile devices as more often, loss of packet can take place for reason other than these as well
Also, for the sake of mobile devices, on cannot change the TCP protocol that encompasses the inter globe. Hence new methods were devised that are discussed below:
Classical TCP
i) Indirect TCP (I-TCP):
This method has been developed based on two premises.
1. TCP performs poorly together with wireless links
2. TCP within the fixed network cannot be changed.
I-TCP segments a TCP connection to a mobile device into a fixed part and a wireless part. As shown below. In this, the standard TCP is connected between fixed host and the foreign agent (Access Point). Where as the ‘Wireless TCP’ is connected between the Access point and the IN this the access point acts as a proxy for both fixed and mobile nodes. In case of fixed nodes, it is the mobile node proxy and in case of mobile host, it is the fixed node proxy. Foreign agent (access point ) is selected as proxy as it controls the mobility of the most host. However one can identify the TCP connection separation at a special server at the entry point to a mobile network (eg IWF - Inter Working Function in GSM, GGSN in GPRS etc)
The foreign acts as proxy and relays all data in both directions. What is important to note in this case is that the foreign agent itself responds to the receipt of data from either hosts and send ACKs by itself. In case the packet is lost in the wireless medium, the fixed (correspondent ) node will not notice this as the ACK is already sent by the foreign agent. However, the foreign agent tries to retransmit this packet locally to maintain reliable data transport. Similarly while the mobile node sends data to foreign agent, if it is lost, the mobile nodes identifies this much faster as the RTT upto proxy is very much smaller and it retransmits the lost packet.
IN case of mobility of a mobile to a new access point, this is intimated to the old access point and the data are cached. This data is rerouted to new access point along with the current TCP state such as sequence number, address, ports etc.
There are several advantages of this methods . these are :
i) I-TCP does not required any change in the existing TCP.
ii) Transmission in the wireless link like lost packets, cannot propagate into the fixed network.
iii) With I-TCP, new mechanism can be introduced in the fixed network.
iv) Partitioning into two connections also allows the use of different transport layer protocol between the foreign agent and mobile host.
Some of the disadvantages of the systems are listed below;
i) End to end semantics of TCP is lost. The correspondent always assumes that the receiver has received the packet once it receives the ACKs which always may not be case.
ii) Increased handover latency may be more problematic. The old foreign agent needs to buffer the packet that are destined for the mobile node till it receives any information regarding its current position. This may strain the resources of the foreign agent.
The foreign agent is to be a trusted agent. If the user applies end to end encryption, the foreign ii) Snooping TCP:
In this method, the foreign agent buffers all packets with destination mobile host and additionally snoops the packet flow in both directions to recognize acknowledgements. Buffering enables the foreign agent to perform local retransmission in case of packet loss on the wireless link. IF the FA does not receive ACK within a certain amount of time, either the packet or ACK is lost. Also, FA agent could reeive a duplicate ACK (similar to TCP) which alsl shows the loss of a packet. Now the FA directly retransmits the packet. From the buffer. Which considerably reduced the retransmission time if it was to be done by the correspondent node. In addition, end to end TCP semantics is maintained. Towards this end, the ACK is not done by the FA. It only forwards the same in either direction. However, the FA can filter the duplicate ACKs.
IN case of transmission of data from Mobile node to Correspondent node, the FA snoops on the data sequence number and if it identifies a missing packet, it returns negative ACK to the mobile host. The mobile can now retransmit the missing packet immediately. Reordering is done at the CN.
iii) MOBILE TCP :
In case of Mobile deices, dropping packets when they are out of coverage area are common. When it happens, In case of normal TCP, a sender tries to retransmit data controlled by retransmission timer that doubles with each unsuccessful retransmission attempt, upto a maximum of one minute. This means that the sender tries to retransmit an unacknowledged packet every one minute and will give up after 12 retransmissions. If connectivity is back earlier than this one, the sender waits for a minimum of one minute. Later he goes into slow start mechanism as he assumes congestion.
IN M-TCP this problem is attempted. In this, M-TCP tries to improve the overall throughput, lower delay and maintain end to end semantics of TCP and provides more efficient handover. It is more suitable for lengthy or frequent disconnections.
M-TCP splits the TCP connections into two parts. An unmodified TCP is used on the standard host – Supervisory host (SH) connection while an optimized TCP is used on the SHJ-MH connection The SH is responsible for exchanging data between both parts similar to the proxy in I-TCPAs it assumes low bit rate error it does not perform caching and retransmission of data via SH> If a packet is lost on the wireless link, it has to be retransmitted by the original sender. This maintains end to end semantics.
The SH monitors all packets sent to the MH and ACKs returned from the MH. IF the SH does not receive an ACK for some time, it assumes that the MH is disconnected. It then chokes the sender by setting the sender’s window size to 0. Setting the window size to 0 forces the sender to go into persistent mode. That is the state of the sender will not change no matter how long the receiver is disconnected. This means that the sender will not try to retransmit data. As soon as the SH detects connectivity, it opens the window of the sender to the old value. The sender can continue sending at full speed. This mechanism does not required changes to the sender’s TCP.
Advantages:
i) It maintains TCP end to end semantics.
ii) If the MH is disconnected, it avoids useless retransmissions, slow start or breaking the connection etc by simply shrinking the sender window’s size to 0.
iii) As lost packets are automatically retransmitted to the new SH, there is no need to buffer the data whenever, the MH moves to new SH.
Disadvantages:
i) As SH is not a proxy, bit errors are propagated to the sender.
ii) In this case, when a number of nodes move to a new SH, the bandwidth need to be managed
WIRELESS APPLICATION ENVIRONEMNT
The purpose of the WAE is to create a general purpose application environment based mainly on existing technologies of the WWW. This should allow service providers, software manufacturers or hardware vendors to integrate their application so that they can reach wide variety of different wireless platforms in an efficient way. Some of the features of the Wireless Application Environment are given below:
- Device and network independent application environment
- Designed for low-bandwidth, wireless devices
- Considerations of slow links, limited memory, low computing power, small display, simple user interface (compared to desktops)
- Integrated Internet/WWW programming model
- High interoperability
WAP Architecture:
- Wireless Application Environment Specifies
– WML Microbrowser
– WMLScript Virtual Machine
– WMLScript Standard Library
– Wireless Telephony Application Interface (WTAI)
– WAP content types
Wireless Protocol Stack :
Transmission of data is carried out by different bearer services. WAP does not specify bearer services, but uses existing data services. Examples are SMS of GSM, circuit switched data of HSCSD (High Speed Circuit Switched Data) in GSM, or packet switched data such as GPRS or any other bearer services such as IS 136, CDMA etc.
Brief details are given below:
- WAE (Wireless Application Environment):
– Architecture: application model, browser, gateway, server
– WML: XML-Syntax, based on card stacks, variables, ...
– WTA: telephone services, such as call control, phone book etc.
- WSP (Wireless Session Protocol):
– Provides HTTP 1.1 functionality
– Supports session management, security, etc.
- WTP (Wireless Transaction Protocol):
– Provides reliable message transfer mechanisms
– Based on ideas from TCP/RPC
- WTLS (Wireless Transport Layer Security):
– Provides data integrity, privacy, authentication functions
– Based on ideas from TLS/SSL
- WDP (Wireless Datagram Protocol):
– Provides transport layer functions
– Based on ideas from UDP
WAE components:
- Architecture –Application model, Micro Browser, Gateway, Server
- User Agents : –WML/WTA/Others
–content formats: vCard, vCalender, Wireless Bitmap, WML.
· WML : –XML-Syntax, based on card stacks, variables,
· WMLScript : –procedural, loops, conditions, ... (similar to JavaScript)
· WTA : –telephone services, such as call control, text messages, phone book, ... (accessible from WML/WMLScript)
· Proxy (Method/Push)
Thanks for this post
ReplyDeleteThanks for this post it does really help to understand the concept of Mobile TCP
ReplyDeleteThank u so much admin...
ReplyDeleteHeartily appreciate your contribution Because that is unbeatable informative content about mobile computing for audience.
ReplyDeleteWhen discussing Mobile Computing and Traditional TCP, it's easy to overlook the role of aesthetics. However, custom logo design services play a vital part in mobile app branding, creating a visually appealing and memorable identity that enhances user experience and sets businesses apart in a competitive market.
ReplyDelete