488
◾
Linux with Operating System Concepts
available to implement the application layer. These include DNS, FTP, IMAP, LDAP, MIME,
NFS, POP, SSH, SMTP, SNMP, and Telnet. The idea is that no matter what platform of com-
puter is used to create and transmit the message, the recipient need not be using the same
platform or even the same application software. Thus, the application
layer presents to us a
process-to-process communication.
The transport layer provides a uniform interface between two resources whether they
are on the same type of network or different type of network. In effect, this layer is able to
hide the underlying implementation of the network. The transport layer supports host-to-
host communication. This layer is responsible for pulling apart the message as generated by
the application layer into distinct packets and supplying information such as error correc-
tion details (e.g., a checksum) and a count of the number of packets (e.g., packet 6 of 9) so
that the transport layer of the recipient can determine if an error arose and if the message
is complete. This layer also has the responsibility of identifying the proper application to
receive the message through the message’s port number used. We discuss ports in more
detail later.
There are several different protocols available in the transport layer.
The primary proto-
col is TCP, which is confusing because both the application and transport layers make up
the TCP portion of TCP/IP. Another protocol used at this level is UDP. The primary dis-
tinction between these two protocols is TCP’s necessity for packet reception. A computer
that receives TCP packets is either erroneous or incomplete in that not all packets arrive
based on the count (e.g., 8 of the 9 packets arrive) requests to have packets resent. In UDP,
safe delivery is not guaranteed. The result is that TCP is slower but safer. UDP facilitates
real-time communication (e.g., streaming video) because dropped packets are deemed less
important than time while TCP guarantees full delivery. Other protocols available for the
transport
layer include SCTP, DCCP, and UDP Lite.
The remainder of the TCP/IP protocol stack comprises the IP portion (Internet pro-
tocol). It is at these layers that we see the rules of Internet addressing. Its top layer is the
Internet layer. At this layer, IP is responsible for addressing packets and sending them off
across the Internet. Routers operate at this layer to receive a packet and decide which net-
work or subnet to pass the packet onto.
The IP layer utilizes IP addresses. Internet addressing was originally devised to use sin-
gle 32-bit binary numbers, each of which is divided into four “octets” of 8 bits each. We
are used to seeing this
address written in decimal, for instance, as 10.11.12.13. Each octet
Application layer
Internet
Routers
Application layer
Transport layer
Transport layer
Internet layer
Link layer
Link layer
Internet layer
FIGURE 12.2
The TCP/IP protocol stack.
Network Configuration
◾
489
can store a number between 0 and 255. This address is known as the IP version 4 address,
or IPv4.
With 32 bits, we have something like 4 billion unique IP addresses. The original IP
addressing scheme was selected decades ago when the number of computers that made
up the then-Internet was numbered in the hundreds. Shortly thereafter, the number of
Internet resources increased to tens of thousands. It was not until recently that the num-
ber of resources that need IP addresses have grown to outnumber the 4 billion addresses
available through IPv4.
To rectify this situation, an addition has been added to IP called
IPv6. IPv6 addresses are 128 bits in length, usually stored using 32 hexadecimal numbers.
For instance, an IPv6 address might be 518f:a487:aa01:1566:85b3:143a:abcd:8750. Table
12.1 illustrates the difference in the number of available addresses between IPv4 and IPv6.
Clearly, the number of IPv6 addresses should last us a very long time!
Aside from IPv4 and IPv6, other protocols exist to implement this layer. These include
ICMP and ICMPv6, both of which are used to handle network configuration and network
error-checking messages. Both the ping and traceroute programs use ICMP (we
discuss
these in Section 12.5). IGMP is a protocol for handling multicast broadcasts.
The link layer is the lowest layer in the TCP/IP protocol stack and handles the physical
communication across the network media. This layer is responsible for converting mes-
sages, stored in binary, into the type of signal that the media will handle (e.g., sound,
electrical current, and pulses of light) and converting the received signals back into binary.
This may include network tasks such as modulation and multiplexing. This layer may also
add start and stop bits to the packet.
This layer handles message addressing not with IP addressing but with MAC address-
ing. Switches operate at this layer, unlike routers that operate at the Internet layer. This
means that the link layer can differentiate between computers
on its local subnet but not
between resources located outside the subnet, and must rely on a local router to move the
message beyond the subnet. This layer also handles transmission error detection, bit syn-
chronization, and dealing with variance in signal strength. Link layer protocols include
ARP, Tunnels, PPP, ISDN, DSL, and Ethernet.
To transmit a message, the message is processed going down the TCP/IP
protocol stack
from application layer to transport layer to Internet layer to link layer. The message is then
sent across the network as individual packets. When a packet arrives at an intermedi-
ate location, a router operating at the Internet layer, examines the destination address to
continue sending the packet on its way. Once it arrives at the destination,
the packets are
assembled back into a single message, passing the packets up from link layer to Internet
layer to transport layer and finally, the message is presented to the application software.
TABLE 12.1
Number of IP Addresses Based on Bit Size
Do'stlaringiz bilan baham: