Performance Interactions Between P-HTTP and TCP Implementations J. Heidemann ACM Computer Communication Review April 1997 김호중 CA Lab., KAIST.

Slides:



Advertisements
Similar presentations
LOGO Transmission Control Protocol 12 (TCP) Data Flow.
Advertisements

1 CS492B Project #2 TCP Tutorial # Jin Hyun Ju.
Chapter 12 Transport protocols. Outline 12.1 introduction 12.2 TCP/IP protocol suite.
Winter 2008CS244a Handout #61 CS244a: An Introduction to Computer Networks Handout 6: The Transport Layer, Transmission Control Protocol (TCP), and User.
1 Transport Layer - UDP & TCP Protocols "I cannot teach anybody anything, I can only make them think.” - Socrates.
Copyright 1999, S.D. Personick. All Rights Reserved. Telecommunications Networking II Lecture 32 Transmission Control Protocol (TCP) Ref: Tanenbaum pp:
1 TCP - Part II. 2 What is Flow/Congestion/Error Control ? Flow Control: Algorithms to prevent that the sender overruns the receiver with information.
Announcement Homework 2 in tonight –Will be graded and sent back before Th. class Midterm next Tu. in class –Review session next time –Closed book –One.
Interactions Between Delayed Acks and Nagle’s Algorithm in HTTP and HTTPS: Problems and Solutions Arthur Goldberg Robert Buff New York University March.
Transport Layer Services –Reliable Delivery –or Not! Protocols –Internet: TCP, UDP –ISO: TP0 thru TP4.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
CSCE 515: Computer Network Programming Chin-Tser Huang University of South Carolina.
MULTIMEDIA TRAFFIC MANAGEMENT ON TCP/IP OVER ATM-UBR By Dr. ISHTIAQ AHMED CH.
Shivkumar Kalyanaraman Rensselaer Polytechnic Institute 1 TCP (Part III: Miscl) Shivkumar Kalyanaraman Rensselaer Polytechnic Institute
TDC375 Winter 03/04 John Kristoff - DePaul University 1 Network Protocols Transmission Control Protocol (TCP)
Computer Networks Transport Layer. Topics F Introduction  F Connection Issues F TCP.
1 K. Salah Module 6.1: TCP Flow and Congestion Control Connection establishment & Termination Flow Control Congestion Control QoS.
TCP. Learning objectives Reliable Transport in TCP TCP flow and Congestion Control.
The Transport Layer.
IA-TCP A Rate Based Incast- Avoidance Algorithm for TCP in Data Center Networks Communications (ICC), 2012 IEEE International Conference on 曾奕勳.
TCP Throughput Collapse in Cluster-based Storage Systems
COMT 4291 Communications Protocols and TCP/IP COMT 429.
TCOM 509 – Internet Protocols (TCP/IP) Lecture 04_b Transport Protocols - TCP Instructor: Dr. Li-Chuan Chen Date: 09/22/2003 Based in part upon slides.
1 Transport Protocols (continued) Relates to Lab 5. UDP and TCP.
TCP : Transmission Control Protocol Computer Network System Sirak Kaewjamnong.
26-TCP Dr. John P. Abraham Professor UTPA. TCP  Transmission control protocol, another transport layer protocol.  Reliable delivery  Tcp must compensate.
CS332, Ch. 26: TCP Victor Norman Calvin College 1.
Transport Layer Moving Segments. Transport Layer Protocols Provide a logical communication link between processes running on different hosts as if directly.
Chapter 12 Transmission Control Protocol (TCP)
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 Chapter 12 Transmission Control Protocol (TCP)
Chapter 5 Peer-to-Peer Protocols and Data Link Layer PART I: Peer-to-Peer Protocols ARQ Protocols and Reliable Data Transfer Flow Control.
2000 년 11 월 20 일 전북대학교 분산처리실험실 TCP Flow Control (nagle’s algorithm) 오 남 호 분산 처리 실험실
7.9 TCP Socket Options 7.10 SCTP Socket Options 7.11 fcntl Function 7.12 Summary 報告者 : 梁凱鈞.
HighSpeed TCP for High Bandwidth-Delay Product Networks Raj Kettimuthu.
Copyright 2008 Kenneth M. Chipps Ph.D. Controlling Flow Last Update
Copyright © Lopamudra Roychoudhuri
1 TCP - Part II Relates to Lab 5. This is an extended module that covers TCP data transport, and flow control, congestion control, and error control in.
Transport Layer3-1 TCP throughput r What’s the average throughout of TCP as a function of window size and RTT? m Ignore slow start r Let W be the window.
TCP: Transmission Control Protocol Part II : Protocol Mechanisms Computer Network System Sirak Kaewjamnong Semester 1st, 2004.
1 CS 4396 Computer Networks Lab TCP – Part II. 2 Flow Control Congestion Control Retransmission Timeout TCP:
1 TCP Timeout And Retransmission Chapter 21 TCP sets a timeout when it sends data and if data is not acknowledged before timeout expires it retransmits.
1 TCP - Part II Relates to Lab 5. This is an extended module that covers TCP data transport, and flow control, congestion control, and error control in.
1 TCP - Part II. 2 What is Flow/Congestion/Error Control ? Flow Control: Algorithms to prevent that the sender overruns the receiver with information.
Malathi Veeraraghavan Originals by Jörg Liebeherr 1 Data Transfer in TCP Acknowledgements Flow Control.
Performance Interactions Between P-HTTP and TCP Implementation John Heidemann USC/Information Sciences Institute May 19, 1997 Presentation Baekcheol Jang.
ECE 4110 – Internetwork Programming
TCP - Part II Relates to Lab 5. This is an extended module that covers TCP data transport, and flow control, congestion control, and error control in TCP.
TCP Timeout and Retransmission
TCP Congestion Control 컴퓨터공학과 인공지능 연구실 서 영우. TCP congestion control2 Contents 1. Introduction 2. Slow-start 3. Congestion avoidance 4. Fast retransmit.
McGraw-Hill©The McGraw-Hill Companies, Inc., 2000 Chapter 12 Transmission Control Protocol (TCP)
Transport Protocols.
Development of a QoE Model Himadeepa Karlapudi 03/07/03.
TCP continued. Discussion – TCP Throughput TCP will most likely generate the saw tooth type of traffic. – A rough estimate is that the congestion window.
Fall 2004FSU CIS 5930 Internet Protocols1 TCP – Data Exchange Reading: Section 24.4.
CORE Lab. E.E. 1 Soft timers : efficient microsecond so ftware timer support for network proc essing Mohit Aron and Peter Druschel 17 th ACM Symposium.
TCP as a Reliable Transport. How things can go wrong… Lost packets Corrupted packets Reordered packets …Malicious packets…
TCP/IP1 Address Resolution Protocol Internet uses IP address to recognize a computer. But IP address needs to be translated to physical address (NIC).
1 TCP ProtocolsLayer name DNSApplication TCP, UDPTransport IPInternet (Network ) WiFi, Ethernet Link (Physical)
TCP - Part II.
Chapter 5 TCP Sequence Numbers & TCP Transmission Control
Reddy Mainampati Udit Parikh Alex Kardomateas
Chapter 17 and 18: TCP is connection oriented
Magda El Zarki Professor, ICS UC, Irvine
Understanding Throughput & TCP Windows
Chapter 5 TCP Transmission Control
Chapter 5 Peer-to-Peer Protocols and Data Link Layer
The Transmission Control Protocol (TCP)
Chapter 5 Peer-to-Peer Protocols and Data Link Layer
Lecture 4 Peer-to-Peer Protocols and Data Link Layer
TCP: Transmission Control Protocol Part II : Protocol Mechanisms
Presentation transcript:

Performance Interactions Between P-HTTP and TCP Implementations J. Heidemann ACM Computer Communication Review April 1997 김호중 CA Lab., KAIST

2 / 20 Contents Introduction Initial experiment The performance problems Related works Conclusion Critique

3 / 20 Introduction (1/2) HTTP HTTP request per each TCP connection Several connections per a page P-HTTP (Persistent-HTTP) Multiple HTTP requests over a TCP connection Advantages of HTTP 1.1 (RFC2068) Saving CPU time, memory Pipelining request without waiting each response Reducing network congestion Evolving HTTP

4 / 20 Introduction (2/2) Problem : P-HTTP is not HTTP HTTP : similar to FTP P-HTTP : similar to SMTP or NNTP SMTP : batch protocol NNTP : interactive uses are usually in LAN

5 / 20 Initial Experiment (1/2) Experimental framework 10Mb/s Ethernet Sun SPARC 20/71 SunOS with some TCP modification 16KB default TCP window size Slow-start enabled Apache 1.1b4 HTTP 1.0 with “Keep-Alive” on No pipelining 3 types of workload 6651, 3883, 1866 bytes : yahoo’s title page (May 1996)

6 / 20 Initial Experiment (2/2) Initial performance HTTP P-HTTP ServerProtocol 1.1b4 1.1b4 (1 st fix) 1.1b4 (both fixes) Retrieval time 43 ms 605 ms 195 ms 26 ms Std. variation 4.0 ms 10 ms 1.9 ms 8.8 ms

7 / 20 Short-Initial-Segment Problem (1/4) Conflict between TCP’s slow-start algorithm and piggybacking Slow-start algorithm The connection opens its congestion window exponentially Initial window size = 2 segments Piggybacking ACK on return traffic RFC1122 : must ACK at >2 segments

8 / 20 Short-Initial-Segment Problem (2/4) Connection setup request ACK HTTP header & 1 st data segment Waiting ACK … ACK timer expired SERVERCLIENT TCP MSS(max. segment size) : 1460bytes for Ethernet 512 or 536bytes for wide area TCP connection HTTP header : 200~300bytes

9 / 20 Short-Initial-Segment Problem (3/4)

10 / 20 Short-Initial-Segment Problem (4/4) Solution Send HTTP header with initial data Problem of piggybacking Unidirectional data traffic dominates HTTP P-HTTP ServerProtocol 1.1b4 1.1b4 (1 st fix) Retrieval time 43 ms 605 ms 195 ms Std. variation 4.0 ms 10 ms 1.9 ms P-HTTP1.1b4 (both fixes)26 ms8.8 ms

11 / 20 Odd/Short-Final-Segment Problem (1/4) Conflict between SWS avoidance algorithm and BSD TCP small message transfer BSD TCP prevent sending until … A full-size segment can be sent We can send half of the client’s advertised window We can send everything and… Not expecting ACK Nagle algorithm is disabled

12 / 20 Odd/Short-Final-Segment Problem (2/4) Silly Window Syndrome (SWS) Example MSS : 200bytes, initial window : 1000bytes Send 200bytes * 5 segments Receive 1 segment and ACK 800bytes pending, 200bytes available Send 200bytes * 1 segment, … Send 50bytes segment, followed by 150bytes segment Receive 50bytes segment and ACK 950byes pending, 50bytes available Send 50bytes again? Nagle’s algorithm

13 / 20 Odd/Short-Final-Segment Problem (3/4)

14 / 20 Odd/Short-Final-Segment Problem (4/4) Solution Disable Nagle’s algorithm Nagle’s algorithm is for small, interactive packet HTTP P-HTTP ServerProtocol 1.1b4 1.1b4 (1 st fix) 1.1b4 (both fixes) Retrieval time 43 ms 605 ms 195 ms 26 ms Std. variation 4.0 ms 10 ms 1.9 ms 8.8 ms

15 / 20 Slow-Start Re-Start Problem (1/2) Conservative congestion control All data sent has been acknowledged + Nothing has been sent for a retransmission time- out period  Reinitialize congestion window to 1  Slow-start again time for browsing a page > time-out period

16 / 20 Slow-Start Re-Start Problem (2/2) Solutions Omitting to reset the congestion window SunOS Bursty traffic can cause packet loss Reinitiate the window after an idle period Decay the window size over time Still bursty traffic Rate-based flow control Hard to use for new connection : unknown network status

17 / 20 Other Problems Inefficient I/O package Disk  file system cache  (input stream buffer  user buffer  output buffer)  network buffer  network device Memory-mapping the input file Too small socket buffer 2~16Kbytes Can’t utilize the high-speed network

18 / 20 Related Works Moldeklev and Gunningberg Effect of MTU size to TCP transfer efficiency Large-MTU network (ATM) Crowcroft, Wakerman, Wang and Strovica Relation of user- and TCP-level buffering SunRPC traffic over TCP Similar to HTTP request / P-HTTP response

19 / 20 Conclusion P-HTTP over TCP Short-initial-segment problem Send HTTP header with initial data Odd/short-final-segment problem Disable SWS-avoidance algorithm Slow-start re-start problem Rate-based flow control

20 / 20 Critique Good analysis Evaluation Is it realistic P-HTTP traffic? Large images, many objects, … Approaches HTTP header with initial data browser support needed SWS-avoidance Disabled No problem in real environments?