Most laypersons think the answer is technology, and to a point they're right. But the whole answer is that the Internet was brought together by a combination of technology and standards-
The products fueling the Internet were introduced in Chapter 1. Now we'll cover the underlying architectures that made all that technology possible. An understanding of the technologies and standards underpinning an internetwork will give you a clear picture of what happens in the background when you click a link in your browser.
Before going into details on internetworking, it's necessary to cover the basic concepts that explain how computer technology works. We'll do this "from the wire up" to help you understand why systems work the way they do.
The Internet's infrastructure is
Networking devices are more or less the same as normal computer platforms, such as your PC. The biggest differences are in configuration: Most types of network equipment have no
Computing is largely a matter of sending electrical signals between various hardware
As signals are passed over the cable, network interface cards (NICs) at each end keep track of the electrical pulse waveforms and interpret them as data. The NIC senses each electrical pulse as either an On or Off signal. This is called binary transmission-a system in which each On pulse is recorded as the number 1 and each Off signal as the number 0. In machine language, these zeros and ones are bits , and a file of bits is a binary file.
Whether a signal represents a zero or a one is sensed by fluctuations in the voltage of electrical pulses (or light
All computers use binary transmission at the machine level. Bits are the basic raw material with which they work, usually as a collection of bits in a binary file. Binary files are the stuff that gets put into memory,
The computer doesn't keep track of ordinal
Computers are able to track bit orders with great precision by using clocks that time exactly where a CPU is in a stream of bits. By knowing where fields are, computers can build data from the wire up.
For simplicity, however, computers don't
From a logical standpoint, the basic unit making up a data field is bytes. This not only makes systems run faster, but also makes them easier to program and debug. You'll never see a programmer declare how many bits long a field should be, but declaring byte lengths is routine. Keeping track of individual bit positions is often left to the computer.
Unlike software, CPUs must deal in bits. At the
For example, an Intel Xeon-based PC or server is a 32-bit word machine, meaning that it processes 32 bits per clock cycle. But as hardware miniaturization techniques have advanced-and the need to process data faster has grown-the industry has settled on 64-bit word architectures as the way to go. A variety of 64-bit machines are available from IBM, Sun, and manufacturers using Intel's Itanium 2 architecture. Cisco devices use both 32and 64-bit CPUs.
The last step up is from bytes to something we
The commands that programmers type into source code files are symbols instructing the computer what to do. When a program is written, it's changed into machine language-bits and bytes-by a
, which is a specialized application that
You may have noticed the .exe and .bin file extensions in your PC's directory. They stand for executable and binary , respectively. The Cisco IOS (Internetwork Operating System) is executable software. Actually, it's a package containing hundreds of executables that operate device hardware, forward packets, talk-to-neighbor network devices, and so on.
is a technical specification of all components that make up a system. Published computing architectures are quite detailed and specific, and most are thousands of pages long. But in certain
Look and feel
What separates an architecture from a regular product specification is the use of abstract layering. An
is a fixed interface connecting two system components, and it governs the relationship between each side's function and implementation. If something changes on one side of the interface, by design, it should not require changes on the other side. These
Between various components within the system
Between various products implementing the architecture
Abstraction between components stabilizes system designs, because it allows different development groups to engineer against a stable target. For example, the published interface between the layers in networking software allows hundreds of network interface manufacturers to engineer products compatible with the Fast Ethernet specification.
There are several important computing architectures-some more