The Network Stack
The network stack provides applications with services ensuring the error-free transmission of structured bits from one computer to another with the highest throughput (capacity) and lowest latency (time in system) possible. This must be accomplished in the context of significant material constraints: (a) signals must travel over physical media—whether air, copper wire or fiber optic—each bringing different characteristics to the job, with regard to susceptibility to interference, dissipation, capacity, and cost; (b) the physical infrastructure necessary to provide point-to-point communication is enormously costly, and consequently driven by particular economic dynamics, including network effects, and economies of scale and density; (c) these costs require that communication links to be shared among multiple users, with the corresponding need for fair policies to manage traffic and its attendant inefficiencies.
Common media for digital communication include twisted-pair (telephone wire), coaxial cable (cable television), fiber optic, and radio waves. Like storage, a chief characteristic of communication media is its unreliability, including attenuation, the gradual weakening of the signal due to the physical resistance of the media to electrical current; and noise, the gradual distortion of the signal by a wide variety of sources, including interference from other wires, radio signals, the physical environment, etc. Because attenuation and noise determine the capacity of the media (Czajkowski, 1999), extensive measures must be deployed to counter their effects, including signal amplifiers and cable shielding.
Additionally, signal processing techniques help ensure the correct transmission of data over an unreliable channel: modulation translates digital data into a form suitable for transmission for a given physical medium, while error-correcting codes use redundancy to protect sequences of bits against noise. Different coding and modulation techniques are appropriate given the specific noise characteristics of the transmission channel and the amount of processing they require. In both cases, the fundamental trade-off is accuracy vs. capacity, that is, the more protection against noise, the less data the channel can carry, a trade-off first articulated by Shannon (1949).
Worldwide, the “twisted pair” copper wires deployed for the provision of telephony represents the most important infrastructural investment for telecommunications providers, millions of wires that connect individual dwellings to the network, built over the course of the last century. A defining engineering project of the early 21st century is the conversion of this “voiceband” infrastructure, limited to the transmission of analog voice, to a “broadband” infrastructure, i.e., one capable of carrying significant amounts of digital information. While the physical properties of optical fiber have made it the preferred material for wireline broadband, the enormous costs of infrastructural deployment to the level of the “last mile” insure that the Internet will continue to operate over a mixture of physical materials:
“Although many broadband architectures require optical fiber to be brought at least some of the way towards the home from the exchange, bringing the fiber increasingly closer to the home become prohibitively expensive. The cost of fiber deployment is dominated not by the material costs but by the cost of civil works (i.e., the digging of the road/pavement and the laying of the fiber)—a costs which can range between £25 and in excess of £75 per metre, depending on the circumstances.” (Czajkowski, 1999, p. 127)
These costs have significant consequences: firstly, like capacity on highways, the resource is largely inelastic. Unlike processing power or storage, service providers cannot lay additional cables on demand, and thus, must meet future demand through over- provisioning. The widespread adoption of this strategy by telcos at the height of the dot-com era resulted in vast amounts of “dark fiber,” i.e., unused capacity; secondly, the economies of scale and density that characterize such network infrastructures will continue to offer low incentives for telecommunication providers to update their infrastructure in rural areas; thirdly, telcos have been highly motivated to fund research for the development of encoding and multiplexing schemes that maximizes the amount of bits that could be transmitted over the existing infrastructure (e.g., DSL over twisted pairs). These issues are not limited to wireline communication: much of the wireless (cellular) infrastructure was similarly developed for voice traffic and thus required extensive investments from telcos to handle broadband.
As with other point-to-point networks (e.g., telephone, mail, or road system), it is not feasible or cost-effective to establish direct links between every computing device. Instead, multilevel hierarchies of communication links are used, whereby individual links connect to hubs (switchboards, mail sorting centers, highway interchanges, airports), themselves connected to each other through shared, high-capacity links. A central design imperative of network stack is thus the efficient use of shared and scarce communication links, given various characteristics of traffic: peak/off-peak demand, data vs. voice, quality of service requirements, shape, etc.
A defining characteristic of the Internet is its reliance on packet switching to maximize limited network resources: first, in the context of computer-generated “bursty traffic,”exhibiting substantial variations in intensity, breaking down communications in small packets helps evenly spread usage of a communication link among multiple users competing for the resource; secondly, depending on network topology, packet switching can help alleviate congestion by moving traffic towards less congested links; finally, the network can adapt in real-time to significant changes in topology. Yet, as implemented in the TCP/IP protocols, packet switching entails significant drawbacks: no minimum latency may be guaranteed, a significant issue for applications such as streaming media or telephony.