The IP protocol itself is used only to make sure each packet arrives
at the destination system. The TCP or UDP protocol is used with IP to
fragment the data from the sending host and then reassemble and
resequence it when it arrives at the destination system. This is shown
in Figure 15-2.
The Internet Protocol (IP) is the protocol used on the Internet. It is
a connectionless protocol designed to ensure data arrives at its
destination host. The IP protocol relies on information being broken
down into transmittable chunks (packets) by the TCP or UDP protocol.
Each packet is treated by IP as an independent data unit, independent
of other data units. The key thing to remember about IP is the fact
that it isn’t concerned with fragmentation or resequencing. It’s only
concerned with making sure each packet arrives at the destination.
The job of keeping track of individual packets belongs to the
Transmission Control Protocol (TCP). TCP is one of the two original
components of the IP protocol suite. The entire suite is commonly
referred to as TCP/IP, but that isn’t technically correct because UDP
may be used with IP as well.
The TCP protocol ensures data is reliably exchanged directly between
two network hosts. It does this by requiring acknowledgment of each
packet sent from the sender to the receiver. Because of the way the IP
protocol works, packets can be lost, duplicated, or delivered out of
sequence. TCP detects these problems, requests retransmission of lost
packets, and resequences packets received out of order. Essentially,
TCP ensures the final reassembled data on the receiving system is a
perfect copy of the data originally transmitted.
Using TCP with IP is kind of like using signature confirmation with a
shipping company. When you send a package, the shipper requires the
receiver to sign for the package, allowing the sender to verify that
the package was received correctly. TCP/IP works in much the same
manner.
The TCP protocol is used by upper-layer applications that require a
high degree of data integ- rity, including
• Web servers
• E-mail servers
• FTP servers
However, the data fidelity offered by TCP comes at a cost, primarily
in the form of latency. TCP requires a fair amount of network and
processing overhead. Not all network applications actually require the
high degree of data fidelity provided by TCP. Some upper-layer
applications require less latency and can tolerate less reliability.
These applications use the User Datagram Protocol (UDP) protocol
instead of TCP.
UDP functions in a manner similar to TCP; however, it is a
connectionless protocol. With UDP, IP packets are sent unacknowledged.
UDP is usually implemented with applications that send very small
amounts of data at a time. It assumes that error checking and
correction is either not necessary or will be performed by the
application, thus avoiding the processing overhead.
In this respect, UDP is similar to sending someone a postcard through
the mail. A postcard doesn’t contain much data, and the receiver
doesn’t have to sign for it. Essentially, the sender assumes that the
mail carrier is reasonably reliable and that the information on the
postcard isn’t important enough to require the receiver to sign for
it. UDP works in much the same way. Some upper-layer applications that
make use of UDP include
• Streaming audio and video
• VoIP
In addition to IP, TCP, and UDP, you also need to be familiar with the
Internet Control Message Protocol (ICMP) for your Linux+/LPIC-1
exam. ICMP is another core protocol in the IP protocol suite. It
differs in purpose from TCP and UDP, which are transport protocols.
The primary role of ICMP is to test and verify network
communications between hosts.
For example, to test network connectivity, the ping utility will send
ICMP Echo Request packets to a remote host. If the host receives them,
it will respond with an ICMP Echo Response packet to the sender. If
the ICMP Echo Response packet is received, the sender knows that a
viable network connection exists between the sender and receiver and
that the receiver is respond- ing to network requests. If an ICMP Echo
Response packet is not received, the sender knows something is wrong
and can begin troubleshooting communications.
For your Linux+/LPIC-1 exam, you also need to understand the concept
of IP ports, which are provided by both the TCP and UDP protocols at
the Transport layer. In essence, a port is a logical connection
provided by TCP and UDP for upper-layer protocols. Ports allow a
single host with a single IP address to provide multiple network
services. Each service uses the same IP address but operates using a
different TCP or UDP port number.
For example, suppose you have a network server with an IP address of
192.168.1.1 assigned to it. You could configure both a web server and
an FTP server to run at the same time on this server. Each service
will listen for requests on the interface assigned an IP address of
192.168.1.1. However, the web server runs on port 80, whereas the FTP
server runs on ports 20 and 21. Requests sent to port 80 are handled
by the web service, whereas information sent to ports 20 and 21 is
handled by the FTP service.
NOTE The FTP service is somewhat unique in that it uses two ports. One
is for the control connection (port 21) and the other (port 20) is
used for actually transferring data. Most services use only a single
port.
LX0-104 Exam Objectives (R)
No comments:
Post a Comment