Persistent HTTP: without and with pipelining

A web page with N objects on the same server as the HTML base file, downloaded over a single persistent TCP connection. Change the parameters and compare both delay diagrams on the same time scale.

Link

RTT = 2 · d_prop. Requests and TCP control segments are so small that their transmission time is neglected.

Web page

The browser first downloads the HTML base file; only when it has received it does it know which N objects to request.

One size per object, separated by “;” or spaces. N is the number of sizes.

1 KB = 1000 bytes; 1 MB = 10⁶ bytes.

Assumptions

View

Practice

Generates random values and hides the diagrams and results: draw both diagrams on paper, compute T and check your answer.

Export

Model assumptions
  • A single link of rate R and propagation delay d_prop between client and server; no other traffic, no losses, no TCP congestion control (no slow start).
  • Requests (GET) and TCP control segments have negligible size: they take d_prop to arrive and no transmission time.
  • Each object (and the HTML) is sent as a block of L bits: X = L/R. Headers are neglected.
  • Processing in the browser is neglected; the server needs t_proc to prepare each response.
  • Without pipelining, the client sends the request for object i when the last bit of object i−1 arrives.
  • With pipelining, the client sends all N requests at once; the server answers them in the same order, one after another. In the diagram the requests are drawn slightly apart only so they can be told apart.

About this visualization

Delay diagrams for downloading a web page with N objects stored on the same server as the HTML base file, over a single persistent TCP connection, with HTTP/1.1 without pipelining and with pipelining. The browser first downloads the HTML and then requests the objects: without pipelining, each GET is sent once the previous object has arrived; with pipelining, all the GETs leave at once and the server sends the responses back to back. The student adjusts the link rate, the propagation delay, the size of the HTML and of the objects (equal or different), the TCP handshake and the server processing time, and sees both diagrams on the same time scale, with RTT and transmission-time dimension lines, the gaps where the link sits idle, the formula with the values substituted and a table of instants. The download can be played step by step, practised with random exercises and exported as SVG or PNG. It shows that pipelining saves (N−1)·(RTT + t_proc).

Concepts: persistent HTTP, pipelining, TCP connection, connection setup, round-trip time (RTT), transmission delay, propagation delay, referenced object, HTML base file, delay diagram, link utilization.

Formulas:

Network Architecture I, Session 2.2 · Enrique de la Hoz, University of Alcalá · License CC BY-SA 4.0 · Source and catalogue on GitHub · DOI 10.5281/zenodo.23285664