Introducing the TCP/IP Protocol Suite
This section presents an in-depth introduction to the protocols that are included in
TCP/IP. Although the information is conceptual, you should learn the names of the
protocols. You should also learn what each protocol does.
“TCP/IP” is the acronym that is commonly used for the set of network
protocols that compose the Internet Protocol suite. Many texts use the term “Internet” to describe
both the protocol suite and the global wide area network. In this book,
“TCP/IP” refers specifically to the Internet protocol suite. “Internet” refers to the wide area
network and the bodies that govern the Internet.
To interconnect your TCP/IP network with other networks, you must obtain a unique
IP address for your network. At the time of this writing, you obtain
this address from an Internet service provider (ISP).
If hosts on your network are to participate in the Internet Domain Name
System (DNS), you must obtain and register a unique domain name. The InterNIC
coordinates the registration of domain names through a group of worldwide registries. For
more information on DNS, refer to System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP).
Protocol Layers and the Open Systems Interconnection Model
Most network protocol suites are structured as a series of layers, sometimes collectively
referred to as a protocol stack. Each layer is designed for a specific purpose.
Each layer exists on both the sending and receiving systems. A specific layer
on one system sends or receives exactly the same object that another system's
peer process sends or receives. These activities occur independently from activities in layers above or
below the layer under consideration. In essence, each layer on a system acts
independently of other layers on the same system. Each layer acts in parallel
with the same layer on other systems.
OSI Reference Model
Most network protocol suites are structured in layers. The International Organization for Standardization
(ISO) designed the Open Systems Interconnection (OSI) Reference Model that uses structured layers.
The OSI model describes a structure with seven layers for network activities. One
or more protocols is associated with each layer. The layers represent data transfer
operations that are common to all types of data transfers among cooperating networks.
The OSI model lists the protocol layers from the top (layer
7) to the bottom (layer 1). The following table shows the model.
Table 1-1 Open Systems Interconnection Reference Model
Layer No. |
Layer
Name |
Description |
7 |
Application |
Consists of standard communication services and applications that everyone can use. |
6 |
Presentation |
Ensures
that information is delivered to the receiving system in a form that the
system can understand. |
5 |
Session |
Manages the connections and terminations between cooperating systems. |
4 |
Transport |
Manages
the transfer of data. Also assures that the received data are identical to
the transmitted data. |
3 |
Network |
Manages data addressing and delivery between networks. |
2 |
Data link |
Handles
the transfer of data across the network media. |
1 |
Physical |
Defines the characteristics of
the network hardware. |
The OSI model defines conceptual operations that are not unique to any particular
network protocol suite. For example, the OSI network protocol suite implements all seven
layers of the OSI model. TCP/IP uses some of OSI model layers. TCP/IP
also combines other layers. Other network protocols, such as SNA, add an eighth
layer.
TCP/IP Protocol Architecture Model
The OSI model describes idealized network communications with a family of protocols. TCP/IP
does not directly correspond to this model. TCP/IP either combines several OSI layers
into a single layer, or does not use certain layers at all. The
following table shows the layers of the Solaris implementation of TCP/IP. The table
lists the layers from the topmost layer (application) to the bottommost layer (physical
network).
Table 1-2 TCP/IP Protocol Stack
OSI Ref. Layer No. |
OSI Layer Equivalent |
TCP/IP Layer |
TCP/IP Protocol Examples |
5,6,7 |
Application, session, presentation |
Application
|
NFS, NIS, DNS, LDAP, telnet, ftp, rlogin, rsh, rcp, RIP, RDISC, SNMP, and
others |
4 |
Transport |
Transport |
TCP, UDP, SCTP |
3 |
Network |
Internet |
IPv4, IPv6, ARP, ICMP |
2 |
Data link |
Data link |
PPP,
IEEE 802.2 |
1 |
Physical |
Physical network |
Ethernet (IEEE 802.3), Token Ring, RS-232, FDDI, and others
|
The table shows the TCP/IP protocol layers and the OSI model equivalents. Also
shown are examples of the protocols that are available at each level of
the TCP/IP protocol stack. Each system that is involved in a communication transaction
runs a unique implementation of the protocol stack.
Physical Network Layer
The physical network layer specifies the characteristics of the hardware to be used for the
network. For example, physical network layer specifies the physical characteristics of the communications media.
The physical layer of TCP/IP describes hardware standards such as IEEE 802.3, the
specification for Ethernet network media, and RS-232, the specification for standard pin connectors.
Data-Link Layer
The data-link layer identifies the network protocol type of the packet, in this instance
TCP/IP. The data-link layer also provides error control and “framing.” Examples of data-link layer
protocols are Ethernet IEEE 802.2 framing and Point-to-Point Protocol (PPP) framing.
Internet Layer
The Internet layer, also known as the network layer or IP layer, accepts and
delivers packets for the network. This layer includes the powerful Internet Protocol (IP),
the Address Resolution Protocol (ARP), and the Internet Control Message Protocol (ICMP).
IP Protocol
The IP protocol and its associated routing protocols are possibly the most significant
of the entire TCP/IP suite. IP is responsible for the following:
The Solaris OS supports both IPv4 and IPv6 addressing formats, which are described
in this book. To avoid confusion when addressing the Internet Protocol, one of
the following conventions is used:
When the term “IP” is used in a description, the description applies to both IPv4 and IPv6.
When the term “IPv4” is used in a description, the description applies only to IPv4.
When the term “IPv6” is used in a description, the description applies only to IPv6.
ARP Protocol
The Address Resolution Protocol (ARP) conceptually exists between the data-link and Internet layers.
ARP assists IP in directing datagrams to the appropriate receiving system by mapping
Ethernet addresses (48 bits long) to known IP addresses (32 bits long).
ICMP Protocol
The Internet Control Message Protocol (ICMP) detects and reports network error conditions. ICMP
reports on the following:
Dropped packets – Packets that arrive too fast to be processed
Connectivity failure – A destination system cannot be reached
Redirection – Redirecting a sending system to use another router
Chapter 8, Administering a TCP/IP Network (Tasks) contains more information on the Solaris OS commands that use ICMP for
error detection.
Transport Layer
The TCP/IP transport layer ensures that packets arrive in sequence and without error, by
swapping acknowledgments of data reception, and retransmitting lost packets. This type of communication
is known as end-to-end. Transport layer protocols at this level are Transmission Control Protocol
(TCP), User Datagram Protocol (UDP), and Stream Control Transmission Protocol (SCTP). TCP and
SCTP provide reliable, end-to-end service. UDP provides unreliable datagram service.
TCP Protocol
TCP enables applications to communicate with each other as though they were connected
by a physical circuit. TCP sends data in a form that appears to
be transmitted in a character-by-character fashion, rather than as discrete packets. This transmission
consists of the following:
Starting point, which opens the connection
Entire transmission in byte order
Ending point, which closes the connection.
TCP attaches a header onto the transmitted data. This header contains many parameters
that help processes on the sending system connect to peer processes on the
receiving system.
TCP confirms that a packet has reached its destination by establishing an end-to-end
connection between sending and receiving hosts. TCP is therefore considered a “reliable, connection-oriented”
protocol.
SCTP Protocol
SCTP is a reliable, connection-oriented transport layer protocol that provides the same services
to applications that are available from TCP. Moreover, SCTP can support connections between
systems that have more than one address, or multihomed. The SCTP connection between sending
and receiving system is called an association. Data in the association is organized
in chunks. Because SCTP supports multihoming, certain applications, particularly applications used by the
telecommunications industry, need to run over SCTP, rather than TCP.
UDP Protocol
UDP provides datagram delivery service. UDP does not verify connections between receiving and
sending hosts. Because UDP eliminates the processes of establishing and verifying connections, applications
that send small amounts of data use UDP.
Application Layer
The application layer defines standard Internet services and network applications that anyone can use.
These services work with the transport layer to send and receive data. Many
application layer protocols exist. The following list shows examples of application layer
protocols:
Standard TCP/IP services such as the ftp, tftp, and telnet commands
UNIX “r” commands, such as rlogin and rsh
Name services, such as NIS and the domain name system (DNS)
Directory services (LDAP)
File services, such as the NFS service
Simple Network Management Protocol (SNMP), which enables network management
Router Discovery Server protocol (RDISC) and Routing Information Protocol (RIP) routing protocols
Standard TCP/IP Services
FTP and Anonymous FTP – The File Transfer Protocol (FTP) transfers files to and from a remote network. The protocol includes the ftp command and the in.ftpd daemon. FTP enables a user to specify the name of the remote host and file transfer command options on the local host's command line. The in.ftpd daemon on the remote host then handles the requests from the local host. Unlike rcp, ftp works even when the remote computer does not run a UNIX based operating system. A user must log in to the remote system to make an ftp connection, unless the remote system has been configured to allow anonymous FTP.
You can obtain an enormous amount of material from anonymous FTP servers that are connected to the Internet. Universities and other institutions set up these servers to offer software, research papers, and other information to the public domain. When you log in to this type of server, you use the login name anonymous, hence the term “anonymous FTP server.”
Using anonymous FTP and setting up anonymous FTP servers is outside the scope of this manual. However, many books, such as The Whole Internet User's Guide & Catalog, discuss anonymous FTP in detail. Instructions for using FTP are in System Administration Guide: Network Services. The ftp(1) man page describes all ftp command options that are invoked through the command interpreter. The ftpd(1M) man page describes the services that are provided by the in.ftpd daemon.
TFTP – The Trivial File Transfer Protocol (tftp) provides functions that are similar to ftp, but the protocol does not establish ftp's interactive connection. As a result, users cannot list the contents of a directory or change directories. A user must know the full name of the file to be copied. The tftp(1)man page describes the tftp command set.
UNIX “r” Commands
The UNIX “r” commands enable users to issue commands on their local machines
that run on the remote host. These commands include the following:
Instructions for using these commands are in the rcp(1), rlogin(1), and rsh(1) man
pages.
Name Services
The Solaris OS provides the following name services:
DNS – The domain name system (DNS) is the name service provided by the Internet for TCP/IP networks. DNS provides host names to the IP address service. DNS also serves as a database for mail administration. For a complete description of this service, see System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP). See also the resolver(3RESOLV) man page.
/etc files – The original host-based UNIX name system was developed for standalone UNIX machines and then adapted for network use. Many old UNIX operating systems and computers still use this system, but it is not well suited for large complex networks.
NIS – Network Information Service (NIS) was developed independently of DNS and has a slightly different focus. Whereas DNS focuses on making communication simpler by using machine names instead of numerical IP addresses, NIS focuses on making network administration more manageable by providing centralized control over a variety of network information. NIS stores information about machine names and addresses, users, the network itself, and network services. NIS name space information is stored in NIS maps. For more information on NIS Architecture and NIS Administration, see System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP).
Directory Service
The Solaris OS supports LDAP (Lightweight Directory Access Protocol) in conjunction with the
Sun Open Net Environment (Sun ONE) Directory Server, as well as other LDAP
directory servers. The distinction between a name service and a directory service is
in the differing extent of functionality. A directory service provides the same functionality
of a naming service, but provides additional functionalities as well. See System Administration Guide: Naming and Directory Services (DNS, NIS, and LDAP).
File Services
The NFS application layer protocol provides file services for the Solaris OS. You
can find complete information about the NFS service in System Administration Guide: Network Services.
Network Administration
The Simple Network Management Protocol (SNMP) enables you to view the layout of
your network and the status of key machines. SNMP also enables you to
obtain complex network statistics from software that is based on a graphical user
interface (GUI). Many companies offer network management packages that implement SNMP.
Routing Protocols
The Routing Information Protocol (RIP) and the Router Discovery Server Protocol (RDISC) are
two routing protocols for TCP/IP networks. They are described in Routing Protocols in the Solaris OS.