Survey
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
* Your assessment is very important for improving the workof artificial intelligence, which forms the content of this project
Wireless Data Communication by Tatiana Madsen & Hans-Peter Schwefel • Mm1 Short range Wireless Communication (TKM) • Mm2 IP Mobility Support (HPS) • Mm3 Ad hoc Networks (TKM) • Mm4 Wireless TCP (HPS) • Mm5 Wireless applications and cross-layer aspects (HPS/ TKM) www.kom.auc.dk/~tatiana/WDC Wireless Data Communication: MM4, Wireless TCP, Fall03 www.kom.auc.dk/~hps/teaching Page 1 Tatiana K. Madsen Hans Peter Schwefel Content 5. 1. Background • • IP, Transport Layer Protocols 2. TCP functionality • 6. Connection set-up, flow/congestion control Performance parameters, Performance Models Problem statement, link models, TCP Improvements Use Case: TCP in GPRS • 3. TCP Performance Aspects • Wireless TCP Architecture, Properties, TCP Improvements 7. Summary/Conclusions 8. Outlook + Exercises Goal: Make students familiar with • underlying problems • solution approaches • Overview on key technologies Wrt. Transport layer aspects in wireless IP-based networks Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 2 Tatiana K. Madsen Hans Peter Schwefel Background: IP Protocol Stack Network Layer (Layer 3): • • Internet Protocol (IPv4, IPv6) Packet (IP datagram) transmission between end-systems [hosts] (packet size up to 65535 bytes, often restricted by Layer 2 protocols) • • Routing using 32 bit adresses (v4) Unreliable, connectionless transmission: loss, duplication, reordering can occur Application L5-7 TCP/UDP L4 IP L3 Link-Layer L2 Transport Layer (Layer 4): • Most frequent transport protocols Transmission Control Protocol TCP User Datagram Protocol UDP Application Layer/Services (Layer 5-7) • • TCP based: HTTP (HyperText Transfer Protocol), FTP (File Transmission Protocol), SMTP (Simple Mail Transfer Protocol), Telnet, ... UDP based: DNS (Domain Name Service), Streaming media, VoIP, ... Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 3 Tatiana K. Madsen Hans Peter Schwefel Transport Layer Protocols Goal: data transfer between application (processes) in end-systems • support of multiplexing/de-multiplexing e.g. socket API data stream/connection identified by: two IP addresses, protocol number, two port numbers Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 4 Tatiana K. Madsen Hans Peter Schwefel Overview: Transport Protocols • User Datagram Protocol UDP (RFC 768) – Connectionless – Unreliable – No flow/congestion control • Transmission Control Protocol TCP (RFC 793, 1122, 1323, 2018, 2581) – Connection-oriented (full duplex) – Reliable, in-order byte-stream delivery – Flow/congestion control • Stream Control Transport Protocol SCTP – Connection oriented (full-duplex associations) – Reliable message delivery, support of multiple streams – Support of multi-homing, flow/congestion control • Real-Time Transport Protocol RTP – Uses UDP – Provides: Time-stamps, sequence numbers – Supports: codecs, codec translation, mixing of multi-media streams Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 5 Tatiana K. Madsen Hans Peter Schwefel Content 1. Background • 5. IP, Transport Layers UDP, TCP • 2. TCP functionality • Connection set-up, flow/congestion control 6. Performance parameters, Performance Models Problem statement, link models, TCP Improvements Use Case: TCP in GPRS • 3. TCP Performance Aspects • Wireless TCP Architecture, Properties, TCP Improvements 7. Summary/Conclusions 8. Outlook Exercises Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 6 Tatiana K. Madsen Hans Peter Schwefel Transmission Control Protocol (TCP): Basics • Point-to-point, bi-directional connections (between end-systems) • Reliable, in-order transport of byte–stream using – Sequence Numbers – Acknowlegements • Flow/Congestion Control: Prevent flooding of – Receiver – Intermediate Systems Important ‚new‘ Header Fields – Sequence number: number of first data byte transmitted in the segment – ACK number: number of next byte expected in the reverse data flow – Window size: number of bytes host is willing to accept in reverse data flow Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 7 Tatiana K. Madsen Hans Peter Schwefel Connection Establishment / Termination Connection Establishment: • • • 3-way handshake (SYN, SYN-ACK, ACK) selection of initial sequence numbers agreement on maximum segment size Connection end: • • • Indicated by FIN flag Signalled for both transmission directions ‚Alternative‘: RST flag Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 8 Tatiana K. Madsen Hans Peter Schwefel TCP Connection State Machine TCB = TCP Control Block (5-tuple for conn. identification, Seq. nrs., timer values, etc.) Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 9 Additional transitions: RST reception state ’CLOSED’ Tatiana K. Madsen Hans Peter Schwefel TCP Flow/Congestion Control: Purpose • Flow Control: – – Adapt sending rate to receiver speed Prevent Buffer Overflow at receiver Approach: Receiver notifies sender about available buffer space • Congestion Control – – – Avoid network overload Prevent packet loss at buffers in intermediate systems (routers) ‘fair’ sharing of rates between all TCP connections at bottleneck links Approach: ‘Elastic traffic’ – sending rates adjust dynamically when overload indicated Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 10 Tatiana K. Madsen Hans Peter Schwefel TCP Flow/Congestion Control • • Sliding Window: # packets sent and un-acknowledged limited by – receiver buffer (receiver advertised window) – congestion window (purpose: protect intermediate nodes) Congestion window dynamically adjusted (‚probing‘ for usable bandwidth): increase gradually until congestion indicated via – Timeouts – Duplicate Acknowledgements Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 11 Tatiana K. Madsen Hans Peter Schwefel TCP Congestion Control: Slow Start Example: Slow-Start (receiver using delayed Acks) Slow-start phase: • Initial congestion window set to size cwnd=one segment 4 • Whenever ACK received: Increase cwnd by number of newly acknowledged bytes • Slow-start phase ends 4 6 • When cwnd > ssthreshold Congestion Avoidance • Packet loss detected (timeout, triple dup ACK) 8 Slow-start initiated after (depends on TCP version) • connection start 10 • timeout detection Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 12 Tatiana K. Madsen Hans Peter Schwefel Slow-Start & Congestion Avoidance For High-Bandwith Links: • • CWND doubles after each round-trip time (RTT) in slowstart phase CWND increases by one segment size in each RTT during congestion avoidance phase Congestion detected: • • timeout set ssthresh to cwnd/2, perform slow-start [three dup Acks half cwnd, ssthresh=cwnd (Fast Retransmit/Recovery, see later)] Throughput = CWND*MSS / RTT (for high-bandwidth links) Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 13 Tatiana K. Madsen Hans Peter Schwefel Impact of slow-start: Simulation Result • Larger connection volume higher average throughput • Upper Limit: Layer-2 throughput and MaximumWindowSize / RTT Simulations of GPRS-like scenario without congestion (no losses/timeouts/dupACKs) [Correction: y-axis in kbit/s] Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 14 Tatiana K. Madsen Hans Peter Schwefel Timeout intervals (RTO) • Based on measured Round-TripTime (RTT): Timeout value RTO computed from moving average and variance estimate of samples of measured RTTs • Retransmission ambiguous RTT sample: neglect these samples for RTO computation • (Karn‘s algorithm) In case of retransmissions: increase timout value RTO geometrically for each repeated retransmission (up to some upper bound) Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 15 Tatiana K. Madsen Hans Peter Schwefel Fast Retransmit • Goal: Avoid long delays due to waiting for time-outs • Method: Use indication given by dupAcks, which may be generated due to – packet loss, or – out-of-order packet delivery • Fast Retransmit: – Upon receiption of three dupAcks consecutively, assume segment is lost – Retransmit lost packet – Note: 3 dupAcks are also generated if a packet is delivered at least 3 places beyond its in-sequence location 7 9 10 11 8 12 Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 16 Tatiana K. Madsen Hans Peter Schwefel Fast Recovery (TCP Reno) • • Keep up transmission rate after single lost packet (no slow-start, increase window upon dupAcks) Avoid bursts of packets after ACK for retransmitted lost packet Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 17 Tatiana K. Madsen Hans Peter Schwefel Illustration of flow control mechanism Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 18 Tatiana K. Madsen Hans Peter Schwefel TCP flow/congestion control Additional Approaches (not discussed in detail here): • • • Zero Window Probing: prevent blocking after full receiver buffer Silly Window Syndrome: prevent transmission of small fragments – Delayed ACKs – Nagle’s Algorithm: buffer data until either MSS filled or ACK has arrived Delayed Window Update: avoid insignificant window updates Different TCP versions (selection): • • • • Tahoe: Slow-Start Congestion Avoidance, Fast Retransmit followed by Slow-Start Reno: Tahoe + Fast Recovery (not followed by slow-start!) New Reno: Reno + ‘partial ACK’ handling SACK (selective Acknowledgements): only retransmit the lost segments • VEGAS: update cwnd based on measurements of delay variations Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 19 Tatiana K. Madsen Hans Peter Schwefel Content 1. Background • 5. IP, Transport Layers UDP, TCP • 2. TCP functionality • Connection set-up, flow/congestion control 6. Performance parameters, Performance Models Problem statement, link models, TCP Improvements Use Case: TCP in GPRS • 3. TCP Performance Aspects • Wireless TCP Architecture, Properties, TCP Improvements 7. Summary/Conclusions 8. Outlook Exercises Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 20 Tatiana K. Madsen Hans Peter Schwefel TCP Performance Parameters (Selection) • Packet based – # of retransmissions, # of time-out events – Packet delay (max, min, average, distribution) • Equals transmisison delay + queueing delay + retransmission time(if applicable) • Connection based – Data (file) transfer time – Average Throughput/Goodput – Probability of successful transfer • Fairness: – Bottleneck scenarios: if N TCP sessions share same bottleneck link, each should get 1/N of link capacity – multi-hop scenarios, e.g. • Max-min fairness Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 21 Tatiana K. Madsen Hans Peter Schwefel Simulation Model: Congestion Scenario with Multiplexed ON/OFF Traffic connections Scenario: N ON/OFF sources, queueing/loss only at bottleneck router Here: Investigate average throughput per connection in TCP setting Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 22 Tatiana K. Madsen Hans Peter Schwefel Correlation: Connection Size Throughput • • N=2 bursty TCP sources Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 23 N=30, N=90 TCP sources Tatiana K. Madsen Hans Peter Schwefel Challenge: Traffic/Performance Models for TCP End-to-End flow/congestion control Feedback: network behavior (congestion) ingress traffic No separation traffic model/network model possible New traffic/performance models required Traffic Model Network Model feedback Performance Values Approaches: 1. Connection level models (e.g. [Heyman et al., Sigmetrics 97]) 2. Sender/receiver behavior & fixpoint iteration 3. Integrated models Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 24 (Delay, Loss, etc.) Tatiana K. Madsen Hans Peter Schwefel Connection Level model: e.g. [Heyman, Lakshman, Neidhardt] Modified Processor Sharing model (~M/M/1//N/PS) on connection level: • N TCP sources share bottleneck node (service rate ) • Maximum Transmission Rate p within each connection • For j active connections, each obtains service at rate p when jp + PS # of customers in queues corresponds to number of active connections /j when jp > • with attenuation factor 1 derived from TCP behavior • R0 = minimal Round-Trip Time • B= Buffer Size at bottleneck Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 25 Tatiana K. Madsen Hans Peter Schwefel Fixpoint models Update: loss rate p, delay d Initial loss rate p, delay d TCP Model Average packet rate Network Model When stable: result Network Model: • E.g. M/M/1/K model or bulk-arrival queue TCP model, e.g. [Padhye et al., Sigcomm 98] b: # packets acknowledged by ACK RTT: Average Round-Trip-Time (including queuing delay) Wmax: Maximum size of congestion window T0: Average Time-Out interval p: Fraction of retransmitted packets Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 26 Tatiana K. Madsen Hans Peter Schwefel Network model example: M/M/1/K queue • Poisson arrival of packets (first ’M’ Markovian) with rate – ti : arrival time of packet i – Xi:=ti+1-ti : interarrival time – Poisson process of rate lambda: Finite buffer (size K) • Xi independent and • Pr(Xi<x)=1 - exp(- x) • • • • Exponentially distributed service times of rate (second ’M’) Single Server (1) Finite waiting room (buffer) for K packets Often also specified: service discipline – Default: First-In-First-Out – Others: Processor Sharing, Last-In-First-Out, Earliest Deadline First,... Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 27 Tatiana K. Madsen Hans Peter Schwefel M/M/1/K queue: Performance K • Finite Birth-Death Process (see e.g. [Cassandras & Lafortune]): – Probability of i packets in queue [using Chapman-Kolmogorov Equations] pi := Pr(n=i) = (1-)/(1- K+1) * i , where = / 1, i=0,…,K – Probability of packet loss: p(loss) = pK = (1-)/(1- K+1) * K – Average Delay: Ď = 1/[ (1-pK)] * /(1- K+1) * [(1- K)/ (1-) – K K ] Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 28 Tatiana K. Madsen Hans Peter Schwefel Integrated Models: example Bottleneck Router Source 1 B Source 3 Cmp. Processor sharing # active + Source 2 1 2 3 2 1 0 1 ... [infinite queue] Queueing Model with modified (queue-dependent) ON/OFF arrival process: • ‚Sharing‘ of bandwidth: packet-rate p at source reduced to /j for j active sources when jp> • conn. duration extended #packets in conn. unchanged • Throttling only during congestion state when queue-length>=B Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 29 Tatiana K. Madsen Hans Peter Schwefel Comparison: Models & simulation results ... see [ITCOM01] for details & more results Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 30 Tatiana K. Madsen Hans Peter Schwefel Content 1. Background • 5. IP, Transport Layers UDP, TCP • 2. TCP functionality • Connection set-up, flow/congestion control 6. Performance parameters, Performance Models Problem statement, link models, TCP Improvements Use Case: TCP in GPRS • 3. TCP Performance Aspects • Wireless TCP Architecture, Properties, TCP Improvements 7. Summary/Conclusions 8. Outlook Exercises Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 31 Tatiana K. Madsen Hans Peter Schwefel Wireless (Infrastructure) Networks: Challenges • Wireless links tend to have the following properties: – Large delays – Low throughput – Bit errors / packet losses due to poor channel conditions (noise, interference, fading) • Impact of mobility – Delay/losses due to hand-over events • Protocols in IP family not originally designed for such links – Increased volume due to headers – Deficiencies of TCP flow/congestion control – ... many more (e.g. applications HTTPWAP) • Protocol Enhancements are being developed, e.g. – Robust Header Compression (RoHC) – Enhancements for Wireless TCP Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 32 Tatiana K. Madsen Hans Peter Schwefel TCP-mechanisms in wireless settings • TCP assumes congestion if packets are dropped – possibly wrong in wireless networks, here we often have packet loss due to transmission errors – furthermore, mobility itself can cause packet loss (handover losses) or temporary connection disruptions (timeouts or even broken TCP connections) 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 are needed to for congestion control in the wired network parts Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 33 Tatiana K. Madsen Hans Peter Schwefel TCP Performance Degradation Example using Bursty Loss Model: • While current state i: packets corrupted with probability i After each packet: state transition with probability pik • Average Packet Loss Probability: At right end of graph: About 30% packets lost due to wireless link but approx. 95% TCP throughput reduction!! Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 34 Tatiana K. Madsen Hans Peter Schwefel Wireless TCP: Common Approaches for Enhancement • Link-Layer Approach – Local Retransmission of lost packets – Hide losses from sender • Explicit Notification Approach – Explicitly notify TCP sender of the condition of the network / type of the loss • End to End Approach – Enhance TCP Protocol stack at sender and receiver to achieve better throughput (e.g. TCP SACK) • Split-Connection Approach – End-to-End flow control terminated before wireless link Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 35 Tatiana K. Madsen Hans Peter Schwefel Wireless TCP: Split Connection Enhancing Proxy (PEP) Fixed host (FH) Server Applications Mobile host (MH) Split-TCP Demon Applications TCP TCP/Enhanced protocol IP IP Wire Network Interface Wireless Network I/F TCP IP Wire Network Interface IP Wireless Network I/F connection TCP connection Wired network • • TCP/Enhanced protocol Wireless Network Proxy is located between the 2 end-hosts to split the TCP connection into 2 parts Different implementations: Indirect TCP (state-full), Mobile TCP (stateless, send recv=0 when disconnection detected) Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 36 Tatiana K. Madsen Hans Peter Schwefel Wirless TCP: Split Connection (cont`d) • Advantages – No Changes in wired network and correspondent host necessary – Shields the end-host in the wired network from the wireless network characteristic: Wireless Local Recovery by Proxy – Possibly reduced header size for optimized transport protocol over wireless link – Allows for ‘Smaller’ and simpler wireless protocol between MH and Proxy • Disadvantages – Loss of end-to-end TCP semantics – Not usable with end-2-end encryption (e.g. IPsec), since access to the TCP header needed For ‘state-full’ versions: – Requires buffer management at Proxy – Requires state transfer when hand-over to different proxy occurs – Hard state: Failures of proxy can result in loss of data Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 37 Tatiana K. Madsen Hans Peter Schwefel Wireless TCP: Link-Layer Approach TCP TCP IP IP IP Layer 2 Layer 2 Layer 2 Layer 1 Layer 1 Layer 1 Proxy MH IP Network Sender • • • • Proxy detects losses over the wireless link Proxy does local retransmission before the sender timeouts. Hides the wireless losses from the Sender TCP-unaware approaches: FEC, local retransmission TCP-aware approaches: e.g. SNOOP (but: filtering of dup Acks!) [Source: G. Reuss] Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 38 Tatiana K. Madsen Hans Peter Schwefel Wirless TCP: Link-Layer Approach • TCP-aware approach: SNOOP – – – – Buffering of down-stream packets in mobile host (until receipt of Ack) Local retransmission of lost-packets Filtering of up-stream dup-Acks Soft-state at Base-station (loss of state affects performance but not correctness) Discussion: Link-Layer Approaches • Advantages – No modification to TCP layer in end hosts – Prevent propagation of losses/errors to TCP source • Disadvantages – TCP-aware link layer solutions cannot be used with IPSec – Link-layer retransmission cause RTT variations (and thus possibly TCP timeouts) – Not usable if data and Ack traverse different paths) Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 39 Tatiana K. Madsen Hans Peter Schwefel Wirless TCP: End-to-end approach • TCP Protocol Stack at Sender and Receiver enhanced e.g. SACK, FACK, D-SACK, Eifel • Possible enhancements – Differentiate Losses e.g. no slow-start for wireless losses – Efficient Utilisation of Bandwidth e.g. no initial slow-start – Detection of Multiple Losses • Advantages – End-to-End semantics and layered architecture of network protocols are preserved – IP packet encryption can be used • Disadvantage – Modification at end host [Source: G. Reuss] Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 40 Tatiana K. Madsen Hans Peter Schwefel End-2-End Enhancements: SACK TCP Reno inefficient for multiple packet losses within congestion window Extension: Selective Acknowledgement (SACK) SACK principles: • Several (3) SACK blocks mark successfully received sets of data (in TCP Option header extension) • Sender maintains scoreboard of successfully transmitted packets • Special treatments of partial Acks during Fast Recovery Allows retransmission of more than one segment per RTT Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 41 Tatiana K. Madsen Hans Peter Schwefel Wireless TCP: Performance Comparison (ns simulation) Single source scenario with burst errors on wireless link (1=1 ca 28% packet loss) Snoop (Split-TCP) together with SACK provides best goodput Wireless Data Communication: MM4, Wireless TCP, Fall03 Source: Master Thesis, D. Höllisch Congestion scenario (20 ON/OFF TCP sources) with same wirless link model: Combination SACK with Snoop shows much lower goodput than Snoop by itself Page 42 Tatiana K. Madsen Hans Peter Schwefel Other Improvements • Shortened Connection set-up – Transaction oriented TCP (RFC 1644) • Large Initial Windows • Hand-over Improvements – Send (forced) dup-Acks after hand-over • TCP improvements in ad-hoc (wireless multi-hop) scenarios Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 43 Tatiana K. Madsen Hans Peter Schwefel Content 1. Background • 5. IP, Transport Layers UDP, TCP • 2. TCP functionality • Connection set-up, flow/congestion control 6. Performance parameters, Performance Models Problem statement, link models, TCP Improvements Use Case: TCP in GPRS • 3. TCP Performance Aspects • Wireless TCP Architecture, Properties, TCP Improvements 7. Summary/Conclusions 8. Outlook Exercises Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 44 Tatiana K. Madsen Hans Peter Schwefel Motivation: Performance measurements in GPRS networks • GPRS system (3 time-slots, coding scheme 2): 40.2 kb/s ‚raw‘ throughput • Substracting overhead L1-L4 headers: 33kb/s • BUT in performance measurements using HTTP: 10-20kb/s Performance predictions need to consider all protocols, in particular Transmission Control Protocol (TCP) Core Network RAN HTTP L5-7 TCP L4 IP L3 Link-Layer L2 Internet HTTP Server BSC SGSN Wireless Data Communication: MM4, Wireless TCP, Fall03 GPRS Backbone GGSN Radius/DHCP Client Page 45 RADIUS DHCP Tatiana K. Madsen Hans Peter Schwefel GPRS: General Packet Radio Service • • • • Packet Switched Extension of GSM 1996: new standard developed by ETSI Components integrated in GSM architecture Improvements: – Packet-switched transmission – Higher transmission rates on radio link (multiple time-slots) – Volume based charging ‚Always ON‘ mode possible • Operation started in 2001 (Germany) Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 46 Tatiana K. Madsen Hans Peter Schwefel GPRS - Architecture Components: • CCU: Channel Coding Unit • PCU: Packet Control Unit • SGSN: Serving GPRS Support Node • GGSN: Gateway GPRS Support Node • GR: GPRS Register GPRS GSM Components Um Transmission: • Packet Based Transmission • Radio link: – Radio transmission identical to GSM – Different coding schemes (CS1-4) – Use of Multiple Time Slots • Volume Based Charging MS BSS A Abis B T S C C U Gp Gb Other B S C P C U PLMN Gn Gs SGSN MSC GGSN Gi HLR G Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 47 GR PDN Gr Tatiana K. Madsen Hans Peter Schwefel TCP/IP in GPRS • No end-2-end IP Routing in GPRS network • Fragmentation in LLC frames & RLC blocks • Potential bottleneck: air-interface (10-50kbit/s) Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 48 Tatiana K. Madsen Hans Peter Schwefel GPRS Boundary conditions & Simulation Parameters GPRS Boundary conditions • RTT between 700ms and 1sec (for 40 Byte packet with no queueing delay) • Possible modes: RLC Ack/unAck mode, LLC Ack/unAck mode • Coding Scheme 2 raw 13.4 kb/s per Time-Slot) • Possible use of 1-4 downlink time-slots supported in practice (here: 3 time-slots) • Cell Reselection: between 5-40 seconds disruption of data connection Simplified Simulation Model (TCP Reno, fixed packet size, constant transmission delays, no delayed Acks) Two Scenarios: • Packetsize 1460 Bytes: Max Throughput (L4) 33kbit/sec • PacketSize 536 Bytes: Max Throughput (L4) 31.5kbit/sec Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 49 Tatiana K. Madsen Hans Peter Schwefel TCP Throughput in simplified GPRS Setting [Correction: y-axis in kbit/s] RecWin limits throughput for large connections Throughput in short connections reduced due to slow-start Scenario without congestion (single TCP connection) Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 50 Tatiana K. Madsen Hans Peter Schwefel Other issues: Choice of Maximum Segment Size Parameters: Coding Scheme 2 Downlink: 4 time-slots Uplink: 1 time-slot Max. Window Size 8100B No Impact of Slow-Start No losses/congestion Larger MSS reduces overhead But increases RTT Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 51 Tatiana K. Madsen Hans Peter Schwefel Solution in Practice: Proxies (SplitTCP) Core Network RAN MSP BSC SGSN GPRS Backbone GGSN Internet HTTP Server RADIUS DHCP E.g. ‚Mobile Smart Proxy‘ (MSP): • • • • TCP Optimizations (Larger initial window, etc.) Content caching and compression (http) User authentication (Radius) and access control Content aware billing Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 52 Tatiana K. Madsen Hans Peter Schwefel Content 1. Background • 5. IP, Transport Layer Protocols (UDP, TCP, SCTP, RTP) 2. TCP functionality • • Connection establishment/termination flow/congestion control (slow-start, congestion avoidance, fast retransmit, fast recovery) 6. Performance parameters Simulation Results Performance Models, in particular fix-point models (using M/M/1/K queue) • Problem statement • Performance degradation • TCP Improvements: splitTCP, link-layer approaches (SNOOP), end-2-end approaches (SACK) Use Case: TCP in GPRS • 3. TCP Performance Aspects • • • Wireless TCP Architecture, Properties, TCP Improvements 7. Summary/Conclusions 8. Outlook Exercises Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 53 Tatiana K. Madsen Hans Peter Schwefel Outlook: research topics, Wireless TCP • TCP optmizations – Cross-layer – Trade-off congestion behavior & wireless link performance enhancement • (Wireless) TCP modeling • TCP in ad-hoc networks Other interesting topics (not touched in this lecture): • Scheduling for TCP traffic (e.g. Random Early Dropping RED) • TCP and QoS architectures/mechanisms (e.g. starvation) • TCP over satellite links Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 54 Tatiana K. Madsen Hans Peter Schwefel References • • • IETF (www.ietf.org) – RFCs: UDP (768), TCP (793,1122, 1072, 1106, 1110, 2018, 2414, 2582), SCTP (2719, 2960), RTP (1889) – WGs: PILC,TCPSAT W. Stevens: TCP/IP illustrated, Vol.1. Addison-Wesley 1994. TCP modeling – – – • • • Padhye, Firoiu, Towsley, Kurose: Modeling TCP throughput: A simple model and its empirical validation. ACM SIGCOMM, 1998. Heyma, Lakshman, Neidhardt: A new method for analysing feedback-based protocols with applications to engineering web traffic over the Internet. ACM Sigmetrics, 1997. Schwefel: Behavior of TCP-like elastic traffic at a buffered bottleneck router. Infocom 2001. TCP Improvements: – Fall, Floyd: Simulation-based comparison of tahoe, reno, and tcp sack. Computer Communication Review, 1996. J. Schiller: ’Mobile Communications’. Addison-Wesley, 2000. Tutorials, see next slide Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 55 Tatiana K. Madsen Hans Peter Schwefel Acknowledgements • Student work (all TU Munich) – Raimund Brandt (Seminar), Helmut Obermeier (Msc Thesis), Daniel Höllisch (Msc Thesis) • InfotechLecture notes: IP Based Networks and Applications, Chapter 3 (J. Charzinski), www.jcho.de/jc/IPNA • Tutorial: IP Technology in 3rd Generation mobile networks, Siemens AG (J. Kross, L. Smith, H. Schwefel) • Lecture Notes: Networking Introduction (J. Kurose, K. Ross) • Lecture notes: Mobile Communciations, Jochen Schiller, www.jochenschiller.de • Tutorial: TCP for Wireless and Mobile Hosts (N. Vaidya), • www.cs.tamu.edu/faculty/vaidya Siemens AG: D. Weber, S. Rugel, G. Reuss Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 56 Tatiana K. Madsen Hans Peter Schwefel BACKUP Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 57 Tatiana K. Madsen Hans Peter Schwefel GSM: Global System for Mobile Communication History: • • • • 2nd Generation of Mobile Telephony Networks 1982: Groupe Spèciale Mobile (GSM) founded 1987: First Standards defined 1991: Global System for Mobile Communication, Standardisation by ETSI (European Telecommunications Standardisation Institute) - First European Standard • 1995: Fully in Operation Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 58 Tatiana K. Madsen Hans Peter Schwefel GSM – Architecture Radio Subsystem (RSS) • • • BTS: Base Transceiver Station BSC: Base Station Controller MSC: Mobile Switching Center HLR/VLR: Home/Visitor Location Register AuC: Authentication Center EIR: Equipment Identity Register OMC: Operation and Maintenance Center Operation Subsystem Base Station Subsystem Components: • • • • Network and Switchung Subsystem Um Abis A VLR MS BTS BSC HLR AuC O MS BTS OMC BSC Transmission: • • • Circuit switched transfer Radio link capacity: 9.6 kb/s (FDMA/TDMA) Duration based charging MSC EIR MS BTS Connection to ISDN, PDN PSTN Radio Link Wireless Data Communication: MM4, Wireless TCP, Fall03 Page 59 Tatiana K. Madsen Hans Peter Schwefel