About Network Protocol Simulator
A simulation, not a measurement: a web page cannot open a raw socket or send a SYN, so the packets here are assembled from the specifications and the timings from the latency you type. What it is faithful about is structure — which flag is set, how sequence numbers advance, who speaks next, and where each round trip goes.
Four exchanges are modelled here, and they are the four that stand between typing an address and seeing a page. A name is turned into an address by walking a hierarchy of servers that each know only who to ask next. A connection is opened with three packets whose numbers matter more than their contents. Keys are agreed in public by two parties who have never met. Then, and only then, does anything resembling a request happen. Each one runs as a sequence of steps you click through, with the packet laid out field by field and a note beside the two or three details that are easy to get wrong.
Latency is the knob that teaches the most. Set the round-trip time to forty milliseconds and the handshake looks trivial; set it to four hundred, which is an ordinary satellite link or a bad mobile connection, and the same sequence becomes most of the page load. That is the actual argument for connection reuse, for keeping third-party domains few, and for the newer protocol version: each of them removes a round trip, and a round trip costs whatever your users' network says it costs rather than whatever your office says.
The transport-layer security exchange has a switch between the two versions still in use, and it is the clearest demonstration on the page. Version 1.3 lets the client guess the key agreement up front, so the exchange finishes in one round trip and the certificate arrives already encrypted. Version 1.2 cannot begin the agreement until the server has spoken, which costs a second round trip on every new connection and puts the certificate, and therefore the identity of the site being visited, in the clear. Flip the switch on the lifecycle view and watch the total move.
The sequence-number arithmetic in the connection simulation is worth a minute of anyone's attention. Numbers count bytes rather than packets, the flags that open and close a connection each consume one even though they carry no data, and an acknowledgement names the next byte expected rather than the last one received. Those three facts explain nearly every confusing capture a person meets early on, including why closing takes four packets when opening took three, and why a socket sits in a waiting state for a minute after everything appears to be finished.
What this cannot do is measure anything. There is no raw socket in a browser, no way to send a packet with chosen flags, and no interface for reading a reply that is not an ordinary HTTP response — those are deliberate limits of the platform, not an omission here. So every number on the page is arithmetic on the values you supply. For real timings use the tools built for it: the browser's own network panel, or a capture tool on a machine you control. Use this to understand what those tools are showing you.