Professional Documents
Culture Documents
TRADINTIONAL 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 .
NRK\MOBILE COMPUTING\U – 5\ 2
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.
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
NRK\MOBILE COMPUTING\U – 5\ 4
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.
Advantages:
It is simple. Only minor changes in the mobile host software results in performance increase. No
FA or CN host has to be changed.
Disadvantages:
In this the packet losses in the wireless domain are not isolated and are reflected in the wired
domain as well. This results in increased time delay in the retransmitted packets to move from CN to
MH.
v) Transmission / Timeout Freezing:
Normally when the connection is lost, in case of normal TCP, after a time out period, a
disconnection takes place. IN a situation where in a mobile node moving through a tunnel or passing
black out areas, when it comes back, t the connection is lost and it needs to make connection once again.
In this method, this problem is solved.
Mostly, the MAC layer has already noticed connection problems, before the connection is actually
interrupted from a TCP point of view. IN addition, MAC layer knows the real reason for the interruption
and does not assume congestion as TCP would. So, in this case, the MAC layer can inform the TCP layer
of impeding loss of connection or that the current interruption is not caused by congestion. The TCP
can now stop sending and freezes the current state of its congestion window and further timers till once
again MAC layer informs it about the connectivity (whenever it detects).
Advantage:
The advantage of this approach is that it offers a way to resume TCP coonection even after
longer interruptions of the connection. It is independent of any other TCP mechanism, such as ACKs,
sequence numbers etc.
Disadvantages:
i) The software on the mobile host and CN needs to be changed.
NRK\MOBILE COMPUTING\U – 5\ 5
ii) Freezing the TCP may not work well with some of the TCP mechanism that encryption
which use time dependent encryption schemes. These schemes need synchronization after
connection.
vi) Selective Retransmission:
In TCP, acknowledgement are cumulative. That is they acknowledge in order of receipt of packet
upto a certain packet. If a single packet is lost, the sender has to retransmit everything from the lost
packet (go back n retransmission.). This obviously wastes bandwidth. In Selective Retransmission s
method, TCP can indirectly request a selective retransmission of packets. The receiver can acknowledge
single packets, not only trains of in sequence packets. The sender can now determine precisely which
packet is needed and can retransmit it.
The advantages is that sender retransmits only those data that are lost. This lowers bandwidth
requirement. The disadvantage is more complex software on the MH.
Although, it is possible to reduce the overhead, both MH and CN requires software updates.
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:
Lightweight SSL
Uses WIM/PKI-
Cards
Datagram service on
different bearers
Convergence between
bearer services
Different Wireless
Tech.
– WML Microbrowser
– WMLScript Virtual Machine
– WMLScript Standard Library
– Wireless Telephony Application Interface (WTAI)
– WAP content types
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 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)
Key
Components
Origin/Web Server
WAP Gateway/Proxy
WAP Protocol Stack
Micro Browser
WML/WML Script
Transcoders
WTA
NRK\MOBILE COMPUTING\U – 5\ 8
In the example, the WAP client communicates with two servers in the wireless network. The WAP
proxy translates WAP requests to WWW requests thereby allowing the WAP client to submit requests to
the web server. The proxy also encodes the responses from the web server into the compact binary format
understood by the client. If the web server provides WAP content (e.g., WML), the WAP proxy retrieves
it directly from the web server. However, if the web server provides WWW content (such as HTML), a
filter is used to translate the WWW content into WAP content. For example, the HTML filter would
translate HTML into WML. The Wireless Telephony Application (WTA) server is an example origin or
gateway server that responds to requests from the WAP client directly. The WTA server is used to
provide WAP access to features of the wireless network provider’s telecommunications infrastructure.
WAP ARCHITECTURE
W A P GATEWAY
CLIENT WEB SERVER
WML SCRIPTS
WML SCRIPT
SCRIPT WML HTTP
WSP/WTP ETC
SCRIPT
COMPILER
WTAI
CONTENT
PRPTOCOL
ADAPTER
Above figures illustrate the variants that are possible if the WAP gateway is integrated or co located
with the Web server
T-SAP T-SAP
T-DUnitdata.req
(DA, DP, SA, SP, UD) T-DUnitdata.ind
(SA, SP, UD)
T-DUnitdata.req
(DA, DP, SA, SP, UD)
T-DError.ind
SAP: Service Access Point
(EC) DA: Destination Address
DP: Destination Port
SA: Source Address
SP: Source Port
UD: User Data
EC: Error Code
The exchange of service primitive is explained below:
The service primitive, T-DUnitdata.req with destination address (DA), Destination Port (DP), Source
address (SA), Source Port(SP), and user data (UD) as mandatory parameter is sent to the
destination. The source and destination address can be MSISDN ( a telephone number or IP address).
Or any unique identifiers. At the destination T-DUnitdata.ind service primitive indicates the reception
of data. Here the DA and DP are optional as shown below.
IF WDP could not fulfill any requests by higher layer, it sends back T-DError.ind along with the reason.
It is used to indicate local problem such as user data size that is too large etc.
If the WDP service primitive are sent to any destination that are not reachable or no application is
listening, then the WCMP (wireless control message protocol), provides the error messages similar to
ICMP in for IPv4 / IPv6. Typical errors are – destination unreachable, parameter problem, etc.
originator peer
SEC-SAP SEC-SAP
SEC-Create.req
(SA, SP, DA, DP, KES, CS, CM)
SEC-Create.ind
(SA, SP, DA, DP, KES, CS, CM)
SEC-Create.res
(SNM, KR, SID, KES‘, CS‘, CM‘)
SEC-Create.cnf
(SNM, KR, SID, KES‘, CS‘, CM‘)
SEC-Exchange.req
SEC-Exchange.ind
SEC-Exchange.res
(CC)
SEC-Commit.req SEC-Exchange.cnf
(CC)
SEC-Commit.cnf
SEC-Commit.ind
KES: Key Exchange Suite; CS: Cipher Suite ; CM: Compression Mode ; SNM: Sequence Number
Mode; KR: Key Refresh Cycle ; SID: Session Identifier ; CC: Client Certificate
The peer also issued a SEC-Exchange Primitive. This indicates that the peer wishes to perform public
key authentication with the client, i.e the peer request the Client Certificate (CC) from the
originator. The originator answers with the certificate and issues a SEC-Commit.req primitive. This
primitive indicates that the hand shake is complete for the originators side and that the originator
now wants to switch into the newly negotiated connection state. The certificate is delivered to the
peer side and the SE-commit is indicated. The WTLS layer of the peer sends back confirmation to
the originator.
After setting the secure connection between tow peers, user data can be exchanged Which is done using
the SEC – Unit data primitive as shown below:
sender receiver
SEC-SAP SEC-SAP
SEC-Unitdata.req
(SA, SP, DA, DP, UD)
SEC-Unitdata.ind
(SA, SP, DA, DP, UD)
TR-Invoke primitives are used to initiate a new transaction, TR Result to send back the result and TR
Abort to abort existing transactions.
A special features of WTP is its ability to provide user acknowledgment or alternatively, an automated
acknowledgement by the WTP entity.
WTP Class 0: This class refers an unreliable service without a result message. The transactions is
stateless and cannot be aborted. The primitives transacted are shown below:
A: Acknowledgement Type
initiator responder (WTP/User)
TR-SAP TR-SAP C: Class (0,1,2)
H: Handle (socket alias)
TR-Invoke.req
(SA, SP, DA, DP, A, UD, C=0, H) TR-Invoke.ind
Invoke
PDU (SA, SP, DA, DP, A, UD, C=0, H‘)
The parameters for TR-Invoke.req are SA, SP, DA, DP, A, UD, C=0, H. In this A flag is used by the
initiator to select whether expects ACK from user (application) or WTP entity. Handle H provides a
simple index to uniquely identify the transaction and is an aliases for the tuple (SA, SP, DA, DP), that is
socket pair, with only local significance.
As can be seen in the above figure, the responder does not ACK the message and the initiator does not
perform any retransmission. This type of service is used by the application where datagram type
service is required.
WTP Class 1: This class offers a reliable transaction service but without a result message Here again the
initiator sends an invoke primitive with class value C = 1 and with no user ACK However, with C=1, the
responder (WTP layer) automatically responds with an ACK as shown below in part I
NRK\MOBILE COMPUTING\U – 5\ 12
initiator responder
Part I TR-SAP TR-SAP
TR-Invoke.req
(SA, SP, DA, DP, A, UD, C=1, H) TR-Invoke.ind
Invoke
P DU (SA, SP, DA, DP, A, UD, C=1, H‘)
TR-Invoke.cnf U
(H) Ack PD
IN this case, the transaction ends with the initiator receiving the ACK. However, the responder keeps the
transaction state for some time to be able to retransmit the ACK if it receives the same PDU again which
indicates the loss of previous ACK.
If a user of the WRP class 1 service requests a user ACK, the sequence of diagram looks like the figure
shown in Part II. In this case, the WTP entity does not send the ACK automatically, but waits for the TR
Invoke.res service primitive from the user. The service primitive must have the appropriate local handle
H’ identification of the for right transaction. The WTP entity can now send the ACK PDU. Typical use
for this transaction class are reliable push services.
WTP Class 2: This class of transaction service provides the classic requests / response transactions known
from many client and service scenarios. Although there are more than one scenarios that are possible, one
scenario is explained below with the diagram.
NRK\MOBILE COMPUTING\U – 5\ 13
initiator responder
TR-SAP TR-SAP
TR-Invoke.req
(SA, SP, DA, DP, A, UD, C=2, H) TR-Invoke.ind
Invoke
PDU (SA, SP, DA, DP, A, UD, C=2, H‘)
TR-Result.req
(UD*, H‘)
TR-Invoke.cnf Result
PDU
(H)
TR-Result.ind
(UD*, H)
TR-Result.res
(H)
Ack PD TR-Result.cnf
U
(H‘)
As shown above, here a user on the initiator’s side requests the service and the WTP entity sends the
invoke PDU to the responder. The WTP entity on the responders’ side indicates the request with the
TR-Invoke.ind primitive to a user. The responders now waits for the processing of the request, the user
on the responder’ side can finally give the results UD* to the WTP entity on the responder side using TR-
Result.req. The result PDU can now be sent back to the initiator, which implicitly acknowledges the
invoke PDU. The initiator can indicate the successful transmission of the invoke message and the result
with the two service primitives TR-Invoke.cnf and TR-Invoke.ind. A user may respond this result with
the TR-Result .res. An ACK PDU is then generate which finally triggers the TR-Result.cnf primitive on
the responder’s side. This example clearly shows the combination of two reliable services (TR Invoke
and TR Result) with an efficient data transmission and acknowledgement.
WSP offers following features for content exchange between cooperating client and servers.
• Establish a reliable session from client to server and release that session in orderly manner.
• Capability negotiation: Client and servers can agree upon a common level of protocol
functionality during session establishment. Example parameters are maximum client SDU size,
maximum outstanding requests, protocol options, and server SDU size etc.
• Exchange content between client and server using compact encoding
• Suspend and resume a session.
• Push content from server to client in an unsynchronized manner.
NRK\MOBILE COMPUTING\U – 5\ 14
encoders
& other
decoders WAE
user agents
reques encode
t d
request
WAE Logical model: In this a client issues an encoded requests for an operation on a remote server.
Encoding is necessary to minimize data sent over the air and to save resources on the hand held devices.
The decoders in the gateway now translate this encoded requests into a standard requests as can be
understood by the origin server. This could be a request to a get a web page or to set up a call for a
session etc. The gateway transfers this requests to the appropriate origin server as if it came from
standard client. Origin servers could be standard web running HTP and generating contents using
scripts, providing pages using databases, or applying any other technology. As the origin server
responds to the requests, the gateway now encodes the response and its contents and transfers the
encoded response with the content to the client. This type of request and response service is known as
pull service
The WAE includes push services. Which means that the server pushes content to the gateway.
The gateway encodes the pushed content and transmit the encoded content to the client.
NRK\MOBILE COMPUTING\U – 5\ 15
In the push service, the initiator is the server (mostly), where in the contents like stock quotes,
weather reports, traffic information, receipt of e – mail etc can be pushed to the user by this method.
WAE Client Components are shown below: Several Agents can reside within a client. User Agents
include such items as browsers, phonebooks, message editors etc. WAE assumes a basic WML user
agent that supports WML, WML supports or both. Further domain specific user agents with varying
architecture can also implemented. However, WTA (Wireless Telephone Application) User Agent has
been specified by default for its fundamental service. This agent handles access to and interaction with
mobile telephones.
WAE Other
Capabilit
User Agents WML User agent ies and
Services
WTA User Agent Other Agent
In order to facilitate different vendors to develop user agents, a standard has been defined called a user
profile (UA Profile), which describes the capabilities of a user agent. The capabilities that can be defined
may relate to hardware or software like, display size, operating system, browser version, processor,
memory size, audio / video codecs, or supported network types etc.
Wireless Telephony Application (WTA): WTA is a collection of telephony specific extensions for call
and feature control mechanism, merging data networks and voice networks. It integrates advanced
telephony services using a consistent user interface and allows network operators to increase accessibility
for various special services in their network. WTA enables the third-party developers as well as network
operators to create network independent content that accesses the basic features of the bearer network.
Some of the features include Content push, Access Telephony functions, Security etc
WML Dccks
WML
Services
WAP Gateway WTA User A
Encoders and
Decoders
Other Servers
Firewall
The logical architecture of the WTA is shown above. Not all the components are mandatory. A
minimal configurations could be a single server from the network operator serving all the clients. The
client is connected via the mobile network with a WTA server, other telephone networks (eg fixed and
PSTN) and a WAP gateway. A WML user agent or any other user agent runs on the client. The client
may have voice and data connection over the mobile network. Other origin servers within the trusted
domain may be connected via the WAP gateway. A firewall is useful to connect third party origin servers
outside the trusted domain.
WAP 2.0 :
IN July 2001, version two of the wireless application protocol was introduced by the WAP forum which
is the sum combination of WAP1.x, Internet protocols and many mobility specific enhancements. IN this
the browser, in addition to supporting WML, it alsoFramework
Application supports XHTML (eXtensible HTML) with
XHTMLMP (XHTML Mobile Profile). WAP 2.0 uses the composite capabilities / preference
profiles (CC/PP) framework for describing user preferences and device capabilities.
Content Format
Crypto Multimedia Messaging(E mail)
External Library
Services WEA/WTA User Push
Agent(WML,XHTMLMP)
Identification
Service Discovery
Transport Services: These can be connection oriented or connectionless and provide effective isolation
of application services over different bearer services.
NRK\MOBILE COMPUTING\U – 5\ 17
Transfer Services: The transfer protocols used are HTTP (wireless profiled), combination of WSP /
WTP, streaming protocols and message transfer protocols. HTTP is used for web browsing while
streaming protocols are used to support isochronous data (audio and video). MMS (Multimedia
Messaging Service) transfers asynchronous multimedia content ( JPEG, GIF, text, Coded Audio etc).
Session Service: In order to understand the capabilities, these are shared using capability negotiations.
This includes information about client, server and proxy capabilities and allows customization of the
content. Push OTA (Over the Air Interface) offers reliable and unreliable push services. Cookies
services is introduced on client to remember multiple hypermedia transfers.
Application Framework: Basic framework comprised of browsing, email service, support for different
content formats etc. Various content format that are supported color images, audio, video, calendar
information, phone book entries etc in the form different user agent.
Security Service: Additional security services such as privacy, authentication, integrity and non-
repudiation etc are covered under this.
Service Discovery: In case of vendor applications, External functions or services can be discovered via
the External Functionality Interface (EFI) that are specified in WAP forum. For many network
services, a device needs additional parameters to get access (e.g smart card specifications, content
type information etc). The device can get these parameters via the Provisioning Service. Also
Navigation Discovery provides a secure way to discover new network services. Service Lookup
B provides for discovery of parameters needed for a certain type services with the help of directory.
Mapping of DNS to IP address is one such example.