TCP/IP primer

With the explosion in the popularity of the Internet, nearly all computers are connected to one another in some fashion. From the mission-critical database server in a large corporation to the old clunker in your basement that the kids play games on, the concept of a “stand-alone” PC is quickly becoming obsolete. As IT professionals, we need to understand and implement the functionality that fuels this technology. So how does it all work? How is it that one computer can “talk” to another no matter where that computer is?

Simply put, networking drives the Internet. Networking and computer networks are not new concepts. The first indications of where they would take us began to surface in the late 1960s with the U.S. Department of Defense. It needed a way for employees and associated institutions around the world to be able to communicate large amounts of data quickly and securely, so it contracted with a small company to develop the technology to accomplish this. The result of this assignment has become the most popular means for two computers to communicate with each other. That technology is called TCP/IP.

TCP/IP defined

What is TCP/IP and how does it work? TCP/IP is defined as an industry standard suite of protocols that computers use to find, access, and communicate with each other over a transmission medium. A protocol is a set of standards and rules that need to be followed. In the case of networking computers, a protocol is the set of standards and rules that a machine’s hardware and software must follow in order to be recognized and understood by other computers. The protocol suite is implemented via a software package most commonly known as the TCP/IP stack. This functionality ships with all versions of Windows from 95 and up and can be easily installed using the network setup applets in the Control Panel.

What is TCP/IP made of?

Under the hood, TCP/IP’s architecture consists of several “layers” performing certain functions. Each layer contains protocols. There are four general layers of the TCP/IP stack:

1.       Application layer

2.       Transport layer

3.       Internet layer

4.       Physical or Network Interface layer

A full-scale description of each layer and its underlying functionality is well beyond the scope of this article. Whole courses are taught on TCP/IP alone. However, here’s a brief overview of the part each layer plays and how they work together.

When you transmit over the Internet, you are using your computer’s implementation of TCP/IP. The data you send follows a certain path and is transmitted in a specific way so that when it arrives at its final destination, it can be read, understood, and used by the receiving machine without any problems. Common practices and functionality are the basis for which all standards are produced, and TCP/IP is no different. Let’s follow the path that a portion of data, or a packet as it is commonly called, takes when it travels the TCP/IP highway.

Application layer

The data you want to send starts off at the top of the TCP/IP stack in the Application layer. This layer contains network applications and services that the user interfaces with in order to use network communication. Also living in the Application layer are utilities for things like file and print services and name resolution. A good example of this is NetBIOS, an application programming interface (API) that supports a desktop operating environment. Finally, all of the utilities that work with TCP/IP live in the Application layer. These utilities provide the user with connectivity, file transfer capabilities, utilities for remote administration, and Internet utilities. Examples of these include programs like PING, TRACERT, FTP, and Telnet.

Terms defined

API—A message and language format that allows programmers to use functions within another program

NetBIOS—A protocol that provides the underlying communication mechanism for some basic NT functions, such as browsing and communication between network servers

PING—A command used to verify the existence of and connection to remote hosts over a network

TRACERT—A diagnostic utility that determines the route a packet has taken to a destination

FTP—A protocol for transferring files to and from a local hard drive to an FTP server located on another TCP/IP-based network

Telnet—A remote terminal emulation application that has its own protocol for transport

Transport layer

Once the Application layer is through with the data, it is passed down the line to the Transport layer. The two major components of the Transport layer are the Transfer Control Protocol (TCP) and the User Datagram Protocol (UDP). Entire books are available on TCP, UDP, and the Transport layer, but simply put, the Transport layer is an interface that applications use for network connectivity. The designers of TCP/IP wanted to make sure that the data you send gets received by the right machine, as well as the right application running on that machine. The Transport layer provides this functionality. In the Transport layer, there are mechanisms for error checking, flow control, and verification ensuring the integrity and completeness of the data it is working with.

Although TCP and UDP are the main workhorses of this layer, there is one very important difference between the two. TCP is considered a connection-oriented protocol, while UDP is considered a connectionless protocol. A connection-oriented protocol is one that establishes a connection with another machine and maintains that connection for the entire duration of data transmission. A slew of functions are built into TCP that check and recheck the data while the two machines are connected. This makes TCP a more reliable, albeit slower, transmission. A connectionless protocol such as UDP, however, does not establish a connection with the target machine at all. UDP is told by the Application layer which machine it is supposed to transmit to, with no questions asked. This obviously makes UDP a much faster protocol when it comes to data transmission. But UDP has rudimentary error checking and flow control, as well as reliability issues. That is why TCP is the most widely used protocol in Internet communications.

Internet layer

Beneath the Transport layer is the Internet layer. Three key protocols reside in the Internet layer: Internet Protocol (IP), Address Resolution Protocol (ARP), and Internet Control Message Protocol (ICMP). Each of these serves a specific purpose. There are also two less-used protocols, Reverse Address Resolution Protocol (RARP) and Internet Group Management Protocol (IGMP).

IP addressing and address resolution occur within the Internet layer. IP addressing is a scheme that standardizes how machines are identified and differentiated from one another. This scheme allows any computer running TCP/IP to communicate with other computers running TCP/IP anywhere in the world. No matter what type of machine, operating system, or network topology the PCs live on, as long as both machines are using TCP/IP, they’re speaking the same language.

ARP’s job is to resolve a logical IP address, such as www.mywebsite.com, into its physical equivalent address. ICMP is mostly used by routers to send information back to a source computer about a transmission that computer is trying to make. When you use the PING utility, the information you receive was gathered using ICMP.

 

Physical layer

The final layer on the TCP/IP stack is the Physical layer. This layer is at the base of the stack and is the last section a packet must go through before it’s sent out across the transmission medium. The Physical layer contains a collection of services and specifications that provide and manage access to the network hardware. Its responsibilities include:

·         Interfacing with the computer’s network hardware.

·         Checking for errors in incoming packets of data.

·         Tagging outgoing packets with error-checking information.

·         Acknowledging the receipt of a packet.

·         Resending that packet if no acknowledgement is returned by the recipient.

This layer is almost totally invisible to the everyday user, which, given its complexity, is not such a bad idea.

The OSI reference model

The Open Systems Interconnected reference model (OSI/RM) is the standard that all other protocols follow. The OSI/RM provides a framework that connects heterogeneous systems using a common protocol. It also gives developers universal concepts so they can develop and perfect protocols. As you can see in the figure below, each layer of the TCP/IP reference model corresponds to a part of the OSI model.

TCP/IP has transformed the way people use computers. Although TCP/IP was originally developed to traverse heterogeneous network environments, it has evolved due to its nonproprietary standards. These standards provide a framework for programmers who develop protocols. Without it, we would still be in the stone-age of networking.

 

Best If Viewed In 1024 by 768 Pixel's

Visit Fix-A-Computer.

© Internet Fixes 2001

Last Update 07/27/01

Site Protected By Norton 2001

Contact Us On MSN Instant Messenger

Just install Instant Messenger and add internetfixes to the buddy list.