This illustration shows two processes communicating with each other. Each process is layered, and from top to bottom appears as:
A desktop computer, labeled: "Host or server."
An oval with the word "Process" in it, further labeled: "Controlled by application developer."
A blue rectangle labeled "Socket."
A large square with the words "TCP with buffers, variables" in it, further labeled: "Controlled by operating system."
The blue rectangle has an arrow pointing up into "Process" and down into "TCP with buffers, variables."
The two processes are identical. Between them, at the bottom level, is a light blue cloud labeled "Internet." The two large squares are connected by a blue arrow that passes through "Internet" and points back and forth between them.