IT351: Mobile & Wireless Computing Wireless Transport Layer Objective: – To study the TCP functionality and problem domain as it relates specifically to integrated wireless networks. – To provide an insight into available solutions to enhance TCP operation in wireless networking. – To provide an overview of the Wireless Application Protocol (WAP) as a solution following the split-connection model. Outline • Transmission Control Protocol - TCP (recap) – Congestion window – Slow start – Fast retransmit • Problem of TCP in wireless networks • Solutions: – Indirect TCP (I-TCP) • Wireless Application Protocol (WAP) Overview of the main chapters Chapter 10: Support for Mobility Chapter 9: Mobile Transport Layer Chapter 8: Mobile Network Layer Chapter 4: Telecommunication Systems Chapter 5: Satellite Systems Chapter 6: Broadcast Systems Chapter 3: Medium Access Control Chapter 2: Wireless Transmission Chapter 7: Wireless LAN Recap – Transmission Control Protocol • Transport protocols typically designed for – Fixed end-systems – Fixed, wired networks TCP: – Provides “reliable, connection oriented, full-duplex, byte-stream, transport protocol” – It is an “end-to-end protocol that supports flow and congestion control” – Used for Web, email, FTP and many other Internet applications (majority of Internet traffic is TCP) – Has been designed and optimised for wired networks TCP in Wireless Networks • Flow and Congestion Control – TCP Transmission Policy – TCP can manage the flow of data between applications and react to congestion across the Internet – TCP Congestion Control – network congestion • Ask senders to slow down (or stop altogether) • However, first it must be possible to detect that congestion has occurred. • Assumptions made about why packets aren’t arriving congestion Motivation • TCP congestion control – packet loss in fixed networks typically due to (temporary) overload situations – router have to discard packets as soon as the buffers are full – TCP recognizes congestion only indirect via missing acknowledgements, retransmissions unwise, they would only contribute to the congestion and make it even worse – Sender alters the Congestion Window according to the way the network is currently performing – The Congestion Window will keep increasing until segments timeout and then start reducing – slow-start algorithm as reaction Motivation • TCP slow-start algorithm – sender calculates a congestion window for a receiver – start with a congestion window size equal to one segment – exponential increase (double) of the congestion window up to the congestion threshold, then linear increase (increase by 1) – 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/fast 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-mechanisms • 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 TCP in Wireless Networks • Effects of dropped packets – Node A sends data to Node B (wireless) • Node B drops some packets randomly • Node B will ask for retransmissions • Node A assumes congestion • Solutions – Link Layer Solutions • Make the link layer reliable • TCP may make performance worse TCP in Wireless Networks • Solutions – Split Connections • Have two TCP connections, one for the wireless link and one for the wired link • Wireless TCP (I-TCP) – split connection protocol with new mechanisms for rate-based congestion control • Acknowledgements can arrive at the sender before the segment reaches the receiver – New Transport Protocols • Cross-layer design: Interaction between transport and network layers to know the reason for packet loss – violate layering structure – Wireless Application Protocol • Upper layer protocols for Wireless Internet • Based on the Split connections solution Indirect TCP • Indirect TCP or I-TCP segments the connection – 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 mobile host access point (foreign agent) „wireless“ TCP „wired“ Internet standard TCP I-TCP socket and state migration access point1 socket migration and state transfer Internet access point2 mobile host Indirect TCP • 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 now 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 Wireless Application Protocol - WAP • Goals – Build on existing standards • Internet • Telecommunications (GSM etc.) – Industry participation (group experts together) – Maintain bearer independence – Maintain device independence WAP • Requirements – Ensure interoperability – Observe market needs • Ease of use, price sensitivity, tasks, usage patterns – Observe network needs • Less bandwidth, more latency, less predictable – Observe device needs • Less CPU power, less memory, limited display/input WAP • Key Elements of WAP – – – – – Programming Model Wireless Markup Language (WML) Micro-browser for terminal WAP Stack Wireless Telephony Application (WTA) WAP WSP: Wireless Session Protocol WML: Wireless Markup Language WAP • Wireless Markup Language - WML – – – – – XML based substitute for HTML More tightly structured than HTML Attributes used in tags to define data types Pages are organised into ‘decks’ (like cards) WMLScript (subset of JavaScript) client side scripting language, allows interactive (dynamic) pages – Programmer has to be much more aware of constraints, interface and efficiency than on PC based Web pages WAP • Micro-browser – Defines how WML should be interpreted on a particular device • This could be different depending on the device type • Many manufacturers have small differences in phone interfaces (screen size and input etc.) • But also mobile phone vs. PDA interface – Code must have small footprint and be efficient WAP • WTA - Wireless Telephony Applications – Allows access to call control functions – Phone book – Allows WMLScript services that integrate with the telephony applications • Example, a forwarding service that has a WAP interface WAP WAP protocol stack