CCN Module 1
CCN Module 1
1. Message: The message is the data (information) to be communicated. Popular forms of information
include text, numbers, pictures, audio, and video.
Page 1 of 31
2. Sender: The sender is the device that sends the data message. It can be a computer, workstation,
telephone handset, video camera, etc.
3. Receiver: The receiver is the device that receives the message. It can be a computer, workstation,
telephone handset, television, etc.
4. Transmission medium: The transmission medium is the physical path by which a message travels
from sender to receiver. Ex.: twisted- pair wire, coaxial cable, fiber-optic cable, and radio waves.
5. Protocol: A protocol is a set of rules that govern data communications. It represents an agreement
between the communicating devices. Without a protocol, two devices may be connected but not
communicating.
Information is 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 & 1s). Different sets of
bit patterns have been designed to represent text symbols. Each set is called a code and specifically called
Unicode developed by American Standard Code for Information Interchange (ASCII) and the process
of representing symbols is called coding.
Numbers:
Numbers are also represented by bit patterns. However, a code such as ASCII is not used to represent
numbers; the number is directly converted to a binary number to simplify mathematical operations.
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 image depends on the resolution i.e., the
number of pixels. Ex.: an image can be divided into 1000 pixels or 10,000 pixels. In the second case, there is
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 to represent the color. 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:
Page 2 of 31
Audio refers to recording or broadcasting of sound or music. Audio is by nature different from text
numbers, or images. It is continuous, not discrete.
Video:
Video refers to the recording or broadcasting of 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.
Communication between two devices can be simplex, half-duplex, or full-duplex as shown in Figure1.2.
Data flow (simplex, half-duplex, and full-duplex)
Simplex:
In Simplex mode, the communication is unidirectional, i.e., the entire capacity of the channel is used to
send data in one direction. Only one of the two devices on a link can transmit; the other can only receive
(see Figure 1.2a). Ex.: Keyboards, traditional monitors, etc.
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 (see Figure 1.2b).
In a half-duplex transmission, the entire capacity of a channel is taken over by whichever of the two devices
is transmitting at the time. Ex.: Walkie-talkies, etc.
Full-Duplex:
In full-duplex mode (also called duplex), both stations can transmit and receive simultaneously (see Figure
1.2c).
In full-duplex mode, signals going in one direction share the capacity of the link with signals going in the
other direction. This sharing can happen in two ways: either the link must contain two physically separate
Page 3 of 31
transmission paths, one for sending and the other for receiving; or the capacity of the channel is divided
between signals traveling in both directions. Ex.: Telephone network.
1.2 NETWORKS
A network is the interconnection of a set of devices capable of communication.
A device can be a host (or an end system) such as a large computer, desktop, laptop, workstation, cellular
phone, or security system.
A device can also be a connecting device such as a router, which connects the network to other networks, a
switch, which connects devices together, a modem (modulator-demodulator), which changes the form of
data, and so on.
These devices in a network are connected using wired or wireless transmission media such as cable or air.
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.
The performance of a network depends on several factors, including the number of users, the type of
transmission medium, the capabilities of the connected hardware, and the efficiency of the software.
Performance is often evaluated by two networking metrics: throughput and delay. We often need more
throughput and less delay. However, these two criteria are often contradictory. If we try to send more data to
the network, we may increase throughput, but we increase the delay because of traffic congestion in the
network.
Reliability:
In addition to accuracy of delivery, network reliability is measured by the frequency of failure, the time it
takes a link to recover from a failure, and the network’s robustness in a catastrophe.
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.
Page 4 of 31
line drawn between two points. For communication to occur, two devices must be connected in some way to
the same link at the same time.
Point-to-Point:
A point-to point connection provides a dedicated link between two devices. The entire capacity of the link
is reserved for transmission between those two devices. Most point-to-point connections use an actual length
of wire or cable to connect the two ends, but other option, such as microwave or satellite links, are also
possible (see Figure 1.3a). When we change television channels by infrared remote control, we are
establishing a point-to point connection between the remote control and the television’s control system.
Multipoint:
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 shared connection. If users must take turns, it is a
timeshared connection.
B. 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 topology of 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.
1) Mesh Topology:
Page 5 of 31
Figure 1.4 A fully connected mesh topology (five devices)
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 device it connects.
To find the number of physical links in a fully connected mesh network 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.
Ex. of Mesh topology: Connection of telephone regional offices in which each regional office needs to be
connected to every other regional office.
Advantages:
➢ 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.
➢ A mesh topology is robust. If one link becomes unusable, it does not incapacitate the entire system.
➢ Privacy or security. when every message travel along a dedicated line, only the intended recipient sees it.
Physical boundaries prevent other users from gaining access to messages.
➢ Point-to-point 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.
Disadvantages:
The main disadvantages of a mesh are related to the amount of cabling and the number of I/O ports required.
➢ Because every device must be connected to every other device, installation and reconnection are difficult.
➢ The sheer bulk of the wiring can be greater than the available space (in walls, ceiling, or floors) can
accommodate.
➢ 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 hybrid network that can include several other topologies.
2) Star Topology:
Page 6 of 31
Figure 1.5 A star topology connecting four stations
In a star topology, each device has a dedicated point-to point link only to a central controller, usually called a
hub. The hub or 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 (see Figure 1.5).
Advantages:
Disadvantages:
➢ 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 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.
3) Bus Topology:
A bus topology is multipoint. One long cable act as a backbone to link all the devices in a network (Fig. 1.6).
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 either splices into the main cable or punctures the
sheathing of 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 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.
Advantages:
Page 7 of 31
➢ Ease of installation. Backbone cable can be laid along the most efficient path, then connected to the nodes
by drop lines of various lengths.
Disadvantages:
4) 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.
Advantages:
➢ 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 consideration (maximum ring length and number of devices).
➢ 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.
Page 8 of 31
Disadvantages:
Unidirectional traffic can be a disadvantage. In a simple ring, a break in the ring (such as a disabled station)
can disable the entire network. This weakness can be solved by using a dual ring or a switch capable of closing
off the break.
Ring topology was prevalent when IBM introduced its local-area network, token Ring.
Page 9 of 31
1.3 NETWORK TYPES:
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.
In the past, all hosts in a network were connected though 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 can 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 Fig. 1.8 shows a LAN using either a common cable or a
switch.
Page 10 of 31
1) Point-to-Point WAN:
A point-to-point WAN is a network that connects two communicating devices through a transmission media
(cable or air). Fig. 1.9 shows an example of these WAN.
2) Switched WAN:
A switched WAN is a network with more than two ends. A switched WAN 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 by switches. Figure 1.10 shows an example of a switched WAN.
Fig. 1.11 An internetwork made of two LANs and one point-to-point WAN
When two or more networks are connected, they make an interwork, or 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. The LANs of the two offices are
connected by a leased point-to-point dedicated WAN from a service provider, such as a telephone company,
and connects the two LANs.
Page 11 of 31
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.
1.3.3 Switching:
An internet is a switched network in which a switch connects at least two links together. A switch needs to
forward data from a network to another network when required. The two most common types of switched
networks are circuit-switched and packet-switched networks.
1) Circuit-Switched Network:
Page 12 of 31
In a circuit-switched network, a dedicated connection, called a circuit, is always available between the two end
systems; the switch can only make it active or inactive.
In Fig 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 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 no storing
capability.
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 to be connected with all
telephone sets at the other side.
2) Packet-Switched Network:
In a computer network, the communication between the two ends is done in blocks of data called packets. This
allows to make the switches function for both storing and forwarding because a packet is an independent entity
that can be stored and sent later. Fig 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.
Page 13 of 31
1.3.4 The Internet:
Internet 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. The backbone 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 provided by the Internet. 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 networks are often referred to as national or regional ISPs.
Page 14 of 31
1.4 NETWORK MODELS:
1.4.1 TCP/IP Protocol Suite:
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 up of 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 a five-layer model. Figure 1.16 shows both
configurations.
Page 15 of 31
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 up of three LANs (links), each with a link-
layer switch. We also assume that the links are connected by one router, as shown in Fig. 1.17.
Let us assume that computer A communicates with computer B. As the figure shows, we have five
communicating devices in this communication: source host (computer A), the link-layer switch in link 1, the
router, the link-layer switch in link2, and the destination host (computer B). Each device is involved with a
set of layers depending on the role of the device in the internet. The two hosts are involved in all five layers;
the source host needs to create a message in the application layer and send it down the layers so that it is
physically sent to the destination host. The destination host needs to receive the communication at the
physical layer and then deliver it through the other layers to the application layer.
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 layers 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 protocols 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.
To better understand the duties of each layer, we need to think about the logical connections between layers.
Figure 1.18 shows logical connections in our simple internet.
Fig. 1.18: Logical connections between layers of the TCP/IP protocol suite
Page 16 of 31
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 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.
Fig. 1.19 shows the second principle discussed previously for protocol layering. We show the identical
objects below each layer related to each device.
Although the logical connection at the network layer is between the two hosts, identical objects exist
between two hops in this case because a 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.
Physical Layer:
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). 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 transformed 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.
Page 17 of 31
Data-link Layer:
An internet is made 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.
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 datagram 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 routers in the path are responsible for choosing the best route
for each packet. The network layer is responsible for host-to-host communication and routing the packet
through possible routes.
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.
IP is a connectionless protocol that provides no flow control, no error control, and no congestion control
services. This means that if any of these services is required for an application, the application should rely
only on the transport-layer protocol. The network layer also includes unicast (one-to-one) and multicast
(one-to-many) routing protocols. A routing protocol does not take part in routing (it is the responsibility of
IP), but it creates forwarding tables for routers to help them in the routing process.
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.
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
Page 18 of 31
datagram in different protocols) and sends it, through the logical (imaginary) connection, to the transport
layer at the destination host. 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 ask why 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. The
transport layer should be independent of the application layer. In addition, there is more than one protocol in
the transport layer, which means that each application program can use the protocol that best matches its
requirement.
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 transport 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 sending 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 congestion 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 provide 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:
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.
Communication at the application layer is between two processes (two programs running at this layer). To
communicate, a process sends a request to the other process and receives a response. Process-to-process
communication is the duty of the application 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.
Page 19 of 31
1.4.1.4 Encapsulation and Decapsulation:
Figure 1.20 shows this concept for the small internet in Fig. 1.17.
In Fig. 1.20, we show the encapsulation in the source host, decapsulation in the destination host, and
encapsulation and decapsulation in the router.
1. At the application layer, the data to be exchanged is referred to as message. A message normally does not
contain any header or trailer, but if it does, we refer to the whole as the message. The message is passed
to the transport layer.
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 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.
Page 20 of 31
Decapsulation and Encapsulation at the Router:
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 layer in the router unless there is a need to fragment the
datagram if it is too big to be passed through 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 involves error checking.
1.4.1.5 Addressing:
Any communication that involves two parties needs two addresses: source address and destination address.
Although it looks as if we need five pairs of addresses, one pair per layer, we normally have only four
because the physical layer does not need addresses; the unit of data exchange at the physical layer is a bit,
which definitely cannot have an address. Fig. 1.21 shows the addressing at each layer.
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
Page 21 of 31
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).
Fig.1.22 shows the concept of multiplexing and demultiplexing at the three upper layers.
To be able to multiplex and demultiplex, a protocol needs to have a field in its header to identify to which
protocol the encapsulated packets belong. At the transport layer, either UDP or TCP can accept a message
from several application-layer protocols. At the network layer, IP can accept a segment from TCP or a user
datagram from UDP. IP can also accept a packet from other protocols such as ICMP, IGMP, and so on. At
the data-link layer, a frame may carry the payload coming from IP or other protocols such as ARP.
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.
Page 22 of 31
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 separate but related layers, each of which defines
a part of the process of moving information across a network.
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. The application layer
in the suite is usually considered to be the combination of three layers in the OSI model, as shown in Fig.
1.24.
Two reasons were mentioned for this decision. First, TCP/IP has more than one transport-layer protocol.
Some of the functionalities of 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 23 of 31
1.5 Data-Link Layer:
1.5.1 Introduction:
The Internet is a combination of networks glued together by connecting devices (routers or switches). If a
packet is to travel from a host to another host, it needs to pass through these networks. Fig. 1.25 shows the
scenario that we are now interested in communication at the data-link layer. Communication at the data-link
layer is made up of five separate logical connections between the data-link layers in the path.
The data-link layer at Alice’s computer communicates with the data-link layer at router R2. The data-link
layer at router R2 communicates with the data-link layer at router R4, and so on. Finally, the data-link layer
at router R7 communicates with the data-link layer at Bob’s computer. Only one data-link layer is involved
at the source or the destination, but two data-link layers are involved at each router. The reason is that
Alice’s and Bob’s computers are each connected to a single network, but each router takes input from one
network and sends output to another network. Note that switches are also involved in the data-link-layer
communication.
Page 24 of 31
1.5.1.1 Nodes & Links:
Communication at the data-link layer is node-to-node. A data unit from one point in the Internet needs to
pass through many networks (LANs and WANs) to reach another point. Theses LANs and WANs are
connected by routers. It is customary to refer to the two end hosts and the routers as nodes and the networks
in between as links. Fig. 1.26 is a simple representation of links and nodes when the path of the data unit is
only six nodes.
The first node is the source host; the last node is the destination host. The other four nodes are four routers.
The first, the third, and fifth links represent the three LANs; the second and the fourth links represent the
two WANs.
1.5.1.2 Services:
The data-link layer is located between the physical and the network layers. The data-link layer provides
services to the network layer; it receives services from the physical layer.
The duty scope of the data-link layer is node-to-node. When a packet is travelling in the internet, the data-
link layer of a node (host or router) is responsible for delivering a datagram to the next node in the path. For
this purpose, the data-link layer of the sending node needs to encapsulate the datagram received from the
network in a frame, and the data-link layer of the receiving node needs to decapsulate the datagram from the
frame. Each intermediate node needs to both encapsulate and decapsulate. One may ask why we need
encapsulation and decapsulation at each intermediate node. The reason is that each link may be using a
different protocol with a different frame format. Even if one link and the next are using the same protocol,
encapsulation and decapsulation are needed because the link-layer addresses are normally different.
Fig. 1.27 shows the encapsulation and decapsulation at the data-link layer. The datagram received by the
data-link layer of the source host is encapsulated in a frame. The frame is logically transported from the
source host to the router. The frame is decapsulated at the data-link layer of the router and encapsulated at
another frame. The new frame is logically transported from the router to the destination host. Note that,
although we have shown only two data-link layers at the router, the router actually has three data-link layers
because it is connected to three physical links.
Page 25 of 31
Fig. 1.27: A Communication with only three nodes
Framing:
The first service provided by the data-link layer is framing. The data-link layer at each node needs to
encapsulate the datagram (packet received from the network layer) in a frame before sending it to the next
node. The node also needs to decapsulate the datagram from the frame received on the logical channel.
Different data-link layers have different formats for framing.
Flow control:
The sending data-link layer at the end of a link is a producer of frames. The receiving data-link layer at the
other end of a link is a consumer. If the rate of produced frames is higher than the rate of consumed frames,
the accumulation of frames happens at the receiving end. To control the overflow the frames at the receiving
end need to be buffered while waiting to be consumed (processed). We cannot have an unlimited buffer size
at the receiving side. We have two choices. The first choice is to let the receiving data-link layer drop the
frames if its buffer is full. The second choice is to let the receiving data-link layer send a feedback to the
sending data-link layer to ask it to stop or slow down. Different data-link-layer protocols use different
strategies for flow control. The flow control also occurs at the transport layer, with a higher degree of
importance.
Error Control:
At the sending node, a frame in a data-link layer needs to be changed to bits, transformed to electromagnetic
signals, and transmitted through the transmission media. At the receiving node, electromagnetic signals are
received, transformed to bits, and put together to create a frame. Since electromagnetic signals are
susceptible to error, a frame is susceptible to error. The error needs first to be detected. After detection, it
needs to be either corrected at the receiver node or discarded and retransmitted by the sending node.
Page 26 of 31
Congestion Control:
Although a link may be congested with frames, which may result in frame loss, most data-link-layer
protocols do not directly use a congestion control to alleviate congestion, although some wide-area networks
do. In general, congestion control is considered an issue in the network layer or the transport layer because
of its end-to-end nature.
Although two nodes are physically connected by a transmission medium such as cable or air, we need to
remember that the data-link layer controls how the medium is used. We can have a data-link layer that uses
the whole capacity of the medium; we can also have a data-link layer that uses only part of the capacity of
the link. In other words, we can have a point-to-point link, the link is dedicated to the two devices; in a
broadcast link, the link is shared between several pairs of devices.
To better understand the functionality of and the services provided by the link layer, we can divide the data-
link layer into two sublayers: data link control (DLC) and media access control (MAC). The data link
control sublayer deals with all issues common to both point-to-point and broadcast links; the media access
control sublayer deals only with issues specific to broadcast links.
Addressing mechanism is needed in a connectionless internetwork: the link-layer addresses of the two
nodes. A link-layer address is sometimes called a link address, sometimes a physical address, and sometimes
a MAC address. All these terms interchangeably used.
Page 27 of 31
Since a link is controlled at the data-link layer, the addresses need to belong to the data-link layer. When a
datagram passes from the network layer to the data-link layer, the datagram will be encapsulated in a frame
and two data-link addresses are added to the frame header. These two addresses are changed every time the
frame moves from one link to another. Fig. 1.28 demonstrates the concept in a small internet.
In the above fig. 1.28, we have three links and two routers. We also have shown only two hosts: Alice
(source) and Bob (destination). For each host, we have shown two addresses, the IP addresses (N) and the
link-layer addresses (L). Note that a router has as many pairs of addresses as the number of links the router
is connected to. We have shown three frames, one in each link. Each frame carries the same datagram with
the same source and destination addresses (N1 and N8), but the link-layer addresses of the frame change
from link to link. In link 1, the link-layer addresses are L1 and L2. In link 2, they are L4 and L5. In link 3,
they are L7 and L8. Note that the IP addresses and the link-layer addresses are not in the same order. For IP
addresses, the source address comes before the destination address; for link-layer addresses, the destination
address comes before the source. The datagrams and frames are designed in this way, and we follow the
design. We may raise several questions:
➢ If the IP address of a router does not appear in any datagram sent from a source to a destination, why do
we need to assign IP addresses to routers? The answer is that in some protocols a router may act as a
sender or receiver of a datagram. For example, in routing protocols, a router is a sender or a receiver of a
message. The communications in these protocols are between routers.
➢ Why do we need more than one IP address in a router, one for each interface? The answer is that an
interface is a connection of a router to a link. We will see that an IP address defines a point in the Internet
at which a device is connected. A router with n interfaces is connected to the Internet at n points. This is
the situation of a house at the corner of a street with two gates; each gate has the address related to the
corresponding street.
➢ How are the source and destination IP addresses in a packet determined? The answer is that the host
should know its own IP address, which becomes the source IP address in the packet. The application
layer uses the services of DNS to find the destination address of the packet and passes it to the network
layer to be inserted in the packet.
➢ How are the source and destination link-layer addresses determined for each link? Again, each hop
(router or host) should know its own link-layer address. The destination link-layer address is determined
by using the Address Resolution Protocol.
➢ What is the size of link-layer addresses? The answer is that it depends on the protocol used by the link.
Although we have only one IP protocol for the whole Internet, we may be using different data-link
protocols in different links. This means that we can define the size of the address when we discuss
different link-layer protocols.
Some link-layer protocols define three types of addresses: unicast, multicast, and broadcast.
Unicast Address:
Each host or each interface of a router is assigned a unicast address. Unicasting means one-to-one
communication. A frame with a unicast address destination is destined only for one entity in the link.
Page 28 of 31
Multicast Address:
Some link-layer protocols define multicast addresses. Multicasting means one-to-many communication.
However, the jurisdiction is local (inside the link).
Broadcast Address:
Some link-layer protocols define a broadcast address. Broadcasting means one-to-all communication. A
frame with a destination broadcast address is sent to all entities in the link.
Anytime a node has an IP datagram to send to another node in a link, it has the IP address of the receiving
node. The source host knows the IP address of the default router. Each router except the last one in the path
gets the IP address of the next router by using its forwarding table. The last router knows the IP address of
the destination host. However, the IP address of the next node is not helpful in moving a frame through a
link; we need the link-layer address of the next node. This is the time when the Address Resolution Protocol
(ARP) becomes helpful. The ARP protocol is one of the auxiliary protocols defined in the network layer, as
shown in Fig. 1.29. It belongs to the network layer, but it maps an IP address to a logical-link address. ARP
accepts an IP address from the IP protocol, maps the address to the corresponding link-layer address, and
passes it to the data-link layer.
Anytime a host or a router needs to find the link-layer address of another host or router in its network, it
sends an ARP request packet. The packet includes the link-layer and IP addresses of the sender and the IP
address of the receiver. Because the sender does not know the link-layer address of the receiver, the query is
broadcast over the link using the link-layer broadcast address as shown in fig. 1.30.
Every host or router on the network receives and processes the ARP request packet, but only the intended
recipient recognizes its IP address and sends back an ARP response packet. The response packet contains
the recipient’s IP and link-layer addresses. The packet is unicast directly to the node that sent the request
packet.
In Fig. 1.30a, the system on the left (A) has a packet that needs to be delivered to another system (B) with IP
address N2. System A needs to pass the packet to its data-link layer for the actual delivery, but it does not
know the physical address of the recipient. It uses the services of ARP by asking the ARP protocol to send a
broadcast ARP request packet to ask for the physical address of a system with an IP address of N2.
Page 29 of 31
Fig. 1.30: ARP operation
This packet is received by every system on the physical network, but only system B will answer it, as shown
in Fig. 1.30b. System B sends an ARP reply packet that includes its physical address. Now system A can
send all the packets it has for this destination using the physical address it received.
Caching:
A question that often asked is this: If system A can broadcast a frame to find the link-layer address of
system B, why can’t system A send the datagram for system B using a broadcast frame? In other words,
instead of sending one broadcast frame (ARP request), one unicast frame (ARP response), and another
unicast frame (for sending the datagram), system A can encapsulate the datagram and send it to the network.
System B receives it and keep it; other systems discard it.
To answer the question, we need to think about the efficiency. It is probable that system A has more than
one datagram to send to system B in short period of time. For example, if system B is supposed to receive a
long e-mail or a long file, the data do not fit in one datagram.
Let us assume that there are 20 systems connected to the network (link): system A, system B, and 18 other
systems. We also assume that system A has 10 datagrams to send to system B in one second.
a. Without using ARP, system A needs to send 10 broadcast frames. Each of the 18 other systems need to
receive the frames, decapsulate the frames, remove the datagram and pass it to their network-layer to find
out the datagrams do not belong to them. This means processing and discarding 180 broadcast frames.
b. Using ARP, system A needs to send only one broadcast frame. Each of the 18 other systems need to
receive the frames, decapsulate the frames, remove the ARP message and pass the message to their ARP
protocol to find that the frame must be discarded. This means processing and discarding only 18 (instead
of 180) broadcast frames. After system B responds with its own data-link address system A can store the
Page 30 of 31
link-layer address in its cache memory. The rest of the nine frames are only unicast. Since processing
broadcast frames is expensive (time consuming), the first method is preferable.
Packet Format:
Fig. 1.31 shows the format of an ARP packet. The names of the fields are self-explanatory. The hardware
type field defines the type of the link-layer protocol; Ethernet is given the type 1. The protocol type field
defines the network-layer protocol: IPv4 protocol is (0800)16. The source hardware and source protocol
addresses are variable-length fields defining the link-layer and network-layer addresses of the sender. The
destination hardware address and destination protocol address fields define the receiver link-layer and
network-layer addresses. An ARP packet is encapsulated directly into a data-link frame. The frame needs to
have a field to show that the payload belongs to the ARP and not to the network-layer datagram.
Ex. 1:
A host with IP address N1 and MAC address L1 has a packet to send to another host with IP address N2 and
physical address L2 (which is unknown to the first host). The two hosts are on the same network. Fig. 1.32
shows the ARP request and response messages.
Page 31 of 31