The ABCs of TCP/IP
What You Will Learn
After reading this chapter, you should be able to answer the following questions:
What is TCP/IP?
How are TCP/IP and the Internet related?
What are five critical communications functions that TCP/IP can perform?
How do you know when you are using TCP/IP?
What can't TCP/IP do? (In other words, what communications functions must it rely on other mechanisms to do?)
Answers to these basic questions demystify TCP/IP and create the foundation of knowledge that you build upon throughout this book. After finishing this book, you will have a solid appreciation for TCP/IP, how it works, and why it's important.
TCP/IP isn't just random characters left in the bottom of the bowl when you're finished with your alphabet soup; it just looks that way! TCP/IP is a mouthful of an acronym that stands for Transmission Control Protocol/Internet Protocol. One look at the full name and it's immediately obvious why you use the acronym instead. Neither its full name nor its acronym do TCP/IP any justice. Both are uninformative and even a bit misleading.
It's impossible to understate TCP/IP's value and significance. Without it, you literally wouldn't be able to access the Internet or anything connected to it. Think about it: no swapping MP3 or DivX files, no catching the latest news or stock quotes, no e-mail, no instant messages or online chat rooms?okay, so maybe you could live without chat rooms! The point remains: Everything you do via the Internet would be impossible without TCP/IP. A bunch of other private networks would be equally unusable, too!
TCP/IP is a set of data communications mechanisms, embodied in software, that let you use the Internet and countless other private networks. Each mechanismalso known as a protocolis designed to perform a specific function. These protocols are divided into two categories based on their function:
One focuses on processing and handling data from applications and is known as the Transmission Control Protocol (TCP) suite.
The other is more network oriented and designed to accommodate the transmission and receipt of application data across a network. This second suite is called the Internet Protocol (IP) suite.
This extensive set of protocols forms the TCP/IP suite of protocols. TCP/IP enables different types of computers and other devices to use networks to contact each other and share information in a wide variety of ways including e-mail. Networks and networking protocols existed before TCP/IP came along; they just didn't allow a network as powerful and universal as the Internet to be built! That was the beauty of TCP/IP.
What Is TCP/IP?
TCP/IP is an open-standard communications protocol suite that is the standard for communicating on the Internet. That's the official line, but what exactly is it? That's a tougher question to answer! Part of the reason TCP/IP is a murky and mysterious topiceven to those people knowledgeable about data networksis that it's so vast and complex. It contains all the fundamental mechanisms needed to support any and all types of networked communications.
A good way to make sense of this is to look at your computer's operating system. Today's operating systems can easily be several gigabytes in size. They include thousands of small files designed to do just one specific task. Separately, they are almost worthless. Together, they form a powerful and comprehensive system that enables your computer to support a seemingly infinite variety of applications. TCP/IP is just like that: lots of little functions designed to do one specific task. Together, they enable your computer to support any type of networked communications activity you'd care to do.
Virtually every network-capable application in existence today relies on TCP/IP to function properly. That's no small accomplishment when you stop to think that today just about every software application is network capable. E-mail and web browsing are applications that obviously require a network to function. The World Wide Web has permeated computing so completely that it is difficult to say where the browser ends and the operating system begins. Consequently, even applications such as word-processing software now have features that require network connectivityand TCP/IPto work properly. To further complicate matters, TCP/IP also contains a number of useful applications that enable you to do things like transfer files or log on to remote computers. These are native to TCP/IP and are what's left of the earliest TCP/IP software utilities.
Today, TCP/IP is maintained in an open forum. The forum consists of representatives from various companies that have a vested interest in the Internet and its technology base. Each representative participates in developing proposed changes, analyzing the impact of each proposal, and voting on whether to actually incorporate each change into the TCP/IP suite.
Changes to the protocol suite requires consensus among all the participants in that forum. This consensus-based approach enables computers made by different companies to communicate and share data despite their differences. The result is a set of communications mechanisms that does not belong to any one company. Instead, it is a public, or open, technology that can be implemented by anybody. Chapter 3, "The Quest for Freedom of Choice," more closely looks at this open forum and its consensus-based approach to building standards.
The combination of TCP/IP's sheer size and the unconventional way in which it is maintained make for a rather steep learning curve for anyone trying to figure it out. To best understand this arcane subject, look at where it came from and trace its evolution.
Finding TCP/IP's Roots
Given the enormous success of the Internet and TCP/IP, it is ironic that TCP/IP was intended for use in a small environment. Even more irony lies in the fact that TCP/IP wasn't even designed! It emerged slowly over time, first appearing as shareware created by computer engineers, scientists, and researchers at different organizations as a way to communicate and collaborate on defense projects. Despite such humble origins, TCP/IP is now actually used more broadly than the Internet.
The Birth of TCP/IP
The roots of TCP/IP are difficult to pin down due to the nature of its piecemeal development, but one recognized milestone (sometimes called its "birth") occurred on January 1, 1983. On this date, approximately 400 computers connected to a network called ARPAnet all started communicating with each other with a collection of mechanisms known informally as TCP/IP. ARPAnet was a network sponsored by the U.S. Department of Defense (DoD) in support of its Advanced Research Projects Agency (ARPA) to facilitate the research and development of military and defense technologies. This network interconnected computers that were owned and operated by different companies, government agencies, research bodies, and other institutions, which all contributed to the ARPA's research and development efforts.
These 400 computers also consisted of a wide variety of different brands and models in a time when each hardware manufacturer went out of its way to make sure that its products were incompatible with anybody else's products. This approach, known as closed or proprietary architecture, was based on the belief that it forced brand loyalty. In a closed architecture, if you bought Brand X for your mainframe computer (this was before the client/server revolution), you had to also buy Brand X's printers, workstations, disk and tape drives, and even wires! After you purchased those products you had to purchase ongoing maintenance or product support from that manufacturer. Products made by different vendors quite simply weren't designed to be interoperable.
TCP/IP became a unifying element that enabled collaboration and interoperability across incompatible systems. The benefits of this approach proved so compelling as to literally revolutionize networked computing and transform the DoD's little internetwork into the Internet!
The Early Days of Networking
ARPAnet existed (in fact, it dated back to the 1960s) prior to January 1, 1983, but lacked a single official mechanism for communications. Thus, the proprietary architectures of that era's computer systems posed significant barriers to networked communications. The result was that some computers could communicate with others, but that ability was far from ubiquitous. Some of the systems administrators who operated these disparate computers talked to each other and developed special-purpose programs. One person might have, for example, developed a small program that transferred data files. Another might have developed a program that enabled you to log into a remote computer. Somebody else might have developed a utility that helped track how many machines your data was passing through before reaching its destination. These files might have been developed informally, but they were enormously useful. Consequently, the programs were shared throughout ARPAnet.
This informal and sometimes collaborative process of developing utility software slowly built up the set of shared mechanisms that ARPAnet used. It actually took a couple of decades of piecemeal, consensus-based development for TCP/IP to reach a critical mass in terms of features and functionality. After ARPAnet declared TCP/IP its official communications protocol, there was no turning back!
Enabling the Internet's Success
TCP/IP soldiered on through the 1980s, laboring in the shadows of other, more popular and successful commercial network protocols. ARPAnet continued growing and eventually became known as the Internet. TCP/IP remained dedicated to supporting this network, but saw widespread acceptance. This occurred when the U.S. federal government converted Internet from a private military-oriented research facility into a public facility to which anyone could connect from around the world.
Commercialization of the Internet brought forth a frenzy of activity, both technical and economic. The first knee-jerk reaction was akin to a 20th century gold rush. Companies rushed to establish connectivity and a website presence on the Internet. Often, this rush was done with undue haste and without thought of what said companies would do with that connectivity or website.
When the Internet fever subsided, rational thought once again was possible. Individual people learned how to use the Internet, and commercial enterprises learned what those individual consumers wanted. One stark fact became obvious: TCP/IP had just experienced a dramatic increase in its user base. Not only was it now the de facto standard communications protocol for all connected residential users, but enterprises and organizations also had to support it. That meant many businesses were using one protocol suite for communicating across their internal network and another (TCP/IP) to connect to the Internet.
It didn't take long for businesses to realize that TCP/IP could be used throughout their internal networks and could free them from the burden of supporting two different protocols. In this manner, TCP/IP literally became more popular than the Internet.
One of TCP/IP's most basic yet critical functions is its preparation of application data for transmission across a network. TCP/IP accepts data of virtually any size from applications (typically in the form of a file) and chops it up into smaller, more manageable chunks. These chunks are known as segments and the process of splitting files is known as segmentation. Segments of data are then wrapped in a data structure known as a packet. A packet contains all the information a network needs to deliver it to its destination and then to acknowledge delivery.
Packetization is the communication by two or more computers by sending and receiving individual packets of data. It was first demonstrated on September 2, 1969, when two computers at the University of California-Los Angeles were linked together with a 15-foot cable. This cable functioned as a primitive internetwork, and the test validated the theory that computers could send and receive packetized data. Until then, data was sent one bit at a time without the benefit of having first been segmented for transmission. This simple test paved the way for radical changes in technology and society that no one could have predicted.