6. Behind Traditional TCP: protocols for high-throughput and high-latency networks PA159: Net-Centric Computing I. Eva Hladká (& Petr Holub) Faculty of Informatics Masaryk University Autumn 2010 Eva Hladká (Fl MUi 6. Behind Traditional TCP . Autumn 2010 1 / 66 Lecture overview i) Traditional TCP and its issues (2) Improving the traditional TCP o Multi-stream TCP o Web100 (3) Conservative Extensions to TCP o GridDT o Scalable TCP, High-Speed TCP, H-TCP, BIC-TCP, CUBIC-TCP (4) TCP Extensions with IP Support QuickStart, E-TCP, FAST 5^ Approaches Different from TCP tsunami RBUDP o XCP SCTP, DCCP, STP, Reliable UDP, XTP 6^ Conclusions 7) Literature Eva Hladka (FIMU) 6. Behind Traditional TCP . Autumn 2010 2 / 66 Traditional TCP Lecture overview 1) Traditional TCP and its issues 2) Improving the traditional TCP • Multi-stream TCP • Web100 3) Conservative Extensions to TCP • GridDT a Scalable TCP, High-Speed TCP, H-TCP, BIC-TCP, CUBIC-TCP 4^ TCP Extensions with IP Support QuickStart, E-TCP, FAST J>) Approaches Different from TCP tsunami RBUDP a XCP SCTP, DCCP, STP, Reliable UDP, XTP '6l Conclusions 6. Behind Traditional TCP . Autumn 2010 3 / 66 Traditional TCP Protocols for reliable data transmission Protocols for reliable data transmission have to: o ensure the reliability of the transfer o retransmissions of lost packets o FEC might be usefully employed a protection from congestion o network, receiver Behavior evaluation: o aggressiveness - ability to utilise available bandwidth o responsiveness - ability to recover from a packet loss o fairness - getting a fair portion of network throughput when more streams/participants use the network 6. Behind Traditional TCP . Autumn 2010 4 / 66 Traditional TCP Problem statement o network links with high capacity and high latency o iGrid 2005: San Diego <->■ Brno, RTT = 205 ms o SC|05: Seattle <->■ Brno, RTT = 174 ms o traditional TCP is not suitable for such an environment: o 10Gb/s, RTT = 100 ms, 1500B MTU =4- sending/outstanding window 83.333 packets =4- a single packet may be lost in at most 1:36 hour ,i> terribly slow .9 if errors are more frequent, the maximum throughput cannot be reached o How could be a better network utilization achieved? o How could be a reasonable co-existence with traditional TCP ensured? o How could be a gradual deployment of a new protocol ensured? 6. Behind Traditional TCP . Autumn 2010 5 / 66 Traditional TCP Traditional TCP I. o flow control vs. congestion control no control: sender network receiver flow control (rwnd): sender network -r receiver congestion control (cwnd): <---> sender network receiver Eva Hladka (FI MU) 6. Behind Traditional TCP . Autumn 2010 6 / 66 Traditional TCP Traditional TCP I. 6. Behind Traditional TCP . Autumn 2010 7 / 66 Traditional TCP Traditional TCP II. o Flow control o an explicit feedback from receiver(s) using rwnd o deterministic o Congestion control • an approximate sender's estimation of available throughput (using cwnd) o the final window used: ownd ownd = min{rwnd, cwnd} The bandwidth bw could be computed as: 8 • MSS • ownd bw =-——- (1) 6. Behind Traditional TCP . Autumn 2010 8 / 66 Traditional TCP 6. Behind Traditional TCP . Autumn 2010 9 / 66 Traditional TCP Traditional TCP - Tahoe and Reno Congestion control: o traditionally based on AIMD - Additive Increase Multiplicative Decrease approach Tahoe [1] o cwnd = cwnd + 1 . . . per RTT without loss (above sstresh) o sstresh = 0, 5cwnd cwnd = 1 . . . per every loss Reno [2] adds o fast retransmission q a TCP receiver sends an immediate duplicate ACK when an out-of-order segment arrives o all segments after the dropped one trigger duplicate ACKs o a loss is indicated by 3 duplicate ACKs (~ four successive identical ACKs without intervening packets) o once received, TCP performs a fast retransmission without waiting for the retransmission timer to expire o fast recovery - slow-start phase not used any more sstresh = cwnd = 0, 5cwnd Eva 6. Behind Traditional TCP Autumn 2010 10 / 66 Traditional TCP Traditional TCP - Tahoe I. Connection opening : cwnd = 1 segment 1 Slow Start Congestion Avoidance Exponential increase for cwnd until cwnd = SSTHRESH Additive increase for cwnd cwnd = SSTHRESH Retransmission timeout SSTHRESH:=cwnd/2 f cwnd:= 1 segment Retransmission timeout SSTHRESH:=cwnd/2 •Exponential increase for cwnd: for every useful acknowledgment received, cwnd := cwnd + (1 segment size) •Additive increase for cwnd: for every useful acknowledgment received, cwnd := cwnd + (segment size)*(segment size) / cwnd it takes a full window to increment the window size by one. 6. Behind Traditional TCP . Autumn 2010 11 / 66 Traditional TCP Traditional TCP - Tahoe II. 30 12 / 66 Traditional TCP Traditional TCP - Reno I. Eva Hladká (FI MU) 6. Behind Traditional TCP . Autumn 2010 13 / 66 Traditional TCP Traditional TCP - Reno II. 30 14 / 66 TCP Vegas Traditional TCP o Vegas—a concept of congestion control [3] o when a network is congested, the RTT becomes higher o RTT is monitored during the transmission • when a RTT increase is detected, the congestion's window size is linearly reduced o a possibility to measure an available network bandwidth using inter-packet spacing/dispersion 6. Behind Traditional TCP . Autumn 2010 15 / 66 Traditional TCP Traditional TCP o a reaction to packet loss—retransmission o Tahoe: the whole actual window ownd o Reno: a single segment in the Fast Retransmission mode o NewReno: more segments in the Fast Retransmission mode o Selective Acknowledgement (SACK): just the lost packets o fundamental question: How could be a sufficient size of cwnd (under real conditions) achieved in the network having high capacity and high RTT? . . .without affecting/disallowing the "common" users from using the network? 6. Behind Traditional TCP . Autumn 2010 16 / 66 Traditional TCP Traditional TCP - Response Function o Response Function represents a relation between bw and a steady-state packet loss rate p o cwndaverage ~ ^| (for MSS-sized segments) - using (1): bw 4^ o the responsiveness of traditional TCP o assuming, that the packet has been lost when cwnd = bw • RTT = bw RTT2 6 = 2MSS 6. Behind Traditional TCP . Autumn 2010 17 / 66 Traditional TCP Traditional TCP - Responsiveness 18000 -| 16000 14000 12000 10000 8000 6000 4000 2000 0 TCP responsiveness -C= 622 Mbit/s C= 2.5 Gbit/s ■C= 10 Gbit/s 50 100 RTT (ms) 150 200 Eva Hladka (FI MU) 6. Behind Traditional TCP . Autumn 2010 18 / 66 0 Traditional TCP Traditional TCP - Fairness I. o a fairness in a point of equilibrium o the fairness is considered for o streams with different RTT o streams with different MTU o The speed of convergence to the point of equilibrium DOES matter! 6. Behind Traditional TCP . Autumn 2010 19 / 66 Traditional TCP Traditional TCP - Fairness II. o cwnd + = MSS, cwnd * = 0,5 (30 steps) 100 80 60 40 20 Eva Hladká (FI MU) 20 40 60 80 100 6. Behind Traditional TCP . Autumn 2010 20 / 66 0 0 Traditional TCP Traditional TCP - Fairness III. o cwnd + = MSS, cwnd * = 0,83 (30 steps) 100 80 60 40 20 Eva Hladka (FI MU) 20 40 60 80 100 6. Behind Traditional TCP . Autumn 2010 21 / 66 0 0 Improving the traditional TCP Multi-stream TCP Lecture overview i| Traditional TCP and its issues 2^ Improving the traditional TCP o Multi-stream TCP o Web100 3^ Conservative Extensions to TCP • GridDT a Scalable TCP, High-Speed TCP, H-TCP, BIC-TCP, CUBIC-TCP 4^ TCP Extensions with IP Support QuickStart, E-TCP, FAST J>) Approaches Different from TCP tsunami RBUDP a XCP SCTP, DCCP, STP, Reliable UDP, XTP '6l Conclusions 6. Behind Traditional TCP . Autumn 2010 22 / 66 Improving the traditional TCP Multi-stream TCP Multi-stream TCP o assumes multiple TCP streams transferring a single data flow • in fact, improves the TCP's performace/behavior just in cases of isolated packet losses o a loss of more packets usually affects more TCP streams usually available because of a simple implementation o bbftp, GridFTP, Internet Backplane Protocol, .. . o drawbacks: o more complicated than traditional TCP (more threads are necessary) the startup is accelerated linearly only o leads to a synchronous overloading of queues and caches in the routers 6. Behind Traditional TCP . Autumn 2010 23 / 66 Improving the traditional TCP Multi-stream TCP TCP implementation tuning I. o cooperation with HW o Rx/Tx TCP Checksum Offloading o ordinarily available o zero copy accessing the network usually leads to several data copies: user-land -f-> kernel -f-> network card o page flipping - user-land -f-> kernel data movement o support for, e.g., sendfile() o implementations for Linux, FreeBSD, Solaris, . .. 6. Behind Traditional TCP . Autumn 2010 24 / 66 Improving the traditional TCP Web100 TCP implementation tuning II. o Web100 [4, 5] o a software that implements instruments in the Linux TCP/IP stack -TCP Kernel Instrumentation Set (TCP-KIS) • more than 125 "puls/rods" o information available via /proc o distributed in two pieces: o a kernel patch adding the instruments • a suite of "userland" libraries and tools for accessing the kernel instrumentation (command-line, GUI) o the Web100 software allows: o monitoring (extended statistics) • instruments' tuning support for auto-tuning 6. Behind Traditional TCP . Autumn 2010 25 / 66 Conservative Extensions to TCP GridDT Lecture overview i| Traditional TCP and its issues 2) Improving the traditional TCP • Multi-stream TCP a Web100 3^ Conservative Extensions to TCP o GridDT o Scalable TCP, High-Speed TCP, H-TCP, BIC-TCP, CUBIC-TCP 4^ TCP Extensions with IP Support QuickStart, E-TCP, FAST J>) Approaches Different from TCP tsunami RBUDP a XCP SCTP, DCCP, STP, Reliable UDP, XTP 6 Conclusions 6. Behind Traditional TCP . Autumn 2010 26 / 66 Conservative Extensions to TCP GridDT GridDT o a collection of ad-hoc modifications :( correction of sstresh faster slowstart • AIMD's modification for congestion control: o cwnd = cwnd + a . . . per RTT without packet loss cwnd = b cwnd . .. per packet loss • just the sender's side has to be modified 6. Behind Traditional TCP . Autumn 2010 27 / 66 Conservative Extensions to TCP GridDT GridDT - fairness Conservative Extensions to TCP GridDT GridDT - example | Host #1 |4_GEj GbE 1 GE(R 1 Host #2 HfiE CERN (GVA) Switch POS 2.5 Gb/s Starlight (CHI) I Host #1 I TCP Reno performance (see slide #8): First stream GVA <-> Sunnyvale : RTT = 181 ms ; Avg. throughput over a period of 7000s = 202 Mb/s Second stream GVA<->CHI : RTT = 117 ms; Avg. throughput over a period of 7000s = 514 Mb/s Links utilization 71,6% Grid DT tuning in order to improve fairness between two TCP streams with different RTT: First stream GVA <-> Sunnyvale : RTT = 181 ms, Additive increment = A = 7 ; Average throughput = 330 Mb/s Second stream GVA<->CHI : RTT = 117 ms, Additive increment = B = 3 ; Average throughput = 388 Mb/s Links utilization 71.8% 6. Behind Traditional TCP . Autumn 2010 29 / 66 Conservative Extensions to TCP Scalable TCP, High-Speed TCP, H-TCP, BIC-TCP, CUBIC-TCP Scalable TCP o proposed by Tom Kelly [1] o congestion control is not AIMD any more: o cwnd = cwnd + 0, 01 cwnd . .. per RTT without packet loss cwnd = cwnd + 0, 01 ... per ACK o cwnd = 0, 875 cwnd . .. per packet loss => Multiplicative Increase Multiplicative Decrease (MIMD) o for smaller window size and/or higher loss rate in the network the Scalable-TCP switches into AIMD mode 6. Behind Traditional TCP . Autumn 2010 30 / 66 Conservative Extensions to TCP Scalable TCP, High-Speed TCP, H-TCP, BIC-TCP, CUBIC-TCP Scalable TCP Figure: Packetloss recovery times for the traditional TCP (left) are proportional to cwnd and RTT. A Scalable TCP connection (right) has packet loss recovery times that are proportional to connection's RTT only. (Note: link capacity c < C) 6. Behind Traditional TCP . Autumn 2010 31 / 66 Conservative Extensions to TCP Scalable TCP, High-Speed TCP, H-TCP, BIC-TCP, CUBIC-TCP Scalable TCP - fairness I. Two concurrent Scalable TCP streams, Scalable control switched on when >30Mb/s, twiced number of steps in comparison with previous simulations Autumn 2010 32 / 66 Conservative Extensions to TCP Scalable TCP, High-Speed TCP, H-TCP, BIC-TCP, CUBIC-TCP Scalable TCP - fairness II. Scalable TCP and traditional TCP streams, Scalable control switched on when >30Mb/s, twiced number of steps Autumn 2010 33 / 66 Conservative Extensions to TCP Scalable TCP , High-Speed TCP , H-TCP , BIC-TCP , CUBIC-TCP High-Speed TCP (HSTCP) o Sally Floyd, RFC3649, [2] o congestion control AIMD/MIMD: o cwnd = cwnd + a(cwnd) . .. per RTT without loss ; ; . a(cwnd) cwnd = cwnd +—*—-r- cwnd ... per ACK □ cwnd = b(cwnd) cwnd . .. per packet loss o emulates the behavior of traditional TCP for small window sizes and/or higher packet loss rates in the network 6. Behind Traditional TCP . Autumn 2010 35 / 66 Conservative Extensions to TCP Scalable TCP, High-Speed TCP, H-TCP, BIC-TCP, CUBIC-TCP High-Speed TCP (HSTCP) proposed MIMD parametrization: b(cwnd) = a(cwnd) = 20000 10000 0,4(\og(cwnd) - 3, 64) _ -7,69-+0,5 2cwnd 2b(cwnd) 12,8(2 - b(cwnd))w1,2 200 400 600 800 1000 1200 1400 1600 1800 2000 time [RTT] Eva Hladká (FI MU) 6. Behind Traditional TCP . Autumn 2010 36 / 66 80000 70000 60000 50000 40000 I 30000 Conservative Extensions to TCP Scalable TCP, High-Speed TCP, H-TCP, BIC-TCP, CUBIC-TCP High-Speed TCP (HSTCP) o a parametrization equivalent to the Scalable-TCP is possible: == Linear HSTCP a comparison with the Multi-stream TCP N(cwnd) w 0,23cwnd0,4 o N(cwnd) - the number of parallel TCP connections emulated by the HighSpeed TCP response function with congestion window cwnd Neither Scalable TCP nor HSTCP (sophistically) deal with the slow-start phase. 6. Behind Traditional TCP . Autumn 2010 37 / 66 Conservative Extensions to TCP Scalable TCP, High-Speed TCP, H-TCP, BIC-TCP, CUBIC-TCP HSTCP - Response curve Conservative Extensions to TCP Scalable TCP, High-Speed TCP, H-TCP, BIC-TCP, CUBIC-TCP H-TCP I. o created by researchers at the Hamilton Institute in Ireland o a simple change to cwnd increase function o increases its aggressiveness (in particular, the rate of additive increase) as the time since the previous loss (backoff) increases • increase rate a is a function of the elapsed time since the last backoff o the AIMD mechanism is used o preserves many of the key properties of standard TCP: fairness, responsiveness, relationship to buffering Autumn 2010 39 / 66 H-TCP II. Conservative Extensions to TCP Scalable TCP, High-Speed TCP, H-TCP, BIC-TCP, CUBIC-TCP o A ... time elapsed from last congestion experienced • Al ... for A < Al a TCP's grow is used o Aß ... the bandwidth threshold, above which the TCP fall is used (for significant bandwidth changes the 0.5 fall is used) ° Tmjn, Tmax ... the minimal resp. maximal RTTs measured B(k) . . . maximum throughput measurement for the last interval without packet loss 6. Behind Traditional TCP . Autumn 2010 40 / 66 Conservative Extensions to TCP Scalable TCP, High-Speed TCP, H-TCP, BIC-TCP, CUBIC-TCP H-TCP III. • Cwnd = Cwnd + 2(1~cwn ... per ACK • cwnd = b( B) cwnd ... per loss a(A) = b(B) = 1 A < AL max{a/(A)7m/n;1| A > Al 0,5 B (k+1)-B(k) . , T .1 B(k) , min{TmdX;0, 8} in the other case > AB a/(A) = 1 + 10(A - AL) + 0,5(A - Al)2 . . .quadratic increment function 6. Behind Traditional TCP . Autumn 2010 41 / 66 Conservative Extensions to TCP Scalable TCP , High-Speed TCP , H-TCP , BIC-TCP , CUBIC-TCP BIC-TCP o the default algorithm in Linux kernels (2.6.8 and above) o uses binary-search algorithm for cwnd update [3] o 4 phases: (1) a reaction to a packet loss (2) additive increase (3) binary search (4) maximum probing Autumn 2010 42 / 66 Conservative Extensions to TCP Scalable TCP High-Speed TCP H-TCP BIC-TCP CUBIC-TCP BIC-TCP (1) Packet loss o BIC-TCP starts from the TCP slow start o when a loss is detected, it uses multiplicative decrease (as standard TCP) and sets the windows just before and after loss event as: o previous window size — Wmax (the size of cwnd before the loss) o reduced window size — Wmin (the size of cwnd after the loss) o =4- because the loss occured when cwnd < Wmax, the point of equilibrium of cwnd will be searched in the range (Wmm; Wmax) (2) Additive increase o starting the search from cwnd = W|"/n+Wmax might be too challenging for the network o thus, when Wmi" + Wmax > Wmin + Smax, the additive increase takes place ->• cwnd = Wmin + Smax o the window linearly increases by Smax every RTT 6. Behind Traditional TCP . Autumn 2010 43 / 66 Conservative Extensions to TCP Scalable TCP, High-Speed TCP, H-TCP, BIC-TCP, CUBIC-TCP BIC-TCP (3) Binary search once the target (cwnd = Wmin ) is reached, the Wmin = cwnd o otherwise (a packet loss happened) Wmax = cwnd and the searching continues to the new target (using the additive increase, if necessary) until the change of cwnd is less than the Smn constant o here, cwnd = Wmax is set The points (2) and (3) lead to linear (additive) increase, which turns into logarithmic one (binary search). 6. Behind Traditional TCP . Autumn 2010 44 / 66 Conservative Extensions to TCP Scalable TCP High-Speed TCP H-TCP BIC-TCP CUBIC-TCP BIC-TCP (4) Maximum probing o inverse process to points (3) and (2) o first, the inverse binary search takes place (until the cwnd growth is greater than Smax) o once the cwnd growth is greater than Smax, the linear growth (by a reasonably large fixed increment) takes place o first exponencial growth, then linear growth Assumed benefits: • traditional TCP "friendliness" • during the "plateau" (3), the TCP flows are able to grow o AIMD behavior (even though faster) during (2) and (4) phases o more stable window size == better network utilization • most of the time, the BIC-TCP should spend in the "plateau" (3) 6. Behind Traditional TCP . Autumn 2010 45 / 66 Conservative Extensions to TCP Scalable TCP, High-Speed TCP, H-TCP, BIC-TCP, CUBIC-TCP CUBIC-TCP • even though being pretty good scalable, fair, and stable, BIC's growth function is considered to be still aggressive for TCP o especially under short RTTs or low speed networks o CUBIC-TCP o a new release of BIC, which uses a cubic function o for the purpose of simplicity in protocol analysis, the number of phases was further reduced Wcutic = C(T - K)3 + Wmax where C is a scaling constant, T is the time elapsed since last loss event, Wmax is the window 6. Behind Traditional TCP . Autumn 2010 46 / 66 TCP Extensions with IP Support QuickStart, E-TCP, FAST Lecture overview i| Traditional TCP and its issues 2) Improving the traditional TCP • Multi-stream TCP • Web100 3) Conservative Extensions to TCP • GridDT a Scalable TCP, High-Speed TCP, H-TCP, BIC-TCP, CUBIC-TCP 4) TCP Extensions with IP Support QuickStart, E-TCP, FAST J>) Approaches Different from TCP tsunami RBUDP a XCP SCTP, DCCP, STP, Reliable UDP, XTP '6l Conclusions 6. Behind Traditional TCP . Autumn 2010 47 / 66 TCP Extensions with IP Support QuickStart, E-TCP, FAST Quickstart (QS)/Limited Slowstart I. o there is a strong assumption, that the slow-start phase cannot be improved without an interaction with lower network layers o a proposal: 4-byte option in IP header, which comprises of QS TTL and Initial Rate fields o sender, which wants to use the QS, sets the QS TTL to an arbitrary (but high enough) value and the Initial Rate to requested rate, which it wants to start the sending at, and sends the SYN packet 6. Behind Traditional TCP . Autumn 2010 48 / 66 TCP Extensions with IP Support QuickStart, E-TCP, FAST Quickstart (QS)/Limited Slowstart II. o each router on the path, which support the QS, decreases the QS TTL by one and decreases the Initial Rate, if necessary o receiver sends the QS TTL and Initial Rate in the SYN/ACK packet to the sender sender knows, whether all the routers on the path support the QS (by comparing the QS TTL and the TTL) sender sets the appropriate cwnd and starts using its congestion control mechanism (e.g., AIMD) o Requires changes in the IP layer! :-( 6. Behind Traditional TCP . Autumn 2010 49 / 66 E-TCP I. TCP Extensions with IP Support QuickStart, E-TCP, FAST o Early Congestion Notification (ECN) o a component of Advanced Queue Management (AQM) o a bit, which is set by routers when a congestion of link/buffer/queue is coming o ECN flag has to be mirrored by the receiver o the TCP should react to the ECN bit being set in the same way as to a packet loss • requires the routers' administrators to configure the AQM/ECN :-( 6. Behind Traditional TCP . Autumn 2010 50 / 66 E-TCP II. TCP Extensions with IP Support QuickStart, E-TCP, FAST o E-TCP o proposes to mirror the ECN bit just once (for the first time only) o freezes the cwnd when an ACK having ECN-bit set is received from the receiver o requires introducing of small (synthetic) losses to the network in order to perform multiplicative decrease because of fairness • requires a change in receivers' behavior to ECN bit :-( 6. Behind Traditional TCP . Autumn 2010 51 / 66 TCP Extensions with IP Support QuickStart, E-TCP, FAST FAST o Fast AQM Scalable TCP (FAST) [5] o uses end-to-end delay, ECN and packet losses for congestion detection/avoidance o if too few packets are queued in the routers (detected by RTT monitoring), the sending rate is increased o differences from the TCP Vegas: o TCP Vegas makes fixed size adjustments to the rate, independent of how far the current rate is from the target rate o FAST TCP makes larger steps when the system is further from equilibrium and smaller steps near equilibrium if the ECN is available in the network, FAST TCP can be extended to use ECN marking to replace/supplement queueing delay and packet loss as the congestion measure 6. Behind Traditional TCP . Autumn 2010 52 / aa Approaches Different from TCP Lecture overview i| Traditional TCP and its issues 2) Improving the traditional TCP • Multi-stream TCP • Web100 3) Conservative Extensions to TCP • GridDT a Scalable TCP, High-Speed TCP, H-TCP, BIC-TCP, CUBIC-TCP 4^ TCP Extensions with IP Support • QuickStart, E-TCP, FAST 5^ Approaches Different from TCP tsunami oRBUDP o XCP o SCTP, DCCP, STP, Reliable UDP, XTP 6 Conclusions 6. Behind Traditional TCP . Autumn 2010 53 / 66 Approaches Different from TCP tsunami tsunami TCP connection for out-of-band control channel connection parameters negitiation o requirements for retransmissions - uses NACKs instead of ACKs connection termination negotiation o UDP channel for data transmission MIMD congestion control o highly configurable/customizable o MIMD parameters, losses threshold, maximum size of the queue for retransmissions, the interval of sending the retransmissions' requests, etc. 6. Behind Traditional TCP . Autumn 2010 54 / 66 Approaches Different from TCP RBUDP Reliable Blast UDP - RBUDP o similar to tsunami - out-of-band TCP channel for control, UDP for data transmission o proposed for disk-to-disk transmissions, resp. the transmissions where the complete transmitted data could be saved in the sender's memory o sends data in a user-defined rate o app.perf (a clon of iperf) is used for an estimation of networks'/receivers' capacity 6. Behind Traditional TCP . Autumn 2010 55 / 66 Approaches Differentfrom TCP RBUDP Reliable BlasA UDP- RBUDP -> UDP dpCp traffic ^ TCP signaling nrpAic Figure 1. The Time Sequence Diagram pf RBUDP Source: E. He, J. Leigh, O. Yu, T. A. DeFan ti, "Reliable Blast UDP: Predictable High Performance Bulk Data Trander," IEEE Rlustep Comfiuting 2002, Chicago, Illinois, Sept, 2002. A start of the transmission (using pre-defined date) B end of the transmission C sending the DONE signalvia the control channel; the recee/er responses with a mask of dpta,that h ad arrived D re-sending ok missing data E-F-G end of transmission The steps C and D repeat until aN the data are delivered. Eva Hladka (FI MU) 6. Behind Traditional TCP Autumn 2010 56 / 66 Sender Receiner s C F Approaches Different from TCP XCP eXplicit Control Protocol - XPC o uses a feedback from routers per paket Approaches Different from TCP XCP eXplicit Control Protocol - XPC o uses a feedback from routers per paket Approaches Different from TCP XCP eXplicit Control Protocol - XPC • uses a feedback from routers per paket 0 Congestion Window = Congestion Window + Feedback Eva Hladká (FIMU) 6. Behind Traditional TCP . Autumn 2010 57 / 66 Approaches Different from TCP SCTP, DCCP, STP, Reliable UDP, XTP Different approaches I. o SCTP o multi-stream, multi-homed transport (end node might have several IP addresses) o message-oriented like UDP, ensures reliable, in-sequence transport of messages with congestion control like TCP o http://www.sctp.org/ o DCCP non-reliable protocol (UDP) with a congestion control compatible with the TCP o http://www.ietf.org/html.charters/dccp-charter.html o http://www.icir.org/kohler/dcp/ 6. Behind Traditional TCP . Autumn 2010 58 / 66 Approaches Different from TCP SCTP, DCCP, STP, Reliable UDP, XTP Different approaches II. o STP o based on CTS/RTS o a simple protocol designed for a simple implementation in HW o without any sophisticated congestion control mechanism o http://lwn.net/2001/features/OLS/pdf/pdf/stlinux.pdf o Reliable UDP o ensures reliable and in-order delivery (up to the maximum number of retransmissions) o RFC908 a RFC1151 o originally proposed for IP telephony connection parameters can be set per-connection o http://www.javvin.com/protocolRUDP.html o XTP (Xpress Transfer Protocol), ... 6. Behind Traditional TCP . Autumn 2010 59 / 66 Conclusions Lecture overview F1| Traditional TCP and its issues Improving the traditional TCP • Multi-stream TCP • Web100 Conservative Extensions to TCP • GridDT a Scalable TCP, High-Speed TCP, H-TCP, BIC-TCP, CUBIC-TCP ify TCP Extensions with IP Support • QuickStart, E-TCP, FAST Approaches Different from TCP tsunami • RBUDP a XCP 9 SCTP, DCCP, STP, Reliable UDP, XTP 6) Conclusions Eva Hladka (FIMU) 6. Behind Traditional TCP . Autumn 2010 60 / 66 Conclusions I. Conclusions o Current state: o multi-stream TCP is intensively used (e.g., Grid applications) o looking for a way which will allow safe (i.e., backward compatible) development/deployment of post-TCP protocols o aggressive protocols are used on private/dedicated networks/circuits (e.g., A-networks CzechLight/CESNET2, SurfNet, CaNET*4, ...) o implementation SCTP under FreeBSD 7.0 o implementation DCCP under Linux 6. Behind Traditional TCP . Autumn 2010 61 / 66 Conclusions Conclusions II. o interaction with L3 (IP) o interaction with data link layer o variable delay and throughput in wireless networks o optical burst switching o specific per-flow states in routers: o e.g., per-flow setting for packet loss generation (— E-TCP) o may help short-term flows with high capacity demands (macro-bursts) o problem with scalability and cost :-( 6. Behind Traditional TCP . Autumn 2010 62 / 66 Literature Lecture overview F1| Traditional TCP and its issues PS) Improving the traditional TCP • Multi-stream TCP • Web100 Conservative Extensions to TCP • GridDT a Scalable TCP, High-Speed TCP, H-TCP, BIC-TCP, CUBIC-TCP [i) TCP Extensions with IP Support • QuickStart, E-TCP, FAST Approaches Different from TCP tsunami • RBUDP a XCP • SCTP, DCCP, STP, Reliable UDP, XTP Fťf Conclusions Literature Eva Hladka (FIMU) 6. Behind Traditional TCP . Autumn 2010 63 / 66 Literature Q Q Q Jacobson V. "Congestion Avoidance and Control", Proceedings of ACM SIGCOMM'88 (Standford, CA, Aug. 1988), pp. 314-329. ftp://ftp.ee.lbl.gov/papers/congavoid.ps.Z Allman M., Paxson V., Stevens W. "TCP Congestion Control", RFC2581, Apr. 1999. http://www.rfc-editor.org/rfc/rfc2581.txt Brakmo L, Peterson L. "TCP Vegas: End to End Congestion Avoidance on a Global Internet", IEEE Journal of Selected Areas in Communication, Vol. 13, No. 8, pp. 1465—1480, Oct. 1995. ftp://ftp.cs.arizona.edu/xkernel/Papers/jsac.ps |~1 http://www.weblOO.org |~1 Hacker T. J., Athey B. D., Sommerfield J. "Experiences Using WeblOO for End-To-End Network Performance Tuning" http://www.weblOO.org/docs/ExperiencesUsingWeblOOforHostTuning.pdf Eva Hladká (Fl MU) 6. Behind Traditional TCP Autumn 2010 64 / 66 Literature [jj Kelly T. "Scalable TCP: I mproving Performance in Highspeed Wide Area Networks", PFLDnet2003, http://datatag.web.cern.ch/datatag/pfldnet2003/papers/kelly.pdf, http://wwwlce.eng.cam.ac.uk/~ctk21/scalable/ |~1 Floyd S. "HighSpeed TCP for Large Congestion Windows", 2003, http://¥¥¥.potaroo.net/ietf/all-ids/draft-floyd-tcp-highspeed-03.txt |~1 BIC-TCP, http://www.csc.ncsu.edu/faculty/rhee/export/bitcp/ |y| Floyd S., Allman M., Jain A., Sarolahti P. "Quick-Start for TCP and IP", 2006, http://www.ietf.org/internet-drafts/draft-ietf-tsvwg-quickstart-02.txt H Jin C, Wei D., Low S. H., Buhrmaster G., Bunn J., Choe D. H., Cottrell R. L. A., Doyle J. C, Newman H., Paganini F., Ravot S., Singh S. "FAST - Fast AQM Scalable TCP." http://netlab.caltech.edu/FAST/ http://netlab.caltech.edu/pub/papers/FAST-infocom2004.pdf |~1 tsunami, http://www.anml.iu.edu/anmlresearch.html |5 Zdroj: E. He, J. Leigh, 0. Yu, T. A. DeFanti, "Reliable Blast UDP: Predictable High Performance Bulk Data Transfer," IEEE Cluster Computing 2002, Chicago, Illinois, Sept, 2002. Eva Hladká (Fl MU) 6. Behind Traditional TCP Autumn 2010 Literature Further materials o Workshops PFLDnet 2003-2010 o http: //datatag.web.cern.ch/datatag/pfldnet2003/program.html o http://www-didc.lbl.gov/PFLDnet2004/ o http://www.ens-lyon.fr/LIP/RESO/pfldnet2005/ o http://www.hpcc.jp/pfldnet2006/ o http://wil.cs.caltech.edu/pfldnet2007/ • prof. Sally Floyd's pages: http://www.icir.org/floyd/papers.html • RFC3426 - "General Architectural and Policy Considerations" http://www.hamilton.ie/net/eval/results_HI2005.pdf 6. Behind Traditional TCP . Autumn 2010 66 / 66