-->
Previous Table of Contents Next


Chapter 37
Networking

by Tim Parker

In This Chapter
•   What is TCP/IP?
•   Hardware requirements
•   Configuring Linux files
•   Testing and troubleshooting

What Is TCP/IP?

Linux offers a complete implementation of TCP/IP (Transmission Control Protocol/ Internet Protocol), the protocol used extensively on the Internet and that is commonly found in local area networks involving UNIX machines. All you need to create a network or to add your existing machine to a TCP/IP network is a network card and some modifications to files already on your Linux system.

Whether you are setting up two machines in your room to talk to each other or adding your Linux machine to an existing network of 5,000 workstations, the process is the same.

TCP/IP is an open networking protocol, which simply means that the technical description of all aspects of the protocol have been published. They are available for anyone to implement on their hardware and software. This open nature has helped make TCP/IP very popular. Versions of TCP/IP are now available for practically every hardware and software platform in existence, which has helped make TCP/IP the most widely used networking protocol in the world. The advantage of TCP/IP for a network operating system is simple: Interconnectivity is possible for any type of operating system and hardware platform that you might want to add.

TCP/IP is not a single protocol, but a set of over a dozen protocols. Each protocol within the TCP/IP family is dedicated to a different task. All the protocols that make up TCP/IP use the primary components of TCP/IP to send packets of data.

Transmission Control Protocol and Internet Protocol are two of the primary protocols in the TCP/IP family. The different protocols and services that make up the TCP/IP family can be grouped according to their purposes. The groups and their protocols are the following:

Transport. These protocols control the movement of data between two machines.

TCP (Transmission Control Protocol). A connection-based service, meaning that the sending and receiving machines communicate with each other at all times.
UDP (User Datagram Protocol). A connectionless service, meaning that the two machines don’t communicate with each other through a constant connection.

Routing. These protocols handle the addressing of the data and determine the best routing to the destination. They also handle the way large messages are broken up and reassembled at the destination.

IP (Internet Protocol). Handles the actual transmission of data.
ICMP (Internet Control Message Protocol). Handles status messages for IP, such as errors and network changes that can affect routing.
RIP (Routing Information Protocol). One of several protocols that determine the best routing method.
OSPF (Open Shortest Path First). An alternative protocol for determining routing.

Network Addresses. These services handle the way machines are addressed, both by a unique number and a more common symbolic name.

ARP (Address Resolution Protocol). Determines the unique numeric addresses of machines on the network.
DNS (Domain Name System). Determines numeric addresses from machine names.
RARP (Reverse Address Resolution Protocol). Determines addresses of machines on the network, but in a manner opposite of ARP.
BOOTP (Boot Protocol). This starts up a network machine by reading the boot information from a server. BOOTP is commonly used for diskless workstations.

User Services. These are applications users have access to.

FTP (File Transfer Protocol). This transfers files from one machine to another without excessive overhead. FTP uses TCP as the transport.
TFTP (Trivial File Transfer Protocol). A simple file transfer method that uses UDP as the transport.
TELNET. Allows remote logins so that a user on one machine can connect to another machine and behave as though they are sitting at the remote machine’s keyboard.

Gateway Protocols. These services help the network communicate routing and status information, as well as handle data for local networks.

EGP (Exterior Gateway Protocol). Transfers routing information for external networks.
GGP (Gateway-to-Gateway Protocol). Transfers routing information between Internet gateways.
IGP (Interior Gateway Protocol). Transfers routing information for internal networks.

Others. These are services that don’t fall into the categories just mentioned but that provide important services over a network.

NFS (Network File System). Allows directories on one machine to be mounted on another, then accessed by users as though the directories were on the local machine.
NIS (Network Information Service). Maintains user accounts across networks, simplifying logins and password maintenance.
RPC (Remote Procedure Call). Allows remote applications to communicate with one another using function calls.
SMTP (Simple Mail Transfer Protocol). A protocol for transferring electronic mail between machines.
SNMP (Simple Network Management Protocol). Used to obtain status messages about TCP/IP configurations and software. It requires a loopback to be in place for proper operation.

If you want to connect your Linux machine to a network, you need a network card. Linux uses Ethernet, a network system that was designed to provide TCP/IP support. A term you’ll see often is packet, which enables TCP/IP to talk to another part without leaving the machine. Essentially, you are creating a loop between software in the bundle of data and routing instructions assembled by TCP/IP and Ethernet to be sent over the network (Simple Network Management Protocol), which is an administrator’s service that sends status messages about the network and devices attached to it.

All the TCP/IP protocol definitions are maintained by a standards body that is part of the Internet organization. Although changes to the protocols occasionally occur when new features or better methods of performing older functions are developed, the new versions are almost always backward-compatible.


Previous Table of Contents Next