TCP
Transmission Control Protocol (TCP) is a connection-oriented transport layer protocol. TCP lets a device reliably send a packet to another device on the same network or on a different network. TCP ensures that each packet is delivered, if at all possible, by establishing a connection with the receiving device and then sending the packets. If a packet doesn’t arrive, TCP resends the packet. The connection is closed only after the packet has been successfully delivered or an unrecoverable error condition has occurred.
One key aspect of TCP is that it’s always used for one-to-one communications. In other words, TCP allows a single network device to exchange data with another single network device. TCP isn’t used to broadcast messages to multiple network recipients. Instead, UDP is used for that purpose.
Many well-known application layer protocols rely on TCP. For example, when a user running a web browser requests a page, the browser uses Hypertext Transfer Protocol (HTTP) to send a request via TCP to a web server. When that web server receives the request, it uses HTTP to send the requested web page back to the browser, again via TCP. Other application layer protocols that use TCP include Telnet (for terminal emulation), FTP (for file exchange), and SMTP (for email).
UDP
User Datagram Protocol (UDP) is a connectionless transport layer protocol used when the overhead of a connection isn’t required. After UDP has placed a packet on the network (via the IP protocol), it forgets about it. UDP doesn’t guarantee that the packet arrives at its destination. Most applications that use UDP simply wait for any replies expected as a result of packets sent via UDP. If a reply doesn’t arrive within a certain period of time, the application either sends the packet again or gives up.
Probably the best-known application layer protocol that uses UDP is the Domain Name System (DNS). When an application needs to access a domain name (such as wiley.com
), DNS sends a UDP packet to a DNS server to look up the domain. When the server finds the domain, it returns the domain’s IP address in another UDP packet.
THE FASCINATING STORY OF TCP/IP
Some people are fascinated by history. They subscribe to cable TV just to get the History Channel. If you’re one of those history buffs, you may be interested in the following chronicle of TCP/IP’s humble origins. (For maximum effect, play some melancholy violin music in the background as you read the rest of this sidebar.)
In the summer of 1969, the four mop-topped singers from Liverpool were breaking up. The war in Vietnam was escalating. Astronauts Neil Armstrong and Buzz Aldrin walked on the moon. And the Department of Defense built a computer network called ARPANET to link its defense installations with several major universities throughout the United States.
By the early 1970s, ARPANET was becoming difficult to manage. So it was split into two networks: one for military use, called MILNET; and the other for nonmilitary use. The nonmilitary network retained the name ARPANET. To link MILNET with ARPANET, a new method of connecting networks — Internet Protocol (IP) — was invented.
The whole purpose of IP was to enable these two networks to communicate with each other. Fortunately, the designers of IP realized that it wouldn’t be too long before other networks wanted to join in the fun, so they designed IP to allow for more than two networks. In fact, their ingenious design allowed for tens of thousands of networks to communicate via IP.
The decision was a fortuitous one, as the Internet quickly began to grow. By the mid-1980s, the original ARPANET reached its limits. Just in time, the National Science Foundation (NSF) decided to get into the game. NSF had built a network called NSFNET to link its huge supercomputers. NSFNET replaced ARPANET as the new background for the Internet. Around that time, such magazines as Time and Newsweek began writing articles about this new phenomenon called the Internet, and the Net (as it became nicknamed) began to grow like wildfire. Soon NSFNET couldn’t keep up with the growth, so several private commercial networks took over management of the Internet backbone. The Internet has grown at a dizzying rate ever since, and nobody knows how long this frenetic growth rate will continue. One thing is sure: TCP/IP is now the most popular networking protocol in the world.
Other Protocols Worth Knowing About
Although the vast majority of networks now use Ethernet and TCP/IP, a few other networking protocols are still in use and are therefore worth knowing about. In particular:
Network Basic Input/Output System (NetBIOS): The basic application programming interface for network services on Windows computers. It’s installed automatically when you install TCP/IP, but doesn’t show up as a separate protocol when you view the network connection properties (refer to Figure 1-1). NetBIOS is a session layer protocol that can work with transport layer protocols, such as TCP, SPX, or NetBEUI.
Network BIOS Extended User Interface (NetBEUI): A transport layer protocol designed for early IBM and Microsoft networks. NetBEUI is now considered obsolete.
IPX/SPX: A protocol suite made popular in the 1980s by Novell for use with its NetWare servers. TCP/IP has become so dominant that IPX/SPX is rarely used now.
AppleTalk: An obsolete suite of network protocols introduced by Apple in the 1980s and finally abandoned in 2009. The AppleTalk suite included a physical and data link layer protocol called LocalTalk, but could also work with standard lower-level protocols, including Ethernet and token ring.
Systems Network Architecture (SNA): An IBM networking architecture dating back to the 1970s, when mainframe computers roamed the earth and PCs had barely emerged from the primordial computer soup. SNA was designed primarily to support huge terminals such as airline reservations and banking systems, with tens of thousands of terminals attached to central host computers. Now that IBM mainframes that support TCP/IP and mainframe terminal systems have all but vanished, SNA is beginning to fade away. Still, many networks that incorporate mainframe computers have to contend with SNA.
Chapter 2
TCP/IP and the Internet
IN THIS CHAPTER
Introducing the Internet
Familiarizing yourself with TCP/IP standards
Figuring out how TCP/IP lines up with the OSI Reference Model
Discovering important TCP/IP applications
Many years ago, Transmission Control Protocol/Internet Protocol (TCP/IP) was known primarily as the protocol of the Internet. The biggest challenge of getting a local area network (LAN) connected to the Internet was figuring out how to mesh TCP/IP with the proprietary protocols that were the basis of the LANs — most notably Internetwork Packet Exchange/Sequenced Packet Exchange (IPX/SPX) used by Novel networks and NetBIOS Extended User Interface (NetBEUI) used by Microsoft networks.
Eventually, both IPX/SPX and NetBIO gave way to TCP/IP as the basis for local area networking, eliminating the challenge of translating IPX/SPX or NetBEUI to TCP/IP. As a result, TCP/IP is not just the protocol of the Internet now, but it’s also the protocol on which most LANs are based.
This chapter is a gentle introduction to the Internet in general and the TCP/IP suite of protocols in particular. After I get the introductions out of the way, you’ll be able to focus more in-depth on