Module1 CCN
Module1 CCN
Module1 CCN
Data communications are the exchange of data between two devices via some
form of transmission medium such as a wire cable. For data communications to occur,
the communicating devices must be part of a communication system made up of a
combination of hardware (physical equipment) and software (programs). The
effectiveness of a data communications system depends on four fundamental
characteristics: delivery, accuracy, timeliness, and jitter.
1. Delivery. The system must deliver data to the correct destination. Data must be
received by the intended device or user and only by that device or user.
2. Accuracy. The system must deliver the data accurately. Data that have been altered
in transmission and left uncorrected are unusable.
3. Timeliness. The system must deliver data in a timely manner. Data delivered late
are useless. In the case of video and audio, timely delivery means delivering
data as they are produced, in the same order that they are produced, and
without significant delay. This kind of delivery is called real-time transmission.
4. Jitter. Jitter refers to the variation in the packet arrival time. It is the uneven delay
in the delivery of audio or video packets. For example, let us assume that video
packets are sent every 30 ms. If some of the packets arrive with 30-ms delay and
others with40-ms delay, an uneven quality in the video is the result
1.1.1 Components
Page 1
1. Message. The message is the information (data) to be communicated.
Popularforms of information include text, numbers, pictures, audio, and video.
2. Sender. The sender is the device that sends the data message. It can be a
computer, workstation, telephone handset, video camera, and so on.
3. Receiver. The receiver is the device that receives the message. It can be a
computer, workstation, telephone handset, television, and so on.
Information today comes in different forms such as text, numbers, images, audio, and video.
Text
In data communications, text is represented as a bit pattern, a sequence of bits (0s or 1s).
Different sets of bit patterns have been designed to represent text symbols. Each set is called
a code, and the process of representing symbols is called coding. Today, the prevalent coding
system is called Unicode, which uses 32 bits to represent a symbol or character used in any
language in the world. The American Standard Code for Information Interchange
(ASCII), developed some decades ago in the United States, now constitutes the first 127
characters in Unicode and is also referred to as Basic Latin. Appendix A includes part of
the Unicode.
Numbers
Numbers are also represented by bit patterns. However, a code such as ASCII is not usedto
represent numbers; the number is directly converted to a binary number to simplify
mathematical operations. Appendix B discusses several different numbering systems.
Images
Images are also represented by bit patterns. In its simplest form, an image is composed
of a matrix of pixels (picture elements), where each pixel is a small dot. The size of the pixel
depends on the resolution. For example, an image can be divided into 1000 pixels
Page 2
or 10,000 pixels. In the second case, there is a better representation of the image (better
resolution), but more memory is needed to store the image.
After an image is divided into pixels, each pixel is assigned a bit pattern. The size
and the value of the pattern depend on the image. For an image made of only black- and-
white dots (e.g., a chessboard), a 1-bit pattern is enough to represent a pixel.
If an image is not made of pure white and pure black pixels, we can increase the size
of the bit pattern to include gray scale. For example, to show four levels of gray scale,
we can use 2-bit patterns. A black pixel can be represented by 00, a dark gray pixel
by 01, a light gray pixel by 10, and a white pixel by 11.
There are several methods to represent color images. One method is called RGB,
so called because each color is made of a combination of three primary colors: red, green,
and blue. The intensity of each color is measured, and a bit pattern is assigned to it.
Another method is called YCM, in which a color is made of a combination of three other
primary colors: yellow, cyan, and magenta.
Audio
Video
Video refers to the recording or broadcasting of a picture or movie. Video can either
be produced as a continuous entity (e.g., by a TV camera), or it can be a combination
of images, each a discrete entity, arranged to convey the idea of motion.
Page 3
Figure 1.2 Data flow (simplex, half-duplex, and full-duplex)
Simplex
Keyboards and traditional monitors are examples of simplex devices. The key-
board can only introduce input; the monitor can only accept output. The simplex modecan
use the entire capacity of the channel to send data in one direction.
Half-Duplex
In half-duplex mode, each station can both transmit and receive, but not at the same time.
When one device is sending, the other can only receive, and vice versa.
The half-duplex mode is like a one-lane road with traffic allowed in both directions.
When cars are traveling in one direction, cars going the other way must wait. In a half-
duplex transmission, the entire capacity of a channel is taken over by whichever ofthe two
devices is transmitting at the time. Walkie-talkies and CB (citizens band) radios are both
half-duplex systems.
The half-duplex mode is used in cases where there is no need for communication in
both directions at the same time; the entire capacity of the channel can be utilized for each
direction.
Full-Duplex
In full-duplex mode (also called duplex), both stations can transmit and receive
simultaneously (see Figure 1.2c).
The full-duplex mode is like a two-way street with traffic flowing in both directions
at the same time. In full-duplex mode, signals going in one direction share the
Page 4
Page 5
capacity of the link with signals going in the other direction. This sharing can occur in
two ways: Either the link must contain two physically separate transmission paths, one
for sending and the other for receiving; or the capacity of the channel is divided between
signals traveling in both directions.
The full-duplex mode is used when communication in both directions is required all
the time. The capacity of the channel, however, must be divided between the two directions.
1.2 NETWORKS
A network must be able to meet a certain number of criteria. The most important of
these are performance, reliability, and security.
Performance
Performance can be measured in many ways, including transit time and response
time. Transit time is the amount of time required for a message to travel from one device
to another. Response time is the elapsed time between an inquiry and a response. The
performance of a network depends on a number of factors, including the number of
users, the type of transmission medium, the capabilities of the connected hardware,
and the efficiency of the software.
Page 6
Reliability
Security
Network security issues include protecting data from unauthorized access, protecting
data from damage and development, and implementing policies and procedures for
recovery from breaches and data losses.
Type of Connection
Multipoint:
Page 7
A multipoint (also called multidrop) connection is one in which more than two
specific devices share a single link (see Figure 1.3b). In a multipoint environment, the
capacity of the channel is shared, either spatially or temporally. If several devices can
use the link simultaneously, it is a spatially sharedconnection. If users must take turns, it is
a timeshared connection.
Physical Topology
The term physical topology refers to the way in which a network is laid out physically. Two
or more devices connect to a link; two or more links form a topology. The topologyof a
network is the geometric representation of the relationship of all the links and linking devices
(usually called nodes) to one another. There are four basic topologies possible: mesh, star,
bus, and ring.
Mesh Topology: In a mesh topology, every device has a dedicated point-to-point link to
every other device. The term dedicated means that the link carries traffic only between
the two devices it connects. To find the number of physical links in a fully connected mesh
net- work with n nodes, we first consider that each node must be connected to every
other node. Node 1 must be connected to n – 1 nodes, node 2 must be connected to n – 1
nodes, and finally node n must be connected to n – 1 nodes. We need n (n – 1) physical links.
However, if each physical link allows communication in both directions (duplex mode), we
can divide the number of links by 2. In other words, we can say that in a mesh topology, we
need n (n – 1) / 2 duplex-mode links. To accommodate that many links, every device on the
network must have n – 1 input/output (I/O) ports to be connected to the other n – 1 stations.
A mesh offers several advantages over other network topologies. First, the use of
dedicated links guarantees that each connection can carry its own data load, thus eliminating
the traffic problems that can occur when links must be shared by multiple devices. Second,
a mesh topology is robust. If one link becomes unusable, it does not incapacitate the entire
system. Third, there is the advantage of privacy or security. When every message travels
along a dedicated line, only the intended recipient sees it. Physical boundaries prevent other
users from gaining access to messages. Finally, point-to-point links make fault
identification and fault isolation easy. Traffic can be routed to avoid links with suspected
problems. This facility enables the network manager to discover the precise location of the
fault and aids in finding its cause and solution.
Page 8
The main disadvantages of a mesh are related to the amount of cabling and the
number of I/O ports required. First, because every device must be connected to every
other device, installation and reconnection are difficult. Second, the sheer bulk of the
wiring can be greater than the available space (in walls, ceilings, or floors) can
accommodate. Finally, the hardware required to connect each link (I/O ports and
cable) can be prohibitively expensive. For these reasons a mesh topology is usually
implemented in a limited fashion, for example, as a backbone connecting the main
computers of a hybridnetwork that can include several other topologies.
Star Topology: In a star topology, each device has a dedicated point-to-point link
only to a central controller, usually called a hub. The devices are not directly linked to
one another. Unlike a mesh topology, a star topology does not allow direct traffic between
devices. The controller acts as an exchange: If one device wants to send data to another,
it sends the data to the controller, which then relays the data to the other connected device.
A star topology is less expensive than a mesh topology. In a star, each device needs
only one link and one I/O port to connect it to any number of others. This factor also makes
it easy to install and reconfigure. Far less cabling needs to be housed, and additions, moves,
and deletions involve only one connection: between that device and the hub.
Other advantages include robustness. If one link fails, only that link is affected. All
other links remain active. This factor also lends itself to easy fault identification and
fault isolation. As long as the hub is working, it can be used to monitor link problems
and bypass defective links.
One big disadvantage of a star topology is the dependency of the whole topology on
one single point, the hub. If the hub goes down, the whole system is dead.
Although a star requires far less cable than a mesh, each node must be linked to a
Page 9
central hub. For this reason, often more cabling is required in a star than in some other
topologies (such as ring or bus).
The star topology is used in local-area networks (LANs), .High-speed LANs often use a star
topology with a central hub.
Bus Topology: The preceding examples all describe point-to-point connections. A bus
topology, on the other hand, is multipoint. One long cable acts as a backbone to link all
the devices in anetwork.
Nodes are connected to the bus cable by drop lines and taps. A drop line is a
connection running between the device and the main cable. A tap is a connector that
eithersplices into the main cable or punctures the sheathing of a cable to create a contact
with the metallic core. As a signal travels along the backbone, some of its energy is
transformed into heat. Therefore, it becomes weaker and weaker as it travels farther and
farther. For this reason there is a limit on the number of taps a bus can support and on
the distance between those taps.
In addition, a fault or break in the bus cable stops all transmission, even
between devices on the same side of the problem. The damaged area reflects signals back
in thedirection of origin, creating noise in both directions.
Bus topology was the one of the first topologies used in the design of early local-
area networks. Traditional Ethernet LANs can use a bus topology, but they are less
Page
10
Computer Networks Module-1 18EC71
Ring Topology: In a ring topology, each device has a dedicated point-to-point connection
with only the two devices on either side of it. A signal is passed along the ring in one direction,
from device to device, until it reaches its destination. Each device in the ring incorporates a
repeater. When a device receives a signal intended for another device, its repeater regenerates
the bits and passes them along.
A ring is relatively easy to install and reconfigure. Each device is linked to only its
immediate neighbors (either physically or logically). To add or delete a device requires
changing only two connections. The only constraints are media and traffic considerations
(maximum ring length and number of devices). In addition, fault isolation is simplified.
Generally, in a ring a signal is circulating at all times. If one device does not receive a
signal within a specified period, it can issue an alarm. The alarm alerts the network
operator to the problem and its location.
Ring topology was prevalent when IBM introduced its local-area network, Token
Ring. Today, the need for higher-speed LANs has made this topology less popular.
After defining networks in the previous section and discussing their physical structures, we
need to discuss different types of networks we encounter in the world today. The criteria of
distinguishing one type of network from another is difficult and sometimes confusing. We
use a few criteria such as size, geographical coverage, and ownership to make this
distinction. After discussing two types of networks, LANs and WANs, we define switching,
which is used to connect networks to form an internetwork (a network of networks).
Page 10
18EC71
A local area network (LAN) is usually privately owned and connects some hosts in a single
office, building, or campus. Depending on the needs of an organization, a LAN can be
as simple as two PCs and a printer in someone’s home office, or it can extend throughout a
company and include audio and video devices. Each host in a LAN has an identifier, an
address, that uniquely defines the host in the LAN. A packet sent by a hostto another host
carries both the source host’s and the destination host’s addresses.
In the past, all hosts in a network were connected through a common cable,
which meant that a packet sent from one host to another was received by all hosts. The
intended recipient kept the packet; the others dropped the packet. Today, most LANs use
a smart connecting switch, which is able to recognize the destination address of the
packet and guide the packet to its destination without sending it to all other hosts. The switch
alleviates the traffic in the LAN and allows more than one pair to communicate with each
other at the same time if there is no common source and destination among them. Note that
the above definition of a LAN does not define the minimum or maximum number of hosts
in a LAN. Figure 1.8 shows a LAN using either a common cable or a switch.
When LANs were used in isolation (which is rare today), they were designed to
allow resources to be shared between the hosts. As we will see shortly, LANs today are
connectedto each other and to WANs (discussed next) to create communication at a wider
level.
Page 11
18EC71
a wider geographical span, spanning a town, a state, a country, or even the world. A LAN
interconnects hosts; a WAN interconnects connecting devices such as switches, routers,
or modems. A LAN isnormally privately owned by the organization that uses it; a WAN
is normally created and run by communication companies and leased by an organization
that uses it. We see two distinct examples of WANs today: point-to-point WANs and
switched WANs.
Switched WAN
A switched WAN is a network with more than two ends. A switched WAN, as we
will see shortly, is used in the backbone of global communication today. We can say that
a switched WAN is a combination of several point-to-point WANs that are connected
byswitches. Figure 1.10 shows an example of a switched WAN.
Internetwork
Today, it is very rare to see a LAN or a WAN in isolation; they are connected to one
Page 12
18EC71
another. When two or more networks are connected, they make an internetwork, or
Page 13
18EC71
internet. As an example, assume that an organization has two offices, one on the east coast
and the other on the west coast. Each office has a LAN that allows all employees in the office
to communicate with each other. To make the communication between employees at
different offices possible, the management leases a point-to-point dedicated WANfrom a
service provider, such as a telephone company, and connects the two LANs. Now the
company has an internetwork, or a private internet (with lowercase i). Communication
between offices is now possible. Figure 1.11 shows this internet.
Figure 1.11 An internetwork made of two LANs and one point-to-point WAN
When a host in the west coast office sends a message to another host in the same
office, the router blocks the message, but the switch directs the message to the destination.
On the other hand, when a host on the west coast sends a message to a host on the east coast,
router R1 routes the packet to router R2, and the packet reaches the destination.
Figure 1.12 (see next page) shows another internet with several LANs and
WANs connected. One of the WANs is a switched WAN with four switches.
1.3.4 Switching
Circuit-Switched Network
In Figure 1.13, the four telephones at each side are connected to a switch. The
switch connects a telephone set at one side to a telephone set at the other side. The thick
line connecting two switches is a high-capacity communication line that can
Page 14
18EC71
handle four voice communications at the same time; the capacity can be shared between
all pairs of telephone sets. The switches used in this example have forwarding tasks
but nostoring capability.
Figure 1.12 A heterogeneous network made of four WANs and three LANs
Let us look at two cases. In the first case, all telephone sets are busy; four
people at one site are talking with four people at the other site; the capacity of the
thick line is fully used. In the second case, only one telephone set at one side is connected
to a telephone set at the other side; only one-fourth of the capacity of the thick line is
used. This means that a circuit-switched network is efficient only when it is working
at its full capacity; most of the time, it is inefficient because it is working at partial
capacity. The reason that we need to make the capacity of the thick line four times the
capacity of each voice line is that we do not want communication to fail when all
telephone sets at one side want to be connected with all telephone sets at the other side.
Page 15
18EC71
Packet-Switched Network
In a computer network, the communication between the two ends is done in blocks of
data called packets. In other words, instead of the continuous communication we see
between two telephone sets when they are being used, we see the exchange of individual
data packets between the two computers. This allows us to make the switches function
for both storing and forwarding because a packet is an independent entity that can be stored
and sent later. Figure 1.14 shows a small packet-switched network that connects four
computers at one site to four computers at the other site.
A router in a packet-switched network has a queue that can store and forward the
packet. Now assume that the capacity of the thick line is only twice the capacity of the data
line connecting the computers to the routers. If only two computers (one at each site)
need to communicate with each other, there is no waiting for the packets. However, if
packets arrive at one router when the thick line is already working at its full capacity, the
packets should be stored and forwarded in the order they arrived. The two simple examples
show that a packet-switched network is more efficient than a circuit- switched network, but
the packets may encounter some delays.
As we discussed before, an internet (note the lowercase i) is two or more networks that can
communicate with each other. The most notable internet is called the Internet (uppercase I
), and is composed of thousands of interconnected networks. Figure 1.15 shows a conceptual
(not geographical) view of the Internet.
The figure shows the Internet as several backbones, provider networks, and
customer networks. At the top level, the backbones are large networks owned by
some communication companies such as Sprint, Verizon (MCI), AT&T, and NTT.
The back- bone networks are connected through some complex switching systems, called
peering points. At the second level, there are smaller networks, called provider networks,
that use the services of the backbones for a fee. The provider networks are connected to
backbones and sometimes to other provider networks. The customer networks are
networks at the edge of the Internet that actually use the services
Page 16
18EC71
provided by the Inter-net. They pay fees to provider networks for receiving services.
Backbones and provider networks are also called Internet Service Providers
(ISPs). The backbones are often referred to as international ISPs; the provider net-
works are often referred to as national or regional ISPs.
1.4.1 Scenarios
Let us develop two simple scenarios to better understand the need for protocol layering.
First Scenario
In the first scenario, communication is so simple that it can occur in only one layer.
Assume Maria and Ann are neighbors with a lot of common ideas. Communication
between Maria and Ann takes place in one layer, face to face, in the same language,
asshown in Figure 1.16.
Page 17
18EC71
Even in this simple scenario, we can see that a set of rules needs to be
followed. First, Maria and Ann know that they should greet each other when they
meet. Second, they know that they should confine their vocabulary to the level of
their friendship. Third, each party knows that she should refrain from speaking when
the other party is speaking. Fourth, each party knows that the conversation should be a
dialog, not a monolog: both should have the opportunity to talk about the issue. Fifth,
they should exchange some nice words when they leave.
We can see that the protocol used by Maria and Ann is different from the
communication between a professor and the students in a lecture hall. The
communication in the second case is mostly monolog; the professor talks most of the
time unless a student has a question, a situation in which the protocol dictates that she
should raise her hand and wait for permission to speak. In this case, the
communication is normally very for-mal and limited to the subject being taught.
Second Scenario
In the second scenario, we assume that Ann is offered a higher-level position in her company,
but needs to move to another branch located in a city very far from Maria. The two friends
still want to continue their communication and exchange ideas because they have come up
with an innovative project to start a new business when they both retire.
They decide to continue their conversation using regular mail through the post office.
However, they do not want their ideas to be revealed by other people if the letters are
intercepted. They agree on an encryption/decryption technique. The sender of the letter
encrypts it to make it unreadable by an intruder; the receiver of the letter decrypts it to
get the original letter., but for the moment we assume that Maria and Ann use one technique
that makes it hard to decrypt the letter if one does not have the key for doing so. Now
we can say that the communication between Maria and Ann takes place in three layers, as
shown in Figure 1.17. We assume that Ann and Maria each have three machines (or
robots) that can perform the task at each layer.
Page 18
18EC71
Let us assume that Maria sends the first letter to Ann. Maria talks to the machine at
the third layer as though the machine is Ann and is listening to her. The third layer machine
listens to what Maria says and creates the plaintext (a letter in English), which is passed to
the second layer machine. The second layer machine takes the plaintext, encrypts it, and
creates the cipher text, which is passed to the first layer machine. The first layer machine,
presumably a robot, takes the cipher text, puts it in an envelope, adds the sender and receiver
addresses, and mails it.
At Ann’s side, the first layer machine picks up the letter from Ann’s mail box,
recognizing the letter from Maria by the sender address. The machine takes out the
cipher- text from the envelope and delivers it to the second layer machine. The second layer
machine decrypts the message, creates the plaintext, and passes the plaintext to the third-
layer machine. The third layer machine takes the plaintext and reads it as though Maria is
speaking.
Protocol layering enables us to divide a complex task into several smaller and
simpler tasks. For example, in Figure 1.17, we could have used only one machine to
do the job of all three machines. However, if Maria and Ann decide that the
encryption/ decryption done by the machine is not enough to protect their secrecy,
they would have to change the whole machine. In the present situation, they need to
change only the second layer machine; the other two can remain the same. This is referred
to as modularity. Modularity in this case means independent layers. A layer (module) can
be defined as a black box with inputs and outputs, without concern about how inputs
are changed to outputs. If two machines provide the same outputs when given the same
inputs, they can replace each other. For example, Ann and Maria can buy the second
layer machine from two different manufacturers. As long as the two machines create the
same cipher- text from the same plaintext and vice versa, they do the job.
Page 19
18EC71
vices from the lower layer and to give the services to the upper layer; we don’t care about
how the layer is implemented. For example, Maria may decide not to buy the machine
(robot) for the first layer; she can do the job herself. As long as Maria can do the
tasks provided by the first layer, in both directions, the communication system works.
Is there any disadvantage to protocol layering? One can argue that having a single
layer makes the job easier. There is no need for each layer to provide a service to the
upper layer and give service to the lower layer. For example, Ann and Maria could find
or build one machine that could do all three tasks. However, as mentioned above, if one
day they found that their code was broken, each would have to replace the whole
machine with a new one instead of just changing the machine in the second layer.
First Principle
Second Principle
The second principle that we need to follow in protocol layering is that the two objects
under each layer at both sites should be identical. For example, the object under layer
3 at both sites should be a plaintext letter. The object under layer 2 at both sites should
be a cipher text letter. The object under layer 1 at both sites should be a piece of mail.
After following the above two principles, we can think about logical connection between
each layer as shown in Figure 1.18. This means that we have layer-to-layer communication.
Maria and Ann can think that there is a logical (imaginary) connectionat
Page 1
10
Computer Networks Module-1 18EC71
each layer through which they can send the object created from that layer. We will see
that the concept of logical connection will help us better understand the task of lay-ering we
encounter in data communication and networking.
Now that we know about the concept of protocol layering and the logical communication
between layers in our second scenario, we can introduce the TCP/IP (Transmission Control
Protocol/Internet Protocol). TCP/IP is a protocol suite (a set of protocols organized in
different layers) used in the Internet today. It is a hierarchical protocol made upof interactive
modules, each of which provides a specific functionality. The term hierarchical means that
each upper level protocol is supported by the services provided by one or more lower level
protocols. The original TCP/IP protocol suite was defined as four software layers built upon
the hardware. Today, however, TCP/IP is thought of as afive-layer model. Figure 1.19.
shows both configurations.
To show how the layers in the TCP/IP protocol suite are involved in communication between
two hosts, we assume that we want to use the suite in a small internet made upof three LANs
(links), each with a link-layer switch. We also assume that the links are connected by one
router, as shown in Figure 1.20.
Page 20
Figure 1.20 Communication through an internet
The router is involved in only three layers; there is no transport or application layer in
a router as long as the router is used only for routing. Although a router is always involved
in one network layer, it is involved in n combinations of link and physical lay- ers in which
n is the number of links the router is connected to. The reason is that each link may use its
own data-link or physical protocol. For example, in the above figure, the router is involved
in three links, but the message sent from source A to destination B is involved in two links.
Each link may be using different link-layer and physical-layer protocols; the router needs
to receive a packet from link 1 based on one pair of proto- cols and deliver it to link 2
based on another pair of protocols.
A link-layer switch in a link, however, is involved only in two layers, data-link and
physical. Although each switch in the above figure has two different connections, the
connections are in the same link, which uses only one set of protocols. This means that,
unlike a router, a link-layer switch is involved only in one data-link and one physical layer.
Page 21
1.5.2 Layers in the TCP/IP Protocol Suite
After the above introduction, we briefly discuss the functions and duties of layers in
the TCP/IP protocol suite. Each layer is discussed in detail in the next five parts of the
book. To better understand the duties of each layer, we need to think about the logical
connections between layers. Figure 1.21 shows logical connections in our simple internet.
Figure 1.21 Logical connections between layers of the TCP/IP protocol suite
Using logical connections makes it easier for us to think about the duty of each layer.
As the figure shows, the duty of the application, transport, and network layers is end-to-
end. However, the duty of the data-link and physical layers is hop-to-hop, in which a
hop is a host or router. In other words, the domain of duty of the top three layers is the
internet, and the domain of duty of the two lower layers is the link.
Another way of thinking of the logical connections is to think about the data unit
created from each layer. In the top three layers, the data unit (packets) should not be changed
by any router or link-layer switch. In the bottom two layers, the packet created by the host
is changed only by the routers, not by the link-layer switches.
Figure 1.22 shows the second principle discussed previously for protocol
identical objects below each layer related to each device.
Note that, although the logical connection at the network layer is between the two
hosts, we can only say that identical objects exist between two hops in this case becausea
router may fragment the packet at the network layer and send more packets than received.
Note that the link between two hops does not change the object.
Page 22
Figure 1.22 Identical objects in the TCP/IP protocol suite
Physical Layer
We can say that the physical layer is responsible for carrying individual bits in a
frame across the link. Although the physical layer is the lowest level in the TCP/IP
protocol suite, the communication between two devices at the physical layer is still a
logical communication because there is another, hidden layer, the transmission media,
under the physical layer. Two devices are connected by a transmission medium (cable
or air). We need to know that the transmission medium does not carry bits; it carries
electrical or optical signals. So the bits received in a frame from the data-link layer
are trans- formed and sent through the transmission media, but we can think that the
logical unit between two physical layers in two devices is a bit. There are several
protocols that transform a bit to a signal. We discuss them in Part II when we discuss the
physical layer and the transmission media.
Data-link Layer
We have seen that an internet is made up of several links (LANs and WANs) connected by
routers. There may be several overlapping sets of links that a datagram can travel from
the host to the destination. The routers are responsible for choosing the best links. However,
when the next link to travel is determined by the router, the data-link layer is responsible for
taking the datagram and moving it across the link. The link can be a wired LAN with
a link-layer switch, a wireless LAN, a wired WAN, or a wireless WAN. We can also have
different protocols used with any link type. In each case, the data-link layer is responsible
for moving the packet through the link.
Page 23
TCP/IP does not define any specific protocol for the data-link layer. It supports
all the standard and proprietary protocols. Any protocol that can take the datagram and carry
it through the link suffices for the network layer. The data-link layer takes a data- gram and
encapsulates it in a packet called a frame.
Each link-layer protocol may provide a different service. Some link-layer protocols
provide complete error detection and correction, some provide only error correction.
Network Layer
The network layer is responsible for creating a connection between the source computer and
the destination computer. The communication at the network layer is host-to-host. However,
since there can be several routers from the source to the destination, the routersin the path
are responsible for choosing the best route for each packet. We can say that the network layer
is responsible for host-to-host communication and routing the packet through possible
routes. Again, we may ask ourselves why we need the network layer. We could have added
the routing duty to the transport layer and dropped this layer. One reason, as we said before,
is the separation of different tasks between different layers. The second reason is that the
routers do not need the application and transport layers. Separating the tasks allows us to use
fewer protocols on the routers.
The network layer in the Internet includes the main protocol, Internet Protocol (IP),
that defines the format of the packet, called a datagram at the network layer. IP also defines
the format and the structure of addresses used in this layer. IP is also responsible for routing
a packet from its source to its destination, which is achieved by each router forwarding the
datagram to the next router in its path.
The network layer also has some auxiliary protocols that help IP in its delivery and
routing tasks. The Internet Control Message Protocol (ICMP) helps IP to report some
problems when routing a packet. The Internet Group Management Protocol (IGMP) is
another protocol that helps IP in multitasking. The Dynamic Host Configuration Protocol
(DHCP) helps IP to get the network-layer address for a host. The Address Resolution
Protocol (ARP) is a protocol that helps IP to find the link- layer address of a host or a
router when its network-layer address is given.
Page 24
Transport Layer
The logical connection at the transport layer is also end-to-end. The transport layer at the
source host gets the message from the application layer, encapsulates it in a transport-
layer packet (called a segment or a user datagram in different protocols) and sends
it, through the logical (imaginary) connection, to the transport layer at the destination
host. In other words, the transport layer is responsible for giving services to the
application layer: to get a message from an application program running on the source
host and deliver it to the corresponding application program on the destination host. We
may askwhy we need an end-to-end transport layer when we already have an end-to-end
application layer. The reason is the separation of tasks and duties, which we discussed
earlier. The transport layer should be independent of the application layer. In addition,
we will see that we have more than one protocol in the transport layer, which means that
each application program can use the protocol that best matches its requirement.
As we said, there are a few transport-layer protocols in the Internet, each designed
for some specific task. The main protocol, Transmission Control Protocol (TCP), is a
connection-oriented protocol that first establishes a logical connection between trans-
port layers at two hosts before transferring data. It creates a logical pipe between two
TCPs for transferring a stream of bytes. TCP provides flow control (matching the send-
ing data rate of the source host with the receiving data rate of the destination host to
prevent overwhelming the destination), error control (to guarantee that the segments
arrive at the destination without error and resending the corrupted ones), and conges-
tion control to reduce the loss of segments due to congestion in the network. The
other common protocol, User Datagram Protocol (UDP), is a connectionless protocol that
transmits user datagrams without first creating a logical connection. In UDP, each user
datagram is an independent entity without being related to the previous or the next
one(the meaning of the term connectionless). UDP is a simple protocol that does not
pro- vide flow, error, or congestion control. Its simplicity, which means small overhead,
is attractive to an application program that needs to send short messages and cannot afford
the retransmission of the packets involved in TCP, when a packet is corrupted or lost. A
new protocol, Stream Control Transmission Protocol (SCTP) is designed to respond to
new applications that are emerging in the multimedia.
Application Layer
As Figure 2.6 shows, the logical connection between the two application layers is
end- to-end. The two application layers exchange messages between each other as though
there were a bridge between the two layers. However, we should know that the
communication is done through all the layers.
Page 25
and receives a response. Process-to-process communication is the duty of the applica-
tion layer. The application layer in the Internet includes many predefined protocols, but a
user can also create a pair of processes to be run at the two hosts.
The Hypertext Transfer Protocol (HTTP) is a vehicle for accessing the World Wide
Web (WWW). The Simple Mail Transfer Protocol (SMTP) is the main protocol used in
electronic mail (e-mail) service. The File Transfer Protocol (FTP) is used for transferring
files from one host to another. The Terminal Network (TELNET) and Secure Shell
(SSH) are used for accessing a site remotely. The Simple Network Management Protocol
(SNMP) is used by an administrator to manage the Internet at global and local levels. The
Domain Name System (DNS) is used by other protocols to find the network-layer address
of a computer. The Internet Group Management Protocol (IGMP) is used to collect
membership in a group.
We have not shown the layers for the link-layer switches because no encapsulation/
decapsulation occurs in this device. In Figure 1.23, we show the encapsulation in the source
host, decapsulation in the destination host, and encapsulation and decapsulationin the router.
Page 26
2. The transport layer takes the message as the payload, the load that the
transport layer should take care of. It adds the transport layer header to the
payload, which contains the identifiers of the source and destination application
programs that want to communicate plus some more information that is needed
for the end-to- end delivery of the message, such as information needed for flow,
error control, or congestion control. The result is the transport-layer packet,
which is called the segment (in TCP) and the user datagram (in UDP). The
transport layer then passes the packet to the network layer.
3. The network layer takes the transport-layer packet as data or payload and adds its
own header to the payload. The header contains the addresses of the source and
destination hosts and some more information used for error checking of the
header, fragmentation information, and so on. The result is the network- layer
packet, called a datagram. The network layer then passes the packet to the data-
link layer.
4. The data-link layer takes the network-layer packet as data or payload and adds its
own header, which contains the link-layer addresses of the host or the next hop
(the router). The result is the link-layer packet, which is called a frame. The
frame is passed to the physical layer for transmission.
At the router, we have both decapsulation and encapsulation because the router is
connected to two or more links.
1. After the set of bits are delivered to the data-link layer, this layer decapsulates
the datagram from the frame and passes it to the network layer.
2. The network layer only inspects the source and destination addresses in the
datagram header and consults its forwarding table to find the next hop to which
the datagram is to be delivered. The contents of the datagram should not be
changed by the network layerin the router unless there is a need to fragment the
datagram if it is too big to be passedthrough the next link. The datagram is then
passed to the data-link layer of the next link.
3. The data-link layer of the next link encapsulates the datagram in a frame
and passes it to the physical layer for transmission.
At the destination host, each layer only decapsulates the packet received, removes the
payload, and delivers the payload to the next-higher layer protocol until the message
reaches the application layer. It is necessary to say that decapsulation in the host
Page 27
involves error checking.
1.5.4 Addressing
As the figure shows, there is a relationship between the layer, the address used in that
layer, and the packet name at that layer. At the application layer, we normally use names to
define the site that provides services, such as someorg.com, or the e-mail address, such
as somebody@coldmail.com. At the transport layer, addresses are called port numbers,
and these define the application-layer programs at the source and destination. Port numbers
are local addresses that distinguish between several programs running at the same time. At
the network-layer, the addresses are global, with the whole Internet as the scope. A network-
layer address uniquely defines the connection of a device to the Internet. The link-layer
addresses, sometimes called MAC addresses, are locally defined addresses, each of which
defines a specific host or router in a network (LAN or WAN).
Since the TCP/IP protocol suite uses several protocols at some layers, we can say that we
have multiplexing at the source and demultiplexing at the destination. Multiplexing in this
case means that a protocol at a layer can encapsulate a packet from several next-higher layer
protocols (one at a time); demultiplexing means that a protocol can decapsulate and deliver
a packet to several next-higher layer protocols (one at a time). Figure 1.25 shows the concept
of multiplexing and demultiplexing at the three upper layers.
Page 28
Figure 1.25 Multiplexing and demultiplexing
Although, when speaking of the Internet, everyone talks about the TCP/IP protocol suite,
this suite is not the only suite of protocols defined. Established in 1947, the International
Organization for Standardization (ISO) is a multinational body dedicated to
worldwide agreement on international standards. Almost three-fourths of the countries in
the world are represented in the ISO. An ISO standard that covers all aspects of network
communications is the Open Systems Interconnection (OSI) model. It was first
introduced in the late 1970s.
An open system is a set of protocols that allows any two different systems to
communicate regardless of their underlying architecture. The purpose of the OSI model
is to show how to facilitate communication between different systems without requiring
changes to the logic of the underlying hardware and software. The OSI model is not a
protocol; it is a model for understanding and designing a network architecture that is
flexible, robust, and interoperable. The OSI model was intended to be the basis for the
creation of the protocols in the OSI stack.
The OSI model is a layered framework for the design of network systems that
allows communication between all types of computer systems. It consists of seven
sep- arate but related layers, each of which defines a part of the process of moving
informationacross a network (see Figure 1.26).
Page 29
Figure 1.26 The OSI model
When we compare the two models, we find that two layers, session and presentation, are
missing from the TCP/IP protocol suite. These two layers were not added to the TCP/IP
protocol suite after the publication of the OSI model. The application layer in the suite is
usually considered to be the combination of three layers in the OSI model, as shown in Figure
1.27.
Two reasons were mentioned for this decision. First, TCP/IP has more than one
transport-layer protocol. Some of the functionalities of the session layer are available in some
of the transport-layer protocols. Second, the application layer is not only one piece of
software. Many applications can be developed at this layer. If some of the functionalities
mentioned in the session and presentation layers are needed for a particular application,
they can be included in the development of that piece of software.
Page 30
Page 30
18EC71
The OSI model appeared after the TCP/IP protocol suite. Most experts were at first
excited and thought that the TCP/IP protocol would be fully replaced by the OSI model. This
did not happen for several reasons, but we describe only three, which are agreed upon
by all experts in the field. First, OSI was completed when TCP/IP was fully in place and a lot
of time and money had been spent on the suite; changing it would cost a lot. Second, some
layers in the OSI model were never fully defined. For example, although the services
provided by the presentation and the session layers were listed in the document, actual
protocols for these two layers were not fully defined, nor were they fully described, and
the corresponding software was not fully developed. Third, when OSI was implemented
by an organization in a different application, it did not show a high enough level of
performance to entice the Internet authority to switch from the TCP/IP protocol suite to the
OSI model.
Page 31