Back to blog
dns Published: AEU DNS Newsroom

Unsung Origins: The BBN TCP/IP Stack and the Birth of the Sockets Interface

Unsung Origins: The BBN TCP/IP Stack and the Birth of the Sockets Interface

A former BBN employee shares a personal account of the early BSD TCP/IP code that predated Bill Joy's work, reminding us of the quiet foundations of modern network communication.

Every time a program sends a message across the internet, whether loading a webpage, streaming a video, or sending an email, it relies on a simple yet powerful abstraction known as a socket. In everyday terms, a socket is like a door through which two programs on different computers can talk to each other. It hides the complicated layers of network hardware and routing, allowing developers to read and write data almost as easily as they would a file on their own computer. This concept, first widely popularised in the Berkeley Software Distribution (BSD) version of Unix, became the cornerstone of practically all internet-connected software we use today.

Long before Bill Joy integrated a TCP/IP stack and the socket application programming interface (API) into BSD in the early 1980s, another implementation already existed. Bolt, Beranek and Newman (BBN), the firm that built the original ARPANET routers, had developed its own TCP/IP stack for BSD. This earlier code was part of a US Defense Advanced Research Projects Agency (DARPA) effort and served as a foundation for Joy’s later work. A recent recollection on the APNIC blog by a former BBN employee, identified only as D. W., sheds light on this little-remembered chapter. During the mid-1990s, D. W. was responsible for a master copy of the source-code magtapes (a type of tape cartridge used for computer data storage) at BBN. Whenever anyone requested the code, his job was to duplicate and mail out the tapes, a task dictated by a DARPA contract obligation. Remarkably, during his entire tenure, nobody ever asked for a copy.

The anecdote is more than a piece of nostalgia. It underscores how quiet, behind-the-scenes efforts often underpin the technologies that later become ubiquitous. The sockets interface that emerged from these early implementations unified Berkeley’s existing inter-process communication (a way for programs on the same machine to exchange information) with the then-new TCP/IP network protocols. Instead of presenting a completely new programming model, it reused familiar system calls like `read()` and `write()`, but now across a network. This design choice dramatically lowered the barrier for developers, sparking an explosion of networked applications.

Today, sockets remain the low-level foundation for virtually all internet communication. From web servers and databases to video games and messaging apps, the socket API is the common language that programs speak to the network. The durability of this interface is a testament to its design: it abstracts away the messy details of packet loss, routing changes, and network congestion while still giving applications enough control to manage performance-sensitive connections. The TCP/IP protocols themselves have evolved, they now include encryption, multipath capabilities, and better congestion control, but the socket metaphor endures, often wrapped inside higher-level libraries for convenience.

This enduring model also highlights why securing the underlying network layers is so critical. Because every connected application, no matter how sophisticated, relies on sockets to send and receive data, an attacker who can intercept or manipulate the traffic flowing through those sockets can compromise privacy and security. One frequently overlooked link in this chain is the Domain Name System (DNS), the internet’s phonebook that translates human-friendly names like "example.com" into the numerical IP addresses that sockets use. If DNS queries are sent in the clear, they expose which sites you visit and can be tampered with to redirect you to malicious servers. Protecting that foundational inquiry with encrypted DNS, such as DNS over HTTPS (DoH) or DNS over TLS (DoT), shields the first step of every socket connection. A privacy-first, encrypted DNS resolver like AEU DNS can help ensure that your network’s address lookups are private and untampered, reinforcing the security of every socket-based connection your devices make.

Terms explained

socket
A socket is a software door that lets two programs on different computers send and receive data over a network, similar to how a telephone call connects two people.
TCP/IP
TCP/IP is the set of rules that govern how data is split into packets, addressed, sent, and reassembled reliably over the internet.
BSD
BSD (Berkeley Software Distribution) is a type of Unix operating system from the University of California, Berkeley, that introduced many networking features we still use today.
magtape
A magtape (magnetic tape) is a long plastic strip coated with magnetic material, once commonly used to store computer data in large reels or cartridges before hard disks became dominant.
API
API (Application Programming Interface) is a set of rules that lets one piece of software talk to another, like a menu that lists what a program can do and how to ask it.
DNS
DNS (Domain Name System) is the internet’s phonebook; it translates easy‑to‑remember website names like google.com into the numerical IP addresses that computers use to find each other.
DoH/DoT
DoH (DNS over HTTPS) and DoT (DNS over TLS) are methods that encrypt DNS queries, hiding your internet‑address lookups from anyone who might try to spy on or alter them.

How to protect yourself

  1. Switch your devices to use a DNS service that encrypts queries, such as AEU DNS, which supports DNS over HTTPS (DoH) and DNS over TLS (DoT); this prevents others on your network or internet provider from seeing which websites you visit.
  2. Keep your operating system and all software updated, because network stacks and socket libraries receive security patches that fix vulnerabilities attackers might exploit.
  3. When using public Wi‑Fi, always combine encrypted DNS with a reputable VPN (Virtual Private Network) to protect all your internet traffic from eavesdropping, not just DNS requests.
  4. Check your browser or device settings for a ‘Secure DNS’ or ‘Private DNS’ option and enable it; this ensures every name lookup uses encryption without needing extra software.

Source: blog.apnic.net

Get private, encrypted DNS