Networking overview


The TCP/IP (Transmission Control Protocol/Internet Protocol) suite, included with the SCO OpenServer Desktop and Enterprise systems, provides the basis for many useful services, including electronic mail, file transfer, remote login, network monitoring, and others, described in ``Administering TCP/IP''.

TCP/IP is a set of protocols and programs used to interconnect computer networks and to route traffic among different types of computers. These protocols describe allowable data formats, error handling, message passing, and communication standards. Computer systems that use TCP/IP speak a common language, regardless of hardware or operating system differences.

Many large networks conform to these protocols, including the Internet. Thousands of computers at universities, government agencies, and corporations are connected to a network that follows the TCP/IP protocols. Any machine on the Internet can communicate with any other. Machines on the Internet are referred to as hosts or nodes and are defined by their Internet (or IP) address.

TCP/IP provides:

TCP/IP Protocols

TCP/IP is made up of three basic protocols -- Internet Protocol (IP), Transmission Control Protocol (TCP), and User Datagram Protocol (UDP) -- as well as a variety of others that run over the IP protocol stack.

The Internet Protocol (IP)

The Internet Protocol defines a data delivery system wherein the sending and receiving machines are not necessarily directly connected. IP splits data into packets of a given size, which are then forwarded to the receiving machine via the network. These individual packets of data (often called ``datagrams'') are routed through different machines on the Internet to the destination network and receiving machine. A particular set of data, such as a file, can be broken up into several datagrams that are sent separately.

A datagram consists of header information and a data segment. The header contains information about routing and processing the datagram. Datagrams can be further fragmented into smaller pieces, depending on the physical requirements of the networks they cross. For example, when a gateway sends a datagram to a network that cannot accommodate the datagram as a single packet, the datagram must be split into pieces that are small enough for transmission. The datagram fragment headers contain the information necessary to reassemble the fragments into the complete datagram. Fragments do not necessarily arrive in order; the software module implementing the IP protocol on the destination machine must reassemble the fragments into the original datagram. If any fragments are lost, the entire datagram is discarded.

See also:

The Transmission Control Protocol (TCP)

The Transmission Control Protocol works with IP to provide reliable delivery. It provides a means to ensure that the various datagrams making up a message are reassembled in the correct order at their final destination and that any missing datagrams are re-sent until they are correctly received.

The primary purpose of TCP is to avoid the loss, damage, duplication, delay, or misordering of packets that can occur under IP. When IP forwards datagrams, individual datagrams may or may not arrive, and they probably will not arrive in the order in which they were sent. TCP adds the reliability that IP lacks. Also, security provisions such as limiting user access to certain machines can be implemented through TCP.

TCP provides reliability by using checksums (error detection codes) on the data, sequence numbers in the TCP header, positive acknowledgment of data received, and retransmission of unacknowledged data.

See also:

The User Datagram Protocol (UDP)

The User Datagram Protocol provides data transfer without many of the reliable delivery capabilities of TCP. UDP is less CPU-intensive than TCP and is useful when guaranteed data delivery is not of paramount importance.

See also:

Other TCP/IP protocols

Address Resolution Protocol (ARP)

Translates between DARPA Internet and Ethernet addresses. See arp(ADMN) and arp(ADMP).

Internet Control Message Protocol (ICMP)

Handles error-message and protocol control for TCP/IP. See icmp(ADMP).

Point-to-Point Protocol (PPP)

Provides both synchronous and asynchronous network connections over a serial line. See ppp(ADMP) and ``Configuring the Point-to-Point Protocol (PPP)''.

Reverse Address Resolution Protocol (RARP)

Translates between Ethernet and DARPA Internet addresses.

Serial Line Internet Protocol (SLIP)

Enables IP over serial lines. See slip(ADMP) and ``Configuring the Serial Line Internet Protocol (SLIP)''.

Simple Mail Transport Protocol (SMTP)

Used by MMDF to send mail via TCP/IP.

Simple Network Management Protocol (SNMP)

Performs distributed network management functions via TCP/IP. See ``Configuring the Simple Network Management Protocol (SNMP)''.

Network servers and databases

In the UNIX system, most server programs are started by a super server, called the ``Internet daemon''. The Internet daemon, /etc/inetd, acts as a master server for programs specified in its configuration file, /etc/inetd.conf. It listens for service requests for these servers, and starts up the appropriate program whenever a request is received. The configuration file includes information about:

Some trivial services are implemented internally in inetd.conf(SFF), and their servers are listed as internal. For example, an entry for the ``daytime'' internal service (that displays the current day and time of any machine on the network) would appear as:
   daytime stream  tcp     nowait  root    internal
Consult inetd.conf(SFF) for more details on the format of the configuration file and the operation of the Internet daemon. Several data files are used by the network library routines and server programs. Most of these files are host independent and are updated only rarely.

Network database files

File Manual reference Use
/etc/hosts hosts(SFF) host names
/etc/networks networks(SFF) network names
/etc/services services(SFF) list of known services
/etc/protocols protocols(SFF) protocol names
/etc/hosts.equiv rshd(ADMN) list of ``trusted'' hosts
/etc/ftpusers ftpd(ADMN) list of ``unwelcome'' ftp users
/etc/inetd.conf inetd(ADMN) list of servers started by inetd

The files distributed are set up for Internet hosts. Local networks and hosts should be added to the databases to describe the local configuration.

TCP/IP end-user commands

Several TCP/IP commands, described in detail on their manual pages, provide end users with networking capabilities:

TCP/IP Commands

Command Purpose
ftp file transfer between machines running TCP/IP (these machines may or may not run the same operating system)
rcmd remote command execution on another UNIX system
rcp file copying between two UNIX systems
rlogin remote login on another UNIX system
ruptime status display of local network machines
rwho display list of users logged on to local network machines.
telnet remote login on a machine running TCP/IP (these machines may or may not run the same operating system)

Configuring TCP/IP

To configure TCP/IP, you must:

You may also want to implement subnetworks or serial line gateways as described in ``Administering TCP/IP''. Subnetworks provide a mechanism that enables several local networks to appear as a single Internet network to off-site hosts. Subnetworks are useful because they allow a site to hide the local topology, requiring only a single route in external gateways. Other benefits include: You can configure a machine to serve as a gateway between a SLIP network and an Ethernet network; the same procedure can be used for PPP/Ethernet, SLIP/Token-Ring, and PPP/Token-Ring gateways. This procedure entails:

Administering TCP/IP

Basic administration of TCP/IP consists of:

For information on tuning your system for increased TCP/IP performance, refer to ``Tuning TCP/IP performance''.
Next topic: Other compatible stacks
Previous topic: Supported protocol stacks

© 2007 The SCO Group, Inc. All rights reserved.
SCO OpenServer Release 6.0.0 -- 05 June 2007