Introduction to Internet
protocols
By Steven Totolo and Franca Piccin
Total Voice Control
Imagine the day when you can web surf from your cell phone.
Or better yet, your refrigerator automatically reorders your groceries
online. Sounds like an episode from your favorite science fiction movie?
Hardly! Welcome to the future. These scenarios are possible today. For
example, even electrical power companies are communicating with appliances
such as air conditioners to reduce electrical system power peaks, and lower
consumer energy rates. How are all of these devices talking to each other?
Most likely it is TCP/IP. The Transmission Control Protocol (TCP) and Internet
Protocol (IP) are but two of the most familiar functions that comprise
the complete Internet access suite.
Learning TCP/IP is no small task. One could easily read
numerous textbooks or spend weeks of classroom time to do so. The intent
of this article, therefore, is not to provide an in-depth technical treatment
of this subject, but rather to explain briefly for readers the history
and function of TCP/IP.
The TCP/IP protocol suite was first developed for the
Defense Advanced Research Project Agency (DARPA) network called ARPANET
in the early 1970’s. It was part of a project to connect government-funded
research institutions into a homogeneous computer network. By the early
1980’s, the University of California at Berkeley developed the Berkeley
Systems Distribution (BSD) version of the UNIX operation system and distributed
to all of its in-house computer departments. Soon after, DARPA contracted
to have the TCP/IP protocol merged into the Berkley BSD UNIX operating
system. This prompted convergence to a standard set of protocols for anyone
wanting to connect to the Internet. Since all Unix source code was freely
distributed (like Linux is today) most mainframe and minicomputer manufacturers
began incorporating TCP/IP technology into their products.
From this point, TCP/IP functioned as the workhorse for
network connectivity around the world. The protocol operates independent
of any computer hardware or operating system, yet allows both to communicate
to one another despite their differences, enabling computers and devices
to unite through different hardware and software. This independence stems
from the physical characteristics of the network media, enabling TCP/IP
to operate over twisted pair wire (Ethernet), phone lines (HomePNA), radio
frequency (HomeRF) and power line.
The increase use of computer networking soon led experts
to realize that a common frame of reference was necessary for discussing
data communication terminology. The Open Systems Interconnect (OSI) Reference
Model was developed by the International Standards Organization to describe
the structure and function of data communication protocols. The model contains
seven layers that define functions performed when data are transferred
between devices over a network. Each layer is fundamentally independent
and only communicates with neighboring layers directly above and below
it through well-defined software interface.
Figure 1 outlines the 7 layers of the OSI model. The top
layer, or Application Layer, is where the user accesses the network through
an interface such as an Internet browser or remote connection software.
The Presentation Layer decides the format to be used for data exchange.
Connections between cooperating applications on each end of the network
connection are maintained by the Session Layer. The Transport Layer guarantees
that the receiver gets the data exactly as it was sent. The Network Layer
manages connections across the network and isolates the upper layers from
the details of the layers below. The reliable delivery of data across physical
media such as twisted pair wire is handled by the Data Link Layer. The
Physical Layer defines the characteristics of the hardware needed to carry
the data transmission signal. These seven layers define the basic characteristics
of a communications protocol.
A protocol such as TCP/IP provides a method for devices
to interface through the use of layers. By layering different responsibilities,
a protocol can be broken down into a series of independent communication
functions. Each function deals with a part of the protocol for which it
is responsible, leaving the rest of the information for other layers. As
the data is sent from the top layer down, as in Figure 2, each layer will
check the data integrity and add its own information to the data set effectively
creating a data packet. This process is known as data encapsulation. This
added information will be stripped off and used on the receiving end to
recover the data sent. This may seem like an inefficient way of sending
data, but all the information added is used to guarantee delivery of the
data.
Of the seven OSI layers, only four are used in the definition
of TCP/IP: the Application Layer which includes the function of the Presentation
layer, the Transport Layer which incorporates the Session Layer, the Internet
Layer and the Link Layer. The Network Layer defines the datagram or data
packet and handles the routing of data. TCP/IP can operate over several
different media type and therefore uses the Data Link and Physical layers
of existing data transmission standards such as Bluetooth, Ethernet, HomeRF
and HomePNA to name a few.
The relationship between the fifteen protocols and services
of the Internet suite is illustrated in the Figure 3. The left side indicates
the functional equivalence to the OSI layer model.
Included in the Application Layer protocols are Hyper
Text Transfer Protocol (HTTP), remote terminal protocol (Telnet), File
Transfer Protocol (FTP), Simple Mail Transfer Protocol (SMTP), Simple Network
Management Protocol (SNMP), Trivial File Transfer Protocol (TFTP), Dynamic
Host Configuration Protocol (DHCP), and Domain Name System (DNS).
The Transport Layer contains the TCP and the User Datagram
Protocol (UDP) which are the bases for all application access to the network.
UDP is considered a lightweight protocol and is used for passing data that
does not need a delivery guarantee. TCP on the other hand does guarantee
delivery. This is the reason for its use in file transmissions such as
mail and remote control applications. It provides a reliable flow of data
between two network devices, dividing the data passed to it from the Application
Layer into smaller chunks for the network layer. As pieces of the original
data are acknowledged by the other system, more chunks or datagrams are
sent. If a communication problem arose, the data would be retransmitted.
This process continues until the data is properly received or the transmission
exceeds a set time amount.
Functions contained in the Network Layer are the Internet
(IP), Internet Group Management (IGMP) and the Internet Control Message
(ICMP) protocols. As the diagram reveals, all transmission of data occurs
through IP with the exception of two utilities, the Address Resolution
Protocol (ARP) and the Reverse Address Resolution Protocol (RARP) which
are used by the IP layer.
The IP provides an unreliable, connectionless datagram
or packet delivery service. Unreliable in this case means there are no
guarantees that an IP datagram is successfully received, but IP will provide
the best effort of service. If errors occur in the transmission or reception,
IP will throw away any corrupted data and send a message back to the sender
that a problem exits. TCP will respond and transmit but UDP will not make
an attempt.
The term connectionless means that IP does not maintain
any information concerning the datagrams it handles. Each datagram is handled
independently enabling IP to send and receive datagrams from TCP or UDP.
While that datagrams may be sent out of order, TCP will collect and reassemble
them into their original data set order. UDP, in contrast, will not and
discards data.
IP recognizes receipt of a datagram only when that datagram
is addressed directly to the IP. Located in the IP Header are the IP address
of the datagram’s sender, its destination, and which upper level protocol
is to receive the data. All devices on the network must have a unique Internet
address or IP address. These addresses are 32-bit numbers that are normally
written as four decimal numbers, one for each byte of the address. This
is called dotted-decimal notation. For example, the address of CABA’s web
site is 209.82.5.178.
One central authority, The Internet Corporation for Assigned
Names and Numbers (ICANN), allocates addresses for all devices connected
to the Internet. ICANN was previously known as the Internet Network Information
Centre or InterNIC and was operated by the U.S. Department of Commerce.
ICANN, now a non-profit corporation, takes over responsibility for the
IP address space allocation, protocol parameter assignment, domain name
system management, and root server system management functions. Once a
device obtains an IP address, it is eligible to register for the "WWW"
type notation. This simplifies website or device recognition, permitting
users to access the site by name. For example, users would recall www.CABA.org
more easily than 209.82.5.178.
Readers now have a basic understanding of the functions
of TCP/IP. Future articles will build on this foundation by discussing
other aspects of Internet protocols, contained in the TCP/IP suite. In
the interim happy surfing… whether using your cell phone or your refrigerator!
Steven Totolo is President of tvcAutomation, a home
automation specialist and a member of the CABA Standards Committee. He
can be reached at (613) 795-7117; fax (613) 737-5323; email: sales@tvcAutomation