Search This Blog

Thursday, March 25, 2010

Mobile Computing Tradinational TCP


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 Mobile host. 

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:

WAP architecture is  shown below. 



  • 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)

WAP architecture is  shown below.  



5 comments:

  1. Thanks for this post it does really help to understand the concept of Mobile TCP

    ReplyDelete
  2. Heartily appreciate your contribution Because that is unbeatable informative content about mobile computing for audience.

    ReplyDelete
  3. When 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