ADSL - Asymmetric Digital Subscriber Line
AGP - Accelerated Graphics Port
ALI - Acer Labs, Incorporated
ALU - Arithmetic Logic Unit
AMD - Advanced Micro Devices
APC - American Power Conversion
ASCII - American Standard Code for Information Interchange
ASIC - Application Specific Integrated Circuit
ASPI - Advanced SCSI Programming Interface
AT - Advanced Technology
ATI - ATI Technologies Inc.
ATX - Advanced Technology Extended
--- B ---
BFG - BFG Technologies
BIOS - Basic Input Output System
BNC - Barrel Nut Connector
--- C ---
CAS - Column Address Signal
CD - Compact Disk
CDR - Compact Disk Recorder
CDRW - Compact Disk Re-Writer
CD-ROM - Compact Disk - Read Only Memory
CFM - Cubic Feet per Minute (ft�/min)
CMOS - Complementary Metal Oxide Semiconductor
CPU - Central Processing Unit
CTX - CTX Technology Corporation (Commited to Excellence)
--- D ---
DDR - Double Data Rate
DDR-SDRAM - Double Data Rate - Synchronous Dynamic Random Access Memory
DFI - DFI Inc. (Design for Innovation)
DIMM - Dual Inline Memory Module
DRAM - Dynamic Random Access Memory
DPI - Dots Per Inch
DSL - See ASDL
DVD - Digital Versatile Disc
DVD-RAM - Digital Versatile Disk - Random Access Memory
--- E ---
ECC - Error Correction Code
ECS - Elitegroup Computer Systems
EDO - Extended Data Out
EEPROM - Electrically Erasable Programmable Read-Only Memory
EPROM - Erasable Programmable Read-Only Memory
EVGA - EVGA Corporation
--- F ---
FC-PGA - Flip Chip Pin Grid Array
FDC - Floppy Disk Controller
FDD - Floppy Disk Drive
FPS - Frame Per Second
FPU - Floating Point Unit
FSAA - Full Screen Anti-Aliasing
FS - For Sale
FSB - Front Side Bus
--- G ---
GB - Gigabytes
GBps - Gigabytes per second or Gigabits per second
GDI - Graphical Device Interface
GHz - GigaHertz
--- H ---
HDD - Hard Disk Drive
HIS - Hightech Information System Limited
HP - Hewlett-Packard Development Company
HSF - Heatsink-Fan
--- I ---
IBM - International Business Machines Corporation
IC - Integrated Circuit
IDE - Integrated Drive Electronics
IFS- Item for Sale
IRQ - Interrupt Request
ISA - Industry Standard Architecture
ISO - International Standards Organization
--- J ---
JBL - JBL (Jame B. Lansing) Speakers
JVC - JVC Company of America
- K ---
Kbps - Kilobits Per Second
KBps - KiloBytes per second
--- L ---
LG - LG Electronics
LAN - Local Area Network
LCD - Liquid Crystal Display
LDT - Lightning Data Transport
LED - Light Emitting Diode
--- M ---
MAC - Media Access Control
MB � MotherBoard or Megabyte
MBps - Megabytes Per Second
Mbps - Megabits Per Second or Megabits Per Second
MHz - MegaHertz
MIPS - Million Instructions Per Second
MMX - Multi-Media Extensions
MSI - Micro Star International
--- N ---
NAS - Network Attached Storage
NAT - Network Address Translation
NEC - NEC Corporation
NIC - Network Interface Card
--- O ---
OC - Overclock (Over Clock)
OCZ - OCZ Technology
OEM - Original Equipment Manufacturer
--- P ---
PC - Personal Computer
PCB - Printed Circuit Board
PCI - Peripheral Component Interconnect
PDA - Personal Digital Assistant
PCMCIA - Peripheral Component Microchannel Interconnect Architecture
PGA - Professional Graphics Array
PLD - Programmable Logic Device
PM - Private Message / Private Messaging
PnP - Plug 'n Play
PNY - PNY Technology
POST - Power On Self Test
PPPoA - Point-to-Point Protocol over ATM
PPPoE - Point-to-Point Protocol over Ethernet
PQI - PQI Corporation
PSU - Power Supply Unit
--- R ---
RAID - Redundant Array of Inexpensive Disks
RAM - Random Access Memory
RAMDAC - Random Access Memory Digital Analog Convertor
RDRAM - Rambus Dynamic Random Access Memory
ROM - Read Only Memory
RPM - Revolutions Per Minute
--- S ---
SASID - Self-scanned Amorphous Silicon Integrated Display
SCA - SCSI Configured Automatically
SCSI - Small Computer System Interface
SDRAM - Synchronous Dynamic Random Access Memory
SECC - Single Edge Contact Connector
SODIMM - Small Outline Dual Inline Memory Module
SPARC - Scalable Processor ArChitecture
SOHO - Small Office Home Office
SRAM - Static Random Access Memory
SSE - Streaming SIMD Extensions
SVGA - Super Video Graphics Array
S/PDIF - Sony/Philips Digital Interface
--- T ---
TB - Terabytes
TBps - Terabytes per second
Tbps - Terabits per second
TDK - TDK Electronics
TEC - Thermoelectric Cooler
TPC - TipidPC
TWAIN - Technology Without An Important Name
--- U ---
UART - Universal Asynchronous Receiver/Transmitter
USB - Universal Serial Bus
UTP - Unshieled Twisted Pair
--- V ---
VCD - Video CD
VPN - Virtual Private Network
--- W ---
WAN - Wide Area Network
WTB - Want to Buy
WYSIWYG - What You See Is What You Get
--- X ---
XGA - Extended Graphics Array
XFX - XFX Graphics, a Division of Pine
XMS - Extended Memory Specification
XT - Extended Technology
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 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)
Labels:
Mobile Computing,
Tradinational TCP
Wednesday, March 24, 2010
Mobile Transport Layer
• Motivation
• TCP mechanisms
• Indirect TCP
• Snooping TCP
• Mobile TCP
• Fast retransmit/recovery
• Transmission freezing
• Selective retransmission
• Transaction oriented TCP
Motivation
• Transport protocols typically designed for
- Fixed end-systems
- Fixed, wired networks
• TCP congestion control
• Packet loss in fixed networks typically due to (temporary) overload situations
• Routers discard packets as soon as the buffers are full
• TCP recognizes congestion only indirectly via missing acknowledgements
• Retransmissions unwise, they would only contribute to the congestion and make it even worse
• Slow-start algorithm as reaction
· Indirect TCP or I-TCP segments the connection
• TCP mechanisms
• Indirect TCP
• Snooping TCP
• Mobile TCP
• Fast retransmit/recovery
• Transmission freezing
• Selective retransmission
• Transaction oriented TCP
Motivation
• Transport protocols typically designed for
- Fixed end-systems
- Fixed, wired networks
• TCP congestion control
• Packet loss in fixed networks typically due to (temporary) overload situations
• Routers discard packets as soon as the buffers are full
• TCP recognizes congestion only indirectly via missing acknowledgements
• Retransmissions unwise, they would only contribute to the congestion and make it even worse
• Slow-start algorithm as reaction
TCP Slow Start
- Sender calculates a congestion window for a receiver
- Start with a congestion window size equal to one segment
- Exponential increase of the congestion window up to the congestion threshold, then linear increase
- Missing acknowledgement causes the reduction of the congestion threshold to one half of the current congestion window
- Congestion window starts again with one segment
TCP Fast Retransmit/Recovery
- TCP sends an acknowledgement only after receiving a packet
- If a sender receives several acknowledgements for the same packet, this is due to a gap in received packets at the receiver
- However, the receiver got all packets up to the gap and is actually receiving packets
- Therefore, packet loss is not due to congestion, continue with current congestion window (do not use slow-start)
Influences of mobility on TCP
- TCP assumes congestion if packets are dropped
- Typically wrong in wireless networks, here we often have packet loss due to transmission errors
- Furthermore, mobility itself can cause packet loss, if e.g. a mobile node roams from one access point (e.g. foreign agent in Mobile IP) to another while there are still packets in transit to the wrong access point and forwarding is not possible
· The performance of an unchanged TCP degrades severely
- However, TCP cannot be changed fundamentally due to the large base of installation in the fixed network, TCP for mobility has to remain compatible
- The basic TCP mechanisms keep the whole Internet together
Indirect TCP I
- No changes to the TCP protocol for hosts connected to the wired Internet, millions of computers use (variants of) this protocol
- Optimized TCP protocol for mobile hosts
- Splitting of the TCP connection at, e.g., the foreign agent into 2 TCP connections, no real end-to-end connection any longer
- Hosts in the fixed part of the net do not notice the characteristics of the wireless part
I-TCP socket and state migration
- Transparent extension of TCP within the foreign agent
- Buffering of packets sent to the mobile host
- lst packets on the wireless link (both directions!) will be retransmitted immediately by the mobile host or foreign agent, respectively (so called “local” retransmission)
- The foreign agent therefore “snoops” the packet flow and recognizes acknowledgements in both directions, it also filters ACKs
- Changes of TCP only within the foreign agent (+min. MH change)
Advantages
* No changes in the fixed network necessary, no changes for the hosts (TCP protocol) necessary, all current optimizations to TCP still work
* Transmission errors on the wireless link do not propagate into the fixed network
* Simple to control, mobile TCP is used only for one hop between, e.g., a foreign agent and mobile host Therefore, a very fast retransmission of packets is possible, the short delay on the mobile hop is known
Disadvantages
· Loss of end-to-end semantics, an acknowledgement to a sender does not any longer mean that a receiver really got a packet, foreign agents might crash
· Higher latency possible due to buffering of data within the foreign agent and forwarding to a new foreign agent
Snooping TCP
- Transparent extension of TCP within the foreign agent
- Buffering of packets sent to the mobile host
- lst packets on the wireless link (both directions!) will be retransmitted immediately by the mobile host or foreign agent, respectively (so called “local” retransmission)
- The foreign agent therefore “snoops” the packet flow and recognizes acknowledgements in both directions, it also filters ACKs
- Changes of TCP only within the foreign agent (+min. MH change)
- Data transfer to the mobile host
* FA buffers data until it receives ACK of the MH, FA detects packet loss via duplicated ACKs or time-out
* Fast retransmission possible, transparent for the fixed network
· Data transfer from the mobile host
* FA detects packet loss on the wireless link via sequence numbers, FA answers directly with a NACK to the MH
* MH can now retransmit data with only a very short delay
Advantages:
· Maintain end-to-end semantics
· No change to correspondent node
· No major state transfer during handover
Problems
- Snooping TCP does not isolate the wireless link well
- May need change to MH to handle NACKs
- Snooping might be useless depending on encryption schemes
Mobile TCP
- Special handling of lengthy and/or frequent disconnections
- M-TCP splits as I-TCP does
* Unmodified TCP fixed network to supervisory host (SH)
* Optimized TCP SH to MH
· Supervisory host
* No caching, no retransmission
* Monitors all packets, if disconnection detected
- set sender window size to 0
- sender automatically goes into persistent mode
* Old or new SH reopen the window
Advantages
· Maintains semantics, supports disconnection, no buffer forwarding
Disadvantages
· Loss on wireless link propagated into fixed network
· Adapted TCP on wireless link
Fast retransmit/fast recovery
- Change of foreign agent often results in packet loss
* TCP reacts with slow-start although there is no congestion
· Forced fast retransmit
* As soon as the mobile host has registered with a new foreign agent, the MH sends duplicated acknowledgements on purpose
* This forces the fast retransmit mode at the communication partners
* Additionally, the TCP on the MH is forced to continue sending with the actual window size and not to go into slow-start after registration
Advantage
· Simple changes result in significant higher performance
Disadvantage
· Further mix of IP and TCP (to know when there is a new registration), no transparent approach
Transmission/time-out freezing
· Mobile hosts can be disconnected for a longer time
* No packet exchange possible, e.g., in a tunnel, disconnection due to overloaded cells or mux. with higher priority traffic
* TCP disconnects after time-out completely
· TCP freezing
* MAC layer is often able to detect interruption in advance
* MAC can inform TCP layer of upcoming loss of connection
* TCP stops sending, but does not assume a congested link
* MAC layer signals again if reconnected
Advantage
· Scheme is independent of data and TCP mechanisms (Ack,SN) => works even with IPsec
·
Disadvantage
· TCP on mobile host has to be changed, mechanism depends on MAC layer
Selective retransmission
· TCP acknowledgements are often cumulative
· ACK n acknowledges correct and in-sequence receipt of packets up to n
· If single packets are missing quite often a whole packet sequence beginning at the gap has to be retransmitted (go-back-n), thus wasting bandwidth
· Selective retransmission as one solution
* RFC2018 allows for acknowledgements of single packets, not only acknowledgements of in-sequence packet streams without gaps
* Sender can now retransmit only the missing packets
Advantage:
· Much higher efficiency
Disadvantage
· More complex software in a receiver, more buffer needed at the receiver
Transaction oriented TCP
· TCP phases
§ Connection setup, data transmission, connection release
§ Using 3-way-handshake needs 3 packets for setup and release, respectively
§ Thus, even short messages need a minimum of 7 packets!
· Transaction oriented TCP
§ RFC1644, T-TCP, describes a TCP version to avoid this overhead
§ Connection setup, data transfer and connection release can be combined
§ Thus, only 2 or 3 packets are needed
Advantage
· Efficiency
Disadvantage
· Requires changed TC
· Mobility no longer transparent
Subscribe to:
Posts (Atom)