includes three protocols even though only two appear in the name. The suite
consists of Internet Protocol (IP), Transmission Control Protocol (TCP), and
User Datagram Protocol (UDP). The TCP/IP suite is packet based, which
means that data is broken into little chunks on the transmit end for
transmission to the receiving end. Breaking up data into manageable packets
allows for faster and more accurate transfers. In TCP/IP, all data travels via IP
packets, which is why addresses are referred to as IP addresses. IP is the
lowest level of the suite.
TCP is also a connection-based protocol. Before data is transmitted between
two machines, a connection is established between them. When a connection
is made, a stream of data is sent to IP to be broken into the packets that are
then transmitted. At the receiving end, the packets are put back in order and
sent to the proper application port. TCP/IP forms the basis of the Internet;
without it, the Internet would be a very different place indeed—if it even
existed. In contrast, UDP is a connectionless protocol. Applications using this
protocol just choose their destination and start sending. UDP is normally used
for small amounts of data or on fast and reliable networks. If you are
interested in the internals of TCP/IP, see the “References” section at the end
of this chapter for places to look for more information.
UBUNTU AND NETWORKING
Chances are that your network card was configured during the installation
of Ubuntu. You can use the ip command or Ubuntu’s graphical network
configuration tools to edit your system’s network device information or to
add or remove network devices on your system. Hundreds of networking
commands and utilities are included with Ubuntu—far too many to cover in
this chapter and more than enough to fill two or three volumes.
Nearly all Ethernet cards can be used with Linux, along with many
PCMCIA wired and wireless network cards. The great news is that many
USB wireless networking devices also work just fine with Linux, and more
are supported with each new version of the Linux kernel. You can check
the Linux USB Project at www.linux-usb.org for the latest developments or
to verify support for your device.
After reading this chapter, you might want to learn more about other
graphical network clients for use with Linux. For example, you can use
Nmap to scan a specific host for open ports and other running services
(more at http://nmap.org). You may also find utilities like Netcat (more at
http://nc110.sourceforge.net), Wireshark (more at www.wireshark.org), and
tcpdump (more at www.tcpdump.org) useful.