This interaction is depicted using two large ovals placed side-by-side. The oval on the left is labeled "Client process" and the oval on the right is labeled "Server process." The ovals are connected by a gray pipe that runs between them. Where the pipe intersects with the ovals there are two blue rectangles representing each process's socket; the one on the left end of the pipe is labeled "Client socket," while the one on the right is labeled "Connection socket." There is a second socket in the server process above the connection socket, which is labeled "Welcoming socket." Two blue arrows extend through the pipe, one pointing from left to right and the other from right to left. Each is labeled "bytes." A blue arrow also extends from the client socket to the welcoming socket, pointing in both directions, and is labeled "Three-way handshake."