Network Socket

dead-metaphor Tool UseNetwork Communication

Categories: computer-science

What It Brings

A socket is a hollow opening into which something is inserted to make a connection — a lightbulb socket, a wall socket, an eye socket. The Berkeley sockets API (1983), designed by Bill Joy and Sam Leffler for 4.2BSD, borrowed this term to name the endpoint of a network connection. You create a socket, bind it to an address, and then either listen for incoming connections or connect to a remote socket. The metaphor imports several structural features from the physical domain.

Key structural parallels:

Where It Breaks

Expressions

Origin Story

The Berkeley sockets API was developed for 4.2BSD Unix in 1983 by Bill Joy, Sam Leffler, and colleagues at UC Berkeley’s Computer Systems Research Group. The API needed to provide a uniform interface for network communication that felt natural within Unix’s “everything is a file” philosophy. The term “socket” was chosen because the connection model — two endpoints that join to form a communication channel — mapped onto the plug-and-socket model from electrical engineering.

The choice was consequential. The Berkeley sockets API became the de facto standard for network programming across virtually all operating systems. Windows Sockets (Winsock) adopted the same abstraction and naming. The POSIX standard codified it. Every modern programming language provides socket abstractions that trace back to the 1983 BSD interface and its physical-connection metaphor.

References

Related Mappings