March 2001
Transmission Control Protocol/Internet Protocol (TCP/IP)
By
Kevin Lewis
TCP/IP is the industry standard protocol that computers use to find, access, and communicate with each other over a transmission medium. A protocol is a set of 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. 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—the application layer, the transport layer, the Internet layer, and the physical or network interface layer.
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.
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 data to with no questions asked. This obviously makes UDP a much faster protocol when it comes to data transmission. But, because UDP has rudimentary error checking and flow control, as well as reliability issues, 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.
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 the recipient returns no acknowledgement.
Although this is a rudimentary explanation of TCP/IP, hopefully it sheds some light on how exactly all of the computers communicate with each other. For more information, please contact NYSSCPA Chief Technology Officer Kevin Lewis at (212) 719-8340, (800) 633-6320, or klewis@nysscpa.org.