Linux has extensive built-in support for TCP/IP and Ethernet networks. This chapter explained the basics of TCP/IP networking and showed you how to set up TCP/IP networking on your Linux PC.
By reading this chapter, you learned the following things:
The OSI seven-layer model provides a framework for making various networks work together. The OSI layered model also sets the stage for various networking protocols.
The Transmission Control Protocol and Internet Protocol (TCP/IP) originated from research the U.S. Government’s Advanced Research Projects Agency (ARPA) initiated in the 1970s. The modern Internet evolved from the networking technology developed during that time.
All Internet protocols are documented in Requests for Comments (RFC) documents. The RFCs are available from the Internet resource http://www.cis.ohio-state.edu/hypertext/information/rfc.html. or http://www.faqs.org/rfcs/. All Internet standards are in RFCs, but many RFCs simply provide information to the Internet community.
Internetworking is at the heart of the TCP/IP protocol; that is the purpose of the Internet Protocol. The TCP/IP protocol identifies a host by using a 32-bit IP address that has two parts: a network address and a host address.
Typically, an IP address is expressed in dotted-decimal notation, in which each byte’s value is written in decimal format and separated from the adjacent byte by a dot (.). A typical IP address is 126.96.36.199.
IP addresses are grouped in classes. Class A addresses use a 1-byte network address and 3 bytes for the host address, class B addresses use a 2-byte network and host address, and class C addresses use a 3-byte network address and a single byte for the host address. The values of the first byte indicate the type of address: 1–126 are class A, 128–191 are class B, and 192–223 are class C.
The IP address space is filling rapidly. To alleviate this problem, the Internet Engineering Task Force has adopted a new 16-byte (128-bit) addressing scheme known as IPv6 (or IP Version 6). Hosts that use the new IPv6 addresses will work with hosts that use the older IPv4 (32-bit) addresses.
The use of private IP addresses (as specified by RFC 1918) and Classless Inter-Domain Routing (CIDR) are interim, but proven, approaches to manage the diminishing IPv4 address pool.
Setting up TCP/IP on Linux requires setting up various configuration files. The Red Hat network-configuration tool provides a convenient way to set up these files. You need some information—such as an IP address, the address of a gateway, and the address of a name server—to set up TCP/IP networking on your system. If you do not plan to connect your local network to the Internet, you can use a range of IP addresses (such as 192.168.0.0 to 192.168.255.255) without having to coordinate with any organization.
Linux comes with many TCP/IP utilities, such as FTP (File Transfer Protocol) and Telnet (for logging in to another system on the network).
To diagnose TCP/IP networking problems, you can use the ifconfig, ping, route, and netstat commands. You can also use the ip command to view as well as manage network objects such as interfaces, addresses, and routing table entries.