Introducing the TCP/IP Protocol Suite
When information moves a short distance – across an intranet spanning a single office, for example – there are only a few ways for it to get “lost.” The main danger is collision: Terminals on one length of cable may transmit simultaneously, causing data to collide.
But how does information travel across a city, a continent, or the world, reaching its destination within milliseconds? Without advanced guidance, this would be impossible. The TCP-IP protocol suite provides that guidance, allowing data to leave its home network and traverse the vast Internet.
TCP/IP and the Origin of the Internet
TCP/IP stands for Transmission Control Protocol/Internet Protocol and was developed in the 1970s by the U.S. Defense Advanced Research Projects Agency. These protocols had to resolve major data transmission challenges:
- Data Transmission Had to Be Robust: Data degrades in transit from attenuation, the natural loss of signal, and cross-talk, interference between wires in a cable. It would be inappropriate if TCP/IP was only a slight improvement on the distances achievable across small intranets – it had to guide data across the United States.
- Data Transmission Had to Be Scalable: DARPA scientists worked in the context of the Cold War, and wanted to create networks that operated under intense strain. As data crossed the network, it needed to find a route to its destination even if the most common route was destroyed by bombing!
The Internet had not yet been conceived, but TCP/IP was its foundation stone. TCP/IP rapidly developed into the most powerful tool for moving digital data over arbitrarily long distances using networks of varying complexity.
As DARPA released early versions of TCP/IP to universities for research purposes, the earliest form of the Internet came into being, vastly accelerating the pace of computer hardware and software development.
How TCP/IP Makes Decisions About Routing Data
Imagine sending a message between one computer and another on a network where the terminals are connected to one switch. A switch is called a “Layer 2” device since it does not make the complex decisions TCP/IP allows other devices to make. The packages of information switches transmit are called frames.
In your network, you could “broadcast” a message to all devices on the cable segment you’re on. All those devices would examine your message, but if the network is set up correctly, the intended recipient would get it. Of course, this is time-consuming!
Say your network is slightly larger, and has many different cable segments. To get from a sender on one to a receiver on another, you need a switch. A switch usually only needs to know the MAC address of the receiver, a permanent address physically burned into each device. When the switch receives data, it sends it to the right segment. Again, everyone on the segment receives the data, including (hopefully) the recipient.
What if “your network” is gigantic – the size of Earth – and includes many networks, not just segments? What if it is so enormous that if frames frequently collided and had to be re-transmitted, the delay would render the system useless? This is where TCP/IP comes in.
With TCP/IP, advanced devices – routers – make smart decisions. TCP/IP not only switches data from one segment to another as it traverses the network, but routes data to the most efficient pathway toward the final destination. It does this by encoding frames with “next hop” address information, transforming them into packets.
Routers are always working to ensure proper flow of data:
- Maintaining Routing Tables:Routers constantly listen for network information provided by neighboring devices. Routers know little about the network beyond their “neighborhood,” but constantly get updated data about which routes are functional and fast. Updates are stored in each device’s routing tables.
- Transmitting Route Data: As routers learn more about network conditions, they transmit information to TCP/IP-enabled devices around them so a complete picture of their part of the network can be synthesized. If a router fails to provide updates, it could cause network errors.
- Addressing Packets: When a packet enters a router through a given interface, the router examines the packet, strips off information that allowed the packet to reach it, then addresses it with new information for the “next hop” router. Ultimately, the packet reaches the default gateway leading to its destination local network.
Small networks are managed mainly on Layer 2, using switches. When a frame reaches the default gateway leading to the Internet – typically a router – the frame becomes a packet. It makes its journey with each router along the path consulting its own routing table and addressing the packet. Finally, it arrives at the gateway of the network where the recipient device “lives.” Layer 3 information is removed by the gateway. Then, the data reaches the finish line.
If TCP/IP includes two protocols, what’s the difference between them? IP, Internet Protocol, handles the addressing process above. TCP, Transmission Control Protocol, receives the initial transmission request from an application – often, but not always, corresponding to user software. After getting the request, TCP orchestrates the high-level details of the journey, including activating IP.
The Role of TCP/IP for System Administrators
In Cisco’s OSI Model of networking, TCP/IP is the most important Layer 3 technology. Although dozens of protocols are involved in data transmission, TCP/IP is central in the lives of system administrators and end users. IP addresses are “Layer 3” constructs facilitated by TCP/IP.
No matter the size of a network, TCP/IP will be part of many core tasks:
- Addressing: Network functionality requires accurate and cohesive addressing. In some cases, IP addresses may be largely allocated dynamically. In others, manual work is needed to ensure the network conforms to the topology that will yield best performance – including the use of the right physical and logical segmenting.
- Access Control: Although it has endured, TCP/IP was not designed with today’s network security risks in mind. Proper implementation of a firewall, including its associated blacklists and whitelists, demands high-level insight into how TCP/IP works and how its functionality can be misused by attackers.
- Network Maintenance and Performance: Correct use of TCP/IP allows users to access resources they need and permits the system administrator to automate key maintenance functions that would be nearly impossible to manage manually in a large network, such as software licensing and change control policies.
One of the most important modern applications of TCP/IP is VoIP — voice over IP. In a VoIP system, a caller’s voice is converted to digital data and travels to the receiver over broadband connections. This helps telephone users achieve clearer communication over longer distances. VoIP data is compressed using advanced software codecs especially for voice: Performance is far better than on traditional analog phone systems that rely on copper wiring, where loss can be high and connectivity is limited. In the future, VoIP may replace legacy phone systems entirely.
TCP/IP is an immensely important part of the modern Internet and is valuable for all students of computer science, whether they imagine a future as a network architect, a software developer, or an IT leader in the business world. Not only is it vital, but it is magnificently complex: There’s always something more to learn about the TCP/IP protocol suite.
SourcesIntroducing the TCP/IP Protocol Suite
TCP/IP Overview — Cisco