Ou Courses  Banner ADBH Web - T171 TMA04 TCP/IP - Discussion of the importance of TCP/IP in the development of the Internet
ADBH Web 08-Aug-2008

T171 TMA4 - The importance of TCP/IP in the development of the Internet

Introduction
Development of TCP/IP
How TCP/IP Works
Conclusions
References
Additional information
My report plan


Introduction

The Internet was first proposed by the Advanced Research Projects Agency (APRA). In 1972 the Advanced Research Project Agency (ARPA) became the Defense Advanced Research Project Agency (DARPA)which continued this development.

The APRANET initially started with four Internet message processors (IMPs), located at the UCLA, UCSA, Stanford research institute and the University of Utah. In the early years, the purpose and usage of the APRANET network was widely discussed, leading to many enhancements and modifications as the users steady increased and requested demanded more from the network. As time passed many enhancements were made to the existing protocol but by 1973 it was clear that NCP (Network Control Protocol) was unable to handle the volume of traffic passing through it network and proposed a new functionality. A new protocol TCP/IP Transmission Control Protocol / Internet Protocol was developed over time to replace NCP.

Development of TCP/IP

In 1973 Vinton Cerf and Bob Kahn wanted to connect the APRANET with SATNET (satellite networking) and packet radio. They realised that they need a link or "gateway" to connect the network together in a way that would appear the same for each network. They proposed to the International Network Working Group on a "Protocol for Packet Network Intercommunication". This new protocol was called the Transmission-Control Protocol (TCP). The TCP/IP and gateway architecture was proposed in 1974. This protocol was independent of the underlying network and computer hardware as well as having universal connectivity throughout the network. This enabled any kind of platform to participate in the network.

"In 1977 Cerf and Kahn demonstrated for the first time, the three networks system using the TCP protocol to send a packet from San Francisco Bay to London then back to University of Southern California, in the end the packet travelled over 150,400 Km with out loosing a bit (single binary number)"[1].

In 1978 Cerf, Postel and Danny Cohen decided to split TCP in to two separate functions of TCP and the Internet Protocol (IP). Katie Hafner and Matthew Lyon in their book "Where Wizards Stay Up Late" mention how the TCP would be in charge of the breaking up the datagrams and messages then reassembling them at the destination, and the IP would be responsible for transmitting the individual datagrams. For example: the TCP protocol would split up the letter and place it into multiple envelopes, while the IP protocol would be in charge of addressing the envelope and making sure it arrived at its proper destination.

In 1981 a series of request for comment (RFC) was issued, standardising the TCP/IP version 4 for the APRANET. Within 12 months the TCP/IP protocol had succeeded in replacing NCP as the dominant protocol of the APRANET and was connecting to machines across the United States of America.

"On January 1 1983 the APRANET -- and every network attached to the APRANET -- officially adopts the TCP/IP networking protocol, developed in the 1970s by pioneering network engineers Vinton Cerf and Bob Kahn. From then on, all networks that use TCP/IP are collectively known as the Internet. The standardization of TCP/IP allows the number of Internet sites and users to grow exponentially".

The OSI vs. TCP/IP debate

In 1988 the Department of Defense and most of the U.S. Government chose to adopt OSI protocols. TCP/IP was now viewed as an interim solution since it ran only on limited hardware platforms and OSI products were only a couple of years away. All Department of Defense were to use OSI protocols by August 1990 and use of TCP/IP would be phased out. The US Government OSI Profile (GOSIP) defined the set of protocols that would have to be supported by products but TCP/IP was not included. However the development of TCP/IP continued during the late 1980s as the Internet grew. OSI products were still a couple of years away while TCP/IP became, in the minds of many, the real open systems interconnection protocol suite.

The ISO Development Environment (ISODE) was developed in 1990 to provide an approach for OSI migration for the Department of Defense. ISODE software allowed OSI applications to operate over TCP/IP. The Internet and OSI communities started to work together to bring about the best of both worlds as many TCP/IP features started to migrate into OSI protocols, particularly the OSI Transport Protocol class 4 (TP4) and the Connectionless Network Layer Protocol (CLNP), respectively. Finally, a report from the National Institute for Standards and Technology (NIST) in 1994 suggested that GOSIP should incorporate TCP/IP and drop the "OSI-only" requirement.

TCP/IP OSI comparison

Image 1 - Comparison of TCP-IP and OSI models and how they fit with each other

OSI is a dejure standard and TCP/IP is a de-facto standard. The TCP/IP world agrees on a protocol standard which can be made to work in diverse heterogeneous networks. The OSI world is more interested in the standard than the implementation.

TCP/IP became popular primary because of the work done at Berkeley University. Berkeley had been a leader in the UNIX development over the years and in 1983 they released a new version that included TCP/IP as an integral element. That 4.2BSD version, was made available to the world as public domain software. An optimised TCP implementation followed in 1988 and practically every other version of TCP/IP available today has its roots from the Berkeley version.

In the early days of the Net, TCP/IP software was provided by third party software companies i.e. Trumpet and their Winsock TCP/IP. Early Microsoft Windows didn't come with Winsock though it was available as an addon. Most of Today's Operating Systems have Winsock or similar bundled with them i.e. Microsoft Windows 9x.

How TCP/IP Works

The TCP/IP protocols are layered, and are generally represented as having four layers with the relationships shown below.

Layer

Protocols operating at this layer

Application

SMTP, HTTP, FTP, Telnet

Transport

TCP

Network

IP

Link

PPP, Ethernet, X.25, other

Table 1 - The main components of the TCP/IP protocol suite

Note:

Network Layer is also known as the Internet Layer in some documentation and diagrams

 

Link Layer is also known as Network Access Layer

In the application layer, Telnet supports remote login by one computer with another; FTP provides file transfer; and SMTP provides electronic mail services. There are also other protocols associated with specific applications such as the Simple Network Management Protocol (SNMP) and Network News Transfer Protocol (NNTP).

In the transport layer, the Transmission Control Protocol (TCP) provides a reliable connection-oriented service for the application-layer programs that does not rely upon a reliable transport service - that is, it implements its own error checking and error recovery procedures.

In TCP/IP the distinction between application-layer services and the programs that use those services is blurred. There are actual programs called Telnet and FTP available for a wide variety of computer operating systems that implement the Telnet and FTP protocols as well as provide the user interface through which those services are accessed.

Point-to-Point Protocol (PPP) governs the transmission of IP packets over serial lines i.e. the link between you and your ISP over the Local Loop.

How the TCP Protocol Works

The Application layer sends an unbroken data stream down to the Transport (TCP) layer. The stream is then broken into fixed-sized packets, each of which is 'framed' with a TCP header containing such things as the sender's and recipient's addresses and error-checking information.

The Network (IP) layer - receives the TCP packets and looks up an appropriate route to send them. It then constructs an IP header, which is used to route the IP frame that is passed via the Link layer (sometimes called the physical or data link layer) to its destination.

At the destination, the IP module strips out the IP header and passes the remaining TCP packet up to the transport layer. There, the TCP header is removed and the packet combined in sequence with other incoming packets into a data stream that is then passed to the Application Layer program.

Layer

Function

Link

Provides an interface with the physical network. Formats the data for the transmission medium and addresses data for the subnet based on physical hardware addresses. Provides error checking for data delivered on the physical network.

Network

Provides logical, hardware independent addressing so that data can pass among subnets with differing physical architectures. Provides routing to reduce traffic and support delivery across the Internet

Transport

Provides flow control, error checking, and acknowledgement services for the Internet Services as an interface for network applications

Application

Provides applications for network troubleshooting, file transfer, remote control, and Internet activities. Also supports the network Application Programming Interfaces (APIs) that enable programs written for a particular operating environment to access the network

Table 2 - The TCP/IP model's protocol layers.

When the TCP/IP protocol system prepares a piece of data for transmission across the network, each layer on the sending machine adds a layer of information to the data that will be relevant to the corresponding layer on the receiving machine. For instance, the Network layer of the computer sending the data adds a header with some information that is significant to the Network layer of the computer receiving the message.

IP header
Figure 1 Example of IP Header (from course notes)

Data Packaging

In the TCP/IP protocol stack it is important to remember that each layer plays a role in the overall communication process. Each layer invokes services that are necessary for that layer to perform its role. As an outgoing transmission passes down through the stack, each layer includes a bundle of relevant information called a header along with the actual data. The little data package containing the header and the data then becomes the data that is repackaged at the next lower level with the next lower layer's header. The reverse process occurs when data is received on the destination computer. As the data moves up through the stack, each layer unpacks the corresponding header and uses the information.

Application

Transport

Network

Link

Table 3 - The TCP/IP Stack

As the data moves down through the stack, the effect is a little like the nested Russian wooden dolls, the innermost doll is enclosed in another doll, which is then enclosed in another doll and so on. At the receiving end the data packages will be unpacked one by one as the data climbs back up the protocol stack. At each layer the data is repackaged with that layer's header.

The protocol suite must provide an interface for applications on the computer so that these applications can access the protocol software and thus gain access to the network. In TCP/IP this interface from the network to the applications running on the local computer is accomplished through a system of logical channels called ports. Each port has a port number that is used to identify the port. You can think of these ports as logical pipelines within the computer through which data can flow from the application to (and from) the protocol software. Applications access the network through port addresses.

The TCP/IP suite also includes a number of ready-made applications designed to assist with various network tasks. Some typical TCP/IP utilities are shown below.

Utility

Purpose

ftp

File transfer

lpr

Printing

ping

Configuration/Troubleshooting

route

Configuration/Troubleshooting

telnet

Remote access

traceroute

Configuration/Troubleshooting

Table 4 - Typical TCP/IP Utilities

Conclusions

With the expansion of the APRANET it became clear that NCP was unable to cope. TCP/IP was developed to allow more hosts to be interconnected. With the properties of TCP/IP it became possible to interconnect networks - and build a network of networks. The Internet being The Network of Networks. The ability of TCP/IP to allow the interconnectivity of various platforms running different operating systems meant that theses systems were able to share information. TCP/IP is regarded by many as "The Open Systems Interconnection Protocol Suite".

The TCP/IP protocol suite has always had an applied, "get the job done" orientation. Over the years it has handled most challenges by growing to meet the needs, and it is now the de-facto standard for internetworking for several reasons, including: it's simplicity and robustness when compared to alternatives such as OSI; it's availability on virtually every hardware and operating system platform; and it is the protocol suite on which the Internet depends.

References

The following sites were used to find information for this essay - where quotes have been used this is indicated by [num]:

Books:

  • Where Wizards Stay Up Late - Katie Hafner and Matthew Lyons
  • Inside the PC - Peter Norton

 

Top of Page

 

 

 

Page built in 0.0008 seconds